Abandon processus et paramètre systeme USE_UNDO_REDO

Request description

Bonjour,

Nous avons constaté un comportement inattendu lors de l’abandon d’un Business Workflow : un objet est créé alors qu’il ne devrait pas l’être.

Contexte

Nous avons suivi la documentation pour surcharger le hook preAbandon(), dans le but de supprimer manuellement le record si le workflow est abandonné. Sans cette surcharge, l’objet n’est effectivement pas supprimé après un abandon.

Exemple utilisé :
:backhand_index_pointing_right: Documentation Simplicité – Hooks Business Workflow

Implémentation :

@Override
	public Message preAbandon() {
		
		AppLog.error("ROAD => railway "+ getProcessRoad().getRailway(), null, getGrant());
		
		ActivityFile end = getContext(getEnd());
		if (!Tool.isEmpty(end)) end.setDataFile("Forward", "Page", HTMLTool.getListURL("LbcLegalText", null));
		
		ActivityFile introAct = getContext(getActivity("CPAE-INTRO"));
		if (!Tool.isEmpty(introAct)) {
        	String rowId = introAct.getDataValue("Field", "row_id");
			if (Tool.isEmpty(rowId) || rowId.equals(ObjectField.DEFAULT_ROW_ID)) {
				AppLog.info(getClass(), "preAbandon", "Aucun objet à supprimer car ID = 0 ou null avant 1st step", getGrant());
				return null;
			}
			ObjectDB o = this.getGrant().getTmpObject("LbcLegalText");
			o.resetFilters();
			if (o.select(rowId)) o.del();
			AppLog.info(getClass(), "preAbandon", "Objet supprimé après abandon du processus avec row_id = "+rowId, getGrant());
		}
	    return null;
	}

Notre logique de suppression fonctionne comme attendu si le paramètre USE_UNDO_REDO est à no.

Problème rencontré

Lorsque USE_UNDO_REDO est à yes :

  • L’objet est bien supprimé dans le preAbandon(). (Exemple dans les logs, row_id = 171)

  • Mais une copie de l’objet est créée" (avec un row_id différent). (row_id = 172)

  • Cette copie n’est pas supprimée à la fin du traitement.

Ce comportement se produit uniquement si l’action “Abandon” est déclenchée dans les deux dernières étapes de notre processus.

Questions

Est-ce un comportement attendu avec USE_UNDO_REDO = yes ?

La fonctionnalité semble toujours être en phase “Experimental”, vous confirmez ?

Si oui, quels sont les impacts de se passer de cette fonctionnalité ?

Si non, y a-t-il un moyen de garantir la suppression complète de l’objet même dans ce contexte ?

Merci d’avance pour votre aide !

Technical information

Instance /health
---[Platform]
Status=OK
Version=6.2.15
BuiltOn=2025-08-15 11:39
Git=6.2/309efbdf46b217e3145711d1c47c3e5ad5459aa5
Encoding=UTF-8
EndpointIP=100.88.232.19
EndpointURL=http://lbc-77449-app-58df4866b-j9d9q:8080
TimeZone=Europe/Paris
SystemDate=2025-10-17 15:41:33

[Application]
ApplicationVersion=1.0.0
ContextPath=
ContextURL=https://ldm-app.ext.gke2.dev.gcp.renault.com
ActiveSessions=1
LastLoginDate=2025-10-17 15:22:59

[Server]
ServerActiveSessions=9
ServerSessionTimeout=30
CronStarted=true

[JavaVM]
HeapFree=314177
HeapSize=485376
HeapMaxSize=3895296
TotalFreeSize=3724097


[Healthcheck]
Date=2025-10-17 15:41:33
ElapsedTime=10---
Simplicité logs
2025-10-17 15:35:44,554 ERROR [] No row found.
    
2025-10-17 15:35:44,554 INFO [] Action: delete
2025-10-17 15:35:44,542 WARN [] REF_NOT_FOUND: Unable to find reference legalTextPreviousVersion of object LbcLegalText
2025-10-17 15:35:44,542 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:44,542 INFO [] New record key row_id
2025-10-17 15:35:44,526 INFO [] Found field legalTextCreatedIn = [2025-10-17]
2025-10-17 15:35:44,526 INFO [] Found field legalTextGlobalVersion = [v1]
...
2025-10-17 15:35:44,525 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,554|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:44,525 ERROR [] No row found.
    
