ABAP – Call function … in update task
Pour mettre à jour des tables spécifiques ZXXX.
Je crée des modules fonctions avec comme type d’exécution : Module de mise à jour – MAJ immédiate

Et en utilisant “IN UPDATE TASK”.
CALL FUNCTION ‘Z_PP_XX’ IN UPDATE TASK
EXPORTING
i_xx = ws_XX
i_yy = ws_YY.
Il faut, dans le MF, utiliser des message d’erreurs de type “A“.
Ceci a pour but d’interrompre la mise à jour de l’ensemble des tables et non pas d’une seule. Ce qui evite les problèmes d’integrité de la base de données
Dans l’exemple suivant :
MF :
modify zXX1 from ws_zXX1.
if sy-subrc <> 0.
message a008(zp2).
else.
insert zXX2 from ws_zXX2.
if sy-subrc <> 0.
message a009(zp2).
endif.
endif.
Si une erreur est lévée lors de la mise à jour de la table zxx2, la table zxx1 ne sera pas mise à jour non plus.
On peut de plus analyser les erreurs via la transaction SM13