0% found this document useful (0 votes)
86 views

Venkat Practice Abap: Begin of Type C Type Type C End of Begin of Type C Type Type C End of Type C

This document contains ABAP code samples demonstrating different data types, structures, and object-oriented programming concepts in ABAP including: 1. Defining and populating nested data types and structures. 2. Fetching and displaying data from database tables using SELECT statements. 3. Creating ABAP classes with methods to encapsulate database access logic. The code samples cover topics like internal tables, selection screens, class definitions, method implementations, and object instantiation.

Uploaded by

venkatsapsd
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views

Venkat Practice Abap: Begin of Type C Type Type C End of Begin of Type C Type Type C End of Type C

This document contains ABAP code samples demonstrating different data types, structures, and object-oriented programming concepts in ABAP including: 1. Defining and populating nested data types and structures. 2. Fetching and displaying data from database tables using SELECT statements. 3. Creating ABAP classes with methods to encapsulate database access logic. The code samples cover topics like internal tables, selection screens, class definitions, method implementations, and object instantiation.

Uploaded by

venkatsapsd
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 28

Venkat

Practice

ABAP

1. The following is the program for the Practice of Data Decelerations.

*&---------------------------------------------------------------------*
*& Report ZDEMO_ECE_TYPES_1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_ECE_TYPES_1.

TYPES: BEGIN OF ST1,


PLAYER1 TYPE C LENGTH 12,
PLAYER2(12) TYPE C,
PLAYER3 TYPE C LENGTH 14,
END OF ST1.
TYPES: BEGIN OF ST2,
PLAYER4 TYPE C LENGTH 12,
PLAYER5(12) TYPE C,
PLAYER6 TYPE C LENGTH 12,
END OF ST2.
TYPES: PLAYER7 TYPE C LENGTH 13.

TYPES: BEGIN OF ST9,


ST8 TYPE ST1,
ST7 TYPE ST2,
ST6 Type player7,
END OF ST9.
DATA:
DATA:
DATA:
DATA:
DATA:

OBJ1 TYPE ST1.


OBJ2 TYPE ST2.
OBJ3 TYPE PLAYER7.
OBJ4 TYPE ST9.
PLAYER8 LIKE OBJ3.

OBJ4-ST8-PLAYER1 = 'Sachin'.
OBJ4-ST8-PLAYER2 = 'Dravid'.
OBJ4-ST8-PLAYER3 = 'Laxman'.
OBJ4-ST7-PLAYER4 = 'Gambhir'.
OBJ4-ST7-PLAYER5 = 'Virat'.
OBJ4-ST7-PLAYER6 = 'Dhoni'.
OBJ4-ST6 = 'Bajji'.
PLAYER8 = 'Rohit'.

Venkat

Page 1

Venkat

Practice

ABAP

WRITE: / OBJ4-ST8-PLAYER1,
/ OBJ4-ST8-PLAYER2,
OBJ4-ST8-PLAYER3,
/ OBJ4-ST7-PLAYER4,
OBJ4-ST7-PLAYER5,
/ OBJ4-ST7-PLAYER6,
OBJ4-ST6,
PLAYER8.
2.
*&---------------------------------------------------------------------*
*& Report ZDEMO_ENDSELECT_21102012
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_ENDSELECT_21102012.

TABLES KNA1.
SELECT-OPTIONS S_KUN FOR kna1-KUNNR.
DATA:BEGIN OF ST1,
CCCC like vbak-submi,
NNNN TYPE NAME1,
CYCY TYPE LAND1,
END OF ST1.
SELECT KUNNR NAME1 LAND1 FROM KNA1 INTO ST1 WHERE KUNNR IN

S_KUN.

WRITE:/ ST1-CCCC,
ST1-NNNN,
ST1-CYCY.
endselect.
*&---------------------------------------------------------------------*
*& Report ZDEMO_ENDSELECT_21102012_3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
3.
REPORT ZDEMO_ENDSELECT_21102012_3.
*my requirement is to fetch the data from vbak with selection screen.

Venkat

Page 2

Venkat

Practice

ABAP

tables : vbak.
select-options : S_vbeln for vbak-vbeln.
data : begin of ST1,
snsn type char16,
scat type char10,
stype type char10,
end of st1.
select vbeln vbtyp auart from vbak into st1 where vbeln in S_vbeln.
write : / ST1-snsn,
ST1-scat,
ST1-stype.
endselect.

*&---------------------------------------------------------------------*
*& Report ZDEMO_GLOBAL_DATA
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_GLOBAL_DATA.
DATA:OBJ TYPE ZST_BOOK.
OBJ-BOOK = 'ABAP'.
OBJ-NOTE = 'SD'.
OBJ-TEXT = 'EPIC'.

Venkat

Page 3

Venkat

Practice

ABAP

WRITE:/ OBJ-BOOK,
OBJ-NOTE,
OBJ-TEXT.

*&---------------------------------------------------------------------*
*& Report ZDEMO_GLOBAL_DATA_1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_GLOBAL_DATA_1.

DATA: OBJ1 type ZST_BOOK.


OBJ1-BOOK = 'Social'.
OBJ1-TEXT = 'MATHS'.
OBJ1-NOTE = 'ENGLISH'.
write: OBJ1-BOOK,
OBJ1-NOTE,
OBJ1-TEXT.
*&---------------------------------------------------------------------*
*& Report ZDEMO_GROUP_DATA_OBJECT
*&
*&---------------------------------------------------------------------*
*&
*&

Venkat

Page 4

Venkat

Practice

ABAP

