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
\\\"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