2025-10-17 15:35:44,525 INFO [] Action: delete
2025-10-17 15:35:44,513 WARN [] REF_NOT_FOUND: Unable to find reference legalTextPreviousVersion of object LbcLegalText
2025-10-17 15:35:44,513 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:44,513 INFO [] New record key row_id
2025-10-17 15:35:44,497 INFO [] Found field legalTextCreatedIn = [2025-10-17]
...
2025-10-17 15:35:44,497 INFO [] Found field LegalTextId = [171]
2025-10-17 15:35:44,496 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,525|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:44,495 ERROR [] No row found.
    
2025-10-17 15:35:44,495 INFO [] Action: delete
2025-10-17 15:35:44,481 WARN [] REF_NOT_FOUND: Unable to find reference legalTextPreviousVersion of object LbcLegalText
2025-10-17 15:35:44,481 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:44,481 INFO [] New record key row_id
...
2025-10-17 15:35:44,465 INFO [] Found field LegalTextStatut = [DRAFT]
2025-10-17 15:35:44,465 INFO [] Found field legalTextLastUpdate = [2025-10-17 15:33:43]
2025-10-17 15:35:44,465 INFO [] Found field LegalTextId = [171]
2025-10-17 15:35:44,464 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,495|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:44,463 ERROR [] No row found.
    
2025-10-17 15:35:44,463 INFO [] Action: delete
2025-10-17 15:35:44,447 WARN [] REF_NOT_FOUND: Unable to find reference legalTextPreviousVersion of object LbcLegalText
2025-10-17 15:35:44,447 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:44,447 INFO [] New record key row_id
2025-10-17 15:35:44,429 INFO [] Found field legalTextCreatedIn = [2025-10-17]
...
2025-10-17 15:35:44,429 INFO [] Found field legalTextLastUpdate = [2025-10-17 15:33:43]
2025-10-17 15:35:44,429 INFO [] Found field LegalTextId = [171]
2025-10-17 15:35:44,427 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,464|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:44,427 ERROR [] No row found.
    
2025-10-17 15:35:44,427 INFO [] Action: delete
2025-10-17 15:35:44,427 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextIdTag of object LbcLegalTextTags
2025-10-17 15:35:44,427 INFO [] New record key row_id
2025-10-17 15:35:44,410 INFO [] Found field LegalTextTagId.TagsName = [LEGAL_MENTIONS]
2025-10-17 15:35:44,410 INFO [] Found field LegalTextTagId.TagsId = [VS3/DocumentType/LEGAL_MENTIONS]
2025-10-17 15:35:44,410 INFO [] Found field LegalTextIdTag.LegalTextDocumentType = [MASTER]
2025-10-17 15:35:44,410 INFO [] Found field LegalTextIdTag.LegalTextId = [171]
2025-10-17 15:35:44,410 INFO [] Start import object LbcLegalTextTags:
2025-10-17 15:35:44,427|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalTextTags, status = KO
2025-10-17 15:35:44,410 ERROR [] No row found.
    
2025-10-17 15:35:44,410 INFO [] Action: delete
2025-10-17 15:35:44,410 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextIdTag of object LbcLegalTextTags
2025-10-17 15:35:44,410 INFO [] New record key row_id
...
2025-10-17 15:35:44,394 INFO [] Start import object LbcLegalTextTags:
2025-10-17 15:35:44,410|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalTextTags, status = KO
2025-10-17 15:35:44,394 ERROR [] Validation error: [{"code":"ERR_REQUIRED","field":"LegalTextIdTag","level":"ERROR","text":"Text"}]
    
