Vous êtes sur la page 1sur 22

Mainframe230

Changeman Tools Tutorials


CHANGEMAN Changeman is version control utility of HOUSEHOLD which manages and automates the process of implementing applications/systems software from a development environment to the production environment. Changeman uses the strategy of packages which will include all the information which has to be move into the production environment. Change man does this job by managing movement of change package information in five distinct environments 1) Development The development environment is used for application program development. The development environment may or may not exists under the control of changeman 2) Staging The staging environment is a transition environment, where all the testing and editing of the work libraries are initiated 3) Baseline The baseline environment is a copy of the current production libraries which are managed by changeman. These libraries are used in the case of application testing 4) Production The production environment is a set of libraries where the production version of application resides 5) Backup The backup environment consists of the libraries which contains the previous versions of production software A changeman package is a logical definition for the collection of items associated with a change or development request. The associated items include work data sets which are managed by changeman. In a typical change request the following can be the associated members 1) 2) 3) 4) 5) 6) Source Code Copy Books Load Modules DBRM libraries Service request JCL When a change man package is created, it creates a set of data sets to store all the associated items or termed as COMPONENTS. The data sets are usually a Partitioned Organization ones with a unique naming convention. All the changeman controlled data sets will have a high level qualifier as OIN1. The data set will be something like PICM.CP000000.OIN1. #NNNNNN.??? ,

where #NNNNNNN is the Changeman package number which the item or component is associated, and ??? is the associated member or component type. Project Pneumonic: Within the Package Master, HOUSEHOLD has divided work up by Project Mnemonics. Projects have been used to divide change management by application support groups like HLFG, OIN1 etc. There is internal security within CM that allows specifically named components to belong only to one project. For example, a payroll source member may be secured so that only payroll projects Pneumonic are authorized to access it. There are different stages before installing the package and they are DEVelopment, PROmtion, AUDit trailing, FReeZing, APProval etc. When a package is created it will be in DEV status, once the modules/programs are checked into the package and promoted to test, the package will be in promote status. AUDit trailing will be done for that package to make sure that everything is okay. Later the package will be FRoZEn and it will be in FRZ status. Once the package gets to FRZ status nothing can be done to the programs/modules involved with it. The last stage is APProval state, i.e., the managers here have to approve our changes and once all the approvals are obtained the package will be moved into production on the install date specified while creating the package. This is just a brief idea of how the changeman works. WORKING WITH CHANGEMAN The changeman utility can be accessed from the ISPF main menu by giving a C. The following screen will be displayed --- CHANGE MAN 4.1.6P PRIMARY OPTION MENU --- NOTIFICATION UPDATED OPTION ===> 1 Build - Create, update and review package data 2 Freeze - Freeze or unfreeze a package 3 Promote - Promote or demote a package 4 Approve - Approve or reject a package 5 List - Display (to process) package list B Backout - Back out a package in production C CDF - Concurrent Development Facility D Delete - Delete or undelete a package L Log - Browse the activity log N Notify - Browse the Global Notification File O OFMlist - Online Forms package list Q Query - Query packages, components and relationships R Revert - Revert a package to DEV status T Tutorial - Display information about Change Man X Exit - Exit Change Man

Press ENTER to process; enter END command to exit. The menu itself is self explanatory regarding the options and their functions. Usually a Production move involves a change man cycles which consists of 1) Creating a Package which also involves the supplying of general information about the changes or the development activity to be performed. Packages will be created by the Module Leaders, Project Leaders or Project Managers. 2) The package contains a list of programs that we refer as ITEM or COMPONENT which has to be attached to the package. This is done either through a CHECK OUT of the ITEM or to STAGE (is discussed below in detail) 3) The programs or the item is edited or modified as per the requirements and compiled(change man generates the JCLs for compiling a component and submits the job for compilation). 4) After successfully compiling the components in your package, you may use the Promote function. This function copies components into appropriate test libraries. When promoting for the first time, you should perform a FULL PROMOTE, which takes all members in your package and promotes them to appropriate test libraries. This step is needed to test the component in your test regions. If errors are detected during testing, you can DEMOTE any or all of the members in your package. After corrections have been made, You can re-PROMOTE them to test environment. 5) When all of the components in a change package have been tested and user sign-off has been obtained, you must submit the change package for AUDIT. The audit process verifies whether or not all of your components are in synch. For example, if no changes are made to a component, the AUDIT will detect that staging and baseline libraries are duplicate. 6) After running a successful audit, the next step is to FREEZE the package. A change package must been in FRZ status before the Approval process can take place. Once a package is in the FROZEN stage you can only browse the components 7) All normal planned application packages must be approved by PEER, MANAGER, APPLICATIONS CCB Approvers and CHANGE MANAGEMNENT Implementers. 8) Approvals must be completed prior to the Implementation date/time. 9) Once the necessary approvals have been obtained by CM, the package is ready for installation. During the installation, CM submits the migration jobs to copy all the components from staging libraries to production libraries. Once this is complete, CM sends a BASELINE RIPPLE message to the creator of the package. This indicates all current and backup versions have been successfully updated. In the event of a backout, CM will take the current version (0) generation and copy the -1 version into baseline

