
|
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 |