2025-10-17 15:35:44,394 INFO [] Action: insert
2025-10-17 15:35:44,394 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextIdTag of object LbcLegalTextTags
2025-10-17 15:35:44,394 INFO [] New record key row_id
2025-10-17 15:35:44,385 INFO [] Found field LegalTextTagId.TagsName = [LEGAL_MENTIONS]
2025-10-17 15:35:44,385 INFO [] Found field LegalTextTagId.TagsId = [VS3/DocumentType/LEGAL_MENTIONS]
2025-10-17 15:35:44,385 INFO [] Found field LegalTextIdTag.LegalTextGeographicalZone = []
2025-10-17 15:35:44,385 INFO [] Found field LegalTextIdTag.LegalTextDocumentType = [MASTER]
2025-10-17 15:35:44,385 INFO [] Found field LegalTextIdTag.LegalTextName = []
2025-10-17 15:35:44,385 INFO [] Found field LegalTextIdTag.LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:44,385 INFO [] Start import object LbcLegalTextTags:
2025-10-17 15:35:44,394|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalTextTags, status = KO
2025-10-17 15:35:44,385 ERROR [] No row found.
    
2025-10-17 15:35:44,385 INFO [] Action: delete
2025-10-17 15:35:44,385 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextIdTag of object LbcLegalTextTags
2025-10-17 15:35:44,385 INFO [] New record key row_id
2025-10-17 15:35:44,367 INFO [] Found field LegalTextTagId.TagsName = [LEGAL_MENTIONS]
2025-10-17 15:35:44,367 INFO [] Found field LegalTextTagId.TagsId = [VS3/DocumentType/LEGAL_MENTIONS]
2025-10-17 15:35:44,367 INFO [] Found field LegalTextIdTag.LegalTextDocumentType = [MASTER]
2025-10-17 15:35:44,367 INFO [] Found field LegalTextIdTag.LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:44,367 INFO [] Start import object LbcLegalTextTags:
2025-10-17 15:35:44,385|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalTextTags, status = KO
2025-10-17 15:35:44,366 ERROR [] No row found.
    
2025-10-17 15:35:44,366 INFO [] Action: delete
2025-10-17 15:35:44,366 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextIdTag of object LbcLegalTextTags
2025-10-17 15:35:44,366 INFO [] New record key row_id
2025-10-17 15:35:44,350 INFO [] Found field LegalTextTagId.TagsName = [R_AND_GO]
2025-10-17 15:35:44,350 INFO [] Found field LegalTextTagId.TagsId = [VS3/Product/R_AND_GO]
2025-10-17 15:35:44,350 INFO [] Found field LegalTextIdTag.LegalTextDocumentType = [MASTER]
2025-10-17 15:35:44,350 INFO [] Found field LegalTextIdTag.LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:44,350 INFO [] Start import object LbcLegalTextTags:
2025-10-17 15:35:44,367|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalTextTags, status = KO
2025-10-17 15:35:44,350 ERROR [] No row found.
    
2025-10-17 15:35:44,350 INFO [] Action: update
2025-10-17 15:35:44,336 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:44,336 INFO [] New record key row_id
2025-10-17 15:35:44,326 INFO [] Found field LegalTextTypeTagDocument = []
2025-10-17 15:35:44,326 INFO [] Found field LegalTextId = [171]
2025-10-17 15:35:44,324 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,350|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:44,323 ERROR [] No row found.
    
2025-10-17 15:35:44,323 INFO [] Action: update
2025-10-17 15:35:44,310 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:44,310 INFO [] New record key row_id
2025-10-17 15:35:44,299 INFO [] Found field LegalTextTypeTagDocument = []
2025-10-17 15:35:44,299 INFO [] Found field LegalTextId = [171]
2025-10-17 15:35:44,297 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,324|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:44,297 ERROR [] No row found.
    
2025-10-17 15:35:44,297 INFO [] Action: update
2025-10-17 15:35:44,283 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:44,283 INFO [] New record key row_id
2025-10-17 15:35:44,272 INFO [] Found field LegalTextTypeTagDocument = []
2025-10-17 15:35:44,272 INFO [] Found field LegalTextId = [171]
2025-10-17 15:35:44,270 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,297|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:44,270 ERROR [] No row found.
    
2025-10-17 15:35:44,270 INFO [] Action: update
2025-10-17 15:35:44,257 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:44,257 INFO [] New record key row_id
2025-10-17 15:35:44,246 INFO [] Found field LegalTextTypeTagDocument = []
2025-10-17 15:35:44,246 INFO [] Found field LegalTextId = [171]
2025-10-17 15:35:44,245 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,270|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:44,244 ERROR [] Validation error: [{"code":"ERR_REQUIRED","field":"LegalTextApplicableFrom","level":"ERROR","text":"Publication start"}]
    
