Reg: BAPI to File senario

hi experts,
             I am working  BAPI to File senario .
            I have 2 BAPIs one BAPI (character list)is internally call the other BAPI(components list).How    can i call that BAPI internally give me  ur valuable suggiestion.
Thanks & Regards,
Satya.T
Edited by: satya pavan on Jun 8, 2009 1:05 PM

whats the issue ? , if your both RFC are standard then create third Z and call those two in one it will make your task easy.

Similar Messages

  • Reg:SOAP to FILE Senario

    Hi,
    Do U have any <b>SOAP TO FILE</b> Senario?
    please send me that Senario immeditely.
    Thank X in Advance.

    a.First you need to Uploading the WSDL into the Integration Repository
    For this Go to your Software Component Version and open the required Namespace. Create an External Definition: In the external definition object, choose Category wsdl and click Import external definitions.
    B.Now create MI.
    In the message interface object, select the message types of the external definition
    object by using the input help.
    C.Creating a SOAP Sender Channel
    Here we have to define the namespace and the name of a message interface (values can be taken from Integration Repository).
    Select the Quality of Service
    D.Create the file receiver file adapter
    this might be helpfuull
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
    Message was edited by:
            Nisar Khan

  • Unable to generate WebService Client with Exported (BAPI) WSDL file from XI

    Hi there,
    I, trying to setup a simple Web Service environment where I'll be exposing a BAPI as Web Service via XI.
    So these are the steps I followed:
    <b>1)</b> first I imported the BAPI meta data into my SWC in the repository. <b>2)</b> Second I defined my interrface etc.. <b>3)</b> Third I exported the generated BAPI WSDL file. <b>4)</b> Fourth, I tried to generate a Java proxy/client for my Web Service using a Java IDE (IBM WebSphere Application Developer and XML Spy).
    Now the problem is that Im not able to generate the Web Service client using the exported WSDL file, the WSDL seems not to be valid...From the generated errors in the IDE, I can see that the problem has to do somewhere/somehow with the WSDL Binding element, which input parameters do not match the input parameters of the port type.
    This is a small part of the WSDL file as generated by XI:
         <wsdl:message name="BAPI_AR_ACC_GETOPENITEMS.Input">
              <wsdl:part name="parameters" element="s0:BAPI_AR_ACC_GETOPENITEMS" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
         </wsdl:message>
         <wsdl:message name="BAPI_AR_ACC_GETOPENITEMS.Output">
              <wsdl:part name="parameters" element="s0:BAPI_AR_ACC_GETOPENITEMS.Response" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
         </wsdl:message>
         <wsdl:portType name="BAPI_AR_ACC_GETOPENITEMS.PortType">
              <wsdl:operation name="BAPI_AR_ACC_GETOPENITEMS">
                   <wsdl:input message="s0:BAPI_AR_ACC_GETOPENITEMS.Input"/>
                   <wsdl:output message="s0:BAPI_AR_ACC_GETOPENITEMS.Output"/>
              </wsdl:operation>
         </wsdl:portType>
         <wsdl:binding name="BAPI_AR_ACC_GETOPENITEMS.SAPBinding" type="s0:BAPI_AR_ACC_GETOPENITEMS.PortType" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
              <s0:binding style="rfc"/>
    Has anyone faced a situation like this before? Any clues where to look? I appreciate any feedback, thanks!
    Rob.
    Message was edited by: rob viana

    Hi Rob!
    I'm facing the same problem - how did you solve your issue then? I'm getting following error during generation on .NET side:
    ============================================================================================
    Error: There was an error processing 'http://server/wsdl/MIAMI_ACCDOCPost.wsdl'.
      - The document at the url http://server/wsdl/MIAMI_ACCDOCPost.wsdl
    was not recognized as a known document type.
    The error message from each known type may help you fix the problem:
    - Report from 'DISCO Document' is 'Discovery document at the URL http://server/wsdl/MIAMI_ACCDOCPost.wsdl could not be found.'.
      - The document format is not recognized (the content type is 'content/unknown').
    - Report from 'WSDL Document' is 'There is an error in XML document (2, 70138).'.
      - Value cannot be null.
    Parameter name: name
    - Report from 'XML Schema' is 'The root element of a W3C XML Schema should be <schema> and its namespace should be 'http://www.w3.org/2001/XMLSchema'.'.
    ============================================================================================
    kr Martin

  • A problem while implementing a file to file senario

    hi all :
         There is some problem while implement a file to file senario. the file couldn't be sent or recieved.
          and as I try to check Check the Sender File Adapter Status  via
         Runtime Workbench -> Component Monitoring -> Communication Channel Monitoring ,
         It is found that Adapter Engine has error status with red light.  Is it why the file couldn't be sent?
        Could you please tell me how to make Adapter Engine  available?
        Thank you very much!!!

    Hi Sony
    Error getting JPR configuration from SLD. Exception: No entity of class SAP_BusinessSystem for EC1.SystemHome.cnbjw3501 found
    No access to get JPR configuration
    Along with what experts suggested
    What is the type of Business system is this. Standalone Java?
    JPR can have problem if you have a business system thats not ABAP/Java type if this system is not having a SAP TS in landscape then create Java type.
    Thanks
    Gaurav

  • Problem in Proxy to FIle senario.

    Hi ,
    I have a simple proxy to file senario, which is working fine.
    The problem is that i have to put one more file on the FTP server which has some text of 7 characters that denotes that the Proxy was successful. This second file should only be created after the the first file is successfully created.
    One of the solutions is to create to create one more proxy and put the two proxies into a specific queue so they are triggered one after the another.
    Do you have any other solution expect this ??
    Thanks.
    Harpreet Daphu

    Harpreet.... You do not need two proxies.... Create one proxy with a flag
    the purpose of the flag is to indicate whether the record sent is the message payload or the last control record(success/Failure..).. Map the structure of the proxy according to your original msg and the control record.
    Use interface determination to specify both the mapping....Make sure that you specify the original fsg first and chk the maintain order option...so the control rec is posted only if the msg record is succesful
    Alternativbely make the proxy EOIO..
    here is a link to help you with Proxy EOIO -> /people/arulraja.ma/blog/2006/08/18/xi-reliable-messaging-150-eoio-in-abap-proxies
    You still need two mapping...but u dont need the maintain order option.
    I personallly would tryu the first option..
    regards
    Arvind R

  • Problem in mapping-BAPI to file.

    Hi all,
    I am working on an bapi to file scenerio.My requirement is 2 files need to created in the target ,
    First file has the payload and its name(filename) needs to hav message id.
    Second file is a catalog file which only holds the name of the first file(Howmany ever file are reaching target,this file wil hav names of all those files.).
    I have used multi mapping wherein for the first structure i hav done dynamic configuration to generate filename and its wrking fine.
    For the second stucture (has only 1 field for passing filename)i wrote following UDF and mapped it
    String constant;
    java.util.Map map;
    map = container.getTransformationParameters();
    constant = (String) map.get(StreamTransformationConstants.MESSAGE_ID);
    String fileName = constant + ".txt";
    return constant;
    but now  output of the second file is empty ie the filenames of the first file is not present in it.
    Please help as its very urget.

    heyy...thanks for that, but that was a typing mistake..problem is elsewhere, i had tested by mapping that field to a constant, even then no value was present in output.
    My structure looks like below.
    Messages
       Message1
          mt_abcd
    .        field1
             field2
             field3
       Message2
          mt_abcd2
             filename
    Message1 and message2 are 2 separate files in output.
    Message1's output is correctly generated.But for message2 no output atall.

  • BAPI to File Scenario

    Hi Everybody,
    Greetings!!!
    I am new for XI, pls help me to sort out the queries given below:
    1. Can u all help me out for step by step procedure to be followed for BAPI to File Scenario. (Guide me all configuration step to be performed in R/3 & XI)
    2. Also, pls tell me how to configure BAPI in ALE (I am using BAPI_GOODMVT_CREATE)
    3. Also, guide me in Value mapping in XI. (Eg: if the value is A then it should call BAPI_GOODMVT_CREATE, if the value is D then it should call BAPI_GOODMVT_DELETE and if it is U then BAPI_GOODMVT_CHANGE) - Give me code if it is necessary in case of JAVA mapping.
    I will appreciate you for quick response and solve my probs.
    Regards/Guru

    Hi Guru,
    <i>Can u all help me out for step by step procedure to be followed for BAPI to File Scenario. (Guide me all configuration step to be performed in R/3 & XI)</i>
    1) Go to transaction sm59.
    2) Give some name.
    3) Connection type TCP/IP.
    4) Activation Type Registered Server Program.
    5) Give some programid. You have to use this program id in RFC sender communication channel.
    6) In gateway host give the host name of R/3.Give gateway service.
    Before testing this connection create a RFC sender communication channel in XI.There specify the parameters like R/3 hostname,program id created above, authorization credentials for R/3 etc.Then activate the communication channel.Then test your TCP/IP connection in R/3. You have to test connection only after you create RFC CC in XI because it will go and check for the program id in XI.
    You will need to schedule a JOB in your R3 system that will call the RFC during every time perdiod.
    <i>Also, guide me in Value mapping in XI. (Eg: if the value is A then it should call BAPI_GOODMVT_CREATE, if the value is D then it should call BAPI_GOODMVT_DELETE and if it is U then BAPI_GOODMVT_CHANGE) - Give me code if it is necessary in case of JAVA mapping.</i>
    Your requirement can be easily met using the Extended Reciever determination that we have...
    Here actually based on condition from the message in the payload u can assign your receivers..
    Below is the steps to do the same...
    Under Receiver Determination --> Configured Receivers --> Specify the 2 receivers and beside the same you have an option called condition, there you specify the condition on which it has to go to the first system and then the condition on which it has to go to the second system.
    When you click on the codition it will open another window (Condition Editor window) under which you have a Left Operand which when you click will open up another window(Expression Editor window), there for your need you check on the XPath radio button and then click on the field whose value you wanna check from the structure that it displays, when you click on the field it fills in the XPath Expression, then click ok.
    After that it takes you back to the previous window(Condition Editor window) with the Left Operand having the XPath Expression, so all you will have to do is to fill the Right Operand which is nothing but the value you want that field to contain.(For Example if a field "A" that you have selected which comes in the XPath Expression in ur Left Operand,has a value "1" in your Right Operand)
    There you also have an option to put in an "and" or an "or" condition if required(For Example if you wanna check if "A" and "B" is satisfied or it you wanna check if "A" or "B" is satisfied, this can also be done)
    I also suggest u to go through these blogs..
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    If you have any doubts or clarifications on the same, please do ask and i will tell you how to proceed.
    Regards,
    Abhy Thomas

  • IDOC to File Senario - Mapin error

    Hi,
       I am trying IDOC to File Senario using XI. I am stuck while message mapping.
    I need to map IDOC : MATMAS.MATMAS01 (Material numbaer and Matrial description ) to File.
    I have imported IDOC : MATMAS.MATMAS01 in IR.
    Created target Data type/ message type/ message interface:
    Target Data type structutre:
    DT_Matdesc    Complex type (Node)
    Matno             Element                     0...1
    Matdesc          Element                     0...1
    Using graphical message mapping I am trying to map the the Fields from Idoc structure to Target structure, But I am geting Internal error. Can anyone help me out.
    Waiting for the reply.
    Thanks in advance.
    Shweta.

    Hi,
        I am not able to activate Message Mapping. On activation it gives below error.
    Error:
    Internal error while checking object Message Mapping MM_Matdesc1 | urn:namespace:santosh (TRAINING, VERSION 1.1 of ssingh); see details
    Details Error:
    Internal error while checking object Message Mapping
    MM_Matdesc1 | urn:namespace:santosh (TRAINING, VERSION
    1.1 of ssingh); see details (CHECK_EXCEPTION)
    Internal error while checking object Message Mapping
    MM_Matdesc1 | urn:namespace:santosh (TRAINING, VERSION
    1.1 of ssingh); see details (CHECK_EXCEPTION)
    Compilation process error : CreateProcess: null\bin\javac
    -J-Xmx512m @D:/usr/sap/RXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map544be4d0b04a11dbb43e005056b72d1d/O1170151922621.txt
    @D:/usr/sap/RXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map544be4d0b04a11dbb43e005056b72d1d/S1170151922621.txt
    error=2
    I am not able to trace out the error.

  • Problem : Idoc to File Senario,overriding the segments in Idoc,on condition

    Hello People,
    Idoc to file senario.
    There are fields in the Idoc which i want to populate, if that particular Idoc is going to XI. Can u tell me how can i check this condition .. ???

    you dnt have control fro r/3 to check if the IDOC is reached to XI then XI creates the file then update few thing...
    make sure the IDOC is reached to XI using the port if IDOC is using some port...but if the file is getting places in server using AL11 you can check that....in your condition you can check if file is exist in the target folder thn update .....insead of checking if IDOC sent to XI--XI creating a file...i doubt you have that flexibility...lets wait for other reply what they have to say?

  • IDoc to file senario

    Hi,
    This is an idoc to file senario and in this senario,
    PI receives multiple IDocs  in a day and at end of the day  PI needs to build a file with one header record, one detailed record for each IDoc and one tril record at the end file.
    Could you  please suggest me how can I achive this.
    For better understanding i am providing file structure.
    HDR  RECORD
    DETAILED RECORD1
    DETAILED RECORD2
    DETAILED RECORD3
    DETAILED RECORD4
    TRIL RECORD with total idocs proccessed.
    Thanks in advance...
    Sreeni

    Hi,
    PI receives multiple IDocs in a day and at end of the day PI needs to build a file with one header record, one detailed record for each IDoc and one tril record at the end file.
    Can u please give more details on this...
    If the IDOC's are coming multiple times in a day say 100 times and each IDOC will have multiple IDOC's then what do u want...
    I think u have to combile multiple IDOC's in source to a single IDOC and send at a time.. If not PI has to store these IDOC's and send them at the end of the day...
    Please give exactly what u want to achieve...
    Babu

  • Testing of mail to file senario

    hi,
       all i have done a mail to file senario
    now i want to now how i can test that .
    it is just a semple mail to file senario.

    HI
    u can check with this actually this blog is used to test the soap scenarios. it may give some idea to test that..
    /people/community.user/blog/2006/09/19/xi-webservice-studio--a-plain-jane-soap-tool
    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    regards
    Kishore

  • Reg bapi for creation of purchase order

    hai to all,
    i have to upload purchase orders from  legacy file to R/3 system
    certain order having more than 50 line items
    so please any one send me <b>stardard bapi program or bdc program for me21n</b> transaction which will suitable for my senario.
    please send asap
    regards
    vijay

    hai
    i am trying to create po using bapi
    the following code explains
    constants : c_x value 'X'.
      data: del_date type sy-datum.
      data: pohead  type bapimepoheader.
      data: poheadx type bapimepoheaderx.
      data: exp_head type bapimepoheader.
      data: t_return_out  type table of bapiret2 with header line,
            wa_return_out  TYPE bapiret2.
      data: poitem  type table of bapimepoitem with header line.
      data: poitemx type table of bapimepoitemx with header line.
      data: posched  type table of bapimeposchedule with header line.
      data: poschedx type table of bapimeposchedulx with header line.
      data: ex_po_number type bapimepoheader-po_number.
    Header Level Data
      pohead-comp_code = '1011'.
      pohead-doc_type   = 'NB'     .
      pohead-creat_date = sy-datum   .
      pohead-vendor = 'A1138'.
      pohead-purch_org = 'DOMS'.
      pohead-pur_group = 'MFR'.
      pohead-langu      = sy-langu   .
      pohead-doc_date   = sy-datum.
      poheadx-comp_code  = c_x.
      poheadx-doc_type   = c_x.
      poheadx-creat_date = c_x.
      poheadx-vendor     = c_x.
      poheadx-langu      = c_x.
      poheadx-purch_org  = c_x.
      poheadx-pur_group  = c_x.
      poheadx-doc_date   = c_x.
    Item Level Data
      poitem-po_item  = 1.
      poitem-material = '000000000100001079'.
      poitem-plant    = 'HO01'.
    poitem-stge_loc = ''.
      poitem-quantity = 1.
      append poitem.
      poitemx-po_item    = 1.
      poitemx-po_itemx   = c_x.
      poitemx-material   = c_x.
      poitemx-plant      = c_x .
      poitemx-stge_loc   = c_x .
      poitemx-quantity   = c_x .
      poitemx-tax_code   = c_x .
      poitemx-item_cat   = c_x .
      poitemx-acctasscat = c_x .
      append poitemx.
    Schedule Line Level Data
    posched-po_item        = 1.
    posched-sched_line     = 1.
    posched-del_datcat_ext = 'D'.
    del_date = sy-datum + 1.
    write del_date to posched-delivery_date.
    posched-deliv_time     = '000001'.
    posched-quantity       = 1.
    append posched.
    poschedx-po_item        = 1.
    poschedx-sched_line     = 1.
    poschedx-po_itemx       = c_x.
    poschedx-sched_linex    = c_x.
    poschedx-del_datcat_ext = c_x.
    poschedx-delivery_date  = c_x.
    poschedx-quantity       = c_x.
    append poschedx.
      call function 'BAPI_PO_CREATE1'
           EXPORTING
                poheader         = pohead
                poheaderx        = poheadx
                testrun          = ' '
           IMPORTING
                exppurchaseorder = ex_po_number
                expheader        = exp_head
           TABLES
                return           = t_return_out
                poitem           = poitem
                poitemx          = poitemx.
               poschedule       = posched
               poschedulex      = poschedx.
    call function 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
               wait = 'X'.
    if not ex_po_number is initial.
       call function 'DEQUEUE_ALL'.
    else.
       call function 'DEQUEUE_ALL'.
       message i036.
    endif.
    **endform. " create_po
    IF ex_po_number IS NOT INITIAL.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
          PERFORM show_result.
    ELSE.
          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
          PERFORM show_result.
        ENDIF.
    *&      Form  show_result
          text
    -->  p1        text
    <--  p2        text
    FORM show_result .
      LOOP AT t_return_out INTO wa_return_out.
        write : ex_po_number.
        WRITE : / wa_return_out-type,
                / wa_return_out-id,
                / wa_return_out-number,
                / wa_return_out-message,
                / wa_return_out-log_no,
                / wa_return_out-log_msg_no,
                / wa_return_out-message_v1,
                / wa_return_out-message_v2,
                / wa_return_out-message_v3,
                / wa_return_out-message_v4,
                / wa_return_out-parameter,
                / wa_return_out-row,
                / wa_return_out-field,
                / wa_return_out-system.
      ENDLOOP.
    <b>iam geting the error such that</b>
    E                                                                            
    BAPI                                                                         
    001                                                                          
    No instance of object type PurchaseOrder has been created. External reference:
    000000                                                                       
    PurchaseOrder                                                                
    POHEADER                                                                     
            1                                                                 
    E                                                                         
    ME                                                                        
    062                                                                       
    Account assignment mandatory for material 100001079 (enter acc. ***. cat.)
    000000                                                                    
    100001079                                                                 
    POITEM                                                                    
    <b>how to correct this error</b>
    regards
    vijay

  • Lsmw - using bapi's (file structure)

    HI,
      I am trying to use LSMW to upload the purchase order using the bapi.
    I am using the Business object - BUS2012
                          Method             - CREATEFROMDATA
                          Message type   - PORDCR
                          Basic type        - PORDCR05
    In source structure - Posource_head is given and in the lower level
    POsource_item is given. 
    In the maintain source fields,
    For POsource_head,  following fields are given,
    IDENT                          C(001)    Identifier
    LIFNR                          C(010)    Vendor
    EKORG                          C(004)    Purch. Org
    EKGRP                          C(003)    Purchasing group
    for Posource_item , following fields are given,
    IDENT                          C(001)    Identifier
    EMATN                          C(018)    MPn material
    NETPR                          C(011)    Net price
    MATKL                          C(009)    Material group
    WERKS                          C(004)    Plant
    DDATE                          C(010)    Delivery date
    Mapping also done.
    In the excel sheet or notepad, how the fields should be ordered.?
    I just need to know the file format which should be specified in the specify file.
    can anyone give the fields and length that i should create in the excel file or notepad?
    Points will be awarded.
    Regardss,
    Vinoth.

    Hi,
    Field should be ordered as per the source structure of your own.
    In header you can have unique data (strictly) and one more file of item whch will be having correpsonding data for header records.
    Length is as per the Data Element.
    Reward if useful!

  • Reg : bapi

    Hi All,
    Am currently working in 4.6b version i have an requirement to upload purchase order creation i.e stock transport order using BAPI. I just want to know how to simulate purchase order before upload in bapi,and if error occurs how can i say that particular line item is error in purchase order creation.But i know that we can simulate in BAPI_PO_CREATE1 in ECC 6.0 how can i achieve in 4.6 version.
    am using the function module :BAPI_PO_CREATE
    my upload file format :
         Material
            Quantity
            Plant
         Storage Location
         Delivery Date

    hi
    hope it will help you.
    Pls reward if help.
    REPORT zpo_bapi_purchord_tej.
    DATA DECLARATIONS *
    TYPE-POOLS slis.
    TYPES: BEGIN OF ty_table,
    v_legacy(8),
    vendor TYPE bapimepoheader-vendor,
    purch_org TYPE bapimepoheader-purch_org,
    pur_group TYPE bapimepoheader-pur_group,
    material TYPE bapimepoitem-material,
    quantity(13),
    delivery_date TYPE bapimeposchedule-delivery_date,
    net_price(23),
    plant TYPE bapimepoitem-plant,
    END OF ty_table.
    TYPES: BEGIN OF ty_alv,
    v_legs(8),
    success(10),
    v_legf(8),
    END OF ty_alv.
    TYPES: BEGIN OF ty_alv1,
    v_legf1(8),
    v_msg(500),
    END OF ty_alv1.
    *-----Work area declarations.
    DATA: x_table TYPE ty_table,
    x_header TYPE bapimepoheader,
    x_headerx TYPE bapimepoheaderx,
    x_item TYPE bapimepoitem,
    x_itemx TYPE bapimepoitemx,
    x_sched TYPE bapimeposchedule,
    x_schedx TYPE bapimeposchedulx,
    x_commatable(255),
    x_alv TYPE ty_alv,
    x_alv1 TYPE ty_alv1,
    x_alv2 TYPE ty_alv1.
    *-----Internal table declarations.
    DATA: it_table TYPE TABLE OF ty_table,
    it_commatable LIKE TABLE OF x_commatable,
    it_item TYPE TABLE OF bapimepoitem,
    it_itemx TYPE TABLE OF bapimepoitemx,
    it_sched TYPE TABLE OF bapimeposchedule,
    it_schedx TYPE TABLE OF bapimeposchedulx,
    it_alv TYPE TABLE OF ty_alv,
    it_alv1 TYPE TABLE OF ty_alv1,
    it_alv2 TYPE TABLE OF ty_alv1.
    DATA: po_number TYPE bapimepoheader-po_number,
    x_return TYPE bapiret2,
    it_return TYPE TABLE OF bapiret2,
    v_file TYPE string,
    v_temp(8),
    v_succsount TYPE i VALUE 0,
    v_failcount TYPE i VALUE 0,
    v_total TYPE i.
    DATA: v_temp1(5) TYPE n VALUE 0.
    DATA: x_event TYPE slis_t_event,
    x_fieldcat TYPE slis_t_fieldcat_alv,
    x_list_header TYPE slis_t_listheader,
    x_event1 LIKE LINE OF x_event,
    x_layout1 TYPE slis_layout_alv,
    x_variant1 TYPE disvariant,
    x_repid2 LIKE sy-repid.
    DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.
    SELECTION-SCREEN *
    SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.
    *-----To fetch the flat file.
    PARAMETERS: p_file TYPE rlgrap-filename.
    SELECTION-SCREEN END OF BLOCK v_b1.
    AT SELECTION-SCREEN *
    AT SELECTION-SCREEN.
    IF p_file IS INITIAL.
    MESSAGE text-001 TYPE 'E'.
    ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    *-----To use F4 help to find file path.
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    program_name = syst-cprog
    dynpro_number = syst-dynnr
    IMPORTING
    file_name = p_file.
    v_file = p_file.
    START-OF-SELECTION *
    START-OF-SELECTION.
    PERFORM gui_upload.
    LOOP AT it_table INTO x_table.
    PERFORM header_details.
    v_temp = x_table-v_legacy.
    LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.
    PERFORM lineitem.
    PERFORM schedule.
    ENDLOOP.
    DELETE it_table WHERE v_legacy = v_temp.
    PERFORM bapicall.
    MOVE po_number TO x_alv-success.
    APPEND x_alv TO it_alv.
    CLEAR x_alv.
    *-----To clear the item details in internal table after the operation for a header.
    REFRESH: it_item,
    it_itemx,
    it_sched,
    it_schedx.
    CLEAR: v_temp1.
    ENDLOOP.
    v_total = v_succsount + v_failcount.
    PERFORM display_alv.
    FORM GUI_UPLOAD *
    FORM gui_upload .
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = v_file
    filetype = 'ASC'
    TABLES
    data_tab = it_commatable
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17
    IF sy-subrc = 0.
    *-----To fetch the comma seperated flat file into an internal table.
    LOOP AT it_commatable INTO x_commatable.
    IF x_commatable IS NOT INITIAL.
    SPLIT x_commatable AT ',' INTO
    x_table-v_legacy
    x_table-vendor
    x_table-purch_org
    x_table-pur_group
    x_table-material
    x_table-quantity
    x_table-delivery_date
    x_table-net_price
    x_table-plant.
    APPEND x_table TO it_table.
    ENDIF.
    CLEAR x_table.
    ENDLOOP.
    ENDIF.
    ENDFORM. " gui_upload
    FORM HEADER_DETAILS *
    FORM header_details .
    MOVE 'NB' TO x_header-doc_type.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = x_table-vendor
    IMPORTING
    output = x_table-vendor
    MOVE x_table-vendor TO x_header-vendor.
    MOVE x_table-purch_org TO x_header-purch_org.
    MOVE x_table-pur_group TO x_header-pur_group.
    x_headerx-doc_type = 'X'.
    x_headerx-vendor = 'X'.
    x_headerx-purch_org = 'X'.
    x_headerx-pur_group = 'X'.
    ENDFORM. " header_details
    FORM LINEITEM *
    FORM lineitem .
    v_temp1 = v_temp1 + 10.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = v_temp1
    IMPORTING
    output = v_temp1.
    MOVE v_temp1 TO x_item-po_item.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    input = x_table-material
    IMPORTING
    output = x_table-material.
    MOVE x_table-material TO x_item-material.
    MOVE x_table-quantity TO x_item-quantity.
    MOVE x_table-net_price TO x_item-net_price.
    MOVE x_table-plant TO x_item-plant.
    x_itemx-po_item = v_temp1.
    x_itemx-material = 'X'.
    x_itemx-quantity = 'X'.
    x_itemx-net_price = 'X'.
    x_itemx-plant = 'X'.
    APPEND x_item TO it_item.
    APPEND x_itemx TO it_itemx.
    CLEAR: x_item, x_itemx.
    ENDFORM. " lineitem1
    FORM SCHEDULE *
    FORM schedule .
    MOVE x_table-delivery_date TO x_sched-delivery_date.
    MOVE v_temp1 TO x_sched-po_item.
    x_schedx-delivery_date = 'X'.
    x_schedx-po_item = v_temp1.
    APPEND x_sched TO it_sched.
    APPEND x_schedx TO it_schedx.
    CLEAR: x_sched, x_schedx.
    ENDFORM. " schedule
    FORM BAPICALL *
    FORM bapicall .
    CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
    poheader = x_header
    poheaderx = x_headerx
    IMPORTING
    exppurchaseorder = po_number
    TABLES
    return = it_return
    poitem = it_item
    poitemx = it_itemx
    poschedule = it_sched
    poschedulex = it_schedx.
    IF po_number IS NOT INITIAL.
    v_succsount = v_succsount + 1.
    MOVE x_table-v_legacy TO x_alv-v_legs.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    ELSE.
    v_failcount = v_failcount + 1.
    MOVE x_table-v_legacy TO x_alv-v_legf.
    MOVE x_table-v_legacy TO x_alv1-v_legf1.
    LOOP AT it_return INTO x_return.
    IF x_alv1-v_msg IS INITIAL.
    MOVE x_return-message TO x_alv1-v_msg.
    ELSE.
    CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.
    ENDIF.
    ENDLOOP.
    APPEND x_alv1 TO it_alv1.
    CLEAR x_alv1.
    ENDIF.
    ENDFORM. " bapicall
    FORM DISPLAY_ALV *
    FORM display_alv .
    PERFORM x_list_header.
    PERFORM build_fieldcat CHANGING x_fieldcat.
    x_repid2 = sy-repid.
    x_event1-name = 'TOP_OF_PAGE'.
    x_event1-form = 'TOP_OF_PAGE'.
    APPEND x_event1 TO x_event.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = x_repid2
    is_layout = x_layout1
    it_fieldcat = x_fieldcat
    i_callback_user_command = 'USER_COMMAND'
    i_callback_top_of_page = 'TOP_OF_PAGE'
    i_save = 'A'
    is_variant = x_variant1
    it_events = x_event
    TABLES
    t_outtab = it_alv
    EXCEPTIONS
    program_error = 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.
    ENDFORM. " display_master_data
    FORM USER_COMMAND *
    FORM user_command USING ucomm LIKE sy-ucomm selfield
    TYPE slis_selfield.
    READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.
    CLEAR : x_alv2,it_alv2[].
    LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.
    x_alv2 = x_alv1.
    APPEND x_alv2 TO it_alv2 .
    ENDLOOP.
    DATA : it_fieldcat TYPE slis_t_fieldcat_alv.
    DATA : x3_fieldcat LIKE LINE OF it_fieldcat.
    CLEAR : x3_fieldcat,it_fieldcat[].
    CLEAR x3_fieldcat.
    x3_fieldcat-col_pos = '1'.
    x3_fieldcat-fieldname = 'V_LEGF1'.
    x3_fieldcat-reptext_ddic = text-111.
    x3_fieldcat-ref_tabname = 'IT_ALV2'.
    APPEND x3_fieldcat TO it_fieldcat.
    CLEAR x3_fieldcat.
    CLEAR x3_fieldcat.
    x3_fieldcat-col_pos = '1'.
    x3_fieldcat-fieldname = 'V_MSG'.
    x3_fieldcat-reptext_ddic = text-112.
    x3_fieldcat-ref_tabname = 'IT_ALV2'.
    APPEND x3_fieldcat TO it_fieldcat.
    CLEAR x3_fieldcat.
    x_layout1-colwidth_optimize = 'X'.
    x_layout1-zebra = 'X'.
    IF it_alv2[] IS NOT INITIAL.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = x_repid2
    is_layout = x_layout1
    it_fieldcat = it_fieldcat
    i_save = 'A'
    i_callback_top_of_page = 'TOP'
    is_variant = x_variant1
    it_events = x_event
    TABLES
    t_outtab = it_alv2
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.
    ENDIF.
    ENDFORM.
    FORM USER_COMMAND *
    FORM top.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = 'Commentry'.
    ENDFORM.
    FORM BUILD_FIELDCAT *
    FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: x1_fieldcat TYPE slis_fieldcat_alv.
    CLEAR x1_fieldcat.
    x1_fieldcat-col_pos = '1'.
    x1_fieldcat-fieldname = 'V_LEGS'.
    x1_fieldcat-reptext_ddic = text-108.
    x1_fieldcat-ref_tabname = 'IT_ALV'.
    APPEND x1_fieldcat TO et_fieldcat.
    CLEAR x1_fieldcat.
    x1_fieldcat-col_pos = '2'.
    x1_fieldcat-fieldname = 'SUCCESS'.
    x1_fieldcat-key = 'X'.
    x1_fieldcat-reptext_ddic = text-109.
    x1_fieldcat-ref_tabname = 'IT_ALV'.
    APPEND x1_fieldcat TO et_fieldcat.
    CLEAR x1_fieldcat.
    x1_fieldcat-col_pos = '3'.
    x1_fieldcat-fieldname = 'V_LEGF'.
    x1_fieldcat-key = 'X'.
    x1_fieldcat-reptext_ddic = text-110.
    x1_fieldcat-ref_tabname = 'IT_ALV'.
    APPEND x1_fieldcat TO et_fieldcat.
    CLEAR x1_fieldcat.
    ENDFORM. " build_fieldcat
    FORM BUILD_LIST_HEADER *
    FORM x_list_header.
    DATA: x_list_header1 TYPE slis_listheader.
    *-----List Header: type H
    CLEAR x_list_header1 .
    x_list_header1-typ = 'H'.
    x_list_header1-info = text-105.
    APPEND x_list_header1 TO x_list_header.
    *-----List Key: type S
    x_list_header1-typ = 'S'.
    x_list_header1-key = text-106.
    x_list_header1-info = v_total.
    APPEND x_list_header1 TO x_list_header.
    *-----List Key: Type S
    CLEAR x_list_header1 .
    x_list_header1-typ = 'S'.
    x_list_header1-key = text-107.
    x_list_header1-info = v_succsount.
    APPEND x_list_header1 TO x_list_header.
    ENDFORM. " build_list_header
    FORM TOP_OF_PAGE *
    FORM top_of_page.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    it_list_commentary = x_list_header.
    ENDFORM. " TOP_OF_PAGE

  • Problem in storing data in BAPI in File to RFC Scenario

    Hi everyone,
    I m doing File to RFC Scenario.......I completed design and configuration part and actived the Communication Channels.....
    Now when I check in Runtime workbench I am getting succefully executed both at outbound and Inbound Channels.......but
    data is not updated in BAPI...........
    I m getting following error when I check in Component monitoring......
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: RfcAdapter: receiver channel has static errors: configuration exception caused by: com.sap.aii.af.rfc.core.config.RfcChannelInactiveException: channel has status inactive: com.sap.aii.af.rfc.afcommunication.RfcAFWException: RfcAdapter: receiver channel has static errors: configuration exception caused by: com.sap.aii.af.rfc.core.config.RfcChannelInactiveException: channel has status inactive
    Please help me out.......
    Regards,
    Sudheer.

    Hi
    "I took Business Service as Service but not Business System.....Will it effect the scenario???......"
    I suggest While dealing with the SAP Systems we should use Business systems.
    Pls check the foolowing Threads for the above Query
    RFC - Business Service
    Re: business service for file to rfc
    Regards
    Abhijit

Maybe you are looking for

  • How do i change the amount of days before emails get deleted on the ipad

    When i receive emails, they delete after a day. Are there any settings that i can configure in order for the emails to stay longer?

  • PSUB daemon not getting started

    Hi, I am installing OC 4.6 server but psub daemon is not getting started please suggest and resolution mia35132orc002:/opt/opapps/oc/46/log#cat rxcpsd_RSDBTAJ_46_1.log Log filename=/opt/opapps/oc/46/log/rxcpsd_RSDBTAJ_46_1.log ERROR:Daemon error whil

  • Accessing pickList's selected values

    Hello everyone, I'm trying to use a rich:pickList with two datastructures: one for the possible option values and another to retrieve the user selected values. I can create and populate the pickList with the option values, like this: <rich:pickList c

  • Colors look odd

    I just got the new CS4 version and am working on a graphic in fireworks utilizing a template graphic. Whenever I open up any exhisting graphic in fireworks, the colors in the image are not the actual print colors. I am not sure if this makes sense an

  • How to start with the Data Access Object Pattern

    I have about a years experience with regular java/UML. I would like to understand the DAO Pattern and have therefore read : http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html But I don't understand much of it. What do I ne