Parallel Processing Bottleneck in POS Inbound WPUUMS01

Will someone explain what is the objective of BD51, if most IDOCs are processed by SAP 1-by-1 using INPUTTYP = 1.
Parallel processing of WPUUMS01 IDOCs seems to be a case of a movie hall with many ticket counters but only 1 usher!  IDOC_INPUT_POS_SALES_ACCOUNT seems to me the bottleneck.
Am I right?
Read carefully the two links on BD51
http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a6688507d11d18ee90000e8366fc2/content.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/0b/2a6688507d11d18ee90000e8366fc2/content.htm
In SDN IDES the 269 entries in TBD51 are
64   0-Mass processing
<b>170   1-Individual input</b>
35   2-Individual input with IDoc lock in CALL TRANSACTION
Observe vast majority as "1 Individual Input".
After reading Notes <b>199840 & 118924</b> mentioned below I implemented small IDOCs and RDBAPP01 parallel processing. But benefit was marginal & disappointing at ~12%.
I checked <b>IDOC_INPUT_POS_SALES_ACCOUNT</b> has INPUTTYP = 1.
I suspect that 0-Mass processing should have given the better performance.
"1" and "2" is for function modules process one IDoc per call.
     is for FMs that use "call transaction method"
INPUTTYP = 0 function modules which process IDocs in packets and good for performance.
     is for FMs that use "direct input method"
IDOC_INPUT_POS_SALES_ACCOUNT  is part of Function Group WPUE - POS interface, upload processing which is part of package WPOS. This does not have "call transaction" string nor "bdc".
I read carefully
<b>Note 199840 </b>- POS IDoc inbound dispatcher with locking control  is SAP's BP must read 
This note says "To achieve a good load distribution in doing so, you should split the large IDocs, which are expensive with regards to processing, according to a defined record length. This mainly affects message types WPUUMS (aggregated sales) .... we recommend splitting a large IDoc into several small IDocs anyway..."
<b>Note 118924 </b>- Parallel processing of IDocs in the POS inbound
"Activate the check box 'parallel posting' in the initial screen of RBDAPP01 and enter the server group defined before.
The system automatically distributes the load to the servers of the server group, and for each Idoc packet it starts a dialog process. For each server all dialog processes except for two can be occupied, therefore always make sure there are enough online processes available."
Looking for comments from IDOCs gurus ....
I spent a huge amount of effort with little to show.
Regards
-jnc

yes i did max performance things on the merging logic now i  have to create the idocs in the parallel . can you please help me in wrirting the code of creating idocs in parallel.
thanks in advance.
regards ,
khushi
Edited by: Khushboo Tyagi on Jan 19, 2009 4:24 PM

