BADI for MDGF rule based workflow

Hi Experts,
I am really struggling to get a badi that can route on field assigned in my single and agent decision tables. I have used the standard BADI that was provided in RDS documentation for BP and Materials and just tried to change the entity name and field names without success.
Can anyone please provide me with an example where someone has used this to route on field in finance.
I am trying to route on Segment for Profit center
Your help will be highly appreciated
Thanks and best regards
Riaan

Hi Abdullah,
I am using an existing attribute in the data model OG in the entity PCTR. The field name is PCTRSEG and element is fb_segment. In my rule based workflow in the Single decision table I have added fb_segment and I have populated the values against step 00. I have also updated my agent decision table with the fb_segment value.
I am attaching the BADI that I am struggeling with.
The service name for the change request is in the BADI filter. Thus when the requestor submit the Badi will be called and it will route to the person assigned in my agent decision table against the relevant segment..
My problem is the following:
The issue is that I don't know where I should maintain PCTRSEG and where I should maintain fb_segment in the BADI. Thus, where do I use the attribute name from the data model and where do I use the data element from the model.
When the requestor submit the request it does not go to the next approver and I get the error" Agent could not be determined"
I found ,when I change any of the values for the segment in the single and agent decision tables to not equal, example <> 1001 that the workflow works but all change requests will go to the same person.
Thus my assumption is that something might be wrong with the BADI
Your help will be highly appreciated
Thanks
Riaan
Please find Badi below
method IF_USMD_SSW_RULE_CNTX_PREPARE~PREPARE_RULE_CONTEXT.
    DATA:
      lo_crequest      TYPE
REF TO if_usmd_crequest_api,
      lt_entities      TYPEusmd_t_crequest_entity,
      ls_entity        TYPE usmd_s_crequest_entity,
      lr_table         TYPE REF TO data,
      lt_sel           TYPE usmd_ts_sel,
      ls_sel           TYPE usmd_s_sel,
      lv_brf_expr_id   TYPEif_fdt_types=>id,
      ls_context       TYPEusmd_s_fdt_context_value,
      lv_exit          TYPE c.
  FIELD-SYMBOLS: <lt_fin_int>
TYPE ANY TABLE,
                 <ld_fin_int>  TYPE
any,
                 <pctrseg>      TYPEfb_segment,
                 <value>      TYPE
any.
* Prepare export parameters
  CLEAR et_message.
  CLEAR et_rule_context_value.
* Get the CR API for the current
CR
  CALL METHOD cl_usmd_crequest_api=>get_instance
    EXPORTING
      iv_crequest          = iv_cr_number
    IMPORTING
      re_inst_crequest_api = lo_crequest.
* Create data instance of the
entity PCTR for read access
  CALL METHOD lo_crequest->create_data_reference
    EXPORTING
      iv_entity    ='PCTR'
      i_struct     =if_usmd_model=>gc_struct_key_attr
    IMPORTING
      er_table     =lr_table
      et_message   =et_message.
  CHECK et_message IS
INITIAL.
  ASSIGN lr_table->*
TO <lt_fin_int>.
* Get the instance keys for entity
type PCTR
  CALL METHOD lo_crequest->read_objectlist
    EXPORTING
      iv_entity_type = 'PCTR'
    IMPORTING
      et_entity      = lt_entities
      et_message     =et_message.
  CHECK et_message IS INITIAL.
* Read the PCTR entity of the one
and only PCTR of the CR
  READ TABLE lt_entities INTOls_entity INDEX 1.
  CHECK sy-subrc = 0.
  ls_sel-fieldname ='PCTRSEG'.
  ls_sel-sign = 'I'.
  ls_sel-option = 'EQ'.
  ls_sel-low    = ls_entity-usmd_value.
  APPEND ls_sel TO lt_sel.
  CALL METHOD lo_crequest->read_value
    EXPORTING
      i_fieldname      = 'PCTRSEG'
      it_sel           = lt_sel
      if_edition_logic = abap_false
    IMPORTING
      et_data          = <lt_fin_int>
      et_message       = et_message.
