Alaska Software Inc. - Automatic Data Persistence Problem
Username: Password:
AuthorTopic: Automatic Data Persistence Problem
Jonathan LeemingAutomatic Data Persistence Problem
on Fri, 23 Jun 2017 08:13:26 -0600
Hi...

Looking through websamples/index.cxp I came across entity storage.  In 
the comments of the appdata.cxp example it refers to 
::Application:Data:TotalRequestCount however when I put the lines:

IF VALTYPE(::Application:Data:TotalRequestCount) == "N"
    ::Application:Data:TotalRequestCount++
ELSE
    ::Application:Data:TotalRequestCount := 1
ENDIF

I get an error: Object has no member variable with this name

If I simply use ::Data:TotalRequestCount I do not get an error however 
the scope ii only for the current page and I'm interested in it being 
application wide as per the documenation...

Application-specific data can be read or written
by accessing ::Application:Datayour variable).
This kind of variable is visible to all pages in
your CXP application.

I'm hoping it's a glitch in the documentation

Regards... Jonathan
Nestor G. TorresRe: Automatic Data Persistence Problem
on Mon, 26 Jun 2017 09:49:00 +0200
Hi Jonathan,

What you should be using instead of "::Application" is the root name or 
first CXP application name executed when opening your web application. 
for example: mycxpapp.cxp and within this cxp app setup your variables like:
::mycxpapp:Data:TotalRequestCount := 1

Then that variable will be seen by all other cxp app executing from your 
web page.

Sometimes you must use a crystal ball when reading the doc's.

Hope this helps.
Kind regards
Nestor


On 2017/06/23 16:13, Jonathan Leeming wrote:
> Hi...
> 
> Looking through websamples/index.cxp I came across entity storage.  In 
> the comments of the appdata.cxp example it refers to 
> ::Application:Data:TotalRequestCount however when I put the lines:
> 
> IF VALTYPE(::Application:Data:TotalRequestCount) == "N"
>     ::Application:Data:TotalRequestCount++
> ELSE
>     ::Application:Data:TotalRequestCount := 1
> ENDIF
> 
> I get an error: Object has no member variable with this name
> 
> If I simply use ::Data:TotalRequestCount I do not get an error however 
> the scope ii only for the current page and I'm interested in it being 
> application wide as per the documenation...
> 
> Application-specific data can be read or written
> by accessing ::Application:Datayour variable).
> This kind of variable is visible to all pages in
> your CXP application.
> 
> I'm hoping it's a glitch in the documentation
> 
> Regards... Jonathan
>
Jonathan LeemingRe: Automatic Data Persistence Problem
on Mon, 26 Jun 2017 08:11:59 -0600
On 6/26/2017 1:49 AM, Nestor G. Torres wrote:
> Hi Jonathan,
> 
> What you should be using instead of "::Application" is the root name or 
> first CXP application name executed when opening your web application. 
> for example: mycxpapp.cxp and within this cxp app setup your variables 
> like:
> ::mycxpapp:Data:TotalRequestCount := 1
> 
> Then that variable will be seen by all other cxp app executing from your 
> web page.
> 
> Sometimes you must use a crystal ball when reading the doc's.
> 
> Hope this helps.
> Kind regards
> Nestor
> 
> 
> On 2017/06/23 16:13, Jonathan Leeming wrote:
>> Hi...
>>
>> Looking through websamples/index.cxp I came across entity storage.  In 
>> the comments of the appdata.cxp example it refers to 
>> ::Application:Data:TotalRequestCount however when I put the lines:
>>
>> IF VALTYPE(::Application:Data:TotalRequestCount) == "N"
>>     ::Application:Data:TotalRequestCount++
>> ELSE
>>     ::Application:Data:TotalRequestCount := 1
>> ENDIF
>>
>> I get an error: Object has no member variable with this name
>>
>> If I simply use ::Data:TotalRequestCount I do not get an error however 
>> the scope ii only for the current page and I'm interested in it being 
>> application wide as per the documenation...
>>
>> Application-specific data can be read or written
>> by accessing ::Application:Datayour variable).
>> This kind of variable is visible to all pages in
>> your CXP application.
>>
>> I'm hoping it's a glitch in the documentation
>>
>> Regards... Jonathan
>>
> 
Hi Nestor... And thanks but I must be missing something.

