0% found this document useful (0 votes)
34 views21 pages

Call Transaction

The document provides a step-by-step guide for creating a call transaction in SAP using ABAP. It details the process from starting a new recording, maintaining program names and account groups, to writing and executing the final code. The guide includes specific code snippets for various functions and error handling procedures.

Uploaded by

AkshayLb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views21 pages

Call Transaction

The document provides a step-by-step guide for creating a call transaction in SAP using ABAP. It details the process from starting a new recording, maintaining program names and account groups, to writing and executing the final code. The guide includes specific code snippets for various functions and error handling procedures.

Uploaded by

AkshayLb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

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

You might also like