How to us SUBCISPAGE2

Hi again,

I tried to embbed a page with SUBCISPAGE2

Can you explain how the link has to look like?

I tried both version found in the documentation

0290 NJX_SUBBASCH.PAGE:=
0300 ‘/cisnatural/NatLogon.html’ -
0310 ‘&xciParameters.natsession=Local’ -
0320 ‘&xciParameters.natparamext=stack%3D%28LOGON+DOKA_E%3BGDPLGRID%29’

natsession=Local and natsession=workplaces

but both didn’t work

What value should natsession have?
Or what is wrong on the string?

BR,
Hermann

Hi Hermann,

the paramters you pass in the url of the subcispage are the same as the parameters you pass when starting the “outer page”. This means:
If you pass a natsession, be sure such a natsession is defined in your sessions.xml file.
Use the configuration tool to define your session. See http://techcommunity.softwareag.com/ecosystem/documentation/natural/njx835/webio/clientcfg-tool.htm#clientcfg-tool-session

You probably do not want to see the logon page in your subcispage control. To automatically logon either:
A) Define the user/password in your natsession
or
B) Use the same natsession id as for the outer page and set “Share session user” to “yes” in the session configuration tool.

Hint: the natsession id is case sensitive. So Workplace is different to workplace.

Best Regards,
Christine

Hi Christine,

thanks for your hints - it works and the page is embedded

one problem is left - the subpage is not executed automatically - how to do this?

I set INNERPAGE.CHANGEINDEX := INNERPAGE.CHANGEINDEX+1 before calling the outer page

BR,
Hermann

Hi Hermann,

Did you set a PAGEID in your innerpage?
The NaturalAjaxDemos contain a sample with a SUBCISPAGE2 control. The Natural program is CTRSUB-P.NSP.
In ONE you can simply install the NaturalAjaxDemos from the welcome page.
Does this give you some hints what could be wrong?

Best Regards,
Christine

Hi Christine,

yes - PAGEID is set
what is the function of PAGEID? It’s just set in the outer page as I can see from the example and nothing else?

I enclose my test programs and the xml definition of my pages.
the functionality should be if I click on a tab the inner page should be populated automatically

BR,
Hermann
subcispage.txt (22.8 KB)

Hi Hermann,

via PAGEID you can decide if you want to run your subcispage in a new Natural session. In the documentation you’ll find the description here:
http://techcommunity.softwareag.com/ecosystem/documentation/natural/njx835/njx/rowtabsubpages.htm#rowtabsubpages

Usually you set a PAGEID. So, I guess you did it correctly.

I would be interested in your layout and code-snippets. Could you please attach the relevant parts? Then I can give you some hints how to trigger the intented refresh.

Thanks + Best Regards,
Christine

Hi Christine,

in my last post I added the file subcispage.txt with the programs and xml-layouts

Is this the information you needed?

BR,
Hermann

…yes, sorry I missed this. I am trying it out…

Best Regards,
Christine

Hi Hermann,

you need to increase the changeindex in the event when the tab is pressed. In your example you have

VALUE U’onSelectTab’
WRITE ‘Tabindex:’ NJXTABINDEXPROP (AL=10)
PROCESS PAGE UPDATE FULL

Did you try

VALUE U’onSelectTab’
WRITE ‘Tabindex:’ NJXTABINDEXPROP (AL=10)
SUBPGEBASCH.CHANGEINDEX := SUBPGEBASCH.CHANGEINDEX+1
PROCESS PAGE UPDATE FULL

1 wish: It’s much easier if you attach the *.xml, *.NS8, *.NSP directly or in a *.zip file. It’s really time-consuming to extract them from a *.txt.

Please let me know if this changed code is doing what you want.

Thanks + Best Regards,
Christine

Hi Christine,

sorry for the .txt - I’ll try to improve :wink:

I used as suggested

VALUE U’onSelectTab’
WRITE ‘Tabindex:’ NJXTABINDEXPROP (AL=10)
SUBPGEBASCH.CHANGEINDEX := SUBPGEBASCH.CHANGEINDEX+1
PROCESS PAGE UPDATE FULL

