Macro-Instruction : IMPRIMER_BUFFER_ECRAN Bibliothèque : PPDREFD Thème : API Type : EDITION Membre : IMPBUFECR ------- DESCRIPTION --------- Impression du buffer de capture d'écran (Voir le document CAPTURE_ECRAN.DOC dans ...\INTRANET\AS400\UTILITAIRES) ------ PARAMETRES UTILISES ------------ Code Libellé N° Désignation Lg Déc Contrôle Contrôle -- ------------------------------ ----- --- -------- -------------------------------- 1 Heure 12 (Clé BASBUF1) 12 0 OBLI Zone obligatoire 2 Colonne début 3 OBLI Zone obligatoire 3 Colonne Fin 3 OBLI Zone obligatoire 4 Editer Format titre O/N 1 OBLI Zone obligatoire 5 Format Titre 15 OBLI Zone obligatoire 6 Editer Format Trait sépar. O/N 1 OBLI Zone obligatoire 7 Format Trait de séparation 15 OBLI Zone obligatoire 8 Format souligné 15 OBLI Zone obligatoire 9 Format Détail du Buffer 15 OBLI Zone obligatoire 10 Nom de la zone d'édition 15 OBLI Zone obligatoire 11 Supprimer Buffer Ecran O/N 1 OBLI Zone obligatoire ------ SEQUENCE D'INSTRUCTIONS ----------- 000100 *------------------------------------------------------------------* 000200 * MACRO D'EDITION DU BUFFER ECRAN CONTENU DANS LE FICHIER BASBUF * 000300 *------------------------------------------------------------------* 000400 * PARAMÈTRES DE LA MACRO : * 000500 * 1 - Date Heure à laquelle la capture écran 12;0 N * 000600 * a été stockée dans BASBUF * 000700 * 2 - Colonne de début de la capture 3 A * 000800 * 3 - Colonne de fin de la capture 3 A * 000900 * 4 - Editer format titre O/N 1 A * 001000 * 5 - Mot directeur du format titre de l'édition 15 A * 001100 * 6 - Editer format trait de séparation O/N 1 A * 001200 * 7 - Mot directeur du format trait de séparation 15 A * 001300 * 8 - Mot directeur du format Souligné 15 A * 001400 * 9 - Mot directeur du format de détail du buffer écran 15 A * 001500 * 10 - Mot directeur de la zone du détail du buffer 15 A * 001600 * 11 - Supprimer le buffer d'écran dans BASBUF O/N 1 A * 001700 *------------------------------------------------------------------* 001800 * 001900 DECLARER MISUSR;MI_S_USER 10 002000 DECLARER MISH12;MI_S_HEURE12 12;0 002100 DECLARER MISCAB;MI_S_CAR_BUF 1 002200 DECLARER MISHEX;MI_S_HEXA 2 002300 DECLARER MISCAR;MI_S_CAR 1 002400 DECLARER MISCDB;MI_S_COL_DEB 3;0 002500 DECLARER MISCFN;MI_S_COL_FIN 3;0 002600 DECLARER MISDEB;MI_S_DEBUT 5;0 002700 DECLARER MISI;MI_S_I 3;0 002800 DECLARER MISLRG;MI_S_LARGEUR 3;0 002900 DECLARER MISLNG;MI_S_LONGUEUR 3;0 003000 DECLARER MISLMX;MI_S_NB_LIG_MAX 3;0 003100 DECLARER MISSPE;MI_S_CAR_SPE 1 003200 DECLARER MISTYP;MI_S_TYPE 1 003300 DECLARER MISX;MI_S_X 3;0 003400 DECLARER MISLBU;MI_S_LIG_BUF 132 003500 DECLARER_TAB MISTAB;MI_S_TAB 1 132 003600 IDENTIFIER MI_BASBUF1 BASBUF1 CLE MISUSR MISH12 003700 * 003800 MI_S_USER = *USER 003900 MI_S_HEURE12 = :01 004000 LIRE MI_BASBUF1 *UNLCK 004100 * 004200 SI MI_BASBUF1 N_EXISTE_PAS 004300 * Edition du titre de l'état 004400 SI :04 = 'O' 004500 EDITER :05 004600 FIN 004700 * Edition du trait du cadre en haut de la page 004800 SI :06 = 'O' 004900 EDITER :07 005000 FIN 005100 * 005200 :10 = *BLANK 005300 EDITER :08 005400 :10 = 'Aucune sélection : le contenu entier du fichier sera imprimé' 005500 :10 = &CENTRAGE(:10) 005600 EDITER :09 005700 * Edition du trait du cadre en bas de la page 005800 SI :06 = 'O' 005900 EDITER :07 006000 FIN 006100 SINON 006200 * Edition du buffer écran 006300 MI_S_COL_DEB = 0 006400 MI_S_COL_FIN = 0 006500 * 006600 SI :02 <> *BLANK ET &NUMERIQUE(:02) = '1' 006700 MI_S_COL_DEB = :02 006800 FIN 006900 * 007000 SI :03 <> *BLANK ET &NUMERIQUE(:03) = '1' 007100 MI_S_COL_FIN = :03 007200 FIN 007300 * Edition du titre de l'état 007400 SI :04 = 'O' 007500 EDITER :05 007600 FIN 007700 * Edition du trait du cadre en haut de la page 007800 SI :06 = 'O' 007900 EDITER :07 008000 FIN 008100 * Type écran 008200 MI_S_TYPE = &EXTRACTION(BU_BUFFER;1;1) 008300 * 008400 SI MI_S_TYPE = '1' 008500 * Ecran 80 * 24 008600 MI_S_NB_LIG_MAX = 24 008700 MI_S_LARGEUR = 80 008800 MI_S_LONGUEUR = 80 008900 SINON 009000 * Ecran 132 * 27 009100 MI_S_NB_LIG_MAX = 27 009200 MI_S_LARGEUR = 132 009300 MI_S_LONGUEUR = 132 009400 FIN 009500 * 009600 SI MI_S_COL_FIN <> 0 ET MI_S_COL_DEB <> 0 009700 MI_S_LONGUEUR = MI_S_COL_FIN - MI_S_COL_DEB + 1 009800 FIN 009900 * 010000 MI_S_X = 1 010100 * 010200 TANT_QUE MI_S_X <= MI_S_NB_LIG_MAX 010300 :10 = *BLANK 010400 MI_S_DEBUT = ( MI_S_X * MI_S_LARGEUR ) - MI_S_LARGEUR + 11 + MI_S_COL_DEB 010500 MI_S_LIG_BUF = &EXTRACTION(BU_BUFFER;MI_S_DEBUT;MI_S_LONGUEUR) 010600 * 010700 * Traitement des caractères de soulignement 010800 MI_S_TAB = *BLANK 010900 * 011000 SI MI_S_LIG_BUF <> *BLANK 011100 MI_S_I = 1 011200 MI_S_CAR = *BLANK 011300 MI_S_CAR_SPE = *BLANK 011400 * 011500 TANT_QUE MI_S_I <= MI_S_LONGUEUR 011600 MI_S_CAR_BUF = &EXTRACTION(MI_S_LIG_BUF;MI_S_I;1) 011700 MI_S_HEXA = &CONVERSION_HEXA(MI_S_CAR_BUF) 011800 * 011900 SI MI_S_HEXA = '24';'25';'26';'2C';'2D';'2E';'34';'35';'36';'3C';'3D';'3 000000 E';'20';'21';'22';'23';'27';'28';'29';'2A';'2B';'30';'31';'32';'33';'37';'38';'3 000000 9';'3A';'3B';'3C' 012000 MI_S_CAR_SPE = '1' 012100 * 012200 SI MI_S_HEXA = '24';'25';'26';'2C';'2D';'2E';'34';'35';'36';'3C';'3D'; 000000 '3E' 012300 MI_S_CAR = '_' 012400 SINON 012500 MI_S_CAR = *BLANK 012600 FIN 012700 FIN 012800 * 012900 SI MI_S_CAR_SPE = *BLANK 013000 MI_S_TAB(MI_S_I) = MI_S_CAR 013100 SINON 013200 MI_S_CAR_SPE = *BLANK 013300 MI_S_TAB(MI_S_I) = *BLANK 013400 FIN 013500 * 013600 MI_S_I = MI_S_I + 1 013700 REFAIRE 013800 FIN 013900 * Edition du format de soulignement 014000 PLACER_TABLE MI_S_TAB :10 014100 EDITER :08 014200 * Edition du format buffer écran 014300 :10 = MI_S_LIG_BUF 014400 EDITER :09 014500 MI_S_X = MI_S_X + 1 014600 REFAIRE 014700 * Edition du trait du cadre en bas de la page 014800 SI :06 = 'O' 014900 EDITER :07 015000 FIN 015100 * Suppression du buffer 015200 SI :11 = 'O' 015300 LIRE MI_BASBUF1 015400 SUPPRIMER MI_BASBUF1 015500 FIN 015600 FIN 015700 * * * * * * * FIN DE LA MACRO IMPRIMER_BUFFER_ECRAN * * * * * * *