Skip to Content
0
Former Member
Jan 13, 2012 at 09:21 PM

BDC for multiple accounts

44 Views

Hi

I have written the following BDC code to update the vendor bank number:

I have written the following code so far:

SELECT lifnr bankn FROM lfbk
                     INTO TABLE it_lfbk[]
                     WHERE lifnr IN s_lifnr.
 
loop at i_lfbk into wa_lfbk.
 
perform bdc_dynpro      using 'SAPMF02K' '0106'.
perform bdc_field       using 'BDC_CURSOR'
                              'RF02K-D0130'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'RF02K-LIFNR'
                              wa_lfbk-lifnr.
perform bdc_field       using 'RF02K-BUKRS'
                              '001'.
perform bdc_field       using 'RF02K-D0130'
                              'X'.
perform bdc_dynpro      using 'SAPMF02K' '0130'.
perform bdc_field       using 'BDC_CURSOR'
                              'LFBK-BANKN(01)'.
perform bdc_field       using 'BDC_OKCODE'
                              '=UPDA'.
perform bdc_field       using 'LFBK-BANKN(01)'
                              wa_lfbk-bankn'.
endloop.
call transaction using 'FK02' USING it_bdcdata MODE 'N' UPDATE 'S'.
       CLEAR it_bdcdata.
 
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
  CLEAR wa_BDCDATA.
  wa_BDCDATA-PROGRAM  = PROGRAM.
  wa_BDCDATA-DYNPRO   = DYNPRO.
  wa_BDCDATA-DYNBEGIN = 'X'.
  APPEND wa_BDCDATA to it_bdcdata.
ENDFORM.
 
*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
 
    CLEAR wa_BDCDATA.
    wa_BDCDATA-FNAM = FNAM.
    wa_BDCDATA-FVAL = FVAL.
    APPEND wa_bdcdata to it_BDCDATA.
 
ENDFORM.

The program is working fine so far for the vendor with one bank account number... but now My issue is let's say if a vendor has a multiple bank records then how do I do this? this is my first BDC program so I am struggling a bit.