ps4sÔwhwřwř0vnšPĘH'“%@€€˙˙€€€ůŹzawřxĘHLˆŔ€¸'''?!“ŻÔŘÜŘ }˘=Ź^ŠÂÖăń  M v € Ž ę  ‚Ç‚Ú9d‘~aÇaÇ)ŰŽH)Ŕ €A°)É€)Ŕ€A€0€q°)ä€ #ŕ ŕÔ)ŰŽ"IA›~€AA€q°€)˙đ)ÉŽIA›~€A°€q°)ŰŽ›u€A0B )äŽGAĹFaÄGC€IAAō=€A0B)íŽaÄA×°‚ )íŽ)ÉŠ˙ IH€ )íŠ˙Ľ€A0BaÄA×°‚ )ŰŽGƒ€A0B  )ŰŽG €yżA€A°€)˙A0B)ŔŽ€€B_)íŠ˙ IH€€)íŠ˙ IHH€N)É ř÷)ÉŽ)G0C GA€q°)Ň ŕô)ÉŽGA€q°)É€ ¸)É ŔŔô)ÉŽG0C GA)Ŕ €ţ)ÉŽG7Č€A°€A€0€q°)ö# ţÖ)ŰŽ#€ č)ÉŽéAŞ †wI 2OwI <Ow0Iqŕ M€‘ţë ‘yii€A °aʁ˙AČAÇ)ö. €€I A aĘ d d)Ű.üGaĘ ^ ^)Ű.üG€I X X€ W)Ű.IA›Saa‘€ •a K K)Ű.üG€)ŔŽ)ÉŽGaiA€š= 6 6€ 5)Ű.IA €›4AˆI ) )€ ()Ű. ˙I )đ† ÷ ňAA†Ç ‰˙  )˙ ň)É.öGA†Ç œš  *• :~.   P a a a a€ ř)í.€€G7€A °†ç †Ç A‰×)Ň.ai˙yéNAC€A °€€)Ň.aiA ˝ ˝€ ź)Ű.ˆI ľ ľ€ ´)Ű.0 Ž Ž€ ­)ä.¨H I7€A °†ç †Ç A‰×)Ň.ai˙yé ~  ˙I  €ť@Ă@‚ô €A °A)Ň.aiA ( (€ ')Ű.I‘$€A °)É.† ÷ ňaÄ † ÷ ňaĆ €A °)É. a  )Ű.üGŞ † wI  ‘ţň  ţĂ‘}€ Mń Kó€IAAō–taÄA×°‚ >ó <ň-K 7ň 3ń 1đ€… - - *đˆא  "đ‰ŕ đ$AĹI' ň€€  )ŰŽ ó ň•€€ ń.J ś -Ú@DÚů ďó$ ëň• çň äó ŕđ@ Úđ×°‡ ×ň)Ű˙ƒ ŽG Ëđˆ Čń€y‘ ň ň Áđ×°‡i- şň•aÄ łóŞ˙i‘}AĹaÄ)Ň. aň•”w ] ] Zň€˙€)ö. ™~€€i P Pa”)Ű. J J€A°€)ä.A0ô— A0ô < <)Ň.ýG€Ş†÷ň)Ű.€€)íŠ˙ IHi # #a”)Ű.  €A°€\)ä.A0ô–A0ôA0ô )Ň.ýG€Ş ¸ ĚA0 ô5€A0  )Ű.üG× âʀA )ÉŽGŃ Ń ń đ€…š | | üđˆא  ôđ‰ŕ đđY€Ş ż ż€A°€ )ä.A0ô—m€IAA0A€ô 7÷ IA0A€ôŮ€yë7÷ I€Ů€A A0ô €€€†Ç€q°€q °)˙.  €A°€)ä.aá)Ű.)ɨە  )É.ţGa †ç)Ű.)ɨە †ç)É.a )í.úG.J ć!  €A°€ )ä. ý ý)É. A0ô €A < <)ŰŽ)ÉŽG€A 5 5)ŰŽG€A €A0)ŰŽGA AĹaÄ)í.G "đ ň)ÉŽ G€Ş†wI†=wI†@wI†FwI†Jw0I †cwI ^‘!0!: ţ‘€q°€q°€q°)˙€€÷)ŇŽ€)ŔŽ&Aa)Ň.)ŔŽŞ€IaÄAאaÄAא* aÄAא?€yéaÄAא€€ŞaÄŞAĂŞ‘pAęoaÇaÇ)ŰŽHaɀ€AĹ€€€)ä ţđ)ÉŽaɀ€ AĹOaɀ€aÇ H H)Ű.üGAaɀ€ :aÇ)ÉŽHIaÇaÇ)ŰŽH€q°AÀ € đ€)˙€!)Ŕŕń)ÉŽaɀ€ aɀ€aÇaÇ)ŰŽHaɀ€)Ň řđ)ÉŽaɀ€ ="<ƒaÇ t t)ŰŽaÉ AĹaÉ • aÉ )ÉŽ GaÇ c c)Ű.üGaÇ ^ ^)ŰŽaÉ  € Xń W W )äŽGaÉ •€€aɀ€ aɀ€aɀ€aÇ 9 9)ä.űG€Ş € )ÉŽaɀ€ €aɀ€  €aɀ€ AÄaɀ€ aɀ€ aɀ€ ˙Ş "J"L"\ !<"^†w0I(‘˙aĀ€aĀ€aĀ€)Ŕ €ţ)ÉŽGaĀ€ )ÉŽ aÄ • aÄ )ÉŽ GaĀ€ )ÉŽ Şi€A°€ c€aÄG4aƀ€€A°€€q°€)ö ţő)ÉŽGaƀ€aaĐ)ŇŽ!G0C Gaƀ€aƀ€)Ň ŕô)ÉŽGaƀ€aÄ)ŇŽ!G0C Gaƀ€aƀ€)Ň ŕô)ÉŽG€aƀ€ €aƀ€  ކwI’€A°€ €aĀ€€A°€€q°€)ö ţő)ÉŽGaކwIŢ g g gđ eđˆ bńאIAA ˙ŞaÄ)ÉŽ ˙Ş O O€˙aÄ)䎕˙Ş D D)ÉŽHI7 < aĆaÄaČ)í. i•aiĆâaĆ‘iĆ,Q €)€IaƐ€€IaĆq° řű)öŽ A ˙IA˙y Q)ŔAČGaƐiĆYîQ)ŔAČGaƐiĆ§Ş AĂ ň)ŇŽ˙ óŞ ň• ň óŞAĂ)ŔŽŞ%‘~€999I€ I€9I˙I €Ii€Ai€Ai€IaČ0aČ€I%€I"€I€I€0Iŕ€…@˙đ˙đ ˙â ˙Ý ˙ćaȐiČÍA€IaČ*aȐiČaĆ €€‘aĆ I7AŒI€I aČaȀq°)í.!רِiČA€ IaČ.EaČđiČ*aȐiČaĆ €€‘aĆ I 7 ˙I  aČaȀq °)í.!רِiČaČdaČiaČo aČuaČxaČXA ˙€ IaČ€IaȐiČ€IaȐiČ€IaȐiČ  hč@lě@LđaČaȐiČ9‘yaĆ €€‘aĆ aĆ  q ˜‘v€ŮaĆ €€‘aĆ  iAai# 3ňÇa# ‘~ai# +ňa# ‘wai# $ňľa# ‘o ňÇa ‘i‘hŕ@ĺ@éđA6aĆ €€‘aĆ śq ˜3aĆ €€‘aĆ  ľq ˜%aĆ €€‘aĆ  q ˜aĆ €€‘aĆ śq ˜ V Č@Ó@ÝčGq œĽ€Iq œ €€Ľq œ¤q ˜A aaii#h€-a#A aaii#€ a# A aaii#€+a#aq œ)í."I7 €I 7  q œĽ€Ů‘ĎA A‰I7œÉaAאaAˆ×)íŽ'G˙yaAאi#€0a#7ôA I‘ŻA5aĆ €€‘aĆ ˇq ˜źaĆ €€‘aĆ aĆ  q ˜ŽaĆ €€‘aĆ  q ˜˘aĆ €€‘aĆ ˇq ˜•”É@Ó@ŢéA5aĆ €€‘aĆ ˇq ˜1aĆ €€‘aĆ aĆ  q ˜#aĆ €€‘aĆ  q ˜aĆ €€‘aĆ ˇq ˜  É@Ó@ŢéAq œĽ aaii#€0a#aq œ)í.#I‘~A5aĆ €€‘aĆ ˇq ˜1aĆ €€‘aĆ aĆ  q ˜#aĆ €€‘aĆ  q ˜aĆ €€‘aĆ ˇq ˜  É@Ó@ŢéAq œĽaaii#€0€-ăaaii#€xa#aq œ)í.$IAXAPš€A)É.%‘aĆ €€‘aĆ  iiaG  iţť.Haű‘”i7 i‘~7  aA וA ×iai‘piaĆ €€‘aĆ Ů€†ß‘`€I €I7 €I €I7 €I A €A I7€yAI!aĆ €€‘aĆ A€q °€q°€)˙A)ŔŽI77 AAŃ0€I A!ˆ9I"˙y"7"7"÷I%€0Ů%öAA AA IA˙y A€pyO÷I%€0Ů%đAA ‰˙9üAA €€9A AA ‰‰I ˙y 7A ˆ9IA A ˆ9I7€IAAE7×5A7×9=AI7×5 7÷I%€0Ů%˙y7׈7ß77×97÷I%€0Ů%7˙y7׈7ßë7˙yćA˙Ń0 €1Ů€y7÷I%€0Ů%€y 7˙y €IAAgAG aA)Ň.&IAAAA‰IAAA€yA 7  7AgAG€y7A ˆy7 A yA ˆy76AA2A0A €99I€-)ŔAÄGA€I€+)ŔAÄG A€I€ )ŔAÄGAA‰I˙y7A)ŔAÄG€yôA€-)ŔAÄGA€+)ŔAÄGA€ )ŔAÄG7”u7 ;€0)ŔAÄG7 7A€.)ŔAÄG˙y 7 ˜o€y 7 €0)ŔAÄGň˙y7 aai)ŔAÄG A AgAG€0)ŔAÄGŐA ˙y ˙y7 aai)ŔAÄGě€0)ŔAÄGć7 7A€.)ŔAÄG˙y 7 ˙y7 aai)ŔAÄGíA AgAG€0)ŔAÄGŢ}}˙y7 aai)ŔAÄG€0)ŔAÄG7 7A€.)ŔAÄG˙y 7 ˙y7 aai)ŔAÄGíA AgAG€0)ŔAÄGßAEAG€E€e)ŔAÄG7  A ŒI €-)ŔAÄG€+)ŔAÄG€AA ś)í."9 €0)ŔAÄGŃ)ŔAÄG Ń)ŔAÄG†×)ŔAÄGAAAAA‰I˙y7A)ŔAÄG€yôaČŞ A%€%)ŔAÄGaČŞ Ş ;ť€4…ď@ýe˙ěýi˙ę˙é˙č˙ç˙ć˙ĺ˙ä˙ăű ˙á˙ŕ˙ß˙Ţ˙Ý˙Ü˙ŰüŁ˙Ů˙Ř˙×˙Ö˙Ő˙Ô˙Ó˙Ň˙Ń˙Đý7űOýEýGýI˙ĘűJ˙Č˙Ç˙Ć˙Ĺűü4ű˙Á˙Ŕüó˙žűî˙ź˙ťüƒaG aű‘”ia•iA×a•€IAaljIAaa‘iG aai)ŔAÄGíA˙y:A)ŔAÄGőA0aa•aai)ŔAÄGa‘iíA˙yA)ŔAÄGőaa‘iG aai)ŔAÄGíaČŞ †&w0I‘ůŒ€99IaĆ-€9IaĆ+€IaĆAא (ń &đ€… " " đˆא A€ ŠaĆA€yא‰ĐˆIÜAAŒIAaÄ AŞ.J‘w€I€†ßqÜ €€Ľ#qÜ€€ Łq˜˙y7÷IqÜqœ)˙€€ Šű˘)ŰŠ˙Ą¤´ˆ0Ůqœ¤qƘqÜ ˙Ľ"qÜ€€ Łq˜˙y7÷IqÜqœ)˙€€ Šű˘)ŰŠ˙Ą´ˆ0ŮqœqƘ×qܧia€˙•a€€ “i ˙y7÷Iaa €€ ’‘Lj0Ůa iĺ;aHI €A € ƒHI ˙y7÷IA A € ‚I0ŮA I 7 é€A‰IaȀ7÷Aˆ×E)i€ ˙• ˙Šé‘)éřţE€AŞ †w0I ‘˙HP€I€†ß˙y7÷IqÜ€€)˙Ž%´ˆ0Ůq܀)äŽ(qƘC ˙)˙Ž%qƘqÜĽÜaȀ7÷űZ[‘E)i€ ˙• ˙Šé‘)éřţE€€A‰Ş †w0I ŞW€†ß€I˙y7÷I B BqÜ)˙€€)ÉŽ%§¨ŮŮq܀)äŽ(qƘC ˙)˙Ž%qƘqÜĽ×aȀ7÷űZ[‘E)i€ ˙• ˙Šé‘)éř.ĚţE€€A‰Ş †w0I ŁaÄi€- €- ń đ€…   đˆא  đ‰ŕ đaaiÝŞ.J˙yĂ7Ă aĹAĂא0AÈŞ˙yĂń€Ş…Ę…ĹÇ=ÇOČ4Ç8„É„[„X„=ÂVŽ¨§¤žɃɔɀÉ9ÉhÉjÉgÉbÉ1ÉRÉXÉpɎɛÉQÉEČ{Č~ĆŞČÇŰÇÓÇĂÇ^ÇG€"€ŽŽŞŞMCB ŞŞ@.ހ€yŔ3 Skipping: %s UnPACKing: %s %ld bytes Pack=%d, File=%d, Len=%d, Offset=%d, Chk=%ld offset <= FCB.Pos$D1.MERLON.UPKC %ld bytes aNot a package (%X) Missing Header (%X) %sWarning: file byte count mismatch Warning: checksum mismatch (%lx:%lx) DEFAULTS.Replacing %s rReplacing: %s wCannot open %s; error %d %s %sOperation not permittedNo such file or directoryNo such process or table entryInterrupted system callI/O errorNo such device or addressArgument list too longExec format errorBad file descriptorNo childrenNo more processesInsufficient user memoryPermission deniedBad addressMount device busyFile already existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid function argumentFile table overflowMaximum number of files already openNot a typewriterObject (text) file busyFile too largeNo space left on deviceIllegal seekRead only file systemToo many linksBroken pipe or no reader on socketArgument out of function's domainValue out of rangeNo message of desired typeIdentifier removedDeadlock conditionNo record locks availableNo data sent or receivedFunction not implementedOperation would blockOperation now in progressOperation already in progressSocket operation on non-socketDestination address requiredMessage too longProtocol wrong type for socketProtocol not availableProtocol not supportedSocket type not supportedOperation not supported on socketProtocol family not supportedAddress family not supportedAddress already in useCan't assign requested addressNetwork is downNetwork is unreachableNetwork dropped connection on resetSoftware caused connection abortConnection reset by remote hostNo buffer space availableSocket is already connectedSocket is not connectedCan't send after socket shutdownConnection timed outConnection refusedHost is downNo route to hostFile name too longDirectory not emptyInvalid data in bufferNo reply in bufferPartial buffer receivedInterface error from SPIVersion mismatchXDR encoding errorXDR decoding errorOut-of-band data availableInvalid socket callFile type not supportedNot a C fileInsufficient internal memoryToo many symbolic links during path name resolutionFileset Catalog internal consistancy errorRoot Fileset is not mountedOpen System Services not runningIllegal byte sequence (from XPG4)Process is not CRE compliant, but requests a service that depends on CRENon-OSS process has requested a service available only to OSS processesCPU unavailableSomething impossible happenedOSS operation attempted on Guardian file descriptorNonStop logic errorEither cwd or cwd/file name is longer than PATHMAXA Guardian define error was encounteredThe file is in useNon-OSS file is corrupt or edit file has internal structure problem/G-file is locked by Guardian APIAn OSS process is trying to do a cross cpu exec, but has an active semundoAn invalid message tag was encounteredPositioning of an OSS directory failed, more than 65535 name candidatesThe function is supported but not for referenced object typeI/O operation on failed ot downed IOP.End of TableNo errorA negative errno value, %d, is invalid.Guardian or User Defined Error %d%s %s: %s Assertion failed: %s, file %s, line %ld.%03d ((((( H„„„„„„„„„„‚‚‚‚‚‚ 0123456789abcdefAWAITIOX CRE_CK_MEMORY_COPYX_ CRE_CK_MEMORY_SETX_CRE_CK_STRCATX_CRE_CK_STRCPYX_CRE_CK_STRLENX_ CRE_CXVFD_  CRE_GETENV_CRE_SIGNAL_EXECUTOR_ CRE_STACKTRACE_ C_CK_FREE_ C_EXIT_ C_FCLOSE_C_FEOF_ C_FFLUSH_C_GET_STARTUP_MSG_  C_INT_EXIT_C_INT_LG_INIT_C_EXTENDED_C_INT_LG_STDIO_FP_ C_INT_STDIO_BEGIN_OUTPUT_C_INT_STDIO_BPUTC_ C_INT_STDIO_END_OUTPUT_C_LG_CK_MALLOC_ C_LG_FGETS_ C_LG_FOPEN_ C_LG_GETS_ DELAY FILE_CLOSE_ FILE_CREATE_ FILE_GETINFOLIST_ FILE_GETINFO_ FILE_OPEN_  MBCS_CHAR_ POSITION PROCESS_CREATE_PROCESS_GETINFO_ READXRTL_AND_INT64_ RTL_ARITHMETIC_TRAPS_RTL_MEMORY_MOVEX_RTL_SHIFT_RIGHT_INT64_  WRITEREADX WRITEX Ózmd[ݤTĘ:ăċ,‚ cR ů ~as¸c­¤  3 . C  ` 5 đ n E ÁTn§&ń +˜+JhďôEX ČT6G h§ ŰůœŕˆBlockInŠBlockOut ÂCharIn o=CharOutNFDClose5Ř FDFlushK^FDOpen üÜ  FDPosition p FDSize %} IsPattern%ŻProcessCommand ˘RTPRTFC.fprintf_put ęRTPRTFC.llong_to_dec_ascii ťÇ"RTPRTFC.llong_to_hex_ascii _Ú$RTPRTFC.llong_to_oct_ascii X‚# RTPRTFC.pf \ Ž RTPRTFC.pfmt w RTPRTFC.strupr +9%RTPRTFC.trim_trailing_zerosd& UnPackFile @?_C_LG_fprintf_ ă _C_LG_printf_ Ö _C_LG_raise_  _C_LG_vfprintf_) M_C_LG_vprintf_ 2 _MAIN“_assert*ńabort v blockcharm˘ blockread. blockwrite dŹdec_ascii_to_short1E‚!fprintf €iton Ř lton Ômain r!spawnv 'FsŃ@ťkTšŃű(ëHGj\[4M>k& c 8 ťˆ ⠁ k @ Ľ í"çńąg˜R/„œYoza z ŠíßÖ &xĄ | Ź \"*Ťk°@˙˙˙˙@üps4šP'%P€p°˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙€0˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙p˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙p@Ŕ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Ŕp@˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙“ĹSëpr€  ůŹ~Z&@ č č$˙˙˙˙˙˙˙˙pBl˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ pl˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Ŕ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙p@Ŕ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Ŕp@˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙(pB˙˙˙˙(˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙pp@”pBl “ĹSëůŹ~[ $ž@˜č˜čœ ˘\ @Ťœ”˙˙˙˙pBkýpBkĚpBk¤pBkTpBk8pBkpBjěpBjĚpBj”pBjXpBiÜpBi|pBi8pBhđpBh¤pBh\pBh@pBgÔpBgœpBgTpBgpBfĚpBfPpBfpBeźpBeˆpBeüpB>ĚpB>ŔpB>pB>hpB>pB=ôpB=čpB=čpB=œpB=PpB=PpB=pB=pB<¤pB<˜pB<\pB<,pB< pB;ĐpB;”pB;PpB;,pB;pB:üpB:ÜpB:¸pB:œpB:xpB:dpB:TpB:4pB:pB9čpB9čpB9¤pB9„pB9PpB98pB8ôpB8ôpB8ŹpB8|pB8`pB8`pB8`pB8 pB7ÔpB7´pB7ŒpB7tpB7\pB7pB6ÔpB6ÄpB6€pB60pB6pB6pB5ŔpB5„pB5PpB5@pB5pB4ŕpB4ŒpB4dpB4(pB3ěpB3 pB3hpB3TpB2ÔpB2pB2lpB28pB2,pB1 pB1 pB14pB1pB0ŘpB0ÄpB0dpB0LpB0,pB/\pB/PpB.äpB.œpB.lpB.pB-čpB-œpB-hpB-,pB,ŕpB,ĚpB,ĚpB, pB,lpB,lpB,lpB,pB,pB+řpB+œpB+|pB+|pB+|pB+‹Đ˙đ›Đ˙ó’  3 €!$'§Đ$$§Đ$!§Đ$§Đ$0§Đ &˙ŕ2˙˙*  ! €$p‚pB7ÔpB8|pB8|pB7ŕpB8|pB8|pB8|pB8|pB8|pB8|pB8|pB7ČpB8|pB7źpB8|pB8|pB7ě‹Đ˙đ›Đ˙ó"ŤĐ˙đ˙ČťĐ˙ó‡Đ§Ŕ‹Ě˙đ›Ě˙ó$*‘!ŤĐ˙đťĐ˙ó‹Í˙ô›Í˙÷‰°™°"˙ţаš°†\`x!á§Đ39˙ß €"„§Đ$§Đ#Ô'˝ ŤŹ˙öťŹ˙ůŤŹ˙úťŹ˙ýŤ´˙ţť´ —$ }‹˛˙ţ›˛'˝˙ü€ ŤĐ˙đťĐ˙ó‡Đ$ §Đ ‹Ě˙đ›Ě˙ó$.‘D€€!" ŤĚ˙đťĚ˙ó‘$*!ŤĐ˙đťĐ˙ó‹Í˙ô›Í˙÷‰°™°"˙ţаš°†|á§Đ$˙˙§Đ#Ô'˝ ŤŹ˙öťŹ˙ůŤŹ˙úťŹ˙ýŤ´˙ţť´ —$ ­‹˛˙ţ›˛'˝˙ü€ ŤĐ˙đťĐ˙ó‹Ě˙đ›Ě˙ó$d‘Ą $iĄ $oĄ$uĄ$xĄ$XĄ‡Đ$˙˙$ §Đ ‘$h$§Đ !ŤĐ˙đťĐ˙ó`!$§Đ !ŤĐ˙đťĐ˙ó`!$§Đ !ŤĐ˙đťĐ˙ó `!$h˙é$l˙í$L˙ň$!’ŤŇ˙đťŇ˙ó‘O§Đ‹Í˙ô›Í˙÷‰°™°"˙üаš°‹Č˙ô›Č˙÷‰™@@!‰™ŤŔťŔŤŇuťŇ—Č"Ą‹Í˙ô›Í˙÷‰°™°"˙üЍš¨‰ ™ ‡Đ ŤË60ťË9ŤËFťËIˆ˜!39˙ß*€ 4€* q TĽpŤËFťËIˆ˜!ŠpLšpŤËFťËIˆ˜!‡ĂŠpšpŠrAšrˆ˜!39˙ß*€ 4€* q 4Ľp$˙Ď$˙Ű$˙ŕ˙ęˆ‡Đ H$‹Í˙ô›Í˙÷‰°™°"˙ţаš°† ‡ĂŤĐťĐŤĚAťĚ‹Í˙ô›Í˙÷‰°™°"˙üЍš¨‰ ™  ‡ĂŤĐťĐŤĚ/ťĚ‹Í˙ô›Í˙÷‰°™°"˙řЍš¨‰™‰ ™ ŤĐťĐŤĚťĚ‹Í˙ô›Í˙÷‰°™°"˙ţаš°† ‡ĂŤĐťĐŤĚ ťĚ$˙¸$˙Ć$˙Ő˙ć‹Í˙ô‡Í—Ë—Ę—É  x!``x!@@x! x!á$€$Ąx"ŕ§Đ``x!@@x! x!ŕ ‹Ć›Ć€8!$ €$ŤÄťÄŤĹťĹ‡Đ ‹Ě(›Ě+!’ŤŇ(ťŇ+ŤĚFťĚI$-Ą‡Đ ‹Í(›Í+$ !˛ŤŇ(ťŇ+ŤÍFťÍIĄ°‡Đ ‹Í(›Í+$+!˛ŤŇ(ťŇ+ŤÍFťÍIĄ°‹Đ(›Đ+‹Ň›Ň‹Ô›Ô'˝ Ť°˙öť°˙ůŤ˛˙úť˛˙ýŤ´˙ţť´ —_$ ź§Đ,‡×|á$§Đ‡×l  x!‡Ď—Ń—Ň—Óŕ  x!@@x!`x!ŕ—Č"]Ą‡Ń,d39˙ߏ€"„§Đ4‡Ë4 |ŕQ‹Í(›Í+<Ť€   ¤'˝ Ť°˙öť°˙ůŤ­˙úť­˙ýŤ´˙ţť´ €$ ܇Č4D39˙ß<˙˙@ L‹Đ(›Đ+§É4 ` ŤĚFťĚI$0Ą‡×4|ŕ˙í‡Đ+§Đ,‡Đ I$‹Í˙ô›Í˙÷‰°™°"˙ţаš°–ŤŔťŔŤŇ˙‘ťŇ‹Í˙ô›Í˙÷‰°™°"˙üаš°‹Č˙ô›Č˙÷‰™@@!‰™ŤŔťŔŤŇ˙zťŇ‹Í˙ô›Í˙÷‰°™°"˙řЍš¨‰™‰™ŤĐťĐŤŇ˙hťŇ‹Í˙ô›Í˙÷‰°™°"˙ţаš°–ŤŔťŔŤŇ˙YťŇ$˙ˇ$˙Ă$˙×˙č‹Í˙ô‡Đ I$‹Í˙ô›Í˙÷‰°™°"˙ţаš°–ŤŔťŔŤŇDťŇ‹Í˙ô›Í˙÷‰°™°"˙üаš°‹Č˙ô›Č˙÷‰™@@!‰™ŤŔťŔŤŇ-ťŇ‹Í˙ô›Í˙÷‰°™°"˙řЍš¨‰™‰™ŤĐťĐŤŇťŇ‹Í˙ô›Í˙÷‰°™°"˙ţаš°–ŤŔťŔŤŇ ťŇ$˙ˇ$˙Ă$˙×˙č‹Í˙ô‡Đ‡Ď—Ń—Ň—Óŕ  x!@@x!`x!ŕ ‹Í(›Í+$0!˛ŤŇ(ťŇ+ŤÍFťÍIĄ°‹Đ(›Đ+‹Ň›Ň‹Ô›Ô'˝ Ť°˙öť°˙ůŤ˛˙úť˛˙ýŤ´˙ţť´ ˜ď$ ‚ţާĐ,‡Đ I$‹Í˙ô›Í˙÷‰°™°"˙ţаš°–ŤŔťŔŤŇDťŇ‹Í˙ô›Í˙÷‰°™°"˙üаš°‹Č˙ô›Č˙÷‰™@@!‰™ŤŔťŔŤŇ-ťŇ‹Í˙ô›Í˙÷‰°™°"˙řЍš¨‰™‰™ŤĐťĐŤŇťŇ‹Í˙ô›Í˙÷‰°™°"˙ţаš°–ŤŔťŔŤŇ ťŇ$˙ˇ$˙Ă$˙×˙č‹Í˙ô‡Đ ‡Ď—Ń—Ň—Óŕ  x!@@x!`x!ŕ‹Í(›Í+$0!˛ŤŇ(ťŇ+ŤÍFťÍIĄ°‹Í(›Í+$x!˛ŤŇ(ťŇ+ŤÍFťÍIĄ°‹Đ(›Đ+‹Ň›Ň‹Ô›Ô'˝ Ť°˙öť°˙ůŤ˛˙úť˛˙ýŤ´˙ţť´ ™Ĺ$ ă‡Í$XĄ§Đ,$PĄţP‡Ń"'˝§ ˙ţ§ą šŸ$ îţH‹Í˙ô›Í˙÷‰°™°"˙üЍš¨‰™ŤĐ(ťĐ+ŤĐ$ťĐ'‹Ď(›Ď+ŕ$$.H§Đ(§Ń*‹Đ(›Đ+!"R’T€˙ü€"`"‡ËŤĚ. l x!ŕťĚ1$˙˙ŤĐ’ťĐ!  x!l* ŤËťË!ŤĚťĚ!‡‹Í$ŤĐ‹Í˙ô›Í˙÷ťĐ!‰°™°"˙ţаš°†—Č"Ą—Č"%1˙˙qĄ §Ŕ>$ §Đ>‡×|ŕ$$§Đ$§Đ>‡×|á$§Đ‡Ë)a $`€!‡×>§Đ,|ŕ`! D39˙ß<@ L§É, `!‹Í˙ô›Í˙÷§ĚB‰°™°#Ó@"˙řаš°‡Ň,#Ő'˝Ť°˙đť°˙ó§˛˙ôŤł˙öťł˙ůŤľ˙úťľ˙ý§ ˙ţ‡Đ"$ d§° €|ŕ.§Đ,‡×@|ŕ)‡Đ>$%‡Đ!—Č"$0‘$§Đ@‡ĐB<„€ „§Đ,§ĐD‡ČDD39˙ß<˙˙@ l |ŕ§ÍD—Č"$0 @ 1 ˙˙§ĘJ˙đĄP‡Đ,‡Ń@!‡Đ>$‡Đ§Đ<‡Ë< D39˙ß<˙˙@ L`§É<‡Ě,$€€!Œ D39˙ß@ L—Č"§É,@ 1 ˙˙§ĘJ$0˙čĄP‡Ě>$,‡Đ@<˙˙„€ „§Đ:„„*˙ü ‡Đ:‡Ń* $$$§Đ>$ `!‡Ń,‡ËŒ l39˙ß-ˆ"39˙ßą€"„ §Đ‡ČD39˙ß<˙˙@ L§É |ŕ ‡Đ<„€ „§Đ< §Đ2‡Đ@‡Ń„Œ39˙߀ „§Đ<§Đ2‡×<|ŕ$§Đ<‡Đ,‡Ë<p* y—Ă"k@!1 ˙˙‘)Ą5 p)Ą: n§Ë,‘*5 k@ 1 ˙˙§ĘJ$0ĄP‡Č<D39˙ß<˙˙@ L—Č"§É< @!1 ˙˙‘<„€ „Ą‡Ë< |ŕ,—Ă"k@!1˙˙‘*: $$˙˙k@ 1 ˙˙§ĘJ$0ĄP‡×<l  x!39˙ß<˙˙Ą@ L—Č"§É< @!1 ˙˙‘<„€ „˙ÚĄ  x!39˙ß<˙˙Ą@ L§É<˙Ń$˙˙a—Ă"$0p$1 p‡Č,D39˙ß<@ L—Č"§É, @ 1 ˙˙§ĘJ$0ĄP‡Č@D39˙ß<@ L§É@‡Ě, |ŕ ‡Č@D39˙ß<˙˙@ L§É@‡Đ§Ŕ4‡Í$gĄ$GĄ‹Đ(›Đ+'˝Ť°˙üť°˙˙§Ź šŘ$#‡Í2§Đ, * `! „ Œ39˙߀"„§Đ4‡Ę@ ‡Đ‡Đ ‡Č4D39˙ß<@ L§É4‡Đ‡×|ŕ |ŕ‡Í$gĄ $GĄ ‡Č4D39˙ß<@ L§É4‡×>|ŕ‡Đ‡Č4„D<€ 39˙ß@ ‡×@\l x!ŕ§Ë4 D39˙ß @ \ §Ë4‡Đ‡Č4„D<€ 39˙ß@ L§É4 X!‡×|ŕP‡Đp* K‡Đ $0&@ §Ŕ§Ŕ§Ŕ$-'˝§°‡Ç˙ř €$b‡Đ §Ŕ$+'˝§°‡Ç˙ř €$l ‡Đ‡Đ§Ŕ$ '˝§°‡Ç˙ř €$v‡Đ‡Ń4„Œ39˙߀"„§Đ‡ČD39˙ß<˙˙@ L |ŕ§É‡Đ '˝§°‡Ç˙ř €$ƒ‡Č4D39˙ß<@ L˙č§É4‡Đ $-'˝§°‡Ç˙ř €$‡Đ $+'˝§°‡Ç˙ř €$• ‡Đ$ '˝§°‡Ç˙ř €$‡×>|ŕه×@|áa$0'˝§°‡Ç˙ř €$ڇ×|ŕ‡×,|ŕ$.‡Đ$.'˝§°‡Ç˙ř €$ą‡ČD39˙ß<˙˙@ L |ŕl§É‡Č@D39˙ß<@ L |á §É@$0'˝§°‡Ç˙ř €$ž˙ĺ‡Č,D39˙ß<˙˙@ L |ŕ§É,‹Í(›Í+'˝!˛ŤŇ(ťŇ+‘°$ͧ°‡Ç˙ř €‡Đ ‡Í$gĄ $GĄ$0'˝§°‡Ç˙ř €$Ű˙ť‡Í@ D39˙ß<˙˙@ L !§É@‡Č,D39˙ß<˙˙@ L |ŕ§É,‹Í(›Í+'˝!˛ŤŇ(ťŇ+‘°$ď§°‡Ç˙ř €˙ŕ$0'˝§°‡Ç˙ř €$ő˙؇×|ŕ‡×,|ŕ$.‡Đ$.'˝§°‡Ç˙ř €$‡ČD39˙ß<˙˙@ L |ŕ+§É‡Č,D39˙ß<˙˙@ L |ŕ§É,‹Í(›Í+'˝!˛ŤŇ(ťŇ+‘°$§°‡Ç˙ř €˙߇Đ ‡Í$gĄ $GĄ$0'˝§°‡Ç˙ř €$"˙Í˝‡Č,D39˙ß<˙˙@ L |ŕ§É,‹Í(›Í+'˝!˛ŤŇ(ťŇ+‘°$3§°‡Ç˙ř €$0'˝§°‡Ç˙ř €$9‡×|ŕ‡×,|ŕ$.‡Đ$.'˝§°‡Ç˙ř €$D‡ČD39˙ß<˙˙@ L |ŕ+§É‡Č,D39˙ß<˙˙@ L |ŕ§É,‹Í(›Í+'˝!˛ŤŇ(ťŇ+‘°$V§°‡Ç˙ř €˙߇Đ ‡Í$gĄ $GĄ$0'˝§°‡Ç˙ř €$d˙͇Í$EĄ$GĄ$e$E$e'˝§°‡Ç˙ř €$r‡×@lĄ  x!39˙ß €"„§Đ@$-'˝§°‡Ç˙ř €$|‡Ô@$+'˝§°‡Ç˙ř €$‚‡Ô@‡Ń"—Ă'˝ § ˙ö§ą˙řŤ˛˙úť˛˙ýŤ´˙ţť´ —_$‰$§Đ,$0'˝§°‡Ç˙ř €$—Č"'˝‘$•§°‡Ç˙ř €‡Đ—Č"'˝‘$›§°‡Ç˙ř €—Č"'˝%1˙˙‘$Ą§°‡Ç˙ř €‡Đ$&‡Ę‡Ë4j* „ Œ39˙߀"„§Đ‡ČD39˙ß<˙˙@ L |ŕ§É‡Đ '˝§°‡Ç˙ř €$ľ‡Č4D39˙ß<@ L˙č§É4‹Ď˙đ›Ď˙ó$ ŒŒ„ €'Ý˙î‡Đ$%$%'˝§°‡Ç˙ř €$‹Ď˙đ›Ď˙ó$ ŒŒ„ €'Ý˙î$$$$ €'Ý˙î&˙ť2˙˙*4 ˙ä ! €$4pœpBG˜pBXpBGŹpBXpBXpBXpBXpBXpBXpBXpBXpB;,pBXpBXpBXpBXpBXpBXpBXpBDpBXpBXpBXpBXpBXpBXpBXpBXpBXpBXpBGDpB<¸pBG˜pBG pBGŹpBXpB<¸pBXpBXpBXpBXpB;ˆpBBpB;,pBXpBXpBF\pBXpB@°pBXpBXpBD‹Í›Í!  x!‹Đ$›Đ'!"R’T€˙ü€"h"ŤÍťÍ!$˙˙ĄŤŔťŔ!h!‡ĘM* §Ŕ39˙ß)Ą€ 4€Ą*  „q „ Œ39˙߀"„§Đ‡Đ'‹Ď›Ď!!ň˙˙ŤŇŕťŇ!‹Í$›Í''˝!˛ŤŇ$ťŇ'‘°$8§°‡Ç˙ř €˙í‹Ď‡Ę D39˙ß<˙˙@ L@J§É‡Đ '˝§°‡Ç˙ř €$C˙đ‡Đ $0‹Í$›Í'‹Ň(›Ň+˛!˛ŤŇ$ťŇ'‘°'˝§°‡Ç˙ř €$U‹Đ›Đ!"˙˙ŤĐ˙ęťĐ!‡Ę D39˙ß<˙˙@ L@ §É‡Đ '˝§°‡Ç˙ř €$d˙đ‹Ď›Ď!!ň˙˙ŤŇŕťŇ!‹Í$›Í''˝!˛ŤŇ$ťŇ'‘°$w§°‡Ç˙ř €˙í‹Ď‹Ď˙đ›Ď˙ó$ ŒŒ„ €'Ý˙î@B!&€@§Đ"'˝2<˙öŐĄ €§š'˝§¤˙ü@B§¨ đ!'˝<˙Ą §Ŕ§Ŕ‹Ě˙ô›Ě˙÷§Ŕ‘$-Ą$+$§Đ§Đ$+Ą$§Đ‡Ë‹€ ’*€ '¤&„&<”A ”<4!.JA€ ’2‡Đ„39˙ß!!€ € € € D39˙ß<@ L§É‹ˆ ’1<˙ĐŒ!ˆ 39˙߀ „˙ӧЇЇЄ39˙߀"„§Đ‡Đ‹Ń˙ř›Ń˙ű$Ś0‡Đ| €'Ý˙ň €§š'˝§¤˙ü@B§¨ đ!'˝<˙~Ą $§Đ—Č$€%1˙˙Ą‡Đ˙ô—Ń˙ö—Ň˙ř—Ó˙úx"ŕ  x!@@x!`x!ŕT‹Ä˙ô›Ä˙÷‹Ĺ˙ř›Ĺ˙ű$ €$ ŤÄťÄ €!ŤĹ ťĹ‡Č !D39˙ß<˙˙@ L§É‡×—Č‹Ň˙ř@ 1˙˙§Đ‹Đ˙ô›Đ˙÷›Ň˙ű'˝Ť°˙ňť°˙őŤ˛˙öť˛˙ůŤŁ˙úťŁ˙ýŤ˘˙ţť˘`0!@8!'˝˙ř$ €$ '˝<˙Ą Ť¤˙úť¤˙ý€0!ŤĽ˙ţťĽ 8!‹¤˙ň›¤˙ő‹Ľ˙ö›Ľ˙ů €'˝˙đ€0! 8!$ €$ €„—Č<0€ „Ą‹Ć›Ć ‹Ç ›Ç$ €$ŤÄ˙ôťÄ˙÷ŤĹ˙řťĹ˙ű‡Ď˙ô—Ń˙ö—Ň˙ř—Ó˙úŕ  x!"O€ŕ4˙˙ax"ŕM‹Ä˙ô›Ä˙÷‹Ĺ˙ř›Ĺ˙ű$ €$ ŤÄťÄ €!ŤĹ ťĹ‡Č !D39˙ß<˙˙@ L§É‡×—Č‹Ň˙ř@ 1˙˙§Đ‹Đ˙ô›Đ˙÷›Ň˙ű'˝Ť°˙ňť°˙őŤ˛˙öť˛˙ůŤŁ˙úťŁ˙ýŤ˘˙ţť˘`0!@8!'˝˙ř$ €$ '˝<˙Ą Ť¤˙úť¤˙ý€0!ŤĽ˙ţťĽ 8!‹¤˙ň›¤˙ő‹Ľ˙ö›Ľ˙ů €'˝˙𠀄—Č<0€ „Ą‹Đ›Đ ‹Ň ›ŇŤĐ˙ôťĐ˙÷ŤŇ˙ř˙§ťŇ˙ű‹Ä˙ô›Ä˙÷‹Ĺ˙ř›Ĺ˙ű €ŤĆťĆŔh!<Ą* 139˙ß$ <€Ąq $ Ą‡Č`ŤĚťĚD39˙ß<˙˙@ L§É‡×—ČŒ @ 1 ˙˙§ËR L R ˛€"39˙ß*€ 4€* q „<0€ „Ąp‹Í›ÍŤÍ˙ͧ͗͝Ń39˙ß$ q $ !@€§Č‡ČD39˙ß<˙˙@ L§É‡×—ȇĐ@ 1 ˙˙§Ë—Ń !ˆ€!ˆ!ˆ@€#&0Ąp‡Đ|ŕ˙ڧЇŃ<Œ39˙߀"„§Đ‹Đ˙đ›Đ˙ó‡×—Č$@ ‡Ô1˙˙¤<  ¤ŹŹD  !4¨!€@!  !¨!'˝<˙Ą §´˙ţ§¨$$˙˙2ľ˙˙¤• %2÷˙˙´×°%Ô*  !”S(% €4˙˙€€!‹´˙ţ›´'˝˙ü– "'˝<˙Ą Ť´˙ţť´œœ”2s˙˙ŹŹ¤źź˙Ţ´2•˙˙¤• !¤¤'˝˙ü !”S(% €2†˙˙‡Đ$| €'Ý˙î@B!€@§Đ'˝<˙ţ|Ą €§š'˝§¤˙ü@B§¨ đ!'˝<˙ÄĄ $§Đ—Č%1˙˙Ą‡ČD39˙ß<˙˙@ L§É—Č‹Ň˙ř @ 1˙˙§Đ‹Đ˙ô›Đ˙÷›Ň˙ű$'˝Ť°˙ňť°˙őŤ˛˙öť˛˙ůŤ ˙úť ˙ý§ ˙ţ§ˇ €$•21˙˙„ %2s˙˙” €S(%„—Č<0€ „Ą‹Đ˙ô›Đ˙÷‹Ň˙ř›Ň˙ű$'˝ Ť°˙řť°˙űŤ˛˙üť˛˙˙§´ €$§Đ˙ô§Ń˙ö§Ň˙ř§Ó˙ú$˙$˙˙$˙˙'˝§°˙ň§ą˙ô§˛˙ö§ł˙ř§´˙ú§ľ˙üŤś˙ţťś €$Ľ§Đ˙ô§Ń˙ö§Ň˙ř§Ó˙ú—Ń˙ö—Ň˙ř—Ó˙úx!  x!@@x!`x!ŕ˙Š‹Đ˙đ›Đ˙ó‡×—Č$@ 1˙˙$`¨!¤• %"”ŹŹ¤2ľ˙˙´Ő°%’ÖŔ˙ô¤• %´Ó°%– ""”ŹŹD  !4¨!€@!  !¨!'˝<˙Ą §´˙ţ§¨$$˙˙2ľ˙˙¤• %2÷˙˙´×°%Ô*  !”S(% €4˙˙€€!‹´˙ţ›´'˝˙ü– "'˝<˙Ą Ť´˙ţť´œœ”2s˙˙ŹŹ¤źź˙Ţ´2•˙˙¤• !¤¤'˝˙ü !”S(% €2†˙˙‡Ń<Œ39˙ßx"„$ €'Ý˙î@B!€@§Đ'˝<˙˙6Ą €§š'˝§¤˙ü@B§¨ đ!'˝<˙ČĄ —Č$%1˙˙Ą§Đ‡ČD39˙ß<˙˙@ L§É—Č$.Ě @ 1˙˙§Đ$‹Ň˙ô›Ň˙÷‹Ô˙ř›Ô˙ű'˝§°˙î§ą˙đŤ˛˙ňť˛˙őŤ´˙öť´˙ůŤ ˙úť ˙ý$§ ˙ţ§ą €$đ21˙˙„ %2s˙˙” €S(%‹˛˙ţ›˛—ČҀ ’'˝˙üĄ‹Đ˙ô›Đ˙÷‹Ň˙ř›Ň˙ű$'˝ Ť°˙řť°˙űŤ˛˙üť˛˙˙§´ €$ú§Đ˙ô§Ń˙ö§Ň˙ř§Ó˙ú$˙$˙˙$˙˙'˝§°˙ň§ą˙ô§˛˙ö§ł˙ř§´˙ú§ľ˙üŤś˙ţťś €$§Đ˙ô§Ń˙ö§Ň˙ř§Ó˙ú—Ń˙ö—Ň˙ř—Ó˙úx!  x!@@x!`x!ŕ˙¤‹Đ˙đ›Đ˙ó‡×—Č$@ 1˙˙$`¨!¤• %"”ŹŹ¤2ľ˙˙´Ő°%’ÖŔ˙ô¤• %´Ó°%– ""”ŹŹD  !4¨!€@!  !¨!'˝<˙Ą §´˙ţ§¨$$˙˙2ľ˙˙¤• %2÷˙˙´×°%Ô*  !”S(% €4˙˙€€!‹´˙ţ›´'˝˙ü– "'˝<˙Ą Ť´˙ţť´œœ”2s˙˙ŹŹ¤źź˙Ţ´2•˙˙¤• !¤¤'˝˙ü !”S(% €2†˙˙‡Ń<Œ39˙ßx"„$ €'Ý˙î@B!€@§Đ'˝<˙˙2Ą €§š'˝§¤˙ü@B§¨ đ!'˝<˙Ą ‹Đ˙ř›Đ˙űŤĐťĐh!‘° € !#‹Í›Í‘°*€ ¤&„&<d ”<4!.JA€ ’2<˙ŕ€ „„&Ą°‹Đ›Đ" ŤÍ˙ÚťÍ €'Ý˙ö €§š'˝§¤˙ü@B§¨ đ!<˙Ą ‡Č˙úD39˙ß<˙˙@ L§É˙ú `! l  x!‹Đ˙ö›Đ˙ů$0 € ’<Ąx „$ €'Ý˙ô39˙ß<˙˙Ą@ d˙ë§Ě˙ú$$$ €'Ý˙ôpBŇpB,Т $m_BFI_RP7 $m_BTST$m_CQD $m_CQI $m_DPCL$m_EXIT $m_EXIT_RP7 $m_MOVB_FWD$m_QADD$m_QDIV$m_QMPY$m_QSUB$m_RDE $m_SCMP$m_XCAL_ENTRY_UC00 AWAITIOX CRE_CK_MEMORY_COPYX_ CRE_CK_MEMORY_SETX_CRE_CK_STRCATX_CRE_CK_STRCPYX_CRE_CK_STRLENX_ CRE_CXVFD_ CRE_GETENV_CRE_SIGNAL_EXECUTOR_ CRE_STACKTRACE_ C_CK_FREE_ C_EXIT_ C_FCLOSE_C_FEOF_ C_FFLUSH_C_GET_STARTUP_MSG_ C_INT_EXIT_C_INT_LG_INIT_C_EXTENDED_C_INT_LG_STDIO_FP_ C_INT_STDIO_BEGIN_OUTPUT_C_INT_STDIO_BPUTC_ C_INT_STDIO_END_OUTPUT_C_LG_CK_MALLOC_ C_LG_FGETS_ C_LG_FOPEN_ C_LG_GETS_ DELAY FILE_CLOSE_ FILE_CREATE_ FILE_GETINFOLIST_ FILE_GETINFO_ FILE_OPEN_ MBCS_CHAR_ POSITION PROCESS_CREATE_PROCESS_GETINFO_ READXRTL_AND_INT64_ RTL_ARITHMETIC_TRAPS_RTL_MEMORY_MOVEX_RTL_SHIFT_RIGHT_INT64_ WRITEREADX WRITEX đ@\1L.(0p8,Ŕ(xDP88 <-H $*`2)Dŕb! á\ŕB'źœŕSpŘP(|ŕŢ  $X \d 5,”8,PL. T+H0.<'PT'@Œ%p `* 4 ,d,H0 8-@0 8-$,P,l,&ŕD4Œ¸3 ˜@ÜŕK x4T¤9 dʐ\lŕD!0(!0!! " >)ÉŽ •g 7 7 3 3aĹ)ŰŽG€€I + +Aא1 $ $A€i  A€ ń đ€€…   đˆ€8  đ‰ŕ ( üđa€€yČ   ń ń)ŰŽ€€)ŔŽ č č)ŰŽAĂ×)íŠ˙Ľ Ý ÝAĂאi€€a ˙‚€€€8 Í ÍŞ - -)É.ţG ) ))€ % %)€! !)€$ )€0 )€< €€€)ä. óŞJdržĘ怂 )€‚ )€Ž )€š )€Ś€€)ŔŽŞ€^ę(Vf‘3 3 3)€Î/ /)€Ú+ +)€ć' ')€ň# #)€ţ )€  €€€)ä.G.  )ÉŽ :|śđNvśžŔ €€€2€€A * *)ŰŽG€€€%ň)ŰŽ€)€X  )ÉŽ G ň  )ۀ¤€€Ş†w0Iqŕ €€ŠĚŕęô€€q°€€q°€°)˙€€€€÷)ŇŽ€€)ŔŽAaa)ä.)ŔŽŞ€:İiaÄa)Ű.9Ş€€€4• ś†=΁˙Ş 󀀀R € )ÉŽ  ,€€aƀ€qİ)í. €€€|)ÉŽ G ňÇŞaĆYQTQ%aƐiĆ%>aĆaÄaČ)í. i•aiĆâa€,‘iĆ,Q €€)€€Ia€@€€€€IaĆq° řű)öŽA ˙IA˙y Q)ŔAČGaƀ~YîQ€ iĆ§Ş AĂ ň)ŇŽ ˙ óŞ ň• ň óŞ%‘~€€999I€€ I€€9I˙I €€Ii€€Ai€€€€€IaČ0aČ€€I%€€I"€€I€€I€€0Iŕ€€…@˙đ˙đ ˙â ˙Ý ˙ćaȐiČÍA€€IaČ*a€aĆ €€€€‘aĆ I7AŒI€€I aČaȀ€q°)í. רِiČA€€ IaČ.EaČđiȀfaȀ€€f 7 ˙I €` °€ `aČda€ia€o a€ua€ xa€(XA ˙€’€€Ia€€€€I€€€I€  hč@lě@LđaČaȀ<9‘ya€*‘aĆ aĆ  q ˜‘v€€ŮaĆ €€€€‘€J iAai# 3ňÇa# ‘~a€+ňa# ‘wa€$ňľa# ‘o ňÇa ‘i‘hŕ@ĺ@éđA6a€j€´śq ˜3a€ †ľq€%a€ €  q€4a€¸€€N V Ȁ‚Ó€‚ÝčGq œĽ€€Iq œ €€€€Ľq€¤q ˜A aaii#h€€-a#A a€€€ a€ A a€4€€+a#aq œ)í. I7 €€I 7  q œĽ€€Ů‘ĎA A‰I7œÉaAאaAˆ×)íŽG˙ya€i#€€0a#7ôA I‘ŻA5aĆ €€€€‘aĆ ˇq ˜źa€‘aĆ aĆ  q€ŽaĆ €€€€€6 q€4˘a€€N•”É@Ó@ŢéA€€1a€d€€#a€€a€˜€Î  €€q€V aaii€,a€ŒI‘~A€0€b°q€a€°€€-ăa€xa#€ÂIAXAPš€€A)É.‘a€Ě€ iiaG  iţť&aű‘”i7 i‘~7  aA וA ×iai‘pia€8€nŮ€€†ß‘`€€I €€I7 €€I €€I7 €€I A €€A I7€€yAI!a€ ŽA€€q °€€q°€€)˙A)ŔŽI77 AAŃ0€€I A!ˆ9I"˙y"7"7"÷I%€€0Ů%öAA AA IA˙y A€€pyO÷€2đA€dA ‰˙9üAA €€€€9A AA ‰‰I ˙y 7A ˆ9IA A ˆ9€7€€IAAE7×5A7€9=AI7€ 7÷€ź˙y7׈7ß77×97€$7€ (ë7˙yćA˙Ń0 €€1Ů€€y7÷€€€y 7˙y €€IAAgAG aA)Ň.IAAAA‰IAAA€€yA 7  7A€BAG€7A ˆy7 A yA ˆy76AA2A0A €€99I€€-)ŔAÄGA€€I€€+)€ A€€I€€ )€(A€L‰I˙y7A)€B€€yôA€€€VA€€€RA€€€N7”u7 ;€€0)€ˆ7 7A€€.)€ž˙y 7 ˜o€€y 7 €€€0ň˙y7 a€ )€Ö A AgAG€€€jŐA ˙y €D쀀€žć7€ € €Œ a€ŒíA€ŽŢ}}€Ě€ꀁ&€íA€ßAE€š€€E€€e)€ 7  A ŒI €€€4€€€,€€AA ś)í. 9 €€€ÔŃ)€f р †×€AA€¨AA€daČŞ A%€€%)€ŔaČŞ Ş ;ť€€4…ď@ýe˙ěýi˙ę˙é˙č˙ç˙ć˙ĺ˙ä˙ăű ˙á˙ŕ˙ß˙Ţ˙Ý˙Ü˙ŰüŁ˙Ů˙Ř˙×˙Ö˙Ő˙Ô˙Ó˙Ň˙Ń˙Đý7űOýEýGýI˙ĘűJ˙Č˙Ç˙Ć˙Ĺűü4ű˙Á˙Ŕüó˙žűî˙ź˙ťüƒaG a€ a•iA×a•€€IAaljIAaa‘iG aai€ÖíA˙y:A€€őA0aa•a€:a€\€BA€Âőa€!~aČŞ †&w0I‘ůŒ€€99IaĆ-€€9Ia€+€€IaĆAא (ń &đ€€… " " đˆ€ A€€ ŠaĆA€€y€6‰ĐˆIÜAAŒIAaÄ AŞ(‘w€€I€€†ßqÜ €€€€Ľ#qÜ€€€€ Łq˜˙y7÷IqÜqœ)˙€ Šű˘)ŰŠ˙Ą¤´ˆ0Ůqœ¤qƘqÜ ˙Ľ"q€€+T€RqƘ×q€R§ia€€˙•a€€€Ś“i ˙€¤aa €€€ź’‘Lj0Ůa iĺ;aHI €€A €€ ƒHI €6A A €€ ‚I0ŮA I 7 退A‰IaȀ€7÷Aˆ×E)i€€ ˙• ˙Šé‘)éřţE€€AŞ †w0I ‘˙HP€€€v€´qÜ€€€€)˙Ž´ˆ0Ů€€€)äŽqƘC ˙)˙ŽqƘ€^ĽÜa€œ€ VZ[‘€!Ž€€€ęŞ †w€˛ŞW€€†ß€€I˙y7÷I B BqÜ)˙€€€€)ÉŽ§¨Ůـş)€ş€ş×aȀ€7÷€ €ş€h €hŞ€l€€A‰€ž ŁaÄi€€- €€- ń €N   €N đ‰ŕ đaaiÝŞ(˙yĂ7Ă aĹAĂא0AÈŞ˙yĂń€€Ş€€„€}€}Š€B Ç=ÇOČ4Ç8ÂVɾɃÉhÉjÉgÉbÉ1ÉRÉQČÇŰÇÓÇÎÇÀ€€€„€}€}Š€} €}€}€}–€}€}œ€}€}˘€}%€}¨€}+€JŽŞŞMCB ŞŞ@ꀀ€y€€ €€€€!€&€+€0€5€:€?€D Ŕ€N€S€X€]€b€g€l€q€v€{€€€…€Š3€€„€}€}Š€} €}€}€}–€}€}œ€}€}˘€}%€}¨€)+€€w„%s [%s] QUIT The sample database will be installed in a subvolume with a name in the form SaaDB. where aa is two alphanumeric characters.€,€Šprograms €Šthen be compiled. Please enter €Y€LZZAn error was detected trying to create the € ý. To retry type SETUPDB aa at €3TACL prompt. €ň€$ a€%Welcome to the SQLMagic Sample Dat€|S€n €. This € will install a € şand €= for use in learing S€x.€ZYou can stop €–€ë€} by typing QUIT at any €řTo continue: press €ŢEnter key. To €a:€6type €a, then the €@ Setup>#PUSH #OUT#SET € [#MYTERM]S€Ş#POP €)T€ ŕhas been €Ied in S%sDB €((((( €€ H€ „„€€€€€:‚‚€€ 0123456789abcdef€€„€}€}Š€} €}€,CRE_CK_STRCATX_€MPX€ PYX€(€€ň˙˙˙˙"˙˙˙˙short€€ "long€"€6€ Ddl€#€D€X€ ffloat€f €z€ˆ€žddouble€h €ž€Ź&€Ź cc_status€°€Ňvoid€ŕ€î€B|€Ź€ň€€&˙˙˙˙ uns s€€,€L€&uns l€€R€r€Ld€ €x€˜˘˙˙˙˙B˙˙˙˙˙˙€V¨˙€˙˙˙˙Ę˙˙˙˙0˙˙€€0h@(H(€h€L ^SETUPC_TYPES˙˙˙˙€(tđ@—‹ŕP\€SYSTEM.S€ASSERTHđ4îʝ#\€6€ .STDIOHHđnÚ3I—€€\STDLIBHďţňš›j€€€/€ŠSTDDEFHđďviЀ]€¸STRINGHďţgƒ €‹€¸CTYPEHH€Ôśt(*€ˆ(€Ô^$€0_SYSTEM_A€0_€˙˙˙˙_€8ž^a_f Vj€Ă<€J_€6€$˙˙˙˙<ü:(€tŚ ^p^penviron€z€vV&€œŘ ^€&Ž@€Še€J€ž €€Ž˙˙˙˙Ö4€ę ^se€Œd r€ÂŽ €ÂÖ €Âp6ü€Â€P€„€Č˜8:€&şy<€nr€şŚhô>˙˙˙˙errno€řЀ€řŚ˙˙˙˙~2€>^se€@€h>€h,€xh€p€h€v~J€äassert84((void)(($1) || _a€(#$1, __FILE__, __LINE__)))€Âx˙˙˙˙€Ţ ˙ü˙˙˙˙€,˙˙˙˙ ˙˙˙˙(˙˙€"p˙˙˙˙,˙˙€€<€Ä˜ô€'>€Xf”(!ú(˙˙˙˙(€X^€ XSTDIOH€W€8Š_€˙˙˙˙NULL0L€__size_t_DEFINED€__va_list€D€P _signature€ € ˆ€xN  >Ô ^acontents *€ň B€‚c€ <€ € jN˙˙˙˙Î0€FILE€f€fŠ$˘stdin__stdio_fp(0)&€hstdout€ &1)€ &err€ &2)€p€€BUFSIZ 1024€Œ>EOF€(-1)€ĐOPEN_MAX€Č25€P"NAME_€35€¸NFCHR_€8 2147483647Lz€’îSEEK_SET€^01€J€CUR€z11€z€8END21€V~_IOFBF€01€˙˙˙˙_IOLB€11€4 _IONB€421€† FO€25 " FILEN€ €p>L_tmpnam€Ś95€Œ–TMP_MAX 1007$€¨getchar getc(stdin)*€$put€$putc(($1), stdout)€Bsetnbufsetbuf($1, 0L)˙˙˙˙long Ŕh˙˙˙˙€ €  öî˙˙€ ˙˙˙˙:˙˙€Č˙˙˙˙^œ€b˙€ş˙€ (R˙˙˙˙Z˙˙€nÎä¸˙€,€% 8€T (‘$(€(Ô€ €STDLIBH€ €€€__wchar_€€@* EXIT_FAILURE-1€`´ € SUCCESS€ 01€( MB_CUR€f€>21€>˙˙˙˙RAND_MAX 32767 >€ quot€ě€˙˙˙˙N’€ rem€ <€€<€(€<&€(div_t€z€ö Ԁ Ôquot€˙˙˙˙<rem€ < €€<˙˙˙˙€<2˙˙˙˙ldiv_t t0€2_abs (($1) < 0 ? -(€ : ($1))2€0max"(€0> ($2) ? €+ €22))€2Đ_min€2< €2L€”maximum_requesters€Nž’Jˆm€Lsyncdepth€ J€€˜€JJ€JF€– m€–ply€ € ˘€€ Freceive_d€Œ0€Œ€ŒB€č^areport_flags€ ’˛€€Î r€ @€^@€2€Źž^Ö@˙˙˙˙filler€ ž€€€€ěž˙˙˙˙’4€°CRE_RFOA€˛ €˛´*€˛CRE_cpu_down_mask 0040000 (€ÜC€*up_€(20000 €RCRE_settime_€Q€R10000€*€|power_on€ |0€} €(CRE_NEWPROCESSNOWAIT_€Ž0€‡ €ŠCRE_message_missed_m€Ţ0€ .€şCRE_3270_status_€-€ş0€/€^üCRE_SIGNALTIMEOUT€€ę00040 €čCRE_LOCKMEMORY_done€00020 4€JC€ 2faile€ÀP00010€ 4PROCS€š02 €CRE_CONTROL_mask€Ž100000 €*Ź€*SETMODE_€*0€*,€CRE_RESETSYNC_€V02€.€,C€€BUF_€¤€ƒ€‚´CRE_SETPARAM_€΀W€>¤CRE_m€ţcancell€ >€â €DEVICEINFO2_€000100 0,CRE_logical_close€ě00002 €^C€0open€l00001 €CRE_remote_c€€ž1€ž2€t€2process_delete€ń€20€ЀÂ$CRE_P€Q_CREATE_m€€Ş&€ňH CRE_OPEN_€&€‰ €&CRE_CLOSE_€M€°0€€ (break_€u€Ř002000€h˙˙˙˙CRE_devinfo_query_€Ľ€001000 €Ѐ~ubnam€ ~00400 0€Ź€ZFILE_GETINFO__€˙€b000200 €’€0NAME_FINDNEXT€…€–000100 , ´CRE_node_d€_€Â000040 €ŠC€,€a€ě000020 €ŹGMOM_notify€ 0010 €ŞŒCRE_€L€ż€J0€4 8€´jCRE_pathsend_dialog_abort_m€ 002000 D€ž system_flag€` @ `’€ entry_number€ €€ ô€FŚ€FH€Šm€ř€H€ €Žî€H€Ňfile_€€ 20€Œ n€Œ<€ D ^aphandle€V €p€:€ Ž€ P @ Ž 2€’ read_count€~€ ňŕ€€ @€Dň’N˛p€  info€Ě€ @đ€€ Ž @˙˙˙˙€˘6‚ CRE_sender€¤€ V €D^avolume Ć€ š€ Tv€:€ @r0 v>€  ^asubv€€$~B˙˙˙˙ s€ <€€€ r˙˙˙˙ ň2€ „^sparts€ „ ˛:J^awhol€p€,>€Žw€8€ jd¤€vp€¨€¨€ ˛d˙˙˙˙r6€† ^udefaults€öŢ< v€0$ ˛€#$Tš>€|ň €2$0 €%$€€Đ:€2^afile€$€ňf€8€ň€ p˙˙˙˙–2r€œ€œրޤ€(œ>Ţwhole€˙˙˙˙¸@Hparts€H€T4˙˙˙˙^uinfile€L€L z<š^avolume€ž Ʋ€ł€@Öv€:€ř¨î4>€| ^asubv€€~B€~T s€ <€€@€€x€€j°:€€–^afile€&ú>€úĐf€8€x€€€€đ¨˙˙˙˙02€ř^sp€ň€Śp€Ş@^aw€b€&€Şz€!ššRÚ€š¸€+šš˙˙˙˙¨€š ^uoutfile€ôB˙˙˙˙msg_code€š€Xh’L€Bdefaults€v€\€¤€€¤€L\dJ€Ži€Z€J€ڐ€€î€–Ś€Jo€ €”€đP€J*š:(^aparam€<>€\p€8€°€€°h˙˙˙˙đ<˙˙˙˙startup_msg_type*€pÎDh prognamelen€0,&Ć>€ř Ž ^ap€F€D€ś€Xp€‚€<€€€€°€€hč€Ä˙˙˙˙ filen€Ä€€ô€Äę€ĀD ^af€F€0Äf€‚€€D€Ä˙˙˙˙Ź>€Ä^slogical_unit_name€œ@€6¤€64€36p€#6Ţ$j€ş° €56î €%6€€ ć€60€16j€!6Ţ˙˙˙˙f€6¨^€6Ś€ŕÚ^a€/6€!ĐĐˆ€ĐR€+ĐĐ˙˙˙˙Ţ6€h ^uf€j€œ€œJ€Î€%8H’T˙˙˙˙l€€@@€ 䀀 ä€Tœ,€ř î field_mask€D€ x€˜ŕ˛Lꀁö€Đ€ ,0€€ t€ä,ĐH€äprimary_extent€”€dđ€€ źt’€seconda€J€€ €Jž€J€đ file_code€đ€d€B€Ôexclusion_spec€ H €€ €ÔH€D€ access_€E€ Œ0€`Œ’€Drecord_size€ Đ@€€ Ѐ D block_€C€ P€ $˙˙˙˙€D:€Źassign_€Ť€Ş6€ä€ `€% €X€ num_params€ Ô€€ €D’@€l ^ap€Beters€F€ ¤˙€Ě p€€€>€ź € X˙˙˙˙Ô€Dp€Ä_€î€(N˙˙˙˙short˙˙˙˙long€ uns l€ ˙˙˙˙€char~˙˙€ †˙˙˙˙˙˙€ ~€(ÖŇ˙€ N˙€0 0˙˙˙˙˙˙€ n˙€ €˙– €Š$ ` @˙˙˙˙ ü˙˙€&˙€˙€€'žŇüŕ˙˙˙˙XN€œ˙€ Ú˙˙˙˙Ěš˙˙€\˙˙˙˙ ä˙˙€J Ě˙€ j˙€(€3˙€<€GŞx˙€T Ęć˙˙˙˙ü€ řč˙˙€ž˙˙€t˙˙˙˙˙˙€,˙€€+ ň˙€<:˙˙˙˙ž€|H Ś˙˙€Vfœ˙€h˙˙˙˙ \˙˙˙˙P˙˙˙˙Ś€<˙€Đ˙€˙€ -RŢ˙˙˙˙ ˙˙€^˙€ €€€!h€œ€/8˙€8€?˙đ˙€L: ˙˙˙˙ ˙˙˙˙ ˘˙˙€ &˙€ r˙€ €/ J˙€ @€ O€^ 2˙˙˙˙v˙˙€Ü˙€ "˙€€'N¨˙˙˙˙Ś€´˙˙€d˙€ ˙˙˙˙đnÚ3I—€\MIZZEN.$SYSTEM.S€TDLIBHŸt˛€€Ź(Ŕ(˙˙˙˙(€^$€J_S€Q_STDDEFH_TYPES˙˙˙˙_€€__ptrdiff_t_DEFINED,€0offsetof_o€($1, $2) ˙˙˙˙€âXďţňš›j€€€€î,(D€î:€îRINGH€î€€stcis strspn €s€n strcspný€†”stclen€>len€>pbrk€>pbrký€>˙˙˙˙stpchr€>chr€†stscmp€\c€ ´˙˙€€´V(Ň˙˙˙˙vđďviĐ€`RINGH€`2t(Ś€ r€ž^€ `CTYPEH€_€$j_€Š_U 0x1 €˙˙˙˙_L€2 €â_N€04 €0ú_S€H8 €HP€0x10€x(_C€00x20€_B€H0x40€0ę_X€`0x80@€Ŕ° __isascii,(((unsigned)(_ctype_local = $1) <= 127)Pzisalnum>:(_€N($1) && _€D[_€K+ 1] & (_U|_L|_N))N€P€Ppha<7(€.P))č0˙˙˙˙i€Ü(€܀Ÿ€Íe`€0cntrlNI(€(Î_C || €3= 127)ŚH˘isdigit62(€&._N)T€H2isgraphB=(€(vP|_€y€œ€,lower€/œL)V€tprintD@(€(€œ|_B))H€Ępunct€.:P)€ Hspace€-‚S)€ uppe€/.U)J€˘isxdigit€-X)&€ětoascii(($1) & 0x7F))T€tou€¸€:islower(€-? (_€ň- ('a' - 'A')) : _€)€Tlower€Žisuppe€T+ €T<€şiscsym*&(isalnum(€Ő€ g'_')€<i€‚R’šÎ˙˙˙˙˛ę˙˙˙˙:˙˙€hŘ˙€˙˙˙˙Ę˙˙€ÄL:˙˙˙˙ďţgƒ \€ 4CTYPEH€ 4쀁F(€~˙˙˙˙$promptresponseD€^ap€  €Nœ°€˙>€^p€ ]€B€0€6˙˙˙˙uns char€ long€"˙€€^€ Şđ´$Iˇ\€ zD2.SQLSAMPL.SETUPC€Dh,Č ”(˙˙˙˙Uđa¨e€ ix&m`4qH<yH}Z„Đźˆ¸ĘˆĐ”pč˜Xúœ@¤N˙˙˙˙prompt € € €°N6€Nmaxsize€Ě˙˙˙Ѐ|,^pdefaultvalue€> Œ<N d€ *€4˙˙˙°€’€„(€h° ^pp€îmsg€˘€ d8˙˙˙˙ prompt€&€`€€`ě0€8i€ ř€€|€Äshort€ Ô˙˙€L˙€ €„˙€ě€0Ŕ°‚¸€( ˙˙˙˙ˇ˜ť€€żhĂPÇ8(Ë 4Ď@ŇđLÖŘ^.˙˙˙˙setup_id €€ €˙˙˙˙đ´$Iˇ€(\MIZZEN.$D2.SQLSAMPL.SETUPCŸt˛€€šn˘€(˙˙˙˙€ä␀Pćxę`€äîH€äň0€äö€äú:,€Đfailmsg€΀Ę€2ΔLŇŕ(˙˙˙˙¸(€Î!$ř(ŕ(,Č40°@4˜L€Ć@€2€z€:uns charT˙˙˙˙short€$€€$longÄ˙˙€BŚ€B€#pL˙€0€;P˙˙˙˙€0ÚŇ,Z ţ(˙˙˙˙zé€ €$€*€(8*€–_MAIN €€’€€°€ |€ţ€T€.d$€¨€.^€.€ ”„€X€ž€$d""€$Ü2˙˙˙˙€ $@€€ö€ JšÎ˙˙˙˙€n¨˙˙€ ^܄*€+€9‹B`ŒÂ›– €0œV Ö€0Ą–ÖŇ€€€€€8×Ú€ˆŽ€„"€ň $\€SYSTEM.S€ASSERTH€$\€8€ $STDIOH €HSTDLIBH€H€lSTDDEFH€l€STRINGH€CTYPEH€&\IGATE.$TCS202.T8373AAL.RTPRTFC€ţ€&RTOOL1.TOOLSD40.STDIOH€J€$€“ €&DLIBH€&€–€ pERRNO€p \€ş€ ”CEXTDECS€–LIMITSH€–€€ ŕ€+€ŕDARGH€ŕ€PHDRH€(€tDSM.T9549AAI.PXFILSG€H"\PRUNE.$CNM.T8373D40.RTCTYPCn˙€Ř˙€ č˙˙˙˙ X˙˙€‚ œ˙€Âţ€D 2˙€4€;€B đ˙€L0˙€X€_€f€m˙€x p˙€„~˙€€—Š˙€ €§˙€°~€,€ǀŘđ€ˆ p€X€ä€ë€ň˙˙ę˙˙€„˙€ €ţ î˙€ ~€ œ° p†˙€D Ȅ€ € ꀁ (đ´$IëoŸ3T9255D44€B€ #CRE_GLOBALS #MCB €`€€€f€˙˙˙˙€ €$„€|€‚˙ý€€’äcf_id€b€fn€€fú€ęn=Î_Š 2T€ę1€¤€č€f€ fmt_io_count €Đ€Ôj€€Ԁ&n€:€Ԁ f€nfp€€Ř˙˙˙˙’€  öǑ€Ř30€j _ctype_local €؀€€đ(€ €!0€9€pR€F€L€ #CRE_HEAP €€€,l€˙˙˙˙€&,€€x€€€,ćh ^_C^^_TYPES€ Z€lđ´$IëoŸ3T9255D44€€x€€˙ý€Nˆ ^SETUPC_TYPES€~€˙˙˙˙"ę^p^penv€+nÖX^$SYSTEM_S€ASSERTH_€~F€9~ .(^€ ~STDIOH€} €üj€9üV$L€ üSTDLIBH€üŽ€7z2˘î€ zSTDDEFH€z˛€7ř3r€ řSTRINGH€řր7v5Ô€ řCTYPEH€u€ř€€€€ô € ôdo÷űd2T€b1€€€b€M^$RTOOL1_TOOLSD40_STD€x€ €D€?€^€€€~€ j€ř€*€€D€ú€ €€P€ERRNO€ ř‚€´€= ^€ CEXTDECS_TYPES€zp€‚ú€ ‚n=Î_Š €#‚^RTPRTFC€倁ꀁ ňڀ ň€,p€ rLIMITSH€ 老 r€ r€,đ€ r€!ň$€ ň€*p€rDARG€ đ€ rJ€ r€*đ^$TCS202_T8373AAL_RTHDRH€g€ęn€ ň€*p^$DSM_T9549AAI_PXFILSG€ îj€€d€ p€ŇJ€ #CRE_HEAP€ҀX0€€ ڀ <€-€ <;ÖD$promptresponse€B€Ú&1€€{€ >€€€€€p˙€ Ź€$#SETUPC €š€ž€D4&€"2€j $#RTPRTFC€h€4(’€  öǑ€30€ Ô$_ctype€ <4Ş€"U€€ ,V€Ş € €V R€Ę.pf €¨€€ ”€ŘB€ě € €6€€R€ .fp€áput €čX€ € €: R€b.pfmt€ @€d€H€ś€î#Ś €<dec_ascii_to_short1€~€¨&x € R€ .llong_to_d€a € ˜ @€^€)€ x€Xoct_€š€#X,f€ĐRTPRTFC.llong_to_hex_ascii € @€>€/Ę€ €(€€R€Xstrupr € LX€>2˜€H €lR€–trim_trailing_zeros€–€8ě&x~Ş˙˙˙˙)˙˙€˙€€ 8˙€,€7€B€Mş#Ś˙€\€g,f˙€p€{`˙˙˙˙2˜ b˙˙€Ô/Ę˙€ $€Źđ´$IëoŸ3T9255D44€=Ŕ€JŔprompt Ö ^_C^^_TYPES€  ^SETUPC_€.^$SYSTEM_S€ASSERTH_€L.^€ .STDIOH€- € z€\STDLIBH€\€ ŠSTDDEFH€Š€ ¸STRINGH€#¸CTYPEH€ĺ€ ¸ $promptresponseR€€.$#SETUPC ~ €€€N€$P€€€. _ctype_local €LT€€$_€€dU€d’B _C_LG_printf_€\€: C€AGETS_ ˙˙ €‚€2€ @€HLCRE_CK_STRCPYX_˙€>€~€"€ LMPX€L€&€Lc<C_EXIT_€€ €r€|ƒg>€ÔLENX€Ô €lćR‚ 2€ €€ԙ€?Úä‚äsetup_id €ÖȀ}ÖPES€}ր?Ö`€ś6d€€<ʀ€€ 2€€€8r€€€0€€€(4J€€€2:ž€€€<>怀€Fcf_id@€€°R€´€‚€6€:€  €L€Z,Z €*€Ś# ~|L ´€ f€şÚ€@žÎLÎfailmsgŠ€}ş€}䀁Bş8€šꀀ (€€€ "V€€€$f€€€ˆN €*n€b€ ô€B€`€H6€$¨*¤ € 䀁 8€G€AŒ €J main €`ú€} 6€}`€B 6’€  zŕ€€>N€€€ Dž€€€6|€€€x̀€€(ô€€€28ś€€€<:đ€€€F@v€€€PFŔ€€€Z<€€€dBś€2}ꀀ€x€’|€€ƀL’` €* Ź€t€€€Œ€¤€žj€ VL€? R*€p€ .N C_LG_S€ !€ B€’€Ŕ^K€ ś2€ ÄATX€0 TYô: € € b€E˜*:*_MAIN€ŚR€} `€ ŠYSTEM_SY€TDLIBH_TYPES€ .^$S€'€.DEFH€%.RINGH€\^€ \CTYPEH€‰ € Š`Pmain  €Ź€°€ €B€Đ€ €âŽC_INT_LG_INIT_C_EXTENDED_˙˙€ €v€d€  € Ž€źDRTL_ARITHMETIC_TRAPS_€ Š€4€€D: C_€ŇEXIT_€ Ān€:€~â <ú˙˙€ đn=Î_Š 2T9255D41ž€  _C_LG_printf_  ^_C^^_€|0^$RTOOL1_TOOLSD40_STDIOH€Ť€ "0^€0€€€0€ €ERRNO€2 ^€ ŔCEXTDECS_TYPES€ ä ^RTPRTFC_€ €âLIMITSH€ž€BC€d€BDARG€Â0^$TCS202_T8373AAL_RTHDRH€M€ Ä.^$DSM_T9549AAI_PXFILSG€ PL_C_LG_vp€= € ü€€€ JVd V€$⫀ €rd€Ś€äX€}䀁 D€đ0€ t€}䀁}䀁Pä fmt_io_count 0€€ f€fp€1€~TC_€žSTDIO_FP_ ˙˙€ü€T€.(€V RTPRTFC.pf € €€¨€Ź€ z€v€Ě%€@BR€Vfp€put€ ^€ţ€Ř€H€Ş€éBEGIN_OUTPUT€ć€ €HFC_INT_€1END_€F€T€F*B˘¸ ş€$,݀€€ ¸ €€€}*0€ZD€ 60€ ş€}*€}*€P*˛V MBCS_CHAR_€€ "€&€ B€ P:X R€mt € Z€ X€ z€.€X$ř6 r€# n9€B6€l€ t€}$€ Ԁ €€}J€ V€} t€Q t€€€€TP€€BPUTC_€€Ź€ž€ Ź–: î ¨€# ’T€f€J RTPRTFC.pfmt X ^_C^^_TYPES€ 0^$RTOOL1_TOOLSD40_STDIOH_€/ € 0^€0RINGH€1€ `€0DLIBH€a€ERRNO€2 ^€ ŔCEXTDECS_€ń€  ^RTPRTFC_TYPES€ âLIMITSH€€BCTYPEH€&BDARG€B^$TCS202_T8373AAL_RTHDRH€˘.^$DSM_T9549AAI_PXFILSG€  fmt_io_count @€€ $#RTPRTFCř€€ĚVdec_ascii_to_short1 €€€ Ąq^R€r.llong_to_d€g €^ @€~}°X€ ^oct_€ŀ.^v€Xhex_ascii€.ś€X×>R€€.strupr € €`â€$XR€ž.trim_trailing_zeros€Ş€Ę\RTL_MEMORY_MOVEX_˙˙ €€ € €.Đr CRE_CXVFD_ ˙€V€N € n€|€XŇ’Š–ú˙˙€ đn=Î_Š 2T9255D41ˀ Š€"€œV€œ _ctype_local €VB€€$_€€nC€€€}Ҁ€b€}Ҁ}ҀPҤâv €#Ň €€€ €J€ž€v €}v€ ր}v€}vT€ 老qv€¤J:°–€&v ˀ¤°€ ¤€䀁 €}¤$€ z€} €} €}¤ŞRRTL_AND_INT64_€€ ` € r€ €"TRTL_SHIFT_RIGHT_€*Z€ Xd’žF€#Ŕ #€  րd:€}d€ }d€ed€ 0^$RTOOL1_TOOLSD40_STDARGH_TYPES€€0^$TCS202_T8373AAL_RTHDRH€/ € 0.^$DSM_T9549AAI_PXFILSG€^$RTPRTFC €HO€€ŞRRTL_AND_INT64_ ˙˙ @€¤€¨€ € €'TRTL_SHIFT_RIGHT_€*Z€ÎęVú˙˙€ đn=Î_Š 2T9255D41 ‚€€€ €dVRTPRTFC.strupr V ^_C^^_T€ ś _ctype_local €ś(€€$_€€Î)€€0^$€ IOH€€ 쀁LRING€L€|LIBH€|€ ŹERRNO€2 ^€ ŔCEXTDECS_TYPES€ Ž ^R€c_€ €.LIMITSH€.€ ^CTYPEH€]€ .€}Ž€ €¤(*Z€$έ€€€Î*R€Îtrim_trailing_zeros€Ú €ڀ}¤€  € P€}¤€}¤€P2€¤€€{„€‚×Ú)řZSETUPDB@e?TACL MACRO == == To Use: € Volume to the SQLSAMPL subvol, where this file resides €J Type €V €SETUP aa €j €?aa is two alphanumberics€Fhe sample €es will be copied to a €’ called SaaDB in the users€“default vo€Ů. €ô The database €`reated and popula€with €,, €€bserver programs€˙compiled == #PUSH PFIX SVNAME #SET #INFORMAT TACL €€)%1% [#IF ([#CHARCOUNT €G] <> 2) |THEN| #OUTPUT € Usage is S€~€*where aa is any t€“eric characters € n|ELSE|€‚SETV €á "[#fileinfo/volume/[#d€‚s/CURRENT/].file]" '+' ".S"€ PFIX €DB" €ÝFUP DUP *, [SVNAME].* €÷VOLUME € SETDEFS [PFIX]€QLCI/IN DBCREATE, OUT $S.#[€&/ €:€'LOAD,€%COMP 202 €l€ 5 €y€6 €†€'7 €ž Setup finished. ] #POP €€‚žýDBCREATE@e-- NOTE: THIS IS THE COMPLETE SAMPLE DATABASE. -- -€5ote that the DDL statements use a presentation convention €@which is not mandatory syntax.€h€l Modified to install in a single catalog called =sampldb €­ Deleted DISPLAY USE of s€ś €Ü-€9 -- A Personnel database ON subvolume persnl using CATALOG s€´€<… ?SECTION €X PURGE! *.*.* FROM €€€5; €(DROP €›€P€CREATE €¸€m; €vemployee €w€OTABLE =e€;€i€N€  ( €empnum €!NUMERIC (4) UNSIGNED €A€ [NO DEFAULT €x€ ’NOT NULL €­€ ÇHEADING "Em€$/Number" €ó,first_name €CHARACTER (15) €.€ H€ę SYSTEM €i€ ƒ€:ńFirst Name"€ělas€ë €ě20)€ě €€ÝLas€ ëdeptn€ËN€ʀ'Ԁ}ö€ €öDept/Num"€ďjobcode€ě €€0 ߀5ŻJob/Code€źsalary €€Ń8, 2)€0ž€›€5ks€–"€bPRIMARY KEY €ż(empnum)€\)€yC€ŀz ORGANIZATION €XSEQUENCE€ž; €VIEW =emplist; C€j€EMPLIST€ AS SELECT€°€ €:€6 €P,€`€€Š€>€…€;FROM €Á€SFOR PROTECTION €¸€€đCOMMENT ON €ö€ ÜIS "This VIEW excludes the s€^column of €employee table." €\CONSTRAINT empnum_constrnt €, ON €˜ €?€€.? CHECK €n€’BETWEEN 0001 AND 9999 € ŻINDEX =xempname€)€ €׀Ŕ (€€"€"9N€7 Job/Code"€ jobdesc €ˀ} € V€ Job Description€) &j€ě)€ €= &--€: -- A sales database ON subvolume €using C€ Đs€ π>€ €tcollations --€ Users may remove the comments for this section and any other -- COLLATION references throughout €ASQLCI-in-file €9€Mth€o lines in program SDB205 when they €qwish to illustrate€śuse of ALTERNATE €™NG SE€ S €łin€P Sample Data Base Application. €%See files "collate1" and €2" €+e €definitions €*used for €3s€R1€O2".€{Re€So €k-based DDL inside this €Ľ are indicated €¤by the string '--*c*' before €Ęafter €$€†which contain €é€B€í€‚.€*Note that in order €đ€|Alternate Collating Seque€0o €Nfunction, €ąCPRL Compiler must be used, €Łis an additional, €–fee-€%product, outs€+e normal € inclusions of €ŘNonStop SQL. The €Žco€Žis implicitly invoked at either€ADD/D€ Հ'time, or at C€ ꀁ€ when a column€zis defined with an al€Oco€Ose€O.€ź -- "coll1" is used in VIEW "viewcs" between CUSTOMER and SUPPLIER, €also€ throughout the sample application for suppname in €'"supplier" table. -- "coll2" is used in in program "sdb205" to override €31". --*c* -- DROP COLLATION coll1; €CREATE €  €5 FROM =collate1€CATALOG =s€Üdb €a;€M€n€w2;€w2 €Ź€ w2€€'wCOMMENT €ú ON C€ ú€Ţis "Permits CHAR data and special characters, €equates cases" -- €ůC€‚€é€‚only €‡,€ pupper €šlower €€"€ ?SECTION s€M DROP TABLE =s€h; €C€ý€  ( €7 €€^num € NUMERIC (4) UNSIGNED €x€A€ YNO DEFAULT €Ż€x€ NOT NULL €ä€­€ ĹHEADING "Supp/Num" €ę ,s€¨€ CHARACTER (18) €;€ >N€<ć--€΀š€ ˛COLLATE coll1 €A€ ň€.lier Name"€3treet €>€322)€h3€ڀ ݀s€Ŕ"€city € €4)€h€ž€ Á€ýcity"€ůtate €€ů2€}ƀ€ßs€Ŕ€Špostcode€态Ü0)€h܀ƒ€ †€ÂPost Code€PRIMARY KEY (suppnum)€ž)€ËC€ Ü ORGANIZATION €ISEQUENCE€é; €iINDEX =xs€gam;€i€  €^N €™€}s€śame €4 € €ż€ž€customer€ c€€€€€^n€}N€7Cust/€custname€&C€u€À) €€ćome€}Ô €€8р}Ԁ]䀁gԀ ° SYSTEM €ȀÇ €8›€}Ř €€8~€!Řcredit€ h€( g€ } "C1"€ € ů€f €HEADING "CR" €/,PRIMARY KEY €U(custnum) €6)€CATALOG =sampldb €jORGANIZATION €YSEQUENCED €‹; €“DROP VIEW =custlist; €ŹCREATE €  €ĆAS SELECT €Öc€´ €é,c€Çame €ý,street€I ,city €,state€3postcode€GFROM €ąomer €\FOR PROTECTION €q€€ ýINDEX =xcustnam;€ţ€XCUSTNAM €ĹON =cust€| ( €Úc€M€ú €€š; ?SE€Ä orders €ŤTABLE =o€;€Ş€  €™ €€Znum €NUMERIC (6) UNSIGNE€)€1€9€A€I€QNO DEFAULT€€o€w€€‡ NOT NULL € €´€ź €YOrder/Num"€`order_date €DATE €(q€Ú CURRENT€÷€Q€V€[€`€e€j €@âDate"€Cdeliv_€㠀$€Deliv/€ăsalesrep €cN€ł4)€0ł€° SYSTEM€݀"ŔN€7ˇs€Ę/Rep"€custn€Ł €=ńN€n¤Cust/€Ł€ ordern€dCONSTRAINT date_constrnt€óON €u ;€$€*; CHECK €ńd€ş>= o€Ť €h €pCOMME€yON C€)Ż IS "Dates are stored as SQL TIMESTAMPs" €݀uDROP €ordrep;€€:€ €€) €s€ɀ2 €€Ö; € ™cus€ €Óordcus €3 €€™€ Ă €€ n€ ˜€ Mo€ /€ f€€-€ I empnum€ =€z,last_n€ D€•,ordern€5o.custn€PFROM€ż€Ô=employee e€ ž=€Y o €ü,=€íc €WHERE€Ee.e€Ä = o.s€Ź€ AND €T o€Ł = C.€ ŻC€ Ň;€ detail €€ €; €ÁC€ ŀ 5€5 € ´ €o€X €N€} €œ€¤€Ź€´€ź € t€! part€}d N€7 Part€dunit_price €€Ů8, 2)€ l€/€4€9 N€n îUnit/p€Ŕ€ qty_ordered N€ Ü5)€} Ü €€5Qty/Ord"€(:€7,€ـUC LOCKLENGTH 6 ; ?SECTION parts DROP TABLE =p€; €CREATE € ( €4 €€Xnum € NUMERIC (4) UNSIGNED €u€A€ YNO DEFAULT €Ź€x€ NOT NULL €á€­€ ĹHEADING "Part/Num" €ę ,partdesc € CHARACTER (18) €;€ >N€tć Description"€îrice €řN€Ú8, 2)€“€Ôp€Ŕ"€Ńqty_available €ă5)€'΀ą SYSTEM €D € N€7¸Qty/Avail"€šPRIMARY KEY €‚(partnum)€´)€ŃCATALOG =sampldb ; €KINDEX =xp€ €N€  €= ON =parts€apartdesc €o € €›--€: -- An inventory database ON subvolume € using €*s€)€>†€Âerrors€ Ă =e€€ Ĺ =ERRORS (€ŀ[_date DATE € € D€˛ CURRENT€eşDate€ĺerrors_time€ÝTIME€݀ D€U€—Time€€Ýid €”€Ľ6)€}€ ( €€vID"€p€şsql €9€‚4)€}m€ € ÝSQL/Err/€V€ fs €W€h€+态„€k…FS/€(étext1 PIC X(240)€' ;€l€kmText1"€ "€lext2 €㠀€ €ă2"€ €ORGANIZATION KEY SEQUENCE€ îCLUSTERING KEY (e€ˆid)€ *C€Y NO AUDIT€ ˙SECURE "NNNN" €|errors€ ÉUNIQUE €ž€"€ €8 €€p_date €  ,€X€ id € J€ ]€ şupp € ˝upp;€ Ŕupp €űpart€} Ŕ €8 € Ŕsuppn€}Ź€8 ôSupp/€ Ź € ,partcost €NUMERIC (8, 2) € 1€ @€ONO DEFAULT €*7T NULL €(lHEADING "Part/Cost" €Ź,qty_received N€ç5) UNSIGNED €(í€ę SYSTEM €((€8ńQty/Rec"€ďPRIMARY KEY (partnum,suppnum)€Ů)€öCATALOG =sampldb € ORGANIZATION €aSEQUENCE€A; DROP INDEX =xsupord; €CREATE €XSUPORD€|ON =partsupp ( €H € sup€Â €d€ €š€˜?SECT€¸view207 €ŹVIEW =v€;€Ť€  €˜€¨p€iber €<,partdescrpt €'€Ž€Msupplrname €sprice€%qtyr€& €ż€!AS SELECT€đx.partnum€˘€𠀁,x.s€ Ë,suppn€ Ę,€Ł€*,€ЀŞFROM€‹€Lx €Ž,=parts p €˘,=supplier s €šWHERE €ȀÝ = p.€ ęAND€Fx€ă = s.€ ^; € Ľn €R€Śn;€R€Án €? €p€¤€}§€‘€˜,part€t§.partdesc€Šs€ ş ,€€u,x.€Acost€×,x.q€€Y€ Ż€„ LEFT JOIN€€Ĺ €ON €f = €~€,€@€ d€€ax€ânum = € €1€ Ócust €Ӏ;€%€”€5 €€ custnum€zcusn€*ordernum€c€w€#€c.c€‹€¤,c€€Ľ,o.o€ m€ Ĺcustomer c €o€Śs o € ŁON € = o.€ œ€䀁 †cs --** The following VIEW example shows how a column defined without €E an alternate collating sequence must have a€Jla€'lause in the €Ž € statement when UNIONe€v €B€ Œ an €Ń€Œ€‰. Users who purchased the CPRL compiler --* may remove €$comments for this €0. € +€cs;€ )€˜cs€›€ycustname --*c* -- €COLLATE coll1 €"€ ÝFROM =€h€šUNION € € ës€ ­€I€K€ C€ H€ępartloc €TABLE =p€;€ ;€  € )€üloc_code € CHARACTER (3)€} ခ¤€­ € áLoc/Code"€ ŕpartnum €€ ŕ4)€0 ŕN€s ÍNum"€ Ěon_hand €đ€ Ě7)€'°€­ 0 €䀁?€G€O€W NO€6ŻQty/On/Hand"€ą€ Âl€Ç,€뀁0 Ă ORGANIZATION KEY SEQUENCED -- PARTIT€( € €=partloc1 €-€CATALOG =sampldb €O€=FIRST €t"G00" €p€^, €‚€p2 €€‹€)pP0€p) ; €COMMENT € ON TABLE €ň €, IS "This €can be partitioned by the location code, LOC_CODE" €t€‚ačDDBLOAD@e-- T9197D10 (08JUN92) -- € Note that the INSERT statements use a presentation convention -- which is not mandatory syntax. The first line of each €l €C€q contains €primary index value, while €Csubsequent €Š€`€Bone €4 for €ßrest of €ëcolumns to be inserted. €ÓSpaces after a comma (',') €Lnumeric €’s attempt to portray -- th€ůeld length, right justified. For character data, when€[€Btrailing quote ('"') is preceded by sp€°, it is not€a VARCHAR €Y type.€á €ŸAlso, CONTROL TABLE state€úillustrate the € LOCK feature €ýapplies a file lock before beginning €Finsert operations -- instead of individual row €Ks for each €inserted - this€Bs a performance advantage, and can be used here since concurrency€´is not an issue.€ż€%also i€*€the enabling of virtual sequential block buffering with the€USEQUENTIAL €’ON option. Because all inserts are in p€1€index order, this €C may b€ to enhance €>€÷€âFile System b€ˇs the in€znd sends€m to €Disk Process€ă a € €H. Without th€ž, and wi€€j€*being in €ë ind€će €°would€Ÿ ind€X -- rows €Ž, one message at a time. €+€ţ€ç can typically discern €őinserts,€âinstruct€şth€ što €z€€ I€$l5€"_29€Cl11 €ˇ"JIMMY€+DSCHNEIDE€G€ €$l600€ z26€Cz12 €í"JONATHA€Ľ€!zMITCHELL €Ł € ľ€$˘€#632000€@ °13 € #"ROBERT €€! °WHITE€ą€?€ 뀁$Ř100€! ć0000€@ ć14 € Y"JULIA €5€!1"KELLY€  €€ !€$D€#Ř50000€@ 15€ WALT€ 态! LANCAS€ € W€% °50€ R€ °5€.€ R16€ JOHN€y €! RJONES € € €% 态"640000€@ˆ17€# LENE€ U€!ˆBON€ž €€ À$ €#ˆ24000.90 €); INSERT INTO =employee VALUES ( 218 €E€a,"GEORGE €o" €{€—,"FRENCHMAN €¨€";4000€߀ű, 420€ €, 36000.00€>69 €{€s"DAVID €¤€!6TERRY €ڀ q200€߀ 250€>€627000.12 €<l2€ Š"JOHN€+1"HUGHES €€ §3200€K€C0€$)3000.10€=˘21 €瀁ß"OTTO €€!˘SCHNABL €H€ ݀S6€?˘22€ą€"MARTIN€Ÿ€!ŘSCHAEFFER €€€ €Nl1000.€?Ř23 €S€K"HERBERT €~€!KARAJA€ € I€M˘290€C64 €‰ €,"MARIA € €€!DJOSEF €C€H€M€ €MD18000€AŘ5 €ż€6KARL€Ÿ€!zHELMSTED€} € ľ€%z5€!D32000€A˘6 € ő €,"HEIDI € €€! °WEIGL€ € 뀁MD22€D67 € + €,"XAVIER€Հ! ćSEDLEMEYE€:€"63€#Q€#z0000€A8€ PETE€  €! WELLINGTON€ € W3100€ ű €, 30€$)2000.20€= R29€ €0 RSTRICKE€¤ € €O6222.€? R30€Í €,"ROCKY€ €!ˆLEWIS€ €!6€% R00€€Ă 24000€> ° 231 €,"HERB €(" €!6ALBERT € `€";3300 € š 3€%)3000.00€W); INSERT INTO =employee VALUES ( 232 €6THOMAS €`€!6SPINNER €—€ q400€ß €, 450€ _45000€A63 €lTED €“€!lMCDONALD€.;2000€ l25€!629000€Al4 €˘MARY €ʀ!˘MILLE€k € Ý2500€ ˘10€#)56000€A˘5 €ŘMIRIAM €€!ŘKING €4€<€ €$6900€ 18000€?Ř321€ BILL €4 €!WINN € € I€$˘€#6320€B637 €DDINAH €€!DCLARK €7€ 9000€ D€#l37000€?D343€ ALAN€6€!zTERR€ € ľ3000€ z€#˘39500€?z557€ lBEN€k€! °HENDERSON€§€ 뀁%z0€!_6500€A668 € ćJESSICA €€! ćCRIN€ Ż€"l500€J 态Cl990€ ‚"thomas €5€!g"stibbs€6 €€ W3€"6null € ߀)€ 991€ MWayne €e €! MO'Neil €€ ˆ€}1€ H992€ HBarry €ú€!~Kinney€7 € š€}b€y993€ CPaul€*€Ż €,"Buskett €" €&€2€>,3100 € )null € R€)); INSERT INTO =employee VALUES ( 994 € Ŕ"Emmy €€"ö€}1€Á,€Z€15 €ń"Walt€)€ '"Farley€i €}b €); CONTROL TABLE €fSEQUENTIAL I€‡OFF; UPDATE ALL STATISTICS FOR € B; €\€lLOCK €T ?SECTION DEPT -- € table values: €--€  € Ĺdept €рeN; DELETE FROM =€#;€ ˘€9€ú€A €€d€‹100€","FINANCE €z, 23 €Ÿ,90€ yCHICAGO"€ odept €k150€,"PERSONNEL €Z, 213€ŕ1€Y€=ŕ20€ŔINVENTORY €!ŕ 32 €@ŔLOS ANGELES"€˛€ 3€Ä25€ÄSHIPPING €, 234€ƒ,2€]PHOENIX"€’€ €¤30€„MARKETI€ခţ, 29 €@„NEW YORK"€s€ ô€…3€‡,"CANADA SAL€- €, 43€e3€ZTORONTO€4e320€ g,"GERMNY €%ŕ39€Á€"ŕFRANKFURT"€ 5€ ś€G330€ I,"ENGLND €#Â72€g€ ÂLONDON"€ € •€&35€&ASIA€Ÿ € €, 111 €€ ĄHONG KONG"€ ö€ w€40€čRESEARCH € b, 65€ –,€ 老<d41€ ë,"PLANNI€#% 87 €É4€Z€<E9€ 1ORPORATE €$, 1€¤€G Ş € ˇdept SE€1 ł€>€ TABLELO€ ŤJOB -- JOB € Ł€ œjob €UN€ ›job;€ <€7€ŕ€?€ ™€aVALUES ( 100 €,"MANAGER" €)); INSERT INTO =job VALUES ( 20€dPRODUCTION SUPV"€5l50€ĐASSEMBLE€6Ň30€6SALESREP"€2740€›SYSTEM ANALYST"€2˘420€ENGINEE€445€›PROGRAMME€4n50€ŇACCOUNTANT€3360€9ADMINISTRATOR€3?90€ŁSECRETARY"€Ľ CONTROL TABLE =job SEQUENTIAL INSERT OFF; UPDATE ALL STATISTICS FOR €=; €R€]LOCK €J -- SALES data base ?SECTION CUSTOMER -- € values: €--€  € Ěcustomer €܀N; DELETE FROM =€';€ ť€ASE€ €I €ĺ€p€ę 21 €N €,"CENTRAL UNIVERSITY€š€4€9U€1 WAY €O "€› €,"PHILADELPHIA €%5ENNSYLVANIA"€€h19104 €z€#™A1"€]€€ b€퀁g123 €}BROWN MEDICAL CO €"@100 CALIFORNIA STREET €!}SAN FRANCISCO €!˛C€n€"ĺ94944€&}C2"€Ú €€ ߀j€ä143€ }STEVENS SUPPLY €!˝2020 HARRIS €z €!úDENVER €€!/COLORADO €!b80734€'ú2€=}324 €wPREMIER INSURANCE €!:3300 WARBASH €€!wLUBBOCK €8€!ŹTEXAS €k€!ß76308 €ž€!€?w54€!úFRESNO STATE BANK €!ˇ2300 BROWN BLVD €€€!ô€v€´€!)C€倁"ú93921 €!B3"€ Q €€ V€ခ [926 €qMETALL-AG. €\ €!412 WAGNERRING €€!qFRANKFURT €9€!ŚWEST GERMANY€ π‹ ,"3€t €! D4"€ Î €€ Ӏ ^€ Ř1234€ wDATASPEED€ť €!ą300 SAN GABRIEL WAY €%=NEW YORK€x€! #€5€! V10014€&îC1€<î3210€š €,"BESTFOOD MARKETS €} €,"3333 PHELPS STREET " €,"LINCOLN €+€#5NEBRASKA €#h68134 €#™A4"€Â); INSERT INTO =customer VALUES (3333 €NATIONAL UTILITIES"€ @6500 TRANS-CANADIENNE €!}QUEBEC €€!˛C€gA €5€!ĺH4T 1X4 €!A1"€?€}5635 €„ROYAL CHEMICALS €%§45 NEW BROAD €ű€"úONDON€ů€"ENGLAND €!bEC2M 1NH €$1B2"€ꀁú7654 €MOTOR DISTRIBUTING"€ :2345 FIRST €v€"CHICAGO €€!ŹILLINOIS €!ß60610 €!E4€<w7777 €~SLEEPWELL HOTELS €$§9000 PETERS AVENUE €!ôDALLAS €€!)TEXA€4€!\75244€&ôB1€<w9000 €űbunknought inn €!44738 ralph street €!qbayonne €€!Śnew jersey €$h09520€&úc1€<ô9010€ }hotel oregon €€!ą333 portland ave. €>€!îmedford €'}or€-Ľ9744€'úc2€<ô9033€ îart supplies, inc."€ .22 sweet st. € €! kpittsburgh €!  penna.€l€! Ó08333 €! c3"€ -); CONTROL TABLE € oSEQUENTIAL INSERT OFF; UPDATE ALL STATISTICS FOR € B; €\€lLOCK €T ?SECTION ORDERS -- € values: €--€ € żorders €̀aN; DELETE FROM =€%;€  €=€ú€E € ˜€j€ –10021€ 'DATETIME "1987-04-10" YEAR TO DAY € ĺ€BF 220€Y1234€ |€ š€‹€ ˇ100250€ŀ !1-23"€;!6-15"€+g€#!7777€ € ڀŹ€ Ř1012€!€ B7-21"€:B12-€1!1 €ą5€ ; € ); INSERT INTO =orders VALUES (200300 € :€ K,DATETIME "1987-02-06" YEAR TO DAY €0F7-01"€-F 222 € ľ 926 €ހ!20€1!17"€=!20"€+g 223 €Ö 21 €˙€B490€/B3-19"€:B11-€1B€€K, 12€J€c300350€/c3-03"€;c8-10€.B31€€l, 543€k€„300380€/„3€>B08-€1c€[€€<B400410€/Ľ3-27€<„9-0€0Ľ7 €Z7654 €ƒ€Ć50045€0c4-€._€  9-15"€+ 22€ Z 324€7!60048€0c5-12"€:ç10-10€/ƀž€đ,3333€ 700510€/ 6-€.€ N10-€1ç9 € ˝ 14€8Ľ800660€. )10-09€sç568 € Ţ3210€ ); CONTROL TABLE € NSEQUENTIAL I€ mOFF; UPDATE ALL STATISTICS FOR € @; €X€fLOCK €P ?SECTION ODETAIL -- € values: €--€  €źdetail €ˀeN; DELETE FROM =o€&;€Ł€?€ü€G € w€m€ x100210, 244€ú €, 3500.00€ ą€;, 3€ € %€€ &€Ž2001€ , €, 1100€vŽ403€ €ľ, 620€,\6€ _ € €w€‚€ 5100€‡ €€Ž150€+ 10€뀁 /€%€0100250€b¸4€ € \odetail VALUES (100250,5103 €", 400.00 €)410€0); INSERT INTO =o€Ž6301 €)Ž245.€-Ž5 €€%Ž50€)( 95€.Ž€<\1220, 255€ř €, 390€o €Ž€`¸ 3€€¸1220,7102 €'f275€+¸ 7 €ʀf€Ž3€*f425€+f 8 €x€200300, 244 €&Â3500€+€DŽ2001€'Â1000€lp€\200€(¸14€n200320,5504€' 165€+ 5€9€Ž620€( 19€-6 €ހz€\€`z 6€CŽ400€(˘540€+Ö €:p200490,3210€( P715€+Ö 1€ :€ „€Ž5505€ €, 350€+ 2 €<Ž300350,€+2800€+ ŕ20€ € ŕ€Ž5100€) Z5€-\€:€\511€)¸52€,(12€ :€ <€ €` < 5€9 <€¸6€,Â5€-f€@Ž80€,f3000€+F €:300380,240€) Ž320€,ô€>¸€Ž€)p760€ ˘ €, 8 €); INSERT INTO =odetail VALUES (400410, 212 €J€e, 2450.00 €~€™€Ž1€d€&Ž55 €ř€, 3800€uŽ2001 €Ś €, 1000€+\36 €? 630€*Ž 240€+ 48€@¸6400€(„50€,\70€老"f73€*\415.€*f€; 500450€-500€+ €:€Ž€*90€.Ž€;€\€,10€,\16€9€ 2002€'15€- €EŽ40€*Ž 330€+̀;Â600480,€`60€Ş€(€Ž€) 4€-(20€X€ր\3 € €, 19€-40€ € „€ 310€*Ž4000€+ „€EŽ205€' „ 625€+̀B 5100€) Ź35€+z€Bf51€) 390€+ Ž€Bf€-Ö2€, €;f700410,200€]65€  € ˜€Ž40€( 650€, ˜0€ ȀF700510, 25€( ˜€/ 4 €8ô€Ž6500€(Ŕ 95€+ Ž €8˘ (700510,7102 €", 275.00 €)4 5 €d); INSERT INTO =odetail VALUES (800660, 244 €(Ž3000.€-Ž6 €€$Ž2001 €&\1000€-Ž30€Œ€"\2403 €' 60€.Ž48 €n€" 2405€T €, 795€+¸10€老"¸320€( 525€,f€A¸320€)\€. 18€@ 321€Ś €, 715€,€A410€)p 26.€)p13€A5100€(ę150€+p12€‚€"510€(p 20€,p €A5110€(F490€+̀Bp5504€'z 165€+(1€A620€(z 19€, €A(630€(( 235€+ „24€ :€" „640€)€.̀BÖ640€( „ 70€- „6€@ 2650€)p 9€,Ö22€ ň€" Ž€a <€A Ž73€*f42€, „1€Ě CONTROL TABLE € îSEQUENTIAL I€ OFF; UPDATE ALL STATISTICS FOR € A; €Z€iLOCK €R ?SECTION PARTS -- € values: €--€ € šparts €ƀ]N; DELETE FROM =€$;€ š€;€ň€C €€g€ 186€ Ą ,"186 MegaByte Disk " €é,186186.86€ , €ˆ€ Հ.€Ó 21€ř ,"PC SILVER, 20 MB €Ç 250€K €, 3525 €€€! ); INSERT INTO =parts VALUES ( 244 €?€i,"PC GOLD, 30 MB " €u €, 3000.00 € €+4426 €8Ç55€€‘€ÇDIAMOND, 60€Ę€!Ç4000€"Ç3321 €4Ž2001€?€X"GRAPHIC PRINTER,M1"€Ž110€#Ç2100€ľ€U2002 €”€€Ç2"€U1500€ U3220€|€2003 €[€态 Ž3"€2000€ 2200€C€ă240€ŽDAISY €ST1 €ă 350€#、6Ş240€Ž€ Ç2 €#Ç65€#Ç3312€݀q2405€° €,"€Ž T3 €q 795.€q271€8Ç310€LASER €¨ X1 €8420€!330€6320€qHARD DISK 20€€˙ 525€ Ž4436€5˙320€U€Ç30€ǀĆ 62€#Ç2209 €43210€,"€Ž40€Ž€ 715€ 3314€ € T410€˙DISKETTE HD, BOX € T 28.€ T6540€ {€ 510€w €,"MONITOR BW, TYPE 1€ 15€!83237 €4 â510€ T€ Ç2€ 20€"Ć40€6Ć510€€ŽCOLOR, M1€ q 40€!3328 €4 p5110€ €U€Ç2 € p €#q323€6q5504€ 7MEMORY CARD, 512KB"€ 7 165€!Ć630€ ^€ ţ550€€ Ç1 MB € ţ 31€"q83€8Ç620€& 7€LR €Ĺ 19€" T306€5Ĺ630€! ţPHIC CARD, HR " €, 245.00 €+2331 €R); INSERT INTO =parts VALUES (640€f"STREAMING TAPE,M20"€!Ç550.€!Ç1268 €€Ç1€ €,€ Ç60€"Ç725€ Ž1308€8Ç50€ô"DISK CONTROLLER € U 95€!U532 €§€U603 €ć"PRINTER €Ę"€ 4€! 430€C€7102€ €,"SMART MODEM, 1200 €!ă75€!ă20€ €ă730€€Ç240€$Ç42€!233€U C€× TABLE €ŽSEQUENTIAL INSERT OFF; UPDATE ALL STATISTICS FOR €?; €V€cLOCK €N -- INVENT data base ?SECTION SUPPLIER -- € values: €--€  € Ósupplier €ă€€N; DELETE FROM =€';€ ž€ASE€ €I €ń€p€ô 1€3 €,"NEW COMPUTERS INC €ž ,"1800 KING ST. €€ű ,"SAN FRANCISCO €0 ,"CALIFORNIA €c ,"94112 €”€ E€H 2€2 €,"DATA TERMINAL €%T2000 BAKER STREET €U€O ,"LAS VEGAS €„ ,"NEVADA €€ˇ ,"66134 €老 ™€€œ 3€G ,"HIGH DENSITY INC € f ,"7600 EMERSON €€ Ł ,"NEW YORK €€ Ř € 5€ ,"10230 € <€ 퀁l€ đ 6 €  ,"MAGNETICS INC € ş €Ż00 INDUSTRY DRIVE € ÷ ,"LEXINGTO€Ž€ , €ŤSS €€ _ ,"02159 € € A€Ŕ€ D 8€ ź €,"ATTRACTIVE CORP €  ,"7777 FOUNTAIN WAY € K ,"CHICAGO €€ € ,"ILLINOIS € ł ,"60610€C¨10€ ţ ,"LEVERAGE €§ € b €Ż00 LINCOLN LANE € Ÿ ,"DENVER €€ Ô ,"COLORADO € ,"8071€D¤15 €üDATADRI€§ €ś ,"100 MAC ARTHUR€)DALLA€Ą €( ,"TEXA€Ő €[ ,"75244€C¤20€Ś ,"Macadam'S PC's " €,"106 River Road €2€#=New Orleans €#rLouisiana €%367890 €Ö); INSERT INTO =supplier VALUES ( 25 €Schroeder's Ltd €!T212 Strasse Blvd West €!‘Hamburg €€!ĆRhode Island"€ ů22222 €f€*€T30 €oO'Donnell's Drives"€ ¨729 West Palm Beach €!ĺSan Antonio €%5Texas €€!M78344 €3€~€¨35€ ¨Mac'Murphys €ţ€!ü93323 Alemeda €ę €!9Menlo Park €!nCalifornia €$394025 €Ҁü36 €MAC'MURPHYS PCB's €!P€TSuite B €!€}T € €P90€ ülaser jets inc €!¤284 blue ridge way €!álevittown €!penna. €€!I09520€C¤92 €żwatercolors €Ž€$â84 north grand avenue €!5menlo pa€'üca€yü95€ řapplication do'ers€!¤2846 yellowwood drive€"Twayland €&umass€ř €! ń02158 €f€ "€ L99 € gterminals, inc. €$Ż2 longfellow €ú€%=heightst€ţ€! nj €€! E085€Dü186€ ¤186 Disk Makers €#T€9 Way €ë €! 1Dat €9€! fWisconsin €$h00186 € Ę); CONTROL TABLE € řSEQUENTIAL I€ OFF; UPDATE ALL STATISTICS FOR € B; €\€lLOCK €T ?SECTION PARTSUPP -- € values: €--€  € Ĺpartsupp €ՀiN; DELETE FROM =€';€ Ş€A€ €I € -€p€ -212, 1 €M €, 2000.00€ €3 20€ @€ ـ€ Ů2€Ź3 €'Ź190€-Ź3€ ˜€ …€Ȁ…244,€+X40€ X €, 50 €); INSERT INTO =partsupp VALUES ( 244, 2 €J €, 2200.00€}€ 3 66 €>Ź55, 1 €ö €, 330€-Ź35 €<X€Ź3 €˘€ Ź000€*X46€;X2001,€*X 70€,Ź100€;°€Ź€'° 750€*°55€;2002,€*°1000€)\120€;€Ź6€Ś €, 110€,Ź 2€AŹ3, 1€&13€+100€;`200€Ź2€&`1400€*`€= €Ź10€V €, 145€,\€<¸240€,\ 20€+X€= 240€,° 3€+¸200€;2405€+d 50€+°40€;ź€Ź€'´ 4€o°310€,´32€+°€>€Ź15€  €, 3€, h10€<°320€-ź380€* Ŕ36€; Ŕ320€-\425.€( l150€; 3210, €' 470€* 10€; ĀŹ1€'° 4€,¸25€; 4102,€+X 20€) p11€ž€€Ź8 €f €, 19.€(14€< €X1€'´ 21.€)Č30€;t5100€ \ €, 100.00 €!€350€/); INSERT INTO =partsupp VALUES (5100, 8 €(y105.€+Ź40€ۀ%Ź15 €&% 95€,Ź60€‡€X1,€,X35€*X33 €3€€Ź€)X125€+3€@Ź3,€+°265€*°20€‹€\€Ź€)°250€+8€ž€10, 1 €&33€*°10€、´€Ź2 €&-35€+X36 €€`504, €*Ź 85€*`10€;€ €Ź6€ö €, 75€* €FŹ1€) 78.€)d€@X5, €+Ź200€)1€=\6201, 1€'10€-Ź1€<°630€0Ź5€*`230€ —€ h6400€-`90€m 6401, 2€'`50€*° 20€  Ŕ€Ź3€  €, 480€* l38€ "€ l6500,€+X 60€) 140€ G€ €Ź€(X 6€+ h32€ƀ Ä6603,€+° 2€* Ŕ150€ Ÿ€ p7102, 10€' é16€* Ŕ100€K€73€.`300€*Ȁ CONTROL TABLE €ĚSEQUENTIAL I€íOFF; UPDATE ALL STATISTICS FOR € B; €\€lLOCK €T ?SECTION PARTLOC -- € values: €--€  €Âartloc TABLELOCK ON; DELETE FROM =pa€&; CONTROL €0 € SEQUENTIAL INSERT €G I€INTO €G VALUES ("A10",2001 €!, 800 €1); €z21", 255 €)z 21€Ť€z34",620€+ô 0€=ô35",630€)n€Az6",640€ˇ €, € 34 €€č66",6603 €'b30€<b67"€ô€)Ü454€=ô78", 244€=€ n43€%€V€z5505€(V10€<Đ87", 212 €'J 18 €{€J88",240€)b735€{€Āz5504€%€ V0€;>94",320€)č20€<¸98",5110€€ J51€1€2G11",2002€)b20€:ŹG3€/2106 €W€&G3€/2331€р G3€.2103€;2G43",510€c€ Ź77 €ŀ”G45",410€*b69 € ?€ G65",320€) ˆ 36€;b68",650€ Ń €, 1132€送 G76",240€)Ź 42€c€ |€z730€) ö 3€?ô8",5€+  €; |G8€0 €=>€z310€) €Dô3210€ ­ €€ ö4€ š€ ŢG87",240€*Ź€>老/  €=Ü88",5€,  €; XG89",510€)Ć 86€; 9€/ ˆ 59€2 €); INSERT INTO =partloc VALUES ("G98",5103 €B€V, €j28 €1€%z10 €)z136 €Ť€ôP10",2001 €*ô 0€Ť€nP12"€z2 €'n200€%€č€z€*č€@ô5",200€)b€@ô66",660€*Ü40€“€VP67",640€*b54 €‡€ĐP68",650€1€-€Ѐ=Ü76",710€mÜ78", 244€=€!€Ä3€ő€>P87",310€)>30€Đ CONTROL TABLE €źSEQUENTIAL I€ÜOFF; UPDATE ALL STATISTICS FOR € A; €Z€iLOCK €R €‚&V1üCODECOB@e?SECTION RECEIVE-CONTROL-table, TANDEM * €€ +. €€#TABLE OCCURS 5 TIMES €>€FSYNCDEPTH LIMIT IS 1 €a€iREPLY CONTAINS message-out RECORD. €•?€Ŕdebugging-DECLARATIVES,€ Ádo-d€+sect S€.€ÇUSE FOR DEBUGGING ON ALL PROCEDURES.€ €S.€ DISPLAY ws-PROGRAM-ID ": " €Ż-item.€ Čerrws * * This section contains working storage items used by the common * error routine. It must be SQL SOURCEd or COBOL85 COPYied into * WORKING-STORAGE when €e € b is€‰. *€101 €…-flag €PIC S9(01) €!COMP. €r88 end-e€̀C€ YVALUE 0.€ ˆws-divided-time.€a03 ws-hi-€ €Ľ€˘ 9(06).€—€6€K-alpha REDEFINES €N€f 04 ws-€~-hr € PIC X(02)€f €6mn € €6sc €!603 FILLER € e€u€˘9(€˘€ă€Հ;€Ż€Ű9(08) €× €1€ œ€Aws-date€™ €PIC 9(06).€z€9€Ÿ€Q€ €f-yr€ ™ €œ03 €œ-mo €€Ҁ6da €6€I€-19 €l €A€I€"19".€“ws-hyphen€ N €€‹€“€R"-"€ Icolon€ –€H€“€܀›":"€ ’errors-text.€ý€d€1 €€¤€ Ť240)€ ext2 €Ԁۀ â€7€Ż€€9(02)€nred-en €en.€ŀ \€ţ€?ws-save-sqlcode€ ŸPIC S9(04)€?€ƒsql-status-sw €䀁ë €PIC X(02)€ƒ€B"00".€‰€Jok €<€A€F€K€P€U €‰€Gnot-found €€Đ"01"€Ždup €A€[€"02"€Őerror€ š€ š€^"03"€warning€ń€送Ľ"04"€ fatal-€Œ-sql.€ 02 sql€-txt € 3€Ę10)€M€ "SQL ERROR "€Ň02 ws-sql€[ PIC 9(04)€ú2 sp-€€ €€O€Ҁ‘SPACE.€Ů02 on-tab-€Ě €—9)€€Ů"ON TABLE €Ětable€Ä €N8)€Ć2 ws-fsall-t€{ 03 €tex€ m€617)€Ö €€ƒ"; FS RETURN CODE€ ˛ €ac€Ű € ~€ ˛1 €y€Ëall € €21)€C€ Yprocess-m€ ‚in-fil€ 0000-p€.€ l PERFORM 0400-get-server-ppd-entry.€ ú€-500-initialize-€4run€c€[1000-open€Ťs.€ K€~1100-set-€Í-€,error-sw.€ z IF file€! € — €€Î9840-reply-f€1€  € ހG€Lalu-date " " € ý€f€k€time€€¨name OF ancestor-€“info ": €\ws-€ ˘€€€ €amy-€î€[ € Ż €": stopping due TO file OPEN error"€čELSE € ô€]2000-€[input-request € %€vUNTIL eof-€ł€ˆ €€9000-close-files€&STOP RUN. * €e€ € ƒ,€ %€Ż.€P* read a r€Ĺ, €e it, and reply to the €&or, all in €same * pass through this paragraph. there is no "priming read" when the server * begins execution. set the reply-flag and advisory-id as an error detection * technique. * €PERFORM 9800-read-message-in. €(IF NOT eof-€! €H€P€L2010-zero-largest-r€˛ €v€~MOVE "00" TO €Ó €œ€¤€ 2020-identify-input-request €΀րŇ890€Ňply-to-€,or. * ?SECTION process-invalid-€T, TANDEM €- 8800-p€..€)€×1"€ ×.€L€úipm-header OF trans-req TO €pl.€€=Y" TO tmf-abort-sw €L€1UNDEFINED TRANSACTION CODE" € TO ad€Vtext OF ws-a€format.€Kre€>,€ C€dREAD m€€ ^AT END €§ €€I€ € -sw.€ďWRITE-t€npl,€ ç9802-write-€&€ y999 TO €ˆcode €À¨€p €Ţpl.€}€ɀŽ10-reply-€´€ € ™ €Ŕ€Ź €e€‡€€ů€,€xatal-error,€ &9820€ąf€(.€I€÷€%ş€˘€ €Ę000-close-files.€ĆENTER ABEND.€ÝSTOP RUN.€€hnot-set€ 9830€€$€ €+˘REPLY NOT SET" €#‰€рɀü€Hile-open-€Ô40€…f€ ,€؀EIMOVE €, € €_€"€ 3€ €ŀ9ACCEPT-last-update-fields,€;* Procedure code to get the date and time for €last u€Q f€Q * of database records. This lets us have €Xsame lu € ` €En all €@ in a multiple €V transaction. * (Also copy alu-working-storage) * * Perform 9910-accept-€  at€ůbeginning of * a request.€rIn your writ€ rew€ paragraphs: * move alu-date to €;target l€Kd€ field € ;time€;t€ €;. * €ꀁt€) €-stamp OF €ł€ L FROM DATE. €d €g €„€>TIME.€Ľ€áeliminate-leading-spaces€§€9 l€9 s€9 from a character field. * (al€.els-€.Mov€Ş€9 that might have€oblanks to €Lin-f€h€p20-el€â.€’€l€Œout-€A t€&€ž€ڀT €MOVE SPACES TO €ń€e.€À(ZERO €&tally.€ĺ€J1 €Epointer€5INSPECT els-€ €‰€ŽTALLYING €$€b€ pFOR €Ę" ".€eDD €[€™ €̀‡UNSTRI€d€‘€ ˆINT€  € ŠWITH POINTER €Ń€đ* € ™sql€e-handling,€ ”* Set standard error h€* off * Must €e all €&s in €0routine explicitly * * Note. When you include this €5in€r program * €any existing whenever clauses will be cancelled€ f€remainder of the compilati€• €If €wish to €Ľit, other than at the end, €Ł€Ő€‰need to reset €x€ ˛ €Ůfte€Ve inclusion €˘r€J€ ]EXEC SQL €5€ťWHENEVER NOT FOUN€ ÖEND-EXEC. * €8€KSQLWARNING €m€6LERROR €ˇ€ –* Save SQLCA values in errors table host variables * and €ü€+ text€ E MOVE logon-id OF trans-req TO errors-id. €€3sqlcode OF SQLCA €.sql.€ /ws-save-s€K.€ c"N " TO red-en.€ ‚SPACES TO ws-e€Štext.€ŤENTER TAL "S€Ś_TOBUFFER2_" USING €ż, €ŕ€č€đ€ř€€ n,€&9480,€&gOMITTED,€&™€`28€Àˆ €en,€$ť€)-€,e€ Ľws-text1 TO e€M€.€ P€)2 € )2. * * Get the file system return code.€'€Ł€ řFSCODE"€ó€ąGIVING €–fs.€jAttempt to insert €š info into €É table * €Ů on in€0because duplicate key implies * another SQL error received by a different program * in the same second, so get time/date again and * try t€Ćwith new t€.. (Alternate Index on * €Ť€â should prevent this, however.) * Er€Äon INSERT o€Ţthan € s reported€Ąo hometerm along €Ľdetails of original error. * €‰-1€\-flag. €!IF s€ ¨= 100 €E MOVE 0 €¤€H €h €#"01" TO sql-status-sw €‘ELSE €  PERFORM UNTIL end-e€Ę €Ć €ACCEPT ws-date FROM DATE€ Q€/€°€errors€7 €€XSTRING €7€q€y€n-19 DELIMITED BY SIZE€ ʀ¨€Ą-yr €'3hyphen €,fmo €'™€4fda € ˙INT€Çdate€ n€Ćtime€ĆTIME€  MOVE S€ƀƀ7€-ƀn-hr€&“colon €%ů€Ô-mn €%,€4fsc €’€“time€ EXEC SQL €: €INSERT INTO =errors ( €f€,€8€D€€_date,€$ H €š_time€19id,€$ ¸ €)_sql,€$ 𠀁a_fs,€$ ' €˜_text1,€$ a €Ҁ:2 €ń €) €€,VALUES €F€'ă:e€c TYPE AS DATE,€$ 8 €Ftime€FTIME€1Fi€(ý€Ăs€)ý€űf€(ý€2t€+ý€l€:€:ýEND-EXEC €5 €I€-8227 €c€.€6CONTINUE€ â€QE€ ů€h€\€“€,9999-check-sql-€ Ü * * c€ the result of €INSERT to €error table. * if any €other than a d€ ¤occurs, display the or€  * €Ton home term followe€ śmessage explaining why€H €ƒnsert t€ Ą failed. *€ ܀§ €ŤNOT = 0€ É €DISPLAY €š€ "SQL ERROR ", errors-sql, €" AT €5€'€;time,€ 0€O4"€0O= -8227 €LMOVE "ADD FAILED; RECORD ALREADY EXISTS"€ “TO advisory-text OF ws-a€format €ş€n02"€.€Á425 € €ÁINVALID DATE-TIME VALUE"€ J€qˇ3097€xD€ Ż OUT OF RANGE€ź = -3024 €€€4€sFORMAT IN €}STRING"€ Ȁo53016 €B€öSYNTAX ERROR OR RESERVED WORD USED"€ Š€X÷€ ŸMOVE €Ä TO ws-s€îOF ws-fatal€˘-sql €+€Bfs €Afscode €%@€f€Š€3ţ3"€ND-IF€Œ€‚8Ő ĐFCOMP@e?TACL MACRO PARAM BINSERV $SYSTEM.S€B€ €&SYMS€&S€ COBOL85 /IN sdb%1%, OUT $s.#sdb.cob%1% / obj%1% SQLCOMP €2€€ 2sql%€2CATALOG =SAMPLDB €‚Ç3‚COMP202@eCOMMENT **€ OBEY FILE TO COMPILE SDB202 €&* C€:Set file names and catalog € DELETE DEFINE =errors SET €CLASS MAP ADD € *, €Žinvent.e€>ALTER €T_DEFAULTS, CATALOG €0 €ŞCOBOL compile €ŠBind SQL object PARAM BINSERV $SYSTEM.S€B€ €&SYMS€&S€ C€o85 /IN sdb202, OUT $S.#sdb.COB202 / obj202 €VQL€ Şidentification of Catalog SQLCOMP €h€K€ hsql2€hC€, EXPLAIN PLAN €‚ ‘COMP205@eCOMMENT **€ OBEY FILE TO COMPILE SDB205 €&* C€:Set file names and catalog € DELETE DEFINE =supplier € partsupp € 2errors SET €FCLASS MAP ADD € \, €Âsales.s€q€+€n,€+invent.p€„€W€, FILE €,e€—ALTER €ß_DEFAULTS, CATALOG €\ €5COBOL compile and Bind SQL object PARAM BINSERV $SYSTEM.S€B€ €&SYMS€&S€ C€o85 /IN sdb205, OUT $S.#sdb.cob205 / obj205 €áQL€ Şidentification of Catalog SQLCOMP €h€K€ hsql2€hC€, EXPLAIN PLAN €‚—źłCOMP206@eCOMMENT **€ OBEY FILE TO COMPILE SDB206 €& C€8 Set file names and catalog € DELETE DEFINE =parts €upp € /errors SET €CCLASS MAP ADD € Y , €žsales.p€n€ (upp,€(invent.€)€€T€~ €T€,e€”ALTER €Ů_DEFAULTS, CATALOG €\ €/COBOL compile and Bind SQL object PARAM BINSERV $SYSTEM.S€B€ €&SYMS€&S€ C€o85 /IN sdb206, OUT $S.#sdb.cob206 / obj206 €ŰQL€ Şidentification of Catalog SQLCOMP €h€K€ hsql2€hC€, EXPLAIN PLAN €‚¸ńCOMP207@eCOMMENT **€ OBEY FILE TO COMPILE SDB207 €& C€8 Set file names and catalog € DELETE DEFINE =parts €upp € /supplier € Herrors€ Iview207 € w€n SET €CLASS MAP ADD € Ł , FILE sales.p€¸€ (upp,€(invent.€)upp € T€Č,€Tsupp€݀€Ú €€We€đ€Š€í, €Š€v€€Ԁn,€ԀŹ€+n ALTER €Ľ_DEFAULTS, CATALOG €Ţ €űCOBOL compile and Bind SQL object PARAM BINSERV $SYSTEM.S€B€ €&SYMS€&S€ C€o85 /IN sdb207, OUT $S.#sdb.cob207 / obj207 €§QL€ Şidentification of Catalog SQLCOMP €h€K€ hsql2€hC€, EXPLAIN PLAN €‚[ôDDLSRC@e* ?COMMENTS ?DICT ! €BOL messagen! ?NOCLISTOUT * * advisory €& formats € DEF €"-f€. 04 €<-attn-sw €PIC X(01).€2 88 €q€5 €VALUE "Y".€ttext€Œ 05 term-stat € €Œ6)€Œ€2-€N€7€ž68)€ž€d€22 € €pREDEFINES €Œ€Z€4€˜06 ts-€Ŕ€ Š€462)€4 06 called-program-€ţ€ç€f6€Ú04 FILLER €€˜END * DEF ws-a€€ í2 €)€€dTYPE *. € Qfatal-error-sql.€>sql€-txt€ ą €>10) €ǀ SQL ERROR "€ws-sqlcode €őPIC 9(04)€‰04 sp-€x €€ť2)€ }SPACES.€on-tab-€Á €9)€ ÂON TABLE € Átable€ż €J8€Œ04 ws-fsall-t€ 6 €tex€ W€”17)€”0€2c€?€=€ |1 €€€ all €7€@€421).€K* date and time €˘ for requesters * * initial €Ç used in logon €.. €(izes €_ * €ű. *€general-purpose-ws. €ń03 req-in-date-time-stamp.€! 05 €ź€  06 €×-numeric €€ą6€Ž €2detail €† €€~d€‘€Y.€Ż€)07 yy €8€C€'2€ | 07 mm € €Y€2dd €"205 t€< 06 €-€*€Հ €€ 2€*€z€_€0hh €_€e€k€W€B0ss €Àɀπť€”cc€5€˙ €퀁Ć03 dummy-char €&€,€2€ ¨03 screen-timestamp-format€ü 04 €%date.€ €05 €b €Œ€ e05 €ľ€G€ /"€ €05 €¤ €€ ـAt€ć €t€M04 €š€ /€ t" €č 0€utime€ u€§ €€ Ú0€+u:"€ Š €0€]u€t€+ €送Â03 €- * date€ p€Ksubsequent €~-- * (value clauses are not allowe€ˆinkage) *€ ug€}a €06€“€}a€’€ ş€“d€}a€‹€ۀŔ€‘€}a€ր 07 €}aeen-€ba€¨ 0€OQ€ 05 €Ć € ľ€ Ž0€A PIC X(02). €04 screen-time.€ 05 hh €€K9(€ K 05 FILLER € €}1)€} 05 mm €€Ż€Ddss €"d03 €€¤€E€ČEND * * ipm prototypes for all interprocess messages €3 DEF ipm-header.€“04 reply-code € PIC S9(04) €5COMP.€Đ04 trans-€3=logon-id €6)€?€omf-abort-sw € ƀq€ô88 t€5 €ř€ VALUE "Y".€ł04 €b€D€倁h€ €req * sent from requester to server on list transaction * DEF €-req.€H03 €Ę € ÍTYPE *. €1€^-rpl €‘€„to €›on error and on delete € pl.€č€&  03 advisory-format €€Înitialization linkage used by logon €i €Kws-sdb-l€0€02 trans-rpl € |€‰€P€™02 ws-general-purpose-ws €ś€~€ Ąall subsequent €s€Źs€?¨g€Ľ €&list l€Nto do selective displays from multiple €4 * screens -- to be implemented €‚supplier-list-€ ‰€ num €PIC 9(04)€S02 €Rname €3€2X(18)€…€2€„s€Üed-s€N€dX(0€:88 €š€5 €Ł€¸€ F2 €¨€ç€؀t€ć DEF parts-€-€n€'-€O-€÷ PIC €ű€„€5€÷ € A€;űupp-€+part€ţ €€?€­nter p€ — for € table €Š€'record.€ B€Z!treet €ڀ倁&22€ Ř02 city € € €X14€ˇtate€´ €Š12€ <02 postc€§€20).€ řsdb20501 * * trans c€ń1 list €š * € 2 €#next€(3 special € S€yreply €y002 yields s€maint-msg € …999 €/€Á-rpl *€Ń4 € Ń group €×5 €)€ ׀. * € ˛3 € ˛list-data-€*ś DEF sdb-ipm-s€Ą.€ )02 supp€Zl€źflag €€l€ B88 €5by-not-se€%€Q€ N0.€ ˙€@s€á€€ Ž1€ €€€@€÷ €€ Î2.€ 02 s€ž-list-€ ‚€^€ `€a€1€ ž RECORD suppli€ëmsg.€DEF IS s€ ţ€ â€Dre€ 2 € Î €đ€ö€ü€  €ű€ Ž€őTYPE €* ipm s€I2 €x1 add s€÷€Hmodify €%3 d€ n€J€ 2 €>?€‰2€3€Ćrecord€ö€ j 02 shadows. €03 suppnum-s €€ PIC X(01).€2ame-€ 3€ 2END * RECORD €jlier-maint-msg.€Š02 €‡€rec € TYPE sdb-ipm-sdb20502.€ǀ =-old.€ â old-supp€}record €c€X€ €<€şreq.€D02 ipm-header € ¸ €ş*.€r€老  0€lier-re€ € € =€  04 € €`€". €Ârpl.€L0€*advisory-format €TYPE €}6€•04 €@€–€X€6* ipm s€Ż3 * * s€ˆ group list ipm € DEF s€ç3.€Ž02 key-data.€Ákey €F PIC 9(04)€Á€ 3€ó18)€ó02 lines-on-screen €€d2)€%02 message-€­ € / OCCURS 13 TIMES.€ Ž€˙€§ €€€Xlist-data-€\DEF IS €W€Ą€I€mă€ Ć €ü T€ 3.€˘* inter process €‚s for parts table * DEF €-record€002 €,num €€ Q€2desc€ ś€C€D€Qprice €b PIC S9(06)V9(02) COMP.€ł02 qty-available€ E€=5) €€=€Œ* i€”601 * * trans code€•1 list parts * €K€Q 2 € next€%3 special € M€preply €p002 yields €r-€ € |999 €,€ľ-rpl *€Ĺ4 €Ĺ group €Ë5 €&€ˀ+ * € Š3 € Š€p€'­€ č601.€–02 part€Z„list-flag€b €€91€ú88 €5by-not-set € 5€ B VALUE 0.€ l€@p€á€Š€@1€ €€€@€s €€€2€ %€-l€ú€ ‚€ +02 FILLER €Q€W€]€cPIC € € ěparts-€k€ 老Œ€ű€ -€Are€ o02 ipm€ n T€902 € ‡€M €€ V€ˆ€ ş* €.2 €i1 add €ń€-modify part€O3 delete €"€ {2 €;$€ _602€ F€´recor€ €€Z 02 shadows.€ M€än€' Mpartdesc-s €n€y€a€ Jparts-rec€ G € I€€ Gold-p€\€#TYPE €wo€P€ ţ€—€ űre€4 A€߀ C 03 €ü€¤s€ C€ý €=€ C 0€ €˙€.ü€c 5€ € m €}*€ &€j3€ ,parts€ꀁ )603€ )€Onum-key € PIC 9(04). €03 partdesc-k€ 3€2X(18)€202 lines-on-screen € e€d2)€d02 message-data € ” OCCURS 13 TIMES.€ ›s-record €TYPE *. END * RECORD €Ďs-list-€q-msg.€đDEF IS sdb-ipm-sdb20603.€Frpl.€602 ipm-header € –€Ł€›€˛02 advisory-format €ɀŕ02 part€ Ŕ €ű€÷€Ŕ* inter process €|s for €[upp table * * we have added two data items to this def -- €œdesc and * suppname -- these €7are displayed on the s€0€;€#efined in view psview * DEF partsupp-€.€ˇ€%num €€!€ 送W€ť€G€TPIC € é€݀)d€€Ť€¸€d€âcost€€ꀖS9(06)V9(02) COMP.€ź02 qty-received € €î5) €€=€0€ b-null€čpart€gX(0€P€ždesc €u€{€ €}g €€ý09)€€\X(05).€* ipm sdb20701 * * trans code €{1 list €Ú * € “2 €#next€(3 special € S€yreply €y002 yields €Umaint-msg € …999 €/€Á-rpl *€Ń4 € Ń group€×5 €)€ ׀. * € ˛3 € ˛€Հ'ś DEF sdb€ö701.€02 suppn€+N€(€list-flag€Í €€›1)€›88 €5by-not-set€:€?€IVALUE 0.€ۀ@s€á€‡€@1€ €€p€ €€€2.€[02 FILLER €€%€+€1€r0€ň€Š-€ •€NŽ€ ǀ;ŽSET €€€%€+ €}ŽUE €:Ž€ rupp-list-ms€ p€z€ ś€D-€‹DEF € š701€€ €’req.€ ň02 i€' ꀁƒ€܀ Œ TYPE €X€ ”€"req-€ i€;•-null €€•€D€ .* €­2 €Ü1 add € †€Źmodify € Ť€ Ń3 delete € Đ €K€PŁ€í2€—€ U€ 9€ W 02 shadows.€ 2€0-s € € I€׀03 € I€2€ Íupp-m€­€ Ě02 € € p€œ2€ž€ \-old€ ] 03 old-p€ ~€ bTYPE € ™€ ‡€ş€?„€  0€]€ '€ x€Ą€ € =€  04 € €2€bH partsupp-maint-msg. €03 € rec €€TYPE sdb-ipm-sdb20702.€=-old.€[ 04 old-p€‚record €[€š€€€16. €€ Źreq.€×ipm-header € TYPE *.€€ó 03 €€ ö 04 €ů€ö €=€€8€3€ö €z€ů€p€ö €ˇ€ů€­€ö 03 €ů€ꀁö 03 €o€7€'€öreply-€}Ł €ŕ€}Ł02 €mŁ 02 €Ärecord€ `€7.€ŕ€ęrpl.€ ¸€(áadvisory-format €€r€ ` 03 €r€ހ 0€}€ €€3€ €ˇ€ €˝€ 03 € €ú€ 03 €€G€76€ t 03 € *€ˆ€ƀt€cparts-null€^€.€ & 03 €(num € PIC 9(04) €COMP.€ c €=desc € € c18€ Ď €o€2-i € €oS9€orice€ < €Ź€=6)V9(02) €Źqty-available€ €é€z5)€ 送 &€ Cpartsupp-€Wupp.€€ €>Znum-€ ' PIC €(suppn€6Ôcost€M €z€epart€=-€.ßqty-received€ ꀁ‹€ ˘ €03 qty-received-i €PIC S9(04) €COMP. END * DEF supplier-record-kanji. €J02 € num €Y€d€c9€b.€ 1ame-€J€‘ €”X(36)€1takana €€Ĺ€1english €0€b18)€“postcode €Y€dPIC X(20)€Ätate€. €14)€őcity €€b8€“street €3€“44€b€Ždb-ipm-sdb21101.€%Š €Ş€ € Ťlist-flag €PIC 9(01)€ 88 €5by-not-se€ô €VALUE 0.€ €@supp€Š €€@1€ €€€@ame€ €€€2.€˙pecial-l€ú€ ‚€ň4€ FILLER €Q€W€]€cPIC X(€$€‰RECORD €Œ€nmsg-€ŽDEF IS s€ €ӀJreq-€ Řipm-header €ü€€TYPE *.€lier-list-msg€€.€–DEF € ˇ2€e€„ €€“ €Œs€Śhadows.€¸ 03 €5num-s € €‡€€2ame-€ 3€!šmaint-m€ ş0€H€h € TYPE € ؀!-old.€  03 old-s€ȀD€X€⠀ € €ȀE8€.€[ 0€Ł€~€€ € =€  04 €€n€ř€€ •€Ürpl-€ $€(Ladvisory-format€€z€[€}B€°€:€`€˛3.€[key-data.€n €num-key€ R€a€o €Ename-€ 3€o€plines-on-screen €€Ĺ2)€Ómessage-€­€€:OCCURS 13 TIMES.€ ; € ŕord€ÚT€c€ €data-€ Q€ 3.€ ހU€O€sÄlist-€ҀDT€ ü€ ɀ‚jĺTĄMESSAGES@e* SCHEMA PRODUCED DATE - TIME : 6/16/93 10:44:19 ?SECTION ADVISORY-FORMAT,TANDEM * Definition € % created on 06€\at €_ 01 € X. 02 €qATTN-SW €PIC X(1).€0 88 €Ł€2 € VALUE IS "Y".€dTEXT€{ 03 TERM-STAT € €{6)€{€0-€J€ 5€Ť68)€Ź€a€12 REDEFINES €{€K€€†04 TS-€Ş€•2)€ 04 CALLED-PROGRAM-€ç€ҀA€Ć02 FILLER €€q€WS-A€€(€€^€ €Ž€6 03 €Š€ 8€ 6 €8€ 6 €d€8 04 €:€ł€8€ 0€ :€、8€ a-TEXT€: 05 €<€J6€:€1€<€{6€€<€Ť€NWS-FATAL-ERROR-SQL,€Q€( €T€^.€WSQL€u-TXT€Ü10) €€W"SQL E€Ę "€]WS-SQLCODE €KPIC 9(4)€Á02 SP-€•€‰€ń2)€)™SPACES.€TON-TAB-€ü €T9)€*üON TABLE € űT€€D€ź8€02 WS-FSALL-TE€ˆ€TEX€Ź7)€03 €JC€t€ s€ x1 €…€‘ALL € €”21). €8WS-GENERAL-PURPOSE-WS,€>€+ €D€d€öREQ-IN-DATE-TIME-STAMP.€j 03 D€€  04 €NUMERIC €€ż€ €0DETAIL €Ҁ^€F.€ŕ €05 YY € €€ €2€Ď 05 MM €€O€0DD €"003 T€  04 €-€  €ŀĘ € 0€  €d€L€ HH €€1€<SS €)`CC€ú€€Á€˘02 DUMMY-CHAR€E€ ˛02 SCREEN-TIMESTAMP-FORMAT€  03 €#DATE.€  04 €8 €Y€:04 €݀ J€(ň/"€ F 04 €˜ €送ʀ_€ř€03 € ű€ j2€(y" € 0€ÇTIME€ǀí € €0€LÇ:"€ 0€|ǀ €­ €@€!02 €, ŔG€!™€(€–€^€‰€}“E-€ـ}“ €€ €ó03 €I“AMP-DETAIL REDEFINES TIME-STAMP-NUMERIC. €05 HH €€ PIC 9(2).€ 0MM €€0SS €)0CC € `02 DUMMY-CHAR €’€ŔX(1)€Ŕ02 SCREEN-TIMESTAMP-FORMAT.€03 €#DATE.€(04 YY €ö € (04 FILLER€˜ 04 €V € ˆ€/`DD €€ č03 €ž PIC X(€0€7TIME€7€]€G€ _0€}7€/ 04 €˝ € 02 €ó €71). ?SECTION IPM-HEADER,TANDEM * Definition € created on 06/16/93 at 10:44 01 €N.€ă02 REPLY-CODE €PIC S9(4) €COMP.€02 TRANS-€1;LOGON-ID€s€v9(6)€Y€kMF-ABORT-SW € ¨€q€É 88 T€2 € VALUE IS "Y".€í02 €‘€B€Հž€REQ,€€ REQ €œ€MREQ.€~02 €ý€Ż 03 €ą€Ż€;€ą€ę€v€ąPIC €Ż€Ś€€ ą€0€x €ą€ Ż 0€„€M€°RPL,€L€ĎRPL €K€üRPL.€-0€}Ż€ˇ03 €`€}Ż € PIC €‹ADVISORY-€ ƒ€ATTN-€€ I€i88 €M€2 €~€  03 €TEXT€ 04 TERM-STAT€ Z€ƀ¸ €0-€L€€ö68)€ B€a€12 € Ź€{€K€— 05 TS-€Ž€ ń€]62€ ŠCALLED-PROGRAM-€ë €Ž6€€ 03 €Ż €ž€şWS-SDB-LINKAGE,€ž€ $ €€ V€ 02 TRANS-€ 03 €=€ď 04 €óPIC €ď 04 €h€.€;€ó€v€ď €k€ó€ - €€ó€ ď€404 €% „03 €“ 04 €°€ •€ Ü €€•€ ž€4€d€ • 05 T€—€[€Í €0€ —€‹6€•€1€!— 06 T€™€ô6€ —€1€™€%6€  0€%Ä02 WS-GENERAL-PURPOSE-WS.€ ď03 REQ-IN-DATE-TIME-STAM€ ó 04 D€€  05 €€E €PIC € Ѐ€0DE€ ‘€`€‹ 06 € g€b€ ‹€0€€’€ ť€`D€ €€ë04 T€" 05 €€U€€ 8€ń€ 0€ €f€Ą 06 €Ł€x€Ą €06 MM € €€ PIC 9(2). €+€106 SS €<€B€H€0CC €l€r€x€`03 DUMMY-CHAR €ž€¤€Ş€X(1)€03 SCREEN-TIMESTAMP-FORMAT.€ł04 €%DATE.€Ě05 YY €€ € €ü05 FILLER€œ €+ €VALUE "/".€\05 €Š €Œ€_DD €€ 04 € PIC X(2)€( "€ 0€ÉTIME€ ÉHH €€Ĺ0€JÉ:"€}É €Y€€ł € ĺ03 €ĺ €É1). ?SECTION SDB-LINKAGE,TANDEM * Definition €! created on 06/16/93 at 10:45 01 €P€°02 TRANS-RPL.€03 IPM-HEADER.€Ľ04 REPLY-CODE € PIC S9(4) €COMP.€ŕ04 €h€1;LOGON-ID€ 3€v9(6)€K€kMF-ABORT-SW € ¨€/€ë€Ć88 T€2 € ׀PIS "Y"€S04 €ą €“€OADVISORY-€G€ATTN-€ł€ހš 88 €O€2 €€˙€Ż€TEXT€Ć 05 TERM-STAT€ ţ€]€^€ 0-€N€3€68)€ڀa€12 REDEFINES €{€K€_ 06 TS-€˛€ —€ö62€ CCALLED-PROGRAM-€ď €'6€ (€u€0€02 GENERAL-PURPOSE-WS.€ż03 REQ-IN-DATE-TIME-STAM€ D€€  05 €NUMERIC €PIC € Ţ €0DETAIL €K€`€F.€ [€‘€b€‹€*ťD€р€ë04 T€"€ڀ-€€ 8€ Y€l-€ €f€L€ €ހx€ Ą€} Ń 03 D€} Ń €¤€ Í05 € р ý05 € +€F`€ €Ŕ0€ހ ˝04 S€ /€ €J A€ 60€\9S€ ”€ ů03 € Ć PIC € f€áUPPLIER-LIST-€ë€+€ő€d€ Ż02 SUPPNUM€ ¨ €‚4)€ Ť€0AME€ €€ĺ8€€a€äSELECTED-S€•€€ 88 €“LIER-€2€ +€ ခ‘02 € >€ •€ [PARTS-€w€(€ i€^€ 02 €zN€%q€Ş-€< €V€L88 €Ü€2€ g€!€ р4@UPP-€ ş * Definition PARTSUPP-LIST-LINKAGE created on 06/16/93 at 10:45 01 €9. 02 €XNUM €PIC 9(4).€ 0-SELECTED-SW € 9€0X(1)€0 88 €ş€2 € VALUE IS "Y". ?SECTION SUPPLIER-RECORD,TANDEM €€ % € € X.€€qN€%€ĄNAME € ЀŢPIC X(18)€8STREET € ˙€ €122)€iCITY €.€<€b4€šSTATE€ €“2€bPOSTCODE€Ä0).€˜DB-IPM-SDB20501,€™€ & €§S€ Z.€˘SUPP€W›LIST-FLAG €PIC 9(€Ӏ2BY-NOT-SE€րÓ0.€e 88 €dBY-S€̀1€ő€2€ j€72.€ÉSPECIAL-L€Î€ g€ƀÉFILLER €€ö€ɀ •€cMSG,€—Record S€¸€†MSG €˘€ 5.€ž€P€W—€}ü€€}ü€ P€ž)€ů€‘LIST-REQ,€“€üREQ €ž€1REQ.€šIPM-HEADER.€Ž 03 REPLY-C€ˇ€šS9(4) €COMP.€é 03 TRANS-€1;LOGON-ID€ ż €€!6)€$ €kMF-ABORT-S€ " €_ €88 T€2€ #€ $€403 €Á€À老 š€e 03 S€c€€€0€ţ€>€ü€a€c€ a €1€ c€40€a€ 2€ c€f€a€ dSUPP€̀˜€a 03 S€c€'€ *€0€c€e€^2,€÷€„2 € S€¸2€7UPP€ j€ €ďUPP€ €€ €€0€ €T€ €PT€ €…€  03 € €ś€ €1ST€ €瀁 €bP€ €0)€ SHADOWS.€ O€¤S€6-S € €Z€ű03 €0AME-€1€ŠMAINT-M€‡€$€'ˆ€Z€‰€ ‘.€ = €ž€ Š€ Q 04 € € \PIC € X €0€ U€0€ Q €a€A€aX(€ Q 04 € U€’X(1€ Q €Ă€A€ĂX(1€ Q 04 €A€ôX(1€? 03 € A 04 €CPIC X(1€ `€0€C€ 002 S€đ-OLD€  03 OLD-S€ 0€™€ -€}Ń € €+€ "€€Ă€€\€ "€P0€"р ş€ŸREQ€ *€ĂREQ€ +3 at 10:45 01 SUPPLIER-MAINT-REQ. 02 IPM-HEADER.€ 03 REPLY-CODE € PIC S9(4) €COMP.€O 03 TRANS-€1;LOGON-ID €€v9(6).€ş €kMF-ABORT-SW € €ŚX(1)€0 88 T€2 € VALUE IS "Y".€ 03 FILLER €PIC €d02 € jMSG.€j 03 €ˆREC.€‚ 04 €˘RECORD.€Ÿ €05 SUPPNUM €€€€9(4)€€2€0AME€ ˝€ą8)€F€c€aTREET€  €â22)€w€”05 CITY € €Ś€Ź€114€“TATE€ M€b12€ bPOSTCO€ €u0)€ 04 SHADOWS.€Ů €0€:-S €€ € ť €€0AME-€ 1€ ë 0€Ď-OLD€ś04 OLD-S€y€}× €€š€}׀•€L0). ?SECTION S€ šPL,TANDEM * Record €$ created on 06/16/93 €PL.€} € N€}€9ADVISORY-FORMAT.€z 03 €ATTN-S€ \ 88 €M€2 €€Ŕ€TEXT€} 04 TERM-STAT€  €ـm€ 0-€L€B€ 68€X€a€12 REDEFINES €{€K€ 05 TS-€Ž€ ¤€p62€ ŽALLED-PROGRAM-€ë €Ą6€5€}Ń5 S€}Ń €05 €}рŰ 04 S€}р & 04 €}Ń ST€}¨€9€¨€ŃDB-IPM-SDB20503,€ĎDefinition S€ & €р Z.€ âKEY-DATA.€ ô 03 S€ Q-KEY€ ĆPIC € U€0AME-€1€0X(1€ U02 LINES-ON-SCREEN€Š €a2€ T02 MESSAGE-€§ € OCCURS 13 TIMES€ ă0€ČLIER-€ 804 €倁 6 € 㠀0AME€ ó€㠀a€Ž PIC X(€ 804 € 6€11€ 8€ĂTATE€ ƒ €b1€ 804 P€ 6€1€ aLIST-DATA-MSG,€ e€ ( €& i€ b€ 02 €}ž € PIC 9(€}ž€ Ö04 SUPPN€ž 04 STREET €PIC X(22). € 04 CITY €/ €114)€ 1STATE €€b12€ bPOSTCODE€4€“10). ?SECTION SUPPLIER-LIST-DATA-RPL,TANDEM * Record €( created on 06/16/93 at 10:45 01 €b.€02 IPM-HEADER.€+03 REPLY-C€ÉS9(4) €COMP.€f03 TRANS-€1;LOGON-ID €Y€^€c€hPIC 9(6)€рkMF-ABORT-SW €€’€—€0X(1)€88 T€2€ 5VALUE IS "Y".€503 FILLER €ë€đ€ő€ú €”€d02 ADVISORY-FORMAT.€~03 €ATTN-€ ą€Ý€­€M€2 €€­€TEXT€} 04 TERM-STAT€ /PIC X(€Z€ 0-€L€d€08)€\€a€12 REDEFINES €{€K€ 05 TS-€Ž€ ƀ—2€À1CALLED-PROGRAM-€ë € Č0€*ž€ ŽMSG.€C03 KEY-DATA.€WSUPPNUM-KEY€ ^€ś4€ V€0AME-€ 1€Œ18€\03 LINES-ON-SCREEN€ €2€č03 MESSAGE-€Š € OCCURS 13 TIMES.€€ČLIER-RECORD.€< 05 €ç € €›€ ĺ €0AME€ @€q€ĺ €aT€Ѐ˘€΀1C€ЀÓ1€΀bATE€ Ѐ1€΀“P€Ѐ51€ÎPARTS-€=,€ÄDefinition €" €ž€R€02 €hNUM€ ‰ €PIC 9(€t€0DESC €!€'€- €0X(1€t€aRICE€÷ €aS9(6)V9(02) C€02 QTY-AVAILABLE€ ;€S9(5)€=€DB-IPM-SDB20601,€ €FS€ & €€ Z.€€^NLIST-FLAG €€Ż1€Š88 €2BY-NOT-SE€ Š0.€܀2PART€ €Ű1€ő €d€2€ € 2.€ @02 SPECIAL-L€Î€ g€ u€9 PIC X(€ö€ PARTS-€`MSG,€ € €ý6 €ý€ R€É02 €j€WA€}ó€΀}ó €€óREQ,€ ř€REQ € đ€ óREQ.€ ˙02 €} 老 ‰03 L€} č €7 老Ť€ "P€ €€š 03 €0€œP€%€ €N€19(€L €N€ ő0€L€ 2€ N€ '€L€ dPART€k€ Y€L 03 €N€÷€Á€0€! ‡€Y€I2,€S€€ I2 €Q€T€ }2€"PART€˙€ <0€、ŻP€­ €0€Ż€0X(18). €03 PRICE €€€€ PIC S9(6)V9(02) COMP.€€Ť€W 03 P€ƀY 0€A€ Ý 05 €3€]€ €[€0DESC € PIC € [ €a€B€1€݀<€B€m€[ 04 S€ B €퀁 F€˝€B €€F€퀁 rS-REC€_ 04 €a 0€}„€ 05 €ĆPIC S€ ߀QRPL,€QRPL €Q7 € QRPL.€¨0€}a€ 2€}a€9aADVISORY-FORMAT.€ €ATTN-€€€ ‡ 88 €M€2 €€€TEXT€} 04 TERM-STAT€ [€€ť€ 0-€L€€Ż68€ í€ a€12 REDEFINES €{€K€ 05 TS-€Ž€ ň€62)€ T 05 CALLED-PROGRAM-€ë €G6€ƒ€}€ |PIC € z 05 PART€}€›€ Ô 04 €}€ b€Ž€ € €T€ €}„5 € ĺP€SDB-IPM-SDB20603,€ qDefinition € & € v€%€ Z.€Î02 KEY-DATA.€ŕARTNUM-KEY € €Ă€ ^0€ bDESC-€1€ó€ ^02 LINES-ON-SCREEN€ PIC 9(2€02 MESSAGE-€§ € OCCURS 13 TIMES€  S-RE€;> PARTDESC € PIC X(18). €04 PRICE € . €1S9(6)V9(02) COMP.€ 03 TRANS-€1;LOGON-I€ ) € ¨€ €kMF-ABORT-SW € €Ś€ Ů88 T€2€ Ś VALUE IS "Y".€ 03 FILLER€ 3 €PIC € =02 €ťMSG.€ U03 €ŐCORD.€ rINPUT-€  05 F€G€ ¸ €€  €0€ů€F€  06 €a-€ €Ţ€ € 0M€ PIC € J€ `DA€ €005 T€€ Ľ €€`€  €0-€ €D€  06 €]€ é €ť€-€é€ 0€é€`0€ÚTIME€ ’ €K€ đ €0€ íFROM-€F€ ô 0€ڀa-€ €Ş€‘-M€ €ڀÁ-S€ € 05 TO-€í €:€ ß €0-€ ŕ€D€ ß 06 €]-€ ő€•€-€é €ŀ˝-€é€005 FROM-€ ÷€%€Ę 05 T€ۀ %€U€ú€0€`S€ Ď €…4€ ţ 05 TO-SQLCODE €PIC 9(4). €05 FROM-FSC€ 1€0TO-€. €`04 DISPLAY-FIELDS.€ |€DATE€Ž€ŹX(1)€ Ź€NTIME€ހ܀0USERID €PIC €`€ A€0€ ?€`TEXT €Ž €04 KEY€8€€ 4 €ä6)€ ä€JDATE-2 REDEFINES €_€.€ 06 €y€/YR €€A2)€A €0MO €€q€0DA €005 KEY-€ ń€f€рíTIME€ 퀀í€/HR€%í€_MN €$퀏SC €€퀁 Ž €ž€Ú04 MAINT-€\€DA€Z€J 05 €L€0€&€c€G€ (€€c-€*€i€(€Ż€“-€*€™€X€߀Ă-€*€ɀ ˆ€ÁT€  €ů€ €=€ *€T€G€ €pTIME-€.€Z€€ €0€.€Š€I€Ѐ`€.€ş€ y€˛€ ܀ń€ €€^€ €J€ŽT€ ܀X(40)€{03 LIST-SHADOWS€04 FROM-DATE-S € € ˇ04 TO-€. € ç04 €“€c€ 04 €TIME€&€.€€c€ §€€Ň-€"€ ×04 TO-€€ .€ €5€c€ 7€ S€s€ł€ g€€.€°€c€ ǀ°€р B€ ÷€ €˙€!p€ÓSCODE€Ľ€ W04 € TEXT-€Ӏ ‡03 €ÓS€D€ €€ Đ04 T€´€0USERID€ T€`S€ g€ § € `04 F€ 1 €€ €Ŕ€ 1€0?SECTION ERROR-REPLY-MSG,TANDEM * Record € ! created on 06/16/93 at 10:49 * 01 € W.€ >02 €pLIST-RECORD.€ Y03 INPUT-€ ő04 €ހ ž € Ą€ ˝€0-€ ꀁ$€ ˝05 €=€ ź€]€ ˝€ 0M€ ź€€ í€ `DA€ ź€˝€ 04 T€›€ ‰ €€ Ž€ Ş€0€ ë€D€ Ś05 €[-€ Ł € 瀁 Ś€0€ ç€0€ ç€`0€ÖTIME€ t € w€ “€0€ րF€ “0€ր_-€ Ľ€]€ “€ 0M€ Ľ€€ À `S€ Ľ€˝€ ó04 TO-€ë€í€0-€ }€D€ |05 €[€ 瀁F€ |€0€ 瀁v€ Ź€`€ 瀁Ś€ Ü04 FROM-€ < €€M€ i04 T€j€j€. €}€ ™€`S€!­€`€.€`4). €04 FROM-FSCODE €€PIC 9(4). €0TO-€. € 003 DISPLAY-FIELDS.€ J€DATE€ {€zX(1)€ z€LTIME€ Ť€Ş€0USERID €€Ú€`SQLC€PIC €€ =€0TEXT €Ž € `03 KEY€6€€ 2 €°6)€°€HDATE-2 REDEFINES €]€.€Ű 05 €u€-YR €€ 2)€ €0MO €€;€0DA €004 KEY-€ í€h€›€ëTIME€ 뀀ë€-HR€%ë€]MN €$뀍SC €€뀁 ¨ €†€Ö03 MAINT-€T€DA€ R€H 04 €J€0€ €a€G€ "€{€a-€$€-€ "€Ť€‘-€$€]€ R€ۀÁ-€$€€‚€żT€  €˝€  €9€ $€P€G€ €jTIME-€(€€ €š€0€(€L€ A€ʀ`€(€|€q€Ž€ Ѐ Ѐ€ ܀X€  € €ˆT€ ЀX(40)€=02 LIST-SHADOWS€ 03 FROM-DATE-S € € y03 TO-€. € Š03 €ƒ€c€ Ů03 €TIME€&€.€€c€ i€€Ä-€ "€ ™03 TO-€ň€ .€ €'€ c€ ů€ S€$€ ł€ )€€.€°€c€ ‰€°€Á€ B€ š€ €!p€ĂSCODE€Ľ€ 03 €óTEXT-€ Ӏ I02 €ËS€ D€ €€ 03 T€˛€0USERID€ R€`S€ € Ľ € 03 F€ / €€ P€Ŕ€ /€002 REPLY-RECORD.€  03 €€ € Ć8)€ Ѐ0TIME€ ý € ö€0€ R € &€ €€€.€ `X(€ `€Ŕ€ €`€ €đTEXT.€ Ś€ €1 € € Ě24€›€04 €R€J2 €2?SECTION ERROR-R€ˆPL,TANDEM * Record € ! created on 06/16/93 at 10:49 * 01 € W.€ |02 IPM-HEADER.€ 0€đCO€ ˝ PIC S9(4) €COMP.€ Ë03 TRANS-€1;LOGON-I€ T€d €v9(€ †€kMF-ABORT-SW € € \88 T€2€ ) VALUE IS "Y".€ š03 FILLER€ ś €€ Ŕ02 ADVISORY-FORMAT€=03 €ATTN-€ ą€ 88 €M€2€ €­€€ şTERM-STAT€ # € †€ ŕ€0-TEXT€ X€ ś68€ń 04 €a€12 RE€ €{€K€Q 05 TS-€ b €€62€ CALLED-PROGRAM-€Ÿ€N6€ ¨0€*ž€|MSG.€Ą03 €—LIST-€  04 INPUT-FIELDS. €05 FROM-DATE €€PIC 9(6).€0-2 REDEFINES €F.€_ 06 €a-YR €€_2)€ _ € 0MO €€€0DA €005 TO-€í €ď€0€ í€D€ë€]€ é€[€ë€-€é€‹€€˝-€é€ť€ K0€ÚTIME€&ڀ0-€ ڀF€ڀa-HR€#ڀ‘-MN €€i€ €Á-SC €0€ڀí €ÉTO-TIME-€ǀ€ ŀ-€é€[€ŀ]€é€‹€ő€€é€ť€ %€ÚUSERID €€´TO-€. €äSQLCODE€€4)€ TO-€.€`€0FROM-FSC€ _€€`€.€Ŕ€ 04 DISPLAY-F€đ€€ óPIC X(1)€ đ€N€ I€0€ Ÿ€`€ o€€ ?€ŔEXT €€đ04 KEY€8€€ '€D€JDATE€`€_€€ &€y€/€%€Ą€&€Š€_€%€рV€Ů€€%€€ †05 KEY-€ :€1€0€M€E€ €_-€8€Ž€€-€8€ž€C€ż-€8€ s€퀁 M€04 MAINT-€\€DA€ M€L€L€ &€c€G€ N€DATE-€O€­€N€Ż€0€O€݀~€߀`DA€O€ € Ž05 € € d€ =€=€ w€TTIME€ ?€pTIME-€f€ ž€ ?€ €0€f€ ΀ o€Ѐ`€f€ ţ€ Ÿ€ń€ {€ .€.€ K€ ^€ J€^€ € Ž€ z€ŽTE€Ü €Î40)€ ż03 LIST-SHADOWS€ 04 € -S € € 04 TO-DATE€ . € G04 €“€5€ w04 FROM-TIME€&€.€€c€ €€q-€"€ 704 TO-€Ÿ€ .€ €Ԁc€ —€ S€Ą€ł€ ǀ€.€°€c€ '€°€р B€ W€ €˙€!p€ÓSCODE€Ľ€ ˇ04 € TEXT-€Ӏ ç03 €ÓS€D€ć € 004 T€´ €€ `04 USERID€ T€0S€ •€ § € Ŕ04 F€ 1 €€ đ04 T€ 1€003 REPLY-RECORD.€X04 €DATE€ W€¨8)€X€0TIME€ ‡€؀0€ €€¸€Y-SQLCODE €PIC X(4). €04 REPLY-FSC€ / €0TEXT.€H 05 €J€1 €€x240)€z € 22 €€Ş€2?SECTION PARTS-NULL,TANDEM * Record € created on 06/16/93 at 10:49 * 01 €M.€02 €a.€03 €rNUM €œ€¨PIC 9(4) €šCOMP.€Y€;DESC €؀ä€;X(18)€Š€l€1-I € €€lS9€m€ lRICE€ë€6€;6)V9(02) € ¨QTY-AVAILABLE€/ €ăS9(5)€ä€、UPP-€“€€&–€S€ ™UPP€ a€5œNUM-€ j€ô€؀ ×SUPPN€4COST €PIC S9(€ŚPART€<-€,QTY-RECEIVED € {€w9€ŕ € Ā;-€ —€˛€€˙€ŹSUPPLIER-RECORD-KANJI,€ˇDefinition €+ € ƀg.€ŕ02 €†€Ž P€€€0AME-€Ż€ ˆ€0X(36)€A€a€1TAKANA €€a€1ENGLISH €0€’€02 POSTCO€ ʀe€ĂX(20€Z€ôTATE€ř€“24€02 CITY €ˇ€Ă PIC X(28€Ź02 STREET€ǀý€144). €ťSDB-IPM-SDB21101,€Á€ € & € ˀ ].€ŕ€Ş€Ž €Ű9(4€Š €ÚUPPNAME€7 €€ €LIST-FLAG €&€/ PIC 9(1)€q88 €2BY-NOT-SE€FVALUE IS 0.€Ł€2S€€ €21€ő €d€2€ πd2.€02 SPECIAL-L€Î€ g€ƀ'FILLER €€2€ö€ťS€€cMSG-€ €Ȁ)€€؀j€<€ K€ű€€€}€F€}€#€F1)€€#LIST-REQ-€ %€ ܀=€)€*#€ g€%IPM-HEADER.€ 03 € C€zPIC S9(4€ ü€ űTRANS-€1;LOGON-ID€ Š €N6€~ 03 TMF-ABORT-SW € €ŚX(€~ 88 €2€ ‡€~"Y".€ #03 €îPIC €d02 € ę.€ n03 SUPP€ >€ ž€0€€{€Ž 03 €€Ź€Ž €€ Ž€ 2€ €Ŕ€Ž€ dS€ _€ň€Ž 03 S€PIC €ľ€0€€˘€ IS€Ž2,€ O€ ˜€´2 € Y€ ]€gUPP€ .€‡€ň€1€ Š€”€ §€SUPPNAME-KA€ Š€ŀ ؀„€1€ Š€ö€ Ŕ€ Š€'2€ §€ćT€ Š€X2€ § 03 € Š€‰2€ § 03 STREET €PIC X(44). 02 SHADOWS.€ €BUPPNUM-S € €B1)€A €r€0AME-€1€r€0?SECTION SUPPLIER-MAINT-MSG-KANJI,TANDEM * Record €* created on 06/16/93 at 10:49 * 01 €i.€ţ€‹REC.€ 03 €ŁRECORD.€/ 04 €ŔNUM € PIC 9(4€_€!€0AME-€ć €7€36)€€R€a€1TAKANA €k€Á€1ENGLISH €›€ň18)€ň€´04 POSTCODE € ĀĂX(20)€#€ĺ€ôTATE€. €ôX(24€T 04 CITY €PIC X(28€ “ST€¸€1€ś 03 S€ ¸ 04 S€ş€u€¸€0A€ş€Ľ€č02 €\LIER-REC-OLD€03 OLD-S€ր}3€}34 S€}3). €xREQ-€ x€*€0x€i€xIPM-HEADER.€Š 03 REPLY-C€˜S9(4) €COMP.€Ĺ 03 TRANS-€1;LOGON-ID €PIC 9(6€ €kMF-ABORT-SW € 4€܀ 88 T€2€ –VALUE IS "Y".€” 03 FILLER €€@€ƒ0€›€Q.€ŕ 03 S€oREC€ä 0€/€ÓO€ć 05 €9€老€ć€0A€ 老ń€ć€a€1€老"€€’€b€ 老S€ć€ĂP€čP€„€ć€ô€č€1€ć 05 €č€b€ć€1S€č€“4€œ 04 S€   0€œ€ ¤€ـ  €0€ ꀁ € Ѐę 04 €ě €€ !PIC € €0€}9 €05 P€!€ĂX(2€ 05 S€!€ôX(2€€1€!PIC X(2€€b€ ـ1€9€ dRPL-€ d€*€ d50 € d€i€ d€}ě €03 €}쀁9ěADVISORY-FORMAT.€ É 03 €ATTN-€€V€ ¸ 88 €M€2 €€™€TEXT€} 04 TERM-STAT€ |€ӀF€ 0-€L€ ą€68€ ľ€a€12 REDEFINES €{€K€ 05 TS-€Ž€ €j62)€ €05 CALLED-PROGRAM-€ë €€›6€ Ž03 €}Ş5 S€˛€ ’P€}q€ ’€ހ  05 P€ ’€ĂX(2€ €1€ q €PIC X(24). € 05 CITY €€18)€ 1STREET € 3€b44€b04 SHADOWS.€ wSUPPNUM-S € |€¨1)€ §€0AME-€ 1€؀003 €\LIER-REC-OLD.€ó04 OLD-SUPP€"ORD€! 05 € € PIC 9(4€ D€̀KANJI €7€u36)€ u€ţ€ÎKATAKANA €k€Ś€1ENGLISH €›€×18€ ŚPOSTCODE € ĀĂX(20)€ STATE€ . €ô€d9?SECTION SDB-IPM-SDB21103,TANDEM * Definition € & created on 06/16/93 at 10:50 * 01 € ].€02 KEY-DATA.€&0€ONUM-KEY€ )€ €0AME-€1PIC X(€02 LINES-ON-SCREEN € €19(2)€ˇ02 MESSAGE-€§€7€3OCCURS 13 TIMES€w0€€ő04 S€€ ó €ł€ ő€0AME€ `€0X(€“€aT€7€aX(22€ä 04 €™ €E14€̀À€12€F 04 €$ €§10). €“€5LIST-DATA-MSG-KANJI,€ŸRecord S€c€. €§€Ş€Š€t.€Ę02 €}ś € PIC €}ś€Ť04 SUPPN€}ś€‚€“TAT€x €,1€LśRPL-€$ś€.€ś€]€\€'€q€łIPM-HEADER.€‘03 REPLY-C€ ¸€S9(4) €COMP.€Ě03 TRANS-€1;LOGON-ID €Y€^€c€h€Ę6€€kMF-ABORT-SW €€’€—€á1€Ŕ88 T€2€ 7VALUE IS "Y".€ ›03 FILLER €ë€đ€ő€ú€€ $02 ADVISORY-FORMAT.€ ä03 €ATTN-€ ą€Ž€ ­€M€2€€­€TEXT€} 04 TERM-STAT€ 1€ €Z€ 0-€L€ f€;68€ ‘€a€12 REDEFINES €{€K€ 05 TS-€Ž€ Ȁ˘62€r €05 CALLED-PROGRAM-€ë €€Ó6€ ä0€*žS€ Ž€Y.€ Š03 € — 0€΀™€€€ Š€0€™€ — 03 €™€ á€0€™€— €ČLI€ °OR€C Ž€ ű1€ ,ST€ Ҁ™ 05 C€ 41€™€1ST€倁 1€™€bP€ ż10). €‚-Ú9”SDB202@e * €*€F * €D*€NExamples and sa€ programs are for illustration only €.may €’€Nnot be suited €;your particular purpose. Tandem does €8€݀œwarrant, guarantee, or make any representa€™s regarding the €-€ęuse or €results of €*€f €Sex€or €€u€8p€$in €Œdocume€‹. You should verify €” €€†applicability o€ Œ€ľs€™ before placing €P€Ԁţsoftware into productive use. €‚€Š€’€𠀁" €?* *€H *€€}c€"€cNote that the UPDATE, DELETE and ADD functions to €(ERRORS €~€ątable are shown for educational p€as only - to €) th€ €˙capabilities of DYNAMIC SQL. Typically in a real a€Ť€n €€Menvironment, modifica€˜€Öan error-log t€Ç/fil€Ěnot € Nfeasible, since important informa€ň like €X messages €˜€ž€és€be saved.€€߀ĺ€뀁7€ú€€€ €€€€$€*€0€6 €U * ?SQL ?CONSULT $system.s€cobolex0 ?HEADING "SDB202 - ERROR TABLE MAINTENANCE SERVER" ?INSPECT ?SYMBOLS * / IDENTIFICATION DIVISION. * PROGRAM-ID. sdb202. €AUTHOR.€ Stibbs.€INSTALLA€Y. T€CComputers - CSS.€JDATE-WRITTEN€-56/01/07.€i€COMPILED.€}SECURITY.€˜ none.€¸€ťENVIRONMENT €ÖCONFIGURA€öSECTI€ő€ň €SOURCE-€sUTER. T16.€ő€ OBJECT-€“€ €5INPUT-OUTPUT €^€S€aFILE-CONTROL.€N€y€~SELECT €"-in €–€›€  ASSIGN TO $RECEIVE.€”€ż€Ä€ Fout €#G€ű €R€]€ŤTABLE OCCURS 5 TIMES € ŽSYNCDEPTH LIMIT IS 1 € ŃREPLY CONTAINS €-out RECORD. €ą* DATA D€ ŞFILE S€ˀŔ FD €k€ILABEL €^S ARE OMITTED €l€{ €—2 TO 2500 CHARACTERS.€™ COPY trans-req OF €ă.€ž €+€_ist-€0€ǀZĹpl €#Ĺreply-r€1WORKING-STORAGE€ ŤEXEC SQL €ƒ INCLUDE SQLCA €›END-EXEC.€ €@SA€@* include sqlda for output and input parameters * € €ˇDA (sdao, 7, nbuffo, 30) €h€ ̀&Pi, €Pi,€P/ €Š declare host variables€ƀĂBEGIN DECLARE S€# €€‚€VOKE =errors AS €Rtbl €e€Ę 01 ws-work-date.€i 02 FILLER €PIC X(02).€Ÿ€(02 €P-yr € ?€6€"l1)€lmo € Ť€˘€"؀lda €€* €Ö0€^time€^€x€-hr€_(€†-mn €Ӏʀ €”time-sc € PIC X(02). * * area used to build the sql source statement €2 €Q01 € € b€p€k768) €…VALUE SPACES.€~€LEXEC SQL €[€°END DECLARE SECTION €END-EXEC.€ž/ * ?SOURCE codecob(errws) €€!* declare€Öcursor for €élist and € next functions €_€ńE€Ľ€Ą€A_cur CURSOR FOR s1 € °€ 88 € I€€–Y"€„ 05 valid-request-€ ‚€Ŕ1€v 88 € 9€€€ vhold-date.€Sdate-numeric € €]6)€ 02 €6detail REDEFINES €L.€š 03 yy €€Ă2)€o 03 mm €€ů€6dd €!6€ yhold-time€time€,€6€ €L€ hh €/送0ss €U€ ˜out-€ =€y€؀€F02 € ƀـƀ ’/"€ Ѐ’m€€ €€I|d€d€ˆ€’out-€ b€h€ý€ԀŠ€3D:"€ €’€bD€|s€‰€ ̀ÖCOPY ws-advisory-format OF messages.€ NEXTENDED-STORAGE SECTION. * €:PROCEDURE DIVISI€€ 000-process-€Bfile. €›PERFORM 1000-open-€$€€ #2000€Uinput-€ €P UNTIL €ź. €s9000-close-€˜s€k STOP RUN€ ó €¨OPEN €Ú INPUT €î €€t-in € €OUTP€2out. €÷€€%* read a €ĺ, p€• it, and reply to the requestor, all in one * pass through this paragraph. set th€>€Kflag. €a€m lin€Gis €-in €0various routines€ €PERFORM 9800-read-message-in. €' IF NOT eof-€! € €O€L2010-initialize €F€uMOVE "02" TO reply-flag €l€›€˜2020-identify-input-request €ž€Í€Ę890€Ę€Xto-€,or €ĚEND-IF. * €ဠą.€ř€Žipm-header OF trans-req TO €pl.€;€ńN"€đtmf-abort-sw €L€1=errors" TO ws-table€ še€$-list-msg OF €€Ł €Ĺ €€3reply-€4€ €;€r€ÄSPACES TO €ˇrecord €ur€Tr€ţ€:statement.€]€0"€ěsql-status-sw.€ƒ€9Y" TO valid-request-€(€̀2€tEVALUATE €ƒcode €Ý €ü ALSO €ú€+ €WHEN 1 €A€€€J€ €3000-list-error€˝ €€b2 €˝€4 €ń310€bnext€g€MALSO €㠀X4000-add-€ȀŽ€a€Ȁb500-modify-€-€€Ć3 €ę €€4800-delete-€’OTHER €9€O8800-process-inv€Î. * / €* general sql return code handling €-€ŚEXEC SQL €š€ĎWHENEVER NOT FOUND € !€ô€ :9999-error-h€f€ END-EXEC.€? €zSQLWARNING € œ CONTINUE €ˇ€6gERROR€ €ę€)ŕ* display one occurance of an error m€1 *€O3€˝. €Ž€o3010-validate-€é€,20-create-col-names.€U30€)where-clause€Ѐđ3050-compile-st€ •IF €‹ok €T€83060€Hute-addresses €€€d3070-select-row €Ľ€o €8ERROR MESSAGE DISPLAYED" €ň TO advisory-text OF ws-a€format€ F € 3300-€$€…-data €ZEND-IF €n€€[30€éMOVE ZEROES TO list-shadows O€Óreply-r€ \€;maint€<€;"REQUESTED ERROR€"€R€ L€ťbuild the "SELECT col1, col2, . €FROM =€ę WHERE" * portion of €@S€?s€§€l€MOVE "€ ~comma-s€ V€Ą" TO €f€ ˙€F8 TO cn€ťSET indx1 TO 1.€ë25-get-col€ ź€@up BY €C€ †IF €-sqlcode €•list-record € - €€̀7q NOT = "N" AND "n"€ Ȁ Ÿ30€3E€żfsc€6ž€‰€ô€l˝€À ó€ y€B€­€6v€Ů €ţ€ž€ ń€^€ ż€"€E.€&€´STRING from-table€ cDELIMITED BY SIZE€Y INTO €N€ HWITH POINTER €ـËIF €aon€ €°add-comma€E €€ł€%€ˇ€F€ť€Á€4col-entries (indx1) €DELIMITED BY SPACE € !INTO statement € >WITH POINTER cnt. €^MOVE "Y" TO comma-sw. * / €€‡3030-create-where-clause.€IIF to-date OF error-list-req NOT = ZERO € ـ€ŃS TO tdateval OF mvp-€m € 3STRING ws-€m-19 €*€6€0IZE€ /€\€ą-yr €´€t€Dws-hyphen €ą€˝€¸€ˆmo € <€ü€̀Hˆda € „€ TINT€ ÁMOVE SPACES TO fd€ôIF reply-code OF trans-req = 1 AND €€ €t €÷1900-01-01" €#ŠELSE€ | €• €ƀ– key-date€7› €Ÿ €X€( €’€6Ľ €1 €ꀁş €$€/Ż INT€ €END-IF €źELSE IF €¨€5ô€€ô €%€ő€?[€ö€-Š€Sř€+€4ú€ǀm1999-12-31" €ôE€ r€ľ1901-€(ž€î€,ND-IF. * €˝IF to-time€6ďtime€ ď€m-hr€7Ťcolon€Ş€">€ő-mn OF € 瀁 §€wws-€Eˆsc €.ˆINTO t€}€ Ťt€#°key-time€Tą€&đ€Š€Sł€&ztime-€4ľf€‚€˜€k€5 Œ€k € Œ€}í €€w€S  € Œ€ \€€4˘€í€ô€ Ŕ23:59:59" T€ـQ00:0€"€F€j €=€*}€Muserid € W€>to-€: € ’TO tuserv€TMOVE key-€„TO fu€I€ €1ĚE key-userid OF error-list-req TO fuserval OF mvp-where €MOVE 99€ €€$TO tu€IELSE €X0 €k€/‹€ uND-IF. * €ÓIF to-sqlcode € NOT = ZERO € €; €Stsqlv€Rdbl-€Rfrom-€‡TO fs€JELSE IF €I€Ѐ†s€Ďsingle-€ $E€ffsc€1e€:€dfsv€ľ€c€„TO ff€H€a€Ëcord€ [€Efrom-€TO f€߀&sSTRING €ÇDELIMITED BY SIZE€ INTO statement €WITH POINTER cnt.€ATPERFORM 3035-get-and €€×dbl-sql €œ €Ů €Ý € ခ€:h€&äsgl€t䀁*€,(Őfs €p €­ €ą € ľ€Ԁ<€,Ś€$ˇsgl-€r ü€#order-by €送M"/ €|€ă. * €IF and-on €w€πliteral€Wüpointer €Ý * PREPARE and DESCRIBE the sql s€)*€]3050-compile-s€I. €×EXEC SQL € ę€is1 FROM :s€ †END-EXEC.€PIF sql-€lus-ok €B€o €ĐINPUT s1 INTO :sdai €‹ €NAMES €2nbuffi€ 4€° €ÖI€ł€j€&€…€‹€ ľo €@€ ľnames €ĺ€ło€2€g€ ˇEND-IF €˘€€ [€ĺ* sdao describes the output columns from a select s€m€N* set €6var-ptr to point to the host variable fields for each €e. * €-fetch will place €Bdata int€Pse€D.€4note: date and time (primary key) €Lalways be se€Ćed. *€ `3060-compute-addresses. € QMOVE 1 TO indx2.€<* display-date €O ENTER TAL sqladdr €M USING errors-€? € étbl€ /GIVING €`OF sqlvar € dao ( €— ) €łCOMPUTE €ą = €š + 1.€ů€˝time€7˝€?€B˝.€q€%žuser-id €Í €'~id OF error-€6~€'Á€ŤIF €Fsql€ Ý"N" AND "n" €› €n €rsql €ô €/v €z €Q€š.€c€ -fscode OF error-list-req NOT = "N" AND "n" €ENTER TAL sqladdr € €,USING €Ys-fs €htbl € Q GIVING var-ptr OF sqlvar€ dao ( indx2 ) € ŽCOMPUTE €= €&+ 1 €śEND-IF. €ČIF display-text €]€h1 €o€v* * €errors-text-2 (null) * €ő€ń€í€H2 €Vt€ /ꀁć. €Ť* clear the host variable elements.€(€ČMOVE ZEROES TO €tbl.€$€$SPACE€$€(€ǀ"4€€hdate €„ € e€ľime. * / €* SDAI describes the columns specified in €WHERE clause €E* OPEN €5CURSOR, FETCH €G€?€QINTO € ss, * and CLOSE €ƒursor *€V3070-select-row. €bEXEC SQL €€ü€™list_cur€q€ůptor :sdai €XND-EXEC.€lIF sql-status-ok €‡ €‹ €€ €€€”o €ě E€˜ € €› €* €€~€3€z€‘IF €’N€>*€glist the next error message€ €‡3100-list-next-e€'.€ěPERFORM 3110-validate-€ 1020-create-col-names.€F€Z030€)where-clause.€r€†050-compile-statement.€œ€0€Ď060€Iute-addresses €ä €ü20-select€&row € €§ MOVE "NEXT ERROR MESSAGE DISPLAYED"€ Ć €TO advisory€ ws-a€format €Ÿ€7 €ť300-€&€ŕ-data €Đ END-€S€0€!€żlist-shadows O€Ňreply-rpl€ րúmaint€<€;"END OF SELECTED €pS"€ -€ _. * * The key of the last selected row is returned to €%server. €=WHERE * €Ô s€ňs €W>= so€5€^first €ßwill €Z €zrow * s€and €—next€8€s €Ž€row.€ÍO€Jcursor,€GJ. * €d€ @€"P list€}Q €h€ € V€ހ倁!Q EX€\ €€쀁€)€ ހf€m€ ـVEND-EXEC€ ݀q€€˜€D€¨€˝€g€zIF. * € €’€Ż.€'* date €2€ đMOVE € mdate OF error-tbl TO ws-work-€€USTRING € :€--yr DELIMITED BY SIZE €0mo €)0da €`INTO key-€ ׀4€ꀽ TO yy €OF date-detail€ I€)-mo TO mm €€(?da TO dd €€~yy €   TO out-y€ÁOF €date€MOVE mm € ܀ ws-hyphen €€ ‚ € date-mo €ˆe-da €)INTO € 1€Ë€ ‹tbl€ ëSTRING €time-hr€ }€ ş ws-colon€;{€†mn € €@ €J†sc € ‰€ƀxtime€ t€xMOVE €w€ ¸ € óT€Äid €€Ms€3req €Msql €!Mfscode OF error-list-req TO €s-fs €"tbl. €MOVE maint-text €M€$1 €o€Minsert-statement TO s€ .€{EXEC SQL €Ž PREPARE in_oper €Ź FROM :s€] €ĘEND-EXEC.€ހc€zUTE€cUSING €# €:errors-date€stbl TYPE AS DATE, €^€ ;time€Ž€;TIME€;id €étbl,€isql €&.€ #€\text€ €P€†* / * 4500-modify-error.€ †ZEROES TO list-shadows €Ýreply-rpl€ Á€;€ˀ<€€;PERFORM 4605-validate-€-num.€'IF sql-status-ok €Ő €€J30-test-null-€ď.€oIF v€i-request€Ŕ€L€’700-do-€•-€6€ €˜€ MOVE "ERROR MESSAGE UPDATED" €œ€ǀĎTO advisory-text OF ws-a€format€z END-IF €ě €. €€fSTRING ws-date-19 €DELIMITED BY SIZE €c€-€ҀFyr € €Cws-hyphen €… €*†mo € Ľ€ɀJ†da € +€OINTO e€ř€jtbl€H€ť€Jime-hr€3xcolon€w€$xt€†mn € €Aws-€G†sc € Ł€ǀx€Č €  xM€Ŕuserid € msg T€Ăi€€ ÁE€ŽSELECT €Ž€_sql€ˆ€3_fs,€ €P_text1 €€čINTO €1€ű€{sql€p× FROM =errors €Ő €WHERE€ † €:_date = €A€ łtbl€@€ ÍAND €_time€Gt€€ ú€GTIME€ €Gid €Ži€€ Atbl€΀ 2IF € CONTINUE€”ELSE€ Ł€{20-report-not-found €2 END-IF€F€M6€7.€ ×"1" TO date-s € $reply-msg.€ €1time€#1UPDATE FAILED; E€fNOT FOUND€hTO €`.€:€VMOVE "N"€î€_-sw.€ íIF € ësqlcode€Vlist-msg €´= € ‹ € ş €€k€@TO €/sql € ˜€W€R€´Y" TO € -sw € 3€y€€ ˛€Ĺfsc€Ä € ý€&ŀ@€ = :s€„ OF s€ľ€9ORDER BY €V €€\FOR BROWSE ACCESS €ćND-EXEC. *€BDame €Bame) €Y€/Vame_€RW€瀁€‰st€}&€˘€&ame €'€ €&(ame, s€ĺ € d€U€j€f€;€/€ɀ$m/ € spositions for a list next on the €´lier * ta€ €É€ n€ ż €'Ńnext€}Öe €}Ö €€GÖ > €|ր:came € ame) and s€ T€€ * € B -- in case there are duplicate names *€)z€Šame€}) € €}O suppname,s€ Đ > €Yame €Z,€ €€ž €&Ÿ€‹€4w ,€ł€ §€ž€$倁x €×0000-process-message-in-file. € PERFORM 1000-open€"s.€#2000€Sinput-request €P UNTIL eof-€x.€s9000-close-€–€ tSTOP RUN. €@€˘OPEN €Ô INPUT €č €m€ €€OUTP€2out.€ŽCOPY p€`€ OF codecob.€ž2010-zero-largest-reply.€‹MOVE SPACES TO €{-list-data-rpl.€ź€1ZEROE€1r€Q-code €îO€ ^€ D,€ Ÿtrans-€:Dlogon-id €t€0ˆs€Ś-key €0Ělines-on-screen €€ T"SUPPLIER" TO ws-tabl€7MOVE "00"€!sql-status-sw. * €  2020-identify-i€8. €# EVALUATE reply-code OF trans-req €ALSO €€+€7WHEN 1 € D€P€H€€mPERFORM 3000-list-supplier € Ž€š€c2 € Ŕ€̀c10€cnext€6h4 €(€4€Ë50€ Ë-group €_ €45 €‘ €€451€рn€&ALSO €ť€r€˘4000-add-€Ą€ˆ€b€Ą4500-modify-€€í€Ç3 €ƀ 54800-delete-€kOTHER €€ …8800-process-invalid-request. * * general sql return code handling €'€|EXEC SQL €WHENEVER NOT FOUND € ! €O:9999-error-h€f€ßEND-EXEC. €d€wSQLWARNING € ™ CONTINUE €´€3dERROR€ t€)€&Ú* / * € a.€ýMOVE "02" TO reply-flag.€ €#ipm-header €: TO €pl.€c€fN"€etmf-abort-sw €†€ 1€10-validate-€'€ĆIF sql-status-ok €ű €€ĺSUPPLIER DISPLAYED"€őadvisory-text OF ws-a€format €J€O€ť300-€"€˝-data €z€ELSE€€’€s1"€s €Ż€´END-IF. €MOVE ZEROES TO shadows OF s€\-maint-r€ŸREQUESTED S€*€r" €M€RTO €6.€d€š€…num €list-req €°upp€ € Ť€Éname €Հ E€ !€ńIF l€tby-s€p-€€ E€› SELECT s€˝,s€Ĺame,street,city,state,postcode €™ € INTO :s€ €ˇ, €Ě €€3€ €3t€ž €€fcity €P€™tate €ƒ€Ěp€%€ခ  FROM =s€ 7RE €š = €\€€ nFOR BROWSE ACCESS €J €E€E €a€ELSE € [€§€ oE€÷€n€}\supp€ q€€}\€Ź€´ :€Q\ame €]€ €p€ ̀1^€a €¸INVALID LIST FLAG; CONTACT SUPPORT"€𠀁 ˝€ óGO TO 9820-reply-fatal-error. € r€ p€}w€#w11€ w€ ;. € X IF s€xNEXT S€ }€S € W€v€ W€!#€8”NO MORE €?S FOUND€4 €MOVE suppnum OF € lier-list-req TO € . €A €Dame €E€ !€FIF l€tby-s€ €x EXEC SQL € €OPEN €S_next_by_s€č_cursor €€3END-EXEC €ـJ€aFETCH €ľ€"b€™INTO :s€v €w, €W € €3€ e€3treet €݀fcity €€™tate €C€Ěpostcode€1€;“CLOSE list€3őELSE € €ـ;Žame_€A €€d €€3’ €ƀ ř€Ć :st€*” :€,•€h€*– :€g—€&ţ€ ˜not-set €ľ€ %MOVE "01" TO sql-status-sw €Ć € )reply-flag €ě €OCANNOT LIST NEXT WITHOUT PRIOR €; USE F4 TO €(" €5 €TO advisory-text€Îws-a€format €lELSE €{€F€ŢINVALID €FLAG; CONTACT SUPPORT€?~€ľGO TO 9820-r€"atal-error. * €3300-€ż-supplier-data.€ :CORRESPONDING s€,€žTO €-record €Źmaint-rpl.€ –€"\old-€¤€`* / €ć4000-add€?€ "02" TO €N.€ ;ipm-header OF trans-req TO €€老6-€ msg O€̀!eq€>TO €n€8€ Y"N"€Ötmf-abort-sw €˝€ŠPERFORM 4100-validate-€6IF €Łok € i €M200-do-€P-€ ƒ€…€"rMOVE ZEROES TO shadows € A€b€Ř5-€ Řmod-fields.€410€'€ Ore€ű €'TO els-in-€†.€ ­€9920-eliminate-leading-spaces.€ ހNout-€Ő TO suppna€  €ą€ †pl. * € 4€ʀ e€+€ €­lier€ ľ"SUPPLIER ADDED" TO €. €”EX€ INSERT €ź INTO =s€€ „ VALUES (:€* :s€ ”€ Q:€*ˆ:€* :state€% :€  ) €E€ §.€„I€3MOVE €f €Űlier€j€o €+c€#q€ÖE€ú999 TO €Žc€ Q€Epl€END-IF. € Ă500-modify-s€Š€ Ţ"€}ƀ܀ € €s€cmaint-m€pl€" MOVE CORRESPONDING supplier-record OF €maint-rpl TO €). €€Pold-s€Tmsg €G€O€W €‡eq TO €`€ ‹"N" TO tmf-abort-sw OF trans-rpl.€źIF€énum €ô NOT = supp€€Ń €ű MOVE "UPDATE OF SUPPLIER NUMBER €LALLOWED" €6 €TO advisory-text OF ws-a€format €m€7€r01"€çreply-flag€LELSE €˘€lPERFORM 4600-validate-modify-€Ź€ ŰIF sql-status-ok €ő€ż €W700-do-€Z-€WEND-IF €B€. * €W€Ľ€ |ZEROES TO shadows OF s€Óm€Ŕ€ř€105-€add€ť-fields €、=30-test-null-€>.€¸€ €,€pl€l= €a € Qrpl €˜ €ö40-report€ť€"€é"1" TO s€-s€l€!€Żs€Psw.€ F€GREJECTED; NO CHANGES WERE SPECIFIE€ LTO €H. * / € 4€ś€ ä"S€ŰUPDATED" €%x€.EXEC SQL €A €Q =s€‰€ d SET € 3 €suppname = :s€ €, € j€7treet €7€ €9€8city = :c€ €p€oate €Śt€ €§€Śpostcode€Ýp€ €ހ Œ WHERE€ ü €s€Đ €*um OF €lier€ Ý AND €d€老  €:t€ gOF €"€ Q €t€i€\€ ‹ €Žt€l€–€ ŀ8€m€΀ýEND-EXEC. €ˀ2€{€ V TO € G€öE€ ű€Çnot-found €‚ €MOVE 3 TO €Wcode OF €<€ _€5€Y70€Ksupplier-num €ë €˘€}€|999 €%~E€H€态倚.€ť€ü€#OF s€Âre€ €oTO €c€@€ +"00" €,€[€ E€#SELECT €ŀ T INTO €€؀€ ą FROM =€mWHERE €0=€Yum€ %€ E€, € 710€™list-again €E€ Ë720€Őprevious-delete €^€IF€ ]€s.€ƀ ӀWéRECORD €ÜD SINCE PREVIOUS DISPLAY"€ 0TO € ,€䀁ހ .€´€ Á€W׀9DELETED BY A €ďTRANSACTION; YOU CAN ADD BACK"€ 5€# € ë800-€-€€ Ć"€ U.€ÝMOVE ipm-header €eq TO €€ p€C€Z€ ›msg €p€ ą€T € & €•€ ր;€ 䀡"€%€老-€" TO€­€ Z€ 80 TO cnt.€EE€ # €€ COUNT (*) € T €€cnt€D €FROM =partsupp € WHERE suppnum = :s€ OF €lier € 3FOR REPEATABLE ACCESS €WEND-EXEC. €kIF cnt = 0 THEN € …PERFORM 4900-do-valid-delete-supp€ †ELSE € ČMOVE "CANNOT DELETE SUPPLIER; € /PART RELATION EXISTS" € TO advisory-text OF ws-a€format €JEND-IF. * €_€Ę.€€¸00" TO sql-status-sw.€?€ŢS€Đ €ŕD"€4€Š.€‰EXEC SQL €€2€ T €=s€ „ €€)AEN€NOT €ţok €§MOVE 999 TO reply-code OF trans-rpl €ŮELSE IF €Pnot-found €€8D€1FAILED;€/ €—FOUND"€H$/ * * reset Sql return c€Öhandling €%€ŽE€şWHENEVER€Ź €⠀a:4950-€ E€˜*€Ā,.€΀m01"€ľ€?5000-list-s€Â-group.€€ś03" €Řflag.€:MOVE ipm-header €óeq TO €pl.€}€C"N"€etmf-abort-sw €?€1€5200-validate-€Ěfirs€ҀȀl€ ž€ŕ5210-format-supp-group-data €ľEL€ ŢIF list-by-€8num OF s€-l€req € úE€đ €CLOSE €\_by_suppnum_cursor€ ÷€3E€ž €cE€p€ ¤ame €UĽame_€0Ś€ 6 MOVE "INVALID LIST FLAG; CONTACT SUPPORT"€ ' TO €(+ €GO TO 9820-reply-fatal-erro€ zEND-IF €׀ˇ€„r€Blag €ý€7€•510€’next-supplier€}— €'—3110-€—€р^€€ T€v5300-€.–€:€€ƒ€ô 5€"XMOVE ZEROES TO shadows €ümaint-r€ňO MORE S€ S € ĚTO €쀁C€•s€+€‡ €Ť€K€§€ ÷€D€'€E€ H€ =€0E€  OPEN list€END-EXEC€  € _ FETCH €!] €INTO € “ €ô, € ć €€ ƀ ‚€3treet €Z€fcity €€™tate €Ŕ€Ěpostc€ îs€´€ “€ ŽE€ €8€!”E€ % € "€‹E€+# € $€ę €€3& € 퀁 Š€Z :st€*( :€,)€h€** :€@+not-set € cMOVE "€ € †€ )€Ż €O€ĆLIST NEXT WITHOUT PRIOR €; USE F4 TO €(€  TO advisory-text OF ws-a€format €ELSE €€MOVE "INVALID LIST FLAG; CONTACT SUPPORT" €G€O€-~€†GO TO 9820-reply-fatal-error. * / €€ł5210-€Ĺ-supp-group-data. €ÖPERFORM 531€/key-€ (€ëSUPPLIER GROUP DISPLAYED"€ ခ [.€†220-fetch-€´lier-€˛ €ą VARYING screen-index FROM 1 BY 1 €ŕ UNTIL €ô €€ ?> max-lines-on-s€[ €)€5OR NOT sql-status-ok.€QIF list-by-suppnum OF supp€Îl€req €ƒ EXEC SQL€ĽCLOSE €R_by_s€R_cursor €Ç END-EXEC €ÝELSE € ‘ame €K’ame_€'“€}F€F€REND-IF.€+SUBTRACT 1 FROM s€~ €R GIVING l€N €  data-rpl.€’60€Áempty-entry €ź € € € ­ €$ €Ó €.€ h€ł€e50€”lier-€Ö.€“€/B E€C FETCH list€D €INTO :s€Ă €Ä, €? €€4€ f€4treet €,€hcity €`€œtate €”€Đpostcode€6€{ E€G| €(̀~ €€3̀˙€ 1€˙:st€*Ę:€,É:st€*Č:€4ǀ}ö€ö€E€°€ 300€} € b€ €/<€.OPEN list_next€B €dǀ™€I€š€} € € œ€š€ K€ u2€} } Ť€ ˛€HxE€ †€I€} ů-€˝ G€?€ K€I€ú€} ů€K ů €UNTIL screen-index > max-lines-on-s€. * / € €=5310-format-key-data. €€]MOVE suppnum €nOF €lier €( TO €(-key €(-list-€[-rpl.€_ame €_ame-€`€‡€ _* €Á5320-fetch-supp€ł-€ áPERFORM 5350€ €-entry.€IF l€Ěby-€Rnum €€čreq €A EXEC SQL €X €FETCH €T_next_by_s€n_cursor€d€6 INTO :s€›€—, €Ŕ €€4ame €ˀ4treet €˙€hcity €3€œtate €g€Đpostcode€Ѐ› END-EXEC €ÚELSE € Ѐ €š€?Ńame_€Ҁ3р€'Đ:st€*Ď:€,Î:st€*Í:€4Ě €ľ MOVE "INVALID LIST FLAG; CONTACT SUPPORT" €í €TO advisory-text OF ws-a€€. €$€7GO TO 9820-reply-fatal-erro€ĂEND-IF.€ †€}€Œ€ˆ OF message-data €؀ë€ń €(s€!€Ź (s€T).€€ K€€o€[Ž€ ր ¤€ú€Xc€ ˙€ 2€$€YŞ€ Œ€ Ŕ€°€X8p€łTO €$€Jƀ"60-f€˙empty-e€ óMOVE SPACES €  TO €\ OF €0DZEROE€ \€ t€ À(g€ ęCOPY process-invalid-request OF codecob. € ?8900€Îto-€+or.€ IF reply-€ `maint-rpl € E MOVE € G TO €n€‰€€Ž€O€ ˇ9803-write-€ ă€ƒ€î€ Ž€ ™€"˛€ ů €€ ü€ € }9804-€Ć-€ 0€I€´€ttrans-€ k€ Ó9810€Ž€+ELSE€ 5€ 9830€Čnot-set€Ä 9000-close-files.€ @CLOS€ f€“in € i €Źout. € ŠCOPY read-m€Ňin €ˇ€*WRITE-€" €á98€=€ §2 TO €îco€ n-€ö€ ݀„ €Y€.€c98€ů€ )3 €:‚€ ‡€ (€\ply-€T€2€ခE€ ěFREE RESOURC€IE€ š. €MOVE "Y" TO tmf-abort-sw OF t€ő€G€ Ĺ98€ ň€o€ í9€˛STOP RUN. €H98€ .€8Ž€ßREPLY NOT SET;€ —TO € “dvisory-format. €PERFORM 9802-write-trans-rpl. * €+9840-reply-file-open-error.€M0-read-message-in.€uIF NOT eof-€! €• MOVE ipm-header OF t€˜eq TO €pl €Ú €E"Y" TO tmf-abort-sw €N€ 3€20€ńatal-€í €9END-IF. * / € COPY eliminate-leading-spaces OF codecob.€9* sql error handling routines €a*€‡999-e€)-h€).€‚?SOURCE €^(sql€˛€() €Ş* end of source €Ž €Ă?NOLIST €Ď€‚‚. ŻÎSDB206@e* *€*€F * €D*€NExamples and sa€ programs are for illustration only €.may €’€Nnot be suited €;your particular purpose. Tandem does €8€݀œwarrant, guarantee, or make any representa€™s regarding the €-€ęuse or €results of €*€f €Sex€or €€u€8p€$in €Œdocume€‹. You should verify €” €€†applicability o€ Œ€ľs€™ before placing €P€Ԁţsoftware into productive use. €‚€Š€’€𠀁" €?* *€H *€?SQL ?CONSULT $system.s€cobolex0 ?HEADING "SDB206 - PARTS MAINTENANCE SERVER" ?INSPECT ?SYMBOLS €v IDENTIFICATION DIVISION. €! PROGRAM-ID. sdb206. €AUTHOR.€‡Stibbs.€INSTALLA€Y. €(Computers - CSS.€JDATE-WRITTEN€-56/01/07.€i€COMPILED.€}SECURITY.€˜ none.€¸/ €ß ENVIRONMENT €ŮCONFIGURA€ůSECTI€ř€ő SOURCE-€uUTER. T16€÷ OBJECT-€”€* INPUT-OUTPUT €\€ FILE-CONTROL.€N €SELECT message-in €T€€'ASSIGN TO $RECEIVE.€’€Dout €™€d€l€E€Á€ŒR€Z€ŚTABLE OCCURS 5 TIMES €ý€ČYNCDEPTH LIMIT IS 1 €ç REPLY CONTAINS €ňout RECORD. * €ĐDATA D€ ˘FILE S€Ŕ€‚ FD €BLABEL €^S ARE OMITTED €š€{ €—2 TO 2500 CHARACTERS.€™€ĚCOPY trans-req OF €şs.€ž€ń€%parts-list-€*€¸ €U€0maint€1€í€Zđpl € đ€~ COPY €ö€ƀ&1list-data-r€fWORKING-STORAGE€ * include sqlca and sqlsa *€Ť EXEC SQL € INCLUDE SQLCA €END-EXEC.€“ €@SA€@* declare host variables €BEGIN DECLARE S€𠀁ž€ Ľ €ßVOKE =parts AS p€ €€ č€%Cold-p€P€1Gerrors€‹err-rec €Ž€u€Đ01 cnt €PIC 9(04) €(VALUE 0. €öEND €W€_?SOURCE codecob(errws) €W01 switches€€ł05 eof-m€Ü-sw €̀ťX(01)€ ť"N". €˘ 88 € I €€"Y"€F05 validate-status-€ PIC X(02).€ |€ 9ok €€€}"00"€ À €failure €̀Ä"01".€Ç01 ws-shadows€y 02 partnum-s €€Ü1)€܀6desc-€7€€6€A01 max-lines-on-screen€€’2)€’13.€“01 s€;-index €ˇ9(€“€ÂCOPY ws-advisory-format €‹01 els-working-storage.€^02 €!fields€ ̀C03 €= :p€) OF €€7ORDER BY €9 €Q €FOR BROWSE ACCESS €uND-EXEC. * * this c€[starts a select from the €¤s table by *€ßame (partdesc)€3ހ>_€}߀@ €€@߀ €ßdesc €ŕ ) €€ż€â€/, €%€7ě/ *€ ňpositions for a list next on €ú * €ý part €<Ůnext€}Ţ €Ž€=€E€KŢ €y݀3뀁ĺ and € * €ŕ -- in case there are duplicate names *€)€,desc€},€k€s€@ p€I,partnum >€4€2,:€*$desc€FB 0000-process-message-in-file. €äPERFORM 1000-open€"s.€#2000€Sinput-request €P UNTIL eof-€y.€t9000-close-€—€ uSTOP RUN. €Ž€ŁOPEN €Ő INPUT €é €m€ €€OUTP€2out.€Ž€.€ _9100-read-€Œ€MOVE "PARTS" TO ws-tabl€ŤIF NOT €X€ ŀÎ2030-execute-€Ť€ €%€ VALUATE reply-code OF trans-req €L ALSO €€+ WHEN 1 € €€H€€!€ś3000-list-parts €؀H€a2 € €z€‚€310€anext€3f4 €p€ŕ€老}320€Ç-group €Ľ€€.5 €׀G €€ä330€.€̀l€ ALSO €ł€ l400-add-€™€€€`€™500-modify-€ü€ă€Ă3 €€v€/600-delete-€_OTHER€ í €`6001-€invalid-request€V€ ˙general sql return code handling €ŸWHENEVER NOT FOUND €ô €€ü:9999-error-h€f€N€ ’€€wSQLWARNING €l€bxERROR€ {€ę€&î* € ” 3€l€"IF list-by-p€O€!-l€€ (€x3010-€$€=€2ELSE € _desc€ Ą€`20€ `€> €ELSE €€PERFORM 6002-illegal-list-flag €-END-IF. * €B3010-€*by-partnum. €^MOVE "00" TO sql-status-sw.€ &p€> OF € s-€req TO € .€dEXEC SQL € ŐSELECT €W, €`desc, price, qty_available € INTO :p€Ő €€, €B€ €0€g €€̀0€ €- €ý€`qty-a€ś €- €Ń FROM =parts€ WHERE €w= €뀁‚€UOR BROWSE ACCESS €JEND-EXEC.€IF €öok THEN €~€}6-part-found €ŁELSE € Jnot€ ' €Ę3-€M€*€Q€7-bad-s€­€\€ă€ 20€desc.€4€? €€]€€}€T €:partdesc€}€#€°€€źof part€:F€L€š€}600€!/ € 100€ next-parts€¨IF list-€*€ ě €™311€g€[€l €ɀ&€ddesc€ O€e2€̀Ŕ€рC €/EL€ >€Řnot-set € Ā Ř €u8-l€€A € €u €#ˇ END-IF €ů€€̀ƀk€}× OPEN list_next_by_partnum_cursor €Ű€ó€ ‘E€-FETCH €"W €INTO € I€€)6€)2:price€#4:€3EN€/ş € 89-€ő-€?Ŕ10-€G-n€ ďE€ Š€ Ȁŀ € BCLOSE €+l€ 1€P€t! €?desc_€@ € E€ c€6€N€Ž€}7€}7 € n€}6€ € ű€I€ x€6€c€Ł* €M20€Mparts-group.€Z€6N210€ ľ€GI22€ €D€5‚€̀ ‚partnum OF parts-list-req TO €€. €EXEC SQL €€OPEN list_by_par€]_cursor €=ND-EXEC.€QMOVE "00" TO sql-status-sw.€w€&0 €#creen-index.€™PERFORM 3350-€Îby-p€Š €Ŕ€ČWITH TEST AFTER €ހćUNTIL€ ߀ţs€y = max-lines-on-s€• €'€/OR NOT €Řok.€O€ś70-fetch-cleanup.€uCLOSE €&v* €Ę3220€%desc.€çMOVE part€ O€&€7€€.'€x_€q(60€(desc €é €}) €€߀?)€í€x* / €0300€Unext-parts-grou€§IF list-€y€ ` €K€Ű€ś10€śELSE € _desc€ š€`2€ ń€î€a € ›€Înot-set € € Î €ˆ6008-l€€A € ý€Ö€ u €Ę6002-illegal-€Jflag €AEND-IF €V€. €ꀁ [.€Ҁ뀁Pnext€}55-list-next-€} €b€&€€3€ .€g€6desc€s$5€ 7€€})€ *€PR€¸€‚€ .€ ƒ€rE€ DFETCH € E €INTO €N€:partnum €,€ż, €}€J€/desc €\€î€/rice €ˆ€ €^qty-available € L € E€ IF € ok THEN €=ADD 1 TO € ›GIVING € Ż €u85-move-part€€‘IF€D€@€I€ ׀Ӏ €Ԁ%Đ:part€ Ě:p€#Č:€} 9€ ʀ ÷€ ú€#€— €€}ž€‹€ ť€ü€}ž€ €$ž6€§€ Ӏ v FETCH list_next_by_partdesc_cursor €INTO € €:partnum €,OF parts, € >€J€+€a €X€+rice €€€Vqty-available € €žEND-EXEC. €ŇIF sql-status-ok THEN € ňADD 1 TO screen-index GIVING € €*PERFORM 3385-move-part €O€‘IF. * / € 3370-fetch-cleanup.€˛not-found OR € Ę €ˇF € ż= 0 € " €ł6010-next-€ł-€f € UELSE € h MOVE €-TO lines-on-screen €"-list-data-rpl € ś I€ ş< max-l€ O € î €€ƒ75-format-empty-entry €$€6€>WITH TEST AFTER €N€`€hUNTIL €= €"ŁEND-IF €Ş€ź€;0-move-first-keys€Ҁ ç6017-parts-listed€ °€ p€ Á€ś6007-bad-s€ € L€ť€ľ€b.€l€#H.€ĄMOVE ZEROES €ŇTO partnum OF message-data €ů€ O€“€q (s€Ö).€€{SPACE€{desc €#|€3}€řrice €!ö€2ô€oq€ `€u€‰€"{* €ľ338€ ÷.€śMOVE €˙ €č1) €€A-key €.€+€u€ů€+vdesc-€w€ €=.€ť€ parts€ď €b$€z€€†€]/p€€ €Z7€ !€’€`G€O400-add-parts€ GCORRESPONDING p€$-record €2maint-req €w€ G€č400€ivalidation.€ kv€e-status-ok€ ŚMOVE "00" TO € ™sw €ĎEXEC SQL €ć INSERT €˙ €INTO =p€ +€ VALUE€l € ( € Z€ €% €V:partdesc€ €Š:p€# €ž:€ "€ é )€2 END-EXEC € \€ E€ { € 6011-part-adde€  € P€ I€“ €Ą€ Q€˛€ c500-modify-€RMOVE €^old€†€b€'€ô€ N4001-€ť€4i€ œ510-test-null-€. €Š€ €IF €4= € ‹ € € Ŕ€ M6018-report€ł€ ĘE€ •€>WUPDATE €WHERE €h€  € rEN€R.€态 O €Ą€F9-report-list-again €ÎE€ F€‚4-previous-delete €€–IF€›/ €Ą600-€--p€ý.€ œCORRESPONDING parts-record €o-maint-req TO €#€ G€ăMOVE 0 TO cnt.€ "PARTSUPP" TO ws-table.€IE€# € COUNT (*) € -€7cnt € I€)upp € j€f€Ş€ bp€ vE€ B€(PARTS"€€ ľOR €ƀ^ T€ ÍIF cnt = 0 € €ë3610-execute-€ h E€쀁,5-partsupp-conflict€ kE€ q€U€|0€€I€”€Ŕ€H€7‘DELETE €M€ƒpart€ {€IF€Ş€Ś6-part-€ €Ľ€ ľ€ [€€€… €€Í € ND-€Ű* example handling of unimplemented request €Ź700-bom-parts€€ĺ00-process-u€N-r€G. * €Y* v€›ion € 4000-add-€¸ion.€€I4051-€Űdesc.€_€H1-modify-€€ KIF €O€ ż= €fO€ (€̀„ € U€ ခČ1" TO €e-status-sw €= € 720-key-€Ń €c€Հ@€€ ë€řdesc €â = SPACES €ž €w€-Ż12-blank-part€j€0"€MOVE p€Y€ĂTO els-in-field€ Y€ ‚9920-eliminate-leading-spaces€ €i€Tout-€U TO € z€ G€€ ڀ?* reply construction and execut€logic *€ 6000-€?€ ˛MOVE "UNIMPLEMENTED TRANSACTION CODE" € TO advisory-text OF ws-a€format€T€ ˇ7000-build-error-rpl.€ ž€ ß8000-write-trans-€(€Ú1-€invalid-€€ €ŰDEFINE€׀×2-illegal-list-flag.€ žINVALID LIST FLAG; CONTACT SUPPORT"€}°. €Š3€ Ž€ r. €߀‚REQUESTED PART NOT FOUND"€}|. * 6004-sql-warning. € MOVE "A SQL WARNING OCCURED; CONTACT HELP DESK" €R €TO advisory-text OF ws-a€format.€nPERFORM 7000-build-error-rpl.€–€(8000-write-trans-€(*€Ů5-€Ů€E.€׀Ni6-part-found.€ APART DISPLAYED"€9'MOVE ZEROES TO ws-shadows.€ş€L1-€L€˘s-maint-€R1-€R€Đ€ .€X7-bad-sql-status€zIF s€-€U €l€ €ꀁ |€'ELSE €˘ €€ 600€Ů €ǀ%END-IF. * / €€â8-list-by-not-set€x€ćCANNOT LIST NEXT WITHOUT PRIOR €; USE F4 TO €("€}ń.€Ę9-next-€N€ÜP€}’d-part€@’10-€ůnot-€ŠNO MORE PARTS FOUND€:P€Jś11-part-added€MADDE€}I€:I12-blank-€ńdesc.€ }€PIC X(01)€ dpartcost-9-b €l2)€š02 €3x REDEFINES €J € ś€ ĀҀš9).€mEXTENDED-STORAGE SECTION. €$ PROCEDURE DIVISI€€z0000-declare-cursors€Í* this c€ starts a select from the partsupp table by * supplier number (suppnum) * (not allowing any null values to be returned for €c€Ö EXEC SQL €ADECLARE list_by_s€x_c€Ú CURSOR FOR € 8 SELECT € Q €€çnu€Í, € s€"descrpt,€#s€ber€Esupplrname,€gprice€!qtyreceived €€ĚFROM =view207 €? WHERE €Ź = :s€Á OF €ň €{ ORDER BY €ę part€; €­ FOR BROWSE ACCESS €ŃEND-EXEC. * * t€3parts €p€‘€0supplier)€f €!p€ €} €Ěn€Հ}€€F = :p€U€"€„, supp€ö€7€‚€–positions for a list next on t€. * t€1 €S nu€. and €ź * (€7żparts€" €Lnext€}Q € €ˀ–supp€}QE €v,part€L > €Z,€c€ ţ€ €*€,€P €0 part€¨n€)4supp€1§€뀁}Ź€ď€Ń€}Ź€ €ľ€-뀁)‹€Ž€7Š€ |* t€ p€úfirst group €M, a€ Fnu€ B * € o€ A €DECLARE list_group_by_suppnum_c CURSOR FOR €6€?SELECT €€_partnumber, €;€€"descrpt,€#s€‰€E€"lrname,€gprice€!qtyreceived €ĺ FROM =view207n €  WHERE €Ż >= :s€G OF partsupp € F ORDER BY €î €? € y FOR BROWSE ACCESS €žEND-EXEC. * * this cursor positions for a list first group on the €Ż* table by €Ä number (p€ŕ) and supplier € * (suppnum), not allowing any null values returned €’€H * €pEXEC SQL € €źp€x€}ꀁ€supp€Wꀁ ť €S €€šp€­ >= :p€ꀁš€¸€>, €Ônumber €Á€n€$ˇ/ *€˝next€ꀁ Ą €ž and €˙s€Ú * €Ý, a€¸€´to be €şparts €ľ€'€ˇnext€}x€€s€źber€˝€jꀁw€ v,part€u > €,€€€€! €*€> €Z€7* t€ǀ! part€ě €3ƀ€ supplier *€)Ȁ€}Í €€}€ ˆ€Í,supp€Ž > €Ȁ/€ ـŘp€–, €Z € Q€$׀ MAIN SECTION. €p0000-process-message-in-file. €{PERFORM 1000-open€"s.€#2000€Sinput-request € ËUNTIL eof-€x.€s9000-close-€–€ tSTOP RUN€Ҁ˘OPEN €OINPUT€ ›m€ € ČOUTP€2out.€`COPY p€`€ OF codecob. * €Ě 2010-zero-largest-reply.€‘MOVE ZEROES TO partsupp-list-data-rpl.€€1"00" TO sql-status-sw.€čIF r€k-code OF trans-req = 1 €Ÿ €IF€€-4 OR 5 € 2€:IF l€Ľby-partnum€ ú€Áreq-null € q€yNSPECT €ö€0@€ÁREPLACING LEADING SPACES BY zeroes € î€öEND-IF €€ €&.€?IF €W2 €WMOVE p€ €OF €árecord €€maint-req €¤ €num €€M€ g€ys€ € ,-€0y€M€ ŕ€ňcost €Ś€@ň€M€ YMOVE qty-received €krecord OF partsupp-maint-req € TO qty-received €6 € ,MOVE €Rnum €EOF old-p€fre€}€%y€Ÿ€M€}suppn€D}€M€úcost €@ú€M€w€ Ł€7w€ đ€ôEND-IF. * / € 2020-identify-input-request. €^EVALUATE reply-code OF trans-re€ ‰ALSO €€+ WHEN 1 €o €€H€€!PERFORM 3000-list-€ꀁ ě€O€d2 €ě€}€…€d10€dnext€6i4 €U€ć€î€Í50€ Í-group€ ż €75 €ż €€751€Ӏo€)ALSO €ż€w€Ś4000-add€a€ ‘€¤WHEN €Œ€c€Ľ4500-modify-€ǀ ÷ €f3 €÷ €€o4800-delete-€-€ ]€8€ĚOTHER €H€Q8800-process-invalid-€…* * general sql return code handling * € EXEC SQL €€ËWHENEVER NOT FOUND €4€쀁V:9999-error-h€f€pEND-EXEC.€&€wSQLWARNING €Ź€d€΀RxERROR€ ‰€D€&î* €@€ |.€7MOVE "p€¸" TO ws-table.€^€'02"€!€bflag.€€Jipm-header €} TO €pl.€ĀN"€†tmf-abort-sw €ɀ 1€`10-validate-€i€íIF sql-status-ok € € PART / SUPPLIER DISPLAYED" €ż €TO advisory-text OF ws-a€format €ö€7€300-€"€-data €&LSE €5€v€S60€?screen-€ =ND€P30€,MOVE ZEROES TO shadows OF € 倁 Äs€ 9€.list-req €N€ Y€N€ •partnum €r€D€ € ŮREQUESTED P€ ׀a€׀ ӀyIF l€Űby-p€ł€ € OPEN €S_by_p€_cursor €A €⠀X €\ FETCH €°€] €INTO €š€€:p€¨€0€! INDICATO€׀_€@-i €r€a, €0€Ž€–€wdesc €¨€˜ €%t€=-€u€Ő,€qs€ € €¨€7ame €OF supplier,€߀ ţ O€w€$Vcost-€W€@€Vq€ ›€/w€@-i €ˇ€ ݀€$ťCLOSE list€.ELSE I€Ťs€ ۀZ-€Ł€ ľE€Ź O€Źs€/€PŹ€] €I€kŹpartsupp, €:partdesc €"OF p€7 INDICATOR €=-i €a€=,€qsuppnum €’€q€¨€7ame €ĘOF supplier,€ßcost €€ßupp €%â€@-€ âupp€Vqty-received €V€%w€@-i €–upp €ĚEND-EXEC €ăEXEC SQL € úCLOSE list_by_suppnum_cursor €)€]ELSE €OMOVE "INVALID LIST FLAG; CONTACT SUPPORT" € ‡TO advisory-text OF ws-a€format €žPERFORM 9820-reply-fatal-error€ÂEND-IF. * / € 3100-list-next-p€%. €%€ŇPARTSUPP" TO ws-table.€ '02"€!r€Šlag.€ Jipm-header OF trans-req TO €pl.€ N"€†tmf-abort-sw €L€ 1€!3110-validate-lst-nx€đIF v€(-request€ r€áNEXT PART / SUPPLIER DISPLAYED"€HÝ3300-€˙-€˘-data €Ś€ ‹€360€?screen-€ =€€"4€öY" TO €=-sw.€ LZEROES TO shadows OF p€Ÿ-maint-r€÷O MORE € xFOUND€tTO €M.€ çs€ €‘list-req €ą€!€ €+INSPECT €Ínum€G €Z REPLACING LEADING SPACES BY zeroes.€ Œpart€^€Ľ€ €ĐIF l€Óby-p€J€ ¨E€DOPEN list_next_by_p€˘€#H €aFETCH €&b €INTO €ɀ€:p€I€0€†€$num-€𠀁ƀ}e€ :€}etsupp€}e€ ű€Ľ€.eIF NOT sql-status-ok €F €€ą3500-not-found €o€)€­ €„€>€‚€ƀ2ƒELSE I€s€ € € À'€* c €|€ € Ĺ €I€}€Œ€” :€} €€‰€ (suppn€} € €7€ րz €I€}€ž€. 态not-set € ś€ %€ ހ € Ż€ U-sw € c € 9CANNOT LIST NEXT WITHOUT PRIOR €; USE F4 TO €(€! Js-advisory-format €PERFORM 3600-€"-screen-data €.ELSE € =MOVE "INVALID LIST FLAG; CONTACT SUPPORT" € u TO a€˜text OF ws€#Ź9820-reply-fatal-error €ŮEND-IF. * / €€ô330€äpartsupp-€ć. €€Ôpartnum €OF €€5 €/ TO €/-record €B-maint-rpl.€|desc €€| €¨ €y€,€Ý€)ysuppn€&ő€/€*ő€|ame €OF €“lier€Ü TO €Ť€/p€Հ+qcost €€í€/€(íqty-received €€€i€/€,isupp€Ÿ€˙€倁Ł € TO old-€@r€Ü* €[3500-not-found.€ q"N" TO valid-request-sw. €A€Ą€ťIF list-by-p€Á€ľ-l€req €í MOVE ZEROES € €TO €€˙-re€Ѐ- €^€O€C TO €v€j€$kELSE €s€̀ľ€€ü€ĺ €A €k€v€j€"k€ň€ÝMOVE SPACES €ǀa€ˀ&Ě €part€Ľ€€€ 뀁v€Ÿ€P€„€j€&k€Ÿ€W€š€ş. €04000-add€í. €=MOVE "partsupp" TO ws-table.€ '02"€!reply-flag.€ Jipm-header OF trans-req TO €€ 9€Dtmf-abort-sw €L€j€÷4100-validate-€ěIF €š€ D4200-do-€P-€9€1 €P CONTINUE€ rE€ … €01" TO €f €Ż END-IF €ĀN€׀J€F€ ] € D€0Y"€˘€ 瀁 •MOVE € TO shadows OF €ހ <€ É4105-€Ňmod-fields. €€'€ $€ 4110€)supplier.€€"%116-€rparts€ —€gEXEC SQL €‹ SELECT suppname €Š €INTO :s€! OF €-€Ć€ :€-FROM =s€瀁 [€NWHERE €oum = €Yum €Š€ '€‡FOR REPEATABLE ACCESS€wEND-EXEC.€jIF sql-status-ok €…€Ü€ *EL€ Ť€f €Ö € p€´ €ü €€CANNOT ADD PART / SUPPLIER; € DOES NOT EXIST€ €STO €, E€ ŐND-€ ý4€x€ EX€W€V€î €˙€€Upartdesc €Ś€ ¨ €€Qparts€ ŀ€Mpartn€M€Q€ €ö€ t€S€}L € ˛€ULPART €*Htext OF ws-advisory-format €END-IF €€. * €*4200-do-valid-add-partsupp. €LMOVE "PART / SUPPLIER ADDED" €sTO a€’t€Ś.€[EXEC SQL € şINSERT € πŰINTO =p€Ľ € đ€üVALUES € €(:partnum €'OF p€ń, €=€I:suppn€+4€hcost €€!hqty-received €œ ) €ÚEND-EXEC.€˘IF sql-status-ok € MOVE €é€ű €€€ LTO p€.€ 3-record €F-maint-rpl €Œ€ƒdesc €}€‚€ç €ź €€€0upp€-€s€Ę €€€ OTO €3€+€ƒame €}€‚ OF €šlier € €ƒ€3€š€/†€œ €€ € U€ €π 3€+ q€ë€ ƒ€3€"ŒELSE €'€ßN" TO valid-request-sw €REND-IF.€ €@€ €W€TO old€n€J. * / € 4500-modify-€°p€Ę"€Řws-table.€ ×02"€ůreply-flag.€ úY"€.€ "ZEROES TO shadows €_€.€ZUPDATE€;\MOVE ipm-header OF trans-req TO €pl€  €"€Ümsg OF €8€ňeq €~TO €Z€€8€q"€Œtmf-abort-sw €˝€ ˘IF list-by-not-set €l€r€ œ MOVE €g€ó €+01" TO €& €í€&CANNOT €Ŕ WITHOUT PRIOR LIST; USE F4 TO €"€> TO €B€čELSE IF €Ť€š NOT equal €ÉOF €w€ @€UPDATE OF PART OR €óNUMBER €XALLOWE€ €- €!€퀁ČOF €ż€퀁ćOF €d€ -€€퀁$pIF € € ďPERFORM 4630-test-null-€).€ Ѐ$H70€ € p€ E €q €Ąsupp = €ú€ ÀĹ40-report€ ǀ ź 46€#€ €é1" TO € Î-s€˜ €!€ů€)€4REJECTED; NO CHANGES WERE SPECIFIE€ 1 € đ.€ €›€ MOVE partcost € € Ŕ€΀E-9-x.€ COMPUTE€e-v = €r-9-a + (p€‚-9-b / 100.00).€ dE€ € =€ ńSET€ ' €ő = :p€ €€:€ ůqty_re€ Ž= :€ ž€z€ …WHERE€ e€v € ‚= :€ \€ĐAND €Q €€ •= :€ Ӏ€C€ ž€Ccost-v €g€p€†€€ ߀¨E€< ž €OF partsupp €€TO €num €/€7€3-record €F-maint-rpl € PMOVE €ldesc €€ €ƒ €€€0upp€-€suppn€Ѐ€3€+€ƒame €OF €šlier € †€ś€3€š€/†cost € ƒ€ €3€+ qty-received € €Œ€3€/Œs€E €€É TO old-p€9€"ELSE €eMOVE "N" TO valid-request-sw €€+01"€,reply-flag €śIF sql-status-not-found € Ü PERFORM 4705-v€|ate-€Ônum €END-IF €&€. * €M. €" €ö00"€÷€Żsw.€&EXEC SQL €[ €SELECT €Ę, partn€ ­ INTO :s€ń€č, €Ź € :p€I €FROM =p€2WHERE €d= €~ AND €-€ €É = €‹END-EXEC.€S€řok €€䀁í10-report-list-again €˝ E€ ¤€)20€-€w€ˇ,€ss€ž€ě€Ť€8ame €?OF supplier,€ăcost €w€0\€A-€]€€\qty-received €,ՀA-i € €x € ČELSE I€ ž€<a€˛E€+a€`€I€_€:^€ž€)]:part€2\€=€%[:€0Z€7€+Y€߀5X:partcost€(W:€9V€ @€.U€ %MOVE €/ €/ €#űEND-IF€Í7-€ ]-€Ć-grp-data.€π d5210-€ Ž-key-€ (€P€ #GROUP DISPLAYED€:)€ ń5020-fetch-€ ƒ€𠀁 ‡ VARYING screen-index FROM 1 BY 1 € ś UNTIL € -> max-lines-on-s€I OR NOT sql-status-ok.€ €o€EЀ "€ '€ pE€T €& źE€ k€š€ s€}N€ I€žIF.€ ďSUBTRACT 1 FROM €l €  GIVING l€ NF €š€ € ë5260€‡empty-entry € € €ů€ €5.€ €“€L50€L€ C-€Č. €IF list-by-partnum OF partsupp-l€req-null €6€=EXEC SQL € €YFETCH €Z_group_by_p€`_c € H€Š INTO € d €:p€˘€€Š INDICATOR € Ľ€A-i €Y€ę, € ݀ydesc €€" €&v€>-€w€`,€ssuppnum €€•€Ť€8ame €;OF supplier,€ăcost €s€€%\€A-€]€F€\qty-received €~€!ՀA-i €ż € ąND-EXEC €ČELSE I€s€v€Rs€ր}€}rts€} €:part€}€m €ŰMOVE "INVALID LIST FLAG; CONTACT SUPPORT" € TO advisory-text OF ws-a€format €JPERFORM 9820-reply-fatal-error €wEND-IF. * / € 5100-list-next-p€žgroup. €ˇ€ŘPARTSUPP" TO ws-table.€ '03"€!r€lag.€ Jipm-header OF trans-req TO €pl.€ N"€†tmf-abort-sw €L€ 1€'5105-validate-lst-nx€ö€đIF v€(-request€x5107-€š-€=p-data €? €Ź5270-fill-key-€)-for-DISPLAY €tELSE€ _€đ5205-move-ipm-keys €Ź €š€*ž E€Ą CLOSE list_next€¨E€ B €MOVE ZEROS to s€˝€Ó of € Odata-rpl€ O€9‹€‰€ň€ó€—€ô €őSPACES€öpartnum-key€)ö€ } €4 TO €,… €#‰ END-IF €^€€ž€!Ż€wY" TO €¸-sw.€ ÇZEROES TO shadows OF € šmaint-rp€rO MORE PART / SUPPLIER FOUND"€ŇTO €Î.€ b€˙€ J €ś€ လ€ Ť€R€ “€I€w€ ¸€ô€ ހE âOPEN €%=€:E€ DF€ C€#  €IN€ G€: F€ †-i€' E:part€2 D€=€% C:€0 B€7€+ A€߀5 @:€ |-€W€̀›:€2 > €:qty-received-i OF partsupp €$€*END-EXEC € IF NOT sql-status-ok € :€jPERFORM 3500-not-found €cIF €xELSE IF list-by-suppnum €Ś-l€req € ŻXEC SQL € ƀöOPEN €S_next_group_by_s€^_c €!úE€b FETCH €ˇ€#d€Ž INTO €z €:partnum €€ą INDICATOR €ť€A-i €Y€ň, €ó€ydesc €€* €&v€>-€w€h,€ss€đ€€€Ť€8ame €;OF supplier,€ăcost €sO€ €%\€A-€]€A€\€† €.y€}Ç €END-€Çnot-set €`€Ç-null €{MOVE "N" TO valid-request-sw €Ś€+01"€,reply-flag €̀QCANNOT LIST NEXT WITHOUT PRIOR €; USE F4 TO €(" € TO advisory-text€Őws-a€format €LELSE €[€ŕINVALID €FLAG; CONTACT SUPPORT€?~ €Œ9820-r€$atal-error €÷€É. * / € 5107-€Ř-p€--grp-data. €7€ő5210-€ -key-€ (€ŕPART / €ěLIER GROUP DISPLAYED"€ {€ y.€120-fetch-€ż€ť €ş VARYING screen-index FROM 1 BY 1 €é UNTIL € -> max-lines-on-s€I OR € 2.€6I€đp€쀁‰-€đ€)E€őCLOSE list€ öp€P€öE€%€Ȁ0Ÿ€%•€Ÿ€}ZRM €Z.€SUBTRACT 1 FROM €e €B GIVING l€ G€ Ş€data-rpl.€‚60€‚empty-entry €Ź €ň€ € ­ €5 .€ Z€š€U50€U€†€Ö.€ƒ€PMF€ ߀M €INTO€ ހ: ݀ €) Ü:part€2 ۀ=€% Ú:€0 ـ7€+ ؀߀5 ×:partcost-€ 3€ € 2:€ [€- Հ @€* ›€UŤ€ý€ @€}ý€ Ů:€}ý€s€ :suppn€+ Հßc€ Ôupp INDICATOR €:partcost-i €$OF partsupp, €7qty-received €7€"w€@-i €w € ­END-EXEC €ÄELSE € ÓMOVE "INVALID LIST FLAG; CONTACT SUPPORT" €  TO advisory-text OF ws-a€format €BPERFORM 9820-reply-fatal-error. * €s5205-move-ipm-keys. €€śsuppnum €~-list-req-null €ÂTO €5€R €ł€5data-rpl.€ kpartn€,k€5€˝€"kINSPECT €n€ö€¤€ ŮREPLACING LEADING ZEROES BY SPACES.€[10-€ž-key-€ö.€ ]€ň€׀`TO €-key€ K€6ŕ €! ­MOVE € €š€#€%* / €œ50€Ap€ô-entry.€¤IF list-by-s€Ş€$€Ś €cIF €m-€Ý = 0 € + €送ž€ƒ €Ąz € d MOVE €×-z €Ď OF message-data €   €OF€Śsupp€o€: (screen-index) € ݀ €€P€Œ" ?"€ f €l€! €€4¨ND-IF €šdesc-i€x €˜€/ €/ €6€D€€rh€" ?" €Ď€Ý€Ž€S€Y€­ €Ż€•€1‘€(ame OF supplier €+€€€1€뀁D€S €ěcost €ƒ €cost-€í€"€î€H€rď €€~€؀S€×q€ “€ S€Š€6 € TO € R€€ xz € 8€T€r‰ €€€ä€S€ qELSE €Bp€ € yreq€ B€Ú €Š €´z€ €4€1 €€desc€0!€1…€  TO € SOF€OF € 퀁 o€ :€€ —€mo€ň€'?€ (€]€ )€ƒ€ *€6&€”€'^MOVE €Ҁ,Z€-ßEND-IF. € +60€ lempty-€ (€ą€ Ľ TO € k€ƒ€".€ 3€ €g€{€ ď €OF partsupp-list-data-rpl (screen-index). €6MOVE ZEROES TO suppnum OF message-€F €2 €5hSPACES €game €[hpartcost €[Đqty-received €A<* €§5270-fill-key-data-for-display.€ÍIF list-by-partn€Ȁreq €˙ MOVE €ř €T1) €H €€A-key €‘ €ELSE €šs€€̀šIF p€瀁Ż€ˇ NOT = " ?" € € MOVE €1X€  TO €Ľ€# ELSE €§ €€" ?" €4ZND-IF €E€. * / € COPY process-invalid-request OF codecob.€8€28900-reply-to-€+or.€oIF r€!partsupp-maint-rpl€ MOVE ws-advisory-format TO a€ OF p€OPERFORM 9803-write-€ƒ€ €€ꀁe€Ô €€&Ä €Ȁ?€؀Ѐ?€k€ŕ4-€ŕtsup€ €x€¤€e€Ľtrans-€ œ€ŕ€U10€ů€3€Ô €Ÿ30€Cnot-set€ €ą€ €ƀ× 9000-close-files.€CLOS€ p€in €ž€out.€6read-m€?in €.COPY WRITE-€h €X€´.€ Í2 TO €ecode €€6€„ € B. €ƒ980€V€ ƒ3 €:ƒ€˝€‡COPY €@€›€ 3€Ă9820€‘fatal-error€EXEC SQL €€FREE RESOURCES €END-EXEC. €ąMOVE "Y" TO tmf-abort-sw OF t€B€§€Œ€ 7€π´€šSTOP RUN.€­€ D.€8Ž€ßREPLY NOT SET; CONTACT SUPPORT"€HTO €Łtext OF € ʀ•€ž2-€ž€|€‡40€afile-open-€ Ԁë0-r€‹.€¸IF €Đeof-€Ź€ ëMOVE ipm-header €Óeq TO €€̀"€  €ą€Ä €0END-IF€ż€šeliminate-leading-spaces OF €ş€ň* sql error handling routines €999-e€&-h€&. * ?SOURCE €(sql€m€() €(* end of source code €ANOLIST €M€‚ĚÔ3c{SETDEFS@e?TACL MACRO #PUSH PFIX SVNAME €SET €%*% [#IF ([#CHARCOUNT€] <> 2) |THEN| #OUTPUT € Usage is SETDEFS aa €,where aa is any two alphanumeric characters € p|ELSE| #SETV €Ë "S" '+' €߀ "DB" SET DEFMODE ON COMMENT **€) €: €'*€:€t Delete the DEFINEs for €Tables €ž€Ft€&ě €DELETE €Ž =sampldb € ,employee € Ydept € ‚job€!~customer € ×orde€p€ € odetail €.parts €Xerror€ń€ …€ ƒupplie€"ـ‚upp €݀Żloc €+ €4€€ €äloc1 €a€G€ ?partloc2 €Ž €uuppkanj €4Ć*€3Ç €(ČIndexe€;ɀv€%ś€Ëxempname€Ÿ€-de€!Łxdeptmgr€{€-rp€ ýxcustnam €Źxordrep€ű€,cus€Źxpartdes€Ůxsuppn€$˛supord €Šxe€$3€…kan €4A€2€(Views€9€ w€#€ emplist€Ş€ *mgrl€"*custl€"Uo€Ҁ ¨view207 € Ԁ Ҁ*n € ˙€ ý€Ucs€Ѐ &€~cust €6ą***€3 { €( Collations€: ƒ € ű*€)€ ‹co€˛e1 € ¸€-2 €C €( € *€& € €t Add € Catalogs€ €€C€H€M€R * € oS€ śINE CLASS CATALOG €/_€ đ€%À ADD € Ś€ ř, SUBVOL [SVNAME] € Y €(€€2*€. €*€j*****€L€ S *€ž€p*€"€ €8€AD SET DEFINE CLASS MAP COMMENT €* €€€€€ * € 2*€ €]€cADD €…=employee, FILE [SVNAME].e€ €9dept, €˛€ 9dept €njob,€4 € njob €˘customer,€ ˘c€ €Űorders, € mo€ €odetail, € ¤o€ €Jparts€n€ Üp€€nsupplie€ Ţs€€ހoupp, €š€oupp €ň€¨loc,€ ŕ€¨loc €Ž €—€3€éloc1,€"<$volx>.€é€A €kpartloc2,€Z€8y>€ 8 €Źrror€ Ńe€€Ńsuppkanj,€ *s€ €‚*€K€l€ˆ*€ľ €*€Ŕ***** Add the €s for €Indexes €(€ř*€% €*€0**€'€6xempname€ 6x€€6€9dept,€ ś€9€€:xdeptmgr€ x€€€9rp€r€Qrpt€Źxcustnam,€ ax€ €Sxordrep,€ Ax€€™€8cus,€ y€8cus€ąxpartdes,€  x€€ęxsuppn€â€€âsupord,€ #x€ €e€€mx€€“€Škan,€ ě€ppkan €0€H*€u€P*€~*****€žViews€6ź€ l*€!€ íist,€ Űemplist€ˇ€$mgrl€7m€€[custl€o€[c€€&€“o€? €“ordrep€؀Éview207,€ ˇv€ €Ž€ €7cs ,€ î€7cs€%€ 6€mn€ ‘€mn €€ n€Ľcust€ ˙€Ľ€ €1É*€€ *€ C€ *€ Q*€L€‘Collations€8” € v€ ݀쀁 Đ €€ Őco€Ľe1,€ c€ €˛€52,€ Q€52 ] #POP PFIX SVNAME €‚Îř—Śŕ