: FORMLIB Form Library Partition Selection Parametrs 10/15/1996-08/27/1999 : -------------------------------------------------------------------------- : Mirrors logic of FORMLIB CLIST with which it should always be in sync : Copyright (C) 1996-1999 by Vladimir Veytsel : : 1. Abbreviated partition spec (E.g.: PTFORMLIB) | Required DOS envi- : "?" - Display FORMLIB batch command text - | ronment variables: : list of preset library abbreviations | : (Equivalent: "/") | %SYSUID%= : | %NM% = : Interpretation of a 2-char lib name abbrev prefix: | %ST% = : | : Group abbreviation: Lib abbr: PC directory: +-------------------- : : P &SYSUID..PGMR D DOCUM %zz%\DOCUM - Personal develop libs: : U &SYSUID..USER T CLIST %zz%\CLIST : X REXX %zz%\REXX PGMR - Programmr tools : N PANEL %zz%\PANEL USER - Client projects : M MESSAGE %zz%\MESSAGE : S SKELETN %zz%\SKELETN : J JOB %zz%\JOB PC top level directory : R PROC %zz%\PROC depends on libr group: : C CONTROL %zz%\CONTROL : A ASMB %zz%\ASMB %zz%=%NM% 4 PGMR group : P PLI %zz%\PLI ^^ ^^^^ : O COBOL %zz%\COBOL %zz%=%ST% 4 USER group : G DEBUG %zz%\DEBUG ^^ ^^^^ : : Q &SYSUID..QMF R PROC %zz%\QPROC - QMF/SPUFI devl libs : F FORM %zz%\FORM : Q QUERY %zz%\QUERY : E REPORT %zz%\REPORT : : Client production libraries (prefix is an undivisible 2-letter code) : : D DCMDLPLX.PROD J JCL %ST%\JOB - Job streams : D NABG.NY R PROCLIB %ST%\PROC - Cataloged procs : D NABG.NY C CTLCARD %ST%\CONTROL - Control operators : D CCMNYPLX.PROD O SOURCE %ST%\COBOL - COBOL source : D NABG.ACC Y COPYLIB %ST%\COPY - COBOL copybooks : : Two DOS environment variables MFL and PCF are set by FORMLIB command: : : Abbreviation MFL - MF Library partition PCF - PC File : ------------ ---------------------------- ------------------ : PJCRETLIB %SYSUID%.PGMR.JOB(CRETLIB) %NM%\CRETLIB : UODATEOUT %SYSUID%.USER.COBOL(DATEOUT) %ST%\COBOL\DATEOUT : FORMLIB %SYSUID%.PGMR.CLIST(FORMLIB) %NM%\CLIST\FORMLIB : : Note: If library specification is invalid, : then both MFL amd PCF are set to empty : @ECHO %TR% IF %1.==/. .OR. %1.==?. (LIST %_BATCHNAME ^ QUIT) :Set Initial Value for Partition Selection Parameter ------------------------ SET PART=%@UPPER[%1] SET Inv= :Get Gr, L, P and GL Abbreviated Values and Clear Output Variables ---------- IFF %@LEN[%1] LT 3 THEN @ECHO: @ECHO %S%%R%Abbreviated specification %M%%@SUBSTR[%@UPPER[%1],0,2] %R%is shorter than a minimum of %M%3 %R%characters%D% SET MFL= SET PCF= QUIT ENDIFF SET Gr=%@UPPER[%@SUBSTR[%1,0,1]] SET L=%@UPPER[%@SUBSTR[%1,1,1]] SET GL=%Gr%%L% SET P=%@UPPER[%@SUBSTR[%1,2]] SET LIB= SET PCD= :Form IDENT Parameter for Abbreviated Specification ------------------------ SWITCH %Gr% CASE U .OR. P .OR. Q SET IDENT=%SYSUID% ^: Personal development libraries CASE D ^: Client proDuction libraries DEFAULT SET Inv=G ENDSWITCH :Form GROUP and LIB Parameters for Client/Program Devl Libraries ----------- IFF %@INDEX['UP',%Gr%] GE 0 THEN IFF %Gr%.==P. THEN SET GROUP=PGMR ^: Standard programmer group ELSE SET GROUP=USER ^: Standard client group ENDIFF SWITCH %L% CASE D SET LIB=DOCUM ^: Standard libraries CASE T SET LIB=CLIST CASE X SET LIB=REXX CASE N SET LIB=PANEL CASE M SET LIB=MESSAGE CASE S SET LIB=SKELETN CASE J SET LIB=JOB CASE R SET LIB=PROC CASE C SET LIB=CONTROL CASE A SET LIB=ASMB CASE P SET LIB=PLI CASE O SET LIB=COBOL CASE G SET LIB=DEBUG ENDSWITCH ENDIFF :Form GROUP and LIB Parameters for QMF/SPUFI Devl Libraries ---------------- IFF %Gr%.==Q. THEN SET GROUP=QMF ^: QMF/SPUFI group SWITCH %L% CASE R SET LIB=PROC ^: QMF/SPUFI libraries CASE F SET LIB=FORM CASE Q SET LIB=QUERY CASE E SET LIB=REPORT ENDSWITCH ENDIFF :Form GROUP and LIB Parameter for Client Production Libraries -------------- IFF %Gr%.==D. THEN SWITCH %L% CASE J SET IDENT=DCMDLPLX SET GROUP=PROD SET LIB=JCL ^: Job streams SET PCD=JOB CASE R SET IDENT=NABG SET GROUP=NY SET LIB=PROCLIB ^: Cataloged procs SET PCD=PROC CASE C SET IDENT=NABG SET GROUP=NY SET LIB=CTLCARD ^: Control operators SET PCD=CONTROL CASE O SET IDENT=CCMNYPLX SET GROUP=PROD SET LIB=SOURCE ^: COBOL source SET PCD=COBOL CASE Y SET IDENT=NABG SET GROUP=ACC SET LIB=COPYLIB ^: COBOL copybooks SET PCD=COPY ENDSWITCH ENDIFF IF %LIB%.==. SET Inv=L%Inv% :Process Default CLIST Library --------------------------------------------- IFF NOT %Inv%.==. .AND. %@LEN[%PART%] LT 9 THEN IFF EXIST %NM%\CLIST\%PART% THEN SET IDENT=%SYSUID% SET GROUP=PGMR SET LIB=CLIST SET Inv= GOTO Finish ENDIFF ENDIFF :Process Invalid GL Specification ------------------------------------------ IFF %@INDEX[%Inv%,G] GE 0 THEN @ECHO: @ECHO %S%%R%Abbreviation %M%%GL% %R%contains invalid %M%group %R%specification %M%%Gr%%D% GOTO Display ENDIFF IFF %@INDEX[%Inv%,L] GE 0 THEN @ECHO: @ECHO %S%%R%Abbreviation %M%%GL% %R%contains invalid %M%library %R%specification %M%%L%%D% GOTO Display ENDIFF :Form PART Parameter for Abbreviated Specification ------------------------- SET PART=%P% GOTO Finish :Display Libray Abbreviations ---------------------------------------------- SET FLb= INKEY /K"[Enter] [Esc]" %W%Hit %C%[Enter] %W%to %Y%display %W%valid library abbreviations or %C%[Esc] %W%to %Y%quit%D% %%FLb IF "%FLb%" NE "@28" (SET FLb= ^ GOTO Finish) SET FLb= LIST %DOS%:\BATCH\FORMLIB.BTM QUIT :Finish Command ------------------------------------------------------------ SET MFL=%IDENT%.%GROUP%.%LIB%(%PART%) IF %GROUP%.==PGMR. SET zz=%NM% IF %GROUP%.==USER. SET zz=%ST% IF %GROUP%.==QMF. SET zz=%NM% IF %GROUP%.==QMF. .AND. %LIB%.==PROC. SET LIB=QPROC IF %Gr%.==D. SET zz=%ST% ^: ---- ^---- IF NOT %PCD%.==. SET LIB=%PCD% SET PCF=%DOS%:\%zz%\%LIB%\%PART% SET Gr= SET L= SET P= SET GL= SET IDENT= SET GROUP= SET LIB= SET PCD= SET zz= IFF NOT %Inv%.==. THEN SET MFL= SET PCF= SET Inv= ENDIFF