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
- De manager d’équipe à manager d’agents IA : le management change de dimension
- Travail hybride : pourquoi les salariés français restent les plus attachés au bureau en Europe
- Pourquoi la souveraineté des données relève du contrôle et non de la géographie
- L’incident OpenAI–Hugging Face n’est pas la révolution que vous imaginez
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
