Micro Focus® ™ Enterprise View Requested Sources

Copyright © 2007 Micro Focus (IP) Ltd. All rights reserved.

Micro Focus (IP) Ltd. has made every effort to ensure that this book is correct and accurate, but reserves the right to changes without notice its sole discretion at any . The software described in this document is supplied under a license and may be used or copied only in accordance with the terms of such license, and in particular any warranty of fitness of Micro Focus software products for any particular purpose is expressly excluded and in no event will Micro Focus be liable for any consequential loss.

Animator®, COBOL Workbench®, EnterpriseLink®, Mainframe Express®, Micro Focus®, Net Express®, REQL® and Revolve® are registered trademarks, and AAI™, Analyzer™, Application Server™, Application to Application Interface™, AddPack™, AppTrack™, AssetMiner™, CCI™, DataConnect™, Dialog System™, Enterprise Server™, Enterprise Server with MTO™, EuroSmart™, FixPack™, LEVEL II COBOL™, License Server™, Mainframe Access™, Mainframe Manager™, Micro Focus® COBOL™, Micro Focus® Studio™, Micro Focus® Server™, Object COBOL™, OpenESQL™, Personal COBOL™, Professional COBOL™, Server Express™, SmartFind™, SmartFind Plus™, SmartFix™, SourceConnect™, SupportLine™, Toolbox™, VS COBOL™, WebSync™, and Xilerator™ are trademarks of Micro Focus (IP) Ltd.

IBM® and CICS® are registered trademarks, and IMS™, DB2, DB2/390, DB2 Connect Enterprise Edition, DB2 Connect Personal Edition, COBOL for OS/390, Enterprise Systems Architecture/390, ESA/390, MVS, MVS/ESA, OS/390, S/390, System/390, VSE/ESA and MFS are trademarks, of International Business Machines Corporation.

Netscape Enterprise Server™ is a trademark of Netscape Communications Corporation.

Internet Information Server®, Windows 95®, Windows 98®, Windows NT 4.0®, Windows ME® and Windows 2000® are registered trademarks of Microsoft Corporation.

Pentium® is a registered trademark of INTEL Corporation.

Borland Database Engine™ and Midas™ are trademarks of Inprise Corporation.

Oracle™ is a trademark of Oracle Corporation Inc.

UNIX® is a registered trademark of The Open Group.

Solaris™, Ultra Sparc™ and Java™ are trademarks of Sun Microsystems, Inc.

Linux, GCC compiler, GNU , GNU , Samba and KDE/GNOME refer to Open Source tools.

This product includes modified versions of software developed by the Apache Software Foundation (as described on the Apache web site).

The YGrep Search Engine is Copyright (c) 1992-2004 Yves Roumazeilles. All other trademarks are the property of their respective owners.

No part of this publication, with the exception of the software product user documentation contained on a -ROM, may be copied, photocopied, reproduced, transmitted, transcribed, or reduced to any electronic medium or machine-readable form without prior written consent of Micro Focus (IP) Ltd. Contact your Micro Focus

representative if you require access to the modified Apache Software Foundation source files.

Licensees may duplicate the software product user documentation contained on a CD- ROM, but only to the extent necessary to support the users authorized access to the software under the license agreement. Any reproduction of the documentation, regardless of whether the documentation is reproduced in whole or in part, must be accompanied by this copyright statement in its entirety, without modification.

U.S. GOVERNMENT RESTRICTED RIGHTS. It is acknowledged that the Software and the Documentation were developed at private expense, that no part is in the public domain, and that the Software and Documentation are Commercial Computer Software provided with RESTRICTED RIGHTS under Federal Acquisition Regulations and agency supplements to them. Use, duplication or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFAR 252.227-7013 et. seq. or subparagraphs (c)(1) and (2) of the Commercial Computer Software Restricted Rights at FAR 52.227-19, as applicable. Contractor is Micro Focus (IP) Ltd, 9420 Key West Avenue, Rockville, Maryland 20850. Rights are reserved under copyright laws of the United States with respect to unpublished portions of the Software.

Requested Sources

5 Table of Contents

