Dynamic subroutines in DB2/ZOS V11.

Darrell Matthews

Dynamic subroutines in DB2/ZOS V11.


From: Matthews, Darrell (164)
Sent: Wednesday, September 19, 2018 3:32 PM
To: '[login to unmask email]' <[login to unmask email]>
Subject: Dynamic subroutines in DB2/ZOS V11.

We are looking at a project to convert from STATIC calls to DYNAMIC calls. Currently everything is NODYNAM.

I have been looking at DB2 programming manuals and doing google searches for info regarding if binds are needed in certain situations once DYNAM is put in place DB2 pgms calling subroutines.
So far I have not really found anything that is answering my questions.

Scenario 1). Main PGM contains SQL calls and is DYNAM. Subroutine contains SQL calls and is DYNAM and RESUE(RENT).
Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?

Scenario 2). Main PGM does not contain SQL calls, but has EXEC-SQL and END-EXEC with no actual sql stmts. SUBROUTINE has SQL calls and is REUSE(RENT).
Does the Main PGM BIND stmts include the subroutine DBRMS? Not sure we actually have this issue, but I was asked the question by the ENDEVOR admin, so maybe we do?

Scenario 3). MAIN PGM does not contain IMS DL/I and SQL calls but has EXEC-SQL and END-EXEC coded with no stmts. DYNAM.
SUBROUTINE contains both IMS/DLI and SQL calls. DYNAM Reuse(RENT).
Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?

Scenario 4). Both the MAIN PGM and the Subroutine contains IMS/DLI calls and DB2 calls Both DYNAM subroutine REUSE(RENT).
Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?


I talked with DBA but not getting much back. We are plan on testing this out, but wanted to have a better idea of what we were getting into before the actual changes occur.
Thanks in advance for any input offered. Also I am not a COBOL programmer so a lot of what I have provided has been provided to me, by people with great cobol knowledge.





If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.

Myron Miller

Dynamic subroutines in DB2/ZOS V11.
(in response to Darrell Matthews)
why would you want to convert from static to dynamic calls? Generally static is better. Access path doesn't change as easily. Better performance most of the time. easier to control. easier to tell impacts of indexes or other changes, including DB2 changes.

Lots of tools are helping and promoting going from dynamic to Static. Going to dynamic doesn't seem that beneficial to me.

Thanks Myron W. Miller
________________________________
From: Darrell Matthews <[login to unmask email]>
Sent: Thursday, September 20, 2018 11:07 AM
To: [login to unmask email]
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.






From: Matthews, Darrell (164)
Sent: Wednesday, September 19, 2018 3:32 PM
To: '[login to unmask email]' <[login to unmask email]>
Subject: Dynamic subroutines in DB2/ZOS V11.



We are looking at a project to convert from STATIC calls to DYNAMIC calls. Currently everything is NODYNAM.



I have been looking at DB2 programming manuals and doing google searches for info regarding if binds are needed in certain situations once DYNAM is put in place DB2 pgms calling subroutines.

So far I have not really found anything that is answering my questions.



Scenario 1). Main PGM contains SQL calls and is DYNAM. Subroutine contains SQL calls and is DYNAM and RESUE(RENT).

Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?



Scenario 2). Main PGM does not contain SQL calls, but has EXEC-SQL and END-EXEC with no actual sql stmts. SUBROUTINE has SQL calls and is REUSE(RENT).

Does the Main PGM BIND stmts include the subroutine DBRMS? Not sure we actually have this issue, but I was asked the question by the ENDEVOR admin, so maybe we do?



Scenario 3). MAIN PGM does not contain IMS DL/I and SQL calls but has EXEC-SQL and END-EXEC coded with no stmts. DYNAM.

SUBROUTINE contains both IMS/DLI and SQL calls. DYNAM Reuse(RENT).

Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?



Scenario 4). Both the MAIN PGM and the Subroutine contains IMS/DLI calls and DB2 calls Both DYNAM subroutine REUSE(RENT).

Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?





I talked with DBA but not getting much back. We are plan on testing this out, but wanted to have a better idea of what we were getting into before the actual changes occur.

