SAP PI-Idoc -Invoic

Dear  PI Guru,
I've a scenario  l WS(Web service) -
>to----
> Idoc invoic (SAP ECC)
the  ws send idoc xml data to pi via soap adapter . The idoc xml will be convert to pi xml data and the pi xml data will be convert to idoc and pi send to ecc. This part is ok but a have a problem to valid the following fields in sap ecc.
  - Supplier Code (Vendor)
  - Account Code
  - Additional Account Assignment (Cost Center)
-  Tax Information
- Terms of Payment (Days)
- PO/RINGI Reference number
Kindly could you tell me how i can valided the fields in the sap fi?
Thanks in advance.
Ombessa

Hi,
If you want to validate the data w.r.t to the data maintained in SAP...
If the idoc used is a standard then the Standard FM will be able to do that validations.
if the idoc used is extended or custom where you are passing these fields then you can use user exit for the Function Module and can do the validation...
if you like to do the data validation in PI itself then need to use RFC and do a lookup ..
HTH
Rajesh

Similar Messages

  • The PO number for cXML invoice mapped to SAP IDoc INVOIC.INVOIC01

    Hey, PI gurus,
    I mapped a cXML invoice to SAP IDoc INVOIC.INVOIC01.
    My problem was that for the multiple line items invoice, the PO number will only show up in  IDoc E1EDP02->BELNR for the first line item and will not show up for the other line items.
    In cXML message, the PO number is in InvoiceDetailOrder->InvoiceDetailOrderInfo->OrderReference->orderID.
    I changed the value in Context for @orderID and it did not help.
    Any advice?
    Thank you in advance!
    Fisher Li

    Hi,
    I understand your scenario is XML to IDOC.
    Now I assume one XML corresponds to One IDOC which corresponds to 1 Invoice.
    In your XML, I think PO Number is coming multiple times but same value. Is my understanding correct?
    If that is the case, use below mapping.
    PO Number --> Remove Context --> Colapse Context--> Target PO Number field
    This will ensure, you will get only one PO number in your IDOC.
    Else, Please provide your source XML sample.
    -Gouri

  • STO - IDOC INVOIC - MM Receipt on Delivery note rather PO number

    Hi Gurus,
    I'm processing an MM Receipt INVOIC IDOC to create an Intercompany Vendor Invoice against a Purchase order.
    This is integrated in a standard Stock Transfer Order. This IDOC is generated using Output type RD04 from Intercompany billing.
    When SAP creates IDOC, it is based on the Delivery note number rather than the PO number, even I have the PO and Delivery in my PO historic, and even if I have IDOC segment E1EDP02 QUALF 001 with PO and segment E1EDP02 with QUALF 016 with Delivery note.
    I tried to managed PO item flags: "Invoice Receipt Indicator" or "Indicator: GR-Based Invoice Verification".
    But there is no impact.
    When I create the MM Receipt manually using TCode MIRO in reference to the PO. It works.
    When I create the MM Receipt manually using TCode MIRO in reference to the Delivery not. It doesn't work. I got the same error message "Delivery note/service entry sheet xxxx does not exist".
    I conclude that when SAP performs the IDOC, someting in the IDOC tells him to create a invoice in reference to the Delivery note rather than the PO. How can we change it?
    Please, could you help me to understand this blocking point and to allow to create the MM Receipt on PO?
    Many thanks.
    Stéphane.

    hello, friend.
    i am not an expert in MM, but....
    i noticed that when using MIGO, you can do GR based on an inbound delivery, and maybe also an outbound delivery (from STO).  an outbound delivery created in an STO scenario should have links to the STO related PO.  could this be the link you are looking for?
    regards.

  • Inbound SD IDOC invoice

    Dear All,
    I am struggling to find inbound SD invoice IDOC. Any idea which standard IDOC fuc is used ?
    Process - SAP is acting as backend system to receive customer invoice
    I could see IDOCs for FI posting Accounting document
                     Idoc for credit memo
                     Idoc for MM invoice
    But I dont find any SAP standard IDOC, I could find IDOC_INPUT_S1INVOICE_SD byt internally its using IDOC_INPUT_INVOIC_MRM (MM invoice)
    Can anyone help me out in getting correct IDOC for sales Invoice.
    Just to add in VF01 transaction i am looking for to post SD invoice.
    Thanks and regads
    -Indrajit
    Message was edited by:
            Indrajit Chauhan -TCS

    Hi,
    thse are the avaialbe function modules for invoice.
    IDOC_INPUT_INVOIC_FI
    IDOC_INPUT_INVOIC_MM
    IDOC_INPUT_INVOIC_MRM
    Regards,
    Nagaraj

  • EDI/ IDOCs - Invoice

    Hi,
    I have few questions regarding the inbound processof invoice:
    1. What is the difference between 110 ( air freight details& invoice) and 820 ( billing) ?
    2. I'm in 4.6C, For inbound 110 what is the IDoc type/ Process Code and Message Types to be used?
    - INVOIC01 for IDOC type is this correct? and Process Control is it INVL or INVM?
    3. Steps to configure - transactions/ details?
    Thanks in advance.
    Renu

    Hi
    110 and 810 are different types of invoices based on their functionality with different doc type
    you can use the same Basic Idoc type message type for the,
    see the EDMSG for message types and
    EDBAS for Idoc Types and take the correct one and use
    Data Creation in Idoc
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
    asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
    While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
    IDoc is a intermediate document to exchange data between two SAP Systems.
    *IDocs are structured ASCII files (or a virtual equivalent).
    *Electronic Interchange Document
    *They are the file format used by SAP R/3 to exchange data with foreign systems.
    *Data Is transmitted in ASCII format, i.e. human readable form
    *IDocs exchange messages
    *IDocs are used like classical interface files
    IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
    WE30 - you can create a IDOC type.
    An IDOC with data, will have to be triggered by the application that is trying to send out the data.
    FOr testing you can use WE19.
    How to create idoc?
    *WE30 - you can create a IDOC type
    For more information in details on the same along with the examples can be viewed on:
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
    http://www.sappoint.com/presentation.html
    http://www.allsaplinks.com/idoc_search.html
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://www.erpgenie.com/sapedi/idoc_abap.htm
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30 )
    Create Message Type ( WE81 )
    Assign Idoc Type to Message Type ( WE82 )
    Creating a Segment
    Go to transaction code WE31
    Enter the name for your segment type and click on the Create icon
    Type the short text
    Enter the variable names and data elements
    Save it and go back
    Go to Edit -> Set Release
    Follow steps to create more number of segments
    Create IDOC Type
    Go to transaction code WE30
    Enter the Object Name, select Basic type and click Create icon
    Select the create new option and enter a description for your basic IDOC type and press enter
    Select the IDOC Name and click Create icon
    The system prompts us to enter a segment type and its attributes
    Choose the appropriate values and press Enter
    The system transfers the name of the segment type to the IDOC editor.
    Follow these steps to add more number of segments to Parent or as Parent-child relation
    Save it and go back
    Go to Edit -> Set release
    Create Message Type
    Go to transaction code WE81
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter
    Click New Entries to create new Message Type
    Fill details
    Save it and go back
    Assign Message Type to IDoc Type
    Go to transaction code WE82
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    Click New Entries to create new Message Type.
    Fill details
    Save it and go back
    Check these out..
    Re: How to create IDOC
    Check below link. It will give the step by step procedure for IDOC creation.
    http://www.supinfo-projects.com/cn/2005/idocs_en/2/
    ALE/ IDOC
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
    go trough these links.
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
    1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
    2.IDOCs are independent of the sending and receiving systems.
    3.IDOCs are independent of the direction of data exchange.
    The two available process for IDOCs are
    Outbound Process
    Inbound Process
    AND There are basically two types of IDOCs.
    Basic IDOCs
    Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
    Extended IDOCs
    Extending the functionality by adding more segments to existing Basic IDOCs.
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30)
    Create Message Type ( WE81)
    Assign Idoc Type to Message Type ( WE82)
    imp links
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    www.sappoint.com
    --here u can find the ppts and basic seetings for ALE
    http://sappoint.com/presentation.html
    www.sapgenie.com
    http://www.sapgenie.com/ale/index.htm
    Create Message Type (WE81)
    Create Segment type (WE31)
    Create IDOC Type (WE30)
    Assign Segment type to Idoc Type (WE30)
    Assign Idoc Type to Message Type (WE82)
    Assign Function Module – Mtype – Idoc Type (WE57)
    Create a Process Code – (WE41-outbound, WE42-Inbound)
    Enable Customized FM to ALE (BD51)
    Assign these to Partner Profile (WE20)
    check the following thread:
    /message/2222912#2222912 [original link is broken]
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/e6/04c03e7856b300e10000000a114084/frameset.htm
    <REMOVED BY MODERATOR>
    Regards
    Anji
    Edited by: Alvaro Tejada Galindo on Apr 29, 2008 3:30 PM

  • Sap Xml Idoc Inbound in Sap

    Hi all
    If I have to receive an Edi message from an external system (for example an Invoice from a vendor), could I get in Sap an Idoc from a flat file formatted as a Sap Xml format?
    As Sap Xml format I mean the same structure of an xml file generated in Sap to the Xml file port.
    (The sap r/3 system is a Sap Enterprise version)
    Thanks in advance
    Bye
    Carlo
    Message was edited by: carlo pergola

    Hi
    Thanks for the answer.
    Regarding the FM IDX_XML_TO_IDOC, I thing that I can't use it directly because I have to write a program, I have to read the Xml file (that is located in a special directory of the operative system) and then use the FM putting xml data in the XML_DATA import parameter.
    It's correct?
    Bye
    Carlo

  • TAX ASSESSMENT BASIS MISSING IN SEGMENT E1EDK04 FOR IDOC INVOIC

    Hello,
    Tax assesment basis is missing in segment E1EDK04 for IDOC INVOIC. In EDI messages,Tax assesment basis has to be sent in TAX segment together with VAT rate. When there is only one VAT rate this is not a problem as tax assessment basis is the total net amount (And we have it in the IDOC). On the other hand when there is more than one VAT rate in the invoice, we don't have in the IDOC the Tax assesment basis of each VAT rate.
    Did someone experience this issue ? How did you handle it ?
    Regards.
    Eric.

    Dear Eric
    The latest pack available now for these components are (for PI 7.1)
    SAP BASIS 7.11 support package 6
    SAP HR 6.04 with Support Package 44
    If you are in PI 7.0 then I suggest you download the latest patch from marketplace.
    Sourabh

  • IDOC Invoices and EDI Invoices

    Hi Gurus,
    Please help me in understanding the flow of IDOC Invoices and EDI Invoices.
    What is the purpose of using IDOC and EDI? How it works?
    Please revert asap.
    Thank You

    HI Verma,
    You can post the invoices in SAP system through IDOCs.
    Mostly, this activity is performed/triggered, when the invoice data is with third party.
    Third party will have the invoice data base and sends a file to SAP.
    SAP XI will map/convert the file(sent by third party) to fields in SAP and posting of invoice happens.
    Please refer the below links for EDI Invoices
    EDI invoices
    Creating EDI Invoices
    Hope this will help you in understanding IDOC invoices and EDI Invoices.
    Regards,
    Praisty
    Edited by: Praisty on Dec 22, 2009 1:20 PM

  • IDOC: INVOIC - for more than one purchase order

    Hello Experts,
    I have an IDOC INVOIC for incomming invoices.
    The problem is, that in case of more purchase orders (GR was posted with the same delivery number!) the IDOC can not be posted, because it just finds the first PO (invoiced quantity higher than GR quantiy).
    How can i reach, that the IDOC finds all PO with the same delivery number (from GR) und splits up the the relevant purchase orders!
    In Segment E1EDP02
    i have qualifier 016
    and BELNR = is the delivery numner by GR (the delivery numner is the same for all POs).
    Many thanks in davance,
    Hannes

    Hi Prashant
    1-I accessed form Setup > Transactions > AutoInvoice > Grouping Rule and removed (Group by) Data at the table
    2-at system opiton i made this rule used
    3-i Created 2 sales orders and shipped it
    4-Post to the Receivables
    it generates 2 invoices for every sales order not one invoice for the two sales order
    what's my error
    Regards
    Amr Hussien

  • Raise an event when an idoc invoice (INVOIC02) gets created in error

    Hi All,
    I’m trying to generate an email message from an output invoice when processed incorrectly.
    I created a subtype of IDOCINVOIC, updated the linkage table using swe2  but the events are not raised when I go to re-issue my invoice output.
    I know it’s possible to raise these events in idoc invoice exit ZXEDFU02 but  the status is not created at this stage.
    Is it possible to raise an event when an idoc invoice gets created in error?
    King Regards
    Ann

    @CoolDadTX -That's because I've written com servers in the past using VB.net, however they were not registered with the Running object table.
     What I'm trying to do in this case is have an application that will be started by the user, and then they will start another application written in .Net to connect to that first application.  The reason for this is that we have an application
    written in an old version of smalltalk that doesn't seem to support getObject but can create an IUknown, and we already have base classes to attach to COM objects written in .Net.  As this new application needs to be started first it can't be tightly
    coupled to the legacy application, so we are trying to register the new application and then connect a Dotnet Client that is being started through a  COM Interface from the legacy application.  I know it's convoluted but we need to keep the legacy
    application alive for a bit longer while we rewrite it as an add-in for the new application.
    The article that you linked to has been very helpful on the server side, but do you have any ideas as to how I can connect the sink on the client side in C#?

  • IDOC Invoice posting, LC3 doesnt have any amount.

    Hi GURUs,
    I have an IDOC invoice posting. Inside this document, I have line item which LC3 dont have any amount. Document Currenty, LC1 and LC2 have amount, only LC3 dont have any amount.
    For all these items, they are having same material number.
    Any possibility or idea what have cause this kind of entry? Thanks.

    we have similar scenario in EU.  One company code exists in SKK currency and that company supplier to customer in other EU.  Now that company code swtiched to EUR currency (with toher co.code) and using EUR to EUR as LC3
    ~Thanks!
    Rajesh

  • Assignment test in SAP for Logistic Invoice varification

    Hello Experts,
    We want to carry out Assignment Test in SAP for Logistic Invoice varification asp er the scenario:
    "The assignment text is a process step preceeding the invoice verification in background processing. The software checks cyclically whether an open goods receipt exists for the invoices entered in background processing. The software begins the invoice verification only when open goods receipts exist for an invoice. Effects on system administration are characterized as follows: the assignment test should be called in background processing before the report for the invoice verification, because the assignment test helps create the worklist for background processing. An assignment test is faster than a complete invoice verification in background processing, inasmuch as the software does not have to process as much data from the database and does not have to execute as many checks and reports. In addition, the software does not execute full assignment of the open goods receipts as in background processing; it executes only basic assignment"
    Please tell me if anybody has executed this and the required settings.
    Thanks,
    Radhakanta

    Hi
    The assignment filed material will be populated only for the documents after the Chnage in the G/L account.
    This change will not effect the Previous documents
    Mass change may not be posssible as accounting documents may not contain the same material.
    Thanks & Regards
    Kishore

  • Developed Sap scripts of invoice documents

    hi,     
        how to Developed Sap scripts of invoice documents, purchase requisition documents and purchase order documents to suit client needs.if understand any one give me one example.

    you have standard one.
    invoice ---  RVINVOICE01.
    U CAN FIND ALL IN TNAPR TABLE.
    U NEED TO CHANGE THOSE AS PER CLIENT REQUIREMENT.
    REGARDS.
    SANTHOSH REDDY

  • Packaging IDOCs - SAP R3(IDOCs) - XI - Flat File

    Hi,
    I've got the scenario SAP R3(IDOCs) -> XI -> Flat File.
    The IDOCs are sent from R3 with the Option Send by Packet. There is 10 Idocs per packet.
    What I want to do is create one flat file for each packet.
    So one packet of 10 Idocs must create 1 flat file.
    Is it possible to do that whithout BPM ?
    Regards,
    Vincent

    Hi,
    Refer to this weblog which gives step by step process for IDoc to file scenario.
    /people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
    Use BPM to collect tyhe Idoc, standard pattern is available for the same.
    http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
    This following weblog explains the collection of Idoc.
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm - Collection of IDoc to Single File
    This also explains the IDoc package.
    /people/sravya.talanki2/blog/2005/12/09/xiidoc-message-packages
    Thanks,
    Prateek

  • Receive XML file from CIDX adapter and Post to SAP as IDoc using XI

    I have scenario where we will receive the xml file from CIDX adapter. I need to take the xml from CIDX, do the Database Lookup and post it to SAP as IDoc.
    Any technical documentaion or step-by-step process documents can be very helpfull to me, since I am new to XI
    Thanks
    SP

    Lookup in XI is used to call the target data storage system and get data from there to your mapping programme.
    In XI you can do Lookup in Message Mapping, Java Mapping and in XSLT Mapping. Previously Lookup in XI was system dependent. But now what ever the system are i.e. SAP system or non-sap system(Oracle,MS SQL etc) lookup API are same.
    Overview of Lookup
    - Lookups are used to identify/request the data from mapping program.
    - It interrupt the process and looking for data which was stored in target system.
    - It get that data and comeback to process and continue with that data.
    Types of Lookups in XI
    - JDBC Lookup: JDBC lookup is used for accessing data from database (non SAP).
    - RFC Lookup: RFC lookup is used for accessing the SAP Data.
    - SOAP Lookup: SOAP lookup is used for accessing data from Webservice
    Steps to perform Lookup in Mapping
    Import package com.sap.aii.mapping.lookup.*;
    Create connection to the target Database system.
    // Determine communication channel created in ID
    Channel channel = null;
    channel = LookupService.getChannel("DB-SYSTEM-NAME","DB-CHANNEL-NAME");
    // Get system accessor for the channel.
    DataBaseAccessor accessor = null;
    accessor = LookupService.getDataBaseAccessor(channel);
    Build the Query String.
    Getting Result
    // Execute Query and get the values.
    DataBaseResult resultSet = null;
    resultSet = accessor.execute(Query);

Maybe you are looking for