fonctions sur les membres sources

BoTTom |
      *=====================================================================
      * Source Procedures
      *
      * Copyright (C) Julian Monypenny 1997
      *=====================================================================
     H NoMain
 
      *---------------------------------------------------------------------
      * Global definitions
      *---------------------------------------------------------------------
      /Copy ToolkitCpy,CmdH
      /Copy ToolkitCpy,FilH
      /Copy ToolkitCpy,MbrH
      /Copy ToolkitCpy,ObjH
      /Copy ToolkitCpy,SrcH
      /Copy ToolkitCpy,StdTypH
 
      *=====================================================================
     P CreateSrc       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  MbrTxt_O                           Like( TxtTyp )  Value
     D                                     Options( *NoPass )
     D  MbrTyp_O                           Like( NamTyp )  Value
     D                                     Options( *NoPass )
 
     D MbrTxt          S                   Like( TxtTyp )
     D MbrTyp          S                   Like( NamTyp )
 
     C                   If        %Parms   > 3
     C                   Eval      MbrTxt   = MbrTxt_O
     C                   EndIf
 
     C                   If        %Parms   > 4
     C                   Eval      MbrTyp   = MbrTyp_O
     C                   EndIf
 
     C                   If        SrcExists( FilNam: FilLib: MbrNam )
     C                                      = *On  And
     C                             ExecCmd( 'ClrPfm ' + %Trim( FilLib ) +


|
     C                                      '/'       + %Trim( FilNam ) +
     C                                      ' '       + %Trim( MbrNam ) )
     C                                      = *On
     C                   Return    *On
     C                   EndIf
 
     C                   If        SrcExists( FilNam: FilLib )
     C                                      = *On  And
     C                             ExecCmd( 'AddPfm ' + %Trim( FilLib ) +
     C                                      '/'       + %Trim( FilNam ) +
     C                                      ' '       + %Trim( MbrNam ) +
     C                                      ' '                         +
     C                                      'Text(''' + %Trim( MbrTxt ) +
     C                                      ''') '                      +
     C                                      'SrcType(' + %Trim( MbrTyp ) +
     C                                      ')' )
     C                                      = *On
     C                   Return    *On
     C                   EndIf
 
     C                   If        FilLib   = '*LIBL'
     C                   Eval      FilLib   = '*CURLIB'
     C                   EndIf
 
     C                   If        ExecCmd( 'CrtSrcPF ' + %Trim( FilLib ) +
     C                                      '/'         + %Trim( FilNam ) )
     C                                      = *On  And
     C                             ExecCmd( 'AddPfm ' + %Trim( FilLib ) +
     C                                      '/'       + %Trim( FilNam ) +
     C                                      ' '       + %Trim( MbrNam ) +
     C                                      ' '                         +
     C                                      'Text(''' + %Trim( MbrTxt ) +
     C                                      ''') '                      +
     C                                      'SrcType(' + %Trim( MbrTyp ) +
     C                                      ')' )
     C                                      = *On
     C                   Return    *On
     C                   EndIf
 
     C                   Return    *Off
 
     P                 E
 
      *=====================================================================


|
     P DeleteSrc       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                                     Options( *NoPass )
 
     C                   If        %Parms   = 2    And
     C                             SrcExists( FilNam: FilLib )
     C                                      = *On  And
     C                             ExecCmd( 'DltF '   + %Trim( FilLib ) +
     C                                      '/'       + %Trim( FilNam ) )
     C                                      = *On
     C                   Return    *On
     C                   EndIf
 
     C                   If        %Parms   = 3    And
     C                             SrcExists( FilNam: FilLib: MbrNam )
     C                                      = *On  And
     C                             ExecCmd( 'RmvM '   + %Trim( FilLib ) +
     C                                      '/'       + %Trim( FilNam ) +
     C                                      ' '       + %Trim( MbrNam ) )
     C                                      = *On
     C                   Return    *On
     C                   EndIf
 
     C                   Return    *Off
 
     P                 E
 
      *=====================================================================
     P SrcExists       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                                     Options( *NoPass )
 
     C                   If        %Parms   = 3
     C                   Return    MbrExists( FilNam: FilLib: MbrNam )


|
     C                   Else
     C                   Return    ObjExists( FilNam: FilLib: '*FILE' )
     C                   EndIf
 
     P                 E
 
      *=====================================================================
     P GetSrcRcdLen    B                   Export
      *=====================================================================
     D                 Pi                  Like( LglTyp )
     D  FilNam                             Like( NamTyp )  Value
     D  FilLib                             Like( NamTyp )  Value
      *   Name, *CURLIB, or *LIBL
     D  RcdLen                             Like( IntTyp )
 
     C                   Return    GetFilRcdLen( FilNam: FilLib: RcdLen )
 
     P                 E
 
      *=====================================================================
     P LinkSrc         B                   Export
      *=====================================================================
     D                 Pi                  Like( LglTyp )
     D  FilNam                             Like( NamTyp )  Value
     D  ToFil                              Like( NamTyp )  Value
     D  ToLib                              Like( NamTyp )  Value
      *   Name, *CURLIB, or *LIBL
     D  ToMbr                              Like( NamTyp )  Value
     D  SrcOpts                            Like( StrTyp )  Value
     D                                     Options( *NoPass )
 
     C                   If        %Parms   = 5
     C                   Return    LinkFil( FilNam: ToFil: ToLib: ToMbr:
     C                                      SrcOpts )
     C                   Else
     C                   Return    LinkFil( FilNam: ToFil: ToLib: ToMbr )
     C                   EndIf
 
     P                 E
 
      *=====================================================================
     P UnlinkSrc       B                   Export
      *=====================================================================
     D                 Pi                  Like( LglTyp )


|
     D  FilNam                             Like( NamTyp )  Value
 
     C                   Return    UnlinkFil( FilNam )
 
     P                 E




©AF400