Thanks in advance for any input offered. Also I am not a COBOL programmer so a lot of what I have provided has been provided to me, by people with great cobol knowledge.









If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

Myron Miller

Dynamic subroutines in DB2/ZOS V11.
(in response to Myron Miller)


why would you want to convert from static to dynamic calls? Generally static is better. Access path doesn't change as easily. Better performance most of the time. easier to control. easier to tell impacts of indexes or other changes, including DB2 changes.

Lots of tools are helping and promoting going from dynamic to Static. Going to dynamic doesn't seem that beneficial to me.

Thanks Myron W. Miller
________________________________
From: Darrell Matthews <[login to unmask email]>
Sent: Thursday, September 20, 2018 11:07 AM
To: [login to unmask email]
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.






From: Matthews, Darrell (164)
Sent: Wednesday, September 19, 2018 3:32 PM
To: '[login to unmask email]' <[login to unmask email]>
Subject: Dynamic subroutines in DB2/ZOS V11.



We are looking at a project to convert from STATIC calls to DYNAMIC calls. Currently everything is NODYNAM.



I have been looking at DB2 programming manuals and doing google searches for info regarding if binds are needed in certain situations once DYNAM is put in place DB2 pgms calling subroutines.

So far I have not really found anything that is answering my questions.



Scenario 1). Main PGM contains SQL calls and is DYNAM. Subroutine contains SQL calls and is DYNAM and RESUE(RENT).

Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?



Scenario 2). Main PGM does not contain SQL calls, but has EXEC-SQL and END-EXEC with no actual sql stmts. SUBROUTINE has SQL calls and is REUSE(RENT).

Does the Main PGM BIND stmts include the subroutine DBRMS? Not sure we actually have this issue, but I was asked the question by the ENDEVOR admin, so maybe we do?



Scenario 3). MAIN PGM does not contain IMS DL/I and SQL calls but has EXEC-SQL and END-EXEC coded with no stmts. DYNAM.

SUBROUTINE contains both IMS/DLI and SQL calls. DYNAM Reuse(RENT).

Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?



Scenario 4). Both the MAIN PGM and the Subroutine contains IMS/DLI calls and DB2 calls Both DYNAM subroutine REUSE(RENT).

Does the MAIN pgm BIND stmts include the SUBROUTINE DBRMS?





I talked with DBA but not getting much back. We are plan on testing this out, but wanted to have a better idea of what we were getting into before the actual changes occur.

Thanks in advance for any input offered. Also I am not a COBOL programmer so a lot of what I have provided has been provided to me, by people with great cobol knowledge.









If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

Horacio Villa

Dynamic subroutines in DB2/ZOS V11.
(in response to Myron Miller)
As I understand, he's not talking about static vs dynamic SQL, but static
vs dynamic (COBOL?) subroutine calls.

Horacio Villa


Myron Miller

dynamic subroutines in DB2/Zos
(in response to Horacio Villa)
But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa



-----End Original Message-----

Darrell Matthews

dynamic subroutines in DB2/Zos
(in response to Myron Miller)
That is true they are changing from STATIC calls to subroutines to DYNAMIC calls to subroutines.
The two benefits that the developers want with dynamic calls are applications do not have to be link-edited again when dynamically called subprograms are changed.
And they do not have to load all the subroutines when the main pgm is loaded, as we are starting to get some load failures because the size of the some of the pgms are quite large.

The question about the Main program needing to include the subroutine DBRMS is because currently in endevor for the IMS/DB2 pgms the developers have to specify each DBRM as part of the calling pgms input to compile and bind.
In the secnarios I listed, the endevor people were wondering if that is still needed if the developers change to DYNAMIC from STATIC calls. Or if they will still have to supply all the subroutine dbrms.


