Page History
...
7.21.1 DEF_BREAK ã®ãã©ã¡ãŒã¿
|
|---|
...
|
|---|
...
|
|---|
ãã®ã³ãã³ãã§å®çŸ©ããã¬ããŒãå°å·è¡ã®ã°ã«ãŒãã«ä»ããååãæå®ããŸããæå®ããååã¯ããã¡ã³ã¯ã·ã§ã³å ã§åºæã§ãªããã°ãªããŸããã
|
|---|
...
|
|---|
...
|
|---|
ã¬ããŒãã«å°å·ãããã£ãŒã«ããæå®ããŸãããã®ãã©ã¡ãŒã¿ã§ã¯ãæ¡åŒµå¯èœãªã°ã«ãŒãåŒã䜿çšã§ããŸãã
RDMLãã£ãŒã«ãã®ã¿ãµããŒãããŸãã
|
|---|
...
|
|---|
...
|
|---|
ãã®ã³ãã³ãã§å®çŸ©ãããã¬ãŒã¯è¡ã®å°å·ããããªã¬ãŒãããããã®æ¡ä»¶ãæå®ããŸãããã®ãã©ã¡ãŒã¿ã§ã¯ãæ¡åŒµå¯èœãªã°ã«ãŒãåŒã䜿çšã§ããŸãã
ããã©ã«ãå€*DEFAULTãæå®ãããšããã¬ãŒã¯è¡ã¯ãENDPRINTã³ãã³ããŸãã¯ãã¡ã³ã¯ã·ã§ã³ã®çµäºã«ãã£ãŠã¬ããŒããçµäº/éãããããšãã«äžåºŠã®ã¿ããªã¬ãŒãããŸããéåžžããã®å€ã¯ãã¬ããŒãã®æåŸã«ãç·ãèšãã¬ãŒã¯è¡ãçæããããã«äœ¿çšãããŸãã ãŸãã¯ããã¬ãŒã¯è¡ã®å°å·ãããªã¬ãŒããããã«äœ¿çšãããã£ãŒã«ãåã®ãªã¹ããæå®ããŸããããããã®ã¬ããŒãè¡ãå°å·ããããã³ã«ãLANSAã¯ããã®ãªã¹ãã§æå®ããããã£ãŒã«ããšãã®ä»¥åã®å€ãæ¯èŒããŸãããªã¹ãã«æå®ãããããããã®ãã£ãŒã«ãã®å€ã倿ŽãããŠããå Žåããã¬ãŒã¯è¡ãçæãããŸãã
ãŸãã¯ããã¬ãŒã¯è¡ã®å°å·ãããªã¬ãŒããããã«äœ¿çšãããã£ãŒã«ãåã®ãªã¹ããæå®ããŸããããããã®ã¬ããŒãè¡ãå°å·ããããã³ã«ãLANSAã¯ããã®ãªã¹ãã§æå®ããããã£ãŒã«ããšãã®ä»¥åã®å€ãæ¯èŒããŸãããªã¹ãã«æå®ãããããããã®ãã£ãŒã«ãã®å€ã倿ŽãããŠããå Žåããã¬ãŒã¯è¡ãçæãããŸãã
|
|---|
...
|
|---|
...
|
|---|
å¿ èŠãªãã¬ãŒã¯è¡ã®ã¿ã€ããæå®ããŸãã Â å¿ èŠãªãã¬ãŒã¯è¡ã®ã¿ã€ããæå®ããŸãã
ããã©ã«ãå€*TRAILINGã¯ãéåžžãé¢é£ä»ããããæçްè¡ã®åŸã«ç¶ããã¬ãŒã¯è¡ãçæããããã«äœ¿çšããŸãã
*LEADINGã¯ãéåžžãé¢é£ä»ããããæçްè¡ã®åã«å°å·ãããã¬ãŒã¯è¡ãçæããããã«äœ¿çšããŸãã
å眮åãã¬ãŒã¯è¡ãšåŸçœ®åãã¬ãŒã¯è¡ã®éãã«ã€ããŠãäŸãéããŠèª¬æããŸãã以äžã®æçŽ°è¡ (DEF_LINEã³ãã³ããåç §) ãšåŸçœ®åãã¬ãŒã¯è¡ã®å®çŸ©ã«ã€ããŠèããŸãã
DEF_
...
LINEÂ NAME(#DETAIL)
...
FIELDS(#REGION #PRODES #VALUE)
DEF_BREAK NAME(#REGTOT)
...
FIELDS(#REGVAL)
...
TRIGGER_BY(#REGION)
...
ãããã®è¡å®çŸ©ã«ããã以äžã®ãããªã¬ããŒããçæãããŸãã
å°å | 補åå 容 | å€ |
|---|---|---|
NSW | 猶詰補å | 400.00 |
NSW | çŽç¿ | 700.00 |
NSW | ãã©ã¹ããã¯ã»ã¹ããŒã³ | 300.00 |
Â
   å°åå°èš | 1400.00 | |
VIC | 猶詰補å | 500.00 |
VIC | çŽç¿ | 750.00 |
VIC | ãã©ã¹ããã¯ã»ã¹ããŒã³ | 100.00 |
Â
   å°åå°èš | 1350.00 |
ãã®äŸã§ã¯ããå°åå°èš 1400.00ããšããè¡ãåŸçœ®åãã¬ãŒã¯è¡ã§ãã
ãã¬ãŒã¯è¡ããå žåçãªãåŸçœ®åãå°èšãšããŠäœ¿çšãããŠããããšãåãããŸãããŸãã以äžã®ããã«ãããã«ãå眮åããã¬ãŒã¯è¡ã䜿çšããããšã§ãã¬ããŒãã®äœè£ãåäžãããããšãã§ããŸãã
DEF_
...
LINEÂ NAME(#DETAIL)
...
FIELDS(#PRODES #VALUE)
DEF_BREAK NAME(#REGTOT)
...
FIELDS(#REGVAL)
...
TRIGGER_BY(#REGION)
...
DEF_
...
BREAK NAME(#REGNAM)
...
FIELDS(#REGION)
...
TRIGGER_BY(#REGION)
...
TYPE(*LEADING)
...
ãã®ç¶æ ã§çæãããã¬ããŒãã¯ä»¥äžã®ããã«ãªããŸãã
補åèšè¿° | å€ |
|---|---|
å°åNSW |
   猶詰補å | 400.00 |
   çŽç¿ | 700.00 |
   ãã©ã¹ããã¯ã»ã¹ããŒã³ | 300.00 |
   å°åå°èš | 1400.00 |
å°åVIC |
   猶詰補å | 500.00 |
   çŽç¿ | 750.00 |
   ãã©ã¹ããã¯ã»ã¹ããŒã³ | 100.00 |
   å°åå°èš | 1350.00 |
ãã®äŸã§ã¯ããå°åNSWããšããè¡ãå眮åãã¬ãŒã¯è¡ã§ããå°åå°èš 1400.00ããšããè¡ãåŸçœ®åãã¬ãŒã¯è¡ã§ãã
|
|---|
...
|
|---|
...
|
|---|
ã¬ããŒãäžã§ããã¬ãŒã¯è¡ãå°å·ããåã«æ¿å ¥ããã¹ããŒã¹è¡æ°ãæå®ããŸããããã©ã«ãå€ã¯2ã§ããã0ïœ100ã®ä»»æã®å€ãæå®ã§ããŸãã
|
|---|
...
|
|---|
...
|
|---|
ã¬ããŒãäžã§ããã¬ãŒã¯è¡ãå°å·ããåŸã«æ¿å ¥ããã¹ããŒã¹è¡æ°ãæå®ããŸããããã©ã«ãå€ã¯1ã§ããã0ïœ100ã®ä»»æã®å€ãæå®ã§ããŸãã
|
|---|
...
|
|---|
...
|
|---|
ç»é¢ããã«ãŸãã¯ã¬ããŒãäžã«åºåããæå€§50åã®ãããã¹ãæååããæå®ã§ããŸããæå®ããåããã¹ãæååã¯ãæå€§20æåã«å¶éãããŸãã ç»é¢ããã«ãŸãã¯ã¬ããŒãäžã«åºåããæå€§50åã®ãããã¹ãæååããæå®ã§ããŸããæå®ããåããã¹ãæååã¯ãæå€§20æåã«å¶éãããŸãã
ããã¹ãæååã®åŸã«ããã®ããã¹ãæååãç»é¢ããã«ãŸãã¯ã¬ããŒãã«åºåããè¡/è¡çªå·ãšå/äœçœ®çªå·ãæå®ããŸãã
äŸãã°ïŒ
TEXT(('ACME'
...
6 2)('ENGINEERING'
...
7 2))
Â
ãã®å Žåã2ã€ã®ããã¹ãæååã¯ãããã6è¡ç®ã®2çªç®ã®äœçœ®ãš7è¡ç®ã®2çªç®ã®äœçœ®ã«åºåãããŸãã  ãã®å Žåã2ã€ã®ããã¹ãæååã¯ãããã6è¡ç®ã®2çªç®ã®äœçœ®ãš7è¡ç®ã®2çªç®ã®äœçœ®ã«åºåãããŸãã
ç§»æ€æ§ã«é¢ããèæ ®äºé | Visual LANSAã§ã¯ããã®ãã©ã¡ãŒã¿ãç·šéãããšãã¯ãå¿ ããããã¹ããããã¹ãã»ãããã§çœ®ãæããç»é¢ãŸãã¯ã¬ããŒãã»ãã€ã³ã¿ãŒã䜿çšããŠãã ãããã³ãã³ãã»ããã³ãããèªç±åœ¢åŒã®ãšãã£ã¿ãŒã§ããã¹ããå ¥åããªãã§ãã ãããLANSA/ADã«ãã§ãã¯ã€ã³ãããšãã«ããã¹ãŠã®æ§ææ€æ»ã«åæ ŒããŸããã |
ãã¹ãŠã®ãã©ãããã©ãŒã
ããã¹ãã»ãããã¯ãç»é¢ããã«ãŸãã¯ã¬ããŒãè¡ã«é¢é£ä»ãããããã¹ãŠã®ããã¹ãæååã®è©³çްãä¿ç®¡ããããã«ãç»é¢ãŸãã¯ã¬ããŒãèšèšæ©èœã§äœ¿çšãããŸãã
ç»é¢ãŸãã¯ã¬ããŒãã®ã¬ã€ã¢ãŠãããæ§æãããŠä¿ç®¡ãããšãã¬ã€ã¢ãŠãã®ãã¹ãŠã®ããã¹ãæçްããããã¹ãã»ããããã«ä¿ç®¡ãããŸãããã®ããã¹ãã»ãããã¯ãå床ããã€ã³ã¿ãŒãã䜿çšããããšã§å€æŽã§ããŸãã
ããã¹ãã»ãããã®ååšã¯ã以äžã®äŸã®ãããªTEXTãã©ã¡ãŒã¿ã§ç€ºãããŸãã
TEXT((*
...
TMAPnnn 1 1))
...
ããã§ã"nnn"ã¯ãä¿ç®¡ãããŠããããã¹ãã»ããããèå¥ãã(ãã¡ã³ã¯ã·ã§ã³å ã§)åºæã®çªå·ã§ãã
以äžã®ãããã¹ãã»ããããããã³*TMAPnnnèå¥åã«é¢ããéåžžã«éèŠãªäºæã«ã€ããŠçè§£ããŠããå¿ èŠããããŸãã TMAPnnnèå¥åã«é¢ããéåžžã«éèŠãªäºæã«ã€ããŠçè§£ããŠããå¿ èŠããããŸãã
- ç¬èªã®*TMAPnnnèå¥åãæå®ãããã*TMAPnnnèå¥åã®å€ã倿Žãããããªãã§ãã ããã*TMAPnnnèå¥åã®å²ãåœãŠãšç®¡çã¯ãç»é¢ããã³ã¬ããŒãã®èšèšæ©èœã«ä»»ããŠãããŠãã ããã
- *TMAPnnnèå¥åãå«ãã³ãã³ããã³ããŒãããšãã¯ãã³ããŒãããã³ãã³ããã*TMAPnnnåç §(ããªãã¡ãTEXTãã©ã¡ãŒã¿å šäœ)ãåé€ããŠãã ããããããè¡ããªããšããã¹ãŠã®æ§ææ€æ»ã§*TMAPnnnèå¥åã®éè€äœ¿çšãæ€åºãããããŒã¿æå€±åã«èŽåœçãšã©ãŒã»ã¡ãã»ãŒãžãçºè¡ãããŸãã
- ã³ãã³ããã*TMAPnnnèå¥åãåé€ããªãã§ãã ãããåé€ãããšããã¹ãŠã®æ§ææ€æ»ãŸãã¯ã³ã³ãã€ã«äžã«ãé¢é£ä»ããããããã¹ãã»ããããåé€ãããããå¥ã®ã³ãã³ãã§åå©çšãããå ŽåããããŸãããŸããçµæçã«ããã¹ãæçްã倱ãããå¯èœæ§ããããŸãã
- æå¹ãª*TMAPnnnèå¥åãå«ãã³ãã³ãããã³ã¡ã³ããã«ããªãã§ãã ãããäžèšã®èŠåãšåæ§ã«ãããã¹ãã倱ããããåå©çšããããããæãããããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã»ãã³ãã¬ãŒãå ã§*TMAPnnnå€ãæå®ããªãã§ãã ããããã³ãã¬ãŒãå ã§ã¯ã*TMAPnnnå€ãæå®ããŠãæå³ããããŸãããã¢ããªã±ãŒã·ã§ã³ã»ãã³ãã¬ãŒãã«ãã£ãŠçæãããããã®ã¢ããªã±ãŒã·ã§ã³ã»ãã³ãã¬ãŒãå ã§äœ¿çšãããŠããã³ãã³ãã§ã¯ããããã¹ãæååã圢åŒã䜿çšããŠãã ããã
|
|---|
...
|
|---|
...
|
|---|
ãã®ã³ãã³ããé¢é£ä»ããã¬ããŒããæå®ããŸãã1ã€ã®ãã¡ã³ã¯ã·ã§ã³ã§äžåºŠã«çæã§ããã¬ããŒãã¯æå€§8åã§ããåã¬ããŒãã1ïœ8ã®çªå·ã§æå®ããŸãããã®ã¬ããŒãã®ããã©ã«ãå€ã¯ã¬ããŒãçªå·1ã§ãã
|
|---|
...
|
|---|
...
|
|---|
ç¹å®ã®äœçœ®æ±ºã屿§ãæããªããã£ãŒã«ãã«å¯ŸããŠäœ¿çšããèšèšç¹å®ã®äœçœ®æ±ºã屿§ãæããªããã£ãŒã«ãã«å¯ŸããŠäœ¿çšããèšèš/äœçœ®æ±ºãæ¹æ³ãæå®ããŸãã
DEF_BREAKã³ãã³ãã®ããã©ã«ãå€*ACROSSãæå®ãããšããã£ãŒã«ãã¯ãã¬ããŒãè¡ãå šäœãã«(ããªãã¡ãå·Šããå³ãž)é 眮ãããŸãã
*DOWNãæå®ãããšããã£ãŒã«ãã¯ãã¬ããŒãã»ããŒãžã®ãäžæ¹åããž(ããªãã¡ãäžããäžãž)é 眮ãããŸãã
|
|---|
...
|
|---|
...
|
|---|
ç¹å®ã®èå¥å±æ§ãæããªããã£ãŒã«ãã«å¯ŸããŠäœ¿çšããããã©ã«ãã®è奿¹æ³ãæå®ããŸãã ç¹å®ã®èå¥å±æ§ãæããªããã£ãŒã«ãã«å¯ŸããŠäœ¿çšããããã©ã«ãã®è奿¹æ³ãæå®ããŸãã
DEF_BREAKã³ãã³ãã®ããã©ã«ãå€*LABELãæå®ãããšããã£ãŒã«ãã¯ãããã«é¢é£ä»ããããã©ãã«ã§èå¥ãããŸãã
*COLHDGãæå®ãããšããã£ãŒã«ãã¯ãããã«é¢é£ä»ããããæ¬èŠåºãã§èå¥ãããŸãã
*NOIDãæå®ãããšããã£ãŒã«ãã®èå¥ãèŠæ±ãããŸãããã¬ããŒãè¡ã«ã¯ããã£ãŒã«ãèªäœã®ã¿ãæ¿å ¥ãããŸãã
|
|---|
...
|
|---|
...
|
|---|
ã¬ããŒãã®èªåèšèšæã«äœ¿çšããã¬ããŒãã®è¡ééãæå®ããŸããæå®ããå€ã¯ã1ïœ10ã®æ°å€ã§ãªããã°ãªããŸãããDEF_BREAKã³ãã³ãã®ããã©ã«ãå€ã¯1ã§ãã
|
|---|
...
|
|---|
...
|
|---|
ã¬ããŒãã®èªåèšèšæã«äœ¿çšããã¬ããŒãã®åééãæå®ããŸããæå®ããå€ã¯ã0ïœ10ã®æ°å€ã§ãªããã°ãªããŸãããDEF_BREAKã³ãã³ãã®ããã©ã«ãå€ã¯1ã§ãã
|
|---|
...
|
|---|
...
|
|---|
ä»»æã§ããã®ãã¬ãŒã¯å°å·è¡å ã®ãã£ãŒã«ãã«é¢é£ä»ããããæ¬èŠåºãè¡ãã¬ããŒãã®èŠåºãé åã«å°å·ãããã©ãããç€ºãæ¡ä»¶ã®ååãæå®ããŸãã ä»»æã§ããã®ãã¬ãŒã¯å°å·è¡å ã®ãã£ãŒã«ãã«é¢é£ä»ããããæ¬èŠåºãè¡ãã¬ããŒãã®èŠåºãé åã«å°å·ãããã©ãããç€ºãæ¡ä»¶ã®ååãæå®ããŸãã
ããã©ã«ãå€*NONEãæå®ãããšãå¶åŸ¡æ¡ä»¶ãé©çšãããŸãããå®éã«å°å·ãããè¡ã«é¢ãããããã®ãã¬ãŒã¯è¡ã«é¢é£ä»ãããããã¹ãŠã®æ¬èŠåºããåžžã«ã¬ããŒãã®èŠåºãé åã«å°å·ãããŸãã NONEãæå®ãããšãå¶åŸ¡æ¡ä»¶ãé©çšãããŸãããå®éã«å°å·ãããè¡ã«é¢ãããããã®ãã¬ãŒã¯è¡ã«é¢é£ä»ãããããã¹ãŠã®æ¬èŠåºããåžžã«ã¬ããŒãã®èŠåºãé åã«å°å·ãããŸãã
å¶åŸ¡æ¡ä»¶ãæå®ããå Žåããã®æ¡ä»¶ã¯ãDEF_COND (æ¡ä»¶ã®å®çŸ©)ã³ãã³ãã«ãã£ãŠRDMLãã¡ã³ã¯ã·ã§ã³å
ã®ã©ããã«å®çŸ©ãããŠããªããã°ãªããŸãããå°å·è¡ãå°å·ãããšãã«ã¯ãå¿
ãæ¡ä»¶ã®ç¶æ³ãæ€æ»ãããŸãããã®æ¡ä»¶ã«é©åããŠããããšã倿ããå Žåã®ã¿ããã®ãã¬ãŒã¯å°å·è¡ã«é¢é£ä»ããããæ¬èŠåºããã¬ããŒãã®èŠåºãé åã«å«ããããŸãã ã³ãã³ãã«ãã£ãŠRDMLãã¡ã³ã¯ã·ã§ã³å
ã®ã©ããã«å®çŸ©ãããŠããªããã°ãªããŸãããå°å·è¡ãå°å·ãããšãã«ã¯ãå¿
ãæ¡ä»¶ã®ç¶æ³ãæ€æ»ãããŸãããã®æ¡ä»¶ã«é©åããŠããããšã倿ããå Žåã®ã¿ããã®ãã¬ãŒã¯å°å·è¡ã«é¢é£ä»ããããæ¬èŠåºããã¬ããŒãã®èŠåºãé åã«å«ããããŸãã
|
|---|
...
|
|---|
...
|
|---|
ä»»æã§ããã¬ãŒã¯è¡ã®å°å·çŽåã«å®è¡ãããµãã«ãŒãã³ã®ååãæå®ããŸãã
ããã©ã«ãå€*NONEãæå®ãããšããã¬ãŒã¯è¡ã®å°å·åã«ãµãã«ãŒãã³ã¯å®è¡ãããŸããã ãµãã«ãŒãã³åãæå®ããå Žåã¯ããã®ãµãã«ãŒãã³ã以äžã®æ¡ä»¶ãæºãããŠããå¿ èŠããããŸãã
ãµãã«ãŒãã³åãæå®ããå Žåã¯ããã®ãµãã«ãŒãã³ã以äžã®æ¡ä»¶ãæºãããŠããå¿ èŠããããŸãã
- SUBROUTINEã³ãã³ãã«ãã£ãŠããã®ãã¡ã³ã¯ã·ã§ã³å ã§æå¹ãªãµãã«ãŒãã³ãšããŠå®çŸ©ãããŠããããš
- ãã©ã¡ãŒã¿ããªãããšããã®ããã«äœ¿çšããããµãã«ãŒãã³ã¯ãã©ã¡ãŒã¿ãæã€ããšãã§ããŸããã
...
äžèšã®ã¬ã€ãã©ã€ã³ã¯æ€æ»ãããŸããããããã«åŸããªããšãäºæããªãçµæã«ãªãå¯èœæ§ããããŸãã
TYPE(*LEADING)ãã¬ãŒã¯è¡ãµãã«ãŒãã³ãåŒã³åºãããã®ããžãã¯ã¯ã以äžã®ããã«æ©èœããŸãã <<if first usage or trigger values have changed>>
       <<execute leading break subroutine>>
       <<print the leading break line>>
<<endif>>
<<store current trigger values for next comparison>>
Â
<<if first usage or trigger values have changed>>
     <<execute leading break subroutine>>
     <<print the leading break line>>
<<endif>>
TYPE(*LEADING)ãã¬ãŒã¯è¡ãå«ããµãã«ãŒãã³ã®äœ¿çšäŸã以äžã«ç€ºããŸãã
DEF_
...
BREAKÂ NAME(#REGION)
...
FIELDS(#REG_
...
CODE #REG_NAME)
...
TRIGGER_BY(#REG_CODE)
...
TYPE(*LEADING)
...
SUBROUTINE(GET_REGION)
...
SUBROUTINE NAME(GET_REGION)
...
FETCH FIELDS(#REG_NAME)
...
FROM_FILE(REGIONS)
...
WITH_KEY(#REG_CODE)
ENDROUTINE
...
å眮åãã¬ãŒã¯è¡ã¯ãæ°ããå°åã³ãŒããæ€åºããããã³ã«å°å·ãããŸãããã¬ãŒã¯ã»ãµãã«ãŒãã³ã§ã¯ãé¢é£ä»ããããå°ååãå°åããŒãã«ããæœåºããããã«ãå°åã³ãŒãã®çŸè¡å€ã䜿çšãããŸãããµãã«ãŒãã³ã¯ãå°åã³ãŒãã倿Žãããå Žåã®ã¿å®è¡ããããããããã¯å¹ççãªæ¹æ³ã§ãã
TYPE(*TRAILING)ãã¬ãŒã¯è¡ãµãã«ãŒãã³ãåŒã³åºãããã®ããžãã¯ã¯ãããããå€å°è€éã§ããåŸçœ®åãã¬ãŒã¯è¡ã«å°å·ãããå€ããå®éã«ã¯ãRDMLãã¡ã³ã¯ã·ã§ã³å ã«çŸããæçœãªå€ãããé ããŠãããããã§ãã
äŸãã°ãå°åã³ãŒãã®å€æŽã«ãã£ãŠããªã¬ãŒãããå°ååãå°å·ããåŸçœ®åãã¬ãŒã¯è¡ã¯ãå°å·ãããå°åã³ãŒããšå°ååããRDMLãã¡ã³ã¯ã·ã§ã³å ã«çŸããå°åã³ãŒãããã³å°ååãã£ãŒã«ãã®çŸè¡å€ãããé ãããããèšå®ãããŸãã
ãã®çç±ã¯åçŽã§ãã
äŸãã°ãå°åã³ãŒãã"001"ãã"002"ã«å€æŽããããšãåŸçœ®åãã¬ãŒã¯è¡ãããªã¬ãŒãããŸããåŸçœ®åãã¬ãŒã¯ã«ãã£ãŠå°åã³ãŒãã®çŸè¡å€ãå°å·ããå Žåãã¬ããŒãã«ã¯"002"ãšè¡šç€ºãããã¯ãã§ãã
ãšããããå®éã«å°å·ãããã®ã¯ãå°åã³ãŒãã®ã以åã®ãå€ãä¿æããç¹å¥ãªå éšãåŸçœ®åããã£ãŒã«ãã§ããã®å€ã¯"001"ã§ãã
ãã®ãåŸçœ®åãããžãã¯ã¯ãTYPE(*TRAILING)ãã¬ãŒã¯è¡ã«å°å·ããããã¹ãŠã®ãã£ãŒã«ãã«é©çšãããŸãã
ãã®ããžãã¯ã¯è€éãªããã«æããŸãããå®éã¯ããåŸçœ®åãããžãã¯ã®è€éãã¯å éšçšã§ãéçºè ã¯èæ ®ããå¿ èŠããªããããéçºè åãã®RDMLã¬ãã«ã®ããžãã¯ã¯ãããããå€§å¹ ã«åçŽã§ãã
ãã®åŸçœ®åãã¬ãŒã¯å°å·ããžãã¯ã¯ä»¥äžã®ããã«ãªããŸãã
<<if this is not first usage and trigger values have changed>>
     <<save current values of all fields used in function>>
     <<restore all printed fields from their "trailing" values>>
     <<execute trailing break subroutine>>
     <<move all printed fields back into their "trailing" values>>
     <<restore current values of all fields used in function>>
     <<print the trailing break line (ie: the trailing values)>>
<<endif>>
<<store current trigger values for next comparison>>
<<if this is not first usage and trigger values have changed>>
       <<save current values of all fields used in function>>
       <<restore all printed fields from their "trailing" values>>
       <<execute trailing break subroutine>>
       <<move all printed fields back into their "trailing" values>>
       <<restore current values of all fields used in function>>
       <<print the trailing break line (ie: the trailing values)>>
<<endif>>
<<store current trigger values for next comparison>>
Â
ãã®ããžãã¯ã®å®äºæã«ããã¹ãŠã®ãã£ãŒã«ãããããžãã¯ã®åŒã³åºãæã®ç¶æ
ã«åŸ©å
ãããŸãã
ãã®ãããåŸçœ®åãã¬ãŒã¯è¡ãµãã«ãŒãã³ããã£ãŒã«ãå€ã倿Žããããšã«ããRDMLãã¡ã³ã¯ã·ã§ã³ã®ä»ã®éšåãšãæ å ±äº€æãããããšã¯äºå®äžäžå¯èœã§ãã
TYPE(*TRAILING)ãã¬ãŒã¯è¡ãå«ããµãã«ãŒãã³ã®äœ¿çšäŸã以äžã«ç€ºããŸãã
DEF_
...
BREAKÂ NAME(#REG_TOTAL)
...
FIELDS(#REG_
...
CODE #REG_NAMEÂ #REG_TOT1 #REG_TOT2 #REG_PCT)
...
 TRIGGER_BY(#REG_CODE)
...
TYPE(*TRAILING)
...
SUBROUTINE(REG_TOTAL)
...
SELECTÂ Â Â Â FIELDS(#REG_
...
CODE ...
...
etc ...)
...
FROM_FILE(SALES)
KEEP_
...
TOTAL OF_FIELD(...)
...
IN_FIELD(#REG_TOT1)
...
 BY_FIELD(#REG_CODE)
KEEP_
...
TOTAL OF_FIELD(...)
...
IN_FIELD(#REG_TOT2)
...
 BY_FIELD(#REG_CODE)
...
PRINTÂ Â Â Â Â LINE(*BREAKS)
...
<-
ENDSELECT <-
SUBROUTINE NAME(REG_TOTAL)
...
FETCH FIELDS(#REG_NAME)
...
FROM_FILE(REGIONS)
...
WITH_KEY(#REG_CODE)
...
CHANGE FIELD(#REG_PCT)
...
TO('(#REG_
...
TOT1 /
...
#REG_TOT2)
...
* 100')
...
ENDROUTINE <-
åã®äŸãšåæ§ã«ããã®ãµãã«ãŒãã³ãå°åã³ãŒãã倿Žãããå Žåã®ã¿åŒã³åºãããŸãããã®ãµãã«ãŒãã³ã¯ãå°åããŒãã«ããå°ååãæœåºãã#REG_PCTããã£ãŒã«ã#REG_TOT1ããã³#REG_TOT2ã®åèšã®ããŒã»ã³ããŒãžã«èšå®ããŸãã
ãã®ã«ãŒãã³ã¯ãå®éã«ãã¬ãŒã¯è¡ã«å°å·ãããå€ã®äœ¿çšãšå€æŽã®ã¿ãè¡ããããè¯å¥œã«åäœããŸãã
ãã®æ¹æ³ã¯ããã®ã¢ããªã±ãŒã·ã§ã³ããããã°ã»ã¢ãŒãã§å®è¡ãããšåãããããã§ãããã
ãããã°ã»ã¢ãŒãã§ã以äžã®å Žæã§ãã®ã¢ããªã±ãŒã·ã§ã³ã忢ããããèšå®ãããšããŸãã
...
ãŸããSALESãã¡ã€ã«ã«å°åã³ãŒã"001"ããã³"002"ã®æ å ±ãä¿æãããSELECTã«ãŒãã«ãã£ãŠå°å"001"ã®ãã¹ãŠã®æ å ±ãåŠçæžã¿ã§ãæåã®å°åã®ãã¹ãŠã®æ å ±ãåŠçæžã¿ã§ãæåã®å°å"002"ã¬ã³ãŒããèªã¿åã£ãçŽåŸã§ãããšããŸãã ã¬ã³ãŒããèªã¿åã£ãçŽåŸã§ãããšããŸãã
PRINTã³ãã³ãã§ã¯ã以äžã®ããã«ãªããŸãã
- ãã£ãŒã«ã#REG_CODEã«"002"ãä¿æããã
- ãã£ãŒã«ã#REG_NAMEã¯ãã©ã³ã¯ã«ãªã
- ãã£ãŒã«ã#REG_TOT1ã¯å°å"002"ã®çŸè¡ã®åèšã«ãªã
- ãã£ãŒã«ã#REG_TOT2ã¯å°å"002"ã®çŸè¡ã®åèšã«ãªã
- ãã£ãŒã«ã#REG_PCTã¯0ã«ãªã
...