TI-result message from HTML-snippet not updated in popup

Issue #791 resolved
Alexander Koeppe created an issue

To Reproduce
Popup with 3 widgets:

  • Grid widget
  • Excel upload widget
  • Process widget
  1. Data input in grid widget either manually or by Excel upload
  2. Run process

The process should update a dimension based on the input or upload to the grid widget. Before doing so, it should check that all mandatory fields are maintained. If not, it should fail without updating anything.

The process runs correctly. In the screenshot, all mandatory fields have been maintained after one was missing before. But the result message still says that there is an error.

It’s generated by a standard HTML-snippet (process-response-message.html) which pulls the message from cube }APQ Process Response Message

<tm1-ui-dbr-json-hidden ng-if="$ctrl.resolve.processDetails === undefined"
   tm1-instance="ApliqoFPM"
   tm1-cube="}APQ Process Response Message"
   tm1-elements='{{$root.user.Name}},{{$ctrl.resolve.options.process.name}},JSON Message'
   ng-model="$ctrl.resolve.processDetails"

</tm1-ui-dbr-json-hidden>

<apq-fpm-process-response-message ng-if="$ctrl.resolve.processDetails != undefined" resolve="$ctrl.resolve" ></apq-fpm-process-response-message>

The response cube has the correct message:

If you close the pop-up, open it again, and run the process again, the correct message is shown:

Expected behavior
Display the correct message

Comments (9)

  1. Ilia Shapiro

    The issue is not reproducible inside standard FPM please check your process procedure, The apq-fpm-process-response-message will display exactly what is in the cube so the message must exist in the cube or it would not show as error

  2. Alexander Koeppe reporter

    Hi Ilia,

    I can reproduce the issue in FPM version 2024.01.

    I have created a simple process to output a json message. In UX I have created a dashboard to run the TI.

    IF pError = 0 then the process result should be “Success” otherwise “Error”.

    First run with pError = 0:

    Process Response Cube

    Second run with pError = 1

    Same message as first run.

    However Process Response Cube has the correct message.

    Refreshing the dashboard with F5 and running the process again with pError = 1 now shows the correct message

    So everything is working but the dashboard did not get the current value from the response cube, only after refreshing the browser.

  3. Ilia Shapiro
    <tm1-ui-dbr-json-hidden ng-if="!$ctrl.reloading"
       tm1-instance="ApliqoFPM"
       tm1-cube="}APQ Process Response Message"
       tm1-elements='{{$root.user.Name}},{{$ctrl.resolve.options.process.name}},JSON Message'
       ng-model="$ctrl.resolve.processDetails"
    >
    </tm1-ui-dbr-json-hidden>
    
    <apq-fpm-process-response-message ng-if="$ctrl.resolve.processDetails != undefined" resolve="$ctrl.resolve" ></apq-fpm-process-response-message>
    

    Updated code

    Please test

  4. Ilia Shapiro

    notice the difference is the ng-if="!$ctrl.reloading" on the first line in the tm1-ui-dbr-json-hidden

  5. Alexander Koeppe reporter

    Thanks, Ilia, this is working, correct message is shown now!

    Please note that the closing sign in line 6 was missing

    <tm1-ui-dbr-json-hidden ng-if="!$ctrl.reloading"
       tm1-instance="ApliqoFPM"
       tm1-cube="}APQ Process Response Message"
       tm1-elements='{{$root.user.Name}},{{$ctrl.resolve.options.process.name}},JSON Message'
       ng-model="$ctrl.resolve.processDetails"
        >
    </tm1-ui-dbr-json-hidden>
    
    <apq-fpm-process-response-message ng-if="$ctrl.resolve.processDetails != undefined" resolve="$ctrl.resolve" ></apq-fpm-process-response-message>
    

  6. Log in to comment