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

Regarding BDC

Former Member
0 Likes
377

Hi all,

I want to know that how we can upload the line items in bdc?

can you give me one example with coding.

so that i can......

thanks in advance.

madan.k

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
347

Hi Madan,

You can refer the below links,

Regards,

Hema.

    • Reward points if it is useful.

2 REPLIES 2
Read only

Former Member
0 Likes
348

Hi Madan,

You can refer the below links,

Regards,

Hema.

    • Reward points if it is useful.

Read only

Former Member
0 Likes
347

Check the following code it may help u.

REPORT z_nvk_bdc_tbl NO STANDARD PAGE HEADING LINE-SIZE 255.

*INCLUDE bdcrecx1.

      • DO NOT CHANGE - the generated data section - DO NOT CHANGE ***

*

  • If it is nessesary to change the data section use the rules:

  • 1.) Each definition of a field exists of two lines

  • 2.) The first line shows exactly the comment

  • '* data element: ' followed with the data element

  • which describes the field.

  • If you don't have a data element use the

  • comment without a data element name

  • 3.) The second line shows the fieldname of the

  • structure, the fieldname must consist of

  • a fieldname and optional the character '_' and

  • three numbers and the field length in brackets

  • 4.) Each field must be type C.

*

      • Generated data section with specific formatting - DO NOT CHANGE ***

DATA: BEGIN OF record OCCURS 0,

  • data element: LIF16

lifnr_001(016),

  • data element: BUKRS

bukrs_002(004),

  • data element: KTOKK

ktokk_003(004),

  • data element: ANRED

anred_004(015),

  • data element: NAME1_GP

name1_005(035),

  • data element: SORTL

sortl_006(010),

  • data element: LAND1_GP

land1_007(003),

  • data element: KUNNR

kunnr_008(010),

  • data element: BANKS

banks_01_009(003),

  • data element: BANKK

bankl_01_010(015),

  • data element: BANKN

bankn_01_011(018),

  • data element: AKONT

akont_012(010),

  • data element: FDGRV

fdgrv_013(010),

END OF record.

DATA: IT_BDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

DATA: V_BANKS(14), V_BANKL(14), V_BANKN(14), V_NUMC(2) TYPE N,

V_TABIX LIKE SY-TABIX.

      • End generated data section ***

START-OF-SELECTION.

perform upload_data.

PERFORM open_group.

SORT RECORD BY LIFNR_001.

LOOP AT RECORD.

V_TABIX = SY-TABIX.

AT NEW KUNNR_008.

REFRESH IT_BDC.

CLEAR V_NUMC.

PERFORM bdc_dynpro USING 'SAPMF02K' '0105'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF02K-KTOKK'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF02K-LIFNR'

record-lifnr_001.

PERFORM bdc_field USING 'RF02K-BUKRS'

record-bukrs_002.

PERFORM bdc_field USING 'RF02K-KTOKK'

record-ktokk_003.

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'

record-anred_004.

PERFORM bdc_field USING 'LFA1-NAME1'

record-name1_005.

PERFORM bdc_field USING 'LFA1-SORTL'

record-sortl_006.

PERFORM bdc_field USING 'LFA1-LAND1'

record-land1_007.

PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFA1-KUNNR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'LFA1-KUNNR'

record-kunnr_008.

PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFBK-BANKN(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTR'.

ENDAT.

V_NUMC = V_NUMC + 1.

CONCATENATE 'LFBK-BANKS(' V_NUMC ')' INTO V_BANKS.

CONCATENATE 'LFBK-BANKL(' V_NUMC ')' INTO V_BANKL.

CONCATENATE 'LFBK-BANKN(' V_NUMC ')' INTO V_BANKN.

PERFORM bdc_field USING V_BANKS

record-banks_01_009.

PERFORM bdc_field USING V_BANKL

record-bankl_01_010.

PERFORM bdc_field USING V_BANKN

record-bankn_01_011.

AT END OF KUNNR_008.

READ TABLE RECORD INDEX V_TABIX.

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'

'=UPDA'.

PERFORM bdc_field USING 'LFB1-AKONT'

record-akont_012.

PERFORM bdc_field USING 'LFB1-FDGRV'

record-fdgrv_013.

PERFORM bdc_transaction USING 'FK01'.

ENDAT.

ENDLOOP.

PERFORM close_group.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR IT_BDC.

IT_BDC-PROGRAM = PROGRAM.

IT_BDC-DYNPRO = DYNPRO.

IT_BDC-DYNBEGIN = 'X'.

APPEND IT_BDC.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> ' '.

CLEAR IT_BDC.

IT_BDC-FNAM = FNAM.

IT_BDC-FVAL = FVAL.

APPEND IT_BDC.

ENDIF.

ENDFORM.

&----


*& Form upload_data

&----


form upload_data .

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

  • CODEPAGE = ' '

FILENAME = 'c:\bank.txt'

FILETYPE = 'ASC'

  • HEADLEN = ' '

  • LINE_EXIT = ' '

  • TRUNCLEN = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • DAT_D_FORMAT = ' '

  • IMPORTING

  • FILELENGTH =

TABLES

data_tab = record

  • 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

  • NO_AUTHORITY = 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. " upload_data

&----


*& Form open_group

&----


form open_group .

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = 'Z_NVK_TBL'

  • 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. " open_group

&----


*& Form close_group

&----


form close_group .

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_group

&----


*& Form bdc_transaction

&----


  • text

----


  • -->P_0209 text

----


form bdc_transaction using T_CODE.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = T_CODE

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

dynprotab = IT_BDC

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

endform. " bdc_transaction

Regards