I have a number of CXP files making up my little application.  The first 
to be run is Login.CXP where I have...

IF VALTYPE(::Login:Data:Counter) == "N"
    ::Login:Data:Counter++
ELSE
    ::Login:Data:Counter := 1
ENDIF

A few lines further on in Login.CXP I then have...

      <h2 align="center">Login to The Family Centre 
@(STR(::Login:Data:Counter))</h2>

where the incremented data counter displays as expected.

Login.CXP then calls Menu.CXP where I have a line...

<h2 align="center">The Family Centre @(STR(::Login:Data:Counter))</h2>

but this errors out with: Object has no member variable with this name

Conceptually, I like how I would envision your proposed solution would 
work, but I guess I'm misinterpreting your suggestion.

I did submit a query to Alaska support last week and this morning they 
responded with...

As a matter of fact application wide data management is not readily 
implemented yet. Currently I am not sure how the comment made its way to 
the appdata.cxp sample.

A PDR has been opened so I may just have to wait...

http://www.alaska-software.com/scripts/waa001.dll?WAA_PACKAGE=PUBLICDTS&WAA_FORM=DISPLAYPDR&PDRID=6907

Thanks again Nestor and please let me know if I am missing something... 
it has happened before!

Regards... Jonathan
Nestor G. TorresRe: Automatic Data Persistence Problem
on Tue, 27 Jun 2017 06:53:28 +0200
Hi Jonathan,

Try using "::Session" in your first CXP application executed when 
opening your web application. for example: myfirstcxpapp.cxp and within 
this cxp app setup your variables like:
::Session:TotalRequestCount := 1 /* drop the data qualifier */

Then that variable should be seen by all other cxp app executing from 
your web page within the User's.

Hope this helps.
Kind regards
Nestor



On 2017/06/26 16:11, Jonathan Leeming wrote:
> On 6/26/2017 1:49 AM, Nestor G. Torres wrote:
>> Hi Jonathan,
>>
>> What you should be using instead of "::Application" is the root name 
>> or first CXP application name executed when opening your web 
>> application. for example: mycxpapp.cxp and within this cxp app setup 
>> your variables like:
>> ::mycxpapp:Data:TotalRequestCount := 1
>>
>> Then that variable will be seen by all other cxp app executing from 
>> your web page.
>>
>> Sometimes you must use a crystal ball when reading the doc's.
>>
>> Hope this helps.
>> Kind regards
>> Nestor
>>
>>
>> On 2017/06/23 16:13, Jonathan Leeming wrote:
>>> Hi...
>>>
>>> Looking through websamples/index.cxp I came across entity storage.  
>>> In the comments of the appdata.cxp example it refers to 
>>> ::Application:Data:TotalRequestCount however when I put the lines:
>>>
>>> IF VALTYPE(::Application:Data:TotalRequestCount) == "N"
>>>     ::Application:Data:TotalRequestCount++
>>> ELSE
>>>     ::Application:Data:TotalRequestCount := 1
>>> ENDIF
>>>
>>> I get an error: Object has no member variable with this name
>>>
>>> If I simply use ::Data:TotalRequestCount I do not get an error 
>>> however the scope ii only for the current page and I'm interested in 
>>> it being application wide as per the documenation...
>>>
>>> Application-specific data can be read or written
>>> by accessing ::Application:Datayour variable).
>>> This kind of variable is visible to all pages in
>>> your CXP application.
>>>
>>> I'm hoping it's a glitch in the documentation
>>>
>>> Regards... Jonathan
>>>
>>
> Hi Nestor... And thanks but I must be missing something.
> 
> I have a number of CXP files making up my little application.  The first 
> to be run is Login.CXP where I have...
> 
> IF VALTYPE(::Login:Data:Counter) == "N"
>     ::Login:Data:Counter++
> ELSE
>     ::Login:Data:Counter := 1
> ENDIF
> 
> A few lines further on in Login.CXP I then have...
> 
>       <h2 align="center">Login to The Family Centre 
> @(STR(::Login:Data:Counter))</h2>
> 
> where the incremented data counter displays as expected.
> 
> Login.CXP then calls Menu.CXP where I have a line...
> 
> <h2 align="center">The Family Centre @(STR(::Login:Data:Counter))</h2>
> 
> but this errors out with: Object has no member variable with this name
> 
> Conceptually, I like how I would envision your proposed solution would 
> work, but I guess I'm misinterpreting your suggestion.
> 
> I did submit a query to Alaska support last week and this morning they 
> responded with...
> 
> As a matter of fact application wide data management is not readily 
> implemented yet. Currently I am not sure how the comment made its way to 
> the appdata.cxp sample.
> 
> A PDR has been opened so I may just have to wait...
> 
> http://www.alaska-software.com/scripts/waa001.dll?WAA_PACKAGE=PUBLICDTS&WAA_FORM=DISPLAYPDR&PDRID=6907 
> 
> 
> Thanks again Nestor and please let me know if I am missing something... 
> it has happened before!
> 
> Regards... Jonathan
>
Nestor G. TorresRe: Automatic Data Persistence Problem
on Tue, 27 Jun 2017 07:11:30 +0200
If you want to keep a cumulative counter going, then maybe the logic 
should be

