PreviousNext
Help > Développement > Gestion des erreurs et débogage >
Fichier de Trace AS/400

 Les fichiers de trace permettent de visualiser les opérations réalisées par EASYCOM, côté client ou côté serveur. Le serveur EASYCOM sur l’AS/400 traite des requêtes élémentaires sur les tables ou procédures.

Il reçoit une demande de traitement sur le réseau (Requête), et retourne une réponse.

 

Les requêtes et réponses peuvent être enregistrées dans un fichier de trace, et ce fichier peut servir à analyser le flux de données qui circulent entre le client et le serveur.

 

Les lignes commençant par << marquent la réception d’une requête.

Les lignes commençant par >> marquent l’envoie par l’AS/400 de la réponse.

 

<<EACopen(EASYCOM/SP_CUST,4194309,-1) ß Requête.

9 Fields, 0 key fields  

EAC_NO_CVT - mode=

>>Ret=1; Err=0; Msg=; Int=0 ß Réponse.

 

Pour la trace AS/400, si l’option d’horodatage a été choisie, toute les requêtes et réponses sont précédées de l’heure sous la forme : hh :mm :ss :mil.

 

<<15:48:45.566: EACread(1,p(2275),91,34144281,(null),0,p(100))

 

Sur la réponse, l’information « Clk=x » indique le temps CPU consommé par l’AS/400 pour le traitement de la requête.

 

>>15:48:45.574: Clk=8, Len=619; Ret=5; Err=0; Msg=; Int=0

 

 

Début du fichier de trace, commun à toutes les sessions

 

Cette partie du fichier de trace est toujours la même pour toutes les sessions de EASYCOM.

 

Time is : 03/27/2000 - 17:22:10

Easycom Server Version is : 4.5712, Link is TCP/IP  

Client licence is : D$WINDEV55 , Easycom Library is : EASYCOM  

JobName=ALBATROS, User=QPGMR , QCCSID=297 Heart Beat freq :10  

Easycom Log File TRACE/SR, level 1  

------------------------------------------------------

>>Ret=1; Err=0; Msg=; Int=0

<<RTV_AS_VER(p(4))

>>Ret=4; Err=0; Msg=; Int=0

<<WriteTableEBCDI(49 42 4D 43 43 53 49 44 20 30 20 31 32 35 32 00 00 00 00 00 ...(256))

Build Table from CCSID:0 to 1252  

open IBMCCSID01252, IBMCCSID000000000100  

<<WriteTableASCII(49 42 4D 43 43 53 49 44 20 31 32 35 32 20 30 00 00 00 00 00 ...(256))

Build Table from CCSID:1252 to 0  

open IBMCCSID00000, IBMCCSID012520000100  

<<ReadTableASCII(p(256))

>>Ret=0; Err=0; Msg=; Int=

<<ReadTableEBCDIC(p(256))

>>Ret=0; Err=0; Msg=; Int=0

 

<<EACSqlDeclare(2A 45 41 43 20 43 56 54 20 4E 4F 00 ,12)

Statement:*EAC CVT NO  

>>Ret=1; Err=0; Msg=; Int=0

<<EACSqlBegin()

>>Ret=0; Err=0; Msg=; Int=0

 

Trace d'une ouverture d'un fichier Physique

 

<<EACopen(EASYCOM/SP_CUST,4194309,-1)

9 Fields, 0 key fields  

EAC_NO_CVT - mode=rr+  

>>Ret=1; Err=0; Msg=; Int=0

<<EACgetdesc(1,p(65000),65000,939786240,(null))

>>Ret=9; Err=0; Msg=; Int=0

 

Trace d'une ouverture d'un fichier Logique

 

<<EACopen(EASYCOM/SP_CUST_UN,4194309,-1)

LF with 1 Data Members, 1 Record Formats  

9 Fields, 1 key fields  

EAC_NO_CVT - mode=rr+  

>>Ret=2; Err=0; Msg=; Int=0

<<EACgetdesc(2,p(65000),65000,939786240,(null))

>>Ret=9; Err=0; Msg=; Int=0

 

Trace d'une lecture d'enregistrements de fichier

 

 <<EACread(2,p(816),102,34144264,(null),0,p(32))

VERB=_EAC_NEXT LOCK=OFF RECS=8 FILE=EASYCOM/SP_CUST_UN  

RRN=2 RRN=4 RRN=5 RRN=6 RRN=7 RRN=8 RRN=9 RRN=10  

>>Ret=8; Err=0; Msg=; Int=0

 

Le type d’opération de lecture est indiquée par « VERB=

Ou xxxx peut être :

 FIRST, NEXT, PREV, LAST, KEY_EQ, KEY_GE, KET_GT, …

 

« LOCK=ON/OFF » indique si l’opération se fait avec ou sans verrou.

« RECS= » indique le nombre d’enregistrements maximum demandés en réponse.

Ce nombre est directement lié à l’information « Records= », section « Buffers » du fichier « Easycom.ini » sur le PC.

« RRN= » donne une information sur les numéros des enregistrements lus.

 

En réponse, « Ret=n » indique le nombre d’enregistrements effectivement retournés, suite à la demande de lecture.

 

Si la lecture échoue à cause d’une erreur d’Entrée/Sortie, le message est écrit dans la trace, et les enregistrements effectivement lus sont retournés.

 

<<EACread(2,p(3570),102,34144291,(null),0,p(140))

VERB=_EAC_NEXT LOCK=OFF RECS=35 FILE=EASYCOM/SP_CUST_UN  

RRN=11 RRN=12 RRN=13 RRN=14 RRN=15 RRN=16 RRN=17 RRN=18 RRN=19 RRN=20 RRN=54 +...  

... RRN=55 RRN=56  

**SIGIO** Msg:CPF5001  

 

>>Ret=13; Err=5001; Msg=CPF5001; Int=0

Dans cet exemple, 35 enregistrements sont demandés, 13 seulement sont disponibles avant la fin de fichier.

 

Pour obtenir le message détaillé de l’erreur, utilisez la commande DSPMSGD sur l’AS/400.

 

Trace d'une ouverture d'une requête SQL

 

 <<EACopen(SELECT * from SP_CUST where LASTNAME>'M',4194309,-1)

Statement : SELECT * from SP_CUST where LASTNAME>'M'  

Cursor 0  

>>Ret=2; Err=0; Msg=; Int=0

<<EACgetdesc(2,p(65000),65000,939786240,(null))

>>Ret=9; Err=0; Msg=; Int=0