The built-in event names in your Natural for Ajax main program (such as
nat:page.end
and nat:browser.end
) are
usually written in lower case or mixed case. The URL values in your Natural programs (in
controls such as SUBCISPAGE2 and ROWTABSUBPAGES) are usually written in mixed case. If you
have an environment, however, in which you are bound to a code page which only allows Latin
upper-case characters, you need to set the parameter
natuppercase="true"
in the cisconfig.xml file.
In this case, the built-in events are generated in upper case, and URLs to Natural for Ajax
pages are handled correctly even if they are specified completely in upper case.
Limitations: Since browsers and URLs to web pages are usually case-sensitive, you cannot integrate all kinds of URLs into your application. For example, it is not possible to integrate an HTML page which is not a Natural for Ajax page into a Natural for Ajax workplace application using the NJX:XCIWPACCESS2 control.
Important:
Set the parameter natuppercase="true"
before you implement your main program with Natural for Ajax. If you set this
parameter after the implemention, you will have to change all Latin lower-case characters to
upper-case manually.
The following shows an implementation of the sample program CTRSUB-P
from the
Natural for Ajax demos which runs with natuppercase="true"
.
Tip:
You often need to use an ampersand (&) as a separator between the parameters in a
URL. The Hebrew code page CP803 does not support the character
"&". Therefore, you need to specify the ampersand in your
Natural code as a Unicode character, as shown below.
DEFINE DATA LOCAL 1 ARTICLE (U) DYNAMIC 1 INNERPAGE 2 CHANGEINDEX (I4) 2 PAGE (U) DYNAMIC 2 PAGEID (U) DYNAMIC 1 MYCONTEXT 2 SELECTEDARTICLE (U) DYNAMIC 1 MYTITLEPROP (U) DYNAMIC END-DEFINE * INNERPAGE.CHANGEINDEX := 0 * COMPRESS '/CISNATURAL/NATLOGON.HTML' UH'0026' 'XCIPARAMETERS.NATSESSION=WORKPLACE' UH'0026' 'XCIPARAMETERS.NATPARAMEXT=STACK%3D%28LOGON+SYSEXNJX%3BCTRSBI-P%29' TO INNERPAGE.PAGE LEAVING NO INNERPAGE.PAGEID := 'MYID' INNERPAGE.CHANGEINDEX := INNERPAGE.CHANGEINDEX+1 * PROCESS PAGE USING "CTRSUB-A" * DECIDE ON FIRST *PAGE-EVENT VALUE U'NAT:PAGE.END', U'NAT:BROWSER.END' IGNORE VALUE U'SHOWDETAILS' MYCONTEXT.SELECTEDARTICLE := ARTICLE INNERPAGE.CHANGEINDEX := INNERPAGE.CHANGEINDEX + 1 PROCESS PAGE UPDATE FULL NONE VALUE PROCESS PAGE UPDATE END-DECIDE * END