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

internal table in bdc

Former Member
0 Likes
745

I am new to the bdc .

i have gone to SHDB and created a new recording for the some T-code .

After that i have created a prog (transfer from recording ) .

i got some values in the file in my presenation server.

i got default code generated .

I have to declare the internal table of some time .

may i know of which type should i declare my internal table ??

My code ****************************************************************

report ZRAJESH_BDC

no standard page heading line-size 255.

include bdcrecx1.

start-of-selection.

perform open_group.

*******loop

perform bdc_dynpro using 'SAPMF02K' '0101'.

perform bdc_field using 'BDC_CURSOR'

'RF02K-D0110'.

perform bdc_field using 'RF02K-LIFNR'

'12345'.

perform bdc_field using 'RF02K-D0110'

'X'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPMF02K' '0110'.

perform bdc_field using 'BDC_CURSOR'

'LFA1-TELF2'.

perform bdc_field using 'BDC_OKCODE'

'=UPDA'.

perform bdc_field using 'LFA1-ANRED'

'Mr.'.

perform bdc_field using 'LFA1-NAME1'

'RAJESH'.

perform bdc_field using 'LFA1-SORTL'

'Q'.

perform bdc_field using 'LFA1-LAND1'

'US'.

perform bdc_field using 'LFA1-SPRAS'

'EN'.

perform bdc_field using 'LFA1-TELF2'

'9033558227'.

perform bdc_transaction using 'XK02'.

perform close_group.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> NODATA.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDIF.

ENDFORM.

I am new to the bdc .

i have gone to SHDB and created a new recording for the some T-code .

After that i have created a prog (transfer from recording ) .

i got some values in the file in my presenation server.

i got default code generated .

I have to declare the internal table of some time .

may i know of which type should i declare my internal table ??

My code ****************************************************************

report ZRAJESH_BDC

no standard page heading line-size 255.

include bdcrecx1.

start-of-selection.

perform open_group.

*******loop

perform bdc_dynpro using 'SAPMF02K' '0101'.

perform bdc_field using 'BDC_CURSOR'

'RF02K-D0110'.

perform bdc_field using 'RF02K-LIFNR'

'12345'.

perform bdc_field using 'RF02K-D0110'

'X'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_dynpro using 'SAPMF02K' '0110'.

perform bdc_field using 'BDC_CURSOR'

'LFA1-TELF2'.

perform bdc_field using 'BDC_OKCODE'

'=UPDA'.

perform bdc_field using 'LFA1-ANRED'

'Mr.'.

perform bdc_field using 'LFA1-NAME1'

'RAJESH'.

perform bdc_field using 'LFA1-SORTL'

'Q'.

perform bdc_field using 'LFA1-LAND1'

'US'.

perform bdc_field using 'LFA1-SPRAS'

'EN'.

perform bdc_field using 'LFA1-TELF2'

'9033558227'.

perform bdc_transaction using 'XK02'.

perform close_group.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> NODATA.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDIF.

ENDFORM.

3 REPLIES 3
Read only

Former Member
0 Likes
675

Hi,

I have one simple BDC Program .

Just you have to do recording by using SHDB Transaction Code.

and Copy that program and do some modification by following my Program and upload data to that perticular transaction.

before that u have to prepare data in Text file by using TAB Space .

Below is the Code(I have used MM01 transaction)

******************************************************************************************8

report ZBDCTEST no standard page heading line-size 255.

***DECLARING TABLES.

TABLES : MARA.

**DECLARING INTERNAL TABLE.

DATA : BEGIN OF ITAB OCCURS 0,

MATNR LIKE MARA-MATNR,

MEINS LIKE MARA-MEINS,

MATKL LIKE MARA-MATKL,

Maktx like makt-maktx,

SPART LIKE MARA-SPART,

END OF ITAB.

DATA BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

CODEPAGE = 'IBM'

FILENAME = 'C:\TEST.TXT'