To access a particular package where you have the components to be edited or changed, note the Package number it will be usually like OIN1000060, OIN1000092 etc. Enter the option 5(LIST) from the changeman menu got through ISPF main menu. The below screen is the outline when you enter on the LIST option --------------------------- PACKAGE LIST PARAMETERS --------------------------COMMAND ===> SPECIFY SELECTION CRITERIA: PACKAGE ID ===> OIN1000092 (Full name or pattern; blank for list, or '*' for all packages) PACKAGE STATUS ===> (DEV, FRZ, APR, REJ, DIS, INS, BAS, BAK, OPN, CLO, TCC or DEL) CREATOR'S TSO-ID ===> WORK REQUEST ID ===> DEPARTMENT ===> PACKAGE LEVEL ===> (1-Simple, 2-Complex, 3-Super, 4-Participating) PACKAGE TYPE ===> (Planned or Unplanned) PACKAGE TIME SPAN ===> (Permanent or Temporary) FROM INSTALL DATE ===> (YYYYMMDD) TO INSTALL DATE ===> (YYYYMMDD) FROM CREATION DATE ===> (YYYYMMDD) TO CREATION DATE ===> (YYYYMMDD) OTHER PARAMETERS ===> (Y/N) Press ENTER to process; Enter END command to exit. The PACKAGE-ID will be the package id which was last accessed by you. If you want to accesses a package OIN1000092. Enter the package OIN1000092 in the package-id field and hit enter which will display you the package list screen which is displayed below. COMMAND ===> SCROLL ===> CSR PACKAGE ID STA INSTALL LVL TYPE WORK REQUEST DEPT PROMOTE AUD CREATOR 10) __ OIN1000092 DEV 20001231 SMPL PLN/PRM HIERARCHY HFC LEVEL1 VEN631 There are two types of commands which can be entered first is on the command line and second on the underscores before the package name. Here are some of the command commands which you usually enter on the package prompts S1 Stage components (Dev Lib list) C1 Check out components (Baseline/promotion) S2 Stage components (Package list) QP Query change package information AP Audit a package

1) 2) 3) 4) 5)

6) PD 7) F1

Promotion and Demotion Freezing a package online

Check out Components (Option C1) If a component (program or copybook or subroutine, assembler table etc) is present in the baseline library which is nothing but the group of changeman Partitioned datasets (PDS). A component when checked out into a changeman package should be assigned with a type. The component type should be correct because as mentioned previously changeman generates JCLS to compile the component automatically. To tell changeman to use the correct procedure to use for compilation we should specify the type. For e.g. if we are having a simple COBOL program, then the compilation should be done only to create and a load module so changeman identifies this and uses a procedure. If there is COBOL program with DB2 access then changeman should be told to compile the program with a DB2 option i.e. generate a JCL which uses procedure for compiling a DB2 cobol program. So depending on the type the sources for the baseline library are defined to change.. As discussed previously, For each type we incorporate into a package it will go as member to a partitioned group of datasets created at the time of creating the package. The following are component types supported by changeman LIB DESCRIPTION _ HCA CICS Online Assembler _ HCC CICS Online COBOL: load to CLM _ HC2 CICS Online COBOL 2: load to CLM _ HCD CICS Online COBOL w/DB2: load to CLM _ HC4 CICS Online COBOL 2 w/DB2: load to CLM _ HC5 CICS Online COBOL LE w/DB2: load to CLM _ HC6 CICS Online COBOL LE: load to CL6 _ NDM NDM Processes (sys5.ndm.process) _ NDJ NDM Jobs (HFCP.JOBLIB) _ HBA Batch Assembler _ HBC Batch COBOL: load to BLM _ HB2 Batch COBOL 2: load to BLM _ HBD Batch COBOL w/DB2: load to BLM _ HB3 Batch COBOL LE _ HB4 Batch COBOL 2 w/DB2: load to BLM _ HB5 Batch COBOL 370 w/DB2: load to BLM _ HCM CICS Online MAPs: load to MAP & CP1 _ DBR DBRM Library DB2 System _ DBB DB2 Bind Control Cards for Plans & Pkgs _ DCL DCLGEN Copybooks
_ RUN DB2 Run Cards _ BLM Batch Load Module _ CLM CICS Online Load Module _ CL6 CICS Online Load Module

_ MAP Loadlib CICS MAPS _ CT1 CICS Translator for Copybooks: load to CP1 _ CP1 Copy Books: _ JB1 JOBs: _ PR1 PROCs: _ CC1 Control Cards: _ CC2 Control Cards (HFCP.CTLCARD) _ DMS DMS Control Cards _ LST Compile Listing Library _ XP1 Express: Move from test to production _ CPY Dummy, required by Change Man. DO NOT USE _ LOD Dummy, required by Change Man. DO NOT USE The following are the corresponding libraries or partitioned datasets which are created for a sample package OIN1000092 LIB DEVELOPMENT STAGING LIBRARY HB5 PICM.CP000000.OIN1.#000092.HB5 DBR PICM.CP000000.OIN1.#000092.DBR DBB PICM.CP000000.OIN1.#000092.DBB RUN PICM.CP000000.OIN1.#000092.RUN BLM PICM.CP000000.OIN1.#000092.BLM CP1 PICM.CP000000.OIN1.#000092.CP1 JB1 PICM.CP000000.OIN1.#000092.JB1 PR1 PICM.CP000000.OIN1.#000092.PR1 LST PICM.CP000000.OIN1.#000092.LST CPY PICM.CP000000.OIN1.#000092.CPY LOD PICM.CP000000.OIN1.#000092.LOD The following are the baseline libraries that changeman searches when you request change man to check out any component the type and the corresponding datasets searched are also mentioned. LIB BASELINE LIBRARY NAME HCA PO00.CP000000.HFNP.SRX HCC PO00.CP000000.HFNP.SRX HC2 PO00.CP000000.HFNP.SRX HCD PO00.CP000000.HFNP.SRX HC4 PO00.CP000000.HFNP.SRX HC5 PO00.CP000000.HFNP.SRX HC6 PO00.CP000000.HFNP.SRX NDJ HLIC.JOBLIB NDM SYS5.NDM.PROCESS HBA PO00.CP000000.HFNP.SRX HBC PO00.CP000000.HFNP.SRX HB2 PO00.CP000000.HFNP.SRX HB3 PO00.CP000000.HFNP.SRX HBD PO00.CP000000.HFNP.SRX HB5 PO00.CP000000.HFNP.SRX

