One of the beauties about the method that was written for the storefront is
that if a particular table does not have a counter created for it, it will
create one automatically. The counter table has three fields: counter_name
(varchar 35 characters), counter_value (integer), and locked (integer).

The calling tag is:

<@ASSIGN local$NewID "<@CALLMETHOD scope$variable 'GetNextID(xxx)'>">

where 'scope' and 'variable' are what you've declared your object instance
to be and 'xxx' is the name of the counter you wish to call. I use the table
name for the name of the counter to keep things easy to remember. To use the
value brought back by the call to the counter, use <@VAR NewID SCOPE=Local>.
For your situation you could have this:

<@ASSIGN local$NewCourseID "<@CALLMETHOD scope$variable
'GetNextID(course)'>">
<@ASSIGN local$NewCourse_CrosslinkID "<@CALLMETHOD scope$variable
'GetNextID(course_crosslink)'>">

in a results action immediately before the insert for the course table. You
would then have two variables:

<@VAR NewCourseID SCOPE=Local>

would contain the courseID and:

<@VAR NewCourse_CrosslinkID SCOPE=Local>

would contain the course_crosslinkID.

Hope this helps,

Steve Smith

Skadt Information Solutions
Office: (519) 624-4388
GTA:    (416) 606-3885
Fax:    (519) 624-3353
Cell:   (416) 606-3885
Email:  [EMAIL PROTECTED]
Web:    http://www.skadt.com


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Dan Stein
Sent: May 21, 2002 2:34 PM
To: Multiple recipients of list witango-talk
Subject: Re: Witango-Talk: Next WiTango_SQL conundrum


The first suggestion sounds interesting can you expand?
Is the counter table pre populated how do I do GetNextID method?
I'll try and dig up the demo.

Dan

on 5/21/02 1:28 PM, Steve Smith at [EMAIL PROTECTED] wrote:

> Two suggestions. First, why not go with a counter table and use the
> GetNextID method that was included in the TCF for the storefront demo. It
> retrieves the next id which you can then use in your insert for the course
> table AND for the course_crosslink table. It will guarentee that you have
> the right value in both.
>
> The other suggestion if you are determined to not use a counter table is
to
> use the same values for the insert in your search rather than searching
for
> max course_ID. You run a far less chance of obtaining the wrong course_ID
if
> use the exact same <@ARG xxx> values for the search criteria that were
used
> in the insert action.
>
> Hope this helps,
>
> Steve Smith
>
> Skadt Information Solutions
> Office: (519) 624-4388
> GTA:    (416) 606-3885
> Fax:    (519) 624-3353
> Cell:   (416) 606-3885
> Email:  [EMAIL PROTECTED]
> Web:    http://www.skadt.com
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Dan Stein
> Sent: May 21, 2002 11:58 AM
> To: Multiple recipients of list witango-talk
> Subject: Witango-Talk: Next WiTango_SQL conundrum
>
>
> OK I have fixed everything else data is where it needs to be and everyone
> was a big help.
>
> Here is my next issue.
>
> When I create a course with create_course.taf after the insert there is a
> DBMS that gets Max course_ID and set's it to a local variable.
>
> That is because I need to know what the course_ID that was assigned by SQL
> to the inserted course.  I then use this to insert into the
course_crosslink
> table the course_ID and some other values.
>
> It looks like sometimes it failed to set the correct course ID I guess
there
> was some fast enough data entry going on from more than one person so the
> Max did not get the right number. At least it is the only thing I can
think
> of that would cause the missing course_ID's in course_crosslink. Since the
> insert action comes right the DBMS I can see how it could fail without an
> error message to the user which I think I would have heard about.
>
> I know there is some way to lock the table or someway to make sure I
> retrieve the correct value but I don't know how to write it in WiTango or
as
> a DBMS.
>
>
>
> --
> Dan Stein
> Digital Software Solutions
> 799 Evergreen Circle
> Telford PA 18969
> 215-799-0192
> 610-256-2843
> Fax 413-410-9682
> FMP,Tango, EDI,SQL 7
> [EMAIL PROTECTED]
> www.dss-db.com
>
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
>               with unsubscribe witango-talk in the message body
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
>               with unsubscribe witango-talk in the message body
>

--
Dan Stein
Digital Software Solutions
799 Evergreen Circle
Telford PA 18969
215-799-0192
610-256-2843
Fax 413-410-9682
FMP,Tango, EDI,SQL 7
[EMAIL PROTECTED]
www.dss-db.com


________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body

________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body

Reply via email to