From: Myron Miller [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 11:13 AM
To: [login to unmask email]
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.

Mohammad Khan

dynamic subroutines in DB2/Zos
(in response to Darrell Matthews)
I have no idea how IMS affects it since I haven't used IMS in a long time. As for dynamically called cobol modules with db2, it works very nicely, each program (main or subroutine) is compiled and bound independently. At run time you have to have all load modules available and all package under a plan.
Khalid

From: Darrell Matthews <[login to unmask email]>
Sent: Thursday, September 20, 2018 1:30 PM
To: [login to unmask email]
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

That is true they are changing from STATIC calls to subroutines to DYNAMIC calls to subroutines.
The two benefits that the developers want with dynamic calls are applications do not have to be link-edited again when dynamically called subprograms are changed.
And they do not have to load all the subroutines when the main pgm is loaded, as we are starting to get some load failures because the size of the some of the pgms are quite large.

The question about the Main program needing to include the subroutine DBRMS is because currently in endevor for the IMS/DB2 pgms the developers have to specify each DBRM as part of the calling pgms input to compile and bind.
In the secnarios I listed, the endevor people were wondering if that is still needed if the developers change to DYNAMIC from STATIC calls. Or if they will still have to supply all the subroutine dbrms.



From: Myron Miller [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 11:13 AM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----
HCSC Company Disclaimer

The information contained in this communication is confidential, private,
proprietary, or otherwise privileged and is intended only for the use of
the addressee. Unauthorized use, disclosure, distribution or copying is
strictly prohibited and may be unlawful. If you have received this
communication in error, please notify the sender immediately at
(312) 653-6000 in Illinois; (800) 447-7828 in Montana;
(800) 835-8699 in New Mexico; (918) 560-3500 in Oklahoma;
or (972) 766-6900 in Texas.

bernd oppolzer

dynamic subroutines in DB2/Zos
(in response to Darrell Matthews)
If you still use DBRMs bound into plans, you will run into problems, IMO,
because DBRM bound into plans are somehow the same like linking modules
statically.

You need to specify all DBRMs used by the main program to bind a plan which
contains all the sub-DBRMs.


If you change your modules to dynamic calls, you should at the same time
change your DB2-DBRMs to use packages and the DB2-PLAN for the main
module should only contain a PACKAGE LIST (in fact a search sequence for
collections), so that the packages = DBRMs are located dynamically in the
same way as your modules are.


All my customers migrated to packages and plans which don't contain DBRMs
very long ago. Even customers which still do static linking of modules use

packages and "empty" plans (plans with no DBRMs and only a package list).


HTH, kind regards


Bernd




Am 20.09.2018 um 20:30 schrieb Darrell Matthews:
>
> That is true they are changing from STATIC calls to subroutines to
> DYNAMIC calls to subroutines.
>
> The two benefits that the developers want with dynamic calls are
>  applications do not have to be link-edited again when dynamically
> called subprograms are changed.
>
> And they do not have to load all the subroutines when the main pgm is
> loaded, as we are starting to get some load failures because the size
> of the some of the pgms are quite large.
>
> The question about the Main program needing to include the subroutine
> DBRMS is because currently in endevor for the IMS/DB2 pgms the
> developers have to specify each DBRM as part of the calling pgms input
> to compile and bind.
>
> In the secnarios I listed, the endevor people were wondering if that
> is still needed if the developers change to DYNAMIC from STATIC calls.
> Or if they will still have to supply all the subroutine dbrms.
>
> *From:*Myron Miller [mailto:[login to unmask email]
> *Sent:* Thursday, September 20, 2018 11:13 AM
> *To:* [login to unmask email]
> *Subject:* [DB2-L] - RE: dynamic subroutines in DB2/Zos
>
> But even there i can see a lot of advantages of static over dynamic. 
> What's the benefit?  And cost savings?
>
> Thanks Myron W. Miller
>
> ------------------------------------------------------------------------
>
> *From:*Horacio Villa <[login to unmask email] <mailto:[login to unmask email]>>
> *Sent:* Thursday, September 20, 2018 2:03 PM
> *To:* [login to unmask email] <mailto:[login to unmask email]>
> *Subject:* [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.
>
> As I understand, he's not talking about static vs dynamic SQL, but
> static vs dynamic (COBOL?) subroutine calls.
>
> Horacio Villa
>
> -----End Original Message-----
>
> -----End Original Message-----
> Default Disclaimer Daimler AG
> If you are not the addressee, please inform us immediately that you
> have received this e-mail by mistake, and delete it. We thank you for
> your support.
>
>
> -----End Original Message-----

Darrell Matthews

dynamic subroutines in DB2/Zos
(in response to Mohammad Khan)
Thanks Mohammad, this is helpful. Currently the devlopers identify all the dbrms needed for the bind, and if I understand you right. That would not change.

From: Mohammad Khan [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 1:00 PM
To: [login to unmask email]
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

I have no idea how IMS affects it since I haven't used IMS in a long time. As for dynamically called cobol modules with db2, it works very nicely, each program (main or subroutine) is compiled and bound independently. At run time you have to have all load modules available and all package under a plan.
Khalid

From: Darrell Matthews <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 1:30 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

That is true they are changing from STATIC calls to subroutines to DYNAMIC calls to subroutines.
The two benefits that the developers want with dynamic calls are applications do not have to be link-edited again when dynamically called subprograms are changed.
And they do not have to load all the subroutines when the main pgm is loaded, as we are starting to get some load failures because the size of the some of the pgms are quite large.

The question about the Main program needing to include the subroutine DBRMS is because currently in endevor for the IMS/DB2 pgms the developers have to specify each DBRM as part of the calling pgms input to compile and bind.
In the secnarios I listed, the endevor people were wondering if that is still needed if the developers change to DYNAMIC from STATIC calls. Or if they will still have to supply all the subroutine dbrms.



From: Myron Miller [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 11:13 AM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

HCSC Company Disclaimer

The information contained in this communication is confidential, private,
proprietary, or otherwise privileged and is intended only for the use of
the addressee. Unauthorized use, disclosure, distribution or copying is
strictly prohibited and may be unlawful. If you have received this
communication in error, please notify the sender immediately at
(312) 653-6000 in Illinois; (800) 447-7828 in Montana;
(800)835-8699 in New Mexico; (918)560-3500 in Oklahoma;
or (972)766-6900 in Texas.

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.

Darrell Matthews

dynamic subroutines in DB2/Zos
(in response to bernd oppolzer)
Thanks so much Bernd. You have given me something to look at. Sounds like I need to look into plans with no DBRMS and only a package list.

From: Bernd Oppolzer [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 1:30 PM
To: Darrell Matthews <[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos


If you still use DBRMs bound into plans, you will run into problems, IMO,
because DBRM bound into plans are somehow the same like linking modules statically.

You need to specify all DBRMs used by the main program to bind a plan which
contains all the sub-DBRMs.



If you change your modules to dynamic calls, you should at the same time
change your DB2-DBRMs to use packages and the DB2-PLAN for the main
module should only contain a PACKAGE LIST (in fact a search sequence for
collections), so that the packages = DBRMs are located dynamically in the
same way as your modules are.



All my customers migrated to packages and plans which don't contain DBRMs
very long ago. Even customers which still do static linking of modules use

packages and "empty" plans (plans with no DBRMs and only a package list).



HTH, kind regards



Bernd


Am 20.09.2018 um 20:30 schrieb Darrell Matthews:
That is true they are changing from STATIC calls to subroutines to DYNAMIC calls to subroutines.
The two benefits that the developers want with dynamic calls are applications do not have to be link-edited again when dynamically called subprograms are changed.
And they do not have to load all the subroutines when the main pgm is loaded, as we are starting to get some load failures because the size of the some of the pgms are quite large.

The question about the Main program needing to include the subroutine DBRMS is because currently in endevor for the IMS/DB2 pgms the developers have to specify each DBRM as part of the calling pgms input to compile and bind.
In the secnarios I listed, the endevor people were wondering if that is still needed if the developers change to DYNAMIC from STATIC calls. Or if they will still have to supply all the subroutine dbrms.


From: Myron Miller [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 11:13 AM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.

Walter Jani&#223;en

AW: dynamic subroutines in DB2/Zos
(in response to Darrell Matthews)
Hi

From a Db2 perspective it doesn't matter if you call your subroutines staticly or dynamicly. There is no differene. Packages have always been "dynamic".
I can't believe that you are still using DBRMs bound into your plans. Which Db2 version you are running?

Kind regards
Walter Janißen

ITERGO Informationstechnologie GmbH
Anwendungsentwicklung
Technische Anwendungsarchitektur
Victoriaplatz 2
D-40198 Düsseldorf
Tel.: +49(0)211/477-2928
Fax: +49(0)211/477-6441
[login to unmask email]<mailto:[login to unmask email]>

ITERGO Informationstechnologie GmbH
Vorsitzender des Aufsichtsrats: Christian Diedrich
Geschäftsführung: Dr. Bettina Anders (Vorsitzende),
Lothar Engelke, Ina Kirchhof, Dr. Michael Regauer
Sitz: Düsseldorf, Handelsregister: Amtsgericht Düsseldorf HRB 37996

Von: Darrell Matthews <[login to unmask email]>
Gesendet: Donnerstag, 20. September 2018 20:30
An: [login to unmask email]
Betreff: [DB2-L] - RE: dynamic subroutines in DB2/Zos

That is true they are changing from STATIC calls to subroutines to DYNAMIC calls to subroutines.
The two benefits that the developers want with dynamic calls are applications do not have to be link-edited again when dynamically called subprograms are changed.
And they do not have to load all the subroutines when the main pgm is loaded, as we are starting to get some load failures because the size of the some of the pgms are quite large.

The question about the Main program needing to include the subroutine DBRMS is because currently in endevor for the IMS/DB2 pgms the developers have to specify each DBRM as part of the calling pgms input to compile and bind.
In the secnarios I listed, the endevor people were wondering if that is still needed if the developers change to DYNAMIC from STATIC calls. Or if they will still have to supply all the subroutine dbrms.



From: Myron Miller [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 11:13 AM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

Walter Jani&#223;en

AW: dynamic subroutines in DB2/Zos
(in response to Darrell Matthews)
Hi

If you use DBRMs in your plans, every subroutine, which is called by the main-program regardless if static or dynamic, has to be included in the plan-bind. In this case it is nearly impossible to figure out, which subroutines are needed, if they are called dynamicly. Then you should migrate to packages, which you have to either, if you migrate to Db2 version, which is currently supported.

Kind regards
Walter Janißen

ITERGO Informationstechnologie GmbH
Anwendungsentwicklung
Technische Anwendungsarchitektur
Victoriaplatz 2
D-40198 Düsseldorf
Tel.: +49(0)211/477-2928
Fax: +49(0)211/477-6441
[login to unmask email]<mailto:[login to unmask email]>

ITERGO Informationstechnologie GmbH
Vorsitzender des Aufsichtsrats: Christian Diedrich
Geschäftsführung: Dr. Bettina Anders (Vorsitzende),
Lothar Engelke, Ina Kirchhof, Dr. Michael Regauer
Sitz: Düsseldorf, Handelsregister: Amtsgericht Düsseldorf HRB 37996

Von: Darrell Matthews <[login to unmask email]>
Gesendet: Donnerstag, 20. September 2018 20:30
An: [login to unmask email]
Betreff: [DB2-L] - RE: dynamic subroutines in DB2/Zos

That is true they are changing from STATIC calls to subroutines to DYNAMIC calls to subroutines.
The two benefits that the developers want with dynamic calls are applications do not have to be link-edited again when dynamically called subprograms are changed.
And they do not have to load all the subroutines when the main pgm is loaded, as we are starting to get some load failures because the size of the some of the pgms are quite large.

The question about the Main program needing to include the subroutine DBRMS is because currently in endevor for the IMS/DB2 pgms the developers have to specify each DBRM as part of the calling pgms input to compile and bind.
In the secnarios I listed, the endevor people were wondering if that is still needed if the developers change to DYNAMIC from STATIC calls. Or if they will still have to supply all the subroutine dbrms.



From: Myron Miller [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 11:13 AM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

Michael Hannan

RE: Dynamic subroutines in DB2/ZOS V11. Lost in Translation
(in response to Horacio Villa)

In Reply to Horacio Villa:

As I understand, he's not talking about static vs dynamic SQL, but static
vs dynamic (COBOL?) subroutine calls.

Horacio Villa

I think Horatio was onto it. Already on DB2 zOS V11 so must be using Packages, unless the system is not working. LOL.

I would have thought the simple answer would be, if you recompile a program module including SQLs, you get a new DBRM and have to BIND it to a Package. Otherwise your existing Packages are just fine, regardless of program compile options relating to "DYNAM". Program modules with no SQL are not relevant either.

I did not quite understand the bit about 'EXEC SQL' but not containing any actual SQL. Precompile for no purpose?

I presume the Plan already likely references the right priority list  of Package  collections to search. Package use is dynamic anyway. Only the old Plans had DBRMS static as distinct from Static SQL. 

Did I overlook something important or lose the plot totally perhaps?

Michael Hannan,
DB2 Application Performance Specialist
CPT Global Ltd

Edited By:
Michael Hannan[Organization Members] @ Sep 21, 2018 - 11:09 AM (Europe/Berlin)
Michael Hannan[Organization Members] @ Sep 21, 2018 - 11:10 AM (Europe/Berlin)
Michael Hannan[Organization Members] @ Sep 21, 2018 - 11:13 AM (Europe/Berlin)
Michael Hannan[Organization Members] @ Sep 21, 2018 - 11:15 AM (Europe/Berlin)

Mohammad Khan

dynamic subroutines in DB2/Zos
(in response to Darrell Matthews)
As others have pointed out, you have to get off binding DBRMs directly into plans to simplify your environment. Plan out your migration to packages-only set up and implement it. Changing programs from NODYNAM to DYNAM can happen over time rather than as a big bang. This set up is not only beneficial but also required if you want to migrate to a more up to date DB2 version.
Khalid

From: Darrell Matthews <[login to unmask email]>
Sent: Thursday, September 20, 2018 5:17 PM
To: [login to unmask email]
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

Thanks Mohammad, this is helpful. Currently the devlopers identify all the dbrms needed for the bind, and if I understand you right. That would not change.

From: Mohammad Khan [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 1:00 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

I have no idea how IMS affects it since I haven't used IMS in a long time. As for dynamically called cobol modules with db2, it works very nicely, each program (main or subroutine) is compiled and bound independently. At run time you have to have all load modules available and all package under a plan.
Khalid

From: Darrell Matthews <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 1:30 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

That is true they are changing from STATIC calls to subroutines to DYNAMIC calls to subroutines.
The two benefits that the developers want with dynamic calls are applications do not have to be link-edited again when dynamically called subprograms are changed.
And they do not have to load all the subroutines when the main pgm is loaded, as we are starting to get some load failures because the size of the some of the pgms are quite large.

The question about the Main program needing to include the subroutine DBRMS is because currently in endevor for the IMS/DB2 pgms the developers have to specify each DBRM as part of the calling pgms input to compile and bind.
In the secnarios I listed, the endevor people were wondering if that is still needed if the developers change to DYNAMIC from STATIC calls. Or if they will still have to supply all the subroutine dbrms.



From: Myron Miller [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 11:13 AM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

HCSC Company Disclaimer

The information contained in this communication is confidential, private,
proprietary, or otherwise privileged and is intended only for the use of
the addressee. Unauthorized use, disclosure, distribution or copying is
strictly prohibited and may be unlawful. If you have received this
communication in error, please notify the sender immediately at
(312) 653-6000 in Illinois; (800) 447-7828 in Montana;
(800)835-8699 in New Mexico; (918)560-3500 in Oklahoma;
or (972)766-6900 in Texas.

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

Darrell Matthews

dynamic subroutines in DB2/Zos
(in response to Walter Janißen)
Db2 v11. But I think the main issue, is that the owners of evdevor and before that pan-valaet had a screen that told the devlopers to identify the dbrms for the bind, and I think no one has bothered to look at that for 25 years, until now. Thanks for the input.

From: Walter Janißen [mailto:[login to unmask email]
Sent: Friday, September 21, 2018 12:34 AM
To: [login to unmask email]
Subject: [DB2-L] - AW: dynamic subroutines in DB2/Zos

Hi

From a Db2 perspective it doesn't matter if you call your subroutines staticly or dynamicly. There is no differene. Packages have always been "dynamic".
I can't believe that you are still using DBRMs bound into your plans. Which Db2 version you are running?

Kind regards
Walter Janißen

ITERGO Informationstechnologie GmbH
Anwendungsentwicklung
Technische Anwendungsarchitektur
Victoriaplatz 2
D-40198 Düsseldorf
Tel.: +49(0)211/477-2928
Fax: +49(0)211/477-6441
[login to unmask email]<mailto:[login to unmask email]>

ITERGO Informationstechnologie GmbH
Vorsitzender des Aufsichtsrats: Christian Diedrich
Geschäftsführung: Dr. Bettina Anders (Vorsitzende),
Lothar Engelke, Ina Kirchhof, Dr. Michael Regauer
Sitz: Düsseldorf, Handelsregister: Amtsgericht Düsseldorf HRB 37996

Von: Darrell Matthews <[login to unmask email]<mailto:[login to unmask email]>>
Gesendet: Donnerstag, 20. September 2018 20:30
An: [login to unmask email]<mailto:[login to unmask email]>
Betreff: [DB2-L] - RE: dynamic subroutines in DB2/Zos

That is true they are changing from STATIC calls to subroutines to DYNAMIC calls to subroutines.
The two benefits that the developers want with dynamic calls are applications do not have to be link-edited again when dynamically called subprograms are changed.
And they do not have to load all the subroutines when the main pgm is loaded, as we are starting to get some load failures because the size of the some of the pgms are quite large.

The question about the Main program needing to include the subroutine DBRMS is because currently in endevor for the IMS/DB2 pgms the developers have to specify each DBRM as part of the calling pgms input to compile and bind.
In the secnarios I listed, the endevor people were wondering if that is still needed if the developers change to DYNAMIC from STATIC calls. Or if they will still have to supply all the subroutine dbrms.



From: Myron Miller [mailto:[login to unmask email]
Sent: Thursday, September 20, 2018 11:13 AM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: dynamic subroutines in DB2/Zos

But even there i can see a lot of advantages of static over dynamic. What's the benefit? And cost savings?

Thanks Myron W. Miller

________________________________
From: Horacio Villa <[login to unmask email]<mailto:[login to unmask email]>>
Sent: Thursday, September 20, 2018 2:03 PM
To: [login to unmask email]<mailto:[login to unmask email]>
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.

As I understand, he's not talking about static vs dynamic SQL, but static vs dynamic (COBOL?) subroutine calls.

Horacio Villa


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.


-----End Original Message-----

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.

Darrell Matthews

Dynamic subroutines in DB2/ZOS V11.
(in response to Michael Hannan)
Yes michael you are correct about the fact that I am talking COBOL. We are db2 v11, and yes everything works fine. The question rose because they do have a project going on about changing from cobol static calls to DYNAMIC calls. And in the research the endevor person had asked if the dbrms still needed to be included in there bind option screen if the cobol main pgm now called the db2 subroutines dynamically.
They asked the DBA’s and apparently were not happy with the answer so, came over and asked me to investigate. Thanks for the input.


From: Michael Hannan [mailto:[login to unmask email]
Sent: Friday, September 21, 2018 2:07 AM
To: [login to unmask email]
Subject: [DB2-L] - RE: Dynamic subroutines in DB2/ZOS V11.


In Reply to Horacio Villa:
As I understand, he's not talking about static vs dynamic SQL, but static
vs dynamic (COBOL?) subroutine calls.

Horacio Villa

I think Horatio was onto it. Already on DB2 zOS V11 so must be using Packages, unless the system is not working. LOL.

I would have thought the simple answer would be, if you recompile a program module, you get a new DBRM and have to BIND it to a Package. Otherwise your existing Packages are just fine, regardless of program compile options relating to "DYNAM".

I presume the Plan already likely references the right priority list of Package collections to search. Package use is dynamic anyway. Only the old Plans had DBRMS static as distinct from Static SQL.

Did I overlook something important?

Michael Hannan,
DB2 Application Performance Specialist
CPT Global Ltd

-----End Original Message-----

If you are not the addressee, please inform us immediately that you have received this e-mail by mistake, and delete it. We thank you for your support.