2007 Sep 24 6:04 AM
2007 Sep 24 6:09 AM
For BDC:
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&;
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
Also check code for Two methods in BDC
&----
*& Report ZCALLTRANS_BDC_M *
*& *
&----
*& *
*& *
&----
REPORT zcalltrans_bdc_m .
*INCLUDE bdcrecx1.
DATA: BEGIN OF itab OCCURS 0 ,
msector(1) TYPE c,
munit(3) TYPE c,
mtype(4) TYPE c,
mdesc(40) TYPE c,
END OF itab.
DATA: BEGIN OF itab1 OCCURS 0 ,
msector(1) TYPE c,
munit(3) TYPE c,
mtype(4) TYPE c,
mdesc(40) TYPE c,
END OF itab1.
DATA: BEGIN OF erritab OCCURS 0 ,
msector(1) TYPE c,
munit(3) TYPE c,
mtype(4) TYPE c,
mdesc(40) TYPE c,
END OF erritab.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: msg(40) TYPE c.
PARAMETERS :fname LIKE rlgrap-filename,
ftype LIKE rlgrap-filetype.
DATA: fname1 TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR fname.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
FIELD_NAME = ' '
IMPORTING
file_name = fname.
START-OF-SELECTION.
MOVE fname TO fname1.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = fname1
filetype = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = itab
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.
OPEN DATASET 'text2.txt' FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT itab.
TRANSFER itab TO 'text2.txt'.
ENDLOOP.
CLOSE DATASET 'text2.txt'.
OPEN DATASET 'text2.txt' FOR INPUT IN TEXT MODE ENCODING DEFAULT.
DO.
READ DATASET 'text2.txt' INTO itab1.
IF sy-subrc EQ 0.
APPEND itab1.
CLEAR itab1.
ELSE.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET 'text2.txt'.
DELETE DATASET 'text2.txt'.
itab1[] = itab[].
LOOP AT itab1.
PERFORM open_group.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MTART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM bdc_field USING 'RMMG1-MBRSH'
itab1-msector.
PERFORM bdc_field USING 'RMMG1-MTART'
itab1-mtype.
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' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SP02'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab1-mdesc.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MEINS'.
PERFORM bdc_field USING 'MARA-MEINS'
itab1-munit.
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'
itab1-mdesc.
PERFORM close_group.
CALL TRANSACTION 'MM01' USING bdcdata MODE 'A' UPDATE 'S'.
IF sy-subrc NE 0 .
erritab-msector = itab1-msector.
erritab-munit = itab1-munit.
erritab-mtype = itab1-mtype.
erritab-mdesc = itab1-mdesc.
APPEND erritab.
CLEAR erritab.
ENDIF.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG = '-D'
NO = SY-MSGNO
V1 = SY-MSGV1
V2 = SY-MSGV2
V3 = SY-MSGV3
V4 = SY-MSGV4
IMPORTING
msg = msg
EXCEPTIONS
not_found = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
WRITE: 'message from system--->', msg.
CLEAR msg.
REFRESH bdcdata.
CLEAR itab1.
ENDLOOP.
SKIP.
WRITE: / 'Error records are----
>'.
LOOP AT erritab.
WRITE: / erritab-msector, erritab-munit, erritab-mtype, erritab-mdesc.
ENDLOOP.
&----
*& Form BDC_FIELD
&----
text
----
-->FNAM text
-->FVAL text
----
FORM bdc_field USING fnam fval.
IF FVAL <> NODATA.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
ENDFORM. "BDC_FIELD
----
Start new screen *
----
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
&----
*& Report ZSESSION_BDC_M *
*& *
&----
*& *
*& *
&----
REPORT zsession_bdc_m .
DATA: BEGIN OF itab OCCURS 0 ,
msector(1) TYPE c,
munit(3) TYPE c,
mtype(4) TYPE c,
mdesc(40) TYPE c,
END OF itab.
DATA: BEGIN OF itab1 OCCURS 0 ,
msector(1) TYPE c,
munit(3) TYPE c,
mtype(4) TYPE c,
mdesc(40) TYPE c,
END OF itab1.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: msg(40) TYPE c.
PARAMETERS :fname LIKE rlgrap-filename,
ftype LIKE rlgrap-filetype.
DATA: fname1 TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR fname.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
FIELD_NAME = ' '
IMPORTING
file_name = fname.
START-OF-SELECTION.
MOVE fname TO fname1.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = fname1
filetype = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = itab
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.
OPEN DATASET 'text2.txt' FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT itab.
TRANSFER itab TO 'text2.txt'.
ENDLOOP.
CLOSE DATASET 'text2.txt'.
OPEN DATASET 'text2.txt' FOR INPUT IN TEXT MODE ENCODING DEFAULT.
DO.
READ DATASET 'text2.txt' INTO itab1.
IF sy-subrc EQ 0.
APPEND itab1.
CLEAR itab1.
ELSE.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET 'text2.txt'.
DELETE DATASET 'text2.txt'.
DATA: date LIKE sy-datum.
date = sy-datum - 1.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
DEST = FILLER8
group = 'SESSION'
holddate = date
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.
LOOP AT itab1.
PERFORM open_group.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MTART'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=AUSW'.
PERFORM bdc_field USING 'RMMG1-MBRSH'
itab1-msector.
PERFORM bdc_field USING 'RMMG1-MTART'
itab1-mtype.
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' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SP02'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab1-mdesc.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MEINS'.
PERFORM bdc_field USING 'MARA-MEINS'
itab1-munit.
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'
itab1-mdesc.
PERFORM close_group.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = 'MM01'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
dynprotab = bdcdata
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.
REFRESH bdcdata.
ENDLOOP.
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.
&----
*& Form BDC_FIELD
&----
text
----
-->FNAM text
-->FVAL text
----
FORM bdc_field USING fnam fval.
IF FVAL <> NODATA.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
ENDFORM. "BDC_FIELD
----
Start new screen *
----
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM . "bdc_dynpro
Rewards if useful....................
Minal
2007 Sep 24 6:19 AM
Hi,
<b><i>1.For doing any BDC, u have to first do recording.
2.For recording the tcode is SHDB.
3.Click new recording button.
4.For example if u r going to do BDC for item PROPOSAL tocde VA51, then give ur recording name as ZVA51. and tcode as VA51.
5.Give the entries in the tcode.
6.Finally click save button.
7.Then automatically coding will be done by default.
8.Click program and go in to the program.</i></b>
I have done a BDC for creating item Proposal.
From the default code, u have to make slight changes.
The BDC I have attached along with this after correcting. Please gothrough it.
REPORT ztest_proposals.
TYPES : BEGIN OF ty_tab_va51,
stype(1) TYPE c,
auart TYPE auart,
vkorg TYPE vkorg,
vtweg TYPE vtweg,
spart TYPE spart,
ktext TYPE ktext_v,
guebg(10) TYPE c,
gueen(10) TYPE c,
mabnr TYPE matnr,
zmeng(5) TYPE c,
END OF ty_tab_va51.
DATA : lv_count TYPE i,
lv_matnr TYPE string,
lv_qty TYPE string,
lv_count_str TYPE string.
INCLUDE bdcrecx1.
START-OF-SELECTION.
DATA: it_itab TYPE STANDARD TABLE OF ty_tab_va51,
wa_itab LIKE LINE OF it_itab,
lv_auart TYPE auart,
lv_vkorg TYPE vkorg,
lv_vtweg TYPE vtweg,
lv_spart TYPE spart,
lv_ktext TYPE ktext_v,
lv_guebg(10) TYPE c,
lv_gueen(10) TYPE c.
START-OF-SELECTION.
CALL FUNCTION 'UPLOAD'
EXPORTING
filetype = 'DAT'
TABLES
data_tab = it_itab
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
PERFORM open_group.
DATA : lv_index TYPE i.
LOOP AT it_itab INTO wa_itab.
IF wa_itab-stype EQ 'H'.
AT NEW stype.
IF sy-index NE 1.
PERFORM bdc_field USING 'BDC_OKCODE' '=SICH'.
PERFORM bdc_transaction USING 'VA51'.
clear lv_index.
ENDIF.
PERFORM bdc_dynpro USING 'SAPMV45A' '0101'.
PERFORM bdc_field USING 'BDC_CURSOR' 'VBAK-AUART'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'VBAK-AUART' wa_itab-auart.
PERFORM bdc_field USING 'VBAK-VKORG' wa_itab-vkorg.
PERFORM bdc_field USING 'VBAK-VTWEG' wa_itab-vtweg.
PERFORM bdc_field USING 'VBAK-SPART' wa_itab-spart.
PERFORM bdc_dynpro USING 'SAPMV45A' '0412'.
PERFORM bdc_field USING 'BDC_CURSOR' 'VBAK-GUEEN'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'VBAK-KTEXT' wa_itab-ktext.
PERFORM bdc_field USING 'VBAK-GUEBG' wa_itab-guebg.
PERFORM bdc_field USING 'VBAK-GUEEN' wa_itab-gueen.
CLEAR lv_count.
ENDAT.
IF lv_index ne 2 and sy-index ne 1.
PERFORM bdc_field USING 'BDC_OKCODE' '=SICH'.
PERFORM bdc_transaction USING 'VA51'.
clear lv_index.
ENDIF.
PERFORM bdc_dynpro USING 'SAPMV45A' '0101'.
PERFORM bdc_field USING 'BDC_CURSOR' 'VBAK-AUART'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'VBAK-AUART' wa_itab-auart.
PERFORM bdc_field USING 'VBAK-VKORG' wa_itab-vkorg.
PERFORM bdc_field USING 'VBAK-VTWEG' wa_itab-vtweg.
PERFORM bdc_field USING 'VBAK-SPART' wa_itab-spart.
PERFORM bdc_dynpro USING 'SAPMV45A' '0412'.
PERFORM bdc_field USING 'BDC_CURSOR' 'VBAK-GUEEN'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'VBAK-KTEXT' wa_itab-ktext.
PERFORM bdc_field USING 'VBAK-GUEBG' wa_itab-guebg.
PERFORM bdc_field USING 'VBAK-GUEEN' wa_itab-gueen.
CLEAR lv_count.
ENDIF.
lv_count = lv_count + 1.
CLEAR : lv_matnr,lv_qty,lv_count_str.
IF lv_count LT 10.
lv_count_str = lv_count.
CONCATENATE '0' lv_count_str INTO lv_count_str.
ELSE.
lv_count_str = lv_count.
ENDIF.
CONCATENATE 'RV45A-MABNR(' lv_count_str ')' INTO lv_matnr.
CONCATENATE 'VBAP-ZMENG(' lv_count_str ')' INTO lv_qty.
PERFORM bdc_field USING lv_matnr wa_itab-mabnr.
PERFORM bdc_field USING lv_qty wa_itab-zmeng.
PERFORM bdc_dynpro USING 'SAPMV45A' '0412'.
PERFORM bdc_field USING 'BDC_CURSOR' lv_matnr.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_dynpro USING 'SAPMV45A' '0412'.
PERFORM bdc_field USING 'BDC_CURSOR' lv_qty.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
IF wa_itab-stype EQ 'L'.
AT END OF stype.
CLEAR lv_index.
lv_index = 2.
PERFORM bdc_field USING 'BDC_OKCODE' '=SICH'.
PERFORM bdc_transaction USING 'VA51'.
ENDAT.
ENDIF.
ENDLOOP.
PERFORM close_group.
Reward if useful.
2007 Sep 24 6:21 AM
HI,
Just go to Expert Forums » ABAP Development » Data transfers
In search field enter "BDC new " . u can get lot of infomations and materials.
Before post ur question just search in forums.
Thanks.
Senthil kumar
2007 Sep 24 6:24 AM
<b>SESSION METHOD</b>
WE USE 3 FUNCTION MODULES IN THIS SESSION METHOD.
1) BDC_OPEN_GROUP
USER NAME: USER NAME
GROUP: NAME OF THE SESSION
LOCK DATE: THE DATE ON WHICH YOU WANT TO PROCESS THE SESSION.
KEEP: THIS PARAMETER IS PASSED AS X WHEN YOU WANT TO RETAIN SESSION AFTER PROCESSING IT OR TO DELETE IT AFTER PROCESSING.
THIS CREATES A SESSION
2) BDC_INSERT
TCODE: TRANSACTION NAME
DYNPROTAB: BDC DATA
THIS CREATES A SEESION AND DATA IS TRANSFERRED O SESSION.
3) BDC_CLOSE_GROUP THIS CLOSES THE BDC GROUP.
ONLY ONE SESSION CAN BE CREATED USING BDC_OPEN_GROUP. BUT MULTIPLE TRANSACTIONS CAN BE PROCESSED USING BDC_INSERT.
<b>CALL TRANSACTION</b>
<i>CALL TRANSACTION <TCODE> USING <BDCTAB>
MODE <A/N/E>
UPDATE <S/A>
MESSAGES INTO <MSGTAB>.</i>
A ALL SCREEN MODE. ALL THE SCREEN OF THE TRANSACTION ARE DISPLAYED.
N NO SCREEN MODE. NO SCREEN IS DISPLAYED WHEN YOU EXECUTE THE TRANSACTION.
E ERROR SCREEN. IF THE SCREEN HAS ERROR RECORD, THEN THAT SCREEN WILL BE DISPLAYED.
S - IF YOU CHANGE DATA OF ONE TABLE THEN ALL THE RELATED TABLES GETS UPDATED. AND SY-SUBRC IS RETURNED I.E., SY-SUBRC IS RETURNED FOR ONCE AND ALL.
A - WHEN YOU CHANGE DATA OF ONE TABLE, THE SY-SUBRC IS RETURNED. AND THEN UPDATING OF OTHER AFFECTED TABLES TAKES PLACE. SO IF SYSTEM FAILS TO UPDATE OTHER TABLES, STILL SY-SUBRC RETURNED IS 0 (I.E., WHEN FIRST TABLE GETS UPDATED
2007 Sep 24 6:25 AM
<b>SESSION METHOD</b>
WE USE 3 FUNCTION MODULES IN THIS SESSION METHOD.
1) BDC_OPEN_GROUP
USER NAME: USER NAME
GROUP: NAME OF THE SESSION
LOCK DATE: THE DATE ON WHICH YOU WANT TO PROCESS THE SESSION.
KEEP: THIS PARAMETER IS PASSED AS X WHEN YOU WANT TO RETAIN SESSION AFTER PROCESSING IT OR TO DELETE IT AFTER PROCESSING.
THIS CREATES A SESSION
2) BDC_INSERT
TCODE: TRANSACTION NAME
DYNPROTAB: BDC DATA
THIS CREATES A SEESION AND DATA IS TRANSFERRED O SESSION.
3) BDC_CLOSE_GROUP THIS CLOSES THE BDC GROUP.
ONLY ONE SESSION CAN BE CREATED USING BDC_OPEN_GROUP. BUT MULTIPLE TRANSACTIONS CAN BE PROCESSED USING BDC_INSERT.
<b>CALL TRANSACTION</b>
<i>CALL TRANSACTION <TCODE> USING <BDCTAB>
MODE <A/N/E>
UPDATE <S/A>
MESSAGES INTO <MSGTAB>.</i>
A ALL SCREEN MODE. ALL THE SCREEN OF THE TRANSACTION ARE DISPLAYED.
N NO SCREEN MODE. NO SCREEN IS DISPLAYED WHEN YOU EXECUTE THE TRANSACTION.
E ERROR SCREEN. IF THE SCREEN HAS ERROR RECORD, THEN THAT SCREEN WILL BE DISPLAYED.
S - IF YOU CHANGE DATA OF ONE TABLE THEN ALL THE RELATED TABLES GETS UPDATED. AND SY-SUBRC IS RETURNED I.E., SY-SUBRC IS RETURNED FOR ONCE AND ALL.
A - WHEN YOU CHANGE DATA OF ONE TABLE, THE SY-SUBRC IS RETURNED. AND THEN UPDATING OF OTHER AFFECTED TABLES TAKES PLACE. SO IF SYSTEM FAILS TO UPDATE OTHER TABLES, STILL SY-SUBRC RETURNED IS 0 (I.E., WHEN FIRST TABLE GETS UPDATED
Please reward if helpful.