FILETYPE = 'DAT'

  • HEADLEN = ' '

  • LINE_EXIT = ' '

  • TRUNCLEN = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • DAT_D_FORMAT = ' '

  • IMPORTING

  • FILELENGTH =

TABLES

DATA_TAB = ITAB

  • 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

  • OTHERS = 10

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*

*include bdcrecx1.

*

*start-of-selection.

*

*perform open_group.

LOOP AT ITAB.

REFRESH BDCDATA.

perform bdc_dynpro using 'SAPLMGMM' '0060'.

perform bdc_field using 'BDC_CURSOR'

'RMMG1_REF-MATNR'.

perform bdc_field using 'BDC_OKCODE'

'=AUSW'.

perform bdc_field using 'RMMG1-MATNR'

ITAB-MATNR.

perform bdc_field using 'RMMG1-MBRSH'

'M'.

perform bdc_field using 'RMMG1-MTART'

'FOOD'.

perform bdc_dynpro using 'SAPLMGMM' '0070'.

perform bdc_field using 'BDC_CURSOR'

'MSICHTAUSW-DYTXT(02)'.

perform bdc_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc_field using 'MSICHTAUSW-KZSEL(01)'

'X'.

perform bdc_field using 'MSICHTAUSW-KZSEL(02)'

'X'.

perform bdc_dynpro using 'SAPLMGMM' '4000'.

perform bdc_field using 'BDC_OKCODE'

'=SP02'.

perform bdc_field using 'MAKT-MAKTX'

'T1003'.

perform bdc_field using 'BDC_CURSOR'

'MARA-MATKL'.

perform bdc_field using 'MARA-MEINS'

'BOX'.

perform bdc_field using 'MARA-MATKL'

ITAB-MATKL.

perform bdc_field using 'MARA-SPART'

ITAB-SPART.

perform bdc_field using 'MARA-MTPOS_MARA'

'NORM'.

perform bdc_dynpro using 'SAPLMGMM' '4004'.

perform bdc_field using 'BDC_OKCODE'

'=BU'.

perform bdc_field using 'BDC_CURSOR'

'MAKT-MAKTX'.

perform bdc_field using 'MAKT-MAKTX'

'T1003'.

*perform bdc_transaction using 'MM01'.

*

*perform close_group.

CALL TRANSACTION 'MM01' USING BDCDATA MODE 'A'. "A= all screens ,N= no screens

ENDLOOP.

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM.

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

IF FVAL <> SPACE.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDIF.

ENDFORM.

**************************************************************************************************

if you want further help let me know

Regards,

Jak

Read only

Former Member
0 Likes
675

declare

data: bdcdata like bdcdata occurs 0 with header line.

data: bdcmsgcoll like bdcmsgcoll occurs 0 with header line.

Read only

Former Member
0 Likes
675

Hi

TYPES : BEGIN OF st_vendor,

ktokk TYPE rf02k-ktokk, "account group

anred TYPE lfa1-anred, "title

name1 TYPE lfa1-name1, "vendor name

sortl TYPE lfa1-sortl, "search term

pstlz TYPE lfa1-pstlz, "postal code

land1 TYPE lfa1-land1, "country

banks TYPE lfbk-banks,

bankl TYPE lfbk-bankl, "bank key

bankn TYPE lfbk-bankn, "account number

END OF st_vendor.

TYPES : BEGIN OF st_success,

lifnr TYPE lfa1-lifnr, "vendor number

name TYPE lfa1-name1, "vendor name

END OF st_success.

TYPES: BEGIN OF st_error,

linno TYPE i, "line number

message TYPE string, "error message

END OF st_error.

----


  • INTERNAL TABLE DECLARATIONS

  • WORK AREA DECLARATIONS

----


DATA : it_vendor TYPE STANDARD TABLE OF st_vendor,

wa_vendor TYPE st_vendor,

it_success TYPE STANDARD TABLE OF st_success,

wa_success TYPE st_success,

it_error TYPE STANDARD TABLE OF st_error,

wa_error TYPE st_error,

it_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE,

it_message LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

in gui upload you need to pass this internal table (it_vendor) in tables.