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

session method in BDC

Former Member
0 Likes
553

Hi freinds,

Please send me code of any session method of bdc.

4 REPLIES 4
Read only

Former Member
0 Likes
526

Hi,

&----


*& Report ZPROG65_11 *

*& *

&----


REPORT zprog65_11 .

TABLES : lfa1.

TYPES : BEGIN OF ven ,

lifnr LIKE rf02k-lifnr,

bukrs LIKE rf02k-bukrs ,

ekorg LIKE rf02k-ekorg,

ktokk LIKE rf02k-ktokk,

name1 LIKE lfa1-name1,

sortl LIKE lfa1-sortl,

land1 LIKE lfa1-land1,

spars LIKE lfa1-spras,

akont LIKE lfb1-akont,

fdgrv LIKE lfb1-fdgrv,

waers LIKE lfm1-waers,

anred LIKE lfa1-anred ,

END OF ven .

DATA : t_ven TYPE TABLE OF ven WITH HEADER LINE ,

t_bdc LIKE TABLE OF bdcdata WITH HEADER LINE .

DATA : v_file TYPE string ,

v_temp TYPE i ,

v_lifnr(10) TYPE n,

v_hdate LIKE sy-datum.

DATA : c_tcode LIKE sy-tcode ."value 'XK01'.

PARAMETERS : p_file(30) DEFAULT 'c:\vendor1_11.txt',

p_group LIKE apqi-groupid.

START-OF-SELECTION .

MOVE p_file TO v_file .

PERFORM file_upload TABLES t_ven USING v_file .

v_hdate = sy-datum - 1.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

client = sy-mandt

  • DEST = FILLER8

group = p_group

holddate = v_hdate

keep = 'X'

user = sy-uname

*

  • IMPORTING

  • QID =

EXCEPTIONS

client_invalid = 1

destination_invalid = 2

group_invalid = 3

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.

LOOP AT t_ven .

clear lfa1.

v_temp = 0.

MOVE t_ven-lifnr TO v_lifnr.

SELECT SINGLE * FROM lfa1 INTO lfa1 WHERE lifnr =

v_lifnr.

IF sy-subrc = 0.

WRITE 😕 'found'.

v_temp = 1.

else.

write: / 'not found'.

ENDIF.

IF v_temp = 0.

c_tcode = 'xk01'.

PERFORM fill_ddc_table .

ELSEIF v_temp = 1.

c_tcode = 'xk02'.

PERFORM fill_bdc_table .

ENDIF.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

tcode = c_tcode

TABLES

dynprotab = t_bdc

EXCEPTIONS

internal_error = 1

OTHERS = 7.

REFRESH t_bdc .

ENDLOOP .

CALL FUNCTION 'BDC_CLOSE_GROUP'

EXCEPTIONS

not_open = 1

queue_error = 2

OTHERS = 3.

&----


*& Form file_upload

&----


  • text

----


  • -->P_T_VEN text

  • -->P_V_FILE text

----


FORM file_upload TABLES p_tven STRUCTURE t_ven

USING p_vfile.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = p_vfile

filetype = 'ASC'

has_field_separator = 'X'

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

data_tab = p_tven

EXCEPTIONS

file_open_error = 1

file_read_error = 2

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.

ENDFORM. " file_upload

&----


*& Form FILL_DDC_TABLE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fill_ddc_table .

  • SCREN 100

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0100'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'RF02K-LIFNR'.

t_bdc-fval = t_ven-lifnr .

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'RF02K-BUKRS'.

t_bdc-fval = t_ven-bukrs.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'RF02K-EKORG'.

t_bdc-fval = t_ven-ekorg.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'RF02K-KTOKK'.

t_bdc-fval = t_ven-ktokk.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 110

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0110'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFA1-NAME1'.

t_bdc-fval = t_ven-name1 .

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFA1-SORTL'.

t_bdc-fval = t_ven-sortl.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFA1-LAND1'.

t_bdc-fval = t_ven-land1.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFA1-SPRAS'.

t_bdc-fval = t_ven-spars.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 120

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0120'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 130

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0130'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '=ENTR'.

APPEND t_bdc. CLEAR t_bdc.

  • 210

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0210'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFB1-AKONT'.

