Read flat file into IDOC

Hello All,
I have a file in application server, now I need to convert this file into IDOC format and save the records in SAP database. Can any one provide us the steps to do this. I would like to know how to create a port for file type to read the flat file.
Thank you,

Hi,
Create a Z program in se38 and in that you will have to make use of OPEN DATASET, READ DATASET and CLOSE DATASET statements to read the fiel from the application server.
IDOC is just an intermediate document with some structure.
It does not have a capability to read a file by itself.
The file had to be explicitely read from the application server making use of the above statements and then pass the data to the idoc structure.
For more help do F1 on these statements.
Regards,
Ankur Parab

Similar Messages

  • Unsorted Flat File into IDoc with multiple use of nodes

    Hi Experts!
    I am facing a little problem. I have a source flat file for a classification where some fields appear several times.
    My source flat file looks like this:
    item1; field1a
    item2; fieldA
    item3; fieldxa
    item1; field1b
    as you can see the item1 exists twice (further appearances are also possible).
    Now i have to map the flat file into an IDoc structure
    My target IDoc looks like this
    Header
    -- node1
    attribute1
    -- node2
    the "field1a" and "field1b" has to be mapped into the "attribute1" in "node1". "node1" has to be duplicated for each time an "item1" appears (.. and if item2, item3 etc. appears twice, three ... four times...).
    So how can i reach it that the node1 will be duplicated automatically when an item appears twice or more times? I know that it could be possible to work with "SplitByValue"... but for this i need all item1 in an straight order.... but i dont have them in a correct order.
    I am looking forward to your suggestions.
    Thank you in advance.
    Udo

    Complex sorting is not or not easy possible with the grafical mapping tool.
    Use a sequence mapping. The first mapping is a simple XSLT which does the sort. The second mapping works as usual.
    I have an example XSLT which I used for a different purpose:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="/">
        <ORDERLIST>
          <xsl:for-each select="ORDERLIST/ITEM">
            <xsl:sort select="ID"/>
            <xsl:copy-of select="."/>
          </xsl:for-each>
        </ORDERLIST>
      </xsl:template>
    </xsl:stylesheet>
    Regards
    Stefan

  • Flat File to IDOC

    Hi,
    I have to post the data from Flat File to SAP using IDOC. Please help me out with all the posibilities.
    Regards,
    Kiran.L

    Hi,
    Step 1 Read flate file into internal table.
    step 2  Follow below program to create a idoc through Z program,
    REPORT ZOUTBD_IDOC_TEMPLATE NO STANDARD PAGE HEADING.
    *************************START OF DECLARATIONS**********************
    *eject
    Table Declarations
      TABLES:  ZIDOC_TAB_EX1,  "Equivalent to an SAP Master table.
               ZIDOC_TAB_EX2.  "Equivalent to an SAP Master table.
    *eject
    Types Declarations with data work Areas / Internal tables.
      TYPES: begin of ty_idoc_par,
               werks      LIKE   ZIDOC_TAB_EX1-werks,
               c_rec_ind  LIKE   ZIDOC_TAB_EX1-c_rec_ind,
               name1      LIKE   ZIDOC_TAB_EX1-name1,
               name2      LIKE   ZIDOC_TAB_EX1-name2,
               stras      LIKE   ZIDOC_TAB_EX1-stras,
               pfach      LIKE   ZIDOC_TAB_EX1-pfach,
               ort01      LIKE   ZIDOC_TAB_EX1-ort01,
               counc      LIKE   ZIDOC_TAB_EX1-counc,
               pstlz      LIKE   ZIDOC_TAB_EX1-pstlz,
               telf1      LIKE   ZIDOC_TAB_EX1-telf1,
               regio      LIKE   ZIDOC_TAB_EX1-regio,
            end of ty_idoc_par.
      TYPES: begin of ty_idoc_chd,
               werks     LIKE    ZIDOC_TAB_EX2-werks,
               eroed     LIKE    ZIDOC_TAB_EX2-eroed,
               schld     LIKE    ZIDOC_TAB_EX2-schld,
             end of ty_idoc_chd.
      TYPES: begin of ty_message,
               OBJNR      LIKE    MCMAILOBJ-OBJNR,
               OBJLEVEL   LIKE    MCMAILOBJ-OBJLEVEL,
               OBJTYPE    LIKE    MCMAILOBJ-OBJTYPE,
               OBJNAM     LIKE    MCMAILOBJ-OBJNAM,
               OBJDES     LIKE    MCMAILOBJ-OBJDES,
               OBJLINE    LIKE    MCMAILOBJ-OBJLINE,
             end of ty_message.
      TYPES: begin of ty_mess_output,
               v_err_out(1000)     TYPE  C,
               v_err_out_2(1000)   TYPE  C,
             end of ty_mess_output.
    *eject
    Data Declarations
    Essential declarations for populating the IDOC:
      DATA:  begin of itab_idoc_data occurs 0.
               include structure edidd.                    "Data record.
      DATA:  end of itab_idoc_data.
      DATA:  begin of itab_comm_idoc_control occurs 0.
               include structure edidc.                    "Control record.
      DATA:  end of itab_comm_idoc_control.
    Internal Table for Mail Recipient.
      DATA: BEGIN OF ITAB_RECIPIENT OCCURS 0.
              INCLUDE STRUCTURE  ZINT_RECEIVER.
      DATA: END OF ITAB_RECIPIENT.
    Declare an internal table for Parent segment.
      DATA:  itab_idoc_par TYPE ty_idoc_par occurs 0 with header line.
    Declare an internal table for child segment.
      DATA:  itab_idoc_chd TYPE ty_idoc_chd occurs 0 with header line.
    Declare variables for Parent and Child Segments
      DATA:  i_z1parseg  LIKE   z1parseg,     "PARENT SEGMENT DATA.
             i_z1child   LIKE   z1child.      "CHILD  SEGMENT DATA.
    Internal table to process function to send error mails.
      DATA: itab_err_mess  TYPE   ty_message     occurs 0 with header line.
      DATA: itab_mess_output TYPE ty_mess_output occurs 0 with header line.
    Variables for sending error mails.
      DATA: objnr                 LIKE   SOOD1-ACNAM, "Name of object.
            V_ERR_DESC_1          LIKE   SOOD1-OBJDES,
                        "Error message on pop up box after program executes.
            V_OBJLINE             LIKE   ITAB_ERR_MESS-OBJLINE,
            V_MESSAGE_1(60)       TYPE   C,
            V_MESSAGE_2(120)      TYPE   C,
            V_MESSAGE_3(75)       TYPE   C,
            V_MESSAGE_4(150)      TYPE   C,
            V_MESSAGE_5(150)      TYPE   C,
            V_MESSAGE_6(150)      TYPE   C,
            V_RDATE(10)           TYPE   C,
            V_RTIME(8)            TYPE   C,
            V_RECIPIENT(12)       TYPE   C,
            v_itab_idoc_par_lines,
            v_itab_idoc_chd_lines,
            child_counter         TYPE   C,
            parent_counter        TYPE   C,
            idoc_counter          TYPE   C,
            v_mess_output(1000)   TYPE   C,
            v_error_detail(88)    TYPE   C,
            v_final_detail(1000)  TYPE   C,
            V_DUMMY               TYPE   C.   "Dummy File Indicator.
    *eject.
    Constant Declarations
      CONSTANTS:
    BASIC IDOC TYPE AS CREATED FROM TRANSACTION CODE we30.
      C_Segment_type1(8)         TYPE C  VALUE  'Z1IDOCOB',
      C_mestyp(11)               TYPE C  VALUE  'ZSAMPLEMESS',
      C_SENDMODE                 TYPE C  VALUE  'B',   "Sending Mode
      C_EXPRESS                  TYPE C  VALUE  'E',
      C_LANGUAGE                 LIKE sy-langu   VALUE  'E'.
    **********************END OF DECLARATIONS*****************************
    *eject
    Initialisation
    INITIALIZATION.
    Assign the initial settings for sending error mails.
      v_err_desc_1   = 'Message from processing ZOUTBD_IDOC_TEMPLATE.'.
                       "Error message in pop up box after program executes.
      v_error_detail = 'A complete set of detail records is not held for'.
      idoc_counter   = '0'.   "No of Idocs processed.
      parent_counter = '0'.   "No of parent segments selected.
      child_counter  = '0'.   "No of child segments selected.
    *************************BEGIN OF PROCESSING**************************
    Call form to initialize standard structures
      PERFORM clear_Structures.
    Fill report to tell user when the interface was run.
      PERFORM fill_mail_report.
    Call function to populate parent structure:
      PERFORM select_parent_data.
    Call function to populate child structure:
      PERFORM select_child_data.
    Inform the user of the number of records that were selected.
      PERFORM fill_record_selected.
    Loop at contents of parent structure:
      LOOP AT itab_idoc_par.
    Populate the control structure with the partner and port sending and
    receiving details.
       REFRESH itab_idoc_data.
       PERFORM populate_Control_structure USING  c_mestyp
                                                 c_SEGMENT_type1.
       PERFORM transfer_Parent_data_to_seg.
    Loop at the children structure - retrieving the children segments
    for this parent.
       LOOP AT itab_idoc_chd WHERE WERKS = itab_idoc_par-WERKS.
    Call form to transfer data to child Idoc.
       PERFORM transfer_Child_data_to_seg.
    ENDLOOP.      "Stop looping through the children structure.
    Call SAP function to transfer data.
       PERFORM master_idoc_distribute.
    Form to close logical unit of work.
       PERFORM COMMIT_WORK.
    ENDLOOP.   " Stop looping through the parent structure.
    Fill the number of articles processed for online mail.
       PERFORM fill_process_record.
    Write to online mail report on data interface has processed.
       PERFORM FILL_ERR_MESSAGE USING  V_OBJLINE
                                       V_MESSAGE_1
                                       V_MESSAGE_2
                                       V_MESSAGE_3
                                       V_MESSAGE_4
                                       V_MESSAGE_5
                                       V_MESSAGE_6.
    Send online mail with contents of message fields.
       PERFORM SEND_MAIL.

  • Flat File to IDOC- didn't get data into IDOC

    Hi All,
    Our scenario is Flat File to IDOC....
    working fine... didn't get any errors... IDOC also generated but didn't get any data in that IDOC....
    for details see the attachment...
    Thanks In Advance,
    vishnu.........

    Hi Rajesh,
    I am getting payload in RWB from sender Cc like below:
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_File xmlns:ns="http://mouritech.com/file2idocsender"> 
    - <MT_File> 
    <Value>1</Value>  
    <Reason>test</Reason>  
    </MT_File>
    </ns:MT_File>
    If i test with this payload in mapping i am getting a pop up with this message and mapping not completed ...
    Could you please let me know what i have to do now?
    Pop Up: 
            The processing instruction target matching "[xX][mM][lL]" is not allowed.
    See error logs for details    

  • Reading a flat file into Oracle

    Can someone tell me the best way to read a flat file into Oracle8i?

    You can use SQL*Loader
    or programmatically with UTL_FILE package.
    (Please see documentation of SQL*Loader
    and using predefine package UTL_FILE)

  • Flat file into XML

    Hi,
    I have a requriment like source will be sending IDoc DELVRY03 in form of flatfile(fixed length).So i have  to convert to XML so that PI can do transformation.I cant do file content conversion.Target is also IDoc DELVRY03.
    Kinldy suggest me how to convery flat file into XML.
    Regards,
    Anitha M
    Edited by: Anitha m on Aug 3, 2010 10:07 AM

    Hi Anitha,
    You should use File content conversion to convert flat file into XML file.
    Please check the below link, which help you to know how to do it.
    http://saptechnical .com/Tutorials/XI/Contentconversion/page2.htm
    Please check the weblink given below for converting the file content:
    http://help.sap.com/saphelp_srm40/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    Thanks,

  • IDoc flat file to IDoc

    I am receiving flat file in SFTP Server which need to be posted into SAP (No mapping involved)
    What will be the best approach ?
    1. I tried using IDOCFlatToXmlConvertor (The limitation in the format of source file. The parent and child node relationship should be explicitly mentioned in IDoc flat file which legacy system is not able to do) - Any workarounds ?
    2. I moved the Idoc flat file into SAP application server. Now need to schedule job using program RSEINB00
    3. File Content Conversion
    Any other better solution ? Appreciate your help.
    Thanks and regards,
    Jose Augastine

    For converting Idoc Flat file to idoc xml, ABAP mapping is one of the feasible option.

  • Error while loading flat file into DSO

    Hi
    I am loading data from a flat file into a DSO. My fields in the flat file are Trans_Dt, (CHAR) Particulars (CHAR), Card_Name, (CHAR) Exps_Type, (CHAR)
    Debit_Amount,Credit_Amount,***._Amt,Open_Bal_Check_Acnt, (CURR)
    0Currency (CHAR)
    In the proposal tab apart from the above mentioned fields 3 additional fields viz, field 10, field 11, and field 12 have come. How did these 3 additional fields come when I don't have any additional fields in my flat file? I've deleted these extra 3 fields though.
    When I activate the DataSource it is getting activated but then I get the message 'Data structures were changed. Start transactions before hand'. What does this message mean?
    When I hit the 'Read preview data' button it doesn't show me any data and gives me the error Missing reference to currency field / unit field for the fields Debit_Amount,Credit_Amount,***._Amt,Open_Bal_Check_Acnt
    How do I create a reference field to the above mentioned fields?
    Earlier I didn't have the 0Currency field in the flat file. But in my DSO while creating the key figures by default the 0Currency field also got created which is quite obvious. Now while activating the transformations I was getting a message that 'No source field for the field 0Currency'. Hence I had to create a new field in my flat file called 0Currency and load it with USD in all rows.
    Please help me in loading this flat file into the DSO.
    Thank you.
    TR.

    Hi guys,
    Thanks a lot for your answers. with your help I could see the data in the 'Read preview data' and schedule the load. I did use all the Info objects in the info objects column of the data source to load the flat file.
    The data is in PSA successfully without any issues. but when I executed the DTP it failed with errors.
    Earlier there was no mapping from Currency field in source to the all the key figure fields in the target in the transformation. The mapping was only from Currency to 0CURRENCY but still the transformation got activated. As per your advise I mapped Currency field to the remaining Key Figure fields but then I am getting the error
    'Source parameter CURRENCY is not being used'
    Why is that so?
    list of Errors after executing the DTP:
    1. 'Record filtered because records with the same key contain errors'
    Message:
    Diagnosis: The data record was filtered out becoz data records with the same key have already been filtered out in the current step for other reasons and the current update is non-commutative (for example, MOVE). This means that data records cannot be exchanged on the basis of the semantic key.
    System Response: The data record is filtered out; further processing is performed in accordance with the settings chosen for error handling.
    Procedure: Check these data records and data records with the same key for errors and then update them.
    Procedure for System administration
    Can you please explain this error and how should I fix this error.
    2. Exception input_not_numeric; see long text - ID RSTRAN
    Diagnosis: An exception input_not_numeric was raised while executing function module RST_TOBJ_TO_DERIVED_TOBJ.
    System Response
    Processing the corresponding record has been terminated.
    Procedure
    To analyse the cause, set a break point in the program of the transformation at the call point of function module RST_TOBJ_TO_DERIVED_TOBJ. Simulate the data transfer process to investigate the cause.
    Procedure for System Administration
    What does this error mean? How do I set a breakpoint in the program to fix this error inorder to load the data?
    What does Procedure for System Administration mean?
    Please advise.
    Thank you.
    TR.

  • Load a flat file into BW-BPS using SAP GUI

    Hi,
    We are using BW BPS 3.5 version, i implemented how to guide  " How to load a flat file into BW-BPS using SAP GUI" successfully without any errors.
    I inlcuded three infoobjects in the text file   costelemt, Posting period and amount. the same three infoobjects i inlcuded the file structure in the global data as specified in the how to document
    The flat file format is like this
    Costelmnt      Postingperiod         Amount   
    XXXXX             #      
    XXXXX             1                          100
    XXXXX             2                           800
    XXXXX             3                           700
    XXXXX             4                           500
    XXXXX             5                           300
    XXXXX             6                           200
    XXXXX             7                           270
    XXXXX             8                           120
    XXXXX             9                           145 
    XXXXX            10                           340
    XXXXX            11                           147
    XXXXX            12                           900 
    I successfully loaded above flat file in to BPS cube and it dispalyed in the layout also.
    But users are requesting to load  flatfile in the below format
    Costelmnt        Annual(PP=#)   Jan(PP=1)   Feb(PP=2) ........................................Dec(PP=12)  
    XXXXX              Blank                       100           800                                                   900
    Is it possible to load a flat file like this
    They wants load a single row instead of 13 rows for each costelement
    How to do this. Please suggest me if anybody accorss this requirment.
    In the infocube we have got only one Info object 0FISCPER3(Posting period) and one 0AMOUNT(Amount)
    do we need 13 Infobjects for each posting period and amount.
    Is there any possiblity we can implement any user exit which we use in BEX Quer's
    Please share your ideas on this.
    Thanks in advance
    Best regards
    SS

    Hi,
    There are 2 ways to do this.
    One is to change the structure of the cube to have 12 key figures for the 12 posting periods.
    Another way is to write an ABAP Function Module to fetch the values from each record based on the posting period and store it in the cube for the corresponding characteristic. This way, you dont have to change the structure of the cube.
    If this particular cube is not used anywhere else, I would suggest to change the structure itself.
    Hope this helps.

  • How can I load a flat file into a ZTABLE dynamically

    I need to create a program which can Load a ZTABLE from a flat file structure (delimited and fixed options required).  We have many ZTables where this will be required so I was hoping to do it dynamically somehow.  Otherwise I will have to create one ABAP for every ZTable we have to load.
    My Inputs should be
    PARAMETERS:  p_ztable TYPE ddobjname,         "Z Table Name
                 p_infile(132) LOWER CASE,        "File Name
                 p_delim(1).                      "Delimiter
      I know that I can read the file by using gui_upload
        CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = c_infile
          has_field_separator     = p_delim
        TABLES
          data_tab                = indata
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
            OTHERS                  = 9.
    I know that  I can split the contents of this file (if a delimiter is used).  However I will not know the actual field names of the table until runtime as to what to fields to split it into.  In the example below I have the actual table (t_rec) and each of the fields (pernr, lgart, etc) in the code but each table I
    need to load will be different – it will have a different # of fields as well.
    FORM read_data_pc.
      LOOP AT indata.
        PERFORM splitdata USING indata.
        APPEND t_rec.
        CLEAR t_rec.
      ENDLOOP.
    ENDFORM.
    FORM splitdata USING p_infile.
       SPLIT p_infile AT p_delim INTO
            t_rec-pernr                 "Employee #
            t_rec-lgart                 "Wage Type
            t_rec-begda                 "Effective date
            t_rec-endda.                 "End date
      ENDFORM.                       
    Once I split the data into the fields then I can just look and insert the record.
    Does anyone have any ideas?  Specific code examples would be great if you do.  Thx!!

    Hi janice,,
    Try this sample code where you can upload data from a flat file into the internal table.
    REPORT  z_test.
    TABLES: mara.
    FIELD-SYMBOLS : <fs> .
    DATA : fldname(50) TYPE c.
    DATA : col TYPE i.
    DATA : cmp LIKE TABLE OF rstrucinfo WITH HEADER LINE.
    DATA: progname LIKE sy-repid,
    dynnum LIKE sy-dynnr.
    DATA itab TYPE TABLE OF alsmex_tabline WITH HEADER LINE.
    DATA: BEGIN OF ZUPLOAD1_T OCCURS 0 ,
             matnr like mara-matnr,
             ersda like mara-ersda,
             ernam like mara-ernam,
             laeda like mara-laeda,
          END OF ZUPLOAD1_T.
    *DATA: ZUPLOAD1_T LIKE mara OCCURS 0 WITH HEADER LINE.
    DATA: wa_data LIKE TABLE OF  ZUPLOAD1_T WITH HEADER LINE.
    selection-screen
    SELECTION-SCREEN: BEGIN OF BLOCK blk WITH FRAME TITLE text-001.SELECTION-SCREEN : SKIP 1. PARAMETERS : p_file LIKE rlgrap-filename.SELECTION-SCREEN : SKIP 1.SELECTION-SCREEN : END OF BLOCK blk
    . AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    F4 Value for File
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'   EXPORTING
                          PROGRAM_NAME        = SYST-REPID
                          DYNPRO_NUMBER       = SYST-DYNNR
                          FIELD_NAME          = ' '
         static              = 'X'
                          MASK                = ' '
        CHANGING      file_name           = p_file   EXCEPTIONS     mask_too_long       = 1     OTHERS              = 2 
              .  IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    START-OF-SELECTION.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' 
    EXPORTING    filename                      = P_FILE   
    i_begin_col                   = 1   
    i_begin_row                   = 1   
    i_end_col                     = 5   
    i_end_row                     = 12507 
         tables   
       intern                        = ITAB
    EXCEPTIONS  
            INCONSISTENT_PARAMETERS       = 1  
            UPLOAD_OLE                    = 2  
           OTHERS                        = 3.          .
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'GET_COMPONENT_LIST' 
    EXPORTING  
        program          = SY-REPID   
        fieldname        = 'ZMARA' 
           tables   
           components       = CMP.
    LOOP AT itab.    AT NEW row.     
    IF sy-tabix = 1.        APPEND ZUPLOAD1_T.     
    ENDIF.   
    ENDAT.   
    col = itab-col.   
    READ TABLE cmp INDEX col.  
    CONCATENATE 'ZUPLOAD1_T-' cmp-compname INTO fldname.  
    ASSIGN (fldname) TO <fs>.  
    <fs> = itab-COL.  
      APPEND ZUPLOAD1_T.  ENDLOOP.
    DELETE ZUPLOAD1_T where matnr eq space.
    LOOP AT ZUPLOAD1_T INTO wa_data.
    insert mara from  wa_data .
        WRITE: / ZUPLOAD1_T-matnr, 20 ZUPLOAD1_T-ersda , 45 ZUPLOAD1_T-ernam, 55 ZUPLOAD1_T-laeda.
    *HERE IAM JUST CHECKING I NEED TO UPDATE A ZTABLE
      ENDLOOP.
    insert ZMARA FROM table itab ACCEPTING DUPLICATE KEYS.
    I have tried it for mara.Please let me know whether it was helful.
    Regards,
    Kannan

  • Uploading the data from a flat file into ztable

    Hi,
    I have a requirement where I have to upload the data from 2 flat files into 2 z tables(ZRB_HDR,ZRB_ITM).From the 1st flat file only data for few fields have to be uploaded into ztable(ZRB_HRD) .Fromthe 2nd flat file data for all the fields have to me uploaded into ztable(ZRB_ITM). How can I do this?
    Regards,
    Hema

    hi,
    declare two internal table with structur of your tables.
    your flat files should be .txt files.
    now make use of GUI_UPLOAD function module to upload your flatfile into internal tables.
    CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename            = 'c:\file1.txt'
          has_field_separator = 'X'
        TABLES
          data_tab            = itab1
        EXCEPTIONS
          OTHERS              = 1.
    use this function twice for two tables.
    then loop them individually and make use of insert command.

  • To upload a flat file into BW using a variable entry in web application

    hi guys,
    how to upload a flat file into the web browser using a
    a variable entry in the wad application.
    Thanks,
    your help will be duly appreciated
    Message was edited by:
            Vj.R T

    thanks arun
    but is it not possible to load the flat file at bex level which
    might be the same at wad level
    and also what do you mean the load package
    triggered from the backend and how do i
    manipulate the data is it at bex level or wad level
    please elaborate.
    thanks
    your help will be rightly acknowledged.

  • IDOC Flat File-- XI-- IDOC

    Hi,
       I have a requirement wherein we have to read the IDOC flat file and post it as IDOC to SAP using XI. I understand we have to use the Flat File Sender adapter and the IDOC Receiver Adapter. On the Sender Side we have to define the Content Conversion to convert the IDOC Flat File to IDOC XML. Writing File Content Conversion for the IDOC Flat File would be very tedious because of the number of fields and fixed structure of the flat file.
      I have don through the following guide Section 3.2 where it talks abt converting IDOC to IDOC XML using reportRSEINB00.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how%20to%20convert%20between%20idoc%20and%20xml%20in%20xi%203.0.pdf
    I am not clear how to invoke this report in the Flat File Sender adapter. Also is there any other approach.
    Thanks
    Rajeev Gupta

    Hi Rajeev
    You have a flatfile at the sender side so you dnt  have any feasiable option to do other than FCC....FCC is not a tediuos one...if you can provide the strucutrre we will help you out...
    Check out you have a fixedlength file or piple separated one....
    In the functional design how many fields re present and buil the DT,MT MI accoprdingly.....
    you have to just use some conecnt conversion parameters that's it...
    item.fieldSeparator
    item.endSeparator
    item.fieldNames
    here item is your recordset name
    let us know your strucutre
    regards
    Nisar

  • IDOC to Flat file and Flat file to IDOC

    Hello Experts,
      I have the following requirement in my current project:
    Third Party Sender sends the data in the in the below XML format via HTTP:
    <?xml version="1.0"?>
    <fxEnvelope>
      <header>
        <message>
          <exchangeID></exchangeID>
          <messageID></messageID>
          <subject></subject>
          <payloadType>IDOC</payloadType>
        </message>
        <from>
          <orgID></orgID>
          <locationID></locationID>
          <messageID></messageID>
        </from>
        <to>
          <orgID></orgID>
          <locationID></locationID>
        </to>
      </header>
      <body>
        <Opaque>
          <DataType></DataType>
          <DataStream></DataStream>
        </Opaque>
      </body>
    </fxEnvelope>
    In the above XML, the Tag <DataStream> is a string which contains the IDOC flat file.
    Now, the scenario is HTTP to IDOC, where the sender sends the above XML payload and PI needs to convert <DataStream> to IDOC XML and pass it on to the receiver R/3.
    But the challange i am facing is converting this <DataStream> tag which contains the IDOC flat file to IDOC XML using a Mapping program.Since both adapters are running on ABAP stack i can not go for Adapter Modules available(We are using PI 7.10).
    Looking for some guidance on the same.
    Thanks in advance.
    Cheers,
    Manasa.

    There are 2 options for you
    In either case, you might need a java mapping to convert the DataStream into String. Use a file adpater to write this string to IDOC-File.
    1) Option1: Write the content of DataStream into IDOC-Flatfile.(java mapping) Pick it from PI to convert IDOC-flat file inot IDOC-XML (using std features of PI) & send it to ECC.
    2) Option2: Write the Content of DataStream to IDOC-Flatfile (accessible to ECC system). Configure WE21 to pick the file from a file port.
    If the datastream was IDOC-XML, then it would have been simpler, it will be a direct communcation from PI to ECC (using java mapping & IDOC adapter).
    Regards,
    Siva Maranani

  • How to upload a Flat file into sap database if the file is in Appl'n Server

    Hello Sap Experts , Can you tel me
    " How to upload a Flat file into sap database if the file is in Application Server.
    what is Path for that ?
    Plz Tel Me its Urgent
    Thanks for all

    Hi,
    ABAP code for uploading a TAB delimited file into an internal table. See code below for structures.
    *& Report  ZUPLOADTAB                                                  *
    *& Example of Uploading tab delimited file                             *
    REPORT  zuploadtab                    .
    PARAMETERS: p_infile  LIKE rlgrap-filename
                            OBLIGATORY DEFAULT  '/usr/sap/'..
    DATA: ld_file LIKE rlgrap-filename.
    *Internal tabe to store upload data
    TYPES: BEGIN OF t_record,
        name1 like pa0002-VORNA,
        name2 like pa0002-name2,
        age   type i,
        END OF t_record.
    DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,
          wa_record TYPE t_record.
    *Text version of data table
    TYPES: begin of t_uploadtxt,
      name1(10) type c,
      name2(15) type c,
      age(5)  type c,
    end of t_uploadtxt.
    DATA: wa_uploadtxt TYPE t_uploadtxt.
    *String value to data in initially.
    DATA: wa_string(255) type c.
    constants: con_tab TYPE x VALUE '09'.
    *If you have Unicode check active in program attributes then you will
    *need to declare constants as follows:
    *class cl_abap_char_utilities definition load.
    *constants:
    *    con_tab  type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
    *START-OF-SELECTION
    START-OF-SELECTION.
    ld_file = p_infile.
    OPEN DATASET ld_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    IF sy-subrc NE 0.
    ELSE.
      DO.
        CLEAR: wa_string, wa_uploadtxt.
        READ DATASET ld_file INTO wa_string.
        IF sy-subrc NE 0.
          EXIT.
        ELSE.
          SPLIT wa_string AT con_tab INTO wa_uploadtxt-name1
                                          wa_uploadtxt-name2
                                          wa_uploadtxt-age.
          MOVE-CORRESPONDING wa_uploadtxt TO wa_upload.
          APPEND wa_upload TO it_record.
        ENDIF.
      ENDDO.
      CLOSE DATASET ld_file.
    ENDIF.
    *END-OF-SELECTION
    END-OF-SELECTION.
    *!! Text data is now contained within the internal table IT_RECORD
    * Display report data for illustration purposes
      loop at it_record into wa_record.
        write:/     sy-vline,
               (10) wa_record-name1, sy-vline,
               (10) wa_record-name2, sy-vline,
               (10) wa_record-age, sy-vline.
      endloop.

