BDC With Call Transaction Process With Messge Handling

14
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. BDC with Call Transaction Process with Messge Handling

description

BDC CALL TRANSACTION

Transcript of BDC With Call Transaction Process With Messge Handling

Page 1: BDC With Call Transaction Process With Messge Handling

[http://3.bp.blogspot.com/-

Business Scenario: Uploading the customer master records to SAP system by BDC call transaction methods messagehandling.

Step0. The Recording of the XD01 transaction is given below.

BDC with Call Transaction Process with Messge Handling

Page 2: BDC With Call Transaction Process With Messge Handling

[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]

Step1. Create a BDC report in SE38 to upload Customer MAster Data.

Step2. Provide a Program name and click on the create button.

Page 3: BDC With Call Transaction Process With Messge Handling

[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 calltransaction\LEAGCT CUST RECORD'.

Page 4: BDC With Call Transaction Process With Messge Handling

AT SELECTION-SCREEN ON VALUE-REQUEST FOR path . CALL FUNCTION 'F4_FILENAME' EXPORTING program_name = syst-cprog dynpro_number = syst-dynnr field_name = 'PATH' IMPORTING file_name = path.

START-OF-SELECTION.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' EXPORTING filename = path i_begin_col = 1 i_begin_row = 2 i_end_col = 50 i_end_row = 50 TABLES intern = lt_excel EXCEPTIONS inconsistent_parameters = 1 upload_ole = 2 OTHERS = 3. IF sy-subrc <> 0.* Implement suitable error handling here ENDIF.

LOOP AT lt_excel INTO ls_excel. CASE ls_excel-col. WHEN '001'. ls_cust-comp_code = ls_excel-value. WHEN '002'. ls_cust-sales_org = ls_excel-value. WHEN '003'. ls_cust-dist_chnl = ls_excel-value. WHEN '004'. ls_cust-divi = ls_excel-value. WHEN '005'. ls_cust-acc_grp = ls_excel-value. WHEN '006'. ls_cust-title = ls_excel-value. WHEN '007'. ls_cust-land = ls_excel-value. WHEN '008'. ls_cust-region = ls_excel-value. WHEN '009'. ls_cust-lang = ls_excel-value. WHEN '010'. ls_cust-ord_prob = ls_excel-value. WHEN '011'. ls_cust-curr = ls_excel-value. WHEN '012'. ls_cust-del_prio = ls_excel-value.

Page 5: BDC With Call Transaction Process With Messge Handling

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'.

Page 6: BDC With Call Transaction Process With Messge Handling

PERFORM : call_screen USING 'SAPMF02D' '0210' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' 'KNB1-AKONT'. PERFORM : fill_screen USING 'BDC_OKCODE' '/00'.

PERFORM : call_screen USING 'SAPMF02D' '0215' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' 'KNB1-ZTERM'. PERFORM : fill_screen USING 'BDC_OKCODE' '/00'.

PERFORM : call_screen USING 'SAPMF02D' '0220' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' 'KNB5-MAHNA'. PERFORM : fill_screen USING 'BDC_OKCODE' '/00'.

PERFORM : call_screen USING 'SAPMF02D' '0230' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' 'KNB1-VRSNR'. PERFORM : fill_screen USING 'BDC_OKCODE' '/00'.

PERFORM : call_screen USING 'SAPMF02D' '0310' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' 'KNVV-BZIRK'. PERFORM : fill_screen USING 'BDC_OKCODE' '/00'. PERFORM : fill_screen USING 'KNVV-AWAHR' ls_cust-ord_prob. PERFORM : fill_screen USING 'KNVV-WAERS' ls_cust-curr.

PERFORM : call_screen USING 'SAPMF02D' '0315' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' 'KNVV-VWERK'. PERFORM : fill_screen USING 'BDC_OKCODE' '/00'. PERFORM : fill_screen USING 'KNVV-LPRIO' ls_cust-del_prio. PERFORM : fill_screen USING 'KNVV-KZAZU' 'X'. PERFORM : fill_screen USING 'KNVV-VSBED' ls_cust-shipp_cond. PERFORM : fill_screen USING 'KNVV-VWERK' ls_cust-delv_plant. PERFORM : fill_screen USING 'KNVV-ANTLF' '9'.

PERFORM : call_screen USING 'SAPMF02D' '0320' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' 'KNVV-PERFK'. PERFORM : fill_screen USING 'BDC_OKCODE' '=ENTS'.

PERFORM : call_screen USING 'SAPMF02D' '1350' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' 'KNVI-TAXKD(01)'. PERFORM : fill_screen USING 'BDC_OKCODE' '=ENTR'.

PERFORM : call_screen USING 'SAPMF02D' '0324' 'X'. PERFORM : fill_screen USING 'BDC_CURSOR' '*TPART-VTEXT(01)'. PERFORM : fill_screen USING 'BDC_OKCODE' '=ENTR'.******************************MODE ********************* " A(ALL SCREEN) " E(ERROR SCREEN ONLY) " N(WITHOUT SCREEN & PROCESSING TREMINATED WITH BREACKPOINT) " P(WITHOUT SCREEN & PROCESSING NOT TREMINATED WITH BREACKPOINT )******************************UPDATE ********************* "A(ASYNCHRONOUS UPDATE) "S(SYNCHRONOUNE UPDATE) "L(LOCAL UPDATES)*********************************************************** CALL TRANSACTION 'XD01' USING lt_bdc

Page 7: BDC With Call Transaction Process With Messge Handling

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*&---------------------------------------------------------------------*

Page 8: BDC With Call Transaction Process With Messge Handling

[http://3.bp.blogspot.com/-DTpEP9Qa-X4/UsjSDVqSnkI/AAAAAAAAGlU/5omN1mCykZw/s1600/28.JPG]

[http://3.bp.blogspot.com/-YGNxHrJLnyU/UsjSb89GsmI/AAAAAAAAGlc/MADZqY3QJkw/s1600/50.JPG]

[http://2.bp.blogspot.com/-e0EKBfTl7-s/UsjSccjkxpI/AAAAAAAAGlk/TYijSzmOLqE/s1600/51.JPG]

* 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.

Step5. Execute the program and select the path of the excel file from our local machine and execute it.

Step6. The below customers are created with the BDC upload.

Step7. Now go to Tcode- XD03 to view the above created customers.

Page 9: BDC With Call Transaction Process With Messge Handling

[http://4.bp.blogspot.com/-nCvahZzs2HI/UsjScrkoULI/AAAAAAAAGlo/4p5xIihBIR8/s1600/52.JPG]

[http://1.bp.blogspot.com/-EmSp3I0x7cM/UsjSc0S5kmI/AAAAAAAAGlw/dc8EC546ppM/s1600/53.JPG]

Step8. Provide the customer name and click on the continue button.

Step9. The details of the customer is displayed as follows.

Page 10: BDC With Call Transaction Process With Messge Handling

[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.

Page 11: BDC With Call Transaction Process With Messge Handling

[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]

Step11. The details of the customer is displayed as follows.

Page 12: BDC With Call Transaction Process With Messge Handling

[http://2.bp.blogspot.com/-tIV6hDhawU8/UsjSfx46mkI/AAAAAAAAGmU/sg_be1YF9uw/s1600/57.JPG]

Step12. Provide the customer name and click on the continue button.

Step13. The details of the customer is displayed as follows. _________________________________________________________________________________

Page 13: BDC With Call Transaction Process With Messge Handling

[http://1.bp.blogspot.com/-tIle8OQiOG0/UsjSgQXY0fI/AAAAAAAAGmY/rqdARPydtYw/s1600/58.JPG]

Posted 5th January 2014 by S Prasad

View comments

Page 14: BDC With Call Transaction Process With Messge Handling

No comments yet

Add a comment