cancel
Showing results for 
Search instead for 
Did you mean: 

BDC

Former Member
0 Kudos

If am having 100 records in flat file using bdc i want to insert these records into VBAK table how it is?

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

hi,

pls refer to this code,

in this am inserting few records in flat file to different tables.

REPORT *********.

  • internal table to hold data

DATA: BEGIN OF t_file OCCURS 0,

lifnr LIKE rf02k-lifnr,

bukrs LIKE rf02k-bukrs,

ktokk LIKE rf02k-ktokk,

name1 LIKE lfa1-name1,

sortl LIKE lfa1-sortl,

land1 LIKE lfa1-land1,

akont LIKE lfb1-akont,

zterm LIKE lfb1-zterm,

reprf LIKE lfb1-reprf,

END OF t_file.

  • internal of type bdcdata

DATA: BEGIN OF t_bdcdata OCCURS 0.

INCLUDE STRUCTURE bdcdata.

DATA: END OF t_bdcdata.

  • log file

DATA: BEGIN OF t_msgtab OCCURS 0.

INCLUDE STRUCTURE bdcmsgcoll.

DATA: END OF t_msgtab.

  • uploading the file

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename =

'C:\Documents and Settings\DakshnaNagaratnam_S\Desktop\xk01.txt'

filetype = 'ASC'

has_field_separator = 'X'

TABLES

data_tab = t_file

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.

  • fill t_bdcdata

LOOP AT t_file.

REFRESH t_bdcdata.

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'

t_file-lifnr.

PERFORM bdc_field USING 'RF02K-BUKRS'

t_file-bukrs.

PERFORM bdc_field USING 'RF02K-KTOKK'

t_file-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-NAME1'

t_file-name1.

PERFORM bdc_field USING 'LFA1-SORTL'

t_file-sortl.

PERFORM bdc_field USING 'LFA1-LAND1'

t_file-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-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_field USING 'LFB1-AKONT'

t_file-akont.

PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-REPRF'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'LFB1-ZTERM'

t_file-zterm.

PERFORM bdc_field USING 'LFB1-REPRF'

t_file-reprf.

PERFORM bdc_dynpro USING 'SAPMF02K' '0610'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF02K-LIFNR'.

PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=YES'.

PERFORM bdc_transaction USING 'XK01'.

ENDLOOP.

  • to display message

PERFORM display_msg.

&----


*& Form bdc_dynpro

&----


FORM bdc_dynpro USING program

dynpro.

t_bdcdata-program = program.

t_bdcdata-dynpro = dynpro.

t_bdcdata-dynbegin = 'X'.

APPEND t_bdcdata.

CLEAR t_bdcdata.

ENDFORM. " bdc_dynpro

&----


*& Form bdc_field

&----


FORM bdc_field USING fnam

fval.

t_bdcdata-fnam = fnam.

t_bdcdata-fval = fval.

APPEND t_bdcdata.

CLEAR t_bdcdata.

ENDFORM. " bdc_field

&----


*& Form bdc_transaction

&----


FORM bdc_transaction USING trans.

CALL TRANSACTION trans

USING t_bdcdata

MODE 'N'

MESSAGES INTO t_msgtab.

ENDFORM. " bdc_transaction

&----


*& Form display_msg

&----


FORM display_msg .

LOOP AT t_msgtab.

WRITE: / t_msgtab-msgtyp,

t_msgtab-msgv1.

ENDLOOP.

ENDFORM. " display_msg

regards,

dinesh.