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

Similar Messages

  • Problem for Process code creation in IDOCS

    Hi Experts,
       I have copied function module 'IDOC_INPUT_ORDERS' into 'Z_IDOC_INPUT_ORDERS'.I have done some extension idoc population in this.My problem is I want to assign this 'Z_IDOC_INPUT_ORDERS' FUNCTION MODULE to one new process code.While creating new process code i have to assign this Z FM there.But There is one drop down list is showing under function module field.I need to select this Z FM from this dropdown list.But it's not showing in this drop down list.What can i do for this .
    Can he give needful support regarding this.It's very urgent requirement
    Appreciable for ur good help.
    with rgds,
    srihari.V.

    Hi,
    You need to add your FM in transaction code BD51 and go to transaction WE57 to assign to the corresponding message type. Next, you go to transaction WE42. The FM should be visible.
    Regards,
    Ferry Lianto

  • Parallel processing question

    I have written a module to read data from an external source, convert input to IDOCS, and process these IDOCS.
    Due to performance of IDOC processing, I decided to use parallel processing to spread the IDOC creation load among several processes using server groups.
    My main program sets up the parallel processing environment with a call to function module SPBT_INITIALIZE, then make repeated calls to a function module that processes the IDOCS, using the STARTING NEW TASK and DESTINATION IN GROUP xxx keywords.
    What I'm seeing is the main process running as a background task and one dialog process running the parallel function module, even though there are still 8 or 9 other dialog processes available.
    What I expected to see was several dialog process running my child function modules, not just the one.
    Does anyone know why the other dialog processes are not being used?
    Thanks for any input,
    Dorian.

    Thomas:
    I'm logging any errors that occur; I'm not seeing any resource failures - in fact no errors at all, other than expected application data errors. It seems that the RFC calls are all being made in a single child process that queues up the parallel jobs and uses just one dialog process to run them all. I expected to see as many dialog tasks being used as were available.
    As far as the RFC parameters go - are you referring to the RZ10 values? I looked at all of the parameters containing "rfc" as part of their name, and nothing looked as though it was restricting the parallel task behaviour. Do you have any advice as to suitable settings?
    I'm also wondering if what I am seeing is just the way SAP is supposed to work? Although I expected to see lots of child processes running in multiple dialogs if processes are available, maybe by design only one remote process per server is allowed? I checked the documentation I could find on the "starting new task" keyword, and nowhere does it say that multiple processes will be started on each server in the server group; only that a child process will NOT be started if the number of unused processes fall below a defined threshold.

  • Idocs parallel processing

    Hi,
    We have some goods movement idocs(MBGMCR/MBGMCR03)getting posted simultaneosly.(Std ALE idocs no customization)We dont want to collect it and process it(timing issue).When we allow it to process immediately material batch combination gets locked out and one idoc goes through and others fail...i know we can collect it and process it through a batch prog setting RBDAPP01 variant with no prallel processing but is there any way i can switch on immediately and allow each idocs to process one by one avoiding parallel processing..?
    Thanks,
    Larry

    Hi Larry,
    Please check your partner profile (WE20) and set to trigger immediately under processing by function module area.
    Regards,
    Ferry Lianto

  • 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

  • Error in Process code creation

    Hi All,
    I need to create a process code and i need to attach  a custom function module for that process code.
    So i have  created custom FM.
    afterward in WE42 ,
    I gave custom process code name ,description and FM .
    when i tried to save the same its giving following message.
    For entry, access 'Function module for ALE-EDI inbound processing'
    when i tried to give some entries its not accepting...
    Please provide me the steps for process code creation.
    Reg,
    Hem.

    hi
    good
    Definition
    Another name for a specific process, for example function module or workflow. IDocs are read or written in this process.
    Use
    In the partner profiles, the processing is never addressed directly but rather always using a process code. You can therefore replace an old process with a new one for any number of partners by assigning the existing process code to the new process.
    Two types of process code are used in conjunction with the partner profiles:
    1) Outbound Process Code - if you are using outbound processing under Message Control, the IDoc is generated in the IDoc Interface. The process code names the relevant function module.
    2)Inbound Process Code - names the function module or workflow which reads the IDoc data and transfers the data to the application document.
    There are process codes for exception handling:
    1) System Process Code - names the workflow which is triggered in inbound or outbound processing when an exception occurs.
    2) Status Process Code - names the exception workflow which is triggered when an incorrect status is returned by the external system.
    These two types are configured centrally and not on a partner-specific basis and therefore do not have to be maintained when a new process is defined. They were introduced for the sake of completeness, so that each process in the IDoc Interface is addressed using a process code.
    reward point if helpful.
    thanks
    mrutyun^

  • Missing Process Step - File to IDOC scenario

    Hi gurus!
    I'd like to help me with this topic. I have an interface that takes a File, its get converted with the CC File Sender (File Content Conversion) to XML, a mapping in the middle to the iDoc, and then it makes the ammount of "N" ACC.DOCUMENT.
    The problem that we're facing is that when we get a very high load of messages entering to XI (e.g. the end of months) the users puts file with an average size of 1.5 MB. We inmediately see the checkered flag in sxmb_moni transaction on XI (Succesful status), but we sometimes wait for many days to see the IDOCS...
    I'd like to know where can i find the status of these messages, because i don't know where's the step after the flag in the moni AND before the creation of iDocs.
    Regards.
    Juan

    Like I said, the checkered flag status in SXMB_MONI means the process was successfully completed on the Integration Engine.  Processes are passed to the Adapter Engine once they're completed on the IE.  There can still be a problem at the Adapter Engine level, for which case SXMB_MONI is useless as a tool for problem determination.  You need to go into the Runtime Workbench and access the Message Monitoring tool and check the status for the Adapter Engine when your problem occurs.  If your messages are stuck on the Adapter Engine you can drill into the specifics of each message for problem determination.  In our case when this occurs it is generally either a problem with the java stack, user lock issue, or  SXI / CPA cache problem.

  • Parallel processing in background using Job scheduling...

    (Note: Please understand my question completely before redirecting me to parallel processing links in sdn. I hve gone through most of them.)
    Hi ABAP Gurus,
    I have read a bit till now about parallel processing. But I have a doubt.
    I am working on data transfer of around 5 million accounting records from lagacy to R/3 using Batch input recording.
    Now if these all records reside in one flat file and if I then process that flat file in my batch input program, I guess it will take days to do it. So my boss suggested
    to use parallel processing in SAP.
    Now, from the SDN threads, it seems that we have to create a Remote enabled function module for it and stuf....
    But I have a different idea. I thought to dividE these 5 million records in 10 flat files instead of just one and then to run the Custom BDC program with 10 instances which will process 10 flat files in background using Job scheduling.
    Can this be also called parallel processing ?
    Please let me know if this sounds wise to you guys...
    Regards,
    Tushar.

    Thanks for your reply...
    So what do you suggest how can I use Parallel procesisng for transferring 5 million records which is present in one flat file using custom BDC.?
    I am posting my custom BDC code for million record transfer as follows (This code is for creation of material master using BDC.)
    report ZMMI_MATERIAL_MASTER_TEST
          no standard page heading line-size 255.
    include bdcrecx1.
    parameters: dataset(132) lower case default
                                 '/tmp/testmatfile.txt'.
       DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
      If it is nessesary to change the data section use the rules:
      1.) Each definition of a field exists of two lines
      2.) The first line shows exactly the comment
          '* data element: ' followed with the data element
          which describes the field.
          If you don't have a data element use the
          comment without a data element name
      3.) The second line shows the fieldname of the
          structure, the fieldname must consist of
          a fieldname and optional the character '_' and
          three numbers and the field length in brackets
      4.) Each field must be type C.
    Generated data section with specific formatting - DO NOT CHANGE  ***
    data: begin of record,
    data element: MATNR
           MATNR_001(018),
    data element: MBRSH
           MBRSH_002(001),
    data element: MTART
           MTART_003(004),
    data element: XFELD
           KZSEL_01_004(001),
    data element: MAKTX
           MAKTX_005(040),
    data element: MEINS
           MEINS_006(003),
    data element: MATKL
           MATKL_007(009),
    data element: BISMT
           BISMT_008(018),
    data element: EXTWG
           EXTWG_009(018),
    data element: SPART
           SPART_010(002),
    data element: PRODH_D
           PRDHA_011(018),
    data element: MTPOS_MARA
           MTPOS_MARA_012(004),
         end of record.
    data: lw_record(200).
    End generated data section ***
    data: begin of t_data occurs 0,
          matnr(18),
          mbrsh(1),
          mtart(4),
          maktx(40),
          meins(3),
          matkl(9),
          bismt(18),
          extwg(18),
          spart(2),
          prdha(18),
          MTPOS_MARA(4),
        end of t_data.
    start-of-selection.
    perform open_dataset using dataset.
    perform open_group.
    do.
    *read dataset dataset into record.
    read dataset dataset into lw_record.
    if sy-subrc eq 0.
    clear t_data.
    split lw_record
       at ','
    into t_data-matnr
          t_data-mbrsh
          t_data-mtart
          t_data-maktx
          t_data-meins
          t_data-matkl
          t_data-bismt
          t_data-extwg
          t_data-spart
          t_data-prdha
          t_data-MTPOS_MARA.
    append t_data.
    else.
    exit.
    endif.
    enddo.
    loop at t_data.
    *if sy-subrc <> 0. exit. endif.
    perform bdc_dynpro      using 'SAPLMGMM' '0060'.
    perform bdc_field       using 'BDC_CURSOR'
                                 'RMMG1-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                 '=AUSW'.
    perform bdc_field       using 'RMMG1-MATNR'
                                 t_data-MATNR.
    perform bdc_field       using 'RMMG1-MBRSH'
                                 t_data-MBRSH.
    perform bdc_field       using 'RMMG1-MTART'
                                 t_data-MTART.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                 'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                 '=ENTR'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'
                                 'X'.
    perform bdc_dynpro      using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                 '/00'.
    perform bdc_field       using 'MAKT-MAKTX'
                                 t_data-MAKTX.
    perform bdc_field       using 'BDC_CURSOR'
                                 'MARA-PRDHA'.
    perform bdc_field       using 'MARA-MEINS'
                                 t_data-MEINS.
    perform bdc_field       using 'MARA-MATKL'
                                 t_data-MATKL.
    perform bdc_field       using 'MARA-BISMT'
                                 t_data-BISMT.
    perform bdc_field       using 'MARA-EXTWG'
                                 t_data-EXTWG.
    perform bdc_field       using 'MARA-SPART'
                                 t_data-SPART.
    perform bdc_field       using 'MARA-PRDHA'
                                 t_data-PRDHA.
    perform bdc_field       using 'MARA-MTPOS_MARA'
                                 t_data-MTPOS_MARA.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                 '=YES'.
    perform bdc_transaction using 'MM01'.
    endloop.
    *enddo.
    perform close_group.
    perform close_dataset using dataset.

  • Job schedule: How to process huge ammount of IDocs ?

    HI,
    we´got a huge ammount (1000-5000 IDocs) of one IDoctype.
    I need a Job with a maximum of 40 IDocs in each job.
    The job looks like:
    1. Step RBDAPP01 with 40 IDocs
    2. Step own report
    Is there any way not to create a new variant for each "40 IDoc group" ?
    I have to create for each IDoc Group(40 pce) a new variant and this is very time spending.
    Is there a better way ?
    Thanks.
    Gordon

    Gordon
    Have you tried using parallel processing ?
    We have processed more than 50,000 IDOC per night, and we use parallell processing. Also we copied program RBDAPP01 and make some specific-company changes.
    Also we change the work process (SM51) of SAP. We opened more bacth queues at night to process faster. We decide to have dynamic work process, open and close automatically according our needs.
    You shold carefull to avoid self-blocking data of transaction involved. I think you should try parallell processing or increase the amount beyond 40.
    Regards..
    Luis

  • Parallel Processing (RSEINB00)

    Hi,
    I am trying to achieve parrallel processing for the below scenario:
    I am trying to create a child job for processing each file. 
    Suppose if i have 5 files, in this case i will have one Main Job & 5 child Jobs. Apprecaite if anyone has come across such scenario.
    Each file can have two types of data. One set of data for trasferring to application server & another set for posting idocs.
    LOOP AT t_files_to_proc INTO wl_files_to_proc.
    *-- This perform builds two sets of data  [  Data Set-1 for transferring file onto App Server
    *--                                                                 Data Set-2 for posting idocs using RSEINB00     ]
       PERFORM build_table_data.
    *-- Data Set-1 for transferring file onto App Server
    PERFORM transfer_data_to_appserver.   
    *-- Data Set-2 for posting idocs using RSEINB00    
    PERFORM submit_rseinb00.
    ENDLOOP.

    Hi rao,
    here is a sample, adapt to your needs:
    [Easily implement parallel processing in online and batch processing |https://wiki.sdn.sap.com/wiki/display/Snippets/Easilyimplementparallelprocessinginonlineandbatchprocessing]
    Regards,
    Clemens

  • 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 prg - avoid duplication.

    Basically my program submits the file path into another program and file get executed there.  The program basically creates the Sales order for the corresponding PO in the file. 
    Parallel processing :
    I opened my program in two parallel sessions .
    I used the same file path/test file which creates sales order for the corresponding PO number in the file.
    And ran two parallel sessions for the same program with this same file path/test file yet a time.  And two sales orders were created for the same PO number.
      But we donu2019t need this. We should make sure that duplicate sales orders for one corresponding should not get created.  For that reason, we are checking  in the middle of the program vbak entry and if there is no entry in vbak table then we are collecting SO data using bapi to create SO and at the end we are writing commit which creates SO. But this is not fulfilling the purpose of duplicate SO creation.
    Because incase of parallel processing the program in each sessions checking the vbak entry where there is no entry u2026then creating sales order info and finally both sessions are u201Ccommitu201D executed and so that two Sales orders are getting creatred.
    In this case, can I put file lock
    Is there any way by which we can set up a lock at the file so that it cannot be used by another session if it is already in use by one session?
    Thanks in ADVANCE.

    To lock
    - the program (one job processed at a time) - use FM [ENQUEUE_ESRDIRE|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=enqueue_esrdire&adv=false&sortby=cm_rnd_rankvalue],
    - the purchase order (one job per purchase order at a time) - use FM [ENQUEUE_EMEKKOE|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=enqueue_emekkoe&adv=false&sortby=cm_rnd_rankvalue]
    For lock concept look at [The SAP Lock Concept (BC-CST-EQ)|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCSTEQ/BCCSTEQ_PT.pdf] or [Function Modules for Lock Requests|http://help.sap.com/saphelp_nwpi71/helpdata/en/cf/21eebf446011d189700000e8322d00/frameset.htm], both locks will be released by COMMIT/ROLLBACK WORK or explicit call of DEQUEUE FM,
    Regards

  • Parallel processing for program RBDAPP01

    Hi All,
    I am running this program RBDAPP01 daily after every 30minutes to clear the error I Docs (Status 51 Application document not posted) Status Message u201CObject requested is currently locked by user ADMINJOBSu201D when I run this job it only clears few Idocs because of the Status Message u201CObject requested is currently locked by user ADMINJOBSu201D Means when one Idoc is getting updated the second one tries to update the same time for same order, same customer, same material and same plant but different ship to party it finds locked and cannot be posted.
    Can any one tell me what parallel processing is and will it help my case.
    Thanks

    You didn't specfiy which release you use so I can just give some suggestions:
    Note 547253 - ALE: Wait for end of parallel processing with RBDAPP01
    Note 715851 - IDoc: RBDAPP01 with parallel processing
    Markus

  • Parallel processing of condition records in SAP

    Hi,
    I have a particular scenario, wherein XI sends 30000 idocs for pricing condition records of message type COND_A to SAP, and SAP has to process all the idocs within 15 minutes. Is it possible, and what kind of parallel processing techniques can be used to achieve this?
    Regards,
    Vijay
    Edited by: Vijay Iyengar on Feb 21, 2008 2:05 PM

    Hi
    We had a similar performance issue to load conditions of sales deal.
    We did not use IDOC.
    Initially we did the BDC and it was loading 19 records per second and than later we developed a direct input program, which loaded close to 900 records per second.
    What we did was, we wrote a direct input pogram and called the function module
    CALL FUNCTION 'RV_KONDITION_SICHERN_V13A' IN UPDATE TASK
    But Pls note - We took approval from SAP before using it.
    Regards
    Madhan
    Edited by: Madhan Doraikannan on Oct 20, 2008 11:40 AM

  • 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

Maybe you are looking for

  • NooB needs help sorting  php,sql, etc.please

    Hi all, This is my first post but I'd like to thank everyone for all the lurking help I've gotten. You guys are great. I've hit a wall. I use dw8, windows xp and have a server through crystal tech. I would like to build a shopping cart for e-commerce

  • Issues Acrobat Pro 9 and Word XP(2002)

    We installed Acrobat Pro version 9 a couple of weeks ago, and began experiencing problems with a couple of our VB.NET apps that invoke Word 2002. Basically, it appears that the presence of Acrobat Pro 9 causes Word 2002 to stop interacting with some

  • Can I interchange service/process calling between two or more composites?

    Hello everyone: I'm working with Oracle SOA Suite 11.1.1.5, specifically Oracle BPM. I'm trying to conform a BPM Application as modular as possible. So I plan to have several projects into my application, each one dedicated to a business section. The

  • Problem uploading enhanced and crop photos

    When I upload enhanced and crop photos from my iPad2 to Dropbox the original photo gets uploaded. I am using the native iPad photo app on my iPad2 to enhance and crop  I see that there are others with similar problems but no real solution. Don't know

  • Chinese language on Hard reset menu of S820

    Recently i tried to Hard reset (Pwr button + Vlum UP button) my s820 phone but the reset menu showed in Chinese language!!!! How can i change it to English ????