Upload
ferney23
View
222
Download
1
Embed Size (px)
Citation preview
8/17/2019 Intro to ABAP - Chapter 10_v1
1/24
IBM Global Services
© Copyright IBM Corporation 2003
REPORT Y170DM72.
TABLES: TABNA.
DATA: CNTRY LIKE TABNA-COUNTRY.
SELECT DISTINCT COUNTRYFROM TABNA INTO (CNTRY).
WRITE: / CNTRY.
ENDSELECT.
The SELECT DISTINCT Statement
Us!" SELECTDISTINCT# $
s %&ss'$& *!+$
,%+$ &s&* $s$ s$.
8/17/2019 Intro to ABAP - Chapter 10_v1
2/24
IBM Global Services
© Copyright IBM Corporation 2003
SELECT Using Aggregate Functions
REPORT Y170DM73.TABLES: TABNA.DATA: TOTAL TYPE I#
MA45SALES LIKE TABNA-SALES#A65SALES LIKE TABNA-SALES#MIN5SALES LIKE TABNA-SALES.
SELECT COUNT( DISTINCT COUNTRY )MA4( SALES )A6( SALES )MIN( SALES )
FROM TABNAINTO (TOTAL# MA45SALES# A65SALES# MIN5SALES)
W8ERE COUNTRY 9 SPACE.
WRITE: / ;T+' TABNA S$+$s$s
8/17/2019 Intro to ABAP - Chapter 10_v1
3/24
IBM Global Services
© Copyright IBM Corporation 2003
The Dynamic WHERE Clause
REPRT !"#$D%#&'
TA(LES) TA(NA'
PARA%ETERS)
WHERECL"*#+, DEFAULT -CUNTR! . - -USA/ / /0
WHERECL+*1, DEFAULT -R/0
WHERECL1*#+, DEFAULT -CUNTR! . - -2(/ / /'
T!PE) (E2IN F ITA(3RECRD0 TE4T*#+,0END F ITA(3RECRD'
DATA) WHERE3ITA( T!PE STANDARD TA(LE F
ITA(3RECRD INITIAL SI5E 1 WITH HEADER LINE'
WHERE3ITA(6TE4T . WHERECL"'
APPEND WHERE3ITA('
WHERE3ITA(6TE4T . WHERECL+'
APPEND WHERE3ITA('
WHERE3ITA(6TE4T . WHERECL1'
APPEND WHERE3ITA('
SELECT 7 FR% TA(NA WHERE *WHERE3ITA(,'
WRITE) 8 TA(NA6CUNTR!0 TA(NA6ID'
ENDSELECT'
T %++*$s!$, *+@ %$ &!$!$s &
$ W8ERE +s.T s +s $
&%$&! & +!"!"$ &!,$&!s +!,
,!+*+=$!"
+ $ %&"+* $.
A! !$!+ $+' s+$,
&,s $ W8ERE
+s !$ $ s s, !$
SELECT s$+$*!$.
8/17/2019 Intro to ABAP - Chapter 10_v1
4/24
IBM Global Services
© Copyright IBM Corporation 2003
CNCATENATE Statement
REPORT Y170DM7.TABLES: TABNA.PARAMETERS:
W8ERECL1(72) DEFAULT ;COUNTRY ; ;USA< <
8/17/2019 Intro to ABAP - Chapter 10_v1
5/24
IBM Global Services
© Copyright IBM Corporation 2003
9ariations on the INT Clause
REPORT Y170DM7G.
TABLES: TABNA.
DATA: ITAB LIKE STANDARD TABLE OFTABNA INITIAL SIE G WIT8 8EADER LINE.
SELECT FROM TABNAINTO TABLE ITAB
PACKAE SIE G.
LOOP AT ITAB.WRITE: / ITAB-COUNTRY# ITAB-ID.
ENDLOOP.
ENDSELECT.
SELECT FROM 9,'$+'SELECT FROM 9,'$+' INTO TABLE 9!$!+ $+'INTO TABLE 9!$!+ $+' PACKAE SIE 9!.PACKAE SIE 9!.ENDSELECT.ENDSELECT.
8/17/2019 Intro to ABAP - Chapter 10_v1
6/24
IBM Global Services
© Copyright IBM Corporation 2003
REPORT Y170DM7H.
PARAMETERS: TAB5NAME(G) DEFAULT
;TABNA
8/17/2019 Intro to ABAP - Chapter 10_v1
7/24
IBM Global Services
© Copyright IBM Corporation 2003
CURSR Processing
OPEN CURSOR WIT8 8OLDJ 9s& !+*OPEN CURSOR WIT8 8OLDJ 9s& !+*
FOR 9SELECT s$+$*!$.FOR 9SELECT s$+$*!$.
FETC8 NE4T CURSOR 9s& !+*FETC8 NE4T CURSOR 9s& !+*
INTO 9&@ ++.INTO 9&@ ++.
CLOSE CURSOR 9s& !+*.CLOSE CURSOR 9s& !+*.
8/17/2019 Intro to ABAP - Chapter 10_v1
8/24
IBM Global Services
© Copyright IBM Corporation 2003
Declaring an= PENing a CURSR
REPORT Y170DM77.TABLES: TABNA.DATA:TABCUR TYPE CURSOR#
BEIN OF TABNA5WA#NAME1 LIKE TABNA-NAME1#COUNTRY LIKE TABNA-COUNTRY#
END OF TABNA5WA.
OPEN CURSOR TABCUR FORSELECT NAME1 COUNTRY FROM TABNA.
DO.FETC8 NE4T CURSOR TABCUR INTO TABNA5WA.IF SY-SUBRC 9 0.
CLOSE CURSOR TABCUR.E4IT.
ELSE.WRITE: / TABNA5WA-COUNTRY# TABNA5WA-
NAME1.
ENDIF.ENDDO.
W! ,!!" + CURSOR#W! ,!!" + CURSOR#$ *s$ ' ,+, $ $$ *s$ ' ,+, $ $
,+$+ $% & CURSOR.,+$+ $% & CURSOR.
W! OPEN!" $W! OPEN!" $CURSOR# $CURSOR# $
+ss&+$, SELECT+ss&+$, SELECTs$+$*!$ ss$+$*!$ s
$, $ $$, $ $s$ s$ +$,s$ s$ +$,
+!, s$&, !+!, s$&, !**&.**&.
8/17/2019 Intro to ABAP - Chapter 10_v1
9/24
IBM Global Services
© Copyright IBM Corporation 2003
FETCHing Recor=s ;rom a CURSR
REPORT Y170DM77.TABLES: TABNA.DATA:TABCUR TYPE CURSOR#
BEIN OF TABNA5WA#NAME1 LIKE TABNA-NAME1#COUNTRY LIKE TABNA-COUNTRY#
END OF TABNA5WA.
OPEN CURSOR TABCUR FORSELECT NAME1 COUNTRY FROM TABNA.
DO.
FETC8 NE4T CURSOR TABCUR INTOTABNA5WA.IF SY-SUBRC 9 0.
CLOSE CURSOR TABCUR.E4IT.
ELSE.WRITE: / TABNA5WA-COUNTRY# TABNA-
NAME1.ENDIF.
T FETC8T FETC8
s$+$*!$ $?ss$+$*!$ $?s$ &s &* $$ &s &* $
CURSOR &! ' &!CURSOR &! ' &!!$ $ + !&!$ $ + !&*& &s $.*& &s $.
A$ $ FETC8 s $,# $ SY-A$ $ FETC8 s $,# $ SY-SUBRC s $s$,. & !,+$s +SUBRC s $s$,. & !,+$s +
sss $?+ F& !,+$s $sss $?+ F& !,+$s $+ !& *& &s.+ !& *& &s.
8/17/2019 Intro to ABAP - Chapter 10_v1
10/24
IBM Global Services
© Copyright IBM Corporation 2003
CLSIN2 the CURSR
REPORT Y170DM77.TABLES: TABNA.DATA:TABCUR TYPE CURSOR#
BEIN OF TABNA5WA#NAME1 LIKE TABNA-NAME1#COUNTRY LIKE TABNA-COUNTRY#
END OF TABNA5WA.
OPEN CURSOR TABCUR FORSELECT NAME1 COUNTRY FROM TABNA.
DO.FETC8 NE4T CURSOR TABCUR INTO TABNA5WA.
IF SY-SUBRC 9 0.CLOSE CURSOR TABCUR.E4IT.
ELSE.WRITE: / TABNA5WA-COUNTRY# TABNA-
NAME1.
ENDIF.ENDDO.
W! CURSORW! CURSOR%&ss!" s%&ss!" s
&*%$,# $&*%$,# $CURSOR s&, 'CURSOR s&, '
&s, $ $&s, $ $CLOSE CURSORCLOSE CURSOR
s$+$*!$.s$+$*!$.
8/17/2019 Intro to ABAP - Chapter 10_v1
11/24
IBM Global Services
© Copyright IBM Corporation 2003
>oins) Why We Shoul= Use Them
-oins are .ore e##icient than logical $atabases an$ neste$ selects,
They access ."ltiple tables /ith one select state.ent,
8/17/2019 Intro to ABAP - Chapter 10_v1
12/24
IBM Global Services
© Copyright IBM Corporation 2003
Inner >oins
SFLI8TSCARR
8/17/2019 Intro to ABAP - Chapter 10_v1
13/24
IBM Global Services
© Copyright IBM Corporation 2003
Inner >oins Synta?
SCT !table%1#iel$% table%1#iel$2 table21#iel$3, , , &
INTO !target &
4)OM !table% & INN) -OIN !table2 &
ON !table%15ey#iel$% & 6 !table215ey#iel$% &
AN* !table%15ey#iel$2 & 6 !table215ey#iel$2 &
AN* , , ,
78) , , ,
N*SCT,
8/17/2019 Intro to ABAP - Chapter 10_v1
14/24
IBM Global Services
© Copyright IBM Corporation 2003
The Dri@ing taIN s;light
N scarrcarri= . s;lightcarri='
WRITE) 8 carri=0 conni=0 =ate0 carrname'
ENDSELECT'
8/17/2019 Intro to ABAP - Chapter 10_v1
15/24
IBM Global Services
© Copyright IBM Corporation 2003
Le;t uter >oins
SFLI8TSCARR
8/17/2019 Intro to ABAP - Chapter 10_v1
16/24
IBM Global Services
© Copyright IBM Corporation 2003
Le;t uter >oin Synta?
SCT !table%1#iel$% table%1#iel$2 table21#iel$3, , , &
INTO !target &
4)OM !table% & 4T O9T) -OIN !table2 & ON !table%15ey#iel$% & 6 !table215ey#iel$% &
AN* !table%15ey#iel$2 & 6 !table215ey#iel$2 &
AN* , , ,
78) , , ,
N*SCT,
8/17/2019 Intro to ABAP - Chapter 10_v1
17/24
IBM Global Services
© Copyright IBM Corporation 2003
:en SBL Synta? Restrictions
The synta: #or ;oins have been given certain restrictions in or$er to ins"re that
they pro$"ce the sa.e res"lts #or all SA( s"pporte$ $atabases,
8/17/2019 Intro to ABAP - Chapter 10_v1
18/24
IBM Global Services
© Copyright IBM Corporation 2003
Re=un=ancy
LFA1 BSIK
8/17/2019 Intro to ABAP - Chapter 10_v1
19/24
IBM Global Services
© Copyright IBM Corporation 2003
>oins Accessing %ore than To Ta
8/17/2019 Intro to ABAP - Chapter 10_v1
20/24
IBM Global Services
© Copyright IBM Corporation 2003
Aliases
SELECT A+!+*B+,
B&!!,B,+$
INTO (+,# &!!,# ,+$# +!+*)FROM s+ AS A INNER OIN s"$ AS B
ON s++, s"$+,.WRITE: / +,# &!!,# ,+$#+!+*.ENDSELECT.
8/17/2019 Intro to ABAP - Chapter 10_v1
21/24
IBM Global Services
© Copyright IBM Corporation 2003
Su
8/17/2019 Intro to ABAP - Chapter 10_v1
22/24
IBM Global Services
© Copyright IBM Corporation 2003
Su
8/17/2019 Intro to ABAP - Chapter 10_v1
23/24
IBM Global Services
© Copyright IBM Corporation 2003
Ha@ing Clause
Ls$ + L$+!s+ CONNIDs $ s* &LUWEI8T s 9 20#000.
IBM Gl b l S i
8/17/2019 Intro to ABAP - Chapter 10_v1
24/24
IBM Global Services
© Copyright IBM Corporation 2003
Ha@ing Clause Synta?8E?am:le
SELECT +, &!!, COUNT( ) SUM( """$ )
INTO (+,# &!!,# &!$# s*5"$) FROM s'&&@
W8ERE +, L8
ROUP BY +, &!!,
8A6IN SUM( """$ ) 2G.
WRITE:/ +,# &!!,# &!$# s*5"$.
ENDSELECT.