> Tech > Figure 1

Figure 1

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

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

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.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech