IDOCS: Inbound non-SAP system

Hi
The outbound idocs works fine. I want to create an inbound goods receipt/movement idoc.
Should i rather write RFC to update the SAP system from a non-SAP system ?

Hi,
Your first query...
Should i rather write RFC to update the SAP system from a non-SAP system ?
Always prefer using idocs for posting before BAPI / RFC fucntion module.
As you have mentioned outbound idocs are working fine..which means you are able to create idocs from non-sap system..right? If so you can use same idoc type for posting.
Your second query's answer...
Check out following code for calling BAPI_GOODSMVT_CREATE
You need to code to call function module /BAPI in your posting program as follows..
append the data into the corresponding internal tables and work-area, check for the IMPORT and TABLES parameter in the function module BAPI_GOODSMVT_CREATE.
a.     GOODSMVT_HEADER-DOC_DATE = SYST-DATM
b.     GOODSMVT_HEADER -PSTNG_DATE = RECEIPT_DATE (Input File)
c.     GOODSMVT_HEADER - HEADER_TXT = BATCH ID (Input File)
d.     GOODSMVT_HEADER - GR_GI_SLIP_NO = GOODS_INWARD_NO (Input File)
e.     GOODSMVT_ITEM-MOVE_TYPE = Constant ‘101’
f.     GOODSMVT_ITEM-PO_NUMBER = PURCHASE_ORDER_NO (Input File)
g.     GOODSMVT_ITEM -PO_ITEM  = PURCHASE_ORDER_LINE_NO (Input File)
h.     GOODSMVT_ITEM –PLANT = From Selection Screen (WERKS)
i.     GOODSMVT_ITEM – STGE_LOC = From Selection Screen (LGORT)
j.     GOODSMVT_ITEM -ENTRY_QNT = QUANTITY_RETURNED (Input File)
k.     GOODSMVT_ITEM -NO_MORE_GR = COMPLETE_INDICATOR (Input File). Value ‘X’ if status = ‘X’ else space.
6.     Call the function module BAPI_GOODSMVT_CREATE.
7.     Use function module BAPI_TRANSACTION_COMMIT to do the commit work.
append the data into the corresponding internal tables and work-area, check for the IMPORT and TABLES parameter in the function module BAPI_GOODSMVT_CREATE.
a.     GOODSMVT_HEADER-DOC_DATE = SYST-DATM
b.     GOODSMVT_HEADER -PSTNG_DATE = RECEIPT_DATE (Input File)
c.     GOODSMVT_HEADER - HEADER_TXT = BATCH ID (Input File)
d.     GOODSMVT_HEADER - GR_GI_SLIP_NO = GOODS_INWARD_NO (Input File)
e.     GOODSMVT_ITEM-MOVE_TYPE = Constant ‘101’
f.     GOODSMVT_ITEM-PO_NUMBER = PURCHASE_ORDER_NO (Input File)
g.     GOODSMVT_ITEM -PO_ITEM  = PURCHASE_ORDER_LINE_NO (Input File)
h.     GOODSMVT_ITEM –PLANT = From Selection Screen (WERKS)
i.     GOODSMVT_ITEM – STGE_LOC = From Selection Screen (LGORT)
j.     GOODSMVT_ITEM -ENTRY_QNT = QUANTITY_RETURNED (Input File)
k.     GOODSMVT_ITEM -NO_MORE_GR = COMPLETE_INDICATOR (Input File). Value ‘X’ if status = ‘X’ else space.
6.     Call the function module BAPI_GOODSMVT_CREATE.
7.     Use function module BAPI_TRANSACTION_COMMIT to do the commit work.
Hope this will help you.
Cheers,
Nilesh

