LES FICHIERS D'IMPRESSION EXTERNES (PRTF) Ces fichiers sont définis avec le langage SDD. MOTS-CLES NIVEAU FICHIER: REF(nom-répertoire) DEFINITION D'UN FORMAT A NxxNxxNxxR Format----R lg S dB DébMot-clé A R TITRE TEXT('Titre de l'état') MOTS-CLES NIVEAU FORMAT : SPACEB(x) Espace avant SPACEA(x) après SKIPB(xx) SAUT avant SKIPA(xx) après xx : pour l'espace = nbr de lignes (relatif) pour le saut = n° de ligne dans la page |
DEFINITION D'UNE VARIABLE : Les possibilités du langage SDD: A NxxNxxNxxR Format----R lg S dB DébMot-clé 1/ A MATRIC R xx A ou 2/ A MATRIC 4 0 xx A DEFINITION D'UNE CONSTANTE: A NxxNxxNxxR Format----R lg S dB DébMot-clé A xx'constante à imprimer' XX = POSITION DE DEBUT DE LA VARIABLE SUR LA LIGNE OU "+ X", déplacement relatif |
MOTS-CLES NIVEAU ZONE : Variable numérique : EDTCDE(x) Soulignement : UNDERLINE Caractères gras : HIGHLIGHT Espacement : SPACEA,SPACEB Saut : SKIPA,SKIPB MOTS-CLES NIVEAU ZONE : (imprimantes évoluées) Choix de la densité : CPI(xx) [ 10 ou 15 ] : LPI(x) [ 6 ou 8 ] Choix de la police de car. : FONT( ) Choix d'un tiroir : DRAWER( ) Edition code barre : BARCODE( ) MOTS-CLES PARTICULIERS : Impression de la date/heure : DATE/TIME Impression du n° de page : PAGNBR |
MOTS-CLES AFPDS : Attention, si vous utilisez des mots-clés AFP dans un format, toutes les positions (y compris constantes et variables) doivent être indiquées en valeurs absolues dans la page en centimètres. Positionnement dans la page : POSITION(x1 y1) définition d'une ligne : LINE(x1 y1 orientation) définition d'une boite : BOX(x1 y1 x2 y2) définition d'une image : PAGSEG(x1 y1 nom-segment-de-page) (segment de page) définition d'un fond de page: OVERLAY(nom-fond-de-page) |
EXEMPLE : *************** début des données ************************************** A REF(REPERTP1) * A R TITRE TEXT('FORMAT TITRE') A SKIPB(02) A 5'NOM du PGM' HIGHLIGHT A 15'Le :' A + 2DATE EDTCDE(Y) A 50'LISTE DU PERSONNEL' A 80'Page :' A + 2PAGNBR EDTCDE(Z) A SPACEA(2) A 10'Matricule' A 20'Nom' A 45'Prénom' A 70'Situation' A 100'Salaire' A SPACEA(2) * |
* A R LIGNE TEXT('1 EMPLOYE') A SPACEA(1) A MATRIC R 9 A NOM R 19 A PRENOM R 44 * information conditionnée * (si 50 est faux) A N50 LIBSIT 20 69 * (si 50 est vrai) A 50 69' SITUATION EN ERREUR' A SALBRT R 99EDTCDE(3) A R TOTAL TEXT('TOTAL ETAT') A SPACEB(3) A 50'Nb d''employés' A NBEMP 60 + 3EDTCDE(Z) *************** fin des données **************************************** |
Déclaration en RPG-III : FETAT01 O E 99 PRINTER Déclaration en RPG-IV : FETAT01 O E PRINTER OFLIND(FindePage) DFindePage S N free-form dcl-F ETAT01 PRINTER OFLIND(findepage); dcl-S findepage IND; Avant d'écrire vous devez tester FindePage (ou 99), si c'est vrai : 1/ écrire TITRE (cela provoque le saut de page) 2/ mettre FindePage à *OFF |