Uniface User Forum

 View Only
  • 1.  store does not fire write trigger after migration

    Posted 12-18-2020 12:35

    Hello,

    after migration to Uniface 10 last week, we have discovered, that in a special case the store/complete does not fire the write trigger as it does in Uniface 9.


    The form that does not store the data is a containded form in a TABEX in a parent form.

    The write trigger is only activated when data in the form is entered by keyboard.

    If the data is only changed by proccode the write trigger is not activated.


    Values Returned by store in $status

    ValueMeaning
    1No data was stored because no modifications were made to the data since the last retrieve or store statement. Or, no entities are painted on the component.
    0Data successfully stored.


    In Uniface 10 store returns Status 1 (S:1)

    S:0 P:0 F:G_RS_VI E:ERZEUGER F:ERZ_NR (); LP_STORE; 1; [0]; store/complete 
    S:1 P:0 F:G_RS_VI E:ERZEUGER F:ERZ_NR (); LP_STORE; 2; [0]; if ($status < 0)


    Whereas in Uniface 9 store return Status 0 (S:0)

    S:0 P:0 F:G_RS_VI E:ERZEUGER F:ERZ_NR (_OPER); LP_STORE; 1; [0]; store/complete 
    S:0 P:0 F:G_RS_VI E:ESB F:APNR (_write); WRIT; 1; [0]; if (APNR.ESB = "NEU")


    Any ideas what could be the reason?

    Or is the a BUG in Uniface?


    Regards

    Norbert



  • 2.  RE: store does not fire write trigger after migration

    Posted 12-18-2020 13:14

    Hi Norbert,

    Basically YES, you are right, behaviour should be the same...

    but without Paint Tableau structure of your form it is difficult to give you any hint/answer:
    - is the main entity a DB entity or a Non DB entity?
    - is it including other entities?
    - proc Code lines changing contents in those entities are changing DB field or Non DB field?
    these are main questions I would pose to myself if being in your shoes...

    Regards,
    Gianni




  • 3.  RE: store does not fire write trigger after migration
    Best Answer

    Posted 12-18-2020 21:47

    Hello,

    I got an answer from Uniface Support.

    In the forms there was the  "trigger lock" with only comment lines but no executable code.

    Putting a "undeclare trigger lock" after the comment lines solved the Problem.


    I had the same Problem in another Form where the "operation exec" had only comment lines.

    In this case the Form will not be shown, as no default "edit" is executed.


    Regards

    Norbert