[icf-dev] foreignFields/foreignValues

Posted by LegacyUser on 09-Jul-2002 02:28

Hi,

We are using an SDO from outside of the ADM2.

This works fine (using assignQuerySelection, openQuery, sendRows, and then

accessing the returned temp-table...) but now

we want to make use of the foreignKey functionality.

So we tried setting the foreignFields property and the foreignValues

property before

opening the query. However, this did not work.

Does anybody know where the content of the foreignFields/foreignValues

properties

is actually written in the where clause of the query ?

Any help greatly appreciated...

Mike Liewehr

IT focus GmbH

Informationstechnik & Beratung

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

...we can do IT!

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

rlanger.vcf

All Replies

Posted by LegacyUser on 09-Jul-2002 03:42

Mike,

Try

run updateAddQueryWhere(input pcWhere, pcField).

pcWhere = New WHERE clause

pcField = Field to search and replace.

Robert Langer

Mike Liewehr wrote:

Hi,

>

We are using an SDO from outside of the ADM2.

This works fine (using assignQuerySelection, openQuery, sendRows, and then

accessing the returned temp-table...) but now

we want to make use of the foreignKey functionality.

So we tried setting the foreignFields property and the foreignValues

property before

opening the query. However, this did not work.

Does anybody know where the content of the foreignFields/foreignValues

properties

is actually written in the where clause of the query ?

>

Any help greatly appreciated...

>

Mike Liewehr

>

IT focus GmbH

Informationstechnik & Beratung

>

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

>

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

>

...we can do IT!

>

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

--

Robert Langer

Consultant, Progress Software Sydney

This message represents my opinion, not that of Progress Software

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

Posted by LegacyUser on 09-Jul-2002 06:24

Robert,

that way I would have to build the where-clause myself,

therefore duplicating the functionality that is alredy there.

If you just link two SDO?s by a DATA-link and set the foreignFields

property then dynamics handles the generation of the where clause

in the data-target. I want to utilize this functionality, but

I can?t figure out where exactly that happens...

IT focus GmbH

Informationstechnik & Beratung

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

...we can do IT!

-Ursprungliche Nachricht-

Von: Robert Langer

Gesendet: Dienstag, 9. Juli 2002 10:43

An: dev@icf.possenet.org

Betreff: Re: foreignFields/foreignValues

Mike,

Try

run updateAddQueryWhere(input pcWhere, pcField).

pcWhere = New WHERE clause

pcField = Field to search and replace.

Robert Langer

Mike Liewehr wrote:

Hi,

>

We are using an SDO from outside of the ADM2.

This works fine (using assignQuerySelection, openQuery, sendRows, and then

accessing the returned temp-table...) but now

we want to make use of the foreignKey functionality.

So we tried setting the foreignFields property and the foreignValues

property before

opening the query. However, this did not work.

Does anybody know where the content of the foreignFields/foreignValues

properties

is actually written in the where clause of the query ?

>

Any help greatly appreciated...

>

Mike Liewehr

>

IT focus GmbH

Informationstechnik & Beratung

>

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

>

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

>

...we can do IT!

>

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

--

Robert Langer

Consultant, Progress Software Sydney

This message represents my opinion, not that of Progress Software

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

Posted by LegacyUser on 09-Jul-2002 08:41

Mike,

dataAvailable adds the foreignfields and values to the query. If you need to

call it directly pass 'different' as the parameter. 'different' is a request

to apply foreignfields and open query.

HÃ¥vard

-Original Message-

From: Mike Liewehr

Sent: Tuesday, July 09, 2002 3:29 AM

To: icf-dev@possenet.org

Subject: foreignFields/foreignValues

Hi,

We are using an SDO from outside of the ADM2.

This works fine (using assignQuerySelection, openQuery, sendRows, and then

accessing the returned temp-table...) but now

we want to make use of the foreignKey functionality.

So we tried setting the foreignFields property and the foreignValues

property before

opening the query. However, this did not work.

Does anybody know where the content of the foreignFields/foreignValues

properties

is actually written in the where clause of the query ?

Any help greatly appreciated...

Mike Liewehr

IT focus GmbH

Informationstechnik & Beratung

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

...we can do IT!

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

Posted by LegacyUser on 09-Jul-2002 09:54

Havard,

thanks for the information.

I looked into the dataAvailable code, but that

code expects a dataSource. But as we use the SDO

outside of Progress the data link exists only on the

client side (which in our case is VisualBasic).

This works the following way:

When we render the window that is stored in the dynamics repository from

within our VB client we

instantiate 2 data-classes which represent the SDOs in VB. Those

data-classes

(similar to data.p on the Server side) are then linked together by a

DATA-link.

So when the first data-class gets e.g. a fetchFirst from a Toolbar, it goes

to the AppServer,

instantiates the Serverside SDO, fetches the data using sendRows, converts

the receiving temptable into an ADO recordset, and shuts down the SDO.

It then publishes dataAvailable (on the VB client!), which forces the 2nd

data-class to do the same for its SDO.

The second data-class has its foreignFields property set and reads the

columnValues from its dataSource

(again on the VB-Client) and passes that information to the Serverside SDO

by setting the foreignValues property.

So on the Serverside there is no DATA-Link between the two SDOs, as the data

is fetched in 2 separate stateless calls.

I Thought that the code for setting the where clause for foreignFields is

somewhere in the openQuery method,

and reads the value of the foreignValues property (Which then could be set

by dataAvailable).

However, the code in dataAvailable always tries to read the foreignValues

from its data-Source and sets

the foreignValues property to the unknown value if there is no data-Source.

