[ QUOTE ]
Ah - something new:
In Document:
E1: BSFN: Frequently Asked Questions for How to Find, Design and Debug of BSFN [ID 632000.1]
"...The only exception to this rule for client-only business functions is a Named Event Rule marked client-only solely because it has a form interconnect. When this type of NER is generated, the tool generates Java classes instead of C code for this function. In this context, these type of NERs are called Interpretive NERs. Interpretive NERs have the following guidelines:
- Interpretive NER can only be called from an application ER or from another interpretive NER.
- Interpretive NERs should not be called from UBEs, client/server business functions or server only business functions.
- The NER must be defined as client-only if it contains form interconnects. The tool uses the client-only designation to determine if Interpretive NER should be used."
The requirement for an 'Interpretive / java' NER is that it must have a Form Interconnect and be marked 'client only' - right?
That said - I'm going to guess that you would debug the 'Interpretive' NER (one that has a Form Interconnect) using Java?
[/ QUOTE ]
Yup, this is the only reason I know of where you have to use an NER (form interconnect) as opposed to a C BSFN. I use them a lot for view dispatchers instead of direct form interconnects. It allows me to do some small intermediate logic and will allow me to easily change the called form in one place instead of going to every place where that form might be called if I ever need to change which form is used.
It is interesting that it says it generates Java classes. I just assumed the APPL run time engine simply loaded the ER code and interpreted it just like it would the ER code in an APPL event. Problem is, is that when you try to step into it in the ER debugger, the ER debugger simply sees it as just another BSFN when its really not.
BTW, I have found (at least on my tools release) that if you make a change to an "Interpretive NER" you have to stop your local JAS server and manually java gen the NER or your changes will not take effect. In other words, it doesn't dynamically java gen the object when loading after you make a change like it does for an APPL.