HB4 PO00.CP000000.HFNP.SRX HCM PO00.CP000000.HFNP.SRX DBR PO00.CP000000.HFNP.DBR DBB PO00.CP000000.HFNP.BND DCL PO00.CP000000.HFNP.DCL RUN PO00.CP000000.HFNP.RUN BLM PO00.CP000000.HFNP.LNK

CLM PO00.CP000000.HFNP.PGM
CL6 PO00.CP000000.HFNP.PGM MAP PO00.CP000000.HFNP.PGM CT1 PO00.CP000000.HFNP.SRX CP1 PO00.CP000000.HFNP.CPY JB1 PO00.CP000000.HFNP.JCL PR1 PO00.CP000000.HFNP.PRC LST PO00.CP000000.HFNP.LST CC1 PO00.CP000000.HFNP.CTC CC2 HFCP.CTLCARD DMS PO00.CP000000.HFNP.DMS XP1 SYS4.CHGMAN.DUMMY.EXPRESS LOD SYS4.CHGMAN.DUMMY.LOD CPY SYS4.CHGMAN.DUMMY.CPY Coming back to the steps for checking out the component. Let us take the example of checking out a component POTEB010 which is BATCH COBOL PROGRAM WHICH USES DB2. Enter C1 at the package prompt the following screen will be displayed.

----------------------------------- CHECKOUT ---------------------------------OPTION ===>

L - List libraries where component is located PACKAGE ID ===> OIN1000092 (Package name)

COMPONENT NAME ===> POTEB010 (Name or Pattern for list; "ABCDEF" OR "ABC*") Pattern of only "*" Checks Out all Components related to Library Type. LIBRARY TYPE ===> HB5 (Blank for list) LANGUAGE ===> (Applies to source code; * for list) SOURCE LIBRARY ===> 0 (Baseline 0 to -n; Promotion +1 to +n) CHECK OUT TO ===> S PERSONAL LIBRARY ===> LIBRARY DSORG ===> (S-Staging library, P-Personal library) (Personal library: PDS, PDSE, SEQ, PAN, LIB)

CONFIRM REQUEST ===> YES CHECKOUT MODE ===> 1 LOCK COMPONENT ===> NO

(Y/N) (1-Online, 2-Batch) (Y/N)

Press ENTER to process; Enter END command to exit. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1) If you dont enter a component name, the change man will display the list of components which
can be checked out. This is done by concatenating all the members in the baseline libraries mentioned above or you can enter even a pattern corresponding to the items, like you want a list of component available in the baseline with starting with PO. Enter PO* at the component name field. After selecting the component which you want to check out, the library type has to be entered, again if you dont enter the library type, changeman prompts you on all the library types available. For our component POTEB010, the library type is HB5 because the component is COBOL370 program with DB2. Language field is for specifying the language of the component which you are checking out, usually change man assumes the language according to the library type selected. Confirming the request specifies the overlay of same component being checked out in any other package. If it is yes change man prompts that the component is already checked out in another package specifying the package number. The batch/foreground gives you an option to check out in the batch or On line mode Once you have done with the field entries ENTER to start the process of checking out

2)

3) 4) 5)

-------------------- CHECKOUT ---------------- LANGUAGE ASSUMED OPTION ===> L - List libraries where component is located PACKAGE ID ===> OIN1000092 (Package or Application name) COMPONENT NAME ===> POTEB010 (Blank or pattern for list; * for all members) LIBRARY TYPE ===> HB5 (Blank for list) LANGUAGE ===> (Applies to source code; * for list) SOURCE LIBRARY ===> 0 (Baseline 0 to -n; Promotion +1 to +n) CHECK OUT TO ===> S (S-Staging library, P-Personal library) PERSONAL LIBRARY ===> LIBRARY DSORG ===> (Personal library: PDS, SEQ, PAN, LIB) CONFIRM REQUEST ===> YES (Y/N) CHECKOUT MODE ===> 1 (1-Online, 2-Batch) Press ENTER to process; Enter END command to exit..

