Failed to process DELVRY03 IDoc  with 36,000 Segment

Hi All,
We have interface IDoc to JMS. ECC is sending DELVRY03 IDoc to XI to JMS.
One of the IDoc couldnt reach to XI & produced memory error dump with exception "Heap limit exceeded on work process"  We have already set maximum heap size for abap/dialog heap.
This problem occurs only when IDoc has more than 25,000 Segments.
Is there any other way to compress the data on IDoc side ....?
Any solution for this kind of situation
Thanks

Hi Rakesh,
While importing the idoc into IR, make sure you reduce the idoc size.
This could be done in the following manner
Go to Imported Objects --> IDOC -->Ur Idoc --> Tools -> Export Reduced XSD.
Use this reduced xsd in message mappings, other wise the mapping tool will fail with a memory dump failure error.
Also check out ztta/max_memreq_MB parameter
U may also do the background processing
IDoc Sending Problem
U could find some suggestions here
iDoc performance question
Regards,
Prateek

Similar Messages

  • Inbound Processing of Idocs with status other than success

    Hi,
           I am new to ALE/Idocs. Can anyone  please let me know how can I process the Idocs which have the status other than 53.
    Thanks &  Regards,
    Indira

    Hi,
    In addition to the previous posts few more programs to process failed inbound IDocs are as mentioned below.
    - Use program RBDAGAIE to process edited IDocs (IDocs with status 69)
    - Use program RBDAPP01 to process IDocs failing with serialization issue (IDocs with status 66)
    - Use program RBDAGAI2 to process IDocs after ALE inbound error (IDocs with status 56, 61, 63, 65)
    ~ Bineah

  • SQL Loader fails to process string columns with more than 255 characters

    Hi all,
    I am using LKM file to sqlldr(oracle) to load data from flat file to oracle. I am aware of the fact that if you don't specify length of the input character data, sqlldr uses default of 255 characters. But, in my source datastore I have specified the column length to be 1000, but sqlldr still fails to process records with more that 255 characters.
    Any idea how to change this behavior of sqlldr?
    Appreciate your response.
    Akshata

    You can change the step "Generate CTL File"
    and replace the section:
              } else {
              // The source column is a STRING => no options to add
                   format = "";
              };with
              } else {
              // The source column is a STRING => add char(length) for length greater than 255
                   taille = new Integer(colPrecision).intValue();
                   if (taille > 254)
                   format = "CHAR("+colPrecision+")";
                   else
                   format ="";
              };

  • Splitter program for processing the IDOCS with status 64.

    Hello folks,
    I have a requirement explained below. I am looking for a sample code which could help me to jump start with initial development.
    Requirement:
    Develop a splitter program which retrieves all the IDCOS with status 64, create and schedule batch jobs with 200 IDOCS each. The splitter program with be scheduled every 15 min.
    Restrictions
    Only 150 batch jobs can be created at a time.
    Estimation
    There may be around 36000 IDOCS with status 64 every hour.

    Srinivas,
    Here is the explaination why we require a splitter program.
    Using RBDAPP01 parellel processing
    Let us assume there are 4 servers A, B, C and D in a server group. If we select RBDAPP01 parellel processing there will be too many RFC calls to the servergroup.
    (there are some more RFC calls later on for Order creation for example). As there is a restriction with number of RFC calls, we need to clear other RFC's before making new one. This is making complex and messy.
    Using RDBAPP01 serial processing
    For the volume of orders getting created each day, it takes a week to process those Idoca created in one day. Hence it is not a good solution.
    Splitter program
    We spawn 150 batch jobs with 200 records each. This way if we think it takes 20 min for each job to complete...by the end of 20th min we must had processed 30000 idocs.
    Hence it is the solution offered.
    Srinivas...still this confuses me..but if I am wrong anywhere please correct me.
    But your initial response has helped me a lot. Everything was blank to me, ur reply made it clear over the requirement.
    Thanks a lot,
    Naren

  • Goods Receipt failed While Processing through IDOC

    Hi,
    We rae processing the GR through IDOC from PCS System.
    Goods Receipt for some Material failed in IDOC.Because of following error
    Error : Enter the shelf life expiration date
    We have checked the SLD for Material in MSC3N and it is maintained for that material.
    can yoy tell me the reason behind that ?

    Hello
    Please check the IDOC in WE19, weather the SLED filed is populating the date or not and also in exact format .
    Thanks and Regards
    Pavan

  • Issue In processing an IDoc with Huge Segments

    Hi All,
    When we are trying to process an Huge IDoc which has large number of segments. The IDoc process starts and stops in the middle and remains in 64 status ( there are no short dumps etc).
    Currently the IDoc is configured to be Trigger Immediatly. However when we schedule the same IDoc in a background the IDoc is processed successfully.
    So wanted to check what might be the reasons for Idoc to stop the process in between.
    Regards,
    Swaroop

    Possible reasons :
    - Huge memory consumption
    - Large processing time for Idoc segments .
    Idoc parsing and processing happens inside a LOOP statement around EDIDD table , now if you have larger no of segments this will lead to larger execution time .
    There may be other performance reasons e.g. Read Table without Binary Search ; check the IDOC processing function module code .
    Also check the SAP notes for the IDOC processing function module code ; just mentioning a similar SAP note 381942 .

  • How to process inbound idoc in R/3 with status 75 - idoc received via qRFC?

    Hi gurus,
    we are using EOIO for source to R/3, and all the idocs a received in r/3 with this status. But they can't be processed from BD87. How to process these?
    Thanks,
    Olian
    Edited by: Olian Saludew on Sep 11, 2008 11:44 AM

    Hi,
    Idocs Works on tRFC Queues.
    Check this Report to Process Inbound Idocs with Specified Status.
    RBDAPP01
    Regards
    Seshagiri

  • Processing inbound Idoc ORDERS03  with status 51

    Dear ALL
    While processing inbound idoc with message type ORDERS03 i am getting a status 51 with below erros
    I have maintained the data under VOE2 & VOE4 but not got the solution. We are on  SAP ECC6 Version
    Customer 1100 is customers purchase organization
    Partner no 1109 is customers plant
    VKORG, VTWEG, SPART cannot be determined for customer 0000001100 , vendor REN15D
    Message no. VG204
    Terms of payment in IDoc E1EDK18 have been transferred: Check data
    Message no. VG202
    Partner number 1109 for customer 0000001100 , partner function WE does not exist.
    Message no. VG140
    Regards
    Arun

    Hi,
    Vendor 100002 is not maintained in your system. Maintain the same or use some other vendor which is there in your system.
    You should be able to post the document.
    Regards,
    Lalit Kabra

  • How to generate PAYEXT (PEXR2002) IDOC with many invoices for same vendor

    Hello,
    We are implementing the IDOC payment processing through transaction F110.  The first test we ran using multiple items for the same vendor created an IDOC with multiple E1IDPU1 segments for each invoice.  We then configured a second bank and ran the test again.  This time the multiple invoices for the same vendor generated a seperate IDOC.
    Does anyone know where I should start looking to figure out what I did wrong?  We are hoping to generate 1 IDOC for all invoices for the same vendor.
    Thanks,
    Brian

    Hello,
    May I know how or what are the steps you did to create multiple invoices and generate multiple idocs for the same vendor? I have a requirement to generate multiple payext idoc for a single vendor.
    Please advise. Thank you very much!

  • How to isolate error with a record/segment in IDOC with multiple records

    I have an IDOC with multiple records/segments (typically 1000 records/segments). Sometime XI can not process the IDOC because of some control characters in data.
    1. How can I pre-processed the IDOC to remove those control characters?
    Can I use XPATH expression/Java class to do it? How can I configure the XPATH expression/Java class in XI to pre-process the file?
    2. Until I have answer to 1st question. I would like to find out the error is exactly for which record? What configuration can I do in XI to isolate the error is with which record/segment in IDOC?
    Thanks in advance.

    Split the IDoc.
    with in the UDF, after the validations if every thing fine, pass as successful records to success_MT and pass it to target system using Branching in BPM.
    if errors found in the record, then store the error records in Hash table with in UDF, get the IDoc number, frame as a string and raise alert.
    U have to do this in the context of IDoc.
    If U wanna get the IDoc Number, Segment Name and field name for every failure, U can pass the expected error field name as constant to UDF, frame the sentence in the UDF like -> <b>IDoc 1234321 segment – SEG001 – field – FLD03 has a special character ‘*’</b>.
    If U wanna pass this string to source/target, U can do in error messages branch in BPM.
    U must use BPM for splitting the IDoc, since it is multi-mapping.
    reg.,
    Yallabandi.

  • Reprocess Idocs with status 3

    Hi ,
    I want to reprocess successful IDOCs with status 3 again,how can I do that?
    I think logically we can change the status other than 3 and use BD 87 to reprocess them?is this correct way?Idoc numbers would change or they would create new IDOCs?
    thank you,
    Babu

    Hi,
    You can use transaction BD87 to monitor the IDoc statuses.
    and use the following programs to reprocess outbound and inbound error IDoc(s).
    RBDAGAI2 - Re-processing of IDocs after ALE Input Error
    RBDAGAIE - Reprocessing of Edited IDocs
    RBDAGAIN - Process Outbound IDocs with Errors Again
    RBDAGAIP - New Posting of Partially Posted IDocs
    RBDMANI2 - Manual Processing of IDocs: Post IDocs Not Yet Posted
    RBDINPUT
    <b>Reward points</b>
    Regards

  • Error while processing inbound Idoc (HRMDA_07) with FM IDOC_INPUT_HRMD

    Hello,
    I have a inbound Idoc of type HRMD_A (basistype  HRMD_A07) which is processed by Function module (FM)  IDOC_INPUT_HRMD with  proofing. After processing an Idoc the status Monitor for ALE messages (BD87) tell me that my Idoc has status 53, which should be the result i would like to have.
    Unfortunately when i go to transaction PA20 and check the infotypes, i see that infotype 0302 isn't created. When analyzing this problem i see that during the processing the Infotypes are posted with HR_MAINTAIN_MASTERDATA (dialog mode is 0 and luw_mode = 0 from include LRHA2F02 FORM save_pa_pb_infty)  When this is done for infotype 0302 sy-subrc <> 0 the message is A complex application error has occured. This error message is placed in Export parameters
    Return and Return1
    of HR_MAINTAIN_MASTERDATA. When the program returns to the calling Form it checks if there is message of type E in HR_RETURN (see below) :
    CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
              EXPORTING
                pernr                          = ins_objects-objid       "#EC DOM_EQUAL
                actio                           = 'INS'
                tclas                           = tclas
                dialog_mode               = dial_mode
                luw_mode                  = '0'
                no_existence_check = $cross
                no_enqueue              = $cross
              IMPORTING
                return1                       = return
                hr_return                    = hr_return
              TABLES
                proposed_values    = proposed_values.
            REFRESH proposed_values.
         IF hr_return-msgty = 'E'.                           "note 984409
          CLEAR protocol_error.
          protocol_error-msgty  = hr_return-msgty.
          protocol_error-msgid  = hr_return-msgid.
          protocol_error-msgno  = hr_return-msgno.
          protocol_error-msgv1  = hr_return-msgv1.
          protocol_error-msgv2  = hr_return-msgv2.
          protocol_error-msgv3  = hr_return-msgv3.
          protocol_error-msgv4  = hr_return-msgv4.
          READ TABLE t_hrobjinfty WITH KEY objid = hr_return-pernr
                                           infty = hr_return-infty
                                           subty = hr_return-subty.
          protocol_error-segnum = t_hrobjinfty-segnum.
          protocol_error-routid = 'create_prf_pa_pb_object'
    As mentioned above, the error message is only placed in the parameters Return and Return1  and not in HR_RETURN.please read the first reply

    Hi,
    I think you have preety much done from your end itself .
    Could you please tell me what you got in this parameters:
         protocol_error-msgty  = hr_return-msgty.
          protocol_error-msgid  = hr_return-msgid.
          protocol_error-msgno  = hr_return-msgno.
          protocol_error-msgv1  = hr_return-msgv1.
          protocol_error-msgv2  = hr_return-msgv2.
          protocol_error-msgv3  = hr_return-msgv3.
          protocol_error-msgv4  = hr_return-msgv4.
    It may help us to track down the issue in more better way .
    Thanks!

  • Inbound Delivery via Idoc with more than 1 line fails

    Hi @ all,
    i try to replicate inbound deliveries from an external system to SAP EWM using Idocs (SHP_IBDLV_SAVE_REPLICA02 with MessageType SHP_IBDLV_SAVE_REPLICA).
    If there's only one position in inbound delivery it works, but if i try with two or more lines processing ends up with idoc-status 51 (WE02) and message 'Error inserting partner and location data at item level'  (SLG1).
    Any ideas to solve this problem?
    kind regards

    Hello Markus,
    "i try to replicate inbound deliveries from an external system to SAP EWM using Idocs".
    you are trying to send the information from non sap system?. Can you elaborate the scenario.
    Is the case you are sending ASN information directly to eWM system.
    Seems the process is more interesting. Can you please share details.
    regards
    Sastry

  • HRMD_A Inbound Idoc with process Code:HRMD not updated in SAP

    Dear friends,
    I'm facing a problem with Personnel data creation in SAP (this is not a SAP HR system).
    I have a data file with Personnel data, in WE19, I use idoc_input_hrmd to process the data (with basic type: hrmd_a06). Idoc has been created with status '53'. However, when I check in SAP, t-code PA30 with the Personnel number, the record does not exist. Checked infotype tables PA0000, PA0001, PA0002 and PA0003 as well, no luck.
    I wonder where does the data go? Is it sitting somewhere in the system and waiting to be processed?
    Please help!!!!!

    Hi
    Authorizations might be one of the reason.
    So IDOC transfered but no records to be writeen to DB.
    regards
    vijay

  • CUA - SUIM in client system with background processing of IDOCS

    Hi
    We have setup CUA in our Solution Manager system 4.0 sr2 SP11 and activated background processing of idocs.  When we run SUIM in the child system the user creation/change information is now showing the name of the background user rather than the actual name of the creator/modifier.  
    Has anyone else seen this before and is it standard functionality or a bug?
    Thanks in advance
    Justin

    Hi Djamel
    When you set up CUA you do the inital import of the roles with SCUG, ensure you have the company details correct in each system.  Also in each system schedule the background job SUSR_ZBV_GET_RECEIVER_PROFILES, this will get the details of any new roles/profiles setup in the child systems.
    Regards
    Justin

Maybe you are looking for