<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=ProgramToListAlgorithms</id>
	<title>ProgramToListAlgorithms - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=ProgramToListAlgorithms"/>
	<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=ProgramToListAlgorithms&amp;action=history"/>
	<updated>2026-04-28T21:59:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://pickwiki.org/index.php?title=ProgramToListAlgorithms&amp;diff=2087&amp;oldid=prev</id>
		<title>Conversion script: link fix</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=ProgramToListAlgorithms&amp;diff=2087&amp;oldid=prev"/>
		<updated>2015-02-26T23:48:55Z</updated>

		<summary type="html">&lt;p&gt;link fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Back to [[BasicSource]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
* TITLE:  LIST.ALG&lt;br /&gt;
* AUTH: Rich Sias                     Updated 2/11/2003 on [[PickWiki]]&lt;br /&gt;
* DATE: 04/17/2002&lt;br /&gt;
* ID:   LIST.ALG&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
*Narrative:&lt;br /&gt;
*----------------------&lt;br /&gt;
* Lists all algorithms from distributed file dictionaries.&lt;br /&gt;
* Lists &amp;amp;PARTFILES&amp;amp; Algorithm, Dict @PART.ALGORITHM, and [Dict] VOC&lt;br /&gt;
* Algorithm and compares them highlights dicontinuities. Process for&lt;br /&gt;
* All accounts and files in &amp;amp;PARTFILES&amp;amp; file.&lt;br /&gt;
* ALG name is name used in VOC for INTERNAL in the DEFINE.DF.&lt;br /&gt;
* [ALG name] is when it is stored in the DICT of the VOC.&lt;br /&gt;
* Fg - flag  for errors in algorithms, 1-9 [[PtFl]] # [[PartBlock]] in [[DistFile]].&lt;br /&gt;
* Fg 10-90 is when no record exists in &amp;amp;PF&amp;amp; for the identified partfile.&lt;br /&gt;
* If you have no records in &amp;amp;PARTFILES&amp;amp; then this report will be empty.&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
*Notes:&lt;br /&gt;
*---------------------&lt;br /&gt;
* Special codes are set for screen display to bold, and underline.&lt;br /&gt;
* HP printer escape codes are &amp;quot;printed&amp;quot; to activate bold and underline.&lt;br /&gt;
* Near end of program code seeks spooler no. and PID to develop the&lt;br /&gt;
* filename for the printer output. A unix command is issued to bypass&lt;br /&gt;
* our normal printer process which strips out the HP codes before&lt;br /&gt;
* printing.&lt;br /&gt;
* The program will probably work OK for screen display. You will probably&lt;br /&gt;
* need to modify program to suppport methods to get good print with&lt;br /&gt;
* formatting desired.&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
* EXT CALLS            OPEN.FILE&lt;br /&gt;
* FILES READ:          distributed files&lt;br /&gt;
* FILES UPDATE:        NONE&lt;br /&gt;
* CONSTANTS UPDATE:    NONE&lt;br /&gt;
* RESTART INSTRUCTIONS NONE&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
* MODIFICATIONS&lt;br /&gt;
* mm-dd-yy Login (sar######) Description&lt;br /&gt;
* 04/26/2002 rsi Show conflicts tween dict &amp;amp; partfile algs to screen.&lt;br /&gt;
* 06/11/2002 rsi Validate alg in each partfile, then &amp;amp;pf&amp;amp;, then dict.&lt;br /&gt;
* 09/05/2002 rsi Formatting improvements.&lt;br /&gt;
* 11/11/2002 rsi Fixes between KMHP5 &amp;amp; dwh server.&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
*&lt;br /&gt;
* include section: &amp;quot;COMMON&amp;quot; include files should be preceded&lt;br /&gt;
*                  &amp;quot;EQUATES&amp;quot; include files&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
$OPTIONS PICK&lt;br /&gt;
$INCLUDE MERCY.COMMON STANDARD.EQUATES&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
* equate section&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
* initialization section: do not include variables that are&lt;br /&gt;
*---------------------- re-initialized prior to usage ------------------&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
      PROG.ID = &amp;quot;LIST.ALG&amp;quot;&lt;br /&gt;
      PREAMBLE = &amp;#039;&amp;#039;&lt;br /&gt;
      POSTFIX = &amp;#039;&amp;#039;&lt;br /&gt;
      OFFSET = 32&lt;br /&gt;
      * Set up printer characteristics for restoration before exit.&lt;br /&gt;
      REST.PTR = &amp;#039;SETPTR 0,&amp;#039;:@LPTRWIDE:&amp;#039;,&amp;#039;:@LPTRHIGH:&amp;#039;,0,0,1,INFORM,&amp;#039;&lt;br /&gt;
      REST.PTR := &amp;#039;HOLD,RETAIN,BRIEF&amp;#039;&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
* open-file section: use OPEN.FILE routine to open files&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
      OPEN &amp;quot;&amp;quot;,&amp;quot;&amp;amp;PARTFILES&amp;amp;&amp;quot; TO PFI ELSE STOP 204,&amp;quot;VOC&amp;quot;&lt;br /&gt;
      CALL OPEN.FILE(VOC,&amp;quot;&amp;quot;,&amp;quot;VOC&amp;quot;)&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
* main program body&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
      * Set up bold, underline, both for screen or printer.&lt;br /&gt;
      GET(ARG.) TMP1 THEN&lt;br /&gt;
         GET(ARG.) TMP2 ELSE TMP2 = &amp;#039;&amp;#039;&lt;br /&gt;
      END ELSE TMP1 = &amp;#039;&amp;#039; ; TMP2 = &amp;#039;&amp;#039;&lt;br /&gt;
      IF TMP1 = &amp;#039;LPTR&amp;#039; OR TMP2 = &amp;#039;LPTR&amp;#039; THEN PTR = 1&lt;br /&gt;
         ELSE PTR = 0&lt;br /&gt;
      IF TMP1 = &amp;#039;BRIEF&amp;#039; OR TMP2 = &amp;#039;BRIEF&amp;#039; THEN DET = 0&lt;br /&gt;
         ELSE DET = 1&lt;br /&gt;
      IF PTR THEN&lt;br /&gt;
         * Set up characteristics for HP esc codes for cannon ptr.&lt;br /&gt;
         EXECUTE &amp;#039;SETPTR 0,172,60,0,0,1,INFORM,HOLD,RETAIN,BRIEF&amp;#039;&lt;br /&gt;
         SP = SPACE(2)&lt;br /&gt;
         PRINTER ON&lt;br /&gt;
         WID = 170&lt;br /&gt;
         * Bold set for printer.&lt;br /&gt;
         TX2 = CHAR(27):&amp;quot;(s4B&amp;quot;&lt;br /&gt;
         * Underline set for printer.&lt;br /&gt;
         UX2 = CHAR(27):&amp;quot;&amp;amp;d1D&amp;quot;&lt;br /&gt;
         * Clear bold &amp;amp; undeline settings for printer.&lt;br /&gt;
         RESET = CHAR(27):&amp;quot;(s0B&amp;quot;:CHAR(27):&amp;quot;&amp;amp;d@&amp;quot;&lt;br /&gt;
         * Portrait mode.&lt;br /&gt;
         PREAMBLE = CHAR(27):&amp;quot;&amp;amp;l1O&amp;quot;&lt;br /&gt;
         * Line spacing setting.&lt;br /&gt;
         PREAMBLE := CHAR(27):&amp;quot;&amp;amp;l8D&amp;quot;&lt;br /&gt;
         * Symbol set chosen for the header.&lt;br /&gt;
         PREAMBLE := CHAR(27):&amp;quot;(12U&amp;quot;&lt;br /&gt;
         * Proportional, h-size, v-size, style, stroke, typeface.&lt;br /&gt;
         PREAMBLE := CHAR(27):&amp;quot;(s0p14h0s0b6T&amp;quot;&lt;br /&gt;
         * Set to lp type face and spacing.&lt;br /&gt;
         POSTFIX = CHAR(27):&amp;quot;(s17.5H&amp;quot;&lt;br /&gt;
         * s0p16h6v0s0b4116T&amp;quot;:&lt;br /&gt;
      END ELSE&lt;br /&gt;
         * Pass parm not equal to LPTR&lt;br /&gt;
         * Set up for telnet session color selections via bld, undl.&lt;br /&gt;
         WID = @CRTWIDE -OFFSET&lt;br /&gt;
         TX2 = @(-58)&lt;br /&gt;
         UX2 = @(-5)&lt;br /&gt;
         RESET = @(-6)&lt;br /&gt;
         IF @CRTWIDE &amp;gt; 123 THEN&lt;br /&gt;
            SP = SPACE(5)&lt;br /&gt;
         END ELSE&lt;br /&gt;
            SP = SPACE(5)&lt;br /&gt;
         END&lt;br /&gt;
      END&lt;br /&gt;
      * Change term width so heading wont wrap.&lt;br /&gt;
&lt;br /&gt;
      * Build heading.&lt;br /&gt;
      UNIX = &amp;#039;hostname&amp;#039;&lt;br /&gt;
      EXECUTE &amp;quot;SH -c&amp;quot;:QUOTE(UNIX),/[[/OUT]].&amp;gt;CAPS&lt;br /&gt;
      HDG = &amp;#039;&amp;#039;&lt;br /&gt;
      HDG := PREAMBLE:PROG.ID:&amp;quot;         &amp;quot;&lt;br /&gt;
      HDG := TX2:UPCASE(CAPS&amp;lt;1&amp;gt;):RESET&lt;br /&gt;
      HDG := &amp;quot;             \      Pg. &amp;#039;S&amp;#039;&amp;#039;L&amp;#039;&amp;quot;&lt;br /&gt;
      IF DET THEN&lt;br /&gt;
         HDG := &amp;quot; Fg  1-9,  # Ptfl ALG wrong     &amp;quot;&lt;br /&gt;
         HDG := UX2:&amp;quot;Underline&amp;quot;:RESET:&amp;quot; = bad partfile alg &amp;quot;&lt;br /&gt;
         HDG := &amp;quot;&amp;#039;L&amp;#039; Fg 10-90, # Ptfl ALG missing   &amp;quot;&lt;br /&gt;
         HDG := TX2:&amp;quot;BOLD&amp;quot;:RESET:&amp;quot; = bad dict alg   &amp;quot;&lt;br /&gt;
         HDG := UX2:TX2:&amp;quot; BOTH bad &amp;quot;:RESET:&amp;quot;&amp;#039;L&amp;#039;&amp;quot;&lt;br /&gt;
      END&lt;br /&gt;
      HDG := &amp;quot;Dist name &amp;quot;:SP:&amp;quot; Alg name&amp;quot;:SP:&amp;quot;Fg Algorithm &amp;quot;&lt;br /&gt;
      HDG := POSTFIX&lt;br /&gt;
      HEADING HDG&lt;br /&gt;
      OLD.ACNT = @WHO&lt;br /&gt;
&lt;br /&gt;
      * Build order of select list of dist files.&lt;br /&gt;
      ECMD = &amp;#039;SELECT &amp;amp;PARTFILES&amp;amp; WITH PARTNUM=&amp;quot;Distributed&amp;quot; &amp;#039;&lt;br /&gt;
      ECMD := &amp;#039; BY ACCOUNT&amp;#039;&lt;br /&gt;
      ECMD := &amp;#039; BY DISTFILE &amp;#039;&lt;br /&gt;
      ECMD&amp;lt;-1&amp;gt; = &amp;#039;SAVE.LIST RSI.ALG.LIST&amp;#039;&lt;br /&gt;
      EXECUTE ECMD,/[[/OUT]].&amp;gt;QUIET&lt;br /&gt;
      * Read in whole list to dynamic variable.&lt;br /&gt;
      READLIST LYST FROM &amp;quot;RSI.ALG.LIST&amp;quot; ELSE&lt;br /&gt;
         CRT &amp;#039;List no good, try after fixing.&amp;#039;&lt;br /&gt;
         STOP&lt;br /&gt;
      END&lt;br /&gt;
&lt;br /&gt;
      * Begin cycling through the list.&lt;br /&gt;
      KNT = DCOUNT(LYST,@FM)&lt;br /&gt;
      FIRST.TIME = 1&lt;br /&gt;
      FOR I1 = 1 TO KNT&lt;br /&gt;
         READ PREC FROM PFI,LYST&amp;lt;I1&amp;gt; ELSE CONTINUE&lt;br /&gt;
         ID = PREC&amp;lt;1&amp;gt;&lt;br /&gt;
         IF NUM(ID[3]) AND ID[3] = LYST&amp;lt;I1&amp;gt;[3] THEN&lt;br /&gt;
            DELETE VOC,&amp;quot;VOO&amp;quot;&lt;br /&gt;
            IF PTR THEN PRINTER OFF&lt;br /&gt;
            ECMD = &amp;#039;SET.FILE &amp;#039;:PREC&amp;lt;2&amp;gt;:&amp;#039; VOC VOO&amp;#039;&lt;br /&gt;
            EXECUTE ECMD,/[[/OUT]].&amp;gt;QUIET&lt;br /&gt;
            ECMD = &amp;#039;SELECT VOO WITH F2 =&amp;quot;&amp;#039;:ID:&amp;#039;&amp;quot; AND WITH F3=&amp;quot;D_&amp;#039;:ID:&amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
            EXECUTE ECMD,/[[/OUT]].&amp;gt;QUIET,/[[/SELECT]].&amp;gt;LYST2&lt;br /&gt;
            READNEXT ID FROM LYST2 ELSE DEBUG      ; * STOP 201,&amp;#039;bad ID &amp;#039;:ID:&amp;#039; &amp;#039;:PREC&amp;lt;1&amp;gt;:&amp;#039; &amp;#039;:LYST&amp;lt;I1&amp;gt;&lt;br /&gt;
         END&lt;br /&gt;
         IF PREC&amp;lt;2&amp;gt; # OLD.ACNT THEN&lt;br /&gt;
            * Changing accounts, print account name for group.&lt;br /&gt;
            OLD.ACNT = PREC&amp;lt;2&amp;gt;&lt;br /&gt;
            PRINT &amp;quot;    Account = &amp;quot;:PREC&amp;lt;2&amp;gt;&lt;br /&gt;
            FIRST.TIME = 0&lt;br /&gt;
            PRINTER OFF&lt;br /&gt;
            EXECUTE &amp;quot;SET.FILE &amp;quot;:PREC&amp;lt;2&amp;gt;:&amp;quot; VOC TEMP.VOC&amp;quot;,/[[/OUT]].&amp;gt;QUIET&lt;br /&gt;
         END ELSE&lt;br /&gt;
            IF FIRST.TIME THEN&lt;br /&gt;
               * If not changed accounts yet, then set pointers 1st.&lt;br /&gt;
               PRINT &amp;quot;    Account = &amp;quot;:PREC&amp;lt;2&amp;gt;&lt;br /&gt;
               PRINTER OFF&lt;br /&gt;
               EXECUTE &amp;quot;SET.FILE &amp;quot;:PREC&amp;lt;2&amp;gt;:&amp;quot; VOC TEMP.VOC&amp;quot;,/[[/OUT]].&amp;gt;QUIET&lt;br /&gt;
               FIRST.TIME = 0&lt;br /&gt;
            END&lt;br /&gt;
         END&lt;br /&gt;
         * Turn off printer to avoid the QSET messages.&lt;br /&gt;
         PRINTER OFF&lt;br /&gt;
         EXECUTE &amp;quot;SET.FILE &amp;quot;:PREC&amp;lt;2&amp;gt;:&amp;quot; &amp;quot;:ID:&amp;quot; TEMP.DISTF&amp;quot;,/[[/OUT]].&amp;gt;QUIET&lt;br /&gt;
         IF PTR THEN PRINTER ON&lt;br /&gt;
         * Begin searching for alg in partfile.&lt;br /&gt;
         PFLAG = 0&lt;br /&gt;
         OPEN &amp;quot;&amp;quot;,&amp;quot;TEMP.DISTF&amp;quot; TO PFIL THEN&lt;br /&gt;
            STATUS ST.REC FROM PFIL ELSE ST.REC = &amp;#039;&amp;#039;&lt;br /&gt;
         END ELSE ST.REC = &amp;#039;&amp;#039;&lt;br /&gt;
         IF ST.REC&amp;lt;27&amp;gt; # &amp;#039;&amp;#039; THEN&lt;br /&gt;
            * Cycle all of the partfile paths.&lt;br /&gt;
            ST.REC&amp;lt;25&amp;gt; = EREPLACE(ST.REC&amp;lt;25&amp;gt;,&amp;#039;[[/DATA]].30&amp;#039;,&amp;#039;&amp;#039;)&lt;br /&gt;
            CN5 = DCOUNT(ST.REC&amp;lt;25&amp;gt;,@VM)&lt;br /&gt;
            I5 = 1&lt;br /&gt;
            * Get alg from 1st partfile, set to main alg.&lt;br /&gt;
            GOSUB GET.ALG&lt;br /&gt;
            MAIN.ALG = ALGG&amp;lt;2&amp;gt;&lt;br /&gt;
            READ X FROM PFI,ST.REC&amp;lt;25,I5&amp;gt; ELSE PFLAG += 10&lt;br /&gt;
            * Get seach subsequent partfile alg and compare.&lt;br /&gt;
            FOR I5 = 2 TO CN5&lt;br /&gt;
               GOSUB GET.ALG&lt;br /&gt;
               * Increment part file fail flag if unequal.&lt;br /&gt;
               IF MAIN.ALG # ALGG&amp;lt;2&amp;gt; THEN PFLAG += 1&lt;br /&gt;
               READ X FROM PFI,ST.REC&amp;lt;25,I5&amp;gt; ELSE PFLAG += 10&lt;br /&gt;
            NEXT I5&lt;br /&gt;
         END&lt;br /&gt;
         * Test algorithm in partfile.&lt;br /&gt;
         IF MAIN.ALG # PREC&amp;lt;4&amp;gt; THEN&lt;br /&gt;
            * Algorithms are different from partfiles.&lt;br /&gt;
            TX0 = UX2&lt;br /&gt;
            RST = RESET&lt;br /&gt;
         END&lt;br /&gt;
         * Locate algorithm in dict of partfile.&lt;br /&gt;
         OPEN &amp;quot;DICT&amp;quot;,&amp;quot;TEMP.DISTF&amp;quot; TO PFIL&lt;br /&gt;
            ELSE STOP 204,&amp;quot;DICT TEMP.DISTF &amp;quot;:PREC&amp;lt;2&amp;gt;&lt;br /&gt;
         READ REC FROM PFIL,&amp;quot;@PART.ALGORITHM&amp;quot; ELSE REC = @FM:&amp;quot;mt&amp;quot;&lt;br /&gt;
         IF REC&amp;lt;2&amp;gt; # MAIN.ALG THEN&lt;br /&gt;
            * Algroithms are different, set bold-izers.&lt;br /&gt;
            TX0 := TX2&lt;br /&gt;
            RST = RESET&lt;br /&gt;
         END ELSE TX0 = &amp;quot;&amp;quot; ; RST = &amp;#039;&amp;#039;&lt;br /&gt;
         * Locate algorithm in VOC file.&lt;br /&gt;
         ECM2 = &amp;quot;SELECT TEMP.VOC WITH F2 = \&amp;quot;:(MAIN.ALG):&amp;quot;\&amp;quot;&lt;br /&gt;
         EXECUTE ECM2,/[[/SELECT]].&amp;gt;LIST,/[[/STATUS]].&amp;gt;KN2,/[[/OUT]].&amp;gt;QUIET&lt;br /&gt;
         IDV = &amp;#039;&amp;#039;&lt;br /&gt;
         FOR I2 = 1 TO KNT&lt;br /&gt;
            READNEXT IDT FROM LIST THEN&lt;br /&gt;
               IDV&amp;lt;-1&amp;gt; = IDT&lt;br /&gt;
            END&lt;br /&gt;
         NEXT I2&lt;br /&gt;
         IF IDV = &amp;quot;&amp;quot; THEN&lt;br /&gt;
            * Not found?, then Locate algorithm in DICT VOC file.&lt;br /&gt;
            ECM2 = &amp;quot;SELECT DICT TEMP.VOC WITH F2 = \&amp;quot;:(MAIN.ALG):&amp;quot;\&amp;quot;&lt;br /&gt;
            EXECUTE ECM2,/[[/SELECT]].&amp;gt;LIST,/[[/STATUS]].&amp;gt;KN2,/[[/OUT]].&amp;gt;QUIET&lt;br /&gt;
            FOR I2 = 1 TO KNT&lt;br /&gt;
               READNEXT IDT FROM LIST THEN&lt;br /&gt;
                  IDV&amp;lt;-1&amp;gt; = &amp;#039;[&amp;#039;:IDT:&amp;#039;]&amp;#039;&lt;br /&gt;
               END&lt;br /&gt;
            NEXT I2&lt;br /&gt;
         END&lt;br /&gt;
         * Print distributed record data.&lt;br /&gt;
         PRINT ID&amp;quot;16L&amp;quot;:IDV&amp;lt;1&amp;gt;&amp;quot;14L&amp;quot;:PFLAG&amp;quot;2L&amp;quot;:&lt;br /&gt;
         * Print extra line lengths of algorithm.&lt;br /&gt;
         FOR K3 = 1 TO LEN(MAIN.ALG) STEP WID&lt;br /&gt;
            IF K3 &amp;gt; 23 THEN PRINT SPACE(OFFSET):&lt;br /&gt;
            PRINT TX0:MAIN.ALG[K3,WID]:RST&lt;br /&gt;
         NEXT K3&lt;br /&gt;
      NEXT I1&lt;br /&gt;
      PRINT &amp;quot;ALL FINISHED&amp;quot;&lt;br /&gt;
      IF PTR THEN&lt;br /&gt;
         PRINTER OFF&lt;br /&gt;
         * Close printer to get spool number.&lt;br /&gt;
         PRINTER CLOSE&lt;br /&gt;
&lt;br /&gt;
         * Get spool number.&lt;br /&gt;
         UNIX = &amp;quot;SH -c &amp;#039;smat -p &amp;lt; /dev/null | grep sp_job_id&amp;#039;&amp;quot;&lt;br /&gt;
         EXECUTE UNIX,/[[/OUT]].&amp;gt;CAP&lt;br /&gt;
         CNT=DCOUNT(CAP,@FM)&lt;br /&gt;
         SPULNO = &amp;quot;&amp;quot;&lt;br /&gt;
         FOR I =1 TO CNT&lt;br /&gt;
         UNTIL SPULNO # &amp;quot;&amp;quot;&lt;br /&gt;
            IF CAP&amp;lt;I&amp;gt;=&amp;quot;&amp;quot; THEN CONTINUE&lt;br /&gt;
            TMP = FIELD(CAP&amp;lt;I&amp;gt;,&amp;quot;:&amp;quot;,2,1)&lt;br /&gt;
            IF TMP # 0 THEN SPULNO = OCONV(TRIM(TMP),&amp;quot;MR%5&amp;quot;)&lt;br /&gt;
         NEXT I&lt;br /&gt;
&lt;br /&gt;
         * Get pid number.&lt;br /&gt;
         UNIX = &amp;quot;ps -f|grep uv/bin/uv| grep -v grep|awk &amp;#039;{print $2}&amp;#039;&amp;quot;&lt;br /&gt;
         EXECUTE &amp;quot;SH -c&amp;quot;:QUOTE(UNIX),/[[/OUT]].&amp;gt;CAP&lt;br /&gt;
         PID = OCONV(TRIM(CAP&amp;lt;1&amp;gt;),&amp;quot;MR%5&amp;quot;)&lt;br /&gt;
         * Assemble line printer command and execute it.&lt;br /&gt;
         CRT &amp;quot;PID = &amp;quot;:PID, SPULNO, &amp;quot;/dsk13s2/uvspool/uv&amp;quot;:SPULNO:PID:&amp;quot;aa&amp;quot;&lt;br /&gt;
         * Print raw output directly to printer.&lt;br /&gt;
         UNIX = &amp;#039;lp -d canonis /dsk13s2/uvspool/uv&amp;#039;:SPULNO:PID:&amp;#039;aa&amp;#039;&lt;br /&gt;
         EXECUTE &amp;quot;SH -c&amp;quot;:QUOTE(UNIX)&lt;br /&gt;
         PRINT &amp;quot;ALL DONE&amp;quot;&lt;br /&gt;
         EXECUTE REST.PTR&lt;br /&gt;
      END&lt;br /&gt;
      DELETE VOC,&amp;quot;TEMP.DISTF&amp;quot;&lt;br /&gt;
      STOP&lt;br /&gt;
* This is the final return and should cause the logic to exit the pgm&lt;br /&gt;
&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
* subroutines: include desc ( function, variables used and changed, etc)&lt;br /&gt;
*-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
************&lt;br /&gt;
GET.ALG:&lt;br /&gt;
************&lt;br /&gt;
      OPENPATH ST.REC&amp;lt;25,I5&amp;gt; TO TFIL THEN&lt;br /&gt;
         OPENSEQ ST.REC&amp;lt;25,I5&amp;gt; TO TPATH THEN&lt;br /&gt;
            READBLK DTA FROM TPATH,2048 ELSE DTA = &amp;#039;&amp;#039;&lt;br /&gt;
            HDRLAYOUT = FILEINFO(TFIL,99)&lt;br /&gt;
            BURP = OCONV(DTA[1+HDRLAYOUT&amp;lt;18,1&amp;gt;,HDRLAYOUT&amp;lt;18,2&amp;gt;],&amp;quot;[[MX0C]]&amp;quot;)&lt;br /&gt;
            BURP = ICONV(BURP,&amp;quot;MCD&amp;quot;)&lt;br /&gt;
            SEEK TPATH,BURP,0 THEN&lt;br /&gt;
               READBLK ALGG FROM TPATH,512 THEN&lt;br /&gt;
                  IF LEN(ALGG&amp;lt;2&amp;gt;) &amp;gt; 4 THEN&lt;br /&gt;
*       CRT &amp;#039;Algorithm = &amp;#039;:ALGG&amp;lt;2&amp;gt;&lt;br /&gt;
                  END ELSE ALGG = @FM:&amp;#039;plain nothing &amp;#039;:LEN(ALGG&amp;lt;2&amp;gt;):&amp;quot;  &amp;quot;:BURP:&amp;quot;   &amp;quot;:HDRLAYOUT&amp;lt;18&amp;gt;:&amp;quot;  &amp;quot;:ALGG&lt;br /&gt;
*      CRT SPACE(12):ALGG&amp;lt;2&amp;gt;:&lt;br /&gt;
*      INPUT ANS,1&lt;br /&gt;
               END&lt;br /&gt;
            END&lt;br /&gt;
         END&lt;br /&gt;
      END&lt;br /&gt;
      RETURN&lt;br /&gt;
&lt;br /&gt;
************&lt;br /&gt;
TERMINATION:&lt;br /&gt;
************&lt;br /&gt;
      PRINT &amp;#039;Terminating now &amp;#039;&lt;br /&gt;
      DELETE VOC,&amp;quot;TEMP.DISTF&amp;quot;&lt;br /&gt;
      STOP&lt;br /&gt;
* last statement in a program don&amp;#039;t add code after this line&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Conversion script</name></author>
	</entry>
</feed>