2025-10-17 15:35:43,909 INFO [] Action: update
2025-10-17 15:35:43,897 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:43,841 INFO [] Found internal key row_id = 172
2025-10-17 15:35:43,829 INFO [] Found field LegalTextApplicableFrom = []
2025-10-17 15:35:43,829 INFO [] Found field LegalTextSupport = []
2025-10-17 15:35:43,829 INFO [] Found field LegalTextScope = []
2025-10-17 15:35:43,829 INFO [] Found field LegalTextBrand = []
2025-10-17 15:35:43,829 INFO [] Found field LegalTextProduct = []
2025-10-17 15:35:43,829 INFO [] Found field LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:43,827 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:44,244|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:43,894|SIMPLICITE|WARN||http://lbc-77449-app-58df4866b-j9d9q:8080||WCORED0001|system|com.simplicite.util.engine.ObjectManager|completeForeignKeys||Warning: REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:43,827 ERROR [] Validation error: [{"code":"ERR_REQUIRED","field":"LegalTextApplicableFrom","level":"ERROR","text":"Publication start"}]
    
2025-10-17 15:35:43,477 INFO [] Action: update
2025-10-17 15:35:43,463 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:43,401 INFO [] Found internal key row_id = 172
2025-10-17 15:35:43,390 INFO [] Found field LegalTextApplicableFrom = []
2025-10-17 15:35:43,390 INFO [] Found field LegalTextSupport = []
2025-10-17 15:35:43,390 INFO [] Found field LegalTextScope = []
2025-10-17 15:35:43,390 INFO [] Found field LegalTextBrand = []
2025-10-17 15:35:43,390 INFO [] Found field LegalTextProduct = []
2025-10-17 15:35:43,389 INFO [] Found field LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:43,388 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:43,827|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:43,460|SIMPLICITE|WARN||http://lbc-77449-app-58df4866b-j9d9q:8080||WCORED0001|system|com.simplicite.util.engine.ObjectManager|completeForeignKeys||Warning: REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:43,388 ERROR [] Validation error: [{"code":"ERR_REQUIRED","field":"LegalTextApplicableFrom","level":"ERROR","text":"Publication start"}]
    
2025-10-17 15:35:43,047 INFO [] Action: update
2025-10-17 15:35:43,035 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,980 INFO [] Found internal key row_id = 172
2025-10-17 15:35:42,970 INFO [] Found field LegalTextApplicableFrom = []
2025-10-17 15:35:42,970 INFO [] Found field LegalTextSupport = []
2025-10-17 15:35:42,970 INFO [] Found field LegalTextScope = []
2025-10-17 15:35:42,970 INFO [] Found field LegalTextBrand = []
2025-10-17 15:35:42,970 INFO [] Found field LegalTextProduct = []
2025-10-17 15:35:42,970 INFO [] Found field LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:42,968 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:43,388|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:43,033|SIMPLICITE|WARN||http://lbc-77449-app-58df4866b-j9d9q:8080||WCORED0001|system|com.simplicite.util.engine.ObjectManager|completeForeignKeys||Warning: REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,968 ERROR [] Validation error: [{"code":"ERR_REQUIRED","field":"LegalTextApplicableFrom","level":"ERROR","text":"Publication start"}]
    
2025-10-17 15:35:42,593 INFO [] Action: update
2025-10-17 15:35:42,579 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,512 INFO [] Found internal key row_id = 172
2025-10-17 15:35:42,500 INFO [] Found field LegalTextApplicableFrom = []
2025-10-17 15:35:42,500 INFO [] Found field LegalTextSupport = []
2025-10-17 15:35:42,500 INFO [] Found field LegalTextScope = []
2025-10-17 15:35:42,500 INFO [] Found field LegalTextBrand = []
2025-10-17 15:35:42,500 INFO [] Found field LegalTextProduct = []
2025-10-17 15:35:42,499 INFO [] Found field LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:42,498 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:42,968|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:42,576|SIMPLICITE|WARN||http://lbc-77449-app-58df4866b-j9d9q:8080||WCORED0001|system|com.simplicite.util.engine.ObjectManager|completeForeignKeys||Warning: REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,498 ERROR [] No row found.
    
