.PROC,EXPTEXT*I,
T "- Text record to expand"            = (*F),
L "- Library file name"                = (*N=#FILE,*F),
UN "- User Name of library file"       = (*N=,*F),
G "- Group file for expanded TEXT"     = (*N=,*F),
.
.HELP
 The EXPTEXT procedure EXPands TEXT records from a library to a local
 file, and deletes the record identifier. Requires the EXTRACT binaries.

 Parameter   Default   Description
   Name       Value

   t                   name of TEXT record to expand
  [l]                  library file containing the TEXT record
  [un]                 user name in which library resides
  [g]                  local file for extracted TEXT

.HELP,T
 The T parameter selects the name of the library TEXT record.
.HELP,L
 The L parameter names the file containing the TEXT record.
 The default value is the file containing this procedure.
.HELP,UN
 The UN parameter specifies the User Name location of the file.
 The default value is the User Name in which this procedure executes.
.HELP,G
 The G parameter names the file to which expanded TEXT is written.
 The default is the value specified for the T parameter.
.ENDHELP
.IFE,$G$.EQ.$$,NOLFN.
  REVERT,EX.EXPTEXT,T,L,UN,T.
.ENDIF,NOLFN.
IFE,FILE(G,AS),GOTG.
  .IFE,SYS=NOS,NOSSYS1.
    GTR(G,YYYYEXP,D,,,NA)TEXT/T
    IFE,FILE(YYYYEXP,AS),STRIPNAME.
      UNLOAD,G.
      EXTRACT,G=T/#L=YYYYEXP,#T=TXT,A.
      UNLOAD,YYYYEXP.
      REWIND,G.
    ENDIF,STRIPNAME.
  .ENDIF,NOSSYS1.
  REVERT. LOCAL FILE G FOUND
ELSE,GOTG.
  GETFILE,G,G,UN,READ.
  IFE,FILE(G,AS),GOTGPF.
    NOTE,OUTPUT,NR.+ PERMANENT FILE G FOUND, #UN=UN.
    .IFE,SYS=NOS,NOSSYS2.
      GTR(G,YYYYEXP,D,,,NA)TEXT/T
      IFE,FILE(YYYYEXP,AS),STRIPNAME.
        UNLOAD,G.
        EXTRACT,G=T/#L=YYYYEXP,#T=TXT,A.
        UNLOAD,YYYYEXP.
        REWIND,G.
      ENDIF,STRIPNAME.
    .ENDIF,NOSSYS2.
    REVERT. PERMANENT FILE G FOUND
  ENDIF,GOTGPF.
ENDIF,GOTG.
.IFE,FILE(L,.NOT.AS),NOTLOCAL.
  GETFILE,L,L,UN,READ,A=YES.
.ENDIF,NOTLOCAL.
GTR(L,YYYYEXP,D)TEXT/T
EXTRACT,G=T/#L=YYYYEXP,#T=TXT,A.
UNLOAD,YYYYEXP.
REWIND,G.
.IFE,FILE(L,.NOT.AS),FILEPRM.
  UNLOAD,L.
.ENDIF,FILEPRM.
SKIP,NOERROR.
  EXIT.
  .IFE,SYS=NOS,NOSSYS.
  $IFE,(EF.EQ.TIE).OR.(EF.EQ.TAE),TERMINATED.
    $EXIT. EXPTEXT *TERMINATED*
  $ENDIF,TERMINATED.
  .ENDIF,NOSSYS.
  REVERT,ABORT. TEXT T NOT FOUND
ENDIF,NOERROR.
REVERT. TEXT T FROM L --> G
/EOR
