Issue 31071 — Compiler does not give error for weboperation defined in entity level trigger
Status: Planned for resolution in 10.3.01
Solution available in patch(es): G101
Description:
Summary: The compiler does not give error for weboperation inadvertently defined in entity level trigger and in the resulting javascript parameters have been removed. Expected are compilation errors for the weboperations in the entity level triggers. Environment: + Uniface: Uniface Nine + Operating System: OS independent + Database: DBMS independent Symptoms: The compiler does not give an error for a web operation inadvertently defined in entity level trigger and in the resulting javascript parameters have been removed. Expected are compilation errors for the weboperations in the entity level triggers: 'weboperation' should currently only be used in the components operations trigger as there is no way of being able to call an operation at any other level than the component instance. To enable collection and occurrence operations there would have to be a method for calling the operation on the correct entity or occurrence. In client server there is the concept of a handle that references these objects directly so a construct like $collhandle(XXX)->operation() would point to a precise operation in a precise place or occurrence. There is no web equivalent. An example: In the DSP component there is the following proccode: - Collection Operations of entity dument: weboperation testjsco params string pIndata : IN endparams javascript alert(pIndata) endjavascript end - Occurrence Operations of entity dument: weboperation testjsoo params string pIndata : IN endparams javascript alert(pIndata) endjavascript end - Component level OPERATIONS trigger weboperation testjsop params string pIndata : IN endparams javascript alert(pIndata) endjavascript end Compiling this DSP results in the javascript /*This source is generated by UNIFACE*/ var _uf_clientside = _uf_clientside || {}; _uf_clientside.TESTSCRIPT = { testjsop:function(pIndata){ alert(pIndata) }, testjsoo:function(){ alert(pIndata) }, testjsco:function(){ alert(pIndata) } } The in parameter pIndata has disappeared for the entity level triggers
Workaround:
Define all weboperations in the component level operations trigger.
Notes: