
|
*===================================================================== * Source IO Procedures * * Copyright (C) Julian Monypenny 1997 *===================================================================== H NoMain   *--------------------------------------------------------------------- * Files *--------------------------------------------------------------------- FSrcFilIn IF F 112 Disk UsrOpn FSrcFilOut O A F 112 Disk UsrOpn FSrcFilUpd UF A F 112 Disk UsrOpn   *--------------------------------------------------------------------- * Global definitions *--------------------------------------------------------------------- /Copy ToolkitCpy,SrcH /Copy ToolkitCpy,SrcIOH /Copy ToolkitCpy,StdTypH   *--------------------------------------------------------------------- * Source member definitions *--------------------------------------------------------------------- D SrcFilDs Ds Inz D SrcFilSeq Like( SrcSeqTyp ) D SrcFilDat Like( SrcDatTyp ) D SrcFilDta Like( SrcDtaTyp )   *--------------------------------------------------------------------- * Source output *--------------------------------------------------------------------- OSrcFilOut EAdd PutOutFil O SrcFilDs   OSrcFilUpd EAdd PutUpdFil O SrcFilDs   OSrcFilUpd E SetUpdFil O SrcFilDs   OSrcFilUpd EDel DelUpdFil   *===================================================================== |
P OpenInSrc B Export *===================================================================== D Pi Like( LglTyp ) D FilNam Like( NamTyp ) Value D FilLib Like( NamTyp ) Value * Name, *CURLIB, or *LIBL D MbrNam Like( NamTyp ) Value D FilOpts_O Like( StrTyp ) Value D Options( *NoPass )   D FilOpts S Like( StrTyp )   C If %Parms > 3 C Eval FilOpts = FilOpts_O C EndIf   C If LinkSrc( 'SrcFilIn': FilNam: FilLib: C MbrNam: FilOpts ) = *Off C Return *Off C EndIf   C Open SrcFilIn 99   C Return Not *In99   P E   *===================================================================== P GetInSrc B Export *===================================================================== D Pi Like( LglTyp ) D SrcSeq Like( SrcSeqTyp ) D SrcDat Like( SrcDatTyp ) D SrcDta Like( SrcDtaTyp )   C Read SrcFilIn SrcFilDs 9899   C If *In98 = *Off And C *In99 = *Off C Eval SrcSeq = SrcFilSeq C Eval SrcDat = SrcFilDat C Eval SrcDta = SrcFilDta C Return *On C Else |
C Eval SrcSeq = 0 C Eval SrcDat = 0 C Eval SrcDta = *Blank C Return *Off C EndIf   P E   *===================================================================== P CloseInSrc B Export *===================================================================== D Pi Like( LglTyp )   C Close SrcFilIn 99   C Return UnlinkSrc( 'SrcFilIn' )   P E   *===================================================================== P OpenOutSrc B Export *===================================================================== D Pi Like( LglTyp ) D FilNam Like( NamTyp ) Value D FilLib Like( NamTyp ) Value * Name, *CURLIB, or *LIBL D MbrNam Like( NamTyp ) Value D FilOpts_O Like( StrTyp ) Value D Options( *NoPass )   D FilOpts S Like( StrTyp )   C If %Parms > 3 C Eval FilOpts = FilOpts_O C EndIf   C If LinkSrc( 'SrcFilOut': FilNam: FilLib: C MbrNam: FilOpts ) = *Off C Return *Off C EndIf   C Open SrcFilOut 99   C Return Not *In99 |
  P E   *===================================================================== P PutOutSrc B Export *===================================================================== D Pi Like( LglTyp ) D SrcSeq Like( SrcSeqTyp ) D SrcDat Like( SrcDatTyp ) D SrcDta Like( SrcDtaTyp )   C Eval SrcFilSeq = SrcSeq C Eval SrcFilDat = SrcDat C Eval SrcFilDta = SrcDta C Except PutOutFil   C Return *On   P E   *===================================================================== P CloseOutSrc B Export *===================================================================== D Pi Like( LglTyp )   C Close SrcFilOut 99   C Return UnlinkSrc( 'SrcFilOut' )   P E   *===================================================================== P OpenUpdSrc B Export *===================================================================== D Pi Like( LglTyp ) D FilNam Like( NamTyp ) Value D FilLib Like( NamTyp ) Value * Name, *CURLIB, or *LIBL D MbrNam Like( NamTyp ) Value D FilOpts_O Like( StrTyp ) Value D Options( *NoPass )   D FilOpts S Like( StrTyp )   |
C If %Parms > 3 C Eval FilOpts = FilOpts_O C EndIf   C If LinkSrc( 'SrcFilUpd': FilNam: FilLib: C MbrNam: FilOpts ) = *Off C Return *Off C EndIf   C Open SrcFilUpd 99   C Return Not *In99   P E   *===================================================================== P GetUpdSrc B Export *===================================================================== D Pi Like( LglTyp ) D SrcSeq Like( SrcSeqTyp ) D SrcDat Like( SrcDatTyp ) D SrcDta Like( SrcDtaTyp )   C Read SrcFilUpd SrcFilDs 9899   C If *In98 = *Off And C *In99 = *Off C Eval SrcSeq = SrcFilSeq C Eval SrcDat = SrcFilDat C Eval SrcDta = SrcFilDta C Return *On C Else C Eval SrcSeq = 0 C Eval SrcDat = 0 C Eval SrcDta = *Blank C Return *Off C EndIf   P E   *===================================================================== P DeleteUpdSrc B Export *===================================================================== D Pi Like( LglTyp ) |
  C Except DelUpdFil   C Return *On   P E   *===================================================================== P PutUpdSrc B Export *===================================================================== D Pi Like( LglTyp ) D SrcSeq Like( SrcSeqTyp ) D SrcDat Like( SrcDatTyp ) D SrcDta Like( SrcDtaTyp )   C Eval SrcFilSeq = SrcSeq C Eval SrcFilDat = SrcDat C Eval SrcFilDta = SrcDta C Except PutUpdFil   C Return *On   P E   *===================================================================== P SetUpdSrc B Export *===================================================================== D Pi Like( LglTyp ) D SrcSeq Like( SrcSeqTyp ) D SrcDat Like( SrcDatTyp ) D SrcDta Like( SrcDtaTyp )   C Eval SrcFilSeq = SrcSeq C Eval SrcFilDat = SrcDat C Eval SrcFilDta = SrcDta C Except SetUpdFil   C Return *On   P E   *===================================================================== P CloseUpdSrc B Export *===================================================================== |
D Pi Like( LglTyp )   C Close SrcFilUpd 99   C Return UnlinkSrc( 'SrcFilUpd' )   P E |