The message termed CHECKED OUT or LANGUAGE ASSUMED(as in this case) may be displayed in the top right corner of the panel. Once this message comes when you are doing an online check out the same has been done by change man. If it is a batch mode then change man will prompt you about the completion of a job which confirms that the check out has been done. Note that while checking out the change man doesnt compile the component. Staging a component (S1) Staging is usually done when a program is not available in the baseline libraries supported by changeman. Usual examples are when you are trying to develop a new program and put in the change man to move into production. The procedure adopted is to write the program as a member in your personal PDS and stage using the S1 option into the packages. Again let us take the example of staging an example component for better understanding, this time the component be POTEB020 which is COBOL370 BATCH PROGRAM WHICH USES DB2, so the type is HB5. Typing S1 in the package prompt gives you a screen display below

----------------------- STAGE: FROM DEVELOPMENT ----------------- COMMAND ===> PACKAGE ID: OIN1000092 STATUS: DEV ISPF LIBRARY: PROJECT ===> GROUP ===> TYPE ===> INSTALL DATE: 20000903

MEMBER ===> (Blank or pattern for list; * for all members) OTHER PARTITIONED OR SEQUENTIAL DATASET: DATASET NAME ===> ORGANIZATION ===> (PDS, SEQ, PAN, LIB, OTH) LIBRARY TYPE ===> (Blank for list) LANGUAGE ===> (Blank for list; applies to source code) STAGE NAME ===> (Optional if organization not SEQ) CONFIRM REQUEST ===> YES (Y/N) STAGE MODE ===> 1 (1-Foreground, 2-Batch) SUPPRESS MESSAGES ===> (Y/N; applies to batch stage)
As described previously changeman allows you to stage from the PANVALET LIBRARY, PARTITIONED DATASETS(PERSONAL OR OTHERS),SEQUENTIAL FILE as a component to package. Specify the location of the component you want to stage in the appropriate fields and as in the check out option specify the library type and language of the component. In our example case of POTEB020 it is HB5. Now IF you are staging from the PANVALET library give the ORGANIZATION as PAN and if you are staging from a sequential dataset then mention organization as SEQ and mention the name in which you want to assign for the component in the package in the STAGE NAME. so after entering the request my screen will appear as

--------------------- STAGE: FROM DEVELOPMENT ------------------- COMMAND ===>

PACKAGE ID: OIN1000092 STATUS: DEV INSTALL DATE: 20000903 ISPF LIBRARY: PROJECT ===> GROUP ===> TYPE ===> MEMBER ===> (Blank or pattern for list; * for all members) OTHER PARTITIONED OR SEQUENTIAL DATASET: DATASET NAME ===> 'dh47.ven631.pgms(poteb020)' ORGANIZATION ===> pds (PDS, SEQ, PAN, LIB, OTH) LIBRARY TYPE ===> HB5 (Blank for list) LANGUAGE ===> cobol370 (Blank for list;applies to source code) STAGE NAME ===> (Optional if organization not SEQ) CONFIRM REQUEST ===> YES (Y/N) STAGE MODE ===> 1 (1-Foreground, 2-Batch) SUPPRESS MESSAGES ===> (Y/N; applies to batch stage)
Unlike checkout staging compiles the program before staging into the package specified, so when you ENTER to process the staging of the component in this screen it will show you the options for compilations, which is similar to compilation screens of the compile option of a component from a package. The first screen will appear as shown below.

------------------------- STAGE: COMPILE AND LINK EDIT -----------------------COMMAND ===> PACKAGE ID: OIN1000092 STATUS: DEV INSTALL DATE: 20001231

STAGED NAME: POTEB020 LIBRARY TYPE: HB5 - Batch COBOL 370 w/DB2: load to BLM LANGUAGE: COBOL370 DATASET NAME: DH47.VEN631.PGMS COMPILE PROCEDURE ===> COBOL370 (Blank for list; ? for designated procedure) COMPILE PARMS ===> (Enter JOB Name for PROCs requiring associated JOB for JCLCHECK) LINK EDIT PARMS ===> DB2 PRE-COMPILE ===> Y (Y/N) OTHER OPTIONS ===> YES (Y to display other options) JOB STATEMENT INFORMATION:

===> //VEN631E JOB (H54D,ITIT),'RAVI', <=== CHANGE ACCORDINGLY_____ ===> // CLASS=S, <=== CHANGE ACCORDINGLY_____ ===> // NOTIFY=VEN631, <=== CHANGE ACCORDINGLY_____ ===> // MSGCLASS=T <=== CHANGE ACCORDINGLY_____ Press ENTER to process; Enter END command to exit.
. . . . . . . . . . . . . . . . . . . . . . . . . . . Precaution to be taken in this screen is to verify if the Job log is mentioned in the JOB STATEMENT information, if not please key in the above information changing the user-id of VEN631 to yours. The above is initial screen displayed before submitting a job of compilation and link edit. ENTER in the screen will show you the compilation and link-edit parameters that is required for the program. If the program has a DB2 attachment then the next screen will ask you to select the DB2 system where the program is going to be attached. Select the DB2 system by saying a S in the prompt of the systems as below and ENTER

---- DB2 PHYSICAL SUBSYSTEMS ---------- Row 1 to 4 of 4 COMMAND ===> SCROLL ===> CSR VERSION ===> ________________________________________________________ Enter S to select a DB2 subsystem and continue. Enter END command to exit. DB2 REMOTE DB2 SYSTEM SUBSYS SITE LOAD LIBRARY _ DB2T SYS4.DB2.DB2D.SDSNLOAD _ DSNP SYS4.DB2.DSNP.SDSNLOAD S DB2D SYS4.DB2.DB2D.SDSNLOAD
_ DBLP DB2PHFC.DSNLOAD

