Regarding  VK11 for lsmw........Batch input standard program

Hi friends,
   I am wokring on LSMW for VK11 transaction. I have to use batch input standard  program....
can any body help me  in this regard.
Regards,
Jayan

Hi
a) For Standard Batch/Direct Input i believe we can assign 2 files (structures) , but it is possible for batch input recording ?
b) If this is possible, how can i assign the second file (detail structure) to C201 recording ?
In [this post|Re: LSMW load Customer data with Table like file with Header and Item records ?] you can read a good discussion about a problem like yours (header, item):
I believe you can use both solutions: single or double files.
c) How can i mapping the detail file fields to recording fields (PLPOD-ARBPL(01), PLPOD-ARBPL(02),..) ?
Just as Breakpoint said you can check if there's a chance in order to place the record to the top line, else it could be a problem
Max

Similar Messages

  • Customized LSMW (Batch Input Recording) to upload data for Vendor

    Hello Fiends,
       can u help me on this object and how to upload in xk01.
            Customized LSMW (Batch Input Recording) to upload data for Vendor Master using Transaction code XK01
    With best wishes,
    Chandu.
    Point will be rewarded....

    Hi,
    Go through the following link, you will find your answer
    http://www.sapbrain.com
    Regards,
    Bhaskar

  • Lsmw-batch input

    Hi all..
    Am uploading vendor master using lsmw-batch input method..when there s one record in my flat file its working fine.. But when i give more than one record its throwing some errors and i cant create the session.. can any one help me regarding this...
    Points will be rewarded generously...
    Thanks and regards
    Ashu

    hi mrutyun..
    the structure relations are correct since it works fine if i have only one record..
    Am using the transaction XK01 for uploading.. Its reading all the records and converting perfectly..it shows error like
    Trans. 1 record 2: Table BLFA1 was transfered more than once its like a warning message and i cant process the session..
    its saying like <b>EDITING TERMINATED</b>

  • Problem about House Number of Vender Transfer by using LSMW+Batch-Input

    Hi,
    anyone has met the same problem?
    by using LSMW+Batch-Input method to transfer vender data the field House Number cannot be added.
    Object: 0040 Vendor Master
    Method 0002 Shared
    Program Name RFBIKR00
    Program Type B Batch Input
    Thanks in advance!

    in Vedndor master LSMW batch input method there is no field for House Number , we have only one filed
    (STRAS)for street and house numner in LSMW.
    first create the vendors after that update through XK02
    for this you can write program small LSMW recording  method
    using below fileds
    LIFNR                          C(010)    Vendor
    BUKRS                          C(004)    Company Code
    STREET                         C(060)    STREET
    HOUSE_NUM1                     C(010)    HOUSE_NUM1

  • Lsmw (batch input recording)

    explain step by step procedure for uplodig master data through lsmw (batch input recording) method. please explain settings for auto field mapping in 5th step

    Hi Neela,
    These are the steps to be followed while doing a Batch Input Recording.
    LSMW STEPS (Batch Input Recording)
    1. Maintain Attributes:
    Here you have to choose the second option and you can do the recording how this should work. Then assign the same to the Batch Input Recording name.
    2. Maintain Source structure:
    Create a structure name
    3. Maintain Source field:
    Create a structure like the Input File
    eg:
    Name - LIFNR
    Description - Account number or Vendor Number
    4. Maintain structure relations:
    This will link the structure to the input file.
    5. Maintain field mapping and conversion rules:
    You can choose the Auto Filed Mapping under Extras Menu. Yopu can also do coding, depending upon the code you have written or assignment you have done the values will get picked up from the file and get processed.
    6. Maintain field mapping and conversion rules:
    If you have any fixed values you can define here.
    7. Specify files:
    Specify the input file path and type.
    8. Assign files:
    This will assign ur file to the Input file
    9. Read Data:
    This will read ur data from teh file.
    10. Dispaly Read Data:
    You can see the uploaded data
    11. Convert Data
    This will convert the data to the corresponding format for processing
    12. Display Converted data:
    13. Create batch input session
    Here this will create a batch input session for processing
    14. Run Batch Input session:
    By clicking on the session and process (Back ground or Display Errors)
    Refer the Below Links
    http://www.sapbrain.com/TOOLS/LSMW/SAP_LSMW_steps_introduction.html
    /people/hema.rao/blog/2006/09/14/lsmw--step-by-step
    http://help.sap.com/bp_blv1500/BL_US/documentation/LSMW_EN_US.doc
    http://esnips.com/doc/8e732760-5548-44cc-a0bb-5982c9424f17/lsmw_sp.ppt
    http://esnips.com/doc/f55fef40-fb82-4e89-9000-88316699c323/Data-Transfer-Using-LSMW.zip
    http://esnips.com/doc/1cd73c19-4263-42a4-9d6f-ac5487b0ebcb/LSMW-with-Idocs.ppt
    http://esnips.com/doc/ef04c89f-f3a2-473c-beee-6db5bb3dbb0e/LSMW-with-BAPI.ppt
    http://esnips.com/doc/7582d072-6663-4388-803b-4b2b94d7f85e/LSMW.pdf
    http://help.sap.com/saphelp_erp2005/helpdata/en/e1/c6d30210e6cf4eac7b054a73f8fb1d/frameset.htm
    Reward Points if Useful
    Regards
    Gokul

  • Log For LSMW Direct Input

    How do i check the log for LSMW direct Input
    Also When i run the LSMW program the LAST STEP has Start Direct Input
    What all step do i need to select to make the program run Automatically
    Now i tried doing that but had to press Enter key until the load was Over
    Thankyou
    Sh

    hi,
    use option extended log (e.g. in rfbibl00)  and after run goto sm37 - Job-log
    A.

  • How do I create a data set ready for a batch input session

    Hi:
    I don't know how to create a data set ready for an BATCH-INPUT SESSION.I know that with the function BDC_INSERT make de input online, but my requirement is that generate the data set and left to the user get in de SM35 transaccion and decide to him if it's execute or not. I have all the information in a BDCDATA table.
    Any clue would be great!!

    You just have to do:
    BDC_OPEN_GROUP (Open new batch)
    BUILD BDC DATA (Your own code)
    BDC_INSERT (Insert BDC data you have built in step 2)
    BDC_CLOSE_GROUP (Close batch)
    This will just create a new batch and it can be processed in SM35.
    To build BDC data:
    LOOP AT your_input_table.
    <<here you have to use the code generated from recording in  trasaction SHDB>> (i.e. bdc_dynpro and bdc_field performs)
    ENDLOOP.

  • LSMW Batch Input Recording for Create BOM

    Dear All,
    I want to do LSMW for Creating BOM using Batch Input Recording,
    I know that i have to make 2 time Recording, first for the BOM Header and second for the BOM item
    For the BOM header i have done it, but for the BOM item i got some trouble with the item number (POSNR),
    when i run the LSMW, for the first item (item 0010) was success, but for the item 0020, it can't work and i got error
    message " NO BATCH INPUT FOR SAPLCSDI 0150"
    How is the recording step by step for BOM Item so the Item number can increase well?
    Very need your help,
    Regards,
    Marufat

    Hello Santosh,
    Thanks for the reply,
    I already check in SM35 where i also thought that the main problem is about adding the new item number,
    but when i tried to do repeat recording, i can not find any entry for adding the line item, so the line item after 0010 cannot be input
    Is there any solution?
    Regards,
    Marufat

  • LSMW: Batch Input for modified XD01?

    Hey!
    I want to import some customers data via LSMW, however we are using an add-on in our R3. For this reason I recieved the message: 'Old data BKNA1 cannot be processed, ADD-ON exists', when I tried to create the batch input session. All the steps before were fine. The modification of xd01 is just one button to add some additional information. Do I have to record the whole batch input session on my own again or does anyone knows an other opportunity?
    kind regards

    Guess you need an end of record marker in field SENDE (BKNA1):
    End of record marker:                                                                               
    If a batch input structure is later extended, the new end of the structure is indicated by a special field (SENDE). If you are already   
    working with the new, extended structure, you must also supply this     
    field with the NODATA indicator when "initializing" the structure. As a 
    result, the system can recognize whether the data is based on the old or
    the new structure when the structure is imported.                                                                               
    Old structures can no longer be processed and the system terminates with
    an error message if the following prerequisites are fulfilled:                                                                               
    o   You are using the modification-free enhancement of the customer/vendor master either directly or indirectly via an SAP solution.                                                                               
    o   Either you or an SAP solution extends the structure.

  • In LSMW Customer master standard program.....

    I have problem in LSMW customer master data creation.I have used LSMW standard program
    object : 0050
    method : 0000
    prog.name : RFBIDE00
    PROGTYPE : B
    but upto Dispaly converted data all the steps are wrking fine..
    but In the step13: Create batch input session, I am getting error message.
    like "Editing was terminaterd"
    kindly guide me on this..........

    hi
    chk this:
    /message/3216495#3216495 [original link is broken]
    regards,
    madhumitha

  • LSMW- Batch Input session getting error

    Hi All,
    I created LSMW object for Tcode KO01 and its creating the Internal order as expceted.But even after creating the document the Batch Input session status is showing incorrect.No messages are also displayed in the log.
    Please let me know why this is happening.
    Thanks in Advance,
    Savitha

    Hi,
    Detail Error Message is as follows:
    No batch input data for screen SAPLIMR0 1110
    Message no. 00344
    Diagnosis
    The transaction sent a screen that was not expected in the batch input session and which therefore could not be supplied with data.
    Possible reasons:
    1. The batch input session was created incorrectly. The sequence of screens was recordly incorrectly.
    2. The transaction behaves differently in background processing in a batch work process than when running in dialog (SY-BATCH is queried and changes the screen sequence).
    3. The transaction has undergone user-specific Customizing and therefore certain screens may be skipped or processed differently, according to the current user. If the person who created a batch input session is not the same as the person now processing it, this problem may occur frequently.
    System Response
    None.
    Procedure
    For 1: Either re-create the session or process it in expert mode. Correct the batch input program.
    For 2. It is very difficult to analyze this problem, particularly in the case that the screen sequence or the display-only options of fields differ according to whether the transaction is being processed in the background or as an online dialog. It could also be that this kind of transaction cannot run with batch input.
    For 3: Have the creator of the session process it. If no error occurs now, then this is a program with user-specific Customizing.
    Regards,
    ababfk

  • LSMW Batch input  session issue

    We have LSMW project for changing material BOM, object 0030, method 0002 and program RCSBI020 type B. I am passing header and items file. All the steps works until session creation. At session creation step it is just displaying the list of material and doesn't show any session generated.
    In what scenarios usually LSMW doesn't create the sessions? Any help would be appericiated.

    It seems that LSMW always use B (Batch Input). Try running the program RCSBI020 directly, I think you have the option not to create BI (the "Create folder" checkbox must not be selected).
    Thanks & regards,
    Hadiman

  • Document Date (BLDAT) for Stock Batch-input

    Hi,
    I'm trying to load material stock with LSMW.
    The problem is that the Document Date (field BLDAT) is filled with today's date and not the date I write in my batch-input file.
    How can I load the date correctly?
    Thanx
    Diego

    Hi
    In LSMW , Please check in the step
      5 Maintain Field Mapping and Conversion Rules
    the field is attched to a source filed or maintained as defualt.
    Please check the same.
    I am using the same for stock uploading using MB1C transaction & it is working fine.
    Thanks & Regards
    Kishore

  • LSMW Direct Input Custom Program

    Hi All,
    I have been trying to set up a custom (Z Program) for direct input method for LSMW. So far I have dicovered that it can be achieved by modifing SXDA0-3 tables.
    Has anyone achieved this successfully? Any example (even the simplest one) or step by step help would be highly appreciated.
    Regards,
    ~Mark

    Yes, it does appear that this table contains the data which gives the structures names of the structures used in direct input programs. 
    Documentation for LSMW is limited, but here are some links.
    http://www.erpgenie.com/sap/saptech/lsmw.htm
    http://www.sap-img.com/sap-data-migration.htm
    http://www.ficoexpertonline.com/downloads/0703.doc
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ad/2d54a41d7011d2b42e006094b944c8/frameset.htm
    REgards,
    RIch Heilman
    Message was edited by:
            Rich Heilman

  • RFBIBL00 for FB01 - BATCH INPUT ERROR

    Hi,
    When am trying to post from foreground i found an error
    "Field DKACB-XERGO. does not exist in the screen SAPLKACB-0002"
    such errors come for only certain GL account, could you provide me a solution?

    Hi Dear,
    Call Rfbibl00 in you program and submit your structure to rfbibl00. Here is the sample code....c how i have submitted in back ground i have given commenting in code it will b easier for you.
    Still issues feel free to ask.
    Reward for program
    DATA :w_t001 LIKE t001,
          w_gjahr LIKE bkpf-gjahr,
          w_poper LIKE t009b-poper,
          BEGIN OF it_input1 OCCURS 0,
          data(10000),
          END OF it_input1,
          separator(1) TYPE c VALUE ';',
          input_line(10000),
          count TYPE i,
          i_lines TYPE i,
            BEGIN OF it_input OCCURS 0,
            ind(1),                    " indicator for feild
            bldat(8),                  " DOC DATE
            blart(2),                  " DOC TYPE
            bukrs(4),                  " COMPANY CODE
            budat(8),                  " POSTING DATE
            waers(5),                  " CURRENCY
            xblnr(16),                 " HEADER REF
            bktxt(25),                 " HEADER TXT
            newbs(2),                  " POSTING KEY
            newko(17),                 " ACCOUNT
            newum(1),                  " SPL GL INDICATOR
            wrbtr(13),                 " AMOUNT IN FOR CURRENCY
            dmbtr(13),                 " AMOUNT IN LOCAL CURRENCY
            zterm(4),                  " PAYAMENT TERMS
            zfbdt(10),                 " BASE LINE DATE
            wt_wit(2),                 " WITH TAXCODE
            wt_qs(15),                 " WITH TAXCODE
            wt_qb(15),                 " WITH TAXAMOUNT
            mwskz(2),                  " TAXCODE
            bupla(4),                  " BUSINESS PLACE
            newbk(4),                  " LINE ITEM COMAPNY CODE
            kostl(10),                 " COSTCENTER
            aufnr(12),                 " INTERNAL ORDER
            prctr(10),                 " PROFIT CENTER
            pernr(8),                  " PERSONAL NUMBER
            zuonr(18),                 " ASSIGNMENT
            xref1(12),                                          " REF1
            xref2(12),                                          " REF2
            xref3(20),                                          " REF3
            sgtxt(50),                 " LINE TEXT
      END OF it_input,
       it_tmp_input LIKE it_input OCCURS 0 WITH HEADER LINE.
    DATA : file TYPE string,
           file1 TYPE string.
    path on which error and complete directories are placed
    DATA : w_path_err(100) TYPE c VALUE '\usr\sap\DEV\interfaces\ERROR\',
           w_path_comp(100) TYPE c VALUE '\usr\sap\DEV\interfaces\COMPLETE\',
           w_path_capinv(200) TYPE c VALUE '\usr\sap\DEV\interfaces\IN\SETDDN\',
           w_path_capinv1(200) TYPE c,   "contains the path of the file in the its original directory eg SETDDN
           w_path_capinv2(200) TYPE c,   "contains the path of the error file in the error directory eg ERROR
           w_path_capinv3(200) TYPE c.   "contains the path of the file in the complete directory eg COMPLETE
    type declaration for headerref
    TYPES : BEGIN OF ty_input_err,
            xblnr(16),                 " HEADER REF
            item_no(4),
            err_text(500),
            END OF ty_input_err.
    DATA : it_input_err TYPE STANDARD TABLE OF ty_input_err,
           wa_input_err LIKE LINE OF it_input_err.
    variables for validations
    DATA : w_post TYPE c,
           w_xblnr TYPE bkpf-xblnr,
           w_wrbtr TYPE i,
           w_wrbtr1 TYPE i,
           w_wrbtr2 TYPE i,
           w_newko(10) TYPE c,
           w_count1 TYPE n.
    DATA :
           w_path LIKE rlgrap-filename,
           w_file LIKE rlgrap-filename,
           w_dir LIKE  rlgrap-filename,
           w_dir1 LIKE epsf-epsdirnam,
           w_file1 LIKE  epsf-epsfilnam,
           w_flag TYPE i,
           w_budat TYPE budat,
           w_flag_s TYPE c,
           w_file_comp  LIKE rlgrap-filename.
    DATA : BEGIN OF it_file OCCURS 0.
            INCLUDE STRUCTURE  epsfili.
    DATA:  END OF it_file.
    FIELD-SYMBOLS: <fs>.
    DATA: BEGIN OF bdcdata OCCURS 100.
            INCLUDE STRUCTURE bdcdata.
    DATA: END OF bdcdata.
    DATA : BEGIN OF it_data OCCURS 0,
             f1(10000),
           END OF it_data.
    DATA : wa_bgr00 LIKE bgr00,
           wa_bbkpf LIKE bbkpf,
           wa_bbkpf1 LIKE bbkpf,
           wa_bbseg LIKE bbseg,
           w_param_1 LIKE  filename-fileintern,
           x_file(500),
           w_move_file LIKE  epsf-epsfilnam,
           w_from_dir  LIKE epsf-epsdirnam.
    type declaration for validations
    TYPES : BEGIN OF ty_blart,
            blart TYPE t003-blart,
            END OF ty_blart.
    TYPES : BEGIN OF ty_xblnr,
            xblnr TYPE bkpf-xblnr,
            END OF ty_xblnr.
    TYPES : BEGIN OF ty_mwskz,
            mwskz TYPE t007a-mwskz,
            END OF ty_mwskz.
    TYPES : BEGIN OF ty_qsskz,
            qsskz TYPE t059q-qsskz,
            END OF ty_qsskz.
    TYPES : BEGIN OF ty_zterm,
            zterm TYPE t052-zterm,
            END OF ty_zterm.
    TYPES : BEGIN OF ty_bschl,
            bschl TYPE tbsl-bschl,
            END OF ty_bschl.
    TYPES : BEGIN OF ty_umskz,
            umskz TYPE t074u-umskz,
            END OF ty_umskz.
    TYPES : BEGIN OF ty_prctr,
            prctr TYPE cepc-prctr,
            END OF ty_prctr.
    TYPES : BEGIN OF ty_kostl,
            kostl TYPE csks-kostl,
            END OF ty_kostl.
    TYPES : BEGIN OF ty_branch,
            branch TYPE j_1bbranch-branch,
            END OF ty_branch.
    TYPES : BEGIN OF ty_seccode,
            seccode TYPE seccode-seccode,
            END OF ty_seccode.
    TYPES : BEGIN OF ty_tbsl,
            bschl TYPE tbsl-bschl,
            shkzg TYPE tbsl-shkzg,
            END OF ty_tbsl.
    TYPES : BEGIN OF ty_aufnr,
            aufnr TYPE aufk-aufnr,
            END OF ty_aufnr.
    TYPES : BEGIN OF ty_pernr,
            pernr TYPE pa0001-pernr,
            END OF ty_pernr.
    TYPES : BEGIN OF ty_ska1,
            saknr TYPE ska1-saknr,
            END OF ty_ska1.
    TYPES : BEGIN OF ty_lfa1,
            lifnr TYPE lfb1-lifnr,
            bukrs TYPE lfb1-bukrs,
            END OF ty_lfa1.
    internal table declaration for validation
    DATA : it_blart TYPE STANDARD TABLE OF ty_blart,
           it_mwskz TYPE STANDARD TABLE OF ty_mwskz,
           it_umskz TYPE STANDARD TABLE OF ty_umskz,
           it_xblnr TYPE STANDARD TABLE OF ty_xblnr,
           it_qsskz TYPE STANDARD TABLE OF ty_qsskz,
           it_zterm TYPE STANDARD TABLE OF ty_zterm,
           it_bschl TYPE STANDARD TABLE OF ty_bschl,
           it_prctr TYPE STANDARD TABLE OF ty_prctr,
           it_kostl TYPE STANDARD TABLE OF ty_kostl,
           it_branch TYPE STANDARD TABLE OF ty_branch,
           it_seccode TYPE STANDARD TABLE OF ty_seccode,
           it_tbsl  TYPE STANDARD TABLE OF ty_tbsl,
           it_aufnr TYPE STANDARD TABLE OF ty_aufnr,
           it_pernr TYPE STANDARD TABLE OF ty_pernr,
           it_ska1 TYPE STANDARD TABLE OF ty_ska1,
           it_lifnr TYPE STANDARD TABLE OF ty_lfa1.
    DATA : wa_it_tbsl LIKE LINE OF it_tbsl.
    DATA : w_date TYPE sy-datum,
           w_check TYPE c ,
           w_item_no TYPE i.
    CONSTANTS : c_under TYPE c VALUE '_',
                c_ext(4) TYPE c VALUE '.txt'.
    Input file
    SELECTION-SCREEN BEGIN OF BLOCK inp WITH FRAME TITLE text-001.
    PARAMETERS :
                 pr_serv RADIOBUTTON GROUP abc DEFAULT 'X',
                 pr_sfile TYPE  filename-fileintern,
                 pr_lok RADIOBUTTON GROUP abc,
                 pr_lfile  TYPE filename-fileextern.
    SELECTION-SCREEN END OF BLOCK inp.
    --- output
    SELECTION-SCREEN BEGIN OF BLOCK out WITH FRAME TITLE text-002.
    PARAMETERS : pr_group LIKE bgr00-group OBLIGATORY DEFAULT '1000EXPENSE',     " batch input structure for sessiondata
                 pr_xkeep LIKE bgr00-xkeep DEFAULT 'X' NO-DISPLAY,
                 pr_max(4) TYPE n DEFAULT '8000',
                 callmode    LIKE rfpdo-rfbifunct ,        " Function for Generating Posting
                 pr_nodta LIKE bgr00-nodata DEFAULT '/' NO-DISPLAY,
                 pr_out  LIKE rlgrap-filename,
                 pr_err LIKE rlgrap-filename.
    SELECTION-SCREEN END OF BLOCK out.
    Company code and currency
    SELECTION-SCREEN BEGIN OF BLOCK def WITH FRAME TITLE text-003.
    PARAMETERS : pr_bukrs LIKE t001-bukrs,
                 pr_waers LIKE bkpf-waers.
    SELECTION-SCREEN END OF BLOCK def.
    Read file from server
    PERFORM f001_upload_file.
    *&      Form  create_doc
          text
    -->  p1        text
    <--  p2        text
    FORM f003_create_doc.
      DATA : l_count TYPE i.
      DATA : w_session TYPE i.
      CLEAR w_flag_s.
      CLEAR l_count.
      LOOP AT it_input.
        IF l_count = 0 AND w_flag_s NE 'X'.
          REFRESH it_data.
        ENDIF.
    *Commented code for background processing
        IF it_data[] IS INITIAL.
          PERFORM bdc_bgr00.
          IF NOT w_session IS INITIAL.
            APPEND wa_bbkpf1 TO it_data.
            APPEND it_data.
            MOVE 'X' TO w_flag_s.
          ENDIF.
        ENDIF.
        IF NOT it_input-ind IS INITIAL.
          ADD 1 TO l_count.
          PERFORM header_record.
          PERFORM item_record.
          CLEAR w_flag_s.
        ELSE.
          PERFORM item_record.
        ENDIF.
        IF l_count > 18 .
          PERFORM save_on_server.
          PERFORM post_document.
          ADD 1 TO w_session.
          l_count = 0.
       REFRESH it_data.
        ENDIF.
      ENDLOOP.
      IF NOT it_data[] IS INITIAL.
        PERFORM save_on_server.
        PERFORM post_document.
      ENDIF.
    *moving the file name to temporary variable.
      CONCATENATE  w_path_comp it_file-name INTO w_path_capinv3.
      OPEN DATASET w_path_capinv3 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    *w_path_capinv2 contains the path of the error file.
    *so all of the content of it_input is tranfered to file which is stored in the error.
      LOOP AT it_input.
        TRANSFER it_input TO w_path_capinv3 .
        IF sy-subrc NE 0.
          MESSAGE i001(mg) WITH w_path_capinv3 .    " error writing to sequential file
          MESSAGE a099(mg).                         " processing terminated
        ENDIF.
      ENDLOOP.
      CLOSE DATASET w_path_capinv3.
      CLEAR  w_path_capinv3.
    *After successful posting of the file that file is deleted form its original directory.
      CONCATENATE w_path_capinv it_file-name INTO w_path_capinv1.
      DELETE DATASET w_path_capinv1.
      CLEAR w_path_capinv1.
    -------------- save file on appl. server -----------------
    perform save_on_server.
    -------------- call RFBIBL00 -----------------------------
    perform call_rfbibl00.
    ENDFORM.                    " create_doc
    *&      Form  header_record
          text
    -->  p1        text
    <--  p2        text
    FORM header_record.
      PERFORM fill_in_nodata_character CHANGING wa_bbkpf.
      wa_bbkpf-stype = '1'.
      wa_bbkpf-tcode = 'FB01'.
    Check the file is for the valid company code.
      SELECT SINGLE * INTO w_t001 FROM t001
          WHERE bukrs EQ pr_bukrs.
      IF  sy-subrc NE 0.
        MESSAGE a899 WITH text-021  pr_bukrs.
      ENDIF.
    Determine period
      CALL FUNCTION 'FI_PERIOD_DETERMINE'
        EXPORTING
          i_budat        = sy-datum
          i_bukrs        = pr_bukrs
        IMPORTING
          e_gjahr        = w_gjahr
          e_poper        = w_poper
        EXCEPTIONS
          fiscal_year    = 1
          period         = 2
          period_version = 3
          posting_period = 4
          special_period = 5
          version        = 6
          posting_date   = 7
          OTHERS         = 8.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      wa_bbkpf-bukrs = pr_bukrs.
    Document type
      IF NOT it_input-blart IS INITIAL.
        wa_bbkpf-blart = it_input-blart.
      ENDIF.
    Document date and Posting date.
      IF NOT it_input-budat IS INITIAL.
        wa_bbkpf-budat = it_input-budat.
      ENDIF.
    *new changes for background.
      MOVE it_input-budat TO w_budat.
    *end change.
      IF NOT it_input-bldat IS INITIAL.
        wa_bbkpf-bldat = it_input-bldat.
      ENDIF.
    Reference document number
      IF NOT it_input-xblnr IS INITIAL.
        wa_bbkpf-xblnr = it_input-xblnr.
      ENDIF.
    Currency
      wa_bbkpf-waers = pr_waers.
    wa_bbkpf-kursf = it_input-kursf.
      IF NOT it_input-bktxt IS INITIAL.
        wa_bbkpf-bktxt = it_input-bktxt.
      ENDIF.
      APPEND wa_bbkpf TO it_data.
      MOVE wa_bbkpf TO wa_bbkpf1.
    ENDFORM.                    " header_record
    *&      Form  item_record
          text
    -->  p1        text
    <--  p2        text
    FORM item_record.
    Fill BBSEG  with no data character .
      PERFORM fill_in_nodata_character CHANGING wa_bbseg.
      wa_bbseg-stype = '2'.
      wa_bbseg-tbnam = 'BBSEG'.
      IF NOT it_input-newbs IS INITIAL.
        wa_bbseg-newbs = it_input-newbs.
      ENDIF.
      IF NOT it_input-newko IS INITIAL.
        wa_bbseg-newko = it_input-newko.
      ENDIF.
      IF NOT it_input-newum IS INITIAL.
        wa_bbseg-newum = it_input-newum.
      ENDIF.
      IF NOT it_input-wrbtr IS INITIAL.
        wa_bbseg-wrbtr = it_input-wrbtr.
      ENDIF.
      IF NOT it_input-dmbtr IS INITIAL.
        wa_bbseg-dmbtr = it_input-dmbtr.
      ENDIF.
      IF NOT it_input-zterm IS INITIAL.
        wa_bbseg-zterm = it_input-zterm.
      ENDIF.
    IF NOT it_input-zfbdt IS INITIAL.
       wa_bbseg-zfbdt = it_input-zfbdt.
    ENDIF.
      wa_bbseg-zfbdt = w_budat.
      IF NOT it_input-wt_wit IS INITIAL.
        wa_bbseg-qsskz = it_input-wt_wit.
      ENDIF.
      IF NOT it_input-wt_qs IS INITIAL.
        wa_bbseg-qsshb = it_input-wt_qs.
      ENDIF.
      IF NOT it_input-wt_qb IS INITIAL.
        wa_bbseg-qsfbt = it_input-wt_qb.
      ENDIF.
      IF NOT it_input-mwskz IS INITIAL.
        wa_bbseg-mwskz = it_input-mwskz.
      ENDIF.
      IF NOT it_input-bupla IS INITIAL.
        wa_bbseg-bupla = it_input-bupla.
      ENDIF.
      IF it_input-ind IS INITIAL AND NOT it_input-newbk IS INITIAL.
        wa_bbseg-newbk =  it_input-newbk.
      ENDIF.
      IF NOT it_input-kostl IS INITIAL.
        wa_bbseg-kostl = it_input-kostl.
      ENDIF.
      IF NOT it_input-aufnr IS INITIAL.
        wa_bbseg-aufnr = it_input-aufnr.
      ENDIF.
    Changes for background processing
      IF it_input-newbs NE '34' AND it_input-newbs NE '24'.
        IF NOT it_input-prctr IS INITIAL.
          wa_bbseg-prctr = it_input-prctr.
        ENDIF.
      ENDIF.
    end of changes.
      IF NOT it_input-pernr IS INITIAL.
        wa_bbseg-pernr = it_input-pernr.
      ENDIF.
      IF NOT it_input-zuonr IS INITIAL.
        wa_bbseg-zuonr = it_input-zuonr.
      ENDIF.
      IF NOT it_input-xref1 IS INITIAL.
        wa_bbseg-xref1 = it_input-xref1.
      ENDIF.
      IF NOT it_input-xref2 IS INITIAL.
        wa_bbseg-xref2 = it_input-xref2.
      ENDIF.
      IF NOT it_input-xref3 IS INITIAL.
        wa_bbseg-xref3 = it_input-xref3.
      ENDIF.
      IF NOT it_input-wrbtr IS INITIAL.
        wa_bbseg-sgtxt = it_input-sgtxt.
      ENDIF.
      APPEND wa_bbseg TO it_data.
    ENDFORM.                    " item_record
    *&      Form  post_document
          text
    -->  p1        text
    <--  p2        text
    FORM post_document.
      PERFORM call_rfbibl00.
    ENDFORM.                    " post_document
    *&      Form  upload_file
          text
    -->  p1        text
    <--  p2        text
    FORM f001_upload_file.
      IF pr_serv = 'X'.
        MOVE '*' TO w_param_1.
       CONCATENATE sy-datum '_' '*' INTO w_param_1.
        PERFORM get_file_name USING pr_sfile w_param_1.
                             CHANGING x_file.
        LOOP AT it_file WHERE name CP w_file1.
          CLEAR : x_file, w_path,
                  w_move_file, w_from_dir.
          REFRESH : it_input,
                    it_input_err.
       IF w_flag IS INITIAL.
          CONCATENATE w_dir it_file-name INTO x_file.
          CONDENSE  x_file.
    TO Move file from sever for backup storing the file name and path
          w_path = x_file.
          CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
            EXPORTING
              full_name     = x_file
            IMPORTING
              stripped_name = w_move_file
              file_path     = w_from_dir
            EXCEPTIONS
              x_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.
          PERFORM read_file TABLES it_input
                            USING  x_file.
          PERFORM next_steps.
          CLEAR it_input_err.
          REFRESH it_input.
        ENDLOOP.
      ELSE.
        DATA : w_string TYPE string.
        w_string = pr_lfile.
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
           filename                      = w_string
           filetype                      = 'ASC'
        HAS_FIELD_SEPARATOR           = 'X'
          TABLES
            data_tab                      = it_input1
         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.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        LOOP AT it_input1 INTO input_line.
          CLEAR: it_input, count.
          DO.
            ADD 1 TO count.
            ASSIGN COMPONENT count OF STRUCTURE it_input TO <fs>.
            IF sy-subrc = 0.
              SPLIT input_line AT separator INTO <fs> input_line.
            ELSE.
              EXIT.
            ENDIF.
          ENDDO.
          APPEND it_input.
        ENDLOOP.
        PERFORM next_steps.
        CLEAR it_input_err.
        REFRESH it_input.
      ENDIF.
    ENDFORM.                    " upload_file
    *&      Form  bdc_header
          text
    *&      Form  bdc_dynpro
          text
         -->P_0956   text
         -->P_0957   text
    FORM bdc_dynpro USING    program dynpro.
      CLEAR bdcdata.
      bdcdata-program  = program.
      bdcdata-dynpro   = dynpro.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
    ENDFORM.                    " bdc_dynpro
    *&      Form  bdc_field
          text
         -->P_0961   text
         -->P_0962   text
    FORM bdc_field USING   fnam fval.
      CLEAR bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      IF bdcdata-fval NE space.
        APPEND bdcdata.
      ENDIF.
    ENDFORM.                    " bdc_field
    *&      Form  bdc_items
          text
    *&      Form  fill_in_nodata_character
          text
         <--P_WA_BBKPF  text
    FORM fill_in_nodata_character CHANGING p_struc.
      FIELD-SYMBOLS: <nodata_field>.
      DATA: num TYPE i.
      DO.
        ADD 1 TO num.
        ASSIGN COMPONENT num OF STRUCTURE p_struc TO <nodata_field>.
        IF sy-subrc = 0.
          <nodata_field> = pr_nodta.
        ELSE.
          EXIT.
        ENDIF.
      ENDDO.
    ENDFORM.                    " fill_in_nodata_character
    *&      Form  bdc_bgr00
          text
    -->  p1        text
    <--  p2        text
    FORM bdc_bgr00.
      PERFORM fill_in_nodata_character CHANGING wa_bgr00.
      wa_bgr00-stype = '0'.
      wa_bgr00-group = pr_group.
      wa_bgr00-mandt = sy-mandt.
      wa_bgr00-usnam = sy-uname.
      wa_bgr00-start = sy-datum.
      wa_bgr00-xkeep = pr_xkeep.
      APPEND wa_bgr00 TO it_data.
    ENDFORM.                                                    " bdc_bgr00
    *&      Form  save_on_server
          text
    -->  p1        text
    <--  p2        text
    FORM save_on_server.
      MOVE sy-datum TO w_date.
      CLEAR w_file_comp.
      w_file_comp = pr_out.
      CONCATENATE w_path_comp pr_out c_under w_date c_ext INTO pr_out.
      OPEN DATASET pr_out FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
      LOOP AT it_data.
        TRANSFER it_data TO pr_out.
        IF sy-subrc NE 0.
          MESSAGE i001(mg) WITH pr_out.  " error writing to sequential file
          MESSAGE a099(mg).              " processing terminated
        ENDIF.
      ENDLOOP.
      CLOSE DATASET pr_out.
      FREE it_data.
    ENDFORM.                    " save_on_server
    *&      Form  call_rfbibl00
          text
    -->  p1        text
    <--  p2        text
    FORM call_rfbibl00.
    Submit file after mapping the data to RFBIBL00
      SUBMIT rfbibl00 WITH ds_name = pr_out
                       WITH callmode = callmode
                       WITH xlog = 'X'
                       WITH max_comm = pr_max
                       WITH pa_xprot = 'X'
                       AND RETURN.
      pr_out = w_file_comp.
    ENDFORM.                    " call_rfbibl00
    *&      Form  get_file_name
          text
         -->P_P_SFILE  text
         -->P_W_PARAM_1  text
    FORM get_file_name USING    p_sfile
                                w_param_1.
                               CHANGING x_file.
      CALL FUNCTION 'FILE_GET_NAME'
        EXPORTING
          client           = sy-mandt
          logical_filename = p_sfile
          parameter_1      = w_param_1
        IMPORTING
          file_name        = x_file
        EXCEPTIONS
          file_not_found   = 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.
      w_path = x_file.
      CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
        EXPORTING
          full_name     = w_path
        IMPORTING
          stripped_name = w_file
          file_path     = w_dir
        EXCEPTIONS
          x_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.
      w_dir1 = w_dir.
      w_file1 = w_file.
      CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'
        EXPORTING
          dir_name               = w_dir1
          file_mask              = w_file1
        TABLES
          dir_list               = it_file
        EXCEPTIONS
          invalid_eps_subdir     = 1
          sapgparam_failed       = 2
          build_directory_failed = 3
          no_authorization       = 4
          read_directory_failed  = 5
          too_many_read_errors   = 6
          empty_directory_list   = 7
          OTHERS                 = 8.
      IF sy-subrc <> 0.
        WRITE : / text-022.
      ENDIF.
      LOOP AT it_file WHERE name CP w_file1.
        IF w_flag IS INITIAL.
          CONCATENATE w_dir it_file-name INTO x_file.
          CONDENSE  x_file.
          w_flag = 1.
        ELSE.
          EXIT.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " get_file_name
    *&      Form  read_file
          text
         -->P_X_FILE  text
    FORM read_file  TABLES it_tab
                    USING  x_file.
      OPEN DATASET x_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
      IF sy-subrc NE 0.
        WRITE : / text-023.
      ELSE.
        DO.
          READ DATASET x_file INTO input_line.
          IF sy-subrc = 0.
            CLEAR: it_input, count.
            DO.
              ADD 1 TO count.
              ASSIGN COMPONENT count OF STRUCTURE it_tab TO <fs>.
              IF sy-subrc = 0.
                SPLIT input_line AT separator INTO <fs> input_line.
              ELSE.
                EXIT.
              ENDIF.
            ENDDO.
            APPEND it_tab.
          ELSE.
            EXIT.
          ENDIF.
        ENDDO.
      ENDIF.
      CLOSE DATASET x_file.
    ENDFORM.                    " read_file
    *&      Form  validate
          text
    -->  p1        text
    <--  p2        text
    FORM  f002_validate .
      SELECT blart
      FROM t003
      INTO TABLE it_blart.
      IF sy-subrc NE 0.
        CLEAR  it_blart.
      ENDIF.
      SELECT saknr
      FROM ska1
      INTO TABLE it_ska1.
      IF sy-subrc NE 0.
        CLEAR it_ska1.
      ENDIF.
      SELECT lifnr
      FROM lfa1
      INTO TABLE it_lifnr.
      IF sy-subrc NE 0.
        CLEAR it_lifnr.
      ENDIF.
      SELECT mwskz
      FROM t007a
      INTO TABLE it_mwskz.
      IF sy-subrc NE 0.
        CLEAR  it_mwskz.
      ENDIF.
      SELECT qsskz
      FROM t059q
      INTO TABLE it_qsskz.
      IF sy-subrc NE 0.
        CLEAR  it_qsskz.
      ENDIF.
      SELECT zterm
      FROM t052
      INTO TABLE it_zterm.
      IF sy-subrc NE 0.
        CLEAR  it_zterm.
      ENDIF.
      SELECT bschl
      FROM tbsl
      INTO TABLE it_bschl.
      IF sy-subrc NE 0.
        CLEAR  it_bschl.
      ENDIF.
      SELECT umskz
      FROM t074u
      INTO TABLE it_umskz.
      IF sy-subrc NE 0.
        CLEAR  it_umskz.
      ENDIF.
      SELECT DISTINCT xblnr
      FROM bkpf
      INTO TABLE it_xblnr.
      IF sy-subrc NE 0.
        CLEAR it_xblnr.
      ENDIF.
      SELECT prctr
      FROM cepc
      INTO TABLE it_prctr.
      IF sy-subrc NE 0.
        CLEAR it_prctr.
      ENDIF.
      SELECT kostl
      FROM csks
      INTO TABLE it_kostl.
      IF sy-subrc NE 0.
        CLEAR it_kostl.
      ENDIF.
      SELECT branch
      FROM j_1bbranch
      INTO TABLE it_branch.
      IF sy-subrc NE 0.
        CLEAR it_branch.
      ENDIF.
      SELECT seccode
      FROM seccode
      INTO TABLE it_seccode.
      IF sy-subrc NE 0.
        CLEAR it_seccode.
      ENDIF.
      SELECT bschl shkzg
      FROM tbsl
      INTO TABLE it_tbsl.
      IF sy-subrc NE 0.
        CLEAR it_tbsl.
      ENDIF.
      SELECT aufnr
      FROM aufk
      INTO TABLE it_aufnr.
      IF sy-subrc NE 0.
        CLEAR it_aufnr.
      ENDIF.
      SELECT pernr
       FROM pa0001
       INTO TABLE it_pernr.
      IF sy-subrc NE 0.
        CLEAR it_pernr.
      ENDIF.
      LOOP AT it_input.
        CLEAR : wa_input_err,w_check.
       AT NEW xblnr.
         CLEAR w_item_no.
       ENDAT.
       AT NEW xblnr.
         CLEAR w_wrbtr.
       ENDAT.
       w_wrbtr = w_wrbtr + it_input-wrbtr.
    *checking the whether record is a header record or not.
        IF NOT it_input-ind IS INITIAL.
          CLEAR w_item_no.
    *keeping the track of item number for error record.
          w_item_no = w_item_no + 1.
    *Checking the total amount in line item eq 0 or not.
          IF w_wrbtr NE 0.
            MOVE w_xblnr TO wa_input_err-xblnr.
            CONCATENATE wa_input_err-err_text text-019 INTO wa_input_err-err_text SEPARATED BY space.
            APPEND wa_input_err TO it_input_err.
          ENDIF.
          CLEAR : w_xblnr,w_wrbtr.
    *Checking whether the record already posted or not.
          READ TABLE it_xblnr
          WITH KEY xblnr = it_input-xblnr
          TRANSPORTING NO FIELDS.
    *If record is already posted then al the line items related to that header are moved to
    *the error directory saying that record already posted.
          IF sy-subrc EQ 0.
            MOVE it_input-xblnr TO wa_input_err-xblnr.
            MOVE it_input-xblnr TO w_xblnr.
            MOVE text-024 TO  wa_input_err-err_text.
            APPEND wa_input_err TO it_input_err.
    *Setting the flag for keeping the track of the posted items.
            MOVE 'X' TO w_post.
    *Skipping the current record as it is already posted so no validation is done for that record.
            CONTINUE.
    *If the record is not posted then all the vaidation will be done and depending existanse in check table
    *corresponding enrty is moved to the error table.
          ELSE.
            CLEAR w_post.
            MOVE it_input-xblnr TO w_xblnr.
    validations for document type
            IF NOT it_input-blart IS INITIAL.
              READ TABLE it_blart
              WITH KEY blart = it_input-blart
              TRANSPORTING NO FIELDS.
              IF sy-subrc NE 0.
                MOVE w_xblnr TO wa_input_err-xblnr.
                MOVE w_item_no TO wa_input_err-item_no.
                MOVE text-018 TO wa_input_err-err_text.
              ENDIF.
            ENDIF.
    *validation for company code
            IF pr_bukrs NE it_input-bukrs.
              MOVE w_xblnr TO wa_input_err-xblnr.
              MOVE w_item_no TO wa_input_err-item_no.
              CONCATENATE wa_input_err-err_text text-005 INTO wa_input_err-err_text SEPARATED BY space.
            ENDIF.
    *validation for currency
            IF pr_waers NE it_input-waers.
              MOVE w_xblnr TO wa_input_err-xblnr.
              MOVE w_item_no TO wa_input_err-item_no.
              CONCATENATE wa_input_err-err_text text-006 INTO wa_input_err-err_text SEPARATED BY space.
            ENDIF.
    *validation for GL account number
            IF NOT it_input-newko IS INITIAL.
              MOVE it_input-newko TO w_newko.
              CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                EXPORTING
                  input  = w_newko
                IMPORTING
                  output = w_newko.
              READ TABLE it_ska1
              WITH KEY saknr = w_newko
              TRANSPORTING NO FIELDS.
              IF sy-subrc NE 0.
                READ TABLE it_lifnr
                WITH KEY lifnr = w_newko
                         bukrs = it_input-newbk
                TRANSPORTING NO FIELDS.
                IF sy-subrc NE 0.
                  MOVE w_xblnr TO wa_input_err-xblnr.
                  MOVE w_item_no TO wa_input_err-item_no.
                  CONCATENATE wa_input_err-err_text text-029 INTO wa_input_err-err_text.
                ENDIF.
              ENDIF.
            ENDIF.
    **validation for vendor account number
          IF NOT it_input-newko IS INITIAL.
             MOVE it_input-newko TO w_newko.
             CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
               EXPORTING
                 input  = w_newko
               IMPORTING
                 output = w_newko.
             READ TABLE it_lifnr
             WITH KEY lifnr = w_newko
             TRANSPORTING NO FIELDS.
             IF sy-subrc NE 0.
               MOVE w_xblnr TO wa_input_err-xblnr.
               MOVE w_item_no TO wa_input_err-item_no.
               CONCATENATE wa_input_err-err_text text-029 INTO wa_input_err-err_text SEPARATED BY space.
             ENDIF.
           ENDIF.
    *validation for taxcode
            IF NOT it_input-mwskz IS INITIAL.
              READ TABLE it_mwskz
              WITH KEY mwskz = it_input-mwskz
              TRANSPORTING NO FIELDS.
              IF sy-subrc NE 0.
                MOVE w_xblnr TO wa_input_err-xblnr.
                MOVE w_item_no TO wa_input_err-item_no.
            

Maybe you are looking for

  • XML parser Exception

              Hi           I try to deploy a servlet that serve as a MapPoint web services client. So the           servlet receive a post with latitude and longitude then it try it to retrieve           a Map showing the location from MapPoint through w

  • HDMI - SONY TV

    I have a MacBook Pro Mid 2012 with Mountain Lion OS X 10.8.3  I would like to connect it to a Sony Bravia TV KDL-32R4OOA that has HDMI ports. I have the adapter Mini DisplayPort to HDMI and the HDMI cable but in the TV I can't see nothing. I opened:

  • I accedentily deleted my pages on my Macbook pro. And dont have 20$ how can i get it back for free?

    I really need it for my project due NEXT week! Help me!

  • Has 10.7.2 Server fixed Network Gateway issue?

    I upgraded our server when Lion was first released to discover that the it completely broke the network gateway - I have since reverted back to 10.6. Has 10.7.2 fixed this issue? Is it save for me to upgrade yet?

  • WLC 4404 - Not able to see the 802.11a/n AP summary details

    Hi Friends, I have a query related to wireless. I have multiple WLCs in my network. Recently I observed that in one WLC, in monitoring page while we checking the access point summary information, I can see in 802.11a/n Radios, 8 APs are down. And I t