Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

bdc-table control

Former Member
0 Likes
637

Hi All,

Could u plz help me using table control in bdc..I haven't used before..though i have got many links or material for this.. i need in depth not just the coding part..if u could help me in detaill..i would be very happy.

regards

sahil

6 REPLIES 6
Read only

Former Member
0 Likes
612

try

/thread/166349 [original link is broken]

Regards

Prabhu

Read only

Former Member
0 Likes
612

Hi Sahil.

BDC Example: Using Table Control in BDC

Following is a sample code of handling table control in BDC.

REPORT Y730_BDC5 .

*HANDLING TABLE CONTROL IN BDC

DATA : BEGIN OF IT_DUMMY OCCURS 0,

DUMMY(100) TYPE C,

END OF IT_DUMMY.

DATA : BEGIN OF IT_XK01 OCCURS 0,

LIFNR(10) TYPE C,

BUKRS(4) TYPE C,

EKORG(4) TYPE C,

KTOKK(4) TYPE C,

NAME1(30) TYPE C,

SORTL(10) TYPE C,

LAND1(3) TYPE C,

SPRAS(2) TYPE C,

AKONT(6) TYPE C,

FDGRV(2) TYPE C,

WAERS(3) TYPE C,

END OF IT_XK01,

BEGIN OF IT_BANK OCCURS 0,

BANKS(3) TYPE C,

BANKL(10) TYPE C,

BANKN(10) TYPE C,

KOINH(30) TYPE C,

LIFNR(10) TYPE C,

END OF IT_BANK.

DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,

IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

FILENAME = 'C:\VENDOR.TXT'

FILETYPE = 'ASC'

TABLES

DATA_TAB = IT_DUMMY.

LOOP AT IT_DUMMY.

IF IT_DUMMY-DUMMY+0(2) = '11'.

IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10).

IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4).

IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4).

IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4).

IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30).

IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10).

IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3).

IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2).

IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6).

IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2).

IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3).

APPEND IT_XK01.

ELSE.

IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3).

IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10).

IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10).

IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30).

IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10).

APPEND IT_BANK.

ENDIF.

ENDLOOP.

LOOP AT IT_XK01.

REFRESH IT_BDCDATA.

perform bdc_dynpro using 'SAPMF02K' '0100'.

perform bdc_field using 'BDC_CURSOR'

'RF02K-REF_LIFNR'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'RF02K-LIFNR'

IT_XK01-LIFNR.

perform bdc_field using 'RF02K-BUKRS'

IT_XK01-BUKRS.

perform bdc_field using 'RF02K-EKORG'

IT_XK01-EKORG.

perform bdc_field using 'RF02K-KTOKK'

IT_XK01-KTOKK.

perform bdc_dynpro using 'SAPMF02K' '0110'.

perform bdc_field using 'BDC_CURSOR'

'LFA1-TELX1'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'LFA1-NAME1'

IT_XK01-NAME1.

perform bdc_field using 'LFA1-SORTL'

IT_XK01-SORTL.

perform bdc_field using 'LFA1-LAND1'

IT_XK01-LAND1.

perform bdc_field using 'LFA1-SPRAS'

IT_XK01-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-KOINH(02)'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

DATA : FNAM(20) TYPE C,

IDX TYPE C.

MOVE 1 TO IDX.

LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR.

CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM.

perform bdc_field using FNAM

IT_BANK-BANKS.

CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM.

perform bdc_field using FNAM

IT_BANK-BANKL.

CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM.

perform bdc_field using FNAM

IT_BANK-BANKN.

CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM.

perform bdc_field using FNAM

IT_BANK-KOINH.

IDX = IDX + 1.

ENDLOOP.

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-FDGRV'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'LFB1-AKONT'

IT_XK01-AKONT.

perform bdc_field using 'LFB1-FDGRV'

IT_XK01-FDGRV.

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'

IT_XK01-WAERS.

perform bdc_dynpro using 'SAPMF02K' '0320'.

perform bdc_field using 'BDC_CURSOR'

'WYT3-PARVW(01)'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_dynpro using 'SAPLSPO1' '0300'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

CALL TRANSACTION 'XK01' USING IT_BDCDATA

MODE 'A'

UPDATE 'S'

MESSAGES INTO IT_BDCMSGCOLL.

ENDLOOP.

FORM BDC_DYNPRO USING PROG SCR.

CLEAR IT_BDCDATA.

IT_BDCDATA-PROGRAM = PROG.