******************************* Bottom of data ********************************


The next screen shows the parameters of the COMPILATION AND LINK EDIT

----------------------------- STAGE: USER OPTIONS ----------------------------COMMAND ===> NAME: POTEB999 TYPE: HB5 LANGUAGE: COBOL370

COMPILE ONLY ===> ??? IMS DLITCBL ENTRY ===> CICS PRE-COMPILE ===> DROP INCLUDE STMTS ===> EASYTRIEVE NO NAME ===> XPEDITER COMPILE ===> FORMAT TO IMSTEST ===> INCLUDE MQSERIES ===> (TEST MFS IS DEFAULT)

JCK FULL LISTING USER OPTION 11 USER OPTION 13 USER OPTION 15 USER OPTION 17 USER OPTION 19

===> ===> ===> ===> ===> ===>

USER OPTION 10 USER OPTION 12 USER OPTION 14 USER OPTION 16 USER OPTION 18 USER OPTION 20

===> ===> ===> ===> ===> ===>

Use Y or N to select or deselect additional processing options; Press ENTER to continue; Enter END command to exit. . . . . . . . . . . . . . . . . . . . . . . . . . . .
The first two fields are generally blank. XPEDITER This field specifies whether the program has to be compiled with the debug XPEDITE option or not Hitting Enter in this screen will submit a job for compilation. Note down the job name and Job number for the reference for any compilation and link edit mistakes. The extra step you should do in the checkout is to edit and recompile so that it will be in ready for testing. PACKAGE LIST(S2) Package list is to view the components attached with the package. To view the package list on the package prompt enter the S2 as displayed below

----------------------------- CHANGE PACKAGE LIST ------------ Row 1 to 1 of 1 COMMAND ===> SCROLL ===> CSR PACKAGE ID STA INSTALL LVL TYPE WORK REQUEST DEPT PROMOTE AUD CREATOR S2 OIN1000187 DEV 20001231 SMPL PLN/PRM HTS VEN631 ******************************* Bottom of data ********************************
You will be getting a screen as displayed below showing the list of members.

------------------------- STAGE: OIN1000023 COMPONENTS ------- Row 1 to 3 of 3 COMMAND ===> SCROLL ===> CSR NAME TYPE STATUS CHANGED LANGUAGE PROCNAME ID REQUEST

__ BUSUNIT DBB ACTIVE 20001030 080517 VEN631 __ BUSUNIT HB5 ACTIVE 20001102 083720 COBOL370 COBOL370 VEN631 __ POTEB020 HB5 ACTIVE 20001101 125342 COBOL2 COBOL370 VEN631

******************************* Bottom of data ********************************


The Members of the package is displayed in the alphabetic order, The various columns specifies characteristic of the Components. Name : Specifies the name of the component Type : Specifies the library type of the component Status :Specifies the current status of the component saying where it is compiled(ACTIVE), edited but not compiled (INCOMP),Frozen (FROZEN),Checked out(Check out). Changed : Specifies the date and time when the component was last modified Language: Language of the Component Procname: Procedure used to compile the component when submitting a job for compilation ID : Indicates the ID of the person who has last compiled, edited or promoted the component. Request : Message field which prints the request who have made to the component if you are doing some kind of editing, browsing etc. Editing, Browse and recompiling a Component After doing a list on the components you may have to edit, browse or recompile the component according to the need. For editing the component first position the cursor on the components prompt on the screen mentioned and Enter a E , the screen opens the component for editing, after editing if you want to save the changes you have to go through a compilation cycle (mentioned above) other wise all the changes will be lost. Change man automatically indicates the screens for recompilation (mentioned above) plus two screens ahead of compilation screens showing the changes made. Do the full cycle of compilation, even though you are sure that there will be compilation errors. Let us take for example you are going to edit the component POTEB020 in the above package. Put an E in from of the component as displayed below and hit Enter

------------------------- STAGE: OIN1000023 COMPONENTS ------- Row 1 to 3 of 3 COMMAND ===> SCROLL ===> CSR NAME TYPE STATUS REQUEST CHANGED LANGUAGE PROCNAME ID

_ BUSUNIT DBB ACTIVE 20001030 080517 VEN631 __ BUSUNIT HB5 ACTIVE 20001102 083720 COBOL370 COBOL370 VEN631 E POTEB020 HB5 ACTIVE 20001101 125342 COBOL2 COBOL370 VEN631 ******************************* Bottom of data ********************************
You will get the edit screen for the POTEB020 program showing the source code. Let us say you have edited the programs name to XXXX, When you end the editing process the next screen displayed will show you where the changes were made like below.

The differences are mentioned with a D and I indicating Deleted and Inserted lines in the old existing component and the changed component respectively. Press the function key F3 to quit from this screen

