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
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Sauvegarder les données ne suffit plus : il faut refonder le poste de travail
- Cybermalveillance : 2025, seuil franchi pour les victimes comme pour les cybercriminels
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- Construire la souveraineté numérique en Europe grâce à un écosystème ouvert et collaboratif
Articles les + lus
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
À la une de la chaîne Tech
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