IT_BDCDATA-DYNPRO = SCR.

IT_BDCDATA-DYNBEGIN = 'X'.

APPEND IT_BDCDATA.

ENDFORM.

FORM BDC_FIELD USING FNAM FVAL.

CLEAR IT_BDCDATA.

IT_BDCDATA-FNAM = FNAM.

IT_BDCDATA-FVAL = FVAL.

APPEND IT_BDCDATA.

ENDFORM.

<b>If you need more check this link.

http://searchsap.techtarget.com/search/1,293876,sid21,00.html?query=Tablecontrolin+BDC&bucket=ALL</b>

Reward if it is useful.

Read only

Former Member
0 Likes
612

Hi sahil,

Follow this code

 *&---------------------------------------------------------------------*
*&      Form  create_bom
*&---------------------------------------------------------------------*
*    This form creates the BOM
*----------------------------------------------------------------------*
FORM create_bom USING   value(uv_idoc_contrl_docnum) TYPE edidc-docnum
                        ut_e1stzum                   TYPE tt_e1stzum
                        ut_z1eqst                    TYPE tt_z1eqst
                        ut_e1stkon                   TYPE tt_e1stkon
                        ut_e1stpon                   TYPE tt_e1stpon
* begin GSK20060915i
             CHANGING   ct_idoc_status               TYPE tt_bdidocstat.
* end GSK20060915i

*-- L O C A L    D E C L A R A T I O N S
  DATA:  ls_e1stzum      TYPE  ts_e1stzum,
         ls_z1eqst       TYPE  ts_z1eqst,
         ls_e1stkon      TYPE  ts_e1stkon,
         ls_e1stpon      TYPE  ts_e1stpon,
         ls_messtab      TYPE  ts_messtab,
         lt_messtab      TYPE  tt_messtab,
         lt_bdcdata      TYPE  tt_bdcdata,
*        lt_idoc_status  TYPE  tt_bdidocstat,   "GSK20060915d
         lv_mode         TYPE  c VALUE 'N',     "NO SCREENS
         lv_flag         TYPE  c,
         lv_index(4)     TYPE  c VALUE '0010'.

  SORT ut_z1eqst  BY psgnum.
  SORT ut_e1stkon BY psgnum.
  LOOP AT ut_e1stzum INTO ls_e1stzum.

    REFRESH : lt_bdcdata,
              lt_messtab.

    CLEAR  ls_z1eqst.
    READ TABLE ut_z1eqst INTO ls_z1eqst
    WITH KEY psgnum = ls_e1stzum-segnum BINARY SEARCH.
    IF sy-subrc NE 0.
      CLEAR ls_messtab.
      ls_messtab-msgv1 = 'No header segment found'(001).
      PERFORM update_idoc_status_325
               USING    uv_idoc_contrl_docnum
*                       '53' "GSK20060915d
                        '51' "GSK20060915i
                        'E'
                        ls_messtab-msgid
                        ls_messtab-msgnr
                        ls_messtab-msgv1
                        ls_messtab-msgv2
                        ls_messtab-msgv3
                        ls_messtab-msgv4
*            CHANGING    lt_idoc_status[]. "GSK20060915d
            CHANGING    ct_idoc_status[].  "GSK20060915i
      CONTINUE.
    ENDIF.

    CLEAR ls_e1stkon.
    READ TABLE ut_e1stkon INTO ls_e1stkon
    WITH KEY psgnum = ls_e1stzum-segnum BINARY SEARCH.
    IF sy-subrc NE 0.
      CLEAR ls_messtab.
      ls_messtab-msgv1 = 'No header segment found'(001).
      PERFORM update_idoc_status_325
               USING    uv_idoc_contrl_docnum
*                       '53' "GSK20060915d
                        '51' "GSK20060915i
                        'E'
                        ls_messtab-msgid
                        ls_messtab-msgnr
                        ls_messtab-msgv1
                        ls_messtab-msgv2
                        ls_messtab-msgv3
                        ls_messtab-msgv4
