STRUCTS are only allowed as parameters in local procedures and partner operations. Why not in public operations? As the information about the internal structure is hold in STRUCT itself, a STRUCT could be handled by another instance in a save manner

Use Case

\\\"no restriction in type of operation e.g. 1) OPERATION PRETTY params struct a_STRUCT:INOUT endparams ... END e.g.. 2) Component A componenttostruct v_STRUCT activate v_INST_HELPER.\\\"\\\"PRETTY\\\"\\\"(v_STRUCT) structtocomponent v_STRUCT\\\"


Without the possiblity of using STRUCTs over instance boundaries one can not use STRUCTs for exchanging information from one instance to another. e.g.: To manipulate surface information in a third component



Operating System

Not Applicable



One thought on “Use of STRUCT in public operations”

  1. Status = Closed
    From the Whats New section of the documentation of Uniface 9.6.02:
    Struct parameters can now be passed to public operations. The default behavior is to pass Struct parameters by reference in partner operations and entries, and to pass them by value in public operations. It is possible to override this behavior when declaring the parameters using the byRef or byVal qualifier.

Leave a Reply