Accueil du site > Les articles > Capture d’écran AS/400 sous Adélia.
Version à imprimer Enregistrer au format PDF

Capture d’écran AS/400 sous Adélia.

mercredi 1er septembre 2004, par Serge Gomes Visites  4570 Première mise en ligne le vendredi 10 octobre 2003.

Cet article est issu de la traduction et de l’adaptation d’un utilitaire disponible sur le site Midrange.com (page prt24x80Screen.htm).


Il existe aussi une version RPGLE voir la version RPGLE

Description

La capture d’écran se fait en 3 parties :

  1. Capture du buffer écran dans une variable
  2. Ecriture du buffer écran dans le fichier BASBUF
  3. Impression du buffer écran dans VOTRE spool
JPEG - 52.1 ko
capture écran 1
capture écran image 1
JPEG - 56.5 ko
capture écran 2
capture écran image 2

1) Capture du buffer écran

Ce processus permet de stocker dans une variable le buffer écran La macro &CAPTURE_ECRAN permet d’appeler RTVSCR

Les Paramètres :

DésignationCommentairesLngType
1 Type écran 1=>24*80 2=>27*132 1 Alpha
2 Ligne début si = *BLANK tout l’écran 2 Alpha
3 Ligne fin (0 si tout l’écran) si = *BLANK tout l’écran 2 Alpha
4 Buffer écran Retourne le buffer de l’écran 3565 Alpha

Exemple d’appel :

W_BUFFER = *BLANK
W_TYPE_ECRAN = '1'
* Ecran 80 colonnes
* Capture l'écran en cours (dans W_BUFFER) de la ligne 4 à la ligne 23
&CAPTURE_ECRAN(W-TYPE_ECRAN;'04';'23';W_BUFFER)

2) Ecriture du buffer écran dans BASBUF

Ce processus permet d’écrire un enregistrement (par ordre SQL) dans le fichier BASBUF et de récupérer le TIMESTAMP (heure sur 12) de l’enregistrement. La macro &ECRIRE_BUFFER doit être utilisée pour ce process.

Programmes utilisés :

- RTVSCR (RPGLE)
- RTVSCRSRV (RPGLE) pgm de service

Ordres de Compilation :

- Programme de service RTVSCRSRV

  • CrtRPGMod Module(YourLib/RTVSCRSRV) SrcFile(YourLib/QRPGLESRC)
  • CrtSrvPgm SrvPgm(YourLib/RTVSCRSRV) Export(*All)

- Programme RTVSRC :

  • CrtRPGMod Module(YourLib/RTVSCR) SrcFile(YourLib/QRPGLESRC)
  • CrtPgm Pgm(YourLib/RTVSCR) BndSrvPgm(YourLib/RTVSCRSRV) ActGrp(*New)

Paramètres :

DésignationCommentairesLngType
1 BUFFER Buffer Ecran 5000 Alpha
2 TIMESTAMP Heure systeme 12 Alpha
3 PREBUFFER 1=>24*80 2=>27*132 10 Alpha

Le buffer écran est préfixé d’une zone de 10 caractère (PREBUFFER), permettant de stocker le type d’écran (1er caractère). Les 9 autres caractères ne sont pas utilisés pour l’instant.

Exemple d’appel :

W_PRE_BUF = '1 '
* Ecran 80 colonnes
* Enregistrement créé dans BASBUF avec pour clé unique *USER + TIMESTAMP
&ECRIRE_BUFFER(W_BUFFER;WA12;&PREBUF)
TIMESTAMP = WA12

Description du fichier BASBUF :

Clé ZoneMot directeurDésignationLg. DDéb.Fin
1 UTILBU BU_UTIL utilisateur 10 1 10
2 HEURBU BU_HEURE Heure et date 12 0 11 17
BUFFBU BU_BUFFER Buffer 5000 18 5017

3) Impression du buffer écran sur la même maquette que l’édition elle-même et donc dans le même Spool.

Ce processus permet d’imprimer un enregistrement de BASBUF à partir de sa clé unique (user + timestamp).

L’enregistrement traité est supprimé après le traitement !!!

Il est possible de n’imprimer que certaines colonnes à condition qu’elles soient contiguës.

Ce process est réalisé par la macro &IMPRIMER_BUFFER_ECRAN

Exemple d’appel :

P_COL_DEB = *BLANK
P_COL_FIN = *BLANK
PEDIT_TITRE = 'O'
PEDIT_TRAIT = 'O'  &IMPRIMER_BUFFER_ECRAN(P_TIME;P_COL_DEB;P_COL_FIN;PEDIT_TITRE;ENTET1 -    ;PEDIT_TRAIT;TRAIT;SOULIGNE;DETAIL_SEL;ZLIG_BUF;PSUPP_BUFFER)

Paramètres d’appel :

DésignationLong.Déc.ContrôleCommentaires
Heure 12 (Clé BASBUF1) 12 0 OBLI C’est la variable TIMESTAMP renvoyé par la macro &ECRIRE_BUFFER
Colonne début de l’écran 3 Si blanc tout le buffer est édité
Colonne Fin de l’écran 3 Si blanc tout le buffer est édité
Editer Format titre O/N 1 OBLI Si ’O’, édition du format titre de l’état Si ’N’, le titre n’est pas éditée
Format Titre 15 Mot directeur du format Titre L’alimentation des zones de ce format est à VOTRE entière charge.
Editer Format Trait sépar. O/N 1 OBLI Si ’O’, édition du format trait de cadre Si ’N’, le cadre n’est pas édité
Format Trait de séparation 15 Mot directeur du Format Trait ou cadre
Format souligné 15 OBLI Mot directeur du Format Souligné permettant d’imprimer les caractères soulignés comme à l’écran. Ce format doit contenir une zone de 132 caractères alpha avec l’attribut Souligné à ‘O’. La zone doit avoir le même nom que celle du format de détail
Format Détail du Buffer 15 OBLI Mot directeur du Format Détail du buffer. Ce format doit contenir une zone de 132 caractères alpha.
Nom de la zone d’édition 15 OBLI Mot directeur de la zone d’édition utilisé par les format Souligné et Détail
Suppression du buffer écran dans BASBUF (O/N) 1 OBLI ‘O’ = Supprimer la capture écran ‘N’ = la conserver. Ceci sert dans les programmes avec plusieurs états ou qui lancent plusieurs éditions différentes.

P.-S.

Il ne vous reste plus qu’à trouver plein d’applications à cette capture.

Documents joints