ca.portal.admin

COBOL exit programs vs. ADS mapless dialogs

Discussion created by ca.portal.admin on Nov 7, 2007
Latest reply on Nov 7, 2007 by ca.portal.admin
Can anyone offer insight as to the pros and cons of using an ADS mapless dialog versus a COBOL exit program for commonly-used code that we want to call from several ADS dialogs?

Historically we have typically preferred using ADS mapless dialogs, as ADS has more built-in functions, etc. than does COBOL. However, often we find that later on we need the same processing done in batch, and often end up writing a COBOL batch version anyway. Are we better off just writing a COBOL exit program that we can call from ADS? Then we can easily clone and modify when we need a batch version. (We have started to do this more and more for any processing that we suspect we may need in batch as well at some point).

I understand that there are different run unit issues to consider with each. (With a COBOL exit, the ADS calling dialog's run unit will stay open while the COBOL program begins and ends its own run unit, unless we either do a commit before the call or code the dialog and COBOL program so as to specifically extend the run unit; whereas with a mapless dialog, the ADS calling dialog's run unit either finishes when we call the mapless dialog which then starts its own run unit, or extends its run unit to the mapless dialog depending on the subschemas and ready usage modes, whether we specifically extend it, etc.)

We also have some ""include modules"" that we sometimes use for commonly-used code, but we find the downside to those are that a change requires regenning of all the calling dialogs, resulting in extra work for us and more interruption for our users.

We have some processing that is commonly and frequently used throughout our application. Are there performance considerations to doing it in one way vs. the other?

Any feedback would be most appreciated.
"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: COBOL exit programs vs. ADS mapless dialogs
"I'm really not sure how retrieval locking works with COBOL since the indicator is set in the ADS generation process. To turn retrieval locking off, calling dialogs must perform no updates and perform a LINK NOSAVE to an update dialog which has to re-establish currency before performing any updates. ADS would abend with an application thread error if a calling dialog had it's retrieval lock indicator turned off and then Linked to a dialog which performed an update on a record retrieved in the calling dialog. I'd like to know what would happen with COBOL. If you have an example of a dialog that performs retrieval only and then links to a COBOL program to perform updates, re-gen the calling dialog with the retrieval lock indicator turned off and see if the COBOL program aborts on an application thread error. I'm not in an IDMS shop right now so I can't try it. I would love to know so if you find out please keep me posted. I've been battling retreival locking problems since release 12.0 came out in 1993. Good Luck.
Margaret


-----Original Message-----
From: Joan Hutchinson [mailTo:JHUTCHIN@IPSCO.COM]
Sent: Thursday, November 8, 2007 02:56 PM
To: IDMS-L@LISTSERV.IUASSN.COM
Subject: Re: COBOL exit programs vs. ADS mapless dialogs

My understanding of the run unit relationship between a dialog and a
cobol exit is as follows:

If my dialog updates a record, and then calls a COBOL exit without
passing subschema-control and without doing a COMMIT ALL beforehand, it
does not extend its run unit to the COBOL program; it keeps its run unit
open, and the COBOL program opens another run unit. If the COBOL
program then tries to read the record that my dialog updated, it should
deadlock. (since the update done in the dialog would have put an
exclusive lock on the record until the dialog's run unit finished or a
commit was done).

Is this correct?


Margaret Sliming <marg@DIVAPROGRAMMER.COM> 11/8/2007 10:30 AM >>>
Joan,
If you're having to create programs to accommodate both your online and
batch applications, then COBOL is definitely the way to go. As Gary
said, it has allot of built-in functions that ADS has and it's much more
efficient. I also think you avoid the retrieval locking problems with
COBOL that exist with ADS, however, I'm not sure. Whenever you're
linking to a dialog or program that updates the database, it's best to
do 'LINK NOSAVE's and re-establish your currency in the called module.
This avoids deadlocking problems and reduced performance. Good luck.
Margaret



-----Original Message-----
From: Joan Hutchinson [mailTo:JHUTCHIN@IPSCO.COM]
Sent: Thursday, November 8, 2007 10:45 AM
To: IDMS-L@LISTSERV.IUASSN.COM
Subject: Re: COBOL exit programs vs. ADS mapless dialogs

I am aware it exists, but that's about it. Way back when, the
decision
was made to use COBOL over ADS-BATCH for various reasons for our
batch
processing, and we've pretty much stuck with it since then.

BRANDT René <rbr@UBP.CH> 11/8/2007 12:53 AM >>>
Joan,

