Passage de paramètre avec les listes avec ADELIA 400

LISTE ADELIA

Voici 2 extraits de sources ADELIA400

PGM1 => Ecran de sélection sur lequel on appelle le guide.

PGM2 => Ecran guide permettant la sélection de 500 (P_NB_MAX) codes


PGM1
TRT_GUIDE 01
************
*RANPA1 = 0
*AFFICHER_GUIDE = '0'
P_NB_MAX = 500
DECL LISTE LST_COD W_COD W_LIB
* Guide Sur code
GUIDE Z_CODE
APPELER PGM2 P_NB_MAX LST_COD
SI &NBR_ELT(LST_COD) > 0
* Transfert des zones listes vers écrans...
TRAITER_PROC LSTECR
FIN
FIN_GUIDE


PGM2
*------------------------------------------------------------------*
* Exemple de source manipulant les listes ADELIA *
* Ce programme reçoit 2 paramètres
* Le 1er indique le nombre maximum d'enregistrements à  sélectionner*
* Le 2ème est une liste contenant : *
* - 1 code et un libellé (W_COD et W_LIB)
*------------------------------------------------------------------*
* PARAMETRES *
* P_NB_MAX 5N Nombre maximum d'enregistrements à  sélectionner *
* LST_SPE 2A + 35A Liste 2A + 35A *
*------------------------------------------------------------------*
* La déclaration de la liste doit ce faire avant son utilisation (donc avant RECEVOIR)
DECL LISTE LST_SPE W_COD W_LIB
RECEVOIR P_NB_MAX LST_SPE
* Mise à  blanc de la liste
VIDER_LST LST_SPE
INITIALISER 01
TRAITER 01
**************
TRANSACTION 01
**************
SI *F03 OU *F12
* Fin du programme on vide la liste
VIDER_LST LST_SPE
TERMINER
FIN
SI *PAGAV
PAGINER_AVANT
TRAITER 01
FIN
VERIFIER 01
TERMINER
*****************
INITIALISATION 01
*****************
EFFACER 1
GESTION_SFL 1
LIRE FICHIER
PRESENTER FICHIER
FIN_GESTION_SFL
W_MEM_AFFICH = Z_AFFICH
***************
VERIFICATION 01
***************
W_NBR = 0
GESTION_SFL 1
SI Z_COD_SEL <> *BLANK
TRAITER_PROC ALILST
* Insertion dans la liste
SI W_NBR < P_NB_MAX W_NBR = W_NBR + 1 W_COD = ZE4_SPEC W_LIB = ZE4_LIBELLE INSERER_ELT LST_SPE SINON * ERREUR 'Vous ne pouvez pas sélectionner plus de ' // P_NB_MAX QUITTER_SFL FIN FIN FIN_GESTION_SFL * ---------------------------------------------------------------- * DEBUT_PROCEDURE ALILST * Insertion dans la liste W_NBR = W_NBR + 1 W_COD = ZE4_SPEC W_LIB = ZE4_LIBELLE INSERER_ELT LST_SPE FIN_PROCEDURE * ---------------------------------------------------------------- *

Print Friendly, PDF & Email