Menu Utilities Compilers Help BROWSE D131.VEN631.CMN00307.T1604049.OUTLIST Line 00000000 Col 001 080 Command ===> Scroll ===> CSR ********************************* Top of Data ********************************** S E R C M P A R (MVS-3.1.1 - 1997/213) CHSERV THURSDAY NOVE SYSUT1=PICM.CP000000.OIN1.#000175.HB2(CELETRS),SYSUT2=D131.VEN631.C MN00307.T1604 000100 IDENTIFICATION DIVISION. 000200 PROGRAM-ID. POTEB020. ++++++++|+++.+<++1++++.++++2++++.++++3++++.++++4++++.++++5++++.++++6++ ++.++++7+> D 000300 AUTHOR. Ravi K Gummadapu. --------|---.----1----.----2----.----3----.----4----.----5----.----6----.----7-I 000300 AUTHOR. Ravi K Gummadapu.. ++++++++|+++.+<++1++++.++++2++++.++++3++++.++++4++++.++++5++++.++++6++++.++ ++7+> 000400****************************************************************** 000500* 08/15/99 SR00084 - CUSTOMER SERVICE LETTER PROJECT 000600* EXTRACT CUSTOMER RECORDS FOR THOSE WHO HAVE INSURANCE ON 000700* THEIR LOANS. LETTERS WILL BE GENERATED BASED ON THE FILE 000800* CREATED IN THIS PROGRAM. SER71I - END OF TEXT ON FILE SYSUT1 SER72I - END OF TEXT ON FILE SYSUT2 SER75I - RECORDS PROCESSED: SYSUT1(257)/SYSUT2(257),DIFFERENCES(1) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pressing the function key F3 gives you the below screen which queries you to keep the outlist dataset,to print it or to delete. Usually the option is to delete D the outlist dataset showing the difference.

------------------------ COMPARISON REPORT DISPOSITION -----------------------OPTION ===> REPORT DATASET NAME: 'D131.VEN631.CMN00307.T1604049.OUTLIST' D - Delete

REPORT DISPOSITION ===> D

K - Keep PD - Print and Delete PK - Print and Keep JOB STATEMENT INFORMATION IF DISPOSITION IS PD OR PK: ===> //VEN631E JOB (H54D,ITIT),'RAVI', <=== CHANGE ACCORDINGLY_____ ===> // CLASS=S, <=== CHANGE ACCORDINGLY_____ ===> // NOTIFY=VEN631, <=== CHANGE ACCORDINGLY_____ ===> // MSGCLASS=T <=== CHANGE ACCORDINGLY_____ Press ENTER or END to process Enter CANCEL command to exit without saving changes. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Then what follows will be compilation and Link-edit screen discussed previously. To browse a Component Just put B in the prompt of the component and enter it will display you the component contents. To recompile the component put a R in the prompt of the component and Enter to get the same compile screens mentioned above. This is usually done when you want to recompile without editing the component. A component can be recompiled only when the status of the component is in the ACTIVE or INCOMP stage. Note: When a package is FROZEN or when the install date has elapsed then the component in the package are unusable until the status is changed or install date is modified. What does Compilation do to the component? When a component is edit or recompiled, the status of the component becomes INCOMP. If the Compilation is successfully, the status changes back to ACTIVE. This can be seen only be refreshing the PACKAGE LIST., i.e. by saying F3 in the package list and entering the package list command S2 again. Compilation and link-edit creates a load module in the package PDS i.e. it creates a load module and stores it in the load library created by the package at the time of packages creation. PROMOTION AND DEMOTION(PD) For testing purpose, it is needed that all the load modules created should be present in the test load libraries, and in case of the DB2 programs a plan has to be created in addition to the loadmodule. All this functionality are done when you are PROMOTING a component. DEMOTING reverses the previous promotion activity and restores the previously existing load libraries. When you are promoting the components in the package, you have the option for promoting all the components or promoting just one component or a list of components at a time. But ensure that before doing the Promotion the component is compiled successfully without any errors. For PROMOTING ENTER A PD in the package list screen after ending the S2 option i.e. on the screen which looks like the below displayed one

NOTE: First time Promoting a package should be FULL PROMOTION.

----------------------------- CHANGE PACKAGE LIST ------------ Row 1 to 1 of 1 COMMAND ===> SCROLL ===> CSR PACKAGE ID STA INSTALL LVL TYPE WORK REQUEST DEPT PROMOTE AUD CREATOR PD OIN1000023 DEV 20001231 SMPL PLN/PRM HTS VEN631 ******************************* Bottom of data ********************************
It will prompt you with a panel display below which allows to specify the options of Promotion, Demotion or Overlay(whether you are going to overlay some others load module or not). The columns under the entry fields mentions the history of the promotion and demotion activity done on this package by different persons. After Entering the desired option in the action field say P you will get a screen like the below displayed one. The next panel may be a PROMOTION/DEMOTION PANEL, the one displayed below is a promotion panel. The example we are going to take is to promote a component POTEB020 of the above-mentioned package.

---------------------------- PROMOTE CHANGE PACKAGE -------- Row 1 to 10 of 17 COMMAND ===> SCROLL ===> CSR PACKAGE ID: OIN1000092 CREATOR: VEN631 20001231 STATUS: DEV INSTALL DATE:

CURRENT PROMOTION LEVEL: LEVEL1 - 1 MAXIMUM PROMOTION LEVEL: LEVEL3 - 3 ACTION REQUESTED ===> p (P-Promote, D-Demote, C-Check for overlay) ONLINE OR BATCH ===> B (O-Online, B-Batch) LEVEL TO CHECK ===> 1 (Required for Action C) PROMOTE/DEMOTE HISTORY LVL NICKNAME DATE TIME Full Promotion 1 LEVEL1 2000/11/02 08:38 VEN631 Full Demotion 1 LEVEL1 2000/11/02 08:37 VEN631 Full Promotion 1 LEVEL1 2000/11/01 12:58 VEN631 Full Demotion 1 LEVEL1 2000/11/01 12:56 VEN631 . . . . . . . . . . . . . . . . . . . . . . . . . . . ID

In the option field of the above screen, Choose F to do a full promotion or demotion (which depends on the option you have chose on the previous panel) which means that all the components of the package will be promoted, but an S in the option field will let you select the components you want to promote or demote. In the NEXT PROMOTION LEVEL field mention the promotion level, generally 1 is used by us to do the testing. 2 will copy the already compiled load modules from the package load libraries to a user acceptance load library, other

than test. The selective promotion will prompt you a screen like below. We are considering the example of promoting a component POTEB020 in the above-mentioned package.

------------------------------- PROMOTE OPTIONS ------------------------------OPTION ===> s

F - Full promotion of the entire package to another promotion level S - Selective promotion of components to another promotion level PACKAGE ID: OIN1000092 CREATOR: VEN631 20001231 CURRENT PROMOTION LEVEL: LEVEL1 - 1 MAXIMUM PROMOTION LEVEL: LEVEL3 - 3 NEXT PROMOTION LEVEL ===> 1 BYPASS OVERLAY CHECK ===> NO (Y-Yes or N-No) STATUS: DEV INSTALL DATE:

JOB STATEMENT INFORMATION: ===> //VEN631E JOB (H54D,ITIT),'RAVI', <=== CHANGE ACCORDINGLY_____ ===> // CLASS=S, <=== CHANGE ACCORDINGLY_____ ===> // NOTIFY=VEN631, <=== CHANGE ACCORDINGLY_____ ===> // MSGCLASS=T <=== CHANGE ACCORDINGLY_____ Press ENTER to process; Enter END command to exit. . . . . . . . . . . . . . . . . . . . . . . . . . . . ---------------------- PROMOTE: OIN1000092 COMPONENTS ------ Row 1 to 4 of 4 COMMAND ===> SCROLL ===> CSR Enter END command to process or CANCEL to exit.
CURRENT PACKAGE PROMOTION LEVEL: 1 - LEVEL1

NEXT COMPONENT PROMOTION LEVEL: 1 - LEVEL1 NAME TYPE ALIAS-OF PROMOTION DATE TIME ID STATUS _ BUSUNIT BLM 0 STAGING 2000/11/02 08:37 VEN631 _ BUSUNIT DBB 0 STAGING 2000/10/30 08:05 VEN631 S POTEB020 BLM 0 STAGING 2000/11/02 16:08 VEN631 ******************************* Bottom of data ******************************** . . . . . . . . . . . . . . . . . . . . . . . . . . .

When you are promoting a component put an S on all the type of same component you want to promote or demote this will avoid any procedural error of preparing or backing out a component. You can select only the items which are marked as STAGING in the promotion column of the above panel.. In this panel after selecting the component related type Enter and End the screen to submit a promotion or demotion job accordingly. When the Promotion job ends successfully, the components will be available in the TEST LOAD LIBRARIES or USER ACCEPTANCE LOAD LIBRARIES for testing purposes. Once a component is promoted, if the component happens to be a CICS program then you may have to do a NEWC in the respective test region to test for the changes you have made to the component. QUERY PACKAGE (QP) The query package in the package selection list will give you a panel with a lot of lines with a prompt at the beginning, each of the row items are self-explanatory. All the rows gives information and component details regarding the package you are querying on.

OVERLAY WARNING
Suppose user VEN631 working with a program POTEB020 which is checked out in the package OIN1000092. You are trying to checkout the same program in a different package OIN1000183 then you will see the following screen.

---------------------------------- POTEB020.HB5 --------------- Row 1 to 1 of 1 COMMAND ===> SCROLL ===> CSR Press ENTER or END to process or enter CANCEL command to exit. This component is included in the following packages: PACKAGE ID STA PROMOTION VV.MM LAST ACTION SIZE PROCNAME ID OIN1000092 DEV 05.03 2000/11/02 08:37 157 COBOL370 VEN631 ******************************* Bottom of data ********************************
Enter CANCEL here so that the program doesnt get checked out in the package OIN1000183 and notify the Onsite coordinator with the program name. IMPORTANT NOTES:

CHANGEMAN

INFO

PACKAGE PROMOTION: LEVEL 1 LEVEL 2 LEVEL 3 HITRGI2/CICSD0U0 HITRGP2/CICSQ0U0 HITRGJ2/CICSD0U1

TO MOVE A CHANGE FROM ONE REGION TO ANOTHER IT IS NECESSARY TO DEMOTE THE PROGRAM AND THEN PROMOTE TO THE NEW LEVEL. (IE. D0U0 TO Q0U0 - DEMOTE FROM LEVEL 1 THEN PROMOTE TO LEVEL 2) AT THIS TIME DB2 WILL BE SHARED ACROSS THE LEVELS SO IN THIS CASE YOU CANNOT TEST THE SAME PROGRAM IN MULTIPLE REGIONS BECAUSE WHEN THE OTHER PERSON PROMOTES(BINDS) THEIR PROGRAM THE FIRST PROMOTE(BIND) WILL NO LONGER BE IN EFFECT NON-DB2 PROGRAMS CAN BE TESTED IN MULTIPLE REGIONS CONCURRENTLY BECAUSE THE LOAD LIBRARIES ARE UNIQUE FOR EACH REGION
-------------------------------------------- THE END ----------------------------------------------------------

