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