t_bdc-fval = t_ven-akont .

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFB1-FDGRV'.

t_bdc-fval = t_ven-fdgrv.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 215

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0215'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 220

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0220'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 310

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0310'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFM1-WAERS'.

t_bdc-fval = t_ven-waers .

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 320

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0320'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '=UPDA'.

APPEND t_bdc. CLEAR t_bdc.

ENDFORM. "FILL_DDC_TABLE

" FILL_DDC_TABLE

&----


*& Form FILL_BDC_TABLE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fill_bdc_table .

  • SCREN 101

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0101'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'RF02K-LIFNR'.

t_bdc-fval = t_ven-lifnr .

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'RF02K-BUKRS'.

t_bdc-fval = t_ven-bukrs.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'RF02K-EKORG'.

t_bdc-fval = t_ven-ekorg.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 110

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0110'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'lfa1-anred'.

t_bdc-fval = t_ven-anred .

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFA1-NAME1'.

t_bdc-fval = t_ven-name1 .

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFA1-SORTL'.

t_bdc-fval = t_ven-sortl.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFA1-LAND1'.

t_bdc-fval = t_ven-land1.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'LFA1-SPRAS'.

t_bdc-fval = t_ven-spars.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '/00'.

APPEND t_bdc. CLEAR t_bdc.

  • 300

t_bdc-program = 'SAPMF02K'.

t_bdc-dynpro = '0300'.

t_bdc-dynbegin = 'X'.

APPEND t_bdc. CLEAR t_bdc.

t_bdc-fnam = 'BDC_OKCODE'.

t_bdc-fval = '=YES'.

APPEND t_bdc. CLEAR t_bdc.

ENDFORM. " FILL_BDC_TABLE

Regards

Read only

Former Member
0 Likes
526

Hi,

REPORT ztest_278

NO STANDARD PAGE HEADING LINE-SIZE 255.

INCLUDE bdcrecx1.

START-OF-SELECTION.

PERFORM open_group.

PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RSRD1-TBMA_VAL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=SHOW'.

PERFORM bdc_field USING 'RSRD1-TBMA'

'X'.

PERFORM bdc_field USING 'RSRD1-TBMA_VAL'

'LFBK'.

PERFORM bdc_field USING 'RSRD1-TYMA_VAL'

'/SMB/'.

PERFORM bdc_field USING 'RSRD1-SHMA_VAL'

'Z_TEST278'.

PERFORM bdc_dynpro USING 'SAPLSD41' '2200'.

PERFORM bdc_field USING 'BDC_CURSOR'

'DD02D-TABCLTEXT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=MAIN'.

PERFORM bdc_dynpro USING 'SAPLSD41' '2200'.

PERFORM bdc_field USING 'BDC_CURSOR'

'DD02D-TABCLTEXT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=F4V'.

PERFORM bdc_dynpro USING 'SAPLSD41' '2200'.

PERFORM bdc_field USING 'BDC_CURSOR'

'DD02D-TABCLTEXT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=REFF'.

PERFORM bdc_dynpro USING 'SAPLSD41' '2200'.

PERFORM bdc_field USING 'BDC_CURSOR'

'DD02D-TABCLTEXT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=MAIN'.

PERFORM bdc_dynpro USING 'SAPLSD41' '2200'.

PERFORM bdc_field USING 'BDC_CURSOR'

'DD02D-TABCLTEXT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=WB_BACK'.

PERFORM bdc_dynpro USING 'SAPMSRD0' '0102'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RSRD1-TBMA_VAL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BACK'.

PERFORM bdc_field USING 'RSRD1-TBMA'

'X'.

PERFORM bdc_field USING 'RSRD1-TBMA_VAL'

'LFBK'.

PERFORM bdc_field USING 'RSRD1-TYMA_VAL'

'/SMB/'.

PERFORM bdc_field USING 'RSRD1-SHMA_VAL'

'Z_TEST278'.

PERFORM bdc_transaction USING 'SE11'.

PERFORM close_group.

Please reward if its helpful.

regards,

Abhishek

Read only

Former Member
0 Likes
526

Hi,

REPORT YHUS40 .

