A model being updated using this sample SQL must not be checked out and must not have any subsets checked out.

Similar documents
WebSphere Data Interchange (WDI) for z/os - Converting from a DB2 DBRM Based Plan to a DB2 Package Based Plan

See the mechanics of how to do this for a cycle-driven process with a high degree of usability and easy job output management.

Chapter 1. Overview Topic: What's new Topic: Features and benefits

Lookup enhancement to support DEST parameter

Debug DB2 COBOL stored procedure with IBM Developer for z Systems and IBM Debug for z Systems v14.1

IBM InfoSphere Optim for z/os Version 7 Release 2. Batch Utilities

z/os Introduction and Workshop Unix System Services 2009 IBM Corporation 2017 IBM Corporation

IOF Job Archival Made Simple (IOF/JAMS)

Updates that apply to IBM DB2 Analytics Accelerator Loader for z/os V2R1 User's Guide (SC )

Workflow Manager - ENDEVOR Attachment

RA/2 RACF CLI Version 1 - Release 1

xtrace Monitor Installation Guide

Updates that apply to IBM DB2 Analytics Accelerator Loader for z/os V2R1 User's Guide (SC )

IBM InfoSphere Optim for DB2 for z/os Version 7 Release 2. Move Introduction

Using dynamic SQL in COBOL

IBM Education Assistance for z/os V2R1

Develop a batch DB2 for z/os COBOL application using Rational Developer for System z

Workflow Manager Endevor Attachment

With the expansion of web-based computing there is. Getting Started with the OS/390 Security Server LDAP Server

JCL MOCK TEST JCL MOCK TEST IV

This paper is based on a session I presented at the Enterprise Modernisation Conference held in Stuttgart in May Updated March 19, 2010

JRH DB2I2 for DB2 OS/390 & zos

MS15: MQSeries for MVS/ESA Archive log housekeeping Version 1.1. User Guide. Document Number MS15. November 7, 2002

CA Disk Backup and Restore CA RS 1609 Service List

Enterprise Modernisation. Customising RDz with Menu Manager. A.Rudd, Datev eg 1

IBM Virtualization Engine TS7700 Series Copy Export Function User's Guide Version 2.1.5

Applications Development

Data Express 4.0. Data Subset Extraction

Mainframe Developer NO.2/29, South Dhandapani St, Burkit road, T.nagar, Chennai-17. Telephone: Website:

Migrating to Tivoli Decision Support for z/os (TDSz) Version 1.8.2

CA OPS/MVS WebCenter CA RS 1408 Service List

HOLDDATA FOR DB2 9.1 PUT Level ** Please read through all the holddata before acting on any of it. ** GENERAL

ATFEXTR command: extract OMEGAMON V5.3 ATF Enhanced Summary records from IMS log

VERITAS Backup Exec 10 for Windows Servers. Advanced Open File Option

Moving DB2 for z/os Bulk Data with Nonrelational Source Definitions

Enterprise Modernisation

DB2 REST API and z/os Connect SQL/Stored Procedures Play a Role in Mobile and API Economics

Module 15: Managing Transactions and Locks

Getting Started with Xpediter/Eclipse

DATA PROTECTOR FOR Z SYSTEMS(ZDP) ESSENTIALS

JCL MOCK TEST JCL MOCK TEST III

Start. Commcommander. version Revised 02/08/12

CA NetMaster CA RS 1602 Service List

IBM Tools Base for z/os Version 1 Release 6. IMS Tools Knowledge Base User's Guide and Reference IBM SC

PowerExchange IMS Data Map Creation

Micro Focus. Data Express. Requirements and Installation Procedures

Micro Focus The Lawn Old Bath Road Newbury, Berkshire RG14 1QN UK

IBM. z/os Batch Runtime: Planning and User's Guide. z/os. Version 2 Release 3 SA

CA Recovery Analyzer for DB2 for z/os

The CA Disk FILES Data Set

Chapter 18. Generating DB2 High Performance Unload jobs

Dino Explorer. MVS Data Collector for Mainframe Assessment

Implementing Data Masking and Data Subset with Sequential or VSAM Sources

COMPUWARE TEST DRIVE TOPAZ WORKBENCH WORKSHOP. Automated Unit Testing

Transporting files between MVS and MVS or between MVS and a Workstation

CMP-3440 Database Systems

IBM Transaction Analysis Workbench for z/os. Lab

CA MF Connector for Linux/Hardware Inteface Srv CA RS 1601 Service List

Configuring zsecure To Send Data to QRadar

//PSWDGEN EXEC PGM=RAIPWG //STEPLIB DD DISP=SHR,DSN=&RAILOAD //SYSTSPRT DD SYSOUT=* //SYSIN DD

VERITAS Backup Exec 9.1 for Windows Servers. Advanced Open File Option

Collecting Hydra Statistics

DB2 for z/os Stored Procedure support in Data Server Manager

