BDC With Call Transaction Process With Messge Handling
BDC With Call Transaction Process With Messge Handling
Business Scenario: Uploading the customer master records to SAP system by BDC call transaction methods message
handling.
Step0. The Recording of the XD01 transaction is given below.
[http://3.bp.blogspot.com/rPp67zDhQp4/UsjVyVqpMII/AAAAAAAAGmo/t_Mx73tL_mM/s1600/25.jpg]
[http://1.bp.blogspot.com/-RXL-4y9dh0c/UsjRKg_Zq9I/AAAAAAAAGlE/u29JlImAuzw/s1600/26.JPG]
[http://3.bp.blogspot.com/-2Kvqf7ZO0oQ/UsjRUB0UFBI/AAAAAAAAGlM/zXKiX_AZ5fo/s1600/27.JPG]
Step3. Provide the below program code and activate the program.
_________________________________________________________________________________
*&---------------------------------------------------------------------*
*& Report ZBDC_CALL_TRANS_CUST_MASTER
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zbdc_call_trans_cust_master.
TYPES : BEGIN OF ty_cust,
comp_code TYPE bukrs,
sales_org TYPE vkorg,
dist_chnl TYPE vtweg,
divi TYPE spart,
acc_grp TYPE ktokd,
title TYPE anred,
land TYPE land1,
region TYPE regio,
lang TYPE spras,
ord_prob TYPE awahr,
curr TYPE waers,
del_prio TYPE lprio,
shipp_cond TYPE vsbed,
delv_plant TYPE vwerk,
END OF ty_cust.
DATA : lt_excel TYPE TABLE OF alsmex_tabline,
ls_excel TYPE alsmex_tabline,
lt_cust TYPE TABLE OF ty_cust,
ls_cust TYPE ty_cust,
lt_bdc TYPE TABLE OF bdcdata,
ls_bdc TYPE bdcdata,
lt_msg TYPE TABLE OF bdcmsgcoll,
ls_msg TYPE bdcmsgcoll,
msg_text(255).
PARAMETERS : path TYPE rlgrap-filename OBLIGATORY DEFAULT 'C:\Users\ratn\Desktop\bdc with call
transaction\LEAGCT CUST RECORD'.
WHEN '013'.
ls_cust-shipp_cond = ls_excel-value.
WHEN '014'.
ls_cust-delv_plant = ls_excel-value.
WHEN OTHERS.
ENDCASE.
AT END OF row.
APPEND ls_cust TO lt_cust.
CLEAR : ls_cust, ls_excel.
ENDAT.
ENDLOOP.
IF lt_cust IS NOT INITIAL.
LOOP AT lt_cust INTO ls_cust.
PERFORM : call_screen USING 'SAPMF02D' '0100' 'X'.
PERFORM : fill_screen USING 'BDC_CURSOR' 'RF02D-KTOKD'.
PERFORM : fill_screen USING 'BDC_OKCODE' '/00'.
PERFORM : fill_screen USING 'RF02D-BUKRS' ls_cust-comp_code.
PERFORM : fill_screen USING 'RF02D-VKORG' ls_cust-sales_org.
PERFORM : fill_screen USING 'RF02D-VTWEG' ls_cust-dist_chnl.
PERFORM : fill_screen USING 'RF02D-SPART' ls_cust-divi.
PERFORM : fill_screen USING 'RF02D-KTOKD' ls_cust-acc_grp.
PERFORM : call_screen USING 'SAPMF02D' '0110' 'X'.
PERFORM : fill_screen USING 'BDC_CURSOR' 'KNA1-SPRAS'.
PERFORM : fill_screen USING 'BDC_OKCODE' '/00'.
PERFORM : fill_screen USING 'KNA1-ANRED' ls_cust-title.
PERFORM : fill_screen USING 'KNA1-LAND1' ls_cust-land.
PERFORM : fill_screen USING 'KNA1-REGIO' ls_cust-region.
PERFORM : fill_screen USING 'KNA1-SPRAS' ls_cust-lang.
PERFORM : call_screen USING 'SAPMF02D' '0120' 'X'.
PERFORM : fill_screen USING 'BDC_CURSOR' 'KNA1-LIFNR'.
PERFORM : fill_screen USING 'BDC_OKCODE' '/00'.
PERFORM : call_screen USING 'SAPMF02D' '0125' 'X'.
PERFORM : fill_screen USING 'BDC_CURSOR' 'KNA1-NIELS'.
PERFORM : fill_screen USING 'BDC_OKCODE' '/00'.
PERFORM : call_screen USING 'SAPMF02D' '0130' 'X'.
PERFORM : fill_screen USING 'BDC_CURSOR' 'KNBK-BANKS(01)'.
PERFORM : fill_screen USING 'BDC_OKCODE' '=ENTR'.
PERFORM : call_screen USING 'SAPMF02D' '0340' 'X'.
PERFORM : fill_screen USING 'BDC_CURSOR' 'KNVA-ABLAD(01)'.
PERFORM : fill_screen USING 'BDC_OKCODE' '=ENTR'.
PERFORM : call_screen USING 'SAPMF02D' '0370' 'X'.
PERFORM : fill_screen USING 'BDC_CURSOR' 'KNEX-LNDEX(01)'.
PERFORM : fill_screen USING 'BDC_OKCODE' '=ENTR'.
PERFORM : fill_screen USING 'KNA1-CIVVE' 'X'.
PERFORM : call_screen USING 'SAPMF02D' '0360' 'X'.
PERFORM : fill_screen USING 'BDC_CURSOR' 'KNVK-NAMEV(01)'.
PERFORM : fill_screen USING 'BDC_OKCODE' '=ENTR'.
MODE 'N'
UPDATE 'A'
MESSAGES INTO lt_msg.
REFRESH lt_bdc.
ENDLOOP.
ELSE.
MESSAGE 'No record to Upload' TYPE 'I'.
ENDIF.
LOOP AT lt_msg INTO ls_msg.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id
= ls_msg-msgid
lang
= 'E'
no
= ls_msg-msgnr
v1
= ls_msg-msgv1
v2
= ls_msg-msgv2
v3
= ls_msg-msgv3
v4
= ls_msg-msgv4
IMPORTING
msg
= msg_text
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc = 0.
WRITE :/ msg_text.
ENDIF.
ENDLOOP.
*&---------------------------------------------------------------------*
*&
Form CALL_SCREEN
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_0273 text
*
-->P_0274 text
*
-->P_0275 text
*----------------------------------------------------------------------*
FORM call_screen USING pgm
dyn
dyn_bgn.
ls_bdc-program = pgm.
ls_bdc-dynpro = dyn.
ls_bdc-dynbegin = dyn_bgn.
APPEND ls_bdc TO lt_bdc.
CLEAR ls_bdc.
ENDFORM.
" CALL_SCREEN
*&---------------------------------------------------------------------*
*&
Form FILL_SCREEN
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_0625 text
*
-->P_0626 text
*----------------------------------------------------------------------*
FORM fill_screen USING nam
val.
ls_bdc-fnam = nam.
ls_bdc-fval = val.
APPEND ls_bdc TO lt_bdc.
CLEAR ls_bdc.
ENDFORM.
" FILL_SCREEN
_________________________________________________________________________________
Step4. Maintain a excel file with the below file format.
[http://3.bp.blogspot.com/-DTpEP9Qa-X4/UsjSDVqSnkI/AAAAAAAAGlU/5omN1mCykZw/s1600/28.JPG]
Step5. Execute the program and select the path of the excel file from our local machine and execute it.
[http://3.bp.blogspot.com/-YGNxHrJLnyU/UsjSb89GsmI/AAAAAAAAGlc/MADZqY3QJkw/s1600/50.JPG]
Step6. The below customers are created with the BDC upload.
[http://2.bp.blogspot.com/-e0EKBfTl7-s/UsjSccjkxpI/AAAAAAAAGlk/TYijSzmOLqE/s1600/51.JPG]
[http://4.bp.blogspot.com/-nCvahZzs2HI/UsjScrkoULI/AAAAAAAAGlo/4p5xIihBIR8/s1600/52.JPG]
Step8. Provide the customer name and click on the continue button.
[http://1.bp.blogspot.com/-EmSp3I0x7cM/UsjSc0S5kmI/AAAAAAAAGlw/dc8EC546ppM/s1600/53.JPG]
[http://1.bp.blogspot.com/-OC_UfJIB_yw/UsjSdtusKKI/AAAAAAAAGl8/-mz1KKtmnes/s1600/54.JPG]
Step10. Provide the customer name and click on the continue button.
[http://3.bp.blogspot.com/-bDiDiTes-GI/UsjSeFueXlI/AAAAAAAAGmA/F7mFnqc7FV8/s1600/55.JPG]
[http://4.bp.blogspot.com/-Atprnp8LWYc/UsjSfPfBEcI/AAAAAAAAGmM/jxVo2xko3eg/s1600/56.JPG]
Step12. Provide the customer name and click on the continue button.
[http://2.bp.blogspot.com/-tIV6hDhawU8/UsjSfx46mkI/AAAAAAAAGmU/sg_be1YF9uw/s1600/57.JPG]
[http://1.bp.blogspot.com/-tIle8OQiOG0/UsjSgQXY0fI/AAAAAAAAGmY/rqdARPydtYw/s1600/58.JPG]
No comments yet
Add a comment