IDOC creation from flat file.

Hello Friends.
I need to create a custom program for posting goods receipts for a purchase order. 
I think  a custom program needed to achieve this task because i need to do mappings prior to create an IDOC. Now using a flat file what are the function modules or steps involved. can any one of you able to help me on this.
Thanks

Sorry, I'm trying to remember the name of the function module I used....I had a similar situation...I had a flat file which I processed and constructed an IDOC which I then saved as an incoming IDOC using the FM....  Because we had our settings (standard SAP process code, standard SAP FM IDOC processor, etc.) set to automatically fire off the IDOC processing, the result was that I read the file, saved the IDOC and SAP then immediately grabbed and posted the IDOC.  I will do a little search for the FM I used to create the IDOC in my own system and get back to you if you think that would be helpful.  Sorry for my memory lapse....

Similar Messages

  • Idoc Structure From Flat FIle

    Hi,
    I have two queries.
    1.I need to import idoc structure from excel file not from sap, is it possible ?
    2 what are the detalied steps to implement following SAP note for getting processed file name at runtime.
    Thanks & Regards
    Tuhin
    Symptom
    You want to access the name of a file sent through a File Adapter Sender channel from a custom developed XI module.
    Other terms
    XI 3.0, XI30, File Adapter, Module Processor, Module Development, Modules
    Reason and Prerequisites
    The functionality described in this note requires SP 9 or higher of the component XI ADAPTER FRAMEWORK CORE 3.0.
    Solution
    The File Adapter passes the name of the processed file to the module processor. This information is available in a Hashtable object accessible as as supplemental module data under the name "module.parameters" within the module's 'process' method.
    For further information, please take a look at the example code below:
    public ModuleData process(ModuleContext mc, ModuleData md) throws
      ModuleException
      Hashtable mp       = (Hashtable)
                             md.getSupplementalData("module.parameters");
      String    fileName = null;
      if (mp != null)
        fileName = (String) mp.get("FileName");

    Hi Tuhin,
    <i>
    1. .I need to import idoc structure from excel file not from sap, is it possible ?</i>
    Yes and No; If the structure in the Excel sheet is defined  in XSD format (XML schema) then it should be possible to import it assuming you are using XI 3.0. In 2.0 this is not possible.
    Not sure if in XI 3.0 you are allowed to import Excel files straight forward into XI.
    <i>2 what are the detalied steps to implement following SAP note for getting processed file name at runtime.</i>
    I'm not quite sure but this looks to me like you have to implement this within a Java custom function/mapping...
    The data (in this case the filename) is encapsulated in a Hashtable object available during runtime.
    Cheers,
    Rob.

  • Orders creation from flat file

    experts
    I am having a flat file like below
    hd ponumber customer number podate delivery date
    it material1 materialtext quantity price plant
    it material2 materialtext quantity price plant
    it material3 materialtext quantity price plant
    hd ponumber customer number podate delivery date
    it material1 materialtext quantity price plant
    it material2 materialtext quantity price plant
    it material3 materialtext quantity price plant
    so here hd represents the header data and it represents the item data for the above header.
    so in above i am having 2 sales orders data.
    the only way that i can distinquish is with the field hd and it ie what is header and what is item.
    I want to pass only one set of data to the idoc function  to create the order.
    so i want to pass the header and relevant item info.
    my itab internal table is having all the data in the above format.
    loop at itab into waitab.
    *at end of field1 " is not working
    here i will be populating the header and item data to create one sales order.
    endloop.
    so please tell me how to pass at a time one set of data ie header data and relevant item data then next time again header and relevant item data. please help
    this is similar to below theread, but belwo theread is using po number but here i dont have that sepearation
    order creation logic how to pass line items

    hd ponumber customer number podate delivery date
    it material1 materialtext quantity price plant
    it material2 materialtext quantity price plant
    it material3 materialtext quantity price plant
    hd ponumber customer number podate delivery date
    it material1 materialtext quantity price plant
    it material2 materialtext quantity price plant
    it material3 materialtext quantity price plant
    Hi,
    Can u try thsi logic.
    DATA : L_CNT TYPE I VALUE 1,
                ITAB_TEMP AS SAME STARUCTRE OF ITAB.
    LOOP AT ITAB INTO WA_ITAB FROM INDEX 1.
    IF WA_ITAB+0(2) EQ 'HD'.
    L_CNT = L_CNT +1
    ENDIF.
    IF L_CNT EQ 2
    hd ponumber customer number podate delivery date
    it material1 materialtext quantity price plant
    it material2 materialtext quantity price plant
    it material3 materialtext quantity price plant
    APPEND THIS DATA TO TEMP TABLE.
    ELSEIF L_CNT EQ 3
    WE WONT APPEND DATA TO TEMP TABLE.
    PROCESS TEMP DATA TO IDOCS.
    DELETE ITAB FROM TEMP ITAB . " SO IN ORIGINAL ITAB WE WONT HAVE FIRST ORDER ITEM DETAILS.
    REFREST TEMPITAB.
    ENDLOOP.
    ENDIF.
    if u have any further issues u can try while looping itab use sy-tabix appropriately.
    Regards,
    BSVASU.

  • Data Source creation for Master Data from Flat File to BW

    Hi,
    I need to upload Master Data from Flat File. Can anybody tell step by step right from begining of creation of DataSource up to Loading into Master Data InfoObject.
    can any body have Document.
    Regards,
    Chakri.

    Hi,
    This is the procedure.
    1. Create m-data with or without attributes.
    2. Create infosource .
        a) with flexible update
             or
        b) with direct update
    3. Create transfer rules and assign tyhe names of m-data and attribute in "Transfer rules" tab and transfer them to communication structure.
    4. Create the flat-file with same stucture as communication structure.
    5. if chosen direct update then create infopackage and assign the name of flat-file and schedule it.
    6. if chosen flexible update the create update rule with assigning name of the infosource and the schedule it by creating infopackage.
    Hope this helps. If still have prob then let me know.
    Follow this link also.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm
    Assign points if helpful.
    Vinod.

  • Cube creation & Data loading from Flat file

    Hi All,
    I am new to BI 7. Trying to create a cube and load data from a flat file.
    Successfully created the infosource and Cube (used infosource as a template for cube)
    But got stucked at that point.
    I need help on how to create transfer rules/update rules and then load data into it.
    Thanks,
    Praveen.

    Hi
    right click on infosource->additional functions->create transfer rules.
    now in the window insert the fields you want to load from flat file->activate it.
    now right click on the cube->additional functions->create update rules->activate it.
    click on the small arrow on the left and when you reach the last node(DS)
    right click on it->create info package->extenal data tab->give your FLAT file path and select csv format->schedule tab->click on start.
    hope it helps..
    cheers.

  • How to upload  schedule line from flat files to sap file

    dear all,
    i want to upload the schedule lines from flat files to sap schedulle lines
    but the flat files have 15 schedule lines and the data is as per date
    so how to upload that and the fields available in flat files are more than the sap screen
    we are having more than 6 items
    and 15scedule lines its abt 90data to be upload
    for one customer in every 15 day
    so how to do this
    is there any direct use in functional side
    with out the help of any abap
    but my user will do it
    so he need a permanent solution
    with regards
    subrat

    Hi Subrat ,
    u can upload the data either ( Master /Transaction) data with the help of lsmw. for that all u need to do is go through the lsmw and do it. in that u can go Batch input recording/ BAPI/ IDOC any of that. here i am sending the LSMW Notes go through it and do the work.
    once u create the LSMW project then u can ask the data from user or u can explain the user about the program and can run the flat file to upload the data.
    if u require LSMW material Just send me blank mail from u. my mail id is [email protected]
    Reward if Helpful.
    Regards,
    Praveen Kumar.D

  • Upload PO data into SRM system from flat file

    Hi all,
    I need to create conversion program to upload Open Purchase order data from flat file to System.
    I am trying to create po using bapi BAPI_POEC_CREATE. but getting error .
    should any one give the details of parameter need to  pass the bapi .
    Thanks in advance
    Sharad

    Sharad,
    Not the very best piece of code, but should be helpful.
    REPORT  zkb_po_create.
    DATA: ls_po_header   TYPE bapi_po_header_c.
    DATA: ls_e_po_header TYPE bapi_po_header_d.
    DATA: ls_po_items    TYPE bapi_po_item_c.
    DATA: ls_po_accass   TYPE bapi_acc_c.
    DATA: ls_po_partner  TYPE bapi_bup_c.
    DATA: ls_po_orgdata  TYPE bapi_org_c.
    DATA: ls_return      TYPE bapiret2.
    DATA: lt_po_items   TYPE TABLE OF bapi_po_item_c.
    DATA: lt_po_accass  TYPE TABLE OF bapi_acc_c.
    DATA: lt_po_partner TYPE TABLE OF bapi_bup_c.
    DATA: lt_po_orgdata TYPE TABLE OF bapi_org_c.
    DATA: lt_return     TYPE TABLE OF bapiret2.
    * Header Details
    ls_po_header-businessprocess = 1.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = ls_po_header-businessprocess
      IMPORTING
        output = ls_po_header-businessprocess.
    ls_po_header-process_type = 'EC'.
    ls_po_header-doc_date = sy-datum.
    ls_po_header-description = 'Test for BAPI_POEC_CREATE'.
    ls_po_header-logsys_fi = 'Backend'.
    ls_po_header-co_code = '1000'.
    ls_po_header-currency = 'GBP'.
    * Item Details
    ls_po_items-item_guid    = 2.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = ls_po_items-item_guid
      IMPORTING
        output = ls_po_items-item_guid.
    ls_po_items-parent        = ls_po_header-businessprocess.
    ls_po_items-product_guid  = '4678E74FFFC380AD000000000A8E035B'.
    ls_po_items-product_id    = '400030'.
    ls_po_items-product_type  = '01'.
    ls_po_items-category_guid = '4627B461073F40FC000000000A8E035B'.
    ls_po_items-category_id   = '1.04.0500'.
    ls_po_items-quantity      = 10.
    ls_po_items-deliv_date   = sy-datum + 10.
    ls_po_items-price = '25'.
    APPEND ls_po_items TO lt_po_items.
    * Account Assignment
    ls_po_accass-guid = 3.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = ls_po_accass-guid
      IMPORTING
        output = ls_po_accass-guid.
    ls_po_accass-parent_guid = ls_po_items-item_guid.
    ls_po_accass-distr_perc  = 100.
    ls_po_accass-g_l_acct    = '<gl acc>'.
    ls_po_accass-cost_ctr    = '<cost centre>'.
    ls_po_accass-co_area     = '<Ctrl area>'.
    APPEND ls_po_accass TO lt_po_accass.
    * Partner Functions
    ls_po_partner-partner_fct  = '00000019'.
    ls_po_partner-partner      = 'Vendor'.
    ls_po_partner-parent_guid  = ls_po_items-item_guid.
    APPEND ls_po_partner TO lt_po_partner.
    ls_po_partner-partner_fct  = '00000016'.
    ls_po_partner-partner      = 'Requester'.
    ls_po_partner-parent_guid  = ls_po_items-item_guid.
    APPEND ls_po_partner TO lt_po_partner.
    ls_po_partner-partner_fct  = '00000020'.
    ls_po_partner-partner      = 'Receipient'.
    ls_po_partner-parent_guid  = ls_po_items-item_guid.
    APPEND ls_po_partner TO lt_po_partner.
    ls_po_partner-partner_fct  = '00000075'.
    ls_po_partner-partner      = 'Location'.
    ls_po_partner-parent_guid  = ls_po_items-item_guid.
    APPEND ls_po_partner TO lt_po_partner.
    ls_po_orgdata-proc_org_ot = 'O'.
    ls_po_orgdata-proc_org_id = 'Pur Org'.
    ls_po_orgdata-proc_group_ot = 'O'.
    ls_po_orgdata-proc_group_id = 'Pur Group'.
    ls_po_orgdata-parent_guid = ls_po_items-item_guid.
    APPEND ls_po_orgdata TO lt_po_orgdata.
    CALL FUNCTION 'BAPI_POEC_CREATE'
      EXPORTING
        i_po_header  = ls_po_header
      IMPORTING
        e_po_header  = ls_e_po_header
      TABLES
        i_po_items   = lt_po_items
        i_po_accass  = lt_po_accass
        i_po_partner = lt_po_partner
        i_po_orgdata = lt_po_orgdata
        return       = lt_return.
    READ TABLE lt_return INTO ls_return WITH KEY type = 'E'.
    IF sy-subrc NE 0.
      COMMIT WORK AND WAIT.
      WRITE:/ ls_e_po_header-doc_number, ': created successfully'.
    ELSE.
      WRITE:/ 'The below errors occurs during PO creation.'.
      LOOP AT lt_return INTO ls_return.
        WRITE:/ ls_return-message.
      ENDLOOP.
    ENDIF.
    Regards, Kathirvel

  • IDoc as a flat file...

    I want to read a flat file that is an IDoc and post it as a XML after necessary conversion...So i wanted to know what are the feasible ways to read the flat file thats an IDoc?

    Your flat file is of fixed lenght format or tab delimited I believe. Get the flat file data into an internal table. Study the IDOC structure in transaction WE30. & according populate the idoc segemnts from the internal table value..
    For ABAP to XML conversion..Create XSLT & the extraction program..
    Create XSLT:
    In transaction SE80 browse menu Workbench -> Edit Object. In the popup window enter XSLT Program name (e.g. ZXSLT) and click on create button.
    Enter the following code into the editor..
    <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
    <!xsl:output encoding="utf-8" indent="yes"/>
    <xsl:template match="D2CXML">
    <PurchaseOrders>
    <xsl:apply-templates/>
    </PurchaseOrders>
    </xsl:template>
    <xsl:template match="item">
    <PONO>
    <xsl:attribute name="no">
    <xsl:value-of select="EBELN"/>
    </xsl:attribute>
    <PORDNO>
    <xsl:apply-templates select="EBELN"/>
    </PORDNO>
    <Vendor>
    <xsl:apply-templates select="LIFNR"/>
    </Vendor>
    <PurchaseOrg>
    <xsl:apply-templates select="EKORG"/>
    </PurchaseOrg>
    <PurchaseGrp>
    <xsl:apply-templates select="EKGRP"/>
    </PurchaseGrp>
    <xsl:apply-templates select="X-MLSTRUCT"/>
    </PONO>
    </xsl:template>
    <xsl:template match="X-MLSTRUCT">
    <xsl:apply-templates/>
    </xsl:template>
    <xsl:template match="X-MLSTRUCT/item">
    <Product>
    <ItemNo>
    <xsl:apply-templates select="EBELP"/>
    </ItemNo>
    <Material>
    <xsl:apply-templates select="MATNR"/>

  • How to upload the BP master details in huge amount from flat file to CRM database

    Hi,
    Could you any body please help me initially the best method to upload Business partner data from flat file and if possible with any sample code available?
    Basically I am an ABAP consultant. In ERP I used to do BDC or lsmw  in generally?
    This is a mission critical thing for me.

    Hi Chitturi,
    I did not come across the scenario for custom include fields from BAPI of partner creation. But if the fields are not appearing in the import/tables structure fields then you probably need to update the corresponding DB Table for those fields separately,else BAPI will update the same. You will get partner guid and partner number from export parameters of the BAPI.
    Regards,
    Dipesh
    Message was edited by: Joaquin Fornas

  • What are the advantages of idoc compare to flat file. how data is secure

    what are the advantages of idoc compare to flat file. how data is secure in idocs compare to flat file

    Hi Ramana,
    In simple words, Main advantage with idoc over flat file is security....
    I will explain you some scenario here U got a flat file with all the data...Now u r having the flat file if you want u can modify the data in it, or somehow any one can modify the data in it  if they were able to access this file. That means u maintained the file in the presentation server
    One level of higher security to the above level is maintaining the flat file in application server, at point also even though lot of people r not having the access to that file, super user who is  having  the access may modify the data or delete the data from it rite....
    so in both of those levels u don't have 100% security...
    So there come to the picture of idocs, Idocs simply data carriers, those r generated by a program but not manually...data will be divided into number of segments based upon ur program. So manually its not so easy to modify the data in these idocs. If any changes to be made in the data then u have to modify the data in the application and then u have to update the idoc or you have to generate the new idoc with that corresponding data. so in this case not even super user can manipulate the data directly in the idoc....
    I think u got my point what I mean to say.....
    If you find it useful mark the points
    ~~Guduri

  • MBGMCR02 inbound posting from Flat file

    hello Friends ,
    i am posting MBMCR02 Inbound idoc for oil materils .
    it is giving an error status 51 "Material does not exists or not active "
    i am trying to post in WE 19 and through my program also .
    it is an inbound idoc program processed from flat file .
    i am trying to post the goods receipts against PO.
    can any one suggest any solution.
    thanks
    Anant

    1. Read the file using OPEN DATASET and read and fill up the segment info and fill the EDIDC header data
    and then call function
    CALL FUNCTION 'INBOUND_IDOC_PROCESS'
        TABLES
          IDOC_CONTROL       =  i_edidc
          IDOC_DATA          =  i_edid4.

  • Data loading from flat file into bw

    Hi Experts,
    When we load data from flat file into BW the <b>sequence of fields in flat file</b> should be matched with the <b>transfer structure</b> or <b>communication structure</b>?
    wid thanX,
    arijit

    Arijit,
    The sequence of fields in a flat file must be the same as this one in the transfer structure.
    The comm and tran structures are the same after the first creation of datasource from flat file source system. After that someone could change the sequence in the CS -- if the mapping of fields in transfer rules remains unchanged, then the load is to be succesful.
    In case of changing the sequence in TS you'll get either error or wrong load (values to be loaded into some infobjects will go to another ones.)
    Best regards,
    Eugene

  • Create inbound invoice from flat file

    Hi Folks,
    for periodic creation of PO invoice from flat file, what would be the best way to go?
    Thanks and Rg. Jimbob

    1. Read the file using OPEN DATASET and read and fill up the segment info and fill the EDIDC header data
    and then call function
    CALL FUNCTION 'INBOUND_IDOC_PROCESS'
        TABLES
          IDOC_CONTROL       =  i_edidc
          IDOC_DATA          =  i_edid4.

  • Short dump while reading a currency field from Flat file into internal tabl

    Hi,
    I am getting a short dump........saying number conversion dump (while reading a currency value into field in internal table from a fixed lenght flat file).........
    Do I need to use a string variable to get the value from flat file or how ??
    Please suggest.

    Santosh,
    Thanks for your inputs,
    But my internal table type is of DEC (5,2) , I am getting that... it needs to be of type 'C'. Can you suggest.
    Ex :
    MOVE wa_temp-infile_string+106(8)  TO wa_item-QT_PERCENT
    This didnt work
    so i tried moving into a seperate variable
    MOVE wa_temp-infile_string+106(8)  TO v_percent.
    and then write to
    WRITE v_percent to  wa_item-QT_PERCENT.

  • Error while loading table from flat file (.csv)

    I have a flat file which i am loading into a Target Table in Oracle Warehouse Builder. It uses SQL Loader Internally to load the data from flat file, I am facing an issue. Please find the following error ( This is an extract from the error log generated)
    SQL*Loader-500: Unable to open file (D:\MY CURRENT PROJECTS\GEIP-IHSS-Santa Clara\CDI-OWB\Source_Systems\Acquisition.csv)
    SQL*Loader-552: insufficient privilege to open file
    SQL*Loader-509: System error: The data is invalid.
    SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
    I believe that this is related to SQL * Loader error.
    ACtually the flat file resides in my system ( D:\MY CURRENT PROJECTS\GEIP-IHSS-Santa Clara\CDI-OWB\Source_Systems\Acquisition.csv). I am connecting to a oracle server.
    Please suggest
    Is it required that i need to place the flat file in Oracle Server System ??
    Regards,
    Ashoka BL

    Hi
    I am getting an error as well which is similar to that described above except that I get
    SQL*Loader-500: Unable to open file (/u21/oracle/owb_staging/WHITEST/source_depot/Durham_Inventory_Labels.csv)
    SQL*Loader-553: file not found
    SQL*Loader-509: System error: The system cannot find the file specified.
    SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
    The difference is that Ashoka was getting
    SQL*Loader-552: insufficient privilege to open file
    and I get
    SQL*Loader-553: file not found
    The initial thought is that the file does not exist in the directory specified or I have spelt the filename incorrectly it but this has been checked and double checked. The unix directory also has permission to read and write.
    Also in the error message is
    Control File: C:\u21\oracle\owb_staging\WHITEST\source_depot\INV_LOAD_LABEL_INVENTORY.ctl
    Character Set WE8MSWIN1252 specified for all input.
    Data File: /u21/oracle/owb_staging/WHITEST/source_depot/Durham_Inventory_Labels.csv
    Bad File: C:\u21\oracle\owb_staging\WHITEST\source_depot\Durham_Inventory_Labels.bad
    As can be seen from the above it seems to be trying to create the ctl and bad file on my c drive instead of on the server in the same directory as the .csv file. The location is registered to the server directory /u21/oracle/owb_staging/WHITEST/source_depot
    I am at a lost as this works fine in development and I have just promoted all the development work to a systest environment using OMBPlus.
    The directory structure in development is the same as systest except that the data file is /u21/oracle/owb_staging/WHITED/source_depot/Durham_Inventory_Labels.csv and everything works fine - .ctl and .bad created in the same directory and the data sucessfully loads into a oracle table.
    Have I missed a setting in OWB during the promotion to systest or is there something wrong in the way the repository in the systest database is setup?
    The systest and development databases are on the same box.
    Any help would be much appreciated
    Thanks
    Edwin

Maybe you are looking for