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

‹@”\ƒ‚ƒWƒ…[ƒ‹‚đŽg—p‚”‚œ˜_—ƒf[ƒ^ƒx[ƒX‚ÌŒÄ‚Ńo‚” •¶‘‚đ SAP ƒ‰ƒCƒuƒ‰ƒŠƒXƒgƒ‰ƒNƒ`ƒƒ‚É‘g‚ʍž‚Ț

ƒŠƒŠ[ƒX 4.5A ˆÈ~A˜_—ƒf[ƒ^ƒx[ƒX‚đ ABAP ƒvƒƒOƒ‰ƒ€‚©‚ç“Æ—§‚”‚ÄŒÄ‚Ńo‚·‚±‚Æ‚Ș‰Â”\‚ɂȂè‚Ü‚”‚œB]—ˆA˜_—ƒf[ƒ^ƒx[ƒX‚đŽÀs‰Â”\ƒvƒƒOƒ‰ƒ€‚ÉƒŠƒ“ƒN‚·‚邱‚Æ‚Ÿ‚Ż‚Ș‰Â”\‚Ć‚”‚œBƒvƒƒOƒ‰ƒ€‚Ć‚Í˜_—ƒf[ƒ^ƒx[ƒX‚š‚æ‚ŃƒvƒƒOƒ‰ƒ€‚̏ˆ—ƒuƒƒbƒN‚́AABAP ŽÀsŽžŠÂ‹«‚É‚æ‚萧Œä‚ł‚ê‚Ü‚”‚œB

˜_—ƒf[ƒ^ƒx[ƒX‚đ•ʂ̃vƒƒOƒ‰ƒ€‚©‚çŒÄ‚яo‚·‚ɂ́A‹@”\ƒ‚ƒWƒ…[ƒ‹ LDB_PROCESS ‚đŽg—p‚”‚Ü‚·B‚±‚Ì‚œ‚߁A˜_—ƒf[ƒ^ƒx[ƒX‚đƒf[ƒ^“ǂʎæ‚胋[ƒ`ƒ“‚Æ‚”‚ÄŽg—p‚Ć‚«‚Ü‚·B“ŻˆêƒvƒƒOƒ‰ƒ€‚©‚ç˜_—ƒf[ƒ^ƒx[ƒX‚đ 2 ŒÂˆÈăŒÄ‚яo‚·‚±‚Æ‚Ș‚Ć‚«‚Ü‚·B‚Ü‚œ“ŻˆêƒvƒƒOƒ‰ƒ€‚©‚çA“Żˆê‚̘_—ƒf[ƒ^ƒx[ƒX‚đ 2 ‰ńˆÈăŒÄ‚яo‚·‚±‚Æ‚Ș‚Ć‚«‚Ü‚·B]—ˆA“Żˆê‚̘_—ƒf[ƒ^ƒx[ƒX‚đ 2 ‰ńˆÈăŽg—p‚”‚œ‚èAˆÙ‚È‚é˜_—ƒf[ƒ^ƒx[ƒX‚đ 2 ŒÂˆÈăŽg—p‚”‚œ‚è‚·‚é‚̂́ASUBMIT ‚đŽg—p‚”‚ĒljÁ‚ÌŽÀs‰Â”\ƒvƒƒOƒ‰ƒ€‚đŒÄ‚яo‚·‚±‚Æ‚Ć‚Ì‚Ę‰Â”\‚Ć‚”‚œB‚±‚ê‚ç‚̃vƒƒOƒ‰ƒ€‚͑Ήž‚·‚é˜_—ƒf[ƒ^ƒx[ƒX‚ÉƒŠƒ“ƒN‚·‚é•K—v‚Ș‚ ‚èAABAP ƒƒ‚ƒŠ‚Ü‚œ‚Í—ȚŽ—‚”‚œ‹Zp‚đŽg—p‚”‚ăf[ƒ^‚đŒÄ‚яo‚”‚ăvƒƒOƒ‰ƒ€‚É“n‚·•K—v‚Ș‚ ‚è‚Ü‚”‚œB

‹@”\ƒ‚ƒWƒ…[ƒ‹ LDB_PROCESS ‚đŽg—p‚”‚Ę_—ƒf[ƒ^ƒx[ƒX‚đŒÄ‚яo‚·ê‡A‘I‘đ‰æ–Ê‚Í•\ŽŠ‚ł‚ê‚Ü‚č‚ńB‘ă‚í‚Á‚āA”Ä—pƒ‚ƒWƒ…[ƒ‹‚̃Cƒ“ƒ^ƒtƒF[ƒXƒpƒ‰ƒ[ƒ^‚đŽg—p‚”‚Ä‘I‘đ‚É“ü—Í‚”‚Ü‚·B˜_—ƒf[ƒ^ƒx[ƒX‚ÍŒÄ‚Ńo‚”ƒvƒƒOƒ‰ƒ€‚Ì GET ƒCƒxƒ“ƒg‚đŠJŽn‚”‚Ü‚č‚ń‚ȘAƒf[ƒ^‚đƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚ÌŒÄ‚Ńo‚”Œł‚É–ß‚”‚Ü‚·B‚±‚̂悀‚É LDB_PROCESS ‚đŽg—p‚”‚œ˜_—ƒf[ƒ^ƒx[ƒX‚ÌŒÄ‚Ńo‚”‚́AŽÀÛ‚̃f[ƒ^Žæ“Ÿ‚đAæs‚·‚é‘I‘đ‰æ–Êˆ—‚â‚»‚ÌŒă‚̃f[ƒ^ˆ—‚©‚ç•Ș—Ł‚”‚Ü‚·B

ŽŸ‚̃P[ƒX‚đœ‚ą‚āALDB_PROCESS ‚ĆŽg—p‚·‚邜‚߁A˜_—ƒf[ƒ^ƒx[ƒX‚đ’Ȑꂷ‚é •K—v‚Í‚ ‚è‚Ü‚č‚ńB‚‚܂èA˜_—ƒf[ƒ^ƒx[ƒX‚đ’Ȑꂔ‚È‚ą‚ÆA“Żˆê‚̘_—ƒf[ƒ^ƒx[ƒX‚đ 2 ‰ńˆÈăŒÄ‚яo‚·”Ä—pƒ‚ƒWƒ…[ƒ‹‚ȘŽg—p‚Ć‚«‚È‚ąê‡‚Í—áŠO‚Ć‚·BPAI ƒTƒuƒ‹[ƒ`ƒ“‚́ALDB_PROCESS ‚đŽg—p‚·‚éÛ‚ÍŒÄ‚Ńo‚ł‚ê‚Ü‚č‚ńB‚±‚ê‚́AƒvƒƒOƒ‰ƒ€Ï‚Ę‚Ì‘I‘đƒ`ƒFƒbƒN‚ÍŽÀs‚ł‚ê‚È‚ą‚Æ‚ą‚€ˆÓ–Ą‚Ć‚·BƒTƒuƒ‹[ƒ`ƒ“ LDB_PROCESS_INIT ‚Æ LDB_PROCESS_CHECK_SELECTIONS ‚đƒf[ƒ^ƒx[ƒXƒvƒƒOƒ‰ƒ€‚ɉÁ‚Ђ邱‚Ƃɂæ‚èA‚±‚ê‚ç‚̐§ŒÀ‚ɑΏˆ‚Ć‚«‚Ü‚·B 

ŽÀsŽž‚Ì“źì

˜_—ƒf[ƒ^ƒx[ƒX‚̃Tƒuƒ‹[ƒ`ƒ“‚́A”Ä—pƒ‚ƒWƒ…[ƒ‹ LDB_PROCESS ‚đŒÄ‚яo‚·Û‚ÉŽŸ‚̏‡˜‚ĆŒÄ‚Ńo‚ł‚ê‚Ü‚·B

...

       1.      LDB_PROCESS_INIT

       2.      INIT

       3.      LDB_PROCESS_CHECK_SELECTIONS

       4.      PUT <node>.

˜_—ƒf[ƒ^ƒx[ƒX‚đŽÀs‰Â”\ƒvƒƒOƒ‰ƒ€‚ÉƒŠƒ“ƒN‚·‚éê‡A‘I‘đ‰æ–Ê‚Ìˆ—‚ÉŽg—p‚ł‚ê‚éƒTƒuƒ‹[ƒ`ƒ“‚ÍŒÄ‚Ńo‚ł‚ꂞAŽÀsŽžŠÂ‹«‚ÍŒÄ‚Ńo‚”ƒvƒƒOƒ‰ƒ€‚̃Œƒ|[ƒgƒCƒxƒ“ƒg‚đŠJŽn‚”‚Ü‚č‚ńB‘ă‚í‚Á‚āA˜_—ƒf[ƒ^ƒx[ƒX“à‚Ì PUT –œ—߂́AŒÄ‚яo‚”ƒvƒƒOƒ‰ƒ€“à‚̃R[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚đŒÄ‚яo‚·”Ä—pƒ‚ƒWƒ…[ƒ‹‚̃AƒNƒVƒ‡ƒ“‚đŠJŽn‚”‚Ü‚·B‚ą‚ą‚©‚Ђ邯A”Ä—pƒ‚ƒWƒ…[ƒ‹‚̓Cƒxƒ“ƒg‚đ•߂炊‚Ü‚·B•߂炊‚È‚Ż‚ê‚΁AƒCƒxƒ“ƒg‚ÍŽÀsŽžŠÂ‹«‚É‚æ‚菈—‚ł‚ê‚Ü‚·B

LDB_PROCESS ‚̃pƒ‰ƒ[ƒ^

‚±‚̔ėpƒ‚ƒWƒ…[ƒ‹‚ɂ́AˆÈ‰ș‚̃Cƒ“ƒ|[ƒgƒpƒ‰ƒ[ƒ^‚Ș‚ ‚è‚Ü‚·B

·        LDBNAME

ŒÄ‚яo‚·˜_—ƒf[ƒ^ƒx[ƒX‚Ì–ŒÌB

·        VARIANT

˜_—ƒf[ƒ^ƒx[ƒX‚Ì‘I‘đ‰æ–Ê‚đ–„‚ß‚éƒoƒŠƒAƒ“ƒg‚Ì–ŒÌBƒoƒŠƒAƒ“ƒg‚́A‚ ‚ç‚©‚¶‚ߘ_—ƒf[ƒ^ƒx[ƒX‚̃f[ƒ^ƒx[ƒXƒvƒƒOƒ‰ƒ€‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ä‚ą‚é•K—v‚Ș‚ ‚è‚Ü‚·Bƒf[ƒ^‚́ASUBMIT –œ—߂à WITH SELECTION-TABLE ’ljÁ‚đŽg—p‚·‚éê‡‚Æ“Żˆê‚Ì•û–@‚Ć“n‚ł‚ê‚Ü‚·B

·        EXPRESSIONS

‚±‚̃pƒ‰ƒ[ƒ^‚Ƃ́A“ź“I‘I‘đ‚Ș‰Â”\‚Ș_—ƒf[ƒ^ƒx[ƒX‚̃m[ƒh‚Ì“Á•ʂȑI‘đ‚đ“n‚·‚±‚Æ‚Ș‚Ć‚«‚Ü‚·Bƒpƒ‰ƒ[ƒ^ RSDS_TEXPR ‚̃f[ƒ^Œ^‚́Aƒf[ƒ^Œ^ƒOƒ‹[ƒv RSDS ‚Ć’è‹`‚ł‚ê‚Ü‚·Bƒf[ƒ^‚́ASUBMIT –œ—߂à WITH FREE SELECTION ’ljÁ‚đŽg—p‚·‚éê‡‚Æ“Żˆê‚Ì•û–@‚Ć“n‚ł‚ê‚Ü‚·B

·        FIELD_SELECTION

‚±‚̃pƒ‰ƒ[ƒ^‚đŽg—p‚”‚āA“ź“I‘I‘đ‚̉”\‚Ș_—ƒf[ƒ^ƒx[ƒX‚̃m[ƒh‚Ì•K{€–ڂ̈ꗗ‚đ“n‚·‚±‚Æ‚Ș‚Ć‚«‚Ü‚·Bƒpƒ‰ƒ[ƒ^‚̃f[ƒ^Œ^‚́Aƒf[ƒ^Œ^ƒOƒ‹[ƒv RSFS ‚Ć’è‹`‚ł‚ꂜƒf[ƒv“à•”ƒe[ƒuƒ‹‚Ć‚·BƒRƒ“ƒ|[ƒlƒ“ƒg TABLENAME ‚ɂ̓m[ƒh‚Ì–ŒÌ‚ȘŠÜ‚Ü‚ê‚Ä‚š‚èAƒf[ƒvƒRƒ“ƒ|[ƒlƒ“ƒg FIELDS ‚ɂ͓ǂʎæ‚鍀–Ú–ŒÌ‚ȘŠÜ‚Ü‚ê‚Ä‚ą‚Ü‚·B 

‚±‚̔ėpƒ‚ƒWƒ…[ƒ‹‚ɂ́AˆÈ‰ș‚̃e[ƒuƒ‹ƒpƒ‰ƒ[ƒ^‚Ș‚ ‚è‚Ü‚·B

·        CALLBACK

‚±‚̃pƒ‰ƒ[ƒ^‚́AƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚đƒm[ƒh‚š‚æ‚ŃƒCƒxƒ“ƒg‚Ì–ŒÌ‚ÉŠ„‚è“–‚Ă邜‚߂Ɏg—p‚”‚Ü‚·Bƒpƒ‰ƒ[ƒ^‚́Aƒf[ƒ^‚Ș“ǂʎæ‚ç‚ê‚é˜_—ƒf[ƒ^ƒx[ƒX‚̃m[ƒhAƒf[ƒ^‚ȘƒvƒƒOƒ‰ƒ€‚É–ß‚ł‚ê‚œŽžŠúA–ß‚ł‚ꂜƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚đŒˆ’è‚”‚Ü‚·B

·        SELECTIONS

‚±‚̃pƒ‰ƒ[ƒ^‚đŽg—p‚”‚āA˜_—ƒf[ƒ^ƒx[ƒX‚Ì‘I‘đ‰æ–Ê‚Ì€–Ú‚Ì“ü—Í’l‚đ“n‚·‚±‚Æ‚Ș‚Ć‚«‚Ü‚·Bƒpƒ‰ƒ[ƒ^‚̃f[ƒ^Œ^‚́AABAP ƒfƒBƒNƒVƒ‡ƒiƒŠ“à‚̍\‘ą RSPARAMS ‚ɑΉž‚”‚Ü‚·Bƒf[ƒ^‚́ASUBMIT –œ—߂à WITH SELECTION-TABLE ’ljÁ‚đŽg—p‚·‚éê‡‚Æ“Żˆê‚Ì•û–@‚Ć“n‚ł‚ê‚Ü‚·B

2 ŒÂˆÈă‚̃Cƒ“ƒ^ƒtƒF[ƒXƒpƒ‰ƒ[ƒ^‚đŽg—p‚”‚Ä‘I‘đ‚đ“n‚·ê‡ASELECTIONS ‚Æ EXPRESSIONS ‚Ć“n‚ł‚ꂜ’l‚́AVARIANT ‚Ì“Żˆê€–Ú‚Ì’l‚đă‘‚«‚”‚Ü‚·B

[“x‚ƃR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Ì“Ç‚ĘŽæ‚è

˜_—ƒf[ƒ^ƒx[ƒX‚đŽÀs‰Â”\ƒvƒƒOƒ‰ƒ€‚ÆƒŠƒ“ƒN‚·‚éê‡AGET –œ—߂͘_—ƒf[ƒ^ƒx[ƒX‚đ“ǂʎæ‚é[“x‚đŒˆ’è‚”‚Ü‚·B”Ä—pƒ‚ƒWƒ…[ƒ‹ LDB_PROCESS ‚đŒÄ‚яo‚·ê‡ACALLBACK ƒpƒ‰ƒ[ƒ^‚Ćƒm[ƒh–Œ‚đŽw’è‚·‚邱‚Ƃɂæ‚è[“x‚đŒˆ’è‚”‚Ü‚·Bƒf[ƒ^‚đ—v‹‚”‚œ‚»‚ꂌ‚ê‚̃m[ƒh‚ɂ‚ą‚āAƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Í 2 ŒÂŠ‚ĆŽÀs‚Ć‚«‚Ü‚·B‚±‚ê‚ç‚́AŽÀs‰Â”\ƒvƒƒOƒ‰ƒ€‚Ì GET ƒCƒxƒ“ƒg‚Æ GET LATE ƒCƒxƒ“ƒg‚ɑΉž‚”‚Ü‚·Bƒe[ƒuƒ‹ƒpƒ‰ƒ[ƒ^ CALLBACK ‚Ƃ́AƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Ì–ŒÌ‚š‚æ‚Ń•K—v‚ÈŽÀsƒ|ƒCƒ“ƒg‚đŽw’è‚”‚Ü‚·BƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚́AŒÄ‚яo‚”ƒvƒƒOƒ‰ƒ€‚Ü‚œ‚́A•K{ƒ|ƒCƒ“ƒg‚ĆŽÀs‚ł‚ê‚é•ʂ̃vƒƒOƒ‰ƒ€‚̃Tƒuƒ‹[ƒ`ƒ“‚Ć‚·B

GET ƒCƒxƒ“ƒg‚Ć‚ÍƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚́Aƒm[ƒh‚©‚çƒf[ƒ^‚Ș“ǂʎæ‚ç‚ꂜ’ŒŒă‚ƁA‰șˆÊƒm[ƒh‚Șˆ—‚ł‚ê‚é‘O‚ÉŽÀs‚ł‚ê‚Ü‚·BGET_LATE ƒCƒxƒ“ƒg‚ɂ‚ą‚ẮAƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚͉șˆÊƒm[ƒh‚Șˆ—‚ł‚ꂜŒă‚ɏˆ—‚ł‚ê‚Ü‚·B

·        ƒe[ƒuƒ‹ƒpƒ‰ƒ[ƒ^CALLBACK ‚̍sƒ^ƒCƒv‚́AABAP ƒfƒBƒNƒVƒ‡ƒiƒŠ‚̃tƒ‰ƒbƒg\‘ą LDBCB ‚Ć‚·B‚»‚ê‚ɂ͎Ÿ‚̃Rƒ“ƒ|[ƒlƒ“ƒg LDBNODE ‚Ș‚ ‚è‚Ü‚·B

“ǂʎæ‚ç‚ê‚é˜_—ƒf[ƒ^ƒx[ƒX‚̃m[ƒh‚Ì–ŒÌB

·        GET

GET ƒCƒxƒ“ƒg‚ƑΉž‚·‚éƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚đŒÄ‚яo‚·‚œ‚߂̃tƒ‰ƒO (ƒRƒ“ƒeƒ“ƒc X ‚Ü‚œ‚Í SPACE)B

·        GET_LATE

GET LATE ƒCƒxƒ“ƒg‚ƑΉž‚·‚éƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚đŒÄ‚яo‚·‚œ‚߂̃tƒ‰ƒO (ƒRƒ“ƒeƒ“ƒc X ‚Ü‚œ‚Í SPACE)B

·        CB_PROG

ƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Ș’è‹`‚ł‚ê‚Ä‚ą‚é ABAP ƒvƒƒOƒ‰ƒ€‚Ì–ŒÌB

·        CB_FORM

ƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Ì–ŒÌ

“à•”ƒe[ƒuƒ‹‚đ CALLBACK ƒpƒ‰ƒ[ƒ^‚É“n‚·ê‡A­‚È‚­‚Æ‚à GET ‚© GET_LATE —ń‚Ì 1 ‚‚đAŠeƒm[ƒh‚Ì X (‚Ü‚œ X ‚đ‹L“ü‚”‚Ä‚à‚æ‚ą) ‚đ‹L“ü‚·‚é•K—v‚Ș‚ ‚è‚Ü‚·B 

ƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚́AŽŸ‚̃pƒ‰ƒ[ƒ^ƒCƒ“ƒ^ƒtƒF[ƒX‚Ć’è‹`‚·‚é•K—v‚Ì‚ ‚éƒTƒuƒ‹[ƒ`ƒ“‚Ć‚·B

FORM <subr> USING <node> LIKE LDBCB-LDBNODE
                  <wa>   [TYPE <t>]
                  <evt>
                  <check>.

·        ƒpƒ‰ƒ[ƒ^‚́A”Ä—pƒ‚ƒWƒ…[ƒ‹LDB_PROCESS ‚É‚æ‚è–„‚ß‚ç‚ê‚Ü‚·B‚±‚ê‚́A<node> ‚Ƀm[ƒh–Œ‚ȘŠÜ‚Ü‚ê‚Ä‚ą‚邯‚ą‚€ˆÓ–Ą‚Ć‚·B

·        <wa> ‚́Aƒm[ƒh‚©‚ç“ǂʎæ‚Á‚œƒf[ƒ^‚Ìì‹Æ—̈æ‚Ć‚·B”Ä—pƒ‚ƒWƒ…[ƒ‹ LDB_PROCESS ‚š‚æ‚ŃƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚đŠÜ‚ȚƒvƒƒOƒ‰ƒ€‚đŒÄ‚яo‚·ƒvƒƒOƒ‰ƒ€‚́ANODES ‚© TABLES ‚đŽg—p‚”‚ăCƒ“ƒ^ƒtƒF[ƒXì‹Æ—̈æ‚đéŒŸ‚·‚é•K—v‚Ș‚ ‚è‚Ü‚č‚ńBƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚́A1 ‚‚̃m[ƒh‚ɑ΂”‚Ä‚Ì‚ĘŽg—p‚ł‚ꂜê‡AABAP ƒfƒBƒNƒVƒ‡ƒiƒŠ“à‚̃m[ƒh‚̃f[ƒ^Œ^‚đŽQÆ‚·‚邜‚߁ATYPE ŽQÆ‚đŽg—p‚Ć‚«‚Ü‚·B‚»‚ÌŒă‚́A\‘ą‰»‚ł‚ꂜƒm[ƒh‚̌X‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ɃTƒuƒ‹[ƒ`ƒ“‚Ì’†‚Ć’ŒÚƒAƒhƒŒƒX‚Ć‚«‚Ü‚·B2 ŒÂˆÈă‚̃m[ƒh‚ɃR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚đŽg—p‚·‚邯‚«‚́ATYPE ŽQÆ‚đŽg—p‚Ć‚«‚Ü‚č‚ńB‚±‚̏ꍇA\‘ą‰»‚ł‚ꂜƒm[ƒh‚đ€–ÚƒVƒ“ƒ{ƒ‹‚É 1 ‚‚ž‚Š„‚è“–‚Ä‚é ‚±‚Ƃɂæ‚èAƒm[ƒh‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ɃAƒhƒŒƒX‚·‚é•K—v‚Ș‚ ‚è‚Ü‚·B

·        <evt> ‚É‚Í G ‚Ü‚œ‚Í L ‚Ș“ü‚è‚Ü‚·‚ȘA‚»‚ꂌ‚ê GET ‚Ü‚œ‚Í GET LATE ‚đ•\‚í‚”‚Ü‚·B‚±‚ê‚́AƒTƒuƒ‹[ƒ`ƒ“‚Ș <evt> ‚Ì“à—e‚đŽg—p‚”‚ăvƒƒOƒ‰ƒ€ƒtƒ[‚đŽw’è‚Ć‚«‚邯‚ą‚€ˆÓ–Ą‚Ć‚·B 

·        <check> ‚É‚æ‚èƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚́AƒvƒƒOƒ‰ƒ€‚Șˆ—‚ł‚ê‚é•û–@‚ɉe‹ż‚đ—^‚Ђ邱‚Æ‚Ș‚Ć‚«‚Ü‚· (‚œ‚Ÿ‚” <evt> ‚Ì’l‚Ș G ‚̏ꍇ‚Ì‚Ę)B’l X ‚́AƒTƒuƒ‹[ƒ`ƒ“‚ȘŒÄ‚яo‚ł‚ê‚éÛ‚Ƀpƒ‰ƒ[ƒ^‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ü‚·BƒTƒuƒ‹[ƒ`ƒ“‚ȘI—č‚·‚éÛ‚Ƀpƒ‰ƒ[ƒ^‚Ì’l‚Ș SPACE ‚̏ꍇA‚±‚ê‚͘_—ƒf[ƒ^ƒx[ƒX‚̉șˆÊƒm[ƒh‚Ș”Ä—pƒ‚ƒWƒ…[ƒ‹ LDB_PROCESS ‚Ì’†‚Əˆ—‚ł‚ê‚È‚ą‚æ‚€‚ÉŽw’è‚”‚Ü‚·B‚±‚ê‚́AŽÀs‰Â”\ƒvƒƒOƒ‰ƒ€‚Ì’†‚Ć CHECK ‚đŽg—p‚”‚Ä GET ƒCƒxƒ“ƒgƒuƒƒbƒN‚đ•ú’u‚·‚é ‚Ì‚Æ“Ż‚¶‚Ć‚·B‚±‚ê‚É‚æ‚è•s—v‚ȃf[ƒ^‚Ș“ǂʎæ‚ç‚ê‚È‚Ż‚ê‚΁AƒvƒƒOƒ‰ƒ€‚̃pƒtƒH[ƒ}ƒ“ƒX‚Ș‰ü‘P‚ł‚ê‚Ü‚·B

LDB_PROCESS ‚Ì—áŠO

·        LDB_ALREADY_RUNNING

˜_—ƒf[ƒ^ƒx[ƒX‚́A‚Ü‚Ÿ‘O‚ÌŒÄ‚Ńo‚”‚đˆ—‚”‚Ä‚ą‚éŠÔ‚́AŒÄ‚яo‚ł‚ê‚Ü‚č‚ńB‚»‚ê‚Ć‚àŒÄ‚яo‚”‚Ș”­¶‚·‚邯A—áŠO LDB_ALREADY_RUNNING ‚ȘŠJŽn‚ł‚ê‚Ü‚·B 

·        LDB_NOT_REENTRANT

˜_—ƒf[ƒ^ƒx[ƒX‚́Aƒf[ƒ^ƒx[ƒXƒvƒƒOƒ‰ƒ€‚ɃTƒuƒ‹[ƒ`ƒ“ LDB_PROCESS_INIT ‚Ș‚ ‚éê‡‚Ì‚ĘAŒJ‚è•Ô‚”ŒÄ‚яo‚ł‚ê‚Ü‚·B‚»‚êˆÈŠO‚̏ꍇ‚́A‚±‚Ì—áŠO‚ȘŠJŽn‚ł‚ê‚Ü‚·B

·        LDB_SELECTIONS_NOT_ACCEPTED

ƒf[ƒ^ƒx[ƒXƒvƒƒOƒ‰ƒ€‚̃Tƒuƒ‹[ƒ`ƒ“ LDB_PROCESS_CHECK_SELECTIONS ‚̃Gƒ‰[ˆ—‚Ƃ́A‚±‚Ì—áŠO‚đŠJŽn‚Ć‚«‚Ü‚·BƒGƒ‰[ƒƒbƒZ[ƒW‚́A’ʏí‚̃VƒXƒeƒ€€–Ú SY-MSG... ‚ÉŠi”[‚ł‚ê‚Ü‚·B

—áŠO‚ɂ‚ą‚Ă̒ljÁî•ń‚́A”Ä—pƒ‚ƒWƒ…[ƒ‹ƒrƒ‹ƒ_‚Ì’†‚̔ėpƒ‚ƒWƒ…[ƒ‹•¶‘‚đŽQÆ‚”‚Ä‚­‚Ÿ‚ł‚ąB

—á

 —á

TABLES SPFLI.
SELECT-OPTIONS S_CARR FOR SPFLI-CARRID.

TYPE-POOLS: RSDS, RSFS.

DATA: CALLBACK TYPE TABLE OF LDBCB,
      CALLBACK_WA LIKE LINE OF CALLBACK.

DATA: SELTAB TYPE TABLE OF RSPARAMS,
      SELTAB_WA LIKE LINE OF SELTAB.

DATA: TEXPR TYPE RSDS_TEXPR,
      FSEL  TYPE RSFS_FIELDS.

CALLBACK_WA-LDBNODE     = 'SPFLI'.
CALLBACK_WA-GET         = 'X'.
CALLBACK_WA-GET_LATE    = 'X'.
CALLBACK_WA-CB_PROG     = SY-REPID.
CALLBACK_WA-CB_FORM     = 'CALLBACK_SPFLI'.
APPEND CALLBACK_WA TO CALLBACK.

CLEAR CALLBACK_WA.
CALLBACK_WA-LDBNODE     = 'SFLIGHT'.
CALLBACK_WA-GET         = 'X'.
CALLBACK_WA-CB_PROG     = SY-REPID.
CALLBACK_WA-CB_FORM     = 'CALLBACK_SFLIGHT'.
APPEND CALLBACK_WA TO CALLBACK.

SELTAB_WA-KIND = 'S'.
SELTAB_WA-SELNAME = 'CARRID'.

LOOP AT S_CARR.
  MOVE-CORRESPONDING S_CARR TO SELTAB_WA.
  APPEND SELTAB_WA TO SELTAB.
ENDLOOP.

CALL FUNCTION 'LDB_PROCESS'
     EXPORTING
          LDBNAME                     = 'F1S'
          VARIANT                     = ' '
          EXPRESSIONS                 = TEXPR
          FIELD_SELECTION             = FSEL
     TABLES
          CALLBACK                    = CALLBACK
          SELECTIONS                  = SELTAB
     EXCEPTIONS
          LDB_NOT_REENTRANT           = 1
          LDB_INCORRECT               = 2
          LDB_ALREADY_RUNNING         = 3
          LDB_ERROR                   = 4
          LDB_SELECTIONS_ERROR        = 5
          LDB_SELECTIONS_NOT_ACCEPTED = 6
          VARIANT_NOT_EXISTENT        = 7
          VARIANT_OBSOLETE            = 8
          VARIANT_ERROR               = 9
          FREE_SELECTIONS_ERROR       = 10
          CALLBACK_NO_EVENT           = 11
          CALLBACK_NODE_DUPLICATE     = 12
          OTHERS                      = 13.

IF SY-SUBRC <> 0.
  WRITE: 'Exception with SY-SUBRC', SY-SUBRC.

ENDIF.

FORM CALLBACK_SPFLI USING NAME  TYPE LDBN-LDBNODE
                          WA    TYPE SPFLI
                          EVT   TYPE C
                          CHECK TYPE C.
  CASE EVT.
   WHEN 'G'.

      WRITE: / WA-CARRID, WA-CONNID, WA-CITYFROM, WA-CITYTO.
      ULINE.

    WHEN 'L'.
      ULINE.
  ENDCASE.
ENDFORM.

FORM CALLBACK_SFLIGHT USING NAME  TYPE LDBN-LDBNODE
                            WA    TYPE SFLIGHT
                            EVT   TYPE C
                            CHECK TYPE C.
  WRITE: / WA-FLDATE, WA-SEATSOCC, WA-SEATSMAX.

ENDFORM.

ƒvƒƒOƒ‰ƒ€‚́A˜_—ƒf[ƒ^ƒx[ƒX F1S ‚đŽg—p‚”‚ăf[ƒ^‚đ“ǂʎæ‚è‚Ü‚·BF1S ‚̍\Ź‚́AˆÈ‰ș‚̂Ƃš‚è‚Ć‚·B

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

ƒvƒƒOƒ‰ƒ€‚ÉŠî‚Ă‚­‘I‘đ‰æ–Ê‚ȘƒvƒƒOƒ‰ƒ€‚ÌĆ‰‚Ć’è‹`‚ł‚ê‚Ü‚·B‚±‚ê‚É‚Í TABLES –œ—ß‚Ș•K—v‚Ć‚·BŽŸ‚É•K{•ϐ”‚ȘƒCƒ“ƒ^ƒtƒF[ƒXŒü‚݂ɒè‹`‚ł‚ê‚Ü‚·B 

“à•”ƒe[ƒuƒ‹ CALLBACK ‚Ƀf[ƒ^‚Ș–„‚ß‚ç‚ê‚邱‚Æ‚ĆA—lX‚ȃR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Ș 2 ‚‚̃m[ƒh SPFLI ‚Æ SFLIGHT ‚̃vƒƒOƒ‰ƒ€‚Ì’†‚ĆŒÄ‚Ńo‚ł‚ê‚Ü‚·BSPFLI ‚ɂ‚ą‚Ä‚Í GET ‚Æ GET_LATE ‚̃‹[ƒ`ƒ“‚ĆŒÄ‚Ńo‚ł‚ê‚Ü‚·‚ȘASFLIGHT ‚ɂ‚ą‚Ä‚Í GET ƒCƒxƒ“ƒg‚Ć‚Ì‚ĘŒÄ‚Ńo‚ł‚ê‚Ü‚·B

“à•”ƒe[ƒuƒ‹ SELTAB ‚́AƒvƒƒOƒ‰ƒ€‚ÉŠî‚Ă‚­‘I‘đ‰æ–Ê‚Ì‘I‘đƒe[ƒuƒ‹ S_CARR ‚̃m[ƒh SPFLI ‚Ì’l‚Ć–„‚ß‚ç‚ê‚Ü‚·B

‚»‚ÌŒăƒvƒƒOƒ‰ƒ€‚́A‚±‚ê‚ç‚̃pƒ‰ƒ[ƒ^‚đŽw’è‚”‚Ĕėpƒ‚ƒWƒ…[ƒ‹ LDB_PROCESS ‚đŒÄ‚яo‚”‚Ü‚·B

ƒTƒuƒ‹[ƒ`ƒ“ CALLBACK_SPFLI ‚Æ CALLBACK_SFLIGHT ‚́AƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Æ‚”‚Ä‹@”\‚”‚Ü‚·BƒCƒ“ƒ^ƒtƒF[ƒXƒpƒ‰ƒ[ƒ^ WA ‚Ș‚«‚ż‚ń‚ÆŽw’è‚ł‚ê‚Ä‚ą‚邯Aì‹Æ—̈æ‚̌X‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ɃAƒhƒŒƒX‚Ć‚«‚Ü‚·BƒCƒxƒ“ƒg GET ‚Æ GET LATE ‚́ACALLBACK_SPFLI ‚Ć‚ÍˆÙ‚È‚éˆ—‚Șs‚í‚ê‚Ü‚·B

ˆê——o—Í‚ÌĆ‰‚Ì•”•Ș‚́AˆÈ‰ș‚̂悀‚ɂȂè‚Ü‚·B ‚±‚̃Oƒ‰ƒtƒBƒbƒN‚Í“Y•t‚̃eƒLƒXƒg‚Éà–Ÿ‚ł‚ê‚Ä‚ą‚Ü‚·

 

 

 

 

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