*&---------------------------------------------------------------------*
REPORT ZDEMO_GROUP_DATA_OBJECT.
DATA:BEGIN OF OBJ,
BOOK(10) TYPE C,
TEXT
TYPE C LENGTH 10 VALUE 'EMAX',
NOTE
TYPE C LENGTH 20,
END OF OBJ.
OBJ-BOOK = 'ABAP'.
OBJ-NOTE = OBJ-TEXT.
WRITE:/ OBJ-BOOK,
OBJ-TEXT,
OBJ-NOTE.
*&---------------------------------------------------------------------*
*& Report ZDEMO_GROUP_DATA_OBJECT_1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_GROUP_DATA_OBJECT_1.
types: begin of st,
player4 type c length 12,
end of st.
data: begin of OBJ,
player4 type c length 12,
player5 type c length 12,
end of OBJ.
types: begin of OBJ1,
player6 type st-player4,
player7 type c length 15,
end of OBJ1.
Data: OB type OBJ1.
data: Player(10) type c,
Player1 type c length 15,
player2 like player.
player = 'Sachin'.
Player1 = player.
player2 = 'Dravid'.
OBJ-player4 = 'Sehwag'.
OBJ-player5 = 'Gambhir'.
OB-player6 = 'Virat'.

Venkat

Page 5

Venkat

Practice

ABAP

OB-player7 = 'Raina'.

Write: player,
player1.
skip 5.
Write: player2,
OBJ-player4,
OBJ-player5.
skip 5.
write: OB-player6,
OB-player7.
*&---------------------------------------------------------------------*
*& Report ZDEMO_INTERNAL1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_INTERNAL1.
TABLES KNA1.
SELECT-OPTIONS : SO_CUST FOR KNA1-KUNNR.
DATA: BEGIN OF WA,
KUNNR TYPE KUNNR,
NAME1 TYPE NAME1,
END OF WA.
INITIALIZATION.
SO_CUST-SIGN = 'I'.
SO_CUST-OPTION = 'BT'.
SO_CUST-LOW = '100'.
SO_CUST-HIGH = '1000'.
APPEND SO_CUST.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME = 'SO_CUST-LOW'.
*
SCREEN-INVISIBLE = '1'.
SCREEN-OUTPUT = ''.
MODIFY SCREEN .
ENDIF.
ENDLOOP.
* AT SELECTION-SCREEN .
AT SELECTION-SCREEN ON SO_CUST.
IF SO_CUST = ' '.
MESSAGE I000(0) WITH 'ENTER LOWER LIMIT'.

Venkat

Page 6

Venkat

Practice

ABAP

ELSEIF
SO_CUST-HIGH = ' '.
MESSAGE I000(0) WITH 'UPPER LIMIT'.
ENDIF.
START-OF-SELECTION.
WRITE 'TEST'.
*&---------------------------------------------------------------------*
*& Report ZDEMO_INTERTABLE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_INTERTABLE.

DATA: BEGIN OF HED OCCURS 0,


KUNNR TYPE KUNNR,
NAME1 type NAME1,
END OF HED.
SELECT KUNNR NAME1 FROM KNA1 INTO TABLE

HED UP TO 10 ROWS.

LOOP AT HED INTO HED.


AT FIRST.
WRITE 5'LIST OF CUSTOMER'.
ENDAT.
WRITE:/20 HED-KUNNR,
40 HED-NAME1.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Report ZDEMO_INTOORRES_222012_01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_INTOORRES_222012_01.
TABLES VBAK.
SELECT-OPTIONS S_VBELN FOR VBAK-VBELN.
DATA: ST TYPE VBAK,
ITAB TYPE TABLE OF VBAK.
SELECT VBELN NETWR KUNNR INTO CORRESPONDING FIELDS OF TABLE ITAB FROM VBAK W
HERE VBELN IN S_VBELN.

Venkat

Page 7

Venkat

Practice

ABAP

WRITE SY-DBCNT.
*&---------------------------------------------------------------------*
*& Report ZDEMO_OBJ_01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_OBJ_01.

CLASS LCL_DATA DEFINITION.


* CLASS HAVE VISIBLITY OPTION PUBLIC SECTION PROCTED SECTION PRIVATE SECTION.
PUBLIC SECTION.
DATA: WA TYPE MARA.
* CLASS CONTAINS METHODS
METHODS DISPLAY.
ENDCLASS.
* EACH CLASS OF METHOD FOR WRITE CODE IN IMPLEMENTAION SECTION.
CLASS LCL_DATA IMPLEMENTATION.
METHOD DISPLAY.
SELECT * FROM MARA INTO WA UP TO 100 ROWS.
WRITE:/ WA-MATNR,
WA-MTART,
WA-BISMT.
ENDSELECT.
ENDMETHOD.
ENDCLASS.
* WHEN WE USE THE METHODS IN LOCAL PROGRAMM WE CRATE OBJECT BY USEING DATA S
TATEMENT WITH KEY WORD 'TYPE REF TO' AND WRITE STATEMENT OBJECT CREATION IN
START-OF-SELECTION
* CREATE OBJ STATEMENT.
DATA MEENA TYPE REF TO LCL_DATA.
START-OF-SELECTION.
CREATE OBJECT MEENA.
* CALL MEYHOD
CALL METHOD MEENA->DISPLAY.
*&---------------------------------------------------------------------*
*& Report ZDEMO_OBJ_02
*&

Venkat

Page 8

Venkat

Practice

ABAP

