IDOC Control Segment

Hi,
I deliver an ORDRSP (ORDERS02) to a partner and they complain that the field DOCTYP (not IDOCTYP !!!) should not be in the Control Segment.
There are at least 3 structures in SAP :
EDI_DC40 without DOCTYP
EDI_DC with DOCTYP
EDIDC with DOCTYP
Can I do something to avoid my system adding the field DOCTYP in the Control Segment?
(Actually the IDOC go through our Business Connector and as last solution I could delete the field there)
Thanks and Regards

You pls set the indicator - 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
http://help.sap.com/saphelp_nw70/helpdata/EN/96/791c42375d5033e10000000a155106/frameset.htm

Similar Messages

  • 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

  • IDoc Control Record

    We have an issue with one of our scenarios.
    We are sending an IDoc into our SAP system but we get the message
    "EDI: Partner profile not available"
    Now at first this made sense as our logical system in the Partner profiles was FMS but the SLD had the sending systems logical system name as BS_FMS_QA.
    We then changed it to match FMS so in the SLD under business systems the logical system is now FMS.
    The issue is that we still have the problem. When we go to check the control segment of the Idoc in WE05 in the receiver system it has the Partner as BS_FMS_QA. The same value is present in the monitoring of XI for the
    SAP:SNDPRN>BS_FMS_QA</SAP:SNDPRN
    We have changed th value in the SLD restarted the system but still get the same result.
    Could someone let me know where this value could also be kept AND where the IDoc control segment gets its values from because I thought it was the SLD.

    Hi Alex,
    after you changed the ALE data in the SLD for your business system, it might be necessary to reset the SLD cache on the XI IS.
    Check if you have success with following SLD related content of
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0332b2a-eb97-2910-b6ba-dbe52a01be34">How to Handle XPI Caches in SAP NetWeaver 7.0 (2004s)   (PDF 1.8MB)</a>
    Extract from unit 3.3 - Point 13:
    SLD data of the business system is cached in table LCRT_CLNTCACHE. To display the table, use transaction SE16.
    This table is populated with the data from the first request for this information.
    For manual invalidation, use the function module LCR_CLEAR_CACHE in transaction SE37.
    Hope this solves your issue.
    Best regards,
    Silvia

  • File- idoc, port in control segment not being populated

    Hi guys,
    I have a file->idoc scenario. Everything works fine, but the receiver port in control segment of idocs has no value. I'm surprised, because this is provided in the Idoc adapter so I thought it is taken from this parameter.
    Any ideas, what could be wrong?
    Thank you,
    Olian

    You pls set the indicator - 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
    http://help.sap.com/saphelp_nw70/helpdata/EN/96/791c42375d5033e10000000a155106/frameset.htm

  • First record is not an IDoc control record (check file)

    Hi Experts,
    I try to build an interface between a non SAP system and a SAP system via IDOC.
    I created an .xml test file that I would like to upload now in system with program RSEINB00, but i have error
    First record is not an IDoc control record (please check file).
    What do I need to do? This is example file I uploaded
    ?xml version="1.0" encoding="UTF-8"?>
    <EXCHANGE_RATE01>
         <IDOC BEGIN="1">
              <EDI_DC40 SEGMENT="1">
                   <TABNAM>EDI_DC40</TABNAM>
                   <IDOCTYP>EXCHANGE_RATE01</IDOCTYP>
                   <MESTYP>EXCHANGE_RATE</MESTYP>
                   <MESCOD>010</MESCOD>
                   <SNDPOR>XML_2_IDOC</SNDPOR>
                   <SNDPRT>LS</SNDPRT>
                   <SNDPRN>INCENTAGE</SNDPRN>
                   <RCVPOR>SAPQH3</RCVPOR>
                   <RCVPRT>LS</RCVPRT>
                   <RCVPRN>QH3CLNT100</RCVPRN>
                   <CREDAT>20110526</CREDAT>
                   <CRETIM>204404</CRETIM>
              </EDI_DC40>
              <E1ECXHANGE_RATE SEGMENT="1">
                   <LOG_SYSTEM>QH3CLNT100</LOG_SYSTEM>
                   <UPD_ALLOW>X</UPD_ALLOW>
                   <DEV_ALLOW>000</DEV_ALLOW>
                   <E1BP1093_0 SEGMENT="1">
                        <RATE_TYPE>RUFX</RATE_TYPE>
                        <FROM_CURR>USD</FROM_CURR>
                        <TO_CURRNCY>RUB</TO_CURRNCY>
                        <VALID_FROM>20120105</VALID_FROM>
                        <EXCH_RATE>5000</EXCH_RATE>
                        <FROM_FACTOR>100</FROM_FACTOR>
                        <TO_FACTOR>1</TO_FACTOR>
                        <EXCH_RATE_V>0.00000</EXCH_RATE_V>
                        <FROM_FACTOR_V>0</FROM_FACTOR_V>
                        <TO_FACTOR_V>0</TO_FACTOR_V>
                   </E1BP1093_0>
                   </E1ECXHANGE_RATE>
         </ IDOC>
    </EXCHANGE_RATE01>
    kr,
    Stef

    Hi Udo,
    I thought I posted it in another forum, still not solved.....
    kr,
    Stef

  • Some question on IDOC (Control Record/Data Record/Status Record)

    Dear all,
    I am new in this area, and would like to enquire some question on this topic.
    When I view a IDOC via WE02, each of the IDOC record will consist of Control Record/Data Record/Status Record).
    Questions:
    I notice that the data records consists of many segment (i.e. E1EDK01, etc) which are use to store application data.
    1 - My question is do I have to manually create all these segment and do a mapping to my application field one by one (i.e. that is when I want to create a brand new message type from scratch)?
    2 - If question no. 1 is Yes, how to do it, what are the transaction code to create it? can you show me the step by step.
    3 - I don't have to create the Control record and the status record for my new message type right ? because those field value will automatically pull out from partner profile and system status message, am I correct?
    Thanks.
    Tuff

    Hi Tuff,
    As everything in SAP, with IDOCs too there are
    1) Standard IDOCs
    2) Standard IDOCs(Extending - Enhancement to an IDOC, to accomodate for custom values)
    3) Custom IDOCs
    And every IDOC has,
    Control record - EDIDC Structure - This mostly reflects the partner profile information, along with few more details which are used for IDOC extension, Sequencing etc
    Data Records - EDID4 Structure - These records contain the actual business data of the document in concern. So for ORDERS05 it would contain order details, INVOIC02 - Invoice details so on...
    Status Records - These records capture the status of an IDOC from the time it is received/sent from your system and a corresponding business document is created/changed. So this will have messages like "IDOC sent to the port OK" etc which are status from the communication layer(ALE) to application specific messages like "Sales Order XXX created" or "Invalid Material" etc.
    You would have noticed something called as Process code in the partner profile, this is associated with a FM(or work flow task etc) which has the business logic coded in.
    So in case of an Inbound IDOC, the sending system updates the IDOC - Control and Data records, and sends it to the receiving system. On the receiving system the IDOC's control record is validated against the partner profiles set, if an entry is found then using the process code it finds the associated FM which will decode the data from the IDOC data records as per the IDOC type and then use it to post data into SAP (VIA BDC, Batch Input, BAPI etc).
    And all this while the Status records are being updated accordingly.
    So with the above context will try to answer your questions,
    1 - My question is do I have to manually create all these segment and do a mapping to my application field one by one (i.e. that is when I want to create a brand new message type from scratch)?
    In case of a custom IDOC, yes you will have  to.
    In case of a standard IDOC, you wouldn't have you just have set up the necessary configuration (Partner Profile, Process code etc)
    In case of a standard IDOC extended to accommodate for some custom values(for which there are no fields in standard IDOC - Let us say you have added some new fields on VA01) - In this case you can still use the standard Process code and Standard FM associated with it, SAP provides several Function exits in these FM's which you can leverage to add your custom logic.
    2 - If question no. 1 is Yes, how to do it, what are the transaction code to create it? can you show me the step by step.
    There are several documents available on the net and on SDN detailing step by step approach for all the above three cases,
    just search for step by step guide for IDOCS - sap.
    3 - I don't have to create the Control record and the status record for my new message type right ? because those field value will automatically pull out from partner profile and system status message, am I correct?
    Again it depends, in case of using a standard IDOC you wouldn't have to. But in case you have some customizations/enhancements then you might have to.
    For Ex: updating the control record accordingly for indicating that you have extended the standard IDOC. Or append custom messages to the status record as per the business logic.
    Try out the examples you find on the net and post any specific questions you might have.
    Regards,
    Chen

  • Inbound IDOC:First record is not an IDoc control record

    Dear Experts,
    I am currently testing an inbound IDOC with program RSEINB00. Unfortunatelly I always get the errror "First record is not an IDoc control record (please check file)".
    So apparently it picks up the file, but there are some format errors I guess?
    Does anybody have an idea what to do?
    this is file uplaoded:
    <?xml version="1.0" encoding="UTF-8"?>
    <EXCHANGE_RATE01>
         <IDOC BEGIN="1">
              <EDI_DC40 SEGMENT="1">
                   <TABNAM>EDI_DC40</TABNAM>
                   <IDOCTYP>EXCHANGE_RATE01</IDOCTYP>
                   <MESTYP>EXCHANGE_RATE</MESTYP>
                   <MESCOD>010</MESCOD>
                   <SNDPOR>XML_2_IDOC</SNDPOR>
                   <SNDPRT>LS</SNDPRT>
                   <SNDPRN>INCENTAGE</SNDPRN>
                   <RCVPOR>SAPQH3</RCVPOR>
                   <RCVPRT>LS</RCVPRT>
                   <RCVPRN>QH3CLNT100</RCVPRN>
                   <CREDAT>20110526</CREDAT>
                   <CRETIM>204404</CRETIM>
              </EDI_DC40>
              <E1ECXHANGE_RATE SEGMENT="1">
                   <LOG_SYSTEM>QH3CLNT100</LOG_SYSTEM>
                   <UPD_ALLOW>X</UPD_ALLOW>
                   <DEV_ALLOW>000</DEV_ALLOW>
                   <E1BP1093_0 SEGMENT="1">
                        <RATE_TYPE>RUFX</RATE_TYPE>
                        <FROM_CURR>USD</FROM_CURR>
                        <TO_CURRNCY>RUB</TO_CURRNCY>
                        <VALID_FROM>20120105</VALID_FROM>
                        <EXCH_RATE>5000</EXCH_RATE>
                        <FROM_FACTOR>100</FROM_FACTOR>
                        <TO_FACTOR>1</TO_FACTOR>
                        <EXCH_RATE_V>0.00000</EXCH_RATE_V>
                        <FROM_FACTOR_V>0</FROM_FACTOR_V>
                        <TO_FACTOR_V>0</TO_FACTOR_V>
                   </E1BP1093_0>
                   </E1ECXHANGE_RATE>
         </ IDOC>
    </EXCHANGE_RATE01>
    kr,
    Stef

    Hi Stef,
    I have just generated a file from my system, to give you an idea of how a file should look for the program RSEINB00 to import:
    EDI_DC40_U1000000000000865239700 3012  DEBMAS06                                                    DEBMAS                                           SAPBCI    LS  BCICLNT100                                                                                GG_TEST   LS  TVNBTS                                                                                20120111135033                                                                                20120111135032     
    E2KNA1M005                    1000000000000865239000001000000010050000000001Ms.                                                                000000000000        0                                              DEBI  US 0000000100             Mercedes Lee                                                                                HAWTHORNE                          MINERAL                            1030                89415     NV        A5   B2C LEE    E12312312                     1520 1520 Fifth Street                            775-949-2668                    +481111111                                                   323232323                     0000000003                                                                               0000     0000000000                          0               2902100601                                                 00  EN                                                                          
    E2KNA11002                    100000000000086523900000200000102                                                                               
    Hope this helps,
    Grzegorz

  • RFFOEDI1  IDOC Control Header - How can multiple payments be included?

    When running RFFOEDI1, instead of one payment within one IDOC Control Header (ST=Segment Header), we have a requirement to include multiple IDOC payments within one Control Header.  How is this accomplished?
    Thanks in advance, Scott

    Hi Scott
    Were you able to achieve what you wanted with heavy customization.
    Regards
    Wai Meng

  • Determine Partner number based on IDoc Data Segments

    Are there any user exits or BADI, which can be used to determine Control record parameters (Partner), based on IDoc Data segments? This is for an Inbound IDoc, into ECC.
    I found EXIT_SAPLEDI1_001. But, this has only control record. It is used to determine control record parameters, by using control record only.
    Thanks,
    Juwin

    Dear Juwin,
    Could you please provide some info. about what you are trying to achieve by trying to determine the partner dynamically?
    If the scenario is something like 'Partner A should get data related to only plant 1000 and Partner B should get data related to only plant 2000', you could use filters in the Distribution model to achieve this.
    BR,
    Aashrith

  • Populating MESFCT and MESCOD in IDOC control record through XI.

    Hi Experts,
    I want to map only MESFCT and MESCOD fields to IDOC control record as i see help.sap.com and all forums this part in XI is very confusing, as mentioned in the below thread i disabled all the mandatory fields(which are in red color)  in the EDI_DC40 and mapped MEDCOD and MESFCT with constants and in IDOC receiver adapter (Communication channel) i have checked the option (Apply Control Record values from Payload) , now i can see both the values MEDCOD and MESFCT  in XI payload, however I'm unable to see them in the target (ECC 6.0) system
    Threads Used:
    /people/sravya.talanki2/blog/2005/12/02/manipulating-idoc-control-records-from-payload
    /people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified
    SAP Note : 728792
    Target System
    WE09
    IDOC control record structure.
    Under Typinfo tab:
    Message Varient : <Still Empty>
    Message Function : <Still Empty> not populated from XI payload.
    Any guess ??? will there be any configurations required from ECC point of view to populate these values from XI payload.
    Thanks in advance
    Kelli.

    You mentioned that the payload values are visible post mapping during runtime so ,
    Try to edit the IDoc adapter once again and ensure that
    you have set the Apply Control Record Values from Payload indicator in the receiver IDoc adapter
    Activate the adapter and try again.

  • What is sender port in idoc control record!

    Dear all
    In idoc control records it is showing two ports  Receiver port and sender port.receiver port we cen configured in WE21.
    where we configured senderport!
    how it is updated in control records!
    Thanks & Regards
    raj

    When you generate the outbound idoc you provide info for Receipent
      "control record
      idoc_control-idoctp = 'ACC_GL_POSTING01'.
      idoc_control-doctyp = 'ACC_GL_POSTING01'.
      idoc_control-mestyp = 'ACC_GL_POSTING'.
      idoc_control-rcvprt = 'LS'.           "Partner Type of Receiver
      idoc_control-rcvprn = 'WCP100'.       "Partner Number of Recipient
      idoc_control-rcvpor = 'WCP100'.        "Partner Port of Recipient
      idoc_control-direct = '1'.             "outbound idoc
    When you receive and inbound idoc you nedd to provided similar info but for Sender
    Port for Sender is just like port for Receipent. Both you check in WE21.
    Edited by: Marcin Pciak on Oct 17, 2008 9:47 AM

  • First record is not an IDOC control record - Error

    When I am trying to import orders in my test system through RSEINB00 , it is giving me this error "First record is not an IDOC control record"
    But if I manually do it through test tool , it post successfully.
    I tried different files which have been posted into production client successfully but still the same error.
    It was working just fine until yesterday. Today I modified one file and ran it and it gave me the error. Now its giving me the error in all the file i try.
    Any clues ??

    Hi,
    Please check the partner profile (WE20) and IDoc ports (WE21) setup, perhaps someone changed them by mistake.
    Also please check the IDoc file content whether there is IDoc control record (EDIDC) information or not.
    Regards,
    Ferry Lianto

  • How to overwrite IDoc Control Record - DOCREL

    Hi Gurus,
    Is there a way to overwrite the DOCREL field when IDoc is generated in XI? XI always send '700' but i need it to have value '46B' so it will be processed properly by the receiving system.
    My scenario is, XI is picking up a flat file in AL11 and converts it to INVOIC02 IDoc. The IDoc is being sent to a Biztalk server.
    Thanks!
    Eo

    If you want to have a control on the IDoc control records, handle them in the mapping and set the option in the IDoc adapter
    Apply Control Record Values from Payload - http://help.sap.com/saphelp_nw04/helpdata/en/96/791c42375d5033e10000000a155106/frameset.htm

  • Changing IDOC Control Record for EDI inbound Orders Creatiion

    Hi,
         When I try to process the Inbound orders Idocs file through the GENTRAN EDI System.IDOC's were errored out, because of the Partner function was not defined for the Customer ( Legacy ) ( Type KU ) in the SAP.
            Is there any user exit/badi/Configuration to change the Legacy Partner(Customer) to the SAP Partner(Customer) mapping and update the IDOC Control record with the SAP Partner. I am calling EDI_DATA_INCOMING Function module and IDOC_INPUT_ORDERS.IDOCs errored out with Message EO-332 ( Partner function not defined ). 
    Advance Thanks,
    Balaji.

    It's been a long time since I have done any IDOC processing. 
    Go to SE37 and enter the function module IDOC_INPUT_ORDERS.  Display the source code.  Search for "CALL CUSTOMER".  You should see several "CALL CUSTOMER-FUNCTION" lines.  These are enhancements where you can manipulate the IDOC data.  If you locate the correct one (where the data is read from the IDOC but not yet validated), you should be able to map the partner function value.  Double-clicking on the number in quotes will bring you to an "EXIT_" function module.  A "ZX" INCLUDE program is referenced.  If you haven't used the exit yet, double-clicking on the ZX INCLUDE will create it.  The values passed into the function module are available in the INCLUDE.
    Ideally, you should create a project in transaction CMOD that references the chosen enhancement.  This way you can activate/deactivate without commenting/uncommenting the code in the INCLUDE.

  • 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

Maybe you are looking for