Clearing receivable items by batch input

HI all,
in account receivable scenario my question concerns automatically clearing items (program RFEBBU00 create a batch input session) by using reference field instead of document number. I am not able to do it by customizing.
Can you help me?
Regards
Federico

F.13 program SAPF124 is used for automatically clearing customer accounts.
You can choose the required field that shall be the criteria in IMG
SPRO>IMG>Financial Accounting>Accounts Receivable and Accounts Payable>Business Transactions>Open Item Clearing>Prepare Automatic Clearing.

Similar Messages

  • Batch Input: How to handle loss on exchange in POSTING_INTERFACE_CLEARING?

    Hi,
    I'm using BAPI POSTING_INTERFACE_CLEARING to clear open items using batch input as it is done online in transaction FB05. It works fine except one little use case. For customers using a currency not equal to the local currency there could be differences in the debit amount due to actual exchange rates. If the debit amount at the day the open item should be cleared is less than the amount at the day the debit was created a new line item is automatically added to the clearing document which contains the loss on exchange. But this new line item is not complete so the clearing document could not be saved. In my example I have to add the cost center to the loss on exchange line item. It's no problem in transaction FB05 since there is a dynpro for it. But how could I add this cost center in batch input using function module POSTING_INTERFACE_CLEARING? I just added the corresponding field COBL-KOSTL to table T_FTPOST of fm POSTING_INTERFACE_CLEARING. But in the batch input tables which are created in the function module the field COBL-KOSTL is added for dynpro SAPLKACB 0002 instead of dynpro SAPLKACB 1010 in which the cost center is needed. Dynpro SAPLKACB 0002 contains the cost center but it is not displayed when clearing open items. So POSTING_INTERFACE_CLEARING returns with an error saying COBL-KOSTL does not exist in SAPLKACB 0002. But COBL-KOSTL might still be missing in dynpro SAPLKACB 1010. So which field do I have to add to the batch input (fm POSTING_INTERFACE_CLEARING) so the cost center is used in the loss on exchange line item in dynpro SAPLKACB 1010?
    Did anybody face the same problem?
    Regards,
    Robert

    Of course, the screen SAPLKACB 1010 contains the cost center field but it is not set in the batch session. I faced a similar problem with screen SAPLKEAK 0300 where I had to enter different field names than expected. BSEG-RKE_KUNWE instead of BSEG-KUNWE, BSEG-RKE_KNDNR instead of BSEG-KNDNR, BSEG-RKE_BUKRS instead of BSEG-BUKRS and so on. That's why I want to know if I have to set an other field name for COBL-KOSTL in SAPLKACB 1010. Since field name COBL-KOSTL is already used for SAPLKACB 0002.
    Maybe anybody knows how or where the mapping from POSTING_INTERFACE_CLEARING fields to batch session fields is done. Otherwise I need to debug POSTING_INTERFACE_CLEARING again to find it.
    I didn't find any suitable enhancements or user exits in FB05 yet but I can have another look.
    Regards,
    Robert

  • Batch/Serial Number for received items

    Hi Friends,
    I Received a item(0001) 10 quantity with the Management Method is NONE
    After This process
    I want to Sell this Product(0001) as Serial Number/Batch Number wise
    One of our Friend told me that we can do this in
    "ItemManagement"
    In Batch Management selection window I choosed
    Operation -COMPLETE
    In Item Code My Item (0001) is not appearing
    and i tried to change the item(0001) MANAGEMENT METHOD
    a Error is coming
    That is"u cant change the management method until on hand quantity is zero"
    now wat i have to do to make Batch\serial number for received items
    kindly reply me i  m waiting for ur reply
    D.Sankar

    Hi Sankar,
    In the Item Master Data - General tab, if an item is managed by 'Batches' and its 'Management Method' is 'On Release Only' then that item can be received into stock without creating Batches for that item. However, the item cannot be released from stock e.g. in a Delivery document without selecting batch numbers.
    Lets assume that your item '0001' is 'Managed By' Batches and has a management method of 'On Release Only' in the Item Master Data - General Tab. In this case lets say that a Goods Receipt PO is added with a quanauty of 10 for this item and it adds to the database without creating batch numbers for the it. However, the batch numbers, for this quantity of  10 received in the Goods Receipt PO, must be created before they are released from stock, in a Delivery for example. To create these batch numbers  the Batch Management must be run with the 'Operation' 'Complete'. This is the only way to create the Batch numbers in this scenario. 
    I hope this helps clarify the 'Complete' operation in the Batch Management.
    Regards,
    Noreen

  • Batch input problem in SM35

    Dear all,
    I am uploading the bank statements using manual bank statements through Z transaction, Once uploaded system is generating the batch input session for the same.
    When i run the batch input session system not clearing outgoing payment automatically based on the assignment field, as i have alreday mentioned the same assignment while posting the document and in the excel file.
    I am getting the following message while running the batch input session.
    No batch input data for screen SAPDF05X 3100
    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.
    Please let me know solution for the same.
    Regards,
    Anand

    Hi,
    This may not be a solution but may help you to isolate the problem
    a) Are you able to load the bank statement for other banks without error ?
    b) Try for the same bank in a different system .
    c) If it is working for different bank then check the file format is the same for both the banks.
    d) If it is working in different system check the ABAP code for any changes between the system,
    e) Are you getting this message for all the line items or only for some line items ?
    Regards
    K.R

  • Batch Input error in background in fb05

    Hi All
    I am trying to clear vendor open  items for document numbers from BSIK table.
    i am doing this using fb05 transaction, checking the 'post with clearing' option.
    The program creates a batch input session.
    When i process the session in foreground, the vendor document is cleared and a new clearing document is posted.
    However, if i try to process the session in background , we get the error "Difference too large for clearing". The error is shown in program SAPMF05A and screen number 700.  Whereas, my recording does not have this screen number .
    Even when i anlyze the session screen flow, i do not see this screen number.
    Any pointer on the issue shall be of great help.
    Thanks
    Pankaj

    Hi
    thanks for the pointer.
    I agree that we get this error if the items are not selected.
    Could it be that the items are activated by default in foreground mode , and deactivated in the background mode?
    Moreover, could you please give some more info about " the std bi RFBIBL00, it supports the trx FB05" ?
    Thanks
    Pankaj

  • Issue with RFBIBL00 batch input processing

    Hello ABAP Experts,
    I am having issue with a speed of batch input session processing.  If you can please help me resolve the issue.
    I have a requirement to post liquidation document to clear open vendor down payment items and then to clear vendor invoice with liquidation.  I have created a custom program to address this requirement where it uses the SAP program and Call Transaction.
    For liquidation document posting, I am using the program RFBIBL00.  The custom program has steps:
    1.  Submit RFBIBL00 via job to create batch input session
    2.  Close job
    3.  Submit RSBDCSUB via job to process batch input session
    4.  Close job
    5.  Wait for 15 seconds
    6.  Read job log to get liquidation document number
    7.  If no document posted then display error
    The issue is when the job log is read it says u2018Session 10zrsbdcsubxxxxxxx is being processed by user   in mode   on serveru2019 and there is no error message or no document number with message number 312.  So the program displays error message, stops and cannot perform the second step. If I check in the system after a couple of minutes I find the document posted. I also increased the wait time.  But the first record processing always takes longer and the program finds as a failure.  The program can process next several records with success.
    I am looking for expert help if you please suggest how to resolve this.
    Thanks & Regards.
    Yashasvi

    Hi,
    Have you tried calling FM DEQUEUE_ALL before/after schedulling job?
    Gouri.

  • Manual Bank Reconciliation Statement - Processing Batch Input Session

    Hi experts,
    After processing FF67 transaction, while processing batch input session, system expecting manual clearing of open items in bank sub accounts.  If I manually clear, then only it is processing further till end of all transactions in batch input session.  Can any one suggest, how to avoid this manual intervention in Batch Input Session, system should map cheque number, amount and clear automatically?
    suggestions will be rewarded.
    Regards
    Sarma BH

    Hi Sarma
    In FF67 transaction code please select bank postings only check box
    If thr anything u want tell me
    Please award points if it is useful
    Regards
    Raju.k

  • User Exit/BTE for F-26  for sequencing clearing open items

    Hi All,
    Is there a BTE/User exit to identify the items selected for clearing in F-26? ( On line item double click)
    Based on the open items displayed we need to enforce a check that they are selected in a proper sequence.
    Thanks in advance,
    Puneet

    Thanks for the reply.
    I succeded creating the validation with an user-exit. I made the following steps:
    1) I created the validation in GGB0 (for document header), issuing a standard message (420 "Exchange rate not found") from message class (ZRSAU) - which is a copy of RSAU message class (in the beggining I put no pre-requisites, checks or rules, just the message).
    2) In OB28 I attached the validation (with call point document header) and I made it active (without batch input).
    3) I copied the RGGBR000 program (which is standard program with an example of validation) into ZRGGBR00 (it should be maximum 8 characters).
    Then I changed the ZRGGBR00 program (form U100) comparing the translation date (from BKPF) with the date from table TCURR (and exchange rate type M, and documents currency other than local currency).
    If the program doesn't find any exchange rate in TCURR in that date, it issues the error message (assigned in GGB0).
    4) In GGB0, I put the U100 user exit as a check and rule
    5)  In GCX2, I attached the ZRGGBR00 program to the GBLR application area (which is for user exits for validations / rules).
    Now it's working fine!

  • Batch Input UPloading Error

    Hi Guru's
    i create batch input but during uploading
    the message will prompt that
    "Field MSEG-ERFMG does not exist in the screen SAPMM07M 0421"
    Thanks in advance.

    hi Suneel G
    i also try to do what you've been told but the error still occur.
    IF WKG-FLAG1 = 'X'.                             " First Record
          PERFORM DYNPRO_0400.                          " Initial Screen
          CLEAR:WKG-FLAG1.
        ELSE.
          PERFORM DYNPRO_0421_1 USING WKL-ERFME.        " Item Screen(Next)
        ENDIF.
        IF WKG-FLAG2 = 'X'.
           WKL-ERFMG = INPUT_TAB-ERFMG.
        ENDIF.
        PERFORM DYNPRO_0421_1 USING WKL-ERFME.           " Item Screen
        PERFORM DYNPRO_0002 USING INPUT_TAB-PRCTR.
      Append Error data table (Work)
       MOVE-CORRESPONDING INPUT_TAB TO ERROR_TAB_W.
       APPEND ERROR_TAB_W.
    When Last Doc. no.-->Batch Input(T-code:MB1A)
       IF WKG-FLAG2 = 'X'.                             " Last Record
          PERFORM DYNPRO_0002 USING INPUT_TAB-PRCTR.
          IF NOT INPUT_TAB-ERFMG IS INITIAL.
            PERFORM DYNPRO_0421_2 USING INPUT_TAB-ERFMG.   " More Data
          ENDIF.
          PERFORM DYNPRO_SAVE_RTN.
       ELSE.
          WKL-PRCTR = INPUT_TAB-PRCTR.
          WKL-ERFMG = INPUT_TAB-ERFMG.
       ENDIF.
       ENDLOOP.
    do you think there is a problem here???
    thanks in advance

  • Inbound ORDERS IDoc Error: No batch input....

    Dear all,
    i try to receive IDocs via the standard function module IDOC_INPUT_ORDERS. Partner profiles etc. are maintained in WE20. However, when I create the Test IDoc in WE19 and process it, i get the following error:
    No batch input data for screen SAPMV45A 4001
    Message no. 00344
    My IDoc looks as follows:
    EDIDC   2000000000000203045700 51        2SAPXXX    LSXXXCLNT200
            E1EDK01                                                                                220 56026671
            E1EDK14                     012OR
            E1EDK14                     00601
            E1EDK14                     00701
            E1EDK14                     008PLANT
            E1EDK03                     002200909170000
            E1EDK03                     012200909171212
            E1EDK03                     022200909171212
            E1EDKA1                     AG 0003000011
            E1EDKA1                     WE 0003000011
            E1EDK02                     001K1234567                                 20090911
            E1EDP01                     1          1              EA
                E1EDP19                     0035200000
    Has anyone an idea, what might be the reason for this error?
    Best regards
    Florian

    Hello Florian
    When you choose function "Inbound Function module" (IDOC_INPUT_ORDERS; WE19) switch the transaction processing to In Foreground or In Foreground after Error.
    Then you will clearly see what is missing and it should be easy to find out where to place the missing data into the IDoc.
    Most likely segment E1EDP20 (containing the quantity) is missing. Example:
    E1EDP20                     136.000        0.000          20080822
    Regards
      Uwe

  • Problem in J1IFQ -Reconciling the Qty -Received in Multiple Batches- reg

    Dear Sir/ Madam,
    We are encountering the Problem During Reconcilation of Quantity in Subcontracting cycle Received in Multiple Batches.
    The Following steps are followed,
    1. We have created a Subcontract PO with BOM Explosion.
    2. The Required Components are issued through MB1B.
    3. Subcontract Challan Raised in J1IF01.
    4. We created the Goods Receipt for the Processed MAterial Which has come in Two Batches.Hence we have used Distribute Quantity and split the Qty and Entered the Batch Numbers.Document Posted.
    5. In Transation J1IFQ, We have entered Material Document Number and Challan Number and Executed.
    6. Top of the Screen Material Document Details with Open Quantity are Displayed.There were two Line items displayed with Movement type 101.Since it is Received in Two Batches.The Consumed Quantities were shown in Movement type 543.
    7. Bottom of the Screen the Challan details were displayed with Challan Quantity.
    8.The Open Input quantities are assigned cumulatively against DC Quantity for both the Batches.
    9. When we check the Allocation it gives an Message saying that"Material XXXXXXXXXX is not assigned fully, short by XX.XXX KG".
    Note: We are not facing any problem If the Goods Receipt is made for the Single Batch.
    Kindly Give us Your Valuable Input In order to Solve the Problem.
    Regards,
    M.Murugesan

    Hi,
    You don't need to create 10 process orders to split for 10 batches, In one process order itself you can do batch splitting in CO11N (auto GR) or MB31.
    Pl check the below link
    Process order with multiple batches of finished product
    thanks,
    JK

  • FLB2 - Lockbox Screen Error: "No Batch Input for screen SAPDF05X 3100"

    I'm not familiar with Lockbox processing ... was asked to help debug an error & not having much luck doing so.
    When processing a file via FLB2, we have one customer for which the postings work fine.  For another customer, however, we get an error:
    "Accounts receivable posting Error: (00 344) No batch input data for screen SAPDF05X 3100."
    I've checked multiple Notes & postings on SDN, still at a loss and getting no closer troubleshooting within the system.
    Can anyone offer ideas of what to check?
    Thanks,
    John

    Hi,
    I believe the problem should be in the input file. There should an error in the file. Can you create a one line item file for the Customer and processs it. If the Lockbox is working for one Customer it should work for all Customers. Secondly, check whether Lockbox is maintained for the Customer in the master data.
    Thanks
    Murali.

  • No batch input data screen SAPLSDH4 0200

    Hi,
    While doing Check deposit transaction, i got the below error
    " No batch input data screen SAPLSDH4 0200". When i press enter, it is going to FS01 screen and showing the customer number as * =D.xxxx (customer number)*  and a dialogue box is appeared, in that search item and customer number is displayed. When i press enter, it is not accepting. When i clear it and press enter, it is showing all customers. I have selected the customer which i gave at the time of customizing and press enter. Then it is showing the "OK code" again selected ok.. Then the batch process competed. But when i go to SM35, i cant able to see the session again.
    I dont understand why this problem is coming. But the posting were done properly. Can anyone explain me what exactly the problem with this transaction.
    Regards
    Sabera

    Hi,
    These error normally comes if the screen control branches out to different view or a screen.If a session is created for error logs, process the session in foreground mode and see at which point the OK CODE branches out to this particular screen. you also need to debug the particular record which is failing to see if its a data related issue or any particular field value is being wrongly processed. If your program is not creating any session for error logs i request you to generate a session for error logs or else if you are using call transaction ,run it in MODE 'A' to check whats happening.It's quite common to come accross such issues while developing a BDC.

  • No batch input error

    I am using VL02N screen. If the line item is > 8 then I record to click on place cursor and enter the line item number. The recording is set to enter the location and the pick qty. But I think for some reason when I go back to the main screen after i position the item, it gives me an error that that there's no batch input.  
    Could someone please help me resolve this. I am not familiar with it. Thanks in advance.
          LOOP AT t_item WHERE vbeln EQ t_header-vbeln
                           AND bldat EQ t_header-bldat.
            ADD 1 TO w_line_cnt.
            ADD 10 TO line_item.
            t_item-posnr = line_item.
           IF w_line_cnt > 8.
              PERFORM bdc_dynpro      USING 'SAPMV50A' '0111'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RV50A-POSNR'.
              PERFORM bdc_field       USING 'RV50A-POSNR'
                                            t_item-posnr.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '=WEIT'.
              PERFORM bdc_dynpro      USING 'SAPMV50A' '1000'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'LIPS-LGORT(01)'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=HTRA_T'.
           ENDIF.
            CONCATENATE 'LIPSD-PIKMG(' w_line_cnt ')' INTO w_field.
            CONCATENATE 'LIPS-LGORT(' w_line_cnt ')' INTO w_lgort.
            PERFORM bdc_field      USING w_lgort      t_item-lgort.
            PERFORM bdc_field      USING w_field      t_item-lfimg_e.
            PERFORM bdc_field      USING 'BDC_SUBSCR'
                                         'SAPMV50A 0611SUBSCREEN_BOTTOM'.
            PERFORM bdc_field      USING 'BDC_SUBSCR'
                                         'SAPMV50A 1708SUBSCREEN_ICONBAR'.
          ENDLOOP.

    It looks like at the end of your if statement you need to clear field W_LINE_CNT because you don't want your BDC to keep going to the next screen when you counter is bigger that 8. (ie when you at record 10, you don't want to go to process the action). You should do it only once every 8 records, not every time for each record starting from 8.

  • BDC Batch input session method

    Hi ,
               I am new to SAP progamming. Pls let me know the basics of BDC Batch Input session method and Call transaction method. I want to know the pros and cons of both methods with justification. Please help me in this regarding.

    Hi,
    Session method.
    1) synchronous processing.
    2) can tranfer large amount of data.
    3) processing is slower.
    4) error log is created
    5) data is not updated until session is processed.
    Call transaction.
    1) asynchronous processing
    2) can transfer small amount of data
    3) processing is faster.
    4) errors need to be handled explicitly
    5) data is updated automatically
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm
    Session method:
    1. Data migration is done in two steps .. Generate session and Process session.
    So resouces can be used efficiently. good for bulkdata migration.
    2. Session method generates error log when u process a session.
    3. No SY-SUBRC can be returned after each transaction is called.
    4. Provides synchronous Updation only...
    Call transaction method:
    1. Data migration is done in single steps ..bcoz Transactions are called immediately after filling BDCDATA table. So good for small amount of data.
    2. We have to collect error messages using BDCMSGCOLL Table
    3. Returns SY-SUBRC and Messages ..after each Call Transaction..very useful feature for further processing based on the Status and Messages..
    4. Supports Asynch or Synch Updation.
    Example code for session method
    Here is the porgram for Purchase order
    REPORT zmm0069 NO STANDARD PAGE HEADING
                                      MESSAGE-ID z0
                                      LINE-SIZE  132
                                      LINE-COUNT 65(2).
                         Internal Tables                                 *
    *Internal table for the purchasing info records fields.
      DATA: BEGIN OF i_inforecord OCCURS 0,
            matnr(18),
            lifnr(10),
            uom(3),
            ekgrp(3),
            planned_time(3),
            under_tol(3),
            over_tol(3),
            qty(10),
            price_cat(5),
            inco(3),
            designation(28),
            netpr(13),
            scale_qty1(10),
            scale_pr1(13),
            scale_qty2(10),
            scale_pr2(13),
            scale_qty3(13),
            scale_pr3(10),
            scale_qty4(13),
            scale_pr4(10),
            scale_qty5(13),
            scale_pr5(10),
            scale_qty6(13),
            scale_pr6(10),
            scale_qty7(13),
            scale_pr7(10),
            scale_qty8(13),
            scale_pr8(10),
            scale_qty9(13),
            scale_pr9(10),
            scale_qty10(13),
            scale_pr10(10),
            END OF i_inforecord.
    Internal table for Old and New Vendor number
      DATA : BEGIN OF i_lfb1 OCCURS 1,
             lifnr(10),
             altkn(10),
             END   OF i_lfb1.
    Declare internal table for Call Transaction and BDC Session
      DATA: i_bdc_table LIKE bdcdata OCCURS 0 WITH HEADER LINE.
                         Global Variables                                *
      DATA: g_counter(2) TYPE n,
            g_field_name(18) TYPE c,
            zc_yes  TYPE syftype VALUE 'X'.
                         Selection Screen                                *
      SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
      PARAMETERS: p_fname1 TYPE localfile .
      SELECTION-SCREEN SKIP 1.
      SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-002.
      PARAMETERS: p_rloc1 AS CHECKBOX  DEFAULT 'X'.
      SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-003.
      PARAMETERS p_group(12) OBLIGATORY DEFAULT 'ZPURCHINFO'.
      SELECTION-SCREEN END OF BLOCK c.
      SELECTION-SCREEN END OF BLOCK b.
      SELECTION-SCREEN END OF BLOCK a.
    **WRITE the report header
      TOP-OF-PAGE.
        INCLUDE zheading.
                         Start of selection                              *
      START-OF-SELECTION.
    Load Input file
        PERFORM f_load_input_file.
    Create BDC records.
        PERFORM create_bdc_records .
    *&      Form  Create_BDC_records
          Perform the BDC for the records in the internal table
      FORM create_bdc_records .
        IF NOT i_inforecord[] IS INITIAL.
    Open BDC session
          PERFORM open_bdc_session.
          SELECT lifnr altkn FROM lfb1 INTO TABLE i_lfb1
                              FOR ALL ENTRIES IN i_inforecord
                              WHERE altkn = i_inforecord-lifnr.
    Sorting the Internal table for better performance
          SORT i_lfb1 BY altkn.
          LOOP AT i_inforecord.
    ***Mapping Old Vendor number to the new Vendor number
            READ TABLE i_lfb1 WITH KEY altkn = i_inforecord-lifnr BINARY
                                                                  SEARCH.
            IF sy-subrc EQ 0.
              i_inforecord-lifnr = i_lfb1-lifnr.
            ENDIF.
            CLEAR i_bdc_table[].
            PERFORM insert_screen_header.
         call transaction 'ME11' using i_bdc_table
                       mode 'A'.
         CLEAR i_bdc_table.
          ENDLOOP.
          CLEAR i_inforecord[].
          PERFORM close_bdc_session.
    Release the BDC sessions created
          PERFORM release_bdc.
        ENDIF.
      ENDFORM.                    " open_group
    *&      Form  bdc_dynpro_start
          Start the screen for the transfer of fields
      FORM bdc_dynpro_start  USING    p_g_program_1
                                      p_g_screen.
        CLEAR i_bdc_table.
        i_bdc_table-program  = p_g_program_1.
        i_bdc_table-dynpro   = p_g_screen.
        i_bdc_table-dynbegin = 'X'.
        APPEND i_bdc_table.
      ENDFORM.                    " bdc_dynpro_start_start
    *&      Form  bdc_insert_field
           Insert field                                                  *
      FORM bdc_insert_field USING f_name f_value.
        IF f_value <> space.
          CLEAR i_bdc_table.
          i_bdc_table-fnam = f_name.
          i_bdc_table-fval = f_value.
          APPEND i_bdc_table.
        ENDIF.
      ENDFORM.                    "bdc_insert_field
    *&      Form  open_bdc_session
          Open a BDC session
      FORM open_bdc_session .
    Open BDC session and create and update records
        CALL FUNCTION 'BDC_OPEN_GROUP'
          EXPORTING
            client                    = sy-mandt
          DEST                      = FILLER8
            group                     = p_group
          HOLDDATE                  = FILLER8
            keep                      = 'X'
            user                      = sy-uname
          RECORD                    = FILLER1
          PROG                      = SY-CPROG
        IMPORTING
          QID                       =
       EXCEPTIONS
         client_invalid            = 1
         destination_invalid       = 2
         group_invalid             = 3
         group_is_locked           = 4
         holddate_invalid          = 5
         internal_error            = 6
         queue_error               = 7
         running                   = 8
         system_lock_error         = 9
         user_invalid              = 10
         OTHERS                    = 11
        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.                    " create_bdc_session
    *&      Form  insert_screen_header
          Screen flow for the transfer of fields
      FORM insert_screen_header .
    First Screen 100
        PERFORM bdc_dynpro_start USING 'SAPMM06I' '0100'.
        PERFORM bdc_insert_field USING:'BDC_CURSOR' 'EINA-LIFNR',
                                       'BDC_OKCODE' '/00',
                                       'EINA-LIFNR' i_inforecord-lifnr,
                                       'EINA-MATNR' i_inforecord-matnr,
                                       'EINE-EKORG' '1000',
                                       'RM06I-NORMB' zc_yes.
    Next Screen 101
        PERFORM bdc_dynpro_start USING 'SAPMM06I' '0101'.
        PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'EINA-MAHN1',
                                         'BDC_OKCODE' '/00',
                                         'EINA-MEINS' i_inforecord-uom.
    *Next Screen 102
        PERFORM bdc_dynpro_start USING 'SAPMM06I' '0102'.
        PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'EINE-INCO2',
                                     'EINE-APLFZ' i_inforecord-planned_time,
                                     'EINE-EKGRP' i_inforecord-ekgrp,
                                     'EINE-NORBM' i_inforecord-qty.
        PERFORM bdc_insert USING  'EINE-UEBTK' ' '.
        PERFORM bdc_insert_field USING:'EINE-PEINH' i_inforecord-scale_qty1,
                                       'EINE-BPRME' i_inforecord-uom,
                                       'EINE-UNTTO' '5',
                                       'EINE-UEBTO' '25',
                                       'EINE-MEPRF' i_inforecord-price_cat,
                                       'EINE-NETPR' i_inforecord-netpr,
                                       'EINE-INCO1' i_inforecord-inco,
                                      'EINE-INCO2' i_inforecord-designation.
    Checking for Scale quantities
        IF i_inforecord-scale_qty2 = space.
          PERFORM bdc_insert_field  USING 'BDC_OKCODE' '=BU'.
          PERFORM insert_bdc_new.
        ELSE.
          PERFORM bdc_insert_field  USING 'BDC_OKCODE' '=KO'.
    Next Screen 201
          PERFORM bdc_dynpro_start USING 'SAPMV13A' '0201'.
          PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'RV13A-DATAB',
                                            'BDC_OKCODE' '=PSTF'.
    Next Screen 201
          PERFORM bdc_dynpro_start USING 'SAPMV13A' '0201'.
          PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'KONP-KSCHL(01)',
                                           'BDC_OKCODE' '=PSTF',
                                           'RV130-SELKZ(01)' zc_yes.
    LAST SCREEN 303
          PERFORM bdc_dynpro_start USING 'SAPMV13A' '0303'.
          PERFORM bdc_insert_field USING : 'BDC_CURSOR' 'KONM-KBETR(03)',
                                           'BDC_OKCODE' '=SICH'.
    Counter to Loop the Item level entry
          g_counter = 0.
          PERFORM scale_entry USING i_inforecord-scale_qty2
                                    i_inforecord-scale_pr2.
          PERFORM scale_entry USING i_inforecord-scale_qty3
                                    i_inforecord-scale_pr3.
          PERFORM scale_entry USING i_inforecord-scale_qty4
                                    i_inforecord-scale_pr4.
          PERFORM scale_entry USING i_inforecord-scale_qty5
                                    i_inforecord-scale_pr5.
          PERFORM scale_entry USING i_inforecord-scale_qty6
                                    i_inforecord-scale_pr6.
          PERFORM scale_entry USING i_inforecord-scale_qty7
                                    i_inforecord-scale_pr7.
          PERFORM scale_entry USING i_inforecord-scale_qty8
                                    i_inforecord-scale_pr8.
          PERFORM scale_entry USING i_inforecord-scale_qty9
                                    i_inforecord-scale_pr9.
          PERFORM scale_entry USING  i_inforecord-scale_qty10
                                     i_inforecord-scale_pr10.
          PERFORM insert_bdc_new.
        ENDIF.
      ENDFORM.                    " insert_screen_header
    *&      Form  insert_bdc
          Insert BDC
      FORM insert_bdc_new .
        CALL FUNCTION 'BDC_INSERT'
           EXPORTING
             tcode                  = 'ME11'
          POST_LOCAL             = NOVBLOCAL
          PRINTING               = NOPRINT
          SIMUBATCH              = ' '
          CTUPARAMS              = ' '
           TABLES
             dynprotab              = i_bdc_table
        EXCEPTIONS
          internal_error         = 1
          not_open               = 2
          queue_error            = 3
          tcode_invalid          = 4
          printing_invalid       = 5
          posting_invalid        = 6
          OTHERS                 = 7
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        CLEAR i_bdc_table[].
      ENDFORM.                    " insert_bdc
    *&      Form  close_bdc_session
         Close the BDC session
      FORM close_bdc_session .
        CALL FUNCTION 'BDC_CLOSE_GROUP'
             EXCEPTIONS
                  not_open    = 1
                  queue_error = 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.
      ENDFORM.                    " close_bdc_session
    *&      Form  f_load_input_file
          Upload the file
      FORM f_load_input_file.
    Check always Local file for upload
        IF p_rloc1 = zc_yes.
          CALL FUNCTION 'WS_UPLOAD'
               EXPORTING
                    filename                = p_fname1
                    filetype                = 'DAT'
               TABLES
                    data_tab                = i_inforecord
               EXCEPTIONS
                    conversion_error        = 1
                    file_open_error         = 2
                    file_read_error         = 3
                    invalid_type            = 4
                    no_batch                = 5
                    unknown_error           = 6
                    invalid_table_width     = 7
                    gui_refuse_filetransfer = 8
                    customer_error          = 9
                    OTHERS                  = 10.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
            STOP.
          ENDIF.
        ENDIF.
      ENDFORM.                    " f_load_input_file
    *&      Form  release_bdc
         Release the session
      FORM release_bdc.
        SUBMIT rsbdcsub WITH mappe EQ p_group
                        WITH von EQ sy-datum
                        WITH bis EQ sy-datum
                        WITH fehler EQ '.'
                        EXPORTING LIST TO MEMORY
                        AND RETURN.
      ENDFORM.                    " release_bdc
    *&      Form  scale_entry
          Populate the Scale quantities
         -->P_SCALE_QTY
         -->P_SCALE_PRICE
      FORM scale_entry USING    p_scale_qty
                                p_scale_price.
    Increment the Counter
        g_counter = g_counter + 1.
        IF p_scale_qty <> space.
          CONCATENATE 'KONM-KSTBM('  g_counter  ')' INTO g_field_name.
          PERFORM bdc_insert_field USING g_field_name p_scale_qty.
          CONCATENATE 'KONM-KBETR('  g_counter  ')' INTO g_field_name.
          PERFORM bdc_insert_field USING g_field_name p_scale_price.
        ENDIF.
      ENDFORM.
    *&      Form  bdc_insert
          To uncheck the Unlimited (UEBTK)
      FORM bdc_insert USING  f_name f_value.
        CLEAR i_bdc_table.
        i_bdc_table-fnam = f_name.
        i_bdc_table-fval = f_value.
        APPEND i_bdc_table.
      ENDFORM.                    " bdc_insert
    Reward points if it is usefull ....
    Cheers,
    Chandra Sekhar.

Maybe you are looking for