Si vous avez essayé d’utiliser /Copy (ou /Include) dans un bloc RPG en format libre, vous avez peut-être rencontré l’erreur de compilateur : « RNF0257 Form-Type entry not valid or out of sequence ». Quand vous codez en format libre, ce message d’erreur signifie presque toujours que le compilateur a rencontré une syntaxe en format fixe dans un bloc en format libre.
Les membres /Copy sont considérés être en syntaxe format fixe, même si vous codez l’instruction /Copy dans un bloc de code en format libre. Si le membre /Copy contient de la syntaxe en format libre, il faut placer le code en format libre du membre /Copy dans ses propres délimiteurs /Free et /Endfree. Dans le membre source primaire, vous n’avez pas besoin de coder /End-free avant de coder la directive /Copy : /Free … (Free format code) /Copy library/srcfile, member …
(More free format code) /End-free Vous pouvez aussi mettre en retrait la directive /Copy, si vous le souhaitez, au lieu de commencer à la colonne 7. Rappelons que la syntaxe en format libre exige que les colonnes 6-7 soient vierges ; je mets toujours en retrait la directive /Copy en format libre. (Je suppose qu’IBM ne voit pas le paradoxe d’avoir une syntaxe en format libre tout en exigeant que certaines colonnes soient vierges.)
Notons au passage que les directives de compilation conditionnelles (/Define, /Undefine, /If, /Elseif, /Else, /Endif et /Eof) fonctionnent aussi en syntaxe en format libre. Et, contrairement à la documentation d’IBM, vous pouvez aussi mettre en retrait ces directives dans la syntaxe en format libre.
– Bryan Meyers
Le sous-titrage n'est plus une option mais un levier de croissance : 80 % des vidéos sur les réseaux sociaux sont consommées sans le son. Pourtant, choisir entre le format…
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…
