IBatchCompletionState
IBatchCompletionState
— Une interface à usage unique, toujours retournée par la méthode execute()
de l’interface IBatch
.Il contient plus ou moins (en fonction des paramètres passés lors de la création de l’IBatch) des informations détaillées sur les résultats de l’exécution du lot.
-
getSize
unsigned getSize(StatusType* status)
Renvoie le nombre total de messages traités.
-
getState
int getState(StatusType* status, unsigned pos)
Renvoie le résultat d’un message avec le numéro
pos
. Pour toute erreur avec le message, il s’agit d’une constanteEXECUTE_FAILED
, la valeur de retour en cas de succès dépend de la présence du paramètreRECORD_COUNTS
lors de la création du paquet.Lorsqu’elle est présente et qu’elle a une valeur différente de zéro, le nombre d’enregistrements insérés, mis à jour ou supprimés lors du traitement d’un message particulier est renvoyé, sinon la constanteSUCCESS_NO_INFO
est renvoyée. -
findError
unsigned findError(StatusType* status, unsigned pos)
Recherche le message suivant (commençant par
pos
) à l’origine de l’erreur.En l’absence d’un tel message, la constanteNO_MORE_ERRORS
est renvoyée. Le nombre de vecteurs d’état renvoyés dans cette interface est limité par la valeur du paramètreDETAILED_ERRORS
lors de la création du package. -
getStatus
void getStatus(StatusType* status, IStatus* to, unsigned pos)
Renvoie des informations détaillées (vecteur d’état complet) sur l’erreur qui s’est produite lors du traitement du message
pos
.Pour faire la distinction entre les erreurs (dansIBatch::execute()
ou dansIBatchCompletionState::getStatus()
), cet état est renvoyé dans un paramètreto
séparé, par opposition aux erreurs dans cet appel, qui sont placées dans le paramètrestatus
.
Valeurs spéciales renvoyées par getState()
:
-
EXECUTE_FAILED
— Une erreur s’est produite lors du traitement de ce message. -
SUCCESS_NO_INFO
— Aucune information sur la mise à jour des dossiers n’a été recueillie.
La valeur spéciale renvoyée par findError()
est :
-
NO_MORE_ERRORS
– Il n’y a plus de messages d’erreur dans ce package.