2025-10-17 15:35:42,498 INFO [] Action: update
2025-10-17 15:35:42,498 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,498 INFO [] New record key row_id
2025-10-17 15:35:42,485 INFO [] Found field legalTextCreatedIn = []
...
2025-10-17 15:35:42,485 INFO [] Found field LegalTextId = []
2025-10-17 15:35:42,483 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:42,498|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:42,483 ERROR [] No row found.
    
2025-10-17 15:35:42,483 INFO [] Action: update
2025-10-17 15:35:42,483 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,483 INFO [] New record key row_id
...
2025-10-17 15:35:42,467 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:42,483|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:42,466 ERROR [] Found id 172, duplicate key.
    
2025-10-17 15:35:42,466 INFO [] Action: insert
2025-10-17 15:35:42,448 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,351 INFO [] Found internal key row_id = 172
...
2025-10-17 15:35:42,337 INFO [] Found field LegalTextId = [LEGAL_MENTIONS - R_AND_GO - Ampere - Subsidiary - APPMOBILE MASTER v1]
2025-10-17 15:35:42,335 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:42,467|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:42,445|SIMPLICITE|WARN||http://lbc-77449-app-58df4866b-j9d9q:8080||WCORED0001|system|com.simplicite.util.engine.ObjectManager|completeForeignKeys||Warning: REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,335 ERROR [] Found id 172, duplicate key.
    
2025-10-17 15:35:42,335 INFO [] Action: insert
2025-10-17 15:35:42,316 WARN [] REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,194 INFO [] Found internal key row_id = 172
2025-10-17 15:35:42,181 INFO [] Found field LegalTextId = [LEGAL_MENTIONS - R_AND_GO - Ampere - Subsidiary - APPMOBILE MASTER v1]
2025-10-17 15:35:42,180 INFO [] Start import object LbcLegalText:
2025-10-17 15:35:42,335|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalText, status = KO
2025-10-17 15:35:42,311|SIMPLICITE|WARN||http://lbc-77449-app-58df4866b-j9d9q:8080||WCORED0001|system|com.simplicite.util.engine.ObjectManager|completeForeignKeys||Warning: REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:42,179|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalText, status = OK
2025-10-17 15:35:42,145|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalText, status = OK
2025-10-17 15:35:42,132|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalTextTags, status = OK
2025-10-17 15:35:42,113|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalText, status = OK
2025-10-17 15:35:42,085|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalText, status = OK
2025-10-17 15:35:42,050 INFO [] Action: delete
    
2025-10-17 15:35:42,050 ERROR [] query = select t.row_id, t.legal_text_id_tag, t_LegalTextIdTag.legal_text_id, t_LegalTextIdTag.legal_text_name, t_LegalTextIdTag.legal_text_document_type, t_LegalTextIdTag.legal_text_version_major, t_LegalTextIdTag.legal_text_version_minor, t_LegalTextIdTag.legal_text_geographical_zone, t.legal_text_tag_id, t_LegalTextTagId.tags_id, t_LegalTextTagId.tags_name, t.created_dt, t.created_by, t.updated_dt, t.updated_by from lbc_legal_text_tags t inner join lbc_legal_text t_LegalTextIdTag on (t.legal_text_id_tag=t_LegalTextIdTag.row_id) inner join lbc_tags t_LegalTextTagId on (t.legal_text_tag_id=t_LegalTextTagId.row_id) order by t.row_id asc
2025-10-17 15:35:42,050 ERROR [] Record not selectable to be updated
2025-10-17 15:35:42,046 INFO [] Found internal key row_id = 27486
2025-10-17 15:35:42,031 INFO [] Found field LegalTextTagId.TagsName = [Subsidiary]
2025-10-17 15:35:42,031 INFO [] Found field LegalTextTagId.TagsId = [VS3/Scope/Subsidiary]
2025-10-17 15:35:42,031 INFO [] Found field LegalTextIdTag.LegalTextDocumentType = [MASTER]
2025-10-17 15:35:42,031 INFO [] Found field LegalTextIdTag.LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:42,031 INFO [] Start import object LbcLegalTextTags:
2025-10-17 15:35:42,050|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalTextTags, status = KO
2025-10-17 15:35:42,031|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalTextTags, status = OK
2025-10-17 15:35:41,992 INFO [] Action: delete
    