*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_OBJ_02.
TABLES:VBAK,VBAP.
SELECT-OPTIONS:S_VBELN FOR VBAK-VBELN.
CLASS LCL_TWO DEFINITION.
PUBLIC SECTION.
DATA: BEGIN OF WA_VBAK ,
VBELN TYPE VBELN,
KUNNR TYPE KUNNR,
POSNR TYPE POSNR,
ETENR TYPE ETENR,
BMENG TYPE BMENG,
WMENG TYPE WMENG,
END OF WA_VBAK.
METHODS: SELECT_METHOD
IMPORTING LOW TYPE VBAK-VBELN
HIGH TYPE VBAK-VBELN,
DISPLAY_DATA.

DATA: IT_VBAK LIKE TABLE OF WA_VBAK.


ENDCLASS.
CLASS LCL_TWO IMPLEMENTATION.
METHOD SELECT_METHOD.
SELECT H~VBELN H~KUNNR S~POSNR S~ETENR S~BMENG S~WMENG INTO TABLE IT_VBA
K FROM VBAK AS H
INNER JOIN VBEP AS S ON
H~VBELN = S~VBELN WHERE H~VBELN BETWEEN LOW AND HIGH.
ENDMETHOD.
METHOD DISPLAY_DATA.
LOOP AT IT_VBAK INTO WA_VBAK.
WRITE:/ WA_VBAK-VBELN,
WA_VBAK-KUNNR,
WA_VBAK-POSNR,
WA_VBAK-ETENR,
WA_VBAK-BMENG,
WA_VBAK-WMENG.
ENDLOOP.
ENDMETHOD.
ENDCLASS.

Venkat

Page 9

Venkat

Practice

ABAP

DATA: OBJ TYPE REF TO LCL_TWO.


START-OF-SELECTION.
CREATE OBJECT OBJ.
CALL METHOD OBJ->SELECT_METHOD
EXPORTING LOW = S_VBELN-LOW
HIGH = S_VBELN-HIGH.
CALL METHOD OBJ->DISPLAY_DATA.
*&---------------------------------------------------------------------*
*& Report ZDEMO_TWOTABLE_27102012
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_TWOTABLE_27102012.
* LIST DOCUMENT FOR CUSTOMER
* DECLARATION SECTION
*DATA: V TYPE KNA1-KUNNR.
PARAMETERS P_KUNNR TYPE KNA1-KUNNR.
DATA: BEGIN OF ST,
ZKUNNR TYPE KUNNR,
ZNAME1 TYPE NAME1,
ZVBELN TYPE VBELN,
ZNETWR TYPE NETWR,
END OF ST.
SELECT KNA1~KUNNR KNA1~NAME1 VBAK~VBELN VBAK~NETWR
INTO ST FROM KNA1 INNER JOIN VBAK ON
VBAK~KUNNR = KNA1~KUNNR WHERE KNA1~K
UNNR EQ P_KUNNR.
WRITE:/ ST-ZKUNNR,
ST-ZNAME1,
ST-ZVBELN,
ST-ZNETWR.
ENDSELECT.
*&---------------------------------------------------------------------*
*& Report ZDEMO_TWOTABLE_27102012_2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_TWOTABLE_27102012_2.
PARAMETERS P_KUNNR TYPE KNA1-KUNNR.

Venkat

Page 10

Venkat

Practice

ABAP

DATA: BEGIN OF ST,


ZKUNNR TYPE KUNNR,
ZNAME1 TYPE NAME1,
ZVBELN TYPE VBELN,
ZNETWR TYPE NETWR,
END OF ST.
DATA: ITAB LIKE TABLE OF ST.
SELECT KNA1~KUNNR KNA1~NAME1 VBAK~VBELN VBAK~NETWR
INTO TABLE ITAB FROM KNA1 INNER JOIN VBAK ON
KNA1~KUNNR = VBAK~KUNNR
HERE KNA1~KUNNR EQ P_KUNNR.
LOOP AT ITAB INTO ST.
WRITE:/ ST-ZKUNNR,
ST-ZNAME1,
ST-ZVBELN,
ST-ZNETWR.
ENDLOOP.

*&---------------------------------------------------------------------*
*& Report ZDEMO_TWOTABLE_27102012_3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_TWOTABLE_27102012_3.

PARAMETERS P_KUNNR TYPE KNA1-KUNNR.

DATA: BEGIN OF ST,


ZKUNNR TYPE KUNNR,
ZNAME1 TYPE NAME1,
ZVBELN TYPE VBELN,
ZNETWR TYPE NETWR,
END OF ST.
DATA: ITAB LIKE TABLE OF ST.
SELECT K~KUNNR K~NAME1 V~VBELN V~NETWR
INTO TABLE ITAB FROM KNA1 AS K INNER JOIN VBAK
R WHERE K~KUNNR EQ P_KUNNR.
LOOP AT ITAB INTO ST.
WRITE:/ ST-ZKUNNR,
ST-ZNAME1,
ST-ZVBELN,
ST-ZNETWR.
ENDLOOP.

AS V ON

V~KUNNR = K~KUNN

*&---------------------------------------------------------------------*
*& Report ZDEMO_VENKAT_INT_INT

Venkat

Page 11

Venkat

Practice

ABAP

*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_VENKAT_INT_INT.

TYPES: BEGIN OF ST1,


PLAYER1 TYPE C LENGTH 12,
PLAYER2(12) TYPE C,
PLAYER3 TYPE C LENGTH 14,
END OF ST1.
TYPES: BEGIN OF ST2,
PLAYER4 TYPE C LENGTH 12,
PLAYER5(12) TYPE C,
PLAYER6 TYPE C LENGTH 12,
END OF ST2.
TYPES: PLAYER7 TYPE C LENGTH 13.

TYPES: BEGIN OF ST9,


