SOAP to IDOC and Control record

Hi I am doing SOAP to IDOC scenario and we are using XSLT mapping in our scenario. In the mapping we dont want to hard code any IDOC control record values..can some one explain how to proceed with this. We tried the following scenarios.
1) We hard coded the control record values and we didnt set the "Apply control record values from check box"  in the receiver
    IDOC adapter, but still the IDOC gets posted with out any isses.
  we tried to get the values dynamically so we set the Logicical system names in the sender and receiver business systems and i  disabled EDI_DC40  node, after i did this there is no EDI_DC40 segment in the IDOC message and i get error in SXMB_MONI that "Error: Copy Sender from Payload: Sender Is Missing in Payload" . We havent set any check box in the receiver communication channel, and i was assuming that this segment should automatically be populated by the adapter, but that is not happening.
Can some one guide as to how we can fill the control record with out hard cording the values in the mapping.

HI Amit,
   Is header mapping mandatory if we dont want to get the details from payload. As per SDN if we dont check populate control record from payload check bod . The sender and receiver details will be populated automatically ..is that not true. Please refer to the link below. Please help me understand this.
[reg:HEADER MAPPING|reg:HEADER MAPPING]

Similar Messages

  • SOAP to IDOC and then send back acknowledgement

    Hi All
    I have SOAP to IDOC scenario which is successfully working.
    Now the requirement is SOAP needs an accknowledgement that IDOC is successfully posted.
    What are the ways to achieve this, please help.
    Regards
    Dheeraj Kumar

    hi,
    point no 1. as Grzegorz explanied with examples:
    http://wiki.sdn.sap.com/wiki/display/ABAP/HandlingIdocAcknowledgements
    but it's better to use a custom idoc in this case (approach No 2.)
    why ?
    as standard IDOC for ack can be used in PI for message acknowledgment and you may need it in the future
    so it's better to copy the standard one into a custom on and use it for your SOAP scenario only
    and not mix with the srandard one - at least that's what I'd do
    in my book:
    http://www.sap-press.com/products/Mastering-IDoc-Business-Scenarios-with-SAP-NetWeaver-PI.html
    you can also find out with screenshots how to work with IDOCs and IDOC acknowledgments
    Regards,
    Michal Krawczyk

  • IDocs and Multiple Records

    Ignorant newbie here.  In migrating legacy data to an R/3 system, one approach seems to be to massage the data into IDoc format and ship it to R/3 for processing by some BAPI_xxx_CREATEFROMDATA BAPI.
    I have a tool that can be changed to write IDoc formated data out to a disk file. 
    I am unclear on whether an IDoc can contain the data for only one record or a whole bunch of records.  Or maybe I should be asking whether the disk file I produce can contain multiple IDocs (header, segments, header, segments,...).
    Also, once I've produced the file containing the IDoc(s), what do I do with it; does DX Workbench handle such things?

    Hi,
    1) Each IDoc# contains data to process single transaction. But it contains with mutiple rows with segments data that to process necessary application data that required to create like Sales order creation/change , Material master creation/change.
    2) your disk file can have any no# of idocs.
    Your DX workbench(data migration tool) will process all the IDocs from file by considering one idoc# at a time.
    It is as simple as like how your BDC program works inorder to post your orders that reading from file.
    For understading about DX requirements click on given below link:
    http://www.sapgenie.com/sapgenie/docs/PROCESSING_LSMW_DXWB.doc
    Naga

  • SFTP Sender - content conversion to read Header & detail and control record

    Hi Experts,
        I'm just beginner in SAP PI. Just would like to know possibility for below requirement for my further reseach
    Soure file format fix length  with 3 different format(H,D,T)
    As example
    H001TestHeader1
    D001001TestDetail11
    D001002TestDetail21
    T2
    H002TestHeader2
    D002001TestDetail21
    T2
    The requirement detail :
    1. There are multiple set of H,D,T per files
    2.  T line is the record count of total D line per each H set.  for example as green font we have 2 D line, So T show T2
    3.  If number in T line is not match with actual D line, then only these set should be filter out and write to error file and send email alert. for example as red font we have 1 D line, but T show T2
    4.  If number in T line is match with actual D line, then these set will be write to result file.
    As I know that content  conversion may be support this requirement for separate records set for H/D/T but I don't have idea how to handle requirement no.3 and 4, Is it need ccBPM? Please help to provide some overview guideline for my further research. Thank you.

    As I know that content  conversion may be support this requirement for separate records set for H/D/T
    >>> For the  FCC, you might be using Message Transformation bean and unfortunately MTB doesn't provide the option to split the message i.e. " Records set per message".
    If you go for two step approach i.e.  then you can use this option to split the records.
    1) pass through interface -> SFTP -> NFS
    2) NFS(Standard FCC) -> Your target system
    I don't have idea how to handle requirement no.3 and 4, Is it need ccBPM? Please help to provide some overview guideline for my further research. Thank you.
    >>> If you can split the file for each recordset i.e.  one set of H/D/T then you can handle the validation part in message mapping.
    If T has valid number of records then execute the mapping set the filename  and directory to "result file" locations using dynamic configuration.
    If T has invalid number of records then execute the mapping set the filename  and directory to "error file" location.
    To trigger the email from the message mapping refer to the below blogs -
    Mail without email adapter? Part - I - Process Integration - SCN Wiki
    How to send Alerts using UDF or JAVA Mapping

  • User Exit after IDoc number (control record) generated

    Hi
    I'm looking for the user exit after the idoc number is generated. Can anyone provide a refrence on such user exit? the process is outbound.
    Tried with some of the available exits but none worked...

    Hi,
    Are you referring to any specific scenario?
    Regards
    Vinod

  • Serialisation field in control record in idocs

    Hi Experts,
    I have one requirement like this.While generating idocs in control record we get serialization number by combining system date and time.
    But now my requirement is i have to change that serialisation field with required timestamp.Can we do this? If so can anyone explain me how to do that?
    Wiating for your valuable replies.
    Points will be rewarded.
    Regards,
    Swetha.

    hi,
    Firstly check the open periods for the compnay code in OMSY...
    If its not open then try in the MMPV to open it...
    You can also open it in OB52..which is FI trasaction...it open/close the two periods consicutively...
    You can reopen the periods but its not recomended...you can use MMRV..for back posting allowed...
    or else check this
    goto SU3
    select user profile
    in parameter ID give MMPI_READ_NOTE , and in parameterr value enter todays yyyymmdd and save.
    and goto MMPI intialise the periods to present one at a strech.

  • 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

  • Receiver partner type in control record is default"

    Hi all,
    I am Getting 56 Error"Receiver partner type in control record is default".
    When I go to that perticular IDoc under control record under parter tab I am providing "PARTNER TYP" AND PORT.When I save these details th idoc is getting posted.
    The  port ifo is present in we21.I checked RFC Destination,It is fine.
    Now where to give this information centrally since I have to manually enter this every time.
    Thanks,
    SrinivasaP

    Hi,
    If error is 56.
    Check the partner profile is created or not, if not create partner profile, restart the process by TA.BD87.
    If partner profile is exist then check the control information in the IDoc file is incorrect. Correct the IDoc file and restart the process
    Please check receiver IDoc Adapter is configured with the said details are not.
    And if possible map the values in EDI_DC40 control record.then you need not to give these details every time.
    Regards
    Chilla..

  • Serialization field in control record

    Hi Experts,
    I have one requirement like this.While generating idocs in control record we get serialization number by combining system date and time.
    But now my requirement is i have to change that serialisation field with required timestamp.Can we do this? If so can anyone explain me how to do that?
    Wiating for your valuable replies.
    Points will be rewarded.
    Regards,
    Swetha.

    Hi Swetha,
    check out the following links if they can be of any use for your requirement.
    [http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a66d6507d11d18ee90000e8366fc2/content.htm]
    [http://help.sap.com/saphelp_45b/helpdata/en/b5/9c487cfc6f11d1bf5a0000e8a7386f/content.htm]
    Regards,
    Sekhar kalluru

  • IDOC and RFC Flow

    We have 2 Independent flows one from SOAP to IDOC and other SOAP to RFC.In the both scenarios materail number is the common field,but source structures are different.
    Requirement is to pass the record with Material numebr to SOAP to RFC flow only when that Material number record processed by SOAP to IDOC flow . If not it should skip.
    can any body please suggest how to achieve this.

    Hi Group,
    we have SOAP to IDOC Interface1 runnnign to post goods receipt, after this Interface SOAP to RFC Interface for shipment will run independently,In both these Interfaces Material is the common element and two source structures are different.Shipment Interface only run for
    those materials which have goods receipt posted from the SOAP to IDOC Flow.Problem is that
    due to queues problems SOAP to IDOC flow is getting delay by then SOAP to RFC flow running
    and it is not posting(SOAP to RFC) shipment for those material.
    Can any body suggest how to maintain the sequence to avoid this problem.

  • Control record issue !

    Hi All,
    I am handling UK Payroll and got an issues related to payroll run and control record,
    Issue 1: The payroll driver (RPCALCG0) has skipped around 1500 Employees against payroll run for particular period
    Issue 2: How control record allowed user to Exit control record for period in which EE's skipped in payroll
    Please provide your valuable suggesting in regard to resolve the above two issues,
    Thanks in advance.
    Regards,
    Devendra Reddy D.

    Hi,
    Issue 1: The payroll driver (RPCALCG0) has skipped around 1500 Employees against payroll run for particular period
    Say you want to run payroll for FEB..
    But payroll control record may not be in FEB... It may be in March..
    Issue 2: How control record allowed user to Exit control record for period in which EE's skipped in payroll
    Payroll control record may have been deleted on the month of Jan..& been set in Release mode in March month directly...
    So feb month gets skipped & Exit mode in Feb is skipped too...
    For detailed info.. Go to PA03 enter payroll ares & click display option..
    Under Go To tab.. look for Control Record Log..
    Regards,
    Veeram

  • Pay roll area and control period

    hai experts
    we have pay roll area ,control period in personal administration and we have the same options in pay roll so can any body help me out in which option we have to choose
    thanks
    thjea
    points will ne rewarded

    Hi Theja,
    Actully we have same options in country specific payroll and control record. If i am not wrong its control record not period.
    Its upto you how do you acutally makes use of those options.
    You can release payroll anyways and even exit the same.
    Let me know if you need anything else.

  • 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.

  • Include segment in Control record of  idoc type PEXR2002 and PAYEXT

    Gurus
    This is business scenario. We are using four different flavours of payment methods. when exectuing F110 for each payment method,Program RFFOEDI1 generates IDOC. This IDOC are send to EDI team who then sends that as EDI820 to bank.
    The payment method used are populated in Detail record field of IDOC . But EDI team wants that to be in Control record of IDOC .
    We are using PEXR2002 and message type is PAYEXT . this is an outbound IDOC .
    Is it possible to add segement in control record for each payment method?.
    Thanks for your time and consideration
    Auroar

    It may depend on how the IDoc is created.
    From a file.
    Sent via a Remote Call.
    You would then need to code it for this Message type only.
    I would take a copy of the standard Function and change that. You would have greater control then.
    Why is the partner number wrong anyway. Can you not just create another partner profile(s).
    Message was edited by:
            Martin Shinks

  • IDoc Control Record and Status Record Code,  where is it!!!

    Hi,
      Where can i see the code for generation of control record and status record of IDoc.
       Thanks in advance for your answers

    hi ,
    1.first create an segment with the fields u want tcode we31 relase it .
    2. create an idoc and assign segment to it tcode we30.
    3.crate a message type  tcode we81
    4.assign that message to idoc  tcode we 82.
    do the ale configarations .
    now u can write the code in our sender system
    *1.     Create parameters/select-options for input data. i.e., message type, logical system.
    parameters : p_mestyp like edmsg-msgtyp default 'ZKKUMSG',
                 p_logsys like tbdlst-logsys obligatory.
    *2.     Create Data objects for control record, data record and database table.
    data : c_segment like edidd-segnam value 'ZKKUSEG',        "Data record (IDoc)-Segment type
           c_idoctp like edidc-idoctp value 'ZKKUIDOC'.            "Control record (IDoc)-Basic type
    data : begin of i_tab occurs 0,
              ZKSNO   like ZKSTD-ZKSNO,
              ZKSNAME like ZKSTD-ZKSNAME,
           end of i_tab.
    data : w_itab like i_tab.
    data : s_segment like ZKKUSEG.
    data : i_edidd like edidd occurs 0 with header line.
    data : i_control_record like edidc.
    data : i_comm_idoc like edidc occurs 0 with header line.
    *3.     Select the data from responding tables into internal table for a defined condition.
    here you have take ur internal table
    *select single zsno zsname from zkiran into corresponding fields of itab where zsno = p_sno.
    *4.     create control record into internal table.
    i_control_record-mestyp = p_mestyp.         "Message Type
    i_control_record-idoctp = c_idoctp.         "Basic type
    i_control_record-rcvprt = 'LS'.             "Partner Type of Receiver
    i_control_record-rcvprn = p_logsys.         "Partner Number of Recipient
    *5.     create data record into internal table.
    *i_edidd-segnam =   c_segment.
    loop at i_tab into w_itab.
    s_segment-zksno    = w_itab-ZKSNO.                     "Application Data
    s_segment-zksname  = w_itab-ZKSNAME.
    i_edidd-sdata     = s_segment.
    i_edidd-segnam    = c_segment.
    clear w_itab.
    append i_edidd.
    endloop.
    *6.     Process ALE Service Layer using the function module  MASTER_IDOC_DISTRIBUTE.  It returns the corresponding IDoc No.s.
    call function 'MASTER_IDOC_DISTRIBUTE'
      exporting
        master_idoc_control            = i_control_record
      tables
        communication_idoc_control     = i_comm_idoc
        master_idoc_data               = i_edidd
      exceptions
        error_in_idoc_control          = 1
        error_writing_idoc_status      = 2
        error_in_idoc_data             = 3
        sending_logical_system_unknown = 4
        others                         = 5.
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno
              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
    *7.     Display Communication IDocs.
    loop at i_comm_idoc.
      write : / 'Communication IDoc No. is : ', i_comm_idoc-docnum.
    endloop.
    *8.     Commit Work.
    commit work.
    i hope this sample code help u .
    thanks

Maybe you are looking for

  • AR Open/Closed Invoices Migration Help

    Hello Experts, We have a data migration requirement for AR invoices from a legacy system to Oracle. We have both open and closed invoices. Can anyone of you help in giving the steps to be followed? This is for India AR Invoices. Expecting a quick res

  • 1602 Series AP Support Mesh

    Does anyone know if the 1602 AP can support mesh?? Sent from Cisco Technical Support iPhone App

  • Set value of zzidarea from another context node

    Hi is it possible to set the value of the zzidarea field of the context node header from the method  get_employeename of the context node employeename? Thanks!!

  • Select quirey

    Hi experts plz help me in writing select quiries for the following given specifications All the tables and fields are given for ur information plz help 1.Batch # (Lot No.)     AFPO- CHARG     CHAR     10     The Process Order(AFPO-AUFNR) passed by th

  • Restructure using maxl command

    hi ,how can we restructure database using maxl command. Actualy there is a planning application and i want to restructure database but i am planning on automating the process to run in the night but i am not able to make sure which command is the one