The standard BDC program for FI

hi all ,
i would like to know the standard BDC program usd in FI , like for tcode fb01 or somethings else.
Appreciate for any segguestion.
thanks and regards.

thanks
another question,
how the fb01 check a duplicated entry?
any materials about this , i have seen that somewhere but can't remember it
thansk

Similar Messages

  • BAPI or FM or Standard BDC program for Production version creation (C223)

    Hi All,
    Is there BAPI or FM or Standard BDC program for Production version creation?  Please help me.
    Thanks & Regards
    Santhosh

    Hi,
    Try this FM "CO_OCM_CREATE_PROD_VERSION"
    Regards,
    Smart

  • RE: what is the standard driver program for printing PO form in ECC 6.0EHP5

    Hi Guys,
                 For printing Purchase order smartform in MM module , earlier i used SMBA0 package i.e /SMBA0/AA_FM06P Driver program in Ecc 6.0 Ehp4 . But now my client is using Ehp5 ,here we could n't find SMBA0 package . So, can any one suggest me what is the relavant package for SMBA0 in Ecc  6.0 EHP5.
    Thanks in advance.
    Regards,
    Bala.

    Hi Bala,
    Those are available in client 000, you have to copy these Smartforms and driver programs from client 000.
    Client 000
    Original program: /SMBA0/AA_FM06P
    Original Form:      /SMBA0/IN_MMPO
    Regards,
    Surya

  • Standard BDC program used for FI

    hi all ,
    i would like to know the standard BDC program used in FI , like for tcode fb01 or somethings else.
    Appreciate for any segguestion.
    thanks and regards.

    hi siddu m 
    thanks for replay ,
    i have anohter question
    provided the transaction A was contianed in the first batch file,
    and also  contained in the second batch file , how the tcode treated as the duplicate posting ?
    many thanks

  • Standard print program for fi invoice smartform printing

    Hi friend,
    Is there any standard print program available for printing FI related invoice .
    I want print program for printing smartforms.
    I want to know any method for searching the standard print program for printing smartform in Fi module.
    Thanks & Regards,
    Sathish

    Hi,
    FI related Forms will be configure in SPRO.
    Goto SPRO and FI related applivcation.
    There you will find the related forms and programs.

  • What is the standard print prg for Purchase Order

    Hi,
    I am working on forms, what is the standard print program for purchase order.
    Already i have gone to nace and found that the program assigned to the customized print prg, so i am not able to find out the print program, so can u tell me how to solve it.
    Regards,
    clara

    Here are the default entries in the configuration
    NEU     Purchase order     1     SAPFM06P     ENTRY_NEU     MEDRUCK
    NEU     Purchase order     2     SAPFM06P     ENTRY_NEU     MEDRUCK
    NEU     Purchase order     6     RSNASTED     EDI_PROCESSING
    NEU     Purchase order     A     RSNASTED     ALE_PROCESSING
    Regards,f
    Ravi
    Note : Please mark the helpful answers

  • Standard Driver Program for Sales Order Confirmation

    Hi,
    My requirement is to develop smartforms and driver program for Sales Order Confirmation.
    For doing this, I found there is a standard smartforms R2RBL_SDORC_L for Sales Order Confirmation. So I thought I can take a Z copy of this smartform and modify it to my requirement. So that we can use the Import parameters (Form Interface parameters) of the form R2RBL_SDORC_L. This will also reduce the work of writing the code in Driver program.
    Now, I need to know what is the standard driver program for this form R2RBL_SDORC_L. If I can find the program name, I can take a Z copy of that and enhance it to my requirement.
    Ultimately I believe I can reduce the work of writing code to fetch all Sales order details.
    Can anyone let me know the standard driver program name for the form R2RBL_SDORC_L?

    Can anyone share how you approached in developing smartforms and driver program for Sales order confirmation?
    Note: This program and smartforms will be assigned in the NACE transaction.

  • What is the name of the Std Print Program for a Delivery Form (VL01)

    How can I find the standard pront programs for SAP executables? I cannot tell by looking at TNAPR alone.
            Thanks.

    Hello Ravi,
    We are currently seeing an issue and we use a custom print program, and a related custom SAPSCRIPT program. SAP suggests I use a standard print program in trx V/38. We are upgrading to 6.0.
    I assume I can just add your SMARTFORM name in V/38 config and this should give me standard output for EK00?
         Thank-You.

  • What is the bdc program for vendor master?

    what is the bdc program for vendor master?

    Hi,
    Find the code here.
    And do create your text file data in the order of itab structure.
    {report ZBDC_XK01
           no standard page heading line-size 255.
    data: bdcdata like bdcdata occurs 0 with header line.
    data: begin of itab occurs 0,
    lifnr like lfa1-lifnr,
    bukrs like RF02K-bukrs,
    ekorg like RF02K-ekorg,
    ktokk like RF02K-ktokk,
    anred like lfa1-anred,
    name1 like lfa1-name1,
    sortl like lfa1-sortl,
    land1 like lfa1-land1,
    spras like lfa1-spras,
    waers like lfm1-waers,
    end of itab.
    selection-screen begin of block blk1 with frame.
      parameters: p_file like rlgrap-filename OBLIGATORY.
    selection-screen end of block blk1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      perform f4_help_p_file.
    start-of-selection.
      perform get_data.
      perform upload.
    END-OF-SELECTION.
    *&      Form  f4_help_p_file
          text
    -->  p1        text
    <--  p2        text
    form f4_help_p_file .
    data: v_file like p_file.
      CALL FUNCTION 'F4_FILENAME'
        IMPORTING
          file_name = v_file.
      CHECK sy-subrc EQ 0.
      p_file = v_file.
    endform.                    " f4_help_p_file
    *&      Form  get_data
          text
    -->  p1        text
    <--  p2        text
    form get_data .
    data: s_file type string.
      s_file = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = s_file
        FILETYPE                      = 'ASC'
        HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
       DAT_MODE                      = 'D'
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      tables
        data_tab                      = itab
    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.
    stop.
    ENDIF.
    endform.                    " get_data
    *&      Form  upload
          text
    -->  p1        text
    <--  p2        text
    form upload .
    loop at itab.
    perform bdc_dynpro      using 'SAPMF02K' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02K-KTOKK'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RF02K-LIFNR'  itab-lifnr.
    perform bdc_field       using 'RF02K-BUKRS' '0001'.
    perform bdc_field       using 'RF02K-EKORG'  '1000'.
    perform bdc_field       using 'RF02K-KTOKK' '0001'.
    perform bdc_dynpro      using 'SAPMF02K' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFA1-SPRAS'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'LFA1-ANRED' itab-anred.
    perform bdc_field       using 'LFA1-NAME1' itab-name1.
    perform bdc_field       using 'LFA1-SORTL' itab-sortl.
    perform bdc_field       using 'LFA1-LAND1' itab-land1.
    perform bdc_field       using 'LFA1-SPRAS' itab-spras.
    perform bdc_dynpro      using 'SAPMF02K' '0120'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFA1-KUNNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0130'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFBK-BANKS(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_dynpro      using 'SAPMF02K' '0210'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFB1-AKONT'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0215'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFB1-ZTERM'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0220'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFB5-MAHNA'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPMF02K' '0310'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'LFM1-WAERS'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'LFM1-WAERS' itab-waers.
    perform bdc_dynpro      using 'SAPMF02K' '0320'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02K-LIFNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    call transaction 'XK01' using bdcdata mode 'A'.
    refresh bdcdata.
    clear itab.
    endloop.
    endform.                    " upload
    *&      Form  bdc_dynpro
          text
         -->P_0126   text
         -->P_0127   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_0316   text
         -->P_0317   text
    form bdc_field  using    fnam fval.
    clear bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      append bdcdata.
    endform.                    " bdc_field}
    Reward points if you find it helpful
    Thanks,
    Prasanna

  • Please  Help me How write the BDC program for the MIGO inbound Delivery

    Please help me how to write bdc program for the MIGO Inbound Delivery in 4.7EE Version. Please help me.
    Not in LSMW.  Required call transaction or Session Method. Please help me.
    Mohan

    Run transaction BAPI . Select Logistics Execution/Shipping/InboundDelivery/SaveReplica.. You can use function module BAPI_INB_DELIVERY_SAVEREPLICA in your ABAP program.

  • Adding logo to the standard PO Output for communication program

    Hello All.
    I need to add company logo to the Standard PO Output for Communication program. Can someone please tell me a way to do this. I went into applications and see its a Java Concurrent program. I even went into these forums and I saw there is a way to uncomment out the line in the XSL file and add the logo there , but how do I upload back to the template. The Upload Button is disabled for this template.
    Can we use the Standard Purchase Order Stylesheet for this?
    If so how to make changes and how can I upload it back?
    Should I do an RTF temnplate?
    Can someone pl help me here. We are on R12 and I am not much familiar with exposting RTF to XSF FO.
    Thanks
    Vidhya

    We took the standard PO document XSL-FO template and enhanced for our own needs. The first of those is to utilize the company's logo. Search for 'external-graphic' in the xsl-fo template. The first hit will be the section for the logo. The comments in the template provide some guidance on what to change. For our company, I changed the URL to point to a .gif file on the Apps server ($OA_MEDIA/company_logo.gif) .
    The one downside that I have found so far, is that I am have to hard-code the entire document path. This path will change between instances. So I once our production instance is defined, I will set it to that path.
    - Scott

  • How to create a BDC program for given recording.

    i have to create a BDC program for uploading a file.
    currently i am using call function
      CALL FUNCTION 'F4_FILENAME'

    just check out the code below  it  is  for  updating two transactions
                           types Declaration                      *
    types: begin of t_tab1 ,
                vendor(10),
                material(18),
                pur_org(4),
                wglif(18),
          end of t_tab1.
                  Data Declaration                                 *
    data : begin of it_tab5 occurs 0,
              vendor(10),
              material(18),
             end of it_tab5.
    **DATA : BEGIN OF IT_TAB6 OCCURS 0,
             VENDOR(10),
             MATERIAL(18),
            END OF IT_TAB6.
    data: it_tab1 type standard table of t_tab1 with header line.
    data: wa_tab1 type t_tab1.
    data: wa_tab2 type t_tab1.
    data: it_tab3 like bdcdata occurs 0 with header line.
    data: it_tab4 like bdcdata occurs 0 with header line.
    data: it_tab2 type table of bdcmsgcoll with header line.
    data: d_file_name like ibipparms-path,
          d_file_name1 type string.
                       Start-of-selection                        *
    start-of-selection.
    FM for finding the flat file
      call function 'F4_FILENAME'
    EXPORTING
      PROGRAM_NAME        = SYST-CPROG
      DYNPRO_NUMBER       = SYST-DYNNR
      FIELD_NAME          = ' '
       importing
         file_name           = d_file_name.
      d_file_name1 = d_file_name.
    ******FM for uploading data from flat file into internal table
      call function 'GUI_UPLOAD'
        exporting
          filename                      = d_file_name1
         filetype                      = 'ASC'
      HAS_FIELD_SEPARATOR           = ' '
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
        tables
          data_tab                      = it_tab5
    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.
                     End-of-selection                         *
    end-of-selection.
      sort it_tab5 by vendor.
      loop at it_tab5.
        perform bdc_dynpro using 'SAPLBG00'  0101 .
        perform bdc_field using 'BDC_OKCODE' '/00' .
        perform bdc_dynpro using 'SAPLBG00'  1000 .
        perform bdc_field using 'BDC_OKCODE' '=BUCH' .
        perform bdc_field using 'BDC_SUBSCR'
        'SAPLBG00                                1101KOPF_1000'.
        perform bdc_field using 'GBGMK-GAART' '2' .
        perform bdc_field using 'GBGMK-GAERB' 'X' .
        perform bdc_field using 'BDC_SUBSCR'
          'SAPLBG00                          1103TAB_SUB_1000'.
        perform bdc_field using 'BDC_CURSOR' 'GBGMP-LSTNR(01)' .
        perform bdc_field using 'GBGMP-LSTNR(01)' it_tab5-material .
       call transaction 'BGM1' using it_tab3 mode 'E' messages into it_tab2
        refresh it_tab3.
        wa_tab1-pur_org = 'ABCP'.
        loop at it_tab2.
        endloop.
        perform bdc_dynpro using 'SAPMM06I'  0100 .
        perform bdc_field using 'BDC_CURSOR' 'EINE-EKORG' .
        perform bdc_field using 'BDC_OKCODE' '/00' .
        perform bdc_field using 'EINA-LIFNR' it_tab5-vendor .
        perform bdc_field using 'EINA-MATNR' it_tab5-material .
        perform bdc_field using 'EINE-EKORG' wa_tab1-pur_org .
        perform bdc_field using 'RM06I-NORMB' 'X' .
        perform bdc_dynpro using 'SAPMM06I'  0101 .
        perform bdc_field using 'BDC_CURSOR' 'EINA-WGLIF' .
        perform bdc_field using 'BDC_OKCODE' '=BU' .
        perform bdc_field using 'EINA-WGLIF' it_tab2-msgv1 .
        call transaction 'ME12' using it_tab3 mode 'E'.
        refresh it_tab3.
        refresh it_tab2.
      endloop.
    *&      Form  BDC_DYNPRO
         Start new screen
         -->P_FNAM  text
         -->P_FVAL  text
    form bdc_dynpro  using   program
                             dynpro.
      clear it_tab3.
      it_tab3-program  = program.
      it_tab3-dynpro   = dynpro.
      it_tab3-dynbegin = 'X'.
      append it_tab3.
    endform.                    " BDC_DYNPRO
    *&      Form  BDC_FIELD
       Insert field
         -->P_FNAM  text
         -->P_FVAL  text
    form bdc_field  using    fnam
                             fval.
      clear it_tab3.
      it_tab3-fnam = fnam.
      it_tab3-fval = fval.
      append it_tab3.
    endform.                    " BDC_FIELD
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Apr 14, 2008 6:20 PM

  • BDC program for Other Goods receipts

    Hi all,
    I need BDC program for Other goods receipts,
    I have data in excel like material, batch id, qty, actual width, length, plant etc. i want to upload this in one short based on the movement type.
    Thanks in advance.
    Shankar

    Hi MP Shankar,
    This is a sample BDC program .Use the format to develop your own BDC program.First record your trasnaction and use that recorded program here.Pass your filename here.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_ifile TYPE dxfile-filename.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-002.
    PARAMETERS: p_sess RADIOBUTTON GROUP g3                  "create session
                       DEFAULT 'X' USER-COMMAND bdc,
                p_ctu  RADIOBUTTON GROUP g3.                 "call transaction
    SELECTION-SCREEN END OF BLOCK b3.
    DATA : BEGIN OF itab OCCURS 0,
           str TYPE string,
           END OF itab,
           l_file TYPE string,
           t_bdcdata TYPE STANDARD TABLE OF bdcdata,
           wa_bdcdata LIKE LINE OF t_bdcdata.
    AT SELECTION SCREEN ON VALUE REQUEST
    Value request for the filename.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ifile.
      PERFORM help_input_file.
    START-OF-SELECTION.
      CLEAR l_file.
      l_file = p_ifile.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = l_file
          filetype                = 'ASC'
        TABLES
          data_tab                = itab
        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.
    *Start new session
      IF p_sess = 'X'.
        PERFORM bdc_open.
      ENDIF.
      LOOP AT itab.
        PERFORM creat_batch_input.
        PERFORM bdc_insert.
        IF p_ctu = 'X'.
          CALL TRANSACTION 'SE38'  USING t_bdcdata  MODE 'A'.
        ENDIF.
      ENDLOOP.
      IF p_sess = 'X'.
        PERFORM bdc_close .
      ENDIF.
    *&      Form  bdc_open
          text
    -->  p1        text
    <--  p2        text
    FORM bdc_open .
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client              = sy-mandt
          group               = 'ZMUK'
          user                = sy-uname
        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.
    ENDFORM.                    " bdc_open
    *&      Form  creat_batch_input
          text
    -->  p1        text
    <--  p2        text
    FORM creat_batch_input .
    use your own recorded program here.
      PERFORM bdc_dynpro      USING 'SAPLWBABAP' '0100'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=STRT'.
      PERFORM bdc_field       USING 'RS38M-PROGRAMM'
                                    itab-str.
      PERFORM bdc_field       USING 'RS38M-FUNC_EDIT'
                                    'X'.
      PERFORM bdc_dynpro      USING 'SAPLSLVC_FULLSCREEN' '0500'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=&F03'.
      PERFORM bdc_dynpro      USING 'SAPLWBABAP' '0100'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=BACK'.
      PERFORM bdc_field       USING 'RS38M-PROGRAMM'
                                    itab-str.
      PERFORM bdc_field       USING 'RS38M-FUNC_EDIT'
                                    'X'.
    ENDFORM.                    " creat_batch_input
    *&      Form  bdc_insert
          text
    -->  p1        text
    <--  p2        text
    FORM bdc_insert .
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          tcode            = 'SE38'
        TABLES
          dynprotab        = t_bdcdata
        EXCEPTIONS
          internal_error   = 1
          not_open         = 2
          queue_error      = 3
          tcode_invalid    = 4
          printing_invalid = 5
          posting_invalid  = 6
          OTHERS           = 7.
    ENDFORM.                    " bdc_insert
    *&      Form  bdc_dynpro
          text
         -->P_0168   text
         -->P_0169   text
    FORM bdc_dynpro  USING p_program TYPE any
                           p_dynpro  TYPE any.
      CLEAR wa_bdcdata.
      wa_bdcdata-program  = p_program.
      wa_bdcdata-dynpro   = p_dynpro.
      wa_bdcdata-dynbegin = 'X'.
      APPEND wa_bdcdata TO t_bdcdata.
    ENDFORM.                    " bdc_dynpro
    *&      Form  bdc_field
          text
         -->P_0179   text
         -->P_0180   text
    FORM bdc_field  USING   p_fnam TYPE any
                            p_fval TYPE any.
      CLEAR wa_bdcdata.
      wa_bdcdata-fnam = p_fnam.
      wa_bdcdata-fval = p_fval.
      CONDENSE wa_bdcdata-fval.
      APPEND wa_bdcdata TO t_bdcdata.
    ENDFORM.                    " bdc_field
    *&      Form  bdc_close
          text
    -->  p1        text
    <--  p2        text
    FORM bdc_close .
      CALL FUNCTION 'BDC_CLOSE_GROUP'
        EXCEPTIONS
          not_open    = 1
          queue_error = 2
          OTHERS      = 3.
    ENDFORM.                    " bdc_close
    *&      Form  help_input_file
          text
    -->  p1        text
    <--  p2        text
    FORM help_input_file .
      DATA:  lt_file_table TYPE filetable,
             la_file_table LIKE LINE OF lt_file_table,
             l_rc TYPE i,
             l_pcdsn TYPE cffile-filename.
      REFRESH lt_file_table.
      CLEAR la_file_table.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        CHANGING
          file_table = lt_file_table
          rc         = l_rc.
      READ TABLE lt_file_table INTO la_file_table INDEX 1.
      l_pcdsn = la_file_table-filename.
      MOVE l_pcdsn TO p_ifile.
    ENDFORM.                    " help_input_file

  • Bdc program for pre condition allocation in ct04

    dear sir
    we have created dependencies for preconditions in variant configuration.
    now we have to link these dependencies between the charecteristics and values
    can we make BDC program for uploading the data ?
    because data content is huge and takes more time.
    if so what is the procedure?
    thanking you
    srinivas

    Dear Srinivas,
    There is no standard BDC or BAPI. However, there are few standard FMs that you can use.
    CTMV_CHARACT_CHANGE - RM: Characteristics Maintenance
    CTMV_CHARACT_CHANGE_KNOWL - RM: Characteristics Maintenance
    CTMV_CHARACT_CHANGE_KNOWL_VAL - RM: Characteristics Maintenance
    CTMV_CHARACT_CHANGE_OVERWRITE - RM: Characteristics Maintenance
    CTMV_CHARACT_CHGE_KNOWL_OVWR - RM: Characteristics Maintenance
    CTMV_CHARACT_CHGE_KNOWL_VAL_OV - RM: Characteristics Maintenance
    CTMV_CHARACT_CHGE_TEXT_OV - RM: Characteristics Maintenance
    CTMV_CHARACT_DELETE_ALL_ALLOC - RM: Characteristics Maintenance
    CTMV_CHARACT_DELETE_NEUTRAL - RM: Characteristics Maintenance
    CTMV_CHARACT_DEL_TEXT_OV - RM: Characteristics Maintenance
    CTMV_CHARACT_INIT - RM: Characteristics Maintenance
    CTMV_CHARACT_RENAME - RM: Characteristics Maintenance
    CTMV_CHARACT_SAVE - RM: Characteristics Maintenance
    CTMV_CHECK_CHARACTERISTIC - RM: Characteristics Maintenance
    CTMV_CHECK_CHARACTERISTIC_OVWR - RM: Characteristics Maintenance
    You can find more:
    Go to transaction SE80 -> enter CTMV -> Expand Function Modules option.
    Application Programming Interfaces:
    CAMA_CHARACT_MAINTAIN - APIs Maintain Characteristics
    CAMA_CHARACT_SAVE - APIs Maintain Characteristics
    CAMA_CHAR_ALLOCATE_GLOB_DEP - APIs Maintain Characteristics
    CAMA_CHAR_DEL_DEP - APIs Maintain Characteristics
    CAMA_CHAR_MAINTAIN_DEP - APIs Maintain Characteristics
    CAMA_CHAR_SNGL_MAINTAIN - APIs Maintain Characteristics
    CAMA_CHAR_VAL_ALLOCAT_GLOB_DEP - APIs Maintain Characteristics
    CAMA_CHAR_VAL_DEL_DEP - APIs Maintain Characteristics
    CAMA_CHAR_VAL_MAINTAIN_DEP - APIs Maintain Characteristics
    Regards,
    Naveen.

  • BDC PROGRAM FOR F-02 ERROR

    Hi ,
    i have written a bdc program for f-02 .here we have 2 posting keys 31 and 40 .when i recored in shdb i can see when i use 31 posting key then i get 302 screen and when i use 40 posting key then i get 300 screen.But the problem is in 302 screen we have new posting keys and new account numbers .how to update these . here is my code . my file is not getting updated when i get screen 302 .Any advice?
    REPORT zfip0009 NO STANDARD PAGE HEADING.
    TABLES ska1.
    DATA: BEGIN OF bdcdata OCCURS 0.
            INCLUDE STRUCTURE bdcdata.
    DATA: END OF bdcdata.
    DATA w_date(10) TYPE c.
    DATA w_first  TYPE c.
    DATA w_second TYPE c.
    data from flat file
    DATA: BEGIN OF t_data OCCURS 0,
           bukrs LIKE bkpf-bukrs,    "company code
           newbs LIKE rf05a-newbs,   "Posting Key
           newko LIKE rf05a-newko,   "New account number(SAP)
           wrbtr(13) TYPE c,         "amount
           dmbtr(13) TYPE c,         "sterling local amount  "+MW1
           mwskz LIKE bseg-mwskz,    "Tax code
           sgtxt LIKE bseg-sgtxt,    "item description
           kostl LIKE cobl-kostl,    "Cost centre
           ps_posid LIKE cobl-ps_posid, "WBS number
           aufnr LIKE cobl-aufnr,     "Internal order
          END OF t_data.
            SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_file LIKE rlgrap-filename
                DEFAULT 'C:\temp\XSL.txt'.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_sess(12) DEFAULT 'GLPOSTING'.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: p_bldat LIKE bkpf-bldat,
                p_budat LIKE bkpf-budat,
                p_blart LIKE bkpf-blart,
                p_monat LIKE bkpf-monat,
               p_bukrs LIKE bkpf-bukrs,
                p_bktxt LIKE bkpf-bktxt,
                p_xblnr LIKE bkpf-xblnr,
                p_waers LIKE bkpf-waers.
    SELECTION-SCREEN END OF BLOCK b2.
    *SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    *PARAMETERS p_ktopl LIKE ska1-ktopl.
    *SELECTION-SCREEN END OF BLOCK b3.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'WS_FILENAME_GET'
          EXPORTING
               def_filename     =  p_file
              DEF_PATH         = ' '
               mask             = ',.,..'
              MODE             = ' '
              TITLE            = ' '
          IMPORTING
               filename         = p_file
              RC               =
           EXCEPTIONS
                inv_winsys       = 1
                no_batch         = 2
                selection_cancel = 3
                selection_error  = 4
                OTHERS           = 5.
          START OF SELECTION
    START-OF-SELECTION.
    Get all of the information held on the spreadsheets.
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename = p_file
          filetype = 'DAT'
        TABLES
          data_tab = t_data
        EXCEPTIONS
          OTHERS   = 1.
      IF sy-subrc <> 0.
        WRITE :/ 'Failed to Open Input file', p_file.
        EXIT.
      ENDIF.
      REFRESH bdcdata.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client = sy-mandt
          group  = p_sess
          user   = sy-uname
          keep   = 'X'.
      PERFORM load_bdcdata.
      CALL FUNCTION 'BDC_CLOSE_GROUP'.
      WRITE: /
    'Batch input session', p_sess, 'created: process session via SM35'.
    END-OF-SELECTION.
    *&      Form  LOAD_BDCDATA
          Load the BDCDATA fields depending
    FORM load_bdcdata.
      CLEAR: w_first, w_second.
      CLEAR bdcdata.
      LOOP AT t_data.
        IF sy-tabix = 1.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0100'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RF05A-NEWKO'.
          PERFORM format_date USING p_bldat.
          PERFORM bdc_field       USING 'BKPF-BLDAT'
                                        w_date.
          PERFORM bdc_field       USING 'BKPF-BLART'
                                        p_blart.
          PERFORM bdc_field       USING 'BKPF-BUKRS'
                                        t_data-bukrs.
          PERFORM format_date USING p_budat.
          PERFORM bdc_field       USING 'BKPF-BUDAT'
                                        w_date.
          PERFORM bdc_field       USING 'BKPF-WAERS'
                                        p_waers.
          PERFORM bdc_field       USING 'BKPF-MONAT'
          PERFORM bdc_field       USING 'BKPF-BKTXT'
                                        p_bktxt.
          PERFORM bdc_field       USING 'BKPF-XBLNR'
                                        p_xblnr.
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                        t_data-newbs.
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                        t_data-newko.
        ELSE.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RF05A-NEWKO'.
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                        t_data-newbs.
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                        t_data-newko.
          PERFORM bdc_field       USING 'RF05A-NEWBK'
                                        t_data-bukrs.
          PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
          PERFORM bdc_field       USING 'BDC_OKCODE' 'ENTE'.
        ENDIF.
       IF t_data-newbs = '31' .
          w_second = '1'.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0302'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                              '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                     'BSEG-SGTXT'.
          PERFORM bdc_field       USING 'BSEG-WRBTR'
                                      t_data-wrbtr.
          PERFORM bdc_field       USING 'BSEG-SGTXT'
                                     t_data-sgtxt.
        PERFORM bdc_field       USING 'RF05A-NEWBS'
                                       t_data-newbs.
        PERFORM bdc_field       USING 'RF05A-NEWKO'
                                       t_data-newko.
            IF NOT t_data-kostl IS INITIAL.
            PERFORM bdc_field       USING 'COBL-KOSTL'
                                          t_data-kostl.
          ELSEIF NOT t_data-ps_posid IS INITIAL.
            PERFORM bdc_field       USING 'COBL-PS_POSID'
                                          t_data-ps_posid.
          ELSEIF NOT t_data-aufnr IS INITIAL.
            PERFORM bdc_field       USING 'COBL-AUFNR'
                                          t_data-aufnr.
          ENDIF.
    *...start of Amendment MW1
          IF p_waers ne 'GBP'.
            PERFORM bdc_field       USING 'BSEG-DMBTR'
                                              t_data-dmbtr.
          ENDIF.
        ENDIF.
    *...end of Amendment MW1  ENDIF.
       IF t_data-newbs = '40'    .
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                     'BSEG-SGTXT'.
          PERFORM bdc_field       USING 'BSEG-WRBTR'
                                      t_data-wrbtr.
          PERFORM bdc_field       USING 'BSEG-SGTXT'
                                     t_data-sgtxt.
           PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
          PERFORM bdc_field       USING 'BDC_OKCODE' 'ENTE'.
             IF NOT t_data-kostl IS INITIAL.
            PERFORM bdc_field       USING 'COBL-KOSTL'
                                          t_data-kostl.
          ELSEIF NOT t_data-ps_posid IS INITIAL.
            PERFORM bdc_field       USING 'COBL-PS_POSID'
                                          t_data-ps_posid.
          ELSEIF NOT t_data-aufnr IS INITIAL.
            PERFORM bdc_field       USING 'COBL-AUFNR'
                                          t_data-aufnr.
          ENDIF.
          PERFORM bdc_field       USING 'BSEG-MWSKZ'
                                     t_data-mwskz.
    *...start of Amendment MW1
          IF p_waers ne 'GBP'.
            PERFORM bdc_field       USING 'BSEG-DMBTR'
                                              t_data-dmbtr.
          ENDIF.
    *...end of Amendment MW1
        ENDIF.
        AT FIRST.
    calculate the tax
          PERFORM bdc_field       USING 'BKPF-XMWST' 'X'.
        ENDAT.
      IF t_data-newbs = '40'     .
         PERFORM bdc_field       USING 'DKACB-FMORE'
                                       'X'.
         PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
         PERFORM bdc_field       USING 'BDC_OKCODE'
                                       'ENTE'.
         IF NOT t_data-kostl IS INITIAL.
           PERFORM bdc_field       USING 'COBL-KOSTL'
                                         t_data-kostl.
         ELSEIF NOT t_data-ps_posid IS INITIAL.
           PERFORM bdc_field       USING 'COBL-PS_POSID'
                                         t_data-ps_posid.
         ELSEIF NOT t_data-aufnr IS INITIAL.
           PERFORM bdc_field       USING 'COBL-AUFNR'
                                         t_data-aufnr.
         ENDIF.
       ENDIF.
      ENDLOOP.
      IF w_second = '1'.
        PERFORM bdc_dynpro      USING 'SAPMF05A' '0302'.
      ELSE.
        PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
      ENDIF.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    'BU'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'BSEG-WRBTR'.
      PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    'ENTE'.
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          tcode     = 'F-02'
        TABLES
          dynprotab = bdcdata.
      REFRESH bdcdata.
      CLEAR bdcdata.
    ENDFORM.                    " LOAD_BDCDATA
    Start of screen
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdcdata.
      bdcdata-program  = program.
      bdcdata-dynpro   = dynpro.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
    ENDFORM.                    "BDC_DYNPRO
           insert field
    FORM bdc_field USING fnam fval.
      CLEAR bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      APPEND bdcdata.
    ENDFORM.                    "BDC_FIELD
    *&      Form  format_date
          text
    FORM format_date  USING    p_date.
      CLEAR w_date.
      w_date(2) = p_date+6(2).
      w_date+2(1) = '.'.
      w_date3(2) = p_date4(2).
      w_date+5(1) = '.'.
      w_date+6(4) = p_date(4).
    ENDFORM.                    " format_date

    IF item-newbs = '09'
             OR item-newbs = '19'
             OR item-newbs = '29'
             OR item-newbs = '39'.
            IF item-newum = 'A' OR
             item-newum = 'V' OR
             item-newum = '1' OR
             item-newum = '2' OR
             item-newum = '3' OR
             item-newum = '5' OR
             item-newum = '6' OR
             item-newum = 'B' .
              PERFORM bdc_dynpro      USING 'SAPMF05A' '0304'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RF05A-NEWUM'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BSEG-WRBTR'
                                            item-wrbtr.
              PERFORM bdc_field       USING 'BSEG-gsber'
                                            item-gsber.
              PERFORM bdc_field       USING 'BSEG-PRCTR'
                                            item-prctr.
              PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                            item-zfbdt1.
              PERFORM bdc_field       USING 'BSEG-ZUONR'
                                            item-zuonr.
              PERFORM bdc_field       USING 'BSEG-SGTXT'
                                            item-sgtxt.
              IF idx1 = '002' .
                EXIT.
              ENDIF.
              idx = idx + 1.
              READ TABLE item INDEX idx .
              PERFORM bdc_field       USING 'RF05A-NEWBS'
                                            item-newbs.
              PERFORM bdc_field       USING 'RF05A-NEWKO'
                                            item-newko.
              PERFORM bdc_field       USING 'RF05A-NEWUM'
                                            item-newum.
              PERFORM bdc_field       USING 'RF05A-NEWBW'
                                            item-newbw.
              CONTINUE.
            ENDIF.
          ENDIF.
          IF item-newbs = '09'
             OR item-newbs = '19'
             OR item-newbs = '29'
             OR item-newbs = '39' .
            IF item-newum = 'H'
              OR item-newum = '4'
           OR item-newum = '6'
           OR item-newum = '7'
              OR item-newum = '8'
              OR item-newum = '9'
              OR item-newum = 'C'
              OR item-newum = 'D'
              OR item-newum = 'E'
              OR item-newum = 'I'
              OR item-newum = 'K'
              OR item-newum = 'L'
              OR item-newum = 'M'
              OR item-newum = 'O'
              OR item-newum = 'Q'
              OR item-newum = 'R'
              OR item-newum = 'T'
              OR item-newum = 'U'.
              PERFORM bdc_dynpro      USING 'SAPMF05A' '0303'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RF05A-NEWKO'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BSEG-WRBTR'
                                            item-wrbtr.
              PERFORM bdc_field       USING 'BSEG-GSBER'
                                            item-gsber.
              PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                            item-zfbdt1.
              PERFORM bdc_field       USING 'BSEG-ZUONR'
                                            item-zuonr.
              PERFORM bdc_field       USING 'BSEG-SGTXT'
                                            item-sgtxt.
              IF idx1 = '002' .
                EXIT.
              ENDIF.
              idx = idx + 1 .
              READ TABLE item INDEX idx .
              PERFORM bdc_field       USING 'RF05A-NEWBS'
                                            item-newbs.
              PERFORM bdc_field       USING 'RF05A-NEWKO'
                                            item-newko.
              PERFORM bdc_field       USING 'RF05A-NEWUM'
                                            item-newum.
              PERFORM bdc_field       USING 'RF05A-NEWBW'
                                            item-newbw.
              CONTINUE.
            ENDIF.
          ENDIF.
          IF item-newbs = '29' OR item-newbs = '39'.
            IF item-newum = '7'.
              PERFORM bdc_dynpro      USING 'SAPMF05A' '0303'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'BSEG-ZFBDT'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '=ZK'.
              PERFORM bdc_field       USING 'BSEG-WRBTR'
                                            item-wrbtr.
              PERFORM bdc_field       USING 'BSEG-GSBER'
                                            item-gsber.
              PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                            item-zfbdt1.
              PERFORM bdc_field       USING 'BSEG-ZUONR'
                                            item-zuonr.
              PERFORM bdc_field       USING 'BSEG-SGTXT'
                                            item-sgtxt.
              PERFORM bdc_dynpro      USING 'SAPMF05A' '0332'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'RF05A-NEWKO'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BSEG-BEWAR'
                                            item-ttype.
              IF idx1 = '002' .
                EXIT.
              ENDIF.
              idx = idx + 1 .
              READ TABLE item INDEX idx .
              PERFORM bdc_field       USING 'RF05A-NEWBS'
                                            item-newbs.
              PERFORM bdc_field       USING 'RF05A-NEWKO'
                                            item-newko.
              PERFORM bdc_field       USING 'RF05A-NEWUM'
                                            item-newum.
              PERFORM bdc_field       USING 'RF05A-NEWBW'
                                            item-newbw.
              CONTINUE.
            ENDIF.
          ENDIF.
          IF item-newbs = '01' OR item-newbs = '11'
             OR item-newbs = '05' OR item-newbs = '15'.
            PERFORM bdc_dynpro      USING 'SAPMF05A' '0301'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'RF05A-NEWKO'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                           '/00'.
            PERFORM bdc_field       USING 'BSEG-WRBTR'
                                          item-wrbtr.
            PERFORM bdc_field       USING 'BSEG-GSBER'
                                           item-gsber.
            PERFORM bdc_field       USING 'BSEG-ZTERM'
                                           item-zterm.
            PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                          item-zfbdt.
            PERFORM bdc_field       USING 'BSEG-ZUONR'
                                          item-zuonr.
            PERFORM bdc_field       USING 'BSEG-SGTXT'
                                          item-sgtxt.
            IF idx1 = '002' .
              EXIT.
            ENDIF.
            idx = idx + 1 .
            READ TABLE item INDEX idx .
            PERFORM bdc_field       USING 'RF05A-NEWBS'
                                          item-newbs.
            PERFORM bdc_field       USING 'RF05A-NEWKO'
                                          item-newko.
            PERFORM bdc_field       USING 'RF05A-NEWUM'
                                          item-newum.
            PERFORM bdc_field       USING 'RF05A-NEWBW'
                                          item-newbw.
            CONTINUE.
          ENDIF.
          IF item-newbs = '21' OR item-newbs = '31'
             OR item-newbs = '25' OR item-newbs = '35'.
            PERFORM bdc_dynpro      USING 'SAPMF05A' '0302'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'RF05A-NEWKO'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'BSEG-WRBTR'
                                          item-wrbtr.
            PERFORM bdc_field       USING 'BSEG-SECCO'
                                          ''.   "'1000'.
            PERFORM bdc_field       USING 'BSEG-GSBER'
                                          item-gsber.
            PERFORM bdc_field       USING 'BSEG-ZTERM'
                                           item-zterm.
            PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                          item-zfbdt.
            PERFORM bdc_field       USING 'BSEG-ZUONR'
                                          item-zuonr.
            PERFORM bdc_field       USING 'BSEG-SGTXT'
                                          item-sgtxt.
            IF idx1 = '002' .
              EXIT.
            ENDIF.
            idx = idx + 1.
            READ TABLE item INDEX idx.
            PERFORM bdc_field       USING 'RF05A-NEWBS'
                                          item-newbs.
            PERFORM bdc_field       USING 'RF05A-NEWKO'
                                          item-newko.
            PERFORM bdc_field       USING 'RF05A-NEWUM'
                                          item-newum.
            PERFORM bdc_field       USING 'RF05A-NEWBW'
                                          item-newbw.
            CONTINUE.
          ENDIF.
          IF item-newbs = '70' OR item-newbs = '75'.
            PERFORM bdc_dynpro      USING 'SAPMF05A' '0305'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'BSEG-WRBTR'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'BSEG-WRBTR'
                                          item-wrbtr.
            PERFORM bdc_field       USING 'DKACB-FMORE'
                                                'X'.
            PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'COBL-PRCTR'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '=ENTE'.
            PERFORM bdc_field       USING 'COBL-GSBER'
                                          item-gsber.
            PERFORM bdc_field       USING 'COBL-KOSTL'
                                          item-kostl.
            PERFORM bdc_field       USING 'COBL-PRCTR'
                                          item-prctr.
            PERFORM bdc_dynpro      USING 'SAPMF05A' '0305'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'RF05A-NEWBW'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'BSEG-WRBTR'
                                          item-wrbtr.
    PERFORM bdc_field       USING 'BSEG-BZDAT'
                                   '01.04.2005'.
            IF idx1 = '002' .
              EXIT.
            ENDIF.
            idx = idx + 1 .
            READ TABLE item INDEX idx .
            PERFORM bdc_field       USING 'RF05A-NEWBS'
                                          item-newbs.
            PERFORM bdc_field       USING 'RF05A-NEWKO'
                                          item-newko.
            PERFORM bdc_field       USING 'RF05A-NEWUM'
                                           item-newum.
            PERFORM bdc_field       USING 'RF05A-NEWBW'
                                          item-newbw.
            CONTINUE.
          ENDIF.
        ENDLOOP.
        PERFORM bdc_field   USING  'BDC_OKCODE'     
                                    '=BU'.
        PERFORM bdc_transaction USING 'F-02'.
        DELETE item INDEX 1.
        DELETE item INDEX 1.
        ix = ix + 2 .
      ENDDO.
      PERFORM close_group.

Maybe you are looking for