This makes it impossible to use that functionality from an open client in a

straight-forward way.

I will try to work around this by calling assignQuerySelection from within

openQuery if the foreignValues property is set

and there is no data-source. Do you think this is a reasonable way to

achieve this or am I going the wrong way ?

Regards

Mike

IT focus GmbH

Informationstechnik & Beratung

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

...we can do IT!

-Ursprüngliche Nachricht-

Von: Havard Danielsen

Gesendet: Dienstag, 9. Juli 2002 15:41

An: dev@icf.possenet.org; icf-dev@possenet.org

Betreff: RE: foreignFields/foreignValues

Mike,

dataAvailable adds the foreignfields and values to the query. If you need to

call it directly pass 'different' as the parameter. 'different' is a request

to apply foreignfields and open query.

HÃ¥vard

-Original Message-

From: Mike Liewehr

Sent: Tuesday, July 09, 2002 3:29 AM

To: icf-dev@possenet.org

Subject: foreignFields/foreignValues

Hi,

We are using an SDO from outside of the ADM2.

This works fine (using assignQuerySelection, openQuery, sendRows, and then

accessing the returned temp-table...) but now

we want to make use of the foreignKey functionality.

So we tried setting the foreignFields property and the foreignValues

property before

opening the query. However, this did not work.

Does anybody know where the content of the foreignFields/foreignValues

properties

is actually written in the where clause of the query ?

Any help greatly appreciated...

Mike Liewehr

IT focus GmbH

Informationstechnik & Beratung

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

...we can do IT!

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

Posted by LegacyUser on 09-Jul-2002 14:31

Your override of openQuery should be ok. (It is possible that the standard

openQuery also should do this)

In our GUI client we apply the foreignfields criteria to the querystring

before it is sent to the client.

We can not require open clients to do this, so we are looking into providing

a better solution/api. As of current the dynamics web client starts the

parent SDO and finds one record in it and links the objects on the server to

resolve this kind of request.

This is not optimal as all parent info are already on the client, but there

are other parent-child cases that would benefit from linking the data

objects on the server. All data requests for the dynamics web are currently

managed by a server container, so that any number of child data objects can

be linked and fetched with the same server hit.

HÃ¥vard

-Original Message-

From: Mike Liewehr

Sent: Tuesday, July 09, 2002 10:55 AM

To: dev@icf.possenet.org

Subject: AW: foreignFields/foreignValues

Havard,

thanks for the information.

I looked into the dataAvailable code, but that

code expects a dataSource. But as we use the SDO

outside of Progress the data link exists only on the

client side (which in our case is VisualBasic).

This works the following way:

When we render the window that is stored in the dynamics repository from

within our VB client we

instantiate 2 data-classes which represent the SDOs in VB. Those

data-classes

(similar to data.p on the Server side) are then linked together by a

DATA-link.

So when the first data-class gets e.g. a fetchFirst from a Toolbar, it goes

to the AppServer,

instantiates the Serverside SDO, fetches the data using sendRows, converts

the receiving temptable into an ADO recordset, and shuts down the SDO.

It then publishes dataAvailable (on the VB client!), which forces the 2nd

data-class to do the same for its SDO.

The second data-class has its foreignFields property set and reads the

columnValues from its dataSource

(again on the VB-Client) and passes that information to the Serverside SDO

by setting the foreignValues property.

So on the Serverside there is no DATA-Link between the two SDOs, as the data

is fetched in 2 separate stateless calls.

I Thought that the code for setting the where clause for foreignFields is

somewhere in the openQuery method,

and reads the value of the foreignValues property (Which then could be set

by dataAvailable).

However, the code in dataAvailable always tries to read the foreignValues

from its data-Source and sets

the foreignValues property to the unknown value if there is no data-Source.

This makes it impossible to use that functionality from an open client in a

straight-forward way.

I will try to work around this by calling assignQuerySelection from within

openQuery if the foreignValues property is set

and there is no data-source. Do you think this is a reasonable way to

achieve this or am I going the wrong way ?

Regards

Mike

IT focus GmbH

Informationstechnik & Beratung

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

...we can do IT!

-Ursprüngliche Nachricht-

Von: Havard Danielsen

Gesendet: Dienstag, 9. Juli 2002 15:41

An: dev@icf.possenet.org; icf-dev@possenet.org

Betreff: RE: foreignFields/foreignValues

Mike,

dataAvailable adds the foreignfields and values to the query. If you need to

call it directly pass 'different' as the parameter. 'different' is a request

to apply foreignfields and open query.

HÃ¥vard

-Original Message-

From: Mike Liewehr

Sent: Tuesday, July 09, 2002 3:29 AM

To: icf-dev@possenet.org

Subject: foreignFields/foreignValues

Hi,

We are using an SDO from outside of the ADM2.

This works fine (using assignQuerySelection, openQuery, sendRows, and then

accessing the returned temp-table...) but now

we want to make use of the foreignKey functionality.

So we tried setting the foreignFields property and the foreignValues

property before

opening the query. However, this did not work.

Does anybody know where the content of the foreignFields/foreignValues

properties

is actually written in the where clause of the query ?

Any help greatly appreciated...

Mike Liewehr

IT focus GmbH

Informationstechnik & Beratung

Schultheiss-Koehle-Str. 1

D-71636 Ludwigsburg

fon: +49 7141 4748 0

fax: +49 7141 4748 11

mailto:mike.liewehr@itfocus.com

http://www.itfocus.com

...we can do IT!

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

For additional commands, e-mail: dev-help@icf.possenet.org

This thread is closed