but it’s still doesn’t work.
The subpage is not populated - just the empty layout is displayed.

BR,
Hermann

Hi Hermann,

please find attached a very simple sample as ONE project.
I didn’t have any problems showing the page when switching the tabs.

If you have an NWO server installed, you can just run the project in your ONE isntallation:

Please let me know if this helped you to get your sample running.

Best Regards,
Christine

TechnologySubcispage.zip (8.8 KB)

Hi Christine,

first - unfortunately ONE is still not rolled out - just for some pilot user - so I am still on SPoD
second - empower user are very restricted to a small group - so I can’t open your link

but third - and that’s on the one hand are good news - on the other not so good - maybe I could figure out what’s the problem

I seems to me that “GLOBAL USING XDAG00 WITH ROOT” isn’t working in SUBCISPAGE2

When I start the program/page directly I get this result

AG00-ID-GESCHAEFT ×Ùë8Þ-?? AG00-ISN-GESCHAEFT 200859

and the page displays entries and works as expected

When I start the program/page as subcispage the values from GDA are empty

AG00-ID-GESCHAEFT AG00-ISN-GESCHAEFT 0

So it looks like that the GDA is not used in SUBCISPAGE2 ?!?

BR,
Hermann

The subpage is a different session, so don’t expect the GDA from your containing page to be shared !

So how can I pass over the variables to subcispage2?

You will have to use context variables, in the documentation, have a look at

Reference → Non-Visual Controls and Hot Keys → XCICONTEXT

I have already found XCICONTEXT in the documentation but I wasn’t shure if I can use this as there is written:
“… between all pages running in the same session”
and you wrote that subpage is a different session therefore GDA doesn’t work.

So what is correct “same session/different session”?

BR,
Hermann

A bit confusing, I agree :wink:

Each browser “instance” maps to one NJX (or more precisely AD) “session”,

SUBpages are SUBsessions to this top level instance, so in fact

all “subsessions” are actually “running inside the same session”.

One additional hint:
The NaturalAjaxDemos contain an example with SUBCISPAGE2 control using XCICONTEXT to share data.
The programs are: CTRSUB-P the outer page and CTRSBI-P the inner page

Even if you don’t work with NaturalONE you can still download the latest NaturalAjaxDemos project containing all the sources, layouts and documentation. You can easily copy the sample code into your Natural Studio if you are still working with Natural Studio.

Best Regards,
Christine

Hi Christine,

yes - I found the example and where able to run it - unfortunately I have a little different situation.

I am starting from a rowtabarea (and there is no flushmethod like in the example) and open the fifth tab via the openedindexprop - in this fifth tab the subcispage is located and it should automatically start working.
So my questions are
(1) for the outer page: is there a special place where the XCICONTEXT has to be filled?
actually I fill it before opening the page with PROCESS PAGE
e.g.
CTXGFSU.CTXDAB := AG00-DAB-AKT
CTXGFSU.CTXIDGESCHAEFT := AG00-ID-GESCHAEFT
MOVE AG00-ISN-GESCHAEFT TO CTXGFSU.CTXISNGESCHAEFT
CTXGFSU.CTXNUMREFNR := AL05-REF-NR-EXT
CTXGFSU.CTXTXTBASCH := AG00-BASCH-BEZEICHNUNG
SUBPGEBASCH.CHANGEINDEX := SUBPGEBASCH.CHANGEINDEX+1
*
PROCESS PAGE USING “XDUA13A1”
*

(2) for the inner page - where to place the reading of XCICONTEXT?
as in the example I placed them in the NONE VALUE part of the PAGE-EVENT-DECIDE but either the XCICONTEXT is empty or the NONE VALUE is not called.

And that’s one of my problems - how can I debug such pages? (without NaturalONE and no server access)

Many thanks!

BR,
Hermann

Dear all,

sometimes it seems to be good to make a break (at least for one day) :slight_smile:

today all is working fine - don’nt really know what’s the difference to yesterday, but anyway :smiley:

thanks for your support!

BR,
Hermann

P.S. if you have some useful information to debugging …