EPIC TECHNOLOGIES
CALL TRANSACTION
1.Go To SHDB T-Code
Click On Enter.
2.Click On New Recording
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 1
EPIC TECHNOLOGIES
3.Maintain Program Name
Transaction Code And Click On Start Recording.
4.Maintain Account Group As 'ZARG'
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 2
EPIC TECHNOLOGIES
5.Click On Enter.
6. Maintain The Requirements.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 3
EPIC TECHNOLOGIES
Maintain Title 'MR'.
Name 'AKSHAY LABHISHETTY'.
Search Term 'AKSHAY'.
City 'KAMAREDDY'.
Postal Code '503111'.
Country 'IN'
Region '22'. " 22 Stands For Andhra Pradesh.
Language Key 'IN'.
7.Click On Enter.
Save The Recording ( You Will Find The Following Screen).
8.Save
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 4
EPIC TECHNOLOGIES
9.Click On Save And Back ( You Will Find The Following Screen).
10.Select The Recording Which You Have Created And Click On Program.
11.Maintain The Program Name And Select The Radio Button Transfer From Recording.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 5
EPIC TECHNOLOGIES
12.Click On Enter.
13.Maintain The Title Name And Click On Source Code.
14.Save The Program.
You Will Find The Below Code In ABAP Editor.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 6
EPIC TECHNOLOGIES
report ZCALL_TRANS
no standard page heading line-size 255.
include bdcrecx1.
start-of-selection.
perform open_group.
perform bdc_dynpro using 'SAPMF02D' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KTOKD'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02D-KTOKD'
'ZARG'.
perform bdc_dynpro using 'SAPMF02D' '0110'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-SPRAS'.
perform bdc_field using 'BDC_OKCODE'
'=UPDA'.
perform bdc_field using 'KNA1-ANRED'
'mr'.
perform bdc_field using 'KNA1-NAME1'
'AKSHAY LABHISHETTY'.
perform bdc_field using 'KNA1-SORTL'
'AKSHAY'.
perform bdc_field using 'KNA1-ORT01'
'KAMAREDDY'.
perform bdc_field using 'KNA1-PSTLZ'
'503111'.
perform bdc_field using 'KNA1-LAND1'
'IN'.
perform bdc_field using 'KNA1-REGIO'
'22'.
perform bdc_field using 'KNA1-SPRAS'
'EN'.
perform bdc_transaction using 'XD01'.
perform close_group.
15.Go to /OSE38.
16.Maintain A New Program Name 'ZCALL_TRANSACTION'.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 7
EPIC TECHNOLOGIES
Write The Below Code.
TABLES: T100.
DATA: WA_BDCDATA TYPE BDCDATA,
IT_BDCDATA TYPE STANDARD TABLE OF BDCDATA.
DATA: WA_MESSTAB TYPE BDCMSGCOLL,
IT_MESSTAB TYPE STANDARD TABLE OF BDCMSGCOLL.
17.Copy The Code From The First Program I.E Report 'ZEPIC_SESSION' (From Perform
OPEN_GROUP To Perform CLOSE_GROUP) And Paste Under Declaration Of Second
Program i.e BDCMSGCOLL.
18.Double Click On perform OPEN_GROUP..
Select Main Program.
Click On Enter.
Copy The Following Code.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = 'ZLB'
USER = sy-uname
KEEP = 'X'
HOLDDATE = sy-datum.
19.Double Click On perform CLOSE_GROUP.
Select Main Program.
Click On Enter.
Copy The Following Code.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
20.Double Click On perform bdc_dynpro.
Select Main Program.
Click On Enter.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 8
EPIC TECHNOLOGIES
Copy The Following Code.
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR wa_BDCDATA.
wa_BDCDATA-PROGRAM = PROGRAM.
wa_BDCDATA-DYNPRO = DYNPRO.
wa_BDCDATA-DYNBEGIN = 'X'.
APPEND wa_BDCDATA to it_BDCDATA.
ENDFORM. " BDC_DYNPRO
21.Double Click On perform BDC_FIELD.
Select Main Program.
Click On Enter.
Copy The Following Code.
FORM BDC_FIELD USING FNAM FVAL.
CLEAR wa_BDCDATA.
wa_BDCDATA-FNAM = FNAM.
wa_BDCDATA-FVAL = FVAL.
APPEND wa_BDCDATA to it_BDCDATA.
.
ENDFORM.
22.Double Click On perform BDC_TRANSACTION.
Select Main Program.
Click On Enter.
Copy The Following Code.
FORM BDC_TRANSACTION USING TCODE.
DATA: L_MSTRING(480).
DATA: L_SUBRC LIKE SY-SUBRC.
REFRESH it_MESSTAB.
CALL TRANSACTION TCODE USING it_BDCDATA
MODE 'A'
UPDATE 'S'
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 9
EPIC TECHNOLOGIES
MESSAGES INTO it_MESSTAB.
L_SUBRC = SY-SUBRC.
WRITE: / 'CALL_TRANSACTION', TCODE,
'returncode:'(I05), L_SUBRC,
'RECORD:', SY-INDEX.
skip.
LOOP AT it_MESSTAB INTO wa_MESSTAB.
SELECT SINGLE * FROM T100 WHERE SPRSL = wa_MESSTAB-MSGSPRA
AND ARBGB = wa_MESSTAB-MSGID
AND MSGNR = wa_MESSTAB-MSGNR.
IF SY-SUBRC = 0.
L_MSTRING = T100-TEXT.
IF L_MSTRING CS '&1'.
REPLACE '&1' WITH wa_MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&2' WITH wa_MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&3' WITH wa_MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&4' WITH wa_MESSTAB-MSGV4 INTO L_MSTRING.
ELSE.
REPLACE '&' WITH wa_MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&' WITH wa_MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&' WITH wa_MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&' WITH wa_MESSTAB-MSGV4 INTO L_MSTRING.
ENDIF.
CONDENSE L_MSTRING.
WRITE: / wa_MESSTAB-MSGTYP, L_MSTRING(250).
ELSE.
WRITE: / wa_MESSTAB.
ENDIF.
ENDLOOP.
ENDFORM. " BDC_TRANSACTION
23.CLICK ON SAVE / CHECK / ACTIVATE.
24.EXECUTE.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 10
EPIC TECHNOLOGIES
You Can Find Account Group 'ZARG'.
Click On Ok.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 11
EPIC TECHNOLOGIES
25.Click On Ok.
26.Click On Ok.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 12
EPIC TECHNOLOGIES
If You Want To Upload Multiple Records Into The Application Continue Till 11th
Step.
12.Select Radio Button Transfer From Recording
13.Click On Enter.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 13
EPIC TECHNOLOGIES
14.Maintain Declarations.
TYPES: BEGIN OF TY_FINAL,
KTOKD TYPE RF02D-KTOKD,
ANRED TYPE KNA1-ANRED,
NAME1 TYPE KNA1-NAME1,
SORTL TYPE KNA1-SORTL,
ORT01 TYPE KNA1-ORT01,
PSTLZ TYPE KNA1-PSTLZ,
LAND1 TYPE KNA1-LAND1,
REGIO TYPE KNA1-REGIO,
SPRAS TYPE KNA1-SPRAS,
END OF TY_FINAL.
DATA: WA TYPE TY_FINAL,
ITAB TYPE STANDARD TABLE OF TY_FINAL.
15.Maintain CALL FUNCTION 'GUI_UPLOAD'.
16.Create A Flat file And Copy The Path Of The Flat File And Place It In
FILENAME
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 14
EPIC TECHNOLOGIES
EX:- 'C:\Users\Administrator\Desktop\XD06.TXT'
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\Users\Administrator\Desktop\XD06.TXT'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
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.
* Implement suitable error handling here
ENDIF.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 15
EPIC TECHNOLOGIES
17.MAINTAIN 'START-OF-SELECTION' After All The Declarations
18.Maintain LOOP After PERFORM OPEN_LOOP.
PERFORM OPEN_GROUP.
LOOP AT ITAB INTO WA.
19.Maintain ENDLOOP And REFRESH IT_DBCDATA Before PERFORM
CLOSE_LOOP.
REFRESH it_bdcdata.
ENDLOOP.
PERFORM CLOSE_GROUP.
Final Code Will Be In The Following Manner.
REPORT ZCALL_TRANS2.
TABLES: T100,KNA1.
TYPES: BEGIN OF TY_FINAL,
KTOKD TYPE RF02D-KTOKD,
ANRED TYPE KNA1-ANRED,
NAME1 TYPE KNA1-NAME1,
SORTL TYPE KNA1-SORTL,
ORT01 TYPE KNA1-ORT01,
PSTLZ TYPE KNA1-PSTLZ,
LAND1 TYPE KNA1-LAND1,
REGIO TYPE KNA1-REGIO,
SPRAS TYPE KNA1-SPRAS,
END OF TY_FINAL.
DATA: WA TYPE TY_FINAL,
ITAB TYPE STANDARD TABLE OF TY_FINAL.
DATA: WA_BDCDATA TYPE BDCDATA,
IT_BDCDATA TYPE STANDARD TABLE OF BDCDATA.
DATA: WA_MESSTAB TYPE BDCMSGCOLL,
IT_MESSTAB TYPE STANDARD TABLE OF BDCMSGCOLL.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 16
EPIC TECHNOLOGIES
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\Users\Administrator\Desktop\XD06.TXT'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
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.
* Implement suitable error handling here
ENDIF.
START-OF-SELECTION.
PERFORM OPEN_GROUP.
LOOP AT ITAB INTO WA.
perform bdc_dynpro using 'SAPMF02D' '0100'.
perform bdc_field using 'BDC_CURSOR'
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 17
EPIC TECHNOLOGIES
'RF02D-KTOKD'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02D-KTOKD'
WA-KTOKD."_001.
perform bdc_dynpro using 'SAPMF02D' '0110'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-SPRAS'.
perform bdc_field using 'BDC_OKCODE'
'=UPDA'.
perform bdc_field using 'KNA1-ANRED'
WA-ANRED."_002.
perform bdc_field using 'KNA1-NAME1'
WA-NAME1."_003.
perform bdc_field using 'KNA1-SORTL'
WA-SORTL."_004.
perform bdc_field using 'KNA1-ORT01'
WA-ORT01."_005.
perform bdc_field using 'KNA1-PSTLZ'
WA-PSTLZ."_006.
perform bdc_field using 'KNA1-LAND1'
WA-LAND1."_007.
perform bdc_field using 'KNA1-REGIO'
WA-REGIO."_008.
perform bdc_field using 'KNA1-SPRAS'
WA-SPRAS."_009.
perform bdc_transaction using 'XD01'.
REFRESH it_bdcdata.
ENDLOOP.
PERFORM CLOSE_GROUP.
*&---------------------------------------------------------------------*
*& Form OPEN_GROUP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM OPEN_GROUP .
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 18
EPIC TECHNOLOGIES
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = 'ZLB'
USER = SY-UNAME
KEEP = 'X'
HOLDDATE = SY-DATUM.
ENDFORM. " OPEN_GROUP
*&---------------------------------------------------------------------*
*& Form BDC_DYNPRO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0032 text
* -->P_0033 text
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR WA_BDCDATA.
WA_BDCDATA-PROGRAM = PROGRAM.
WA_BDCDATA-DYNPRO = DYNPRO.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA TO IT_BDCDATA.
ENDFORM. " BDC_DYNPRO
*&---------------------------------------------------------------------*
*& Form BDC_FIELD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0037 text
* -->P_0038 text
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = FNAM.
WA_BDCDATA-FVAL = FVAL.
APPEND WA_BDCDATA TO IT_BDCDATA.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 19
EPIC TECHNOLOGIES
ENDFORM. " BDC_FIELD
*&---------------------------------------------------------------------*
*& Form BDC_TRANSACTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0107 text
*----------------------------------------------------------------------*
FORM BDC_TRANSACTION USING TCODE.
DATA: L_MSTRING(480).
DATA: L_SUBRC LIKE SY-SUBRC.
REFRESH IT_MESSTAB.
CALL TRANSACTION TCODE USING IT_BDCDATA
MODE 'A'
UPDATE 'S'
MESSAGES INTO IT_MESSTAB.
L_SUBRC = SY-SUBRC.
WRITE: / 'CALL_TRANSACTION', TCODE,
'returncode:'(I05), L_SUBRC,
'RECORD:', SY-INDEX.
SKIP.
LOOP AT IT_MESSTAB INTO WA_MESSTAB.
SELECT SINGLE * FROM T100 WHERE SPRSL = WA_MESSTAB-
MSGSPRA
AND ARBGB = WA_MESSTAB-MSGID
AND MSGNR = WA_MESSTAB-MSGNR.
IF SY-SUBRC = 0.
L_MSTRING = T100-TEXT.
IF L_MSTRING CS '&1'.
REPLACE '&1' WITH WA_MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&2' WITH WA_MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&3' WITH WA_MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&4' WITH WA_MESSTAB-MSGV4 INTO L_MSTRING.
ELSE.
REPLACE '&' WITH WA_MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&' WITH WA_MESSTAB-MSGV2 INTO L_MSTRING.
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 20
EPIC TECHNOLOGIES
REPLACE '&' WITH WA_MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&' WITH WA_MESSTAB-MSGV4 INTO L_MSTRING.
ENDIF.
CONDENSE L_MSTRING.
WRITE: / WA_MESSTAB-MSGTYP, L_MSTRING(250).
ELSE.
WRITE: / WA_MESSTAB.
ENDIF.
ENDLOOP.
ENDFORM. " BDC_TRANSACTION
*&---------------------------------------------------------------------*
*& Form CLOSE_GROUP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CLOSE_GROUP .
CALL FUNCTION 'BDC_CLOSE_GROUP'.
ENDFORM.
SAVE / CHECK /ACTIVATE / EXECUTE .
FACULTY:-KARTHIK
Doc By:- AKSHAY LABHISHETTY Page 21