ƒRƒ“ƒeƒ“ƒcƒtƒŒ[ƒ€‹N“ź

ƒe[ƒuƒ‹ƒGƒ“ƒgƒŠ‚̃‹[ƒvˆ— •¶‘‚đ SAP ƒ‰ƒCƒuƒ‰ƒŠƒXƒgƒ‰ƒNƒ`ƒƒ‚É‘g‚ʍž‚Ț

LOOP –œ—ß‚đŽg—p‚”‚āA”CˆÓ‚Ì“à•”ƒe[ƒuƒ‹‚Ì“ÁŽê‚ȃ‹[ƒv‚đˆ—‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·B

LOOP AT <itab> <result> <condition>.
   <statement block>
ENDLOOP.

‚±‚̃vƒƒOƒ‰ƒ€‚Ƃ́ALOOP –œ—ß‚Ì<result> •”‚ÌŽw’è‚ɏ]‚Á‚āAƒe[ƒuƒ‹‚̍s‚Ș 1 s‚ž‚Â“Ç‚Ęž‚Ü‚ê‚Ü‚·B‚±‚ê‚É‚æ‚Á‚āALOOP...ENDLOOP §Œä\‘ą“à‚Ì–œ—ß‚Ć“Ç‚Ęž‚܂ꂜs‚đˆ—‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·B“à•”ƒe[ƒuƒ‹‚Ì‚·‚Ś‚Ä‚ÌƒGƒ“ƒgƒŠ‚Ƀ‹[ƒv‚đŽÀs‚·‚é‚©A<condition> ‚đŽw’è‚”‚Ä“Ç‚Ęž‚Țs‚̐”‚đ§ŒÀ‚”‚Ü‚·Bƒ‹[ƒv“à‚Ƃ͐§ŒäƒŒƒxƒ‹ˆ—‚đs‚€‚±‚Æ‚Ș‚Ć‚«‚Ü‚·B

s‚Șˆ—‚ł‚ê‚鏇˜‚́AˆÈ‰ș‚̂悀‚Ƀe[ƒuƒ‹ƒ^ƒCƒv‚É‚æ‚Á‚ĈقȂè‚Ü‚·B

·        •W€ƒe[ƒuƒ‹‚ƃ\[ƒgƒe[ƒuƒ‹

s‚̓‰ƒCƒi[őˆű‚ɏ]‚Á‚ďˆ—‚ł‚ê‚Ü‚·Bˆ—ƒuƒƒbƒN“à‚Ƃ́AƒVƒXƒeƒ€€–Ú SY-TABIX ‚ɂ͌»Ę‚̍s‚̍őˆű‚ȘŠi”[‚ł‚ê‚Ä‚ą‚Ü‚·B

·        ƒnƒbƒVƒ…ƒe[ƒuƒ‹

ƒe[ƒuƒ‹‚Șƒ\[ƒg‚ł‚ê‚Ä‚ą‚È‚ąŒÀ‚èAs‚̓e[ƒuƒ‹‚ɒljÁ‚ł‚ꂜ‡˜‚Əˆ—‚ł‚ê‚Ü‚·Bˆ—ƒuƒƒbƒN“à‚Ƃ́AƒVƒXƒeƒ€€–ÚSY-TABIX ‚͏í‚É 0 ‚Ć‚·B

LOOP ƒuƒƒbƒN‚đƒlƒXƒg‚·‚邱‚Æ‚Í‚Ć‚«‚Ü‚č‚ńBƒ‹[ƒv‚đI—č‚·‚邯ASY-TABIX ‚̓‹[ƒv‚đŠJŽn‚”‚œ‚Æ‚«‚Æ“Ż‚¶’l‚ɂȂè‚Ü‚·BENDLOOP –œ—߂̂ ‚Ƃ́Aƒe[ƒuƒ‹ƒGƒ“ƒgƒŠ‚Ș 1 ‚Â‚Ć‚àˆ—‚ł‚ꂜê‡‚́ASY-SUBRC ‚Í 0 ‚ÉĘ’è‚ł‚ê‚Ü‚·Bƒe[ƒuƒ‹ƒGƒ“ƒgƒŠ‚Șˆ—‚ł‚ê‚È‚©‚Á‚œê‡‚́A4 ‚ȘĘ’è‚ł‚ê‚Ü‚·B

ƒ‹[ƒv‚ɂ́Aƒe[ƒuƒ‹‚đ•ύX‚·‚é“à•”ƒe[ƒuƒ‹‘S‘̂ɑ΂·‚é‘€ì‚đŠÜ‚߂邱‚Æ‚Í‚Ć‚«‚Ü‚č‚ńBLOCAL –œ—ß ‚ĆƒOƒ[ƒoƒ‹“à•”ƒe[ƒuƒ‹‚đƒvƒƒV[ƒWƒƒ‚ɕۑ¶‚·‚é‘€ì‚àAƒe[ƒuƒ‹‚Ì“à—e‚ȘŒđŠ·‚ł‚ê‚é‚Ì‚ĆAƒe[ƒuƒ‹‘S‘̂ɑ΂·‚é•ύX‘€ì‚Ć‚ ‚邱‚ƂɒˆÓ‚”‚Ä‚­‚Ÿ‚ł‚ąB‚”‚œ‚Ș‚Á‚āAƒ‹[ƒv“à‚ĆƒvƒƒV[ƒWƒƒ‚đŒÄ‚яo‚·‚Æ‚«‚́A‚»‚̃vƒƒV[ƒWƒƒ‚É‚æ‚Á‚Ä“à•”ƒe[ƒuƒ‹‘S‘Ì‚Ș•ύX‚ł‚ê‚È‚ą‚©‚Ç‚€‚©‚đƒ`ƒFƒbƒN‚”‚Ä‚­‚Ÿ‚ł‚ąBƒe[ƒuƒ‹‚đ•ύX‚·‚邯Aƒ‹[ƒv‚͐ł‚”‚­‹@”\‚·‚邱‚Æ‚Ș‚Ć‚«‚È‚­‚È‚è‚Ü‚·B

ƒ‹[ƒvƒpƒX“à‚Ćƒe[ƒuƒ‹ƒGƒ“ƒgƒŠ‚Ì‘}“ü‚âíœ‚đs‚€‚ƁAŒă‘±‚̃‹[ƒvƒpƒX‚ĆˆÈ‰ș‚̂悀‚ɍl—¶‚ł‚ê‚Ü‚·B

·        Œ»Ę‚̍s‚ÌŒă‚ë‚ɍs‚đ‘}“ü‚”‚œê‡A‚»‚̍s‚ÍŒă‘±‚̃‹[ƒvƒpƒX‚Əˆ—‚ł‚ê‚Ü‚·B 

·        Œ»Ę‚̍s‚ÌŒă‚ë‚̍s‚đíœ‚”‚œê‡A‚»‚̍s‚ÍŒă‘±‚̃‹[ƒvƒpƒX‚Əˆ—‚ł‚ê‚Ü‚č‚ńB

·        Œ»Ę‚̍s‚Ì‘O‚Ü‚œ‚ÍŒ»Ę‚̍s‚̈ʒu‚ɍs‚đ‘}“ü‚”‚œê‡A‚»‚ê‚ɉž‚¶‚Ä“à•”ƒ‹[ƒvƒJƒEƒ“ƒ^‚Ș‘‰Á‚”‚Ü‚·B

·        Œ»Ę‚̍s‚ÌŒă‚ë‚̍s‚Ü‚œ‚ÍŒ»Ę‚̍s‚đíœ‚”‚œê‡A‚»‚ê‚ɉž‚¶‚Ä“à•”ƒ‹[ƒvƒJƒEƒ“ƒ^‚ȘŒž­‚”‚Ü‚·B

•â‘«ˆ—ƒIƒvƒVƒ‡ƒ“‚ÌŽw’è

ˆ—ƒIƒvƒVƒ‡ƒ“‚ƁAˆê——‚Ì–œ—߃uƒƒbƒN‚Ćƒe[ƒuƒ‹s‚đŽg—p‰Â”\‚É‚·‚é•û–@‚đŽw’è‚”‚Ü‚·B

ì‹Æ—̈æ‚ÌŽg—p

Œ»Ę‚̃‹[ƒvs‚đì‹Æ—̈æ‚ÉŠi”[‚·‚é‚ɂ́AˆÈ‰ș‚̂悀‚É <result> ‚đŽw’è‚”‚Ü‚·B

LOOP AT <itab> INTO <wa> <condition>.

ƒe[ƒuƒ‹s‚Ì“à—e‚́Aì‹Æ—̈æ <wa> ‚̃f[ƒ^Œ^‚ɕϊ·‚Ć‚«‚È‚Ż‚ê‚΂Ȃè‚Ü‚č‚ńBƒ‹[ƒvƒpƒX‚Č‚Æ‚Éƒe[ƒuƒ‹s‚Ș 1 sì‹Æ—̈æ‚ɃRƒs[‚ł‚ê‚Ü‚·Bƒ‹[ƒv‚ȘI—č‚”‚Ä‚àì‹Æ—̈æ‚ɂ͉e‹ż‚”‚Ü‚č‚ńB‚‚܂èAENDLOOP –œ—߂̂ ‚Æ‚Ì <wa> ‚Ì“à—e‚́AĆŒă‚̃‹[ƒvƒpƒXŽž‚Ì<wa> ‚Ì“à—e‚Æ“Ż‚¶‚Ć‚·Bƒe[ƒuƒ‹‚ȘƒGƒ“ƒgƒŠ‚Ć‚ ‚é‚©AđŒ<condition> ‚đ–ž‚œ‚·s‚Ș‚È‚ą‚œ‚߂ɁAƒ‹[ƒv‚Ćƒe[ƒuƒ‹ƒGƒ“ƒgƒŠ‚Șˆ—‚ł‚ê‚È‚©‚Á‚œê‡‚́Aì‹Æ—̈æ‚͕ύX‚ł‚ê‚Ü‚č‚ńB 

ƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚ÌŽg—p

Œ»Ę‚̃‹[ƒvs‚Ì“à—e‚đƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚ÉŠ„‚è“–‚Ä‚é‚ɂ́AˆÈ‰ș‚̂悀‚É <result> ‚đŽw’è‚”‚Ü‚·B

LOOP AT <itab> ASSIGNING <FS> <conditions>.

Šeƒ‹[ƒvƒpƒX‚ƁAƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹ <FS> ‚Í‚»‚̃‹[ƒvƒpƒX‚Ć“Ç‚Ęž‚܂ꂜƒe[ƒuƒ‹ƒGƒ“ƒgƒŠ‚đŽw‚”‚Ü‚·Bsƒf[ƒ^Œ^‚Ș\‘ą‰»‚ł‚ê‚Ä‚ą‚éê‡AƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚đéŒŸ‚·‚邯‚«‚ɓ݂¶ƒf[ƒ^Œ^‚đŽw’è‚”‚Ä‚­‚Ÿ‚ł‚ąB‚±‚Ì‘€ì‚É‚æ‚Á‚āAƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚đƒAƒhƒŒƒXŽw’è‚·‚邱‚Æ‚Ș‚Ć‚«‚邿‚€‚ɂȂè‚Ü‚·Bƒf[ƒ^Œ^‚đĂ“I‚ÉŽw’è‚Ć‚«‚È‚ąê‡‚́A’ljÁ‚̃tƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚ƍ\‘ą‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ÌŠ„‚è“–‚Ă̎è–@‚đŽg—p‚”‚č\‘ą‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚đƒAƒhƒŒƒXŽw’è‚”‚Ä‚­‚Ÿ‚ł‚ąB

ƒ‹[ƒv‚ȘI—č‚”‚Ä‚àƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚ɂ͉e‹ż‚”‚Ü‚č‚ńB‚‚܂èAENDLOOP –œ—߂̂ ‚Æ‚àAĆŒă‚̃‹[ƒvƒpƒXŽž‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ä‚ą‚œs‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ä‚ą‚Ü‚·Bƒe[ƒuƒ‹‚ȘƒGƒ“ƒgƒŠ‚Ć‚ ‚é‚©AđŒ<condition> ‚đ–ž‚œ‚·s‚Ș‚È‚ą‚œ‚߂ɁAƒ‹[ƒv‚Ćƒe[ƒuƒ‹ƒGƒ“ƒgƒŠ‚Șˆ—‚ł‚ê‚È‚©‚Á‚œê‡‚́AƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚͕ύX‚ł‚ê‚Ü‚č‚ńB 

ƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚Ƀe[ƒuƒ‹s‚đŠ„‚è“–‚Ä‚é•û–@‚̒ljÁî•ń‚ɂ‚ą‚ẮAƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚đŽg—p‚”‚œƒAƒNƒZƒX‚đŽQÆ‚”‚Ä‚­‚Ÿ‚ł‚ąB

s‚ÌŠ„‚è“–‚Ă̗}Ž~

Œ»Ę‚̃e[ƒuƒ‹s‚Ì“à—e‚đAì‹Æ—̈æ‚É“]‘—‚·‚é•K—v‚Ș‚È‚ąê‡‚âAƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚ÉŠ„‚è“–‚Ä‚é•K—v‚Ș‚È‚ąê‡AˆÈ‰ș‚Ì–œ—ß‚đŽg—p‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·B

LOOP AT <itab> TRANSPORTING NO FIELDS <condition>.

‚±‚̏‘Žź‚Ì LOOP –œ—߂́A“Á’è‚Ì“à•”ƒe[ƒuƒ‹‚̍őˆű‚â“Á’è‚ÌđŒ‚đ–ž‚œ‚·ƒe[ƒuƒ‹s‚̐”‚đŠm”F‚·‚éê‡‚ɕ֗˜‚Ć‚·B

đŒ‚ÌŽw’è

“à•”ƒe[ƒuƒ‹‚Ì‚·‚Ś‚Ä‚Ìs‚Ș“Ç‚Ęž‚Ü‚ê‚È‚ą‚æ‚€‚É‚·‚é‚ɂ́AˆÈ‰ș‚̂悀‚ɍs‘I‘đ‚ÌđŒ‚đŽw’è‚”‚Ü‚·B

LOOP AT <itab> <result> WHERE <cond>.

‚±‚Ì–œ—߂ɂæ‚Á‚āA˜_—đŒ <cond> ‚đ–ž‚œ‚·‚·‚Ś‚Ä‚Ìs‚Șˆ—‚ł‚ê‚Ü‚·B˜_—đŒ‚́A•Ą”‚Ì”äŠr‚ƍ\Ź‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·BŠe”äŠr‚Ƃ́AĆ‰‚̃Iƒyƒ‰ƒ“ƒh‚Șs\‘ą‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚Ć‚È‚Ż‚ê‚΂Ȃè‚Ü‚č‚ńBƒe[ƒuƒ‹‚̍s‚Ș\‘ą‰»‚ł‚ê‚Ä‚ą‚È‚ąê‡AĆ‰‚̃Iƒyƒ‰ƒ“ƒh‚đ TABLE LINE Žź‚É‚·‚邱‚Æ‚à‚Ć‚«‚Ü‚·B‚±‚̂悀‚É‚·‚邯A”äŠr‚Șs‘S‘̂ɓK—p‚ł‚ê‚Ü‚·B

§ŒäƒŒƒxƒ‹ˆ—

LOOP “à‚ƁA“à•”ƒe[ƒuƒ‹‚ɑ΂·‚鐧ŒäƒŒƒxƒ‹ˆ—‚đs‚€‚±‚Æ‚Ș‚Ć‚«‚Ü‚·B‚‚܂èA“Á’è‚̍€–Ú‚Ì“à—e‚É‚à‚Æ‚Ă‚ą‚āAˆê˜A‚̃Gƒ“ƒgƒŠ‚đƒOƒ‹[ƒv‚É•Ș‚݂邱‚Æ‚Ș‚Ć‚«‚Ü‚·B

“à•”ƒe[ƒuƒ‹‚́As\‘ą“à‚̍€–ڂ̏‡˜‚ɏ]‚Á‚ăOƒ‹[ƒv‚É•Ș‚Ż‚ç‚ê‚Ü‚·B‚‚܂èAĆ‰‚Ì—ń‚ȘĆăˆÊ‚̐§ŒäƒŒƒxƒ‹‚đ•\‚·‚Æ‚ą‚Á‚œ‚æ‚€‚ɂȂè‚Ü‚·B“à•”ƒe[ƒuƒ‹‚đìŹ‚·‚邯‚«‚ɐ§ŒäƒŒƒxƒ‹‚ÌŠK‘w‚Ș‚í‚©‚Á‚Ä‚ą‚È‚Ż‚ê‚΂Ȃè‚Ü‚č‚ńB

§ŒäƒŒƒxƒ‹‚́A“à•”ƒe[ƒuƒ‹‚đƒe[ƒuƒ‹\‘ą‚̏‡˜‚Ćƒ\[ƒg‚·‚é ( ‚‚܂èA‚Ü‚ž 1 ”Ԗڂ̍€–Ú‚Ćƒ\[ƒg‚”AŽŸ‚É2 ”Ԗڂ̍€–Ú‚Ćƒ\[ƒg‚”AˆÈ‰ș“Ż—l‚Ƀ\[ƒg‚·‚é) ‚±‚Ƃɂæ‚Á‚ÄŒ`Ź‚ł‚ê‚Ü‚·Bæ“Ș‚Ƀe[ƒuƒ‹ƒL[‚Ș‚ ‚éƒe[ƒuƒ‹‚́A§ŒäƒŒƒxƒ‹ˆ—‚É“Á‚É“K‚”‚Ä‚ą‚Ü‚·B 

ˆÈ‰ș‚̐}‚́Aƒ\[ƒgƒe[ƒuƒ‹‚Ć‚Ì§ŒäƒŒƒxƒ‹ˆ—‚đŽŠ‚”‚Ä‚ą‚Ü‚·BĆ‰‚Ì 3 ‚‚̍€–Ú‚Ì‚»‚ꂌ‚ê‚̍€–Ú“à—e‚Ș•ʁX‚̐F‚ĆŽŠ‚ł‚ê‚Ä‚ą‚Ü‚·B

‚±‚̃Oƒ‰ƒtƒBƒbƒN‚Í“Y•t‚̃eƒLƒXƒg‚Éà–Ÿ‚ł‚ê‚Ä‚ą‚Ü‚·

—ń“à‚̐F‚̕ω»‚́A‘Ήž‚·‚éŠK‘wƒŒƒxƒ‹‚Ć‚Ì§ŒäƒŒƒxƒ‹‚̕ω»‚đŽŠ‚”‚Ä‚ą‚Ü‚·Bƒ‹[ƒv‚̏ˆ—ƒuƒƒbƒN“à‚ƁA§ŒäƒŒƒxƒ‹–œ—ß AT ‚đŽg—p‚”‚ЧŒäƒŒƒxƒ‹‚̕ω»‚ɑΉž‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·B‚±‚ê‚đŽg—p‚·‚邯A–œ—ß‚đ“Á’è‚̍sƒZƒbƒg‚Ì‚Ę‚É“K—p‚·‚邿‚€‚ÉŽw’è‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·B‚”‚œ‚Ș‚Á‚āASUM –œ—ß‚đŽg—p‚”‚Ä‚·‚Ś‚Ä‚Ìs‚̃TƒuƒZƒbƒg‚©‚獇Œv‚đŒvŽZ‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·B

AT –œ—߂ɂæ‚Á‚āAENDAT –œ—ß‚ĆI—č‚·‚é–œ—߃uƒƒbƒN‚ȘŠJŽn‚ł‚ê‚Ü‚·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

˜_—Žź‚đŽg—p‚”‚ÄŽ©•Ș‚Ɛ§ŒäƒuƒŒ[ƒN‚đƒvƒƒOƒ‰ƒ~ƒ“ƒO‚·‚é‘ă‚í‚è‚ɁA§ŒäƒŒƒxƒ‹–œ—ß‚đŽg—p‚”‚Ä“à•”ƒe[ƒuƒ‹‚̐§ŒäƒuƒŒ[ƒN‚ɑΉž‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·Bƒ‹[ƒv“à‚Ƃ́A§ŒäƒŒƒxƒ‹‚ÌŠK‘w‚ɏ]‚Á‚Ä AT-ENDAT –œ—߃uƒƒbƒN‚đ”z—ń‚·‚é•K—v‚Ș‚ ‚è‚Ü‚·B“à•”ƒe[ƒuƒ‹‚É —ń <f1> A<f2> A.... ‚Ș‚ ‚èA‚±‚ê‚ç‚Ì—ń‚É‚æ‚Á‚Ä‚»‚Ì“à•”ƒe[ƒuƒ‹‚Șƒ\[ƒg‚ł‚ê‚éê‡‚́AˆÈ‰ș‚̂悀‚Ƀ‹[ƒv‚đƒvƒƒOƒ‰ƒ~ƒ“ƒ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.

Ć‚à[‚ąŠK‘wƒŒƒxƒ‹ <single line processing> ‚Ƃ́A§ŒäƒŒƒxƒ‹‚̕ω»‚ƑΉž‚”‚È‚ąƒe[ƒuƒ‹s‚Șˆ—‚ł‚ê‚Ü‚·B‚·‚Ś‚Ä‚Ì§ŒäƒŒƒxƒ‹–œ—ß‚đŽg—p‚·‚é•K—v‚Í‚ ‚è‚Ü‚č‚ńB‚”‚©‚”Aă‹L‚̃V[ƒPƒ“ƒX‚ĆŽg—p‚ł‚ê‚Ä‚ą‚é–œ—߂͕K‚žŽg—p‚”‚Ä‚­‚Ÿ‚ł‚ąBWHERE ‚Ü‚œ‚́AFROM ‚š‚æ‚Ń TO ‚ƍs‘I‘đ‚Ș§ŒÀ‚ł‚ê‚Ä‚ą‚郋[ƒv‚Ƃ́A§ŒäƒŒƒxƒ‹–œ—ß‚đŽg—p‚”‚È‚ą‚Ć‚­‚Ÿ‚ł‚ąB‚Ü‚œAƒ‹[ƒv’†‚Ƀe[ƒuƒ‹‚đ•ύX‚”‚È‚ą‚Ć‚­‚Ÿ‚ł‚ąB

§ŒäƒŒƒxƒ‹€–Ú <fi> ‚ȘŽÀsŽž‚܂Ƃ킩‚ç‚È‚ąê‡‚́A<ni> ‚ɍ€–Ú <fi> ‚đŽw’è‚”‚Ä (<ni>) ‚Æ‚”‚Ä“ź“I‚ÉŽw’è‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·BŽÀsŽž‚É <ni> ‚Ș‹ó‚Ć‚ ‚éê‡‚́A§ŒäƒŒƒxƒ‹‚̕ύX‚̊‚Í–łŽ‹‚ł‚ê‚Ü‚·BƒIƒtƒZƒbƒg‚Æ’·‚ł‚đŽw’è‚”‚āAŒŸő‚đˆê•”‚̍€–ڂɐ§ŒÀ‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·B

ì‹Æ—̈æ <wa> ‚đŽg—p‚·‚éê‡AAT...ENDAT –œ—߃uƒƒbƒN‚Ƃ́Aì‹Æ—̈æ‚ÉŒ»Ę‚̍s‚ÍŠi”[‚ł‚ê‚Ü‚č‚ńBŒ»Ę‚̃Oƒ‹[ƒvƒL[‚̉E‘€‚É‚ ‚é‚·‚Ś‚Ä‚Ì•¶Žš€–ڂɂ̓AƒXƒ^ƒŠƒXƒN (*) ‚Ș‘‚«ž‚Ü‚ê‚Ü‚·BŒ»Ę‚̃Oƒ‹[ƒvƒL[‚̉E‘€‚É‚ ‚é‚»‚̂ق©‚̍€–ڂɂ͏‰Šú’l‚Ș‘‚«ž‚Ü‚ê‚Ü‚·B

AT...ENDAT ƒuƒƒbƒN“à‚Ƃ́ASUM –œ—ß‚đŽg—p‚”‚āA‘Ήž‚·‚鐧ŒäƒŒƒxƒ‹‚̐”’l€–Ú‚Ì“à—e‚đŒvŽZ‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·B

SUM.

‚±‚Ì–œ—߂́ALOOP “à‚Ć‚Ì‚ĘŽg—p‚·‚邱‚Æ‚Ș‚Ć‚«‚Ü‚·BAT - ENDAT ƒuƒƒbƒN“à‚Ć SUM ‚đŽg—p‚·‚邯AŒ»Ę‚̍sƒOƒ‹[ƒv‚Ì‚·‚Ś‚Ä‚Ìs‚̐”’l€–ڂ̍‡Œv‚ȘŒvŽZ‚ł‚êAì‹Æ—̈æ‚̑Ήž‚·‚鍀–Ú‚É‚»‚ê‚ç‚̍‡Œv‚Ș‘‚«ž‚Ü‚ê‚Ü‚· ( —á‚đŽQÆ) BAT - ENDAT ƒuƒƒbƒN‚ÌŠO‚Ć SUM –œ—ß‚đŽg—p‚·‚é( ŒÂ•ʃGƒ“ƒgƒŠˆ—) ‚ƁAŠeƒ‹[ƒvƒpƒX‚Ć“à•”ƒe[ƒuƒ‹‚Ì‚·‚Ś‚Ä‚Ìs‚̐”’l€–ڂ̍‡Œv‚ȘŒvŽZ‚ł‚êAì‹Æ—̈æ‚̑Ήž‚·‚鍀–Ú‚É‚»‚ê‚ç‚̍‡Œv‚Ș‘‚«ž‚Ü‚ê‚Ü‚·B‚”‚œ‚Ș‚Á‚āASUM –œ—ß‚Í AT...ENDAT ƒuƒƒbƒN“à‚Ć‚Ì‚ĘŽg—p‚·‚邱‚Æ‚đ‚š§‚ß‚”‚Ü‚·B

ƒe[ƒuƒ‹‚ɃlƒXƒg‚ł‚ꂜƒe[ƒuƒ‹‚ȘŠÜ‚Ü‚ê‚Ä‚ą‚éê‡‚́ASUM –œ—ß‚đŽg—p‚·‚邱‚Æ‚Í‚Ć‚«‚Ü‚č‚ńBLOOP –œ—ß‚Ćì‹Æ—̈æ‚Ć‚Í‚È‚­ƒtƒB[ƒ‹ƒhƒVƒ“ƒ{ƒ‹‚đŽg—p‚”‚Ä‚ą‚éê‡‚à SUM –œ—ß‚đŽg—p‚·‚邱‚Æ‚Í‚Ć‚«‚Ü‚č‚ń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

‚±‚̃vƒƒOƒ‰ƒ€‚Ƃ́AƒnƒbƒVƒ…ƒe[ƒuƒ‹ ITAB ‚ȘìŹ‚ł‚êAƒe[ƒuƒ‹‚É 6 s‚Ș‘‚«ž‚Ü‚êAƒ\[ƒg‚ł‚ê‚Ü‚·BLOOP - ENDLOOP ƒuƒƒbƒN‚Ƃ́AŠeƒ‹[ƒvƒpƒX‚Ćì‹Æ—̈æ LINE ‚Șo—Í‚ł‚ê‚Ü‚·Bƒe[ƒuƒ‹ƒL[‚ÌĆ‰‚̍€–Ú‚Ć‚ ‚é COL1 ‚́A§ŒäƒŒƒxƒ‹ˆ—‚ÉŽg—p‚ł‚ê‚Ü‚·BCOL1 ‚Ì“à—e‚Ș•ω»‚”‚œ‚Æ‚«‚ÆĆŒă‚̃‹[ƒvƒpƒX‚ÌŽÀs’†‚ɁA‚·‚Ś‚Ä‚Ì”’l€–ڂ̍‡Œv‚Ș•K‚žŒvŽZ‚ł‚ê‚Ü‚·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.

‚±‚Ì—á‚Ƃ́AƒI[ƒvƒ“ SQL •¶ SELECT ‚đŽg—p‚”‚āAƒ\[ƒg“à•”ƒe[ƒuƒ‹ ITAB ‚Ƀf[ƒ^ƒx[ƒXƒe[ƒuƒ‹ SBOOK ‚̃f[ƒ^‚Ș‘‚«ž‚Ü‚ê‚Ü‚·B§ŒäƒŒƒxƒ‹ŠK‘w‚Í“à•”ƒe[ƒuƒ‹“à‚Ì—ń‚̏‡”Ô‚É‚æ‚茈’è‚ł‚ê‚Ü‚·Bƒe[ƒuƒ‹ƒL[‚͍s‘S‘Ì‚È‚Ì‚ĆAƒ\[ƒg‡˜‚Ɛ§ŒäƒŒƒxƒ‹ŠK‘w‚Í“Ż‚¶‚Ć‚·BLOOP –œ—ß‚Æ ENDLOOP –œ—ß‚ÌŠÔ‚Ì AT-ENDAT ƒuƒƒbƒN‚̏‡˜‚͏d—v‚Ć‚·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

 

 

 

 

 

 

ƒRƒ“ƒeƒ“ƒcƒtƒŒ[ƒ€I—č