IMSã¯ãæä»£é ããšããæå³ã§ã®ã¬ã¬ã·ãŒã·ã¹ãã ã§ã¯ãããŸããã倧æéè¡ã®å£²æé管çãä¿éºäŒç€Ÿã®ä¿éºå¥çŽç®¡çãå»çä¿éºæ¯ææ©é¢ã®è«æ±åŠçãªã©ãæ¯ããããŒã¿ããŒã¹ãšã³ãžã³ã§ããIBMã¯ä»ããªãéçºãç¶ããŠããŸããåé¡ã¯IMSãåäœããªããªã£ãããšã§ã¯ãªããéå±€æ§é ã®ã»ã°ã¡ã³ãããªãŒãçç¥ããŠããéçºè ãæ¬¡ã ãšéè·ããIMSãåºç€ãšããã·ã¹ãã ã«å€æŽãå ããã«ã¯SQLãæããªãããŒã¿ã¢ãã«ãçè§£ããå¿ èŠããããIMSããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã®ããã«æ±ãç§»è¡èšç»ã§ã¯å¿ ããã®éãã«èŠåŽããããšã«ãªãããšããç¹ã§ãã
å°é£ãªã±ãŒã¹ãšããŠã¯ãç§»è¡ã®éäžã§ãCOBOLããã°ã©ã ãåçŽãªããŒæ€çŽ¢ã§ã¯ãªãéå±€çãªèµ°æ»ã«ãã£ãŠIMSã«ã¢ã¯ã»ã¹ããŠããããšã«æ°ã¥ãããããã¿ãŒã²ããã·ã¹ãã ã§åçã®ããã²ãŒã·ã§ã³ããžãã¯ãçšããŠåçŸããå¿ èŠãããããšã倿ããå Žåãã2ã€ã®ç©çIMSããŒã¿ããŒã¹éã®è«ççãªé¢ä¿ããã©ã¡ãã®ããŒã¿ããŒã¹ã®DBDã«ãå®å šã«èšèŒãããŠããªãäŸåé¢ä¿ãçã¿åºããç§»è¡ã«ãã£ãŠäž¡æ¹ã®ããŒã¿ããŒã¹ãåå¥ã«å€æãããçµæããã®è«ççãªé¢ä¿ã䜿çšããŠãããã¹ãŠã®ããã°ã©ã ãéãã«å£ããŠããŸã£ãããšã倿ããå Žåããããã¯ãã»ãšãã©ã®ç§»è¡èšç»ã§ã¯ã€ã³ãã³ããªãããªãäºæ¬¡çŽ¢åŒããŒã¿ããŒã¹ããéèŠãªã¬ããŒãããã°ã©ã ãããŒã¿ã«ã¢ã¯ã»ã¹ããå¯äžã®çµè·¯ã§ãã£ãããšã倿ããå Žåãªã©ãæããããã
ãããã®é©ãã¯ã©ãããå³å¯ãªç§»äœåäŸåé¢ä¿åæãšåãåããšæ¶ãå»ã£ãŠããŸããããããåæãšåãåããšæ¶ãå»ã£ãŠããŸãã®ã ã
ããŒããã©ãªãªèŠæš¡ã§ã®IMSäŸåæ§åæ
SMART TS XL COBOLãœãŒã¹ã³ãŒãã ãã§ã¯èŠããªããããŒã¿ããŒã¹éã®IMSäŸåé¢ä¿ãç¹å®ããŸãã
詳现æ å ±IMSã®äŸåé¢ä¿åæãä»ãšç°ãªãç¹ãšã¯ïŒ
ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ç°å¢ïŒDB2ãOracleãSQL Serverãªã©ïŒã«ãããäŸåé¢ä¿åæã¯ãããçè§£ãããŠããæé ã«åŸããŸããã¢ããªã±ãŒã·ã§ã³ã³ãŒãå ã®SQLãè§£æããããŒãã«ãšåã®åç §ãç¹å®ããã©ã®ããã°ã©ã ãã©ã®ããŒãã«ã«ã¢ã¯ã»ã¹ããŠãããã瀺ãããããäœæãããã®ãããã䜿çšããŠç§»è¡ã®ç¯å²ãšé åºã決å®ããŸããæ§é ã¯æç¢ºã§ãããäŸåé¢ä¿ã¯SQLããã¹ãã§ç¢ºèªã§ããŸãã
IMSã®äŸåé¢ä¿åæã¯ãããããåŽé¢ã«ãããŠããè€éã§ããã
ãã®æ§é ã¯éå±€çã§ãããé¢ä¿çã§ã¯ãªãã IMSããŒã¿ããŒã¹ã¯ã»ã°ã¡ã³ãã¿ã€ãã®ããªãŒãšããŠæ§æãããŠãããåã»ã°ã¡ã³ãã¿ã€ãã«ã¯å®çŸ©ããã芪åé¢ä¿ããããŸããIMSããŒã¿ããŒã¹ããæ£è
ã¬ã³ãŒããèªã¿åãCOBOLããã°ã©ã ã¯å®è¡ãããŸããã SELECT * FROM PATIENTS WHERE ID = ?ãã®ããã°ã©ã ã¯ãGet UniqueåŒã³åºãïŒGUïŒãçºè¡ããŠéå±€ããã©ãã«ãŒãã»ã°ã¡ã³ãã«å°éããæ¬¡ã«Get Next Within ParentåŒã³åºãïŒGNPïŒãçºè¡ããŠåèŠçŽ ãèµ°æ»ããŸããããã°ã©ã ã®äŸåé¢ä¿ã¯ããŒãã«ã§ã¯ãªããéå±€æ§é å
ã®ç¹å®ã®ãã¹ã«ããããã®æ§é ã倿ŽãããšãSQLã¬ãã«ã®åæã§ã¯æ€åºã§ããªãæ¹æ³ã§ããã®æ§é ãããã²ãŒãããããã°ã©ã ãåäœããªããªãå¯èœæ§ããããŸãã
äŸåé¢ä¿ã¯3ã€ã®ç°ãªãæ§é ã«åæ£ããŠããŸããCOBOLããã°ã©ã ãIMSã§è¡ã£ãŠããããšã®å šäœåãææ¡ããã«ã¯ã以äžã®ç¹ãåæããå¿ èŠããããŸãã
- DBDïŒããŒã¿ããŒã¹èšè¿°åïŒïŒ ç©çã»ã°ã¡ã³ãéå±€ãããŒãã£ãŒã«ããã¢ã¯ã»ã¹æ¹æ³ïŒHDAMãHIDAMãHISAMãHSAMïŒãããã³äºæ¬¡ã€ã³ããã¯ã¹ãŸãã¯è«çé¢ä¿ãå®çŸ©ããŸãã
- PSBïŒããã°ã©ã 仿§ãããã¯ïŒïŒ ããã°ã©ã ãã©ã®ããŒã¿ããŒã¹ã«ãã©ã®PCBãä»ããŠãã©ã®çšåºŠã®æ©å¯æ§ããã³æå³ä»æ§ã§ã¢ã¯ã»ã¹ã§ããããå®çŸ©ããŸãã
- COBOLãœãŒã¹ã³ãŒãïŒ ã«ã¯ãã©ã®ã»ã°ã¡ã³ãã«ãã©ã®åŒã³åºã颿°ã䜿çšããŠãã©ã®é åºã§ãã©ã®SSAã䜿çšããŠã¢ã¯ã»ã¹ããããæ±ºå®ããå®éã®DL/IåŒã³åºããå«ãŸããŠããŸãã
åäžã®æ å ±æºã ãã§ã¯å šäœåãææ¡ããããšã¯ã§ããŸãããCOBOLãœãŒã¹ã³ãŒãã®ã¿ãåæãããšãåŒã³åºãã¿ã€ããšã»ã°ã¡ã³ãåã¯ããããŸãããç©ççãªããŒã¿ããŒã¹æ§é ã¯ããããŸãããDBDãšPSBã®ã¿ãåæãããšãããã°ã©ã ã«èš±å¯ãããŠããæäœã¯ããããŸãããå®éã«ããã°ã©ã ãå®è¡ããæäœã¯ããããŸããã
ããã²ãŒã·ã§ã³ã¯äœçœ®ã«äŸåããŸãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ã¯ããã¹ãŠã®è¡ã¯ããŒã«ãã£ãŠåå¥ã«ã¢ãã¬ã¹æå®ã§ããŸããIMSã§ã¯ãããã°ã©ã ã®éå±€å ã§ã®çŸåšã®äœçœ®ããåŸç¶ã®åŒã³åºããè¿ãå€ã«åœ±é¿ããŸããGNïŒGet NextïŒåŒã³åºãã¯ãããã°ã©ã ãçŸåšããå Žæããéå±€é åºã§æ¬¡ã®ã»ã°ã¡ã³ããè¿ããŸãããã®äŸåé¢ä¿ã¯ãã»ã°ã¡ã³ãã®çš®é¡ã ãã§ãªããçŸåšã®äœçœ®ã«è³ããŸã§ã®ãã©ããŒãµã«ãã¹ã«ãäŸåããŸããIMSã®æé»çãªéå±€é åºã«äŸåããããã°ã©ã ã¯ãåçã®é åºãä¿èšŒãããªããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«ããŒã¿ãç§»è¡ãããšããã®äŸåé¢ä¿ãè§£æ¶ãããŸãã
DL/I ã³ãŒã« ã€ã³ãã³ããª: COBOL ãœãŒã¹ã³ãŒããæããã«ãããã®
ç§»è¡åã®åæã§æãçŽæ¥çã«åœ¹ç«ã€ã®ã¯ãIMSã«ã¢ã¯ã»ã¹ãããã¹ãŠã®COBOLããã°ã©ã ã«ããããã¹ãŠã®DL/IåŒã³åºãã®å®å šãªã€ã³ãã³ããªãäœæããããšã§ãããã®ã€ã³ãã³ããªã¯ãåããã°ã©ã ãIMSã«å¯ŸããŠäœãè¡ã£ãŠããããç§»è¡ããŒã ã«ç€ºããŸããããã¯ãããã°ã©ã ãIMSã«å¯ŸããŠäœãè¡ãããšãèš±å¯ãããŠãããïŒPSBã§å®çŸ©ãããŠããïŒã§ã¯ãªããå®éã«äœãè¡ã£ãŠãããã瀺ããŸãã
COBOLã«ãããDL/IåŒã³åºãã¯ã次ã®2ã€ã®åœ¢åŒã§çŸããŸãã
COBOL
* Form 1: EXEC DLI interface (CICS-compatible, high-level syntax)
EXEC DLI
GU DB2PCB
SEGMENT(CUSTROOT)
WHERE(CUSTID = WS-CUST-ID)
END-EXEC
* Form 2: xxxTDLI call interface (batch programs, assembler-compatible)
CALL 'CBLTDLI' USING WS-FUNCTION-CODE
PCB-CUSTOMER
WS-CUSTOMER-SEGMENT
WS-SSA-CUSTOMER
ã©ã¡ãã®åœ¢åŒã«ããæ©èœã³ãŒãã䜿çšãããŠããPCBã察象ã»ã°ã¡ã³ãããããŠãªãã·ã§ã³ã§åŒã³åºãã修食ããSSAïŒã»ã°ã¡ã³ãæ€çŽ¢åŒæ°ïŒãšãã£ããåãåææ å ±ãå«ãŸããŠããŸããå®å šãªDL/IåŒã³åºãã€ã³ãã³ããªã§ã¯ããã¹ãŠã®ããã°ã©ã ãããããã®æ å ±ããã¹ãŠæœåºãããŸãã
æ©èœã³ãŒãåé¡äœç³»ãšãã®ç§»è¡ãžã®åœ±é¿
DL/Iæ©èœã³ãŒãã¯ãååŒã³åºãã«ãããŠç§»è¡ã«ãããŠæãéèŠãªèŠçŽ ã§ããåæ©èœã³ãŒãã¯ç°ãªãããŒã¿ã¢ã¯ã»ã¹ãã¿ãŒã³ã瀺ããŠããããããã¿ãŒã²ããã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã«åçŸããå¿ èŠããããŸãã
èªã¿åãå°çšé¢æ°: GUäžææ§ãååŸãã: 修食ãããSSAã䜿çšããŠã»ã°ã¡ã³ãã«çŽæ¥ç§»åããŸãããªã¬ãŒã·ã§ãã«çšèªã§ããWHEREå¥ä»ãSELECTã«çžåœããŸããã»ã°ã¡ã³ãããŒããªã¬ãŒã·ã§ãã«äž»ããŒã«é©åã«ãããã³ã°ãããå Žåã¯ãç§»è¡ã¯ç°¡åã§ãã
GNGet Next: éå±€çãªé åºã§æ¬¡ã®ã»ã°ã¡ã³ãã«ç§»åããŸããããã¯ãçŽæ¥çãªé¢ä¿åŒã«çžåœããæ©èœã³ãŒãããªããIMS ã®äœçœ®ç¶æ
ãšæé»çãªé åºã«äŸåããŠããŸããGN ãå€çšããããã°ã©ã ã¯ãäŸåããé åºãæ
éã«åæããå¿
èŠããããŸãã
GNPãGet Next Within Parent: çŸåšã®èŠªã»ã°ã¡ã³ãã®æ¬¡ã®åãååŸããŸããå€éšããŒé¢ä¿ã«ãããã¹ãŠã®è¡ãååŸããããšãšåçã§ããéåžžãå€éšããŒã® WHERE å¥ãæã€ SELECT ã«ãããã«ãããã³ã°ãããŸãã
ä¿ææ©èœïŒæŽæ°ã®åææ¡ä»¶ïŒïŒ GHU, GHN, GHNPGUãGNãGNP ã«çžåœãã Get Hold 颿°ããholdããã©ã°ã¯ãæŽæ° (REPL) ãŸãã¯åé€ (DLET) æäœãç¶ãããšã瀺ããŸããhold åŒã³åºãã䜿çšããããã°ã©ã ã¯ãèªã¿åãã»å€æŽã»æžã蟌ã¿ãè¡ãããã°ã©ã ã§ããç§»è¡æã«ã¯ãhold ãšããã«ç¶ãæŽæ°ã®éã§ãã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ãç¶æããå¿
èŠããããŸãã
æŽæ°æ©èœ: ISRT, Insert: æ°ããã»ã°ã¡ã³ãã®åºçŸç®æã远å ããŸããINSERT ãšåçã§ãã DLET, åé€: çŸåšä¿æãããŠããã»ã°ã¡ã³ããšãã®ãã¹ãŠã®äŸåã»ã°ã¡ã³ããåé€ããŸããããã¹ãŠã®äŸåã»ã°ã¡ã³ããã®åäœã¯ãIMSåºæã®ã«ã¹ã±ãŒãã§ããã察象ã·ã¹ãã ã§æç€ºçã«å®è£
ããå¿
èŠããããŸãã REPLReplace: çŸåšä¿æãããŠããã»ã°ã¡ã³ããæ°ããããŒã¿ã§æŽæ°ããŸããUPDATE ãšåçã§ãã
ãããç§»è¡ç¯å²ã«ãšã£ãŠéèŠãªçç±ïŒ GUãšGNPåŒã³åºãã®ã¿ã䜿çšããããã°ã©ã ã¯ãIMSããŒã¿ã®èªã¿åãå°çšã³ã³ã·ã¥ãŒããŒã§ãããç§»è¡ãªã¹ã¯ãäœããæ€èšŒã容æã§ããäžæ¹ãGHUãREPLãããã³DLETã䜿çšããããã°ã©ã ã¯ãéå±€æ§é ã倿Žãããã©ã³ã¶ã¯ã·ã§ã³åŠçããã°ã©ã ã§ããããã®ç§»è¡ã«ã¯ãIMSãçŸåšã¢ãããã¯ã«åŒ·å¶ããŠããæäœå šäœã«ããããã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ãç¶æããå¿ èŠããããŸãã
ããããç§»è¡ãé»å®³ãã3ã€ã®äŸåé¢ä¿ã®çš®é¡
è«ççé¢ä¿
IMSã®è«çé¢ä¿ã¯ãç©ççã«åé¢ããã2ã€ã®ããŒã¿ããŒã¹ã«ãŸãããã»ã°ã¡ã³ããæ¥ç¶ããŸããããŒã¿ããŒã¹Aã®è«çåã»ã°ã¡ã³ãã¯ãããŒã¿ããŒã¹Bã®è«ç芪ã»ã°ã¡ã³ããæã¡ãŸããCOBOLããã°ã©ã ãè«çé¢ä¿ãä»ããŠããã²ãŒãããå Žåãç©ççã«ããŒã¿ããŒã¹å¢çãè¶ãããã¹ããã©ããŸãããã®ãã©ããŒãµã«ã¯IMSã«ãã£ãŠééçã«ç®¡çãããŸãããããŒã¿ããŒã¹ãåå¥ã«ç§»è¡ããããšæ¶æ» ããŸãã
IMSç§»è¡ã«ãããŠãè«çé¢ä¿ãæããªã¹ã¯ã®é«ãäŸåé¢ä¿ã¿ã€ããšãªãçç±ã¯ãã äžã€ãCOBOLãœãŒã¹ã³ãŒãããã¯èŠããªãããã§ããCOBOLããã°ã©ã ã¯ãã»ã°ã¡ã³ãã®åãååŸããããã«GNPãåŒã³åºããŸãããã®GNPãç©ççãªèŠªåé¢ä¿ã蟿ãã®ããè«çé¢ä¿ã蟿ãã®ãã¯ãCOBOLã³ãŒãã§ã¯ãªããPSBãšDBDã«ãã£ãŠæ±ºå®ãããŸããCOBOLãœãŒã¹ã³ãŒãã®ã¿ãåæããç§»è¡ããŒã ã¯ãPSBãšDBDãå¥éåæããªãéããGNPåŒã³åºããè«çé¢ä¿ã®å¢çãè¶ããŠããããšãç¥ãè¡ããããŸããã
è«çé¢ä¿ã䜿çšããããã°ã©ã ã§ã¯ãç§»è¡ã«ãã£ãŠã察象ã·ã¹ãã ã§è«çé¢ä¿ã®ã»ãã³ãã£ã¯ã¹ïŒéåžžã¯ãªã¬ãŒã·ã§ãã«ã¢ãã«ã«ãããJOINïŒãåçŸãããã®é¢ä¿ã䜿çšãããã¹ãŠã®ããã°ã©ã ããIMSã®è«çãã©ããŒãµã«ããåãåã£ããã®ãšåãçµæãJOINããåãåãããšãæ€èšŒããå¿ èŠããããŸãã
äºæ¬¡çŽ¢åŒããŒã¿ããŒã¹
IMSã»ã«ã³ããªã€ã³ããã¯ã¹ããŒã¿ããŒã¹ã¯ããã©ã€ããªããŒã¿ããŒã¹ãžã®ä»£æ¿ã¢ã¯ã»ã¹ãã¹ãæäŸããããã°ã©ã ãã«ãŒãããŒä»¥å€ã®ãã£ãŒã«ãã§ã»ã°ã¡ã³ããååŸã§ããããã«ããŸããã»ã«ã³ããªã€ã³ããã¯ã¹ããŒã¿ããŒã¹ã¯ãç¬èªã®DBDãæã€ç¬ç«ããIMSããŒã¿ããŒã¹ã§ããããã®ããŒã¿ã¯ãã©ã€ããªããŒã¿ããŒã¹ããååŸãããŸãã
ç§»è¡ããŒã ã¯ãèšç»æ®µéã§ã¯ãªãåææ®µéã§äºæ¬¡ã€ã³ããã¯ã¹ããŒã¿ããŒã¹ãçºèŠããããšãå€ãããã®çç±ã¯ä»¥äžã®ãšããã§ããã
- ãããã¯ãå¿ ããããã©ã€ããªããŒã¿ããŒã¹ã®DBDãšã°ã«ãŒãåãããŠããªãDBDã§å®çŸ©ãããŸãã
- ã»ã«ã³ã㪠ã€ã³ããã¯ã¹ã䜿çšããããã°ã©ã ã¯ãPSB å ã§ã€ã³ããã¯ã¹ ããŒã¿ããŒã¹ãæå®ããŸãããã»ã«ã³ã㪠ã€ã³ããã¯ã¹ãä»ããŠãã©ã€ã㪠ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããããã°ã©ã ã¯ãCOBOL ãœãŒã¹ã³ãŒãã§ãããæç€ºããªãå ŽåããããŸãã
- ããã¥ã¡ã³ãã§ã¯ãã»ã«ã³ããªã€ã³ããã¯ã¹ã«ã€ããŠèšåããã«ããã©ã€ããªããŒã¿ããŒã¹ã«ã€ããŠã®ã¿èª¬æããŠããå ŽåããããŸãã
ã»ã«ã³ããªã€ã³ããã¯ã¹ãä»ããŠIMSã«ã¢ã¯ã»ã¹ããããã°ã©ã ã¯ãã¢ã¯ã»ã¹ãã¿ãŒã³ã«äŸåããŠãããã¿ãŒã²ããåŽã§ã¯éãã©ã€ããªããŒã€ã³ããã¯ã¹ãŸãã¯å¥ã®ã¯ãšãªæŠç¥ãšããŠè€è£œããå¿ èŠããããŸããç§»è¡æã«ãã®äŸåé¢ä¿ãæ¬ èœãããšãããã°ã©ã ã¯ãšã©ãŒãªãå®è¡ãããŸãããç®çã®ã¬ã³ãŒããèŠã€ããããšãã§ããŸããã
GSAMããŒã¿ããŒã¹
GSAMïŒGeneralized Sequential Access MethodïŒããŒã¿ããŒã¹ã¯ãIMSã®ã·ãŒã±ã³ã·ã£ã«ãããåŠççšã€ã³ã¿ãŒãã§ãŒã¹ã§ãããCOBOLãããããã°ã©ã ãæ©èœçã«ã·ãŒã±ã³ã·ã£ã«ãªãã¡ã€ã«I/Oã«DL/IåŒã³åºãã䜿çšã§ããããã«ããŸããGSAMããŒã¿ããŒã¹ã«ã¯ã»ã°ã¡ã³ãéå±€ããªããIMSãä»ããŠã¢ã¯ã»ã¹ããããã©ãããªã·ãŒã±ã³ã·ã£ã«æ§é ã§ãããããIMSã®ãªã«ããªæ©èœãšåèµ·åæ©èœãå©çšã§ããŸãã
GSAMããŒã¿ããŒã¹ã䜿çšããããã°ã©ã ã¯ãããããã°ã©ã ã§ããããã®ãªã«ããªåäœã¯IMSã®ãã§ãã¯ãã€ã³ã/åèµ·åæ©èœã«äŸåããŠããŸããç§»è¡æã«ã¯ããã®ãªã«ããªåäœãç¶æããããã¿ãŒã²ãããã©ãããã©ãŒã ã§åçã®ã¡ã«ããºã ã«çœ®ãæããå¿ èŠããããŸãã
ç§»è¡åã®äŸåé¢ä¿ã€ã³ãã³ããªã®æ§ç¯
å®å šãªIMSäŸåé¢ä¿åæã§ã¯ãç§»è¡ã®ç¯å²ããªã¹ã¯ãããã³æé ãå®çŸ©ãã6ã€ã®ææç©ãçæãããŸãã
ææç©1ïŒPCBãšããŒã¿ããŒã¹ã®ãããã³ã°
åPSBå ã®ãã¹ãŠã®PCBã¯ãç¹å®ã®DBDïŒç¹å®ã®IMSããŒã¿ããŒã¹ïŒã«å¯Ÿå¿ä»ããããŸãããã¹ãŠã®PSBã«ããããã¹ãŠã®PCBãäžèŠ§è¡šç€ºããããããã察å¿ããDBDã«ãããã³ã°ããããšã§ãã©ã®ããã°ã©ã ãã©ã®ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããŠãããã瀺ãå ¬åŒãªã¹ããäœæãããŸããããã¯ã¹ã³ãŒããçè§£ããããã®åºçºç¹ãšãªããŸãããããã°ã©ã ãå®éã«äœ¿çšããããŒã¿ããŒã¹ãããå€ãã®ããŒã¿ããŒã¹ãå«ãPSBãæã€å¯èœæ§ããããããå®éã®äŸåé¢ä¿ãé倧è©äŸ¡ããŠããŸãå¯èœæ§ããããŸãã
ææç©2ïŒããã°ã©ã ããšã®å®éã®é話èšé²
COBOLããã°ã©ã ã®ãã¹ãŠã®DL/IåŒã³åºããè§£æãããšãå®éã®äœ¿çšãªã¹ããçæãããŸããã€ãŸããåããã°ã©ã ãå®éã«ã©ã®PCBãåŒã³åºããŠããããã©ã®é¢æ°ã³ãŒãã䜿çšããŠããããã©ã®ã»ã°ã¡ã³ãåã«ã¢ã¯ã»ã¹ããŠãããããããŠä¿®é£ŸSSAïŒã»ã°ã¡ã³ãããŒã¢ã¯ã»ã¹ïŒã䜿çšããŠãããã修食ãããŠããªãããã²ãŒã·ã§ã³ïŒäœçœ®èµ°æ»ïŒã䜿çšããŠããããããããŸããããã«ãããPSBã§å®çŸ©ãããæš©éã®ç¯å²ãããå®éã®ããã°ã©ã ã®åäœãžãšçµã蟌ãããšãã§ããŸãã
ææç©3ïŒè«çé¢ä¿äœ¿çšããã
åŒã³åºãã€ã³ãã³ããªãDBDãšçžäºåç §ããããšã§ãã©ã®ããã°ã©ã ã®GNPãŸãã¯GNåŒã³åºããè«ççãªé¢ä¿ããã©ã£ãŠããããç¹å®ã§ããŸããããã«ã¯ãCOBOLãœãŒã¹ã³ãŒããšPSBã ãã§ãªãã芪åé¢ä¿ãç©ççã§ãè«ççã§ããããå®çŸ©ããDBDæ§é ãåæããå¿ èŠããããŸãã
ææç©4ïŒäºæ¬¡çŽ¢åŒå©çšããã
PSBå ã§ã»ã«ã³ããªã€ã³ããã¯ã¹ããŒã¿ããŒã¹ãæå®ããããã°ã©ã ããŸãã¯ã«ãŒãããŒä»¥å€ã®ãã£ãŒã«ããåç §ããSSAãå«ãåŒã³åºããè¡ãããã°ã©ã ã¯ãã»ã«ã³ããªã€ã³ããã¯ã¹ãŠãŒã¶ãŒãšããŠèå¥ãããŸãããã®ãããã«ã¯ãååšããã»ã«ã³ããªã€ã³ããã¯ã¹ããããããµããŒããããã©ã€ããªããŒã¿ããŒã¹ãããã³ãããã«äŸåããããã°ã©ã ãèšé²ãããŸãã
ææç©5ïŒããŒã¿ããŒã¹ããšã®é話ã¿ã€ãååž
察象ãšãªãåIMSããŒã¿ããŒã¹ã«ã€ããŠãããã«ã¢ã¯ã»ã¹ãããã¹ãŠã®ããã°ã©ã ã«ãããåŒã³åºãã¿ã€ãã®ååžã¯ããã®ããŒã¿ããŒã¹ã®ç§»è¡ã®è€éãã瀺ããŸãã
- èªã¿åã颿°ïŒGUãGNãGNPïŒã®ã¿ã§ã¢ã¯ã»ã¹ãããããŒã¿ããŒã¹ã¯ç§»è¡ã容æã§ãã
- ããŒã«ãæ©èœããã³æŽæ°ïŒGHU + REPLãGHN + DLETïŒã«ãã£ãŠã¢ã¯ã»ã¹ãããããŒã¿ããŒã¹ã¯ããã©ã³ã¶ã¯ã·ã§ã³æŽåæ§ã¬ããªã±ãŒã·ã§ã³ãå¿ èŠãšããŸãã
- GN䜿çšçã®é«ãããŒã¿ããŒã¹ã¯ãäœçœ®ããã²ãŒã·ã§ã³ã®äŸåé¢ä¿ã瀺ããŠãããé åºåæãå¿ èŠãšãªãã
- è«çé¢ä¿ãæã€ããŒã¿ããŒã¹ã§ã¯ãã¿ãŒã²ããåŽã§ã¯ãã¹ããŒã¿ããŒã¹JOINã»ãã³ãã£ã¯ã¹ãå¿ èŠã§ãã
ææç©6ïŒããã°ã©ã ãªã¹ã¯åé¡
åŒã³åºãã¿ã€ãã®ååžãšäŸåé¢ä¿ã¿ã€ãã®ã€ã³ãã³ããªã䜿çšããŠãåããã°ã©ã ã¯ç§»è¡ãªã¹ã¯ã«ãã£ãŠåé¡ãããŸãã
GUãšGNPã®ã¿ã䜿çšãã驿 ŒãªSSAãæã¡ãè«ççãªé¢ä¿ã®ãªãåäžã®ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããä¿ç/æŽæ°åŒã³åºããè¡ããªãããã°ã©ã ã¯ãæ©æç§»è¡ã®å¯Ÿè±¡ãšãªããªã¹ã¯ãæãäœãåè£ã§ããäžæ¹ãGNãå€çšããè«ççãªé¢ä¿ãä»ããŠè€æ°ã®ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããè€éãªä¿ç/æŽæ°ã·ãŒã±ã³ã¹ãå®è¡ããããã°ã©ã ã¯ããªã¹ã¯ãæãé«ããç§»è¡åã«åŸ¹åºçãªåæãšæ€èšŒãå¿ èŠã§ãã
åæçµæãç§»äœèšç»ã«ã©ã®ãããªå€åãããããã
äŸåé¢ä¿åæã¯ãçŸç¶ãèšé²ããã ãã§ãªãããã®åŸã®æææ±ºå®ãã®ãã®ãå€ããåãæã€ã
å®è¡é åºã®æ±ºå®ãè«ççãªé¢ä¿ãéã㊠IMS ããŒã¿ããŒã¹ãå ±æããããã°ã©ã ã¯ãåå¥ã«ç§»è¡ããããšã¯ã§ããŸãããããã°ã©ã A ããããã°ã©ã B ã®ã«ãŒã ã»ã°ã¡ã³ããšåãããŒã¿ããŒã¹ã«è«ççãªèŠªãæã€è«ççãªåã»ã°ã¡ã³ããèªã¿åãå ŽåãB ãç§»è¡ããã« (ãŸãã¯ããªããžãäœæããã«) A ãç§»è¡ãããšãA ãç ŽæããŸããäŸåé¢ä¿ã°ã©ãã«ãã£ãŠãã©ã®ããã°ã©ã ãäžç·ã«ç§»è¡ããå¿ èŠãããããæ±ºå®ãããŸãã
ã¿ãŒã²ããèšèšäžã®æ±ºå®äºé ãåŒã³åºãã¿ã€ãã®ååžã«ãã£ãŠãã¿ãŒã²ããã®ãªã¬ãŒã·ã§ãã«ã¹ããŒãã®æ§é ãæ±ºãŸããŸããããŒä¿®é£ŸGUããã³GNPåŒã³åºãã®ã¿ã§ã¢ã¯ã»ã¹ãããéå±€çãªèŠªåé¢ä¿ã¯ãã¿ãŒã²ããã§ã¯å€éšããŒé¢ä¿ã«ãããã«å€æãããŸããäœçœ®äŸåæ§ãæã€GNåŒã³åºãã§ã¢ã¯ã»ã¹ãããåãé¢ä¿ã§ã¯ãã¿ãŒã²ããã¹ããŒãã¯ãæç€ºçãªORDER BYãã·ãŒã±ã³ã¹ãã£ãŒã«ãããŸãã¯åãçµæãå®çŸããå¥ã®ã¢ã¯ã»ã¹ãã¿ãŒã³ã®ããããã«ãã£ãŠãåçã®é åºãç¶æããå¿ èŠããããŸãã
æ€èšŒç¯å²ã®æ±ºå®ãåæã§ã¯ãIMSããŒã¿ã®èªã¿åãå°çšã³ã³ã·ã¥ãŒããŒã§ããããã°ã©ã ãšãã©ã³ã¶ã¯ã·ã§ã³ããã»ããµã§ããããã°ã©ã ãç¹å®ããŸããèªã¿åãå°çšããã°ã©ã ã¯ãå ã®IMSã·ã¹ãã ãšç§»è¡åŸã®ã·ã¹ãã ã®åºåçµæãæ¯èŒããããšã§æ€èšŒã§ããŸãããã©ã³ã¶ã¯ã·ã§ã³ããã»ããµã¯ããã©ã³ã¶ã¯ã·ã§ã³ç䟡æ§ãã¹ããå¿ èŠã§ããããã¯ãã¿ãŒã²ããã«å¯ŸããŠåãæäœã·ãŒã±ã³ã¹ãå®è¡ããå Žåã«ãå ã®ã·ã¹ãã ãšåçã®ããŒã¿ç¶æ ã®å€åãåŸãããããšã確èªãããã®ã§ãã
ãªã¹ã¯åé¡ãè«ççãªé¢ä¿æ§ãšäºæ¬¡ææšã®èª¿æ»çµæã¯ããªã¹ã¯åé¡ã®äž»èŠãªå ¥åæ å ±ãšãªããŸãããã¹ãŠã®ç§»è¡ããã°ã©ã ã«ã¯ãªã¹ã¯ç»é²ç°¿ããããŸããIMSäŸåé¢ä¿åæã¯ãã©ã®é ç®ãç»é²ç°¿ã«å ¥åãã¹ãããããŒã ã«ç€ºããŸãã
èªå®æ¡ä»¶ SMART TS XL IMSäŸåé¢ä¿åæãå®è¡ãã
SMART TS XLãã éçã³ãŒãåæ COBOLããã°ã©ã ã®ãã¹ãŠã®DL/IåŒã³åºãïŒEXEC DLIãšxxxTDLIã®äž¡æ¹ã®åŒã³åºãã€ã³ã¿ãŒãã§ãŒã¹åœ¢åŒïŒãè§£æããååŒã³åºããã颿°ã³ãŒããPCBåç §ãã»ã°ã¡ã³ãåãããã³SSAæ§é ãæœåºããŸããããã«ããã皌åäžã®IMSã·ã¹ãã ãæåã«ããã³ãŒãã¬ãã¥ãŒãå¿ èŠãšããã«ãCOBOLããŒããã©ãªãªå šäœã«ãããããã°ã©ã ã¬ãã«ã§ã®å®éã®åŒã³åºãã€ã³ãã³ããªãçæãããŸãã
ã¢ããªã±ãŒã·ã§ã³äŸåé¢ä¿ãããã³ã°ã¯ããã®ã€ã³ãã³ããªãããã°ã©ã éã®äŸåé¢ä¿ã°ã©ããžãšæ¡åŒµããŸããã©ã®ããã°ã©ã ãã©ã®IMSããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãå ±æããŠããããã©ã®ããã°ã©ã ãåãPCBã䜿çšããŠããããã©ã®ããã°ã©ã ã®ã¢ã¯ã»ã¹ãã¿ãŒã³ãéè€ããŠããŠèª¿æŽãããç§»è¡ãå¿ èŠããªã©ãææ¡ã§ããŸããè«ççãªé¢ä¿ãè€æ°ã®ããŒã¿ããŒã¹ããŸããã§ã»ã°ã¡ã³ããæ¥ç¶ããŠããå ŽåãäŸåé¢ä¿ãããã¯ãã®ããŒã¿ããŒã¹éã®æ¥ç¶ããã¿ãŒã²ããã·ã¹ãã ã§ç¶æããªããã°ãªããªãæç€ºçãªé¢ä¿ãšããŠè¡šçŸããŸãã
圱é¿åææ©èœã¯ãããŒã¿ããŒã¹å€æåã«ãã¹ãŠã®ç§»è¡ããŒã ãå¿ ãçããªããã°ãªããªã質åãããªãã¡ããã®IMSããŒã¿ããŒã¹ãç§»è¡ããå Žåãã©ã®ããã°ã©ã ã圱é¿ãåããããã©ã®ã¢ã¯ã»ã¹ãã¿ãŒã³ãè€è£œããå¿ èŠããããããããŠåçæ§ã確èªããããã«ã©ã®ãã¹ãã±ãŒã¹ãæ€èšŒããå¿ èŠããããããšãã質åã«çããŸãããã®çãã¯æŠç®ã§ã¯ãªããå®éã®DL/IåŒã³åºãã€ã³ãã³ããªããå°ãåºãããåæãªã¹ãã§ãã
JCLæ¡åŒµæ©èœã¯ãéçšã³ã³ããã¹ãã远å ããŸããã€ãŸããã©ã®JCLãžã§ãã¹ãããããã©ã®ããã°ã©ã ãåŒã³åºããã©ã®é åºã§ãã©ã®PSB仿§ã䜿çšããŠIMSã«ã¢ã¯ã»ã¹ããããæç¢ºã«ãªããŸããè€æ°ã®ããã°ã©ã ãéããŠIMSããŒã¿ãåŠçããããããžã§ãã·ãŒã±ã³ã¹ã§ããéçšäŸåé¢ä¿ãã§ãŒã³ã¯ãããã°ã©ã ã¬ãã«ã®ã¢ã¯ã»ã¹ãã¿ãŒã³ãšåæ§ã«ãç§»è¡èšç»ã«ãããŠéèŠã§ããããŒã¿ããŒã¹ãç§»è¡ããéã«ããããåãå·»ãããããžã§ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãç§»è¡ããªããšãåäœã§ã¯ã¬ã³ãŒããæ£ããåŠçããã·ã¹ãã ã§ãããžã§ãã·ãŒã±ã³ã¹ãå®è¡ãããæ¬çªç°å¢ã§ã¯å€±æããããšã«ãªããŸãã
宿œããããŒã åã ã¬ã¬ã·ãŒã®è¿ä»£å IMS ãæ¯æŽããã·ã¹ãã ã§ã¯ã SMART TS XL ããã¯ããã®åŸã®ãã¹ãŠã®ç§»è¡æ±ºå®ãžã®å ¥åãšãªããŸããã©ã®ããã°ã©ã ãã©ã®ãŠã§ãŒãã§ç§»è¡ããããã©ã®ããŒã¿ããŒã¹ãåå¥ã«å€æã§ããããã©ã®ããŒã¿ããŒã¹ãåèª¿å€æããå¿ èŠãããããã©ã®ã¢ã¯ã»ã¹ãã¿ãŒã³ãçŽæ¥å€æããã®ã§ã¯ãªãåèšèšããå¿ èŠãããããªã©ã§ãã IMSããã³VSAMæ§é ãCOBOLããã°ã©ã ãšäžŠè¡ããŠç§»è¡ããCOBOLããã°ã©ã ãšã¬ã¬ã·ãŒããŒã¿æ§é éã®çžäºæ¥ç¶ã«ãããããŒã¿ç§»è¡ãšã³ãŒãåæã¯äžŠè¡ããŠé²ããå¿ èŠããããäŸåé¢ä¿ã€ã³ãã³ããªã¯äžŠè¡èšç»ãå¯èœã«ããã¡ã«ããºã ã§ãã
ã€ã³ãã³ããªã¯ç§»è¡ã§ã¯ãªã
IMSã®äŸåé¢ä¿åæã¯ç¥èãçã¿åºããç§»è¡ã«ã¯äŸç¶ãšããŠæææ±ºå®ããšã³ãžãã¢ãªã³ã°ãæ€èšŒãå¿ èŠãšãªããåæã«ãã£ãŠå€åããã®ã¯ãæææ±ºå®ã®è³ªããšã³ãžãã¢ãªã³ã°ç¯å²ã®ç¶²çŸ æ§ããããŠæ€èšŒã®ä¿¡é Œæ§ã§ããã
IMSããŒã¿ããŒã¹ã®ç§»è¡ãæåãããçµç¹ã¯ãæãå³ããã¹ã±ãžã¥ãŒã«ãæå€§ã®ç§»è¡äºç®ãæã€çµç¹ã§ã¯ãããŸãããç§»è¡ãéå§ããåã«ãèªç€Ÿã®ããŒã¿ããŒã¹ãã©ã®ãããªç¶æ ã«ããããææ¡ããŠããçµç¹ã§ããåããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ãããã¹ãŠã®ããã°ã©ã ãåããã°ã©ã ã®ã¢ã¯ã»ã¹ãã¿ãŒã³ãæããã«ãããã¹ãŠã®é¢æ°ã³ãŒããããŒã¿ããŒã¹éã®äŸåé¢ä¿ãçã¿åºããã¹ãŠã®è«çé¢ä¿ãæç€ºçãªã¬ããªã±ãŒã·ã§ã³ãªãã§ã¯ç§»è¡åŸã«åç¶ããªãã¢ã¯ã»ã¹ãã¹ãæäŸãããã¹ãŠã®ã»ã«ã³ããªã€ã³ããã¯ã¹ãªã©ããã¹ãŠãææ¡ããŠããçµç¹ã§ãã
ãã®ç¥èã¯ããã¥ã¡ã³ãããåŸããããã®ã§ã¯ãªããã³ãŒããè§£æããããšã«ãã£ãŠåŸããããã®ã ã