Similar Messages

  • Profile for POS inbound

    Hi folks,
    ma client want to use a Profile for POS inbound but without site data. How i can use the profile in this case?
    Thanks for help.
    Best regards
    Michael

    Hi Dirk,
    the POS Inbound will only work on an IS Retail System and required that you have a corresponding site set up for each store. The POS inbound process reads the POS Inbound profile from the site data (transaction WE03) during the IDoc processing. If there is no entry in WRF1 for this partner the processing will fail.
    So if your client has stores that are implemented as customers but not at customers+site, the POS Interface cannot be used.
    Regards Carsten

  • POS Inbound processing

    Hi,
    POS inbound idoc Message Type WPUBON is processed to create Billing document.
    I want to know how is the idoc related to Billing document.
    I want to use a different billing document type Z*** if the POS inbound has customer information and standard billing document type FP if the POS inbound has no customer info.
    Where can I configure this.
    Thanks
    Barry

    Hi Barry,
    The postings from POS work in a different way. It will always credit your sales revenue and debit the tender account. If you are thinking of crediting the sales rev and debiting the 'customer account' you may need to try the standard sales order route. I would strongly suggest implementing SAP Retail Store for the same, which is meant for that.
    Regards,
    Suhail Shaik

  • Vendor Consignement with POS Inbound

    Hi Gurus
    We are currently trying to implement Vendor Consignment stock with some of our Vendors.
    However we run a POS system that interfaces with SAP through IDOCs.
    We have tried a number of Config settings in these areas but are unable to get the POS Inbound transaction to consume  the Vendor Consignment Stock.  It is using movement type 251, and does not input the K to indicate the article should be consignment.
    Are we missing come crucial config we have missed?
    Or do we need to develop our POS system to hold a "consignment" indicator to pass through to the POS Inbound process.
    Your helps would be much appreciated.
    Thanks
    Hayley

    Hayley
    Which idoc you are using in POS inbound to push the consignment sales? WPUWBW01 is the idoc type used earlier for pushing consignment sales from POS back in to the Retail system. Now all the information will be coming in WPUUMS01 idoc only. Let me explain the steps, simply follow the steps to achieve the consignment stock special indicator in inbound. THERE IS NO ENHANCEMENT REQUIRED
    1) Activate Retail consignment processing:
    IMG --> Log Gen --> Retail consign processing  --> Activate retail consignment processing
    2) Define strategies for stock determination
    IMG--> Log Gen --> Retail consign processing --> Define strategies for stock determination
    3) Define stock determination group
    4) Define stock determination rule
    5) Define stock determination header table
    6) Define stock determination item table (K, F)
    7) Define alternate stock determination rules for consign processing
    8) Assign stock determination rule in applications (assign mvt types 251, 252 here)
    9) Configure automatic posting for KON (consignment payables) and AKO (expense/revenue from consign mat consumption)
    For POS inbound,
    10) Extension for controlling summarized sales
    IMG > SD> POS Interface --> Inbound --> Extension for controlling receipt based sales (you need to tick the 'Vendor consignment' )
    The final step is very important,
    11) Run the transaction WSSS for each site, this will take care of seperation of stock and this txn must be run before you process the POS inbound.
    Now do a Sale txn in POS and process the POS inbound and check the stock.
    Cheers
    Suhail Shaik
    SAP Consulting

  • Parallel Processing in creation of idocs

    Hi Gurus ,
    I am working on the EDI Inbound process with IDOCS . I am getting several idocs as per my process from legacy systems and i am supposed to merge couple of idocs based on certain conditions and then create new IDOCS which in turns create the Sales Order .
    The response time of this utility is very bad hence for performance optimization we are planning to apply Parallel processing concept in the creation of idoc.
    we have a function module which creats Sales order . I want to  call this Function module in parallel in different LUWs so that multiple sales order can be created in parallel .
    can anyone please help me and tell me the logic to  call a function module in parallel .
    thanks in advance
    regards,
    khushi.

    yes i did max performance things on the merging logic now i  have to create the idocs in the parallel . can you please help me in wrirting the code of creating idocs in parallel.
    thanks in advance.
    regards ,
    khushi
    Edited by: Khushboo Tyagi on Jan 19, 2009 4:24 PM

  • Rack Jobber for POS Inbound

    Dear Experts,
    I would like to ask about POS Inbound for Rack Jobber. SAP said that we can differentiate Revenue Account (GL Account) for each Rack Jobber by adding Vendor in Revenue Account Determination. However, during POS Inbound (Sales Per Receipt or Aggregated Sales), I cannot find the field in IDOC structure to add the vendor value.
    Please share me your experience on it.
    Thanks.

    Dear SAPVN
    I am not sure which business scenario are you using rack Jobber for. But from ECC 6.0 onwards, you should user Retail Vendor Consignment process in case you need to handle consignment processing. In such a case you need to maintain settings of Retail vendor Consignment along with a consignment Info record and SD account determination settings which can do the trick.
    Hope this helps
    regards
    Manish

  • Parallel processing concern.

    Hello SAPients!
    I modified some user exits. I'm modifying the contents of the IDoc WPUBON01. In the "Before Inbound Processing" I am exporting a value to memory, use that value in one of the user exits to populate VBRK-VBRP, and I'm clearing (FREE) that value  in the "After Inbound Processing".
    It works fine so far, but I haven't tested with many IDocs, just with one (I don't have enough data to generate a complete test). My concern is that the standard transaction that executes the IDocs is enabled for parallel processing. Does SAP generate separated memory areas for every process that is triggered? What is going to happen if one of the processes finishes and clears (FREE) the memory? Will this generate inconsistency?
    Thanks in advance for your kind help.

    Well I almost answered a while ago, but we don't run Idocs so I can't test this... however, I have always found "export to memory id 'Z:MY_KEY' style logic very reliable in handling the type of requirement you describe e.g. several online sessions for the same SAPGui user will each get their own ID, multiple batch jobs can run at the same time without collision etc... whereas "set parameter ID 'Z12'" stype code is not reliable.
    Jonathan

  • Parallel processing of the IDOCs through the program RBDAPP01

    Hello All,
    We are prcoessing the inbound IDOCS using the program RBDAPP01 by scheduling but this processing is taking lot of time to process the IDOCs.
    Please let me know how do we improove the performance of this program RBDAPP01 by making use of
    parallel processing of IDOCS?I read some documentation in this forum but not understand clearly.
    Please give some info regarding this who have already done this requirement earlier.
    Regards
    Mahesh

    Hi,
    Thanks a lot for your quick reply just by giving the package size it will initiate parallel processing?
    in our partner profiles we have setting to trigger through back ground only.
    How to use parallel processing tab in the selection screen of the program RBDAPP01?
    Regards
    Mahesh

  • Parallel Processing : Unable to capture return results using RECIEVE

    Hi,
    I am using parallel processing in one of my program and it is working fine but I am not able to collect return results using RECIEVE statement.
    I am using
      CALL FUNCTION <FUNCTION MODULE NAME>
             STARTING NEW TASK TASKNAME DESTINATION IN GROUP DEFAULT_GROUP
             PERFORMING RETURN_INFO ON END OF TASK
    and then in subroutine RETURN_INFO I am using RECEIVE statement.
    My RFC is calling another BAPI and doing explicit commit as well.
    Any pointer will be of great help.
    Regards,
    Deepak Bhalla
    Message was edited by: Deepak Bhalla
    I used the wait command after rfc call and it worked additionally I have used Message switch in Receive statement because RECIEVE statement was returing sy-subrc 2.

    Not sure what's going on here. Possibly a corrupt drive? Or the target drive is full?
    Try running the imagex command manually from a F8 cmd window (in WinPE)
    "\\OCS-MDT\CCBShare$\Tools\X64\imagex.exe" /capture /compress maximum C: "\\OCS-MDT\CCBShare$\Captures\CCB01-8_15_14.wim" "CCB01CDrive" /flags ENTERPRISE
    Keith Garner - Principal Consultant [owner] -
    http://DeploymentLive.com

  • Parallel processing of mass data : sy-subrc value is not changed

    Hi,
    I have used the Parallel processing of mass data using the "Start New Task" . In my function module I am handling the exceptions and finally raise the application specific old exception to be handled in my main report program. Somehow the sy-subrc is not getting changed and always returns 0 even if the expection is raised.
    Can anyone help me about the same.
    Thanks & Regards,
    Nitin

    Hi Silky,
    I've build a block of code to explain this.
      DATA: ls_edgar TYPE zedgar,
            l_task(40).
      DELETE FROM zedgar.
      COMMIT WORK.
      l_task = 'task1'.
      ls_edgar-matnr = '123'.
      ls_edgar-text = 'qwe'.
      CALL FUNCTION 'Z_EDGAR_COMMIT_ROLLBACK' STARTING NEW TASK l_task PERFORMING f_go ON END OF TASK
        EXPORTING
          line = ls_edgar.
      l_task = 'task2'.
      ls_edgar-matnr = 'abc'.
      ls_edgar-text = 'def'.
      CALL FUNCTION 'Z_EDGAR_COMMIT_ROLLBACK' STARTING NEW TASK l_task PERFORMING f_go ON END OF TASK
        EXPORTING
          line = ls_edgar.
      l_task = 'task3'.
      ls_edgar-matnr = '456'.
      ls_edgar-text = 'xyz'.
      CALL FUNCTION 'Z_EDGAR_COMMIT_ROLLBACK' STARTING NEW TASK l_task PERFORMING f_go ON END OF TASK
        EXPORTING
          line = ls_edgar.
    *&      Form  f_go
    FORM f_go USING p_c TYPE ctype.
      RECEIVE RESULTS FROM FUNCTION 'Z_EDGAR_COMMIT_ROLLBACK' EXCEPTIONS err = 2.
      IF sy-subrc = 2.
    *this won't affect the LUW of the received function
        ROLLBACK WORK.
      ELSE.
    *this won't affect the LUW of the received function
        COMMIT WORK.
      ENDIF.
    ENDFORM.                    "f_go
    and the function is:
    FUNCTION z_edgar_commit_rollback.
    *"*"Interface local:
    *"  IMPORTING
    *"     VALUE(LINE) TYPE  ZEDGAR
    *"  EXCEPTIONS
    *"      ERR
      MODIFY zedgar FROM line.
      IF line-matnr CP 'a*'.
    *comment raise or rollback/commit to test
    *    RAISE err.
        ROLLBACK WORK.
      ELSE.
        COMMIT WORK.
      ENDIF.
    ENDFUNCTION.
    ok.
    In your main program you have a Logical Unit of Work (LUW), witch consists of an application transaction and is associated with a database transaction. Once you start a new task, your creating an independent LUW, with it's own database transaction.
    So if you do a commit or rollback in your function the effect is only on the records your processing in the function.
    There is a way to capture the event when this LUW concludes in the main LUW. That is the PERFORMING whatever ON END OF TASK. In there you can get the result of the function but you cannot commit or rollback the LUW from the function since it already have implicitly happened at the conclusion of the funtion. You can test it by correctly comment the code I've supplied.
    So, if you  want to rollback the LUW of the function you better do it inside it.
    I don't think it matches exactly your question, maybe it lead you on the right track. Give me more details if it doesn't.
    Hope it helps,
    Edgar

  • Parallel Processing and Capacity Utilization

    Dear Guru's,
    We have following requirement.
    Workcenter A Capacity is 1000.   (Operations are similar)
    Workcenter B Capacity is 1500.   (Operations are similar)
    Workcenter C Capacity is 2000.   (Operations are similar)
    1) For Product A: Production Order Qty is 4500. Can we use all workcenter as a parallel processing through Routing.
    2) For Product B: Production Order Qty is 2500. Can we use only W/C A and B as a parallel processing through Routing.
    If yes, plz explain how?
    Regards,
    Rashid Masood

    May be you can create a virtual WC VWCA=ABC (connected with a hierarchy with transaction CR22) and another VWCB=A+B and route your products to each VWC

  • Parallel processing open items (FPO4P)

    Hello,
    I have a question about transaction FPO4p (parallel processing of open items).
    When saving the parameters the following message always appears : "Report cannot be evaluated in parallel". The information details tells that when you use a specific parallel processing object, you also need to use that field to sort on.
    I my case I use the object GPART for parallel processing (see tab technical settings). In the tab output control I selected a line layout which is sorted by business partner (GPART). Furthermore no selection options are used.
    Does anyone know why the transaction cannot save the parameters and shows the error message specified above. I really don't know what goes wrong.
    Thank you in advance.
    Regards, Ramon.

    Ramon
    Apply note 1115456.
    Maybe that note can help you
    Regards
    Arcturus

  • Adding Cost of Sales for Non-Stock articles to POS Inbound Pricing Schema

    Hi guys
    I'm working on a requirement to derive the Cost of Sales for non-stock items by pulling the current cost for the site and multiplying it by the billed quantity on VBRP. We could create a new condition type using purchase org, article and site in the condition table and manually enter condition records. However it would be more elegant to copy prices from the Purchasing list or deal prices into new condition types in the POS inbound pricing procedure. However SAP standard doesn't seem to allow condition copying from purchasing to sales.
    Regards
    Brett

    Hi ,
    As it happens you need to do this for Non-Stock Articles only.... then you need a routine to do this .
    And then in IS -Retail do  we not use  NETPrice or Final Cost Price to derive the Sales Price ... In that case you get the Cost Price when the Billing doc is getting posted at line level...
    Regards
    Amitava

  • How to do parallel processing with dynamic internal table

    Hi All,
    I need to implement parallel processing that involves dynamically created internal tables. I tried doing so using RFC function modules (using starting new task and other such methods) but didn't get success this requires RFC enabled function modules and at the same time RFC enabled function modules do not allow generic data type (STANDARD TABLE) which is needed for passing dynamic internal tables. My exact requirement is as follows:
    1. I've large chunk of data in two internal tables, one of them is formed dynamically and hence it's structure is not known at the time of coding.
    2. This data has to be processed together to generate another internal table, whose structure is pre-defined. But this data processing is taking very long time as the number of records are close to a million.
    3. I need to divide the dynamic internal table into (say) 1000 records each and pass to a function module and submit it to run in another task. Many such tasks will be executed in parallel.
    4. The function module running in parallel can insert the processed data into a database table and the main program can access it from there.
    Unfortunately, due to the limitation of not allowing generic data types in RFC, I'm unable to do this. Does anyone has any idea how to implement parallel processing using dynamic internal tables in these type of conditions.
    Any help will be highly appreciated.
    Thanks and regards,
    Ashin

    try the below code...
      DATA: w_subrc TYPE sy-subrc.
      DATA: w_infty(5) TYPE  c.
      data: w_string type string.
      FIELD-SYMBOLS: <f1> TYPE table.
      FIELD-SYMBOLS: <f1_wa> TYPE ANY.
      DATA: ref_tab TYPE REF TO data.
      CONCATENATE 'P' infty INTO w_infty.
      CREATE DATA ref_tab TYPE STANDARD TABLE OF (w_infty).
      ASSIGN ref_tab->* TO <f1>.
    * Create dynamic work area
      CREATE DATA ref_tab TYPE (w_infty).
      ASSIGN ref_tab->* TO <f1_wa>.
      IF begda IS INITIAL.
        begda = '18000101'.
      ENDIF.
      IF endda IS INITIAL.
        endda = '99991231'.
      ENDIF.
      CALL FUNCTION 'HR_READ_INFOTYPE'
        EXPORTING
          pernr           = pernr
          infty           = infty
          begda           = '18000101'
          endda           = '99991231'
        IMPORTING
          subrc           = w_subrc
        TABLES
          infty_tab       = <f1>
        EXCEPTIONS
          infty_not_found = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        subrc = w_subrc.
      ELSE.
      ENDIF.

  • How to achieve parallel processing in a single request?

    Hi all,
    I have a method in a Session EJB that will perform some business logic before it returns an answer to the client. The logic it will perform is to collect data from the applications database and two external systems, before sending all data to a third external system to get a response and send it back to the client. Each external system is quite slow so I would like to do all the collecting of data concurrent, parallel processing. How should I handle this? I'm not allowed to create my own threads in EJB's. Can I use MDB in some way? To the calling client this should be a synchronous call...
    Greatfull for any suggestions
    Cheers
    Anders =)

    Usually, the request is received by a component located in the web container, such as by an HTTP request (including Web Services). This component is able to start threads to allow parallel processing. Now, if for some reason the request arrives directly at EJB level and that you cannot move its receiver to web component, I think JMS is not a viable solution because you will switch to asynchronous processing and you have no way to make your EJB wait for the responses while preserving the client request (waiting implies programmatic life cycle management, which is forbidden in EJB container). Maybe a resource adapter (JCA) can bring a solution. A resource adapter acts as a datasource (a datasource is a specialization of a resource adapter) and thus it is a logical way to implement an adapter to an external, eventually non-J2EE, resource, as the name implies :) But I don't have enough knowledge in JCA to be sure of this.
    Hope it helps.
    Bruno Collet
    http://www.practicalsoftwarearchitect.com

Maybe you are looking for

  • NEED HELP FAST, Srs Bsns

    Heres what I wrote on UPSB, the penspinning forum, but I'm asking everywhere for some help: So, there are these three genius 6th grade kids or move up to my 9th grade geometry class. They won this big science competition and got interviewed with fox

  • Windows 8.1 update for PFD

    Hi, India_ Lumia 925 On updating my device says update has been downloaded but unable to open. Please help Gaurav

  • Some websites load small banner insted of full window

    Some windows are loading in a window at the top about 1/4 the size of the size it should be. my browser screen is fully expanded, most websites work but some still load this way and i have no idea why. Any help on this issue would be really appreciat

  • I want to activate my i phone

    i want to activate my i phone please help me

  • Downloaded OS X Yosemite 10.10 and now my Illustrator won't open?

    Hi, I was prompted by my creative cloud account to download OS X Yosemite 10.10 onto my mac. Now my Illustrator CS6 won't open and is asking me to download 'Legacy Java SE 6 runtime'. I have tried to download this from the internet but nothing is wor