BREEZE Reference Guide

Microsoft SQL Server" 2008 ADMINISTRATION. for ORACLE9 DBAs

IBM Education Assistance for z/os V2R1

IBM Tivoli OMEGAMON XE for Storage on z/os Version Tuning Guide SC

FDRERASE. for z/os MAY Last Modified: June 7, :10 AM

Table of Contents DATA MANAGEMENT TOOLS 4. IMPORT WIZARD 6 Setting Import File Format (Step 1) 7 Setting Source File Name (Step 2) 8

Tivoli Workload Scheduler for z/os Nested Dependent Variables

XPAF 5.0 Upgrade from XPAF 3.0.4/XPAF 4.0 Quick Reference. August 2011

Chapter 14. Reclaiming CIs in secondary index databases with FPA

CA Disk Backup and Restore CA RS 1602 Service List

Redpaper. Implementing IBM InfoSphere Change Data Capture for DB2 z/os V6.5. Front cover. ibm.com/redbooks. Configuration. Performance tuning

Version 1 Release 6. IBM Autonomics Director for Db2 for z/os User's Guide IBM SC

IBM InfoSphere Guardium S-TAP for DB2 on z/os User's Guide. Version9Release1

Compuware Maintenance Utility Supplement

Technical Requirements Release 8.7

Updates that apply to IBM DB2 Analytics Accelerator Loader for z/os V2R1 User's Guide (SC )

CA NetMaster CA RS 1505 Service List

How to Modernize the IMS Queries Landscape with IDAA

FA TSCOPY Quick Start Guide. Quick Start Guide

This document contains information on fixed and known limitations for Test Data Management.

Version 4 Release 5. IBM DB2 Table Editor for z/os User's Guide IBM SC

CA 1 Tape Management CA RS 1404 Service List

IBM EXAM - C DB Fundamentals. Buy Full Product.

An Introduction to Databases and Database Management Systems.

Auditing DB2 on z/os. Software Product Research

Administering Microsoft SQL Server 2012 Databases

IBM Information Integration. Version 9.5. SQL Replication Guide and Reference SC

WebSphere Information Integration

How do I launch a Frog? Let me count the ways...

CA Datacom/AD CA RS 1408 Service List

Setting up a database for multi-user access

Implementing Data Masking and Data Subset with IMS Unload File Sources

IBM Optim. Compare Introduction. Version7Release3

Creating and Managing Tables Schedule: Timing Topic

E-SRF. Security Signature Analysis. Release EKC Security Reporting Facility GENERAL AVAILABILITY. September 1, 2005 EKC Inc.

[AVNICF-MCSASQL2012]: NICF - Microsoft Certified Solutions Associate (MCSA): SQL Server 2012

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Transcription:

Title: How you can quickly update a model s Dynamic Link options to Compatibility or Default. Environment: Software: AllFusion Gen r7.6 with the Compatibility PTFs applied Models: Schema 9.1.A5 Objective: Describe a technique customers can use to quickly update their Gen models so they can more easily exploit the Dynamic Program Call Compatibility Feature offered as part of the AllFusion Gen r7.6 release. Disclaimer: The technique described in this paper is provided in the form of Sample JCL for the Host Encyclopedia and Sample SQL for the Client Server Encyclopedia. Each sample identifies the environment it is intended to update. The sample SQL updates models by interacting directly with the encyclopedia tables outside of the normal processing provided with the AllFusion Gen product and as such carries a certain level of risk. Care should be taken to ensure the models being updated by this processing are backed up and can be recovered to their original form. A model being updated using this sample SQL must not be checked out and must not have any subsets checked out. The encyclopedia s model locking functions will be bypassed during these updates. Therefore, to ensure model integrity and avoid lock conflicts developers must not do anything with the model while it is being updated. These SQL updates will not be recorded by the encyclopedia change capture processing. Therefore, the functions for Version Control, Intelligent Regeneration (on Host Encyclopedia), and Apply to Parent Model (on CSE) will not detect these updates. Overview: AllFusion Gen customers with models that heavily use dynamic linking and require that the majority of their target routines be invoked using the z/os compatibility runtime have asked for a convenient way to update their models without having to use the user interface provided by the Gen r7.6 development tools (Toolset, CSE or Host Encyclopedia). A procedure step, screen or action block that has its Dynamic Link option set to Yes identifies the routine as being dynamically called at runtime. For those applications built prior to AllFusion Gen r7, a dynamically called routine resides in a z/os load module. Starting with AllFusion Gen r7, a dynamically called routine reside in a z/os DLL. The Dynamic Program Call Compatibility feature offered as part of the AllFusion Gen r7.6 release allows a dynamically called routine s Dynamic Link option to be set to Compatibility instead of to Yes. Setting a routine s Dynamic Link option to Compatibility designates the routine as being dynamically called at runtime. But unlike Yes, the target of the dynamic program call is a routine that resides in a non-dll module.