1. ABOUT THIS DOCUMENT ...... 7 2. REQUESTED SOFTWARE PARTS ...... 9

2.1. SOURCES FROM OS/390 SYSTEMS ...... 9 2.2. SOURCES FROM UNIX SYSTEMS ...... 11 2.3. SOURCES FROM WINDOWS SYSTEMS ...... 15 3. MISSING SOURCES ...... 19

3.1. MISSING PROGRAMS ...... 19 3.2. MISSING COPYBOOKS...... 19 3.3. MISSING JCL CATALOGUED PROCEDURES...... 19 3.4. MISSING JCL ...... 19 3.5. MISSING CSD ...... 20 3.6. MISSING XML FILES: STRUTS, CONFIG, ETC...... 20 3.7. MISSING MAKEFILE, VISUAL C/C++ PROJECT FILES ...... 20 3.8. MISSING VISUAL BASIC PROJECT FILES...... 20 4. HOW TO PROVIDE SOURCES TO KB-AIM ...... 21

4.1. FROM OS/390 SYSTEMS ...... 21 4.2. FROM UNIX SYSTEMS ...... 21 4.3. FROM WINDOWS SYSTEMS...... 21 5. ADDITIONAL NOTES ...... 23

Requested Sources 6

Requested Sources 7

1. About this Document

The purpose of this guide is to describe all the sources and corresponding extensions handled by Micro Focus Enterprise View.

It defines the standard extensions that should be provided to identify the language and the of source as well as the behavior of Enterprise View if there are missing sources.

Requested Sources 8

Requested Sources 9

2. Requested Software Parts

This chapter lists all predefined source extensions, arranged by supported systems, aimed at properly and consistently filling the Knowledge Base of Micro Focus Enterprise View.

2.1. Sources from OS/390 Systems

Class Type Language Extension Description Data Base Data Definition DDL .ddldb2 DDL Definition Language DDL .DDLDB2 DDL DBD .DBD DBD DBD .dbd DBD Delete Define .ddef Delete Define Delete Define .DDEF Delete Define Generic Class Unknown Types Generic .GENOTH Generic Sources Generic .GENBIN Generic Sources Include C Types C .h C Include C++ .hpp C++ Include C++ .h++ C++ Include C .H C Include C++ .HPP C++ Include C++ .H++ C++ Include Generic Assembler .ASMINC Assembler Include PL/I Sources .inc PL/I Include COBOL Source .cpy COBOL Copy / Include PL/I Sources .INC PL/I Include COBOL Source .CPY COBOL Copy Card Job Control .CARD JCL Card Language Language Job Control .card JCL Card Language Generic Job Control .JCL Job Control Language Language Job Control .jcl Job Control Language Language Procedure Job Control .PROC Catalogued Language Procedure Job Control .proc Catalogued Language Procedure Make C Types C makefile Make File C Makefile Make File C .mak Make File Map Definition BMS Map Generic .MAPBMS BMS Map Definition Definition Generic Generic .MAPBMS Map Definition Generic .mapbms Map Definition Generic .GENPAN Generic Panel

Requested Sources 10

Map Definition Generic Generic .map Map Definition MFS Map Generic .MAPMFS MFS Map Definition Definition Natural Map Generic .MAPNAT Natural Map Definiti Definition Program BATCH C .cbat BATCH C Programs C .CBAT BATCH C Programs COBOL Source .cblbat BATCH COBOL Programs Assembler .ASMBAT Assembler Batch Programs COBOL Delta .cdmbat BATCH COBOL Macro Source Delta Macro Programs COBOL Delta .CDMBAT BATCH COBOL Macro Source Delta Macro Programs COBOL Source .CBLBAT BATCH COBOL Programs C++ .cppbat BATCH C++ Program PL/I Sources .plibat BATCH PL/I Programs PL/I Sources .PLIBAT BATCH PL/I Programs C++ .CPPBAT C++ Program C Types C .c C Programs C++ .C++ C++ Program C++ .CPP C++ Program C .C C Programs C++ .cpp C++ Program C++ .c++ C++ Program CICS C .ccic CICS C Programs C .CCIC CICS C Programs PL/I Sources .plicic CICS PL/I Programs PL/I Sources .PLICIC CICS PL/I Programs COBOL Source .cblcic CICS COBOL Programs COBOL Source .CBLCIC CICS COBOL Programs Assembler .ASMCIC Assembler CICS Programs COBOL Delta .cdmcic CICS COBOL Macro Source Delta Macro Programs COBOL Delta .CDMCIC CICS COBOL Macro Source Delta Macro Programs C++ .CPPCIC CICS C++ Program C++ .cppcic CICS C++ Program Program Generic COBOL Delta .cdm COBOL Delta Macro Source Macro Programs