*            CHANGING    lt_idoc_status[]. "GSK20060915d
            CHANGING    ct_idoc_status[].  "GSK20060915i
      CONTINUE.
    ENDIF.

    PERFORM bdc_dynpro      USING 'SAPLCSDI' '0200'
                             CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RC29N-EQUNR'
                             CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'
                             CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'RC29N-EQUNR'
                                   ls_z1eqst-equnr
                          CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'RC29N-WERKS'
                                  ls_z1eqst-werks
                         CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'RC29N-STLAN'
                                  ls_e1stzum-stlan
                         CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'RC29N-DATUV'
                                 ls_e1stkon-datuv
                          CHANGING lt_bdcdata[].

    PERFORM bdc_dynpro      USING 'SAPLCSDI' '0110'
                          CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'BDC_OKCODE'
                                '/00'
                           CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'RC29K-BMENG'
                                '1'
                           CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'RC29K-STLST'
                                '1'
                           CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'BDC_CURSOR'
                                'RC29K-EXSTL'
                           CHANGING lt_bdcdata[].

    PERFORM bdc_dynpro      USING 'SAPLCSDI' '0111'
                           CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'BDC_CURSOR'
                                'RC29K-LABOR'
                           CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'
                             CHANGING lt_bdcdata[].

   LOOP AT ut_e1stpon INTO ls_e1stpon WHERE psgnum EQ ls_e1stzum-segnum.

      IF lv_flag EQ space.
        lv_flag = 'X'.

        PERFORM bdc_dynpro      USING 'SAPLCSDI' '0140'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RC29P-POSTP(01)'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-IDNRK(01)'
                                     ls_e1stpon-idnrk
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-MENGE(01)'
                                     ls_e1stpon-menge
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-MEINS(01)'
                                      ls_e1stpon-meins
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-POSTP(01)'
                                      ls_e1stpon-postp
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_dynpro      USING 'SAPLCSDI' '0130'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RC29P-POSNR'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-POSNR'
                                      '0010'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-IDNRK'
                                        ls_e1stpon-idnrk
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-MENGE'
                                       ls_e1stpon-menge
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-MEINS'
                                      ls_e1stpon-meins
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_dynpro      USING 'SAPLCSDI' '0131'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RC29P-POTX1'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-SANKA'
                                      'X'
                                 CHANGING lt_bdcdata[].

      ELSE.

        lv_index = lv_index + 10.

        PERFORM bdc_dynpro      USING 'SAPLCSDI' '0140'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_CURSOR'
                                     'RC29P-POSNR(01)'
                                CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_OKCODE'
                                     '=FCNP'
                                CHANGING lt_bdcdata[].

        PERFORM bdc_dynpro      USING 'SAPLCSDI' '0140'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RC29P-POSTP(02)'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-IDNRK(02)'
                                    ls_e1stpon-idnrk
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-MENGE(02)'
                                      ls_e1stpon-menge
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-MEINS(02)'
                                       ls_e1stpon-meins
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-POSTP(02)'
                                    ls_e1stpon-postp
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_dynpro      USING 'SAPLCSDI' '0130'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RC29P-POSNR'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-POSNR'
                                      lv_index
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-IDNRK'
                                     ls_e1stpon-idnrk
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-MENGE'
                                     ls_e1stpon-menge
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-MEINS'
                                     ls_e1stpon-meins
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_dynpro      USING 'SAPLCSDI' '0131'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RC29P-POTX1'
                                 CHANGING lt_bdcdata[].

        PERFORM bdc_field       USING 'RC29P-SANKA'
                                      'X'
                                 CHANGING lt_bdcdata[].
      ENDIF.

    ENDLOOP. "LOOP AT ut_e1stpon INTO ls_e1stpon

    CLEAR: lv_flag, lv_index.

    PERFORM bdc_dynpro      USING 'SAPLCSDI' '0140'
                             CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RC29P-POSNR(02)'
                             CHANGING lt_bdcdata[].

    PERFORM bdc_field       USING 'BDC_OKCODE'
                                   '=FCBU'
                              CHANGING lt_bdcdata[].

* C A L L   T R A N S A C T I O N   I N   B A C K G R O U N D  M O D E
    CALL TRANSACTION 'IB01' USING
                            lt_bdcdata[]
                            MODE lv_mode
                            MESSAGES INTO lt_messtab[].

* H A N D L E   B D C  E R R O R S
    PERFORM fill_error USING  uv_idoc_contrl_docnum
                              lt_messtab[]
*            CHANGING    lt_idoc_status[]. "GSK20060915d
            CHANGING    ct_idoc_status[].  "GSK20060915i

  ENDLOOP.  "LOOP AT ut_e1stzum INTO ls_e1stzum.
