home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / suite.zip / pct.zip / tsoispf.ext < prev    next >
Text File  |  1999-12-20  |  132KB  |  7,837 lines

  1.  
  2. @RACF Commands Short
  3. %Connect
  4. $
  5. "*CONNECT" USERI
  6. D "GROUP("GROUP"
  7. ) OWNER("SUPGRP"
  8. )"
  9.  
  10. @RACF Commands Short
  11. %RDefine
  12. $
  13. /*-------------(
  14. RDEFINE: VERIFY 
  15. PLEASE)---------
  16. ----*/..RDEFINE 
  17. CLASS-NAME,..   
  18.     (PROFILE-NAM
  19. E-1 /* ... */),.
  20. .       ADDMEM(M
  21. EMBER /* ... */)
  22. ,..       APPLDA
  23. TA('APPLICATION-
  24. DATA'),..       
  25. DATA('INSTALLATI
  26. ON-DEFINED-DATA'
  27. ),..       NOTIF
  28. Y(USERID),..    
  29.    OWNER (USERID
  30.  OR GROUP-NAME),
  31. ..       UACC(AC
  32. CESS-AUTHORITY),
  33. ..       WARNING
  34. ..
  35.  
  36. @RACF Commands Short
  37. %Search
  38. $
  39. /*--------------
  40. (SEARCH: VERIFY 
  41. PLEASE)---------
  42. ----*/.."SEARCH 
  43. ALL CLASS("CLASS
  44. _NAME") MASK("MA
  45. SK")"..
  46.  
  47. @Rexx Extras
  48. %Binary search
  49. $
  50. /*--------------
  51. ----(BINARY SEAR
  52. CH)-------------
  53. ----*/..SEARCH =
  54.  ?..FOUND  = 0  
  55.  /* INDEX OF THE
  56.  FOUND ITEM */..
  57. BOTTOM = 1..TOP 
  58.    = STEM.0..DO 
  59. WHILE FOUND = 0 
  60. & TOP >= BOTTOM.
  61. .  MEAN = (BOTTO
  62. M + TOP) .  
  63. IF SEARCH = STEM
  64. .MEAN THEN..    
  65. FOUND = MEAN..  
  66. ELSE IF SEARCH <
  67.  STEM.MEAN THEN.
  68. .    TOP = MEAN 
  69. - 1..  ELSE..   
  70.  BOTTOM = MEAN +
  71.  1..END /* DO WH
  72. ILE ... */..
  73.  
  74. @Rexx Extras
  75. %Bubble sort
  76. $
  77. /*------------(B
  78. UBBLE SORT FOR T
  79. HE STEM)--------
  80. ----*/..DO I = S
  81. TEM.0 TO 1 BY -1
  82.  UNTIL FLIP_FLOP
  83.  = 1..  FLIP_FLO
  84. P = 1..  DO J = 
  85. 2 TO I..    M = 
  86. J - 1..    IF ST
  87. EM.M > STEM.J TH
  88. EN DO..      XCH
  89. G   = STEM.M..  
  90.     STEM.M = STE
  91. M.J..      STEM.
  92. J = XCHG..      
  93. FLIP_FLOP = 0.. 
  94.    END /* IF STE
  95. M.M ... */..  EN
  96. D /* DO J = 2 ..
  97. . */..END /* DO 
  98. I = STEM.0 ... *
  99. /..
  100.  
  101. @Rexx Extras
  102. %Insertion sort
  103. $
  104. /*------------(I
  105. NSERTION SORT FO
  106. R STEM)---------
  107. ----*/..DO X = 2
  108.  TO STEM.0..  XC
  109. HG = STEM.X..  D
  110. O Y = X - 1 BY -
  111. 1 TO 1 WHILE STE
  112. M.Y > HFELD..   
  113.  XCHG   = STEM.X
  114. ..    STEM.X = S
  115. TEM.Y..    STEM.
  116. Y = XCHG..    X 
  117. = Y..  END /* DO
  118.  Y = X... */..  
  119. STEM.X = XCHG..E
  120. ND /* DO X = 2 .
  121. .. */..
  122.  
  123. @Rexx Extras
  124. %Shell sort
  125. $
  126. /*--------------
  127. -(SHELL SORT FOR
  128.  STEM)----------
  129. ----*/..PARTS = 
  130. 3         /* COR
  131. RECT!!! ( >1 ) *
  132. /..DO N = 1 TO P
  133. ARTS..  INCR = 2
  134. **N - 1..  DO J 
  135. = INCR + 1 TO ST
  136. EM.0..    I = J 
  137. - INCR..    XCHG
  138.  = STEM.J..    D
  139. O WHILE XCHG < S
  140. TEM.I & I > 0.. 
  141.      M = I + INC
  142. R..      STEM.M 
  143. = STEM.I..      
  144. I = I - INCR..  
  145.   END /* DO WHIL
  146. E XCHG ... */.. 
  147.    M = I + INCR.
  148. .    STEM.M = XC
  149. HG..  END /* DO 
  150. J = INCR ... */.
  151. .END /* DO N = 1
  152.  ... */..
  153.  
  154. @Rexx Extras
  155. %Square root
  156. $
  157. /*--------------
  158. (SQUARE ROOT EVO
  159. LUTION)---------
  160. ----*/..NUMBER =
  161.  ?..SQRT = 1..PR
  162. ECISION = 0.0000
  163. 1..DO UNTIL ABS(
  164. SQRT_OLD - SQRT)
  165.  < PRECISION..  
  166. SQRT_OLD = SQRT.
  167. .  SQRT = (SQRT_
  168. OLD * SQRT_OLD +
  169.  NUMBER) / (2 * 
  170. SQRT_OLD)..END /
  171. * DO UNTIL ... *
  172. /..
  173.  
  174. @Rexx Extras
  175. %To Lower
  176. $
  177. /*-----------(LO
  178. WER CASE ENTIRED
  179.  STRING)--------
  180. ----*/..PARSE AR
  181. G UPPER_STRING..
  182. ..LOWERS='ABCDEF
  183. GHIJKLMNOPQRSTUV
  184. WXYZäöü'..UPPERS
  185. ='ABCDEFGHIJKLMN
  186. OPQRSTUVWXYZÄÖÜ'
  187. ....RETURN TRANS
  188. LATE(UPPER_STRIN
  189. G,LOWERS,UPPERS)
  190. ..
  191.  
  192. @Rexx Extras
  193. %To Upper
  194. $
  195. /*-----------(UP
  196. PER CASE ENTIRED
  197.  STRING)--------
  198. ----*/..PARSE AR
  199. G UPPER_STRING..
  200. ..LOWERS='ABCDEF
  201. GHIJKLMNOPQRSTUV
  202. WXYZäöü'..UPPERS
  203. ='ABCDEFGHIJKLMN
  204. OPQRSTUVWXYZÄÖÜ'
  205. ....RETURN TRANS
  206. LATE(UPPER_STRIN
  207. G,UPPERS,LOWERS)
  208. ..
  209.  
  210. @Rexx Extras
  211. %Quick sort
  212. $
  213. /*--------------
  214. (QUICK SORT FOR 
  215. STEM)-----------
  216. ----*/..QSORT: P
  217. ROCEDURE EXPOSE 
  218. STEM...ARG LEFT,
  219.  RIGHT....IF LEF
  220. T  = '' THEN LEF
  221. T  = 1..IF RIGHT
  222.  = '' THEN RIGHT
  223.  = STEM.0..IF RI
  224. GHT > LEFT THEN 
  225. DO..  I = LEFT..
  226.   J = RIGHT..  K
  227.  = (LEFT+RIGHT)
  228. 2..  X = STEM.K.
  229. .  DO UNTIL I > 
  230. J..    DO WHILE 
  231. STEM.I < X; I = 
  232. I + 1; END..    
  233. DO WHILE STEM.J 
  234. > X; J = J - 1; 
  235. END..    IF I <=
  236.  J THEN DO..    
  237.   XCHG = STEM.I.
  238. .      STEM.I = 
  239. STEM.J..      ST
  240. EM.J = XCHG..   
  241.    I = I + 1..  
  242.     J = J - 1.. 
  243.    END..  END.. 
  244.  Y = QSORT(LEFT,
  245. J)..  Y = QSORT(
  246. I,RIGHT)..END...
  247. .RETURN RIGHT - 
  248. LEFT ..
  249.  
  250. @TSO Rexx
  251. %OutTrap
  252. $
  253. X = OUTTRAP('EIN
  254. .')..  ..X = OUT
  255. TRAP(OFF)
  256.  
  257. @TSO Rexx
  258. %ExecIO DiskR Stem
  259. $
  260. /*---------(PERF
  261. ORM FUNCTIONS FO
  262. R EXECIO)-------
  263. ----*/.."EXECIO 
  264. * DISKR" DDN "(S
  265. TEM EIN. FINIS" 
  266. ..
  267.  
  268. @TSO Rexx
  269. %ExecIO DiskW Stem
  270. $
  271. /*---------(PERF
  272. ORM FUNCTIONS FO
  273. R EXECIO)-------
  274. ----*/.."EXECIO 
  275. * DISKW" DDN "(S
  276. TEM EIN. FINIS".
  277. .
  278.  
  279. @TSO Rexx
  280. %ExecIO DiskR Queue
  281. $
  282. /*---------(PERF
  283. ORM FUNCTIONS FO
  284. R EXECIO)-------
  285. ----*/.."EXECIO 
  286. * DISKR" DDN "(F
  287. IFO FINIS"....
  288.  
  289. @TSO Rexx
  290. %ExecIO DiskW Queue
  291. $
  292. /*---------(PERF
  293. ORM FUNCTIONS FO
  294. R EXECIO)-------
  295. ----*/.."EXECIO"
  296.  QUEUED() "DISKW
  297. " DDN "(FINIS"..
  298.  
  299. @TSO Rexx
  300. %ExecIO Read File / Write Queue
  301. $
  302. "NEWSTACK"../*--
  303. -------(PERFORM 
  304. FUNCTIONS FOR EX
  305. ECIO)-----------
  306. */..DDN = 'DINPU
  307. T'..IF DSN = '' 
  308. THEN DSN = USERI
  309. D()'.????????.??
  310. ??????'.."ALLOC 
  311. DATASET('"DSN"')
  312.  DDNAME("DDN") S
  313. HR REUSE"..IF RC
  314.  = 0 THEN DO..  
  315. "EXECIO * DISKR"
  316.  DDN "(STEM EIN.
  317.  FINIS"..  "FREE
  318.  FI("DDN")"..  D
  319. O I = 1 TO EIN.0
  320. ..    /* ... YOU
  321. R CODE ... */.. 
  322.  END....  /*----
  323. -----(PERFORM FU
  324. NCTIONS FOR EXEC
  325. IO)-----------*/
  326. ..  IF QUEUED() 
  327. > 0 THEN DO..   
  328.  DDN = 'DOUTPUT'
  329. ..    DSN = USER
  330. ID()'.PRIVAT.DAT
  331. A(RESOWNER)'..  
  332.   "ALLOC DATASET
  333. ('"DSN"') DDNAME
  334. ("DDN") SHR REUS
  335. E"..    IF RC = 
  336. 0 THEN DO..     
  337.  /*---------(PER
  338. FORM FUNCTIONS F
  339. OR EXECIO)------
  340. -----*/..      "
  341. EXECIO" QUEUED()
  342.  "DISKW" DDN "(F
  343. INIS"..      "FR
  344. EE FI("DDN")".. 
  345.    END..    ELSE
  346.  SAY 'OUTPUT FIL
  347. E' DSN 'NOT ALLO
  348. CATED'..  END..E
  349. ND..ELSE..  SAY 
  350. 'INPUT FILE' DSN
  351.  'NOT ALLOCATED'
  352. .."DELSTACK"..
  353.  
  354. @TSO Rexx
  355. %ListDSI
  356. $
  357. /*-----------(LI
  358. ST DATA SET INFO
  359. RMATION)--------
  360. ----*/..Y = OUTT
  361. RAP(DUMMY.)..  R
  362. C = LISTDSI(DSN 
  363. DIRECTORY RECALL
  364. )..Y = OUTTRAP(O
  365. FF)..IF RC < 16 
  366. THEN DO..  SAY '
  367. VOLUME SERIAL ID
  368. ................
  369. :' SYSVOLUME..  
  370. SAY 'DEVICE UNIT
  371.  OF VOLUME......
  372. .....:' SYSUNIT.
  373. .  SAY 'DATA SET
  374.  ORGANIZATION...
  375. ........:' SYSDS
  376. ORG..  SAY 'RECO
  377. RD FORMAT.......
  378. ............:' S
  379. YSRECFM..  SAY '
  380. LOGICAL RECORD L
  381. ENGTH...........
  382. :' SYSLRECL..  S
  383. AY 'BLOK SIZE...
  384. ................
  385. ....:' SYSBLKSIZ
  386. E..  SAY 'KEY LE
  387. NGTH............
  388. ..........:' SYS
  389. KEYLEN..  SAY 'A
  390. LLOCATIN, IN SPA
  391. CE UNITS.......:
  392. ' SYSALLOC..  SA
  393. Y 'ALLOCATION US
  394. ED (IN UNITS)...
  395. ...:' SYSUSED.. 
  396.  SAY 'PRIMARY AL
  397. LOCATION (UNITS)
  398. ......:' SYSPRIM
  399. ARY..  SAY 'SECO
  400. NDARY ALLOCATION
  401.  (UNITS)....:' S
  402. YSSECONDS..  SAY
  403.  'SPACE UNITS...
  404. ................
  405. ..:' SYSUNITS.. 
  406.  SAY 'NUMBER OF 
  407. EXTENTS ALLOCATE
  408. D.....:' SYSEXTE
  409. NTS..  SAY 'CREA
  410. TION DATE (YYYY/
  411. DDD)........:' S
  412. YSCREATE..  SAY 
  413. 'LAST REFERENCED
  414. DATE (YYYY/DDD).
  415. .:' SYSREFDATE..
  416.   SAY 'EXPIRATIO
  417. N DATE (YYYY/DDD
  418. )......:' SYSEXD
  419. ATE..  SAY 'PASS
  420. WORD INDICATION.
  421. ............:' S
  422. YSPASSWORD..  SA
  423. Y 'RACF INDICATI
  424. ON..............
  425. ...:' SYSRACFA..
  426.   SAY 'CHANGE IN
  427. DICATOR.........
  428. .......:' SYSUPD
  429. ATED..  SAY 'TRA
  430. CKS PER CYLINDER
  431.  FOR THE UNIT:' 
  432. SYSTRKSCYL..  SA
  433. Y 'BLOCKS PER TR
  434. ACK FOR THE UNIT
  435. ...:' SYSBLKSTRK
  436. ..  SAY 'DIRECTO
  437. RY BLOCKS ALLOCA
  438. TED......:' SYSA
  439. DIRBLK..  SAY 'D
  440. IRECTORY BLOCKS 
  441. USED...........:
  442. ' SYSUDIRBLK..  
  443. SAY 'NUMBER OF M
  444. EMBERS FOR PDS..
  445. .....:' SYSMEMBE
  446. RS..  SAY 'LISTD
  447. SI REASON CODE..
  448. ...........:' SY
  449. SREASON..  SAY '
  450. FIRST LEVEL MESS
  451. AGE IF ERROR....
  452. :' SYSMSGLVL1.. 
  453.  SAY 'SECOND LEV
  454. EL MESSAGE IF ER
  455. ROR...:' SYSMSGL
  456. VL2..END..ELSE D
  457. O..  /*---(ERROR
  458.  HANDLING)---*/.
  459. .END..
  460.  
  461. @TSO Rexx
  462. %ListDSI Reason Codes
  463. $
  464. /*--------------
  465. (LISTDSI REASON 
  466. CODES)----------
  467. ----*/..LDSIRESC
  468. : PROCEDURE..ARG
  469.  SYSREASON....SE
  470. LECT..  WHEN SYS
  471. REASON =  0 THEN
  472. ..    MSG = 'NOR
  473. MAL COMPLETION' 
  474. ..  WHEN SYSREAS
  475. ON =  1 THEN..  
  476.   MSG = 'ERROR P
  477. ARSING THE FUNCT
  478. ION' ..  WHEN SY
  479. SREASON =  2 THE
  480. N..    MSG = 'DY
  481. NAMIC ALLOCATION
  482.  PROCESSING ERRO
  483. R' ..  WHEN SYSR
  484. EASON =  3 THEN.
  485. .    MSG = 'THIS
  486.  DATA SET TYPE C
  487. ANNOT BE PROCESS
  488. ED' ..  WHEN SYS
  489. REASON =  4 THEN
  490. ..    MSG = 'ERR
  491. OR DETERMININING
  492.  UNIT NAME'..  W
  493. HEN SYSREASON = 
  494.  5 THEN..    MSG
  495.  = 'DATA SET NOT
  496.  CATALOGED' ..  
  497. WHEN SYSREASON =
  498.   6 THEN..    MS
  499. G = 'ERROR OBTAI
  500. NING THE DATA SE
  501. T NAME' ..  WHEN
  502.  SYSREASON =  7 
  503. THEN..    MSG = 
  504. 'ERROR FINDING D
  505. EVICE TYPE' ..  
  506. WHEN SYSREASON =
  507.   8 THEN..    MS
  508. G = 'THE DATA SE
  509. T DOES NOT RESID
  510. E ON A DASD' .. 
  511.  WHEN SYSREASON 
  512. =  9 THEN..    M
  513. SG = 'DFHSM MIGR
  514. ATED THE DATA SE
  515. T. NORECALL PREV
  516. ENTS RETRIEVAL.'
  517. ..  WHEN SYSREAS
  518. ON = 11 THEN..  
  519.   MSG = 'AUTHORI
  520. TY FAILED TO GET
  521.  DIRECTORY INFOR
  522. MATION'..  WHEN 
  523. SYSREASON = 12 T
  524. HEN..    MSG = '
  525. VSAM DATA SETS A
  526. RE NOT SUPPORTED
  527. '..  WHEN SYSREA
  528. SON = 13 THEN.. 
  529.    MSG = 'THE DA
  530. TA SET COULD NOT
  531.  BE OPENED'..  W
  532. HEN SYSREASON = 
  533. 14 THEN..    MSG
  534.  = 'DEVICE TYPE 
  535. NOT FOUND IN UCB
  536.  TABLES'..  WHEN
  537.  SYSREASON = 17 
  538. THEN..    MSG = 
  539. 'SYSTEM OR USER 
  540. ABEND OCCURED'..
  541.   WHEN SYSREASON
  542.  = 18 THEN..    
  543. MSG = 'PARTIAL D
  544. ATA SET INFORMAT
  545. ION WAS OBTAINED
  546. '..  WHEN SYSREA
  547. SON = 19 THEN.. 
  548.    MSG = 'DATA S
  549. ET RESIDES ON MU
  550. LTIPLE VOLUME'..
  551.   WHEN SYSREASON
  552.  = 20 THEN..    
  553. MSG = 'DEVICE TY
  554. PE NOT FOUND IN 
  555. ELIGIBLE DEVICE 
  556. TABLE (EDT)'..  
  557. WHEN SYSREASON =
  558.  21 THEN..    MS
  559. G = 'CATALOG ERR
  560. OR TRYING TO LOC
  561. ATE THE DATA SET
  562. '..  WHEN SYSREA
  563. SON = 22 THEN.. 
  564.    MSG = 'VOLUME
  565.  NOT MOUNTED'.. 
  566.  WHEN SYSREASON 
  567. = 23 THEN..    M
  568. SG = 'PERMANENT 
  569. I/O ERROR ON VOL
  570. UME'..  WHEN SYS
  571. REASON = 24 THEN
  572. ..    MSG = 'DAT
  573. A SET NOT FOUND'
  574. ..  WHEN SYSREAS
  575. ON = 25 THEN..  
  576.   MSG = 'DATA SE
  577. T MIGRATED TO NO
  578. N-DASD DEVICE'..
  579.   WHEN SYSREASON
  580.  = 27 THEN..    
  581. MSG = 'NO VOLUME
  582.  SERIAL IS ALLOC
  583. ATED TO THE DATA
  584.  SET'..  WHEN SY
  585. SREASON = 28 THE
  586. N..    MSG = 'TH
  587. E DD-NAME MUST B
  588. E ONE TO EIGHT C
  589. HARACTERS'..  WH
  590. EN SYSREASON = 2
  591. 9 THEN..    MSG 
  592. = 'DATA SET NAME
  593.  OR DD-NAME MUST
  594.  BE SPECIFIED'..
  595.   OTHERWISE..   
  596.  MSG = 'UNKNOWN 
  597. REASON CODE RETU
  598. RNED:' SYSREASON
  599. ..END....RETURN 
  600. MSG..
  601.  
  602. @TSO Rexx
  603. %ExecIO Universal
  604. $
  605. /*---------(PERF
  606. ORM FUNCTIONS FO
  607. R EXECIO)-------
  608. ----*/..DDN = 'I
  609. NPUTDD'         
  610.                 
  611. ..DSN = ''      
  612.                 
  613.           ..Y = 
  614. ALLOCOLD(DSN,DDN
  615. )               
  616.     .."EXECIO * 
  617. DISKR" DDN "(STE
  618. M EIN. FINIS" ..
  619. "FREE F("DDN")" 
  620.                 
  621.         ..      
  622.                 
  623.                 
  624.   ..DDN = 'OUTPU
  625. TDD'            
  626.             ..DS
  627. N = ''          
  628.                 
  629.       ..Y = ALLO
  630. CNEW(DSN,DDN)   
  631.                 
  632. .."EXECIO" QUEUE
  633. D() "DISKW" DDN 
  634. "(FINIS"  .."FRE
  635. E F("DDN")"     
  636.                 
  637.     .."EXECIO * 
  638. DISKW" DDN "(STE
  639. M EIN. FINIS"..
  640.  
  641. @DM Tables
  642. %Create a Permanent Table
  643. $
  644. /*----------(CRE
  645. ATE A PERMANENT 
  646. TABLE)----------
  647. ----*/..ADDRESS 
  648. ISPEXEC "TBCREAT
  649. E" TABLENAME "KE
  650. YS("KEYLIST") NA
  651. MES("NAMELIST").
  652. .               
  653.   REPLACE LIBRAR
  654. Y("LIBNAME") SHA
  655. RE WRITE"..IF RC
  656.  ^= 0 THEN DO   
  657.            /* RE
  658. TURN CODES      
  659.                 
  660. */..            
  661.                 
  662.     /*  4 - DUPL
  663. ICATE TABLE EXIS
  664. TS BUT   */..END
  665.                 
  666.              /* 
  667.      "REPLACE" S
  668. PECIFIED        
  669.   */..ELSE DO   
  670.                 
  671.       /*  8 - TA
  672. BLE ALREADY EXIS
  673. TS;        */.. 
  674.                 
  675.                /
  676. *      "REPLACE"
  677.  NOT SPECIFIED  
  678.     */..END     
  679.                 
  680.         /* 12 - 
  681. TABLE IN USE; EN
  682. Q FAILED     */.
  683. .               
  684.                 
  685.  /* 16 - TABLE I
  686. NPUT LIBRARY NOT
  687.       */..      
  688.                 
  689.           /*    
  690.   ALLOCATED WITH
  691.  "WRITE"       *
  692. /..             
  693.                 
  694.    /* 20 - SEVER
  695. E ERROR         
  696.         */..
  697.  
  698. @DM Tables
  699. %Create a Temporary Table
  700. $
  701. /*----------(CRE
  702. ATE A TEMPORARY 
  703. TABLE)----------
  704. ----*/..ADDRESS 
  705. ISPEXEC "TBCREAT
  706. E" TABLENAME "KE
  707. YS("KEYLIST") NA
  708. MES("NAMELIST").
  709. .               
  710.   REPLACE LIBRAR
  711. Y("LIBNAME") SHA
  712. RE WRITE"..IF RC
  713.  ^= 0 THEN DO   
  714.            /* RE
  715. TURN CODES      
  716.                 
  717. */..            
  718.                 
  719.     /*  4 - DUPL
  720. ICATE TABLE EXIS
  721. TS BUT   */..END
  722.                 
  723.              /* 
  724.      "REPLACE" S
  725. PECIFIED        
  726.   */..ELSE DO   
  727.                 
  728.       /*  8 - TA
  729. BLE ALREADY EXIS
  730. TS;        */.. 
  731.                 
  732.                /
  733. *      "REPLACE"
  734.  NOT SPECIFIED  
  735.     */..END     
  736.                 
  737.         /* 12 - 
  738. TABLE IN USE; EN
  739. Q FAILED     */.
  740. .               
  741.                 
  742.  /* 16 - TABLE I
  743. NPUT LIBRARY NOT
  744.       */..      
  745.                 
  746.           /*    
  747.   ALLOCATED WITH
  748.  "WRITE"       *
  749. /..             
  750.                 
  751.    /* 20 - SEVER
  752. E ERROR         
  753.         */..
  754.  
  755. @DM Tables
  756. %Open a Permanent Table
  757. $
  758. /*-----------(OP
  759. EN A PERMANENT T
  760. ABLE)-----------
  761. ----*/..ADDRESS 
  762. ISPEXEC "TBOPEN"
  763.  TABLENAME "WRIT
  764. E LIBRARY("LIBNA
  765. ME") SHARE"..IF 
  766. RC ^= 0 THEN DO 
  767.              /* 
  768. RETURN CODES    
  769.                 
  770.  */..           
  771.                 
  772.      /*  8 - TAB
  773. LE DOES NOT EXIS
  774. T        */..END
  775.                 
  776.              /* 
  777. 12 - TABLE IN US
  778. E; ENQ FAILED   
  779.  */..ELSE DO    
  780.                 
  781.      /* 16 - INP
  782. UT LIBRARY NOT A
  783. LLOCATED */..   
  784.                 
  785.              /* 
  786. 20 - SEVERE ERRO
  787. R               
  788.  */..END..
  789.  
  790. @DM Tables
  791. %Open a Temporary Table
  792. $
  793. /*-----------(OP
  794. EN A TEMPORARY T
  795. ABLE)-----------
  796. ----*/..ADDRESS 
  797. ISPEXEC "TBOPEN"
  798.  TABLENAME "NOWR
  799. ITE SHARE"..IF R
  800. C ^= 0 THEN DO  
  801.             /* R
  802. ETURN CODES     
  803.                 
  804. */..            
  805.                 
  806.     /*  8 - TABL
  807. E DOES NOT EXIST
  808.         */..END 
  809.                 
  810.             /* 1
  811. 2 - TABLE IN USE
  812. ; ENQ FAILED    
  813. */..ELSE DO     
  814.                 
  815.     /* 16 - INPU
  816. T LIBRARY NOT AL
  817. LOCATED */..    
  818.                 
  819.             /* 2
  820. 0 - SEVERE ERROR
  821.                 
  822. */..END..
  823.  
  824. @DM Tables
  825. %Obtain Table Information
  826. $
  827. /*----------(OBT
  828. AIN TABLE INFORM
  829. ATION)----------
  830. ----*/..ADDRESS 
  831. ISPEXEC "TBQUERY
  832. " TABLENAME "KEY
  833. S("KEYNAME") NAM
  834. ES("VARNAME"),..
  835.                 
  836.  ROWNUM("ROWNUM"
  837. ) KEYNUM("KEYNUM
  838. ") NAMENUM("NAME
  839. NUM"),..        
  840.          POSITIO
  841. N("CRPNAME")"..I
  842. F RC ^= 0 THEN D
  843. O              /
  844. *   RETURN CODES
  845.                 
  846.     */..        
  847.                 
  848.         /*   12 
  849. - TABLE IS NOT O
  850. PEN          */.
  851. .END            
  852.                 
  853.  /*   16 - DATA 
  854. TRUNCATION      
  855.       */..ELSE D
  856. O               
  857.           /*   2
  858. 0 - SEVERE ERROR
  859.                *
  860. /....END..
  861.  
  862. @DM Tables
  863. %Save a Table
  864. $
  865. /*--------------
  866. --(SAVE A TABLE)
  867. ----------------
  868. ----*/..ADDRESS 
  869. ISPEXEC "TBSAVE"
  870.  TABLENAME "REPL
  871. COPY NAME("ALTNA
  872. ME"),..         
  873.         PAD("PER
  874. CENT") LIBRARY("
  875. LIBNAME")"..IF R
  876. C ^= 0 THEN DO  
  877.             /* R
  878. ETURN CODES     
  879.                 
  880.  */..           
  881.                 
  882.      /* 12 - TAB
  883. LE IS NOT OPEN  
  884.           */..EN
  885. D               
  886.               /*
  887.  16 - OUTPUT LIB
  888. RARY NOT ALLOCAT
  889. ED */..ELSE DO  
  890.                 
  891.        /* 20 - S
  892. EVERE ERROR     
  893.             */..
  894. ..END..
  895.  
  896. @DM Tables
  897. %Close and Save a Table
  898. $
  899. /*------------(C
  900. LOSE AND SAVE A 
  901. TABLE)----------
  902. -----*/..ADDRESS
  903.  ISPEXEC "TBCLOS
  904. E" TABLENAME "RE
  905. PLCOPY NAME("ALT
  906. NAME"),..       
  907.           PAD("P
  908. ERCENT") LIBRARY
  909. ("LIBNAME")"..IF
  910.  RC ^= 0 THEN DO
  911.               /*
  912.  RETURN CODES   
  913.                 
  914.    */..         
  915.                 
  916.        /* 12 - T
  917. ABLE IS NOT OPEN
  918.             */..
  919. END             
  920.                 
  921. /* 16 - OUTPUT L
  922. IBRARY NOT ALLOC
  923. ATED */..ELSE DO
  924.                 
  925.          /* 20 -
  926.  SEVERE ERROR   
  927.               */
  928. ....END..
  929.  
  930. @DM Tables
  931. %Close a Table without Saving
  932. $
  933. /*--------(CLOSE
  934.  A TABLE WITHOUT
  935.  SAVING)--------
  936. ----*/..ADDRESS 
  937. ISPEXEC "TBEND" 
  938. TABLENAME..IF RC
  939.  ^= 0 THEN DO   
  940.              /* 
  941. RETURN CODES    
  942.                 
  943. */..            
  944.                 
  945.       /* 12 - TA
  946. BLE IS NOT OPEN 
  947.          */..END
  948.                 
  949.                /
  950. * 20 - SEVERE ER
  951. ROR             
  952.   */..ELSE DO...
  953. .END..
  954.  
  955. @DM Tables
  956. %Erase a Table
  957. $
  958. /*--------------
  959. --(ERASE A TABLE
  960. )---------------
  961. ----*/..ADDRESS 
  962. ISPEXEC "TBERASE
  963. " TABLENAME "LIB
  964. RARY("LIBNAME")"
  965. ..IF RC ^= 0 THE
  966. N DO            
  967.   /* RETURN CODE
  968. S               
  969.        */..     
  970.                 
  971.            /*  8
  972.  - TABLE NOT IN 
  973. OUTPUT LIBRARY  
  974. */..END         
  975.                 
  976.     /* 12 - TABL
  977. E IN USE; ENQ FA
  978. ILED     */..ELS
  979. E DO            
  980.              /* 
  981. 16 - TABLE OUTPU
  982. T LIBRARY NOT   
  983.   */..          
  984.                 
  985.       /*      AL
  986. LOCATED         
  987.            */..E
  988. ND              
  989.                /
  990. * 20 - SEVERE ER
  991. ROR             
  992.     */..
  993.  
  994. @DM Tables
  995. %Retrieve Table Statistics
  996. $
  997. /*----------(RET
  998. RIEVE TABLE STAT
  999. ISTICS)---------
  1000. ----*/..ADDRESS 
  1001. ISPEXEC "TBSTATS
  1002. " TABLENAME " US
  1003. ER("USERID"),.. 
  1004.                 
  1005. CTIME("CTIMNAME"
  1006. ) CDATE("CDATNAM
  1007. E"),..          
  1008.        UDATE("UD
  1009. ATNAME") UTIME("
  1010. UTIMNAME")..    
  1011.              ROW
  1012. CREAT("RCRTNAME"
  1013. ) ROWCURR("RCURN
  1014. AME"),..        
  1015.          ROWUPD(
  1016. "RUPDNAME") TABL
  1017. EUPD("TUPDNAME")
  1018. ,..             
  1019.     SERVICE("SER
  1020. VNAME") RETCODE(
  1021. "RETCNAME"),..  
  1022.                S
  1023. TATUS1("STA1NAME
  1024. ") STATUS2("STA2
  1025. NAME"),..       
  1026.           STATUS
  1027. 3("STA3NAME") LI
  1028. BRARY("LIBNAME")
  1029. "..IF RC ^= 0 TH
  1030. EN DO           
  1031.    /*  RETURN CO
  1032. DES             
  1033.         */..    
  1034.                 
  1035.             /*  
  1036.  0 - NORMAL RETU
  1037. RN EVEN IF TABLE
  1038.  */..END        
  1039.                 
  1040.      /*       DO
  1041. ES NOT EXIST    
  1042.           */..EL
  1043. SE DO           
  1044.               /*
  1045.   16 - VARIABLE 
  1046. VALUE TRUNCATED 
  1047.    */..         
  1048.                 
  1049.        /*  20 - 
  1050. SEVERE ERROR    
  1051.             */..
  1052. END..
  1053.  
  1054. @DM Tables
  1055. %Add a Row to a Table
  1056. $
  1057. /*------------(A
  1058. DD A ROW TO A TA
  1059. BLE)------------
  1060. ----*/..ADDRESS 
  1061. ISPEXEC "TBADD" 
  1062. TABLENAME "SAVE(
  1063. "NAMELIST") ORDE
  1064. R MULT("NROWS")"
  1065. ..IF RC ^= 0 THE
  1066. N DO            
  1067.     /* RETURN CO
  1068. DES             
  1069.        */..     
  1070.                 
  1071.              /* 
  1072.  4 - NUMBER OF R
  1073. OWS PARAMETER   
  1074. */..END         
  1075.                 
  1076.       /*      WA
  1077. S SPECIFIED BUT 
  1078. STORAGE  */..ELS
  1079. E DO            
  1080.                /
  1081. *      WAS ONLY 
  1082. OBTAINED FOR A  
  1083.   */..          
  1084.                 
  1085.         /*      
  1086. SINGLE ROW      
  1087.            */..E
  1088. ND              
  1089.                 
  1090.  /*  8 - KEY TAB
  1091. LES: A ROW WITH 
  1092. THE */..        
  1093.                 
  1094.           /*    
  1095.   SAME KEY ALREA
  1096. DY EXISTS;   */.
  1097. .               
  1098.                 
  1099.    /*      CRP S
  1100. ET TO TOP       
  1101.       */..      
  1102.                 
  1103.             /* 1
  1104. 2 - TABLE IS NOT
  1105.  OPEN          *
  1106. /..             
  1107.                 
  1108.      /* 20 - SEV
  1109. ERE ERROR       
  1110.         */..
  1111.  
  1112. @DM Tables
  1113. %Delete a Row from a Table
  1114. $
  1115. /*----------(DEL
  1116. ETE A ROW FROM A
  1117.  TABLE)---------
  1118. ------*/..ADDRES
  1119. S ISPEXEC "TBDEL
  1120. ETE" TABLENAME..
  1121. IF RC ^= 0 THEN 
  1122. DO              
  1123. /* RETURN CODES 
  1124.                 
  1125.      */..       
  1126.                 
  1127.          /* 8  -
  1128.  KEY TABLES: ROW
  1129.  DOES NOT     */
  1130. ..END           
  1131.                 
  1132.   /*      EXIST;
  1133.  CRP SET TO TOP 
  1134.        */..ELSE 
  1135. DO              
  1136.            /*   
  1137.  - NON-KEY TABLE
  1138. S: CRP REMAINS  
  1139. */..            
  1140.                 
  1141.     /*      AT T
  1142. HE TOP          
  1143.          */..END
  1144.                 
  1145.              /* 
  1146. 12 - TABLE IS NO
  1147. T OPEN          
  1148.   */..          
  1149.                 
  1150.       /* 20 - SE
  1151. VERE ERROR      
  1152.            */..
  1153.  
  1154. @DM Tables
  1155. %Retrieve a Row from a Table
  1156. $
  1157. /*---------(RETR
  1158. IEVE A ROW FROM 
  1159. A TABLE)--------
  1160. -------*/..ADDRE
  1161. SS ISPEXEC "TBGE
  1162. T" TABLENAME "SA
  1163. VENAME("VARNAME"
  1164. ),..            
  1165.      ROWID("ROWI
  1166. DNAME") NOREAD P
  1167. OSITION("CRPNAME
  1168. ")"..IF RC ^= 0 
  1169. THEN DO         
  1170.     /* RETURN CO
  1171. DES             
  1172.           */..  
  1173.                 
  1174.              /* 
  1175.  8  - KEYED TABL
  1176. ES: ROW DOES NOT
  1177.    */..END      
  1178.                 
  1179.       /*       E
  1180. XIST, CRP SET TO
  1181.  TOP        */..
  1182. ELSE DO         
  1183.                /
  1184. *     - NON-KEY 
  1185. TABLES: CRP REMA
  1186. INS  */..       
  1187.                 
  1188.         /*      
  1189.  AT THE TOP     
  1190.               */
  1191. ..END           
  1192.                 
  1193.  /*  12 - TABLE 
  1194. IS NOT OPEN     
  1195.        */..     
  1196.                 
  1197.           /*  16
  1198.  - DATA TRUNCATI
  1199. ON OR           
  1200. */..            
  1201.                 
  1202.    /*       INSU
  1203. FFICIENT SPACE P
  1204. ROVIDED  */..   
  1205.                 
  1206.             /*  
  1207.      FOR ALL EXT
  1208. ENSION VARIABLE 
  1209.   */..          
  1210.                 
  1211.      /*       NA
  1212. MES             
  1213.            */.. 
  1214.                 
  1215.               /*
  1216.   20 - SEVERE ER
  1217. ROR             
  1218.     */..
  1219.  
  1220. @DM Tables
  1221. %Update a Row in a Table
  1222. $
  1223. /*-----------(UP
  1224. DATE A ROW IN A 
  1225. TABLE)----------
  1226. -------*/..ADDRE
  1227. SS ISPEXEC "TBPU
  1228. T" TABLENAME "SA
  1229. VE("NAMELIST") O
  1230. RDER"..IF RC ^= 
  1231. 0 THEN DO       
  1232.        /* RETURN
  1233.  CODES          
  1234.            */.. 
  1235.                 
  1236.                /
  1237. * 8  - KEY TABLE
  1238. S: KEYS DID NOT 
  1239.    */..END      
  1240.                 
  1241.        /*      M
  1242. ATCH; CRP SET TO
  1243.  TOP       */..E
  1244. LSE DO          
  1245.                /
  1246. *    - NON-KEY T
  1247. ABLES; CRP REMAI
  1248. NS */..         
  1249.                 
  1250.        /*      A
  1251. T THE TOP       
  1252.            */..E
  1253. ND              
  1254.                /
  1255. * 12 - TABLE IS 
  1256. NOT OPEN        
  1257.    */..         
  1258.                 
  1259.        /* 16 - N
  1260. UMERIC CONVERT E
  1261. RROR       */.. 
  1262.                 
  1263.                /
  1264. * 20 - SEVERE ER
  1265. ROR             
  1266.    */..
  1267.  
  1268. @DM Tables
  1269. %Modify a Row in a Table
  1270. $
  1271. /*-----------(MO
  1272. DIFY A ROW IN A 
  1273. TABLE)----------
  1274. -------*/..ADDRE
  1275. SS ISPEXEC "TBMO
  1276. D" TABLENAME "SA
  1277. VE("NAMELIST") O
  1278. RDER"..IF RC ^= 
  1279. 0 THEN DO       
  1280.        /* RETURN
  1281.  CODES          
  1282.             */..
  1283.                 
  1284.                 
  1285. /* 8  - KEY TABL
  1286. ES: KEYS DID NOT
  1287.      */..END    
  1288.                 
  1289.          /*     
  1290.  MATCH; NEW ROW 
  1291. ADDED TO      */
  1292. ..ELSE DO       
  1293.                 
  1294.   /*      TABLE 
  1295.                 
  1296.        */..     
  1297.                 
  1298.            /* 12
  1299.  - TABLE IS NOT 
  1300. OPEN            
  1301. */..END         
  1302.                 
  1303.     /* 16 - NUME
  1304. RIC CONVERT ERRO
  1305. R        */..   
  1306.                 
  1307.              /* 
  1308. 20 - SEVERE ERRO
  1309. R               
  1310.   */..
  1311.  
  1312. @DM Tables
  1313. %Row Exist Test
  1314. $
  1315. /*--------------
  1316. -(ROW EXIST TEST
  1317. )---------------
  1318. -------*/..ADDRE
  1319. SS ISPEXEC "TBEX
  1320. IST" TABLENAME..
  1321. IF RC ^= 0 THEN 
  1322. DO              
  1323. /* RETURN CODES 
  1324.                 
  1325.      */..       
  1326.                 
  1327.          /* 8  -
  1328.  KEY TABLES: ROW
  1329.  DOES NOT     */
  1330. ..END           
  1331.                 
  1332.   /*      EXIST;
  1333.  CRP SET TO TOP 
  1334.        */..ELSE 
  1335. DO              
  1336.            /*   
  1337.  - NON-KEY TABLE
  1338. S: SERVICE NOT  
  1339. */..            
  1340.                 
  1341.     /*      POSS
  1342. IBLE; CRP SET TO
  1343.  TOP     */..END
  1344.                 
  1345.              /* 
  1346. 12 - TABLE IS NO
  1347. T OPEN          
  1348.   */..          
  1349.                 
  1350.       /* 20 - SE
  1351. VERE ERROR      
  1352.            */...
  1353. .
  1354.  
  1355. @DM Tables
  1356. %Define a Search Argument
  1357. $
  1358. /*----------(DEF
  1359. INE A SEARCH ARG
  1360. UMENT)----------
  1361. -------*/..ADDRE
  1362. SS ISPEXEC "TBSA
  1363. RG" TABLENAME "A
  1364. RGLIST("NAMELIST
  1365. "),..           
  1366.       NEXT NAMEC
  1367. OND("NAMEPAIR")"
  1368. ..IF RC ^= 0 THE
  1369. N DO..          
  1370.                 
  1371.         /* RETUR
  1372. N CODES         
  1373.            */..E
  1374. ND              
  1375.                 
  1376.  /* 8  - NO ARGU
  1377. MENT ESTABLISHED
  1378.     */..ELSE DO 
  1379.                 
  1380.           /* 12 
  1381. - TABLE IS NOT O
  1382. PEN          */.
  1383. .               
  1384.                 
  1385.    /* 20 - SEVER
  1386. E ERROR         
  1387.       */..END..
  1388.  
  1389. @DM Tables
  1390. %Search a Table
  1391. $
  1392. /*--------------
  1393. -(SEARCH A TABLE
  1394. )---------------
  1395. -------*/..ADDRE
  1396. SS ISPEXEC "TBSC
  1397. AN" TABLENAME "A
  1398. RGLIST("NAMELIST
  1399. "),..           
  1400.       SAVENAME("
  1401. VARNAME") ROWID(
  1402. "ROWIDNAME") NEX
  1403. T,..            
  1404.      NOREAD POSI
  1405. TION("CRPNAME") 
  1406. CONDLIST("VALLIS
  1407. T")"..IF RC ^= 0
  1408.  THEN DO        
  1409.       /* RETURN 
  1410. CODES           
  1411.            */.. 
  1412.                 
  1413.                /
  1414. * 8  - ROW DOES 
  1415. NOT EXIST, NO MA
  1416. TCH */..END     
  1417.                 
  1418.         /*      
  1419. FOUND; CRP SET T
  1420. O TOP        */.
  1421. .ELSE DO        
  1422.                 
  1423.  /* 12 - TABLE I
  1424. S NOT OPEN      
  1425.       */..      
  1426.                 
  1427.           /* 16 
  1428. - DATA TRUNCATIO
  1429. N, OR          *
  1430. /..END          
  1431.                 
  1432.    /*      INSUF
  1433. FICIENT SPACE PR
  1434. OVIDED  */..    
  1435.                 
  1436.             /*  
  1437.     FOR ALL EXTE
  1438. NSION VARIABLE  
  1439.  */..           
  1440.                 
  1441.      /*      NAM
  1442. ES              
  1443.           */..  
  1444.                 
  1445.               /*
  1446.  20 - SEVERE ERR
  1447. OR              
  1448.    */..
  1449.  
  1450. @DM Tables
  1451. %Set The Row Pointer to Top
  1452. $
  1453. /*--------(SET T
  1454. HE ROW POINTER T
  1455. O THE TOP)------
  1456. -------*/..ADDRE
  1457. SS ISPEXEC "TBTO
  1458. P" TABLENAME..IF
  1459.  RC ^= 0 THEN DO
  1460.                 
  1461. /* RETURN CODES 
  1462.                 
  1463.    */..         
  1464.                 
  1465.          /* 12 -
  1466.  TABLE IS NOT OP
  1467. EN          */..
  1468. END             
  1469.                 
  1470.   /* 20 - SEVERE
  1471.  ERROR          
  1472.      */..ELSE DO
  1473. ....END..
  1474.  
  1475. @DM Tables
  1476. %Set The Row Pointer to Bottom
  1477. $
  1478. /*---------(SET 
  1479. THE ROW POINTER 
  1480. TO BOTTOM)------
  1481. -------*/..ADDRE
  1482. SS ISPEXEC "TBBO
  1483. TTOM" TABLENAME 
  1484. "SAVENAME("VARNA
  1485. ME"),..         
  1486.         ROWID("R
  1487. OWIDNAME") NOREA
  1488. D POSITION("CRPN
  1489. AME")"..IF RC ^=
  1490.  0 THEN DO..    
  1491.                 
  1492.             /* R
  1493. ETURN CODES     
  1494.                 
  1495.   */..END       
  1496.                 
  1497.       /* 8  - TA
  1498. BLE IS EMPTY, CR
  1499. P SET TO TOP*/..
  1500. ELSE DO         
  1501.                 
  1502. /* 12 - TABLE IS
  1503.  NOT OPEN       
  1504.       */..      
  1505.                 
  1506.           /* 16 
  1507. - DATA TRUNCATIO
  1508. N OR            
  1509. */..END         
  1510.                 
  1511.     /*      INSU
  1512. FFICIENT SPACE P
  1513. ROVIDED   */..  
  1514.                 
  1515.               /*
  1516.       FOR ALL EX
  1517. TENSION VARIABLE
  1518.     */..        
  1519.                 
  1520.         /*      
  1521. NAMES           
  1522.               */
  1523. ..              
  1524.                 
  1525.   /* 20 - SEVERE
  1526.  ERROR          
  1527.         */..
  1528.  
  1529. @DM Tables
  1530. %Move the Row Pointer
  1531. $
  1532. /*--------------
  1533. -(MOVE THE ROW P
  1534. OINTER)---------
  1535. -------*/..ADDRE
  1536. SS ISPEXEC "TBSK
  1537. IP" TABLENAME "N
  1538. UMBER("NUM") SAV
  1539. ENAME("VARNAME")
  1540. ,..          ROW
  1541. ID("ROWIDNAME") 
  1542. ROW("ROWID") NOR
  1543. EAD POSITION("CR
  1544. PNAME")"..IF RC 
  1545. ^= 0 THEN DO..  
  1546.                 
  1547.              /* 
  1548. RETURN CODES    
  1549.                 
  1550.     */..END     
  1551.                 
  1552.        /* 8  - C
  1553. RP WOULD HAVE GO
  1554. NE BEYOND     */
  1555. ..ELSE DO       
  1556.                 
  1557.  /*      LIMIT O
  1558. F TABLE, CRP SET
  1559.  TO TOP */..    
  1560.                 
  1561.            /* 12
  1562.  - TABLE IS NOT 
  1563. OPEN            
  1564.   */..END       
  1565.                 
  1566.      /* 16 - DAT
  1567. A TRUNCATION OR 
  1568.             */..
  1569.                 
  1570.                /
  1571. *      INSUFFICI
  1572. ENT SPACE PROVID
  1573. ED    */..      
  1574.                 
  1575.          /*     
  1576.  FOR ALL EXTENSI
  1577. ON VARIABLE     
  1578. */..            
  1579.                 
  1580.    /*      NAMES
  1581.                 
  1582.           */..  
  1583.                 
  1584.              /* 
  1585. 20 - SEVERE ERRO
  1586. R               
  1587.     */..
  1588.  
  1589. @DM Tables
  1590. %Clear Table Variables
  1591. $
  1592. /*-------------(
  1593. CLEAR TABLE VARI
  1594. ABLES)----------
  1595. -------*/..ADDRE
  1596. SS ISPEXEC "TBVC
  1597. LEAR" TABLENAME.
  1598. .IF RC ^= 0 THEN
  1599.  DO             
  1600.    /* RETURN COD
  1601. ES              
  1602.     */..        
  1603.                 
  1604.           /* 12 
  1605. - TABLE IS NOT O
  1606. PEN        */..E
  1607. ND              
  1608.                 
  1609.  /* 20 - SEVERE 
  1610. ERROR           
  1611.   */..ELSE DO...
  1612. .END....
  1613.  
  1614. @DM Tables
  1615. %Sort a Table
  1616. $
  1617. /*--------------
  1618. ---(SORT A TABLE
  1619. )---------------
  1620. -------*/..ADDRE
  1621. SS ISPEXEC "TBSO
  1622. RT" TABLENAME "F
  1623. IELDS("SORTLIST"
  1624. )"..IF RC ^= 0 T
  1625. HEN DO          
  1626.       /* RETURN 
  1627. CODES           
  1628.       */..      
  1629.                 
  1630.             /* 1
  1631. 2 - TABLE IS NOT
  1632.  OPEN       */..
  1633. END             
  1634.                 
  1635.   /* 16 - NUMERI
  1636. C CONVERT ERROR 
  1637.   */..ELSE DO   
  1638.                 
  1639.         /* 20 - 
  1640. SEVERE ERROR    
  1641.         */....EN
  1642. D..
  1643.  
  1644. @DM File Tailoring
  1645. %Begin File Tailoring
  1646. $
  1647. /*-------------(
  1648. BEGIN FILE TAILO
  1649. RING)-----------
  1650. ----*/..ADDRESS 
  1651. ISPEXEC "FTOPEN 
  1652. TEMP"..IF RC ^= 
  1653. 0 THEN DO       
  1654.         /* RETUR
  1655. N CODES         
  1656.              */.
  1657. .               
  1658.                 
  1659.   /*  8 - FILE T
  1660. AILORING ALREADY
  1661.  IN    */..END  
  1662.                 
  1663.             /*  
  1664.     PROGRESS    
  1665.                 
  1666.  */..ELSE DO    
  1667.                 
  1668.       /* 12 - OU
  1669. TPUT FILE IN USE
  1670. ;          */.. 
  1671.                 
  1672.                 
  1673. /*      ENQ FAIL
  1674. ED              
  1675.      */..END    
  1676.                 
  1677.           /* 16 
  1678. - SKELETON LIBRA
  1679. RY AND/OR      *
  1680. /..             
  1681.                 
  1682.     /*      OUTP
  1683. UT FILE ARE NOT 
  1684.          */..   
  1685.                 
  1686.               /*
  1687.       ALLOCATED 
  1688.                 
  1689.    */..         
  1690.                 
  1691.         /* 20 - 
  1692. SEVERE ERROR    
  1693.              */.
  1694. .
  1695.  
  1696. @DM File Tailoring
  1697. %Include a Skeleton
  1698. $
  1699. /*--------------
  1700. (INCLUDE A SKELE
  1701. TON)------------
  1702. ----*/..ADDRESS 
  1703. ISPEXEC "FTINCL"
  1704.  SKELNAME "NOFT"
  1705. ..IF RC ^= 0 THE
  1706. N DO            
  1707.   /* RETURN CODE
  1708. S               
  1709.         */..    
  1710.                 
  1711.             /*  
  1712. 8 - SKELETON DOE
  1713. S NOT EXIST     
  1714.   */..END       
  1715.                 
  1716.       /* 12 - SK
  1717. ELETON OR TABLE 
  1718. IN USE;     */..
  1719. ELSE DO         
  1720.                 
  1721. /*      ENQ FAIL
  1722. ED              
  1723.       */..      
  1724.                 
  1725.           /* 16 
  1726. - DATA TRUNCATIO
  1727. N OCCURRED; OR  
  1728. */..END         
  1729.                 
  1730.     /*      SKEL
  1731. ETON LIBRARY AND
  1732. /OR OUTPUT*/..  
  1733.                 
  1734.               /*
  1735.       FILE NOT A
  1736. LLOCATED        
  1737.     */..        
  1738.                 
  1739.         /* 20 - 
  1740. SEVERE ERROR    
  1741.               */
  1742. ..
  1743.  
  1744. @DM File Tailoring
  1745. %End File Tailoring
  1746. $
  1747. /*--------------
  1748. (END FILE TAILOR
  1749. ING)------------
  1750. ----*/..ADDRESS 
  1751. ISPEXEC "FTCLOSE
  1752.  NAME("MEMBNAME"
  1753. ) LIBRARY("LIBNA
  1754. ME") NOREPL"..IF
  1755.  RC ^= 0 THEN DO
  1756.               /*
  1757.  RETURN CODES   
  1758.                 
  1759.     */..        
  1760.                 
  1761.         /*  4  -
  1762.  MEMBER EXISTS I
  1763. N OUTPUT      */
  1764. ..END           
  1765.                 
  1766.   /*       LIBRA
  1767. RY AND NOREPL WA
  1768. S       */..ELSE
  1769.  DO             
  1770.             /*  
  1771.      SPECIFIED  
  1772.                 
  1773.   */..          
  1774.                 
  1775.       /*  8  - F
  1776. ILE NOT OPEN    
  1777.             */..
  1778. END             
  1779.                 
  1780. /* 12  - OUTPUT 
  1781. FILE IN USE;    
  1782.       */..      
  1783.                 
  1784.           /*    
  1785.    ENQ FAILED   
  1786.                 
  1787. */..            
  1788.                 
  1789.     /* 20  - SEV
  1790. ERE ERROR       
  1791.           */..
  1792.  
  1793. @DM File Tailoring
  1794. %Erase File Tailoring Output
  1795. $
  1796. /*---------(ERAS
  1797. E FILE TAILORING
  1798.  OUTPUT)--------
  1799. ----*/..ADDRESS 
  1800. ISPEXEC "FTERASE
  1801. " MEMBNAME "LIBR
  1802. ARY("LIBNAME")".
  1803. .IF RC ^= 0 THEN
  1804.  DO             
  1805.  /* RETURN CODES
  1806.                 
  1807.       */..      
  1808.                 
  1809.           /*  8 
  1810.  - MEMBER DOES N
  1811. OT EXIST       *
  1812. /..END          
  1813.                 
  1814.    /* 12 - OUTPU
  1815. T LIBRARY IN USE
  1816. ; ENQ   */..ELSE
  1817.  DO             
  1818.             /*  
  1819.     FAILED      
  1820.                 
  1821.  */..           
  1822.                 
  1823.      /* 16 - OUT
  1824. PUT LIBRARY NOT 
  1825. ALLOCATED */..EN
  1826. D               
  1827.               /*
  1828.  20 - SEVERE ERR
  1829. OR              
  1830.    */....
  1831.  
  1832. @TSO
  1833. %Allocate New PDS
  1834. $
  1835. "ALLOC DATASET("
  1836. DSN") DDNAME("DD
  1837. N") NEW REUSE",.
  1838. .       "SPACE("
  1839. PRIMSP","SECSP")
  1840.  TRACKS DSORG(PD
  1841. )",..       "UNI
  1842. T(3390) LRECL("L
  1843. RECL") RECFM("RE
  1844. CFM")"..
  1845.  
  1846. @TSO
  1847. %Allocate Like
  1848. $
  1849. "ALLOC DATASET("
  1850. DSN") DDNAME("DD
  1851. N") LIKE("MODELD
  1852. SN")"....
  1853.  
  1854. @TSO
  1855. %Allocate Mod
  1856. $
  1857. "ALLOC DATASET("
  1858. DSN") DDNAME("DD
  1859. N") MOD REUSE"..
  1860. ..
  1861.  
  1862. @TSO
  1863. %Allocate Old
  1864. $
  1865. "ALLOC DATASET("
  1866. DSN") DDNAME("DD
  1867. N") OLD REUSE"..
  1868. ..
  1869.  
  1870. @TSO
  1871. %Free File
  1872. $
  1873. "FREE FI("DDN")"
  1874.  
  1875. @TSO
  1876. %Output File
  1877. $
  1878. DDN = 'AUSGABE'.
  1879. .DSN = USERID()'
  1880. .PRIVAT.DATA(CHG
  1881. OWNER)'..
  1882.  
  1883. @TSO
  1884. %Input File
  1885. $
  1886. DDN = 'EINGABE'.
  1887. .DSN = USERID()'
  1888. .PRIVAT.DATA(CHG
  1889. OWNER)'..
  1890.  
  1891. @TSO
  1892. %Allocate Shr
  1893. $
  1894. "ALLOC DATASET("
  1895. DSN") DDNAME("DD
  1896. N") SHR REUSE"..
  1897.  
  1898. @RACF Commands
  1899. %AddGroup
  1900. $
  1901. /*-------------(
  1902. ADDGROUP: VERIFY
  1903.  PLEASE)--------
  1904. ----*/..ADDGROUP
  1905.  (GROUP-NAME ...
  1906. ),..         DAT
  1907. A('INSTALLATION-
  1908. DEFINED-DATA'),.
  1909. .         DFP(,.
  1910. .              D
  1911. ATAAPPL(APPLICAT
  1912. ION-NAME),..    
  1913.           DATACL
  1914. AS(DATA-CLASS-NA
  1915. ME),..          
  1916.     MGMTCLAS(MAN
  1917. AGEMENT-CLASS-NA
  1918. ME),..          
  1919.     STORCLAS(STO
  1920. RAGE-CLASS-NAME)
  1921. ,..            )
  1922. ,..         MODE
  1923. L(DSNAME),..    
  1924.      OMVS(,..   
  1925.             GID(
  1926. GROUP-IDENTIFIER
  1927. ),..            
  1928.  ),..         OW
  1929. NER(USERID OR GR
  1930. OUP-NAME),..    
  1931.      SUPGROUP(GR
  1932. OUP-NAME),..    
  1933.      TERMUACC /*
  1934.  TERMUACC | NOTE
  1935. RMUACC */....
  1936.  
  1937. @RACF Commands
  1938. %AdDSD
  1939. $
  1940. /*--------------
  1941. -(ADDSD: VERIFY 
  1942. PLEASE)---------
  1943. ----*/..ADDSD (P
  1944. ROFILE-NAME-1 /*
  1945.  /PASSWORD ...*/
  1946. ),..      ADDCAT
  1947. EGORY(CATEGORY-N
  1948. AME /* ... */),.
  1949. .      AUDIT( AC
  1950. CESS-ATTEMPT /*(
  1951. AUDIT-ACCESS-LEV
  1952. EL)...*/),..    
  1953.   DATA('INSTALLA
  1954. TION-DEFINED-DAT
  1955. A'),..      DFP(
  1956. RESOWNER(USERID 
  1957. OR GROUP-NAME)),
  1958. ..      ERASE,..
  1959.       FCLASS(PRO
  1960. FILE-NAME-2-CLAS
  1961. S),..      FGENE
  1962. RIC,..      FILE
  1963. SEQ(NUMBER),..  
  1964.     FROM(PROFILE
  1965. -NAME-2),..     
  1966.  FVOLUME(PROFILE
  1967. -NAME-2-SERIAL),
  1968. ..      GENERIC 
  1969. /* GENERIC | MOD
  1970. EL | TAPE */,.. 
  1971.      LEVEL(NN),.
  1972. .      NOSET /* 
  1973. NOSET | SET | SE
  1974. TONLY */,..     
  1975.  NOTIFY /* (USER
  1976. ID) */,..      O
  1977. WNER(USERID OR G
  1978. ROUP-NAME),..   
  1979.    RETPD(NNNNN),
  1980. ..      SECLABEL
  1981. (SECURITY-LABEL)
  1982. ,..      SECLEVE
  1983. L(SECURITY-LEVEL
  1984. ),..      UACC(A
  1985. CCESS-AUTHORITY)
  1986. ,..      UNIT(TY
  1987. PE),..      VOLU
  1988. ME(VOLUME-SERIAL
  1989.  /* ... */ ),.. 
  1990.      WARNING....
  1991.  
  1992. @RACF Commands
  1993. %AddUser
  1994. $
  1995. /*-------------(
  1996. ADDUSER: VERIFY 
  1997. PLEASE)---------
  1998. ----*/..ADDUSER 
  1999. (USERID /*...*/ 
  2000. ),..        ADDC
  2001. ATEGORY(CATEGORY
  2002. -NAME /*...*/ ),
  2003. ..        ADSP /
  2004. * ADSP | NOADSP 
  2005. */,..        AUD
  2006. ITOR /* AUDITOR 
  2007. | NOAUDITOR */,.
  2008. .        AUTHORI
  2009. TY(GROUP-AUTHORI
  2010. TY),..        CI
  2011. CS(,..          
  2012.     OPCLASS(OPER
  2013. ATOR-CLASS1,OPER
  2014. ATOR-CLASS2 /*,.
  2015. ..*/ ),..       
  2016.        OPIDENT(O
  2017. PERATOR-ID),..  
  2018.             OPPR
  2019. TY(OPERATOR-PRIO
  2020. RITY),..        
  2021.       TIMEOUT(TI
  2022. MEOUT-VALUE),.. 
  2023.              XRF
  2024. SOFF( FORCE /* F
  2025. ORCE | NOFORCE *
  2026. /),..           
  2027.  ),..        CLA
  2028. UTH(CLASS-NAME /
  2029. *,...*/ ) /* | N
  2030. OCLAUTH */,..   
  2031.      DATA('INSTA
  2032. LLATION-DEFINED-
  2033. DATA'),..       
  2034.  DFLTGRP(GROUP-N
  2035. AME),..        D
  2036. FP(,..          
  2037.    DATAAPPL(APPL
  2038. ICATION-NAME),..
  2039.              DAT
  2040. ACLAS(DATA-CLASS
  2041. -NAME),..       
  2042.       MGMTCLAS(M
  2043. ANAGEMENT-CLASS-
  2044. NAME),..        
  2045.      STORCLAS(ST
  2046. ORAGE-CLASS-NAME
  2047. ),..           )
  2048. ,..        GRPAC
  2049. C /* GRPACC | NO
  2050. GRPACC */,..    
  2051.     LANGUAGE(,..
  2052.                 
  2053.   PRIMARY(LANGUA
  2054. GE),..          
  2055.         SECONDAR
  2056. Y(LANGUAGE),..  
  2057.               ),
  2058. ..        MODEL(
  2059. DSNAME),..      
  2060.   NAME('USER-NAM
  2061. E'),..        OI
  2062. DCARD /* OIDCARD
  2063.  | NOOIDCARD */,
  2064. ..        OMVS(,
  2065. ..              
  2066. HOME(INITIAL-DIR
  2067. ECTORY-NAME),.. 
  2068.              PRO
  2069. GRAM(PROGRAM-NAM
  2070. E),..           
  2071.    UID(USER-IDEN
  2072. TIFIER),..      
  2073.       ),..      
  2074.   OPERATIONS /* 
  2075. OPERATIONS | NOO
  2076. PERATIONS */,.. 
  2077.        OPERPARM(
  2078. ,..             
  2079.      ALTGRP(ALTE
  2080. RNATE-CONSOLE-GR
  2081. OUP),..         
  2082.          AUTH(OP
  2083. ERATOR-AUTHORITY
  2084. ),..            
  2085.       AUTO( YES 
  2086. /*| NO*/ ),..   
  2087.                C
  2088. MDSYS(SYSTEM-NAM
  2089. E),..           
  2090.        DOM( NORM
  2091. AL /* NORMAL | A
  2092. LL | NONE */ ),.
  2093. .               
  2094.    KEY(SEARCHING
  2095. -KEY),..        
  2096.           LEVEL(
  2097. MESSAGE-LEVEL),.
  2098. .               
  2099.    LOGCMDRESP( S
  2100. YSTEM /*| NO */ 
  2101. ),..            
  2102.       MFORM(MESS
  2103. AGE-FORMAT),..  
  2104.                 
  2105. MIGID( YES /* | 
  2106. NO */ ),..      
  2107.             MONI
  2108. TOR(EVENT),..   
  2109.                M
  2110. SCOPE( SYSTEM-NA
  2111. MES /* | * | *AL
  2112. L */),..        
  2113.           ROUTCO
  2114. DE( ALL /* | NON
  2115. E | ROUTING-CODE
  2116. S */ ),..       
  2117.            STORA
  2118. GE(AMOUNT),..   
  2119.                U
  2120. D( YES /*| NO */
  2121.  ),..           
  2122.      ),..       
  2123.  OWNER(USERID OR
  2124.  GROUP-NAME),.. 
  2125.        PASSWORD(
  2126. PASSWORD) /* | N
  2127. OPASSWORD */,.. 
  2128.        SECLABEL(
  2129. SECLABEL-NAME),.
  2130. .        SECLEVE
  2131. L(SECLEVEL-NAME)
  2132. ,..        SPECI
  2133. AL /* SPECIAL | 
  2134. NOSPECIAL */,.. 
  2135.        TSO(,..  
  2136.            ACCTN
  2137. UM(ACCOUNT-NUMBE
  2138. R),..           
  2139.   DEST(DESTINATI
  2140. ON-ID),..       
  2141.       HOLDCLASS(
  2142. HOLD-CLASS),..  
  2143.            JOBCL
  2144. ASS(JOB-CLASS),.
  2145. .             MA
  2146. XSIZE(MAXIMUM-RE
  2147. GION-SIZE),..   
  2148.           MSGCLA
  2149. SS(MESSAGE-CLASS
  2150. ),..            
  2151.  PROC(LOGON-PROC
  2152. EDURE-NAME),..  
  2153.            SECLA
  2154. BEL(SECURITY-LAB
  2155. EL),..          
  2156.    SIZE(DEFAULT-
  2157. REGION-SIZE),.. 
  2158.             SYSO
  2159. UTCLASS(SYSOUT-C
  2160. LASS),..        
  2161.      UNIT(UNIT-N
  2162. AME),..         
  2163.     USERDATA(USE
  2164. R-DATA),..      
  2165.      ),..       
  2166.  UACC(ACCESS-AUT
  2167. HORITY),..      
  2168.   WHEN( DAYS(DAY
  2169. -INFO) TIME(TIME
  2170. -INFO) ),..     
  2171.    WORKATTR(,.. 
  2172.                 
  2173.  WAACCNT(ACCOUNT
  2174. -NUMBER),..     
  2175.              WAA
  2176. DDR1(ADDRESS-LIN
  2177. E-1),..         
  2178.          WAADDR2
  2179. (ADDRESS-LINE-2)
  2180. ,..             
  2181.      WAADDR3(ADD
  2182. RESS-LINE-3),.. 
  2183.                 
  2184.  WAADDR4(ADDRESS
  2185. -LINE-4),..     
  2186.              WAB
  2187. LDG(BUILDING),..
  2188.                 
  2189.   WADEPT(DEPARTM
  2190. ENT),..         
  2191.          WANAME(
  2192. NAME),..        
  2193.           WAROOM
  2194. (ROOM),..       
  2195.          )....
  2196.  
  2197. @RACF Commands
  2198. %AltDSD
  2199. $
  2200. /*-------------(
  2201. ALTDSD: VERIFY P
  2202. LEASE)----------
  2203. ----*/..ALTDSD  
  2204. (PROFILE-NAME /*
  2205.  /PASSWORD ...*/
  2206. ),..        ADDC
  2207. ATEGORY(CATEGORY
  2208. -NAME /*...*/ ),
  2209. ..        DELCAT
  2210. EGORY /* ({CATEG
  2211. ORY-NAME ...|*} 
  2212. ) */,..        A
  2213. DDVOL(VOLUME-SER
  2214. IAL) /* | DELVOL
  2215. (VOLUME-SERIAL) 
  2216. */,..        ALT
  2217. VOL(OLD-VOLUME-S
  2218. ERIAL NEW-VOLUME
  2219. -SERIAL),..     
  2220.    AUDIT( ACCESS
  2221. -ATTEMPT /* (AUD
  2222. IT-ACCESS-LEVEL)
  2223.  ...*/ ),..     
  2224.    DFP(RESOWNER(
  2225. USERID OR GROUP-
  2226. NAME)) /* | NODF
  2227. P */, ..        
  2228. DATA('INSTALLATI
  2229. ON-DEFINED-DATA'
  2230. ) /* | NODATA */
  2231.  ,..        ERAS
  2232. E /* | NOERASE *
  2233. /,..        GENE
  2234. RIC /* | NOSET |
  2235.  SET */,..      
  2236.   GLOBALAUDIT( A
  2237. CCESS-ATTEMPT /*
  2238.  (AUDIT-ACCESS-L
  2239. EVEL) ...) */,..
  2240.         LEVEL(NN
  2241. ),..        NOTI
  2242. FY(USERID) /* | 
  2243. NONOTIFY */ ..  
  2244.       OWNER(USER
  2245. ID OR GROUP-NAME
  2246. ),..        RETP
  2247. D(NNNNN),..     
  2248.    SECLABEL(SECL
  2249. ABEL-NAME) /* | 
  2250. NOSECLABEL */,  
  2251. ..        SECLEV
  2252. EL(SECLEVEL-NAME
  2253. ) /* | NOSECLEVE
  2254. L */,..        U
  2255. ACC(ACCESS-AUTHO
  2256. RITY),..        
  2257. UNIT(TYPE),..   
  2258.      VOLUME(VOLU
  2259. ME-SERIAL),..   
  2260.      WARNING /* 
  2261. | NOWARNING */ .
  2262. ...
  2263.  
  2264. @RACF Commands
  2265. %AltGroup
  2266. $
  2267. /*-------------(
  2268. ALTGROUP: VERIFY
  2269.  PLEASE)--------
  2270. ----*/..ALTGROUP
  2271.  (GROUP-NAME  /*
  2272.  ... */ ),      
  2273.                 
  2274.             ..  
  2275.        DATA('INS
  2276. TALLATION-DEFINE
  2277. D-DATA')    /* |
  2278.  NODATA     */, 
  2279. ..         DFP(,
  2280. ..              
  2281. DATAAPPL(APPLICA
  2282. TION-NAME)      
  2283. /* | NODATAAPPL 
  2284. */,..           
  2285.    DATACLAS(DATA
  2286. -CLASS-NAME)    
  2287.    /* | NODATACL
  2288. AS */, ..       
  2289.        MGMTCLAS(
  2290. MANAGEMENT-CLASS
  2291. -NAME) /* | NOMG
  2292. MTCLAS */,..    
  2293.           STORCL
  2294. AS(STORAGE-CLASS
  2295. -NAME)    /* | N
  2296. OSTORCLAS */, ..
  2297.             ),..
  2298.          NODFP,.
  2299. .         MODEL(
  2300. DSNAME) | NOMODE
  2301. L,..         OMV
  2302. S(,..           
  2303.     GID(GROUP-ID
  2304. ENTIFIER) /* | N
  2305. OGID */,..      
  2306.        ),..     
  2307.     /* | NOOMVS 
  2308. */, ..         O
  2309. WNER(USERID OR G
  2310. ROUP-NAME),..   
  2311.       SUPGROUP(G
  2312. ROUP-NAME),..   
  2313.       TERMUACC /
  2314. * | NOTERMUACC *
  2315. / ....
  2316.  
  2317. @RACF Commands
  2318. %AltUser
  2319. $
  2320. /*-------------(
  2321. ALTUSER: VERIFY 
  2322. PLEASE)---------
  2323. ----*/..ALTUSER 
  2324. (USERID  /* ... 
  2325. */),..        AD
  2326. DCATEGORY(CATEGO
  2327. RY-NAME /* ... *
  2328. /),..        /* 
  2329. | DELCATEGORY(CA
  2330. TEGORY-NAME ...|
  2331. *) */, ..       
  2332.  ADSP    /* | NO
  2333. ADSP    */,..   
  2334.      AUDITOR /* 
  2335. | NOAUDITOR */,.
  2336. .        AUTHORI
  2337. TY(GROUP-AUTHORI
  2338. TY),..        CI
  2339. CS(,..          
  2340.     OPCLASS(OPER
  2341. ATOR-CLASS1,OPER
  2342. ATOR-CLASS2,/* .
  2343. .. */),..       
  2344.        /* | ADDO
  2345. PCLASS(OPERATOR-
  2346. CLASS1,OPERATOR-
  2347. CLASS2,...) */, 
  2348. ..              
  2349. /* | DELOPCLASS(
  2350. OPERATOR-CLASS1,
  2351. OPERATOR-CLASS2,
  2352. ...) */,..      
  2353.         /* | NOO
  2354. PCLASS */,..    
  2355.           OPIDEN
  2356. T(OPERATOR-ID)  
  2357.     /* | NOOPIDE
  2358. NT */,..        
  2359.       OPPRTY(OPE
  2360. RATOR-PRIORITY) 
  2361. /* | NOOPPRTY  *
  2362. /,..            
  2363.   TIMEOUT(TIMEOU
  2364. T-VALUE)    /* |
  2365.  NOTIMEOUT */,..
  2366.               XR
  2367. FSOFF(FORCE  /* 
  2368. | NOFORCE */ ) /
  2369. * | NOXRFSOFF */
  2370. ,..            )
  2371. ,..        /* | 
  2372. NOCICS */,..    
  2373.     CLAUTH(CLASS
  2374. -NAME  /* ... */
  2375.  ) /* | NOCLAUTH
  2376.  (CLASS-NAME ...
  2377. ) */,..        D
  2378. ATA('INSTALLATIO
  2379. N-DEFINED-DATA')
  2380.  /* | NODATA */,
  2381. ..        DFLTGR
  2382. P(GROUP-NAME),..
  2383.         DFP(,.. 
  2384.             DATA
  2385. APPL(APPLICATION
  2386. -NAME)      /* |
  2387.  NODATAAPPL */,.
  2388. .             DA
  2389. TACLAS(DATA-CLAS
  2390. S-NAME)       /*
  2391.  | NODATACLAS */
  2392. ,..             
  2393. MGMTCLAS(MANAGEM
  2394. ENT-CLASS-NAME) 
  2395. /* | NOMGMTCLAS 
  2396. */,..           
  2397.   STORCLAS(STORA
  2398. GE-CLASS-NAME)  
  2399.   /* | NOSTORCLA
  2400. S */,..         
  2401.   ),..        /*
  2402.  | NODFP */,..  
  2403.       GROUP(GROU
  2404. P-NAME),..      
  2405.   GRPACC /* | NO
  2406. GRPACC*/,..     
  2407.    LANGUAGE(,.. 
  2408.                 
  2409.  PRIMARY(LANGUAG
  2410. E)   /* | NOPRIM
  2411. ARY   */,..     
  2412.              SEC
  2413. ONDARY(LANGUAGE)
  2414.  /* | NOSECONDAR
  2415. Y */,..         
  2416.        ),       
  2417.                 
  2418.                 
  2419.        ..       
  2420.  /* | NOLANGUAGE
  2421.  */,..        MO
  2422. DEL(DSNAME) /* |
  2423.  NOMODEL */,..  
  2424.       NAME('USER
  2425. -NAME'),..      
  2426.   OIDCARD /* | N
  2427. OOIDCARD */,..  
  2428.       OMVS(,..  
  2429.             HOME
  2430. (INITIAL-DIRECTO
  2431. RY-NAME) /* | NO
  2432. HOME    */,..   
  2433.            PROGR
  2434. AM(PROGRAM-NAME)
  2435.         /* | NOP
  2436. ROGRAM */,..    
  2437.           UID(US
  2438. ER-IDENTIFIER)  
  2439.        /* | NOUI
  2440. D     */,..     
  2441.        ),..     
  2442.    /* | NOOMVS *
  2443. /,..        OPER
  2444. ATIONS /* | NOOP
  2445. ERATIONS */,..  
  2446.       OPERPARM(,
  2447. ..              
  2448.     ALTGRP(ALTER
  2449. NATE-CONSOLE-GRO
  2450. UP)  /* | NOALTG
  2451. ROUP   */,..    
  2452.               AU
  2453. TH(OPERATOR-AUTH
  2454. ORITY)         /
  2455. * | NOAUTH      
  2456.  */,..          
  2457.         AUTO( YE
  2458. S /* | NO */ )  
  2459.          /* | NO
  2460. AUTO       */,..
  2461.                 
  2462.   CMDSYS(SYSTEM-
  2463. NAME)           
  2464.    /* | NOCMDSYS
  2465.      */,..      
  2466.             DOM(
  2467.  NORMAL /* | ALL
  2468.  | NONE */ ) /* 
  2469. | NODOM        *
  2470. /,..            
  2471.       KEY(SEARCH
  2472. ING-KEY)        
  2473.        /* | NOKE
  2474. Y        */,..  
  2475.                 
  2476. LEVEL(MESSAGE-LE
  2477. VEL)            
  2478.  /* | NOLEVEL   
  2479.    */,..        
  2480.           LOGCMD
  2481. RESP( SYSTEM /* 
  2482. | NO */ )  /* | 
  2483. NOLOGCMDRESP */,
  2484. ..              
  2485.     MFORM(MESSAG
  2486. E-FORMAT)       
  2487.      /* | NOMFOR
  2488. M      */,..    
  2489.               MI
  2490. GID( YES | NO ) 
  2491.                /
  2492. * | NOMIGID     
  2493.  */,..          
  2494.         MONITOR(
  2495. EVENT)          
  2496.          /* | NO
  2497. MONITOR    */,..
  2498.                 
  2499.   MSCOPE( SYSTEM
  2500. -NAMES /* | * | 
  2501. *ALL  */),..    
  2502.               /*
  2503.  | ADDMSCOPE(SYS
  2504. TEM-NAMES)      
  2505.                 
  2506.  */,..          
  2507.         /* | DEL
  2508. MSCOPE(SYSTEM-NA
  2509. MES) | NOMSCOPE 
  2510.            */,..
  2511.                 
  2512.   ROUTCODE( ALL 
  2513. /* | NONE | ROUT
  2514. ING-CODES */ ),.
  2515. .               
  2516.    /* | NOROUTCO
  2517. DE              
  2518.                 
  2519.       */,..     
  2520.              STO
  2521. RAGE(AMOUNT)    
  2522.               /*
  2523.  | NOSTORAGE    
  2524. */,..           
  2525.        UD( YES /
  2526. * | NO */ )     
  2527.         /* | NOU
  2528. D         */,.. 
  2529.                )
  2530. ,..        /* | 
  2531. NOOPERPARM */,..
  2532.         OWNER(US
  2533. ERID OR GROUP-NA
  2534. ME),..        PA
  2535. SSWORD (PASSWORD
  2536. )         /* | N
  2537. OPASSWORD */,.. 
  2538.        RESUME /*
  2539.  (DATE) */,..   
  2540.      REVOKE /* (
  2541. DATE) */,..     
  2542.    SECLABEL(SECL
  2543. ABEL-NAME)     /
  2544. * | NOSECLABEL *
  2545. /,..        SECL
  2546. EVEL(SECLEVEL-NA
  2547. ME)     /* | NOS
  2548. ECLEVEL */,..   
  2549.      SPECIAL    
  2550.                 
  2551.  /* | NOSPECIAL 
  2552.  */,..        TS
  2553. O (,..          
  2554.     ACCTNUM(ACCO
  2555. UNT-NUMBER)     
  2556.  /* | NOACCTNUM 
  2557.     */,..       
  2558.        DEST(DEST
  2559. INATION-ID)     
  2560.     /* | NODEST 
  2561.        */,..    
  2562.           HOLDCL
  2563. ASS(HOLD-CLASS) 
  2564.        /* | NOHO
  2565. LDCLASS   */,.. 
  2566.              JOB
  2567. CLASS(JOB-CLASS)
  2568.           /* | N
  2569. OJOBCLASS    */,
  2570. ..              
  2571. MAXSIZE(MAXIMUM-
  2572. REGION-SIZE) /* 
  2573. | NOMAXSIZE     
  2574. */,..           
  2575.    MSGCLASS(MESS
  2576. AGE-CLASS)      
  2577. /* | NOMSGCLASS 
  2578.    */,..        
  2579.       PROC(LOGON
  2580. -PROCEDURE-NAME)
  2581.    /* | NOPROC  
  2582.       */,..     
  2583.          SECLABE
  2584. L(SECLABEL-NAME)
  2585.       /* | NOSEC
  2586. LABEL    */,..  
  2587.             SIZE
  2588. (DEFAULT-REGION-
  2589. SIZE)    /* | NO
  2590. SIZE        */,.
  2591. .              S
  2592. YSOUTCLASS(SYSOU
  2593. T-CLASS)    /* |
  2594.  NOSYSOUTCLASS *
  2595. /,..            
  2596.   UNIT(UNIT-NAME
  2597. )              /
  2598. * | NOUNIT      
  2599.   */,..         
  2600.      USERDATA(US
  2601. ER-DATA)        
  2602.   /* | NOUSERDAT
  2603. A    */,..      
  2604.       ),..      
  2605.   /* | NOTSO */,
  2606. ..        UACC(A
  2607. CCESS-AUTHORITY)
  2608. ,..        UAUDI
  2609. T /* | NOUAUDIT 
  2610. */,..        WHE
  2611. N( DAYS(DAY-INFO
  2612. ) TIME(TIME-INFO
  2613. ) ),..        WO
  2614. RKATTR(,..      
  2615.             WAAC
  2616. CNT(ACCOUNT-NUMB
  2617. ER) /* | NOWAACC
  2618. NT */,..        
  2619.           WAADDR
  2620. 1(ADDRESS-LINE-1
  2621. ) /* | NOWADDR1 
  2622.  */,..          
  2623.         WAADDR2(
  2624. ADDRESS-LINE-2) 
  2625. /* | NOWADDR2  *
  2626. /,..            
  2627.       WAADDR3(AD
  2628. DRESS-LINE-3) /*
  2629.  | NOWADDR3  */,
  2630. ..              
  2631.     WAADDR4(ADDR
  2632. ESS-LINE-4) /* |
  2633.  NOWADDR4  */,..
  2634.                 
  2635.   WABLDG(BUILDIN
  2636. G)        /* | N
  2637. OWABLDG  */,..  
  2638.                 
  2639. WADEPT(DEPARTMEN
  2640. T)      /* | NOW
  2641. ADEPT  */,..    
  2642.               WA
  2643. NAME(NAME)      
  2644.       /* | NOWAN
  2645. AME  */,..      
  2646.             WARO
  2647. OM(ROOM)        
  2648.     /* | NOWAROO
  2649. M  */,..        
  2650.         )..     
  2651.    /* | NOWORKAT
  2652. TR */....
  2653.  
  2654. @RACF Commands
  2655. %Connect
  2656. $
  2657. /*-------------(
  2658. CONNECT: VERIFY 
  2659. PLEASE)---------
  2660. ----*/..CONNECT 
  2661. (USERID /* ... *
  2662. /),..        GRO
  2663. UP(GROUP-NAME),.
  2664. .        OWNER(U
  2665. SERID OR GROUP-N
  2666. AME),..        U
  2667. ACC (ACCESS-AUTH
  2668. ORITY),..       
  2669.  RESUME (DATE),.
  2670. .        REVOKE 
  2671. (DATE),..       
  2672.  AUTHORITY(GROUP
  2673. -AUTHORITY),..  
  2674.       ADSP      
  2675.  /* | NOADSP    
  2676.    */,..        
  2677. AUDITOR    /* | 
  2678. NOAUDITO     */,
  2679. ..        GRPACC
  2680.      /* | NOGRPA
  2681. CC     */,..    
  2682.     OPERATIONS /
  2683. * | NOOPERATIONS
  2684.  */, ..        S
  2685. PECIAL    /* | N
  2686. OSPECIAL    */..
  2687. ..
  2688.  
  2689. @RACF Commands
  2690. %DelDSD
  2691. $
  2692. /*--------------
  2693. (DELDSD: VERIFY 
  2694. PLEASE)---------
  2695. ----*/..DELDSD (
  2696. PROFILE-NAME /* 
  2697. ... */),..      
  2698.  GENERIC /* | NO
  2699. SET | SET */, ..
  2700.        VOLUME(VO
  2701. LUME-SERIAL) ...
  2702. .
  2703.  
  2704. @RACF Commands
  2705. %DelGroup
  2706. $
  2707. /*-------------(
  2708. DELGROUP: VERIFY
  2709.  PLEASE)--------
  2710. ----*/..DELGROUP
  2711.  (GROUP-NAME /* 
  2712. ... */) ....
  2713.  
  2714. @RACF Commands
  2715. %DelUser
  2716. $
  2717. /*-------------(
  2718. DELUSER: VERIFY 
  2719. PLEASE)---------
  2720. ----*/..DELUSER 
  2721. (USERID /* ... *
  2722. /) ....
  2723.  
  2724. @RACF Commands
  2725. %Help
  2726. $
  2727. /*--------------
  2728. -(HELP: VERIFY P
  2729. LEASE)----------
  2730. ----*/..HELP COM
  2731. MAND-NAME,..    
  2732.  ALL,..     FUNC
  2733. TION,..     OPER
  2734. ANDS (OPERAND /*
  2735.  ... */),..     
  2736. SYNTAX....
  2737.  
  2738. @RACF Commands
  2739. %ListDSD
  2740. $
  2741. /*-------------(
  2742. LISTDSD: VERIFY 
  2743. PLEASE)---------
  2744. ----*/..LISTDSD 
  2745. ALL, ..        A
  2746. UTHUSER..       
  2747.  DATASET(PROFILE
  2748. -NAME /* ... */)
  2749. ,..        /* | 
  2750. ID(NAME)     */,
  2751. ..        /* | P
  2752. REFIX(CHAR) */,.
  2753. .        DFP,.. 
  2754.        DSNS,..  
  2755.       GENERIC /*
  2756.  | NOGENERIC */,
  2757. ..        HISTOR
  2758. Y,..        NORA
  2759. CF,..        STA
  2760. TISTICS,..      
  2761.   VOLUME(VOLUME-
  2762. SERIAL /* ... */
  2763. )....
  2764.  
  2765. @RACF Commands
  2766. %ListGrp
  2767. $
  2768. /*-------------(
  2769. LISTGRP: VERIFY 
  2770. PLEASE)---------
  2771. ----*/..LISTGRP 
  2772. (GROUP-NAME /* .
  2773. .. */) /* | * */
  2774. ,..        DFP,.
  2775. .        NORACF,
  2776. ..        OMVS..
  2777. ..
  2778.  
  2779. @RACF Commands
  2780. %ListUser
  2781. $
  2782. /*-------------(
  2783. LISTUSER: VERIFY
  2784.  PLEASE)--------
  2785. ----*/..LISTUSER
  2786.  (USERID /* ... 
  2787. */) /* | * */,..
  2788.          CICS,..
  2789.          DFP,.. 
  2790.         LANGUAGE
  2791. ,..         NORA
  2792. CF,..         OM
  2793. VS,..         OP
  2794. ERPARM,..       
  2795.   TSO,..        
  2796.  WORKATTR....
  2797.  
  2798. @RACF Commands
  2799. %Password
  2800. $
  2801. /*-------------(
  2802. PASSWORD: VERIFY
  2803.  PLEASE)--------
  2804. ----*/..PASSWORD
  2805.  INTERVAL(CHANGE
  2806. -INTERVAL)   /* 
  2807. | NOINTERVAL */,
  2808. ..         PASSW
  2809. ORD(CURRENT-PASS
  2810. WORD NEW-PASSWOR
  2811. D),..         US
  2812. ER(USERID /* ...
  2813.  */)....
  2814.  
  2815. @RACF Commands
  2816. %Permit
  2817. $
  2818. /*-------------(
  2819. PERMIT: VERIFY P
  2820. LEASE)----------
  2821. ----*/..PERMIT P
  2822. ROFILE-NAME-1,..
  2823.        ACCESS(AC
  2824. CESS-AUTHORITY) 
  2825. /* | DELETE */,.
  2826. .       CLASS(PR
  2827. OFILE-NAME-1-CLA
  2828. SS),..       FCL
  2829. ASS(PROFILE-NAME
  2830. -2-CLASS),..    
  2831.    FGENERIC,..  
  2832.      FROM(PROFIL
  2833. E-NAME-2),..    
  2834.    FVOLUME(VOLUM
  2835. E-SERIAL),..    
  2836.    GENERIC,..   
  2837.     ID( NAME /* 
  2838. ... | * */ ),.. 
  2839.       RESET /* (
  2840. ALL | STANDARD |
  2841.  WHEN) */,..    
  2842.    VOLUME(VOLUME
  2843. -SERIAL),..     
  2844.   WHEN(,..      
  2845.        APPCPORT(
  2846. PARTNER-LU-NAME 
  2847. /* ... */),..   
  2848.           CONSOL
  2849. E(CONSOLE-ID /* 
  2850. ... */),..      
  2851.        JESINPUT(
  2852. JES-INPUT-DEVICE
  2853. -NAME /* ... */)
  2854. ,..             
  2855. PROGRAM( PROGRAM
  2856. -NAME /* ... | *
  2857.  */ ),..        
  2858.    ),..       TE
  2859. RMINAL(TERMINAL-
  2860. ID /* ... */)...
  2861. .
  2862.  
  2863. @RACF Commands
  2864. %RAlter
  2865. $
  2866. /*-------------(
  2867. RALTER: VERIFY P
  2868. LEASE)----------
  2869. ----*/..RALTER C
  2870. LASS-NAME,..    
  2871.    (PROFILE-NAME
  2872.  /* ... */),..  
  2873.      ADDCATEGORY
  2874. ( CATEGORY-NAME 
  2875. /* ... */ ),..  
  2876.      /* | DELCAT
  2877. EGORY ( CATEGORY
  2878. -NAME  ... | * )
  2879.  */,..       ADD
  2880. MEM (MEMBER /* .
  2881. .. */)  /* | DEL
  2882. MEM (MEMBER ...)
  2883.  */,..       ADD
  2884. VOL (VOLUME-SERI
  2885. AL /* ... */) /*
  2886.  | DELVOL (VOLUM
  2887. E-SERIAL ...) */
  2888. ,..       APPLDA
  2889. TA('APPLICATION-
  2890. DATA') /* | NOAP
  2891. PLDATA */,..    
  2892.    AUDIT( ACCESS
  2893. -ATTEMPT (AUDIT-
  2894. ACCESS-LEVEL) /*
  2895.  ... */),..     
  2896.   DATA('INSTALLA
  2897. TION-DEFINED-DAT
  2898. A') /* | NODATA 
  2899. */,..       DLFD
  2900. ATA(,..         
  2901.        RETAIN( Y
  2902. ES /* | NO */ ),
  2903. ..              
  2904.   JOBNAMES(JOBNA
  2905. ME1 /* ... */),.
  2906. .               
  2907.  /* | ADDJOBNAME
  2908. S(JOBNAME1 ...) 
  2909. */,..           
  2910.      /* | DELJOB
  2911. NAMES(JOBNAME1 .
  2912. ..) */,..       
  2913.        ),..     
  2914.   /* | NODLFDATA
  2915.  */, ..       GL
  2916. OBALAUDIT(ACCESS
  2917. -ATTEMPT (AUDIT-
  2918. ACCESS-LEVEL) /*
  2919.  ... */),..     
  2920.   LEVEL(NN),..  
  2921.      NOTIFY (USE
  2922. RID) /* | NONOTI
  2923. FY */,..       O
  2924. WNER(USERID OR G
  2925. ROUP-NAME),..   
  2926.     SECLABEL(SEC
  2927. LABEL-NAME /* ..
  2928. . */) /* | NOSEC
  2929. LABEL */,..     
  2930.   SECLEVEL(SECLE
  2931. VEL-NAME /* ... 
  2932. */) /* | NOSECLE
  2933. VEL */,..       
  2934. SESSION(,..     
  2935.            CONVS
  2936. EC( NONE /* | CO
  2937. NV | ALREADYV | 
  2938. PERSISTV | AVPV 
  2939. */ ),..         
  2940.        /* | NOCO
  2941. NVSEC */,..     
  2942.            INTER
  2943. VAL(N)          
  2944. /* | NOINTERVAL 
  2945. */,..           
  2946.      LOCK       
  2947.           /* | N
  2948. OLOCK     */,.. 
  2949.                S
  2950. ESSKEY(SESSION-K
  2951. EY) /* | NOSESSK
  2952. EY  */,..       
  2953.        ),..     
  2954.   /* | NOSESSION
  2955.  */,..       SIN
  2956. GLEDSN /* | NOSI
  2957. NGLEDSN */,..   
  2958.     SSIGNON(,.. 
  2959.                 
  2960. KEYMASKED(KEY-VA
  2961. LUE),..         
  2962.         | KEYENC
  2963. RYPTED(KEY-VALUE
  2964. ),..            
  2965.   ),..       STD
  2966. ATA(,..         
  2967.       USER(USERI
  2968. D      /* | =MEM
  2969. BER */) /* | NOU
  2970. SER       */,.. 
  2971.               GR
  2972. OUP(GROUP-NAME /
  2973. * | =MEMBER */) 
  2974. /* | NOGROUP    
  2975.   */,..         
  2976.       PRIVILEGED
  2977. ( NO   /* | YES 
  2978.     */) /* | NOP
  2979. RIVILEGED */,.. 
  2980.               TR
  2981. ACE( NO        /
  2982. * | YES     */) 
  2983. /* | NOTRACE    
  2984.   */,..         
  2985.       TRUSTED( N
  2986. O      /* | YES 
  2987.     */) /* | NOT
  2988. RUSTED    */,.. 
  2989.             ),..
  2990.        /* | NOST
  2991. DATA */,..      
  2992.  TIMEZONE( E  HH
  2993. .MM )          /
  2994. * | ( W HH.MM ) 
  2995. | NOTIMEZONE */,
  2996. ..       TVTOC  
  2997.  /* | NOTVTOC   
  2998. */,..       UACC
  2999. (ACCESS AUTHORIT
  3000. Y),..       WARN
  3001. ING /* | NOWARNI
  3002. NG */,..       W
  3003. HEN( DAYS(DAY-IN
  3004. FO) TIME(TIME-IN
  3005. FO) )....
  3006.  
  3007. @RACF Commands
  3008. %RDelete
  3009. $
  3010. /*-------------(
  3011. RDELETE: VERIFY 
  3012. PLEASE)---------
  3013. ----*/..RDELETE 
  3014. CLASS-NAME,..   
  3015.      (PROFILE-NA
  3016. ME /* ... */)...
  3017. .
  3018.  
  3019. @RACF Commands
  3020. %Remove
  3021. $
  3022. /*-------------(
  3023. REMOVE: VERIFY P
  3024. LEASE)----------
  3025. ----*/..REMOVE (
  3026. USERID /* ... */
  3027. ),..       GROUP
  3028. (GROUP-NAME),.. 
  3029.       OWNER(USER
  3030. ID OR GROUP-NAME
  3031. )....
  3032.  
  3033. @RACF Commands
  3034. %RList
  3035. $
  3036. /*--------------
  3037. (RLIST: VERIFY P
  3038. LEASE)----------
  3039. ----*/..RLIST CL
  3040. ASS-NAME, ..    
  3041.   (PROFILE-NAME 
  3042. /* ... */)      
  3043. /* | * */, ..   
  3044.    ALL,..      A
  3045. UTHUSER,..      
  3046. DLFDATA,..      
  3047. GENERIC  /* | NO
  3048. GENERIC */,..   
  3049.    HISTORY,..   
  3050.    NORACF,..    
  3051.   NOYOURACC,..  
  3052.     RESGROUP,.. 
  3053.      SESSION,.. 
  3054.      SSIGNON,.. 
  3055.      STATISTICS,
  3056. ..      STDATA,.
  3057. .      TVTOC....
  3058.  
  3059. @RACF Commands
  3060. %RVary
  3061. $
  3062. /*--------------
  3063. (RVARY: VERIFY P
  3064. LEASE)----------
  3065. ----*/..RVARY AC
  3066. TIVE     /* | IN
  3067. ACTIVE    */,.. 
  3068.      NOCLASSACT(
  3069. CLASS-NAMELIST  
  3070.  /* | * */ ),.. 
  3071.      NOTAPE,..  
  3072.     DATASHARE  /
  3073. * | NODATASHARE 
  3074. */,..      SWITC
  3075. H,..      DATASE
  3076. T(DATABASE-NAMEL
  3077. IST   /* | * */ 
  3078. ),..      LIST  
  3079.      /* | NOLIST
  3080.       */....
  3081.  
  3082. @RACF Commands
  3083. %Search
  3084. $
  3085. /*--------------
  3086. (SEARCH: VERIFY 
  3087. PLEASE)---------
  3088. ----*/..SEARCH A
  3089. GE(NUMBER-OF-DAY
  3090. S),..       ALL 
  3091. /* | GENERIC | N
  3092. OGENERIC | MODEL
  3093.  | TAPE | VSAM |
  3094.  NONVSAM */,..  
  3095.      CATEGORY (C
  3096. ATEGORY-NAME),..
  3097.        | EXPIRES
  3098.  (NUMBER-OF-DAYS
  3099. ),..       | LEV
  3100. EL (LEVEL-NUMBER
  3101. ),..       | SEC
  3102. LABEL (SECLABEL-
  3103. NAME),..       |
  3104.  SECLEVEL (SECLE
  3105. VEL-NAME),..    
  3106.    | WARNING,.. 
  3107.       CLASS( DAT
  3108. ASET /* | CLASS-
  3109. NAME */ ),..    
  3110.    CLIST ('STRIN
  3111. G-1' 'STRING-2' 
  3112. ),..       FILTE
  3113. R(FILTER-STRING)
  3114. ,..       LIST /
  3115. * | NOLIST */,..
  3116.        MASK( CHA
  3117. R-1 /* | * */,CH
  3118. AR-2 ) /* | NOMA
  3119. SK */,..       U
  3120. SER(USERID),..  
  3121.      VOLUME,..  
  3122.      VOLUME(VOLU
  3123. ME-SERIAL)....
  3124.  
  3125. @RACF Commands
  3126. %SetROpts
  3127. $
  3128. /*-------------(
  3129. SETROPTS: VERIFY
  3130.  PLEASE)--------
  3131. -----*/..SETROPT
  3132. S ADSP /* | NOAD
  3133. SP */,..        
  3134.  AUDIT(CLASS-NAM
  3135. E /* ... |* */),
  3136. ..         /* | 
  3137. NOAUDIT(CLASS-NA
  3138. ME ... |* ) */,.
  3139. .         APPLAU
  3140. DIT /* | NOAPPLA
  3141. UDIT */,..      
  3142.    CATDSNS ( FAI
  3143. LURES /* | WARNI
  3144. NG */ ) /* | NOC
  3145. ATDSNS */,..    
  3146.      CLASSACT ( 
  3147.  CLASS-NAME /* .
  3148. .. | * */ ),..  
  3149.        /* | NOCL
  3150. ASSACT (  CLASS-
  3151. NAME... | * ) */
  3152. ,..         CMDV
  3153. IOL /* | NOCMDVI
  3154. OL */,..        
  3155.  COMPATMODE /* |
  3156.  NOCOMPATMODE */
  3157. ,..         EGN 
  3158. /* | NOEGN */,..
  3159.          ERASE (
  3160. ,..             
  3161.     ALL /* | SEC
  3162. LEVEL(SECLEVEL-N
  3163. AME)  | NOSECLEV
  3164. EL */,..        
  3165.        ),..     
  3166.     /* | NOERASE
  3167.  */,..         G
  3168. ENCMD ( CLASS-NA
  3169. ME /* ... | * */
  3170.  ),..         /*
  3171.  | NOGENCMD ( CL
  3172. ASS-NAME ... | *
  3173.  ) */,..        
  3174.  GENERIC  ( CLAS
  3175. S-NAME /* ... | 
  3176. * */),..        
  3177.  /* | NOGENERIC 
  3178. ( CLASS-NAME ...
  3179.  | * ) */,..    
  3180.      GENERICOWNE
  3181. R /* | NOGENERIC
  3182. OWNER */,..     
  3183.     GENLIST (CLA
  3184. SS-NAME /* ... *
  3185. /),..         /*
  3186.  | NOGENLIST (CL
  3187. ASS-NAME ...) */
  3188. ,..         GLOB
  3189. AL ( CLASS-NAME 
  3190. /* ... | *  */),
  3191. ..         /* | 
  3192. NOGLOBAL ( CLASS
  3193. -NAME ... | * ) 
  3194. */,..         GR
  3195. PLIST /* | NOGRP
  3196. LIST */,..      
  3197.    JES (,..     
  3198.           BATCHA
  3199. LLRACF /* | NOBA
  3200. TCHALLRACF */, .
  3201. .               
  3202. EARLYVERIFY  /* 
  3203. | NOBATCHALLRACF
  3204.  */,..          
  3205.      XBMALLRACF 
  3206. | NOXBMALLRACF,.
  3207. .               
  3208. NJEUSERID(USERID
  3209. ),..            
  3210.    UNDEFINEDUSER
  3211. (USERID),..     
  3212.         ),..    
  3213.      INACTIVE(UN
  3214. USED-USERID-INTE
  3215. RVAL) /* | NOINA
  3216. CTIVE */,..     
  3217.     INITSTATS /*
  3218.  | NOINITSTATS *
  3219. /,..         LAN
  3220. GUAGE(,..       
  3221.             PRIM
  3222. ARY(LANGUAGE),..
  3223.                 
  3224.    SECONDARY(LAN
  3225. GUAGE),..       
  3226.           ),..  
  3227.        LIST,..  
  3228.        LOGOPTION
  3229. S(,..           
  3230.           ALWAYS
  3231. (CLASS-NAME, /* 
  3232. ... */),, ..    
  3233.                 
  3234.  | NEVER(CLASS-N
  3235. AME, /* ...), ..
  3236. . */,..         
  3237.             | SU
  3238. CCESSES(CLASS-NA
  3239. ME, /* ...), ...
  3240.  */,            
  3241.          | FAILU
  3242. RES(CLASS-NAME, 
  3243. /* ...), ... */.
  3244. .               
  3245.       | DEFAULT(
  3246.  CLASS-NAME, /* 
  3247. ... | * */ ),.. 
  3248.                 
  3249.   ),..         M
  3250. LACTIVE ( FAILUR
  3251. ES /* | WARNING 
  3252. */ ),..         
  3253. /* | NOMLACTIVE 
  3254. */,..         ML
  3255. QUIET | NOMLQUIE
  3256. T,..         MLS
  3257.  ( FAILURES /* |
  3258.  WARNING */ ) /*
  3259.  | NOMLS */,..  
  3260.        MLSTABLE 
  3261. /* | NOMLSTABLE 
  3262. */,..         MO
  3263. DEL(,..         
  3264.        GDG   /* 
  3265. | NOGDG   */,.. 
  3266.                G
  3267. ROUP /* | NOGROU
  3268. P */,..         
  3269.        USER  /* 
  3270. | NOUSER  */,.. 
  3271.              ),.
  3272. .         /* | N
  3273. OMODEL */,..    
  3274.      OPERAUDIT /
  3275. * | NOOPERAUDIT 
  3276. */,..         PA
  3277. SSWORD(,..      
  3278.              HIS
  3279. TORY(NUMBER-PREV
  3280. IOUS-PASSWORDS),
  3281. ..              
  3282.      /* | NOHIST
  3283. ORY */,..       
  3284.             INTE
  3285. RVAL(PASSWORD-CH
  3286. ANGE-INTERVAL),.
  3287. .               
  3288.     REVOKE(NUMBE
  3289. R-INVALID-PASSWO
  3290. RDS) /* | NOREVO
  3291. KE */, ..       
  3292.             RULE
  3293. N(LENGTH(M1:M2) 
  3294. CONTENT-KEYWORD 
  3295. (POSITION)), .. 
  3296.                 
  3297.   /* | NORULEN  
  3298.  */,..          
  3299.          /* | NO
  3300. RULES   */,..   
  3301.                 
  3302. WARNING(DAYS-BEF
  3303. ORE-PASSWORD-EXP
  3304. IRES),..        
  3305.            /* | 
  3306. NOWARNING */,.. 
  3307.                 
  3308. ),..         PRE
  3309. FIX(PREFIX) /* |
  3310.  NOPREFIX */,.. 
  3311.         PROTECTA
  3312. LL ( FAILURES /*
  3313.  | WARNING */ ) 
  3314. /* | NOPROTECTAL
  3315. L */,..         
  3316. RACLIST (CLASS-N
  3317. AME /* ... */),.
  3318. .         /* | N
  3319. ORACLIST} (CLASS
  3320. -NAME ...) */,..
  3321.          REALDSN
  3322.  /* | NOREALDSN 
  3323. */,..         RE
  3324. FRESH,..        
  3325.  RETPD(NNNNN),..
  3326.          RVARYPW
  3327. ( SWITCH(SWITCH-
  3328. PW) STATUS(STATU
  3329. S-PW) ),..      
  3330.    SAUDIT /* | N
  3331. OSAUDIT */,..   
  3332.       SECLABELAU
  3333. DIT /* | NOSECLA
  3334. BELAUDIT */,..  
  3335.        SECLABELC
  3336. ONTROL /* | NOSE
  3337. CLABELCONTROL */
  3338. ,..         SECL
  3339. EVELAUDIT (SECUR
  3340. ITY-LEVEL),..   
  3341.       /* | NOSEC
  3342. LEVELAUDIT */,..
  3343.          SESSION
  3344. INTERVAL(N) /* |
  3345.  NOSESSIONINTERV
  3346. AL */,..        
  3347.  STATISTICS (CLA
  3348. SS-NAME /* ... |
  3349.  * */),..       
  3350.   /* | NOSTATIST
  3351. ICS (CLASS-NAME.
  3352. .. | *) */,..   
  3353.       TAPEDSN | 
  3354. NOTAPEDSN,..    
  3355.      TERMINAL( N
  3356. ONE /* | READ */
  3357.  ),..         WH
  3358. EN (PROGRAM) /* 
  3359. | NOWHEN (PROGRA
  3360. M) */..
  3361.  
  3362. @RACF Commands
  3363. %RDefine
  3364. $
  3365. /*-------------(
  3366. RDEFINE: VERIFY 
  3367. PLEASE)---------
  3368. ----*/..RDEFINE 
  3369. CLASS-NAME,..   
  3370.     (PROFILE-NAM
  3371. E-1 /* ... */),.
  3372. .       ADDCATEG
  3373. ORY(CATEGORY-NAM
  3374. E /* ... */),.. 
  3375.       ADDMEM(MEM
  3376. BER /* ... */),.
  3377. .       APPLDATA
  3378. ('APPLICATION-DA
  3379. TA'),..       AU
  3380. DIT( ACCESS-ATTE
  3381. MPT (AUDIT-ACCES
  3382. S-LEVEL) /* ... 
  3383. */),..       DAT
  3384. A('INSTALLATION-
  3385. DEFINED-DATA'),.
  3386. .       DLFDATA(
  3387. ,..             
  3388.    RETAIN( YES /
  3389. * | NO  */),..  
  3390.               JO
  3391. BNAMES(JOBNAME-1
  3392.  /* ... */),..  
  3393.             ),..
  3394.        FCLASS(PR
  3395. OFILE-NAME-2-CLA
  3396. SS),..       FGE
  3397. NERIC,..       F
  3398. ROM(PROFILE-NAME
  3399. -2),..       FVO
  3400. LUME(PROFILE-NAM
  3401. E-2-SERIAL),..  
  3402.      LEVEL(NN),.
  3403. .       NOTIFY(U
  3404. SERID),..       
  3405. OWNER (USERID OR
  3406.  GROUP-NAME),.. 
  3407.       SECLABEL(S
  3408. ECLABEL-NAME),..
  3409.        SECLEVEL(
  3410. SECLEVEL-NAME),.
  3411. .       SESSION(
  3412. ,..             
  3413.    CONVSEC( NONE
  3414.  /* | CONV | PER
  3415. SISTV | ALREADYV
  3416.  | AVPV */ ),.. 
  3417.                I
  3418. NTERVAL(N),..   
  3419.              LOC
  3420. K,..            
  3421.     SESSKEY(SESS
  3422. ION-KEY),..     
  3423.          ),..   
  3424.     SINGLEDSN,..
  3425.        SSIGNON(,
  3426. ..              
  3427.   KEYMASKED(KEY-
  3428. VALUE),..       
  3429.          KEYENCR
  3430. YPTED(KEY-VALUE)
  3431. ,..             
  3432.  ),..       STDA
  3433. TA(,..          
  3434.      USER(USERID
  3435.  /* | =MEMBER */
  3436. ),..            
  3437.    GROUP(GROUP-N
  3438. AME /* | =MEMBER
  3439.  */),..         
  3440.       PRIVILEGED
  3441. ( NO | YES),..  
  3442.              TRA
  3443. CE( NO | YES),..
  3444.                T
  3445. RUSTED( NO | YES
  3446. ),..            
  3447.  ),..       TIME
  3448. ZONE( E HH.MM ) 
  3449. /* | ( W HH.MM )
  3450.  */,..       TVT
  3451. OC,..       UACC
  3452. (ACCESS-AUTHORIT
  3453. Y),..       WARN
  3454. ING,..       WHE
  3455. N( DAYS(DAY-INFO
  3456. ) TIME(TIME-INFO
  3457. ) )..
  3458.  
  3459. @DM Display
  3460. %Display Panel
  3461. $
  3462. /*----------(DIS
  3463. PLAY PANELS AND 
  3464. MESSAGES)-------
  3465. ----*/..ADDRESS 
  3466. ISPEXEC "DISPLAY
  3467.  PANEL ("PANELNA
  3468. ME") MSG("MSGID"
  3469. ),..            
  3470.      CURSOR("FIE
  3471. LDNAME") CSRPOS(
  3472. "POSNR"),..     
  3473.             COMM
  3474. AND("COMMANDS") 
  3475. MSGLOC("MSGFIELD
  3476. ")",..          
  3477.        RETBUFFR(
  3478. "BUFNAME") RETLG
  3479. TH("LNGNAME")..I
  3480. F RC ^= 0 THEN D
  3481. O          /* RE
  3482. TURN CODES      
  3483.                 
  3484.  */..           
  3485.                 
  3486.  /*  4 - COMMAND
  3487.  NOT FOUND      
  3488.        */..END  
  3489.                 
  3490.        /*  8 - E
  3491. ND OR RETURN COM
  3492. MAND ENTERED */.
  3493. .ELSE DO        
  3494.              /* 
  3495.    - PANEL WAS G
  3496. ENERATED FROM TA
  3497. GS */..         
  3498.                 
  3499.    /*      AND E
  3500. XIT COMMAND ENTE
  3501. RED      */..END
  3502.                 
  3503.          /* 12 -
  3504.  PANEL, MESSAGE,
  3505.  OR CURSOR     *
  3506. /..             
  3507.                /
  3508. *      FIELD COU
  3509. LD NOT BE FOUND 
  3510.      */..       
  3511.                 
  3512.      /* 16 - DAT
  3513. A TRUNCATION OR 
  3514. TRANSLATION*/.. 
  3515.                 
  3516.            /*   
  3517.    ERROR        
  3518.                 
  3519.  */..           
  3520.                 
  3521.  /* 20 - SEVERE 
  3522. ERROR           
  3523.        */..
  3524.  
  3525. @DM Display
  3526. %Display Table
  3527. $
  3528. /*-----------(DI
  3529. SPLAY TABLE INFO
  3530. RMATION)--------
  3531. ----*/..ADDRESS 
  3532. ISPEXEC "TBDISPL
  3533. " TABLENAME "PAN
  3534. EL("PANELNAME") 
  3535. MSG("MSGID"),.. 
  3536.                 
  3537. CURSOR("FIELDNAM
  3538. E") CSRROW("ROWN
  3539. R") CSRPOS("POSN
  3540. R"),..          
  3541.        AUTOSEL(Y
  3542. ES)  MSGLOC("MSG
  3543. FIELD")",..     
  3544.             POSI
  3545. TION("CRPNAME") 
  3546. ROWID("ROWIDNAME
  3547. ")..IF RC ^= 0 T
  3548. HEN DO          
  3549.  /* RETURN CODES
  3550.                 
  3551.       */..      
  3552.                 
  3553.        /* 4  - T
  3554. HE ENTER KEY OR 
  3555. SCROLL      */..
  3556. END             
  3557.              /* 
  3558.      COMMAND USE
  3559. D; ADDITIONAL DA
  3560. TA*/..ELSE DO   
  3561.                 
  3562.    /*      REMAI
  3563. NS TO BE STORED 
  3564.         */..    
  3565.                 
  3566.          /* 8  -
  3567.  THE END OR RETU
  3568. RN COMMAND WAS*/
  3569. ..END           
  3570.                /
  3571. *      ENTERED. 
  3572.  IF CRP AT TOP, 
  3573. NO  */..        
  3574.                 
  3575.      /*      LIN
  3576. ES MODIFIED     
  3577.           */..  
  3578.                 
  3579.            /*   
  3580.  - PANEL WAS GEN
  3581. ERATED FROM TAGS
  3582. */..            
  3583.                 
  3584.  /*      AND THE
  3585.  EXIT COMMAND WA
  3586. S     */..      
  3587.                 
  3588.        /*      E
  3589. NTERED          
  3590.             */..
  3591.                 
  3592.              /* 
  3593. 12 - PANEL OR ME
  3594. SSAGE NOT FOUND 
  3595. OR*/..          
  3596.                 
  3597.    /*      TABLE
  3598.  NOT OPEN       
  3599.         */..    
  3600.                 
  3601.          /* 20 -
  3602.  SEVERE ERROR   
  3603.               */
  3604. ..
  3605.  
  3606. @DM Display
  3607. %Panel Query
  3608. $
  3609. /*--------------
  3610. -(SET NEXT MESSA
  3611. GE)-------------
  3612. ----*/..ADDRESS 
  3613. ISPEXEC "PQUERY 
  3614.  PANEL("PANELNAM
  3615. E") AREANAME("AR
  3616. EANAME"),..     
  3617.             AREA
  3618. TYPE("ATYPNAME")
  3619. ,..             
  3620.     WIDTH("AWIDN
  3621. AME") DEPTH("ADE
  3622. PNAME"),..      
  3623.            ROW("
  3624. AROWNAME") COLUM
  3625. N("ACOLNAME")"..
  3626. IF RC ^= 0 THEN 
  3627. DO          /* R
  3628. ETURN CODES     
  3629.                 
  3630.   */..          
  3631.                 
  3632.   /*  8 - THE PA
  3633. NEL DOES NOT CON
  3634. TAIN THE*/..END 
  3635.                 
  3636.         /*      
  3637. SPECIFIED AREA  
  3638.               */
  3639. ..ELSE DO       
  3640.               /*
  3641.  12 - THE SPECIF
  3642. IED PANEL CANNOT
  3643.     */..        
  3644.                 
  3645.     /*      BE F
  3646. OUND            
  3647.           */..EN
  3648. D               
  3649.           /* 16 
  3650. - NOT ALL VALUES
  3651.  ARE RETURNED   
  3652. */..            
  3653.                 
  3654. /*      BECAUSE 
  3655. OF INSUFFICIENT 
  3656. SPACE */..      
  3657.                 
  3658.       /* 20 - SE
  3659. VERE ERROR      
  3660.             */..
  3661.  
  3662. @DM Display
  3663. %Remove a Pop-Up Window
  3664. $
  3665. /*------------(R
  3666. EMOVE A POP-UP W
  3667. INDOW)----------
  3668. ----*/..ADDRESS 
  3669. ISPEXEC "REMPOP 
  3670. ALL"..IF RC ^= 0
  3671.  THEN DO        
  3672.   /* 16 - A POP-
  3673. UP WINDOW DOES N
  3674. OT      */..    
  3675.                 
  3676.         /*      
  3677. EXIST AT THIS SE
  3678. LECT LEVEL    */
  3679. ..END           
  3680.               /*
  3681.  20 - SEVERE ERR
  3682. OR              
  3683.     */..ELSE DO.
  3684. ...END..
  3685.  
  3686. @DM Display
  3687. %Set Message
  3688. $
  3689. /*--------------
  3690. -(SET NEXT MESSA
  3691. GE)-------------
  3692. ----*/..ADDRESS 
  3693. ISPEXEC "SETMSG 
  3694. MSG("MSGID") CON
  3695. D MSGLOC("MSGFIE
  3696. LD")"..IF RC ^= 
  3697. 0 THEN DO       
  3698.      /* RETURN C
  3699. ODES            
  3700.          */..   
  3701.                 
  3702.            /*  4
  3703.  - SETMSG REQUES
  3704. T PENDING, WHEN*
  3705. /..END          
  3706.                 
  3707.  /*      COND SP
  3708. ECIFIED         
  3709.      */..ELSE DO
  3710.                 
  3711.        /* 12 - M
  3712. ESSAGE COULD NOT
  3713.  BE FOUND  */.. 
  3714.                 
  3715.              /* 
  3716. 20 - SEVERE ERRO
  3717. R               
  3718.  */..END..
  3719.  
  3720. @DM Display
  3721. %Start Pop-Up Window Mode
  3722. $
  3723. /*-----------(ST
  3724. ART POP-UP WINDO
  3725. W MODE)---------
  3726. ----*/..ADDRESS 
  3727. ISPEXEC "ADDPOP 
  3728.  POPLOC("FIELDNA
  3729. ME")..          
  3730.        ROW("ROWN
  3731. R") COLUMN("COLN
  3732. R")"..IF RC ^= 0
  3733.  THEN DO        
  3734.   /*  4-  PARAME
  3735. TER IS INVALID  
  3736.         */..    
  3737.                 
  3738.         /* 12 - 
  3739. AN ADDPOP SERVIC
  3740. E CALL WAS    */
  3741. ..END           
  3742.               /*
  3743.       ISSUED BEF
  3744. ORE A PRIMARY   
  3745.     */..ELSE DO 
  3746.                 
  3747.     /*      WIND
  3748. OW WAS DISPLAYED
  3749. , OR      */..  
  3750.                 
  3751.           /*    
  3752. - ANOTHER ADDPOP
  3753.  SERVICE WAS    
  3754. */..END         
  3755.                 
  3756. /*      ISSUED B
  3757. EFORE A PANEL WA
  3758. S     */..      
  3759.                 
  3760.       /*      DI
  3761. SPLAYED FOR THE 
  3762. PREVIOUS    */..
  3763.                 
  3764.             /*  
  3765.     ADDPOP CALL 
  3766.                 
  3767.   */..          
  3768.                 
  3769.   /* 20 - SEVERE
  3770.  ERROR          
  3771.         */..
  3772.  
  3773. @DM Library access
  3774. %LmClose
  3775. $
  3776. /*--------------
  3777. -(CLOSE A DATA S
  3778. ET)-------------
  3779. -------*/..ADDRE
  3780. SS ISPEXEC "LMCL
  3781. OSE  DATAID("DAT
  3782. AID")"..IF RC ^=
  3783.  0 THEN DO      
  3784.         /* RETUR
  3785. N CODES         
  3786.             */..
  3787.                 
  3788.                 
  3789. /*  8  - DATA SE
  3790. T IS NOT OPEN   
  3791.     */..END     
  3792.                 
  3793.         /* 10  -
  3794.  NO DATA SET ASS
  3795. OCIATED     */..
  3796. ELSE DO         
  3797.                 
  3798. /*       WITH TH
  3799. E GIVEN DATA ID 
  3800.     */..        
  3801.                 
  3802.         /* 20  -
  3803.  SEVERE ERROR   
  3804.             */..
  3805. END             
  3806.                 
  3807. /* 20  - SEVERE 
  3808. ERROR           
  3809.     */..        
  3810.                 
  3811.         /* 20  -
  3812.  SEVERE ERROR   
  3813.             */..
  3814.  
  3815. @DM Library access
  3816. %LmErase
  3817. $
  3818. /*------(DELETE 
  3819. AN ISPF LIBRARY 
  3820. OR MVS DATA SET)
  3821. -------*/..ADDRE
  3822. SS ISPEXEC "LMER
  3823. ASE PROJECT("PRO
  3824. JECT") GROUP("GR
  3825. OUP"),..        
  3826.          TYPE("T
  3827. YPE") PURGE(NO)"
  3828. ..IF RC ^= 0 THE
  3829. N DO            
  3830.   /* RETURN CODE
  3831. S               
  3832.        */..     
  3833.                 
  3834.            /*  4
  3835.  - DATA SET EXPI
  3836. RATION DATE HAS 
  3837. */..END         
  3838.                 
  3839.     /*      EXPI
  3840. RED AND PURGE WA
  3841. S NOT    */..ELS
  3842. E DO            
  3843.              /* 
  3844.      SPECIFIED  
  3845.                 
  3846.   */..          
  3847.                 
  3848.       /*  8 - SP
  3849. ECIFIED DATA SET
  3850.  OR FILE   */..E
  3851. ND              
  3852.                /
  3853. *      DOES NOT 
  3854. EXIST           
  3855.     */..        
  3856.                 
  3857.         /*    - 
  3858. ERASE DATA SET O
  3859. R FILE FAILED*/.
  3860. .               
  3861.                 
  3862.  /* 12 - INVALID
  3863.  PARAMETER VALUE
  3864.       */..      
  3865.                 
  3866.           /* 20 
  3867. - SEVERE ERROR  
  3868.                *
  3869. /..
  3870.  
  3871. @DM Library access
  3872. %LmFree
  3873. $
  3874. /*-------------(
  3875. RELEASE THE DATA
  3876.  SET)-----------
  3877. -------*/..ADDRE
  3878. SS ISPEXEC "LMFR
  3879. EE  DATAID("DATA
  3880. ID")"..IF RC ^= 
  3881. 0 THEN DO       
  3882.        /*  RETUR
  3883. N CODES         
  3884.           */..  
  3885.                 
  3886.               /*
  3887.    8 - FREE DATA
  3888.  SET OR FILE    
  3889.  */..END        
  3890.                 
  3891.      /*       FA
  3892. ILED            
  3893.         */..ELSE
  3894.  DO             
  3895.             /*  
  3896. 10 - NO DATA SET
  3897.  OR FILE       *
  3898. /..             
  3899.                 
  3900.    /*       ASSO
  3901. CIATED WITH DATA
  3902. ID    */..END   
  3903.                 
  3904.           /*  20
  3905.  - SEVERE ERROR 
  3906.              */.
  3907. .
  3908.  
  3909. @DM Library access
  3910. %LmGet
  3911. $
  3912. /*----------(REA
  3913. D ONE RECORD OF 
  3914. A DATA SET)-----
  3915. -------*/..ADDRE
  3916. SS ISPEXEC "LMGE
  3917. T DATAID("DATAID
  3918. ") MODE(INVAR),.
  3919. .               
  3920.   DATALOC("LOCVA
  3921. R") DATALEN("LEN
  3922. VAR") MAXLEN("MX
  3923. L")"..IF RC ^= 0
  3924.  THEN DO        
  3925.       /* RETURN 
  3926. CODES           
  3927.           */..  
  3928.                 
  3929.               /*
  3930.   8 - END-OF-FIL
  3931. E CONDITION     
  3932.   */..END       
  3933.                 
  3934.       /* 10 - NO
  3935.  DATA SET OR FIL
  3936. E         */..EL
  3937. SE DO           
  3938.               /*
  3939.       ASSOCIATED
  3940.  WITH THE DATAID
  3941.   */..          
  3942.                 
  3943.       /* 12 - DA
  3944. TA FILE NOT OPEN
  3945.           */..EN
  3946. D               
  3947.               /*
  3948.     - DATA FILE 
  3949. NOT OPEN FOR    
  3950.   */..          
  3951.                 
  3952.       /*      IN
  3953. PUT             
  3954.           */..  
  3955.                 
  3956.               /*
  3957.     - LMMFIND WA
  3958. S NOT DONE FOR A
  3959.   */..          
  3960.                 
  3961.       /*      PA
  3962. RTITIONED DATA S
  3963. ET        */..  
  3964.                 
  3965.               /*
  3966.     - INVALID PA
  3967. RAMETER VALUE   
  3968.   */..          
  3969.                 
  3970.       /* 16 - TR
  3971. UNCATION OR TRAN
  3972. SLATION   */..  
  3973.                 
  3974.               /*
  3975.       ERROR IN A
  3976. CCESSING DIALOG 
  3977.   */..          
  3978.                 
  3979.       /*      VA
  3980. RIABLES         
  3981.           */..  
  3982.                 
  3983.               /*
  3984.  20 - SEVERE ERR
  3985. OR              
  3986.   */..
  3987.  
  3988. @DM Library access
  3989. %LmInit Project
  3990. $
  3991. /*---------(ASSO
  3992. CIATE DATA SET W
  3993. ITH A DATA ID)--
  3994. -------*/..ADDRE
  3995. SS ISPEXEC "LMIN
  3996. IT DATAID("DATAI
  3997. DVAR") PROJECT("
  3998. PROJECT")..     
  3999.             GROU
  4000. P1("GROUP1") GRO
  4001. UP2("GROUP2") GR
  4002. OUP3("GROUP3"),.
  4003. .               
  4004.   GROUP4("GROUP4
  4005. ") TYPE("TYPE") 
  4006. PASSWORD("PASSWR
  4007. D"),..          
  4008.        ENQ(SHR) 
  4009. ORG("ORGVAR")"..
  4010. IF RC ^= 0 THEN 
  4011. DO              
  4012. /* RETURN CODES 
  4013.                 
  4014.     */..        
  4015.                 
  4016.         /*  8 - 
  4017. DATA SET OR FILE
  4018.  NOT        */..
  4019. END             
  4020.                 
  4021. /*      ALLOCATE
  4022. D               
  4023.     */..ELSE DO 
  4024.                 
  4025.         /*    - 
  4026. DATA SET OR FILE
  4027.             */..
  4028.                 
  4029.                 
  4030. /*      ORGANIZA
  4031. TION NOT SUPPORT
  4032. ED  */..END     
  4033.                 
  4034.         /* 12 - 
  4035. INVALID PARAMETE
  4036. R VALUE     */..
  4037.                 
  4038.                 
  4039. /* 16 - TRUNCATI
  4040. ON OR TRANSLATIO
  4041. N   */..        
  4042.                 
  4043.         /*      
  4044. ERROR IN ACCESSI
  4045. NG DIALOG   */..
  4046.                 
  4047.                 
  4048. /*      VARIABLE
  4049. S               
  4050.     */..        
  4051.                 
  4052.         /* 20 - 
  4053. SEVERE ERROR    
  4054.             */..
  4055.  
  4056. @DM Library access
  4057. %LmInit Dataset
  4058. $
  4059. /*---------(ASSO
  4060. CIATE DATA SET W
  4061. ITH A DATA ID)--
  4062. -------*/..ADDRE
  4063. SS ISPEXEC "LMIN
  4064. IT DATAID("DATAI
  4065. DVAR") DATASET("
  4066. DSNAME"),..     
  4067.             VOLU
  4068. ME("SERIAL") PAS
  4069. SWORD("PASSWRD")
  4070.  ENQ(SHR),..    
  4071.              ORG
  4072. ("ORGVAR")"..IF 
  4073. RC ^= 0 THEN DO 
  4074.              /* 
  4075. RETURN CODES    
  4076.                 
  4077.  */..           
  4078.                 
  4079.      /*  8 - DAT
  4080. A SET OR FILE NO
  4081. T        */..END
  4082.                 
  4083.              /* 
  4084.      ALLOCATED  
  4085.                 
  4086.  */..ELSE DO    
  4087.                 
  4088.      /*    - DAT
  4089. A SET OR FILE   
  4090.          */..   
  4091.                 
  4092.              /* 
  4093.      ORGANIZATIO
  4094. N NOT SUPPORTED 
  4095.  */..END        
  4096.                 
  4097.      /* 12 - INV
  4098. ALID PARAMETER V
  4099. ALUE     */..   
  4100.                 
  4101.              /* 
  4102. 16 - TRUNCATION 
  4103. OR TRANSLATION  
  4104.  */..           
  4105.                 
  4106.      /*      ERR
  4107. OR IN ACCESSING 
  4108. DIALOG   */..   
  4109.                 
  4110.              /* 
  4111.      VARIABLES  
  4112.                 
  4113.  */..           
  4114.                 
  4115.      /* 20 - SEV
  4116. ERE ERROR       
  4117.          */..
  4118.  
  4119. @DM Library access
  4120. %LmInit File
  4121. $
  4122. /*---------(ASSO
  4123. CIATE DATA SET W
  4124. ITH A DATA ID)--
  4125. -------*/..ADDRE
  4126. SS ISPEXEC "LMIN
  4127. IT DATAID("DATAI
  4128. DVAR") DDNAME"DD
  4129. NAME"),..       
  4130.           PASSWO
  4131. RD("PASSWRD") EN
  4132. Q(SHR) ORG("ORGV
  4133. AR")"..IF RC ^= 
  4134. 0 THEN DO       
  4135.        /* RETURN
  4136.  CODES          
  4137.            */.. 
  4138.                 
  4139.                /
  4140. *  8 - DATA SET 
  4141. OR FILE NOT     
  4142.    */..END      
  4143.                 
  4144.        /*      A
  4145. LLOCATED        
  4146.            */..E
  4147. LSE DO          
  4148.                /
  4149. *    - DDNAME NO
  4150. T FOUND         
  4151.    */..         
  4152.                 
  4153.        /*    - D
  4154. ATA SET OR FILE 
  4155.            */..E
  4156. ND              
  4157.                /
  4158. *      ORGANIZAT
  4159. ION NOT SUPPORTE
  4160. D  */..         
  4161.                 
  4162.        /* 12 - I
  4163. NVALID PARAMETER
  4164.  VALUE     */.. 
  4165.                 
  4166.                /
  4167. * 16 - TRUNCATIO
  4168. N OR TRANSLATION
  4169.    */..         
  4170.                 
  4171.        /*      E
  4172. RROR IN ACCESSIN
  4173. G DIALOG   */.. 
  4174.                 
  4175.                /
  4176. *      VARIABLES
  4177.                 
  4178.    */..         
  4179.                 
  4180.        /* 20 - S
  4181. EVERE ERROR     
  4182.            */..
  4183.  
  4184. @DM Library access
  4185. %LmMAdd
  4186. $
  4187. /*-----(ADD MEMB
  4188. ERS TO AN ISPF L
  4189. IBRARY OR PDS)--
  4190. -------*/..ADDRE
  4191. SS ISPEXEC "LMMA
  4192. DD  DATAID("DATA
  4193. ID") MEMBER("MEM
  4194. BERNAME"),..    
  4195.              STA
  4196. TS(NO) NOENQ"..I
  4197. F RC ^= 0 THEN D
  4198. O            /* 
  4199. RETURN CODES    
  4200.                 
  4201.    */..         
  4202.                 
  4203.      /*  4 - DIR
  4204. ECTORY ALREADY C
  4205. ONTAINS    */..E
  4206. ND              
  4207.              /* 
  4208.      SPECIFIED M
  4209. EMBER NAME      
  4210.    */..ELSE DO  
  4211.                 
  4212.      /* 10 - NO 
  4213. FILE ASSOCIATED 
  4214. WITH GIVEN */.. 
  4215.                 
  4216.              /* 
  4217.      DATAID     
  4218.                 
  4219.    */..END      
  4220.                 
  4221.      /* 12 - DAT
  4222. A SET NOT OPEN  
  4223.            */.. 
  4224.                 
  4225.              /* 
  4226.    - DATA SET NO
  4227. T OPEN FOR OUTPU
  4228. T  */..         
  4229.                 
  4230.      /*    - INV
  4231. ALID PARAMETER V
  4232. ALUE       */.. 
  4233.                 
  4234.              /* 
  4235.    - INVALID DAT
  4236. A SET ORGANIZATI
  4237. ON */..         
  4238.                 
  4239.      /*    - INV
  4240. ALID VALUES FOR 
  4241. SOME       */.. 
  4242.                 
  4243.              /* 
  4244.      MEMBER STAT
  4245. ISTICS          
  4246.    */..         
  4247.                 
  4248.      /* 14 - NO 
  4249. RECORD HAS BEEN 
  4250. WRITTEN    */.. 
  4251.                 
  4252.              /* 
  4253.      FOR THE MEM
  4254. BER TO BE ADDED 
  4255.    */..         
  4256.                 
  4257.      /* 16 - TRU
  4258. NCATION OR TRANS
  4259. LATION     */.. 
  4260.                 
  4261.              /* 
  4262.      ERROR IN AC
  4263. CESSING DIALOG  
  4264.    */..         
  4265.                 
  4266.      /*      VAR
  4267. IABLES          
  4268.            */.. 
  4269.                 
  4270.              /* 
  4271. 20 - SEVERE ERRO
  4272. R               
  4273.    */..
  4274.  
  4275. @DM Library access
  4276. %LmMDel
  4277. $
  4278. /*----(DELETE A 
  4279. MEMBER OF AN ISP
  4280. F LIBRARY OR A P
  4281. DS)----*/..ADDRE
  4282. SS ISPEXEC "LMMD
  4283. EL  DATAID("DATA
  4284. ID"),..         
  4285.         MEMBER("
  4286. MEMBERNAME") NOE
  4287. NQ"..IF RC ^= 0 
  4288. THEN DO         
  4289.     /* RETURN CO
  4290. DES             
  4291.           */..  
  4292.                 
  4293.              /* 
  4294.  4 - MEMBER DELE
  4295. TED, MACLIB/TXTL
  4296. IB */..END      
  4297.                 
  4298.       /*      ER
  4299. ASED IF IT IS EM
  4300. PTY AFTER   */..
  4301. ELSE DO         
  4302.                /
  4303. *      THE DELET
  4304. ION  (CMS ONLY) 
  4305.      */..       
  4306.                 
  4307.         /*  8 - 
  4308. MEMBER NOT FOUND
  4309.               */
  4310. ..END           
  4311.                 
  4312.  /* 10 - NO DATA
  4313.  SET OR DATA FIL
  4314. E      */..     
  4315.                 
  4316.           /*    
  4317.   ASSOCIATED WIT
  4318. H THE GIVEN     
  4319. */..            
  4320.                 
  4321.    /*      DATAI
  4322. D               
  4323.          */..   
  4324.                 
  4325.             /* 1
  4326. 2 - DATA SET OR 
  4327. DATA FILE NOT   
  4328.   */..          
  4329.                 
  4330.      /*      OPE
  4331. N OR NOT OPEN FO
  4332. R OUTPUT   */.. 
  4333.                 
  4334.               /*
  4335.     - INVALID PA
  4336. RAMETER VALUE   
  4337.     */..        
  4338.                 
  4339.        /*    - I
  4340. NVALID DATA SET 
  4341. OR DATA FILE */.
  4342. .               
  4343.                 
  4344. /*      ORGANIZA
  4345. TION            
  4346.       */..      
  4347.                 
  4348.          /* 20 -
  4349.  SEVERE ERROR   
  4350.                *
  4351. /..
  4352.  
  4353. @DM Library access
  4354. %LmMFind
  4355. $
  4356. /*-----(FIND A M
  4357. EMBER OF AN ISPF
  4358.  LIBRARY OR A PD
  4359. S)-----*/..ADDRE
  4360. SS ISPEXEC "LMMF
  4361. IND DATAID("DATA
  4362. ID") MEMBER("MEM
  4363. BERNAME"),..    
  4364.              LOC
  4365. K LRECL("LRECLVA
  4366. R") RECFM("RECFM
  4367. VAR"),..        
  4368.          GROUP("
  4369. GROUPVAR") STATS
  4370. (NO)"..IF RC ^= 
  4371. 0 THEN DO       
  4372.  /* RETURN CODES
  4373.                 
  4374.           */..  
  4375.                 
  4376.         /*  4 - 
  4377. MEMBER IS IN AN 
  4378. LMF-CONTROLLED  
  4379.  */..END        
  4380.                /
  4381. *      LIBRARY A
  4382. ND IS CURRENTLY 
  4383. OWNED   */..ELSE
  4384.  DO             
  4385.       /*      BY
  4386.  ANOTHER USER   
  4387.                *
  4388. /..             
  4389.              /* 
  4390.    - MEMBER IS I
  4391. N AN SCLM-CONTRO
  4392. LLED  */..END   
  4393.                 
  4394.     /*      LIBR
  4395. ARY AND USER IS 
  4396. NOT A VALID  */.
  4397. .               
  4398.            /*   
  4399.    USER AS SPECI
  4400. FIED BY MEMBER  
  4401.     */..        
  4402.                 
  4403.   /*      ACCESS
  4404.  ID             
  4405.            */.. 
  4406.                 
  4407.          /*    -
  4408.  TRIED TO LOCK A
  4409.  MEMBER IN AN   
  4410.   */..          
  4411.                 
  4412. /*      SCLM-CON
  4413. TROLLED LIBRARY 
  4414.          */..   
  4415.                 
  4416.        /*  8 - M
  4417. EMBER NOT FOUND 
  4418.                 
  4419. */..            
  4420.               /*
  4421.  10 - NO DATA SE
  4422. T OR FILE ASSOCI
  4423. ATED   */..     
  4424.                 
  4425.      /*      WIT
  4426. H THE GIVEN DATA
  4427. ID            */
  4428. ..              
  4429.             /* 1
  4430. 2 - DATA SET OR 
  4431. FILE NOT OPEN OR
  4432.      */..       
  4433.                 
  4434.    /*      NOT O
  4435. PEN FOR INPUT   
  4436.             */..
  4437.                 
  4438.           /*    
  4439. - DATA SET IS NO
  4440. T AN ISPF LIBRAR
  4441. Y  */..         
  4442.                 
  4443.  /*      OR MVS 
  4444. PARTITIONED DATA
  4445.  SET      */..  
  4446.                 
  4447.         /*    - 
  4448. CMS FILE IS NOT 
  4449. A MACLIB, TXTLIB
  4450. ,*/..           
  4451.                /
  4452. *      OR ISPF L
  4453. IBRARY          
  4454.         */..    
  4455.                 
  4456.       /*    - IN
  4457. VALID PARAMETER 
  4458. VALUE          *
  4459. /..             
  4460.              /* 
  4461. 16 - TRUNCATION 
  4462. OR TRANSLATION  
  4463.       */..      
  4464.                 
  4465.     /*      ERRO
  4466. R IN ACCESSING D
  4467. IALOG        */.
  4468. .               
  4469.            /*   
  4470.    VARIABLES    
  4471.                 
  4472.     */..        
  4473.                 
  4474.   /* 20 - SEVERE
  4475.  ERROR          
  4476.            */..
  4477.  
  4478. @DM Library access
  4479. %LmMList
  4480. $
  4481. /*-------(MEMBER
  4482.  LIST OF A ISPF 
  4483. LIBRARY OR A PDS
  4484. )------*/..ADDRE
  4485. SS ISPEXEC "LMML
  4486. IST DATAID("DATA
  4487. ID") OPTION(LIST
  4488. ),..            
  4489.      MEMBER(MEMB
  4490. ERVAR) STATS(NO)
  4491.  GROUP("GROUP-NA
  4492. ME")"..IF RC ^= 
  4493. 0 THEN DO       
  4494.  /* RETURN CODES
  4495.                 
  4496.             */..
  4497.                 
  4498.           /*  4 
  4499. - EMPTY MEMBER L
  4500. IST             
  4501.      */..END    
  4502.                 
  4503.    /*  8 - "LIST
  4504. " OPTION, END OF
  4505.  MEMBER LIST  */
  4506. ..ELSE DO       
  4507.             /*  
  4508.   - "FREE" OPTIO
  4509. N, MEMBER LIST D
  4510. OES    */..     
  4511.                 
  4512.      /*      NOT
  4513.  EXIST          
  4514.                 
  4515. */..END         
  4516.               /*
  4517.     - "SAVE" OPT
  4518. ION, MEMBER LIST
  4519.  EXISTS  */..   
  4520.                 
  4521.        /*      A
  4522. ND MUST FIRST BE
  4523.  FREED          
  4524.   */..          
  4525.                 
  4526. /* 10 - NO DATA 
  4527. SET OR FILE ASSO
  4528. CIATED     */.. 
  4529.                 
  4530.          /*     
  4531.  WITH THE GIVEN 
  4532. DATAID          
  4533.     */..        
  4534.                 
  4535.   /* 12 - DATA S
  4536. ET OR FILE NOT O
  4537. PEN OR NOT   */.
  4538. .               
  4539.            /*   
  4540.    PARTITIONED  
  4541.                 
  4542.       */..      
  4543.                 
  4544.     /*    - INVA
  4545. LID PARAMETER VA
  4546. LUE            *
  4547. /..             
  4548.              /* 
  4549. 16 - TRUNCATION 
  4550. OR TRANSLATION E
  4551. RROR IN */..    
  4552.                 
  4553.       /*      AC
  4554. CESSING DIALOG V
  4555. ARIABLES        
  4556.  */..           
  4557.                /
  4558. * 20 - SEVERE ER
  4559. ROR             
  4560.           */..
  4561.  
  4562. @DM Library access
  4563. %LmMRen
  4564. $
  4565. /*--------------
  4566. -(RENAME A MEMBE
  4567. R)--------------
  4568. -------*/..ADDRE
  4569. SS ISPEXEC "LMMR
  4570. EN DATAID("DATAI
  4571. D") MEMBER("OLDM
  4572. EMBNAME"),..    
  4573.              NEW
  4574. NAME("NEWMEMBNAM
  4575. E") NOENQ"..IF R
  4576. C ^= 0 THEN DO  
  4577.        /* RETURN
  4578.  CODES          
  4579.                 
  4580.   */..          
  4581.                 
  4582.  /*  4 - NEW MEM
  4583. BER NAME ALREADY
  4584.  EXISTS     */..
  4585. END             
  4586.            /*  8
  4587.  - MEMBER NOT FO
  4588. UND             
  4589.       */..ELSE D
  4590. O               
  4591.      /* 10 - NO 
  4592. DATA SET ASSOCIA
  4593. TED WITH THE    
  4594. */..            
  4595.                /
  4596. *      GIVEN DAT
  4597. AID             
  4598.           */..EN
  4599. D               
  4600.          /* 12 -
  4601.  DATA SET NOT OP
  4602. EN OR NOT OPEN  
  4603.     */..        
  4604.                 
  4605.    /*      FOR O
  4606. UTPUT           
  4607.               */
  4608. ..              
  4609.              /* 
  4610.    - INVALID PAR
  4611. AMETER VALUE    
  4612.         */..    
  4613.                 
  4614.        /*    - I
  4615. NVALID DATA SET 
  4616. ORGANIZATION    
  4617.   */..          
  4618.                 
  4619.  /* 20 - SEVERE 
  4620. ERROR           
  4621.             */..
  4622.  
  4623. @DM Library access
  4624. %LmMRep
  4625. $
  4626. /*--------------
  4627. (REPLICATE A MEM
  4628. BER)------------
  4629. -------*/..ADDRE
  4630. SS ISPEXEC "LMMR
  4631. EP DATAID("DATAI
  4632. D") MEMBER("MEMB
  4633. ERNAME"),..     
  4634.             STAT
  4635. S(NO) NOENQ"..IF
  4636.  RC ^= 0 THEN DO
  4637.               /*
  4638.  RETURN CODES   
  4639.                 
  4640.    */..         
  4641.                 
  4642.        /*  8 - M
  4643. EMBER ADDED, IT 
  4644. DID NOT     */..
  4645. END             
  4646.                 
  4647. /*      PREVIOUS
  4648. LY EXIST        
  4649.      */..ELSE DO
  4650.                 
  4651.          /* 10 -
  4652.  NO DATA SET ASS
  4653. OCIATED WITH  */
  4654. ..              
  4655.                 
  4656.   /*      THE GI
  4657. VEN DATAID      
  4658.        */..END  
  4659.                 
  4660.            /* 12
  4661.  - DATA FILE NOT
  4662.  OPENED OR      
  4663. */..            
  4664.                 
  4665.     /*      NOT 
  4666. OPENED FOR OUTPU
  4667. T        */..   
  4668.                 
  4669.              /* 
  4670.    - INVALID PAR
  4671. AMETER VALUE    
  4672.   */..          
  4673.                 
  4674.       /*    - IN
  4675. VALID DATA SET O
  4676. RGANIZATION*/.. 
  4677.                 
  4678.                /
  4679. *    - INVALID V
  4680. ALUE FOR MEMBER 
  4681.     */..        
  4682.                 
  4683.         /*      
  4684. STATISTICS      
  4685.              */.
  4686. .               
  4687.                 
  4688.  /* 14 - NO RECO
  4689. RD HAS BEEN WRIT
  4690. TEN   */..      
  4691.                 
  4692.           /*    
  4693.   FOR THE MEMBER
  4694.  TO BE REPLACED*
  4695. /..             
  4696.                 
  4697.    /* 16 - TRUNC
  4698. ATION OR TRANSLA
  4699. TION    */..    
  4700.                 
  4701.             /*  
  4702.     ERROR IN ACC
  4703. ESSING DIALOG   
  4704.  */..           
  4705.                 
  4706.      /*      VAR
  4707. IABLES          
  4708.           */..  
  4709.                 
  4710.               /*
  4711.  20 - SEVERE ERR
  4712. OR              
  4713.    */..
  4714.  
  4715. @DM Library access
  4716. %LmOpen
  4717. $
  4718. /*--------------
  4719. --(OPEN A DATA S
  4720. ET)-------------
  4721. -------*/..ADDRE
  4722. SS ISPEXEC "LMOP
  4723. EN DATAID("DATAI
  4724. D") OPTION(INPUT
  4725. ),..            
  4726.      LRECL("LREC
  4727. LVAR") RECFM("RE
  4728. CFMVAR") ORG("OR
  4729. GVAR")"..IF RC ^
  4730. = 0 THEN DO     
  4731.          /* RETU
  4732. RN CODES        
  4733.               */
  4734. ..              
  4735.                 
  4736.   /*  8 - OPEN F
  4737. AILED           
  4738.        */..END  
  4739.                 
  4740.            /*   
  4741.  - DATA SET RECO
  4742. RD FORMAT NOT   
  4743. */..ELSE DO     
  4744.                 
  4745.     /*      SUPP
  4746. ORTED BY ISPF   
  4747.          */..   
  4748.                 
  4749.              /* 
  4750. 10 - NO DATA SET
  4751.  ASSOCIATED WITH
  4752.   */..END       
  4753.                 
  4754.       /*      TH
  4755. E DATAID        
  4756.            */.. 
  4757.                 
  4758.                /
  4759. * 12 - INVALID P
  4760. ARAMETER VALUE  
  4761.     */..        
  4762.                 
  4763.         /*    - 
  4764. DATA SET IS ALRE
  4765. ADY OPEN     */.
  4766. .               
  4767.                 
  4768.  /*    - CANNOT 
  4769. OPEN DATA SET   
  4770.       */..      
  4771.                 
  4772.           /*    
  4773.   ALLOCATED "SHR
  4774. " FOR OUTPUT   *
  4775. /..             
  4776.                 
  4777.    /* 16 - TRUNC
  4778. ATION OR TRANSLA
  4779. TION    */..    
  4780.                 
  4781.             /*  
  4782.     ERROR IN STO
  4783. RING DEFINED    
  4784.  */..           
  4785.                 
  4786.      /*      VAR
  4787. IABLES          
  4788.           */..  
  4789.                 
  4790.               /*
  4791.  20 - SEVERE ERR
  4792. OR              
  4793.    */..
  4794.  
  4795. @DM Library access
  4796. %LmProm Project
  4797. $
  4798. /*----(PROMOTE A
  4799.  SEQUENTIAL DS T
  4800. O A ISPF LIBRARY
  4801. )------*/..ADDRE
  4802. SS ISPEXEC "LMPR
  4803. OM FRPROJ("FROMP
  4804. ROJECT") FRGROUP
  4805. ("FROMGROUP"),..
  4806.                 
  4807.  FRTYPE("FROMTYP
  4808. E") FRMEMBER("FR
  4809. OMMEM"),..      
  4810.            PASSW
  4811. ORD("PASSWORD") 
  4812. ACTION(MOVE),.. 
  4813.                 
  4814. REASON("RESCODE"
  4815. ) PACK(NO),..   
  4816.               TO
  4817. PROJ("TOPROJECT"
  4818. ) TOGROUP("TOGRO
  4819. UP"),..         
  4820.         TOTYPE("
  4821. TOTYPE") TOMEMBE
  4822. R("TOMEM")"..IF 
  4823. RC ^= 0 THEN DO 
  4824.              /* 
  4825. RETURN CODES    
  4826.                 
  4827.  */..           
  4828.                 
  4829.      /*  8 - PRO
  4830. MOTE FAILED     
  4831.          */..END
  4832.                 
  4833.              /* 
  4834. 12 - INVALID PAR
  4835. AMETER VALUE    
  4836.  */..ELSE DO    
  4837.                 
  4838.      /* 20 - SEV
  4839. ERE ERROR       
  4840.          */....E
  4841. ND..
  4842.  
  4843. @DM Library access
  4844. %LmProm Dataset
  4845. $
  4846. /*----(PROMOTE A
  4847.  SEQUENTIAL DS T
  4848. O A ISPF LIBRARY
  4849. )------*/..ADDRE
  4850. SS ISPEXEC "LMPR
  4851. OM DATASET("DSNA
  4852. ME") VOLUME("SER
  4853. IAL"),..        
  4854.          PASSWOR
  4855. D("PASSWORD") AC
  4856. TION(MOVE),..   
  4857.               RE
  4858. ASON("RESCODE") 
  4859. PACK(NO),..     
  4860.             TOPR
  4861. OJ("TOPROJECT") 
  4862. TOGROUP("TOGROUP
  4863. "),..           
  4864.       TOTYPE("TO
  4865. TYPE") TOMEMBER(
  4866. "TOMEM")"..IF RC
  4867.  ^= 0 THEN DO   
  4868.            /* RE
  4869. TURN CODES      
  4870.                *
  4871. /..             
  4872.                 
  4873.    /*  8 - PROMO
  4874. TE FAILED       
  4875.        */..END  
  4876.                 
  4877.            /* 12
  4878.  - INVALID PARAM
  4879. ETER VALUE     *
  4880. /..ELSE DO      
  4881.                 
  4882.    /* 20 - SEVER
  4883. E ERROR         
  4884.        */....END
  4885. ..
  4886.  
  4887. @DM Library access
  4888. %LmPut
  4889. $
  4890. /*---------(WRIT
  4891. E ONE RECORD OF 
  4892. A DATA SET)-----
  4893. -------*/..ADDRE
  4894. SS ISPEXEC "LMPU
  4895. T DATAID("DATAID
  4896. ") MODE("INVAR")
  4897. ,..             
  4898.     DATALOC("DAT
  4899. ALOCVAR") DATALE
  4900. N("DATALENGTH") 
  4901. NOBSCAN"..IF RC 
  4902. ^= 0 THEN DO    
  4903.           /*  RE
  4904. TURN CODES      
  4905.                *
  4906. /..             
  4907.                 
  4908.    /*  4 - MEMBE
  4909. R ALREADY EXISTS
  4910.  (VM)   */..END 
  4911.                 
  4912.             /* 1
  4913. 0 - NO DATA FILE
  4914.  ASSOCIATED WITH
  4915.  */..ELSE DO    
  4916.                 
  4917.      /*      THE
  4918.  GIVEN DATAID   
  4919.           */..  
  4920.                 
  4921.               /*
  4922.  12 - DATA SET O
  4923. R FILE          
  4924.    */..END      
  4925.                 
  4926.        /*      N
  4927. OT OPENED FOR OU
  4928. TPUT        */..
  4929.                 
  4930.                 
  4931. /*    - INVALID 
  4932. PARAMETER VALUE 
  4933.      */..       
  4934.                 
  4935.          /*    -
  4936.  FILE NOT ON A-D
  4937. ISK           */
  4938. ..              
  4939.                 
  4940.   /* 16 - TRUNCA
  4941. TION OR TRANSLAT
  4942. ION    */..     
  4943.                 
  4944.            /*   
  4945.    ERROR IN ACCE
  4946. SSING DIALOG    
  4947. */..            
  4948.                 
  4949.     /*      VARI
  4950. ABLES           
  4951.          */..   
  4952.                 
  4953.              /* 
  4954. 20 - SEVERE ERRO
  4955. R               
  4956.   */..
  4957.  
  4958. @DM Library access
  4959. %LmQuery Project
  4960. $
  4961. /*--------------
  4962. (GET DS INFORMAT
  4963. ION)------------
  4964. -------*/..ADDRE
  4965. SS ISPEXEC "LMQU
  4966. ERY DATAID("DATA
  4967. ID") PROJECT("PR
  4968. OJVAR"),..      
  4969.            GROUP
  4970. 1("GRP1VAR") GRO
  4971. UP2("GRP2VAR") G
  4972. ROUP3("GRP3VAR")
  4973. ,..             
  4974.     GROUP4("GRP4
  4975. VAR") TYPE("TYPE
  4976. VAR") ENQ("ENQVA
  4977. R")"..IF RC ^= 0
  4978.  THEN DO        
  4979.     /* RETURN CO
  4980. DES             
  4981.            */.. 
  4982.                 
  4983.              /* 
  4984.  4 - KEYWORD SPE
  4985. CIFIED FOR WHICH
  4986.  NO */..END     
  4987.                 
  4988.       /*      IN
  4989. FORMATION WAS AV
  4990. AILABLE.     */.
  4991. .ELSE DO        
  4992.                /
  4993. *    - VARIABLES
  4994.  CONTAIN BLANKS.
  4995.       */..      
  4996.                 
  4997.         /* 10 - 
  4998. NO DATA FILE ASS
  4999. OCIATED WITH   *
  5000. /..END          
  5001.                 
  5002.  /*      THE GIV
  5003. EN DATAID       
  5004.         */..    
  5005.                 
  5006.           /* 16 
  5007. - TRUNCATION OR 
  5008. TRANSLATION ERRO
  5009. R*/..           
  5010.                 
  5011.    /*      IN AC
  5012. CESSING DIALOG V
  5013. ARIABLES  */..  
  5014.                 
  5015.             /* 2
  5016. 0 - SEVERE ERROR
  5017.                 
  5018.    */..
  5019.  
  5020. @DM Library access
  5021. %LmQuery Dataset
  5022. $
  5023. /*--------------
  5024. (GET DS INFORMAT
  5025. ION)------------
  5026. -------*/..ADDRE
  5027. SS ISPEXEC "LMQU
  5028. ERY DATAID("DATA
  5029. ID") DATASET("DS
  5030. NVAR"),..       
  5031.           VOLUME
  5032. ("VOLVAR") ENQ("
  5033. ENQVAR")"..IF RC
  5034.  ^= 0 THEN DO   
  5035.          /* RETU
  5036. RN CODES        
  5037.                 
  5038. */..            
  5039.                 
  5040.   /*  4 - KEYWOR
  5041. D SPECIFIED FOR 
  5042. WHICH NO */..END
  5043.                 
  5044.            /*   
  5045.    INFORMATION W
  5046. AS AVAILABLE.   
  5047.   */..ELSE DO   
  5048.                 
  5049.     /*    - VARI
  5050. ABLES CONTAIN BL
  5051. ANKS.      */.. 
  5052.                 
  5053.              /* 
  5054. 10 - NO DATA FIL
  5055. E ASSOCIATED WIT
  5056. H   */..END     
  5057.                 
  5058.       /*      TH
  5059. E GIVEN DATAID  
  5060.              */.
  5061. .               
  5062.                /
  5063. * 16 - TRUNCATIO
  5064. N OR TRANSLATION
  5065.  ERROR*/..      
  5066.                 
  5067.         /*      
  5068. IN ACCESSING DIA
  5069. LOG VARIABLES  *
  5070. /..             
  5071.                 
  5072.  /* 20 - SEVERE 
  5073. ERROR           
  5074.         */..
  5075.  
  5076. @DM Library access
  5077. %LmQuery File
  5078. $
  5079. /*--------------
  5080. (GET DS INFORMAT
  5081. ION)------------
  5082. -------*/..ADDRE
  5083. SS ISPEXEC "LMQU
  5084. ERY DATAID("DATA
  5085. ID") DDNAME"DDNV
  5086. AR") ENQ("ENQVAR
  5087. ")"..IF RC ^= 0 
  5088. THEN DO         
  5089.    /* RETURN COD
  5090. ES              
  5091.           */..  
  5092.                 
  5093.             /*  
  5094. 4 - KEYWORD SPEC
  5095. IFIED FOR WHICH 
  5096. NO */..END      
  5097.                 
  5098.      /*      INF
  5099. ORMATION WAS AVA
  5100. ILABLE.     */..
  5101. ELSE DO         
  5102.               /*
  5103.     - VARIABLES 
  5104. CONTAIN BLANKS. 
  5105.      */..       
  5106.                 
  5107.        /* 10 - N
  5108. O DATA FILE ASSO
  5109. CIATED WITH   */
  5110. ..END           
  5111.                 
  5112. /*      THE GIVE
  5113. N DATAID        
  5114.        */..     
  5115.                 
  5116.          /* 16 -
  5117.  TRUNCATION OR T
  5118. RANSLATION ERROR
  5119. */..            
  5120.                 
  5121.   /*      IN ACC
  5122. ESSING DIALOG VA
  5123. RIABLES  */..   
  5124.                 
  5125.            /* 20
  5126.  - SEVERE ERROR 
  5127.                 
  5128.   */..
  5129.  
  5130. @DM Library access
  5131. %LmRename
  5132. $
  5133. /*------------(R
  5134. ENAME AN ISPF LI
  5135. BRARY)----------
  5136. -------*/..ADDRE
  5137. SS ISPEXEC "LMRE
  5138. NAME PROJECT("PR
  5139. OJECT") GROUP("G
  5140. ROUP")..        
  5141.          TYPE("T
  5142. YPE") NEWPROJ("N
  5143. EWPROJ") NEWGROU
  5144. P("NEWGROUP"),..
  5145.                 
  5146.  NEWTYPE("NEWTYP
  5147. E")"..IF RC ^= 0
  5148.  THEN DO        
  5149.       /*  RETURN
  5150.  CODES          
  5151.            */.. 
  5152.                 
  5153.                /
  5154. *  2 - FILE RENA
  5155. MED BUT NOT     
  5156.     */..END     
  5157.                 
  5158.         /*      
  5159. STATISTICS FILE 
  5160. (VM ONLY)    */.
  5161. .ELSE DO        
  5162.                 
  5163.  /*  4 - NEW NAM
  5164. E ALREADY EXISTS
  5165.       */..      
  5166.                 
  5167.           /*  8 
  5168. - DATA SET OR IS
  5169. PF LIBRARY     *
  5170. /..END          
  5171.                 
  5172.    /*      DOES 
  5173. NOT EXIST       
  5174.         */..    
  5175.                 
  5176.             /*  
  5177.   - RENAME OR CA
  5178. TALOG FAILED    
  5179.  */..           
  5180.                 
  5181.      /*      (MV
  5182. S ONLY)         
  5183.           */..  
  5184.                 
  5185.               /*
  5186.     - ALIAS DATA
  5187.  SET NOT SUPPORT
  5188. ED */..         
  5189.                 
  5190.        /*      (
  5191. MVS ONLY)       
  5192.             */..
  5193.                 
  5194.                 
  5195. /* 12 - INVALID 
  5196. PARAMETER VALUE 
  5197.      */..       
  5198.                 
  5199.          /* 20 -
  5200.  SEVERE ERROR   
  5201.               */
  5202. ..
  5203.  
  5204. @DM Library access
  5205. %LmHier
  5206. $
  5207. /*-----(SHOW STR
  5208. UCTURE OF THE LI
  5209. BRARY HIERARCHY)
  5210. -------*/..ADDRE
  5211. SS ISPEXEC "LMHI
  5212. ER PROJECT("PROJ
  5213. NAME") GROUP("GR
  5214. PNAME"),..      
  5215.            TABLE
  5216. ("TABLNAME")"..I
  5217. F RC ^= 0 THEN D
  5218. O       /* RETUR
  5219. N CODES         
  5220.                 
  5221.    */..         
  5222.                 
  5223. /*  4 - GROUP IS
  5224.  NOT ACTIVATED  
  5225.            */..E
  5226. ND              
  5227.         /*  8 - 
  5228. PROJECT AND/OR G
  5229. ROUP NOT FOUND  
  5230.    */..ELSE DO  
  5231.                 
  5232. /* 12 - INVALID 
  5233. PARAMETER VALUE 
  5234.            */.. 
  5235.                 
  5236.         /* 20 - 
  5237. SEVERE ERROR    
  5238.                 
  5239.    */..END..
  5240.  
  5241. @DM Library access
  5242. %LmAct
  5243. $
  5244. /*-------(ACTIVA
  5245. TE HIERARCHY FRO
  5246. M A DIALOG)-----
  5247. -------*/..ADDRE
  5248. SS ISPEXEC "LMAC
  5249. T PROJECT("PROJN
  5250. AME") GROUP("GRP
  5251. NAME")"..IF RC ^
  5252. = 0 THEN DO     
  5253.    /* RETURN COD
  5254. ES              
  5255.             */..
  5256.                 
  5257.           /*  4 
  5258. - SUCCESSFULLY A
  5259. CTIVATED AN LMF 
  5260.    */..END      
  5261.                 
  5262.  /*      HIERARC
  5263. HY CONTAINING AN
  5264.           */..EL
  5265. SE DO           
  5266.         /*      
  5267. SCLM-CONTROLLED 
  5268. LIBRARY         
  5269.  */..           
  5270.                /
  5271. *  8 - ACTIVATE 
  5272. FAILED          
  5273.         */..END 
  5274.                 
  5275.       /* 12 - IN
  5276. VALID PARAMETER 
  5277. VALUE          *
  5278. /..             
  5279.              /* 
  5280. 20 - SEVERE ERRO
  5281. R               
  5282.       */..
  5283.  
  5284. @DM Library access
  5285. %LmDeact
  5286. $
  5287. /*--------(DEACT
  5288. IVATE HIERARCHY 
  5289. FROM A DIALOG)--
  5290. -------*/..ADDRE
  5291. SS ISPEXEC "LMDE
  5292. ACT PROJECT("PRO
  5293. JNAME") GROUP("G
  5294. RPNAME")"..IF RC
  5295.  ^= 0 THEN DO   
  5296.      /* RETURN C
  5297. ODES            
  5298.               */
  5299. ..              
  5300.             /*  
  5301. 4 - SUCCESSFULLY
  5302.  DEACTIVATED AN 
  5303. LMF  */..END    
  5304.                 
  5305.    /*      HIERA
  5306. RCHY CONTAINING 
  5307. AN          */..
  5308. ELSE DO         
  5309.           /*    
  5310.   SCLM-CONTROLLE
  5311. D LIBRARY       
  5312.    */..         
  5313.                 
  5314.  /*  8 - DEACTIV
  5315. ATE FAILED      
  5316.           */..EN
  5317. D               
  5318.         /* 12 - 
  5319. INVALID PARAMETE
  5320. R VALUE         
  5321.  */..           
  5322.                /
  5323. * 20 - SEVERE ER
  5324. ROR             
  5325.         */..
  5326.  
  5327. @DM Library access
  5328. %LmReview DataSet
  5329. $
  5330. /*---------(SHOW
  5331.  CONTROLS SET FO
  5332. R A LIBRARY)----
  5333. -------*/..ADDRE
  5334. SS ISPEXEC "LMRE
  5335. VIEW CONTROLS(ME
  5336. MBER) DATASET("D
  5337. SNAME"),..      
  5338.            DATAM
  5339. EMB("DATAMEM") P
  5340. ROJECT("PROJNAME
  5341. "),..           
  5342.       GROUP("TOP
  5343. GROUP") TYPE("TY
  5344. PE") MEMBER("MEM
  5345. NAME")"..IF RC ^
  5346. = 0 THEN DO     
  5347.    /* RETURN COD
  5348. ES              
  5349.             */..
  5350.                 
  5351.           /*  8 
  5352. - LIBRARY ERROR.
  5353.   MESSAGE SET IN
  5354.    */..END      
  5355.                 
  5356.  /*      MESSAGE
  5357.  VARIABLES      
  5358.           */..EL
  5359. SE DO           
  5360.         /* 12 - 
  5361. INVALID PARAMETE
  5362. R VALUE         
  5363.  */..           
  5364.                /
  5365. * 20 - SEVERE ER
  5366. ROR             
  5367.         */..END.
  5368. .
  5369.  
  5370. @DM Library access
  5371. %LmReview DataId
  5372. $
  5373. /*---------(SHOW
  5374.  CONTROLS SET FO
  5375. R A LIBRARY)----
  5376. -------*/..ADDRE
  5377. SS ISPEXEC "LMRE
  5378. VIEW CONTROLS(ME
  5379. MBER) DATAID("DA
  5380. TAID"),..       
  5381.           DATAME
  5382. MB("DATAMEM") PR
  5383. OJECT("PROJNAME"
  5384. ),..            
  5385.      GROUP("TOPG
  5386. ROUP") TYPE("TYP
  5387. ENAME") MEMBER("
  5388. MEMNAME")"..IF R
  5389. C ^= 0 THEN DO  
  5390.       /* RETURN 
  5391. CODES           
  5392.                *
  5393. /..             
  5394.              /* 
  5395.  8 - LIBRARY ERR
  5396. OR.  MESSAGE SET
  5397.  IN   */..END   
  5398.                 
  5399.     /*      MESS
  5400. AGE VARIABLES   
  5401.              */.
  5402. .ELSE DO        
  5403.            /* 12
  5404.  - INVALID PARAM
  5405. ETER VALUE      
  5406.     */..        
  5407.                 
  5408.   /* 20 - SEVERE
  5409.  ERROR          
  5410.            */..E
  5411. ND..
  5412.  
  5413. @DM Library access
  5414. %LmMDisp Display Option
  5415. $
  5416. /*------------(L
  5417. MMDISP DISPLAY O
  5418. PTION)----------
  5419. -------*/..ADDRE
  5420. SS ISPEXEC "LMMD
  5421. ISP DATAID("DATA
  5422. VAR") OPTION(DIS
  5423. PLAY)..         
  5424.         MEMBER("
  5425. PATTERN") STATS(
  5426. NO) PANEL("PANEL
  5427. NAME"),..       
  5428.           CURSOR
  5429. ("CURVAL") TOP("
  5430. TOPROW") COMMAND
  5431. S("CMD")..      
  5432.            FIELD
  5433. S("FLD")"..IF RC
  5434.  ^= 0 THEN DO   
  5435.      /* RETURN C
  5436. ODES            
  5437.               */
  5438. ..              
  5439.             /*  
  5440. 4 - REQUESTED DA
  5441. TA SET EMPTY OR 
  5442. NO   */..END    
  5443.                 
  5444.    /*      MEMBE
  5445. RS MATCHED THE S
  5446. PECIFIED    */..
  5447. ELSE DO         
  5448.           /*    
  5449.   PATTERN       
  5450.                 
  5451.    */..         
  5452.                 
  5453.  /*  8 - USER EN
  5454. TERED END OR RET
  5455. URN       */..EN
  5456. D               
  5457.         /* 10 - 
  5458. NO DATA SET IS A
  5459. SSOCIATED WITH  
  5460.  */..           
  5461.                /
  5462. *      THE GIVEN
  5463.  DATAID         
  5464.         */..    
  5465.                 
  5466.       /* 12 - DA
  5467. TA SET IS NOT OP
  5468. EN OR IS NOT   *
  5469. /..             
  5470.              /* 
  5471.      OPEN FOR IN
  5472. PUT             
  5473.       */..      
  5474.                 
  5475.     /*    - DATA
  5476.  SET IS NOT PART
  5477. ITIONED      */.
  5478. .               
  5479.            /*   
  5480.  - INVALID PARAM
  5481. ETER VALUE      
  5482.     */..        
  5483.                 
  5484.   /*    - INVALI
  5485. D DATA SET ORGAN
  5486. IZATION    */.. 
  5487.                 
  5488.          /*    -
  5489.  INVALID INVOCAT
  5490. ION SYNTAX      
  5491.   */..          
  5492.                 
  5493. /*    - MEMBER L
  5494. IST DOES NOT EXI
  5495. ST       */..   
  5496.                 
  5497.        /* 16 - T
  5498. RUNCATION OR TRA
  5499. NSLATION ERROR  
  5500. */..            
  5501.               /*
  5502.       IN ACCESSI
  5503. NG DIALOG VARIAB
  5504. LES    */..     
  5505.                 
  5506.      /* 20 - SEV
  5507. ERE ERROR       
  5508.               */
  5509. ..
  5510.  
  5511. @DM Library access
  5512. %LmMDisp Get Option
  5513. $
  5514. /*--------------
  5515. (LMMDISP GET OPT
  5516. ION)------------
  5517. -------*/..ADDRE
  5518. SS ISPEXEC "LMMD
  5519. ISP DATAID("DATA
  5520. VAR") OPTION(GET
  5521. ) STATS(NO)"..IF
  5522.  RC ^= 0 THEN DO
  5523.         /* RETUR
  5524. N CODES         
  5525.                 
  5526.  */..           
  5527.                /
  5528. * 8  - NO MORE S
  5529. ELECTED MEMBERS 
  5530.         */..END 
  5531.                 
  5532.       /* 10 - NO
  5533.  DATA SET IS ASS
  5534. OCIATED WITH   *
  5535. /..ELSE DO      
  5536.              /* 
  5537.      THE GIVEN D
  5538. ATAID           
  5539.       */..      
  5540.                 
  5541.     /* 12 - DATA
  5542.  SET IS NOT OPEN
  5543.  OR IS NOT   */.
  5544. .END            
  5545.            /*   
  5546.    OPEN FOR INPU
  5547. T               
  5548.     */..        
  5549.                 
  5550.   /*    - DATA S
  5551. ET IS NOT PARTIT
  5552. IONED      */.. 
  5553.                 
  5554.          /*    -
  5555.  INVALID PARAMET
  5556. ER VALUE        
  5557.   */..          
  5558.                 
  5559. /*    - INVALID 
  5560. DATA SET ORGANIZ
  5561. ATION    */..   
  5562.                 
  5563.        /*    - I
  5564. NVALID INVOCATIO
  5565. N SYNTAX        
  5566. */..            
  5567.               /*
  5568.     - MEMBER LIS
  5569. T DOES NOT EXIST
  5570.        */..     
  5571.                 
  5572.      /* 16 - TRU
  5573. NCATION OR TRANS
  5574. LATION ERROR  */
  5575. ..              
  5576.             /*  
  5577.     IN ACCESSING
  5578.  DIALOG VARIABLE
  5579. S    */..       
  5580.                 
  5581.    /* 20 - SEVER
  5582. E ERROR         
  5583.             */..
  5584.  
  5585. @DM Library access
  5586. %LmMDisp Put Option
  5587. $
  5588. /*--------------
  5589. (LMMDISP PUT OPT
  5590. ION)------------
  5591. -------*/..ADDRE
  5592. SS ISPEXEC "LMMD
  5593. ISP DATAID("DATA
  5594. VAR") OPTION(PUT
  5595. ),..            
  5596.      MEMBER("PAT
  5597. TERN") ZLLCMD("L
  5598. CMD") ZLUDATA("U
  5599. DATA")"..IF RC ^
  5600. = 0 THEN DO     
  5601.    /* RETURN COD
  5602. ES              
  5603.             */..
  5604.                 
  5605.           /* 8  
  5606. - SPECIFIED MEMB
  5607. ER DOES NOT EXIS
  5608. T  */..         
  5609.                 
  5610.  /* 10 - NO DATA
  5611.  SET IS ASSOCIAT
  5612. ED WITH   */..  
  5613.                 
  5614.         /*      
  5615. THE GIVEN DATAID
  5616.                 
  5617.  */..           
  5618.                /
  5619. * 12 - DATA SET 
  5620. IS NOT OPEN OR I
  5621. S NOT   */..    
  5622.                 
  5623.       /*      OP
  5624. EN FOR INPUT    
  5625.                *
  5626. /..             
  5627.              /* 
  5628.    - DATA SET IS
  5629.  NOT PARTITIONED
  5630.       */..      
  5631.                 
  5632.     /*    - INVA
  5633. LID PARAMETER VA
  5634. LUE          */.
  5635. .               
  5636.            /*   
  5637.  - INVALID DATA 
  5638. SET ORGANIZATION
  5639.     */..        
  5640.                 
  5641.   /*    - INVALI
  5642. D INVOCATION SYN
  5643. TAX        */.. 
  5644.                 
  5645.          /*    -
  5646.  MEMBER LIST DOE
  5647. S NOT EXIST     
  5648.   */..          
  5649.                 
  5650. /* 16 - TRUNCATI
  5651. ON OR TRANSLATIO
  5652. N ERROR  */..   
  5653.                 
  5654.        /*      I
  5655. N ACCESSING DIAL
  5656. OG VARIABLES    
  5657. */..            
  5658.               /*
  5659.  20 - SEVERE ERR
  5660. OR              
  5661.        */..
  5662.  
  5663. @DM Library access
  5664. %LmMDisp Add Option
  5665. $
  5666. /*--------------
  5667. (LMMDISP ADD OPT
  5668. ION)------------
  5669. -------*/..ADDRE
  5670. SS ISPEXEC "LMMD
  5671. ISP DATAID("DATA
  5672. VAR") OPTION(ADD
  5673. ),..            
  5674.      MEMBER("PAT
  5675. TERN") ZLLCMD("L
  5676. CMD") ZLUDATA("U
  5677. DATA")"..IF RC ^
  5678. = 0 THEN DO     
  5679.    /* RETURN COD
  5680. ES              
  5681.             */..
  5682.                 
  5683.           /* 8  
  5684. - MEMBER ALREADY
  5685.  EXISTS IN MEMBE
  5686. R  */..         
  5687.                 
  5688.  /*      LIST   
  5689.                 
  5690.           */..  
  5691.                 
  5692.         /* 10 - 
  5693. NO DATA SET IS A
  5694. SSOCIATED WITH  
  5695.  */..           
  5696.                /
  5697. *      THE GIVEN
  5698.  DATAID         
  5699.         */..    
  5700.                 
  5701.       /* 12 - DA
  5702. TA SET IS NOT OP
  5703. EN OR IS NOT   *
  5704. /..             
  5705.              /* 
  5706.      OPEN FOR IN
  5707. PUT             
  5708.       */..      
  5709.                 
  5710.     /*    - DATA
  5711.  SET IS NOT PART
  5712. ITIONED      */.
  5713. .               
  5714.            /*   
  5715.  - INVALID PARAM
  5716. ETER VALUE      
  5717.     */..        
  5718.                 
  5719.   /*    - INVALI
  5720. D DATA SET ORGAN
  5721. IZATION    */.. 
  5722.                 
  5723.          /*    -
  5724.  INVALID INVOCAT
  5725. ION SYNTAX      
  5726.   */..          
  5727.                 
  5728. /*    - MEMBER L
  5729. IST DOES NOT EXI
  5730. ST       */..   
  5731.                 
  5732.        /* 16 - T
  5733. RUNCATION OR TRA
  5734. NSLATION ERROR  
  5735. */..            
  5736.               /*
  5737.       IN ACCESSI
  5738. NG DIALOG VARIAB
  5739. LES    */..     
  5740.                 
  5741.      /* 20 - SEV
  5742. ERE ERROR       
  5743.               */
  5744. ..
  5745.  
  5746. @DM Library access
  5747. %LmMDisp Free Option
  5748. $
  5749. /*--------------
  5750. (LMMDISP FREE OP
  5751. TION)-----------
  5752. -------*/..ADDRE
  5753. SS ISPEXEC "LMMD
  5754. ISP DATAID("DATA
  5755. VAR")  OPTION(FR
  5756. EE)"..IF RC ^= 0
  5757.  THEN DO        
  5758. /* RETURN CODES 
  5759.                 
  5760.          */..   
  5761.                 
  5762.        /* 8  - N
  5763. O MEMBER LIST IS
  5764.  ASSOCIATED WITH
  5765. */..            
  5766.               /*
  5767.       THE GIVEN 
  5768. DATAID          
  5769.        */..     
  5770.                 
  5771.      /* 10 - NO 
  5772. DATA SET IS ASSO
  5773. CIATED WITH   */
  5774. ..              
  5775.             /*  
  5776.     THE GIVEN DA
  5777. TAID            
  5778.      */..       
  5779.                 
  5780.    /* 12 - DATA 
  5781. SET IS NOT OPEN 
  5782. OR IS NOT   */..
  5783.                 
  5784.           /*    
  5785.   OPEN FOR INPUT
  5786.                 
  5787.    */..         
  5788.                 
  5789.  /*    - DATA SE
  5790. T IS NOT PARTITI
  5791. ONED      */..  
  5792.                 
  5793.         /*    - 
  5794. INVALID PARAMETE
  5795. R VALUE         
  5796.  */..           
  5797.                /
  5798. *    - INVALID D
  5799. ATA SET ORGANIZA
  5800. TION    */..    
  5801.                 
  5802.       /*    - IN
  5803. VALID INVOCATION
  5804.  SYNTAX        *
  5805. /..             
  5806.              /* 
  5807. 16 - TRUNCATION 
  5808. OR TRANSLATION E
  5809. RROR  */..      
  5810.                 
  5811.     /*      IN A
  5812. CCESSING DIALOG 
  5813. VARIABLES    */.
  5814. .               
  5815.            /* 20
  5816.  - SEVERE ERROR 
  5817.                 
  5818.     */..
  5819.  
  5820. @DM Library access
  5821. %LmMove
  5822. $
  5823. /*--------------
  5824. -(MOVE MEMBERS O
  5825. R PS)-----------
  5826. -------*/..ADDRE
  5827. SS ISPEXEC "LMMO
  5828. VE FROMID("FROMD
  5829. ATAID") FROMMEM(
  5830. "FROMMEM"),..   
  5831.               TO
  5832. DATAID("TODATAID
  5833. ") TOMEM("TOMEMB
  5834. ER"),..         
  5835.         REPLACE 
  5836. PACK TRUNC"..IF 
  5837. RC ^= 0 THEN DO 
  5838.        /* RETURN
  5839.  CODES -        
  5840.                 
  5841. */..            
  5842.               /*
  5843.   4 - "FROM" DAT
  5844. A SET IS EMPTY  
  5845.        */..END  
  5846.                 
  5847.      /*    - NO 
  5848. MEMBERS MATCH PA
  5849. TTERN.        */
  5850. ..ELSE DO       
  5851.             /*  
  5852. 8 - "FROM" MEMBE
  5853. R NOT FOUND     
  5854.      */..       
  5855.                 
  5856.    /*    - "FROM
  5857. " DATA SET IS EM
  5858. PTY         */..
  5859. END             
  5860.           /* 10 
  5861. - NO DATA SET AS
  5862. SOCIATED WITH TH
  5863. E  */..         
  5864.                 
  5865.  /*      GIVEN D
  5866. ATAID           
  5867.           */..  
  5868.                 
  5869.         /* 12 - 
  5870. INVALID DATA SET
  5871.  ORGANIZATION   
  5872.  */..           
  5873.                /
  5874. *    - DATA SET 
  5875. ATTRIBUTE INVALI
  5876. D FOR   */..    
  5877.                 
  5878.       /*      PA
  5879. CKED DATA       
  5880.                *
  5881. /..             
  5882.              /* 
  5883.    - MEMBER ALRE
  5884. ADY EXISTS IN "T
  5885. O"    */..      
  5886.                 
  5887.     /*      DATA
  5888.  SET AND "REPLAC
  5889. E" WAS       */.
  5890. .               
  5891.            /*   
  5892.    NOT SPECIFIED
  5893.                 
  5894.     */..        
  5895.                 
  5896.   /*    - OPEN E
  5897. RROR            
  5898.            */.. 
  5899.                 
  5900.          /* 16 -
  5901.  TRUNCATION ERRO
  5902. R               
  5903.   */..          
  5904.                 
  5905. /* 20 - SEVERE E
  5906. RROR            
  5907.          */..
  5908.  
  5909. @DM Library access
  5910. %LmCopy
  5911. $
  5912. /*--------------
  5913. -(COPY MEMBERS O
  5914. R PS)-----------
  5915. -------*/..ADDRE
  5916. SS ISPEXEC "LMCO
  5917. PY FROMID("FROMD
  5918. ATAID") FROMMEM(
  5919. "FROMMEM"),..   
  5920.               TO
  5921. DATAID("TODATAID
  5922. ") TOMEM("TOMEMB
  5923. ER"),..         
  5924.         REPLACE 
  5925. PACK TRUNC LOCK"
  5926. ..IF RC ^= 0 THE
  5927. N DO        /* R
  5928. ETURN CODES -   
  5929.                 
  5930.      */..       
  5931.                 
  5932.    /*  4 - MEMBE
  5933. R NOT AVAILABLE:
  5934.  IN AN LMF  */..
  5935. END             
  5936.           /*    
  5937.   CONTROLLED ISP
  5938. F LIBRARY AND   
  5939.    */..ELSE DO  
  5940.                 
  5941.  /*      CURRENT
  5942. LY OWNED BY ANOT
  5943. HER USER  */..  
  5944.                 
  5945.         /*    - 
  5946. MEMBER NOT AVAIL
  5947. ABLE: IN AN LMF 
  5948.  */..END        
  5949.                /
  5950. *      CONTROLLE
  5951. D ISPF LIBRARY A
  5952. ND USER */..    
  5953.                 
  5954.       /*      IS
  5955.  NOT A VALID USE
  5956. R AS SPECIFIED *
  5957. /..             
  5958.              /* 
  5959.      BY MEMBER A
  5960. CCESS ID        
  5961.       */..      
  5962.                 
  5963.     /*    - "FRO
  5964. M" DATA SET IS E
  5965. MPTY         */.
  5966. .               
  5967.            /*   
  5968.  - NO MEMBERS MA
  5969. TCH PATTERN     
  5970.     */..        
  5971.                 
  5972.   /*    - TRIED 
  5973. TO LOCK A MEMBER
  5974.  IN AN     */.. 
  5975.                 
  5976.          /*     
  5977.  SCLM-CONTROLLED
  5978.  LIBRARY        
  5979.   */..          
  5980.                 
  5981. /*  8 - "FROM" M
  5982. EMBER NOT FOUND 
  5983.          */..   
  5984.                 
  5985.        /* 10 - N
  5986. O DATA SET ASSOC
  5987. IATED WITH THE  
  5988. */..            
  5989.               /*
  5990.       GIVEN DATA
  5991. ID              
  5992.        */..     
  5993.                 
  5994.      /* 12 - INV
  5995. ALID DATA SET OR
  5996. GANIZATION    */
  5997. ..              
  5998.             /*  
  5999.   - DATA SET ATT
  6000. RIBUTE INVALID F
  6001. OR   */..       
  6002.                 
  6003.    /*      PACKE
  6004. D DATA          
  6005.             */..
  6006.                 
  6007.           /*    
  6008. - MEMBER ALREADY
  6009.  EXISTS IN "TO" 
  6010.    */..         
  6011.                 
  6012.  /*      DATA SE
  6013. T AND "REPLACE" 
  6014. WAS       */..  
  6015.                 
  6016.         /*      
  6017. NOT SPECIFIED   
  6018.                 
  6019.  */..           
  6020.                /
  6021. *    - OPEN ERRO
  6022. R               
  6023.         */..    
  6024.                 
  6025.       /* 16 - TR
  6026. UNCATION ERROR  
  6027.                *
  6028. /..             
  6029.              /* 
  6030. 20 - SEVERE ERRO
  6031. R               
  6032.       */..
  6033.  
  6034. @DM Library access
  6035. %LmComp
  6036. $
  6037. /*--------------
  6038. ---(COMPRESS A P
  6039. DS)-------------
  6040. -------*/..ADDRE
  6041. SS ISPEXEC "LMCO
  6042. MP DATAID("DATAI
  6043. D")"..IF RC ^= 0
  6044.  THEN DO        
  6045. /* RETURN CODES 
  6046. -               
  6047.          */..   
  6048.                 
  6049.        /*  8 - L
  6050. IBRARY IS A PDSE
  6051.  AND CANNOT BE  
  6052. */..END         
  6053.               /*
  6054.       COMPRESSED
  6055.                 
  6056.        */..ELSE 
  6057. DO              
  6058.      /* 10 - NO 
  6059. DATA SET ASSOCIA
  6060. TED WITH GIVEN*/
  6061. ..              
  6062.             /*  
  6063.     DATAID      
  6064.                 
  6065.      */..END    
  6066.                 
  6067.    /* 12 - DATA 
  6068. SET NOT PARTITIO
  6069. NED         */..
  6070.                 
  6071.           /*    
  6072. - DATA SET NOT A
  6073. LLOCATED OR OPEN
  6074. ED */..         
  6075.                 
  6076.  /* 20 - SEVERE 
  6077. ERROR           
  6078.           */..
  6079.  
  6080. @DM Library access
  6081. %LmMStats
  6082. $
  6083. /*------------(S
  6084. ET AND STORES ST
  6085. ATISTICS)-------
  6086. -------*/..ADDRE
  6087. SS ISPEXEC "LMMS
  6088. TATS DATAID("DAT
  6089. AID") MEMBER("MB
  6090. RNAME")..       
  6091.           VERSIO
  6092. N("VER1") MODLEV
  6093. EL("MOD1") CREAT
  6094. ED("CDATE"),..  
  6095.                M
  6096. ODDATE("MDATE") 
  6097. MODTIME("MTIME")
  6098.  CURSIZE("CSIZE"
  6099. ),..            
  6100.      INITSIZE("I
  6101. SIZE") MODRECS("
  6102. MRECS") USER("US
  6103. ERID"),..       
  6104.           DELETE
  6105. ..IF RC ^= 0 THE
  6106. N DO        /* R
  6107. ETURN CODES -   
  6108.                 
  6109.      */..       
  6110.                 
  6111.    /*  4 - NO ME
  6112. MBERS MATCH PATT
  6113. ERN         */..
  6114. END             
  6115.           /*    
  6116. - NO MEMBER IN D
  6117. ATA SET         
  6118.    */..ELSE DO  
  6119.                 
  6120.  /*  8 - MEMBER 
  6121. NOT FOUND       
  6122.           */..  
  6123.                 
  6124.         /* 10 - 
  6125. NO DATA SET ASSO
  6126. CIATED WITH THE 
  6127.  */..END        
  6128.                /
  6129. *      GIVEN DAT
  6130. AID             
  6131.         */..    
  6132.                 
  6133.       /* 12 - IN
  6134. VALID PARAMETER 
  6135. VALUE          *
  6136. /..             
  6137.              /* 
  6138.    - DATA SET IS
  6139.  NOT OPEN OR IS 
  6140. NOT   */..      
  6141.                 
  6142.     /*      PART
  6143. ITIONED         
  6144.              */.
  6145. .               
  6146.            /* 20
  6147.  - SEVERE ERROR 
  6148.                 
  6149.     */..
  6150.  
  6151. @DM Library access
  6152. %LmPrint
  6153. $
  6154. /*-----------(PR
  6155. INT TO THE LIST 
  6156. DATA SET)-------
  6157. -------*/..ADDRE
  6158. SS ISPEXEC "LMPR
  6159. INT DATAID("DATA
  6160. ID") MEMBER("MBR
  6161. NAME"),..       
  6162.           INDEX 
  6163. FORMAT(YES)"..IF
  6164.  RC ^= 0 THEN DO
  6165.         /* RETUR
  6166. N CODES -       
  6167.                 
  6168.  */..           
  6169.                /
  6170. *  4 - NO MEMBER
  6171. S MATCH PATTERN 
  6172.         */..END 
  6173.                 
  6174.       /*    - NO
  6175.  MEMBERS EXIST I
  6176. N LIBRARY      *
  6177. /..ELSE DO      
  6178.              /* 
  6179.  8 - MEMBER NOT 
  6180. FOUND           
  6181.       */..      
  6182.                 
  6183.     /* 10 - NO D
  6184. ATA SET ASSOCIAT
  6185. ED WITH GIVEN*/.
  6186. .END            
  6187.            /*   
  6188.    DATAID       
  6189.                 
  6190.     */..        
  6191.                 
  6192.   /* 12 - INVALI
  6193. D DATA SET ORGAN
  6194. IZATION    */.. 
  6195.                 
  6196.          /*    -
  6197.  INVALID PARAMET
  6198. ER              
  6199.   */..          
  6200.                 
  6201. /* 20 - SEVERE E
  6202. RROR            
  6203.          */..
  6204.  
  6205. @DM Library access
  6206. %LmDInit
  6207. $
  6208. /*--(ASSOCIATE D
  6209. SNAME LEVEL AND 
  6210. VOLUME WITH DSLI
  6211. ST ID)-*/..ADDRE
  6212. SS ISPEXEC "LMDI
  6213. NIT LISTID(LISTI
  6214. DV) LEVEL("DSLEV
  6215. "),..           
  6216.       VOLUME("VO
  6217. LSER")"..IF RC ^
  6218. = 0 THEN DO     
  6219.          /* RETU
  6220. RN CODES        
  6221.              */.
  6222. .               
  6223.                 
  6224.  /*  8 - LISTID 
  6225. NOT CREATED     
  6226.      */..END    
  6227.                 
  6228.          /* 12 -
  6229.  INVALID PARAMET
  6230. ER VALUE     */.
  6231. .ELSE DO        
  6232.                 
  6233.  /* 16 - TRUNCAT
  6234. ION OR TRANSLATI
  6235. ON   */..       
  6236.                 
  6237.          /*     
  6238.  ERROR IN ACCESS
  6239. ING DIALOG   */.
  6240. .END            
  6241.                 
  6242.  /*      VARIABL
  6243. ES              
  6244.      */..       
  6245.                 
  6246.          /* 20 -
  6247.  SEVERE ERROR   
  6248.              */.
  6249. .
  6250.  
  6251. @DM Library access
  6252. %LmDList
  6253. $
  6254. /*-------(CREATE
  6255.  A DATA SET LIST
  6256.  FOR DSLIST ID)-
  6257. -------*/..ADDRE
  6258. SS ISPEXEC "LMDL
  6259. IST LISTID("LIST
  6260. ID") OPTION("DSL
  6261. OPT"),..        
  6262.          DATASET
  6263. (DSVAR)  STATS("
  6264. STATSOPT") GROUP
  6265. ("GROUP")"..IF R
  6266. C ^= 0 THEN DO  
  6267.        /* RETURN
  6268.  CODES          
  6269.                 
  6270.  */..           
  6271.                 
  6272. /*  4 - NOT ALL 
  6273. DATA SET NAMES P
  6274. UT IN LIST*/..EN
  6275. D               
  6276.          /*  8 -
  6277.  NO MORE DATA SE
  6278. TS NAMES IN LIST
  6279.    */..ELSE DO  
  6280.                 
  6281.   /*      (OPTIO
  6282. N LIST)         
  6283.             */..
  6284.                 
  6285.            /*   
  6286.  - NO DATA SET L
  6287. IST EXISTS FOR T
  6288. HIS  */..END    
  6289.                 
  6290.     /*      DSLI
  6291. ST-ID (OPTION FR
  6292. EE)           */
  6293. ..              
  6294.              /* 
  6295.    - DATA SET LI
  6296. STS ALREADY EXIS
  6297. TS AND */..     
  6298.                 
  6299.       /*      MU
  6300. ST BE FREED BEFO
  6301. RE USING SAVE   
  6302. */..            
  6303.                /
  6304. *      OPTION (O
  6305. PTION SAVE)     
  6306.          */..   
  6307.                 
  6308.         /* 10 - 
  6309. DATA SET LISTID 
  6310. NOT CREATED BY  
  6311.   */..          
  6312.                 
  6313.  /*      LMDINIT
  6314.                 
  6315.            */.. 
  6316.                 
  6317.           /* 12 
  6318. - INVALID PARAME
  6319. TER VALUE       
  6320.     */..        
  6321.                 
  6322.    /* 16 - TRUNC
  6323. ATION OR TRANSLA
  6324. TION ERROR   */.
  6325. .               
  6326.             /*  
  6327.     IN ACCESSING
  6328.  DIALOG VARIABLE
  6329. S     */..      
  6330.                 
  6331.      /* 20 - SEV
  6332. ERE ERROR       
  6333.                *
  6334. /..
  6335.  
  6336. @DM Library access
  6337. %LmDFree
  6338. $
  6339. /*(REMOVE THE LI
  6340. NK BETWEEN DSN L
  6341. VL, VOLUME AND D
  6342. SLIST ID)*/..ADD
  6343. RESS ISPEXEC "LM
  6344. DFREE LISTID("LI
  6345. STID")"..IF RC ^
  6346. = 0 THEN DO     
  6347.     /* RETURN CO
  6348. DES             
  6349.               */
  6350. ..              
  6351.              /* 
  6352.  8 - LMDFREE FAI
  6353. LED             
  6354.        */..END  
  6355.                 
  6356.       /* 10 - DA
  6357. TA SET LISTID NO
  6358. T CREATED BY    
  6359. */..ELSE DO     
  6360.                /
  6361. *      LMDINIT  
  6362.                 
  6363.          */..   
  6364.                 
  6365.         /* 20 - 
  6366. SEVERE ERROR    
  6367.                 
  6368.   */..END..
  6369.  
  6370. @DM Library access
  6371. %LmDDisp
  6372. $
  6373. /*---------(DISP
  6374. LAY A DATA SET L
  6375. IST FOR ID)-----
  6376. -------*/..ADDRE
  6377. SS ISPEXEC "LMDD
  6378. ISP LISTID("LIST
  6379. ID") VIEW(VOLUME
  6380. ),..            
  6381.      CONFIRM(YES
  6382. ) PANEL(PANELNAM
  6383. E)"..IF RC ^= 0 
  6384. THEN DO         
  6385. /* RETURN CODES 
  6386.                 
  6387.           */..  
  6388.                 
  6389.          /* 10 -
  6390.  DATA SET LISTID
  6391.  NOT CREATED BY 
  6392.    */..END      
  6393.                 
  6394.   /*      LMDINI
  6395. T               
  6396.             */..
  6397. ELSE DO         
  6398.            /* 12
  6399.  - INVALID PARAM
  6400. ETER VALUE      
  6401.      */..       
  6402.                 
  6403.     /* 20 - SEVE
  6404. RE ERROR        
  6405.               */
  6406. ..END..
  6407.  
  6408. @Rexx Built-in Functions
  6409. %BitAnd
  6410. $
  6411. /*-----------(LO
  6412. GICAL AND FOR 2 
  6413. STRINGS)--------
  6414. ----*/..STRING1 
  6415. = '???????'..STR
  6416. ING2 = '?????'..
  6417. FILLER  = ' '  /
  6418. * OPTIONAL */..A
  6419. ND_STRING = BITA
  6420. ND( STRING1, STR
  6421. ING2, FILLER )..
  6422.  
  6423. @Rexx Built-in Functions
  6424. %Queued
  6425. $
  6426. /*--------------
  6427. ----(STACK CONTE
  6428. NTS)------------
  6429. ----*/..STACK_CO
  6430. UNT = QUEUED()..
  6431.  
  6432. @Rexx Built-in Functions
  6433. %SubWord
  6434. $
  6435. /*-------------(
  6436. SUBSTRING OF THE
  6437.  WORDS)---------
  6438. ----*/..STRING =
  6439.  '????????'..STA
  6440. RT  = ?..COUNT  
  6441. = ?    /* OPTION
  6442. AL */..NEW_STRIN
  6443. G = SUBWORD( STR
  6444. ING, START, COUN
  6445. T )..
  6446.  
  6447. @Rexx Built-in Functions
  6448. %Abbrev
  6449. $
  6450. /*--------------
  6451. -(FIND ABBREVIAT
  6452. ION)------------
  6453. ----*/..INFORMAT
  6454. ION = '???????'.
  6455. .INFO = '??'..LE
  6456. NGTH = ?   /* OP
  6457. TIONAL */..ABB =
  6458.  ABBREV(INFORMAT
  6459. ION, INFO, LENGT
  6460. H)..
  6461.  
  6462. @Rexx Built-in Functions
  6463. %Abs
  6464. $
  6465. /*--------------
  6466. -(FIND ABSOLUTE 
  6467. VALUE)----------
  6468. ----*/..NUMBER =
  6469.  ?..ABS_VALUE = 
  6470. ABS( NUMBER )..
  6471.  
  6472. @Rexx Built-in Functions
  6473. %Address
  6474. $
  6475. /*-------------(
  6476. DETERMINE ENVIRO
  6477. NMENT)----------
  6478. ----*/..ENVIRONM
  6479. ENT = ADDRESS() 
  6480.    /* NAME OF EN
  6481. VIRONMENT */..
  6482.  
  6483. @Rexx Built-in Functions
  6484. %Arg
  6485. $
  6486. /*------------(C
  6487. HECK FUNCTION PA
  6488. RAMETER)--------
  6489. ----*/..RESULT =
  6490.  ARG()  /* (N) (
  6491. N,'E') (N,'O') *
  6492. /..
  6493.  
  6494. @Rexx Built-in Functions
  6495. %B2X
  6496. $
  6497. /*---------(CONV
  6498. ERT BINARY TO HE
  6499. XADECIMAL)------
  6500. ----*/..BIT_STRI
  6501. NG = '00001111'.
  6502. .HEX = B2X( BIT_
  6503. STRING )..
  6504.  
  6505. @Rexx Built-in Functions
  6506. %Beep
  6507. $
  6508. /*--------------
  6509. --(GENERATE SOUN
  6510. D)--------------
  6511. ----*/..C1 = 262
  6512.    /* 37-32767 H
  6513. Z */..D1 = 294..
  6514. E1 = 330..F1 = 3
  6515. 49..G1 = 392..A1
  6516.  = 440..H1 = 494
  6517. ..C2 = 524..FREQ
  6518. UENCY = C2..DURA
  6519. TION  = 250   /*
  6520.  1-60000 MS */..
  6521. RESULT = BEEP( F
  6522. REQUENCY, DURATI
  6523. ON )..IF RESULT 
  6524. > '' THEN DO..  
  6525. /*...ERROR HANDL
  6526. ING...*/..END /*
  6527.  IF ... */..
  6528.  
  6529. @Rexx Built-in Functions
  6530. %BitOr
  6531. $
  6532. /*------------(L
  6533. OGICAL OR FOR 2 
  6534. STRINGS)--------
  6535. ----*/..STRING1 
  6536. = '???????'..STR
  6537. ING2 = '?????'..
  6538. FILLER  = ' '  /
  6539. * OPTIONAL */..O
  6540. R_STRING = BITOR
  6541. ( STRING1, STRIN
  6542. G2, FILLER )..
  6543.  
  6544. @Rexx Built-in Functions
  6545. %C2D
  6546. $
  6547. /*--------------
  6548. (CHARACTER TO DE
  6549. CIMAL)----------
  6550. ----*/..STRING =
  6551.  '???????'..N = 
  6552. ?   /* OPTIONAL 
  6553. */..NUMBER = C2D
  6554. ( STRING, N )..
  6555.  
  6556. @Rexx Built-in Functions
  6557. %C2X
  6558. $
  6559. /*------------(C
  6560. HARACTER TO HEXA
  6561. DECIMAL)--------
  6562. ----*/..STRING =
  6563.  '???????'..HEX_
  6564. NUMBER = C2X( ST
  6565. RING )..
  6566.  
  6567. @Rexx Built-in Functions
  6568. %Center/Centre
  6569. $
  6570. /*--------------
  6571. -(CENTER OUTPUT 
  6572. STRING)---------
  6573. ----*/..STRING =
  6574.  '???????'..LENG
  6575. TH = ?..FILLER =
  6576.  '*'  /* OPTIONA
  6577. L */..NEW_STRING
  6578.  = CENTER( STRIN
  6579. G, LENGTH, FILLE
  6580. R )..
  6581.  
  6582. @Rexx Built-in Functions
  6583. %Compare
  6584. $
  6585. /*--------------
  6586. --(COMPARE 2 STR
  6587. INGS)-----------
  6588. ----*/..STRING1 
  6589. = '???????'..STR
  6590. ING2 = '?????'..
  6591. FILLER  = ' '  /
  6592. * OPTIONAL */..D
  6593. IFF_POS = COMPAR
  6594. E( STRING1, STRI
  6595. NG2, FILLER )..
  6596.  
  6597. @Rexx Built-in Functions
  6598. %Condition
  6599. $
  6600. /*-----------(AS
  6601. K FOR CURRENT CO
  6602. NDITION)--------
  6603. ----*/..OPT = ''
  6604.    /* C-ONDNAME 
  6605. D-ESCRIPTION I-N
  6606. STRUCTION S-TATU
  6607. S  */..CONDITION
  6608.  = CONDITION(OPT
  6609. )..
  6610.  
  6611. @Rexx Built-in Functions
  6612. %Copies
  6613. $
  6614. /*-------------(
  6615. N-REPLICATE THE 
  6616. STRING)---------
  6617. ----*/..STRING =
  6618.  '???????'..N = 
  6619. ?..NEW_STRING = 
  6620. COPIES( STRING, 
  6621. N )..
  6622.  
  6623. @Rexx Built-in Functions
  6624. %D2X
  6625. $
  6626. /*-------------(
  6627. DECIMAL TU HEXAD
  6628. ECIMAL)---------
  6629. ----*/..NUMBER =
  6630.  ?..HEX_STRING =
  6631.  D2X( NUMBER )..
  6632.  
  6633. @Rexx Built-in Functions
  6634. %DataType
  6635. $
  6636. /*--------------
  6637. --(CHECK DATA TY
  6638. PE)-------------
  6639. ----*/../* A = A
  6640. LPHANUMERIC */..
  6641. /* B = BITS     
  6642.     */../* L = L
  6643. OWER CASE   */..
  6644. /* M = MIXED CAS
  6645. E   */../* N = N
  6646. UMERIC      */..
  6647. /* S = SYMBOL   
  6648.     */../* U = U
  6649. PPER CASE   */..
  6650. /* W = WOHLE NUM
  6651. BER */../* X = H
  6652. EXADECIMAL  */..
  6653. TYPE   = 'A'   /
  6654. * B L M N S U W 
  6655. X (OPTIONAL) */.
  6656. .STRING = '?????
  6657. ???'..RESULT = D
  6658. ATATYPE( STRING,
  6659.  TYPE )..IF RESU
  6660. LT = 0 THEN DO..
  6661.   SAY 'WRONG TYP
  6662. E:' TYPE..END /*
  6663.  IF ... */..
  6664.  
  6665. @Rexx Built-in Functions
  6666. %Date
  6667. $
  6668. /*--------------
  6669. ---(DATE MEASURI
  6670. NG)-------------
  6671. ----*/../*   = D
  6672. D MMM YYYY      
  6673.         */../* B
  6674.  = DDDDDD SINCE 
  6675. 01.01.0001  */..
  6676. /* D = DDD - JUL
  6677. IANS DATE       
  6678. */../* E = DD/MM
  6679. /YY             
  6680.     */../* L = D
  6681. D MONTH YYYY    
  6682.         */../* M
  6683.  = MONTH        
  6684.             */..
  6685. /* N = DD MMM YY
  6686. YY              
  6687. */../* O = YY/MM
  6688. /DD             
  6689.     */../* S = Y
  6690. YYYMMDD         
  6691.         */../* U
  6692.  = MM/DD/YY     
  6693.             */..
  6694. /* W = WEEKDAY  
  6695.                 
  6696. */..OPT = '' /* 
  6697. B D E L M N O S 
  6698. U W */..DATE = D
  6699. ATE( OPT )..
  6700.  
  6701. @Rexx Built-in Functions
  6702. %DelStr
  6703. $
  6704. /*---------(DELE
  6705. TE SUBSTRING IN 
  6706. THE STRING)-----
  6707. ----*/..STRING =
  6708.  '???????'..STAR
  6709. T  = ?..LENGTH =
  6710.  ?   /* OPTIONAL
  6711.  */..NEW_STRING 
  6712. = DELSTR( STRING
  6713. , START, LENGTH 
  6714. )..
  6715.  
  6716. @Rexx Built-in Functions
  6717. %DelWord
  6718. $
  6719. /*------------(D
  6720. ELETE WORD FROM 
  6721. STRING)---------
  6722. ----*/..STRING =
  6723.  '???????'..STAR
  6724. T  = ?..COUNT  =
  6725.  ?  /* OPTIONAL 
  6726. */..NEW_STRING =
  6727.  DELWORD( STRING
  6728. , START, COUNT )
  6729. ..
  6730.  
  6731. @Rexx Built-in Functions
  6732. %Digits
  6733. $
  6734. /*---------(CURR
  6735. ENT VALUE OF NUM
  6736. ERIC DIGITS)----
  6737. ----*/..NUM_DIGI
  6738. TS = DIGITS()..
  6739.  
  6740. @Rexx Built-in Functions
  6741. %ErrorText
  6742. $
  6743. /*------------(R
  6744. ECALL N-ERROR ME
  6745. SSAGE)----------
  6746. ----*/..N = 1   
  6747. /* 1-99 */..MESS
  6748. AGE = ERRORTEXT(
  6749.  N )..
  6750.  
  6751. @Rexx Built-in Functions
  6752. %Form
  6753. $
  6754. /*--------(CURRE
  6755. NT VALUE OF NUME
  6756. RIC FORM)-------
  6757. ----*/..NUM_FORM
  6758.  = FORM()..
  6759.  
  6760. @Rexx Built-in Functions
  6761. %Format
  6762. $
  6763. /*------------(N
  6764. UMBER ROUND AND 
  6765. FORMAT)---------
  6766. ----*/..NUMBER =
  6767.  ?..BEFORE = ?  
  6768.  /* OPTIONAL */.
  6769. .AFTER  = ?   /*
  6770.  OPTIONAL */..FO
  6771. RMATED_NUMBER = 
  6772. FORMAT( NUMBER, 
  6773. BEFORE, AFTER ).
  6774. .
  6775.  
  6776. @Rexx Built-in Functions
  6777. %Fuzz
  6778. $
  6779. /*--------(CURRE
  6780. NT VALUE OF NUME
  6781. RIC FUZZ)-------
  6782. ----*/..NUM_FUZZ
  6783.  = FUZZ()..
  6784.  
  6785. @Rexx Built-in Functions
  6786. %Insert
  6787. $
  6788. /*--------------
  6789. -(ADD STRING INT
  6790. O TARGET)-------
  6791. -------*/..STRIN
  6792. G = '???????'..T
  6793. ARGET = '?????'.
  6794. .BEHIND = ?   /*
  6795.  OPTIONAL */..LE
  6796. NGTH = ?   /* OP
  6797. TIONAL */..FILLE
  6798. R = ?   /* OPTIO
  6799. NAL */..NEW_STRI
  6800. NG = INSERT( STR
  6801. ING, TARGET, BEH
  6802. IND, LENGTH, FIL
  6803. LER )..
  6804.  
  6805. @Rexx Built-in Functions
  6806. %LastPos
  6807. $
  6808. /*------------(C
  6809. HECK FOR LAST PO
  6810. SITION)---------
  6811. ----*/..SUB_STRI
  6812. NG = '???'..STRI
  6813. NG     = '??????
  6814. ??'..START      
  6815. = ?   /* OPTIONA
  6816. L */..LAST_POS =
  6817.  LASTPOS( SUB_ST
  6818. RING, STRING, ST
  6819. ART)..
  6820.  
  6821. @Rexx Built-in Functions
  6822. %Left
  6823. $
  6824. /*--------------
  6825. ----(JUSTIFY LEF
  6826. T)--------------
  6827. ----*/..STRING =
  6828.  '????????'..LEN
  6829. GTH = ?..FILLER 
  6830. = ' '   /* OPTIO
  6831. NAL */..NEW_STRI
  6832. NG = LEFT( STRIN
  6833. G, LENGTH, FILLE
  6834. R )..
  6835.  
  6836. @Rexx Built-in Functions
  6837. %Length
  6838. $
  6839. /*------------(G
  6840. ET LENGTH OF THE
  6841.  STRING)--------
  6842. ----*/..STRING =
  6843.  '????????'..LEN
  6844. GTH = LENGTH( ST
  6845. RING )..
  6846.  
  6847. @Rexx Built-in Functions
  6848. %Max
  6849. $
  6850. /*------------(C
  6851. HECK FOR LARGEST
  6852.  NUMBER)--------
  6853. ----*/..NUMBER1 
  6854. = ?..NUMBER2 = ?
  6855. ..LARG_NUMBER = 
  6856. MAX( NUMBER1, NU
  6857. MBER2 )..
  6858.  
  6859. @Rexx Built-in Functions
  6860. %Min
  6861. $
  6862. /*------------(C
  6863. HECK FOR SMOLLES
  6864. T NUMBER)-------
  6865. ----*/..NUMBER1 
  6866. = ?..NUMBER2 = ?
  6867. ..MIN_NUMBER = M
  6868. IN( NUMBER1, NUM
  6869. BER2 )..
  6870.  
  6871. @Rexx Built-in Functions
  6872. %Overlay
  6873. $
  6874. /*--------------
  6875. -(OVERLAY SUBSTR
  6876. ING)------------
  6877. ----*/..STRING =
  6878.  '????'..TARGET 
  6879. = '???????'..STA
  6880. RT  = ?   /* OPT
  6881. IONAL */..LENGTH
  6882.  = ?   /* OPTION
  6883. AL */..FILLER = 
  6884. ?   /* OPTIONAL 
  6885. */..NEW_STRING =
  6886.  OVERLAY( STRING
  6887. , TARGET, START,
  6888.  LENGTH, FILLER 
  6889. )..
  6890.  
  6891. @Rexx Built-in Functions
  6892. %Pos
  6893. $
  6894. /*--------------
  6895. --(FIND SUBSTRIN
  6896. G)--------------
  6897. ----*/..SUB_STRI
  6898. NG = '???'..STRI
  6899. NG     = '??????
  6900. ??'..START      
  6901. = 1   /* OPTIONA
  6902. L */..POS = POS(
  6903.  SUB_STRING, STR
  6904. ING, START )..
  6905.  
  6906. @Rexx Built-in Functions
  6907. %Random
  6908. $
  6909. /*-------------(
  6910. GENERATE RANDOM 
  6911. NUMBER)---------
  6912. ----*/..START = 
  6913. ?      /* OPTION
  6914. AL: RANGE START 
  6915. (DEFAULT=0) */..
  6916. END   = ?      /
  6917. * OPTIONAL: RANG
  6918. E END (DEFAULT=9
  6919. 99) */..BASE  = 
  6920. ?      /* OPTION
  6921. AL: BASE FOR REP
  6922. EAT         */..
  6923. RANDOM_NUMBER = 
  6924. RANDOM( START, E
  6925. ND, BASE )..
  6926.  
  6927. @Rexx Built-in Functions
  6928. %Reverse
  6929. $
  6930. /*--------------
  6931. --(REVERSE A STR
  6932. ING)------------
  6933. ----*/..STRING =
  6934.  '????????'..NEW
  6935. _STRING = REVERS
  6936. E( STRING )..
  6937.  
  6938. @Rexx Built-in Functions
  6939. %Right
  6940. $
  6941. /*------------(R
  6942. IGHT JUSTIFY OF 
  6943. STRING)---------
  6944. ----*/..STRING =
  6945.  '????????'..LEN
  6946. GTH = ?..FILLER 
  6947. = ' '   /* OPTIO
  6948. NAL */..NEW_STRI
  6949. NG = RIGHT( STRI
  6950. NG, LENGTH, FILL
  6951. ER )..
  6952.  
  6953. @Rexx Built-in Functions
  6954. %Sign
  6955. $
  6956. /*----------(IND
  6957. ICATE THE SIGN O
  6958. F NUMBER)-------
  6959. ----*/..NUMBER =
  6960.  ?..SIGN_NUM = S
  6961. IGN( NUMBER )..S
  6962. ELECT..  WHEN SI
  6963. GN_NUM =  1 THEN
  6964.  SAY NUMBER '> 0
  6965. '..  WHEN SIGN_N
  6966. UM = -1 THEN SAY
  6967.  NUMBER '< 0'.. 
  6968.  WHEN SIGN_NUM =
  6969.   0 THEN SAY NUM
  6970. BER '= 0'..  OTH
  6971. ERWISE..END..
  6972.  
  6973. @Rexx Built-in Functions
  6974. %SourceLine
  6975. $
  6976. /*---------(GET 
  6977. THE N-TH LINE IN
  6978.  THE SOURCE)----
  6979. ----*/..N = ''..
  6980. LINE = SOURCELIN
  6981. E( N )..
  6982.  
  6983. @Rexx Built-in Functions
  6984. %Space
  6985. $
  6986. /*---------(DELI
  6987. MIT THE WORDS IN
  6988.  THE STRING)----
  6989. ----*/..STRING =
  6990.  '????????'..BLA
  6991. NKS = ?    /* OP
  6992. TIONAL */..NEW_S
  6993. TRING = SPACE( S
  6994. TRING, BLANKS ).
  6995. .
  6996.  
  6997. @Rexx Built-in Functions
  6998. %Strip
  6999. $
  7000. /*-----(VORAN-/N
  7001. ACHGESTELLTE ZEI
  7002. CHEN ENTFERNEN)-
  7003. ----*/..STRING =
  7004.  '????????'..OPT
  7005.     = 'B'    /* 
  7006. B=BOTH, L=LEADIN
  7007. G, T=TRAILING (O
  7008. PTIONAL) */..FIL
  7009. LER = ' '    /* 
  7010. OPTIONAL */..NEW
  7011. _STRING = STRIP(
  7012.  STRING, OPT, FI
  7013. LLER )..
  7014.  
  7015. @Rexx Built-in Functions
  7016. %SubStr
  7017. $
  7018. /*--------------
  7019. ----(GET SUBSTRI
  7020. NG)-------------
  7021. ----*/..STRING =
  7022.  '????????'..STA
  7023. RT  = ?..LENGTH 
  7024. = ?    /* OPTION
  7025. AL */..FILLER = 
  7026. ' '  /* OPTIONAL
  7027.  */..NEW_STRING 
  7028. = SUBSTR( STRING
  7029. , START, LENGTH,
  7030.  FILLER )..
  7031.  
  7032. @Rexx Built-in Functions
  7033. %Symbol
  7034. $
  7035. /*--------------
  7036. ---(GET SYMBOL N
  7037. AME)------------
  7038. ----*/..SYMBOL =
  7039.  '????'..SYMBOL_
  7040. NAME = SYMBOL( S
  7041. YMBOL )..
  7042.  
  7043. @Rexx Built-in Functions
  7044. %Time
  7045. $
  7046. /*--------------
  7047. ---(TIME FUNCTIO
  7048. NS)-------------
  7049. ----*/../*   = H
  7050. H:MM:SS         
  7051. */../* C = HH:MM
  7052. XX          */..
  7053. /* E = SSSSSSSSS
  7054. .UUUUUU */../* H
  7055.  = HH           
  7056.     */../* L = H
  7057. H:MM:SS.UUUUUU  
  7058. */../* M = MMMM 
  7059.             */..
  7060. /* N = HH:MM:SS 
  7061.         */../* R
  7062.  = SSSSSSSSS.UUU
  7063. UUU */../* S = S
  7064. SSSS            
  7065. */..OPT = ''    
  7066. /* C E H L M N R
  7067.  S */..TIME = TI
  7068. ME( OPT )..
  7069.  
  7070. @Rexx Built-in Functions
  7071. %Trace
  7072. $
  7073. /*--------------
  7074. (CURRENT TRACE O
  7075. PTIONS)---------
  7076. ----*/../* A = A
  7077. LL          */..
  7078. /* C = COMMAND  
  7079.     */../* E = E
  7080. RROR        */..
  7081. /* F = FAILURE  
  7082.     */../* I = I
  7083. NTERMEDIATE */..
  7084. /* L = LABELS   
  7085.     */../* N = N
  7086. ORMAL       */..
  7087. /* O = OFF      
  7088.     */../* R = R
  7089. ESULTS      */..
  7090. /* S = SCAN     
  7091.     */..OPT = ''
  7092.   /* A C E F I L
  7093.  N O R S */..CUR
  7094. R_TRACE = TRACE(
  7095.  OPT )..
  7096.  
  7097. @Rexx Built-in Functions
  7098. %Translate
  7099. $
  7100. /*--------------
  7101. --(TRANSLATE STR
  7102. ING)------------
  7103. ----*/..STRING =
  7104.  '????????'..TB_
  7105. OUT = '*'  /* OP
  7106. TIONAL */..TB_IN
  7107.   = '?'  /* OPTI
  7108. ONAL */..FILLER 
  7109. = ' '  /* OPTION
  7110. AL */..NEW_STRIN
  7111. G = TRANSLATE( S
  7112. TRING, TB_OUT, T
  7113. B_IN, FILLER )..
  7114.  
  7115. @Rexx Built-in Functions
  7116. %Trunc
  7117. $
  7118. /*-------------(
  7119. TRUNCATE DECIMAL
  7120.  PART)----------
  7121. ----*/..NUMBER =
  7122.  ?..N      = ?  
  7123.   /* OPTIONAL */
  7124. ..DEC_NUMBER = T
  7125. RUNC( NUMBER, N 
  7126. )..
  7127.  
  7128. @Rexx Built-in Functions
  7129. %Value
  7130. $
  7131. /*--------------
  7132. -----(GET VALUE)
  7133. ----------------
  7134. ----*/..VAR = 'N
  7135. AME'..VALUE = VA
  7136. LUE( VAR )..
  7137.  
  7138. @Rexx Built-in Functions
  7139. %Verify
  7140. $
  7141. /*--------(VERIF
  7142. Y MEANING OF THE
  7143.  VARIABLE )-----
  7144. ----*/..STRING =
  7145.  '????????'..REF
  7146. ER  = '*?'..OPT 
  7147.    = 'N' /* N-OM
  7148. ATCH, M-ATCH (OP
  7149. TIONAL) */..STAR
  7150. T  = ?   /* OPTI
  7151. ONAL */..TEST = 
  7152. VERIFY( STRING, 
  7153. REFER, OPT, STAR
  7154. T )..
  7155.  
  7156. @Rexx Built-in Functions
  7157. %Word
  7158. $
  7159. /*-----------(GE
  7160. T N-TH WORD OF T
  7161. HE STRING)------
  7162. ----*/..STRING =
  7163.  '???????'..N = 
  7164. ?..WORD = WORD( 
  7165. STRING, N )..
  7166.  
  7167. @Rexx Built-in Functions
  7168. %WordIndex
  7169. $
  7170. /*----------(GET
  7171.  POSITION OF THE
  7172.  N-TH WORD)-----
  7173. ----*/..STRING =
  7174.  '???????'..N = 
  7175. ?..WORD_INDEX = 
  7176. WORDINDEX( STRIN
  7177. G, N )..
  7178.  
  7179. @Rexx Built-in Functions
  7180. %WordLength
  7181. $
  7182. /*----------(GET
  7183.  LENGTH OF THE N
  7184. -TH WORD)-------
  7185. ----*/..STRING =
  7186.  '???????'..N = 
  7187. ?..WORD_LEN = WO
  7188. RDLENGTH( STRING
  7189. , N )..
  7190.  
  7191. @Rexx Built-in Functions
  7192. %WordPos
  7193. $
  7194. /*------------(G
  7195. ET POSITION OF T
  7196. HE WORD)--------
  7197. ----*/..WORD   =
  7198.  '???'..STRING =
  7199.  '???????'..STAR
  7200. T  = ?..WORD_POS
  7201.  = WORDPOS( WORD
  7202. , STRING, START 
  7203. )..
  7204.  
  7205. @Rexx Built-in Functions
  7206. %Words
  7207. $
  7208. /*------------(G
  7209. ET NUMBER OF WOR
  7210. DS--)-----------
  7211. ----*/..STRING =
  7212.  '???????'..WORD
  7213. _CNT = WORDS( ST
  7214. RING )..
  7215.  
  7216. @Rexx Built-in Functions
  7217. %X2C
  7218. $
  7219. /*-----(HEXADECI
  7220. MAL STRING TO CH
  7221. ARACTER STRING)-
  7222. ----*/..HEX_STRI
  7223. NG = ??..STRING 
  7224. = X2C( HEX_STRIN
  7225. G )..
  7226.  
  7227. @Rexx Built-in Functions
  7228. %XRange
  7229. $
  7230. /*------------(G
  7231. ET STRING AT THE
  7232.  RANGE)---------
  7233. ----*/..START = 
  7234. 'A'..END   = 'Z'
  7235. ..STRING = XRANG
  7236. E( START, END ).
  7237. .
  7238.  
  7239. @Rexx Built-in Functions
  7240. %D2C
  7241. $
  7242. /*-------------(
  7243. DECIMAL TU CHARA
  7244. CTERS)----------
  7245. ----*/..NUMBER =
  7246.  ?..STRING = D2C
  7247. ( NUMBER )..
  7248.  
  7249. @Rexx Built-in Functions
  7250. %BitXOr
  7251. $
  7252. /*-----------(EX
  7253. CLUSIV OR FOR 2 
  7254. STRINGS)--------
  7255. ----*/..STRING1 
  7256. = '???????'..STR
  7257. ING2 = '?????'..
  7258. FILLER  = ' '  /
  7259. * OPTIONAL */..K
  7260. ETTE_XOR = BITXO
  7261. R( STRING1, STRI
  7262. NG2, FILLER )..
  7263.  
  7264. @Rexx Built-in Functions
  7265. %X2D
  7266. $
  7267. /*------(HEXADEC
  7268. IMAL STRING TO D
  7269. ECIMAL NUMBER)--
  7270. ----*/..HEX_STRI
  7271. NG = ?..DEC_NUMB
  7272. ER = X2D( HEX_ST
  7273. RING )..
  7274.  
  7275. @Rexx Constructs
  7276. %Rexx First Comment
  7277. $
  7278. /* REXX ********
  7279. ****************
  7280. ****************
  7281. *****/../*      
  7282.                 
  7283.                 
  7284.             */..
  7285. /* PROGRAM NAME:
  7286.                 
  7287.                 
  7288.     */../*      
  7289.                 
  7290.                 
  7291.             */..
  7292. /* FUNCTION....:
  7293.                 
  7294.                 
  7295.     */../* AUTHO
  7296. R......:        
  7297.                 
  7298.             */..
  7299. /* CREATE DATE.:
  7300.                 
  7301.                 
  7302.     */../* VERSI
  7303. ON.....:        
  7304.                 
  7305.             */..
  7306. /*              
  7307.                 
  7308.                 
  7309.     */../* CHANG
  7310. ES:             
  7311.                 
  7312.             */..
  7313. /*              
  7314.                 
  7315.                 
  7316.     */../*******
  7317. ****************
  7318. ****************
  7319. *************/..
  7320.  
  7321. @Rexx Constructs
  7322. %Rexx Comment
  7323. $
  7324. /*--------------
  7325. --(REXX COMMENT)
  7326. ----------------
  7327. */../*----------
  7328. ------(         
  7329.    )------------
  7330. ----*/..
  7331.  
  7332. @Rexx Constructs
  7333. %Do Until
  7334. $
  7335. DO UNTIL VALUE >
  7336.  0..  ..END..
  7337.  
  7338. @Rexx Constructs
  7339. %Do While
  7340. $
  7341. DO WHILE VALUE >
  7342.  0..  ..END..
  7343.  
  7344. @Rexx Constructs
  7345. %If Then Else
  7346. $
  7347. IF VALUE = 0 THE
  7348. N DO..  ..END..E
  7349. LSE DO..  ..END.
  7350. .
  7351.  
  7352. @Rexx Constructs
  7353. %Iterative Loop
  7354. $
  7355. DO INDEX = 1 TO 
  7356. 100 BY 1..  ..EN
  7357. D..
  7358.  
  7359. @Rexx Constructs
  7360. %Parse Arg
  7361. $
  7362. PARSE ARG ARG1, 
  7363. ARG2....
  7364.  
  7365. @Rexx Constructs
  7366. %Parse Pull
  7367. $
  7368. PARSE PULL STRIN
  7369. G....
  7370.  
  7371. @Rexx Constructs
  7372. %Parse Source
  7373. $
  7374. PARSE SOURCE STR
  7375. ING....
  7376.  
  7377. @Rexx Constructs
  7378. %Parse Value
  7379. $
  7380. /*-(PARSE VALUE 
  7381. DATE('O') WITH Y
  7382. EAR '/' MONTH '/
  7383. ' DAY)-*/..PARSE
  7384.  VALUE EXPRESSIO
  7385. N WITH TEMPLATE.
  7386. .
  7387.  
  7388. @Rexx Constructs
  7389. %Parse Var
  7390. $
  7391. PARSE VAR STRING
  7392.  FIRST SECOND +2
  7393. 0 REST....
  7394.  
  7395. @Rexx Constructs
  7396. %Select
  7397. $
  7398. SELECT..  WHEN V
  7399. ALUE > 0 THEN.. 
  7400.  WHEN VALUE = 0 
  7401. THEN..  WHEN VAL
  7402. UE < 0 THEN..  O
  7403. THERWISE..END..
  7404.  
  7405. @Rexx Constructs
  7406. %Signal Off
  7407. $
  7408. /*------------(E
  7409. XCEPTION HANDLIN
  7410. G OFF)----------
  7411. ----*/..SIGNAL O
  7412. FF ERROR..SIGNAL
  7413.  OFF FAILURE..SI
  7414. GNAL OFF HALT..S
  7415. IGNAL OFF SYNTAX
  7416. ..SIGNAL OFF NOV
  7417. ALUE..SIGNAL OFF
  7418.  NOTREADY..
  7419.  
  7420. @Rexx Constructs
  7421. %Signal On
  7422. $
  7423. /*--------------
  7424. (EXCEPTION HANDL
  7425. ING)------------
  7426. ----*/..SIGNAL O
  7427. N ERROR    NAME 
  7428. CLEARUP..SIGNAL 
  7429. ON FAILURE  NAME
  7430.  CLEARUP..SIGNAL
  7431.  ON HALT     NAM
  7432. E CLEARUP..SIGNA
  7433. L ON SYNTAX   NA
  7434. ME CLEARUP..SIGN
  7435. AL ON NOVALUE  N
  7436. AME CLEARUP..SIG
  7437. NAL ON NOTREADY 
  7438. NAME CLEARUP..
  7439.  
  7440. @Rexx Constructs
  7441. %Exit
  7442. $
  7443. EXIT RC....
  7444.  
  7445. @Rexx Constructs
  7446. %Comment
  7447. $
  7448. /*--------------
  7449. --(REXX COMMENT)
  7450. ----------------
  7451. */../*----------
  7452. ------(         
  7453.    )------------
  7454. ----*/..
  7455.  
  7456. @Rexx Constructs
  7457. %First Comment
  7458. $
  7459. /* REXX ********
  7460. ****************
  7461. ****************
  7462. *****/../*      
  7463.                 
  7464.                 
  7465.             */..
  7466. /* PROGRAM NAME:
  7467.                 
  7468.                 
  7469.     */../*      
  7470.                 
  7471.                 
  7472.             */..
  7473. /* FUNCTION....:
  7474.             
  7475.  
  7476. @Rexx Constructs
  7477. %Rexx Frame
  7478. $
  7479. PARSE ARG ARG1, 
  7480. ARG2..../*======
  7481. ========(EXCEPTI
  7482. ON HANDLING)====
  7483. ============*/..
  7484. SIGNAL ON FAILUR
  7485. E NAME CLEARUP..
  7486. SIGNAL ON HALT  
  7487.   NAME CLEARUP..
  7488. SIGNAL ON SYNTAX
  7489.   NAME CLEARUP..
  7490. ..CALL ON NOTREA
  7491. DY..............
  7492. ................
  7493. ...       (YOUR 
  7494. CODE)...........
  7495. ................
  7496. ....../*========
  7497. ========(END THI
  7498. S PROGRAM)======
  7499. ==========*/..EX
  7500. IT....CLEARUP:..
  7501.   SAY 'GREED001E
  7502.  - BREAK, FAILUR
  7503. E OR SYNTAX ERRO
  7504. R'..EXIT....NOTR
  7505. EADY:..  PARSE V
  7506. AR RESPONSE . ':
  7507. ' ERRCODE..  SAY
  7508.  SYSGETMESSAGE(E
  7509. RRCODE)..  SAY..
  7510.   CALL ,"RETRY (
  7511. Y/N)? "..  PULL 
  7512. RESPONSE..  IF R
  7513. ESPONSE = 'N' TH
  7514. EN EXIT....RETUR
  7515. N....
  7516.  
  7517. @RACF Callable Services
  7518. %Account Number
  7519. $
  7520. /*--------------
  7521. ---(GET ACCOUNT 
  7522. NUMBER)---------
  7523. ----*/..ACCTNUM 
  7524. = ''.."XBACCTN" 
  7525. USERID..IF RC = 
  7526. 0 THEN SAY ACCTN
  7527. UM ..
  7528.  
  7529. @RACF Callable Services
  7530. %User Name
  7531. $
  7532. /*--------------
  7533. ------(GET USER 
  7534. NAME)-----------
  7535. ----*/..ZUNAMEN 
  7536. = ''.."XBNAME" U
  7537. SERID..IF RC = 0
  7538.  THEN SAY ZUNAME
  7539. N..
  7540.  
  7541. @RACF Callable Services
  7542. %User Attributes
  7543. $
  7544. /*--------------
  7545. -(GET USERS ATTR
  7546. IBUTES)---------
  7547. ----*/..ATTRIB =
  7548.  ''.."XBATTR" US
  7549. ERID..IF RC = 0 
  7550. THEN SAY ATTRIB.
  7551. .
  7552.  
  7553. @RACF Callable Services
  7554. %Default Group
  7555. $
  7556. /*-------------(
  7557. GET USERS DEFAUL
  7558. T GROUP)--------
  7559. ----*/..DFLTGR1 
  7560. = ''.."XBDFLTGR"
  7561.  USERID..IF RC =
  7562.  0 THEN SAY DFLT
  7563. GR1..
  7564.  
  7565. @RACF Callable Services
  7566. %Group Installation Data
  7567. $
  7568. /*-----------(GE
  7569. T GROUP INSTALLA
  7570. TION DATA)------
  7571. ----*/..GRIDA = 
  7572. ''.."XBGRIDA" GR
  7573. OUP..IF RC = 0 T
  7574. HEN SAY GRIDA..
  7575.  
  7576. @RACF Callable Services
  7577. %Users Owner
  7578. $
  7579. /*----------(GET
  7580.  OWNER OF THE US
  7581. ERS PROFILE)----
  7582. ----*/..OWNER = 
  7583. ''.."XBOWNER" US
  7584. ERID..IF RC = 0 
  7585. THEN SAY OWNER..
  7586.  
  7587. @RACF Callable Services
  7588. %Special Attribut
  7589. $
  7590. /*-----------(GE
  7591. T WHETHER USER H
  7592. AS SPECIAL)-----
  7593. ----*/..GLBSPEC 
  7594. = ''.."XBSPEC" U
  7595. SERID..IF RC = 0
  7596.  THEN SAY GLBSPE
  7597. C..
  7598.  
  7599. @RACF Callable Services
  7600. %User Information
  7601. $
  7602. /*--------------
  7603. ---(USER INFORMA
  7604. TION)-----------
  7605. ----*/..USRINF =
  7606.  ''.."XBUSRINF" 
  7607. USERID..IF RC = 
  7608. 0 THEN ..  PARSE
  7609.  VALUE USRINF WI
  7610. TH CRDATE LADATE
  7611.  LATIME NAME +20
  7612.  DFLTGRP CLAUTH.
  7613. .
  7614.  
  7615. @RACF Callable Services
  7616. %Group Owner
  7617. $
  7618. /*-----------(OW
  7619. NER OF THE GROUP
  7620.  PROFILE)-------
  7621. ----*/..GROWN = 
  7622. ''.."XBGROWN" GR
  7623. OUP..IF RC = 0 T
  7624. HEN SAY GROWN..
  7625.  
  7626. @RACF Callable Services
  7627. %Users Group-Attributes
  7628. $
  7629. /*------------(G
  7630. ET USERS GROUP A
  7631. TTRIBUTES)------
  7632. ----*/..GRPATR =
  7633.  ''.."XBGRPATR" 
  7634. USERID GROUP..IF
  7635.  RC = 0 THEN SAY
  7636.  GRPATR..
  7637.  
  7638. @RACF Callable Services
  7639. %User Installation Data
  7640. $
  7641. /*-------------(
  7642. USERS INSTALLATI
  7643. ON DATA)--------
  7644. ----*/..USIDA = 
  7645. ''.."XBUSINSD" G
  7646. ROUP..IF RC = 0 
  7647. THEN SAY USIDA..
  7648.  
  7649. @RACF Callable Services
  7650. %List Group Extended
  7651. $
  7652. /*--------------
  7653. -(LIST GROUP EXT
  7654. ENDED)----------
  7655. ----*/..X = OUTT
  7656. RAP('EIN.')..  "
  7657. ICHLGX00" GROUP.
  7658. .X = OUTTRAP(OFF
  7659. )..IF RC = 0 THE
  7660. N DO..  PARSE VA
  7661. LUE EIN.1 WITH G
  7662. ROUP SUPGROUP GR
  7663. POWNER..  DO I =
  7664.  2 TO EIN.0..   
  7665.  IF POS('USER=',
  7666. EIN.I) = 1 | POS
  7667. ('NO USERS',
  7668.  
  7669. @RACF Callable Services
  7670. %List Group Structure
  7671. $
  7672. /*--------------
  7673. -(LIST GROUP STR
  7674. UCTURE)---------
  7675. -----*/..X = OUT
  7676. TRAP('EIN.')..  
  7677. "ICHLGX01" GROUP
  7678. ..X = OUTTRAP(OF
  7679. F)..IF RC = 0 TH
  7680. EN DO..  PARSE V
  7681. ALUE EIN.1 WITH 
  7682. GROUP SUPGROUP G
  7683. RPOWNER..  DO I 
  7684. = 2 TO EIN.0..  
  7685.   IF POS('USER='
  7686. ,EIN.I) = 1 | PO
  7687. S('NO USERS',EIN
  7688. .I) = 1 THEN DO.
  7689. .      PARSE VAL
  7690. UE EIN.I WITH . 
  7691. '=' USERID GRPAU
  7692. TH GRPATTR ACSCN
  7693. T GRPUACC NAME..
  7694.     ELSE ..     
  7695.  PARSE VALUE EIN
  7696. .I WITH SUBGRP G
  7697. RPDEPTH ...  END
  7698.  ..END..
  7699.  
  7700. @RACF Callable Services
  7701. %List DS Profiles for Alias 
  7702. $
  7703. /*--------(LIST 
  7704. DS PROFILES FOR 
  7705. THE ALIAS)------
  7706. ----*/..X = OUTT
  7707. RAP('EIN.')..  "
  7708. RACFPROT" ALIAS 
  7709. "N"..X = OUTTRAP
  7710. (OFF)..IF RC = 0
  7711.  THEN DO I = 2 T
  7712. O EIN.0..  PARSE
  7713.  VAR EIN.I DSN R
  7714. C PROFNAME..END
  7715.  
  7716. @RACF Callable Services
  7717. %List DS Profile for Dataset
  7718. $
  7719. /*----------(LIS
  7720. T DS PROFILE FOR
  7721.  DATASET)-------
  7722. ----*/..X = OUTT
  7723. RAP('EIN.')..  "
  7724. XBPROFIL" DSNAME
  7725. ..  /* "XBPROTEC
  7726. " DSNAME */..X =
  7727.  OUTTRAP(OFF)..I
  7728. F RC = 0 THEN DO
  7729.  I = 2 TO EIN.0.
  7730. .  PARSE VAR EIN
  7731. .I DSN RC PROFNA
  7732. ME..  /* PARSE V
  7733. AR EIN.I DSN PRO
  7734. FNAME */..EN
  7735.  
  7736. @RACF Callable Services
  7737. %Connect Group List
  7738. $
  7739. /*--------(LIST 
  7740. ALL CONNECT GROU
  7741. P FOR USER)-----
  7742. ----*/..X = OUTT
  7743. RAP('EIN.')..  "
  7744. XBCONGRP" USERID
  7745. ..X = OUTTRAP(OF
  7746. F)..IF RC = 0 TH
  7747. EN DO..  PARSE V
  7748. AR EIN.1 GRPCNT 
  7749. ...  DO I = 2 TO
  7750.  EIN.0..    PARS
  7751. E VAR EIN.I CONG
  7752. RPNAME ...  END.
  7753. .END
  7754.  
  7755. @RACF Callable Services
  7756. %Connect Profile List
  7757. $
  7758. /*-------(LIST A
  7759. LL CONNECT PROFI
  7760. LES FOR USER)---
  7761. ----*/..X = OUTT
  7762. RAP('EIN.')..  "
  7763. XBCONPRF" USERID
  7764. ..X = OUTTRAP(OF
  7765. F)..IF RC = 0 TH
  7766. EN DO..  PARSE V
  7767. AR EIN.1 GRPCNT 
  7768. ...  DO I = 2 TO
  7769.  EIN.0..    PARS
  7770. E VAR EIN.I CONG
  7771. RPNAME CONDATE G
  7772. RPATTR..  END..E
  7773. ND
  7774.  
  7775. @RACF Callable Services
  7776. %Password Interval
  7777. $
  7778. /*---------(SAY 
  7779. PASSWORT INTERVA
  7780. L FOR USER)-----
  7781. ----*/..X = OUTT
  7782. RAP('EIN.')..  "
  7783. XBPASINT" USERID
  7784. ..X = OUTTRAP(OF
  7785. F)..IF RC = 0 TH
  7786. EN SAY EIN.1..
  7787.  
  7788. @RACF Callable Services
  7789. %Subgroup List
  7790. $
  7791. /*--------(LIST 
  7792. ALL SUBGROUPS FR
  7793. OM A GROUP)-----
  7794. ----*/..X = OUTT
  7795. RAP('EIN.')..  "
  7796. XBSUBGRP" GROUP.
  7797. .X = OUTTRAP(OFF
  7798. )..IF RC = 0 THE
  7799. N DO..  PARSE VA
  7800. R EIN.1 SUBGRPCN
  7801. T ...  DO I = 2 
  7802. TO EIN.0..    PA
  7803. RSE VAR EIN.I SU
  7804. BGRPNAME ...  EN
  7805. D..END..
  7806.  
  7807. @RACF Callable Services
  7808. %Superior Group
  7809. $
  7810. /*--------------
  7811. ----(SUPERIOR GR
  7812. OUP)------------
  7813. ----*/..SUPGRP =
  7814.  ''.."XBSUPGRP" 
  7815. GROUP..IF RC = 0
  7816.  THEN DO..  SAY 
  7817. SUPGRP..END..
  7818.  
  7819. @RACF Callable Services
  7820. %Users in Group
  7821. $
  7822. /*----------(LIS
  7823. T ALL USERS IN T
  7824. HE GROUP)-------
  7825. ----*/..X = OUTT
  7826. RAP('EIN.')..  "
  7827. XBUSINGR" GROUP.
  7828. .X = OUTTRAP(OFF
  7829. )..IF RC = 0 THE
  7830. N DO..  PARSE VA
  7831. R EIN.1 USRCNT .
  7832. ..  DO I = 2 TO 
  7833. EIN.0..    PARSE
  7834.  VAR EIN.I USERI
  7835. D ...  END..END.
  7836. .
  7837.