Par Scott Klement. Mise en ligne, 19 Mars 2007; Publication iSeries News : Septembre 2006
- Définir les valeurs des champs date
- Compilation Conditionnelle
Boîte à outils System iNews : Définir les valeurs des champs date, Compilation Conditionnelle
Q : J’essaie d’utiliser des champs date natifs en RPG et j’ai du mal à compiler le programme. Je reçois un message d’erreur pour ID RNF305 indiquant une valeur de date invalide. Le programme de la figure 1 démontre le problème. Quand j’essaie de compiler ce programme, il se plaint de la valeur du champ MyDate. J’ai spécifié le format date comme *USA et « 01/01/2006 » respecte ce format. De quoi le compilateur se plaint-il ? Quel est le défaut de mon champ ?
R : Quand vous spécifiez le mot-clé DatFmt sur une D-spec, vous spécifiez bien le format du champ. Mais votre problème ne provient pas du champ. Il provient de la valeur littérale (D’12/25/2005′). Pour chaque type de données (caractère, numérique, date, par exemple), RPG impose des règles concernant les littéraux. Pour les champs date, les règles suivantes s’appliquent. Les littéraux date se présentent sous la forme D’xxx’ où
• D indique que le littéral est du type date
• xxx est une date valide (y compris le caractère séparateur) dans le format spécifié dans la Hspec (*ISO par défaut)
• la valeur date doit être mise entre apostrophes
Vos programmes peuvent inclure des champs date de divers formats, mais vous devez indiquer les littéraux date en un seul format, conformément aux règles ci-dessus.
Comme il ne contient pas une H-spec qui spécifie le mot-clé DatFmt, votre programme s’attend à des littéraux date dans le format par défaut (*ISO). Vous pouvez résoudre ce problème de deux manières :
• Spécifier les littéraux date en format (*ISO), comme dans l’exemple de la figure 2
• Inclure une H-spec qui spécifie le format date *USA comme ceci :
H DatFmt( *USA )
Ensuite, vous spécifierez tous les littéraux date en format *USA, indépendamment du format de vos champs date.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Ransomwares : l’extorsion vise désormais les salariés et leurs proches
- Veeam passe à la vitesse supérieure avec iResOps pour Microsoft 365
- Visibilité, réputation, clients : ce que les petites entreprises ne pourront plus déléguer en 2027
- IA souveraine : l’Europe avance, mais son interconnexion prend du retard
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
