Cette action est appelée pour chaque paramétre juste avant la saisie de la borne de début.
Etat
Elle permet principalement d'initialiser le paramètre en fonction d'un contexte. Effectivement, puisque l'écran AEXERPT est utilisé pour tout les états, on ne peut pas insérer une action avant_zone pour un état particulier. Le code du paramètre est disponible dans [M:RPT]PARCOD(nolign-1).
on peut initialiser la borne de début par la variable VALEUR.
A partir de la version V5, on utilise l'action $INIPAR2 pour initialiser la borne de fin. Jusqu'à le version 140, l'initialisation de la borne de fin se faisait par la variable [M:RPT]VALEUR2(nolign-1). Puis, il était nécessaire d'alimenter le champ interne correspondant [M:RPT]VALINT2(nolign-1), de la façon suivante :
Call CHARGE([M]VALEUR2(n),[M]PARTYP(n),[M]NOLIB(n),[M]LONG(n),[M]VALINT2(n)) From FMTVAR
Il est de même pour l'initialisation de tout champ autre que le champ courant :
Call CHARGE([M]VALEUR1(n),[M]PARTYP(n),[M]NOLIB(n),[M]LONG(n),[M]VALINT1(n)) From FMTVAR
( où n= nolign-1)
L'instruction Affzo sera nécessaire.
on peut griser un paramètre ( sauf le paramètre courant ) par l'instruction Grizo ou Diszo.
Voici 2 exemples d'écriture de cette action jusqu'en version 140 :
Initialisation de la borne début puis de la borne fin :
$INIPAR
If [M]PARCOD(nolign-1)="paysdeb" & zoncou="VALEUR1"
VALEUR="AAA"
Endif
If [M]PARCOD(nolign-1)="paysdeb" & zoncou="VALEUR2"
VALEUR="BBB"
Endif
Return
Initialisation des bornes début fin en même temps :
$INIPAR
If [M]PARCOD(nolign-1)="paysdeb" & zoncou="VALEUR1"
VALEUR="AAA"
[M:RPT]VALEUR2(nolign-1)="BBB"
[M:RPT]VALINT2(nolign-1)="BBB"
Affzo [M:RPT]VALEUR2(nolign-1)
Endif
Le même exemple à partir de la version V5 :
Initialisation de la borne début puis de la borne fin :
$INIPAR
If [M]PARCOD(nolign-1)="paysdeb"
VALEUR="AAA"
Endif
Return
$INIPAR2
If [M]PARCOD(nolign-1)="paysdeb"
VALEUR="BBB"
Endif
Return