1) When User first opens the page then call a small cxp routine that 
reads the cumulative counter and sets the ::session:TotalRequestCount := 
dbfTotalRequestCount

2) In your cxp page that requires the counter to be incremented then 
call a cxp function that increments the ::session:TotalRequestCount++ 
and updates the dbfTotalRequestCount:= ::session:TotalRequestCount ... 
update dbf table.



On 2017/06/27 06:53, Nestor G. Torres wrote:
> Hi Jonathan,
> 
> Try using "::Session" in your first CXP application executed when 
> opening your web application. for example: myfirstcxpapp.cxp and within 
> this cxp app setup your variables like:
> ::Session:TotalRequestCount := 1 /* drop the data qualifier */
> 
> Then that variable should be seen by all other cxp app executing from 
> your web page within the User's.
> 
> Hope this helps.
> Kind regards
> Nestor
> 
> 
> 
> On 2017/06/26 16:11, Jonathan Leeming wrote:
>> On 6/26/2017 1:49 AM, Nestor G. Torres wrote:
>>> Hi Jonathan,
>>>
>>> What you should be using instead of "::Application" is the root name 
>>> or first CXP application name executed when opening your web 
>>> application. for example: mycxpapp.cxp and within this cxp app setup 
>>> your variables like:
>>> ::mycxpapp:Data:TotalRequestCount := 1
>>>
>>> Then that variable will be seen by all other cxp app executing from 
>>> your web page.
>>>
>>> Sometimes you must use a crystal ball when reading the doc's.
>>>
>>> Hope this helps.
>>> Kind regards
>>> Nestor
>>>
>>>
>>> On 2017/06/23 16:13, Jonathan Leeming wrote:
>>>> Hi...
>>>>
>>>> Looking through websamples/index.cxp I came across entity storage. 
>>>> In the comments of the appdata.cxp example it refers to 
>>>> ::Application:Data:TotalRequestCount however when I put the lines:
>>>>
>>>> IF VALTYPE(::Application:Data:TotalRequestCount) == "N"
>>>>     ::Application:Data:TotalRequestCount++
>>>> ELSE
>>>>     ::Application:Data:TotalRequestCount := 1
>>>> ENDIF
>>>>
>>>> I get an error: Object has no member variable with this name
>>>>
>>>> If I simply use ::Data:TotalRequestCount I do not get an error 
>>>> however the scope ii only for the current page and I'm interested in 
>>>> it being application wide as per the documenation...
>>>>
>>>> Application-specific data can be read or written
>>>> by accessing ::Application:Datayour variable).
>>>> This kind of variable is visible to all pages in
>>>> your CXP application.
>>>>
>>>> I'm hoping it's a glitch in the documentation
>>>>
>>>> Regards... Jonathan
>>>>
>>>
>> Hi Nestor... And thanks but I must be missing something.
>>
>> I have a number of CXP files making up my little application.  The 
>> first to be run is Login.CXP where I have...
>>
>> IF VALTYPE(::Login:Data:Counter) == "N"
>>     ::Login:Data:Counter++
>> ELSE
>>     ::Login:Data:Counter := 1
>> ENDIF
>>
>> A few lines further on in Login.CXP I then have...
>>
>>       <h2 align="center">Login to The Family Centre 
>> @(STR(::Login:Data:Counter))</h2>
>>
>> where the incremented data counter displays as expected.
>>
>> Login.CXP then calls Menu.CXP where I have a line...
>>
>> <h2 align="center">The Family Centre @(STR(::Login:Data:Counter))</h2>
>>
>> but this errors out with: Object has no member variable with this name
>>
>> Conceptually, I like how I would envision your proposed solution would 
>> work, but I guess I'm misinterpreting your suggestion.
>>
>> I did submit a query to Alaska support last week and this morning they 
>> responded with...
>>
>> As a matter of fact application wide data management is not readily 
>> implemented yet. Currently I am not sure how the comment made its way 
>> to the appdata.cxp sample.
>>
>> A PDR has been opened so I may just have to wait...
>>
>> http://www.alaska-software.com/scripts/waa001.dll?WAA_PACKAGE=PUBLICDTS&WAA_FORM=DISPLAYPDR&PDRID=6907 
>>
>>
>> Thanks again Nestor and please let me know if I am missing 
>> something... it has happened before!
>>
>> Regards... Jonathan
>>
>
Jonathan LeemingRe: Automatic Data Persistence Problem
on Tue, 27 Jun 2017 13:05:59 -0600
Hi Nestor,