As an alternative, a routine s Dynamic Link option can be set to Default, which causes the generators to derive the option from its corresponding Business System default value. Procedure steps, screens and action blocks each have a Dynamic Link Business System default value. Each of these default values can be set to Compatibility. Therefore, a customer wishing to set a routine s Dynamic Link option to Compatibility can do so explicitly, or by default using the value established in the Business System that owns the routine. The technique described in this paper operates on the expectation that those models needing to be updated contain procedure steps, screens or action blocks that have their Dynamic Link option set to Yes. The sample SQL does not update any procedure step, screen or action block that have their Dynamic Link option set to No or Default. Host Encyclopedia Sample Jobs The following two sample jobs update models maintained in a Host Encyclopedia. Both samples show updates performed using a batch job. Refer to the Customization Requirements section in the sample JCL for a list of the items that must be modified prior to executing the job. Sample 1: Set Dynamically Linking Option to Compatibility Description: Sample job for changing the Dynamic Link option from Yes to Compatibility for all routines in a Gen r7.6 model. This job has three steps; REPORTY, UPDTSQL and REPORTC. REPORTY and REPORTC steps produce Model Action Block Use reports before and after UPDTSQL. These reports provide further information on routines affected by SQL updates, such as the owning business system and the load module into which they are packaged. Therefore, after the job is run the output produced by the REPORTY and REPORTC steps should be reviewed to ensure the processing produced the desired result. The reports should be saved for auditing purposes. The UPDTSQL step uses dynamic SQL to retrieve and update the encyclopedia tables. The first SELECT SQL statement displays the objects for the routines that will be affected with the subsequent updates. This SELECT SQL is followed by five UPDATE SQL statements, each updating Dynamic Link Option from Yes to Compatibility for different combinations of procedure steps, screens and action blocks. The number of rows listed by the SELECT statement should be equal to the total number of rows updated by individual UPDATE statements. This can be used to verify the results of execution. The execution sequence of the five UPDATE statements is not significant. //your job card ******************************************************************** Sample JCL for changing dynamically link option from 'YES' to 'CMP' (Compatibility) for all components in a Gen r7.6 model. ******************************************************************** This JCL must be customized before submission. Please refer to the Customization Requirements section for the details. Important Notes:

---------------- These SQL statements perform bulk update against your model using dynamic SQL. Therefore it must be used with caution - only if it is necessary. Please ensure you have a backup or copy of the model PRIOR to running this job. This will enable fallback if required. The model and its subsets must be checked before running this job. These SQL updates will not be recorded by the encyclopedia change capture processing. Therefore the version control and intelligent regeneration functions will not detect these updates. The model locking functions through the encyclopedia will also be bypassed. Therefore it must be run when the model is not used by other users to avoid locking errors. Job Steps: ---------- REPORTY - Model action block use report listing modules with dynamically link option set to 'YES'. UPDTSQL - List object IDs of components which have their dynamically link property set to 'Yes', followed by 5 UPDATE SQL to modify dynamically link properties from 'YES' to 'CMP'. REPORTC - Model action block use report listing modules with dynamically link option set to 'CMP'. The reports produced by steps REPORTY and REPORTC are intended to provide information about modules affected with bulk SQL updates. Customization Requirements: -------------------------- your job card : Job card for running the JCL your DB2 System ID : 4 character DB2 Subsystem ID your DB2 load library : DB2 load library pppp in PLAN(pppp...): Plan prefix during 7.6 Host Ency install your Gen load library : Gen r7.6 load library your Ency SQLID : ID authorized to update 7.6 Host Ency tables your table qualifier : Qualifier for 7.6 Host Ency tables This value should be same as CREATOR column value in SYSIBM.SYSTABLES for the Host Ency tables. your model ID : ID of the 7.6 model being updated (occurs 8 times) your model name : Name of the 7.6 model being updated (occurs 8 times) Model must be at schema level 9.1.A5. Please convert the model before running these updates. Otherwise Compatibility option will not be recognized, causing errors in Host Ency functions. Please do not modify other fields in the SQL statements as it may corrupt your model. ********************************************************************