Similar Messages

  • *IDOC INBOUND ( NON SAP system - SAP system )*

    I am transferring IDOC  INBOUND ( NON SAP system ->> SAP system ) by calling SAP standard funtc module IDOC_INBOUND_SINGLE using SAP JCo.
    In which I am passing all necessary information in Control Record regarding sender and receiver port/IDOC/segment etc.
    BUT help me to clarify my doubt that if i am calling a function and i am able to access SAP FM, then why i have to specify the SAP port/RFC connection at RECEIVER end in WE21.
    Whats the Significance if i am calling the FM from same SAP system and configuring the port explicitly in WE21.*
    If i don't Specify in we02 i am getting error as EDI : RECEIVER PORT in CONTROL RECORD is INVALID

    Dear Sree,
    For Basic understanding of IDOC read : saptechnical - Step-by Step ALE IDOC guide ( all necessary TCodes available here )
    Kindly let me know your data flow .
    In short :
    As per my scenario the data flow is from  non SAP to SAP  i,.e. Inbound processing.
    At my non SAP  i am calling SAP standard function IDOC_INBOUND_SINGLE using SAP Jco 2.1.
    You have to fill all Control Structure EDI_DC40 ( port etc. ) and Table parameter EDI_DD40 ( segment etc. )
    Read IDOC status and error in WE02.
    Goodluck.
    - Aakash

  • Sending IDoc from Non-SAP system to XI

    Dear all,
       We have a non sap system which needs to send IDoc to XI, Please could you answer my following four questions
    1. What should be the values for the following fields in the IDoc control record
    e.g. RCVPRN = <logical system name of XI>
    SNDPOR
    SNDPRT
    SNDPRN
    RCVPRT
    RCVPOR
    2. How does XI decide which port(idx1) to be used when it receives an idoc
    3. The third party system is a non sap one, so it does not have a client no, so I would assume, I need to use another SAP system as a meta data provider, in that case, how would i tell XI to use that port when it receives IDocs from the non-SAP system ?
    4. In what step does XI use the logical system name of the Business system(in SLD)?
    Thanks in advance
    cheers
    danus
    Edited by: Chidambaram Danus on Jan 25, 2008 2:21 PM

    Hi
    there is bit wrong interpretation of the statement
    If the sender system is a non-SAP system, the sender service is identified from the logical system name of the sender port.
    If the sender system is nonSAP it indicates taht the data is coming to XI from non sap systems such as file, database, webservice etc. to XI and from XI it will pass to sap as IDOC inbound.
    For this you need to create the logical system in SAP (receiver) and pass on that value to IDOC header.
    You could maintain it in the Business service used for Sender system (nonSAP). here it will be available in the tabs ---> History.
    note : IDOC is the concept of data container in SAP, you will not be able to have the IDOCs in non sap systems...
    Thanks
    Swarup
    Edited by: Swarup Sawant on Jan 25, 2008 2:54 PM

  • Receiving IDocs from non-SAP system ...

    Hello guys,
    I have problem with implementing IDoc-XI-IDoc scenario. The sender system is a subsystem (non-SAP system) sending IDocs but XI is not able to receive them. I thing the IDoc metadata can not be found.
    Logical system name of the sender is IF6020DEV. I registered the system in SLD. In Integration Directory I imported the Bussines System IF6020DEV to my scenario and I created communication channel of type Sender IDoc Adapter in it.
    In IDX2 I created new port called IF6020DEV and I copied needed metadata into the port. But it doesn't work. Probably I don't do it right because I'm beginner with SAP XI.
    Could you give me any advice how to configure XI for receiving IDocs from non-SAP system?
    Thank you in advance!
    Regards
    Zbynek

    Thank you very much. The issue described in refered discussion is almost same issue what I'm solving. Unfortunetally the described solution dosn't work for me.
    The sender system still returns following error. I know you probably won't understand it because you don't know the subsystem, but maybe you could get some idea what is wrong.
    05/29/09 16:09:19.482 idoup2 Logon...
    05/29/09 16:09:19.482 idoup2 RfcOpenEx (TRACE=1 CLIENT=110 USER=xxxxxx LANG=D LCHECK=1 GWHOST=xxxxxx GWSERV=3361 ASHOST=xxxxxxx SYSNR=61 PASSWD=<password>)
    05/29/09 16:09:19.529 idoup2 Logon RfcOpenEx result=1
    05/29/09 16:09:19.607 idoup2 Call to (IDOC_INBOUND_ASYNCHRONOUS) failed (3)
    05/29/09 16:09:19.607 idoup2 Handle=1
    05/29/09 16:09:19.607 idoup2 key............:
    05/29/09 16:09:19.607 idoup2 status.........:
    05/29/09 16:09:19.607 idoup2 message........:IDoc-Adapter Eingang: Der Absenderport ist initial
    05/29/09 16:09:19.607 idoup2 internal status:
    05/29/09 16:09:19.607 idoup2 idoc_upload failed with rc=(3), try(2)
    05/29/09 16:09:20.607 idoup2 key............:IDoc-Adapter Eingang: Der Absend
    05/29/09 16:09:20.607 idoup2 status.........:EXCEPTION SYSTEM_FAILURE RAISED
    05/29/09 16:09:20.607 idoup2 message........:IDoc-Adapter Eingang: Der Absenderport ist initial
    05/29/09 16:09:20.607 idoup2 internal status:
    05/29/09 16:09:20.607 idoup2 idoc_upload failed with rc=(18), try(1)
    05/29/09 16:09:21.607 idoup2 Logoff...

  • Segment creation for outbound Idocs to non-SAP system

    Hi,
    I need to create a custom idoc for outbound interface to a non-SAP system. Here I need to create segments. So, should I create the fields in the segment with the attributes of fields in non-SAP system or fields attributes should be of SAP system.
    For example:
    There is a field invoice number which is of 10 Chars in SAP but in legacy it is divided into 2 fields: invoice prefix of 2 chars and invoice no. of 8 chars. Should my segment contain one invoice field of 10 chars or should it be two fields with 2 and 8 chars?
    In general, always should the segment fields contain field attributes based on receiving system?
    Thanks in advance.
    Sriram.

    Hi
    Should my segment contain one invoice field of 10 chars or should it be two fields with 2 and 8 chars?
    I think it shoild be better to have 2 fields, but probably the result will be the same if you send the idoc by a text file, because both informations should be contiguos, I mean if you have file with a record like this:
    1234567890
    This record can be obtained downloading a segment with 2 fields:
    FIELD1 = '12'
    FIELD2 = '34567890'.
    or single field:
    FIELD = '1234567890'.
    So it'll be the same for tje target system
    In general, always should the segment fields contain field attributes based on receiving system?
    It depends on who has to convert the idoc to the right format for the target system
    I mean you can create a "SAP" Idoc, so the receiving system will have to convert it to the right format
    or
    you can send the idoc in the right format, so the receiving system doesn't need to convert it
    Max

  • FM to recive the Idocs from Non-SAP system.

    Hi Gurus,,,,
    Is there any FM to recive the IDocs from the outside(Non-SAP) into SAP system.
    Thanks In Advance.
    Abhi....

    hi digvijay
    You could refer to this link which has method to convert  xml to Idoc:
    http://www.wmusers.com/forum/showthread.php?t=9059
    Best Regards
    Manthan.

  • Sending IDoc to Non-SAP system

    Hi Folks,
        I have to send an IDoc to the external system. Kindly let me know the steps to be performed for it.
    Reagrds,
      santosh

    Just to be a little more clear. The step 8 in the previous link.
    8. Checking the Partner Profiles.
    o       Go to T. Code WE20
    o       Expand Partner Type 'Vendor'
    o       Select the Partner profile __
    o       Double click on Message Type ZCATSTIME in Outbound parmtrs.
    o       Check Receiver Port is assigned correctlyo     
    Check the Basic type as your Basic IDOC object.
    Disha.

  • EDI Sales order creation in CRM through inbound IDocs from non SAP system

    Hi Friends,
    We are having a scenario where we need to create a Sales Order in CRM for a B2B EDI transmission through IDoc. Customer is sending the EDI Transmission of his Sales order , which is passing through PI and then reaching to CRM to create a Sales order.This is the design we need to follow to make it happen,we are initially trying to create an order using WE19 for testing and the details are:
    Basic Type - CRMXIF_ORDER_SAVE_M01
    Message Type - CRMXIF_ORDER_SAVE_M
    Functional Module - APPL_IDOC_INPUTI which is automatically giving a status text as " Function module CRMXIF_ORDER_SAVE has been called successfully", but no sales order is saved in CRM.
    We are getting idocs posted successfully with status 53 with the statuses sequence 74, 50 ,64, 62 and 53.Our issue is inspire of the Idoc having status 53 and the FM called successfully we are not seeing the sales order created in CRM.
    We are stuck here no sales order is created in CRM.
    Are we missing any config. - set up  - Prerequisit  -  Any OSS note need to be applied  --  ANy middle ware setting ?
    Any help will be greatly appreciated.
    Thanks
    Vijay

    Hi Christophe,
    Awesome!!!!!! it worked, You are the best.
    I could able to create a sales order in CRM,but below are the valid data I passed in the respective segment fields.Except for first 3 values rest all did not get reflected in teh Sales order.I feel i am missing some qualifiers.
    Can you kindly share the  IDoc data to be passed in...along with respective segments and fields:
    Segment                                                 Field
    E101CRMXIF_BUSTRANS     OBJECT_TASK         
    E101CRMXIF_BUSTRANS     PROCESS_TYPE
    E101CRMXIF_BUSTRANS     POSTING_DATE
    E101CRMXIF_PARTNER                          PARTNER_NO
    E101CRMXIF_PARTNER                RELATION_PARTNER_NO
    E101CRMXIF_ORGMAN         SALES_ORG
    E101CRMXIF_ORGMAN          DIS_CHANNEL
    E101CRMXIF_ORGMAN         DIVISION
    E101CRMXIF_SALES             PO_NUMBER_SOLD
    E101CRMXIF_SALES            YOUR_REF_SOLD
    E101CRMXIF_SALES            PO_NUMBER_SHIP
    E101CRMXIF_BUSTRANS_ITEM     ITEM_NUMBER
    E101CRMXIF_BUSTRANS_ITEM     ITEM_TYPE
    E101CRMXIF_BUSTRANS_ITEM     ORDERED_PRODUCT
    E101CRMXIF_PRODUCT_I     PROCESS_QTY_UNIT
    E101CRMXIF_PRODUCT_I     PROCESS_QTY_UNIT_ISO
    E101CRMXIF_PRODUCT_I     BASE_QTY_UNIT
    E101CRMXIF_PRODUCT_I     BASE_QTY_UNIT_ISO
    E101CRMXIF_SCHEDLIN_I     ORDER_QTY
    Thanks a ton in advance .
    Vijay

  • Steps of EDI is used to transfer IDOC from R3 system to non sap system

    Hi Experts,
    Can you provide me Steps to configure EDI is used to transfer IDOC from R3 system to non sap system?
    Full points will be assigned.
    Thanks in advance!
    Sapna

    Hello,
             The EDI Configuration required to be done for Transfering IDoc to non SAP System is.
    1. First of all, we need to identify the Transaction Data which is required to be Transfered to external System.(Ex: Sales Order Data or Shipment Data or Delivery Related Data).
    2. Secondly, Identify the IDoc Type & Message Type. IDoc Type can be found in Transaction WE30 & Message Type Can be explored in Transaction WE81.
    3. After that, assign the IDoc Type to Message Type in WE82.
    4. Identify the Selection Program (Outbound) which is generally a Function Module in the Form of IDOC_OUTPUT_<Message Type>. Example, if the Message Type is ORDERS, the FM will be IDOC_OUTPUT_ORDERS.
    5. Assign the Function Module to a Process Code in WE41 (Process Code for Outbound).
    6. Configure Port Definitions in WE21 for which the RFC destinations are to be maintained in Transaction SM59.
    7. Maintain Partner Profiles for the Outbound Message Processing in WE20.
    8. Last, but not the Least, we need to Focus Mainly on Message Control Configuration which is nothing but maintaining the Output Type for the Outbound IDoc to be Triggered for the Sales Order Application or Delivery Application.
       i. In Message Control Configuration, we'll maintain
          a. Condition Tables
          b. Access Sequences
          c. Output Types
       ii. To Create the above elements, we can go to SPRO Transaction and do the same depending on the Application Area such as Sales / Shipping / Logistics Execution etc.
       iii. For Output Types & Access Sequences, we can go to the Transaction NACE or VK01 in which we'll maintain the Output Types / Access Sequences & Condition Records.
       Please note that all the above steps may not be needed if we are using some of the Standard Elements provided by SAP such as Message Type, Process Code, IDoc Type & Selection Program as many of the Standard SAP Applications have their own Elements for different Application Areas.
       For example, if you want to send an Order Confirmation IDoc when the Sales Order is saved, you can use the Message Type ORDRSP, IDoc Type ORDERS05 & Selection Program as IDOC_OUTPUT_ORDRSP.
       However, Message Control Configuration is the Key Factor and is required for all the Applications as per the Customer's / Client's Requirements.
    Hope the above procedure was clear.
    Thanks and Regards,
    Venkat Phani Prasad Konduri

  • HOWTO: Process IDocs To non-SAP receiver

    Hi Experts!
    Today our SAP R/3 sent the IDoc LOIPRO to non-SAP external system, called O2P.
    Now, we would like to send this IDoc (LOIPRO) to XI, and the XI sends the IDoc to the non-SAP external system.
    Then, our scenario will be:
    Step 1. The IDoc LOIPRO is sent from SAP R/3 to XI
    Step 2. Inside the XI, this message is routing and mapping to the
    IDoc LOIPRO too.
    Step 3. The XI sends the IDoc LOIPRO to the O2P (non-SAP external system).
    Well, until Step 2, everything is OK.
    But, we are having troubles to create an IDoc Adapter receiver to O2P (external system), because the O2P is a non-SAP system.
    So, how can we create the communication channel IDoc Adapter, if the receiver isn't a R/3 system ?
    All information will be welcome.
    Thanks a lot,
    Honorato

    HI,
    You can achieve this by dealing with the Native IDOC structure via Integration server for Non-sap systems.
    In this case you can use the IDOC adapter to receive the IDOCs to Non-SAP system. Its like treating the receiver Non-SAP system as an SAP system only. For this Non-SAP system should be compatible enough and SAP certified to accept the IDOC structures..
    Refer similar kind of discussions and reference docs.
    Sending and Receiving IDOC from SAP to Non SAP system
    http://help.sap.com/saphelp_nw04/helpdata/en/52/16abc2543311d1891c0000e8322f96/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a6524507d11d18ee90000e8366fc2/frameset.htm
    Thanks
    swarup

  • Whether this function module K_DOCUMENT_UPDATE can send IDOC to Non SAP Sys

    Hi,
    I know function Module K_DOCUMENT_UPDATE can sent IDOC to R/3 systems.
    1.Whether this function module can sent the IDOC to Non SAP System?.
    2.How to make sure, that the function module can sent IDOC to Non SAP System?.
    Please advise.Thanks.
    Regards,
    Dinesh

    Hi Dinesh,
          Inside this function module K_DOCUMENT_UPDATE there is a FM available 
    CALL FUNCTION 'K_DOCUMENT_SEND'
           EXPORTING
                I_LOGSYS      = LOGSYSTEM
                I_COBK        = COBK
           TABLES
                T_COEP        = LT_COEP
                T_COEPL       = LT_COEPL
           EXCEPTIONS
                 This FM is responsible to send IDOCs to the defined logical system LOGSYSTEM. No matter this logica; system is SAP or non-SAP IDOC will be sent. Prerequisite are,
    1) RFC connection exist between system
    2) Partner profile is configured between the system.
    Regards
    Ram

  • ALE: Sending IDOC inbound from non-SAP system

    Hi
    How does one need to setup the SAP system to accept data from an external non-SAP system. Should one setup some sort of conection to trigger an import to SAP?

    Hi,
    On the SAP side you need to create a partner profile in T.code: WE20 of type LS. And add the message type, idoc type in the inbound parameters section of it.
    And you must also specify the partner number you created here, on the IDoc control record.
    This link from SAP help, will provide some addition data.
    <a href="http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6524507d11d18ee90000e8366fc2/frameset.htm">http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6524507d11d18ee90000e8366fc2/frameset.htm</a>
    Hope this helps.
    Regards,
    Sumant.

  • Idoc  b/w sap(r/3) and non sap system .

    hi gurus,
    how i pass an outbound idoc  b/w sap(r/3) and non sap system .
    which  function module we will use in this scenerio for inbound and outbound idoc both
    please guide me  with an example .

    Hi Pawan,
    Non SAP system should have RFC adapter in order to receive and send Idocs from/to SAP.
    If this is not your case, you should us a Integrator Middelware with RFC and standard adapters like SAP Exchange Infrastructure.
    If for example, your non SAP system is able to process data from flat files you can build next interface: SAP send Idocs to middleware that receive them using RFC adapter, middelware maps Idocs into flat file and send it to a one of non SAP system folder using FTP adapter. Non sap system triggers the flat file into its applications.
    Reward points if useful.
    Roger

  • Stop generation of Inbound IDOC from Non - SAP

    Hi Experts,
    I have a requirement to update data base PA0105 for Email. The Email is coming for external system (Non SAP), which contains 1 employee in 1 IDoc. If SAP has valid email and same has been passed for external system to SAP via Inbound IDoc, it should not update PA0105. Hence, I am deleting the IDOC segments in Exit "ZXHALU07", before RBDAPP01 is getting called. As per the requirement its working fine.
    Question: Is there any way to stop generating the IDOC. If the email ID were same, then IDoc should not generate in SAP.  Please provide your valuable reply.  Thanks.
    Regards,
    Ganesh R K.

    Hi All,
    Scenario:
    Need to Create Inbound IDOC in SAP system and receive it from Non Sap system.
    Problem:
    IDOC is successfully dispatched from Non Sap system(Sender Side) but, it is not received to SAP system(Receiver Side).
    At receiver side(in SAP system) all configuration settings are fine (RFC destination is tested with no errors, partner profile are given with the inbound parameters, function module is successfully tested with no errors, distribution model is created etc).
    In receiving system(SAP) no IDOCs are generated in We02 after sending the IDOC from Non Sap side.
    Can any one please suggest me the reason for the above mentioned problem?
    Thank you,
    Swetha.C

  • Inbound MATMAS: layout from Non-SAP system

    Hi
    I would like to know how the layout of the inbound MATMAS file(xlm/flatfile) should look like and how will i be able to trigger an inbound update of MATMAS from an external non-SAP system without a middleware system?
    Giovanni
    Message was edited by: Giovanni Baumann

    Hi,
    It will probably be looking like a IDOC in XML format. You can go to WE60 transaction and look at the XML schema (documentation --> XML Schema), that is how your file with data should look like.
    Then your program can pick up the file and pass the data to EDI_DATA_INCOMING function.
    Regards,
    Ravi
    Note : Please mark the helpful answers

Maybe you are looking for