Maybe you are looking for

  • New MacBook and The Infinitely Spinning Beach Ball: Anybody Else?

    I wonder if I'm the only MacBook owner having this experience, or if there might be some company in my misery? I purchased a new Aluminum MacBook on Nov.14. This one is the high-end, 2.4GHz model with 4GB of RAM and currently running OSX 10.5.5. I ha

  • Excel sheets data loading

    Hi We have a requirement where we need to lad the flat files. But the user gives the flat file in one excel sheet and itu2019s in different sheets. In sheet1 I have 30 K records and in second sheet 50 K records. But I need to load this file with out

  • JTextfield input Date convert to java.sql.Date

    Hi. I have a textfield for users to input date in 'dd/mm/yyyy' format and I would like to format this input into java.sql.Date to be stored into a database. How should I go about doing that ? I did the following: SimpleDateFormat formatDate = new Sim

  • Rebate agreements total target

    Hi My customer has requirement regarding rebate agreements : Customer should receive credit memo if he reach TTL target for specific month. TTL target is SUM of targets for all groups of materials for current month. Basis for discount will be total b

  • VisuFoxPro and VMware

    Greetings All,    We are currently hosting a Visual FoxPro 9.0 SP2 application on a Windows 2003 server. I have attempted to virtualize the server using VMware's P2V converter. The conversion went flawlessly with no errors and the virtual server star