I may have misled you with my use of a counter... I simply used it as an 
example that I had copied directly from Alaska's sample.  My real intent 
is as follows...

I do not want the IIS machine that is running my CXP pages to have any 
direct access to my datafiles or even the server.  My CXP machine that 
is not directly on the main network makes a socket connection to another 
PC running as a socket server thru a dedicated direct wired CAT5 
connection.  The Socket Server machine accesses the server to collect 
what ever data is requested by the CXP machine and fires the results 
back as an array to the CXP machine.  My CXP application can 
authenticate the user, scroll through data records and allow one to edit 
/ update information without having any DBE capabilities.

I was considering using the documented CXP ::Application:Data: to store 
picklists that could be used/shared by all instances of the CXP 
application. The ::Data:SomeVariable appears to work OK and would allow 
the picklist to be shared by all instances of that specific CXP program 
but not by all instances of all CXP programs making up the application.

Currently the socket server will save a copy of the picklist read during 
the first CXP request made to the server since it started as an array. 
Subsequent requests from a CXP page for the same picklist would simply 
sent back the array rather than re-reading it from the server.  I was 
simply looking to store the picklists locally although then I have to 
consider ensuring the picklists storing in the CXP entity storage are 
current.

Actually of more interest to me is being able to use the same socket 
connection within an instance of my CXP application as Login.CXP calls 
Menu.CXP which calls BrowseEngage.cxp which call EditEngage.cxp. 
Currently I'm opening & closing socket connections because I can not 
figure out how to reference the socket opening by the previous CXP 
program.  If I could the socket server could maintain all the details 
regarding open data files within a single socket thread for each 
connection instance.  Otherwise I have to reopen & re-position data 
files as the chain of CXP programs closes & opens socket connections.

Thanks for your feedback and suggestions... as always, thought 
provoking... Regards... Jonathan