Are you aware of ADS Batch option ?

HTH
Rene.

-----Original Message-----
From: IDMS Public Discussion Forum [mailTo:IDMS-L@LISTSERV.IUASSN.COM]
On Behalf Of Joan Hutchinson
Sent: Wednesday, November 07, 2007 05:57 PM
To: IDMS-L@LISTSERV.IUASSN.COM
Subject: COBOL exit programs vs. ADS mapless dialogs

Can anyone offer insight as to the pros and cons of using an ADS
mapless dialog versus a COBOL exit program for commonly-used code
that
we want to call from several ADS dialogs?

Historically we have typically preferred using ADS mapless dialogs,
as
ADS has more built-in functions, etc. than does COBOL. However, often
we find that later on we need the same processing done in batch, and
often end up writing a COBOL batch version anyway. Are we better off
just writing a COBOL exit program that we can call from ADS? Then we
can easily clone and modify when we need a batch version. (We have
started to do this more and more for any processing that we suspect
we
may need in batch as well at some point).

I understand that there are different run unit issues to consider
with
each. (With a COBOL exit, the ADS calling dialog's run unit will stay
open while the COBOL program begins and ends its own run unit, unless
we
either do a commit before the call or code the dialog and COBOL
program
so as to specifically extend the run unit; whereas with a mapless
dialog, the ADS calling dialog's run unit either finishes when we
call
the mapless dialog which then starts its own run unit, or extends its
run unit to the mapless dialog depending on the subschemas and ready
usage modes, whether we specifically extend it, etc.)

We also have some ""include modules"" that we sometimes use for
commonly-used code, but we find the downside to those are that a
change
requires regenning of all the calling dialogs, resulting in extra
work
for us and more interruption for our users.

We have some processing that is commonly and frequently used
throughout
our application. Are there performance considerations to doing it in
one way vs. the other?

Any feedback would be most appreciated.
"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: COBOL exit programs vs. ADS mapless dialogs
"My understanding of the run unit relationship between a dialog and a
cobol exit is as follows:

If my dialog updates a record, and then calls a COBOL exit without
passing subschema-control and without doing a COMMIT ALL beforehand, it
does not extend its run unit to the COBOL program; it keeps its run unit
open, and the COBOL program opens another run unit. If the COBOL
program then tries to read the record that my dialog updated, it should
deadlock. (since the update done in the dialog would have put an
exclusive lock on the record until the dialog's run unit finished or a
commit was done).

Is this correct?


Margaret Sliming <marg@DIVAPROGRAMMER.COM> 11/8/2007 10:30 AM >>>
Joan,
If you're having to create programs to accommodate both your online and
batch applications, then COBOL is definitely the way to go. As Gary
said, it has allot of built-in functions that ADS has and it's much more
efficient. I also think you avoid the retrieval locking problems with
COBOL that exist with ADS, however, I'm not sure. Whenever you're
linking to a dialog or program that updates the database, it's best to
do 'LINK NOSAVE's and re-establish your currency in the called module.
This avoids deadlocking problems and reduced performance. Good luck.
Margaret



-----Original Message-----
From: Joan Hutchinson [mailTo:JHUTCHIN@IPSCO.COM]
Sent: Thursday, November 8, 2007 10:45 AM
To: IDMS-L@LISTSERV.IUASSN.COM
Subject: Re: COBOL exit programs vs. ADS mapless dialogs

I am aware it exists, but that's about it. Way back when, the
decision
was made to use COBOL over ADS-BATCH for various reasons for our
batch
processing, and we've pretty much stuck with it since then.

BRANDT René <rbr@UBP.CH> 11/8/2007 12:53 AM >>>
Joan,

Are you aware of ADS Batch option ?

HTH
Rene.

-----Original Message-----
From: IDMS Public Discussion Forum [mailTo:IDMS-L@LISTSERV.IUASSN.COM]
On Behalf Of Joan Hutchinson
Sent: Wednesday, November 07, 2007 05:57 PM
To: IDMS-L@LISTSERV.IUASSN.COM
Subject: COBOL exit programs vs. ADS mapless dialogs

Can anyone offer insight as to the pros and cons of using an ADS
mapless dialog versus a COBOL exit program for commonly-used code
that
we want to call from several ADS dialogs?

