Tandem's Log
Created: 5/31/2007 5:53:03 PM
<< 10/2009 < 03/2010 Calendar 11/2010 > 10/2011 >>Sign InView Other Logs
Sat 
10/02/2010 11:38:49
 jim  Declaratives
 IDENTIFICATION            DIVISION.
    PROGRAM-ID. FILESTAT.
 DATA                      DIVISION.
 WORKING-STORAGE           SECTION.
?SECTION FILE-STAT-MESSAGE
 01 FILE-STAT-MESSAGE.
    05 FILE-STAT           PIC X(02)  VALUE "00".
       88 VALID-KEY                   VALUE "00".
    05 FILLER              PIC X(01)  VALUE ":" .
    05 FILE-GUARDIAN-ERR   PIC 9(04)  VALUE 0.
    05 FILLER              PIC X(01)  VALUE " ".
    05 FILE-STAT-MSG       PIC X(62)  VALUE " ".
 01 FILE-GUARDIAN-DESC     PIC X(80)  VALUE " ".
/*******************
 PROCEDURE DIVISION.
********************
?SECTION FILE-STAT-DECLARATIVES
 DECLARATIVES.
 INPUT-SECTION.  
     USE AFTER STANDARD ERROR PROCEDURE ON INPUT.
     PERFORM FILE-STAT-EDIT.
 I-O-SECTION.  
     USE AFTER STANDARD ERROR PROCEDURE ON I-O.
     PERFORM FILE-STAT-EDIT.
 OUTPUT-SECTION.  
     USE AFTER STANDARD ERROR PROCEDURE ON OUTPUT.
     PERFORM FILE-STAT-EDIT.
 EXTEND-SECTION.  
     USE AFTER STANDARD ERROR PROCEDURE ON EXTEND.
     PERFORM FILE-STAT-EDIT.
?SECTION FILE-STAT-EDIT    
 FILE-STAT-EDIT.
     IF FILE-STAT = "00"
        CONTINUE
     ELSE
        EVALUATE FILE-STAT
        WHEN "04"  MOVE "Short Record READ*"      TO FILE-STAT-MSG
        WHEN "05"  MOVE "FILE*"                   TO FILE-STAT-MSG
        WHEN "07"  MOVE "Fast I/O or Tape*"       TO FILE-STAT-MSG
        WHEN "10"  MOVE "End of File*"            TO FILE-STAT-MSG
        WHEN "14"  MOVE "End of Relative File*"   TO FILE-STAT-MSG
        WHEN "30"  MOVE "Operation*"              TO FILE-STAT-MSG
        WHEN "21"  MOVE "Key Changed on Rewrite*" TO FILE-STAT-MSG
        WHEN "22"  MOVE "Duplicate Key*"          TO FILE-STAT-MSG
        WHEN "23"  MOVE "Key not found*"          TO FILE-STAT-MSG
        WHEN "24"  MOVE "Write Past Eof*"         TO FILE-STAT-MSG
        WHEN "30"  MOVE "Temporary Error*"        TO FILE-STAT-MSG
        WHEN "34"  MOVE "Seq Write Past Eof*"     TO FILE-STAT-MSG
        WHEN "35"  MOVE "Open File Error*"        TO FILE-STAT-MSG
        WHEN "37"  MOVE "Device Open Error*"      TO FILE-STAT-MSG
        WHEN "38"  MOVE "Open Parameter Error*"   TO FILE-STAT-MSG
        WHEN "39"  MOVE "File SELECT Mismatch*"   TO FILE-STAT-MSG
        WHEN "41"  MOVE "File is NOT Closed*"     TO FILE-STAT-MSG
        WHEN "42"  MOVE "File is NOT Opened*"     TO FILE-STAT-MSG
        WHEN "43"  MOVE "Del/Rewrite not Read*"   TO FILE-STAT-MSG
        WHEN "44"  MOVE "Rewrite Size Differs*"   TO FILE-STAT-MSG
        WHEN "46"  MOVE "Read Next not Started*"  TO FILE-STAT-MSG
        WHEN "47"  MOVE "Read/Start Open*"        TO FILE-STAT-MSG
        WHEN "48"  MOVE "Open is incompatible*"   TO FILE-STAT-MSG
        WHEN "49"  MOVE "File not Opened I/O*"    TO FILE-STAT-MSG
        WHEN "90"  MOVE "Open Not Timed I/O*"     TO FILE-STAT-MSG
        WHEN "91"  MOVE "I-O*"                    TO FILE-STAT-MSG
        WHEN "97"  MOVE "Read/Start*"             TO FILE-STAT-MSG
        WHEN OTHER MOVE "Unknown condition*"      TO FILE-STAT-MSG.
         
        MOVE GUARDIAN-ERR                         TO FILE-GUARDIAN-ERR
        EVALUATE FILE-GUARDIAN-ERR
        WHEN  01 MOVE "EOF*"                      TO FILE-GUARDIAN-ERR-DESC
        WHEN  06 MOVE "$RECEIVE*"                 TO FILE-GUARDIAN-ERR-DESC
        WHEN  09 MOVE "Locked Record*"            TO FILE-GUARDIAN-ERR-DESC
        WHEN  10 MOVE "Duplicate Record*"         TO FILE-GUARDIAN-ERR-DESC
        WHEN  11 MOVE "Does Not Exist*"           TO FILE-GUARDIAN-ERR-DESC
        WHEN  14 MOVE "Device Does Not Exist*"    TO FILE-GUARDIAN-ERR-DESC
        WHEN  18 MOVE "Node Does Not Exist*"      TO FILE-GUARDIAN-ERR-DESC
        WHEN  23 MOVE "Out of Bounds*"            TO FILE-GUARDIAN-ERR-DESC
        WHEN  40 MOVE "Timed Out*"                TO FILE-GUARDIAN-ERR-DESC
        WHEN  45 MOVE "File is Full*"             TO FILE-GUARDIAN-ERR-DESC
        WHEN  46 MOVE "Bad Position*"             TO FILE-GUARDIAN-ERR-DESC
        WHEN  73 MOVE "Locked*"                   TO FILE-GUARDIAN-ERR-DESC
        WHEN OTHER MOVE "*"                       TO FILE-GUARDIAN-ERR-DESC.
        STRING FILE-STAT-MSG                         DELIMITED BY "*"
               ":"                                   DELIMITED BY SIZE
               FILE-GUARDIAN-ERR-DESC                DELIMITED BY "*"
                                                INTO FILE-STAT-MSG.
    END DECLARATIVES.
    END PROGRAM FILESTAT.
Fri 
10/01/2010 07:00:59
 jim  Declaratives
 01 FILE-STAT-MESSAGE.
    05 FILE-I-O-TYPE       PIC X(06)  JUST RIGHT.
    05 FILLER              PIC X(01)  VALUE " ".
    05 FILE-FAILED         PIC X(06)  VALUE " ".
    05 FILLER              PIC X(01)  VALUE " ".
    05 FILE-STAT-MSG       PIC X(21)  VALUE " ".
    05 FILLER              PIC X(01)  VALUE " " .
    05 FILE-STAT           PIC X(02)  VALUE "00".
       88 VALID-KEY                   VALUE "00".
    05 FILLER              PIC X(01)  VALUE ":" .
    05 FILE-GUARDIAN-ERR   PIC 9(03)  VALUE ZERO.
/*******************
 PROCEDURE DIVISION.
********************
 DECLARATIVES.
 INPUT-SECTION  SECTION.   USE AFTER STANDARD ERROR PROCEDURE ON INPUT.
     MOVE "INPUT"          TO FILE-I-O-TYPE.
     PERFORM EDIT-FILE-STAT.
 I-O-SECTION    SECTION.   USE AFTER STANDARD ERROR PROCEDURE ON I-O.
     MOVE "OUTPUT"         TO FILE-I-O-TYPE.
     PERFORM EDIT-FILE-STAT.
 OUTPUT-SECTION SECTION.   USE AFTER STANDARD ERROR PROCEDURE ON OUTPUT.
     MOVE "I-O"            TO FILE-I-O-TYPE.
     PERFORM EDIT-FILE-STAT.
 EXTEND-SECTION SECTION.   USE AFTER STANDARD ERROR PROCEDURE ON EXTEND.
     MOVE "EXTEND"         TO FILE-I-O-TYPE.
     PERFORM EDIT-FILE-STAT.
 EDIT-FILE-STAT SECTION.
     MOVE GUARDIAN-ERR     TO FILE-GUARDIAN-ERR.
     IF FILE-STAT = "00"
        MOVE "Worked"      TO FILE-FAILED
        MOVE "Successfully        " TO FILE-STAT-MSG
     ELSE
        MOVE "Failed"      TO FILE-FAILED
        MOVE 999           TO DISK-ERRORS
        EVALUATE FILE-STAT
          WHEN "10"  MOVE "End of File         " TO FILE-STAT-MSG
          WHEN "30"  MOVE "Permanent Error     " TO FILE-STAT-MSG
          WHEN "21"  MOVE "Rewrite Error       " TO FILE-STAT-MSG
          WHEN "22"  MOVE "Duplicate Key       " TO FILE-STAT-MSG
          WHEN "23"  MOVE "No Record Exist     " TO FILE-STAT-MSG
          WHEN "24"  MOVE "Write Past Eof      " TO FILE-STAT-MSG
          WHEN "30"  MOVE "Temporary Error     " TO FILE-STAT-MSG
          WHEN "34"  MOVE "Seq Write Past Eof  " TO FILE-STAT-MSG
          WHEN "35"  MOVE "Open File Error     " TO FILE-STAT-MSG
          WHEN "37"  MOVE "Device Open Error   " TO FILE-STAT-MSG
          WHEN "38"  MOVE "Open Parameter Error" TO FILE-STAT-MSG
          WHEN "41"  MOVE "File is NOT Closed  " TO FILE-STAT-MSG
          WHEN "42"  MOVE "File is NOT Opened  " TO FILE-STAT-MSG
          WHEN "43"  MOVE "UnRead Del./Rewrite " TO FILE-STAT-MSG
          WHEN "44"  MOVE "Rewrite Size Differs" TO FILE-STAT-MSG
          WHEN "46"  MOVE "UnStarted Read Next " TO FILE-STAT-MSG
          WHEN "47"  MOVE "Read/Start Open Err " TO FILE-STAT-MSG
          WHEN "48"  MOVE "Write Open Error    " TO FILE-STAT-MSG
          WHEN "49"  MOVE "File not Opened  I/O" TO FILE-STAT-MSG
          WHEN "90"  MOVE "Open Not Timed I/O  " TO FILE-STAT-MSG
          WHEN "91"  MOVE "EditReadUnit Failed " TO FILE-STAT-MSG
          WHEN OTHER MOVE "Unknown condition   " TO FILE-STAT-MSG.
     IF GUARDIAN-ERR = 40
        MOVE "98"          TO FILE-STAT.
 END DECLARATIVES.
Fri 
10/01/2010 06:54:16
 jim  Binding an Escort/AutoTmf to a user lib
bind
@select list * off
@add * from myuserlib
@add * from $system.escort.escruntm
@set like $system.escort.escruntm
@set highpin on
@set highrequestors on
@build mylib!
Thu 
07/29/2010 20:37:48
 jim  PathMake example
?TACL MACRO
comment *******************************************************************
comment * This Macro Creates a Cold start obey file for a runnig pathway  *
comment *-----------------------------------------------------------------*
comment * This example uses $EXP as a pathmon name                        *
comment * To run this macro, enter                                        *
comment *                                                                 *
comment *     PATHCFG $EXP                                                *
comment *                                                                 *
comment * The Cold Start obey file this will create will be called GOEXP  *
comment * To bring up $EXP using the cold start file enter:               *
comment *                                                                 *
comment *     O GOEXP                                                     *
comment *                                                                 *
comment * This will create a cool start file for $EXP called EXPCTL       *
comment * The log1 file will be called EXPLOG                             *
comment * GOEXP, EXPCTL, EXPLOG will be created in the current subvolume  *
comment * The configuration's pathway will be call $P.#PATHMON.EXP        *
comment *                                                                 *
comment * This macro can also be run for several pathmons by entering:    *
comment *                                                                 *
comment *     PATHCFG $EXP $MNTF $STORE $ZVPT                             *
comment *                                                                 *
comment *-----------------------------------------------------------------*
[#if [#empty %1%] |then|
 #output They Syntax is: PATHCTL $PW
 #output where $PW is a running pathway system
|else|
[#DEF ascii STRUCT
BEGIN
BYTE byt0  VALUE 7;  CHAR bell   REDEFINES byt0;
BYTE byt1  VALUE 27; CHAR esc    REDEFINES byt1;
BYTE byt2a VALUE 36; CHAR dollar REDEFINES byt2a;
BYTE byt2  VALUE 37; CHAR perc   REDEFINES byt2;
BYTE byt3  VALUE 38; CHAR amp    REDEFINES byt3;
BYTE byt4  VALUE 64; CHAR at     REDEFINES byt4;
BYTE byt5 (0:1) VALUE 27 73;
CHAR clr (0:1) REDEFINES byt5; == escape sequence
END;
]
#push Norm Blink Invert Dim
#set  Norm   [ascii:esc]6[ascii:at]
#set  Blink  [ascii:esc]6b
#set  Invert [ascii:esc]6[ascii:dollar]
#set  Dim    [ascii:esc]6[ascii:perc]
#push PathwayProcess PathWayLen PathwayName
#set  PathwayProcess %1%
#set  PathWayLen [#Compute [#charcount PathwayProcess] - 1]
#set  PathwayName [#charget PathwayProcess 2 for [#Compute [#charcount PathwayProcess] - 1]]
#output
comment #output [Dim]                            [invert]Pathcfg %1%[Dim]                            [norm]
#output [Dim]Builds an obey file called [invert]GO[PathwayName] [Dim] to start [invert]%1%[norm]
#output To run this %1% should be up and running
[#case [#INPUT [BLINK]Should I proceed "Y" ?[NORM ]]
|Y| #output Please wait...
PURGE GO[PathwayName]
PATHCOM %1%;INFO/OUT GO[PathwayName]/PATHWAY,OBEYFORM
edit GO[PathwayName]!;99990/LOG1 [PathwayName]LOG/;NA;E
edit GO[PathwayName];10000/START PATHWAY COLD !/;NA;E
PATHCOM %1%;INFO/OUT GO[PathwayName]/TCP*,OBEYFORM
PATHCOM %1%;INFO/OUT GO[PathwayName]/SERVER *,OBEYFORM
PATHCOM %1%;INFO/OUT GO[PathwayName]/PROGRAM *,OBEYFORM
PATHCOM %1%;INFO/OUT GO[PathwayName]/TERM    *,OBEYFORM ==
edit GO[PathwayName];CQF/-- /A;NA;10000/-- EXIT/;NA;E
edit GO[PathwayName];.01/COMMENT *------------------------------------------------/;e
edit GO[PathwayName];.02/COMMENT *----- Obey GO[PathwayName] to start $[PathwayName]/;e
edit GO[PathwayName];.03/COMMENT *------------------------------------------------/;e
edit GO[PathwayName];.04/#PUSH INLINEPREFIX/;E
edit GO[PathwayName];.05/#SET  INLINEPREFIX --/;E
edit GO[PathwayName];.06/assign PATHCTL, [PathwayName]CTL/;E
edit GO[PathwayName];.07/PURGE [PathwayName]LOG/;E
edit GO[PathwayName];.08/FUP CREATE [PathwayName]LOG,TYPE E, REC 132, EXT(100,100), MAXEXTENTS 100/;E
edit GO[PathwayName];.09"PATHMON/cpu 2,name $[PathwayName],nowait,term $vhs/3";E
edit GO[PathwayName];.10"PATHCOM/inline,out $P.#PATHWAY.[PathwayName]/$[PathwayName]";na;e
|OTHERWISE| #output OK. POOF! I'm gone.
]
#output
[#if [#empty %2%] |then| |else|
  run PATHCFG %2 to 99%
]
] == First If
Thu 
07/29/2010 20:35:46
 jim  ZMacros w/CNL - Needs Adapting
== Macros:
== COMP  srcfile1 srcfile2           Compiles, with the nolist option
== COMPP srcfile1 srcfile2 ...       Compiles to $P.#srctype.srcfile
== COMPF srcfile1 srcfile2 ...       Compiles to $dev2.TESTLST
== CK srcfile                        Checks your subvolumes.srcfile to TEST's

?SECTION set_SysIni MACRO
var CdVol          \test.$dev2.TEST
var LstVol         \test.$dev2.TESTLST
var SrcVol         \test.$dev2.TESTSRC
[#case [#charget [#shiftstring SrcFile] 1 for 3]
|SUB|       var TST_OBJ \test.$dev2.subobj.[SrcFile]O
            var ObjVol  \test.$dev2.subobj
            var TST_REN \test.$dev2.OLDobj.[SrcFile]X
|otherwise| var TST_OBJ \test.$dev2.TESTOBJ.[SrcFile]O
            var ObjVol  \test.$dev2.TESTOBJ
            var TST_REN \test.$dev2.OLDobj.[SrcFile]X
]
var TST_POBJ       \test.$dev1.FEDROBJ.FED1
var ObeyVol_VOL    \test.$dev1.TEST
?section doc macro
volume $dev2.TESTdoc
?section fil macro
volume $DEV4.TURBOFIL
?section blk macro
volume $dev2.TESTBLK
?section OB macro
echo volume $dev2.TESTOBEY
?section LIB macro
ECHO VOLUME $dev1.COPYSRC
?section LST macro
echo volume $dev2.TESTLST
?section SRC MACRO
[#if [#empty %1%] |then|
  volume $dev2.TESTSRC
|else|
  #set SrcFile %1%
  set_SysIni
]
?SECTION ENF MACRO
echo VOLUME $dev2.TESTENF
?section gl macro
 var SrcFile
 echo edit $dev2.TESTlst.[SrcFile]S
?section ck macro
var SrcFile %1%
[#case [#charget [#shiftstring SrcFile] 1 for 1]
|N|         fup info (%1%,dev1.COPYSRC.%1%)
|otherwise| fup info (%1%,$dev2.TESTSRC.%1%)
]
?SECTION Echoto MACRO
var EchoOut %1%
?section ECHO macro
#output %*%
%*%
?section var  macro
[#if [#variableinfo/existence/ %1%] |else| #push %1%]
[#if [#empty %2%] |then| |else| #set %1% %2 to 99%]

?section FREEZE MACRO
var PcServer
var PcName
[#IF [#EMPTY %1%] |THEN|
|else|
  #set PCServer %1%
]
[#IF [#EMPTY %1%] |THEN|
|else|
    [#IF [#EMPTY %2%] |THEN|
        var PcServer %1%
    |else|
        var PcName %1%
        var PcServer %2%
    ]
]
[#if [#emptyv PcName] |then|
   var PcName [#input Enter the Pathway System: ($MNTF):]
]
[#if [#emptyv PcServer] |then|
   var PcServer [#input Enter the Pathway Server (TESTPOST-SERVER):]
]
PATHCOM [PcName];FREEZE [PCServer]
PATHCOM [PcName];STOP   [PCServer]
PATHCOM [PcName];STOP   [PCServer]
[#if [#empty %2%] |then| |else| FREEZE %2 TO 99%]
?section THAW   MACRO
var PcServer
[#IF [#EMPTY %1%] |THEN|
|else|
  #SET PCServer %1%
]
PATHCOM [PcName];THAW   [PCServer]
[#if [#empty %3%] |then| |else| THAW %1%  %3 TO 99%]

?section START  MACRO
var PcServer
[#IF [#EMPTY %1%] |THEN|
|else|
  #SET PCServer %1%
]
PATHCOM [PcName];START  [PCServer]
[#if [#empty %3%] |then| |else| START %1%  %3 TO 99%]

=======================
?section debugon macro
======================
[#IF [#EMPTY %1%] |THEN|
|else|
    [#IF [#EMPTY %2%] |THEN|
        var PcServer %1%
    |else|
    var PcName %1%
    var PcServer %2%
    ]
]
[#if [#emptyv PcName] |then|
   var PcName [#input Enter the Pathway System: ($MNTF):]
]
[#if [#emptyv PcServer] |then|
   var PcServer [#input Enter the Pathway Server (TESTPOST-SERVER):]
]
#push me
#set  me [#myterm]
freeze
echo pathcom [PcName];alter [PCServer],hometerm [me],debug on
thaw
#pop me
?section debugoff macro
=======================
var PcName %1%
var PcServer %2%
freeze
pathcom [PcName];alter [PCServer],hometerm $VHS,debug off
thaw
?section copy macro
fup dup %1%,%2%,saveall
fup secure %2%,"nnnn"
?section cinfo macro
var SrcFile
[#IF [#EMPTY %1%] |THEN|
|ELSE|
  #SET SrcFile %1%
  set_SysIni
]
fup/inline/
--  info $dev2.TESTSRC.[SrcFile]s
--  info $dev2.TESTOBJ.[SrcFile]o
--  exit
?section pout macro
#SET  #INLINEPREFIX --
peruse /inline/$ppls
-- ll;le/out TESTlst.x/a;del
-- ll;le/out TESTlst.x/a;del
-- ll;le/out TESTlst.x/a;del
-- ll;le/out TESTlst.x/a;del
-- ll;le/out TESTlst.x/a;del
-- ll;le/out TESTlst.x/a;del
-- ll;le/out TESTlst.x/a;del
-- ll;le/out TESTlst.x/a;del
-- ll;le/out TESTlst.x/a;del
-- cqf/`/
-- dq/`                                                 /
-- cqa/`//a
-- e
?section fs alias
 finddata
?section grep alias
 finddata %*%
?section OK macro
[#case [#input RUN %*% (y)?] |y Y| echo %*% |otherwise|]
#output ---------------------------------------------

?SECTION PCLS MACRO
 SPOOLCOM $SPLS;JOB (OWNER),DELETE !
 SPOOLCOM $PPLS;JOB (OWNER),DELETE !
?SECTION SV MACRO
 FUP SUBVOLS %*%
?section Type macro
 fup copy %1%
?section p macro
[#if [#empty %1%] |then| peruse $PPLS |else| peruse $SPLX]

?SECTION INFODEFINE MACRO
#FRAME
#PUSH X1 X2 X3 X4
#SETMANY X1 X2 X3 X4,[#DEFINEINFO %1%]
#OUTPUT/HOLD/ADD DEFINE %1%
#OUTPUT/HOLD,COLUMN 25/,CLASS [X2]
#OUTPUT/COLUMN 40/,[X3] [X4]
#UNFRAME
[#if [#empty %2%] |then| |else| INFODEFINE %2 to 99%]
?SECTION CREATEDEFINES MACRO
PURGE XD
INFO/OUT XD/DEFINE =*
EDIT XD;DQN/=/;CQ/ Define Name / INFODEFINE /A;E
PURGE DEFINES
#PUSH #OUT
#SET #OUT DEFINES
O XD
#POP #OUT
EDIT DEFINES;DQ/INFODEFINE/;E
EDIT DEFINES
[#if [#empty %2%] |then| |else| INFODEFINE %2 to 99%]

?SECTION ST MACRO
[#IF [#EMPTY %1%]
|THEN| STATUS *,TERM
|ELSE| STATUS %*%
]
?SECTION DelY    MACRO
[#IF [#FILEINFO/EXISTENCE/%1%] |THEN|
   FILEINFO %1%
   [#CASE [#INPUT Do you wish to delete this (y)?]
      |y Y| purge %1%
      |otherwise|
   ]
]
?SECTION FS ALIAS
FINDDATA
?SECTION CALC ALIAS
COMPUTE
?SECTION COMPARE macro
$dev2.jimobj.COMPARE %*%
?section PC MACRO
var PcName
[#if [#empty %1%]
|then| ECHO pathcom [PcName]
|else| #set PcName %*%
       ECHO pathcom %*%]

?section OBJ MACRO
ECHO $dev2.TESTOBJ

?section TL macro
LOAD/KEEP 1/$dev2.TESTSRC.ZMACROS
?section GT macro
edit $dev2.TESTSRC.ZMACROS;set tabs 10 20 30 40 50 60 70;%1 TO 9%
?section R    macro
var TST_OBJ
var Src
[#if [#empty %1%] |then| |else| SRC %1%]
ECHO RUN [TST_OBJ] %2 to 99%
?section RD   macro
var TST_OBJ
[#if [#empty %1%] |then| |else| SRC %1%]
RUND [TST_OBJ]
?section DEFINESX macro
[#if [#empty %*%] |then| echo INFO DEFINE =* |ELSE| echo INFO DEFINE %*%]
?section CD macro
[#if [#empty %1%] |then| |else| Var CdVol %1%]
volume [CdVol]
?section G macro
var EditLastSrc %*%
EDIT;SET TABS 10 20 30 40 50 60 70;SET JOIN 80;G [EditLastSrc]
?section GS macro
var SrcFile %*%
EDIT;SET TABS 10 20 30 40 50 60 70;SET JOIN 80;G [SrcFile]S
?section O macro
var ObeyVol %1%
[#if [#emptyv ObeyVol] |then|
     #output ([ObeyVol]) doesn't exist.
|else|
   [#if [#fileinfo/existence/[ObeyVol]] |then|
      #push Found
      edit /OUTV Found,PRI 139/[ObeyVol] R;LB/?SECTION/RB/ ROUTINE/RN/*/;E
      [#if [#linecount Found] > 2 |then|
         echo T [ObeyVol]
      |ELSE|
         echo OBEY [ObeyVol]
      ]
      #pop  Found
   |else|
      #output The default Obey File hasn't been set yet. Try: O obeyfile
   ]
]
[#if [#empty %2%] |then| |else| O %2 to 99%]
?section BYE       macro
========================
CSAVE
LOGOFF
?section CLOAD     macro
========================
#PUSH WS_VOLUME
#SET WS_VOLUME [#DEFAULTS]
VOLUME
O DEFAULTS
VOLUME [WS_VOLUME]
#POP WS_VOLUME
?section CSAVE     macro
========================
#push WS_VOLUME
#set  WS_VOLUME [#DEFAULTS]
VOLUME
#FRAME
#PUSH #INLINEPREFIX
#SET  #INLINEPREFIX --
edit/INLINE/DEFAULTS !
-- DQ ! F/L
-- na;100 /#set PCName      [PCName]/
-- na;100 /#set PCServer    [PCServer]/
-- na;100 /#set SrcFile     [SrcFile]/
-- na;100 /#set ObeyVol     [ObeyVol]/
-- na;100 /#set CdVol       [CdVol]/
-- na;100 /#set SrcFile     [SrcFile]/
-- na;100 /#set COut        [COut]/
-- na;100 /#set EditLastSrc [EditLastSrc]/
-- na;100 /#set CdVol       [CdVol]/
-- E
VOLUME [WS_VOLUME]
#UNFRAME
?section FILESPEC macro
[#if [#fileinfo /existence/ %1%] |then|
    #output /hold/ [#fileinfo/fullname/ %1%]
    #output /column 35,hold/
    [#case [#fileinfo /filestructure/ %1%]
         |0| #output /hold/ U:
         |1| #output /hold/ R:
         |2| #output /hold/ E:
         |3| #output /hold/ K:
         |otherwise| ]
    #output /column 37,hold/ [#fileinfo/eof/ %1%]
    #output /column 44,hold/&
        [_CONTIME_TO_TEXT [#CONTIME [#fileinfo/modification/%1%]]]
    #output /column 72,hold/ [#fileinfo/owner/ %1%]
|else|
    #output /hold/ File %1% does not exist ]
#output
?section SCUPINFO macro
#frame
#push OUTLIST
SCUP /OUTV OUTLIST/INFO %*%
#output [#LINEGET OUTLIST 1 FOR 1]
#output [#LINEGET OUTLIST 5 FOR 1]
#unframe
?section CCOMPARE macro
=======================
var SrcFile %1%
set_SrcFile [SrcFile]
compare [SrcFile]s, $tech1d.source.[SrcFile]s
[#if [#empty %2%] |then| |else| CCOMPARE %2 to 99%]
?section set_SrcFile macro
=========================
var SrcFile %1%
set_SysIni

?section COMPF    macro
=======================
var  PrintFile file
COMP_CheckSrc %1%
[#if [#empty %2%] |then| |else| COMPF %2 TO 99%]
?SECTION CL ALIAS
COMPP
?section COMPP    macro
=======================
var  PrintFile print
COMP_CheckSrc %1%
[#if [#empty %2%] |then| |else| COMPP %2 TO 99%]
?SECTION CNL ALIAS
COMP
?section COMP     macro
=======================
var  PrintFile none
COMP_CheckSrc %1%
[#if [#empty %2%] |then| |else| COMP  %2 TO 99%]
?section COMP_CheckSrc macro
=======================
[#IF [#FILEINFO/EXISTENCE/DEFINES] |THEN| O DEFINES]
set_SrcFile %1%
SET_SrcLanguage
[#case [PrintFile]
|file|
echo FUP PURGE $dev2.TESTLST.[SrcFile]!
#set PrintFile $dev2.TESTLST.[SrcFile]
|print|
echo SPOOLCOM $PPLS;JOB (LOC #[SrcLanguage].[SrcFile]),DELETE!
#set PrintFile $P.#[SrcLanguage].[SrcFile]
|otherwise| #set PrintFile
]
[#case [SrcLanguage]
   |SQL|       COMP_SQL
   |SCOBOL|    COMP_SCOBOL
   |C|         COMP_C
   |TAL|       COMP_TAL
   |otherwise| >>>> Can't Compile [SrcFile]
        ]

?section SET_SrcLanguage macro
var SrcFile
#push TMP_SRC TMP_OBJ
[#if [#fileinfo/existence/ [SrcFile]S] |then|
   #set TMP_SRC [SrcFile]S
   #set TMP_OBJ [SrcFile]O
|else|
   [#if [#fileinfo/existence/ [SrcFile]] |then|
      #set TMP_SRC [SrcFile]
      #set TMP_OBJ [SrcFile]
   ]
]
[#if  [#empty [TMP_SRC]]
|then|
   #output Cannot locate [SrcFile]
|else|
   CheckSource [TMP_SRC] [TMP_OBJ]
]
#pop TMP_SRC

?section CheckSource macro
==========================
var SrcLanguage SQL
#push Found
edit /OUTV Found,PRI 139/%1% R;LB/ SCREEN /RB/ SECTION/RN/*/;E
[#if [#linecount Found] > 2 |then| #SET SrcLanguage SCOBOL ]
#pop  Found
#push Found
edit /OUTV Found,PRI 139/%1% R;LB/ $SYSTEM.SYSTEM.EXTDECS/;E
[#if [#linecount Found] > 2 |then| #SET SrcLanguage TAL ]
#pop  Found
#push Found
edit /OUTV Found,PRI 139/%1% R;LB/#include/r/[#if [#linecount Found] > 2 |then| #SET SrcLanguage C ]
#pop  Found
#output ------ SOURCE IS [SrcLanguage]
#push Found
#set  Found %1%
[#case [#charget [#shiftstring Found] 1 for 1]
|N| SrcLanguage
|otherwise|
]
#pop  Found
?section COMP_SCOBOL macro
#OUTPUT ------------------------ SCOBOL ------------------------------
#PUSH MYS
#SET  MYS [#FILEINFO/VOLUME/[SrcFile]S].[#FILEINFO/SUBVOL/[SrcFile]S]
echo  VOLUME $dev1.COPYSRC
[#IF [#EMPTYV PrintFile] |THEN|
   echo SCOBOLX/IN [MYS].[SrcFile]S/[TST_POBJ];NOLIST
|ELSE|
   echo SCOBOLX/IN [MYS].[SrcFile]S,OUT [PrintFile]/[TST_POBJ]
]
[#IF (_COMPLETION:COMPLETIONCODE > 1) |THEN|
     #OUTPUT **** ERROR **** CHECK %1%
]
ECHO VOLUME [MYS]
#POP MYS
#OUTPUT --------------------------------------------------------------
?section COMP_TAL macro
=========================
#push MYS
#set  MYS [#FILEINFO/VOLUME/[SrcFile]S].[#FILEINFO/SUBVOL/[SrcFile]S]
echo  VOLUME $dev1.COPYSRC
#output ------------------------------------------------------------ TAL BEG
[#IF [#EMPTYV PrintFile] |THEN|
echo TAL/IN [MYS].[SrcFile]S/[TST_OBJ];RUNNABLE;NOLIST
|ELSE|
echo TAL/IN [MYS].[SrcFile]S/[TST_OBJ];RUNNABLE
   echo TAL/IN [MYS].[SrcFile]S,OUT [PrintFile]/[TST_POBJ]
]
[#IF (_COMPLETION:COMPLETIONCODE > 1) |THEN|
     #OUTPUT **** ERROR **** CHECK %1%
]
echo VOLUME [MYS]
#pop MYS
#output ------------------------------------------------------------ TAL END
?section COMP_C macro
=========================
#PUSH MYS
#push MYS
#set  MYS [#FILEINFO/VOLUME/[SrcFile]S].[#FILEINFO/SUBVOL/[SrcFile]S]
echo  VOLUME $dev1.COPYSRC
#output -------------------------------------------------------------- C BEG
[#IF [#EMPTYV PrintFile] |THEN|
echo C/IN [MYS].[SrcFile]S/[TST_OBJ];RUNNABLE,NOLIST
|ELSE|
echo C/IN [MYS].[SrcFile]S,OUT [PrintFile]/[TST_OBJ];RUNNABLE,NOLIST
]
[#IF (_COMPLETION:COMPLETIONCODE > 1) |THEN|
     #OUTPUT **** ERROR **** CHECK %1%
]
ECHO VOLUME [MYS]
#POP MYS
#output -------------------------------------------------------------- C END

?SECTION COMP_SQL MACRO
=======================
#PUSH MYS
#push MYS
#set  MYS [#FILEINFO/VOLUME/[SrcFile]S].[#FILEINFO/SUBVOL/[SrcFile]S]
echo  VOLUME $dev1.COPYSRC
echo PARAM SYMBOL-BLOCKS 8
[#IF [#fileinfo/existence/ [TST_REN]] |then|
     ECHO SQLCI;PURGE [TST_REN] !;EXIT]
[#IF [#fileinfo/existence/ [TST_OBJ]] |then|
   ECHO SQLCI;FUP RENAME [TST_OBJ],[TST_REN];EXIT]
#output ---------------------------------------------------------COBOL85 BEG
[#IF [#EMPTYV PrintFile] |THEN|
     echo COBOL85/IN [MYS].[SrcFile]S/[TST_OBJ];nolist;SUPPRESS;ENV COMMON
|else|
     echo cobol85/IN [MYS].[SrcFile]S,OUT [PrintFile]/[TST_OBJ];ENV COMMON
]
ECHO VOLUME [MYS]
[#IF (_COMPLETION:COMPLETIONCODE > 1) |THEN|
    #OUTPUT **** COBOL85 ERROR ****
|ELSE|
    #OUTPUT ---- COBOL85 SUCCESSFULL
    #output ---------------------------------------------------------COBOL85 END
    COMP_SQLCOMP %1%
]
?SECTION COMP_SQLCOMP MACRO
===========================
#PUSH LstVol

#output -------------------------------------------------------- SQLCOMP BEG
echo SQLCOMP/IN [TST_OBJ],OUTV LstVol/CATALOG $DEV3.MISCCATL
[#IF ([#LINEFIND LstVol 1 No SQL source ]>0) |THEN|
    #OUTPUT Sql Compiling is not needed for this program
|ELSE|
   [#IF (_COMPLETION:COMPLETIONCODE < 0) |THEN|
       #OUTPUT *** SQLCOMP WARNING *** CHECK $P.#COBOL.[SrcFile]
       #PUSH #OUT
       #SET #OUT $P.#SQLCOMP.[SrcFile]
       #OUTPUTV LstVol
       #POP #OUT
   |ELSE|
      [#IF (_COMPLETION:COMPLETIONCODE > 1) |THEN|
          #OUTPUT **** SQLCOMP ERROR **** CHECK $P.#SQLCOMP.[SrcFile]
          #PUSH #OUT
          #SET #OUT $P.#SQLCOMP.[SrcFile]
          #OUTPUTV LstVol
          #POP #OUT
      |ELSE|
          #output SQLCOMP successful: [_COMPLETION:COMPLETIONCODE]
          #PUSH #OUT
          #SET #OUT $P.#SQLCOMP.[SrcFile]
          #OUTPUTV LstVol
          #POP #OUT
]  ]  ]
#output -------------------------------------------------------- SQLCOMP END
#POP LstVol ?SECTION PRINT MACRO
FUP COPY %1%,$P
[#if [#empty %2%] |then| |else| PRINT %2 to 99%]
?SECTION SQCOST MACRO
SQLCOMP/IN $dev2.TESTOBJ.%1%,OUT $P.#SQCOST/ &
STOREDDEFINES EXPLAIN PLAN NORECOMPILE
?section LOG macro
[#if [#empty %1%] |then|
  EDIT $dev2.TEST.LOG2009;XVS L-20;E
|else|
  #frame
  #push #out
  #set  #width 230
  #push  wYY wMM wDD wHH wMI
  #setmany  wYY wMM wDD wHH wMI, [#contime [#timestamp]]
  [#IF [wYY]< 10 |THEN| #SET wYY 0[wYY]]
  [#IF [wMM]< 10 |THEN| #SET wMM 0[wMM]]
  [#IF [wDD]< 10 |THEN| #SET wDD 0[wDD]]
  [#IF [wHH]< 10 |THEN| #SET wHH 0[wHH]]
  [#IF [wMI]< 10 |THEN| #SET wMI 0[wMI]]
  #set  #out $dev2.TEST.LOG[wYY]
  #output [wMM]/[wDD]/[wYY] [wHH]:[wMI]-> %*%
  #set  #width 80
  #pop  #out
  #unframe
]
?section dir ALIAS
fileinfo
?section sv macro
fup subvols %1%
?SECTION CLS MACRO
#FRAME
 [#DEF ascii STRUCT
  BEGIN
  BYTE byt5(0:1)
   value 27 73;
  CHAR clr(0:1)
   redefines byt5;
  END;
 ]
#OUTPUT [ascii:clr(0:1)]
#UNFRAME
?section tt macro
var tfile %1%
t [tfile]
?section file macro
volume $dev2.testfile
Thu 
07/22/2010 07:05:39
 jim  zMenu
?tacl macro
[#DEF ascii STRUCT
BEGIN
BYTE byt0  VALUE 7;  CHAR bell   REDEFINES byt0;
BYTE byt1  VALUE 27; CHAR esc    REDEFINES byt1;
BYTE byt2a VALUE 36; CHAR dollar REDEFINES byt2a;
BYTE byt2  VALUE 37; CHAR perc   REDEFINES byt2;
BYTE byt3  VALUE 38; CHAR amp    REDEFINES byt3;
BYTE byt4  VALUE 64; CHAR at     REDEFINES byt4;
BYTE byt5 (0:1) VALUE 27 73;
CHAR clr (0:1) REDEFINES byt5; == escape sequence
END;
]
varq Norm   [ascii:esc]6[ascii:at]
varq Blink  [ascii:esc]6b
varq Invert [ascii:esc]6[ascii:dollar]
varq Dim    [ascii:esc]6[ascii:perc] ==var Line25 [ascii:esc]o[ascii:esc]6[ascii:amp]
#output [blink]************[norm][invert] MENU [norm][blink]***********[norm]
#output 1 - Load Macros
#output 2 - Files
#output 3 - $data5.AUTOTABS
#output 4 - Check BLK files using BKP number
#output 5 - Locate a Spoolcom Report
[#case [#input [dim]Enter a Selection:[norm]]
|1|
    o $dev2.jimmenu.zload
    menu
|2|
    Files
    menu
|3|
    dir $data5.autotabs.*
    menu
|4|
    dir $data*.blk*[#input Enter the BLK number:]*.*
    menu
|5|
    #push mypart
    #set mypart [#input Enter a portion of the reports name: ]
    purge Zjunk1,Zjunk2
    spoolcom/out Zjunk1/\PROD.$SPLS;job
    edit Zjunk1;DQBN/[mypart]/;c5:80//a;cqf/spoolcom \prod.$spls;job /a;e
    spoolcom/out Zjunk2/\PROD.$MPLS;job
    edit Zjunk2;DQBN/[mypart]/;c5:80//a;cqf/spoolcom \prod.$mpls;job /a;e
    EDIT ZJunk1;g Zjunk2 to l;lua;e
    o zjunk1
|otherwise|
    #output -- Sniff ! Sniff ! --- Bye
]
Fri 
03/19/2010 10:19:56
 jim  Tandem Manuals

<< 10/2009 < 03/2010 Calendar 11/2010 > 10/2011 >>Sign InView Other Logs