Pass an interface as an interface input

Hi,
I am using editable grids to manage details of an entity. In dynamic grids implementation I have a local variable where I store the set of data and I use a!applyComponents in order to exchange data with the supporting rule.
The issue is that I need to pass to the main interface (container), as an ri! interface input (not as an local! variable), the modified row index.

Does anybody have any idea how to get this?

Thanks in advance!

OriginalPostID-156368

OriginalPostID-156368

  Discussion posts and replies are publicly visible

  • Have you considered breaking up the content into sequence of rules, one of which accepts the local variable as a rule input and returns the required data back for your parent to consume? In general, you should be able to pass the local as a direct rule input to your parent.
    Other option is to save the values into both local! and a ri! variable. Its double the job, but just in case, if you do need it in an ri!, then you can use this approach.

    Would be interesting to understand your use case in more detail.
  • I have the following scenario:
    I have a container form interface that loads other interfaces depending on some process variables. Anyhow, there are a lot of sections that this interface loads. This are generally called via: rule!sectionName(list, of, parameters). The list of parameters are loaded from local variables.
    Some of the interfaces loaded, are editable grids. Editable grid interface inputs are received from local variables of the container interface. Editable grids need two interfaces, so each of the editable grid sections have its own supporting interface (rule). I use apply components to exchange data between editable grid and the supporting interfaces.
    Some of the editable grids are really huge. I display in the grid only most important fields, the rest I need to make them editable in a pop-up or something… Unfortunately pop-us are not enabled in Appian, so as a workaround I have an “Edit details” button that triggers a local variable from the supporting rule to be marked with the row ID to be edited. This will go back to the editable grid interface and will be saved in a local variable (as per definition in a!applyComponents). Here I have another button that with a!save function will set the record ID to an interface input so that the container interface will receive it, and hide all the sections and display a form for the row to be edit.
    I need to make this work without the additional button in the grid interface. I tried to pass ri! variables directly to applyComponents, but passing ri! variables will just populate them with null, so at the end the editable row will not appear. What do I miss?