Doubts in inbound IDoc

Using standard Idoc .Data will be flowing from PI (Middleware) and they will populate in the standard idoc
.There is no custom fileds involved .Data mapping is already given.But some kind of validation is there before posting it .Pls let me know how to handle the validation in ABAP side .I thought just congiuring port and partner profile are sufficiient.
How the data will be updated in SAP ..
Moderator message: please read existing documentation, then post specific issues if still required.
Edited by: Thomas Zloch on Jan 17, 2012

Your idoc is attached to a function module which will have some exit where you can do them.
Please search the SDN forums for the same you will find many threads
Nabheet

Similar Messages

  • IDOCs - Simple doubt in INBOUND DELVRY. IDOC-DELVRY03, Process code isDELV?

    Hello Experts,
    Our SAP system receives the Inbound IDOC for Delivery from Gentran.
    Further details are,
    Process code: DELV
    IDOC type: DELVRY03
    Message type: SHPCON
    Message code: TOC
    Parther profile: Account # of Ship To party
    So, my requirement is that,
    If this Inbound Delivery IDOC contans the Message Code as TOC, I need to insert/add my logic
    so, let me know that,
    1) Request u that, let me know How to go ahead, becoz am new IDOCs, like, Is I need to look for the any Usre Exit? I mean, At Wht point I need to add my code in this whole process?
    thank you
    Edited by: Srinivas on Jun 29, 2008 11:15 PM

    Hi Srinivas,
    Use the below user exit for creating a STO order.
      CALL CUSTOMER-FUNCTION '003'
           EXPORTING
                IDOC_CONTROL        = IDOC_CONTRL
                IDOC_DATA           = IDOC_DATA[]
                DELIVERY_HEAD       = S_KOKO
                DELIVERY_ITEM       = T_KOPO[]
                PACKING_HEAD        = T_VSEK[]
                PACKING_ITEM        = T_VSEP[]
                PROCESSING_STATUS   = F_STAT
           IMPORTING
                WARNING_IGNORE      = F_FLAG
           CHANGING
                PROCESSING_PROTOCOL = T_PROT[]
           EXCEPTIONS
                OTHERS              = 0.
    Because by the time you get to this point, the delivery document is created. I believe you need to create the STO order only once the delivery document is created.
    Thanks,
    Mahesh.

  • Inbound idoc for orders05 to create sales order

    Hi all,
    I am creating a sales order through idoc (ORDERS05). I am getting a flat file, which is being converted into idoc from XI side and i need to add certain things and validate inside the function module IDOC_INPUT_OREDERS. I am using the exit call customer function '002' (EXIT_SAPLVEDA_002)  in it.
    My confusion is regarding the population of control records. If some validation fails, i need to set current status as 51. Which field i need to update in this exit in order to achieve this. What are the other control fields that i need to update for an inbound idoc please specify.
    Also, i have another doubt, what is the use of DXBDCDATA in that exit. Do i need to do any BDC related work in inbound idocs.
    I am new to inbound idoc scenario. But havn't found enough tutorial related to standard idoc generation..
    thanks

    Hi,
    I think, you should fill the validation errors in EXIT_SAPLVEDA_011 (SD EDI Incoming Orders: Final Processing of Internal Error Tables) which subsequently update the status records of IDOC.  Check line NO 56 of function module "IDOC_INPUT_ORDERS".
    Regards
    Vinod

  • Inbound IDOC user exits

    Re: IDOC User Exits
    Posted: Aug 1, 2006 10:43 AM        Reply      E-mail this post 
    Hi
    I have a basic doubt. We can modify or add new segments and change existing values to segments only for outbound idoc.
    I have a requirement where a particular field in a segment would be empty for an inbound idoc. Is it possible to change inbound idoc values after the idoc is created and before it gets posted.
    Please let me know,
    Regards,
    B.Anandh

    Updating IDoc data in segments.
    STEP 1 - Open document to edit
    CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_EDIT'
           EXPORTING
                document_number               = t_docnum
           IMPORTING
                idoc_control                  = itab_edidc
           TABLES
                idoc_data                     = itab_edidd
           EXCEPTIONS
                document_foreign_lock         = 1
                document_not_exist            = 2
                document_not_open             = 3
                status_is_unable_for_changing = 4
                OTHERS                        = 5.
    STEP 2 - Loop at itab_edidd and change data
    LOOP AT itab_edidd WHERE segnam = 'E1EDKA1'.
      e1edka1 = itab_edidd-sdata.
      IF e1edka1-parvw = 'LF'.
        e1edka1-partn = t_eikto.
        itab_edidd-sdata = e1edka1.
        MODIFY itab_edidd.
        EXIT.
      ENDIF.
    ENDLOOP.
    STEP 3 - Change data segments
    CALL FUNCTION 'EDI_CHANGE_DATA_SEGMENTS'
               TABLES
                    idoc_changed_data_range = itab_edidd
               EXCEPTIONS
                    idoc_not_open           = 1
                    data_record_not_exist   = 2
                    OTHERS                  = 3.

  • Creation of Sales Order and Service Contract from Inbound IDOC

    Hi Experts,
    My requirement is to create a Sales Order as well as a Service Contract from one Inbound IDOC. I am getting the Inbound IDOC from a third Party. The message type is ORDERS and Basic Type is ORDERS02. How ever i am using an extension type IDOC which carries all the required data for Sales Order and Service Contract. My requirement is like, to create a Sales Order first.
    I have created a Z FM which is attached to the Process Code and subsequently to the message type. Inside the FM i an calling FM 'IDOC_INPUT_ORDERS' for creation of Sales Order. After that i am changing the IDOC data for the Document Type. I am changing the document type which is responsible for Contract Creation.
    Then I am again calling the FM 'IDOC_INPUT_ORDERS' for creation of Contract with the help of IDOC data. But here the Contract is not getting created. It's getting failed during the Batch input session.
    I need to solve this problem as soon as possible. Please help me. If there are any other options also please share.
    Thanks in Advance.
    Regards,
    Priyabrata

    Actually there is problem with BDCDATA. Inside the FM it's calling transaction with help of BDCDATA. If i am creating a Sales order or contract alone its creating successfully. But when i am trying to create both, it's retuning sy-subrc '1001' after calling the transaction on the second attempt. Is there any problem with BDCDATA like we can't handle with less time gap? Please help and give your inputs.
    Regards,
    Priyabrata

  • Creation of Service Contract from Inbound IDOC

    Hi Experts,
    I am using Inbound IDOC type ORDERS02 with message type ORDERS for creation of Sales Order. Now my requirement is like to create a  Service Contract from that Inbound IDOC. The IDOC type contains all the data require to create a Service Contract. The scenario is like, after creation of Sales Order it will check for the corresponding Service Contract exits or not by querying on a Z table which contains all those entries.
    So my idea is to create a Z Program, in which it will check for the Service Contract and will create the same by reprocessing the same IDOC or by calling some Function Module. Please suggest how shall i proceed to create a Service Contract.
    Is there any way to reprocess the IDOC or to collect the Data from the IDOC segments pass them to a FM which is responsible for creation of Inbound IDOC. Please suggest if this is feasible.
    Thanks in Advance.
    Regards,
    Priyabrata.

    Actually there is problem with BDCDATA. Inside the FM it's calling transaction with help of BDCDATA. If i am creating a Sales order or contract alone its creating successfully. But when i am trying to create both, it's retuning sy-subrc '1001' after calling the transaction on the second attempt. Is there any problem with BDCDATA like we can't handle with less time gap? Please help and give your inputs.
    Regards,
    Priyabrata

  • How to read file from prsntn server in Inbound idoc FM.

    Hi Experts,
    I am new to idoc.
    I have requirment that i need to read a file from presentation and application server and put in inbound idoc FM.Idoc will be processed in batch.
    How can i put selection screen in FM and read the file?or how can i proceed  with the solution?
    Please help..
    Umesh

    Hi Umesh,
    My understanding on your requirement is to read a file from pres. server and pass the data to an IDoc function module. Am I correct?
    If this is the case then you can create a report which picks up the file from pres. server and then read data from the file and pass it to the parameters of the required function module.
    Hope this helps.
    Regards,
    -Sandeep

  • How to create the INBOUND Function Module for INBOUND IDOCs

    Hi Friends,
    Can any Suggest me How to proceed to Create an INBOUND Function Module for Processing the INBOUND IDOCS
    which are recieved from XI Server ?
    I am working in SAP-ISU
    Here i will recieve the INBOUND IDOCs for the Meter Reading Orders.
    We have a Standard INBOUND FUNCTION MODULE
    IDOC_INPUT_ISU_MR_UPLOAD
    which Uploads the Meter Reading Results.
    I copied the Same function Module into ZIDOC_INPUT_
    and working on it.
    Can any one suggest me, whether i am going in correct way or not.
    In IDOC_INPUT_ISU_MR_UPLOAD Inbound fun module,
    BAPI_MTRREADDOC_UPLOAD is used to Update or Insert the Meter Reading Results,
    My requirment is to Insert and Update the Meter Reading Orders which are Inbounded from XI.
    Can I Use the Same BAPI
    BAPI_MTRREADDOC_UPLOAD
    to Update the below fields,
    EABL-SERNR
    EABL-ZWNUMMER
    EABLG-ABLESGR
    EABL-V_ZWSTAND
    EABL-N_ZWSTAND
    EABL-ABLHINW
    EABL-ZSKIPC
    EABL-ADAT
    EABL-ATIMTATS
    EABL-ADATTATS
    EABL-ATIM
    EABL-ZMESSAGE
    EABL-ABLESER(Meter reader number)
    Kindly Suggest me,
    Thanks in Advance,
    Ganesh

    Hello Ganesh
    I think you are going completely astray with you z-function module for IDoc processing.
    If you look at TABLES parameter METERREADINGRESULTS (type BAPIEABLU ) of BAPI_MTRREADDOC_UPLOAD you will find many of the requested fields already:
    EABL-SERNR => BAPIEABLU-SERIALNO
    EABL-ZWNUMMER =>REGISTER
    EABLG-ABLESGR
    EABL-V_ZWSTAND
    EABL-N_ZWSTAND
    EABL-ABLHINW
    EABL-ZSKIPC
    EABL-ADAT
    EABL-ATIMTATS => ACTUALMRTIME
    EABL-ADATTATS => ACTUALMRDATE
    EABL-ATIM
    EABL-ZMESSAGE
    EABL-ABLESER(Meter reader number)
    Field EABL-ZMESSAGE appears to be custom field (at least I cannot find it on ECC 6.0). If this field was added using include CI_EABL then you probably can get these values into the BAPI using the EXTENSIONIN parameter.
    Check routine CHECK_UPLOADRECORDS in the BAPI which allows two extension structures:
    - BAPI_TE_EABL
    - BAPI_TE_EOSB
    Not surprisingly BAPI_TE_EABL contains the include CI_EABL.
    Regards
      Uwe

  • Problem with user exit EXIT_SAPLIEDI_001 for Inbound Idocs in replacing G/L

    Hello all,
    I am currently facing an issue where my IDOC where exit EXIT_SAPLIEDI_001 is not appearing to work properly.
    Basically I am using the FM that processes the inbound idoc (IDOC_INPUT_INVOIC_FI) to post an accounting document. We needed a solution where we need to substitute one of the G/L Accounts.
    The current process in our SAP system is that we are creating a billing document which automatically generates the output type (running: program rsnasted subroutine edi_processing) to create and process the inbound idoc. 
    So I discovered FM EXIT_SAPLIEDI_001 which exports company code and G/L Account back does this.
    In this exit, Since I needed to get data from the IDOC, I used the logic ASSIGN: ('(SAPLIEDI)IDOC_DATA[]') TO <fs_edidd> to get the DATA Records for further processing.
    During the development and testing phase in the Sandbox system this works.
    However when we moved this to production we encountered a situation where the G/L account was not being substituted so were assuming EXIT_SAPLIEDI_001 is not working properly. However when I reprocess this in production either by running the idoc with errors RBDMANI2 or BD87 the IDOC is properly posted and the G/L Account is substituted as well as if I try to repeat the output type of the billing document. So there are instances when in the actual business scenario it does not work except when I reprocess it.
    I was wondering if there are any ideas why this could have happened?
    Oh ... I  also noticed when we transported the objects of the exit. When I try to double click the subroutine I made inside the exit it said the object does not exist. I had to generate the function group of FM EXIT_SAPLIEDI_001 in SE80 in production for it to reflect. I was wondering if this could have caused the issue.
    Well I hope to hear from you.
    Regards
    Edited by: Rob Burbank on Dec 6, 2011 1:03 PM

    Hi,
    Check in t.code CMOD whether project is active or not (Activate the Project)
    BR,
    Vijay

  • Sale Order from Inbound IDOC

    I am testing creating Sale Order from inbound IDOC with WE19.
    Partn. number = AAA001
    Partn. type = KU
    Partn.func = PY
    Message Type = ORDERS
    Process Code = ORDE
    I get message 51 "Error: Application document not posted" in IDOC status:
    VKORG, VTWEG, SPART cannot be determined for customer AAA001 , vendor                                                                               
    Message no. VG 204                                                                               
    Diagnosis                                                                               
    No sales organization, distribution channel or division were sent to the
        IDOC. This data is necessary if a sales order is to be added           
        automatically. If this data is unavailable, you cannot create a sales  
        order document.                                                                               
    Procedure                                                                               
    If data on the sales organization, distribution channel and division   
        have not been entered in the IDOC, it must be determined using a user  
        exit defined in the program.

    I will receive IDOC from external non-SAP system.
    How can i populate E1EDK14 segment with appropriate values:
    E1EDK14 -QUALF = 006
    E1EDK14 -ORGID = Division (VBAK-SPART)
    E1EDK14 -QUALF = 007
    E1EDK14 -ORGID = Distribution Chanel (VBAK-VTWEG)
    E1EDK14 -QUALF = 008
    E1EDK14 -ORGID = Sales Organisation (VBAK-VKORG)
    If external system does not know this values?
    Edited by: S S on Feb 28, 2009 12:46 PM

  • Error determining posting period(infostructure S008,Variant Z2,RC3) while creating Sales orders from Inbound IDOCS

    Hello,
    I am getting this Error message"error determining posting period(infostructure S008,Variant Z2,RC3)" while creating Sales order from Inbound Idocs in the IDOC,which is affecting sales order creation.
    While viewing this Info structure S008, I could see no records have been maintained. Wanted to know the reasons behind this Hard error?
    Is it something related to Date Field used in the Update Rules for this Infostructure which is causing this posting period error?
    Appreciate your inputs on this.
    Thanks and Regards
    Mohammed Roshan

    Thank you Jelena,I checked the Ship. Delivery dates in the IDOC which are for Current Fiscal Year- 20140703 and 20140711,Could there be any other reason for this error?
    Could it be an issue with e Update rule in this Infostructire S008
    Secondly when we try change the update rule thru MC25 for this Infostructure S008,It gives a message"
    "Maintenance of SAP standard updates not allowed"
    Kindly advice
    Thanks and Regards
    Mohammed Roshan

  • Scheduling agreement inbound idoc error.

    Hi Experts,
    I am creating an Scheduling Agreement with DELFOR02 inbound idoc, while creation the Scheduling Agreement system is giving error regarding Scheduling Agreement not found. In fact I have create the Scheduling agreement by T-code VA31. And I check the table VLPKM, there are relevant record stored.
    Then I maintain the view V_T663A to not check everything when inbound idoc recevie. and tried agan in t-code BD87. the system give me another message Make an entry in all required fields.
    How can I handle these error messages?
    Thanks..
    Regards....

    Does any one has ideas for that?
    Thanks.

  • Inbound idoc for updating delivery date of purchase order

    Hi All,
    Our vendor sends a delivery file consisting of delivery date and quantity(could be partial) for line items of a purchase order.
    I need to update the Purchase order line item with the delivery date and quantity sent from the Vendor. It should add a new confirmation line with custom confirmation category in the confirmation tab of the line item in the Purchase order.
    Each time we get a delivery file we need to add a new confirmation line in the confirmation tab of the purchase order line item.
    How can I get this working using inbound idoc processing? Which Idoc type should I use to solve my issue. Will ORDERSP work for my scenario?
    Thank you,
    Sonali.

    >
    sonali ashi wrote:
    > We have all EDI set up done for ORDERSP idoc in our system. Problem when I use this idoc type by default system is always adding confirmation catgeory 'AB' but we want our custom  category to be added instead of 'AB'.
    > Edited by: sonali ashi on Dec 23, 2010 9:47 PM
    Confirmation category used for order acknowledgement is define in configuation. You can change that from AB to your custom condition and EDI should pickup that.
    SPRO->Material Management->Purchasing->Confirmation->Define Internal Confirmation Category
    >
    sonali ashi wrote:
    > I have also noticed that 'AB' confirmation accepts only full quantity order acknowledgement through Idoc processing.
    > Manually I can add a "AB" confirmation for partial quantity but in the idoc processing it fails.
    > Edited by: sonali ashi on Dec 23, 2010 9:47 PM
    Check tolerance limit defined for confirmation category in 'Conformation Control' Node in SPRO at same level as above.
    Regards,
    Pawan.

  • How to block the status mail for an inbound Idoc to a specific user

    Hi,
    I have to stop sending the error status mail to a specific user depenidng on Partner Type. This will trigger when an inbound Idoc contains status error(message type INVOIC &ORDRSP).This user needs other mails which are getting triggered with the same Idoc for the same partner. Basically, the requirement is to block only the status mail for that user. The statndard task for this is TS70008125 and it uses the agent determination rule 30000001 (Idoc Administrator).in WE46, this task is assigned to process code EDIR. I have copied the task to a custom task and changed the agent determination rule. I would like to know how will I configure this task so that this custom task will trigger for the status error, without altering other workflows for the same message type & the partner type. Or is there any other way to block the mail?
    Thanks,
    Santosh

    Hi,
    I have done the required coding to exclude the specific agent from the rule,copied the task and its ready. My question is how do I map this custom task to a particular partner type, for the message type INVOIC in WE20? (The message type used for the inbound Idoc is INVOIC). I checked the Partner profile in WE20. Most of the process code is using function module as the processing type.
    Thanks,
    Santosh

  • How to create Inbound Idocs in a ABAP program? Any function Module?

    Hello Experts,
    My requirement is : I have sales order data which I extracted from third party system in my internal tables. In the same box I need to create inbound Idocs and then consequently create sales orders.
    I have used the function module IDOC_INBOUND_WRITE_TO_DB to create inbound Idocs from Sales Orders data in internal tables. I have populated all the data records with correct PSGNUM and HLEVEL values. My plan is to create inbound idocs with this function module and send those to IDOC_INPUT_ORDERS function module which creates Sales Orders.
    If a sales order in the internal table in ABAP program contains only one item, then I am getting correct idocs. But if more than one item exists for a sales order then the line item segments which got repeated in Idoc are having PSGNUM and HLEVEL values as zero when I checked in WE02. As a result the hierarchy from the second item segment is getting disturbed and getting the status 60.
    I populated T_EDIDD with data records from  IDOC_INBOUND_WRITE_TO_DB.
    To the function module IDOC_INPUT_ORDERS,  T_EDIDC and T_EDIDD are the input. I observed that in T_EDIDD also the PSGNUM and HLEVEL values are blank.
    I am getting Status 60 with message 'EDI: Syntax error in IDoc (segment cannot be identified)' for idocs which have more than one item.
    I need to extract sales data from third party and create inbound idocs and create sales orders in one ABAP program only. I need to display corresponding Idoc numbers for the corresponding third party sales order number in a listoutput.
    Can anybody please provide inputs?
    Regards.

    Hi Anjali,
    Thanks for the response.
    I have passed the PSGNUM and HLEVEL values while populating the data records. Then I sent the data records and control record information to the function module IDOC_INBOUND_WRITE_TO_DB. Inside this function module there is code to clear the PSGNUM values and HLEVEL values.
    for compatibility: clear administration data of data records
               perform data_records_wipe
                                      tables
                                          t_data_records.
    FORM DATA_RECORDS_WIPE
                      TABLES
                          T_DATA_RECORDS_IN  STRUCTURE EDIDD.
      LOOP AT  T_DATA_RECORDS_IN.
        CLEAR: T_DATA_RECORDS_IN-MANDT,
               T_DATA_RECORDS_IN-DOCNUM,
               T_DATA_RECORDS_IN-SEGNUM,
               T_DATA_RECORDS_IN-PSGNUM,
               T_DATA_RECORDS_IN-HLEVEL.
        modify t_data_records_in.
      ENDLOOP.
    ENDFORM.                               " DATA_RECORDS_WIPE
    This is the code which is clearing all the PSGNUM and HLEVEL values. After coming out of this function module we are getting the error idocs created with disturbed hierarchy.
    I need to create INBOUND Idocs with the data in ABAP program.
    Please let me know if any inputs? Is there any function module existing to create Inbound Idocs inside an ABAP program?
    Regards

Maybe you are looking for

  • HT1918 How do I take credit card off my iTunes account

    How do I erase a credit card off my account

  • What is encrypting on my time machine backup

    i just bought a 1T lacie external hard drive i chose to encrypt the the back up not sure why..it just seemed to be the prudent thing to choose it is still encrypting the data after 7 hrs what's going on can i change this should i change this why & wh

  • Problem in getting Home object of EJB in WebLogic 6.1

    Hello, I have deployed my stateless session bean with remote interfaces on my weblogic server but when i tried to access it from my client which is also present in the same application (ear) then it gives the following exception. java.lang.ExceptionI

  • Need a gnome-extra workaround

    Hi there.  The bug with the gnome-extra package (corrupted Dasher package) has been present for a while now and the bug is still seems to be unassigned.  Is there a workaround that would allow me to get most of the gnome-extra packages installed unti

  • Print from my ipad 4

    i am totally sick and tired of trying to connect my USELESS **bleep** HP printer to my ipad - what is this all about - a scam between you two (2) companies - just trying to rip us consumers off more than you already have??? My Printer is: (**bleep**