---Declaration of internal table Fields-

data: begin of itab occurs 0,

LIFNR like RF02K-LIFNR,

KTOKK like RF02K-KTOKK,

NAME1 like LFA1-NAME1,

SORTL like LFA1-SORTL,

LAND1 LIKE LFA1-LAND1,

SPRAS(2) type c ,

END OF ITAB.

*----Declaration of Itab

DATA: I_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

----Uploading**...(Pattern).

CALL FUNCTION 'UPLOAD'

EXPORTING

FILENAME = 'C:\WINDOWS\DESKTOP\NIRMALA.TXT'

FILETYPE = 'ASC'

TABLES

data_tab = ITAB.

*---Call function pattren(opening).

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

GROUP = 'YHUS40'

  • HOLDDATE = SY-DATUM

KEEP = ' '

USER = SY-UNAME.

LOOP AT ITAB.

  • Filling the BDC -DATA.

perform fill_bdc_Data.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'XK01'

TABLES

dynprotab = I_BDCDATA.

REFRESH I_BDCDATA.

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

&----


*& Form fill_bdc_Data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form fill_bdc_Data.

*---SCREEN 1

i_bdcdata-program = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0100'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

i_bdcdata-FNAM = 'RF02K-LIFNR'.

I_BDCDATA-FVAL = itab-lifnr.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

i_bdcdata-FNAM = 'RF02K-KTOKK'.

I_BDCDATA-FVAL = itab-KTOKK.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

i_bdcdata-fnam = 'BDC_OKCODE' .

i_bdcdata-fval = '/00'.

append i_bdcdata.

clear i_bdcdata.

*--Second Screen

i_bdcdata-program = 'SAPMF02K'.

I_BDCDATA-DYNPRO = '0110'.

I_BDCDATA-DYNBEGIN = 'X'.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

i_bdcdata-FNAM = 'LFA1-NAME1'.

I_BDCDATA-FVAL = itab-name1.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

i_bdcdata-FNAM = 'LFA1-SORTL'.

I_BDCDATA-FVAL = itab-SORTL.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

i_bdcdata-FNAM = 'LFA1-LAND1'.

I_BDCDATA-FVAL = itab-LAND1.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

i_bdcdata-FNAM = 'LFA1-SPRAS'.

I_BDCDATA-FVAL = itab-SPRAS.

APPEND I_BDCDATA.

CLEAR I_BDCDATA.

i_bdcdata-fnam = 'BDC_OKCODE' .

i_bdcdata-fval = '/00'.

append i_bdcdata.

clear i_bdcdata.

endform. " fill_bdc_Data

Read only

Former Member
0 Likes
526

Hi,

REPORT ZSATBDC1_1 NO STANDARD PAGE HEADING MESSAGE-ID ZT.

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

Declaration of internal tables

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

internal table for selecting data from flat file

DATA : BEGIN OF IT_DATA OCCURS 0,

MBRSH, " Industry sector

MTART(4), " Material type

KZSEL, " Checkbox

MAKTX(40), " Material description

MEINS(3), " Base unit of measure

MATKL(9), " Material group

BISMT(18), " Old material number

END OF IT_DATA.

internal table for bdcdata

DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

internal table to handle messages

DATA : IT_MESSAGES LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

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

Variables & Flag declaration

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

variables declaration

DATA : V_MESG(50).

flag declaration

DATA : FG_BDC,

FG_FLAG1 TYPE I.

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

selection screen

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

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

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

parameter

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

PARAMETERS : P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK1.

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

initialization

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

INITIALIZATION.

peform to initialize parameter

PERFORM INIT_PARM.

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

start of selection

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

start-of-selection.

perform to upload it_data

PERFORM UP_LOAD_IT_DATA.

perform transfer data

PERFORM TRANSFER_DATA.

end of selection

END-OF-SELECTION.

&----


*& Form INIT_PARM

&----


Initializing parameter

-


FORM INIT_PARM.

P_FILE = 'C:\'.

ENDFORM. " INIT_PARM

&----


*& Form UP_LOAD_IT_DATA

&----


Transfering data from file to internal table

-


FORM UP_LOAD_IT_DATA.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