ST8 TYPE ST1,
ST7 TYPE ST2,
ST6 Type player7,
END OF ST9.
DATA:
DATA:
DATA:
DATA:
DATA:
DATA:

OBJ1 TYPE ST1.


OBJ2 TYPE ST2.
OBJ3 TYPE PLAYER7.
OBJ4 TYPE ST9.
PLAYER8 LIKE OBJ3.
ITAB_OBJ1 LIKE TABLE OF OBJ1,
ITAB_OBJ2 TYPE TABLE OF ST2,
ITAB_OBJ3 TYPE TABLE OF PLAYER7,
ITAB_OBJ4 LIKE TABLE OF OBJ4,
ITAB_PLAYER8 LIKE TABLE OF PLAYER8.

OBJ4-ST8-PLAYER1 = 'Sachin'.
APPEND OBJ4 TO ITAB_OBJ1.
OBJ4-ST8-PLAYER1 = 'SACHNI ARJUN'.
APPEND OBJ4 TO ITAB_OBJ1.
OBJ4-ST8-PLAYER2 = 'Dravid'.
OBJ4-ST8-PLAYER3 = 'Laxman'.
OBJ4-ST7-PLAYER4 = 'Gambhir'.

Venkat

Page 12

Venkat

Practice

ABAP

OBJ4-ST7-PLAYER5 = 'Virat'.
OBJ4-ST7-PLAYER6 = 'Dhoni'.
OBJ4-ST6 = 'Bajji'.
PLAYER8 = 'Rohit'.
WRITE: / OBJ4-ST8-PLAYER1,
/ OBJ4-ST8-PLAYER2,
OBJ4-ST8-PLAYER3,
/ OBJ4-ST7-PLAYER4,
OBJ4-ST7-PLAYER5,
/ OBJ4-ST7-PLAYER6,
OBJ4-ST6,
PLAYER8.
*&---------------------------------------------------------------------*
*& Report ZDEMO_VENKAT_INT_INT1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_VENKAT_INT_INT1.
TYPES: BEGIN OF ST1,
PLAYER1 TYPE C LENGTH 20,
PLAYER2 TYPE C LENGTH 30,
PLAYER3 TYPE STRING,
END OF ST1.
DATA: OBJ TYPE ST1,
ITAB_OBJ TYPE TABLE OF ST1.
OBJ-PLAYER1 =
APPEND OBJ TO
CLEAR OBJ.
OBJ-PLAYER1 =
APPEND OBJ TO
CLEAR OBJ.
OBJ-PLAYER2 =
APPEND OBJ TO
CLEAR OBJ.
OBJ-PLAYER2 =
APPEND OBJ TO
CLEAR OBJ.
OBJ-PLAYER3 =
APPEND OBJ TO
CLEAR OBJ.
OBJ-PLAYER3 =
APPEND OBJ TO
CLEAR OBJ.

Venkat

'SACHIN'.
ITAB_OBJ.
'SCAHNI ARJUN'.
ITAB_OBJ.
'SHAEAG'.
ITAB_OBJ.
'SHAWAG ARJUN'.
ITAB_OBJ.
'DRAVID'.
ITAB_OBJ.
'DRAVID ARJUN'.
ITAB_OBJ.

Page 13

Venkat

Practice

ABAP

LOOP AT ITAB_OBJ INTO OBJ.


WRITE:/ OBJ-PLAYER1,
OBJ-PLAYER2,
OBJ-PLAYER3.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Report ZDEMO_VENKAT_INT_INT2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_VENKAT_INT_INT2.

TYPES: BEGIN OF ST1,


Player1 type c length 15,
end of st1.
DATA: OBJ type ST1,
ITAB_OBJ like table of OBJ.
OBJ-Player1 = 'Sachin'.
append OBJ to ITAB_OBJ.
clear obj.
OBJ-Player1 = 'Dravid'.
append OBJ to ITAB_OBJ.
clear obj.
OBJ-Player1 = 'Sehwag'.
append OBJ to ITAB_OBJ.
clear obj.
OBJ-Player1 = 'Laxman'.
append OBJ to ITAB_OBJ.
clear obj.
OBJ-Player1 = 'Dhoni'.
append OBJ to ITAB_OBJ.
clear obj.
loop at ITAB_OBJ into OBJ.
write: OBJ-player1.
endloop.
*&---------------------------------------------------------------------*
*& Report ZDEMO_VENKAT_INT_INT3

Venkat

Page 14

Venkat

Practice

ABAP

*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_VENKAT_INT_INT3.

Data: BEGIN OF OBJ1,


Player1 type c length 20,
END of OBJ1.
DATA: ITAB_OBJ1 like TABLE OF OBJ1.
types: begin of ST1,
player2 type c length 18,
player3 type c length 16,
end of ST1.
Data: OBJ2 type ST1.
types: player4 type c length 10.
data: OBJ3 type player4.
OBJ2-Player2 = 'Waugh'.
OBJ2-Player3 = 'Border'.
OBJ3 = 'Warn'.
OBJ1-Player1 = 'Ponting'.
append OBJ1 to ITAB_OBJ1.
OBJ1-Player1 = 'Bevan'.
append OBJ1 to ITAB_OBJ1.
OBJ1-Player1 = 'McGrath'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Mark'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Gillespy'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Mcdermett'.
append OBJ1 to ITAB_OBJ1.

Venkat

Page 15

Venkat

Practice

ABAP

OBJ1-Player1 = 'Arnold'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Gilchrist'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Hayden'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Bracken'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Boon'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Marsh'.
append OBJ1 to ITAB_OBJ1.