On 6/26/2017 11:11 PM, Nestor G. Torres wrote:
> If you want to keep a cumulative counter going, then maybe the logic 
> should be
> 
> 1) When User first opens the page then call a small cxp routine that 
> reads the cumulative counter and sets the ::session:TotalRequestCount := 
> dbfTotalRequestCount
> 
> 2) In your cxp page that requires the counter to be incremented then 
> call a cxp function that increments the ::session:TotalRequestCount++ 
> and updates the dbfTotalRequestCount:= ::session:TotalRequestCount ... 
> update dbf table.
> 
> 
> 
> On 2017/06/27 06:53, Nestor G. Torres wrote:
>> Hi Jonathan,
>>
>> Try using "::Session" in your first CXP application executed when 
>> opening your web application. for example: myfirstcxpapp.cxp and 
>> within this cxp app setup your variables like:
>> ::Session:TotalRequestCount := 1 /* drop the data qualifier */
>>
>> Then that variable should be seen by all other cxp app executing from 
>> your web page within the User's.
>>
>> Hope this helps.
>> Kind regards
>> Nestor
>>
>>
>>
>> On 2017/06/26 16:11, Jonathan Leeming wrote:
>>> On 6/26/2017 1:49 AM, Nestor G. Torres wrote:
>>>> Hi Jonathan,
>>>>
>>>> What you should be using instead of "::Application" is the root name 
>>>> or first CXP application name executed when opening your web 
>>>> application. for example: mycxpapp.cxp and within this cxp app setup 
>>>> your variables like:
>>>> ::mycxpapp:Data:TotalRequestCount := 1
>>>>
>>>> Then that variable will be seen by all other cxp app executing from 
>>>> your web page.
>>>>
>>>> Sometimes you must use a crystal ball when reading the doc's.
>>>>
>>>> Hope this helps.
>>>> Kind regards
>>>> Nestor
>>>>
>>>>
>>>> On 2017/06/23 16:13, Jonathan Leeming wrote:
>>>>> Hi...
>>>>>
>>>>> Looking through websamples/index.cxp I came across entity storage. 
>>>>> In the comments of the appdata.cxp example it refers to 
>>>>> ::Application:Data:TotalRequestCount however when I put the lines:
>>>>>
>>>>> IF VALTYPE(::Application:Data:TotalRequestCount) == "N"
>>>>>     ::Application:Data:TotalRequestCount++
>>>>> ELSE
>>>>>     ::Application:Data:TotalRequestCount := 1
>>>>> ENDIF
>>>>>
>>>>> I get an error: Object has no member variable with this name
>>>>>
>>>>> If I simply use ::Data:TotalRequestCount I do not get an error 
>>>>> however the scope ii only for the current page and I'm interested 
>>>>> in it being application wide as per the documenation...
>>>>>
>>>>> Application-specific data can be read or written
>>>>> by accessing ::Application:Datayour variable).
>>>>> This kind of variable is visible to all pages in
>>>>> your CXP application.
>>>>>
>>>>> I'm hoping it's a glitch in the documentation
>>>>>
>>>>> Regards... Jonathan
>>>>>
>>>>
>>> Hi Nestor... And thanks but I must be missing something.
>>>
>>> I have a number of CXP files making up my little application.  The 
>>> first to be run is Login.CXP where I have...
>>>
>>> IF VALTYPE(::Login:Data:Counter) == "N"
>>>     ::Login:Data:Counter++
>>> ELSE
>>>     ::Login:Data:Counter := 1
>>> ENDIF
>>>
>>> A few lines further on in Login.CXP I then have...
>>>
>>>       <h2 align="center">Login to The Family Centre 
>>> @(STR(::Login:Data:Counter))</h2>
>>>
>>> where the incremented data counter displays as expected.
>>>
>>> Login.CXP then calls Menu.CXP where I have a line...
>>>
>>> <h2 align="center">The Family Centre @(STR(::Login:Data:Counter))</h2>
>>>
>>> but this errors out with: Object has no member variable with this name
>>>
>>> Conceptually, I like how I would envision your proposed solution 
>>> would work, but I guess I'm misinterpreting your suggestion.
>>>
>>> I did submit a query to Alaska support last week and this morning 
>>> they responded with...
>>>
>>> As a matter of fact application wide data management is not readily 
>>> implemented yet. Currently I am not sure how the comment made its way 
>>> to the appdata.cxp sample.
>>>
>>> A PDR has been opened so I may just have to wait...
>>>
>>> http://www.alaska-software.com/scripts/waa001.dll?WAA_PACKAGE=PUBLICDTS&WAA_FORM=DISPLAYPDR&PDRID=6907 
>>>
>>>
>>> Thanks again Nestor and please let me know if I am missing 
>>> something... it has happened before!
>>>
>>> Regards... Jonathan
>>>
>>
>
Nestor G. TorresRe: Automatic Data Persistence Problem
on Wed, 28 Jun 2017 09:15:23 +0200
Jonathan

