Multiple control records in inbound idoc FM

HI, 
     I have one basic doubt.
when we write
LOOP AT idoc_contrl
LOOP AT idoc_data where docnum = idoc_contrl-docnum.
endloop.
endloop.
does it mean there can be multiple idocs being processed with single inbound fm call.
where do we controll whether inbound fm is called for every new idoc or there will be collective processing.
Regards,

Mass Processing of IDOC's is possible but not in all the cases. Refer to the given below Link:
http://help.sap.com/saphelp_nw04s/helpdata/en/0b/2a670f507d11d18ee90000e8366fc2/content.htm
http://help.sap.com/saphelp_me52/helpdata/EN/5f/45f93b4139b478e10000000a11402f/content.htm
As far as Coding block you mentioned, I believe the same would be fired for each & every IDOC.

Similar Messages

  • "Receiver port not valid in control record"...idoc error

    Hi,
    The new materials are sent to SAP via a text file which is placed in the application server which EDI uses to populate the Idoc segments and creates the material master.
    Recently we upgraded from SAP 4.6 C to ERP 5.0.
    After upgrading we are getting a message as Port(HPLED) invalid in control record.
    I get an error message as  "receiver port HPLED  not valid in control record"...
    It is not able to find  the receiver port & hence cannot create the MM.
    We checked all the config and compared with Test and production and we could not find any noticable change.
    Did anyone come across any infor on this?
    Your valubale reply is really very important for me.
    Pls reply.
    Regards,
    Pri

    Hey Ramesh,
    I've already done the WE57 setting.
    You see the WE57 setting is always done on the reciever side and not on the sender side (There is no harm but it is not what SAP recomends) The Linking on the sender side is done in the Partner Profile, where we give the extension name.
    For the reciever this Partner profile setting of extension is not there therefore we need to go to WE57 and do it.
    I've done all the config and have tried all the things in both the systems but somehow nothing is working.
    That is why I asked that in my Inbound FM which is IDOC_INPUT_HRMD do I need to popluate one of it Parameters or fields where I mention the Extension name and all.
    Yesterday however I found an SAP NOTE (105148) which tells me that my naming convention of the Extension is wrong. I have made ZHRMD_A07 extending standard IDOC tupe HRMD_A07, actually it should be ZRMD_A07. Again this is speculative I need to try this out. But I do know that SAP has various checks which checks all the naming convention and all. I'll try this out and hopefully it might work.
    In the meantime any other suggestions are most invited. I am using Message type HRMD_A and using IDOC type HRM_A07
    Regards
    Abhishek Sahi

  • Essential Transfer Parameters Missing in record during Inbound IDOC process

    Dear Gurus
    We are creating a Inbound delivery in one system, we have made all the custom settings for IDOC processing for inbound and outbound idoc in both the systems. Upon the execution of inbound delivery, the system 
    During the Inound delivery processing, the outbound IDOC is successfully distributed. However in the receving system, the IDOC is not posted and it throws the below erroe\r
    Essential transfer parameters are missing in record: 0180000055 000010 / Mess number 561 and message type E
    We are using Outbound IDOC mess type DESADV basic type DELVRY01 process code DELV with FM IDOC_OUT PUT_DELVRY
    In the receiving system message type DESADV , process code DELS, and FM IDOC_INPUT_DESADV1
    What is that which is going wrong.
    Please help me out
    Thanks

    Hello
    To create inbound delivery from outbound delivery, use following setting -
    Outbound idoc -
    idoc type - DESADV01
    message type - DESADV
    Process code - SD05
    FM - IDOC_OUTPUT_DESADV01
    Inbound iDOC -
    Message Type - DESADV
    Process Code - DESA
    FM - IDOC_INPUT_DESADV
    Idoc Type - DESADV01

  • Passing Control Record Data in IDOC to R/3 3.1i system

    Hi,
    We have PI 7.0.9 installed in-house and are currently attemptng to point to an R/3 3.1i system (we are in the process of upgrading to ECC5).
    When I enable the check-box to "Apply Control Record Values from Payload" in the receiver comm. channel for the IDOC adapter, it ignores the directive.
    If I look at the Payload in the XML Message in the call to the IDOC adapter, the fields are all filled - however the IDoc adapter simply builds its own values when sending to the back-end. The only difference to idocs for newer SAP systems is we use EDI_DC rather than EDI_DC40.
    Does anyone have any knowledge of this problem and a solution?
    Thanks
    Brian

    Hi Brian,
    About "Apply Control Record Values from Payload"
    If you set the indicator, the conversion of communication parties to the IDoc partner is only possible for systems that are not logical systems.
    If you do not set the indicator, all combinations of communication parties and services are handled as services without party.
    If the IDoc XML structure contains a control record during outbound processing on the Integration Server, it is rejected and created again by the IDoc adapter. If you want to include additional values in the control record, set the indicator and provide an appropriate mapping for the values
    If in the receiver Communication Channel, you do NOT choose option "Apply Record control value from Payload", then EDI_DC40 will contain the values mapped during Mapping in Message Monitoring and SXMB_MONI - Response Payload, but when the IDOC is sent out , control record is filled with the value from the SLD
    If you are looking for, where to find the place where the logical system name for the XI system is defined, it can seen in 2 places....IN transaction SALE on XI, under "Basic Settings --> Logical Systems --> Assign Logical System to Client"...double click on the client no you want to check for...
    Also it can be seen in the SLD in the corresponding business system details.
    Do you want this value as the SNDPRN in the control record ? then you need not do anyhting
    Also take a look at these links,
    http://help.sap.com/saphelp_nw04/helpdata/en/13/95244269625633e10000000a155106/content.htm
    /people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified
    Also have a look at this thread...
    Re: SLD - Logical System Management
    I hope it helps....
    Regards,
    Abhy

  • Version of EDI standard in control record of an IDOC

    Hello All,
      I want to know from where the Version of EDI(in details tab of control record) is being picked from.
    Thanks,
    Rakesh.

    Hello Amit,
      I checkd in WE30.I think release version is different from EDI version because for a vendor in the system the release is 46C whereas EDI version is V11.
    Thanks,
    Rakesh.

  • Control record mapping in IDOC

    Hi All,
    I am doing File to IDOC scenario. In this I am using MBGMCR03. In EDI_DC40 segment I have mapped constants to the sender n receiver port, partner frofile etc. And in IDOC receiver adaptor i have selected take sender from payload. It is working fine.
    However when i will transport my scenario to quality , How am i going to change all these constants with the new names?
    is there any better way of doing it? Like my sender details will be automatically determined by PI system.
    Thanks,
    Atul

    Hi Atul,
    1.if i use full export for transporting SLD from DEV to QA,can i use the same tecnical systems and business systems in QA?
    Can T.S and B.S also get transported from DEV to QA?
    You can use same technical systems and Business systems.
    1. Go to Dev SLD and Export all your SWCV, Products, Technical and Business Systems. This is nothing but saving of the SLD objects as a CIM file on your local machine. You would also need to export the Technical And Business System poitning to your XI integration server .
    2. Go to the QA SLD and then import these objects exported in Step 1 in QA SLD
    3. Now, create the QA Tech and Business Systems in the QA SLD
    4. Go to the Dev Business systems imported on the QS SLD and you will have an option Transport Targets. In this map the Source Business System to the Target Business Systems.
    Make sure that all Dev Business Systems have the correspodning Transport Targets for the QA Business SYstems
    5. Now if you import the ID objects in QA , the business systems name will be renamed automatically.
    2.In such case how to define business systems groups and transport targets?
    You need to create Transport Groups on your QA SLD. One for Dev and One for QA. You can create Transport Groups only for Integration Server Business Systems.
    And this is why you would need to export the Dev XI technical System and Business System from the SLD of Dev and Import it into the QA SLD.
    2. Create the transport groups and then assign all Dev Business Systems to Dev Group, all QA Business Systems to QA group and then create the transport targets.
    You use the Option related Integration server in the Business Systems to assign a Business System to a Group.
    Refer
    Problem regarding xi transport
    How to handle SLD for Tranporting Dev to Quality ser
    https://service.sap.com/~sapdownload/011000358700001684302005E/HowToSLDandXI.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0fa2c490-0201-0010-61b4-df12869c4753
    Overview of Transition from Dev to QA in XI
    /people/sravya.talanki2/blog/2005/11/02/overview-of-transition-from-dev-to-qa-in-xi
    /people/sap.india5/blog/2005/11/09/xi-software-logistics-ii-overview
    Thanks,
    Satya Kumar
    Reward if it is useful..

  • Passing Idoc Control Record information  to JMS header

    Hi All,
    We have a requirement where we need to pass the 'MESCOD' and 'MESFCT" in the EDIDC_40 - Control record for the idoc to the Header of a JMS message.
    Basically we are trying to pass IDOC Control segment to the JMS header.
    I was looking at the options we have in the JMS adapter, and i am not sure how can this be achieved.
    Would appreciate any info on how this can be done.
    Thanks,
    Karthik

    Hi Karthik,
    As suggested by Ravi, you can hardcode this values in XI mapping before pushing data to JMS.
    Otherway round would be...check for User Exit where you can populate EDIDC_40 with MESCOD and MESFCT.
    Nilesh

  • Changing IDOC control record by XSL Mapping

    Hi,
    I am using scenario: legacy -> XI -> R/3.
    In the first step I am mapping XML -> IDOC. I have to map the field "SERIAL" in idoc control record in EDI_DC40 (idoc control record structure) with a constant. When I view the message in XI monitor. I cannot see the change and that field is not visible as before.
    Any suggestions would be highly appreciated !
    Regards,
    Faiq

    Hi,
    If you have set the Apply Control Record Values from Payload indicator in the receiver IDoc adapter, the following fields are filled from the IDoc-XML payload:
    MESCOD
       MESCFT
       TEST
       EXPRSS
       STD
       STDVRS
       STDMES
       SNDSAD
       SNDLAD
       RCVSAD
       RCVLAD
       REFINT
       REFGRP
       REFMES
       STATUS
       DIRECT
       OUTMOD
       CREDAT
       CRETIM
    You can change the contents of only above  fields by using a mapping and getting it replected in the SAP System.
    Regards,
    Bhavesh

  • BADI to Change control record from idoc

    I’m trying to use the BADI IDOC_CREATION_CHECK to change the control record from the idoc but im not able to do it because the parameter IDOC_CONTROL is an importing parameter not a changing parameter, I’ve tried to use the BADI IDOC_DATA_MAPPER but I this case I’m just able to change the data record, should I use another BADI?
    Regards
    Luis Constantino.

    hi.
    have you tried ABI_IDOC_PROC_MODIF?
    i did not read much thru the documentation...
    i hope this helps.

  • Passing control records to Idoc

    Hi,
    how can we pass control record data to Idoc?can we do that in mapping(GUI) in XI ,lets say if I am doing <b>file to Idoc</b> scenario.I know we can disable the control record field and use apply from payload.my concern is if we don't use apply from payload.
    I have read in SDN XI takes from sender or reciever business systems as they are  related to Logical systems(ref link:XI IDoc  control record data source?) ,does it mean that we don't map these cotrol record fileds in the mapping(GUI)?
    and also please tell me how XI can pass data from flat file to a particular IDOC?
    thank you.

    hi,
    have a look at blog to see what is being filled and how:
    /people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified
    you can also check my book in which I describe IDOC scenario configurations 
    <a href="/people/michal.krawczyk2/blog/2006/10/11/xi-new-book-mastering-idoc-business-scenarios-with-sap-xi"><b>Mastering IDoc Business Scenarios with SAP XI</b></a>
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • BADI/Exit: Changing IDoc Control Record

    HI,
    do you know a way to modify the IDoc Control Record for MASTERDATA IDocs like CREMAS/DEBMAS/ etc ?
    there are a lot of IDOC Badis and Exit´s but without changing the EDIDC.
    any ideas ?
    Regards,
    Gordon

    Hi Gordon,
    Did you find an answer to your question? I have the same issue and am looking for a BADI or user-exit that will allow me to change the IDOC control record.
    Thanks,
    Uma

  • Inbound Idoc customer number conversion

    I am new to EDI and have a question to ask you both about inbound IDOC's. We have customers sending remittance advices through EDI. The customer numbers in them are their own customer numbers. In SAP, we maintain different customer numbers. Where do the mapping of the customer numbers take place -- In the EDI subsytem itself or in SAP? If in SAP, can you let me know the procedure to do this.
    Any help will be appreciated and points awarded.
    Thanks,
    Nile.

    Hey Fren,
    1. Data Mapping
    Within the framework of SAP EDI, the conversion of a business document in IDoc format to an EDI standard format (and vice versa) is the most important task performed by a subsystem. This process is resource intensive and, hence, is better done at the subsystem level than within SAP. The following conversions and translations are carried out by the subsystem.
    Creating a control record for each inbound IDoc.
    An inbound IDoc must have a control record. The EDI subsystem builds the control record using the information stored in its local repository or from the SAP repository.
    Removing the control record during the outbound process.
    The control record in the IDoc file is used by the subsystem for housekeeping functions, such as locating the trading partner profile. The data on the control record is not needed for translating the content of the EDI documents.
    Translating data from IDoc format to EDI format.
    For an outbound transaction, the EDI subsystem converts data in the IDoc format to a suitable EDI format.
    Translating data from EDI format to IDoc format.
    For an inbound transaction, the EDI subsystem converts data in the standard EDI format to IDoc format.
    Bundling and unbundling IDocs.
    If several IDocs are passed to the EDI subsystem in one file, the subsystem separates them into individual documents. Similarly, on the inbound process the subsystem can bundle multiple IDocs into a single file to improve performance.
    2 Maintaining the Partner Profile
    A partner is defined as the business partner with whom you conduct business and exchange EDI documents. These partners are not necessarily the same as the partners in the partner profile of SAP. However, the concept is quite similar. In SAP, the partner profile maintains parameters specific to the IDoc process, and in the subsystem the partner profile maintains parameters specific to the EDI process. Some typical attributes in a partner profile are
    · A unique partner number
    · The partner type (Customer, Vendor)
    · The standard used (EDIFACT, ANSI X12, and so on)
    · The version of the EDI standard
    · The EDI message exchanged (850, 860, ORDERS, ORDCHG)
    · A functional acknowledgment flag
    3 Triggering the Inbound Process
    After receiving an inbound EDI transmission and creating an IDoc file, the subsystem is often responsible for triggering the inbound process. SAP provides a program named startrfc to start any RFC−enabled function module from the operating system level. For the EDI process, the subsystem uses the startrfc program to
    trigger the function module EDI_DATA_INCOMING. Chapter 6, "Configuring Basic EDI Components," provides the complete details and parameters of the startrfc progam.
    4 Reporting Process Status to SAP
    In an outbound process, after an IDoc has been transferred from SAP to the subsystem, SAP loses control over the process. However, SAP maintains visibility into the process by requiring the subsystem to report on the status of the process. SAP provides a file interface for the subsystem to send a status report at every milestone.
    I hope you got some idea from this process.....
    <REMOVED BY MODERATOR>
    Warm Regards,
    Abhi...
    Edited by: Alvaro Tejada Galindo on Apr 25, 2008 4:36 PM

  • Inbound IDOC error :51 Passed with out Message Type to ALE Layer

    Hi,
    I am struct wtih the inbound IDOC scenario ..XI able to send IDOC but at ECC side it is in 51 red status and the error message is
    "IDOC passed without Message type to ALE Layer"
    Do I need to pass these segment values in Message Mapping? I didnt mapped any MESTYP,SNDPOR,SNDPRT and so on.. disabled these fields...
    Could any one light on this issue?
    Thanks
    Rajeev

    >
    rajeev raj wrote:
    > Hi,
    >
    > I am passing values in MM as below:
    >
    > <?xml version="1.0" encoding="UTF-8"?>
    > <ZPORDCR01>
    > <IDOC BEGIN="Constant">
    > <EDI_DC40 SEMENT="Constant">
    > <TABNAM>Constant</TABNAM>
    > <DIRECT>Constant</DIRECT>
    > <IDOCTYP>ZOrders</IDOCTYP>
    > <CIMTYP>Constant</CIMTYP>
    > <MESTYP>Z_Orders</MESTYP>
    > <SNDPOR>B0009</SNDPOR>
    > <SNDPRT>LS</SNDPRT>
    > <SNDPFC>LS</SNDPFC>
    > <SNDPRN>PD_100</SNDPRN>
    > <RCVPOR>DEV</RCVPOR>
    > <RCVPRT>LS</RCVPRT>
    > <RCVPRN>Dev10</RCVPRN>
    > <REFINT>GB</REFINT>
    > <REFGRP>MTI</REFGRP>
    > <REFMES></REFMES>
    > <ARCKEY>20090909</ARCKEY>
    > </EDI_DC40>
    > <E1PORDCR SEGMENT="Constant">
    >
    > I am forwarding these values in MM... IDOC is successfully reaching in ECC but with 51 error in red... Logical system, post and message types are avaliable in Control record of the IDOC which received wiht errors in ECC.
    >
    > Thnaks
    > Rajeev
    Fill the TABNAME as EDI_DC40 and Direct as 2 (represents the inbound direction) and resend the idoc and check
    Rajesh

  • Inbound IDOC Failure with WE19

    Hi  , we are testing a standard IDOC CONF21(inbound) with the test tool WE19.
    We have created a FILE port in WE21
    We have created a partner relationship in WE21 with inbound parameters (process code CON2)
    In WE19 we have populated oly sender and logical message type, plus the segment data. When we try th IDOC in WE19 we have an error in the control record: (partner profile not available)
    IDoc 0000000000001027 Current status: 56
            Control record Direction: Inbound Sender: LS/  /IDOCTEST
            Data records Total number: 000001
                E1CONF2 Segment: 000001  CC2 confirmation structure
            Status records
                56 IDoc with errors added
        Message: EDI: Partner profile inbound not available
    Is there anyone who can help me for this problem ?
    Tanks and Regards,
    Riccardo.

    Yes we have created a partner profile in WE20.
    This is the check log, it seems to be correct...
         Partner profile IDOCTEST /LS
         Header entry (table EDPP1)
         Correct partner status
         Recipient of notifications exists
         Entries for inbound processing (table EDP21)
         Entry IDOCTEST /LS/ /CONF21 /
         Process code (inbound) exists

  • Why does an Inbound IDoc no change and differs from an Outbound IDoc no?

    Hi Experts,
    This seems to be a basic question..! But can someone kindly clarify why an IDoc number gets changed when sent from one R/3 system to another R/3 system and how does this happen???
    i.e., whenever an IDoc was triggered from R/3 system A to R/3 system B through XI/PI, the Inbound IDoc number (in system B) differs from the Outbound IDoc number (in system A)... Why does this happen and how???
    Thanks in advance!
    Br,
    G@nesh

    Hi Ganesh,
    The IDOC numbers are always Unique,
    IDOC can be generated in SAP system as a result of internal testing (WE19), or
    can be posted from a non sap system (say PI).
    So every time a new IDOC comes, it is assigned a new number to avoid confusion and also this plays a
    critical role in the  end to end testing and validation.
    If you look at the control record of the IDOC you can see a element called DOCNUM. this stores to actual IDOC number.
    from PI side you can  use IDX5 and in ECC  We02/05 to notice the idoc numbers.
    Regards,
    Srinivas

Maybe you are looking for