Typical DCL Command Procedure to run the program :
$ DELETE SI$FOCUS:*.FTM;*/LOG $ DELETE SI$FOCUS:*.MAS;*/LOG $ COPY SI$FOCUS:SISDBD.MFD; SI$FOCUS:SISDBD.MAS; /LOG $ SET DEFAULT SI$FOCUS $ DEFINE FOC$DIR1 SI$DATA $ FOCUS EX (FOCEXEC name) ELE=(DBD Data Element) FIN $ COPY SI$FOCUS:PLAY.FTM; SI$FOCUS:(Name of resulting DECODE file).DOC;/LOG $! $ EXIT
FOCUS program :
-* THIS FOCEXEC WILL GENERATE A DECODE FILE OF MAJORS & CERTIFICATES
-* ALONG WITH THEIR "TRANSLATED" VALUE. THE FILE THAT IS LOOKED AT
-* IS AN EXTRACT OF THE SIS PRODUCTION DBD.
-* VARIABLES USED :
-* ELE : THE DATA ELEMENT VALUES TO LOOK AT.
-*
SET PAGE=NOPAGE
SET LINES=999999
JOIN CLEAR *
FILEDEF SISDBD DISK SI$DATA:SISDBD.DAT
DEFINE FILE SISDBD
EXT_FIELD1/A34=GETTOK(DATA_ELEMENT_TRANS,34,1,'''',34,EXT_FIELD1);
EXT_FIELD2/A32=GETTOK(DATA_ELEMENT_TRANS,32,2,'''',32,EXT_FIELD2);
OUTLINE/A78=IF EXT_FIELD2 EQ ' ' THEN
(DATA_ELEMENT_VALUE|' '''|EXT_FIELD1||''' ') ELSE
(DATA_ELEMENT_VALUE|' '''|EXT_FIELD1||''''' '||EXT_FIELD2||''' ');
FULL_ELE/A7=('DV'|'&ELE');
END
TABLE FILE SISDBD
PRINT OUTLINE
ON TABLE SAVE AS PLAY
WHERE DATA_ELEMENT_NAME EQ FULL_ELE;
IF VALUE_INDICATOR EQ ' '
END
Master File Description (MFD) for SISDBD :
FILE=SISDBD,SUFFIX=FIX SEGNAME=ROOT FIELD=DATA_ELEMENT_NAME, ,A07,A07,$ FIELD=VALUE_INDICATOR, ,A01,A01,$ FIELD=DATA_ELEMENT_VALUE, ,A04,A04,$ FIELD=COMPU_FILL01, ,A15,A15,$ FIELD=DATA_ELEMENT_TRANS, ,A34,A34,$ FIELD=DATA_ELEMENT_TRANS2, ,A19,A19,$
This page hosted by
Get your own Free Homepage