OBJ1-Player1 = 'Broadman'.
append OBJ1 to ITAB_OBJ1.
loop at ITAB_OBJ1 into OBJ1.
write:/ OBJ1-Player1.
ENDLOOP.
WRITE:/ OBJ2-Player2,
/ OBJ2-Player3,
/ OBJ3.
*&---------------------------------------------------------------------*
*& Report ZDEMO_VENKAT_INT_STR
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_VENKAT_INT_STR.

DATA:BEGIN OF ST1 OCCURS 0


PLAYER(30) TYPE C,

Venkat

Page 16

Venkat

Practice

ABAP

END OF ST1.
ST1-PLAYER = 'SACHIN'.
APPEND ST1 TO ST1[].
ST1-PLAYER = 'DRVID'.
APPEND ST1 TO ST1[].
ST1-PLAYER = 'SACHIN'.
INSERT ST1 INTO ST1[] INDEX 2.

ST1-PLAYER = 'GAMBIR'.
COLLECT ST1 INTO ST1[].

ST1-PLAYER = 'VIRAT'.
INSERT ST1 INTO ST1[] INDEX 1.
LOOP AT ST1[] INTO ST1.
WRITE ST1-PLAYER.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Report ZDEMO_VENKAT_INTERNAL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDEMO_VENKAT_INTERNAL.

DATA: BEGIN OF ST1,


PLAYER1(30) TYPE C ,
PLAYER2(30) TYPE C,
END OF ST1.
TYPES: BEGIN OF ST2,
PLAYER3(30) TYPE C,
END OF ST2.
DATA: ITAB1 LIKE TABLE OF ST1.
DATA: ITAB2 TYPE TABLE OF ST2.

DIWALI

Venkat

Page 17

Venkat

Practice

ABAP

1. &---------------------------------------------------------------------*
*& Report ZDIWALI_DATA_EXTRACTION
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDIWALI_DATA_EXTRACTION.
PARAMETERS P_KUN TYPE ZYKUNNR.
DATA:ZCNO TYPE C LENGTH 10,
ZCOUN TYPE LAND1,
ZNAME LIKE KNA1-LAND1.
* ALPH ROUTINE WE SPECIFIED AT DOMAIN LEVEL ADDING ZEROW WHEN SAVE THE AND EX
TRACT THE DATA SO THAT WHEN IT IS USED IN HARD CODEING
* WE SPECIFEID HOW THE DATA STORED IN DATA BASE TABLE
SELECT KUNNR NAME1 LAND1 FROM KNA1 INTO
= P_KUN.
*SELECT KUNNR NAME1 LAND1
EQ '0000001000' .

(ZCNO, ZNAME, ZCOUN )

WHERE KUNNR

INTO (ZCNO, ZNAME, ZCOUN ) FROM KNA1

WHERE KUNNR

*SELECT KUNNR NAME1 LAND1 INTO (ZCNO, ZNAME, ZCOUN ) FROM KNA1
BETWEEN '0000000001' AND '0000000020'.

WHERE KUNNR

*SELECT KUNNR NAME1 LAND1 INTO (ZCNO, ZNAME, ZCOUN ) FROM KNA1
NOT BETWEEN '0000000001' AND '0000000020' .

WHERE KUNNR

WRITE:/ ZCNO,
ZCOUN,
ZNAME.
ENDSELECT.

2.
*&---------------------------------------------------------------------*
*& Report ZDIWALI_DATA_EXTRACTION_V
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDIWALI_DATA_EXTRACTION_V.

parameters : P_kunnr type c length 10.

Venkat

Page 18

Venkat
DATA : ZKUNNR
ZVKORG
ZVTWEG
ZSPART

Practice
type
type
type
type

ABAP

c length 10,
KNVV-VKORG,
VTWEG,
SPART.

*select KUNNR VKORG VTWEG SPART from KNVV into (ZKUNNR,ZVKORG,ZVTWEG,ZSPART)


where KUNNR eq P_KUNNR.
*
* write : / ZKUNNR,
*
ZVKORG,
*
ZVTWEG,
*
ZSPART.
* endselect.
* select KUNNR VKORG VTWEG SPART from KNVV into (ZKUNNR,ZVKORG,ZVTWEG,ZSPART
) where KUNNR eq '0000001000'.
*
*
write : / ZKUNNR,
*
ZVKORG,
*
ZVTWEG,
*
ZSPART.
* endselect.
* select KUNNR VKORG VTWEG SPART from KNVV into (ZKUNNR,ZVKORG,ZVTWEG,ZSPART)
where KUNNR BETWEEN '0000001000' and '0000002000'..
*
*
write : / ZKUNNR,
*
ZVKORG,
*
ZVTWEG,
*
ZSPART.
* endselect.
select KUNNR VKORG VTWEG SPART from KNVV into (ZKUNNR,ZVKORG,ZVTWEG,ZSPART) w
here KUNNR not BETWEEN '0000001900' and '0000002000'.
write : / ZKUNNR,
ZVKORG,
ZVTWEG,
ZSPART.
endselect.
3.
*&---------------------------------------------------------------------*
*& Report ZDIWALI_DATA_EXTRA_SEL_OPT
*&
*&---------------------------------------------------------------------*
*&
*&

Venkat

Page 19

Venkat

Practice

ABAP

*&---------------------------------------------------------------------*
REPORT ZDIWALI_DATA_EXTRA_SEL_OPT.
DATA: ZKUNNR TYPE KUNNR,
ZORT01 LIKE KNA1-ORT01,
ZNAME1 TYPE NAME1.
SELECT-OPTIONS S_KUNNR FOR ZKUNNR.

