Intro to ABAP - Chapter 10_v1

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.