ENDFORM.                    " create_bom
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&      Form  bdc_dynpro
*&---------------------------------------------------------------------*
*    The form poupulates the BDCDATA table for the dynpro.
*----------------------------------------------------------------------*
FORM bdc_dynpro USING value(uv_program) TYPE bdcdata-program
                      value(uv_dynpro)  TYPE bdcdata-dynpro
             CHANGING ct_bdcdata        TYPE tt_bdcdata.

  DATA : ls_bdcdata TYPE bdcdata.    "BDC STRUCTURE

  CLEAR ls_bdcdata.
  ls_bdcdata-program  = uv_program.
  ls_bdcdata-dynpro   = uv_dynpro.
  ls_bdcdata-dynbegin = 'X'.
  APPEND ls_bdcdata TO ct_bdcdata.

ENDFORM.                    " bdc_dynpro
*&---------------------------------------------------------------------*
*&      Form  bdc_field
*&---------------------------------------------------------------------*
*  The form populates the table BDCDATA for the screen fields and value
*----------------------------------------------------------------------*
FORM bdc_field USING value(uv_fnam) TYPE bdcdata-fnam
                     value(uv_fval) TYPE c
            CHANGING ct_bdcdata     TYPE tt_bdcdata.

  DATA : ls_bdcdata TYPE bdcdata.  "BDC STRUCTURE
  CLEAR ls_bdcdata.
  IF NOT uv_fval IS INITIAL.
    ls_bdcdata-fnam = uv_fnam.
    ls_bdcdata-fval = uv_fval.
    APPEND ls_bdcdata TO ct_bdcdata.
  ENDIF.
ENDFORM.

Rewards if hepfull

Regards,

Pavan

Read only

Former Member
0 Likes
612

Hi,

This is the bdc to update the XK01 transaction code (Vendor Creation).

Here we will use table controls for bankings. Here Iam sending the coding and text files.

Coding

REPORT zprataptable2

NO STANDARD PAGE HEADING LINE-SIZE 255.

DATA : BEGIN OF itab OCCURS 0,

i1 TYPE i,

lifnr LIKE rf02k-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,

akont LIKE lfb1-akont,

fdgrv LIKE lfb1-fdgrv,

waers LIKE lfm1-waers,

END OF itab.

DATA : BEGIN OF jtab OCCURS 0,

j1 TYPE i,

banks LIKE lfbk-banks,

bankl LIKE lfbk-bankl,

bankn LIKE lfbk-bankn,

END OF jtab.

DATA : cnt(4) TYPE n.

DATA : fdt(20) TYPE c.

DATA : c TYPE i.

INCLUDE bdcrecx1.

START-OF-SELECTION.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

filename = 'C:\first1.txt'

filetype = 'DAT'

TABLES

data_tab = itab.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

filename = 'C:\second.txt'

filetype = 'DAT'

TABLES

data_tab = jtab.

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'

itab-bukrs.

PERFORM bdc_field USING 'RF02K-EKORG'

itab-ekorg.

PERFORM bdc_field USING 'RF02K-KTOKK'

itab-ktokk.

PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFA1-LAND1'.

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_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-BANKN(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTR'.

cnt = 0.

LOOP AT jtab WHERE j1 = itab-i1.

cnt = cnt + 1.

CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.

PERFORM bdc_field USING fdt jtab-banks.

CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.

PERFORM bdc_field USING fdt jtab-bankl.

CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.

PERFORM bdc_field USING fdt jtab-bankn.

IF cnt = 5.

cnt = 0.

PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFBK-BANKS(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=P+'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFBK-BANKN(02)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTR'.

ENDIF.

ENDLOOP.

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-FDGRV'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'LFB1-AKONT'

itab-akont.

PERFORM bdc_field USING 'LFB1-FDGRV'

itab-fdgrv.

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'.

PERFORM bdc_transaction USING 'XK01'.

ENDLOOP.

PERFORM close_group.

Intial screen data file.

1 63190 0001 0001 0001 mr bal188 b in 31000 a1 inr

2 63191 0001 0001 0001 mr bal189 b in 31000 a1 inr

Table control Data:

1 in sb 11000

1 in sb 12000

1 in sb 13000

1 in sb 14000

1 in sb 15000

1 in sb 16000

1 in sb 17000

1 in sb 18000

1 in sb 19000

1 in sb 20000

1 in sb 21000

1 in sb 22000

2 in sb 21000

2 in sb 22000

Just follow the steps which I have sent, if you have any doubts after that, you are always welcome to post your query.

Regards,

Kumar.

Read only

Former Member
0 Likes
612