Thanks for the update. I am currently not into Sockets; and you are 
leading in that field; so I can not offer any option/hep.

But I am glad you are pursuing interesting ideas and concepts.

Have a great day and kind regards.

Nestor

On 2017/06/27 21:05, Jonathan Leeming wrote:
> Hi Nestor,
> 
> I may have misled you with my use of a counter... I simply used it as an 
> example that I had copied directly from Alaska's sample.  My real intent 
> is as follows...
> 
> I do not want the IIS machine that is running my CXP pages to have any 
> direct access to my datafiles or even the server.  My CXP machine that 
> is not directly on the main network makes a socket connection to another 
> PC running as a socket server thru a dedicated direct wired CAT5 
> connection.  The Socket Server machine accesses the server to collect 
> what ever data is requested by the CXP machine and fires the results 
> back as an array to the CXP machine.  My CXP application can 
> authenticate the user, scroll through data records and allow one to edit 
> / update information without having any DBE capabilities.
> 
> I was considering using the documented CXP ::Application:Data: to store 
> picklists that could be used/shared by all instances of the CXP 
> application. The ::Data:SomeVariable appears to work OK and would allow 
> the picklist to be shared by all instances of that specific CXP program 
> but not by all instances of all CXP programs making up the application.
> 
> Currently the socket server will save a copy of the picklist read during 
> the first CXP request made to the server since it started as an array. 
> Subsequent requests from a CXP page for the same picklist would simply 
> sent back the array rather than re-reading it from the server.  I was 
> simply looking to store the picklists locally although then I have to 
> consider ensuring the picklists storing in the CXP entity storage are 
> current.
> 
> Actually of more interest to me is being able to use the same socket 
> connection within an instance of my CXP application as Login.CXP calls 
> Menu.CXP which calls BrowseEngage.cxp which call EditEngage.cxp. 
> Currently I'm opening & closing socket connections because I can not 
> figure out how to reference the socket opening by the previous CXP 
> program.  If I could the socket server could maintain all the details 
> regarding open data files within a single socket thread for each 
> connection instance.  Otherwise I have to reopen & re-position data 
> files as the chain of CXP programs closes & opens socket connections.
> 
> Thanks for your feedback and suggestions... as always, thought 
> provoking... Regards... Jonathan
> 
> 
> On 6/26/2017 11:11 PM, Nestor G. Torres wrote:
>> If you want to keep a cumulative counter going, then maybe the logic 
>> should be
>>
>> 1) When User first opens the page then call a small cxp routine that 
>> reads the cumulative counter and sets the ::session:TotalRequestCount 
>> := dbfTotalRequestCount
>>
>> 2) In your cxp page that requires the counter to be incremented then 
>> call a cxp function that increments the ::session:TotalRequestCount++ 
>> and updates the dbfTotalRequestCount:= ::session:TotalRequestCount ... 
>> update dbf table.
>>
>>
>>
>> On 2017/06/27 06:53, Nestor G. Torres wrote:
>>> Hi Jonathan,
>>>
>>> Try using "::Session" in your first CXP application executed when 
>>> opening your web application. for example: myfirstcxpapp.cxp and 
>>> within this cxp app setup your variables like:
>>> ::Session:TotalRequestCount := 1 /* drop the data qualifier */
>>>
>>> Then that variable should be seen by all other cxp app executing from 
>>> your web page within the User's.
>>>
>>> Hope this helps.
>>> Kind regards
>>> Nestor
>>>
>>>
>>>
>>> On 2017/06/26 16:11, Jonathan Leeming wrote:
>>>> On 6/26/2017 1:49 AM, Nestor G. Torres wrote:
>>>>> Hi Jonathan,
>>>>>
>>>>> What you should be using instead of "::Application" is the root 
>>>>> name or first CXP application name executed when opening your web 
>>>>> application. for example: mycxpapp.cxp and within this cxp app 
>>>>> setup your variables like:
>>>>> ::mycxpapp:Data:TotalRequestCount := 1
>>>>>
>>>>> Then that variable will be seen by all other cxp app executing from 
>>>>> your web page.
>>>>>
>>>>> Sometimes you must use a crystal ball when reading the doc's.
>>>>>
>>>>> Hope this helps.
>>>>> Kind regards
>>>>> Nestor
>>>>>
>>>>>
>>>>> On 2017/06/23 16:13, Jonathan Leeming wrote:
>>>>>> Hi...
>>>>>>
>>>>>> Looking through websamples/index.cxp I came across entity storage. 
>>>>>> In the comments of the appdata.cxp example it refers to 
>>>>>> ::Application:Data:TotalRequestCount however when I put the lines:
>>>>>>
>>>>>> IF VALTYPE(::Application:Data:TotalRequestCount) == "N"
>>>>>>     ::Application:Data:TotalRequestCount++
>>>>>> ELSE
>>>>>>     ::Application:Data:TotalRequestCount := 1
>>>>>> ENDIF
>>>>>>
>>>>>> I get an error: Object has no member variable with this name
>>>>>>
>>>>>> If I simply use ::Data:TotalRequestCount I do not get an error 
>>>>>> however the scope ii only for the current page and I'm interested 
>>>>>> in it being application wide as per the documenation...
>>>>>>
>>>>>> Application-specific data can be read or written
>>>>>> by accessing ::Application:Datayour variable).
>>>>>> This kind of variable is visible to all pages in
>>>>>> your CXP application.
>>>>>>
>>>>>> I'm hoping it's a glitch in the documentation
>>>>>>
>>>>>> Regards... Jonathan
>>>>>>
>>>>>
>>>> Hi Nestor... And thanks but I must be missing something.
>>>>
>>>> I have a number of CXP files making up my little application.  The 
>>>> first to be run is Login.CXP where I have...
>>>>
>>>> IF VALTYPE(::Login:Data:Counter) == "N"
>>>>     ::Login:Data:Counter++
>>>> ELSE
>>>>     ::Login:Data:Counter := 1
>>>> ENDIF
>>>>
>>>> A few lines further on in Login.CXP I then have...
>>>>
>>>>       <h2 align="center">Login to The Family Centre 
>>>> @(STR(::Login:Data:Counter))</h2>
>>>>
>>>> where the incremented data counter displays as expected.
>>>>
>>>> Login.CXP then calls Menu.CXP where I have a line...
>>>>
>>>> <h2 align="center">The Family Centre @(STR(::Login:Data:Counter))</h2>
>>>>
>>>> but this errors out with: Object has no member variable with this name
>>>>
>>>> Conceptually, I like how I would envision your proposed solution 
>>>> would work, but I guess I'm misinterpreting your suggestion.
>>>>
>>>> I did submit a query to Alaska support last week and this morning 
>>>> they responded with...
>>>>
>>>> As a matter of fact application wide data management is not readily 
>>>> implemented yet. Currently I am not sure how the comment made its 
>>>> way to the appdata.cxp sample.
>>>>
>>>> A PDR has been opened so I may just have to wait...
>>>>
>>>> http://www.alaska-software.com/scripts/waa001.dll?WAA_PACKAGE=PUBLICDTS&WAA_FORM=DISPLAYPDR&PDRID=6907 
>>>>
>>>>
>>>> Thanks again Nestor and please let me know if I am missing 
>>>> something... it has happened before!
>>>>
>>>> Regards... Jonathan
>>>>
>>>
>>
>