RPG/400 Nouveautés Edition 3.0 1/ Nouveau sous-programme *INZSR chargé d'initialiser des variables. Appelé automatiquement en phase d'initialisation du pgm (avant les premières specif O) Peut être rappelé à tous moments par EXSR. 2/ Initialisation des DATA STRUCTURES Soit IDS (I en col 18) ==> initialisation de toutes les sous-zones suivant leur type (' ' ou 0) INOMDS IDS |
Soit Initialisation sélective: (format IPSV) Col 8 "I" 21/42 valeur initiale suite inchangée I I 'VALEUR INTIALE' 1 30 VAR I I 'VALEUR INTIALE TROP- 1 30 VAR 'LONGUE' Remise à l'état initial d'une structure (fmt, variable ou DS) (état suite à *INZSR) C RESETNOMDS |
Remise à blanc d'une structure. EX1: Remise à blanc (ou zéro) d'une DS C CLEARNOMDS EX2: Remise à blanc d'un format BD (sauf clés) C *NOKEY CLEARFORMAT Manipulation de variables alpha : Concaténation: CAT ZON1 = 'RPG' ZON2 = '/400' C ZON1 CAT ZON2 ZON3 ZON3 = 'RPG/400' |
Choix du nombre d'espaces ZON1 = 'RPG' ZON2 = ' /400' C ZON1 CAT ZON2:0 ZON3 ZON3 = 'RPG/400' ZON1 = 'Mr' ZON2 = 'Durand' C ZON1 CAT ZON2:1 ZON3 ZON3 = 'Mr Durand ^ ! Peut être une variable ----------! Extraction : SUBST ZON1 = 'RPG/400' C 3 SUBSTZON1:5 ZON3 ZON3 = '400' ^ ^ ! ! Nb de car.-----! !--- Position de début |
Recherche : SCAN ZON1 = 'RPG/400' C '/' SCAN ZON1:1 ZON3 99 ZON3 = 4 ^ ^ ^ 99 = ON (trouvé) ! ! ! Chaîne --------! ! !------Zone numérique recherchée ! Position de départ Recherche multiple: ZON1 = 'RPG/400' E TBL 5 2 0 C '0' SCAN ZON1:1 TBL 99 99= ON (trouvé) TBL,1 = 5 TBL,2 = 6 Le facteur 1 peut être une variables notée ZONE OU ZONE:X X indiquant le nb de caractères à considérer (cadrés à gauche) |
Le facteur 1 n'est plus obligatoire sur les ordres READE REDPE si le facteur 1 n'est pas renseigné le contrôle se fera sur la clé lue lors de la dernière lecture de ce fichier. Les zone de données *PDA (data area associée à un travail à démarrage anticipé/PENDING JOB) peuvent être déclarées en RPG/400 C *NAMVAR DEFN *PDA ZPDA |