PARAMETERS: RB1
RB2
RB3
RB4
RB5

RADIOBUTTON
RADIOBUTTON
RADIOBUTTON
RADIOBUTTON
RADIOBUTTON

GROUP
GROUP
GROUP
GROUP
GROUP

G1,
G1,
G1 DEFAULT 'X',
G1,
G1.

IF RB1 = 'X'.
DATA: BEGIN OF WA_KNA1,
KUNNR TYPE KUNNR,
NAME1 TYPE NAME1,
LAND1 TYPE LAND1,
END OF WA_KNA1.
DATA: IT LIKE TABLE OF WA_KNA1.
SELECT KUNNR ORT01 NAME1 FROM KNA1 INTO (ZKUNNR,ZORT01,ZNAME1) WHERE KUNNR
IN S_KUNNR.
WRITE:/ ZKUNNR,
ZORT01,
ZNAME1.
ENDSELECT.
ELSEIF
RB2 = 'X'.
* AS WE ARE FECTCHING SINGLE RECORD NO SELECT REQUIRED.
SELECT SINGLE KUNNR ORT01 NAME1 FROM KNA1 INTO (ZKUNNR,ZORT01,ZNAME1) WHERE
KUNNR IN S_KUNNR.
WRITE:/ ZKUNNR,
ZORT01,
ZNAME1.
ELSEIF
RB3 = 'X'.
SELECT KUNNR NAME1 LAND1 FROM KNA1 INTO TABLE IT WHERE KUNNR IN S_KUNNR
.
SORT IT DESCENDING BY KUNNR.
LOOP AT IT INTO WA_KNA1.
WRITE:/ WA_KNA1-KUNNR,
WA_KNA1-NAME1,

Venkat

Page 20

Venkat

Practice

ABAP

