The package is a database object which contains the SQL statements from DBRM in a DB2-optimized form.
The collection is a group of packages using which we can segregate the DB2 packages belonging to the different applications. For example, in a production environment for a Telecom company, we can have different collections for order handling, billing and customer service.
The package or group of packages (collections) are binded into a plan. A plan is an executable object which contains the DB2 access paths of all the SQL queries within it. We can bind a package into a plan directly or we can first generate a collection using package(s) and then bind it to a plan.
Using the below JCL step we can directly bind all the packages inside a collection using a single BIND command.
//BIND EXEC PGM=IKJEFT01 //STEPLIB DD DSN=DIS.TEST.LOADLIB,DISP=SHR //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(TB3) BIND PLAN(PLANA) - PKLIST(COLLA.*) - /*
We can use BIND PLAN and PKLIST parameters for this purpose. The argument COLLA.* will take into account all the packages in collection COLLA and bind it to plan PLAN A.