2025-10-17 15:35:41,992 ERROR [] query = select t.row_id, t.legal_text_id_tag, t_LegalTextIdTag.legal_text_id, t_LegalTextIdTag.legal_text_name, t_LegalTextIdTag.legal_text_document_type, t_LegalTextIdTag.legal_text_version_major, t_LegalTextIdTag.legal_text_version_minor, t_LegalTextIdTag.legal_text_geographical_zone, t.legal_text_tag_id, t_LegalTextTagId.tags_id, t_LegalTextTagId.tags_name, t.created_dt, t.created_by, t.updated_dt, t.updated_by from lbc_legal_text_tags t inner join lbc_legal_text t_LegalTextIdTag on (t.legal_text_id_tag=t_LegalTextIdTag.row_id) inner join lbc_tags t_LegalTextTagId on (t.legal_text_tag_id=t_LegalTextTagId.row_id) order by t.row_id asc
2025-10-17 15:35:41,992 ERROR [] Record not selectable to be updated
2025-10-17 15:35:41,986 INFO [] Found internal key row_id = 27487
2025-10-17 15:35:41,974 INFO [] Found field LegalTextTagId.TagsName = [Ampere]
2025-10-17 15:35:41,974 INFO [] Found field LegalTextTagId.TagsId = [VS3/Brand/Ampere]
2025-10-17 15:35:41,974 INFO [] Found field LegalTextIdTag.LegalTextDocumentType = [MASTER]
2025-10-17 15:35:41,974 INFO [] Found field LegalTextIdTag.LegalTextId = [LEGAL_MENTIONS MASTER v1]
2025-10-17 15:35:41,974 INFO [] Start import object LbcLegalTextTags:
2025-10-17 15:35:41,992|SIMPLICITE|ERROR||com.simplicite.util.integration.SAXImportXML|importObject||I/O error: Import object LbcLegalTextTags, status = KO
2025-10-17 15:35:41,973|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalTextTags, status = OK
2025-10-17 15:35:41,963|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalTextTags, status = OK
2025-10-17 15:35:41,935|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalTextTags, status = OK
2025-10-17 15:35:41,907|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalText, status = OK
2025-10-17 15:35:41,505|SIMPLICITE|WARN||http://lbc-77449-app-58df4866b-j9d9q:8080||WCORED0001|system|com.simplicite.util.engine.ObjectManager|completeForeignKeys||Warning: REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:41,421|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalText, status = OK
2025-10-17 15:35:41,015|SIMPLICITE|WARN||http://lbc-77449-app-58df4866b-j9d9q:8080||WCORED0001|system|com.simplicite.util.engine.ObjectManager|completeForeignKeys||Warning: REF_NOT_FOUND: Unable to find reference LegalTextMasterParent of object LbcLegalText
2025-10-17 15:35:40,942|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalTextTags, status = ObjectHooks
2025-10-17 15:35:40,826|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalText, status = OK
2025-10-17 15:35:40,622|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||INFO|p125801|com.simplicite.objects.RenaultLBC.LbcLegalText|postValidate||Event: === Fin postValidate pour row_id = 0 ===
2025-10-17 15:35:40,622|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||INFO|p125801|com.simplicite.objects.RenaultLBC.LbcLegalText|postValidate||Event: Valeurs initiales : docType=MASTER, versionMajor=1, versionMinor=0, versionGlobal=v1, geoZone=, statut=DRAFT
2025-10-17 15:35:40,622|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||INFO|p125801|com.simplicite.objects.RenaultLBC.LbcLegalText|postValidate||Event: === Début postValidate pour row_id = 0 ===
2025-10-17 15:35:40,502|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: elements to load = 19
2025-10-17 15:35:40,413|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||ICOREIO001|p125801|com.simplicite.util.engine.Interface|importData||I/O info: Start scanning data, origin: undo
2025-10-17 15:35:40,357|SIMPLICITE|ERROR||http://lbc-77449-app-58df4866b-j9d9q:8080||ECOREDB001|system|com.simplicite.util.engine.GrantManager|query||Error SQL query: SELECT COUNT(*) FROM lbc_legal_text_content WHERE legal_text_id_content =
    org.postgresql.util.PSQLException: ERROR: syntax error at end of input
     Position: 75
     at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2734)
     at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2421)
     at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
     at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:518)
     at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:435)
     at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:196)
     at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:139)
     at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
     at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
     at com.simplicite.util.engine.DBAccess.query(DBAccess.java:683)
     at com.simplicite.util.engine.DBAccess.simpleQuery(DBAccess.java:884)
     at com.simplicite.util.engine.DBAccess.simpleQuery(DBAccess.java:869)
     at com.simplicite.util.engine.GrantDirect.simpleQuery(GrantDirect.java:111)
     at com.simplicite.util.Grant.simpleQuery(Grant.java:909)
     at com.simplicite.util.Grant.simpleQuery(Grant.java:875)
     at com.simplicite.util.Grant.simpleQueryAsDouble(Grant.java:977)
     at com.simplicite.objects.RenaultLBC.LbcLegalText.isStateTransitionEnable(LbcLegalText.java:617)
     at com.simplicite.util.ObjectHooks.lambda$isStateTransitionEnable$79(ObjectHooks.java:1258)
     at com.simplicite.util.ObjectHooks$Wrapper.call(ObjectHooks.java:100)
     at com.simplicite.util.ObjectHooks.isStateTransitionEnable(ObjectHooks.java:1256)
     at com.simplicite.util.ObjectFieldList.initList(ObjectFieldList.java:563)
     at com.simplicite.util.ObjectCore.initLists(ObjectCore.java:7423)
     at com.simplicite.util.ObjectCore.setValues(ObjectCore.java:7339)
     at com.simplicite.util.ObjectCore.setValues(ObjectCore.java:7228)
     at com.simplicite.util.integration.ObjectXML.loadObject(ObjectXML.java:1135)
     at com.simplicite.util.UndoRedo.undoAll(UndoRedo.java:182)
     at com.simplicite.util.engine.ProcessManager.abandon(ProcessManager.java:186)
     at com.simplicite.bpm.ProcessusDirect.abandon(ProcessusDirect.java:214)
     at com.simplicite.bpm.Processus.abandon(Processus.java:196)
     at com.simplicite.webapp.ProcessJson.abort(ProcessJson.java:185)
     ...
     at java.base/java.lang.Thread.run(Thread.java:1583)