* Get the one and only FB_SEGMENT
of the one PCTR in the CR
  LOOP AT <lt_fin_int> ASSIGNING <ld_fin_int>.
    ASSIGN COMPONENT 'PCTRSEG'OF STRUCTURE <ld_fin_int>
TO <pctrseg>.
    EXIT.
  ENDLOOP.
  CHECK sy-subrc = 0.
* fill out the return table
  get_element_id(
    EXPORTING
      iv_cr_type = lo_crequest->ds_crequest-usmd_creq_type
      iv_name    ='PCTR'
    IMPORTING
      ev_brf_expr_id = lv_brf_expr_id ).
  ls_context-id = lv_brf_expr_id.
  CREATE DATA ls_context-value TYPE fb_segment.
  ASSIGN  ls_context-value->* TO <value>.
  <value> = <pctrseg>.
  APPEND ls_context TO et_rule_context_value.
  endmethod.

Similar Messages

  • Improving performace for a Rule Based Optimizer DB

    Hi,
    I am looking for information on improving the current performance of an ancient 35GB Oracle 7.3.4 using RULE based optimizer mode. It is using 160 MB SGA and the physical memory on the system is 512MB RAM.
    As of now, all the major tasks which take time, are run after peak hours so that the 130 user sessions are not affected significantly.
    But recently am told some procedures take too long to execute ( procedure has to do with truncating tables and re-populating data into it ) and I do see 54% of the pie chart for WAITS are for "sequential reads" followed by "scattered reads" of 36%. There are a couple of large tables of around 4GB in this DB.
    Autotrace doesn't help me much in terms of getting an explain plan of slow queries since COST option doesnt show up and am trying to find ways of improving the performance of DB in general.
    Apart from the "redo log space requests" which I run into frequently (which btw is something I am trying to resolve ..thanks to some of you) I dont see much info on exactly how to proceed.
    Is there any info that I can look towards in terms of improving performance on this rule based optimizer DB ? Or is identifying the top sql's in terms of buffer gets the only way to tune ?
    Thank you for any suggestions provided.

    Thanks Hemant.
    This is for a 15 minute internal under moderate load early this morning.
    Statistic                   Total        Per Transact Per Logon    Per Second 
    CR blocks created                    275          .95         5.19          .29
    Current blocks converted fo           10          .03          .19          .01
    DBWR buffers scanned               74600       258.13      1407.55        78.44
    DBWR free buffers found            74251       256.92      1400.96        78.08
    DBWR lru scans                       607          2.1        11.45          .64
    DBWR make free requests              607          2.1        11.45          .64
    DBWR summed scan depth             74600       258.13      1407.55        78.44
    DBWR timeouts                        273          .94         5.15          .29
    OS Integral shared text siz   1362952204   4716097.59  25716079.32   1433177.92
    OS Integral unshared data s    308759380   1068371.56   5825648.68    324668.12
    OS Involuntary context swit       310493      1074.37      5858.36       326.49
    OS Maximum resident set siz       339968      1176.36      6414.49       357.48
    OS Page faults                      3434        11.88        64.79         3.61
    OS Page reclaims                    6272         21.7       118.34          6.6
    OS System time used                19157        66.29       361.45        20.14
    OS User time used                 195036       674.87      3679.92       205.09
    OS Voluntary context switch        21586        74.69       407.28         22.7
    SQL*Net roundtrips to/from         16250        56.23        306.6        17.09
    SQL*Net roundtrips to/from           424         1.47            8          .45
    background timeouts                  646         2.24        12.19          .68
    bytes received via SQL*Net        814224      2817.38     15362.72       856.18
    bytes received via SQL*Net         24470        84.67        461.7        25.73
    bytes sent via SQL*Net to c       832836      2881.79     15713.89       875.75
    bytes sent via SQL*Net to d        42713        147.8       805.91        44.91
    calls to get snapshot scn:         17103        59.18        322.7        17.98
    calls to kcmgas                      381         1.32         7.19           .4
    calls to kcmgcs                      228          .79          4.3          .24
    calls to kcmgrs                    20845        72.13        393.3        21.92
    cleanouts and rollbacks - c           86           .3         1.62          .09
    cleanouts only - consistent           40          .14          .75          .04
    cluster key scan block gets         1051         3.64        19.83         1.11
    cluster key scans                    376          1.3         7.09           .4
    commit cleanout failures: c           18          .06          .34          .02
    commit cleanout number succ         2406         8.33         45.4         2.53
    consistent changes                   588         2.03        11.09          .62
    consistent gets                   929408      3215.94        17536        977.3
    cursor authentications              1746         6.04        32.94         1.84
    data blocks consistent read          588         2.03        11.09          .62
    db block changes                   20613        71.33       388.92        21.68
    db block gets                      40646       140.64       766.91        42.74
    deferred (CURRENT) block cl          668         2.31         12.6           .7
    dirty buffers inspected                3          .01          .06            0
    enqueue conversions                  424         1.47            8          .45
    enqueue releases                    1981         6.85        37.38         2.08
    enqueue requests                    1977         6.84         37.3         2.08
    execute count                      20691         71.6        390.4        21.76
    free buffer inspected               2264         7.83        42.72         2.38
    free buffer requested             490899      1698.61      9262.25       516.19
    immediate (CR) block cleano          126          .44         2.38          .13
    immediate (CURRENT) block c          658         2.28        12.42          .69
    logons cumulative                     53          .18            1          .06
    logons current                         1            0          .02            0
    messages received                    963         3.33        18.17         1.01
    messages sent                        963         3.33        18.17         1.01
    no work - consistent read g       905734      3134.03     17089.32        952.4
    opened cursors cumulative           2701         9.35        50.96         2.84
    opened cursors current               147          .51         2.77          .15
    parse count                         2733         9.46        51.57         2.87
    physical reads                    490258      1696.39      9250.15       515.52
    physical writes                     2265         7.84        42.74         2.38
    recursive calls                    37296       129.05        703.7        39.22
    redo blocks written                 5222        18.07        98.53         5.49
    redo entries                       10575        36.59       199.53        11.12
    redo size                        2498156      8644.14     47135.02      2626.87
    redo small copies                  10575        36.59       199.53        11.12
    redo synch writes                    238          .82         4.49          .25
    redo wastage                      104974       363.23      1980.64       110.38
    redo writes                          422         1.46         7.96          .44
    rollback changes - undo rec            1            0          .02            0
    rollbacks only - consistent          200          .69         3.77          .21
    session logical reads             969453      3354.51     18291.57       1019.4
    session pga memory              35597936    123176.25    671659.17     37432.11
    session pga memory max          35579576    123112.72    671312.75      37412.8
    session uga memory               2729196      9443.58     51494.26      2869.82
    session uga memory max          20580712     71213.54    388315.32     21641.13
    sorts (memory)                      1091         3.78        20.58         1.15
    sorts (rows)                       12249        42.38       231.11        12.88
    table fetch by rowid               57246       198.08      1080.11         60.2
    table fetch continued row            111          .38         2.09          .12
    table scan blocks gotten          763421       2641.6     14404.17       802.76
    table scan rows gotten          13740187      47543.9    259248.81     14448.15
    table scans (long tables)            902         3.12        17.02          .95
    table scans (short tables)          4614        15.97        87.06         4.85
    total number commit cleanou         2489         8.61        46.96         2.62
    transaction rollbacks                  1            0          .02            0
    user calls                         15266        52.82       288.04        16.05
    user commits                         289            1         5.45           .3
    user rollbacks                        23          .08          .43          .02
    write requests                       331         1.15         6.25          .35Wait Events :
    Event Name                       Count         Total Time    Avg Time    
    SQL*Net break/reset to client                7             0             0
    SQL*Net message from client              16383             0             0
    SQL*Net message from dblink                424             0             0
    SQL*Net message to client                16380             0             0
    SQL*Net message to dblink                  424             0             0
    SQL*Net more data from client                1             0             0
    SQL*Net more data to client                 24             0             0
    buffer busy waits                          169             0             0
    control file sequential read                55             0             0
    db file scattered read                   74788             0             0
    db file sequential read                 176241             0             0
    latch free                                6134             0             0
    log file sync                              225             0             0
    rdbms ipc message                           10             0             0
    write complete waits                         4             0             0I did enable the timed_stats for the session but dont know why the times are 0's. Since I cant bounce the instance until weekend, cant enable the parameter in init.ora as well.

  • Using Decision Service for existing  rules based on Java Fact

    Hello
    According The BPEL Process Manager developers guid (10.1.3.1) page 18-28 if we want to call existing ruleset from BPEL that it's based on java facts . We should write RL function and convert xml data into java and assert the facts and after retrieving the result we should set the data from java types into xml types. From BPEL we should call this function
    But I have question : We know that rules based on java facts has better performance than xml facts , Instead of Using Decicion Service , we have writen java function and run ruleset and then we have exposed this as a webservice and invoke it from BPEL.
    What is the performance difference if we use this way instead of Decision Services?

    Thank you ralf
    So I want to write an RL Function and call my ruleset (based on my Java facts) from this RL Function and then Call this RL Function from BPEL decicion services.
    I have problem : I want to generate XSD that match with my JavaFact A . How can I easily create XSD from my java fact class.? I saw http://technology.amis.nl/blog/?p=3221 that shows how we can create xsd from Java classes . I could generate XSD from Java class A by the recommended method.
    I have Class A that contains member B as an array of objects (C) , My problem is that When I import generated xsd into rule Author it's generated JAXB class does not generate member B as an array of class(C)
    Is there any way that I can modify class A into JAXB compatible class and generate xsd file from it's JAXB class .
    I don't know JAXB specification and I do not know how JAXB works.I want easily generate JAXB class form my java class A and then retrieve corresponding xsd from it .
    Can I do such thing?

  • FSCM Badi for Basic Rules

    Hi all,
    I am working at the moment on an FSCM role out and we need to have Credit Limit Utilization and Risk Category as part of our collections rules. Now we are not using Credit Management in FSCM (Only DM and COLM) so the information needs to come from FD32.
    Table/field name is KNKK - CTLPC for risk category
    And for credit limit utilization i think it needs to be like this:
    Check customer number from KNKK - KUNNR
    Check credit control area from KNKK - KKBER
    Then get credit limit amount: KNKK - KLIMK
    Then get open receivables amount: KNKK u2013 SKFOR
    Then calculate: KNKK u2013 SKFOR / KNKK u2013 KLIMK * 100 this will give you the exposure percentage
    How do i put this into a badi? Or even in distribution of open items to collections management.
    In customizing you can define additional fields in FSCM->COLM->Integration with AR->Distribution of Data in COLM-> define relevant fields for document and master data record changes. This only contains BSID, KNB1 and KNB5
    Forther i think you have to change UDM_COLL_SEND_ITEMS with the proper fields.
    Do anybody have some tips on this?
    Regards,
    Richard Gentenaar

    Hi,
    I am facing same problem: having classical Credit Management in place, and FSCM Collections Management being implemented. Need to involve risk class from classical Credit Managment into the Collections Strategy. How did you exactly do this?
    Kind regards,
    Martin

  • Agent Group in Rule Based workflow decesion table

    Hi
    Have one question.
    Can it possible to split and merge parallel workflow items using Agent Group but without any BADI (Only customizing)?

    Unfortunately, the answer is NO. You need to implement the BAdI to at least determine the output of the split.

  • Rule based ATP is not working for Components

    Hi All,
    Our requirement is to do availability check through APO for Sales order created in ECC,so we are using gATP.
    Requirement: We are creating salesorder for BOM header (Sales BOM) and avaialbility check should happen for components i.e. Product avalaibility & Rule based substitution.
    Issue: Product availiabilty is working for components but rules based substituion is working,  mean Rules are not getting determind for components.
    Settings:
    - Header doesnot exist in APO and compnents do exist in APO
    - Availability check is not enabled for header item category and enabled for Item category for components
    - Rules have been created for Components in APO
    - Rule base ATP is activated in Check instructions
    We have also tried MATP for this i.e. PPM created in APO but still didn't get the desired result.
    If we create salesorder for the component material directly then Rule based ATP is happening, so for components Rule based ATP is not working.
    How do we enable enable Rulesbased ATP for components, i mean is there any different way to do the same.
    Thanks for help.
    Regards,
    Jagadeesh

    Hi Jagdeesh,
    If you are creating BOM in ECC and CIFing PPM of FG/Header material to APO, I think you need to CIF Header material, too, with material integration model.
    Please include header material in you integration models for material, SO and ATP check as well.
    For component availability check, you can use MATP; but for MATP, FG should be in APO. You need not to CIF any receipts of FG (stock, planned orders, POs etc), so that MATP will be triggered directly. Then maintaining Rules for RMs will enable to select available RMs according to the rule created.
    Regards,
    Bipin

  • Rule based ATP check with SOA

    Hello,
    We wish to implement ATP check using Ent Services.
    Details:
    Environment : SAP ECC 6.o with Enhancement Package 3/ SCM 5.0
    Ent service used: /SAPAPO/SDM_PARCRTRC :  ProductAvailabilityRequirementCreateRequestConfirmation
    We were able to carry out Product check using the service. However we are unable to carry out rule based ATP check using the same service.
    We have carried out the entire configuration as per SAP's building block configuration guide for Global ATP & SAP Note 1127895.
    For RBA <Rule based ATP check>, we are getting the results as expected when we create Sales order from SAP R/3 (Transaction VA01), however ATP simulation in APO & Ent service does not give the results as expected. When we carry out ATP simulation in APO / Ent service, results are same as Product check & not as RBA i.e. they respect only requested Product location stock & does not propose alternate Product or Location in case of shortages
    Plz share the experience to fix the issue
    Mangesh A. Kulkarni

    Hi mangesh
    Check this links , not very sure , but may help you...
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/erplo/availability%252bchecking%252bin%252bsap
    Re: ATP confirmation in CRM
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/scm/rba
    Regards
    Abhishek

  • RULE BASED OPTIMIZER TUNING

    Hi all,
    On one of the production server we are using RULE BASED OPTIMIZER(Its application requirement).
    I have to tune this database as users are complaining about the performance.
    Any tips how can I tune for a RULE BASED optimizer database.
    Does the tuning statergy will remain same as like seeing execution plan for missing index,instance paramets
    execpt you cant generate stats.
    Regards
    Umair

    Hi!
    There are one thing about RBO, YOU must check all long-running queryis for it's
    execution plans, try find better plans and after force RBO to using it.
    You can use different hints for changing eceution plans. But for tuning RBO's database you must soent a very big time, YOU must be a CBO ;)

  • Content Rule-Based DNS

    We have configured the CSS for content rule-based DNS operation for GSLB. The CSS are installed behind a firewall. CSS are configured with private addresses for the services and the VIP. This VIP is translated at the firewall for external access.
    In this scenarion, when the CSS receives a DNS query it returns the VIP (private address) and hence the clients can't reach. How can I change it to retun the public address to the user.

    you can configure the CSS to return the public ip address.
    But internal users that may require to use the private ip address will also receive the public ip address.
    To configure the CSS, you need to use dns a-record and therefore use dns zone-based solution instead of rule-based.
    http://www.cisco.com/en/US/products/hw/contnetw/ps792/products_configuration_guide_chapter09186a00801eebaa.html
    Regards,
    Gilles.

  • Badi for workflow based on Product category

    Hi,
    Could let me know if there is any BADI that can be used to implement the process of my workflow based on product category.
    kindly guide me in this.
    regards
    subhash

    Hi,
    Please go to SPRO nodes and there you will see one tab with BADI for self service procurement. there you will find badi.
    i am not remeber the exact badi name but one badi is there bbp_target_sys
    thanks
    Ravi

  • Rule based monitors (RZ20) - Show system availability for selected systems

    Hi experts,
    I'm new with CCMS monitoring and need an advice for rule based monitors.
    I want to create three alert monitors (RZ20). One for our developing systems, one for our quality assurance systems and one to monitor our production systems.
    For the start, I want to show data in each of this monitor for free space of the filesytems (MTE class: "FilesystemFreeSpace"), for users which are locked out (MTE class "R3SyslogSecurity") and for the availabilty of the ABAP systems (MTE class "Availability_SysPercent_ABAP").
    I started to create the monitor for our developing system and got a problem. I started with the rule "CCMS_DEFINE_R3_SYSTEMS" to select our developing systems "HRT", "CRT" and so on. Under this nodes, I defined the mte classes ("CCMS_GET_MTE_BY_CLASS") which needs to be shown: "FilesystemFreeSpace", "R3SyslogSecurity" and "Availability_SysPercent_ABAP".
    When I checked the results, I was able to see the free space of the filesystems and whether a user has been locked out. Unfortunately, I recognized that the availability is not shown. Instead there is the message "No MTEs currently available".
    I'm aware, the availability cannot be shown on this way, since the agents are part of the central monitoring system and hence i need to choose the central system for "CCMS_DEFINE_R3_SYSTEMS". However I'd like to show the availability separated for each system under "HRT", "CRT" and so on. That means for example, there should me a node "HRT", which contains the free space of the filesystems, whether users are locked out, and the availability for the system.
    It's not a problem to get a solution with a static monitor. I simply create a virtual node "HRT" and tick the checkbox under "<central system>, ..., <availability>, <hrt> ..."
    However, I'd like to use rule based monitor to keep the effort at a minimum by not ticking thousand of check-boxes when I expand the monitored objects.
    I also tried to use the rule "CCMS_GET_AVAILABILITY_FOR_SYSTEM", but it doesn't work and SAP documentations say "This rule is reserved by SAP for later use".
    Does anybody know a solution for my problem?
    In addition, I've got one more question concerning rule based monitors: If I want to create a monitor for my developing systems, I'll not be able to choose "<all>" for "CCMS_DEFINE_R3_SYSTEMS". Do I need to create "CCMS_DEFINE_R3_SYSTEMS" for each system separately? Or is there another possible way?
    Thanks for your help in advance.
    Bob
    Edited by: Bob Norwich on Oct 17, 2010 12:04 PM
    I read something about logical MTE classes: http://help.sap.com/saphelp_nw04s/helpdata/en/31/5462405c910272e10000000a155106/frameset.htm --> Does I need to use this?

    Sorry Sean for my very late anwser.
    I was very busy in my company.
    Yes, I had tried you suggestion but it didn't work for me.
    The problem is, that the Agent "CCMSPING" is part of the central monitoring system by definition.
    Furthermore I tried to copy the default availabiliy monitor to look how it is definied. It didn't help.
    I made the decision to define my monitor differently (an extra monitor for the availability for all system) and replace this temporalily solution when ""CCMS_GET_AVAILABILITY_FOR_SYSTEM" will be available.
    The situation is not so bad after all.
    Thx for your help. I appreciate it!!
    Bob

  • Exit/BADI for creating settlement rules in IW32 upon release of order

    I need settlement rules to be populated in IW32 when an order is released.
    The data for the settlement rules population will be obtained from a Z table based on Order type and Maintenance Activity Type.
    I am not able to find out a suitable BADI/EXIT to fulfill this requirement. Has anybody worked on this kind of requirement earlier? Please suggest an EXIT/BADI/BTE for this.
    Thanks in Advance!!

    Hi Harveen,
    How did you populate the fields in K_ORDER_SRULE_ADD. Which ones did you populate. I keep getting an error message.
    Receiver categ. is not allowed by settlement prof. PM0001 for this sender
    Message no. KD031 Diagnosis The settlement profile specifies which receiver
    categories you can settle a sender to. Receiver category is not allowed by
    settlement profile PM0001 for this sender.
    Procedure
    You can do the following:
       Assign a settlement profile to the sender, that implements the
    required receiver category .
        Choose "Goto -> Settlement Parameters".
       Specify another receiver for distribution rule 009. If you already
    used this rule for a previous settlement, enter a valid-to period. Then
    enter a new rule for the next settlement with a receiver category. This
    category must be one that is allowed by settlement profile PM0001.
    Procedure for System Administration
    If necessary, maintain a suitable settlement profile.
    Would very much appreciate your help.
    Cheers
    Eunice

  • Questions on Rules-Based ATP and Purchase Requisitions for STOs

    Hello experts,
    We are working on rules-based ATP configuration and have several questions about the functionality.  Iu2019m hoping that some of you are using this functionality and can help give us direction.
    In our environment we have multiple distribution centers and multiple manufacturing plants.  We want to confirm sales orders against stock and production orders in any of those plants, depending on the locations that have stock or planned production.  For example, we will place a sales order against plant A.  If there is not enough stock in plant A then rules-based ATP will use location determination to check in plant B, then C.  The scope of check on the ATP check will include stock and released production orders.  We will configure plant A as the u201Cconsolidation locationu201D so if stock is found in plants B or C then stock transport orders will automatically be created to move the stock to plant A before shipping to the customer.
    We have configured rules-based ATP and this functionality is working well in our Development system.  The ATP check is executed and uses the rules-based ATP to find eligible stock in other plants.  The system is also creating purchase requisitions to move the stock to the consolidation plant. 
    Our first concern is that there doesnu2019t appear to be any firm linkage between the sales order and the resulting purchase requisition.  For example, if we create sales order 123 for plant A and the rules-based ATP finds stock in plant B it automatically creates a purchase requisition 987 to move the stock from plant B to plant A.  However, there doesnu2019t appear to be a linkage between sales order 123 and purchase requisition 987.  For instance, if we delete sales order 123 the purchase requisition doesnu2019t get deleted. 
    Our second concern is that the quantity on the purchase requisition can still be confirmed against later sales orders.  For example, say the above scenario resulted in a purchase requisition 987 that consumed all the stock available in plant B.  We then create a second sales order 456 for the same product.  Plant A is out of stock so the rules-based ATP looks in plant B.  We would expect that plant B would also not have any stock because itu2019s all been consumed by the purchase requisition.  Instead, the system creates a second purchase requisition to move quantity from plant B to plant A.  Itu2019s as if the system doesnu2019t realize that the purchase requisition 987 is already planning to move stock out of plant B.
    Does anyone have any thoughts or suggestions on these two scenarios?  Is there a way to configure the system so there is a hard linkage between the sales order and the purchase requisition so that if the sales order is deleted then the purchase requisition is also deleted?  Should ATP realize that purchase orders are consuming inventory and not allow later sales orders to confirm against that same inventory?  Any advice or experience would be greatly appreciated.
    Thanks,
    David Eady
    Application Delivery Team Lead
    Propex, Inc.

    Hi,
    The scheduling is done in SCM, and from there, whenever the RBA is triggered, the calculation is done always with the old route in SCM. Until you get back to R/3 this is when your route is determined. But the ATP check is always with the original route. So the idea would be that you change the values of the route while still in APO, this is possible via the user exit. Should be done in scheduling in APO.  
    Hope this information is helpful.
    Regards,
    Tibor

  • Project settlement to CO-PA and BAdI for automatic creation of rules

    Hello SAP experts!
    I have managed to implement settlement rule strategy to CO-PA for sales project WBS-elements, which automatically creates the settlement rules for WBS-elements with billing indicator. One or more sales order items are assigned to the WBS-elements. When the system derives settlement rules, it generates profitability segments that contain the characteristic values of the WBS elements and the sales orders assigned to them. The problem is, that only one single settlement receiver is determined for each WBS-element. And if more that one sales order item is assigned to the same WBS-element only those characteristics are copied to the settlement rule that are same in all sales order items.
    For example; it products are different in all sales order items, the automatically created settlement rule does not contain the characteristic value product or neighter other caracteristics derived from product.
    Do You have experience of using BAdI for influencing the generation of settlement rules? What it actually makes possible?
    Br, Nina

    Dear Waman,
    thank you for your reply !
    Yet - this still does not solve our problem. In that note (and also in the related note 201445) there is no valuable information included concerning transaction currency:
    Our WBS elements (and also other cost objects, e.g. sales order items) are being debited in all of the three currencies.....but the credit (during settlement) only takes place in two of them:  object and CO area currency.
    I really appreciate additional help on this. It would be hard to believe that we are the only SAP customer having this kind of problem.
    Best regards,
    Thomas

  • APO Rule based ATP for RA Repair

    Hey,
    Could you please help me to turn on rule based ATP for document type RA outbound?
    The senario is as follows:
    Customer returns to my company the product.
    My company has multiple locations (plants) for replacement products. I would like to determine the replacement product location with rule-based ATP. We use rule-based ATP for the sales site w/o issues.
    I set up in configuration:
    ZRA (copy of RA) with business transaction RMA(to trigger the rule based ATP)
    Assigned ZRA / Item usage = R104/ PSTYV= ZXNN (item category allows rule based ATP).
    ZRA     ZNO1     R104     IRRA     ZXNN
    I also did the below rules based ATP item catgegory determination:
    AUART        MTPOS         VWPOS        UEPST         PSTYV
    ZRA     ZNO1     APO0     ZTP1     ZXNN
    ZRA     ZNO1     APO1          ZTP1
    ZRA     ZNO1     APO1     ZXNN     ZTP1
    ZRA     ZNO1     APO2     ZTP1     ZXNN
    When I create with VA01 a ZRA order and add a replacement plant then I get this message:
    The ATP rules are not called up for item 000030 - Message no. /SAPAPO/ATP147
    But when I go from the "APO Availability Check" view to the Rule then I see my rules determined.
    The detail message also says that the system "things" the line was already delivered, which is not the case.
    Could you please tell me if it is possible to combine rule-based ATP with the RA replacement process and if yes how to do it?
    Thanks,
    Sabine

    Check OSS Note 571044 - RBA: Use of calculation profiles and rules
    Regards,