//REPORTY EXEC PGM=IKJEFT01,DYNAMNBR=10 //STEPLIB DD DSN=your DB2 load library,disp=shr //IEFRPT DD SYSOUT=*,DCB=(LRECL=133) //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //LOGFILE DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(your DB2 System ID) RUN PROGRAM(TIECOMPX) PLAN(ppppCOMP) + LIBRARY('your Gen load library') END //IEFINPUT DD * 'F','YES' your model ID,'your model name' ******************************************************************** Update 'YES' to 'CMP' ******************************************************************** //UPDTSQL EXEC PGM=IKJEFT01,DYNAMNBR=10 //STEPLIB DD DSN=your DB2 load library,disp=shr //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(your DB2 System ID) RUN PROGRAM(TIUUSQLX) PLAN(ppppUSQL) + LIBRARY('your Gen load library') END //SYSIN DD * SET CURRENT SQLID='your Ency SQLID'; -- LIST IMPLGIC AND XIMPLGIC OBJECTS WHERE DYNAMICALLY LINK OPTION -- IS SET TO 'YES' SELECT N.PROP_CHAR_VAL,A.PROP_OBJ_ID,OBJ_TYPE_CODE,A.PROP_CHAR_VAL FROM your table qualifier.dprp A, your table qualifier.dprp N, your table qualifier.dobj, your table qualifier.dmdl AND OBJ_TYPE_CODE IN (167,168) AND N.PROP_OBJ_ID=OBJ_ID AND N.PROP_TYPE_CODE=208 AND A.PROP_OBJ_ID=OBJ_ID AND A.PROP_TYPE_CODE=7 AND A.PROP_CHAR_VAL IN ('A','G','C','D','E') ORDER BY N.PROP_CHAR_VAL,OBJ_TYPE_CODE,A.PROP_OBJ_ID; -- MODIFY IMPLGIC AND XIMPLGIC OBJECTS TO SET DYNAMICALLY LINK OPTION -- TO 'CMP' INSTEAD OF 'YES' USING THE FOLLOWING FIVE UPDATE SQL. -- A-> I Change procedure step/action block to CMP where screen is DEF UPDATE your table qualifier.dprp P

SET PROP_CHAR_VAL='I' WHERE P.PROP_TYPE_CODE=7 AND P.PROP_CHAR_VAL = 'A' AND PROP_OBJ_ID IN FROM your table qualifier.dobj, your table qualifier.dmdl AND OBJ_TYPE_CODE IN (167,168)); -- G -> K Change procedure step/action block to CMP where screen is NO UPDATE your table qualifier.dprp P SET PROP_CHAR_VAL='K' WHERE P.PROP_TYPE_CODE=7 AND P.PROP_CHAR_VAL = 'G' AND PROP_OBJ_ID IN FROM your table qualifier.dobj, your table qualifier.dmdl AND OBJ_TYPE_CODE IN (167,168)); -- C -> L Change screen to CMP where procedure step/action block is DEF UPDATE your table qualifier.dprp P SET PROP_CHAR_VAL='L' WHERE P.PROP_TYPE_CODE=7 AND P.PROP_CHAR_VAL = 'C' AND PROP_OBJ_ID IN FROM your table qualifier.dobj, your table qualifier.dmdl AND OBJ_TYPE_CODE IN (167,168)); -- D -> P Change procedure step/action block/screen to CMP where YES UPDATE your table qualifier.dprp P SET PROP_CHAR_VAL='P' WHERE P.PROP_TYPE_CODE=7 AND P.PROP_CHAR_VAL = 'D' AND PROP_OBJ_ID IN FROM your table qualifier.dobj, your table qualifier.dmdl

AND OBJ_TYPE_CODE IN (167,168)); -- E -> O Change screen to CMP where procedure step/action block is NO UPDATE your table qualifier.dprp P SET PROP_CHAR_VAL='O' WHERE P.PROP_TYPE_CODE=7 AND P.PROP_CHAR_VAL = 'E' AND PROP_OBJ_ID IN FROM your table qualifier.dobj, your table qualifier.dmdl AND OBJ_TYPE_CODE IN (167,168)); COMMIT; //REPORTC EXEC PGM=IKJEFT01,DYNAMNBR=10 //STEPLIB DD DSN=your DB2 load library,disp=shr //IEFRPT DD SYSOUT=*,DCB=(LRECL=133) //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //LOGFILE DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(your DB2 System ID) RUN PROGRAM(TIECOMPX) PLAN(ppppCOMP) + LIBRARY('your Gen load library') END //IEFINPUT DD * 'F','CMP' your model ID,'your model name' Sample 2: Set Dynamic Link Option to Default Description: Sample job for changing Dynamically Link option from Yes to Default for all routines in a Gen r7.6 model. Derivation algorithms which do not have an owning business system are excluded. It is not valid to set the Dynamic Link option to Default if there is not an owning business system. If your model contains derivation algorithms, you may want to use Sample 1 to explicitly set the Dynamic Link option to Compatibility for derivation algorithms. This job has three steps; REPORTY, UPDTSQL and REPORTD. REPORTY and REPORTD steps produce Model Action Block Use reports before and after UPDTSQL. These reports provide further information on routines affected with SQL updates, such as

