e0c142645060792728b17b0b32e41145.ppt
- Количество слайдов: 21
® IBM Software Group ISPF and RDz Comparison Back-up slides © 2008 IBM Corporation
RDz – Mainframe Comparison Chart ("Cheat Sheet") IBM Software Group | Rational software TSO/ISPF RDz – Integrated Development Environment Mainframe – z/OS PC – Windows – where the code is being developed JCL. If doing offloading from z/OS, shell scripts – on AIX machines Manually analyze code RAA i Edit Code - ISPF LPEX or ISPF mode editor Compile/Compiler Options Syntax Check – and/or Build Application – Compiler options under RDz Submit Job Edit JCL and submit job, or just use the Context menu and Submit Unit Test – DISPLAY/READY Trace, Xpeditor Debug Perspective – Local Project Integration Test – Xpeditor Remote Systems – z/OS Debug Tool Integration QA – Regression Test - Win. Runner Remote Systems Testing – and utilizing Rational Function Tester ABEND-AID/IBM Fault Analyzer RDz – Integrated Fault Analyzer File-Aid/IBM File Manager RDz – Integrated File Manager PDS (library) Project – or Folder Set JES Remote System / JES Endevor/Change. Man – or Your SCLM 3 rd Party SCM utilizing RDz's CARMA feature; Clear. Case utilizing native integration; SCLM utilizing the SCLM DT Perspective and/or Local History ISPF Option 0 Preferences ISPF Option 1 and Option 2 LPEX Editor ISPF Option 3. 1 (Library Utilities) Project Explorer and Context Menu in Remote Systems Explore ISPF Option 3. 2 (Dataset Utilities) Project Explorer and Context Menu in Remote Systems Explorer ISPF Option 3. 3 (Move and Copy) Project Explorer and Context Menu in Remote Systems Explorer ISPF Option 3. 4 (DSList) Project Explorer and Filters and Context Menu in Remote Systems Explorer and LPEX Editor ISPF Option 3. 8 (Outlist) Remote Explorer – JES – My Jobs ISPF Option 3. 11 3. 15 (Extended Search) Search menu ISPF Option 4 (Foreground) Run ISPF Option 6 TSO Command Shell – with some functional limitations (e. g. cannot issue Host Execs) ISHELL Remote Systems Explorer - USS files/filters + Context menu OMVS USS Command Shell 2
IBM Software Group | Rational software RDz – ISPF Comparison Chart – PF-Keys ISPF Editor LPEX Editor PF 1 = Help F 1, Help Menu*** See slide notes PF 2 = Split: Split the session (lets you use two functions of TSO at the same time. ) Ctrl/2 or Context Menu – Open New View – can open unlimited # of views PF 3 = End Ctrl+F 4 / Ctrl + 0, or close the Content Area PF 4 = Return Close the Content Area PF 5 = RFind (repeat last find ) Ctrl/F – and /<text> from LPEX command PF = 6 RChange (repeat lst change) Ctrl/N PF = 7 Move Backward Pg. Up key – or slider in window PF = 8 Move forward Pg. Dn key – or slider in window PF = 9 Switch between screens during a split session; goes with PF 2 Mouse – or Alt + Shift + Right/Left PF = 10 Move left Home key, or slider in window PF = 11 Move right End key, or slider in Window PF 12 Retrieve For LPEX commands, the Up Arrow Use ISPF Option 0 to customize PF-Keys Use Preferences to customize and extend Function key behavior The LPEX Context Menu can be accessed from the Right-mouse button – and from the Windows Menu key (on the keyboard between the right Alt & Ctrl keys) It should be noted that with the LPEX editor, it is not necessary for most of the above functions to actually press Ctrl/Key combinations, as the functionality is available from a context menu (right-mouse) 3
RDz – ISPF Comparison. Rational software IBM Software Group | Chart – Primary Edit Commands ISPF Editor LPEX Editor Home key – Jump to the Command Line Escape key – jumps to the LPEX command line AUTOSAVE/REC Prompt for Save on exit, and Autosave (Preferences), and the asterisk – next to unsaved file names BOTtom LPEX command: bottom / Ctrl+End CANcel If have not saved, Close Content Area w/Save no CHANGE – All – NEXT, CHARS, X, ALL PREFIX, FIRST, SUFFIX, LAST, WORD, PREV, [col-1] [col-2] Supported using replace. Text, Ctrl+F or the Search window: Change All, Next, PREV, Prefix and Suffix (with wildcards), replace. Text, Prev, Word, [col-1][col-2], P Prev, Not supported: First, Last Copy Member Name LPEX command: Get filename CREATE Save file as…, or use Snippets View FIND – NEXT, CHARS, X, ALL PREFIX, FIRST, SUFFIX, LAST, WORD, PREV, [col-1] [col-2] Supported using find. Text, Ctrl+F, or the Search window: Find All, Next, PREV, Prefix and Suffix (with wildcards), Prev, find. Text, Ctrl+F, Prev, Word, [col-1][col-2], P http: //www. felgall. com/tso 2. htm Not supported: First, Last HEX – Displays all lines in Hexadecimal Display one individual lines in Hex ISPF Macros Not available – but can be re-written using Java for LPEX. Also, note that with the LPEX functionality some of the Macro functionality may not be necessary LOCATE Ctrl+L, or use the Outline View Ctrl+L, MODEL Snippets and Templates (both options) MOVE Member Name LPEX Get command, in a different way, the Snippets View NUMBER LPEX command: number std (columns 73 80), or number cob 73 PRINT – from ISPF 3. 4 LPEX command: print, or Ctrl+P PROFILE – are the changes made to your profile Preferences Replace Member Name Snippets functionality RESet LPEX command: expand. All, or: action show. All, or Ctrl+W expand. All, show. All, Save Ctrl/S or LPEX Save command Sort LPEX command: sort STATS – updates statistics Windows updates file statisticsautomatically SUBmit LPEX command: Submit, or edit JCL/Context Menu/Submit, or use Context Menu/Submit option TABS Can set margins in Preferences TOP LPEX command: top / Ctrl+Home TSO SUB LPEX command: submit, and edit JCL/Context Menu/Submit, or use Context Menu/Submit option UNNUM LPEX command: unnum 4
IBM Software Group | Rational software RDz – ISPF Comparison Chart – Primary Edit Commands – Picture Strings ISPF Editor LPEX Editor Simple String Y Previous String N/A Delimited String Y Text string Y Picture String Partial Picture Strings – special characters Y – with regular expressions P'=' – any character Y P'-' – any non-blank character Y – with regular expressions P'. ' – any non-displayable character Y – with regular expressions P'#' – any numeric character Y – with regular expressions P'-' – any non-numeric character Y – with regular expressions P'@' – any alphabetic character Y – with regular expressions P'<' – any lower-case character Y – with regular expressions P'>' any upper-case alphabetic character Y – with regular expressions P'$' – any special character (not alphanumeric) Y – with regular expressions 5
IBM Software Group | Rational software RDz – ISPF Comparison Chart – Edit Line Commands ISPF Editor LPEX Editor – ISPF Mode LPEX Editor – lpex Mode A, An – After A, An Context menu B, Bn – Before B, Bn Context menu COLS – show columns Columns always shown C, Cn, CC – Copy Cn, C, Cn, CC Cn, Context menu D, Dn, DD Dn, Context menu or Ctrl+Backspace F, Fn – First (used with e. Xclude) F, N - Find excludes lines of code I, In – Insert lines I, In Press <Enter>, or LPEX command: insert LPEX command: add L, Ln – Last (used with e. Xclude) N - Find excludes lines of code M, Mn, MM – Move Mn, Context menu R, Rn, RRn – Repeat lines Rn, Context menu – or Ctrl+D S, Sn – Show (used with e. Xclude) Filter TABS – used with TAB On Set with Preferences X, Xn, XX e. Xclude Xn, X, Xn, XX Xn, Filter O, On, OO – Overlay O, On, OO Use Rectangle Copy/Paste TS, TSn – Text Split Ctrl+<Enter> <, <n, <<N Shift Data Left <, <n, <<n Use Rectangle Select – shift >, >n, >>n Shift Data right >, >n, >>n Use Rectangle Select – shift (, (n, ((N – columns left – Used with COBOL (, (n, ((n Use Rectangle Select – shift ), )n, ))n – Columns Right ), )n, ))n Use Rectangle Select – shift 6
RDz – ISPF Comparison Chart – LPEX Editing Operations – 1 of 2 IBM Software Group | Rational software LPEX Editor ISPF Editor Refactor – Remove Noise Words: - IS, THEN, PROCEED TO N/A Multiple Line Comment/Uncomment N/A Virtual margins – in the editor N/A Code completion (Content Assist) N/A Open Copybook N/A Open Declaration – of variable or PERFORM'd paragraph from anywhere in the Procedure Division N/A Perform Hierarchy N/A Refactor – wizard for intelligent variable name changes N/A Outline View N/A Filter View – Show only Divisions, SQL, CICS, DL/I, Comments (no code), Code (no comments), etc. N/A COBOL, PL/I and HLASM keyword / language help N/A Show lines that have been changed during edit (before save) N/A Find and Change against multiple file types N/A Block Marking (Ctrl+Down, Ctrl+Up, Ctrl+Home, Ctrl+End) N/A Virtual 'A' and 'B' Column lines in the source code – as visible markers/reminders for syntax N/A Allocate Like N/A Remote System Filters N/A Side-by-side Compare and/or Restore from Local History N/A Close all split screens in one operation (context menu) N/A See file attributes and statistics at all times (in a View) N/A 7
IBM Software Group | Rational software RDz – ISPF Comparison Chart – LPEX Editing Operations LPEX Editor ISPF Editor See file attributes and statistics at all times (in a View) N/A Wizard-driven approach to creating Web Services (WSDL files) from: CICS and IMS TM applications N/A Wizard-driven approach to creating, testing and deploying DB 2 Stored Procedures N/A Copy files from one LPAR to another N/A Edit/Compile/Unit Test if the mainframe is offline N/A Syntax error – automatically select line with problem N/A See 90 180 lines of source at once - clearly N/A COBOL Keyword context-sensitive syntax HELP (F 1 over any reserved word) N/A Regular expression searches – including across Filtered files of different file types N/A Keystroke recorder (useful for repetitive tasks and online testing) N/A Bookmark and Tasks (both lines of source and filtered views, capturing annotations, prioritization, etc. ) N/A Find "Last Changed" line of source code / Ctrl+J N/A Hover variable and PERFORM statement reveals variable declaration and Paragraph/Section N/A Return to previous edit OR browsed source position (backwards and forwards) during your session N/A Validated syntax errors as you type – including variable references N/A Syntax check including EXEC SQL and EXEC CICS in the editor N/A 8
Standard ISPF Software Group | Rational software IBM – versus RDz – Application Development and Maintenance Functionality Use Case Scenarios TSO/ISPF RDz Reduce MIP consumption for mainframe development Cannot reduce MIP consumption with mainframe tools Significant MIPS reduction possible (between 40% and 70%) Reduce MIP consumption for mainframe run-time environment Cannot reduce MIP consumption with mainframe runtime Can offload significant operational systems on to: AIX, System P Create Web Interfaces to existing COBOL/CICS/IMS applications Requires Java Developers with separate tools working with COBOL developers One language – one IDE - one toolset – used by either COBOL or Java developers Create Web 2. 0 (Rich Internet Application) interfaces to existing COBOL/CICS/IMS applications Requires Java Developers with separate tools working with COBOL developers One language – one IDE - one toolset – used by either COBOL or Web 2. 0 developers Y One language – one IDE - one toolset – used by either COBOL/PL/I, CICS/IMS, Java or Web 2. 0 developers Use ONE common development environment, and IDE for: 4 Traditional mainframe COBOL/PL 1/CICS/IMS/DB 2 development 4 Java/J 2 EE modeling, development and maintenance 4 Web 2. 0 (Rich Internet Application) Development Edit/Compile/Debug/IDE Integration: 4 Line-by-line step 4 Monitor and Watch Lists 4 Modify variable and even register values dynamically 4 Local Debug and/or Remote Debug 4 End-to-end debug between mainframe and Web. Sphere Java/J 2 EE applications Cannot be done with ISPF sub- Cannot be done with ISPF Only available with ISPF + Compu. Ware products + extremely TSO-cycle intensive RDz + Debug Tool § Local § Host-based § Intuitive, integrated, easy to use Local Debug not available Not available Language-specific editors and tools (COBOL, PL/I, Assembler, Java, EXEC SQL/CICS, etc. ) Not available COBOL, PL/I, Assembler, Java, CICS, SQL, C UML COBOL model transformation Not available Automated, Wizard-driven process Manual costly and time-consuming ISPF coding and testing process Automated, Wizard-driven process – available from Workstation Create “top-down”, “bottom-up”, and “meet-in-the-middle” Web Services from existing : 4 CICS/COBOL/PL 1 4 IMS/COBOL/PL 1 Generate using wizards, and debug DB 2/COBOL/PL 1 Stored Procedures Integrate the IDE and source editor with ABEND resolution software (click on the ABENDing line, and go directly to the COBOL source line where the instruction error occurred) z/OS Batch Jobs (Submit, Monitor and View) No software integration. Only available with Tools PD RDz + Fault Analyzer Perspective. More seamlessly integrated tools Y Y Not available Y Launch a z/OS session – Example CICS, IMS TM, or logon to TSO Y Y Submit a batch z/OS Job. Monitor the job and view the output in JES Y Y Available only through batch job PD Tools RDz + Mainframe Debug. More seamlessly integrated tools Not available Y N - Only system print Y – both Can be done with additional custom REXX and TSO Edit macros (and file tailoring) Y – built in to product features Generate complete CRUD/DB 2 Application – call-able through Web Services Integrated Source level Debug and RUN "Paint" using Drag & Drop CICS and IMS Screens. Generate BMS/MFS + JCL for assembling Local or system print capabilities Generate JCL for compiling, linking and map editing 9
ISPF – versus RDz Basic File, Database and Data Set Manipulation IBM Software Group | Rational software Functionality Use Case Scenarios TSO/ISPF RDz Work with DB 2 tables, views, stored procedures, DDL, Extract and Load 4 Run coded SQL Statements interactively 4 Save SQL statement run-results for unit-test compare purposes 4 Generate SQL Statements with wizard 4 Generate DB 2 Stored Procedures using a wizard 4 From a single login, work with multiple databases or work with databases on different subsystems or LPARs 4 Edit a table or view directly (like an Excel spreadsheet) modify/add/delete rows, etc. 4 Load a table from a comma-delimited file 4 Unload a table into a comma-delimited file Y Y N Y N Y N Y Partial – using SDF II Y N Y N Y Work with CICS 4 View and navigate resource definitions 4 Define Resources § From scratch § From existing production resource tables 4 Run locally (offload mainframe test cycles) 4 BMS Map Editing and assembling Work with IMS 4 DL/I View and hierarchy map generation 4 Navigate SYSGEN resource definitions 4 MFS Map Editing Work with large, complex QSAM (sequential) datasets 4 Direct file editing format through a COPYBOOK 4 Specify selection for VSAM file sub-setting Work with VSAM (indexed sequential or relative record) datasets Partial Y Only available with Compu. Ware File-Aid Integrated RDz + File Manager Allocate, compress, copy, move, migrate, compress with backup datasets Y Y Copy files between local (PC) and remote (mainframe) systems N Y Copy files and datasets between LPARs N Y 4 Direct file editing format through a COPYBOOK 4 Specify selection for VSAM file sub-setting Work with datasets, PDS/PDSE and PDS members 4 4 4 10
Standard ISPF Software Group | versus RDz for Data Source Editing IBM Facilities – Rational software Functionality Single line edit commands (Insert/Delete/Copy/Move, Exclude, Copy with Overlay, Shift) Block (multi-line) editing (Insert/Delete/Copy/Move, Exclude, Copy with Overlay, Shift) TSO/ISPF RDz Y Y – ISPF mode or GUI Edit Mode Partial - limited to PF-Key customization Y – all keys Commenting/un-commenting executable lines in one operation N Y Block Source Editing (copy rectangular block of code) N Y Find/Change – Global/Discretionary – repeat Find/Change, and w/in columns Y Y Find/Change across multiple file types N Y Refactor (modify) Paragraph and variable names N Y Limited # of vertical-only views – Editing in one Y – unlimited use of editable views 17 lines (Default ) 46 76 lines of source (editing fonts) Collapse/Expand source view - show only 01, Paragraphs, SQL, CICS, etc. or detail code N Y Outline (hierarchical) view of COBOL program- Paragraphs and Copybook records N Y Content Assist – build COBOL statements dynamically from data elements and paragraphs (provides serious productivity improvements and fewer compile errors) N Y Syntax Check Dynamically as you type (syntax validation without compilation) N Y Templatized COBOL and PL/I program and JCL file create process and code Snippets N Y Customize Key Mapping – change to editor best suited to the task Split Screen – vertical or horizontal. View and work in (edit in) > 2 splits at once Comprehensive/Expansive source view (how many lines code can you see at once? ) Show lines that have been changed during Edit before Save N Y Bookmarks (create and save between edit sessions) and Bookmark views Partial – Cannot Save Bookmarks Y Interactive Compile (Syntax Check) for COBOL N – Must submit Batch z/OS Job Y – Local or Remote Interactive JCL Scan (Syntax Check) for JCL run-stream and Procs N – Must submit Batch z/OS Job Y – Local or Remote Syntax/Compiler Error Automatic Statement Selection N Y Local History for Edit Compare, or for undo of saved changes by timestamp N Y COBOL Keyword and Language syntax HELP N Y – available with F 1 over keyword COBOL Perform Hierarchy View (shows nesting of Perform chains) N Y Partial – can use Super. C Y Filtering data sets into logical folders (for find/change) N Y Copybook expansion N Y Issue TSO commands and other TSO and custom REXX Editing Macros and CLISTS Y Partial – Most but not all functionality Open declaration on Selection N Y Hex EDIT Y Y Source File Electronic Compare 11
TSO/ISPF – IBM Software Group |COBOL Analytics Tools – For Development versus RDz + Rational software Use Case Scenarios TSO/ISPF RDz + RAA We need to ensure that the unit and integration test data beds have sufficient Code Coverage Analysis before moving the application into production Virtually impossible to achieve with ISPF search techniques Debug Tool We would like to document the following for all new applications: Manual, iterative, costly, error-prone and timeconsuming ISPF: RAA Reports 4 JCL run-stream jobs, Procs and Parmlib data 4 Data Flow Diagram – all QSAM/VSAM files, DL/I databases and DB 2 Tables/Views 4 A process flow diagram – all of the programs in each job 4 A list of all programs in the application. For each program: § A graphical/hierarchical structure chart of the flow of control § A list of all files accessed § A list of all copybooks 4 Search 4 Edit – document with comments Note graphical documentation is (for all practical purposes) not supported 4 If online program: § Show the transaction flow – front-to-back § List associated system resources (CICS/IMS table gens) § List online screens – and which programs send and receive them 4 Java / Java. Script web pages that access the application’s: § Process (COMMAREA or LINKAGE) § Data 4 A set of analysis metrics – that calculate overall code complexity We’re planning on transforming several key VSAM and QSAM files into DB 2 tables. In order to cost and scope this effort, we need to know: 4 What JCL will have to be changed 4 How many temporary (&&Temp and Sort. Work) files are affected (for QSAM) 4 All areas of the COBOL programs that access the VSAM file that will have to be re-written 4 FDs 4 Copybooks and all other related WORKING STORAGE structures and variables 4 Linkage Section 4 PROCEDURE DIVISION paragraphs 4 All calls to sub-routines passing values Manual, iterative, costly, error-prone and timeconsuming ISPF: 4 Search 4 Edit – document with comments During the development of this app, the users realized they forgot about a key piece of information that will be added to a DB 2 table. We need to know what COBOL/PL 1 programs and Java entities (Servlets, JSPs and EJBs) reference this table – as they will more than likely need process the information in the new table/column Debug an error that occurred during application development unit-test – including but not limited to: 4 Data exception 4 Operation exception 4 Arithmetic exception 4 Divide By Zero 4 Job Cancelled/Timeout (infinite loop) 4 Module Not Found 4 IMS Database Error or VSAM File Error Condition (invalid status code) 4 DB 2 / SQL Error Condition 4 Incorrect Output (No ABEND Code – just incorrect results) Standard (in-the-box) RAA reports Manual, iterative, costly, error-prone and timeconsuming ISPF – and can only answer the question: “What Happened” 4 Search 4 Edit/Compile/Retest 4 May require additional tools: All integrated tooling – and allows you to answer the critical questions: “Where, What, Why and How” did this problem happen: 4 RDz 4 PD Tools 4 RAA § ABEND-AID § File-AID 12
TSO/ISPF versus RDz + COBOL Analytics Tools For Maintenance – 1 of 2 IBM Software Group | Rational software Use Case Scenarios TSO/ISPF RDz + RAA We need to ensure that the unit and integration test data beds have sufficient Code Coverage Analysis before moving the application into production Virtually impossible to achieve with ISPF search techniques Included in the product functionality We need to change a file’s LRECL. What other jobs and COBOL programs will be affected? Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality Should we keep investing in maintenance or redesign this application (how complex is it)? Subjective opinion Built-in code metrics reports Is this application a good candidate for outsourcing? Subjective opinion Built-in code metrics reports What is the risk that this application will have performance issues in the near future? Subjective opinion Built-in code metrics reports Find COPYBOOKS that are no longer used Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality Find dead (un-executed) code in any program in an application Very costly and difficult to achieve – error-prone Included in the product functionality List the programs called by a particular program & List the programs that call a particular program Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality List the programs that use a data element of a particular name Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality We need to enlarge a DB 2 table column, list the DB 2 affected artifacts, COBOL copybooks, WORKING-STORAGE and LINKAGE SECTION fields, program literals, Files – including JCL DD card (LRECL/BLKSIZE) parameters (for the file itself and affected files (GDGs, &&TEMP and SORTWRK), print files, online screen macros, online system table and including: XML files, WSDL definitions, EJBs, Property Files, Java Servlets & JSP and any HTML pages that have to be changed Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality Bill and Julia are retiring next month (they’ve each worked here for 35+ years – and are mainly responsible for the maintenance and support of 7 mission critical systems. We have hired and trained new COBOL developers, but how can they grasp the: Manual iterative, costly and time-consuming ISPF searches – more likely combined with green-bar listing/printout study Included in the product functionality We would like to statically analyze the program’s execution path (both forwards and backwards) in order to determine how a particular routine ended up being invoked (we’re looking for fall-through logic) Very costly and difficult to achieve – error-prone Included in the product functionality Find INSERTS into a VSAM file Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality Lately a certain batch job is taking too long to finish. We need to find out data sets and tables are being accessed in order to determine if there are contention issues Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality We just bought a new SORT package and want to change all of the JCL in our shop to reference the new product Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality A key algorithm (that’s hard-coded in several modules in a large application) for computing tax and revenue has changed, and we want to: Manual, iterative, costly and time-consuming ISPF searches – by expert shop developers Included in the product functionality 4 Programs in an online transaction 4 Key data flows throughout the system (both in batch and online transactions) 4 Flow of control (both the batch and online transaction parts of these applications) 4 Job sequence and the JCL run-stream/Proc datasets 4 Inter and Intra-program dependencies and data relationships 4 Programs’ structure and relationships 4 Create a reusable sub-routine for this algorithm 4 Find all of the modules that contain the code 4 Replace the existing hard-coded logic with a call to the sub-routine 13
TSO/ISPF versus RDz + COBOL Analytics Tools For Maintenance – 2 of 2 IBM Software Group | Rational software Use Case Scenarios TSO/ISPF RDz + RAA We need to change a date parm for batch streams, from USA format to ISO. Identify all of the batch streams that will be affected. Virtually impossible to achieve with ISPF search techniques Available queries against the RAA catalog The users have decided to change a screen. Provide an initial estimate (scoping) of the amount of effort required by listing all transactions and programs that will be impacted by this. Manual, iterative, costly and time-consuming ISPF searches Available queries against the RAA catalog We are trying to reengineer a large COBOL application. In the initial data analysis phase we need to remove homonyms from the code. List all copybooks with the same name as other copybooks. Manual, iterative, costly and time-consuming ISPF searches Available queries against the RAA catalog We are trying to recover disk space. List all QSAM and VSAM datasets that are not used (referenced) in either the Batch or Online application systems Subjective opinion Available queries against the RAA catalog A production proc needs to be changed. List all of the datasets referenced. Subjective opinion Built-in code metrics reports We want to change the over-night batch cycle, but are worried about contention issues. List all of the common datasets between two applications (not Procs, not JCL entire applications) Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality Create a sorted list of all COBOL literals used in the PROCEDURE DIVISION. Very costly and difficult to achieve – error-prone Included in the product functionality We plan to reengineer a QSAM file to DB 2. List all of the CRUD operations against it, in order to begin the analysis and cost estimates. Manual, iterative, costly and time-consuming ISPF searches Included in the product functionality We want to migrate a COBOL program from z/OS to AIX COBOL - What percentage of the code is platform-specific Make a list of all unused Copybooks (see above, reclaiming disk space) 14
TSO/ISPF – versus RDz Group | Rational software Tools – For ABEND Resolution and + COBOL Analytics IBM Software Production Support Use Case Scenarios Debug a data exception 4 S 0 C 7 – Essentially it’s necessary to perform a usage (intelligent-reference) analysis of what data has overlaid the contents of Debug a Data Set type of exception 4001 4002 4013 4813 (file open error) 4 B 37 (out of space condition) Debug an Operation Exception TSO/ISPF RDz + RAA Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. By using RAA the developer will be able to understand the context of the problem (What, Where, How, When and mostimportantly Why) some of these problems happen Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. Use RAA automatic system tracing functionality – which provides Data Flow analysis, and spans variables, modules, jobs data files/databases and transactions. May also need Impact Analysis – also built-in to the product Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. Use RAA automatic impact analysis functionality – which spans variables, modules, jobs data files/databases and transactions Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. Use RAA code understanding schematics to grasp the logic leading to (typically) an infinite loop. Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. Use RAA automatic impact analysis functionality – which spans variables, modules, jobs data files/databases and transactions Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. Use RAA reports to verify the logic sequencing, that caused the invalid DL/I Return Code. Or, if some other DL/I error use Impact Analysis tracing to find out the cause of the problem. Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. Use RAA reports to verify the logic sequencing, that caused an R. I. problem during INSERT. Or, if some other SQL error use Impact Analysis tracing to find out the cause of the problem. VSAM File Error Condition Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. Depending on the type of error, use either the file/program dependency reports, or impact analysis to track backwards from the error to the source Incorrect Output Manual, iterative costly, error-prone and time-consuming ISPF searches – working backward in the source code, often across multiple jobs, attempting to follow the instruction set that wrote invalid (non-numeric) data into storage. Use RAA automatic impact analysis functionality, on incorrect values to reverse trace variables, modules, jobs data files/databases etc. in the transaction or unit of work 40 C 1 40 C 4 Arithmetic Exception 40 C 8 40 CA 40 CB (Divide By Zero) Job Cancelled / Timeout condition 4122/222/322 Module Not Found 4806 IMS Database Error Condition 4 Invalid or unexpected PCB status codes DB 2 / SQL Error Condition 4 Invalid or unexpected SQLCodes (Referential integrity problem, -811, Duplicate Primary key, etc. ) 4 No ABEND Condition 15
TSO/ISPF – IBM Software Group |COBOL Analytics Tools – For SOA versus RDz + Rational software Functionality TSO/ISPF RDz + RAA List most frequently called (hub) programs (identify as good candidate for SOA) Manual, iterative, costly, error-prone and time-consuming ISPF searches RAA standard reports and functionality included in the tools List programs that are doing persistence or presentation functionality Manual iterative, costly and timeconsuming ISPF searches “ Should we keep investing in maintenance or redesign this application (how complex is it)? Manual iterative, costly and timeconsuming ISPF searches “ Identifying data validation assumptions from screen interactions, and ensuring that the data validation is done somewhere, potentially as part of the contract with the calling service Manual iterative, costly and timeconsuming ISPF searches “ Separating the business logic that you want to reuse from what is not relevant. Manual iterative, costly and timeconsuming ISPF searches “ Which variables in the programs we want to SOA-enable represent business entities? Manual iterative, costly and timeconsuming ISPF searches " Which statements in the program describe business rules Manual iterative, costly and timeconsuming ISPF searches " We need to change a web service. Find all programs, applications and Java Classes that use a particular WSDL Manual iterative, costly and timeconsuming ISPF – and probably PC-file searches Custom Queries from the RAA Catalog Removing screen calls down in a call chain and replacing this with error return codes. Manual iterative, costly and timeconsuming ISPF searches “ 16
TSO/ISPF – IBM Software Group |COBOL Analytics Tools – For Testing versus RDz + Rational software Functionality TSO/ISPF RDz + RAA I've changed a particular program, sub-routine, field or copybook – identify all the places it is used – across the enterprise - so I can build quality test cases Manual, iterative, costly, error-prone and time-consuming ISPF searches RAA standard reports and functionality included in the tools + custom SQL queries against meta-data stored in the catalog Identify the screen and data resources that are needed to do testing: files, databases, etc. Manual iterative, costly and timeconsuming ISPF searches “ We are making a change that impacts a very large # of jobs across the enterprise, identify all of the input files (and not temporary inter-job files/output files) by using the job-step sequence in the JCL procs Manual iterative, costly and timeconsuming ISPF searches " Validate the code-coverage of our existing test-plan – down to the field level of affected variables due to a modification of a file copybook Manual iterative, costly and timeconsuming ISPF searches “ Separating the business logic that you want to reuse from what is not relevant. Manual iterative, costly and timeconsuming ISPF searches “ Removing screen calls down in a call chain and replacing this with error return codes. Manual iterative, costly and timeconsuming ISPF searches “ 17
TSO/ISPF – IBM Software Group |COBOL Analytics Tools – For Data Analysis and versus RDz + Rational software Database Work Functionality TSO/ISPF RDz + RAA Find inefficient SQL Queries Manual, iterative costly, error-prone and timeconsuming ISPF searches RDz/Explain Tool – and SQL Best Practices queries. Added an index – Packages/Plans to re-bind. List programs to re-analyze Manual, iterative costly, error-prone and timeconsuming ISPF searches RAA Custom reports We need to further normalize a table design. What programs and DCLGENs are affected Manual, iterative costly, error-prone and timeconsuming ISPF searches RAA Custom reports and meta-dictionary lookups What columns are good candidates for indexes (based on source reference/usage model) Manual, iterative costly, error-prone and timeconsuming ISPF searches “ We would like to offer 24/7 batch update support. What table and index combinations are candidates for locking and contention issues? Manual, iterative costly, error-prone and timeconsuming ISPF searches “ What tables are accessed online? Batch? Both? Also list the report by Job Stream and by Transaction Manual, iterative costly, error-prone and timeconsuming ISPF searches “ What tables are frequently (or almost always) used together? We may want to de-normalize the design. Manual, iterative costly, error-prone and timeconsuming ISPF searches “ Lately a certain batch job is taking too long to finish. What data resources – including QSAM, VSAM files and DB 2 tables does it access? Manual, iterative costly, error-prone and timeconsuming ISPF searches “ We would like to partition our largest and most heavily used tables to support CPU and I/O access parallelism. What are the best candidates? And what’s a good clustering key for partitioning? Manual, iterative costly, error-prone and timeconsuming ISPF searches “ We are designing new tables, and need to understand the application data access model (Select …vs… Update, Delete, Insert) in order to find the best performance-oriented and clustering index combinations Manual, iterative costly, error-prone and timeconsuming ISPF searches “ We have just upgraded our DASD and need to re-visit the blocking factor (BLKSIZE) for the QSAM files on a given LPAR. Manual, iterative costly, error-prone and timeconsuming ISPF searches RAA Standard reports We would like to build a CRUD matrix against our DB 2 tables, Views and VSAM files Manual, iterative costly, error-prone and timeconsuming ISPF searches RAA Custom reports and meta-dictionary lookups Our current Data Center manager believes heavily in Stored Procedures. What are the best candidates for DB 2 Stored Procedures among our existing static plans? Manual, iterative costly, error-prone and timeconsuming ISPF searches “ List any SQL statements that join “large” tables without indexes on their foreign keys Manual, iterative costly, error-prone and timeconsuming ISPF searches “ Need to rename or modify the datatype of a column in a table – Show all impacts: Manual, iterative costly, error-prone and timeconsuming ISPF searches RAA Standard product Impact analysis tracing process Manual, iterative costly, error-prone and timeconsuming ISPF searches RAA Custom reports and meta-dictionary lookups 4 Indexes 4 Views 4 Application program copybooks – and all associated WORKING-STORAGE fields that are associated with the changed copybook field(s) 4 SQL Statements 4 Java/J 2 EE web pages We would like to explore the use in our shop of DB 2 “outer joins”, as they are potential performance problems – where can we get a list of them? 18
TSO/ISPF – IBM Software Group |COBOL Analytics Tools, For Capacity versus RDz + Rational software Planning/System Tuning Functionality TSO/ISPF RDz + RAA DB 2 sort pool sizing Limited to traditional manual and ISPF multi-search methods Custom catalog queries on SQL statements that incur DB 2 sort DB 2 Buffer Pool Allocation Limited to traditional manual and ISPF multi-search methods Standard reports with SQL output Do I have enough resource (CPU, I/O, Storage, . . ) to do the job today? Limited to traditional manual and ISPF multi-search methods RAA cumulative reports of batch and online system resources How do I size a new application? RAA standard reports on resources How do I establish my growth? Custom catalog reports on JCL dataset extents over time captured in the database If I add these 4 new batch jobs, what will the affect be on: RAA standard reports on new application resources: 4 CPU Utilization 4 I/O Storage § Program modules + online screens § I/O statements & SQL activity How can I more accurately model my current workload? “ The business side is predicting a 15% up-tick in growth and numbers of concurrent users. What effect will the associated increase in CICS/DB 2 traffic be on our network, production and testing subsystems? RAA cumulative reports in the meta-model on system resources What is the combined VSAM file allocation currently required by a given application? RAA standard reports Note – the above static system documentation would be used to complement standard SMF data and Tivoli/OMEGAMON output analysis 19
TSO/ISPF – versus RDz Group | Rational software Tools – For Project Management and + COBOL Analytics IBM Software Outsourcing Governance Functionality Lower the cost and length of the bidding process TSO/ISPF § Discuss with application Subject Matter Experts § Manual iterative costly and time-consuming ISPF searches RDz + RAA Standard reports and metrics – showing application size, scale, dependencies, data flow, and complexity metrics § Read through existing documentation Improve year-on-year ROI for both supplier and client Limited to traditional manual and verbal methods RAA Standard reports and metrics Bring new consultants up to speed with client code far faster Y – but limited to PF-Keys RAA Standard reports and metrics – and code visualization Generate core systems documentation in minutes, providing factual backup to strategic decisions and aiding application understanding for future projects No generation capabilities, only expensive and timeconsuming manual methods RAA Standard reports and metrics Improve client audit compliance through management information and status reporting Limited to traditional manual and verbal methods RAA coding best practices reports Support consistent delivery of high-quality projects through fully automated, easily repeated assessments across the entire core system landscape Limited to traditional manual and verbal methods RAA coding best practices reports Reduce dependency on a client's time and expertise by automating application intelligence N - Limited to traditional manual and verbal methods RAA Standard reports and code visualization Lower the cost and length of the bidding process N - Limited to traditional manual and verbal methods RAA Standard reports and metrics 20
TSO/ISPF – versus RDz Group | Rational software Tools – Enlarge a DB 2 Column (Just + COBOL Analytics IBM Software Application Work – not DBA portion) TSO/ISPF 1. Use a 3 rd Party tool to determine what DB 2 PLANS reference the table. Or using SPUFI/QMF, write and execute a number of DB 2/DBA-level System Catalog queries – referenced catalog tables include (but are not limited to): SYSPLANS, SYSPLANDEP, SYSPACKAGES, SYSDBRMS, SYSTMT & Stored Procedure tables (if they are used) RAA Run RAA Standard impact analysis reports. 2. Save the DB 2/SQL Statement results to a TSO file – or printout. On an average large-scale z/OS production system, this could be well over 100 entries. 3. For each SQL Statement (for each of the (average) over 100 results listed in step 2) 4 Open and browse in the COBOL source 4 Find the statement 4 Find the host variable for the column to be enlarged 4 Note the DCLGEN record name (will have to be re-created) (The hard part) Do iterative, recursive, discrete and explicit TSO text searches, to list all COBOL variables that this field interacts with (essentially, all COBOL "data manipulation" and "data comparison" statements) that will need to be modified. Here is a partial list of explicit keywords, each if found factors into the recursive search: § MOVE – and all variations of MOVE such as MOVE CORRESPONDING – which means you now must trace GROUP moves, not just the individual field itself § (if a numeric field) ADD, SUBTRACT, DIVIDE, MULTIPLY, COMPUTE, SET § IF, EVALUATE, INSPECT (WHEN clause) § Literals that will need to be changed – esp. if part of comparisons § STRING, UNSTRING and Reference Modification statements § CALL USING/ENTRY USING § WRITE, READ § A host of LE calls and COBOL intrinsic functions § PERFORM UNTIL loops with (if a variable is part of PERFORM USING) … more 4 Disregard all hits (false-positives) in * comment lines 4 Repeat the above for each field affected (all fields related to any changed field become part of a linked list or, " association chain"). chain 4 Be careful not miss any fields – anywhere in the association chain – this gets very difficult, when fields are externalized – see steps, 4 9 below) 4 List all of the Records affected in the FILE SECTION, or DL/I segments, or other DB 2 DCLGENs § Look for QSAM – VSAM file - DL/I database and DB 2 table write operations 4 Create a list or printout of all affected fields and records 4. For all File Records found in step three affected Look for QSAM – VSAM file - DL/I database and DB 2 table write operations 4 If DB 2 Table SQL statement – return to Step 1 4 If any records are QSAM/VSAM files – including SORT/MERGE, &&TEMP files, SYSOUT, potentially log files: § Find all JCL associated with the files § The LRECL and BLKSIZE Parameters – that will need modification. SPACE parameter might need to be recalculated and extents § If they are VSAM files or IMS databases built on VSAM files: – you will need to modify the IDCAMS utility JCL used to DELETE/DEFINE the datasets § If there are DL/I databases, you will have to change the DBD and modify the DL/I database – deleting and reloading (let's hope not) 5. If the field is passed from one program to another in CALL … USING/ENTRY USING 4 Repeat steps 3, 4 and this step 5 – for all affected programs 6. If the field – or any associated field anywhere in the chain participates in printed reports: 4 Recalculate print columns to line up the fields according to the required report output 7. If the field – or any associated field anywhere in the chain is used in a CICS or IMS TM application 4 Recreate the screen UI – modify the BMS or MFS macros 4 Modify all COBOL variables affected by changes to the screen I/O 4 For CICS, you will have to factor in changes to the TS QUEUEs and Transaction Work Areas 4 For older IMS conversational programs, you will have to factor in changes for the IMS SPA definitions in the SYSGEN 8. (And here's the killer) For every file that any field in the chain is written to, you will need to trace each file through every JCL job stream and: 4 Repeat steps 3, 4, 5, 6, 7 and 8 for every program/file/field combination - and every new association chain produced 21
e0c142645060792728b17b0b32e41145.ppt