> Tech > Autres considérations

Autres considérations

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

L'exemple simple présenté ici implique deux files d'attente de données sans clé. Généralement, les applications réelles ne sont pas si simples. Avec ce genre de programme, il faut prendre d'autres choses en considération.
Par exemple, dans l'application carte de crédit, le terminal POS cessera d'être à  l'écoute d'une réponse après

Autres considérations

60 secondes. Par conséquent, il faut appliquer
une logique spéciale aux deux
extrémités pour traiter les transactions
en retard ou manquantes.
Les files d’attente de données avec
clé sont utiles pour envoyer et recevoir
des transactions dans un certain ordre
ou pour ne choisir que les entrées de
file d’attente présentant une certaine
valeur de clé. Dans notre exemple, de
multiples stations POS pourraient partager
la même file d’attente de données
pour recevoir des réponses de la
banque et chaque programme POS ne
lirait que les entrées de la file d’attente
de données pour l’ID de sa station de
travail. Pour plus d’informations sur les
files d’attente de données avec clés,
voir le OS/400 CL Programming Guide
(SC41-5721).
Certaines applications peuvent
laisser les entrées s’accumuler en file
d’attente pendant de longues périodes
avant de les traiter – une fois toutes les
heures, par exemple. Dans ce cas, les
files d’attente de données doivent être
créées avec le paramètre force auxiliary
storage de la commande CRTDTAQ
mis à  yes (Force(*Yes)). Ce paramètre
empêchera la perte d’entrées en les
envoyant immédiatement sur disque.
Grâce à  IBMDA400, les files d’attente
de données sont relativement faciles
à  utiliser. Toutefois, certaines
choses m’ont ralenti pendant ma première
tentative de coding. De petites
erreurs sur l’instruction Open (comme
un nom de file d’attente incorrect, une
parenthèse manquante dans la liste de
champs) provoquera un message d’erreur
qui ne donne pas d’indication sur
le vrai problème. Si vous recevez un
message inutilisable sur un Open, examinez
soigneusement tous les aspects
de votre commande Open. C’est probablement
une petite erreur de frappe.
Lors de l’attribution des valeurs de
colonnes pour envoyer, n’attribuez pas
une valeur à  une colonne ADO supérieure
à  la taille définie du champ
(c’est-à -dire, n’attribuez pas une chaîne de 10 caractères à  un champ
prévu pour en contenir cinq), sous
peine d’obtenir un message d’erreur
OLE DB crypté.
Soyez prudent dans l’utilisation
des structures de données avec des
overlays de sous-champs – particulièrement
ceux où des champs alpha et
des champs numériques se chevauchent.
Dans de tels cas, vous devrez
peut-être coder une instruction Open
séparée pour chaque format de structure
de données unique.
Lors de l’écriture d’une entrée
dans la file d’attente de données, donnez
une valeur à  tous les champs. (Les
valeurs null seront converties en valeurs
par défaut).
Le plus souvent, il y a plus d’un
moyen de coder une tâche dans ADO. Toutefois, le provider IBMDA400 est
pointilleux en matière de files d’attente
de données. Ne soyez pas étonné si
une syntaxe familière ne fonctionne
pas. Dans ce cas, tenez-vous en aux
exemples de code fournis ici ou à  ceux
des manuels IBM.

Téléchargez gratuitement cette ressource

Cybersécurité sous contrôle à 360°

Cybersécurité sous contrôle à 360°

Avec Cloud in One, les entreprises ne gagnent pas uniquement en agilité, en modernisation et en flexibilité. Elles gagnent également en sécurité et en résilience pour lutter efficacement contre l’accroissement en nombre et en intensité des cyberattaques. Découvrez l'axe Cybersécurité de la solution Cloud In One.

Tech - Par iTPro - Publié le 24 juin 2010