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