on 12-23-2006 6:46 PM
CAN ANY ONE SEND ALL THE MATERIALS OF REPORTS
REPORT ZSTUDY no standard page heading line-size 1023 line-count 1.
include <icon>.
data icon_name(30).
icon_name = ICON_PAGE_LEFT.
WRITE: / icon_name AS ICON, "output as icon
'Text line'.
*at selection-screen
*&----
**& Report ZSTUDY *
**& *
*&----
**& *
**& *
*&----
*REPORT ZSTUDY no standard page heading line-size 1023 line-count 1.
*
WRITE: / TEXT-001,
/ 'Line 2 : '(001),
/ 'Line 3 : '(001).
WRITE TEXT-002.
**This is SAP prog
**ABAB programming
WRITE 'Hello'(UVW).
WRITE / TEXT-UVW.
**REPORT ZSTUDY no standard page heading line-size 66.
Part 1
***TYPES : BEGIN OF GTY_PRTNR,
PARVW LIKE KNVP-PARVW,
VTEXT LIKE TPART-VTEXT,
END OF GTY_PRTNR.
***
***DATA : GT_PRTNR TYPE TABLE OF GTY_PRTNR.
***
***SELECT PARVW VTEXT FROM TPART INTO
CORRESPONDING FIELDS OF TABLE GT_PRTNR
WHERE PARVW = 'N1' OR PARVW = 'N2'
OR PARVW = 'N3' OR PARVW = 'N4' .
***
***WRITE ''.
Part 2
*****TYPES: BEGIN OF X_CUSTINFO,
KUNNR LIKE KNA1-KUNNR, " customer number
ADDRNUMBER LIKE ADRC-ADDRNUMBER," address number
SORT2 LIKE ADRC-SORT2, "identifactionno
END OF X_CUSTINFO.
*****
*****data I_CUSTINFO TYPE TABLE OF X_CUSTINFO.
*****
*****SELECT AADDRNUMBER ASORT2
B~KUNNR
FROM ADRC AS A
INNER JOIN KNA1 AS B
ON ( AADDRNUMBER = BADRNR )
INTO CORRESPONDING FIELDS OF TABLE I_CUSTINFO.
SORT I_CUSTINFO BY KUNNR.
*****
*****WRITE ''.
*
**tables: zdetails .
**data : gt_stud like standard table of zdetails,
gw_stud like zdetails,
v_studno." like sy-index.
**do 1023 times.
v_studno = sy-index mod 10.
if sy-index = 1023.
write 'E' no-gap.
elseif sy-index ge 1000.
write '$' no-gap.
elseif v_studno <> 0.
write v_studno no-gap.
else.
write '!' no-gap.
endif.
if v_studno eq 0.
write '1' no-gap.
else.
write '.' no-gap.
endif.
**enddo.
v_studno like zcourse-zstudno.
****select * from zdetails into table gt_stud.
****sort gt_stud ascending by id.
****loop at GT_stud into gw_stud.
write / gw_stud-id.
****endloop.
****loop at gt_stud into gw_stud.
****CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = gw_stud-id
IMPORTING
OUTPUT = gw_stud-id
.
modify gt_stud from gw_stud.
****endloop.
****skip 3.
****loop at GT_stud into gw_stud.
write / gw_stud-id.
****endloop.
**select max( id ) into v_studno from zdetails.
**write v_studno.
**update zdetails set id = '10' where id = '4'.
*
**parameters: p_age as checkbox user-command a1,
p_loc as checkbox user-command a2.
**data i type i.
**select-options: s_age for i modif id 1 .
**select-options: s_age1 for i.
**at selection-screen output.
if p_age = ''.
loop at screen.
if ( screen-group1 = 1 and screen-group3 = 'LOW' ) or
( screen-group1 = 1 and screen-group3 = 'HGH' ).
screen-input = '0'.
modify screen.
endif.
endloop.
message s000(zbdcmsg) with s_age-low.
elseif p_age = 'X'.
loop at screen.
if ( screen-group1 = 1 and screen-group3 = 'LOW' ) or
( screen-group1 = 1 and screen-group3 = 'HGH' ).
screen-input = '1'.
modify screen.
endif.
endloop.
message s000(zbdcmsg) with s_age-low.
endif.
**at user-command.
case sy-ucomm.
when 'A1'.
message s000(zbdcmsg). " with s_age-low.
when 'A2'.
message s001(zbdcmsg).
endcase.
**at selection-screen on p_age.
if p_age = ''.
loop at screen.
if screen-group1 = 1.
screen-input = '0'.
modify screen.
endif.
endloop.
elseif p_age = 'X'.
loop at screen.
if screen-group1 = 1.
screen-input = '1'.
modify screen.
endif.
endloop.
endif.
if p_age = 'X'.
loop at screen.
if screen-group1 = '1'.
screen-input = '0'.
modify screen.
endif.
endloop.
endif.
**if p_age = 'X'.
message i000(zbdcmsg).
**endif.
**message-id zmessage.
**
**DATA: g_DATE TYPE DATS,
g_YEAR TYPE I,
g_MONTH TYPE I,
g_DAY TYPE I,
g_DIG TYPE N,
g_SUM TYPE I,
g_LOOP TYPE I,
g_DUMMY(2) TYPE c.
**
**SELECT-OPTIONS s_DATE FOR g_DATE .
**
**WRITE: (12) 'YEAR' RIGHT-JUSTIFIED, (8) 'MONTH'
RIGHT-JUSTIFIED, (8) 'DAY' RIGHT-JUSTIFIED.
**
**g_YEAR = s_DATE-HIGH+0(4).
**g_MONTH = s_DATE-HIGH+4(2).
**g_DAY = s_DATE-HIGH+6(2).
**WRITE: / .
**
**WRITE: (4) 'HIGH', (8) g_YEAR, (8) g_MONTH, (8) g_DAY .
**
**g_YEAR = s_DATE-LOW+0(4).
**g_MONTH = s_DATE-LOW+4(2).
**g_DAY = s_DATE-LOW+6(2).
**WRITE: / .
**
**WRITE: (4) 'LOW', (8) g_YEAR, (8) g_MONTH, (8) g_DAY .
**WRITE / .
**
**DO.
**
g_DUMMY = g_DAY.
WHILE g_DUMMY NE 0.
g_DIG = g_DUMMY MOD 10 .
g_DUMMY = TRUNC( g_DUMMY / 10 ).
g_SUM = g_SUM + g_DIG.
ENDWHILE .
g_DATE = s_DATE-LOW + g_SUM.
g_DIG = 0.
WRITE / g_DATE .
g_DAY = g_DATE+6(2).
IF g_DATE EQ s_DATE-HIGH.
WRITE / .
WRITE / 'Its there'.
EXIT.
ELSEIF g_DATE GT s_DATE-HIGH.
WRITE / .
WRITE / 'Its not there'.
EXIT.
ENDIF.
**ENDDO.
**
**
***CALL FUNCTION 'GET_COMMENT'
EXPORTING
REF = 'c1'
IM_VALUE = 'c1 '
IMPORTING
TECH_NAME =
DESCRIPTION = a
EXCEPTIONS
CANCELLED = 1
OTHERS = 2
.6
***IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
***ENDIF.
**
***write a.
**
***TABLES ZCOURSE .
***
***DATA: gt_ITAB LIKE STANDARD TABLE OF ZCOURSE WITH HEADER LINE ,
g_TEMP LIKE ZCOURSE-ZSTUDNO.
***
***PERFORM FETCH TABLES gt_ITAB.
***PERFORM DISPLAY TABLES gt_ITAB.
***
SKIP 4.
LOOP AT gt_ITAB .
WRITE / gt_ITAB-ZSTUDNO .
ENDLOOP.
***
***FORM FETCH TABLES gt_ITAB1 STRUCTURE ZCOURSE.
SELECT * FROM ZCOURSE INTO TABLE gt_ITAB1.
***ENDFORM.
***
***FORM DISPLAY TABLES gt_ITAB1 STRUCTURE ZCOURSE .
LOOP AT gt_ITAB1 .
g_TEMP = gt_ITAB1-ZSTUDNO.
WRITE: / g_TEMP .
ENDLOOP.
DELETE gt_ITAB1 WHERE ZSTUDNO BETWEEN 101 AND 110 .
***ENDFORM.
**
***data c(10) type c value 'RAJA'.
****data d type dats.
****parameter date type dats.
****d = date + 10.
****write d.
***
***write c.
****At line-selection.
**SUBMIT ZSyntax and return
VIA job 'ACCESS' NUMBER 19440601.
WITH date = '2006/10/20'.
WITH c = 'fdsafasd'.
**if sy-subrc = 0.
write 'SUCCESS'.
**endif.
**
TABLES: ZSTUD.
***
***SELECT-OPTIONS A FOR ZSTUD-ZIDNAME.
***
**IF A-LOW NS ''.
WRITE / '*'.
***ENDIF.
**
data i type i.
***do.
write / i.
i = i + 1.
***enddo.
***while a < 10.
if a < 5.
write / a.
else.
continue.
endif.
a = a + 1.
***endwhile.
***tables: zstud.
***
***select-options name for zstud-zzname.
***
***write name-high+0(1).
***data: l type string,
p(9) value 'NAGARAJAN',
l1 type i value 9.
***l1 = strlen( p ).
***L = P + 3(L1).
***write / l.
**
**
***TABLES: ZEMPLOY.
***
***DATA ITAB LIKE STANDARD TABLE OF ZEMPLOY WITH HEADER LINE.
***
***SELECT * FROM ZEMPLOY INTO TABLE ITAB WHERE ZEID NOT BETWEEN 102 AND 110.
***
***LOOP AT ITAB.
WRITE / ITAB-ZEID.
***ENDLOOP.
**
***SAPR3://WebRepository/3220039565/ZRBE_LOGO?Version=00001
**
**
**
***SET EXTENDED CHECK OFF.
**
***WRITE / 'Anweisung 1'.
***
**
Syntax error in Unicode Systems:
**
WRITE / 'Anweisung 2'.
PERFORM asd.
WRITE / 'Anweisung 3'.
***
***
***FORM asd.
WRITE / 'Unterprogramm'.
***ENDFORM.
**
***ERSDA -> DATE FIELD
***MATNR -> MATERIAL NUMBER
**
***TABLES: ZCOURSE.
***TABLES: ZACC.
***
***DATA ITAB like STANDARD TABLE OF Zacc with header line.
***DATA ITAB2 like STANDARD TABLE OF Zcourse.
***DATA ITAB3 like STANDARD TABLE OF Zcourse.
***DATA WA LIKE zcourse.
***DATA WA1 LIKE Zcourse.
***
***SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB FROM Zacc.
***SELECT * FROM Zcourse INTO WA FOR ALL ENTRIES IN ITAB WHERE
***ZSTUDNO ne itab-ZSTUDNO.
***APPEND WA TO ITAB3.
***clear wa.
***ENDSELECT.
***
***sort itab3 by zstudno.
***
***LOOP AT ITAB3 INTO WA.
WRITE /(6) WA-ZSTUDNO RIGHT-JUSTIFIED.
***ENDLOOP.
**
***TABLES: zstud,
zmarks .
***DATA ITAB LIKE STANDARD TABLE OF zstud WITH HEADER LINE .
***SELECT-OPTIONS: DATE FOR zmarks-zrollno3." DEFAULT '20050101' TO '20050701' .
***SELECT-OPTIONS: time FOR zstud-ztime." DEFAULT '172500' TO '102500' .
***SELECT * FROM zstud INTO TABLE ITAB WHERE zdate IN DATE and ztime in time.
***
***LOOP AT ITAB.
WRITE / ITAB-zzname.
***ENDLOOP.
**
**
***DATA ITAB LIKE STANDARD TABLE OF ZSTUD WITH HEADER LINE .
***DATA: N TYPE I VALUE 10,
S TYPE I VALUE 1.
***
***SELECT * FROM ZSTUD INTO TABLE ITAB.
***
***DELETE ITAB WHERE ZIDNAME > 5 .
***
***SELECT * FROM ZSTUD APPENDING TABLE ITAB WHERE ZIDNAME > 5.
**
**
***DO N TIMES.
ITAB-ZIDNAME = S.
CONDENSE ITAB-ZIDNAME .
CONCATENATE 'A' ITAB-ZIDNAME INTO ITAB-ZZNAME .
APPEND ITAB.
S = S + 1.
***ENDDO.
***
***MODIFY ZSTUD FROM TABLE ITAB.
**
***LOOP AT ITAB.
WRITE: / ITAB-ZIDNAME, ITAB-ZZNAME .
***ENDLOOP.
**
***DATA: ZIDNAME LIKE ZSTUD-ZIDNAME,
ZZNAME LIKE ZSTUD-ZZNAME,
MANDT LIKE ZSTUD-MANDT.
***
***SELECT * FROM ZSTUD INTO (MANDT, ZIDNAME, ZZNAME) . " A B.
***
***WRITE: / A , B .
**
***tables: zcourse.
***
***data: begin of itab occurs 0,
z1(3),
z2(15),
end of itab.
***
data itab1 like standard table of itab with header line.
***
select (itab) from zcourse into table itab1.
**
loop at itab1.
itab1-z1.
endloop.
**
***
****CALL FUNCTION 'RS_TABLE_LIST_CREATE'
EXPORTING
TABLE_NAME =
ACTION = 'ANZE'
WITHOUT_SUBMIT = ' '
GENERATION_FORCED =
NEW_SEL =
NO_STRUCTURE_CHECK = ' '
DATA_EXIT = ' '
IMPORTING
PROGNAME =
TABLES
SELTAB =
EXCEPTIONS
TABLE_IS_STRUCTURE = 1
TABLE_NOT_EXISTS = 2
DB_NOT_EXISTS = 3
NO_PERMISSION = 4
NO_CHANGE_ALLOWED = 5
OTHERS = 6
.
****IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
****ENDIF.
***
***
***
***"
***TABLES: ZSTUD.
****select-options Z for ZSTUD-ZIDNAME.
***parameter z like zstud-zidname.
***
***"
****DATA A TYPE I.
****DO.
WRITE A.
IF A > 5.
EXIT.
ENDIF.
A = A + 1.
****ENDDO..
***DATA A TYPE I.
***WHILE ( A < 7 ).
WRITE A.
A = A + 1.
***ENDWHILE.
***
***"
****DATA N TYPE I VALUE 304.
****PARAMETER N TYPE I DEFAULT 25.
****DATA S TYPE I.
****DATA A TYPE I.
****S = N / 10.
****A = N MOD 10.
****IF A <> 0 AND A LT 5 .
S = S + 1.
****ENDIF.
****WRITE S.
***
***"
****tables zcourse.
****data lines type i.
****data itab like standard table of zcourse.
****select * from zcourse into table itab.
DESCRIBE TABLE itab LINES lines.
write / lines.
***"
****DATA x type i.
***select count() into x from zcourse where ztype = 'WE'.
****write: / 'No of records = ', x.
***
***" 1 the various formatting of WRITE statement
****write text-002. " the text symbol
****write ' This is SAP '. " a simple display
****AT LINE-SELECTION.
****WRITE SY-LINNO.
***" 2 display with indent ( overwrite or space and 'at' is optional )
****write: 'This', " starts printing at ZERO position
6 'is', " starts printing at SIXTH position
9 'SAP.'. " starts printing at NINETH position
***" 3 display with fixed length ( apart from space between each words
***" and 'at' is optional)
****write: (4) 'This', " lenth of 4
(2) 'is', " lenth of 2
(4) 'SAP.'. " lenth of 3
***" 4 others
****data name(15) value 'Rajan'.
****write name right-justified.
****write / name left-justified.
****write / name CENTERED.
***" 5 the date format
****data dob type d value '20060417'.
****write dob.
****write dob yymmdd.
***" 6 the currency format
****data b type i.
****b = 120000.
****write: b currency 'USD'. "displays 1,200.00
***" 7 the coloring of display
****data:
****write 'ABAP programming' color 1. " violet
****write / 'ABAP programming' color 2. " light blue
****write / 'ABAP programming' color 3. " yellow
****write / 'ABAP programming' color 4. " between 1 and 2
****write / 'ABAP programming' color 5. " green
****write / 'ABAP programming' color 6. " red
****write / 'ABAP programming' color 7. " brown
***" 8 removing of sign
****data b type i.
****b = -2.
****write b.
****write b no-sign.
***" 9 the DO....TIMES.....ENDDO statement
****do 4 times.
write / 'HAI'.
****enddo.
***" 10 the WHILE ....... ENDWHILE
****data a type i. " the declaration of a
a = 1. " the initialization of a
while ( a < 10 ). " while starts with the condition
write / a. " displays i
a = a + 1. " increments the i
endwhile. " while ends
***" 11 the DO................ENDDO
****data a type i. " the declaration of a
a = 1. " the initialization of a
do. " do starts with the condition
write / a. " displays a
a = a + 1. " increments the a
if a > 3. "
exit.
endif.
enddo. " do ends
***" 12 the structure
****data: begin of aaa occurs 0, " structure dec starts
name(9) type c, " field decs
charge type i,
end of aaa.
aaa-name = 'Nagarajan'. " field defs
aaa-charge = 1000.
append aaa. " adding to the structure
aaa-name = 'Ramarajan'.
aaa-charge = 1001.
append aaa.
loop at aaa. " to access each records
WRITE: / aaa-name, aaa-charge.
ENDLOOP.
***" 13 the retrieval and display of a single field
****tables zcourse. " table dec
****data: itab like standard table of zcourse.
****data: wa like zcourse.
****select * from zcourse into table itab. " selection on the table
loop at itab into wa.
write: /(3) wa-ZSTUDNO,
(15) wa-ZSTUDNAME,
(11) wa-ZCOURSE. " display of selected fields or records
endloop.
***" 14 the whole table
****tables zcourse.
****select * from zcourse.
write: /(3) zcourse-zstudno, " indented with length of 3
(15) zcourse-zstudname, " indented with length of 15
(11) zcourse-zcourse, "but it start display after 1 st field...
(2) zcourse-ztype,
(1) zcourse-zstatus.
****endselect.
***" 15 the internal table with header line
****tables: zcourse.
****data: gt1 like zcourse occurs 10 with header line. " creation of internal table with HL
****
****select * from zcourse into table gt1. " tranfer and process
loop at gt1.
write: / gt1-ZSTUDNO.
endloop.
***" 16 the do...times...enddo statement
****do 3 times.
perform sy-index of s1 s2 s3.
****enddo.
form s1.
write: / 'Hi from s1'.
endform.
form s2.
write: / 'Hi from s2'.
endform.
form s3.
write: / 'hi from s3'.
endform.
***" 18 the internal table without header line
****tables: zcourse.
****data: gt1 like standard table of zcourse. " creation of internal table without HL
****data: gw1 like zcourse.
****select * from zcourse into table gt1. " tranfer and process
loop at gt1 into gw1.
write: / gw1-ZSTUDNO.
endloop.
***" 19 the elementry search help
****parameter StudNo type zcourse-zstudno.
***" the keyword 'types'
****types a(8).
data z type a.
z = '20060428'.
write z.
***" 21 the possible typecastings
****data: name(9), name1(9) type c.
****data dob,dob1 type d.
****data avg,avg1 type f.
****data rem,rem1 type i.
****data quo,quo1 type n.
****data eid,eid1 type p.
****data key(2) type x.
****key1 type x.
****data schedule,schedule1 type t.
****write: / name left-justified,
/ dob left-justified,
/ avg left-justified,
/ rem left-justified,
/ quo left-justified,
/ eid left-justified,
/ key left-justified,
/ schedule left-justified.
****name = 'Nagarajan'.
****dob = '19830107'.
****avg = '7.2'.
****rem = 1000.
****quo = '2'.
****eid = 12345678.
****key = 'f806'.
****write key.
****schedule = '121212'.
****write: / name left-justified,
/ dob left-justified,
/ avg left-justified,
/ rem left-justified,
/ quo left-justified,
/ eid left-justified,
/ key left-justified,
/ schedule left-justified.
***" 22 select-options statement
****tables: zcourse.
****select-options: k for zcourse-zstudno.
****data: gt1 like standard table of zcourse. " creation of internal table without HL
****data: gw1 like zcourse.
****select * from zcourse into table gt1 where zstudno in k. " tranfer and process
loop at gt1 into gw1.
write: / gw1-ZCOURSE.
endloop.
***" 23 the use of 'VALUE' justassigns a value
****DATA s(2) TYPE X VALUE 'F089'.
****write s.
***" 24 the use of sysvar
****WRITE: / 'Current date', SY-DATUM,
/ 'Current table index', SY-TABIX,
/ 'Loop counter', SY-INDEX,
/ 'System return code', SY-SUBRC.
***" 25 diff b/w move and chain of assignment
****DATA: SHORT_NAME(8),
LONG_NAME(16).
****MOVE 'Washington' TO: SHORT_NAME, LONG_NAME.
****WRITE: / SHORT_NAME, LONG_NAME.
Take care of intermediate steps
****LONG_NAME = SHORT_NAME = 'Washington'.
****WRITE: / SHORT_NAME, LONG_NAME.
***" 26 form with parameter passing
****DATA: A1 TYPE I value 100,
A2 TYPE I value 200.
****PERFORM CALC USING A1
CHANGING A2.
****WRITE: / 'A2 = ', A2.
****write: / 'A1 = ', A1.
****FORM CALC USING F1 LIKE A1
CHANGING F2 LIKE A2.
F2 = F1 + F2.
****ENDFORM.
***" 27. the apperance of new screen on double click a line
WRITE 'CLICK ME'.
****AT LINE-SELECTION.
WRITE 'This is the new screen'.
***" 28 char typecasting
****data: co(10), a(10) type c.
****co = ' a b c '.
****a = ' d e f '.
****write: / co,
/ a.
do 5 times.
write / .
enddo.
****co = a.
****write / co.
***" 29 typecast of n and i ie n to i
****DATA: NUMBER_1(4) VALUE '1771',
NUMBER_2(3),
RESULT TYPE I.
****NUMBER_2 = '005'.
****RESULT = NUMBER_1 + NUMBER_2.
****WRITE / RESULT.
****NUMBER_2 = ' 5'.
****RESULT = NUMBER_1 + NUMBER_2.
****WRITE / RESULT.
***" 30 typecast of n and i ie i to n
****DATA: NUMBER_1(4) VALUE '1771',
NUMBER_2(3),
RESULT TYPE I.
****result = 1000.
****NUMBER_1 = result.
****RESULT = 200.
****NUMBER_2 = result.
****WRITE: / number_1,
/ number_2.
***" 31 date typecasting
****data dob type d value '19830107'.
****data doj type d value '20060419'.
****write: / dob,
/ doj.
****dob = doj.
****write / dob.
***" 32 n to t
****data a(6) type n value '102300'.
****data b type t value '114010'.
****write: / a,
/ b.
****a = b.
****write: / ' a = ', a.
****b = a.
****write: / ' b = ', b.
***" 33 Using static variables
****PERFORM COUNT.
****PERFORM COUNT.
****FORM COUNT.
STATICS CALLS TYPE I.
CALLS = CALLS + 1.
WRITE CALLS.
****ENDFORM.
***" 34 the insert statement
****data: begin of stud occurs 0,
no type i,
name(10) type c,
****end of stud.
stud-no = 101.
stud-name = 'Nagarajan'.
append stud.
stud-no = 102.
stud-name = 'Ssdeesh'.
append stud.
stud-no = 103.
stud-name = 'Anandth'.
append stud.
stud-no = 104.
stud-name = 'Karthi'.
append stud.
loop at stud.
write: / stud-no,stud-name.
endloop.
stud-no = 105.
insert stud index 5.
stud-name = 'Gokul'.
insert stud index 5.
do 5 times.
write /.
enddo.
loop at stud.
write: / stud-no,stud-name.
endloop.
***
***
****report zivt_test .
**************************************************************
**************************************************************
****tables : mara,makt.
****data : begin of itab_mara occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
chkflg(1) type c,
end of itab_mara.
*****data: v_cntlin type i,
v_matnr like mara-matnr,
v_chkflg type char1.
****type-pools slis.
Field Catalog table
****data : it_fieldcat type slis_t_fieldcat_alv.
****
****************************************************************************
*****start of selection
****************************************************************************
****start-of-selection.
*****Get the Requried Data
perform get_data.
perform get_fieldcatlog.
perform get_layout.
perform display_list.
****&----
*****& Form get_data
****&----
text
****----
****form get_data.
clear : itab_mara,mara,makt.
select amatnr bmaktx from mara as a inner join makt as b
on amatnr = bmatnr into corresponding
fields of table itab_mara up to 100 rows
order by a~matnr.
****endform. " get_data
****&----
*****& Form get_FieldCatlog
****&----
****form get_fieldcatlog.
data: v_fieldcat type slis_fieldcat_alv.
data: pos type i value 1.
*****MACRO for generating the field catalog
define field_cat.
clear v_fieldcat.
v_fieldcat-col_pos = pos.
v_fieldcat-fieldname = &1.
v_fieldcat-ref_fieldname = &2.
v_fieldcat-ref_tabname = &3.
v_fieldcat-key = &4.
append v_fieldcat to it_fieldcat.
pos = pos + 1.
end-of-definition.
*****Macro
field_cat 'MATNR' 'MATNR' 'MARA' 'X'.
field_cat 'MAKTX' 'MAKTX' 'MAKT' space.
****
****endform. " get_FieldCatlog
****&----
*****& Form get_layout
****&----
text
****----
****form get_layout.
****
****endform. " get_layout
****&----
*****& Form display_list
****&----
text
****----
****form display_list.
Call the FM to Display the list
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = v_repid
i_callback_user_command = 'CATCH_UCOMM'
is_layout = it_lay
it_fieldcat = it_fieldcat
it_sort = it_sort
i_default = 'X'
i_save = 'X'
is_variant = v_variant
tables
t_outtab = itab_mara
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
****
endif.
****endform. " display_list
****
****
****CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT =
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB =
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
****IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
****ENDIF.
****
****
****
****CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT =
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB =
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
****IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
****ENDIF.
&----
*& Report ZSYNTAX *
&----
REPORT ZSYNTAX .
*TYPES: BEGIN OF GTY_PROG,
NAME TYPE PROGRAMM, " Program name
MAX_LINE_LENGTH TYPE I, " line length
SOURCE TYPE RSWSOURCET,
END OF GTY_PROG.
*DATA: GT_ONE_PROGRAM TYPE GTY_PROG.
*TYPES: BEGIN OF GTY_KEY_FUN,
KEY(20),
END OF GTY_KEY_FUN.
*DATA: GT_STATEMENTS TYPE TABLE OF SSTMNT,
GT_LEVEL TYPE TABLE OF SLEVEL,
GW_KEY_FUN TYPE GTY_KEY_FUN,
GT_KEYWORDS TYPE TABLE OF GTY_KEY_FUN,
GT_TOKEN TYPE TABLE OF STOKEX.
*
*READ REPORT 'ZBCR_DBACCESS_SEARCH_BUP' INTO GT_ONE_PROGRAM-SOURCE
MAXIMUM WIDTH INTO GT_ONE_PROGRAM-MAX_LINE_LENGTH.
*
*GW_KEY_FUN-KEY = 'SCAN'.
APPEND GW_KEY_FUN TO GT_KEYWORDS.
*
*SCAN ABAP-SOURCE GT_ONE_PROGRAM-SOURCE
KEYWORDS FROM GT_KEYWORDS
TOKENS INTO GT_TOKEN
STATEMENTS INTO GT_STATEMENTS
WITH ANALYSIS WITH
INCLUDES LEVELS INTO GT_LEVEL.
*
*WRITE: 'HAI'.
"
*tables: zcourse, zcourse1.
*select * from zcourse into zcourse1.
*endselect.
*write 'hjetgjkdfipuuijfhilsdfjhjdfhnsdfhsfdklgjhfgjl'.
*" 1 SPECIFY THE SYNTAX TO FETCH DATA FROM CLIENT DEPENDENT DATABASE TABLE
*TABLES: ZCOURSE.
*DATA wa TYPE ZCOURSE.
*DATA name(10) TYPE c VALUE 'ZCOURSE'.
*SELECT * INTO wa FROM (name) CLIENT SPECIFIED.
WHERE mandt = '200'.
WRITE: / wa-ZSTUDNO, wa-ZSTUDNAME.
*ENDSELECT.
" 2 SPECIFY THE SYNTAX TO FETCH 20 RECORDS FROM ANY SAP STANDARD TABLE
*TABLES: SBOOK.
*DATA ITAB LIKE STANDARD TABLE OF SBOOK.
*DATA WA LIKE SBOOK.
*SELECT * FROM SBOOK INTO TABLE ITAB UP TO 20 ROWS.
*LOOP AT ITAB INTO WA.
WRITE / WA-CARRID.
*ENDLOOP.
*" 3 SPECIFY THE SYNTAX TO FETCH INDIVIDUAL COLUMNS IN ONE LINE FROM A DATABASE TABLE
*
*TABLES: ZCOURSE.
*DATA ITAB TYPE STANDARD TABLE OF ZCOURSE WITH HEADER LINE.
*SELECT SINGLE * INTO CORRESPONDING FIELDS OF ITAB FROM ZCOURSE.
WRITE / ITAB-ZSTUDNO.
*" 4 SPECIFY THE SYNTAX TO FETCH INDIVIDUAL COLUMNS IN SEVERAL LINE FROM A DATABASE TABLE
*TABLES: ZCOURSE.
*DATA ITAB TYPE STANDARD TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB FROM ZCOURSE.
*LOOP AT ITAB INTO WA.
WRITE / WA-ZSTUDNO.
*ENDLOOP.
*" 5 SELECT MAXIMUM, MINIMUM, TOTAL OF A FIELD AND POPULATE IT.
*DATA: BEGIN OF S,
A TYPE I,
B TYPE I,
C TYPE I,
END OF S.
*TABLES: ZCOURSE.
*SELECT MAX( ZSTUDNO ) MIN( ZSTUDNO ) SUM( ZSTUDNO ) INTO S FROM ZCOURSE.
*WRITE: / S-A,
/ S-B,
/ S-C.
*" 6 FETCH FEW FIELDS FROM 2 DIFFERENT TABLES BY LINKING THE COMMON
*" FIELDS OF THE CORRESPONDING TABLES USING WHERE CLAUSE IN IT.
*TABLES: ZCOURSE.
*TABLES: ZACC.
*DATA: BEGIN OF wa,
ZSTUDNO TYPE ZCOURSE-ZSTUDNO,
ZSTUDNAME TYPE ZCOURSE-ZSTUDNAME,
ZACCNO TYPE ZACC-ZACCNO,
ZBALANCE TYPE ZACC-ZBALANCE,
END OF wa,
itab LIKE SORTED TABLE OF wa
WITH UNIQUE KEY ZSTUDNO.
*SELECT AZSTUDNO AZSTUDNAME BZACCNO BZBALANCE
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ZCOURSE AS A INNER JOIN ZACC AS B ON AZSTUDNO = BZSTUDNO.
*LOOP AT itab INTO wa.
WRITE: / wa-ZSTUDNO, wa-ZSTUDNAME, wa-ZACCNO, wa-ZBALANCE.
*ENDLOOP.
" 7 WRITE THE SYNTAX TO RETRIEVE DATA, WHICH MATCHES THE ENTRIES WITHIN THE ITAB.
*TABLES: ZCOURSE.
*DATA ITAB TYPE STANDARD TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*SELECT-OPTIONS: A FOR ZCOURSE-ZSTUDNO.
*SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB FROM ZCOURSE WHERE ZSTUDNO IN A.
*LOOP AT ITAB INTO WA.
WRITE / WA-ZSTUDNAME.
*ENDLOOP.
" 8 WRITE THE SYNTAX TO RETRIEVE DATA WHICH MATCHES THE ENTRIES WITHIN A ITAB USING FOR ALL ENTRIES
TABLES: ZCOURSE.
TABLES: ZACC.
DATA ITAB TYPE STANDARD TABLE OF ZCOURSE.
DATA ITAB2 TYPE STANDARD TABLE OF ZCOURSE.
DATA WA LIKE ZCOURSE.
DATA WA1 LIKE ZCOURSE.
SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB FROM ZACC.
SELECT * FROM ZCOURSE INTO WA FOR ALL ENTRIES IN ITAB WHERE
ZSTUDNO NE ITAB-ZSTUDNO.
APPEND WA TO ITAB2.
ENDSELECT.
*APPEND WA TO ITAB2.
WRITE /(7) 'ZSTUDNO'.
WRITE /.
LOOP AT ITAB2 INTO WA1.
WRITE /(6) WA1-ZSTUDNO RIGHT-JUSTIFIED.
ENDLOOP.
" 9 WRITE THE SYNTAX TO SELECT A RANGE OF RECORDS OF A PARTICULAR FIELD FROM A TABLE USING
" VARIOUS SELECT STATEMENTS
*TABLS: ZCOURSE.
*DATA ITAB TYPE STANDARD TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*SELECT * FROM ZCOURSE INTO TABLE ITAB WHERE ZSTUDNO BETWEEN 101 AND 105.
**SELECT-OPTIONS: A FOR ZCOURSE-ZSTUDNO.
**SELECT * FROM ZCOURSE INTO TABLE ITAB WHERE ZSTUDNO IN A.
*LOOP AT ITAB INTO WA.
WRITE / WA-ZSTUDNO.
*ENDLOOP.
" 10 WRITE A SYNTAX TO SELECT A PARTICULAR RECORDS FROM THE INTERNAL
" TABLE WITH DATA USING READ STATEMENT
*TABLES: ZCOURSE.
*DATA ITAB TYPE STANDARD TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB FROM ZCOURSE.
*READ TABLE ITAB INTO WA INDEX 6.
*WRITE / WA-ZSTUDNO.
" 1 QUESTION_1
*DATA: BEGIN OF STR,
DESC1(40) TYPE C,
DESC2(50) TYPE C,
END OF STR.
*DATA ITAB1 LIKE STANDARD TABLE OF STR WITH HEADER LINE.
*DATA ITAB2 LIKE STANDARD TABLE OF STR WITH HEADER LINE.
*
*ITAB1-DESC1 = 'RECORD 1 FIELD 1'.
*ITAB1-DESC2 = 'RECORD 1 FIELD 2'.
*APPEND ITAB1.
*ITAB1-DESC1 = 'RECORD 2 FIELD 1'.
*ITAB1-DESC2 = 'RECORD 2 FIELD 2'.
*APPEND ITAB1.
*ITAB1-DESC1 = 'RECORD 3 FIELD 1'.
*ITAB1-DESC2 = 'RECORD 3 FIELD 2'.
*APPEND ITAB1.
*ITAB1-DESC1 = 'RECORD 4 FIELD 1'.
*ITAB1-DESC2 = 'RECORD 4 FIELD 2'.
*APPEND ITAB1.
*ITAB1-DESC1 = 'RECORD 5 FIELD 1'.
*ITAB1-DESC2 = 'RECORD 5 FIELD 2'.
*APPEND ITAB1.
*ITAB2[] = ITAB1[].
*WRITE /(28) ' DESC1 DESC2'.
*WRITE /.
*LOOP AT ITAB2.
*WRITE: /(16) ITAB2-DESC1, SY-VLINE, ITAB2-DESC2.
*ENDLOOP.
" QUESTION_2
*TABLES: ZEMPLOY.
*DATA: ITAB1 TYPE STANDARD TABLE OF ZEMPLOY,
ITAB2 LIKE STANDARD TABLE OF ZEMPLOY,
ITAB3 LIKE STANDARD TABLE OF ZEMPLOY.
*DATA WA LIKE ZEMPLOY.
*DATA S TYPE I.
*SELECT * FROM ZEMPLOY INTO TABLE ITAB1 WHERE ZSAL BETWEEN 2000 AND 3000.
*SELECT * FROM ZEMPLOY INTO TABLE ITAB2 WHERE ZSAL BETWEEN 3001 AND 5000.
*SELECT * FROM ZEMPLOY INTO TABLE ITAB3 WHERE ZSAL BETWEEN 5001 AND 7000.
*LOOP AT ITAB2 INTO WA.
APPEND WA TO ITAB1.
*ENDLOOP.
*WRITE: / ' OLD ZSAL NEW ZSAL'.
*WRITE / .
*LOOP AT ITAB1 INTO WA WHERE ZSAL BETWEEN 2100 AND 3300.
S = WA-ZSAL.
WA-ZSAL = WA-ZSAL + 200.
WRITE: / S, (3) SY-VLINE RIGHT-JUSTIFIED, WA-ZSAL.
*ENDLOOP.
" CHECKING STATEMENTS
*LOOP AT ITAB1 INTO WA.
WRITE / WA-ZSAL.
*ENDLOOP.
*LOOP AT ITAB2 INTO WA.
WRITE / WA-ZSAL.
*ENDLOOP.
*WRITE: / ' OLD ZSAL NEW ZSAL'.
*WRITE / .
*LOOP AT ITAB1 INTO WA WHERE ZSAL BETWEEN 2100 AND 3000.
S = WA-ZSAL.
WA-ZSAL = WA-ZSAL + 200.
WRITE: / S, (3) SY-VLINE RIGHT-JUSTIFIED, WA-ZSAL.
*ENDLOOP.
*CLEAR WA.
*LOOP AT ITAB2 INTO WA WHERE ZSAL BETWEEN 3000 AND 3300.
S = WA-ZSAL.
WA-ZSAL = WA-ZSAL + 200.
WRITE: / S, (3) SY-VLINE RIGHT-JUSTIFIED, WA-ZSAL.
*ENDLOOP.
*LOOP AT ITAB1 INTO WA.
WRITE / WA-ZENAME.
*ENDLOOP.
" QUESTION_3
*TABLES: ZEMPLOY.
*DATA: ITAB1 TYPE STANDARD TABLE OF ZEMPLOY,
ITAB2 LIKE STANDARD TABLE OF ZEMPLOY.
*DATA A TYPE I.
*DATA WA LIKE ZEMPLOY.
*SELECT * FROM ZEMPLOY INTO TABLE ITAB1 WHERE ZSAL BETWEEN 2000 AND 5000.
*SELECT * FROM ZEMPLOY INTO TABLE ITAB2 WHERE ZSAL BETWEEN 5001 AND 7000.
*SELECT AVG( ZSAL ) FROM ZEMPLOY INTO A.
*LOOP AT ITAB2 INTO WA.
APPEND WA TO ITAB1.
*ENDLOOP.
*WRITE / 'Employees below the Average salary:'.
*WRITE / .
*LOOP AT ITAB1 INTO WA WHERE ZSAL < A.
WRITE / WA-ZENAME.
*ENDLOOP.
*WRITE / .
*WRITE / .
*WRITE / .
*WRITE / 'Employees below the Average salary:'.
*WRITE / .
*LOOP AT ITAB1 INTO WA WHERE ZSAL > A.
WRITE / WA-ZENAME.
*ENDLOOP.
" CHECKING STATEMENTS
*WRITE: / 'Average salary is ', A.
*LOOP AT ITAB1 INTO WA.
WRITE / WA-ZSAL.
*ENDLOOP.
*LOOP AT ITAB2 INTO WA.
WRITE / WA-ZSAL.
*ENDLOOP.
*LOOP AT ITAB1 INTO WA.
WRITE / WA-ZSAL.
*ENDLOOP.
*WRITE / 'Employees below the Average salary:'.
*SELECT
" QUESTION_4
*TABLES: ZEMPLOY.
*DATA: ITAB1 TYPE STANDARD TABLE OF ZEMPLOY,
ITAB2 LIKE STANDARD TABLE OF ZEMPLOY.
*DATA WA LIKE ZEMPLOY.
*PERFORM RETRIEVAL.
*PERFORM DISP.
*FORM RETRIEVAL.
SELECT * FROM ZEMPLOY INTO TABLE ITAB1 WHERE ZSAL > 2000 AND ZAGE BETWEEN 25 AND 35.
*ENDFORM.
*FORM DISP.
*WRITE /(10) 'ZENAME' RIGHT-JUSTIFIED.
*WRITE /.
*LOOP AT ITAB1 INTO WA.
WRITE /(10) WA-ZENAME RIGHT-JUSTIFIED.
*ENDLOOP.
*ENDFORM.
"
*WRITE 'SFFDHDFHDFHDFHDFHDFH'.
*SKIP 5.
*WRITE 'SJDJFGJFFJFGJFJGFGJG'.
*DATA: ALPHABET(10) VALUE 'ABCDEFGHIJ',
THREE(3) VALUE 'DEF',
FOUR(4) VALUE 'DEF '.
*SHIFT ALPHABET UP TO FOUR.
*WRITE ALPHABET.
*DATA S(10) TYPE C VALUE 'QWERTYUIOP'.
*DATA I(10) TYPE C VALUE 'QWERTYUIOP'.
*DATA W(5) TYPE C.
*I = S / 2.
*W = I.
*WRITE / W.
*DATA: text TYPE STRING.
*text = 'abcdefgh'.
*REPLACE SECTION OFFSET 5 OF text WITH ''.
*WRITE TEXT.
SHIFT a BY 2 PLACES LEFT.
*abap-scan
*DATA S(10) TYPE C VALUE 'QWERTYUIO'.
*data x type i.
*x = strlen( s ) - 5.
**do x times.
*shift s by x places.
**enddo.
*write s.
"
*TABLES: mara,sscrfields.
*data: itab like standard table of mara with header line.
*SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
*SELECT-OPTIONS: mat FOR mara-matnr.
*SELECTION-SCREEN END OF BLOCK blk1.
*SELECTION-SCREEN PUSHBUTTON /50(15) material USER-COMMAND press.
*DATA: ok_code LIKE sy-ucomm.
*INITIALIZATION.
MOVE 'MATERIAL REQ' TO material.
*AT SELECTION-SCREEN ON mat.
ok_code = sy-ucomm.
CASE ok_code.
WHEN 'PRESS'.
REFRESH : itab .
SELECT * FROM mara INTO corresponding fields of table itab
WHERE matnr IN mat.
ENDCASE.
IF ok_code = 'PRESS'.
*PERFORM alv.
ENDIF.
*FORM alv .
*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME = 'MARA'
TABLES
T_OUTTAB = itab.
*ENDFORM. " alv
"
*TABLES: ZEMPLOY.
*DATA: ITAB1 TYPE STANDARD TABLE OF ZEMPLOY with header line,
ITAB2 LIKE STANDARD TABLE OF ZEMPLOY with header line,
ITAB3 LIKE STANDARD TABLE OF ZEMPLOY.
*DATA WA LIKE ZEMPLOY.
*DATA S TYPE I.
*SELECT * FROM ZEMPLOY INTO TABLE ITAB1 WHERE ZSAL BETWEEN 2000 AND 3000.
*SELECT * FROM ZEMPLOY INTO TABLE ITAB2 WHERE ZSAL BETWEEN 3001 AND 5000.
*SELECT * FROM ZEMPLOY INTO TABLE ITAB3 WHERE ZSAL BETWEEN 5001 AND 7000.
*append lines of itab2 to itab1.
**clear itab2.
**if itab1-zsal < 4999 or itab1-zsal > 2100.
insert itab1 into itab2.
**endif.
*loop at itab1.
*write / itab1-zsal.
*endloop.
&----
*& Report ZSYNTAX1 *
*& *
&----
*& *
*& *
&----
REPORT ZSYNTAX1 .
" 74 The UPDATE statement
*TABLES: ZCOURSE.
*UPDATE ZCOURSE SET ZSTUDNAME = 'Mr. ALAGU' WHERE ZSTUDNO = 101.
*WRITE 'Successfully updated'.
" 75 The use of HIDE statement
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE.
*WRITE 'IJKLMNOP'.
*AT LINE-SELECTION.
*WRITE: 'ABCDEFGH',ZCOURSE-ZSTUDNAME.
*HIDE ZCOURSE-ZSTUDNO.
" 76
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*SELECT * FROM ZCOURSE INTO TABLE ITAB WHERE ZSTUDNO = 101.
*loop at ITAB INTO WA.
WRITE WA-ZSTUDNAME.
*ENDLOOP.
"
*SELECT * FROM ZCOURSE INTO TABLE ITAB UP TO 5 ROWS.
*loop at ITAB INTO WA.
WRITE / WA-ZSTUDNAME.
*ENDLOOP.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE SORTED TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*DATA M TYPE ZCOURSE-ZSTUDNO.
*SELECT * FROM ZCOURSE INTO TABLE ITAB.
*SELECT MAX(ITAB-ZSTUDNO) FROM ZCOURSE into M WHERE ZCOURSE-ZTYPE = 'WD'.
*WRITE M.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*SELECT ZSTUDNO FROM ZCOURSE INTO TABLE ITAB WHERE ZSTUDNAME LIKE 'Mr. Alagu'.
*loop at ITAB INTO WA.
WRITE / WA-ZSTUDNO.
*ENDLOOP.
*ENDSELECT.
*INSERT ZSTUDNAME FROM TABLE ZCOURSE.
*DATA: count TYPE I,
avg TYPE F,
connid TYPE sbook-connid.
*SELECT CONNID COUNT( * ) avg( LUGGWEIGHT )
INTO (connid, count, avg)
FROM sbook
WHERE
carrid = 'LH' AND
fldate = '20010228'
GROUP BY connid
HAVING AVG( luggweight ) > '20.0'.
WRITE: / connid, count, avg.
*ENDSELECT.
*TABLES: ZCOURSE.
*DATA ZSTUDNO LIKE ZCOURSE-ZSTUDNO.
*DATA: count TYPE I,
avg TYPE F,
ZSTUDNO TYPE ZCOURSE-ZSTUDNO,
ZTYPE TYPE ZCOURSE-ZTYPE,
ZSTATUS TYPE ZCOURSE-ZSTATUS.
*SELECT COUNT( * ) avg( ZSTUDNO )
INTO (count, avg)
FROM ZCOURSE
WHERE
ZTYPE = 'WE' AND
ZSTATUS = 'A'
GROUP BY ZSTUDNO
HAVING AVG( ZSTUDNO ) > '20.0'.
WRITE: / ZSTUDNO, count, avg.
*ENDSELECT.
"
*TABLES: ZCOURSE, ZCOURSE1.
*SELECT * FROM ZCOURSE INTO ZCOURSE1.
*APPEND ZCOURSE1.
*ENDSELECT.
*WRITE 'Copied successfully'.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*READ TABLE ITAB INTO WA WITH STUDNO = 105.
*IF SY-SUBRC = 0
WRITE 'Ya.....We did it.'.
*ELSE
WRITE 'Oho! Not found'.
*ENDIF.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE SORTED TABLE OF ZCOURSE WITH unique key ZSTUDNO.
*DATA WA LIKE ZCOURSE.
*SELECT * FROM ZCOURSE INTO ITAB WHERE ZSTUDNAME LIKE 'Mr. %' and ZTYPE = 'WD'.
*LOOP AT ITAB INTO WA.
WRITE WA-ZSTUDNAME.
*ENDLOOP.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE SORTED TABLE OF ZCOURSE WITH unique key ZSTUDNO.
*DATA WA LIKE ZCOURSE.
*SELECT * FROM ZCOURSE AS F INTO TABLE ITAB WHERE
ZSTUDNO < 106 AND ZTYPE EXISTS ( SELECT DISTINCT ZTYPE FROM ZCOURSE ).
**SELECT DISTINCT ZTYPE FROM ZCOURSE INTO TABLE ITAB.
*LOOP AT ITAB INTO WA.
WRITE / WA-ZSTUDNO.
*ENDLOOP.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE.
*DATA ITAB1 LIKE STANDARD TABLE OF ZCOURSE with header line.
*DATA WA LIKE ZCOURSE.
*SELECT * FROM ZCOURSE INTO TABLE ITAB.
*loop at ITAB INTO WA.
COLLECT WA INTO ITAB1.
WRITE / WA-ZSTUDNAME.
*ENDLOOP.
*SORT ITAB1 BY ZSTUDNO.
*LOOP AT ITAB1.
WRITE / ITAB1-ZSTUDNO.
*ENDLOOP.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE WITH HEADER LINE.
*DATA WA LIKE ZCOURSE.
*SELECT * FROM ZCOURSE INTO TABLE ITAB.
*DELETE ADJACENT DUPLICATES FROM ITAB
*COMPARING ZSTUDNO.
*LOOP AT ITAB.
WRITE / ITAB-ZSTUDNAME.
*ENDLOOP.
ADJACENT
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE WITH HEADER LINE.
*DATA WA LIKE ZCOURSE.
*SELECT * FROM ZCOURSE INTO TABLE ITAB.
*DELETE ITAB FROM 1 TO 10.
*WRITE 'Successfully deleted'.
*LOOP AT ITAB.
WRITE / ITAB-ZSTUDNAME.
*ENDLOOP.
"
*FIELD-SYMBOLS: <ASD> TYPE INT1.
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE WITH HEADER LINE.
*SELECT * FROM ZCOURSE INTO TABLE ITAB.
*LOOP AT ITAB.
ASSIGN ITAB-ZSTUDNO TO <ASD>.
WRITE / <ASD>.
*ENDLOOP.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE.
*DATA WA LIKE ZCOURSE.
*select * into corresponding fields of table itab from zcourse.
*endselect.
*read table itab into wa index 1.
*loop at wa.
write / wa-zstudname.
write / sy-uzeit.
*endloop.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE WITH HEADER LINE.
*DATA WA LIKE ZCOURSE.
*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT =
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB =
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
*IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
"
*TABLES: ZCOURSE.
*DATA ITAB LIKE STANDARD TABLE OF ZCOURSE WITH HEADER LINE.
*DATA WA LIKE ZCOURSE.
*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT =
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB =
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
*IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
"
*parameter word(20) type c.
*data i type i.
*i = strlen( word ).
*data i1 type i.
*i1 = 1.
*DO i TIMES.
write /(i1) word.
i1 = i1 + 1.
*enddo.
"
*data a type string.
*a = 'Hello'.
*write a.
"
*data c1(10) type c.
*data i type i.
*c1 = 'ABCDEFGH'.
*i = charlen( c1 ).
*write: 'The length of c1 is ', i. " displays 1 - always
"
*data: a type string,
b(30) type c,
c(10) type c,
d(10) type c.
*b = 'aaaaaaaaa,bbbbbbbbb,cccccccccc'.
*split b at ',' into a c d.
*write: a, c, d.
"
*data a type i.
*parameter var like a.
*if var < 0.
write 'NEGATIVE'.
*elseif var > 0.
write 'POSITIVE'.
*else.
write 'ZERO'.
*endif.
"
*data a type i.
*parameter var like a.
*case var.
when 1.
write 'ONE'.
when 2.
write 'TWO'.
when 3.
write 'THREE'.
WHEN OTHERS.
WRITE 'OTHERS'.
*endcase.
*DATA: wa_sbook TYPE sbook.
*
*SELECT * FROM sbook INTO wa_sbook
WHERE
carrid = 'LH'
AND connid = '0400' AND
fldate = '20010228'
ORDER BY PRIMARY KEY.
WRITE: / wa_sbook-bookid, wa_sbook-customid,
wa_sbook-custtype, wa_sbook-smoker,
wa_sbook-luggweight, wa_sbook-wunit,
wa_sbook-invoice.
*ENDSELECT.
"
*TABLES: ZCOURSE.
*DATA: WA_SBOOK TYPE SBOOK.
*
*SELECT * FROM SBOOK INTO WA_SBOOK
WHERE
CARRID = 'LH ' AND
CONNID = '0400' AND
FLDATE = '19950228'
ORDER BY PRIMARY KEY.
WRITE: / WA_SBOOK-BOOKID, WA_SBOOK-CUSTOMID,
*
WA_SBOOK-CUSTTYPE, WA_SBOOK-SMOKER,
WA_SBOOK-LUGGWEIGHT, WA_SBOOK-WUNIT,
WA_SBOOK-INVOICE.
*ENDSELECT.
*DATA: BEGIN OF STR,
ZSTUDNO LIKE ZCOURSE-ZSTUDNO,
ZSTUDNAME LIKE ZCOURSE-ZSTUDNAME,
END OF STR.
*
*DATA S TYPE I.
*
*DATA: ITAB LIKE STANDARD TABLE OF STR,
WA LIKE ITAB.
SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB FROM ZCOURSE.
LOOP AT ITAB INTO WA.
WA-ZSTUDNO = ITAB-ZSTUNO.
WA-ZSTUDNAME = ITAB-ZSTUNAME.
ENDLOOP.
*data D TYPE I.
*D = 1.
READ TABLE ITAB INTO WA INDEX D.
SELECT COUNT( WA-ZSSTUDNAME ) AS S FROM ITAB INDEX 1.
*
WRITE S.
&----
*& Report ZSYNTAX2 *
*& *
&----
*& *
*& *
&----
REPORT ZSYNTAX2 .
" 48 The display of table name and no of records in it
*Tables: ZCOURSE.
Variables for later use
*DATA: TABLENAME(10),
COUNT_ROWS TYPE I.
Setting the table name dynamically
*MOVE 'ZCOURSE' TO TABLENAME.
Selecting data
*SELECT COUNT( * ) FROM (TABLENAME) INTO COUNT_ROWS.
*WRITE: TABLENAME, COUNT_ROWS.
" 49 FAILED Use of logical databases
Work area
"Initial processing
*START-OF-SELECTION.
WRITE / 'Start'.
"Reading data
TABLES: ZCOURSE.
*"GET ZCOURSE.
WRITE: AT /3 ZCOURSE-ZSTUDNAME.
"Final processing
*END-OF-SELECTION.
WRITE / 'Finished'.
" 50 the use of messages
*message w001.
*message i001.
*message e000.
*message s001.
*message a001.
" 51 FAILED The addition of two numbers
*parameter: v1 type i,
v2 type i,
v3 type i.
*data: a1 like v1,
a2 like v2.
*DATA t type i.
*t = a1 + a2.
*v3 = t.
*v3 = v1 + v2.
*write 'How is it?'.
" 52 zalv display
&----
*& Chapter 26: Reading data from a file (presentation server)
&----
*REPORT CHAP2604.
Data declarations for later use
*PARAMETERS FILENAME(128) DEFAULT 'c:TEXT.TXT'
LOWER CASE.
*TABLES ZCOURSE.
*DATA ITAB LIKE ZCOURSE OCCURS 100
WITH HEADER LINE.
*data WA like ITAB.
*CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = FILENAME
TABLES
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
OTHERS = 2.
*CASE SY-SUBRC.
WHEN 1.
WRITE 'Error when file opened'.
EXIT.
WHEN 2.
WRITE 'Error during data transfer'.
EXIT.
*ENDCASE.
Display the result
*LOOP AT ZCOURSE into WA.
WRITE: / WA-ZSTUDNO,
WA-ZSTUDNAME.
*ENDLOOP.
" 53 FAILED The 'call screen' statement
*CALL SCREEN 1300.
" 54 The display at desire place
*DATA a(24) TYPE c VALUE 'This is ABAB progrmming'.
*SKIP to LINE 20.
*POSITION 10.
*WRITE a.
" 55 The use of TYPE p, DECIMALS
*DATA a TYPE p DECIMALS 4.
*a = 4 / 5.
*WRITE: 'a = ' , a.
" 56 The use of keyword TYPES
*types a(6) type c.
data z type a.
z = 'ABCDEF'.
write z.
" 57 The use of 'CLAER' statement
*DATA name(13) type c VALUE 'MR.NAGARAJAN'.
*WRITE name.
*CLEAR name.
*WRITE name.
*DATA n type i VALUE 12345.
*WRITE n.
*CLEAR n.
*WRITE n.
" 58 FAILED The use of MATH functions.
*DATA: a type i,
b type i,
c type p DECIMALS 4.
*a = 4.
*b = 5.
*c = a / b.
*WRITE: / c,
/ 'ABS: ', abs(c),
/ 'SIGN: ', sign(c),
/ 'CEIL: ', ceil(c),
/ 'FLOOR:', floor(c),
/ 'TRUNC:', trunc(c),
/ 'FRAC: ', frac(c).
" 59 The use of 'SHIFT' statement
*DATA a(10) type c VALUE 'ABCDEF'.
SHIFT a.
WRITE: 'a = ', a.
SHIFT a BY 2 PLACES LEFT.
WRITE: 'a = ', a.
SHIFT a BY 2 PLACES RIGHT.
WRITE: 'a = ', a.
SHIFT a BY 2 PLACES CIRCULAR.
WRITE: 'a = ', a.
" 60 The us of COUNTER functions
*DATA a TYPE i VALUE 0.
*CALL FUNCTION 'SET_COUNTER'
EXPORTING
SET_VALUE = a
.
*do 3 times.
*CALL FUNCTION 'INCREMENT_COUNTER'
.
*enddo.
*CALL FUNCTION 'GET_COUNTER'
IMPORTING
GET_VALUE = a
.
*WRITE: 'After three increments, a = ', a left-justified.
" 61 The use of 'SELECT' statement
*TABLES: ZCOURSE.
*DATA WA LIKE ZCOURSE.
*SELECT ZSTUDNO ZSTUDNAME ZCOURSE ZTYPE ZSTATUS INTO CORRESPONDING FIELDS OF WA FROM ZCOURSE
WHERE ZSTUDNO = 111.
*ENDSELECT.
*IF sy-subrc EQ 0.
WRITE: / WA-ZSTUDNO, WA-ZSTUDNAME, WA-ZCOURSE, WA-ZTYPE, WA-ZSTATUS.
*else.
WRITE 'Iho! No record, What to do?'.
*ENDIF.
" 62 The display of whole table
*DATA: ITAB TYPE STANDARD TABLE OF ZCOURSE,
WA LIKE LINE OF itab.
*SELECT ZSTUDNO ZSTUDNAME ZCOURSE ZTYPE ZSTATUS
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ZCOURSE.
WHERE ZSTUDNO = 110.
*IF sy-subrc EQ 0.
LOOP AT ITAB INTO WA.
WRITE: / WA-ZSTUDNO, WA-ZSTUDNAME, WA-ZCOURSE, WA-ZTYPE, WA-ZSTATUS.
ENDLOOP.
*ENDIF.
" 63 The use 'PACKAGE SIZE' statement
*TABLES: ZCOURSE.
*DATA: WA TYPE ZCOURSE,
ITAB TYPE SORTED TABLE OF ZCOURSE WITH UNIQUE KEY ZSTUDNO ZSTUDNAME ZCOURSE.
*SELECT * FROM ZCOURSE INTO CORRESPONDING FIELDS OF TABLE ITAB PACKAGE SIZE 3.
*LOOP AT ITAB INTO WA.
WRITE: / WA-ZSTUDNO, WA-ZSTUDNAME, WA-ZCOURSE, WA-ZTYPE, WA-ZSTATUS.
*ENDLOOP.
*ENDSELECT.
" 64 FAILED
*DATA: ITAB TYPE STANDARD TABLE OF ZCOURSE,
WA LIKE LINE OF itab.
*DATA: a type p DECIMALS 2,
b type p DECIMALS 2.
*SELECT * FROM ZCOURSE INTO CORRESPONDING FIELDS OF TABLE ITAB.
*LOOP AT ITAB INTO WA.
WRITE: / WA-ZSTUDNO, WA-ZSTUDNAME, WA-ZCOURSE, WA-ZTYPE, WA-ZSTATUS.
*SELECT avg (ZSTUDNO) SUM (ZSTUDNO) into (a,b) FROM ZCOURSE.
*WRITE: 'The average is ', a,
'The summation is ', b.
*ENDLOOP.
" 64 The use of 'avg' and 'sum' function
*DATA: BEGIN OF l,
average TYPE p DECIMALS 2,
sum TYPE p DECIMALS 2,
END OF l.
*SELECT AVG( ZSTUDNO ) AS average SUM( ZSTUDNO ) AS sum
INTO CORRESPONDING FIELDS OF l
FROM ZCOURSE.
*WRITE: / 'Average:', l-average,
/ 'Sum :', l-sum.
" 65 The STATIC SOURCE SPEC
*TABLES: ZCOURSE.
*DATA wa TYPE ZCOURSE.
*SELECT *
INTO wa
FROM ZCOURSE UP TO 4 ROWS.
WRITE: / wa-ZSTUDNO, wa-ZSTUDNAME.
*ENDSELECT.
" 66 Dynamic SOURCE SPEC
*TABLES: ZCOURSE.
*DATA wa TYPE ZCOURSE.
*DATA name(10) TYPE c VALUE 'ZCOURSE'.
*SELECT *
INTO wa
FROM (name) CLIENT SPECIFIED
WHERE mandt = '200'.
WRITE: / wa-ZSTUDNO, wa-ZSTUDNAME.
*ENDSELECT.
" 67 The inner join of two tables
*TABLES: ZCOURSE.
*TABLES: ZACC.
*DATA: BEGIN OF wa,
ZSTUDNO TYPE ZCOURSE-ZSTUDNO,
ZSTUDNAME TYPE ZCOURSE-ZSTUDNAME,
ZACCNO TYPE ZACC-ZACCNO,
ZBALANCE TYPE ZACC-ZBALANCE,
END OF wa,
itab LIKE SORTED TABLE OF wa
WITH UNIQUE KEY ZSTUDNO.
*
*SELECT AZSTUDNO AZSTUDNAME BZACCNO BZBALANCE
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ZCOURSE AS A INNER JOIN ZACC AS B ON AZSTUDNO = BZSTUDNO.
*LOOP AT itab INTO wa.
WRITE: / wa-ZSTUDNO, wa-ZSTUDNAME, wa-ZACCNO, wa-ZBALANCE.
*ENDLOOP.
" 68 The LEFT OUTER JOIN of two tables
*TABLES: ZCOURSE.
*TABLES: ZACC.
*DATA: BEGIN OF wa,
ZSTUDNO TYPE ZCOURSE-ZSTUDNO,
ZSTUDNAME TYPE ZCOURSE-ZSTUDNAME,
ZACCNO TYPE ZACC-ZACCNO,
ZBALANCE TYPE ZACC-ZBALANCE,
END OF wa.
DATA: ITAB1 LIKE SORTED TABLE OF WA with non-unique key ZSTUDNO. " COURSE-ZTYPE.
*SELECT sZSTUDNO sZSTUDNAME pZACCNO pZBALANCE
INTO CORRESPONDING FIELDS OF TABLE itab1
FROM ZCOURSE AS s
LEFT OUTER JOIN ZACC AS p ON sZSTUDNO = pZSTUDNO.
*LOOP AT itab1 INTO wa.
WRITE: / wa-ZSTUDNO, wa-ZSTUDNAME, wa-ZACCNO.
*ENDLOOP.
" 69 FAILED The 'GROUP BY' statement
TABLES: ZCOURSE.
DATA: BEGIN OF STRCT,
ZSTUDNO LIKE ZCOURSE-ZSTUDNO,
ZSTUDNAME LIKE ZCOURSE-ZSTUDNAME,
ZCOURSE LIKE ZCOURSE-ZCOURSE,
ZTYPE LIKE ZCOURSE-ZTYPE,
ZSTATUS LIKE ZCOURSE-ZSTATUS,
END OF STRCT.
DATA ITAB LIKE SORTED TABLE OF ZCOURSE with unique key ZSTUDNO.
DATA WA LIKE ITAB.
SELECT * FROM ZCOURSE
INTO TABLE ITAB
GROUP BY ZCOURSE-ZTYPE.
LOOP AT ITAB INTO WA.
WRITE: / ZCOURSE-ZSTUDNO, ZCOURSE-ZSTUDNAME.
ENDLOOP.
ENDSELECT.
*printout
*printout
*printout
*printout
*printout
" 70 The LEAP year identification
*DATA: mydate TYPE d.
*mydate = '20050301'.
*mydate = mydate - 1.
*IF mydate+6(2) = '29'.
WRITE 'A leap year'.
*ELSE.
WRITE 'No leap year'.
*ENDIF.
" 71 ABAP MACRO
*DATA: RESULT TYPE I,
N1 TYPE I VALUE 5,
N2 TYPE I VALUE 6.
*DEFINE OPERATION.
RESULT = &1 &2 &3.
OUTPUT &1 &2 &3 RESULT.
*END-OF-DEFINITION.
*DEFINE OUTPUT.
WRITE: / 'The result of &1 &2 &3 is', &4 LEFT-JUSTIFIED.
*END-OF-DEFINITION.
*OPERATION 4 + 3.
*OPERATION 2 * 7.
*OPERATION N2 - N1.
" 72 Messages
*MESSAGE i001.
*MESSAGE s001.
*MESSAGE w001.
*MESSAGE e001.
*MESSAGE a001.
" 73 Varous 'SY-FIELDS'
*WRITE SY-HOST.
*WRITE SY-LANGU.
*WRITE SY-USRID.
*WRITE SY-LILLI.
*WRITE SY-MANDT.
*WRITE SY-MSGID.
*WRITE SY-REPID.
*WRITE SY-SYSID.
*WRITE SY-TITLE.
*WRITE SY-UNAME.
*WRITE SY-UZEIT.
*DO 35 TIMES.
*DO 62 TIMES.
*WRITE SY-VLINE.
*ENDDO.
*ENDDO.
*What is the difference between session batch input and call transaction in BDC?
*Session method.
*1) synchronous processing.
*2) can tranfer large amount of data.
*3) processing is slower.
*4) error log is created
*5) data is not updated until session is processed.
*6) Both foreground and background operations.
*Call transaction.
*1) asynchronous processing
*2) can transfer small amount of data
*3) processing is faster.
*4) errors need to be handled explicitly
*5) data is updated automatically
*6) Only foreground operations.
&----
*& Report ZSYNTAX3 *
*& *
&----
*& *
*& *
&----
REPORT ZSYNTAX3 .
"35 the modify statement
*data: begin of stud occurs 0,
no type i,
name(10) type c,
*end of stud.
stud-no = 101.
stud-name = 'Nagarajan'.
append stud.
stud-no = 102.
stud-name = 'Ssdeesh'.
append stud.
stud-no = 103.
stud-name = 'Anandth'.
append stud.
stud-no = 104.
stud-name = 'Karthi'.
append stud.
loop at stud.
write: / stud-no,stud-name.
endloop.
stud-name = 'Pradeep'.
modify stud index 1.
stud-no = 109.
modify stud index 4.
do 5 times.
write /.
enddo.
loop at stud.
write: / stud-no,stud-name.
endloop.
" 36 the 'free' keyword
*data: begin of stud occurs 0,
no type i,
name(10) type c,
*end of stud.
stud-no = 101.
stud-name = 'Nagarajan'.
append stud.
stud-no = 102.
stud-name = 'Ssdeesh'.
append stud.
stud-no = 103.
stud-name = 'Anandth'.
append stud.
stud-no = 104.
stud-name = 'Karthi'.
append stud.
loop at stud.
write: / stud-no,stud-name.
endloop.
free stud.
do 5 times.
write /.
enddo.
*if stud[] is initial.
write 'Ya! Contents of STUD are deleted'.
*endif.
*printout taken
*printout taken
*printout taken
*printout taken
*printout taken
" 37 the refresh statement
*data: begin of stud occurs 0,
no type i,
name(10) type c,
*end of stud.
stud-no = 101.
stud-name = 'Nagarajan'.
append stud.
stud-no = 102.
stud-name = 'Ssdeesh'.
append stud.
stud-no = 103.
stud-name = 'Anandth'.
append stud.
stud-no = 104.
stud-name = 'Karthi'.
append stud.
loop at stud.
write: / stud-no,stud-name.
endloop.
refresh stud.
do 5 times.
write /.
enddo.
*if stud[] is initial.
write 'Ya! Contents of STUD are deleted'.
*endif.
" 38 the clear statement
*data: begin of stud occurs 0,
no type i,
name(10) type c,
*end of stud.
stud-no = 101.
stud-name = 'Nagarajan'.
append stud.
stud-no = 102.
stud-name = 'Ssdeesh'.
append stud.
stud-no = 103.
stud-name = 'Anandth'.
append stud.
stud-no = 104.
stud-name = 'Karthi'.
append stud.
loop at stud.
write: / stud-no,stud-name.
endloop.
clear stud[].
do 5 times.
write /.
enddo.
*if stud[] is initial.
write 'Ya! Contents of STUD are deleted'.
*endif.
*do 5 times.
write /.
enddo.
loop at stud.
write: / stud-no,stud-name.
if sy-subrc <> 0.
write 'Ya! Contents of STUD are deleted'.
endif.
endloop.
" 39 user defined function module to im/ex values
*data t type p.
*parameter: scoreof1 type p,
scoreof2 type p.
*scoreof1 = 23.
*scoreof2 = 32.
*CALL FUNCTION 'ZMOD'
EXPORTING
SCORE1 = scoreof1
SCORE2 = scoreof2
IMPORTING
TOTAL = t
.
*CALL FUNCTION 'ZMOD'
EXPORTING
SCORE1 = scoreof1
SCORE2 = scoreof2
IMPORTING
TOTAL = t
.
*do 5 times.
write /.
*enddo.
*write: 'The total score is ' , t.
" 40 user defined function module to process the table
*tables: zcourse.
*data b like zcourse occurs 10 with header line.
*CALL FUNCTION 'ZTAB'
TABLES
A = b
.
*do 5 times.
write /.
*enddo.
*loop at b.
write / b-zstudno.
*endloop.
"41 the projection view as table
*tables: zprov.
*data: intern like zprov occurs 10 with header line.
*select * from zprov into table intern.
loop at intern.
write / intern-ZSTUDNO.
endloop.
*intern-zstudno = 120.
*modify intern index 4.
*intern-zstudno = 120.
*insert intern index 4.
*do 5 times.
write /.
*enddo.
*loop at intern.
write / intern-ZSTUDNO.
endloop.
" 42 ABAP events 1
initialization.
write / .
write /(11) '1' right-justified.
start-of-selection.
write /(11) '2' right-justified.
end-of-selection.
write /(11) '3' right-justified.
top-of-page.
write: / '____________________',
/ 'ABAP Events Examples',
/ '____________________'.
at line-selection.
write 'This is a new screen'.
tables: zcourse.
data: gt1 like standard table of zcourse. " creation of internal table without HL
data: gw1 like zcourse.
select * from zcourse into table gt1. " tranfer and process
write / .
loop at gt1 into gw1.
write: /(11) gw1-ZSTUDNO right-justified.
endloop.
" 43 ABAP events 2
*data f1 type i value 1.
end-of-selection.
write: / '3. f1 =', f1.
start-of-selection.
write: / '2. f1 =', f1.
f1 = 99.
initialization.
write: / '1. f1 =', f1.
add 1 to f1.
" 44 ABAB events 3
*report ztx1705 no standard page heading line-count 6(2).
*in events before start-of-selection:
- exit and check have the same behavior. They both leave the event
and processing continues with the next event or action.
- stop goes directly to the end-of-selection event
(don't use stop in initialization or at selection-screen output)
*in start-of-selection and subsequent events:
- exit terminates the report and shows the output list
exception: top-of-page: exit leaves the event
- check leaves the event and processing continues with the next one.
- stop goes directly to the end-of-selection event
"execute an:
parameters: exit_sos radiobutton group g1, "exit in start-of-selection
exit_eos radiobutton group g1, "exit in end-of-selection
chck_sos radiobutton group g1, "check in start-of-selection
chck_eos radiobutton group g1, "check in end of selection
stop_sos radiobutton group g1, "stop in start-of-selection
stop_eos radiobutton group g1, "stop in end-of-selection
none radiobutton group g1. "no stop, exit or check
initialization.
exit. "exits event
check 1 = 2. "exits event
stop. "don't do this
chck_sos = 'X'.
at selection-screen output.
exit. "exits event
check 1 = 2. "exits event
stop. "don't do this
message s789(zk) with 'at selection-screen output'.
at selection-screen on radiobutton group g1.
exit. "exits event
check 1 = 2. "exits event
stop. "goes to end-of-selection
message i789(zk) with 'at selection-screen on rbg'.
at selection-screen.
exit. "exits event
check 1 = 2. "exits event
stop. "goes to end-of-selection
message i789(zk) with 'at selection-screen'.
start-of-selection.
write: / 'Top of SOS'.
if exit_sos = 'X'.
exit. "exits report
elseif chck_sos = 'X'.
check 1 = 2. "exits event
elseif stop_sos = 'X'.
stop. "goes to end-of-selection
endif.
write: / 'Bottom of SOS'.
end-of-selection.
write: / 'Top of EOS'.
if exit_eos = 'X'.
exit. "exits report
elseif chck_eos = 'X'.
check 1 = 2. "exits report
elseif stop_eos = 'X'.
stop. "exits report
endif.
write: / 'Bottom of EOS'.
write: / '1',
/ '2',
/ '3'.
top-of-page.
write: / 'Title'.
exit. "exits event and returns to write statement
check 'X' = 'Y'. "exits event and returns to write statement
stop. "goto end-of-selection - don't write after it
uline.
end-of-page.
uline.
exit. "exits report
check 'X' = 'Y'. "exits event and returns to write statement
stop. "goto end-of-selection - don't write after it
write: / 'Footer'.
*printout
*printout
*printout
*printout
" 45 Various typecastings of time, date, char, x hexade, packed, numeric char, i, float
" 1 typecast of n to i and i to n
*data: num(4) value '1771',
result type I value 1234.
*result = num.
*write result. " displays 1771
*num = '4321'.
*result = 09872.
*num = result.
*write: / ,
/ ,
/ num. " displays 9872
" 2 typecast of t to n and n to t
*data a(6) type n value '102300'.
*data b type t value '114010'.
*write: / a, " displays 102300
/ b. " displays 114010
*a = b.
*write: / ' a = ', a. " displays 114010
*a = '234562'.
*b = a.
*write: / ' b = ', b. " displays 234562
" 3 typecast of p to c and c to p.
*data par type p value 789.
*data n(3) type c value 'kjh'.
*write: / par left-justified, " displays 789
/ n left-justified. " displays kjh
*n = par.
*write: / ' n = ', n. " displays 789
*par = 345.
*n = '564'.
*par = n.
*write: / ' par = ', par. " displays 564
" 46 SINGLE record retrieval
Work area for a database table
*TABLES ZCOURSE.
Reading a single entry
*SELECT SINGLE * FROM ZCOURSE
WHERE ZSTUDNO = '101'.
*IF SY-SUBRC = 0.
WRITE ZCOURSE-ZSTUDNAME.
*ELSE.
WRITE 'Customer not found.'.
*ENDIF.
" 47 the order by statement
Work area
*TABLES ZCOURSE.
Reading table entries in a specified order
*SELECT * FROM ZCOURSE
ORDER BY ZSTUDNAME.
WRITE: / ZCOURSE-ZSTUDNO,
ZCOURSE-ZCOURSE.
*ENDSELECT.
&----
*& Report ZEX3_1 *
*& *
&----
*& *
*& *
&----
REPORT ZEX3_1 line-count 9(3) no standard page heading message-id zmessage .
" ORDER OF EXECUTION OF EVENTS ->
" .- INITIALIZATION
" .- AT SELECTION SCREEN
" .- START-OF-SELECTION
" . GET
" . END-OF-SELECTION
" . AT LINE-SELECTION
" . AT PFN
" . AT USER-COMMAND
" .- TOP-OF-PAGE
" .- END-OF-PAGE
INITIALIZATION.
TABLES: ZCOURSE.
DATA ITAB LIKE STANDARD TABLE OF ZCOURSE WITH HEADER LINE.
PARAMETER : cus LIKE ZCOURSE-ZSTUDNO DEFAULT 212.
AT SELECTION-SCREEN.
IF cus IS INITIAL.
MESSAGE e002.
ENDIF.
START-OF-SELECTION.
PERFORM DISPLAY.
TOP-OF-PAGE.
WRITE: / 'THIS IS INNER JOIN'.
ULINE.
FORM DISPLAY.
SELECT * FROM ZCOURSE INTO TABLE ITAB WHERE ZSTUDNO = cus .
IF SY-SUBRC <> 0.
MESSAGE E002 .
ELSE.
MESSAGE S001.
ENDIF.
WRITE: (7) 'ZSTUDNO', (12) 'ZSTUDNAME' RIGHT-JUSTIFIED, (9) 'ZCOURSE' RIGHT-JUSTIFIED, 35 'ZTYPE', 41 'ZSTATUS'.
WRITE /.
LOOP AT ITAB.
WRITE: /(5) ITAB-ZSTUDNO RIGHT-JUSTIFIED, 12 ITAB-ZSTUDNAME,
24 ITAB-ZCOURSE, 37 ITAB-ZTYPE RIGHT-JUSTIFIED, 44 ITAB-ZSTATUS RIGHT-JUSTIFIED.
ENDLOOP.
WRITE /.
RESERVE 3 LINES.
ENDFORM.
END-OF-PAGE.
ULINE.
WRITE:/ 'THE INNER JOIN IS OBTAINED'.
ULINE.
REPORT ZEX3_2 .
TABLES: ZCOURSE,sscrfields,ZDIS.
type-pools slis.
data: itab like standard table of zcourse.
data title(30) type c.
data: v_fieldcat type slis_fieldcat_alv. "LVC_S_FCAT. " LVC_T_FCAT .
data : it_fieldcat type slis_t_fieldcat_alv.
data: pos type i value 1.
define field_cat.
clear v_fieldcat.
v_fieldcat-col_pos = pos.
v_fieldcat-fieldname = &1.
v_fieldcat-ref_fieldname = &2.
v_fieldcat-ref_tabname = &2.
v_fieldcat-key = &2.
append v_fieldcat to it_fieldcat.
pos = pos + 1.
end-of-definition.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN SKIP 9.
SELECTION-SCREEN PUSHBUTTON /55(15) P1 USER-COMMAND press.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON /55(15) P2 USER-COMMAND press1.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON /55(15) P3 USER-COMMAND press2.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON /55(15) P4 USER-COMMAND press3.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN PUSHBUTTON /55(15) P5 USER-COMMAND press4.
DATA: ok_code LIKE sy-ucomm,
SAVE_CODE LIKE SY-UCOMM.
INITIALIZATION.
MOVE 'ZSTUDNO' TO P1.
MOVE 'STUDNAME' TO P2.
MOVE 'COURSE' TO P3.
MOVE 'TYPE' TO P4.
MOVE 'STATUS' TO P5.
AT SELECTION-SCREEN.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'PRESS'.
CLEAR ITAB.
SELECT ZSTUDNO from ZCOURSE INTO corresponding fields of table itaB.
CLEAR POS.
field_cat 'ZSTUDNO' 'X' .
field_cat 'ZSTUDNO' 'ZCOURSE' 'X' '1'.
FCATLOG '1' '1' 'NO'(T30) 'CHAR' '1' TEXT-T03 TEXT-T03.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = IT_fieldcat
I_DEFAULT = 'X'
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
*CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_BUFFER_ACTIVE =
I_STRUCTURE_NAME = 'ZCOURSE'
I_CLIENT_NEVER_DISPLAY = 'X'
I_BYPASSING_BUFFER =
I_INTERNAL_TABNAME = ITAB
CHANGING
CT_FIELDCAT = IT_fieldcat
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
*IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
IT_FIELDCAT = it_fieldcat
I_DEFAULT = 'X'
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
clear v_fieldcat.
CLEAR IT_FIELDCAT.
WHEN 'PRESS1'.
CLEAR itab .
SELECT zstudnAME from ZCOURSE INTO corresponding fields of table itab.
define field_cat.
clear v_fieldcat.
v_fieldcat-col_pos = pos.
v_fieldcat-fieldname = &1.
v_fieldcat-ref_fieldname = &2.
v_fieldcat-ref_tabname = &3.
v_fieldcat-key = &4.
append v_fieldcat to it_fieldcat.
pos = pos + 1.
end-of-definition.
CLEAR POS.
field_cat 'ZSTUDNAME' 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
IT_FIELDCAT = it_fieldcat
I_DEFAULT = 'X'
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
clear v_fieldcat.
CLEAR IT_FIELDCAT.
WHEN 'PRESS2'.
CLEAR itab .
SELECT zCOURSE from ZCOURSE INTO corresponding fields of table itab.
define field_cat.
clear v_fieldcat.
v_fieldcat-col_pos = pos.
v_fieldcat-fieldname = &1.
v_fieldcat-ref_fieldname = &2.
v_fieldcat-ref_tabname = &3.
v_fieldcat-key = &4.
append v_fieldcat to it_fieldcat.
pos = pos + 1.
end-of-definition.
CLEAR POS.
field_cat 'ZCOURSE' 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
IT_FIELDCAT = it_fieldcat
I_DEFAULT = 'X'
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
clear v_fieldcat.
CLEAR IT_FIELDCAT.
WHEN 'PRESS3'.
CLEAR itab .
SELECT zTYPE from ZCOURSE INTO corresponding fields of table itab.
define field_cat.
clear v_fieldcat.
v_fieldcat-col_pos = pos.
v_fieldcat-fieldname = &1.
v_fieldcat-ref_fieldname = &2.
v_fieldcat-ref_tabname = &3.
v_fieldcat-key = &4.
append v_fieldcat to it_fieldcat.
pos = pos + 1.
end-of-definition.
CLEAR POS.
field_cat 'ZTYPE' 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
IT_FIELDCAT = it_fieldcat
I_DEFAULT = 'X'
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
clear v_fieldcat.
CLEAR IT_FIELDCAT.
WHEN 'PRESS4'.
CLEAR itab .
SELECT zstATUS from ZCOURSE INTO corresponding fields of table itab.
define field_cat.
clear v_fieldcat.
v_fieldcat-col_pos = pos.
v_fieldcat-fieldname = &1.
v_fieldcat-ref_fieldname = &2.
v_fieldcat-ref_tabname = &3.
v_fieldcat-key = &4.
append v_fieldcat to it_fieldcat.
pos = pos + 1.
end-of-definition.
CLEAR POS.
field_cat 'ZSTATUS' 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
IT_FIELDCAT = it_fieldcat
I_DEFAULT = 'X'
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
clear v_fieldcat.
CLEAR IT_FIELDCAT.
ENDCASE.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Arindam,
Forward the same to me at shaheen.csc@gmail.com
Shaheen
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
send your email id.
asvhen
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.