FILENAME = P_FILE

FILETYPE = 'ASC'

TABLES

DATA_TAB = IT_DATA

EXCEPTIONS

CONVERSION_ERROR = 1

FILE_OPEN_ERROR = 2

FILE_READ_ERROR = 3

INVALID_TABLE_WIDTH = 4

INVALID_TYPE = 5

NO_BATCH = 6

UNKNOWN_ERROR = 7

GUI_REFUSE_FILETRANSFER = 8

OTHERS = 9.

IF SY-SUBRC = 2 .

FG_FLAG1 = 1.

MESSAGE I001.

ENDIF.

ENDFORM. " UP_LOAD_IT_DATA

&----


*& Form TRANSFER_DATA

&----


Processing the data

-


FORM TRANSFER_DATA.

FG_BDC = 'N'.

LOOP AT IT_DATA.

perform to fill it_bdcdata.

PERFORM FILL_IT_BDCDATA.

CALL TRANSACTION 'MM01' USING IT_BDCDATA MODE 'N' UPDATE 'S'

MESSAGES INTO IT_MESSAGES.

IF SY-SUBRC 0.

FG_FLAG1 = 1.

if error occurs in transaction mode run bdc session for that data

PERFORM BDC_PROCESS.

ENDIF.

Handles error messages

PERFORM ERROR_MESSAGES.

CLEAR : IT_BDCDATA,IT_DATA,IT_MESSAGES.

REFRESH : IT_BDCDATA,IT_MESSAGES.

ENDLOOP.

IF FG_FLAG1 = 0.

MESSAGE I003.

ENDIF.

IF FG_BDC = 'O'.

close bdc if it is open

PERFORM CLOSE_BDC.

ENDIF.

ENDFORM. " TRANSFER_DATA

&----


*& Form FILL_IT_BDCDATA

&----


Filling Bdcdata structure with it_data

Some fields have been commented for future updations

-


FORM FILL_IT_BDCDATA.

PERFORM BDC_DYNPRO USING : 'SAPLMGMM' '0060'.

PERFORM BDC_FIELD USING : 'BDC_OKCODE' '/00',

: 'BDC_CURSOR' 'RMMG1_REF-MATNR',

: 'RMMG1-MBRSH' IT_DATA-MBRSH,

: 'RMMG1-MTART' IT_DATA-MTART.

PERFORM BDC_DYNPRO USING : 'SAPLMGMM' '0070'.

PERFORM BDC_FIELD USING : 'BDC_OKCODE' '=RESA'.

PERFORM BDC_DYNPRO USING : 'SAPLMGMM' '0070'.

PERFORM BDC_FIELD USING : 'BDC_OKCODE' '=ENTR',

: 'MSICHTAUSW-KZSEL(01)' IT_DATA-KZSEL.

PERFORM BDC_DYNPRO USING : 'SAPLMGMM' '4000'.

PERFORM BDC_FIELD USING : 'BDC_OKCODE' '=BU',

: 'BDC_SUBSCR' 'SAPLMGMM' & ' 2000TABFRA1',

: 'BDC_SUBSCR' 'SAPLMGD1' & ' 1002SUB1',

: 'BDC_CURSOR' 'MAKT-MAKTX',

: 'MAKT-MAKTX' IT_DATA-MAKTX,

: 'BDC_SUBSCR' 'SAPLMGD1' & ' 2001SUB2',

: 'MARA-MEINS' IT_DATA-MEINS,

: 'MARA-MATKL' IT_DATA-MATKL,

: 'MARA-BISMT' IT_DATA-BISMT,

: 'BDC_OKCODE' '=BU'.

*perform bdc_field using 'MARA-EXTWG' ''.

*perform bdc_field using 'MARA-LABOR' ''.

*perform bdc_field using 'MARA-KOSCH' ''.

*perform bdc_field using 'MARA-MSTAE' ''.

*perform bdc_field using 'MARA-MSTDE' ''.

*perform bdc_field using 'BDC_SUBSCR' 'SAPLMGD1' & ' 2561SUB3'.

*perform bdc_field using 'MARA-BEGRU' ''.

*perform bdc_field using 'BDC_SUBSCR' 'SAPLMGD1' & ' 2007SUB4'.

