, Conversion DS RPG3 vers RPG4

Conversion DS RPG3 vers RPG4

En convertissant vos programmes par la commande CVTRPGSRC, vous pouvez avoir un petit effet de bord sur les DS qui ne sont pas initialisées par défaut

Vous avez 2 solutions

la première ne marche que pour les zones étendues, à la compile vous pouvez indiquer

FIXNBR(*ZONED *INPUTPACKED)

Mais la meilleur solution est d’ajouter INZ sur votre Data structure

Exemple

D JOUR DS INZ <—– ici
D AN£ 1 4
D MO£ 6 7 0
D JR£ 9 10

Les zones seront initialisées avec la valeur par défaut du type déclaré, dans notre cas 0

Voici une petite requête pour vous aider, derrière un CVTRPGSRC par exemple

Faites un alias sur votre membre

CREATE ALIAS QTEMP/INPUT FOR GDATA/QRPGLESRC (votre source RPGLE)

Ensuite passer cette requête

update input

set SRCDTA = substr(srcdta , 1, 59) concat ‘INZ’
where substr(srcdta , 6 , 1) = ‘D’
and substr(srcdta , 23 , 3) = ‘ DS’

INZ est ajouté en position 59 , au cas ou il y est un autre mot clé avant

PS :
Attention à l’ordre des overlays et l’INFDS qui ne peut pas être initialisée