Requested Sources 11

Program Generic COBOL Delta .CDM COBOL Delta Macro Source Macro Programs PL/I Sources .pli PL/I Programs COBOL Source .cbl COBOL Programs PL/I Sources .PLI PL/I Programs COBOL Source .CBL COBOL Programs IMS C .cims IMS C Programs C .CIMS IMS C Programs COBOL Source .CBLIMS IMS COBOL Programs COBOL Delta .cdmims IMS COBOL Macro So Delta Macro Programs COBOL Delta .CDMIMS IMS COBOL Macro So Delta Macro Programs COBOL Source .cblims IMS COBOL Programs C++ .CPPIMS C++ Program PL/I Sources .PLIIMS IMS PL/I Programs PL/I Sources .pliims IMS PL/I Programs C++ .cppims C++ Program Resources CICS CSD .csd CICS Definition Configuration CSD .CSD CICS Configuration IMS STAGE1 IMS .ims IMS Stage One IMS .IMS IMS Stage One Service Generic Generic .serv Service Generic .SERV Service Transaction IMS Generic .trn Transaction Unknown Unknown Types Generic .UNKUNK Unknown Sources

Note: When working with CICS System Definition, you need to understand the association between List and Application.

2.2. Sources from UNIX Systems

Class Type Language Extension Description Configuration Application XML web.xml Application Files Server C Server Configuration File XML application.xml Application Server Configuration File Configuration Configuration .in INI Configuration File Files File Configuration .cfg Configuration Files File Configuration .conf Configuration

Requested Sources 12

Files File Configuration Configuration Configuration .ifo IFO Files File Files Configuration File Configuration .inf INF Configuration Files File Configuration .ini INI Configuration Files File ES Framework es_bootstrap.xml ES Framework Struts XML tiles-defs.xml Struts Configuration Configuration File XML struts-config.xml Struts Configuration File XML struts-tiles.xml Struts Configuration File TAG Library XML .tld TAG Library Configuration File Data Base Data Definition DDL .DDLDB2 DDL Definition Lang DDL .ddldb2 DDL

Data File XML Document XSL .XSL XSL Documents Generic .XML XML Documents Generic .xml XML Documents XSL .xsl XSL Documents Document Document Excel Documents .xls Excel Documents Word Document .doc Word Documents Text Document .txt Text Documents DVI Documents .dvi DVI Documents Documents .ps PS Documents LYX Documents .lyx LYX Documents Text Document .tex Text Documents PDF Documents .pdf PDF Documents Text Document .hlp Help File Physical Files DB2 Tables and .dds Temporary for Views Load File HBS Include C Types C .h C Include C++ .H C++ Include C++ .hh C++ Include C++ .hpp C++ Include C++ .hxx C++ Include C++ .h++ C++ Include Generic Perl .ph Perl Include/Library COBOL Source .mfcpy MF COBOL Copy / Include Make File C Types C .dep Makefile - Dependencies C .DEP Makefile - Dependencies C .mk Make File C .aix Make File C .sun Make File C .linux Make File

Requested Sources 13