Maybe you are looking for

  • WLC 4402 Multiple clients can connect to AP but only one gets an IP

    I have a 4402 which is connected to a 4506 Switch int Gig 3/1 via a trunk port. The Managment and AP-manger interfaces are on vlan 6 interface GigabitEthernet3/1 description Trunk Port to WLC switchport trunk encapsulation dot1q switchport trunk allo

  • Faxing a Crystal Report that has been exported to a PDF

    Hi. I am having a problem trying to fax a Crystal Report that has been exported to a PDF. I am using Windows XP Pro SP3, VB.Net 2008 and the Crystal Reports that came with it. The report exports to a PDF with no problem.  Generally, I can fax a docum

  • Triples of applications after Archive and Install

    Hi I just tried to install Leopard on my black macbook, which made it go to a blue screen until i re-installed it using the archive and install option, and the preserve user settings and networks option. I was attempting to access some applications f

  • System down for maintenance

    From many many days, on apple support site in the applecare , appears this unbelievable message : "System down for maintenance We're sorry, our system is not available at this time. Please try again in a few minutes or return to the Apple Support sit

  • No sound playback in Premier

    I am using Premier CS3 on a Vista x64 machine. Premier was working well, but then I had a nasty crash while capturing video. Now when I play tracks in Premier I cannot hear the sound, but I can see that the sound is there and looks to be playing and