WA_KNA1-LAND1.
ENDLOOP.
ELSEIF
RB4 EQ 'X'.
SELECT KUNNR NAME1 LAND1 FROM KNA1 INTO WA_KNA1 WHERE KUNNR IN S_KUNNR.
WRITE:/ WA_KNA1-KUNNR,
WA_KNA1-NAME1,
WA_KNA1-LAND1.
ENDSELECT.
ENDIF.
4.
*&---------------------------------------------------------------------*
*& Report ZDIWALI_DATA_JOINS_FORALL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDIWALI_DATA_JOINS_FORALL.
TABLES KNA1.
SELECT-OPTIONS: P_KUN FOR KNA1-KUNNR.
TYPES: BEGIN OF WA_FLD,
KUNNR TYPE KUNNR,
VBELN TYPE VBELN,
KNUMH TYPE KNUMH,
KSCHL TYPE KSCHA,
KBETR TYPE KBETR_KOND,
END OF WA_FLD.
DATA: WA TYPE WA_FLD,
IT LIKE TABLE OF WA,
IT1 TYPE TABLE OF WA_FLD.
* ABOVE WE HAVE TWO WAYS TO CREATE INTERNAL TABLE BY USING LIKE OR TYPE IF L
IKE REFER TO OBJECT(BY DEFINE
* DATA STATEMENT AND TYPE MEAN (USER DEFINED DATA TYPE KEY WORD TYPES -LINE 11.
PARAMETERS: RB1 RADIOBUTTON GROUP G1,
RB2 RADIOBUTTON GROUP G1.
IF RB1 = 'X'.
SELECT KNA1~KUNNR VBAK~VBELN KONP~KNUMH KONP~KSCHL KONP~KBETR INTO TABLE I
T FROM KNA1
INNER JOIN VBAK ON VBAK~KUNNR EQ KNA1~KUNNR
INNER JOIN KONP ON VBAK~KUNNR EQ KONP~KUNNR

Venkat

Page 21

Venkat

Practice

ABAP

WHERE KNA1~KUNNR IN P_KUN.


ENDIF.
LOOP AT IT INTO WA.
WRITE:/ WA-KUNNR,
WA-VBELN,
WA-KSCHL,
WA-KBETR.
ENDLOOP.
5.
*&---------------------------------------------------------------------*
*& Report ZDIWALI_DATA_JOINS_FORALL_01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDIWALI_DATA_JOINS_FORALL_01.

TABLES: VBAK,KONP.
SELECT-OPTIONS: P_KUN FOR VBAK-KUNNR.
SELECT-OPTIONS P_KSCHL FOR KONP-KSCHL.
TYPES: BEGIN OF TY_FLD,
KUNNR TYPE KUNNR,
VBELN TYPE VBELN,
KNUMH TYPE KNUMH,
KSCHL TYPE KSCHA,
KBETR TYPE KBETR_KOND,
END OF TY_FLD.
DATA: IT_FINAL TYPE TABLE OF TY_FLD,
WA_FINAL
TYPE TY_FLD.
DATA: BEGIN OF WA_VBAK,
VBELN TYPE VBELN,
KUNNR TYPE KUNNR,
KNUMV TYPE KNUMV,
END OF WA_VBAK.
DATA: IT_VBAK LIKE TABLE OF WA_VBAK.
DATA: BEGIN OF WA_KONV,
KNUMH TYPE KNUMH,
KNUMV TYPE KNUMV,
END OF WA_KONV.
DATA: IT_KONV LIKE TABLE OF WA_KONV.
DATA: BEGIN OF WA_KONP,
KSCHL TYPE KSCHA,
KBETR TYPE KBETR_KOND,

Venkat

Page 22

Venkat

Practice

ABAP

KNUMH TYPE KNUMH,


END OF WA_KONP.
DATA: IT_KONP LIKE TABLE OF WA_KONP.
SELECT VBELN KUNNR KNUMV FROM VBAK INTO TABLE IT_VBAK WHERE KUNNR IN P_KUN.
IF NOT IT_VBAK IS INITIAL.
SELECT KNUMH KNUMV FROM KONV INTO TABLE IT_KONV FOR ALL ENTRIES IN IT_VBA
K
WHERE KNUMV EQ IT_VBAK-KNUMV.
IF NOT IT_KONV IS

INITIAL.

SELECT KSCHL KBETR KNUMH FROM KONP INTO TABLE IT_KONP FOR ALL ENTRIES
IN IT_KONV
WHERE KNUMH EQ IT_KONV-KNUMH AND KSCHL IN P_KSCHL.
ENDIF.
ENDIF.
LOOP AT IT_KONV INTO WA_KONV.
READ TABLE IT_KONP INTO WA_KONP WITH KEY KNUMH = WA_KONV-KNUMH.
READ TABLE IT_VBAK INTO WA_VBAK WITH KEY KNUMV = WA_KONV-KNUMV.
MOVE:WA_KONP-KSCHL
WA_KONP-KBETR
WA_VBAK-VBELN
WA_VBAK-KUNNR
WA_KONV-KNUMH

TO
TO
TO
TO
TO

WA_FINAL-KSCHL,
WA_FINAL-KBETR,
WA_FINAL-VBELN,
WA_FINAL-KUNNR,
WA_FINAL-KNUMH.

APPEND WA_FINAL TO IT_FINAL.


ENDLOOP.
LOOP AT IT_FINAL INTO WA_FINAL.
WRITE:/ WA_FINAL-KUNNR,
WA_FINAL-VBELN,
WA_FINAL-KNUMH,
WA_FINAL-KSCHL,
WA_FINAL-KBETR.
ENDLOOP.
6.
*&---------------------------------------------------------------------*
*& Report ZDIWALI_DATA_JOINS_FORALL_02
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

Venkat

Page 23

Venkat

Practice

ABAP

REPORT ZDIWALI_DATA_JOINS_FORALL_02.
TABLES KNA1.
SELECT-OPTIONS:P_KUNNR FOR KNA1-KUNNR.
DATA:BEGIN OF WA,
ZKUNNR TYPE KUNNR,
ZNAME1 TYPE NAME1,
ZVKORG TYPE VKORG,
ZVTWEG TYPE VTWEG,
ZSPART TYPE SPART,
END OF WA.
DATA: ITAB LIKE TABLE OF WA.
DATA: BEGIN OF WA_KNA1,
ZKUNNR TYPE KUNNR,
ZNAME1 TYPE NAME1,
END OF WA_KNA1.
DATA: IT_KNA1 LIKE TABLE OF WA_KNA1.
DATA: BEGIN OF WA_KNVV,
ZVKORG TYPE VKORG,
ZVTWEG TYPE VTWEG,
ZSPART TYPE SPART,
ZKUNNR TYPE KUNNR,
END OF WA_KNVV.
DATA: IT_KNVV LIKE TABLE OF WA_KNVV.
PARAMETERS: RB1 RADIOBUTTON GROUP G1,
RB2 RADIOBUTTON GROUP G1.
IF RB1 EQ 'X'.
SELECT KNA1~KUNNR KNA1~NAME1 KNVV~VKORG KNVV~VTWEG KNVV~SPART
FROM KNA1 INNER JOIN KNVV ON KNA1~KUNNR = KNVV~KUNNR INTO TABLE ITAB
WHERE KNA1~KUNNR IN P_KUNNR.

ELSE.
IF RB2 EQ 'X'.
SELECT KUNNR NAME1 FROM KNA1 INTO TABLE IT_KNA1 WHERE KUNNR IN P_KUNNR.
IF IT_KNA1 IS NOT INITIAL.
SELECT VKORG VTWEG SPART KUNNR FROM KNVV INTO TABLE IT_KNVV FOR ALL ENTRI
ES IN IT_KNA1
WHERE KUNNR EQ IT_KNA1-ZKUNNR .
ENDIF.
ENDIF.
ENDIF.
LOOP AT IT_KNVV INTO WA_KNVV.
READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY ZKUNNR = WA_KNVV-ZKUNNR.
MOVE: WA_KNVV-ZVKORG TO WA-ZVKORG,

Venkat

Page 24

Venkat

Practice

ABAP

WA_KNVV-ZVTWEG TO WA-ZVTWEG,
WA_KNVV-ZSPART TO WA-ZSPART,
WA_KNA1-ZKUNNR TO WA-ZKUNNR,
WA_KNA1-ZNAME1 TO WA-ZNAME1.
APPEND WA TO ITAB.
ENDLOOP.
SORT ITAB DESCENDING BY
LOOP AT ITAB INTO WA.
WRITE:/ WA-ZKUNNR,
WA-ZNAME1,
WA-ZVKORG,
WA-ZVTWEG,
WA-ZSPART.
ENDLOOP.

ZVKORG.

7.
*&---------------------------------------------------------------------*
*& REPORT ZDIWALI_DATA_JOINS_FORALL_03
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDIWALI_DATA_JOINS_FORALL_03.

TABLES : VBAK.
SELECT-OPTIONS : S_VBELN FOR VBAK-VBELN.
PARAMETERS : RB1 RADIOBUTTON GROUP G1,
RB2 RADIOBUTTON GROUP G1 DEFAULT 'X'.
DATA : BEGIN OF WA,
ZKUNNR TYPE KUNNR,
ZVBELN TYPE VBELN,
ZPOSNR TYPE POSNR,
ZMATNR TYPE MATNR,
END OF WA.
DATA : ITAB LIKE TABLE OF WA.
DATA : BEGIN OF WA1,
ZKUNNR TYPE KUNNR,
ZVBELN TYPE VBELN,
END OF WA1.
DATA : ITAB1 LIKE TABLE OF WA1.

Venkat

Page 25

Venkat

Practice

ABAP

DATA : BEGIN OF WA2,


ZVBELN TYPE VBELN,
ZPOSNR TYPE POSNR,
ZMATNR TYPE MATNR,
END OF WA2.
DATA : ITAB2 LIKE TABLE OF WA2.

IF

RB1 = 'X'.

SELECT VBAK~KUNNR VBAK~VBELN VBAP~POSNR VBAP~MATNR FROM VBAK


INNER JOIN VBAP ON VBAK~VBELN = VBAP~VBELN INTO TABLE ITAB WHERE VBAK~
VBELN IN S_VBELN.
SORT ITAB DESCENDING BY ZVBELN.
ELSE.
IF RB2 EQ 'X'.
SELECT VBELN KUNNR FROM VBAK INTO TABLE ITAB1 WHERE VBELN IN S_VBELN.
IF not ITAB1 IS INITIAL.
SELECT VBELN POSNR MATNR FROM VBAP INTO TABLE ITAB2 FOR ALL ENTRIES IN
ITAB1
WHERE VBELN EQ ITAB1-ZVBELN.
ENDIF.
ENDIF.
ENDIF.
LOOP AT ITAB2 INTO WA2.
READ TABLE ITAB1 INTO WA1 WITH KEY ZVBELN = WA2-ZVBELN.
MOVE : WA1-ZVBELN TO WA-ZVBELN,
WA1-ZKUNNR TO WA-ZKUNNR,
WA2-ZPOSNR TO WA-ZPOSNR,
WA2-ZMATNR TO WA-ZMATNR.
APPEND WA TO ITAB.
ENDLOOP.

LOOP AT ITAB INTO WA.


WRITE : / WA-ZVBELN,
WA-ZKUNNR,
WA-ZPOSNR,
WA-ZMATNR.
ENDLOOP.

Venkat

Page 26

Venkat

Practice

ABAP

*&---------------------------------------------------------------------*
*& Report ZDIWALI_DATA_JOINS_FORALL_01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT

ZDIWALI_DATA_JOINS_FORALL_01.

TABLES: VBAK,KONP.
SELECT-OPTIONS: P_KUN FOR VBAK-KUNNR.
SELECT-OPTIONS P_KSCHL FOR KONP-KSCHL.
TYPES: BEGIN OF TY_FLD,
KUNNR TYPE KUNNR,
VBELN TYPE VBELN,
KNUMH TYPE KNUMH,
KSCHL TYPE KSCHA,
KBETR TYPE KBETR_KOND,
END OF TY_FLD.
DATA: IT_FINAL TYPE TABLE OF TY_FLD,
WA_FINAL
TYPE TY_FLD.
DATA: BEGIN OF WA_VBAK,
VBELN TYPE VBELN,
KUNNR TYPE KUNNR,
KNUMV TYPE KNUMV,
END OF WA_VBAK.
DATA: IT_VBAK LIKE TABLE OF WA_VBAK.
DATA: BEGIN OF WA_KONV,
KNUMH TYPE KNUMH,
KNUMV TYPE KNUMV,
END OF WA_KONV.
DATA: IT_KONV LIKE TABLE OF WA_KONV.
DATA: BEGIN OF WA_KONP,
KSCHL TYPE KSCHA,
KBETR TYPE KBETR_KOND,
KNUMH TYPE KNUMH,
END OF WA_KONP.
DATA: IT_KONP LIKE TABLE OF WA_KONP.
SELECT VBELN KUNNR KNUMV FROM VBAK INTO TABLE IT_VBAK WHERE KUNNR IN P_KUN.
IF NOT IT_VBAK IS INITIAL.
SELECT KNUMH KNUMV FROM KONV INTO TABLE IT_KONV FOR ALL ENTRIES IN IT_VBA
K
WHERE KNUMV EQ IT_VBAK-KNUMV.
IF NOT IT_KONV IS

Venkat

INITIAL.

Page 27

Venkat

Practice

ABAP

SELECT KSCHL KBETR KNUMH FROM KONP INTO TABLE IT_KONP FOR ALL ENTRIES
IN IT_KONV
WHERE KNUMH EQ IT_KONV-KNUMH AND KSCHL IN P_KSCHL.
ENDIF.
ENDIF.
LOOP AT IT_KONV INTO WA_KONV.
READ TABLE IT_KONP INTO WA_KONP WITH KEY KNUMH = WA_KONV-KNUMH.
READ TABLE IT_VBAK INTO WA_VBAK WITH KEY KNUMV = WA_KONV-KNUMV.
MOVE:WA_KONP-KSCHL
WA_KONP-KBETR
WA_VBAK-VBELN
WA_VBAK-KUNNR
WA_KONV-KNUMH

TO
TO
TO
TO
TO

WA_FINAL-KSCHL,
WA_FINAL-KBETR,
WA_FINAL-VBELN,
WA_FINAL-KUNNR,
WA_FINAL-KNUMH.

APPEND WA_FINAL TO IT_FINAL.


ENDLOOP.
LOOP AT IT_FINAL INTO WA_FINAL.
WRITE:/ WA_FINAL-KUNNR,
WA_FINAL-VBELN,
WA_FINAL-KNUMH,
WA_FINAL-KSCHL,
WA_FINAL-KBETR.
ENDLOOP.

Venkat

Page 28

You might also like