C .cocktail Make File Make File C Types C .unix Make File C .MAK Make File C .engine Make File C .config Make File C .agent Make File C makefile Make File C Makefile Make File C .mak Make File Map Definition Generic Screen Definition .map Screen Definition Multi Media Image File Image Files .gif WEB Images Objects Image Files .jpg WEB Images Image Files .bmp WEB Images Program C Types C .c C Programs C++ .C C++ Program C++ .c++ C++ Program C++ .cc C++ Program C++ .cpp C++ Program C++ .cxx C++ Program Generic PUMA Sources .puma PUMA Sources /Bison .ypp YACC/Bison Sources Program AST Sources .ast AST Sources SCN Sources .scn SCN Sources PRS Sources .prs PRS Sources Java Server .jsp Java Servlet Pages Pages Perl .pm Perl Program Perl .pl Perl Program Tcl .tcl TCL Program .sed SED Program Awk . AWK Program Kylix .bpg Borland Project Group Kylix .desk Kylix DESK Kylix .kof Kylix KOF Kylix .res Kylix RES Kylix .dcu Kylix DCU Perl .perl Pearl Program Tcl .wish TCL Program S-Lang Sources .sl S-Lang Program Vim Sources .vim Vim Program YACC/Bison .y YACC/Bison Sources Program Lua Sources .lua Lua Program Eiffel Sources .e Eiffel Program Beta Sources .bet Beta Program ASP Sources .asp Asp Program ASP Sources .asa Asp Program Assembler .asm Assembler Program Assembler .s Assembler Program Assembler .S Assembler Program

Requested Sources 14

Fortran Sources .f Fortran Program Program Generic Fortran Sources .for Fortran Program Fortran Sources .ftn Fortran Program Fortran Sources .f77 Fortran Program Fortran Sources .f90 Fortran Program Fortran Sources .f95 Fortran Program Fortran Sources .F Fortran Program Fortran Sources .FOR Fortran Program Fortran Sources .FTN Fortran Program Fortran Sources .F77 Fortran Program Fortran Sources .F90 Fortran Program Fortran Sources .F95 Fortran Program Lisp Sources .cl Lisp Program Lisp Sources .clisp Lisp Program Lisp Sources .el Lisp Program Lisp Sources .l Lisp Program Lisp Sources .lisp Lisp Program Lisp Sources .lsp Lisp Program Lisp Sources .ml Lisp Program Php Sources .php Php Program Php Sources .php3 Php Program Php Sources .phtml Php Program Python Sources .py Python Program Python Sources .python Python Program Rexx Sources .cmd REXX Program Rexx Sources .rexx REXX Program Rexx Sources .rx REXX Program Scheme Sources .sch Scheme Program Scheme Sources .scheme Scheme Program Scheme Sources .scm Scheme Program Scheme Sources .sm Scheme Program Scheme Sources .SCM Scheme Program Scheme Sources .SM Scheme Program Ruby Sources .rb Ruby Program Verilog Sources .v Verilog Program AS/400 .qcmd AS/400 Command Command RPG Programs .rpg RPG Programs COBOL Source .mfcbl MF COBOL Program COBOL Source .mfcob MF COBOL Program COBOL Source .MFCOB MF COBOL Program Java Script .js Java Script Java Class Java .class Java Class Java Library Java .jar Java Jar Java Source Java .sqlj SQLJ Sources Java .java Java Sources Pascal Sources Kylix .dpk Kylix Package Kylix .pas Kylix Source File Kylix .xfm Kylix Source File Kylix .dpr Kylix Project Kylix .p Kylix Source File SQL Sources SQL .SQL SQL Sources

Requested Sources 15

SQL .sql SQL Sources Program SQL Sources SQL .xrl SQL Sources