2025-10-17 15:35:40,340|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||INFO|p125801|com.simplicite.workflows.RenaultLBC.CreateProcessAsEditor|preAbandon||Event: Objet supprimé après abandon du processus avec row_id = 171
2025-10-17 15:35:38,729|SIMPLICITE|INFO||http://lbc-77449-app-58df4866b-j9d9q:8080||INFO|p125801|com.simplicite.objects.RenaultLBC.LbcLegalText|preDelete||Event: msg r=null
Browser logs
---paste content of the **relevant** browser-side logs---

Bonjour,

Je ne reproduis pas le comportement que vous décrivez en 6.2.17 sur le process de création de User : suppression de l’utilisateur créé au début du process.

Je vois dans les logs des traces liées à un import XML ainsi qu’une erreur SQL juste avant la log du workflow.

Y-a-t’il un lien entre l’import XML et le processus ?

Bonjour @Alistair ,

Malgré le post Paramètre système « USE_UNDO_REDO » à « no » ,d’après les logs, l’import xml semble être declenché par la feature USE_UNDO_REDO ou au moins la méthode UndoRedo.undoAll(UndoRedo.java:182).

     at com.simplicite.objects.RenaultLBC.LbcLegalText.isStateTransitionEnable(LbcLegalText.java:617)
     at com.simplicite.util.ObjectHooks.lambda$isStateTransitionEnable$79(ObjectHooks.java:1258)
     at com.simplicite.util.ObjectHooks$Wrapper.call(ObjectHooks.java:100)
     at com.simplicite.util.ObjectHooks.isStateTransitionEnable(ObjectHooks.java:1256)
...
     at com.simplicite.util.UndoRedo.undoAll(UndoRedo.java:182)
     at com.simplicite.util.engine.ProcessManager.abandon(ProcessManager.java:186)