the owning business system and the load module into which they are packaged. Therefore, after the job is run the output produced by the REPORTY and REPORTD steps should be reviewed to ensure the processing produced the desired result. The reports should be saved for auditing purposes. The UPDTSQL step uses dynamic SQL to retrieve and update the encyclopedia tables. The first SELECT SQL statement displays the objects for the routines that will be affected with the subsequent updates. This SELECT SQL is followed by three UPDATE SQL statements, each updating Dynamic Link Option from Yes to Default for different combinations of procedure steps, screens and action blocks. The number of rows listed by the SELECT statement should be equal to the total number of rows updated by individual UPDATE statements. This can be used to verify the results of execution. The execution sequence of the three UPDATE statements is not significant. //your job card ******************************************************************** Sample JCL for changing dynamically link option from 'YES' to 'DEF' (Default) for all components in a Gen 7.6 model. ******************************************************************** This JCL must be customized before submission. Please refer to the Customization Requirements section for the details. Important Notes: ---------------- These SQL statements perform bulk update against your model using dynamic SQL. Therefore it must be used with caution - only if it is necessary. Please ensure you have a backup or copy of the model PRIOR to running this job. This will enable fallback if required. The model and its subsets must be checked in before running this job. These SQL updates will not be recorded by the encyclopedia change capture processing. Therefore the version control and intelligent regeneration functions will not detect these updates The model locking functions through the encyclopedia will also be bypassed. Therefore it must be run when the model is not used by other users to avoid locking errors. Job Steps: ---------- REPORTY - Model action block use report listing modules with dynamically link option set to 'YES'. UPDTSQL - List object IDs of components which have their dynamically link property set to 'Yes', followed by 3 UPDATE SQL to modify dynamically link properties from 'YES' to 'DEF'. REPORTD - Model action block use report listing modules with dynamically link option set to 'DEF'. The reports produced by steps REPORTY and REPORTD are intended to provide information about modules affected with bulk SQL updates.

Customization Requirements: -------------------------- your job card : Job card for running the JCL your DB2 System ID : 4 character DB2 Subsystem ID your DB2 load library : DB2 load library pppp in PLAN(pppp...): Plan prefix during Host Ency install your Gen load library : Gen load library your Ency SQLID : ID authorized to update 7.6 Host Ency tables your table qualifier : Qualifier for 7.6 Host Ency tables This value should be same as CREATOR column value in SYSIBM.SYSTABLES for the Host Ency tables. your model ID : ID of the model being updated (occurs 8 times) your model name : Name of the Gen 7.6 model being updated (occurs 8 times) Model must be at schema level 9.1.A5. Please convert the model before running these updates. Please do not modify other fields in the SQL statements as it may corrupt your model. ******************************************************************** //REPORTY EXEC PGM=IKJEFT01,DYNAMNBR=10 //STEPLIB DD DSN=your DB2 load library,disp=shr //IEFRPT DD SYSOUT=*,DCB=(LRECL=133) //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //LOGFILE DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(your DB2 System ID) RUN PROGRAM(TIECOMPX) PLAN(ppppCOMP) + LIBRARY('your Gen load library') END //IEFINPUT DD * 'F','YES' your model ID,'your model name' ******************************************************************** Update 'YES' to 'DEF' ******************************************************************** //UPDTSQL EXEC PGM=IKJEFT01,DYNAMNBR=10 //STEPLIB DD DSN=your DB2 load library,disp=shr //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(your DB2 System ID) RUN PROGRAM(TIUUSQLX) PLAN(ppppUSQL) + LIBRARY('your Gen load library') END //SYSIN DD * SET CURRENT SQLID='your Ency SQLID'; -- LIST IMPLGIC AND XIMPLGIC OBJECTS WHERE DYNAMICALLY LINK OPTION

-- IS SET TO 'YES' -- NOTE: DERIVATION ALGORITHMS WHICH DO NOT HAVE AN OWNING BUSINESS SYSTEM -- ARE EXCLUDED SELECT N.PROP_CHAR_VAL,A.PROP_OBJ_ID,OBJ_TYPE_CODE,A.PROP_CHAR_VAL FROM your table qualifier.dprp A, your table qualifier.dprp N, your table qualifier.dobj, your table qualifier.dmdl, your table qualifier.dasc B, your table qualifier.dasc C AND OBJ_TYPE_CODE IN (167,168) AND B.ASSOC_FROM_OBJ_ID = OBJ_ID AND B.ASSOC_TYPE_CODE = 174 AND C.ASSOC_TO_OBJ_ID = B.ASSOC_TO_OBJ_ID AND C.ASSOC_TYPE_CODE IN (235, 53) AND N.PROP_OBJ_ID=OBJ_ID AND N.PROP_TYPE_CODE=208 AND A.PROP_OBJ_ID=OBJ_ID AND A.PROP_TYPE_CODE=7 AND A.PROP_CHAR_VAL IN ('A','G','C','D','E') ORDER BY N.PROP_CHAR_VAL,OBJ_TYPE_CODE,A.PROP_OBJ_ID; -- MODIFY IMPLGIC AND XIMPLGIC OBJECTS TO SET DYNAMICALLY LINK OPTION -- TO 'DEF' INSTEAD OF 'YES' USING THE FOLLOWING THREE UPDATE SQL. -- NOTE: DERIVATION ALGORITHMS WHICH DO NOT HAVE AN OWNING BUSINESS SYSTEM -- ARE EXCLUDED -- A, C,D -> N Change procedure step/action block and/or screen -- from YES to DEF UPDATE your table qualifier.dprp P SET PROP_CHAR_VAL='N' WHERE P.PROP_TYPE_CODE=7 AND P.PROP_CHAR_VAL IN ('A','C','D') AND PROP_OBJ_ID IN FROM your table qualifier.dobj, your table qualifier.dmdl, your table qualifier.dasc B, your table qualifier.dasc C AND OBJ_TYPE_CODE IN (167,168) AND B.ASSOC_FROM_OBJ_ID = OBJ_ID AND B.ASSOC_TYPE_CODE = 174 AND C.ASSOC_TO_OBJ_ID = B.ASSOC_TO_OBJ_ID AND C.ASSOC_TYPE_CODE IN (235, 53)); -- G -> F Change procedure step/action block to DEF where screen is NO UPDATE your table qualifier.dprp P SET PROP_CHAR_VAL='F' WHERE P.PROP_TYPE_CODE=7 AND P.PROP_CHAR_VAL = 'G'