*perform bdc_field using 'MARA-NTGEW' ''.

*perform bdc_field using 'MARA-BRGEW' ''.

*perform bdc_field using 'MARA-GEWEI' ''.

*perform bdc_field using 'MARA-VOLUM' ''.

*perform bdc_field using 'MARA-VOLEH' ''.

*PERFORM BDC_FIELD USING 'MARA-GROES' ''.

*perform bdc_field using 'MARA-EAN11' ''.

*perform bdc_field using 'MARA-NUMTP' ''.

*PERFORM BDC_FIELD USING 'BDC_SUBSCR' 'SAPLMGD1' & ' 2005SUB5'.

*perform bdc_field using 'BDC_SUBSCR' 'SAPLMGD1' & ' 2011SUB6'.

*perform bdc_field using 'MARA-MAGRV' ''.

ENDFORM. " FILL_IT_BDCDATA

&----


*& Form BDC_DYNPRO

&----


Filling the it_bdcdata table with program name & screen number

-


FORM BDC_DYNPRO USING PROGRAM LIKE BDCDATA-PROGRAM

DYNPRO LIKE BDCDATA-DYNPRO.

IT_BDCDATA-PROGRAM = PROGRAM.

IT_BDCDATA-DYNPRO = DYNPRO.

IT_BDCDATA-DYNBEGIN = 'X'.

APPEND IT_BDCDATA.

CLEAR IT_BDCDATA.

ENDFORM. " BDC_DYNPRO

&----


*& Form BDC_FIELD

&----


Filling it_bdcdata with field name and field value

-


FORM BDC_FIELD USING FNAM LIKE BDCDATA-FNAM

FVAL.

IT_BDCDATA-FNAM = FNAM.

IT_BDCDATA-FVAL = FVAL.

APPEND IT_BDCDATA.

CLEAR IT_BDCDATA.

ENDFORM. " BDC_FIELD

&----


*& Form ERROR_MESSAGES

&----


Displaying error messages

-


FORM ERROR_MESSAGES.

CALL FUNCTION 'FORMAT_MESSAGE'

EXPORTING

ID = SY-MSGID

LANG = '-D'

IMPORTING

MSG = V_MESG

EXCEPTIONS

NOT_FOUND = 1

OTHERS = 2.

LOOP AT IT_MESSAGES WHERE MSGTYP = 'E'.

WRITE : / 'Message :'(I06) ,V_MESG.

CLEAR IT_MESSAGES.

ENDLOOP.

ENDFORM. " ERROR_MESSAGES

&----


*& Form BDC_PROCESS

&----


Open bdc session if call transaction fails

-


FORM BDC_PROCESS.

IF FG_BDC = 'N'.

open bdc session

PERFORM OPEN_BDC.

FG_BDC = 'O'.

ENDIF.

IF FG_BDC = 'O'.

insert data into bdc session

PERFORM INSERT_BDC.

ENDIF.

ENDFORM. " BDC_PROCESS

&----


*& Form OPEN_BDC

&----


Calling function module to open bdc session

-


FORM OPEN_BDC.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = 'SMM1'

KEEP = 'X'

USER = SY-UNAME

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.

ENDFORM. " OPEN_BDC

&----


*& Form INSERT_BDC

&----


Insert it_bdcdata into bdc by calling function module bdc_insert

-


FORM INSERT_BDC.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'MM01'

TABLES

DYNPROTAB = IT_BDCDATA

EXCEPTIONS

INTERNAL_ERROR = 1

NOT_OPEN = 2

QUEUE_ERROR = 3

TCODE_INVALID = 4

PRINTING_INVALID = 5

POSTING_INVALID = 6

OTHERS = 7.

ENDFORM. " INSERT_BDC

&----


*& Form CLOSE_BDC

&----


Closing bdc session

-


FORM CLOSE_BDC.

CALL FUNCTION 'BDC_CLOSE_GROUP'

EXCEPTIONS

NOT_OPEN = 1

QUEUE_ERROR = 2

OTHERS = 3.

ENDFORM. " CLOSE_BDC

Thanks & Regards,

Keerthi vasan.M