fonctions E/S sur les membres sources

BoTTom |
      *=====================================================================
      * 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




©AF400