Programme de service DspFInfo
* ===================================================================
* = Service program... DspFInfo =
* = Description....... Retrieve display file information routines =
* ===================================================================
H NoMain
* ===================================================================
* = Prototypes =
* ===================================================================
* -------------------------------------------------------------------
* - ### A ### RtvSflSize - Retrieve subfile size -
* -------------------------------------------------------------------
D RtvSflSize
PR 5I à˜
D 1à˜ Value
D 1à˜ Value
D 1à˜ ValueD 272
D 4 Value
D Options( *NoPass )
* ——————————————————————-
* – ### B ### RtvSflPage – Retrieve subfile page –
* ——————————————————————-
D RtvSflPage PR 5I à˜
D 1à˜ Value
D 1à˜ Value
D 1à˜ Value
D 272
D 4 Value
D Options( *NoPass )
* ——————————————————————-
* – ### C ### RtvSflAttr – Retrieve subfile attribute –
* ——————————————————————-
D RtvSflAttr PR 5I à˜
D 1à˜ Value
D 1à˜ Value
D 1à˜ Value
D 1 Value
D 5 Value
D 272
* ——————————————————————-
* – RtvDspFDesc – Retrieve display file description (QDFRTVFD API) –
* ——————————————————————-
D RtvDspFDesc PR ExtPgm( ‘QDFRTVFD’ )
D 8
D 1à˜I à˜ Const
D 8 Const
D 2à˜ Const
D 272
* ===================================================================
* = Procedure RtvSflSize =
* ===================================================================
P RtvSflSize B Export
* ——————————————————————-
* – Parameters –
* ——————————————————————-
D RtvSflSize PI 5I à˜
D DspFName 1à˜ Value
D DspFLib 1à˜ Value
D RcdFmt 1à˜ Value
D APIError 272
D DspMode 4 Value
D Options( *NoPass )
* ——————————————————————-
* – Return value –
* ——————————————————————-
D SubfileSize S 5I à˜ Inz( *Zero )
* ——————————————————————-
* – Work fields –
* ——————————————————————-
D DspModeDS3 C X’à˜3′
D DspModeDS4 C X’à˜4′
D ModeToRtv S 1
D NoAPIError C Const( *Zero )
D APIErrorDS DS
D 1à˜I à˜ Inz( %Size( APIErrorDS ) )
D BytesAvail 1à˜I à˜ Inz( *Zero )
D 7 Inz( *Blanks )
D 1 Inz( X’à˜à˜’ )
D 256 Inz( *Blanks )
* ——————————————————————-
* – Set selected display mode –
* ——————————————————————-
C If %Parms > 3 And
C DspMode = ‘*DS4′
C Eval ModeToRtv = DspModeDS4
C Else
C Eval ModeToRtv = DspModeDS3
C EndIf
* ——————————————————————-
* – Retrieve display file size –
* ——————————————————————-
C Reset APIErrorDS
C Eval SubFileSize = RtvSflAttr(
C DspFName :
C DspFLib :
C RcdFmt :
C ModeToRtv :
C ‘*SIZE’ :
C APIErrorDS
C )
C If BytesAvail <> NoAPIError
C Eval SubfileSize = *Zero
C EndIf
C Eval APIError = APIErrorDS
C Return SubfileSize
P RtvSflSize E
* ===================================================================
* = Procedure RtvSflPage =
* ===================================================================
P RtvSflPage B Export
* ——————————————————————-
* – Parameters –
* ——————————————————————-
D RtvSflPage PI 5I à˜
D DspFName 1à˜ Value
D DspFLib 1à˜ Value
D RcdFmt 1à˜ Value
D APIError 272
D DspMode 4 Value
D Options( *NoPass )
* ——————————————————————-
* – Return value –
* ——————————————————————-
D SubfilePage S 5I à˜ Inz( *Zero )
* ——————————————————————-
* – Work fields –
* ——————————————————————-
D DspModeDS3 C X’à˜3′
D DspModeDS4 C X’à˜4′
D ModeToRtv S 1
D NoAPIError C Const( *Zero )
D APIErrorDS DS
D 1à˜I à˜ Inz( %Size( APIErrorDS ) )
D BytesAvail 1à˜I à˜ Inz( *Zero )
D 7 Inz( *Blanks )
D 1 Inz( X’à˜à˜’ )
D 256 Inz( *Blanks )
* ——————————————————————-
* – Set selected display mode –
* ——————————————————————-
C If %Parms > 3 And
C DspMode = ‘*DS4’
C Eval ModeToRtv = DspModeDS4
C Else
C Eval ModeToRtv = DspModeDS3
C EndIf
* ——————————————————————-
* – Retrieve display file page –
* ——————————————————————-
C Reset APIErrorDS
C Eval SubFilePage = RtvSflAttr(
C DspFName :
C DspFLib :
C RcdFmt :
C ModeToRtv :
C ‘*PAGE’ :
C APIErrorDS
C )
C If BytesAvail <> NoAPIError
C Eval SubfilePage = *Zero
C EndIf
C Eval APIError = APIErrorDS
C Return SubfilePage
P RtvSflPage E
* ===================================================================
* = Procedure RtvSflAttr =
* ===================================================================
P RtvSflAttr B
* ——————————————————————-
* – Parameters –
* ——————————————————————-
D RtvSflAttr PI 5I à˜
D DspFName 1à˜ Value
D DspFLib 1à˜ Value
D RcdFmt 1à˜ Value
D ModeToRtv 1 Value
D AttrToRtv 5 Value
D APIError 272
* ——————————————————————-
* – Return value –
* ——————————————————————-
D SflAttrValue S 5I à˜ Inz( *Zero )
* ——————————————————————-
* – ### D ### Base File Section –
* ——————————————————————-
D QDFFBASE DS Based( QDFFBASEPtr )
D OffsetToQDFFINFO…
D 5I à˜ Overlay( QDFFBASE : 9 )
D NbrRcdFmts 5I à˜ Overlay( QDFFBASE : 11 )
D NbrScnSizes 5I à˜ Overlay( QDFFBASE : 14 )
D ScnSizeTbl 5 Overlay( QDFFBASE : 2à˜ )
D Dim( 2 )
D ScnID 1 Overlay( ScnSizeTbl : 1 )
* ——————————————————————-
* – ### E ### File Header Section –
* ——————————————————————-
D QDFFINFO DS Based( QDFFINFOPtr )
D QDFFINFOLen 1à˜I à˜ Overlay( QDFFINFO : 1 )
* ——————————————————————-
* – ### F ### Record Format Table –
* ——————————————————————-
D QDFARFTE DS Based ( QDFARFTEPtr )
D RcdFmtEntry 1à˜ Overlay( QDFARFTE : 1 )
D OffsetToQDFFRINF…
D 1à˜I à˜ Overlay( QDFARFTE : 13 )
* ——————————————————————-
* – ### G ### Record Header Section –
* ——————————————————————-
D QDFFRINF DS Based( QDFFRINFPtr )
D Flags 1 Overlay( QDFFRINF : 13 )
D OffsetToQDFFSFCR…
D 5I à˜ Overlay( QDFFRINF : 29 )
* ——————————————————————-
* – ### H ### Subfile Control Record –
* ——————————————————————-
D QDFFSFCR DS Based ( QDFFSFCRPtr )
D QDFFSFHR 24 Overlay( QDFFSFCR : 55 )
D Dim( 2 )
D SflSize 5I à˜ Overlay( QDFFSFHR : 1 )
D SflPage 5I à˜ Overlay( QDFFSFHR : 3 )
Téléchargez cette ressource
Construire une infrastructure cloud optimisée pour l’IA avec Microsoft Azure
Les managers IT ont besoin d’une stratégie claire et de solutions concrètes pour préparer leur infrastructure cloud à l'adoption de l'IA, tout en optimisant les coûts, renforçant la sécurité et développant les compétences internes. Découvrez tous les conseils dans ce guide Insight.