AND PROP_OBJ_ID IN FROM your table qualifier.dobj, your table qualifier.dmdl, your table qualifier.dasc B, your table qualifier.dasc C AND OBJ_TYPE_CODE IN (167,168) AND B.ASSOC_FROM_OBJ_ID = OBJ_ID AND B.ASSOC_TYPE_CODE = 174 AND C.ASSOC_TO_OBJ_ID = B.ASSOC_TO_OBJ_ID AND C.ASSOC_TYPE_CODE IN (235, 53)); -- E -> B Change screen to DEF where procedure step/action block is NO UPDATE your table qualifier.dprp P SET PROP_CHAR_VAL='B' WHERE P.PROP_TYPE_CODE=7 AND P.PROP_CHAR_VAL = 'E' AND PROP_OBJ_ID IN FROM your table qualifier.dobj, your table qualifier.dmdl, your table qualifier.dasc B, your table qualifier.dasc C AND OBJ_TYPE_CODE IN (167,168) AND B.ASSOC_FROM_OBJ_ID = OBJ_ID AND B.ASSOC_TYPE_CODE = 174 AND C.ASSOC_TO_OBJ_ID = B.ASSOC_TO_OBJ_ID AND C.ASSOC_TYPE_CODE IN (235, 53)); COMMIT; //REPORTD EXEC PGM=IKJEFT01,DYNAMNBR=10 //STEPLIB DD DSN=your DB2 load library,disp=shr //IEFRPT DD SYSOUT=*,DCB=(LRECL=133) //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //LOGFILE DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(your DB2 System ID) RUN PROGRAM(TIECOMPX) PLAN(ppppCOMP) + LIBRARY('your Gen load library') END //IEFINPUT DD * 'F','DEF' your model ID,'your model name'

Client/Server Encyclopedia Sample SQL The following two sets of sample SQL statements update models that are maintained in a Client Server Encyclopedia. These SQL statements must be run against the CSE encyclopedia tables using SQLPlus for Oracle or SQL utility for SQLServer. Prior to running these SQL statements, you must connect as the encyclopedia owner for Oracle CSE, and you must use the encyclopedia database for SQL Server. Oracle does not perform commits automatically. Therefore it is required to insert a COMMIT; statement after the UPDATE statements when running the SQL statements against the Oracle CSE tables. It is recommended that you produce Model Action Block Use reports using the filter option before and after running these SQL statements. The before report should use filter = YES and the after report depends on which sample you choose to execute. For Sample 3, use filter = Compatibility. For Sample 4, use filter = Default. These reports provide further information on routines affected by the SQL updates, including the owning business system and the load module into which they are packaged. Therefore, the reports should be reviewed to ensure the processing produced the desired result. The reports should be saved for auditing purposes. Sample 3: Set Dynamic Link Option to Compatibility Description: Sample SQL statements for changing the Dynamic Link option from Yes to Compatibility for all routines in a Gen r7.6 model. The first SELECT SQL statement displays the objects for the routines that will be affected by the subsequent updates. This is intended for auditing purposes. This SELECT SQL is followed by five UPDATE SQL statements, each updating the Dynamic Link Option from Yes to Compatibility for different combinations of procedure steps, screens and action blocks. The number of rows listed by the SELECT statement should be equal to the total number of rows updated by individual UPDATE statements. This can be used to verify the results of execution. The execution sequence of the five UPDATE statements is not significant. -- THESE SQL STATEMENTS CAN BE USED IN ORDER TO CHANGE THE DYNAMICALLY -- LINK OPTION FROM 'Yes' TO 'Compatibility' FOR ALL COMPONENTS OF -- A MODEL. --- -- MODEL ID AND MODEL NAME MUST BE CUSTOMIZED ACCORDINGLY. -- THE MODEL MUST HAVE SCHEMA LEVEL 9.1.A5, IE. CONVERTED FOR GEN R7.X. -- OWNER OF THE ENCYCLOPEDIA TABLES MUST BE SPECIFIED. --- -- IMPORTANT!!! PLEASE NOTE THESE SQL STATEMENTS PERFORM BULK UPDATE -- AGAINST YOUR MODEL. THEREFORE IT MUST BE USED WITH CAUTION. -- PRIOR TO RUNNING THESE SQL STATEMENTS, PLEASE ENSURE THAT YOU -- CAN RESTORE YOUR ORIGINAL MODEL IF REQUIRED, EG. BACKUP OR COPY -- YOUR MODEL.