Quand je désactive la feature USE_UNDO_REDO, j’ai le comportement attendu. Avant d’appliquer en PROD, je souhaiterai avoir une confirmation sur l’impact d’une désactivation de cette feature au flag “Experimental” (même dans la 6.3).

Bonjour,

A mon avis cette fonctionnalité n’est plus à considérer comme “expérimentale”.

La désactiver inhibera aussi les boutons dans le header de la plateforme pour annuler une création / suppression / mise à jour.

Bonjour,

Concernant votre dernière réponse, en 6.2.15, lorsque que le paramètre USE_UNDO_REDO est désactivé, je peux quand même faire un UNDO qui annule ma dernière action.

Démo :

Legal Documents Manager - System parameter _ USE_UNDO_REDO et 16 pages de plus - Travail – Microsoft_ Edge 2025-10-23 11-09-10

LOGS :

2025-10-23 11:15:52,298|SIMPLICITE|INFO|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: Import object LbcLegalTextToExternalRef, status = OK
2025-10-23 11:15:52,266|SIMPLICITE|INFO|com.simplicite.util.integration.SAXImportXML|importObject||I/O info: elements to load = 1
2025-10-23 11:15:52,134|SIMPLICITE|INFO|com.simplicite.util.engine.Interface|importData||I/O info: Start scanning data, origin: undo

Partons du principe que je ne le désactive pas, pouvez-vous m’expliquer pourquoi je subis le comportement constaté de “non-suppression” de l’objet à l’abandon du processus quand je déclenche l’abandon dans les 2 dernières étapes ?

De manière générale, pouvez-vous me fournir un moyen de garantir la suppression complète de l’objet même dans ce contexte (Feature activité) ?

Effectivement ce flag ne désactive pas la fonctionnalité d’undo de suppression.

Je parlais bien des boutons visibles dans le header :

Par défaut, avec la feature activée, lors de l’abandon d’un process de type “suite d’écrans”, les objets créés sont supprimés, supprimer des éléments dans le hook postAbandon n’est pas nécessaire.

Vous pouvez tester avec le process Systeme de création d’utilisateur.

Je n’explique votre situation, est-ce que vous avez le souci sans le hook postAbandon et le paramètre systeme USE_UNDO_REDO à yes

Que contient le fichier source de l’import XML généré par l’abandon du processus (dans Exploitation > Supervision d’imports) ?

En effet je ne reproduis pas avec le process Systeme de création d’utilisateur.

D’accord, la feature est scopé sur ces 2 boutons seulement. Mon hypothése : le système génère ce fichier d’import au cas où il doit faire un undo de l’abandon de processus.

Nous nous somme basé sur cet élément de la documention pour implémenter la surcharge de hook (en constant que sans surcharge l’objet n’était pas supprimé)

Voici une matrice des comportements rencontrés selon les cas :

Standard (Feature Active + sans surcharge PreAbandon) Feature Active + surcharge Abandon Feature OFF + surcharge preAbandon
OK OK OK
KO OK OK
KO OK OK
KO KO OK
KO KO OK
  • ligne = étape dans processus
  • OK = objet suprrimé
  • KO = égale l’objet n’est pas supprimé
  • par contre quand Feature Active + surcharge Abandon est KO, le premier object est bien delete mais par contre une “copie” est crée et donc pour le user final son objet n’est pas supprimé

Concernant le fichier source, des examples de fichier selon certains cas :

etape 2 Standard (Feature Active + sans surcharge PreAbandon) KO

flow_standard2.xml (2.6 KB)

etape 2 PreAbandon + Feature Active OK

flow_prea2.xml (4.2 KB)

etape 2 PreAbandon + Feature Active KO

flow_prea5.xml (21.0 KB)

A priori l’implémentation qui marche pour vous est donc : Feature OFF + surcharge preAbandon

Il reste tout de même à comprendre pourquoi une copie est créée.
Est-ce que vous avez du code sur les objets concernés qui créent LbcLegalText ?

Non, il n’y a pas de code pour creer unLbcLegalText ( encore moins pour recréer le meme après un delete ).

Ce que nous comprenons pas c’est pas de deleteRecreate dans les 3 première activités mais seulement dans les 2 dernieres si abandon avec ce param system activée.(Dans le cas où on active cette feature, nous devrions comprendre comment gérer ce cas là ).

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.