General flow of a BDC program is like this....
1) First create recording for the T code which you want to make BDC for... Use T code SHDB for recording.
2 ) Now save that recording and create pogram from that recording using Create Program button. give the BDC driver program name and create.
3 ) Now the general logic of BDC program goes like this....
- Upload Flat file into and internal table using function module
"UPLOAD"
- OPEN BDC GROUP.
- Now loop at that internal table which contains the data from
flat file.
- move data from internal table to fields of BDCDATA using automatically
gebnerated code from BDC.
- CALL TRANSACTION <T CODE> using BDCDATA...
- CLOSE BDC GROUP
A sample program for the same is attatched here for your referance... just go through it..
report ztej_test_new no standard page heading line-size 255. data bdcdata like bdcdata occurs 0 with header line. tables: zipcldesigcat. data : begin of itab occurs 0, mandt like zipcldesigcat-mandt, zdesigncd like zipcldesigcat-zdesigncd, zdesignation like zipcldesigcat-zdesignation, zdesigcat like zipcldesigcat-zdesigcat, end of itab. *INCLUDE bdcrecx1. start-of-selection. perform upload. perform open. loop at itab. perform move. call transaction 'SE16' using bdcdata mode 'E'. refresh bdcdata. endloop. perform close. *&---------------------------------------------------------------------* *& Form UPLOAD *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* form upload. call function 'UPLOAD' exporting * CODEPAGE = '' filename = '' filetype = 'DAT' item = 'Your File' * FILEMASK_MASK = ' ' * FILEMASK_TEXT = ' ' * FILETYPE_NO_CHANGE = ' ' * FILEMASK_ALL = ' ' * FILETYPE_NO_SHOW = ' ' * LINE_EXIT = ' ' * USER_FORM = ' ' * USER_PROG = ' ' * SILENT = 'S' * IMPORTING * FILESIZE = * CANCEL = * ACT_FILENAME = * ACT_FILETYPE = tables data_tab = itab exceptions conversion_error = 1 invalid_table_width = 2 invalid_type = 3 no_batch = 4 unknown_error = 5 gui_refuse_filetransfer = 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. *CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' * EXPORTING * filename = 'C:\TEST.XLS' * i_begin_col = 1 * i_begin_row = 1 * i_end_col = 3 * i_end_row = 5 * tables * intern = ITAB * EXCEPTIONS * INCONSISTENT_PARAMETERS = 1 * UPLOAD_OLE = 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. " UPLOAD *----------------------------------------------------------------------* * 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. *&---------------------------------------------------------------------* *& Form OPEN *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* form open. call function 'BDC_OPEN_GROUP' exporting client = sy-mandt * DEST = FILLER8 group = 'ZDESIGCAT_R' * HOLDDATE = FILLER8 * KEEP = FILLER1 user = sy-uname * RECORD = FILLER1 * 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 *&---------------------------------------------------------------------* *& Form MOVE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* form move. perform bdc_dynpro using 'SAPLSETB' '0230'. perform bdc_field using 'BDC_CURSOR' 'DATABROWSE-TABLENAME'. perform bdc_field using 'BDC_OKCODE' '=ANLE'. perform bdc_field using 'DATABROWSE-TABLENAME' 'ZIPCLDESIGCAT'. perform bdc_dynpro using 'SAPLZIPCLDESIGCAT' '0001'. perform bdc_field using 'BDC_CURSOR' 'VIM_POSITION_INFO'. perform bdc_field using 'BDC_OKCODE' '=NEWL'. perform bdc_dynpro using 'SAPLZIPCLDESIGCAT' '0001'. perform bdc_field using 'BDC_CURSOR' 'ZIPCLDESIGCAT-ZDESIGCAT(01)'. perform bdc_field using 'BDC_OKCODE' '=SAVE'. perform bdc_field using 'ZIPCLDESIGCAT-ZDESIGNCD(01)' '2101'. perform bdc_field using 'ZIPCLDESIGCAT-ZDESIGNATION(01)' 'new'. perform bdc_field using 'ZIPCLDESIGCAT-ZDESIGCAT(01)' 'n'. perform bdc_dynpro using 'SAPLZIPCLDESIGCAT' '0001'. perform bdc_field using 'BDC_CURSOR' 'ZIPCLDESIGCAT-ZDESIGNCD(02)'. perform bdc_field using 'BDC_OKCODE' '=ENDE'. perform bdc_dynpro using 'SAPLSETB' '0230'. perform bdc_field using 'BDC_OKCODE' '/EEND'. perform bdc_field using 'BDC_CURSOR' 'DATABROWSE-TABLENAME'. endform. " MOVE *&---------------------------------------------------------------------* *& Form CLOSE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* form close. 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. " CLOSETips by : Tejas
SAP Books List
SAP FI, CO, MM, PP, SD, PM, PS,
QM, SM, HR, WF, BW, APO, Basis, ABAP/4, Certification, Books
ABAP Menu:
ABAP Example Hints and Tips
Return to Index:-
SAP ABAP/4 Programming, Basis
Administration, Configuration Hints and Tips
(c) www.sap-basis-abap.com All material on this site is
Copyright.
Every effort is made to ensure the content integrity.
Information used on this site is at your own risk.
All product names are trademarks of their respective
companies. The site www.sap-basis-abap.com is in no way affiliated
with SAP AG.
Any unauthorised copying or mirroring is prohibited.