FILEAID Tool Important Tips


TIP # 1 FILEAID The Easiest and Coolest way to locate bad data is thru File-Aid's FIND command. 1.OPEN the file in FILE-AID (in either browse or edit mode) 2.XREF with COPYBOOK. 3.Use FMT mode 4.Then issue , F /field-name INVALID or F /field-number INVALID The control will take you to the first invalid data record for the given field. e.g., The FILE has 3 fields namely NAME,AGE,COUNTRY. If you want to find the invalid data in the age field, then issue F /2 INVALID TIP #2 FILEAID We always face a s ituation such that when we have opened a File in FI LEAI D Brows e mode but later wished it was EDI T Mode and vice ver sa. S o in this s ituation, what we do is come out of the brows e mode and again open in edit mode and vice ver sa. But ther e is a cool command available in FI LE-AI D to help us in this type of s ituation. I f u r in Brows e Mode and want to change it into EDI T Mode , in the Line Command is sue

COMMAND = = > GO EDI T I f u r in EDI T Mode and want to change it into BROWS E Mode , in the Line Command is sue COMMAND = = > GO BROWS E TIP # 3 FILEAID How to determine compile date of loadlib member ?? Use FILE-AID !! 1. Go to FILE-AID 3.1 option 2. In the Library Utility type in the loadlib dataset name 3. Type 'a' next to the member name 4. TDATE is compile date TIP # 4 FILEAID Whats the best way to count the number of records in a VSAM File? 1.Choose FILE-AID Option 3.8 2. At the prompt of ....ENTER NEXT FUNCTION OR END , enter TALLY 3. U will get the record count 4. Type END to exit. TIP # 5 FILEAID While working in MS Excel we have the option of freeze Panes. By this options we can freeze some columns and have other columns scrolling. This feature is helpful in analysis when there are lots of columns(fields) in a file. In mainframe too, we have similar such facility thru File-Aid. 1.Open the file in File-Aid 2. use VFMT format 3. If you want to freeze columns(fields) 1,2,3, and 6 and have the rest as scrollable issue command HOLD 1-3,6 TIP # 6 FILEAID Can I issue FIND command to find values that are less than or greater than certain value at column 25?? We cant accomplish this task thru ISPF , but File -Aid provides us the facility to issue FIND command with relational operators like EQ,NE,LT,GT,LE and GE. e.g., FIND LT 2004 25 ALL So if one wants to use relational operator along with FIND command, open the same dataset in

FILE-AID. TIP #7 FILEAID Consider this situation. I am doing a verification on an output file. The output file has 200 fields. I need to verify only 25th and 175th fields only. I am using FILE-AIDs VFMT mode and for each record I am scrolling between 25 th and 175th field. Is there any efficient way to handle this situation? Some people might use HOLD to freeze 25th and 175th field , but still other fields are displayed , which is an annoyance. Here is one better way: In the VFMT mode, issue DISPLAY 25 175 ONLY Only 25th and 175th fields will be displayed. TIP #8 FILEAID ABEND SOLVING At midnight I receive production call. One job abended due to classic S0C7. Thru analysis I located the particular field which is a COMP-3 and junk data is sitting in that field for some records.These bad records are not contiguous but occuring randomly in the input file. Now to save my head I have to delete all the records with bad data in that particular field and reexecute the job quickly. Assume that input file has some 10 million records. How can I eliminatethe bad records in an efficient and a fast method? Here is the approach: Using the following FILE-AID option in batch mode $$DD01 DROP IF=(field-position, field-length, NEP) NEP means Not Equal to PACK One can generalize and customize the below JCL to deal with similar type of ABENDS. For Example, My input layout is: 01 TEST-RECORD. 05 NAME-FIELD PIC X(5). 05 AMOUNT-FIELD PIC 9(3) COMP-3. My JCL to eliminate the bad records: //STEP01 EXEC PGM=FILEAID //* //SYSUDUMP DD SYSOUT=*

//SYSPRINT DD SYSOUT=* //SYSLIST DD SYSOUT=* //SYSTOTAL DD SYSOUT=* //DD01 DD DSN=MYID.CHECK.OUT,DISP=SHR //DD01O DD DSN=MYID.CHECK.OUT, // DISP=(NEW,CATLG,CATLG), // DCB=(MYID.CHECK.OUT) //SYSIN DD * $$DD01 DROP IF=(6,2,NEP) /* This will drop the bad data records and retain only the good one. TIP #9 FILEAID I want to do Fuzzy Comparison of files!! My requirement is to compare 2 files of which for one certain field I can have + or - 1 value which should be acceptable while comparing. Thru FILE-AID COMPARE (OPTION 10), one can set percentage amount for numeric fields that determines "close enough" matches. When the "Formatted Criteria" table appears after the 2 files are specified, use the "T" line command. This brings up a "Tolerance Value/Percentage Specification" panel where you can set a plus or minus value for a numeric field.

Vous aimerez peut-être aussi