> Tech > Boîte à  outils System iNews : Définir les valeurs des champs date, Compilation Conditionnelle

Boîte à  outils System iNews : Définir les valeurs des champs date, Compilation Conditionnelle

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

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

État des lieux de la réponse à incident de cybersécurité

État des lieux de la réponse à incident de cybersécurité

Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.

Tech - Par iTPro.fr - Publié le 24 juin 2010