Historically we have typically preferred using ADS mapless dialogs,
as
ADS has more built-in functions, etc. than does COBOL. However, often
we find that later on we need the same processing done in batch, and
often end up writing a COBOL batch version anyway. Are we better off
just writing a COBOL exit program that we can call from ADS? Then we
can easily clone and modify when we need a batch version. (We have
started to do this more and more for any processing that we suspect
we
may need in batch as well at some point).

I understand that there are different run unit issues to consider
with
each. (With a COBOL exit, the ADS calling dialog's run unit will stay
open while the COBOL program begins and ends its own run unit, unless
we
either do a commit before the call or code the dialog and COBOL
program
so as to specifically extend the run unit; whereas with a mapless
dialog, the ADS calling dialog's run unit either finishes when we
call
the mapless dialog which then starts its own run unit, or extends its
run unit to the mapless dialog depending on the subschemas and ready
usage modes, whether we specifically extend it, etc.)

We also have some ""include modules"" that we sometimes use for
commonly-used code, but we find the downside to those are that a
change
requires regenning of all the calling dialogs, resulting in extra
work
for us and more interruption for our users.

We have some processing that is commonly and frequently used
throughout
our application. Are there performance considerations to doing it in
one way vs. the other?

Any feedback would be most appreciated.
"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: COBOL exit programs vs. ADS mapless dialogs
"Joan,
If you're having to create programs to accommodate both your online and batch applications, then COBOL is definitely the way to go. As Gary said, it has allot of built-in functions that ADS has and it's much more efficient. I also think you avoid the retrieval locking problems with COBOL that exist with ADS, however, I'm not sure. Whenever you're linking to a dialog or program that updates the database, it's best to do 'LINK NOSAVE's and re-establish your currency in the called module. This avoids deadlocking problems and reduced performance. Good luck.
Margaret



-----Original Message-----
From: Joan Hutchinson [mailTo:JHUTCHIN@IPSCO.COM]
Sent: Thursday, November 8, 2007 10:45 AM
To: IDMS-L@LISTSERV.IUASSN.COM
Subject: Re: COBOL exit programs vs. ADS mapless dialogs

I am aware it exists, but that's about it. Way back when, the decision
was made to use COBOL over ADS-BATCH for various reasons for our batch
processing, and we've pretty much stuck with it since then.

BRANDT René <rbr@UBP.CH> 11/8/2007 12:53 AM >>>
Joan,

Are you aware of ADS Batch option ?

HTH
Rene.

-----Original Message-----
From: IDMS Public Discussion Forum [mailTo:IDMS-L@LISTSERV.IUASSN.COM]
On Behalf Of Joan Hutchinson
Sent: Wednesday, November 07, 2007 05:57 PM
To: IDMS-L@LISTSERV.IUASSN.COM
Subject: COBOL exit programs vs. ADS mapless dialogs

Can anyone offer insight as to the pros and cons of using an ADS
mapless dialog versus a COBOL exit program for commonly-used code that
we want to call from several ADS dialogs?

Historically we have typically preferred using ADS mapless dialogs, as
ADS has more built-in functions, etc. than does COBOL. However, often
we find that later on we need the same processing done in batch, and
often end up writing a COBOL batch version anyway. Are we better off
just writing a COBOL exit program that we can call from ADS? Then we
can easily clone and modify when we need a batch version. (We have
started to do this more and more for any processing that we suspect we
may need in batch as well at some point).

I understand that there are different run unit issues to consider with
each. (With a COBOL exit, the ADS calling dialog's run unit will stay
open while the COBOL program begins and ends its own run unit, unless we
either do a commit before the call or code the dialog and COBOL program
so as to specifically extend the run unit; whereas with a mapless
dialog, the ADS calling dialog's run unit either finishes when we call
the mapless dialog which then starts its own run unit, or extends its
run unit to the mapless dialog depending on the subschemas and ready
usage modes, whether we specifically extend it, etc.)

We also have some ""include modules"" that we sometimes use for
commonly-used code, but we find the downside to those are that a change
requires regenning of all the calling dialogs, resulting in extra work
for us and more interruption for our users.

We have some processing that is commonly and frequently used throughout
our application. Are there performance considerations to doing it in
one way vs. the other?

Any feedback would be most appreciated.
"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: COBOL exit programs vs. ADS mapless dialogs
"I am aware it exists, but that's about it. Way back when, the decision
was made to use COBOL over ADS-BATCH for various reasons for our batch
processing, and we've pretty much stuck with it since then.

BRANDT René <rbr@UBP.CH> 11/8/2007 12:53 AM >>>
Joan,

Are you aware of ADS Batch option ?

HTH
Rene.

Outcomes