Hi UnifAce
Don't know if this is an error, a bug or a feature:-)
Assume a simple component to work with in IDE.
Modify the proccode in an entity proc container (UXGROUP)
Now call an external component (via IDE-Plugin) which loops through all proc containers of the component.
a) In the external programm I can read the stored UFORM but UXGROUP is still unmodified (i.e. the old proc code)
b) Back in IDE, the trigger in UXGROUP is still the modified version .
c) Try to compile the component to store the component for sure in whole
d) got strange errros
1) After playing around an try to call the plugin once again:
[startUserOption] User action failed to complete. Failed to process message. [error=-100000] Coding error
2) Compiling
============== Exception log [11-jul-24 09:07:17] ================= Error : -100006 Description : Store failed. Context : [context] [ID] = "LOCK_ERROR" [STATUS] = "-10" [MAINUDO_ID] = "cpt:IP1100T2" [PROCERROR] = "-10" [PROCERRORCONTEXT] = "ERROR=-10MNEM=<UIOSERR_LOCK_DATA_MISMATCH>DESCRIPTION=Lock, data mismatchCOMPONENT=UC_CPTPROCNAME=184\\LOCKTRIGGER=LOCKLINE=1PROCLINE=lock " [DBERROR] = "0" [DBERRORTEXT] = "" [ENTITY] = "UXGROUP" [KEY] = "ULABEL.UXGROUP.DICT=PC_TRGUBASE.UXGROUP.DICT=FAV_DATENBASISUFORM.UXGROUP.DICT=IP1100T2"
Callstack : Component Instance Type Proc Container Proc Module Line Nr Code --------- -------- ---- -------------- ----------- ------- ---- UC_CPT _ALIAS00000007 . MOD entry THROWDATABASEIOEXCEPTION 4 call THROWIOEXCEPTION("Store failed.",VCONTEXT,$proccontext("STACK")) UC_CPT _ALIAS00000007 UXGROUP.DICT TRG occTrigger LOCK 4 return (THROWDATABASEIOEXCEPTION("LOCK_ERROR","UXGROUP","DICT",$status,$procerror,$procerrorcontext,$dberror,$dberrortext)) UC_CPT _ALIAS00000007 ENT.UDO CLL collOperation PRIVATE_SDOSETMOD 40 @VFIELDNAME = VSDOFIELDVALUE UC_CPT _ALIAS00000007 ENT.UDO CLL collOperation SDOTODBOCCITERATE 8 $collhandle(ENT.UDO)->private_sdoSetMod(VSDOTYPE,1) UC_CPT _ALIAS00000007 CPT.UDO CLL collOperation SDOTODBOCCITERATE 21 $collhandle(ENT.UDO)->sdoToDboccIterate() UC_CPT _ALIAS00000007 CPT.UDO CLL collOperation PREWRITE 2 $collhandle(CPT.UDO)->sdoToDboccIterate() UC_CPT _ALIAS00000007 . MOD entry STOREDATA 27 $collhandle(CPT.UDO)->preWrite() UC_CPT _ALIAS00000007 . OPR operation UC_SAVEMAINUDO 2 call STOREDATA(1) UC_MAIN UC_MAIN . OPR operation MC_ENDLOCKCOMMIT 64 activate VINSTANCE."UC_SAVEMAINUDO"( ) UV_CODE _ALIAS00000018 . MOD entry SAVEMAINUDO 16 activate "UC_MAIN"."MC_ENDLOCKCOMMIT"( VCONTROLLERURL , VTXENDED ) UV_CODE _ALIAS00000018 CODEBOX.LAYOUT OCC occOperation SAVEALL 31 call SAVEMAINUDO(0) UV_CODE _ALIAS00000018 . TRG trigger LOSEFOCUS 44 $occhandle(CODEBOX.LAYOUT)->saveAll() IDE . MOD entry START_IDE 294 apstart IDE . TRG trigger APSTART 31 call START_IDE()
Last lines before this message are
Act <lock> ent UXGROUP, occ 9Act <error> ent UXGROUP, occ 9End <error> ent UXGROUP, occ 9, status -1ERROR=-10MNEM=<UIOSERR_LOCK_DATA_MISMATCH>DESCRIPTION=Lock, data mismatchCOMPONENT=UC_CPTPROCNAME=184\\LOCKTRIGGER=LOCKLINE=1PROCLINE=lock Act <OPER> es UEXCEPTION
Could it be that the IDE forget to store and commint all modfied subentities (UXGROUP,UXFIELD) when loosing focus?
Without being sure that the component is stored in its entirety in the database, an external plugin makes no sense :-(
Anyone else who also gets such errors ?
Ingo
------------------------------
Ingo Stiller
Aareon Deutschland GmbH
------------------------------