-- THE MODEL, ITS SUBSETS AND CHILD MODELS MUST BE CHECKED IN BEFORE -- RUNNING THIS SQL. -- THESE SQL UPDATES WILL NOT BE RECORDED BY ENCYCLOPEDIA CHANGE -- CAPTURE PROCESSING. THEREFORE THE VERSION CONTROL AND APPLY -- TO PARENT MODEL FUNCTIONS WILL NOT DETECT THESE UPDATES. --- -- FOR ORACLE, YOU MUST CONNECT AS ENCYCLOPEDIA OWNER. -- FOR SQLSERVER, YOU MUST USE THE ENCYCLOPEDIA DATABASE. -- LIST IMPLGIC AND XIMPLGIC OBJECTS WHERE DYNAMICALLY LINK OPTION -- IS SET TO 'Yes' SELECT NAME08_PROP_1,OBJ_ID,OBJ_TYPE_CODE,OBJ_CHAR_PROP_2 FROM DOBJ,DMDL,DNAME WHERE MODEL_NAME='your model name' AND OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 IN ('A','G','C','D','E') AND NAME_OBJ_ID=OBJ_ID ORDER BY NAME08_PROP_1; -- MODIFY IMPLGIC AND XIMPLGIC OBJECTS TO SET DYNAMICALLY LINK OPTION -- TO 'Compatibility' INSTEAD OF 'Yes'. -- A -> I Change procedure step/action block to Compatibility where -- screen is Default UPDATE DOBJ SET OBJ_CHAR_PROP_2='I' WHERE OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 = 'A' AND OBJ_MODEL_ID=your model ID AND OBJ_ID IN FROM DOBJ,DMDL WHERE MODEL_NAME='your model name' ); -- G -> K Change procedure step/action block to Compatibility where screen -- is No UPDATE DOBJ SET OBJ_CHAR_PROP_2='K' WHERE OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 = 'G' AND OBJ_MODEL_ID=your model ID AND OBJ_ID IN FROM DOBJ,DMDL

WHERE MODEL_NAME='your model name' ); -- C -> L Change screen to Compatibility where procedure step/action -- block is Default UPDATE DOBJ SET OBJ_CHAR_PROP_2='L' WHERE OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 = 'C' AND OBJ_MODEL_ID=your model ID AND OBJ_ID IN FROM DOBJ,DMDL WHERE MODEL_NAME='your model name' ); -- D -> P Change procedure step/action block/screen to Compatibility where -- Yes UPDATE DOBJ SET OBJ_CHAR_PROP_2='P' WHERE OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 = 'D' AND OBJ_MODEL_ID=your model ID AND OBJ_ID IN FROM DOBJ,DMDL WHERE MODEL_NAME='your model name' ); -- E -> O Change screen to Compatibility where procedure step/action -- block is No UPDATE DOBJ SET OBJ_CHAR_PROP_2='O' WHERE OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 = 'E' AND OBJ_MODEL_ID=your model ID AND OBJ_ID IN FROM DOBJ,DMDL WHERE MODEL_NAME='your model name' );

