!--a11y-->

LOOP œßđgp”ÄACÓÌàe[uÌÁêÈ[vđ·é±ÆȘƫܷB
LOOP AT <itab> <result> <condition>.
<statement block>
ENDLOOP.
±ÌvOĆÍALOOP œßÌ<result> ÌwèÉ]ÁÄAe[uÌsȘ 1 sžÂÇĘÜêÜ·B±êÉæÁÄALOOP...ENDLOOP §ä\ąàÌœßĆÇĘÜêœsđ·é±ÆȘƫܷBàe[uÌ·ŚÄÌGgÉ[vđÀs·é©A<condition> đwè”ÄÇĘȚsÌđ§À”Ü·B[vàĆͧäxđs€±ÆȘƫܷB
sȘłêéÍAÈșÌæ€Ée[u^CvÉæÁÄÙÈèÜ·B
· We[uÆ\[ge[u
sÍCi[őűÉ]ÁÄłêÜ·BubNàĆÍAVXeÚ SY-TABIX ÉÍ»ĘÌsÌőűȘi[łêĹܷB
· nbV e[u
e[uȘ\[głêÄąÈąÀèAsÍe[uÉÇÁłêœĆłêÜ·BubNàĆÍAVXeÚSY-TABIX ÍíÉ 0 Ć·B
LOOP ubNđlXg·é±ÆÍĆ«ÜčńB[vđIč·éÆASY-TABIX Í[vđJn”œÆ«ÆŻ¶lÉÈèÜ·BENDLOOP œßÌ ÆÍAe[uGgȘ 1 ÂĆàłêœêÍASY-SUBRC Í 0 ÉĘèłêÜ·Be[uGgȘłêÈ©ÁœêÍA4 ȘĘèłêÜ·B
[vÉÍAe[uđÏX·éàe[uSÌÉηéìđÜß鱯ÍĆ«ÜčńBLOCAL œß ĆO[oàe[uđvV[WÉÛ¶·éìàAe[uÌàeȘđ·łêéÌĆAe[uSÌÉηéÏXìà 鱯ÉӔğłąB”œȘÁÄA[vàĆvV[WđÄŃo·Æ«ÍA»ÌvV[WÉæÁÄàe[uSÌȘÏXłêÈą©Ç€©đ`FbN”ÄŸłąBe[uđÏX·éÆA[vÍł”@\·é±ÆȘĆ«ÈÈèÜ·B
[vpXàĆe[uGgÌ}üâíđs€ÆAă±Ì[vpXĆÈșÌæ€Él¶łêÜ·B
· »ĘÌsÌăëÉsđ}ü”œêA»ÌsÍă±Ì[vpXĆłêÜ·B
· »ĘÌsÌăëÌsđ픜êA»ÌsÍă±Ì[vpXĆłêÜčńB
· »ĘÌsÌOܜͻĘÌsÌÊuÉsđ}ü”œêA»êɶÄà[vJE^ȘÁ”Ü·B
· »ĘÌsÌăëÌsܜͻĘÌsđ픜êA»êɶÄà[vJE^Șž”Ü·B
IvVĆAêÌœßubNĆe[usđgpÂ\É·éû@đwè”Ü·B
»ĘÌ[vsđìÆÌæÉi[·éÉÍAÈșÌæ€É <result> đwè”Ü·B
LOOP AT <itab> INTO <wa> <condition>.
e[usÌàeÍAìÆÌæ <wa> Ìf[^^ÉÏ·Ć«ÈŻêÎÈèÜčńB[vpXČÆÉe[usȘ 1 sìÆÌæÉRs[łêÜ·B[vȘIč”ÄàìÆÌæÉÍeż”ÜčńBÂÜèAENDLOOP œßÌ ÆÌ <wa> ÌàeÍAĆăÌ[vpXÌ<wa> ÌàeÆŻ¶Ć·Be[uȘGgĆ é©Ađ<condition> đœ·sȘÈąœßÉA[vĆe[uGgȘłêÈ©ÁœêÍAìÆÌæÍÏXłêÜčńB
»ĘÌ[vsÌàeđtB[hV{ÉèÄéÉÍAÈșÌæ€É <result> đwè”Ü·B
LOOP AT <itab> ASSIGNING <FS> <conditions>.
e[vpXĆAtB[hV{ <FS> Í»Ì[vpXĆÇĘÜêœe[uGgđw”Ü·Bsf[^^Ș\ą»łêÄąéêAtB[hV{đéŸ·éÆ«ÉŻ¶f[^^đwè”ÄŸłąB±ÌìÉæÁÄAtB[hV{ÌR|[lgđAhXwè·é±ÆȘë鿀ÉÈèÜ·Bf[^^đĂIÉwèĆ«ÈąêÍAÇÁÌtB[hV{Æ\ąÌR|[lgÌèÄÌè@đgp”Ä\ąÌR|[lgđAhXwè”ÄŸłąB
[vȘIč”ÄàtB[hV{ÉÍeż”ÜčńBÂÜèAENDLOOP œßÌ ÆàAĆăÌ[vpXÉèÄçêÄąœsÉèÄçêĹܷBe[uȘGgĆ é©Ađ<condition> đœ·sȘÈąœßÉA[vĆe[uGgȘłêÈ©ÁœêÍAtB[hV{ÍÏXłêÜčńB
tB[hV{Ée[usđèÄéû@ÌÇÁîńÉÂąÄÍAtB[hV{đgp”œANZXđQƔğłąB
»ĘÌe[usÌàeđAìÆÌæÉ]·éKvȘÈąêâAtB[hV{ÉèÄéKvȘÈąêAÈșÌœßđgp·é±ÆȘƫܷB
LOOP AT <itab> TRANSPORTING NO FIELDS <condition>.
±ÌźÌ LOOP œßÍAÁèÌàe[uÌőűâÁèÌđđœ·e[usÌđmF·éêÉÖĆ·B
àe[uÌ·ŚÄÌsȘÇĘÜêÈąæ€É·éÉÍAÈșÌæ€ÉsIđÌđđwè”Ü·B
LOOP AT <itab> <result> WHERE <cond>.
±ÌœßÉæÁÄA_đ <cond> đœ··ŚÄÌsȘłêÜ·B_đÍAĄÌärĆ\ʷ鱯ȘƫܷBeärĆÍAĆÌIyhȘs\ąÌR|[lgĆÈŻêÎÈèÜčńBe[uÌsȘ\ą»łêÄąÈąêAĆÌIyhđ TABLE LINE źÉ·é±ÆàƫܷB±Ìæ€É·éÆAärȘsSÌÉKpłêÜ·B
LOOP àĆAàe[uÉηé§äxđs€±ÆȘƫܷBÂÜèAÁèÌÚÌàeÉàÆĂąÄAêAÌGgđO[vÉȘŻé±ÆȘƫܷB
àe[uÍAs\ąàÌÚÌÉ]ÁÄO[vÉȘŻçêÜ·BÂÜèAĆÌńȘĆăȨ̂äxđ\·ÆąÁœæ€ÉÈèÜ·Bàe[uđìŹ·éÆ«É§äxÌKwȘí©ÁÄąÈŻêÎÈèÜčńB
§äxÍAàe[uđe[u\ąÌĆ\[g·é ( ÂÜèAÜž 1 ÔÚÌÚĆ\[g”AÉ2 ÔÚÌÚĆ\[g”AÈșŻlÉ\[g·é) ±ÆÉæÁÄ`ŹłêÜ·BæȘÉe[uL[Ș ée[uÍA§äxÉÁÉK”ĹܷB
ÈșÌ}ÍA\[ge[uḈäxđŠ”ÄąÜ·BĆÌ 3 ÂÌÚÌ»êŒêÌÚàeȘÊXÌFĆŠłêĹܷB
ńàÌFÌÏ»ÍAηéKwxḈäxÌÏ»đŠ”ÄąÜ·B[vÌubNàĆA§äxœß AT đgp”ħäxÌÏ»ÉÎ·é±ÆȘƫܷB±êđgp·éÆAœßđÁèÌsZbgÌĘÉKp·éæ€Éwè·é±ÆȘƫܷB”œȘÁÄASUM œßđgp”Ä·ŚÄÌsÌTuZbg©çvđvZ·é±ÆȘƫܷB
AT œßÉæÁÄAENDAT œßĆIč·éœßubNȘJnłêÜ·B
AT <level>.
<statement block>
ENDAT.
Èş̦äxÌÏ»ÉÎ·é±ÆȘƫܷB
|
<level> |
ÓĄ |
|
FIRST |
àe[uÌĆÌs |
|
LAST |
àe[uÌĆăÌs |
|
NEW <f> |
Ú <f> šæŃ <f> ̶€ÌeÚÉ éŻ¶àeđÂsÌO[vÌĆÌs |
|
END Of <f> |
Ú <f> šæŃ <f> ̶€ÌeÚÉ éŻ¶àeđÂsÌO[vÌĆăÌs |
_źđgp”Ä©ȘƧäu[NđvO~O·éăíèÉA§äxœßđgp”Äàe[u̧äu[NÉÎ·é±ÆȘƫܷB[vàĆÍA§äxÌKwÉ]ÁÄ AT-ENDAT œßubNđzń·éKvȘ èÜ·Bàe[uÉ ń <f1> A<f2> A.... Ș èA±êçÌńÉæÁÄ»Ìàe[uȘ\[głêéêÍAÈșÌæ€É[vđvO~O”Ü·B
LOOP AT <itab>.
AT FIRST....
ENDAT.
AT NEW <f1>.......
ENDAT.
AT NEW <f
2
>.......
ENDAT.
.......
<single line processing>
.......
AT END OF <f2>....
ENDAT.
AT END OF <f1>....
ENDAT.
AT LAST.....
ENDAT.
ENDLOOP.
Ćà[ąKwx <single line processing> ĆÍA§äxÌÏ»ÆÎ”Èąe[usȘłêÜ·B·ŚÄ̧äxœßđgp·éKvÍ èÜčńB”©”AăLÌV[PXĆgpłêÄąéœßÍKžgp”ÄŸłąBWHERE ÜœÍAFROM šæŃ TO ĆsIđȘ§ÀłêÄąé[vĆÍA§äxœßđgp”ÈąĆŸłąBÜœA[vÉe[uđÏX”ÈąĆŸłąB
§äxÚ <fi> ȘÀsÜĆí©çÈąêÍA<ni> ÉÚ <fi> đwè”Ä (<ni>) Æ”ÄźIÉwè·é±ÆȘƫܷBÀsÉ <ni> ȘóĆ éêÍA§äxÌÏXÌîÍłłêÜ·BItZbgÆ·łđwè”ÄAőđêÌÚɧÀ·é±ÆȘƫܷB
ìÆÌæ <wa> đgp·éêAAT...ENDAT œßubNĆÍAìÆÌæÉ»ĘÌsÍi[łêÜčńB»ĘÌO[vL[ÌE€É é·ŚÄ̶ÚÉÍAX^XN (*) Ș«ÜêÜ·B»ĘÌO[vL[ÌE€É é»ÌÙ©ÌÚÉÍúlȘ«ÜêÜ·B
AT...ENDAT ubNàĆÍASUM œßđgp”ÄAηé§äxÌlÚÌàeđvZ·é±ÆȘƫܷB
SUM.
±ÌœßÍALOOP àĆÌĘgp·é±ÆȘƫܷBAT - ENDAT ubNàĆ SUM đgp·éÆA»ĘÌsO[vÌ·ŚÄÌsÌlÚÌvȘvZłêAìÆÌæÌηéÚÉ»êçÌvȘ«ÜêÜ· ( áđQÆ) BAT - ENDAT ubNÌOĆ SUM œßđgp·é( ÂÊGg) ÆAe[vpXĆàe[uÌ·ŚÄÌsÌlÚÌvȘvZłêAìÆÌæÌηéÚÉ»êçÌvȘ«ÜêÜ·B”œȘÁÄASUM œßÍ AT...ENDAT ubNàĆÌĘgp·é±Æđš§ß”Ü·B
e[uÉlXgłêœe[uȘÜÜêÄąéêÍASUM œßđgp·é±ÆÍĆ«ÜčńBLOOP œßĆìÆÌæĆÍÈtB[hV{đgp”Äąéêà SUM œßđgp·é±ÆÍĆ«ÜčńB

DATA: BEGIN OF LINE,
COL1 TYPE C,
COL2 TYPE I,
COL3 TYPE I,
END OF LINE.
DATA ITAB LIKE HASHED
TABLE OF LINE
WITH UNIQUE KEY
COL1 COL2.
LINE-COL1 =
'A'.
DO 3
TIMES.
LINE-COL2 = SY-INDEX.
LINE-COL3 = SY-INDEX ** 2.
INSERT LINE INTO TABLE ITAB.
ENDDO.
LINE-COL1 =
'B'.
DO 3
TIMES.
LINE-COL2 = 2 * SY-INDEX.
LINE-COL3 = ( 2 * SY-INDEX ) ** 2.
INSERT LINE INTO TABLE ITAB.
ENDDO.
SORT ITAB.
LOOP AT ITAB INTO
LINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
AT END OF COL1.
SUM.
ULINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
SKIP.
ENDAT.
AT LAST.
SUM.
ULINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
ENDAT.
ENDLOOP.
oÍÍÈșÌæ€ÉÈèÜ·B
A 1 1
A 2 4
A 3 9
________________________________
A 6
14
B 2 4
B 4 16
B
6
36
________________________________
B
12 56
________________________________
* 18 70
±ÌvOĆÍAnbV e[u ITAB ȘìŹłêAe[uÉ 6 sȘ«ÜêA\[głêÜ·BLOOP - ENDLOOP ubNĆÍAe[vpXĆìÆÌæ LINE ȘoÍłêÜ·Be[uL[ÌĆÌÚĆ é COL1 ÍA§äxÉgpłêÜ·BCOL1 ÌàeȘÏ»”œÆ«ÆĆăÌ[vpXÌÀsÉA·ŚÄÌlÚÌvȘKžvZłêÜ·B

DATA: BEGIN OF LINE,
CARRID TYPE
SBOOK-CARRID,
CONNID TYPE
SBOOK-CONNID,
FLDATE TYPE
SBOOK-FLDATE,
CUSTTYPE TYPE
SBOOK-CUSTTYPE,
CLASS TYPE
SBOOK-CLASS,
BOOKID TYPE
SBOOK-BOOKID,
END OF LINE.
DATA ITAB LIKE SORTED TABLE OF LINE WITH UNIQUE KEY TABLE LINE.
SELECT CARRID CONNID
FLDATE CUSTTYPE CLASS BOOKID
FROM SBOOK INTO CORRESPONDING FIELDS OF
TABLE ITAB.
LOOP AT ITAB INTO LINE.
AT FIRST.
WRITE / 'List of Bookings'.
ULINE.
ENDAT.
AT NEW CARRID.
WRITE: / 'Carrid:', LINE-CARRID.
ENDAT.
AT NEW CONNID.
WRITE: / 'Connid:', LINE-CONNID.
ENDAT.
AT NEW FLDATE.
WRITE: / 'Fldate:', LINE-FLDATE.
ENDAT.
AT NEW CUSTTYPE.
WRITE: / 'Custtype:', LINE-CUSTTYPE.
ENDAT.
WRITE: / LINE-BOOKID, LINE-CLASS.
AT END OF CLASS.
ULINE.
ENDAT.
ENDLOOP.
±ÌáĆÍAI[v SQL ¶ SELECT đgp”ÄA\[gàe[u ITAB Éf[^x[Xe[u SBOOK Ìf[^Ș«ÜêÜ·B§äxKwÍàe[uàÌńÌÔÉæèèłêÜ·Be[uL[ÍsSÌÈÌĆA\[gƧäxKwÍŻ¶Ć·BLOOP œßÆ ENDLOOP œßÌÔÌ AT-ENDAT ubNÌÍdvĆ·B
oÍÍÈșÌæ€ÉÈèÜ·B
List of Bookings
Carrid: AA
Connid: 0017
Fldate: 1998/11/22
Custtype: B
00063509 C
00063517 C
...
______________________________________________
00063532 F
00063535 F
...
______________________________________________
Custtype: P
00063653 C
00063654 C
...
______________________________________________
00063668 F
00063670 F
...
______________________________________________
Fldate: 1998/29/11
Custtype: B
00064120 C
00064121 C
...
ÈÇB