Project Files Configuration C .DSW Visual C/C++ File Workspaces C .dsw Visual C/C++ Workspaces Project C .DSP Visual C/C++ Project Files C .dsp Visual C/C++ Project Files Service Generic Generic .SERV Service Generic .serv Service Shell Script System Generic !!/bin/bash Shell Script Generic !!/bin/ksh Shell Script Generic !!/bin/csh Shell Script Shell Scripts .sh Shell Scripts (Bourn (Bourne/Korn/Z) Shell Scripts .SH Shell Scripts (Bourn (Bourne/Korn/Z) Shell Scripts .bsh Shell Scripts (Bourn (Bourne/Korn/Z) Shell Scripts .bash Shell Scripts (Bourn (Bourne/Korn/Z) Shell Scripts .ksh Shell Scripts (Bourn (Bourne/Korn/Z) Shell Scripts .zsh Shell Scripts (Bourn (Bourne/Korn/Z) WEB Objects WEB Types HTML .html WEB - HTML HTML .htm WEB - HTML

Note: For the Dynamic Link functionality to work correctly, the Java Run-time Environment package (rt.jar) must be included in the sources, as well as any other referenced package of interest.

2.3. Sources from WINDOWS Systems

Class System Type Extension Description Configuration Application XML web.xml Application Files Server C Server Configuration File XML application.xml Application Server Configuration File Configuration Delphi .dof Delphi DOF File Delphi .res Delphi RES Delphi makefile Make File Configuration .dcr Delphi Files Component Resource Configuration .rc Resource File Files

Requested Sources 16

Configuration .cfg Configuration Files File Configuration Configuration Configuration .vbw Visual Basic Files File Files Configuration file Configuration .ini INI Configuration Files File Configuration .vbg Visual Basic Files Configuration File Struts XML tiles-defs.xml Struts Configuration Configuration File XML struts-config.xml Struts Configuration File XML struts-tiles.xml Struts Configuration File TAG Library XML .tld TAG Library Configuration File XML .TLD TAG Library Configuration File Data Base Data Definition DDL .ddldb2 DDL Definition Lang DDL .DDLDB2 DDL

Document Document Word Document .doc Word Documents Excel Documents .xls Excel Documents Power Point .ppt Power Point Document Documents RTF Documents .rtf RTF Documents Text Document .txt Text Documents PDF Documents .pdf PDF Documents Text Document .tex Text Documents Text Document .hlp Help Documents WEB Types Generic .jsp Jsp Sources Executable File Binary File Executable .exe Executable Executable .EXE Executable Include C Types C .h C Include C++ .hxx C++ Include C++ .hpp C++ Include C++ .hh C++ Include C++ .h++ C++ Include C++ .H C++ Include Generic COBOL Source .mfcpy MF COBOL Copy / Include Libraries ActiveX Control Libraries .ocx Active X Control Libraries .OCX Active X Control Dynamic Linking Libraries .dll Dynamic Linking Library Library Libraries .DLL Dynamic Linking Library Type Library Files Libraries .tlb Remote Automation Type Library File Libraries .TLB Remote Automation Type

Requested Sources 17

Library File Make File C Types C .DEP Makefile - Dependencies Make File C Types C .dep Makefile - Dependencies C .mk Make File C Makefile Make File C makefile Make File C .mak Make File Map Definition Form Definition Visual Basic .frm Visual Basic Form Visual Basic .FRM Visual Basic Form Pascal Sources Delphi .dfm Delphi Form Delphi .xfm Delphi CLX Form Delphi .DFM Delphi Form Multi Media Image File Image Files .gif WEB Images Objects Image Files .jpg WEB Images Image Files .bmp WEB Images Program C Types C .c C Programs C++ .cxx C++ Program C++ .cpp C++ Program C++ .cc C++ Program C++ .c++ C++ Program C++ .C C++ Program Classes Visual Basic .cls Visual Basic Classes Visual Basic .CLS Visual Basic Classes Designer File Visual Basic .dsr Visual Basic Active Designer Files Visual Basic .DSR Visual Basic Active Designer Files Generic Delphi .bpg Borland Project Group COBOL Source .mfcbl MF COBOL Program COBOL Source .mfcob MF COBOL Program COBOL Source .MFCOB MF COBOL Program Delphi .inc Include file Delphi .js Java Script Java Class Java .class Java Library Java Library Java .jar Java Library Java Source Java .sqlj SQLJ Sources Java .java Java Sources Pascal Sources Delphi .pas Delphi Source File Delphi .dpr Delphi Project Delphi .dpk Delphi Package Delphi .PAS Delphi Source File Program Programs Visual Basic .bas Visual Basic Program

Requested Sources 18

Visual Basic .BAS Visual Basic Program Program User Control Visual Basic .ctl Visual Basic User Files Control Files Visual Basic .CTL Visual Basic User Control Files Project Files Configuration C .dsw Visual C/C++ File Workspaces C .DSW Visual C/C++ Workspaces Project Visual Basic .VBP Visual Basic Project File C .dsp Visual C/C++ Project Files C .DSP Visual C/C++ Project Files Visual Basic .vbp Visual Basic Project File Service Generic Generic .serv Service Generic .SERV Service WEB Objects WEB Types HTML .html WEB - HTML HTML .htm WEB - HTML

Note: If the .dll for creating Microsoft SQL Server databases is not available, you must use the Windows Agent module to reverse-engineer the database.

Requested Sources 19

3. Missing Sources

If sources are not provided, they cannot be analyzed. When source is missing but is referenced by another source, an unresolved object is created. Many other issues can also be generated. The most important issues are listed below.

3.1. Missing Programs

Issues: • An unresolved object of specific type will be generated • Any recognized call to missing objects will link to the unresolved object • Impact Analysis will not be possible

3.2. Missing Copybooks

Issues: • If referenced, an unresolved object of specific type will be generated • Metrics with copy included are corrupted

3.3. Missing JCL Catalogued Procedures

Issues: • The programs called by the procedures will not be referenced • The files used will not be referenced • The relationships among files and programs being declared in the missing procedures will be lost • There will be a missing link between the file and the data areas describing the file • There will be a missing link between the physical file and the program using it

3.4. Missing JCL

Issues: • As they are starting points, the original chains may appear isolated, if no other object references them • The files used will not be referenced • The relationships among programs and files being declared will be lost • There will be a missing link between the files and the data areas describing the file • There will be a missing link between the physical file and the programs using it

Requested Sources 20

3.5. Missing CSD

Issues: • The relationships among CICS programs and physical files used will be lost

3.6. Missing XML files: struts, config, etc.

All these XML files contain all the references between different types of objects, between Java sources and actions, between HTML and URL, and so on. If any of these sources is missing, the relative references will not be identified, leading to the following issues: • Missing references between objects • An unresolved object of specific type being generated • Impact Analysis not being possible

3.7. Missing Makefile, Visual C/C++ Project Files

Issues: • C and C ++ sources will be inventoried but not analyzed • C and C ++ metrics will be available

3.8. Missing Visual Basic Project Files

Issues: • VB sources will be inventoried but not analyzed • VB metrics will be available

Requested Sources 21

4. How to Provide Sources to Micro Focus Enterprise View

Regardless of the source system from which the Source Code will be provided, if the Sources Machine is different from the Enterprise View Server, then ftp is the standard channel used by the Enterprise View Agent Modules. If your company does not allow this, you must another transfer method or protocol.

4.1. From OS/390 Systems

Usually the product receives sources in several folders, one for each type of source. Each folder should contain the sources transferred by the transfer file, and each type of source must be transferred with the extensions listed in the related column of the chart described above. This is mandatory, otherwise the source will not be recognized. For this reason, a specific module called Enterprise View MVS Agent will be installed to allow a quick configuration of the sources to be transferred to the Enterprise View Server. This module allows partitioned selection and automatic extension assignment. To better represent the structure of code libraries, to be as close as possible to the developers’ views, we strongly recommend you download the sources with the same structure they have on the source system.

4.2. From UNIX Systems

Providing sources from a UNIX platform is easier, mainly because there is no need to understand the type of source, as all the sources already have the correct extension. Except for some special cases, there are two possible approaches. The first one is to have a direct download from Version Control Software on the Enterprise View Server, but that is not always possible. The second is to create a CSV file containing the list of sources (see CMS documentation for details), and the collection and transfer to the Enteprise View Server will be performed by specific UNIX Agent modules.

4.3. From Windows Systems

Providing sources from a Windows platform is the same as from UNIX systems. The only difference concerns downloading Microsoft SQL Server tables’ structures: if the .ddl files are not available, you must use specific Windows Agent modules.

Requested Sources 22

Requested Sources 23

Additional Notes

You must provide the exact command used to run makefile processes in order to compile and build the application, including the variable setting used in #iifdef ; #iifndef statements. You should also specify the C; C++ compiler.

Requested Sources