Sample 4: Set Dynamic Link Option to Default Description: Sample SQL statements for changing Dynamically Link option from Yes to Default for all routines in a Gen r7.6 model. Derivation algorithms which do not have an owning business system are excluded. It is not valid to set the Dynamic Link option to Default if there is not an owning business system. If your model contains derivation algorithms, you may want to use Sample 3 to explicitly set the Dynamic Link option to Compatibility for derivation algorithms. The first SELECT SQL statement displays the objects for the routines that will be affected by the subsequent updates. This is intended for auditing purposes. This SELECT SQL is followed by three UPDATE SQL statements, each updating the Dynamic Link Option from Yes to Default for different combinations of procedure steps, screens and action blocks. The number of rows listed by the SELECT statement should be equal to the total number of rows updated by individual UPDATE statements. This can be used to verify the results of execution. The execution sequence of the three UPDATE statements is not significant. -- THESE SQL STATEMENTS CAN BE USED IN ORDER TO CHANGE THE DYNAMICALLY -- LINK OPTION FROM 'Yes' TO 'Default' FOR ALL COMPONENTS OF A MODEL. --- -- MODEL ID AND MODEL NAME MUST BE CUSTOMIZED ACCORDINGLY. -- THE MODEL MUST HAVE SCHEMA LEVEL 9.1.A5, IE. CONVERTED FOR GEN R7.X. -- OWNER OF THE ENCYCLOPEDIA TABLES MUST BE SPECIFIED. --- -- IMPORTANT!!! PLEASE NOTE THESE SQL STATEMENTS PERFORM BULK UPDATE -- AGAINST YOUR MODEL. THEREFORE IT MUST BE USED WITH CAUTION. -- PRIOR TO RUNNING THIS SQL, PLEASE ENSURE THAT YOU CAN RESTORE YOUR -- ORIGINAL MODEL IF REQUIRED, EG. BACKUP OR COPY YOUR MODEL. -- THE MODEL, ITS SUBSETS AND CHILD MODELS MUST BE CHECKED IN BEFORE -- RUNNING THIS SQL. -- THESE SQL UPDATES WILL NOT BE RECORDED BY ENCYCLOPEDIA CHANGE -- CAPTURE PROCESSING. THEREFORE THE VERSION CONTROL AND APPLY -- TO PARENT MODEL FUNCTIONS WILL NOT DETECT THESE UPDATES. --- -- FOR ORACLE, YOU MUST CONNECT AS ENCYCLOPEDIA OWNER. -- FOR SQLSERVER, YOU MUST USE THE ENCYCLOPEDIA DATABASE. -- LIST IMPLGIC AND XIMPLGIC OBJECTS WHERE DYNAMICALLY LINK OPTION -- IS SET TO 'Yes' -- NOTE: DERIVATION ALGORITHMS WHICH DO NOT HAVE AN OWNING BUSINESS SYSTEM -- ARE EXCLUDED. SELECT NAME08_PROP_1,OBJ_ID,OBJ_TYPE_CODE,OBJ_CHAR_PROP_2 FROM DOBJ,DMDL,DNAME,DASC B,DASC C WHERE MODEL_NAME='your model name' AND OBJ_TYPE_CODE IN (167,168)

AND B.ASSOC_FROM_OBJ_ID = OBJ_ID AND B.ASSOC_TYPE_CODE = 174 AND C.ASSOC_TO_OBJ_ID = B.ASSOC_TO_OBJ_ID AND C.ASSOC_TYPE_CODE IN (235, 53) AND OBJ_CHAR_PROP_2 IN ('A','G','C','D','E') AND NAME_OBJ_ID=OBJ_ID ORDER BY NAME08_PROP_1; -- MODIFY IMPLGIC AND XIMPLGIC OBJECTS TO SET DYNAMICALLY LINK OPTION -- TO 'Default' INSTEAD OF 'Yes'. -- NOTE: DERIVATION ALGORITHMS WHICH DO NOT HAVE AN OWNING BUSINESS SYSTEM -- ARE EXCLUDED. -- A, C, D, -> N Change procedure step/action block and/or screen -- from Yes to Default UPDATE DOBJ SET OBJ_CHAR_PROP_2='N' WHERE OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 IN ('A','C','D') AND OBJ_MODEL_ID=your model ID AND OBJ_ID IN FROM DOBJ,DMDL,DASC B,DASC C WHERE MODEL_NAME='your model name' AND B.ASSOC_FROM_OBJ_ID = OBJ_ID AND B.ASSOC_TYPE_CODE = 174 AND C.ASSOC_TO_OBJ_ID = B.ASSOC_TO_OBJ_ID AND C.ASSOC_TYPE_CODE IN (235, 53)); -- G -> F Change procedure step/action block to Default where screen is No UPDATE DOBJ SET OBJ_CHAR_PROP_2='F' WHERE OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 = 'G' AND OBJ_MODEL_ID=your model ID AND OBJ_ID IN FROM DOBJ,DMDL,DASC B,DASC C WHERE MODEL_NAME='your model name' AND B.ASSOC_FROM_OBJ_ID = OBJ_ID AND B.ASSOC_TYPE_CODE = 174 AND C.ASSOC_TO_OBJ_ID = B.ASSOC_TO_OBJ_ID AND C.ASSOC_TYPE_CODE IN (235, 53)); -- E -> B Change screen to Default where procedure step/action block is No UPDATE DOBJ

SET OBJ_CHAR_PROP_2='B' WHERE OBJ_TYPE_CODE IN (167,168) AND OBJ_CHAR_PROP_2 = 'E' AND OBJ_MODEL_ID=your model ID AND OBJ_ID IN FROM DOBJ,DMDL,DASC B,DASC C WHERE MODEL_NAME='your model name' AND B.ASSOC_FROM_OBJ_ID = OBJ_ID AND B.ASSOC_TYPE_CODE = 174 AND C.ASSOC_TO_OBJ_ID = B.ASSOC_TO_OBJ_ID AND C.ASSOC_TYPE_CODE IN (235, 53));