home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / zsys / znode-12 / a / ccpm-02.89 < prev    next >
Encoding:
Text File  |  1993-06-12  |  8.4 KB  |  182 lines

  1.  
  2.                     CCP/M Meeting Notes - February 1989
  3.  
  4. Our next meeting on February 14 (Valentine's Day!) will feature Z System 
  5. applications.  Remember, CCP/M is a dealer of NZCOM and Z3PLUS (and 
  6. DateStamper etc.) and we hope you come to the meeting and see examples of 
  7. how useful and fun it is to operate a CP/M machine equipped with this new 
  8. Operating System.  You'll never want to go back to CP/M after learning 
  9. about and then using New Z System!
  10.  
  11. The best way to learn how a well built Z System looks is to see one in 
  12. operation.  The notes below are provided as background on the application 
  13. I'm going to have on display.
  14.  
  15. The last meeting of CCP/M was well attended.  Ray Gentle picked up where 
  16. Brian Nalewajek left off and introduced spreadsheets via SuperCalc 2 on an 
  17. Osborne.   While skillfully explaining what spreadsheets did and how to run 
  18. them,  Ray also did a great job answering questions from the audience.  I 
  19. had a Royal running MicroCalc, a demo spreadsheet written in Turbo Pascal.  
  20. It was not really needed since Ray had such a well planned discussion of a 
  21. real spreadsheet.  Thanx a lot Ray and Brian for one of the best 
  22. presentations ever!  New member Ked Butt and about half of Ray's Fire Dpt.  
  23. were in attendance!  Hope all the new faces come back for more!
  24.  
  25.                     A COBOL Application under Z System
  26.  
  27. I hooked up my 20 mb hard disk to a Kaypro II about 3 weeks ago and 
  28. installed Z System.  I have been very busy building the environment I want 
  29. to work in and thought you might be interested in how one person has taken 
  30. advantage of the tools Z System provides.
  31.  
  32. To get underway, a little history.  As is often the case, a single upload 
  33. to my RCP/M started the whole thing.  COBOL.LBR contains the files you need 
  34. to compile and execute programs written in NPS MICRO-COBOL (Common Business 
  35. Oriented Language).
  36.  
  37. I've written some applications in this dialect of COBOL and built a library 
  38. named MIS301.LBR.  I chose this name in honor of the most complex program 
  39. I've written so far in it.  This program solved an assignment in MIS301, 
  40. the COBOL class at CCSU, a former employer of mine.  It is available for 
  41. download from my RCP/M (phone # is (203)-665-1100).
  42.  
  43. Menu scripts and alias scripts are also being developed and will be 
  44. discussed below.
  45.  
  46. As you read this, try to imagine yourself as you use your own computer.  
  47. What do you do frequently?  What would be nice to select from if you could 
  48. design your own menu?  Because this is exactly how I create my computing 
  49. environment.  Each time I found something that I wanted to do, I just beef 
  50. up the commands understood by the computer!  This, as I see it, is 
  51. precisely what Z System is all about.
  52.  
  53. I offer, for starters, the following alias.  An "alias" is a little piece 
  54. of "job control language" which feeds the multiple command line buffer of Z 
  55. System after resolving any parameters it's passed.
  56.  
  57. UNSEQ=RENUM=SEQ  REN REN1.CBL=$1;EXEC $0;REN $1=REN2.CBL;ERA REN1.CBL
  58.  
  59. This will be explained below.  Finally, take a look at the following menu:
  60.  
  61.  
  62.                      COBOL Development Menu
  63.                       System File 1 $F1
  64.  
  65.  
  66.      Q     Quick look  (QLZ40)          V     Show Version     
  67.      L     run Library utility (LU310)                           
  68.      X     eXecute $F1                
  69.      C     Compile $F1   
  70.    R,U,S   Renumber,Unsequence,Sequence $F1
  71.      F     set System File 1          
  72.      E     Edit $F1  (VDE266)           ^    formfeed the printer 
  73.      B     Browse $F1                   1    print SALES.RPT 
  74.      Z     enter Z command              2    print SALES.ERR
  75.                                         3    print SALES.DAT
  76.      D     eDit SALES.DAT
  77.      O     lOok at SALES files          4    print $F1
  78.  
  79.  
  80. The following code is what I chose to support the single letter commands 
  81. above (space between letter and script added for easier reading)
  82.  
  83. V ECHO 01/17/89 %>at 4:50 %<PM
  84. R RENUM $F1
  85. U UNSEQ $F1
  86. S SEQ $F1
  87. Z !"command->"
  88. E EDIT $F1
  89. F SETFILE 1 "file "
  90. Q QL "mask? " 
  91. X EXEC $F1
  92. C COBOL $F1 $$"options? (CDLPSTW) ->"
  93. D EDIT SALES.DAT
  94. O QL SALES.*
  95. L LU
  96. 1 PIP LST:=SALES.RPT;CHRS 0C
  97. 2 PIP LST:=SALES.ERR;CHRS 0C
  98. 3 PIP LST:=SALES.DAT[P60;CHRS 0C
  99. ^ CHRS 0C
  100. 4 MODEM:WRAP -I16 -W200 -H $F1 >LST:
  101. B QL $F1
  102.  
  103.  
  104. One of the programs which evolved out of this process is named UNSEQ.CBL.  
  105. If you have an interest in learning more about COBOL, you might consider 
  106. downloading this file.
  107.  
  108. UNSEQ reads a COBOL program and "unsequences" it.  That is, it strips away 
  109. the six digit sequence numbers in the input file.  COBOL programs must have 
  110. the first 6 "card columns" set aside for "sequence" numbers.  One of the 
  111. nice features of MICRO-COBOL is an option which tells the compiler if there 
  112. are sequence numbers in the source code file.  You save a lot of space on 
  113. the disk if you don't use sequence numbers.
  114.  
  115. Recall the alias named UNSEQ above.  When I pick U from the menu shown 
  116. above, "system file" 1 is "unsequenced".  Z System allows you to identify 
  117. up to 4 files as "system files", with the SETFILE program.  You may display 
  118. what the system file names are and you may also use them in menu and alias 
  119. scripts.
  120.  
  121. UNSEQ=RENUM=SEQ  REN REN1.CBL=$1;EXEC $0;REN $1=REN2.CBL;ERA REN1.CBL
  122.  
  123. If "system file " 1 was MIS301.CBL, this would translate to
  124.  
  125. REN REN1.CBL=MIS301.CBL;EXEC UNSEQ;REN MIS301.CBL=REN2.CBL;ERA REN1.CBL
  126.  
  127. compliments of ARUNZ, the extended command processor (without which Z 
  128. System users could not live...)
  129.  
  130. EXEC is one of the files in COBOL.LBR.  It loads .CIN files and invokes 
  131. CINTERP.COM.   In our example, UNSEQ.CIN (the output of the compilation of 
  132. UNSEQ.CBL) would load and run.
  133.  
  134. UNSEQ.CBL, SEQ.CBL and RENUM.CBL all read in a file which is named 
  135. REN1.CBL, either unsequence, sequence or renumber it and put out their 
  136. result in a file named REN2.CBL.  Since you typically would want to process 
  137. files with real names, like MIS301.CBL for example, the alias above simply 
  138. renames your file to what the application requires, runs the application 
  139. (EXEC $0) and then renames the output back to your filename, MIS301.CBL for 
  140. example.
  141.  
  142. The interesting thing about all this is the bootstrapped quality of the 
  143. operating environment.  That is, something that was developed under a 
  144. simpler environment now is being used to help create an even more powerful 
  145. operating environment.  I used to be able only to compile, edit and execute 
  146. COBOL programs.  Now I may request the use of a new "macro" called UNSEQ on 
  147. any .CBL file.  Neat!
  148.  
  149. NPS MICRO-COBOL is pretty slick.  The DOC file is 19 pages long and is 
  150. well-written.  I am developing a COBOL.NOT file which discusses the 
  151. limitations I've encountered.  So far I've managed to list 23 things.  
  152. Experienced COBOL programmers might be interested for example in the 
  153. limitations of the MOVE and MULTIPLY verbs etc., the fact that AND and OR 
  154. are not implemented and many other "gothchas" I fell into.
  155.  
  156. It's interesting to me that the author of NPS MICRO-COBOL did not credit 
  157. himself in the DOC file.  I'd like to know who wrote this fine 
  158. compiler/interpreter.  I'd like to know what the intermediate code is like 
  159. etc.  In fact, it would be a lot of fun to try and enhance the program so 
  160. it could handle multiple MOVEs etc.  Perhaps the Wizard can help is 
  161. out.
  162.  
  163. Question for the Wizard:  Who wrote NPS MICRO-COBOL?  In what 
  164. language?  When was it released?  Is source code available?  Etc.
  165.  
  166. (The Wizard is a very old and wise CP/M guru who exists solely to answer 
  167. those tough questions that come up from time to time.  If you, kind reader, 
  168. either have such a question or are amused by treasure hunts such as the one 
  169. posed above and the like, drop Jim Taylor, Pieces of Eight Editor, a note.)
  170.  
  171. The single example I've tried to explain is obviously just one of the 
  172. hundreds of commands my computer now does for me.  I can jump from one menu 
  173. to another thanks to MENU.COM, a Z System shell.  I can print files 
  174. (established earlier to be "system files") by invoking WRAP.COM, a fine 
  175. file lister written in C (or PIP etc.).  I can backup changed files to 
  176. floppy, check the integrity of a disk and reorganize my hard and floppy 
  177. disks with single key strokes.  To find out more about how menu scripts are 
  178. written, check out MENU.MNU.  
  179.  
  180. Lee Bradley, CCP/M Secretary and Z Plan Contact for CCP/M
  181. 01/17/89 at 4:50 PM
  182.