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