Welcome
Welcome
IBM
About this PDF
© International Business Machines Corporation 1992, 2024.
This PDF was generated from the content of the IBM® Developer for z/OS® online documentation. It is
provided for reference only. Many of the links in this PDF do not lead to a target location on the IBM
Developer for z/OS IBM Documentation site. For the most recent content, go to https://www.ibm.com/
docs/en/developer-for-zos/latest.
Some of the content in the IBM Developer for z/OS IBM Documentation site is embedded from other
IBM product documentation sites. Because of this content reuse, the embedded content might not be
included in the generated PDFs.
Welcome to IBM Developer for z/OS
IBM Developer for z/OS is a modern, robust tool set for developing and maintaining IBM z/OS applications
through the use of DevOps practices. It helps you deliver more, faster, and with better quality and greater
agility.
IBM Developer for z/OS is available in two editions. For a detailed comparison of each product, see
Compare Editions on the product website. Unless specifically stated otherwise, this IBM Documentation
uses the product names IBM Developer for z/OS and Developer for z/OS to refer to both editions.
Developer for z/OS
Offers COBOL, PL/I, High Level Assembler, REXX, C/C++, JCL, and Java™ development tools on an
Eclipse base. Its modern Eclipse-based editors include a rich set of tools for creating, verifying, and
understanding code assets in z/OS, Git, and Jazz repositories. The Eclipse tooling also encompasses
debug, unit test, build, and deploy functions, as well as a software analysis tools that checks your
assets against software coding rules and reports quality metrics.
Developer for z/OS Enterprise Edition
Offers developers the option to choose Eclipse or Microsoft VS Code for their z/OS integrated
development environment. This edition adds IBM Dependency Based Build and Wazi Deploy. It is
available as a standalone product or as a component of Application Delivery Foundation for z/OS.
The product offers these benefits and features for modernizing your z/OS development and integrating
with DevOps practices:
• Modern, simple z/OS development
• Advanced debugging of composite z/OS applications
• Advanced application structure and quality analysis tools
• Automated unit testing and code coverage
• Source control, lifecycle management and problem diagnosis integration
• Customize and extend the development environment
• Licensing to suit your needs
• IBM Dependency Based Build (available in Enterprise Edition)
Version 17.0.0
Db2 for z/OS Development
Db2 for z/OS Development tooling is enhanced to include these new functions:
• Deployment of external SQL stored procedures.
• Debugging native and external SQL stored procedures.
• Filtering catalog navigation results by any column type.
• Importing connection profiles from IBM Data Studio.
• Generating declarations (DCLGEN).
• A toolbar for common Db2 for z/OS actions.
• Autofill of prior parameter values when re-executing a query.
• Large object support.
• Consistent feedback from query execution when no rows are returned.
• Viewing multiple result sets returned from a query.
For information about these new functions, see Developing with Db2 for z/OS.
Dependency Based Build Integration
Adds support for IBM Dependency Based Build 3.0.0 to perform user builds with the new zBuilder
DBB framework. The zBuilder framework simplifies user build functionality by moving many of the
user prompts to configurations and defaults, thereby enhancing the user experience for mainframe
developers. To learn more about user builds with zBuilder, see Setting up and running a user build
with zBuilder.
Eclipse 4.31 and Java 17 Support
The product client is now built on Eclipse 4.31 with support for Java 17 and IBM Explorer for z/OS
Aqua 3.4. For the Eclipse documentation, see Eclipse documentation.
Editors
• The COBOL parser now supports function prototypes, with which you can define the function name,
parameters, and returning value of a user-defined function or other non-COBOL external functions
such as C functions and invoke these functions.
• The HLASM Editor now supports local custom macros in local property groups.
Remote Connection Emulator
The redesign of Remote Connection Emulator that was introduced in IBM Developer for z/OS 16.0.5 is
refined and enhanced with several usability improvements.
Deprecated and removed components
z/OS Automated Unit Testing Framework (ZUnit)
ZUnit is removed. The recommended replacement is IBM Test Accelerator for Z. For more
information about this new offering, see the IBM Test Accelerator for Z product website and IBM
Test Accelerator for Z documentation.
IBM Installation Manager
Support for client installation by using IBM Installation Manager is removed. The IBM Developer
for z/OS client can be installed by using the Eclipse p2 provisioning platform. For more information
about installing the Eclipse client, see Installing the IBM Developer for z/OS Eclipse client.
IBM Wazi for Dev Spaces
Wazi for Dev Spaces is removed from IBM Developer for z/OS Enterprise Edition.
COBOL 6.4
• The z Systems® LPEX Editor does not support highlighting of user defined function names. The COBOL
Editor does support highlighting.
• Program control flow diagrams do not display changes in program flow that are made by user defined
functions.
• Data flow diagrams do not display the flow of data to or from variables in user defined functions.
• The Perform Hierarchy view does not display changes made in program flow by user defined functions.
• The Data Elements view does not display variables defined in user defined functions.
PL/I 6.1
• No support is included for the MAXRUNONIF compiler option.
CICS 6.1
• The z Systems LPEX Editor, PL/I Editor, and COBOL Editor support only the standard CICS TS API and
SPI commands, which does not include variants such as the CICS external interfaces.
• The COBOL and PL/I parsers report errors for the following EXEC CICS statements and options. The
compilers process these statements and options without error.
– EXTRACT STATISTICS with the POLICY or POLICYRULES options
– INQUIRE POLICY, INQUIRE POLICYRULE, INQUIRE SECRECORDING, and INQUIRE TAG with the
START, NEXT, or END options.
Verifying, Analyzing, and Measuring Code Checking syntax and program dependencies
Source code analysis with code review
Gathering and reporting metrics for COBOL and
PL/I programs
Release notes
Description
IBM Developer for z/OS consists of a common workbench and an integrated set of tools that support
end-to-end, model-based development, runtime testing, and rapid deployment of simple and complex
applications. It offers an integrated development environment (IDE) with advanced, easy-to-use tools and
Announcement
The Developer for z/OS announcement is available at Announcement Letter.
System requirements
For a complete listing of the Developer for z/OS hardware and software requirements including
prerequisites and co-requisites, see the Detailed system requirements for a specific product page of
Software Product Compatibility Reports. On this page:
1. Type Developer for z/OS in the search field and click Search.
2. From the Version list, select the product version you want.
Prerequisites
IBM Developer for z/OS (Developer for z/OS) is a licensed program to support users who write large-scale
business applications.
Prerequisite software must be installed and operational before the product will work. Corequisite
software is required to support specific features of Developer for z/OS. These requisites must be installed
and operational at runtime for the corresponding features to work as designed.
For a complete listing of the Developer for z/OS software requirements including prerequisites and
co-requisites, see the Software Product Compatibility Reports.
What hardware and software is required for IBM Developer for z/OS?
You can generate a detailed system requirements report at Software Product Compatibility Reports.
Which version of the IBM Developer for z/OS client is compatible with which version
of the Developer for z/OS server?
For more information about client-server compatibility, see IBM Developer for z/OS client-server
compatibility.
• In the topic header, click Contact Us to send an email to the content development team.
How is IBM Developer for z/OS related to Rational Developer for z Systems?
IBM Developer for z/OS is the latest generation in a product family that has evolved, and undergone
several name changes, since it was first released in 2003. The original base offering was released
back under the name WebSphere Studio Enterprise Developer (WSED). Then in 2005 it was renamed to
WebSphere Developer for zSeries (WDz) and in 2007 there was a slight change to WebSphere Developer
for System z®. When the development team moved from the IBM WebSphere organization to the IBM
Product overview
Developer for z/OS consists of a common workbench and integrated set of tools that support end-to-end
development of on-demand applications and help make mainframe development, web development, and
integrated mixed workload or composite development faster and more efficient. For a full list of product
components available in each edition of Developer for z/OS, see “Welcome to IBM Developer for z/OS” on
page 1.
Getting help
Help for using the product is available in the welcome page, the IBM Documentation, online and offline,
the context-sensitive helps, and language-sensitive help, and cheat sheets.
Context-sensitive help
While you are using the product, you can open context-sensitive help that relates to the current view or
window. To open the context-sensitive help:
On Windows: Place the cursor in a field and press F1, Ctrl+F1, or Shift+F1.
On macOS: FN+F1
Remote Connection Emulator: To open help for the main Remote Connection Emulator window and for
the Edit profile fields, click the ? icon. The corresponding help topic opens in IBM Documentation.
To control where context-sensitive help opens, open the Preferences window and select Help. In the
Context help area, you can select the following locations for context help:
• In the dynamic help view: This view remains open while you are working in the workbench. Its content
changes as you bring focus to different areas of the user interface. This option is available for the main
workbench window only. It contains options for opening help contents, searching the help, opening help
bookmarks, and opening the help index.
• In a dialog tray: This view slides open at the side of a dialog. This option is available for dialogs only. It
contains the same options as the dynamic help view.
Getting started 13
Language-sensitive help
Many of the editors available with the product offer language-sensitive help. Language-sensitive help
opens the programming language references for programming statements and keywords that are selected
in the editor. Language-sensitive help is available in these editors:
• COBOL Editor
• JCL Editor
• PL/I Editor
• REXX Editor
• z Systems LPEX Editor
For more information about language-sensitive help, and other help available in the editors, see Getting
help while editing source files. If you have trouble using language-sensitive help, see “Troubleshooting
language-sensitive help” on page 16.
Cheat sheets
Cheat sheets provide guidance for some of the most common tasks you can do with the product. They
also serve as a good overall introduction to product features and how to use them. To open the product
cheat sheets:
1. Click Help > Cheat Sheets.
2. In the Cheat Sheet Selection window, expand IBM Developer for z/OS.
3. Select Getting Started Catalog and click OK. The cheat sheets open in a new tab in the workbench.
Welcome page
The Welcome page provides resources to orient you to IBM Developer for z/OS and help you start using
a new workspace. If you are new to IBM Developer for z/OS, the Welcome page is a good place to
start for learning about major features of the product and links to getting started information. If you
are an experienced user, the Welcome page is also a convenient location to read about new features
and technologies that are related to the product. Other Eclipse-based products that are installed in your
environment also contribute content to the Welcome page.
The Welcome page is displayed the first time that you start the product. If the Welcome page is not
currently open, click Help > Welcome.
org.eclipse.help.base/help_home=/com.ibm.wsentdev.doc/topics/
kc_version_welcome_rdz.html
to this:
org.eclipse.help.base/help_home=/com.ibm.etools.getstart.wsentdev.doc/topics/aintro.html
Getting started 15
Performance
You might notice a delay as the browser populates with the help content. The IBM Documentation
team is aware of performance issues and is working to improve the speed of populating the help
window.
Related information
“Preferences” on page 74
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Getting started 17
Table 2. First steps for developing applications in zIDE (continued)
Task Description More information
Customize perspectives to show The z/OS Projects perspective • Working with perspectives
only the views that you need or provides a default set of views
• Working with views and editors
want to see for accessing and using tools
for application development. You
can customize the perspectives
for the layout that works best for
you.
Create a connection to a remote Remote system connections • Connecting to a z/OS system
system allow for access to files and
resources on remote AIX® and
z/OS systems.
Connect to a Git repository With the DBB integration, you can Integrating IBM Dependency
upload individual source files to a Based Build and Developer for
z/OS system from a local GitHub z/OS
repository clone or from a local
IDz project.
Create a property group Property groups store options Creating and editing property
that you use to build groups
applications. They allow for
creation of specific sets of
resource options, storing them,
and reusing them for multiple
resources.
Set up build options appropriate Build options are stored in Setting property group
for your environment property groups. When you options for editors, compilers,
create a property group, you use preprocessors, and build
it to set build options for your
applications.
Set up the qualifier for The Developer for z/OS show Setting compiler options for show
error feedback and Show dependencies and remote dependencies and remote syntax
Dependencies actions syntax check functions detect check
dependencies for COBOL, PL/I,
and Assembler programs. These
functions use the COBOL and
PL/I compilers and High Level
Assembler to locate the copy
members, include files, and
macros that are needed to
compile a program properly.
Modify default JCL procedures The default JCL procedures and • ELAXF* remote build
and job cards appropriately for job cards are defined in property procedures
your environment groups.
• Setting options for procedures
and steps
Getting started 19
Use the z/OS Projects perspective to define, connect, and work with remote systems, and to create, edit,
and build projects, subprojects, and files on remote UNIX and z/OS systems.
Some components add views to this perspective when you install them. The Eclipse EGit component, for
example, adds the Git Repositories view and the Git Staging view to this perspective.
You can close views and open views to customize the perspective.
If you close a view, you can open the view again. To open one of the default views that were closed:
1. In the workbench, select Window (on Windows) or IBM Developer for z/OS (on macOS) > Show
View. A menu that lists the default views associated with the z/OS Projects perspective is displayed.
2. Click the name of the view you want to open.
To open a view that is not a default for the perspective you are working in, you must determine the
perspective that contributes the view:
Getting started 21
1. In the workbench, select Window (on Windows) or IBM Developer for z/OS (on macOS) > Show View
> Other. Folders are listed for each perspective that is defined in the workbench.
2. Search through the folders until you find the view you want to open.
3. Click the name of the view you want to open.
When you have a custom mix of default and other views you would like to use repeatedly based on a
perspective, you can save this customized perspective:
1. In the workbench, select Window (on Windows) or IBM Developer for z/OS (on macOS) > Save
Perspective As.
2. Type a name for your customized perspective in the Name field.
You can now open, close, and reset the customized perspective to the default configuration you defined
when you saved the customized perspective.
Related concepts
Editing source program files
Snippets view
Monitoring jobs with the JES Subsystem
Related tasks
“Switching to a new perspective” on page 24
As you develop z/OS programs, you might want to switch to the perspective where z/OS projects, builds,
and JCL generation are supported. After you open the z/OS Projects perspective for the first time, the
workbench includes the perspective in a list that is available from the shortcut bar.
Related reference
“z/OS Projects view” on page 22
“Becoming familiar with zIDE perspectives and views” on page 19
To access and work with z/OS and zEnterprise® resources from the workbench, you can open either of two
default perspectives that are customized for z/OS and zEnterprise application development: the Remote
System Explorer perspective or the z/OS Projects perspective.
“Remote System Explorer” on page 20
The Remote System Explorer is a perspective that provides an interface for managing remote systems
with conventions that are similar to ISPF.
“Keyboard shortcuts” on page 24
Many keyboard shortcuts are available in the workbench.
Related information
Developer for z/OS product website
Defining resource options with property groups
Filter
Select a filter to apply to the view.
Related concepts
Organizing source files with projects and subprojects
Related information
Configure z/OS UNIX subprojects
Create a ZDT test environment
Getting started 23
• Use the following icons and menu to lock, unlock, or refresh the view, navigate through the files and
filters in the view, change the columns that are displayed in the view, or locate a specific resource in
the view.
Option Description
Lock and Unlock Toggles the selected resource between locked and unlocked status. If
the resource is unlocked, selecting an object in the Remote Systems
view updates the details view.
Move up one level Navigates up the hierarchy of MVS Files, filters, data sets, and partitioned
data set members.
Customize Table Opens the Customize Table window, which you can use to add, remove,
or reorder columns in the view.
Select Input Switches to a different local or remote object.
Position To Locates the first resource that matches the string you enter in the
Position To window.
Subset Opens the Subset window to select criteria for limiting the contents that
are displayed in the view.
Keyboard shortcuts
Many keyboard shortcuts are available in the workbench.
For a complete list of keyboard shortcuts available in the workbench:
1. In the Preferences window, navigate to General > Keys.
2. Do either of the following steps:
• To sort the list of key bindings by category, click the Category table heading.
• To sort the list of key bindings by context, click the When table heading.
Getting started 25
Table 4. Drives, folders, files, and data sets.
Tip: To see more file icons, open the Preferences window and navigate to General > Editors > File
Associations.
Related information
“Preferences” on page 74
Related information
Orientation to Engineering Workflow Management for Developer for z/OS users
“Preferences” on page 74
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
How do I . . . ?
Obtain answers to frequently asked questions about using the z/OS integrated development environment.
1. How do I determine the product level of the remote system server?
In the Remote Systems view, connect to the remote system and then select MVS Files. The server
level is shown in the Server Level field of the Properties view
2. How do I determine which APARs or PTFs are applied to the remote system server?
Getting started 27
Open a z/OS UNIX command shell and issue the following two commands:
• $ cd /usr/lpp/IBM/zexpl/bin
• $ ./version.sh
The list of APARS is displayed as shown in the following example:
Wed Feb 28 04:44:12 2019 -- COPY -- HHOPE10 v14.1.7.0 created 27 Feb 2019
.*<literal1>.+<literal2>
To find all lines in a program that contain the strings IF and WS-PHARM, for example, type the following
search string:
.*IF.+WS-PHARM
Architecture
IBM Developer for z/OS consists of a mainframe system component and a workstation client component.
Remote system
The mainframe system component is also referred to as the remote system component. It is the part
of the product that is installed on the z/OS mainframe. The remote system component is the z/OS
mainframe to which you connect to access data. This portion of the product is installed into a z/OS logical
partition (LPAR) by the site system programmer.
The remote system component provides the interface between the workstation client and traditional
development components, such as Job Entry Subsystem (JES) and the file system.
• During setup, you create a connection between the workstation client and remote system components.
• The remote system component provides transaction management system functions to communicate
with Information Management System (IMS) and CICS.
• Problem determination tools, such as the IBM Debug Tool, are included.
Workstation client
The workstation client is the element that is installed on a personal computer operating environment.
It must be installed on each developer's computer. Throughout the product documentation, the term
IBM Developer for z/OS refers to the workstation component. The client software can be installed on a
Microsoft Windows or macOS operating system. The two components communicate by using TCP/IP.
The workstation client component provides a graphical user interface to access to the remote system
component. This interface is built on the Eclipse framework and infrastructure. Many other products are
built on Eclipse and they can share the user interface. More information about the Eclipse platform is at
www.eclipse.org.
Getting started 29
The user interface contains a set of development tools that support the development, maintenance, and
web service enablement of enterprise applications.
• Access z/OS assets. You can organize, allocate, manage, and edit z/OS data sets and tools.
• Develop, maintain, compile, and assemble source files by using integrated language-sensitive editors
for COBOL, PL/I, IBM High Level Assembler (HLASM), C/C++, Java, job control language (JCL), basic
mapping support (BMS), and Message Format Service (MFS). You can access source directly from
Multiple Virtual Storage (MVS) data sets or through a number of source control management (SCM)
systems.
• Manage and edit data such as these information types:
– Queued sequential access method (QSAM) or sequential data sets
– Virtual Storage Access Method (VSAM) or indexed data sets
– Relative and entry sequenced data sets
– Db2 tables and views
– Information Management System (IMS) databases
• Access to your z/OS Job Entry Subsystem (JES) to submit jobs and JES spool files to organize and
manage batch jobs.
• Access other tools such as wizards and declarative development tools that replace low-level coding to
create, deploy, and test web services; and use Enterprise Generation Language (EGL) to develop Java
Platform, Enterprise Edition applications.
Port
A port is an end point for communication between applications. It is the logical connection between the
remote system components and the workstation component. The port provides queues for sending and
receiving data. Each port has a port number for identification. The port number must be specified when
you create a connection between the remote system and workstation.
The system programmer for your site defines a port number during installation for a remote daemon or
REXEC port. You must contact the system programmer for your site to obtain the type of port and the port
number.
Mapping
Most operating systems recognize and differentiate files by their file extensions, which are referred to
as the file type. For example, a file with the .txt extension is processed as a text file, while a file with
the .html extension is processed as a hypertext markup language file. On the z/OS system, the concept
of file extensions does not exist. Therefore, each data set type or file must be explicitly defined so that it is
transported and processed between the remote system and the workstation correctly.
The transfer mode refers to whether the file is transported as text or binary.
A computer system translates keyboard inputs to character values according to the code page that is
specified on each system. z/OS systems employ the EBCDIC family of code pages and most workstation
systems employ the ASCII family of code pages. When a file is transported between these two operating
systems, code-page conversion must be taken into account so that the file is translated and displayed
correctly on the destination system. IBM Developer for z/OS handles this translation automatically, but
to do so, it must be told in advance what code pages are being used on the remote system and the
workstation.
Specifying mapping definitions provides the file type, transfer mode, and code page information that
is required to transfer data between the remote system and workstation. The term mapping is used
throughout the product documentation to refer to defining file transfers and other information. Developer
for z/OS provides a set of default mappings to simplify the setup. For example, all data sets with an end
qualifier COBOL are mapped to the .cbl file extension and text transfer mode. This mapping causes the
members to be treated as COBOL source files when they are transported and opened on the workstation.
Another default mapping assigns load modules with the end qualifier LOAD to the .exe file extension and
binary transfer mode.
Each z/OS system can have its own mapping. Mapping definitions are defined by using the z/OS File
System Mapping view.
Getting started 31
Table 8. Terms used in mainframe and workstation environments (continued)
Mainframe Workstation Description
Allocate Create Assign a resource to a specific task.
Extension File type A tag of three or four letters, which are preceded
by a period, that identifies the file format or the
application that is used to create the file.
Open Load
ABEND Crash, failure, hang An abnormal completion of a program.
Catalog Directory, folder A file structure where data sets and files are
stored on a system.
Job Process A program that is processing.
Task Thread A single unit of work within a program.
Navigating
One of the first differences you might notice between IBM Developer for z/OS and ISPF is how you
navigate the product. You navigate ISPF by using the keyboard to type on panels and in the command line.
In Developer for z/OS you use a mouse to select menu items, controls, and items from lists and tables,
and you use the keyboard for typing text.
You use these user interface objects to complete tasks.
Workspace
The top-level folder on your computer where information about all the resources that you work
with is stored. It contains local z/OS projects and files and information about your remote system
connections and your development preferences and settings.
Perspectives
A collection of views that relates to a specific high-level task. These perspectives are commonly used:
• The z/OS Projects perspective provides tools for accessing remote systems, creating projects, and
submitting builds. This view is relevant to z/OS COBOL, PL/I, and HLASM project work.
• The Debug perspective enables debugging z/OS remote and local applications.
• The Enterprise Service Tools perspective provides tools for building and testing web services.
Each perspective contains several views that provide a different function or a different way of
viewing the resources that you are working with. For a description of the views in the z/OS Projects
perspective, for example, see “Key views” on page 33.
Windows
Places to type information, select items from lists, and click controls to complete actions. Most
windows open in response to selecting a menu item.
Menu bar
At the top of the workspace, the menu bar contains frequently used actions. When you click a menu,
one or more actions occur.
Toolbar
At the top of the workspace just below the menu bar, the toolbar changes contents according to the
active window or editor. Actions in the toolbar might apply to particular views, so these actions might
be enabled or disabled according to the state of the active view or editor.
Menus
Lists of specific actions that you can do in the user interface. Most views provide menus, which you
access by positioning the mouse pointer in the view and pressing the right mouse button.
Note: The graphical user interface is sometimes referred to as the z/OS integrated development
environment or zIDE. These two terms are used throughout the documentation.
Related concepts
“Key views” on page 33
Perspectives are composed of views. To understand how to work with views, you must first understand
the functions that are supported by each view.
“Tips on using the user interface” on page 35
The user interface is robust, and with it, you can complete many functions. These tips can help you
become proficient with the user interface.
Key views
Perspectives are composed of views. To understand how to work with views, you must first understand
the functions that are supported by each view.
The following list provides a brief description of some key views and the types of tasks that you can do in
each.
Remote Systems
The Remote Systems view supports the connection to remote systems. After a connection is made to
a remote system, use this view to browse through remote data sets, files, and jobs.
Getting started 33
ISPF functions such as data set allocation, rename, or delete (ISPF option 3.2), move and copy (3.3),
and data set listing (3.4) can be performed in this view.
Jobs that are submitted to the job subsystems can be viewed and manipulated under the Job Entry
Subsystem (JES) that is found in your z/OS system connection definition. You can view a list of jobs
and complete operations such as view output, purge, cancel, and hold against these jobs. For a
detailed view of these jobs, you can also display them in a tabular view by selecting Show in Table
from the menu. The tabular view provides a more ISPF-like view of your jobs. To view job output,
highlight any completed job, and select Open. Job outputs are displayed in the default text editor.
Remote Shell
The Remote Shell view provides a command-line interface to support the execution of TSO
commands. You can run commands, CLIST, and REXX from the command line and view the output
on the same view. The command inputs and outputs can also be saved.
To open the Remote Shell view, select TSO Commands in the Remote Systems view, and click
Launch TSO.
Remote Error List
The Remote Error List displays errors that result from failed operations. Errors such as syntax errors,
build problems, and code generation are displayed in this tabular view. The error information contains
a link that opens the source line with the syntax problem.
Property Group Manager
The Property Group Manager displays property groups that are defined on local and remote systems.
Property groups define the attributes and attribute values that are used to compile applications and
standardize your development environment.
z/OS Projects
The z/OS Projects view organizes the files that you downloaded to your computer or create on your
computer to be uploaded. Use this view to work with projects, subprojects, data sets, and members to
complete these tasks:
• Create and delete projects and subprojects.
• Rebuild projects and subprojects, which compiles all code in the project.
• Build specific project content, which compiles the code that is contained in a partitioned data set
member.
• Allocate partitioned and sequential data sets.
• Start an edit session for a specific file or partitioned data set member.
• Move, copy, rename, and delete files or partitioned data set members.
• Add and remove remote files in a subproject
Properties
The Properties view shows file attributes and data set statistics of selected resources. It is similar to
ISPF option 3.2.
z/OS File System Mapping view
The z/OS File System Mapping view shows the mappings that are defined on the remote system. This
view displays the relationships between a mapping criterion and the corresponding workstation file
extensions and transfer modes. It also displays the relationships between local and host code pages.
To view the information for a system definition, select the system in the Remote Systems view. The
z/OS File System Mapping view loads and displays the mapping information that is defined for the
system.
Related concepts
“Navigating” on page 32
One of the first differences you might notice between IBM Developer for z/OS and ISPF is how you
navigate the product. You navigate ISPF by using the keyboard to type on panels and in the command line.
Related concepts
“Key views” on page 33
Perspectives are composed of views. To understand how to work with views, you must first understand
the functions that are supported by each view.
“Navigating” on page 32
One of the first differences you might notice between IBM Developer for z/OS and ISPF is how you
navigate the product. You navigate ISPF by using the keyboard to type on panels and in the command line.
Getting started 35
In Developer for z/OS you use a mouse to select menu items, controls, and items from lists and tables,
and you use the keyboard for typing text.
Preparing to work
Before you can start working on files, you must connect to a z/OS system. This process entails two steps:
defining the connection and then establishing the connection.
If you define multiple connections to a single remote system and your site uses the push-to-client
function to distribute updates to remote system connections, then all connections to the remote system
are updated.
Getting started 37
For more information about updating configurations and preferences, see the related links.
The Remote Systems view displays the short name of the new connection with five nodes under the
connection name:
• z/OS UNIX Files is the z/OS UNIX file subsystem. This node contains two folders: My home and Root.
You can create more z/OS UNIX file folders by adding new filters to this node.
• z/OS UNIX Shells is a command subsystem. When you open a z/OS UNIX command shell, its name is
displayed under this node.
• MVS Files is the MVS file subsystem. This node contains three folders: My Data Sets displays MVS
files that match the filter userid.* in which userid is the user ID with which you connected to the remote
system. You can create more MVS file folders by adding filters to this node. You can change the sort
order of data sets by using the MVS Files preference page. Retrieved Data Sets displays data set
names searched for and added by using the Retrieve Data Sets action or by allocating a data set. My
Favorites displays search queries that you ran and saved in the Remote z/OS Search view.
• TSO Commands is a command subsystem. When you open a TSO command shell, its name is displayed
under this node.
• JES is the JES subsystem. This node contains three folders: My Jobs displays jobs that are submitted
under the user ID with which you connected to the z/OS system. You can create more job folders by
adding new filters to this node. Retrieved Jobs displays jobs searched for and added by using the
Retrieve Job action. Active Jobs shows jobs that are running.
• Db2 for z/OS provides tools for connecting to Db2 databases and running and tuning SQL queries. For
more information about Db2 for z/OS tooling, see Developing with Db2 for z/OS.
After you connect to the remote system, you can control the contents that are displayed under JES, MVS
Files, and z/OS UNIX Files by defining filters for these subsystems. You can add search queries to the
MVS Files folder by running and saving remote z/OS searches. For instructions, see the related topics.
System administrators can configure remote systems to automatically disconnect users after a period
of inactivity. Contact your system administrator if you have any questions about maintaining an active
connection to a remote system.
Related tasks
Creating a connection for client certificate authentication
Updating workspace configurations and preferences
Getting started 39
the imported host certificate. When a remote system connection is secured, the Properties view for
the MVS Files subsystem displays SSL Enabled.
11. Click Finish to import the host certificate.
12. If the remote system is configured for push-to-client, you might be prompted to accept configuration
updates.
For more information about updating configurations and preferences, see the related links.
The Remote Systems view displays the short name of the new connection with five nodes under the
connection name:
• z/OS UNIX Files is the z/OS UNIX file subsystem. This node contains two folders: My home and Root.
You can create more z/OS UNIX file folders by adding new filters to this node.
• z/OS UNIX Shells is a command subsystem. When you open a z/OS UNIX command shell, its name is
displayed under this node.
• MVS Files is the MVS file subsystem. This node contains three folders: My Data Sets displays MVS
files that match the filter userid.* in which userid is the user ID with which you connected to the remote
system. You can create more MVS file folders by adding filters to this node. You can change the sort
order of data sets by using the MVS Files preference page. Retrieved Data Sets displays data set
names searched for and added by using the Retrieve Data Sets action or by allocating a data set. My
Favorites displays search queries that you ran and saved in the Remote z/OS Search view.
• TSO Commands is a command subsystem. When you open a TSO command shell, its name is displayed
under this node.
• JES is the JES subsystem. This node contains three folders: My Jobs displays jobs that are submitted
under the user ID with which you connected to the z/OS system. You can create more job folders by
adding new filters to this node. Retrieved Jobs displays jobs searched for and added by using the
Retrieve Job action. Active Jobs shows jobs that are running.
• Db2 for z/OS provides tools for connecting to Db2 databases and running and tuning SQL queries. For
more information about Db2 for z/OS tooling, see Developing with Db2 for z/OS.
After you connect to the remote system, you can control the contents that are displayed under JES, MVS
Files, and z/OS UNIX Files by defining filters for these subsystems. You can add search queries to the
MVS Files folder by running and saving remote z/OS searches. For instructions, see the related topics.
System administrators can configure remote systems to automatically disconnect users after a period
File editors
The workstation provides several editors for source files and uses the file extension to associate editors
with files. Some editors are more robust than others and are limited to selected file extensions. You might
want to start with the z Systems LPEX Editor because it provides an easier skill transfer from ISPF.
The z Systems LPEX Editor can be used to edit COBOL, PL/I, Assembler, and JCL files. However, so that
you have some idea of the different editors, the following table shows the available editors and the type of
files that each editor opens.
Table 9. Editors
Editor File type
COBOL Editor COBOL
PL/I Editor PL/I
JCL Editor JCL
BMS Editor Basic mapping support (BMS) files
MFS Editor Message format service (MFS) files
z Systems Data Editor Queued sequential access method (QSAM) and
partitioned data set (PDS) files
Related concepts
Remote C/C++ Editor
Remote Makefile Editor
z Systems Data Editor
Related information
Getting started with the z Systems LPEX Editor
Getting started 41
The z Systems LPEX Editor can be set up to behave more like ISPF with a selected set of ISPF commands.
Related information
Getting started with the z Systems LPEX Editor
Productivity features
A number of features in the workbench and z Systems LPEX Editor enhance your ability to work with files.
Viewing files
Filter view
Displays only selected sections of a file such as Comments, Divisions, and Errors. To return from the
filter view, click Show all to display the full the content.
Compare files
To compare two files, hold down the Ctrl key, and select them in the Remote Systems view. Then,
click Compare With > Each Other. Double-click the title of the editor to maximize the view, if
necessary.
Content assist
Content assist helps you insert or finish a line of code in the editor.
To open content assist, place the cursor in the source, and press Ctrl+Spacebar. A list of valid keywords
and identifiers is displayed. You can then select a syntax element. If you select fully qualified verb
constructs, content assist shows the variable definition and source.
Color
Default color settings for the z Systems LPEX Editor help you quickly identify various parts of the source.
You can customize the colors in the LPEX Editor preferences. This list indicates default color settings:
• Keywords are blue.
Getting started 43
• Identifiers such as variables, paragraph names, and section names are black.
• Literals are maroon.
• Comments are green.
• COBOL sequence numbers are green.
Related concepts
Setting z System LPEX Editor preferences
ISPF profile
You can edit text in the z Systems LPEX Editor several ways, depending on the preference that is selected
for the editor profile.
If the profile is set to ispf, you can use ISPF commands in the prefix area as in the ISPF Editor.
Related concepts
“Introduction to the z Systems LPEX Editor” on page 41
The z Systems LPEX Editor provides editing features and capabilities that are specific to the needs of z/OS
users.
“Productivity features” on page 42
A number of features in the workbench and z Systems LPEX Editor enhance your ability to work with files.
Getting started 45
Quick tasks
This topic describes some common tasks that you might perform with IBM Developer for z/OS and links
you to more information about completing them.
The tasks illustrated in this topic are representative of the kinds of tasks that developers commonly
perform with IBM Developer for z/OS. It is not an exhaustive list of the tasks that you can perform with
the product, but a sampling that can help you become productive with the product more quickly. For each
task included in the list at the end of this topic, the task topic provides the following information about
completing that task:
• A summary of the steps involved in completing the task.
• Links to help topics that provide instructions for each step.
• Links to tutorials, where available.
• Links to online demonstrations, where available. The links to the demonstrations indicate the version of
IBM Developer for z/OS in which the demonstration was created.
The list at the end of this topic shows all quick tasks in alphabetical order by task name, but you can also
see a list of tasks organized by component name (such as Enterprise Service Tools or z/OS Integrated
Development Environment) in the following link:
“Quick tasks by component” on page 46
All Components
These tasks are not specific to a component.
“Preferences” on page 74
Menu Manager
“Creating menus and menu actions” on page 53
MFS Editor
“Creating MFS message definitions” on page 54
z/OS Debugger
Preparing to debug
Summary
To change the high-level qualifier (HLQ) of a z/OS project:
1. Import a z/OS project.
2. Specify the location of the source file to be imported.
3. Select and modify the HLQ for the subprojects that are to be imported.
Help topics
The following help topics provide more information about changing the high-level qualifier of a z/OS
project:
• Importing a z/OS project
• Exporting a z/OS project
• Changing the high-level qualifier of an MVS subproject
Related information
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
Getting started 47
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating a CICS service provider from a Web service description (top-down scenario)
This topic illustrates how to generate a new CICS COBOL service provider from an existing Web service
description (WSDL).
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
This topic illustrates how to set up tracing.
Summary
One of the first tasks that you need to complete in Developer for z/OS is to create a connection to a
remote z/OS system so that you can see and work with z/OS files in your workspace. This topic includes
links to documentation, tutorials, and demonstrations for the following tasks:
• Creating a connection to a remote system.
• Creating filters to view your data sets.
• Troubleshooting remote connections.
Getting started 49
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
This topic illustrates how to set up tracing.
Summary
To use the Developer for z/OS BMS map editing support:
1. Create a new BMS map.
2. Edit the BMS map.
3. Generate the JCL for the assemble link.
Help topics
The following help topics provide more information about BMS map editing support:
• Creating a new BMS map set
• Creating BMS map set JCL
Summary
To create a COBOL program from templates and snippets:
1. Create a new COBOL program using predefined templates.
2. Customize features for these templates.
3. Reuse code snippets by leveraging the Snippets view.
Help topics
The following help topics provide more information about customizable templates and snippets:
• Creating COBOL programs from a template
• Preferences for COBOL code templates
• Preferences for COBOL features
• Editing with snippets
Related information
Changing a high-level qualifier
Getting started 51
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating a CICS service provider from a Web service description (top-down scenario)
This topic illustrates how to generate a new CICS COBOL service provider from an existing Web service
description (WSDL).
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
Summary
Developer for z/OS includes a tool called Menu Manager that you can use to create your own menu
actions and add them to pop-up menus in the z/OS Projects view and the z Systems LPEX editor. Creating
custom actions and adding them to a pop-up menu involves the following tasks:
1. Creating actions for use on the z/OS Projects view and on the z Systems LPEX editor.
2. Creating a menu to organize the actions.
3. Customizing the output options.
Help topics
The following help topics provide more information about creating menus and menu actions:
• Creating custom pop-up menus
• Creating a new action
• Creating a new custom menu
• Creating menu actions for z/OS actions and variables
Getting started 53
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating a CICS service provider from a Web service description (top-down scenario)
This topic illustrates how to generate a new CICS COBOL service provider from an existing Web service
description (WSDL).
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
This topic illustrates how to set up tracing.
Summary
To use the Developer for z/OS MFS editing support:
1. Create an MFS device format.
2. Edit the device format definition.
3. Customize the MFS preferences.
4. Create an MFS message definition.
5. Generate JCL to run MFS.
Help topics
The following help topics provide more information about MFS map editing support:
• Creating a new device format definition
• Editor features
• Preferences
• Creating a new MFS message definition
• JCL generation
Related information
Changing a high-level qualifier
Getting started 55
This topic illustrates how to set up tracing.
Summary
You can use the My Search Queries function of RSE to save and reuse your frequently performed remote
z/OS searches.
1. Perform a remote z/OS search.
2. Add the search results to My Search Queries
3. Rerun the query as needed.
4. Modify the search query as needed.
5. Work with the search results.
Help topics
The following help topics provide more information about creating reusable z/OS search queries:
• Searching a remote z/OS system
• Saving search queries (also includes instructions for running and editing saved queries)
• Working with search results
• Using remote index search
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
Summary
To edit and compile code on a local system, you need to complete the following tasks:
1. Create a local z/OS project.
2. Create a property group and associate it with your project.
3. Create a new source file or copy an existing file into the new project.
4. Edit your source code.
5. Build the local project.
Help topics
The following help topics explain how to complete these steps:
• Creating a local z/OS project
• Creating a local z/OS project from a sample
• Creating and editing property groups
• Associating and overriding property groups
• A Quick Start Guide for the z Systems LPEX Editor
Related information
Changing a high-level qualifier
Getting started 57
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating a CICS service provider from a Web service description (top-down scenario)
This topic illustrates how to generate a new CICS COBOL service provider from an existing Web service
description (WSDL).
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
Summary
To edit and compile code on a remote system, you need to complete the following tasks:
1. Create a connection to a remote system.
2. Create a property group and associate it with your MVS files.
3. Define filters so that you can see your data sets.
4. Allocate a new data set.
5. Edit your source code.
6. Generate JCL to compile your program.
7. Submit the job and view the output on JES.
Help topics
The following help topics explain how to complete these steps:
• Creating a new connection to a remote system
• Connecting to a remote system
• Creating and editing property groups
• Associating and overriding property groups
• Defining a filter for MVS files
• Allocating a new data set
• Editing a sequential data set or PDS member
• A Quick Start Guide for the z Systems LPEX Editor
• Generating JCL, submitting a job, and viewing the output
Sample
Running a simple COBOL application on a remote system
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
Getting started 59
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating a CICS service provider from a Web service description (top-down scenario)
This topic illustrates how to generate a new CICS COBOL service provider from an existing Web service
description (WSDL).
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
This topic illustrates how to set up tracing.
Summary
To use the z Systems LPEX editor to edit remote files:
• To open the LPEX editor, click the name of a COBOL or PL/I file.
• To enter text into a file, click in the working area of the editor and begin typing.
• To type on the command line, click in the command-line area or press the Esc key and begin typing.
• To toggle back and forth between insert mode and replace mode, press the Insert key.
• To delete text, use the Delete key or the Backspace key.
• To insert a blank line, press Enter at the end of a line or Ctrl+Enter anywhere on a line.
Getting started 61
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
This topic illustrates how to set up tracing.
Summary
To enable a CICS COBOL program as an MTOM/XOP Web service:
1. Create a provider-mode pipeline configuration file that includes the CICS-supplied MTOM/XOP
handler.
2. Enable your CICS program as an MTOM/XOP Web service.
3. Deploy the MTOM/XOP Web service to CICS.
4. Invoke the MTOM/XOP Web service from a Java, J2C, MTOM/XOP, SOAP client. (For guidance, see the
demonstration, "Part 2 - Invoke MTOM/XOP Web services from a Java, J2C, MTOM/XOP, SOAP client in
WebSphere Application Server" at he bottom of this page.)
Help topics
The following help topics provide more information about MTOM/XOP Web services:
• Generate CICS MTOM/XOP Web service (bottom-up)
• Bottom-up wizard - MTOM/XOP files - Interpretive XML Conversion
• Web services for CICS project
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Summary
To generate an outbound COBOL driver running in batch mode using Enterprise Service Tools:
1. Create a z/OS project and import source files for the project.
2. Use the New XML to COBOL Mapping wizard to map the data structure of the schema to the COBOL
copybook.
3. Edit the mapping file to specify how to map the data structures.
4. Generate the outbound converter from the mapping file.
Help topics
The following help topics provide more information about generating an outbound COBOL driver:
• Creating an Eclipse project
• Copying source files into a project using the Navigator view
Getting started 63
• Map to an Existing Service Interface (meet-in-middle) wizard
• Using the mapping editor to create data mappings in a mapping session file
• XML to COBOL mapping concepts
• Generate Web services files
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a CICS service provider from a Web service description (top-down scenario)
This topic illustrates how to generate a new CICS COBOL service provider from an existing Web service
description (WSDL).
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Summary
To generate a new CICS COBOL service provider from an existing Web service description:
1. Connect to a z/OS system.
2. Define a CICS connection.
3. Create a new Web Services for CICS project and import the WSDL file you want to generate the service
from.
4. Generate the Web service from the WSDL file.
5. Complete the coding of the program to implement the service.
6. Copy the COBOL source and the copybooks to the remote system.
7. Deploy the service to CICS.
8. Test the Web service using the Web Services Explorer.
Help topics
The following help topics provide more information about generating CICS service providers:
• Connecting to a remote system
• Web services for CICS project
• Create New Service Implementation (top-down) wizard
• Copying remote files
• Building a z/OS project or subproject
• Deploying the Web service artifacts to CICS
• Web Services Explorer
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
Getting started 65
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
This topic illustrates how to set up tracing.
Summary
To generate artifacts for IMS Connect and IMS SOAP Gateway to expose an existing IMS application as a
Web service provider:
1. Create a new IMS SOAP Gateway project.
2. Import source files into the project.
3. Generate the Web service.
4. Copy the XML converter to the remote system for compiling and link-editing.
Getting started 67
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
This topic illustrates how to set up tracing.
Summary
To generate a Web service requester to support the IMS SOAP Gateway Callout feature:
1. Create a new IMS SOAP Gateway project.
2. Ensure that you have the following required files in the project:
• The Web service description (WSDL) of the service you want to invoke
• The COBOL copybook to hold the request and response data
3. Create request and response mappings for the callout scenario.
4. Generate a Callout XML converter.
5. Copy the XML converter to the remote system for compiling and link-editing.
Help topics
The following help topics provide more information about generating an IMS SOAP Gateway Web service
requester:
• Enabling an application for the IMS SOAP Gateway
• IMS SOAP Gateway project
• Starting the XML to COBOL Mapping wizard (response mapping)
• Starting the XML to COBOL Mapping wizard (request mapping)
• Generating Web services files
• Copying remote files
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
Summary
To generate a single Web service for a COBOL program and deploy it to CICS:
1. Create a "Web services for CICS" project.
2. Use the single-service wizard to generate converters, the WSBind file, and the WSDL file from the
COBOL program.
3. Use RSE to copy the generated artifacts to the MVS and the z/OS UNIX Files subsystem.
4. Create a z/OS project and MVS subproject and use the zIDE to build the converter program.
Getting started 69
5. Use Remote Connection Emulator to install the WSBind file and the WSDL file.
Help topics
The following help topics provide more information about generating and deploying Web services:
• About single-service projects
• Creating a new single-service project
• Create New Service Interface (bottom-up) wizards
• Copying remote files
• Creating a z/OS project
• Creating an MVS subproject
• Adding a remote file to an MVS subproject
• Building a z/OS project or subproject
• Using the Remote Connection Emulator
Summary
To create a property group and associate it with a resource:
1. Connect to a remote system.
2. Open the Property Group Manager.
3. Select a connected remote system and create a new property group for it.
4. Add property values to the group and save the group.
5. Select the resource you want to assign the properties to and associate the group with the resource.
Help topics
The following help topics provide more information about property groups:
• Connecting to a remote system
• Managing resource properties with property groups
• Creating and editing property groups
• Associating and overriding property groups
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
Getting started 71
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating a CICS service provider from a Web service description (top-down scenario)
This topic illustrates how to generate a new CICS COBOL service provider from an existing Web service
description (WSDL).
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Setting up tracing
This topic illustrates how to set up tracing.
Help topics
The following help topics provide more information about using the PDS navigation mechanism and
Locate command:
• Working with large partitioned data sets
Getting started 73
This topic illustrates how to set up tracing.
Preferences
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
To open the Preferences window:
• Windows: From the main menu, select Window > Preferences.
• macOS: From the main menu, select IBM Developer for z/OS > Preferences.
• From an editor: Right-click and select Preferences.
Some product user interface windows also provide a link to the Preferences window. You can click this
link to open the Preferences.
To navigate in the Preferences window, you can expand and collapse preference categories. For example,
to navigate to the Formatter preference page of the PL/I Editor, expand PL/I > Editor and select
Formatter.
For more information about setting preferences for specific components, see the related topics.
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating a CICS service provider from a Web service description (top-down scenario)
Setting up tracing
This topic illustrates how to set up tracing.
Summary
You can set varying tracing levels for specific Developer for z/OS components. During execution, trace
entries are produced and placed in the workspace\.metadata\.trace file. A trace shows the flow of the
execution of a program and can help with troubleshooting and debugging problems.
• Open the Preferences page for Developer for z/OS and navigate to Tracing.
• Locate the component for which you need to set up tracing and set the appropriate level of tracing.
• When tracing is complete, restore the default tracing settings.
Help topics
The following help topics provide more information about tracing:
• Tracing
• Tracing tab
Getting started 75
• Troubleshooting and support for Developer for z/OS
Related information
Changing a high-level qualifier
This topic illustrates how to change the high-level qualifier of z/OS MVS subprojects when importing and
exporting projects.
Connecting to a remote system
This topic illustrates how to create a connection to a remote system and create filters to view data sets.
Creating BMS maps
This topic illustrates the BMS map editing support available in Developer for z/OS.
Creating COBOL programs from templates and snippets
This topic illustrates how to create COBOL programs from templates and snippets.
Creating menus and menu actions
This topic illustrates how to create custom menus and menu actions for the z/OS Projects view and the z
Systems LPEX editor.
Creating MFS message definitions
This topic illustrates the MFS editing support available in Developer for z/OS.
Creating reusable z/OS search queries
This topic illustrates how to save and reuse frequently performed z/OS searches.
Preparing to debug
Editing and compiling code on a local system
This topic illustrates the Developer for z/OS tools for editing and compiling source code on a local
(workstation) system.
Editing and compiling code on a remote system
This topic illustrates the Developer for z/OS tools for connecting to a remote z/OS system, allocating a
data set, and editing and compiling source code.
Editing files with the z Systems LPEX Editor
Use the z Systems LPEX editor to edit remote files.
Enabling a CICS COBOL program as an MTOM/XOP Web service
This topic illustrates how to enable a CICS COBOL program as an MTOM/XOP Web service.
Generating a batch outbound driver (meet-in-the-middle scenario)
This topic illustrates how to generate an outbound COBOL driver running in batch mode using Enterprise
Service Tools. This task is called "meet-in-the-middle."
Generating a CICS service provider from a Web service description (top-down scenario)
This topic illustrates how to generate a new CICS COBOL service provider from an existing Web service
description (WSDL).
Generating an IMS SOAP Gateway Web service provider
This topic illustrates how to generate artifacts for IMS Connect and IMS SOAP Gateway to expose an
existing IMS application as a Web service provider.
Generating an IMS SOAP Gateway Web service requester
This topic illustrates how to generate a Web service requester to support the IMS SOAP Gateway Callout
feature.
Generating a single Web service (bottom-up scenario)
This topic illustrates how to generate a single Web service for a COBOL program and deploy it to CICS.
Managing properties with property groups
This topic illustrates how to create property groups and associate them with resources.
Navigating partitioned data sets
This topic illustrates how to navigate a partitioned data set using the new PDS navigation mechanism.
Preferences
Tutorials
Complete tutorials with specific learning objectives for the product.
Getting started 77
1. Start Developer for z/OS.
2. From the main menu, select Window (on Windows) or IBM Developer for z/OS (on macOS) >
Perspective > Open Perspective > z/OS Projects.
3. To open the Global Auto Mart sample, click File > New > Example. The New Example wizard opens.
4. Expand Workstation Global Auto Mart Samples, select Global Auto Mart COBOL Sample, and click
Next.
5. In the Project name field, type GlobalAutoMart and click Finish. The project is added to the z/OS
Projects view.
Getting started 79
80 Developer for z/OS: Welcome and Getting Started
Create database tables
Learn how to create the database tables on the remote system. You must have special privileges to
be able to create and modify database tables on the remote system, so check with your systems
administrator before beginning.
This lesson assumes that you have a solid understanding of COBOL, JCL, and compilation.
The GAM0VDB.cbl file inserts data into the Global Auto Mart sample database tables. To create the
database tables that are needed for the Global Auto Mart tutorial:
1. Compile the GAM0VDB.cbl file with the following provided copybooks: GAM0BCD, GAM0BDD, GAM0BED,
GAM0BMD and GAM0BPD.
2. Edit <HLQ>.AUTOMART.CNTL(GAM0VCDB), and provide the database schema name by changing all
instances of &SCHEMA to match the schema name you want to use. If you do not know which schema
name to use, ask your systems administrator.
3. Submit the GAM0VCDB JCL file to run GAMOVDB. If the required tables exist, the JCL drops them. If the
tables do not exist, it creates them. The JCL then runs GAM0VDB to populate the tables.
Getting started 81
pane on the left side that you can use to select a specific page in the property group editor.
6. Select the tabs and pages listed in this table to set property values in the AUTOMART property group.
Many of the fields provide default values. Unless the table specifies otherwise, you can use the default
values in the property group with the Global Auto Mart sample programs.
Getting started 83
Create a z/OS project and MVS subproject
Creating z/OS projects and subprojects provides a way to organize your remote files on your local
workstation. Learn how to set up a z/OS project and subproject for this tutorial.
1. To open the z/OS Projects view from the main menu, select Window (on Windows) or IBM Developer
for z/OS (on macOS) > Perspective > Open Perspective > z/OS Projects. If z/OS Projects it is not
one of the first options shown, you might have to select Other, scroll down, and then select z/OS
Projects.
2. Right-click the z/OS Projects view, and then select New > z/OS Project.
3. In the Project name field, type zOS Global Auto Mart.
4. Select Create an MVS subproject and then click Finish. The New MVS Subproject window opens.
5. Complete the fields on this window as shown in the following screen capture:
• Connection name: Select the remote system to which you uploaded the Global Auto Mart source
files.
• Project name: Contains the name of the z/OS project.
• Subproject name: Type GAM0MC1.
• High-level qualifier: Contains your z/OS logon ID.
• Runtime environment: Select Any.
• Select and add resources to the subproject: Select this checkbox.
• Property Group: Click Select a property group to associate with the subproject, and then select
the AUTOMART property group.
Getting started 85
Create additional subprojects
One function of subprojects is to represent the resources required to build a particular load module.
Because the Global Auto Mart project contains more than one load module, you must create one
subproject for each load module
1. Select the zOS Global Auto Mart project, and then right-click and select New > MVS Subproject. The
New MVS Subproject window opens.
2. Complete the fields on this window as follows:
• Connection name: Select the remote system to which you uploaded the Global Auto Mart source
files.
• Project name: Contains the name of the z/OS project.
• Subproject name: Type GAM0MC2.
• High-level qualifier: Contains your z/OS logon ID.
• Runtime environment: Select Any.
• Select and add resources to the subproject: Select this checkbox.
• Property Group: Click Select a property group to associate with the subproject, and then select
the AUTOMART property group.
3. Click Finish. The Add Resources to Subproject window opens.
4. Select <HLQ>.AUTOMART.ASSEMBLE(GAM0MC2.asm).
5. Click OK. The z/OS Projects view is updated with the subproject and the data set member.
6. Repeat this procedure to create subprojects for the following source programs. Associate the
AUTOMART property group with each subproject.
The zOS Global Auto Mart project is updated with the following subprojects and source files:
Getting started 87
2. Verify that the Job Name, JCL data set name, and Member name are correct and click OK. The JCL
Generation Complete window opens.
4. Click Locate Job. In the Remote Systems view, the Retrieved Jobs filter of the JES subsystem opens.
The job name is highlighted in the filter list.
5. Select the Retrieved Jobs filter, and then select Show in Table. The Remote Systems Details view
opens. This view shows the results of the jobs that were run. Use it to determine whether the jobs
were completed successfully.
Assemble and link the BMS maps with property group overrides
Learn how to assemble and link the BMS maps with property group overrides.
You must be in the z/OS Projects perspective and connected to the remote system.
To assemble and link the BMS maps with property group overrides:
1. In the z/OS Projects view, expand zOS Global Auto Mart > GAM0MC1 and select the
<HLQ>.AUTOMART.ASSEMBLE(GAM0MC1).asm member.
2. Right-click and select Property Group > Override Properties. The property group editor opens.
3. Open the Assembler tab at the bottom of the property group editor and select Procedures and Steps
from the left panel of options.
4. Expand the ELAXAFASM procedure and select the ASM step.
5. Scroll down to the bottom of the page.
6. In the Assembler Options field, replace the existing options with SYSPARM(MAP).
7. Remove the text that you entered in the Additional JCL text box.
8. Close and save the property group editor.
Getting started 89
9. Repeat steps “2” on page 89 through “8” on page 89 for the GAM0MC2.asm and GAM0MC3.asm
members.
10. Select the GAM0MC1.asm member, and then right-click and select Generate JCL > For Assemble
Link.
11. In the Load Module Member Name window click OK.
12. In the JCL data set and member name window, click OK.
In the Remote Systems view, the Retrieved Jobs filter of the JES subsystem opens. The job name is
highlighted in the filter list.
15. Generate and submit JCL for assemble and link for the GAM0MC2.asm and GAM0MC3.asm
members.
16. Select the Retrieved Jobs filter, and then select Show in Table. The Remote Systems Details view
opens. This view shows the results of the jobs that were run. Use it to determine whether the jobs
were completed successfully.
Make sure that the information provided in the Return Info column is NORMAL and the Return Code
column contains values of 4 or less for all three jobs that were completed. Contact your systems
programmer if there are any other return values.
If you must change a property group, be sure to save the changes on the property group, and then
regenerate the JCL and resubmit the jobs.
For each program that you assembled and linked, a load module, a listing file, and an object file are
added to the data set locations defined in the property group for these files.
Getting started 91
Debug the Global Auto Mart sample
Learn how to debug COBOL code in the Developer for z/OS client.
Learning objectives
In this module, you learn how to use the Developer for z/OS product to do the following tasks:
• Run the Global Auto Mart sample
• Understand how to set CICS resource definitions
• Debug the source
Time required
20 minutes
Prerequisites
To complete this module successfully, you need to meet the following prerequisites:
• The Global Auto Mart sample assembled, linked, and compiled with no errors.
• All prerequisites for modules 1, 2, and 3.
Getting started 93
12. Run the program again by entering GBMI. The program opens in the Debug perspective of the local
workspace.
Lessons learned
You can now do the following tasks in the Developer for z/OS client:
• Create a connection to a z/OS remote system
• Use repositories on the remote system
• Create z/OS projects and subprojects
• Add remote files to subprojects
• Create, modify, and apply property groups
• Define property group overrides
• Assemble, link, compile, and debug COBOL source code
Learning objectives
Using this tutorial, you learn how to do the following tasks:
• Prepare the JCL for dynamic variable substitution
• Create a menu action with default override values for identified parameters
• Test the new action
Time required
This tutorial takes approximately 60 minutes to finish. If you explore other concepts that are related to
this tutorial, it can take longer to complete.
Prerequisites
Before you complete the lessons that are described in this tutorial, you must do the following steps:
//!USERID!C JOB ,
// MSGCLASS=H,TIME=(,4),REGION=28M,COND=(16,LT),NOTIFY=!USERID!
//*************************************************************
//* @START_RRS_COPYRIGHT@ *
//* LICENSED MATERIALS - PROPERTY OF IBM *
//* *
//* RESTRICTED MATERIALS OF IBM *
//* *
//* (C) COPYRIGHT IBM CORP. 2005, 2024 *
//* *
//* @END_RRS_COPYRIGHT@ *
//*************************************************************
//*************************************************************
//* *
//* RDO RESOURCE DEFINITIONS *
//* *
//*************************************************************
//* *
//* MODIFY THE FOLLOWING DD CARDS TO MATCH YOUR SITE *
//* INFORMATION. *
//* *
//* NAME PURPOSE *
//* --------- ------------------------------------- *
//* STEPLIB CICS SDFHLOAD AND SDFHAUTH DATASETS *
//* DFHCSD CSD DATASET *
//* *
//*************************************************************
//* *
//DEFINE EXEC PGM=DFHCSDUP,REGION=1024K,PARM='CSD(READWRITE)'
//STEPLIB DD DSN=CICSTS.V3R1M0.CICS.SDFHLOAD,DISP=SHR
// DD DSN=CICSTS.V3R1M0.CICS.SDFHAUTH,DISP=SHR
//DFHCSD DD DSN=CICSTS31.DFHCSD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE PROGRAM(!PROGRAM!) GROUP(!GROUP!)
DESCRIPTION(CICS RDO PROGRAM DEFINITION)
LANGUAGE(!LANGUAGE!) CEDF(YES) DATALOCATION(ANY) EXECKEY(USER)
STATUS(ENABLED)
/*
//
Create a menu action with default override values for identified parameters
Learn how to use Menu Manager to create a menu action for supplying values for the parameters that are
identified in the JCL.
You create actions and specify default override values for parameters by using Menu Manager.
To create an action and specify override parameter values:
1. In the Preferences window, navigate to Menu Manager > Actions and Menus.
2. To create an action file, click New.
The New File window opens.
Getting started 95
3. To indicate that the actions in the new file are run against files, click File.
The Project/Subproject option allows for the creation of actions that are run against projects and
subprojects.
4. Type a file path name for the action file, or to open the location to store the file, click Browse, and
type a file name for it.
Action files are stored in XML format, so specify a file name with the .xml extension, such as
c:\worklocation\myActions.xml. The directory path you specify must exist.
5. Click Next.
The "Create file content" page opens.
6. Click Create a new local/remote action, and then click Finish.
The Menu Manager New Action Wizard opens.
7. In the Name field, type Define Program to CICS and, in the Comment field, type a comment
that describes the new action.
The name that you specify is the name that is displayed in the menu when you select the program or
file and right-click to do the action.
8. From the Context list, select a context for the action.
The context defines the areas of the workbench in which the action is available.
Selecting All, for example, makes the action available in all contexts. Selecting MVS Files in Remote
Systems view makes the action available only when you select an MVS file in the Remote Systems
view of the workbench.
9. Click Next.
The File Associations page opens.
10. Select one or more file types to associate with this action and click Add.
The file types are added to the Chosen File Types list.
11. Click Next.
The Data Set Filters page opens.
12. Click Next.
The Run Options page opens.
13. Enter the command and parameters for the Submit action. Separate multiple entries with commas.
You must enter the command on one line. You can specify the following parameters with the Submit
command:
PROMPT | NOPROMPT
Use one of these parameters, depending on whether a window must prompt for overrides for the
default parameters. PROMPT opens a window that allows for the overriding of some of the values
before the JCL is submitted. If you specified all necessary values and do not need a prompt,
specify NOPROMPT. For repetitive tasks, where the values are either the same or supplied in
variables, NOPROMPT might be preferred. For other tasks where input is needed, PROMPT might be
preferred.
The following command prompts users to enter a value.
Submit,ELISEE.TEST.JCL(PROGRDO),NOPROMPT,2,
PROGRAM,$name,USERID,$userid,GROUP,MYGROUP,LANGUAGE,COBOL
SPECIFYCASE M | U
SPECIFYCASE is specified after the PROMPT | NOPROMPT keyword. For each variable value,
specify the M or U option to indicate whether the value can be mixed case or must be uppercase.
The following example defines three variables: websvdir, WSDLFILE, and CORRFILE. The websvdir
Submit,ELISEE.TEST.JCL(PROGRAM),PROMPT,SPECIFYCASE,2,Variable,Value,Submit,Define
program,websvdir,$input(Web Service directory,testdir),U,WSDLFILE,$input(WSDL filename,
wsdlfile),M,CORRFILE,$input(XML Correlator file name,Corrfile),M
MEMBER=!PROG!,PARM='1920'
If you do not specify an override value for the !PROG! entry, then that entry becomes:
MEMBER=,PARM='1920'
The following variable values are useful. To see all the available variable values, click Variables on the
Run Options page of the Menu Manager New Action wizard.
$name
Returns the name of the resource that is selected when the menu option is displayed. It returns the
name of the member.
$fullname
Returns the name of the resource that is selected when the menu option is displayed. It returns the
name of the data set and the member name in the format DATASET(MEMBER).
$datasetname
Returns the name of the data set that contains the member resource that is selected by right-clicking
on it.
Related information
“Preferences” on page 74
Use the Preferences window to set preferences both for the workbench and for specific components of
IBM Developer for z/OS.
Getting started 97
1. Right-click a CICS program that you want to submit for compiling and link-editing.
2. Click Define Program to CICS.
The Variable Substitution window opens, listing the override values that you specified for the
variables that require them. You can click Details to preview the JCL before you submit it.
Creating a project
Map sets can be created only in an existing project. To create a project:
1. From the main menu, select File > New > Project.
2. In the New Project wizard that opens, expand General > Project. Click Next.
3. Type Test project as the project name. Click Finish to close the wizard and create the project.
Test project is listed in the Project Explorer view. To open this view from the main menu, select
Window (on Windows) or IBM Developer for z/OS (on macOS) > Show View > Other and type Project
Explorer as the filter text.
2. Click Toggle Black and White Mode, , in the upper-right corner of the Design canvas to view the
selected map more easily.
Getting started 99
3. Right-click the highlighted map in the Design canvas and select Map Properties from the menu to
modify the settings.
To modify map properties under the Source tab, complete the following steps:
1. Click the Source tab below the Design canvas.
2. Locate the Map1 label.
3. Place the cursor in the source code and change the map size parameters to SIZE=(14,60). This
action changes the height of the map to 14 columns and the width to 60 columns. The change is
shown in the Properties view.
3. If the label field is not shown with the map in the Outline view, select Show Unnamed Fields, , to
show the label field.
4. Left-click the field in the Design canvas and type a new label value.
5. Double-click the field in the Design canvas.
6. Add a name for the label field, and click Apply. Click Show Unnamed Fields again; the field is now
shown with its name in the Outline view.
7. Right-click the field in the Outline view. Select Cut to remove the field from its current map.
8. Select a different map in the Outline view. Press Ctrl+V to place the field into that map.
To add and modify a password field:
1. Click the Password field button in the Variable Fields drawer.
2. Place the pointer in the Design canvas. A drop box is added to the pointer.
3. Click and hold the left mouse button at the location that you want.
4. Draw the field to a width of five characters and release the mouse button.
Note: The height in the pop-up box cannot be greater than two characters; the drawn box can be only
0 or 1 character high.
Align the fields by completing the following steps:
1. In the Outline view, select multiple fields by holding the Ctrl key and clicking the field icons.
2. Right-click one of the highlighted fields in the Design canvas, and select Align > Align to Parent > Top.
The fields are aligned to the top of the map.
Use the Shift key with the Select tool to grab and move multiple items in the Design canvas. View the
maps and fields with the other display options to see how they can assist you in modifying maps and
fields.
The example is constructed around a simple sales catalog and order processing application, in which the
end user can perform these functions:
• List the items in a catalog.
• Inquire on individual items in the catalog.(inquireSingle)
• Order items from the catalog.
The catalog is implemented as a VSAM file.
Installation of the base catalog manager application is covered in the CICS 5.3 Transaction Server
documentation. A Web client front end is provided with the catalog manager application. Configuration
of the Web client is also described in the CICS 5.3 Transaction Server documentation. The Web client
calls multiple Web Services that are provided by the base catalog example application after it has been
enabled for Web services.
This illustration shows the structure of the base application (for a detailed description of the application
see “Description of the catalog manager application” on page 124).
where
• hlq is a high level qualifier of your choice
• catname is a name of your choice. The name used in the example application as supplied is
EXMPCAT.
The following command defines the configuration file:
The Web client front end and one version of the Web service endpoint are supplied as enterprise archives
(EARs) that will run in the following environments:
• WebSphere Application Server Version 5 Release 1 or later
CONVERSION 037,1208;
CONVERSION 1208,037;
The shelf directory is used to store the Web service binding files that are associated with WEBSERVICE
resources. Each WEBSERVICE resource is, in turn, associated with a PIPELINE. The shelf directory is
managed by the PIPELINE resource and you should not modify its contents directly. Several PIPELINES
can use the same shelf directory, as CICS ensures a unique directory structure beneath the shelf directory
for each PIPELINE.
The pickup directory is the directory that contains the Web service binding files associated with a
PIPELINE. When a PIPELINE is installed, or in response to a PERFORM PIPELINE SCAN command,
information in the binding files is used to dynamically create the WEBSERVICE and URIMAP definitions
associated with the PIPELINE.
The example application uses /var/cicsts for the shelf directory.
A pipeline will read in an XML pipeline configuration file at install time. It is therefore also useful to define
a directory in which to store these.
STATUS(Enabled)
CONFIGFILE(/usr/lpp/cicsts
/samples/pipelines/basicsoap11provider.xml)
SHELF(var/cicsts)
WSDIR(/usr/lpp/cicsts/samples/webservices/wsbind/provider/)
Note: The HFS entries are case sensitive and assume a default CICS HFS install root of /usr/lpp/
cicsts.
2. Use the CEDA transaction to create a PIPELINE definition for the service requester.
a) Enter the following: CEDA DEF PIPE(EXPIPE02) G(EXAMPLE).
Alternatively, you can copy the PIPELINE definition from CICS supplied group DFH$EXWS.
b) Enter the following additional attributes:
STATUS(Enabled)
CONFIGFILE(/usr/lpp/cicsts
/samples/pipelines/basicsoap11requester.xml)
SHELF(var/cicsts)
WSDIR(/usr/lpp/cicsts/samples/webservices/wsbind/requester/)
Note: The HFS entries are case sensitive and assume a default CICS HFS install root of /usr/lpp/
cicsts.
Creating a TCPIPSERVICE
As the client connects to your Web services over an HTTP transport you must define a TCPIPSERVICE to
receive the inbound HTTP traffic.
Use the CEDA transaction to create a TCPIPSERVICE definition to handle inbound HTTP requests.
a) Enter the following: CEDA DEF TCPIPSERVICE(EXMPPPORT) G(EXAMPLE).
Alternatively, you can copy the TCPIPSERVICE definition from CICS supplied group DFH$EXWS.
b) Enter the following additional attributes:
URM(NONE)
PORTNUMBER(port) where port is an unused port number in your CICS system.
PROTOCOL(HTTP)
TRANSACTION(CWXN)
c) Use the default values for all other attributes.
I WEBS
STATUS: RESULTS - OVERTYPE TO MODIFY
Webs(dispatchOrder ) Pip(EXPIPE02)
Ins Dat(20041203)
Webs(dispatchOrderEndpoint ) Pip(EXPIPE01)
Ins Uri(£539140 ) Pro(DFH0XODE) Com Dat(20041203)
Webs(inquireCatalog ) Pip(EXPIPE01)
Ins Uri(£539141 ) Pro(DFH0XCMN) Com Dat(20041203)
Webs(inquireSingle ) Pip(EXPIPE01)
Ins Uri(£539142 ) Pro(DFH0XCMN) Com Dat(20041203)
Webs(placeOrder ) Pip(EXPIPE01)
Ins Uri(£539150 ) Pro(DFH0XCMN) Com Dat(20041203)
Important: If you use RDO to define the WEBSERVICE and URIMAP resources, you must ensure that their
Web service binding files are not in the PIPELINE's pickup directory.
PIPELINE(EXPIPE01)
WSBIND(/usr/lpp/cicsts/samples
/webservices/wsbind/inquireCatalog.wsbind)
2. Repeat the preceding step for each of the following functions of the example application.
WEBSERVICE PIPELINE
Function name attribute WSBIND attribute
Important: If you use RDO to define the WEBSERVICE and URIMAP resources, you must ensure that their
Web service binding files are not in the PIPELINE's pickup directory.
1. Use the CEDA transaction to create a URIMAP definition for the inquire catalog function of the example
application.
a) Enter the following: CEDA DEF URIMAP(INQCURI) G(EXAMPLE).
b) Enter the following additional attributes:
USAGE(PIPELINE)
HOST(*)
PATH(/exampleApp/inquireCatalog)
TCPIPSERVICE(SOAPPORT)
PIPELINE(EXPIPE01)
WEBSERVICE(EXINQCWS)
2. Repeat the preceding step for each of the remaining functions of the example application.
Use the following names for your URIMAPs:
The configuration transaction uses mixed case information. You must use a terminal that can handle
mixed case information correctly.
The transaction lets you specify a number of aspects of the example application. These include:
• The overall configuration of the application, such as the use of Web services
• The network addresses used by the Web services components of the application
• The names of resources, such as the file used for the data store
• The names of programs used for each component of the application
The configuration transaction lets you replace CICS-supplied components of the example application with
your own, without restarting the application.
1. Enter the transaction ECFG to start the configuration application.
CICS displays the following screen:
PF 3 END 12 CNCL
The example application displays the page shown in Figure 4 on page 110:
F3=EXIT F12=CANCEL
The options on the menu enable you to list the items in the catalog, order an item, or exit the
application.
2. Type 1 and press ENTER to select the LIST ITEMS option.
The application displays a list of items in the catalog.
Order Quantity: 5
User Name: CHRISB
Charge Dept: CICSDEV1
F3=EXIT F12=CANCEL
4. If there is sufficient stock to fulfil the order, enter the following information.
a) Complete the ORDER QUANTITY field.
Specify the number of items you want to order.
b) Complete the USERID field.
Enter a 1 to 8-character string. The base application does not check the value that is entered here.
c) Complete the CHARGE DEPT field.
Enter a 1 to 8-character string. The base application does not check the value that is entered here.
5. Press ENTER to submit the order and return to the main menu.
6. Select the EXIT option to end the application.
The example application displays the page shown in Figure 6 on page 114.
Figure 10. Order Confirmation Page for the CICS Example Application
Web services in CICS provides an interpretive engine that converts XML data to and from language
structures. The interpretive engine does not support all the data constructs and types in the COBOL
language, making it necessary for the CICS Web services developer to write additional code or a wrapper
program to process unsupported types. The behavior of the interpretive engine is not configurable,
whereas a user may have very specific needs in processing SOAP messages.
A standard interface between CICS combined with a user supplied program that provides XML conversion
to and from language structures is called the "vendor interface". The vendor interface allows users to have
pluggable XML conversion. XML converters generated by Enterprise Service Tools have broader support
for data constructs and types. We recommend using these XML converters with the vendor interface. For
improved debugging, CICS Transaction Server Version 3.1 treats the compiled converters as user code,
which allows debugging should a failure occur. The interpretive engine cannot be debugged or changed by
the user.
New in CICS Transaction Server Version 3.1, is a batch job called DFHLS2WS (Language Structure to
WSDL) which is equivalent to the bottom-up approach of Web services development . Enterprise Service
Tools, used in combination with the vendor interface as a replacement for DFHLS2WS, provides expanded
functionality to the end user. This combination helps a user to enable Web service interface with a COBOL
data type that is not supported by the CICS interpretive conversion engine, generally without requiring the
user to write any additional wrapper conversion program.
Related concepts
Related tasks
WSBind file
The WSBind file is a resource that describes to CICS the specifics of the Web service. For example, it
contains information about what the system should do to convert an input XML document to a COBOL
language structure and what to do to convert the output COBOL data to the output XML document.
Enterprise Service Tools can be used to generate both Vendor and Native WSBind files.
The WSBind file is an EBCDIC binary file, CICS expects the WSBind file to be encoded in the EBCDIC
variant used by the region. The extension of the generated WSBind file is always set to .wsbind.
The WSBind File Viewer can be used to display the contents of the WSBind file.
WSDL
The WSDL file describes the Web service to the Web service clients. The same wizard in the Enterprise
Service Tools that generates the WSBind file and the vendor conversion programs also generates the
WSDL file.
The WSDL file can also be used by the CICS system to validate messages received and sent by the Web
service. The validation can be turned on and off when the CICS Web service resource is installed or
configured. Validation is useful when you test or debug your Web service. Validation will slow down the
Web service performance and you may want to turn it off in the production version of the Web service.
Note: Make sure that you use the WSDL file, WSBind file, and XML conversion programs that are
generated from the same language source file (and the same wizard session). Do not mix artifacts from
other sources or tools. For example do not combine XML conversion programs generated by the wizard
from the Enterprise Service Tools with a WSDL file or a WSBind file generated by the DFHLS2WS batch job
(part of the CICS Web service assistant tool that is included in CICS Transaction Server version 3.1 and
later).
Related concepts
Related tasks
The Create New Service Interface (bottom-up) wizard generates the specified output.
If this completes successfully you should see a new WEBSERVICE resource created by doing a
The name of the WEBSERVICE is derived from the first 31 characters of the WSBind file name. If you do a
you will also see that a URIMAP resource is automatically created. The URIMAP resource maps a local
URI to WEBSERVICE resource. By default full WSDL validation is turned off (for performance reasons). To
turn it on you can do a
and change "novalidation" to "validation". Doing this causes CICS to use the provided WSDL to do full
validation of SOAP requests and responses related to this particular WEBSERVICE resource. The location
of the WSDL that CICS uses for validation is visible when viewing a WEBSERVICE resource. If the WSDL
specified in the WSBind file is not found at the expected location in the filesystem, the WSDL entry in the
WEBSERVICE resource will be empty or blank.
Related tasks
Enabling the catalog example for Web services using Developer for z/OS
You can use Enterprise Service Tools to generate XML conversion artifacts that utilize the CICS vendor
interface to provide conversion services of request and response SOAP messages for the catalog manager
COBOL application.
This section describes how to enable one of the functions of the base application as a Web service. This
Web service, named inquireSingle, provides a Web service client with the ability to query individual items
in the catalog.
You can run the Create New Service Interface (bottom-up) wizard against either of these copy books,
keeping in mind that if you choose to go with DFH0XCP1 you should make sure on the first page of
the wizard (entitled Language structures) to select the redefinition CA-INQUIRE-SINGLE REDEFINES
CA-REQUEST-SPECIFIC and all of its child elements.
Note: Filler items are not displayed.
One of the benefits of using Enterprise Service Tools is support for the REDEFINES modifier. You do not
have to factor out your interface definition into separate copy books for each redefinition.
The Create New Service Interface (bottom-up) wizard expects that all imported COBOL language
structures have a level 01 containing element declared. You must add the declaration 01 DFH0XCMN
to the top of whichever copy book you decide to use. The name of the level 01 is important in this case so
that the root element name used by the XML converters matches what is expected by the CICS Web client
for the catalog application.
See “Locating the CICS application source and copy books” on page 118 for how to access the copy books
mentioned in the workspace.
After the source for the copy books is in the workspace, see “Generating the Web services artifacts
conversion artifacts” on page 118 for details on how to generate the XML converters, driver, and WSBind
and WSDL files, using the following inputs to the Create New Service Interface (bottom-up) wizard.
Follow these steps to use the Create New Service Interface (bottom-up) wizard:
1. Verify that the Navigator view is open. If the Navigator view is not open, follow these steps to open the
Navigator view:
a. In the menu bar of the workbench, select Window > Show View > Other. The Show View wizard
opens.
b. In the Show View wizard, expand General, select Navigator, and click OK.
The Navigator view opens.
After generating the converters in “Generating Web services artifacts for the inquireSingle Web service”
on page 122, refer to following sections to deploy and install the inquireSingle Web service:
1. To build the converters and deploy the load module to the host system, see “Creating Web service
artifacts for CICS” on page 118.
2. To deploy the WSBind and WSDL files to the "EXPIPE01" PIPELINE WSDir (pickup directory), see
“Deploying the Web service artifacts to CICS” on page 120.
3. To install the new Web service and check if it is in service, see “Deploying the Web service artifacts to
CICS” on page 120.
You can now invoke the inquireSingle Web service from the web client.
>> 01 DFH0XCMN.
To ensure that the program logic is simple, the catalog manager performs only limited type checking and
error recovery.
The catalog manager supports a number of operations. Input and output parameters for each operation
are defined in a single data structure, which is passed to and from the program in a COMMAREA.
COMMAREA structures
This topic describes the COMMAREA structures.
Return codes
Each operation of the catalog manager can return a number of return codes.
Code Explanation
Type
General 00 Function completed without error
Catalog file 20 Item reference not found
21 Error opening, reading, or ending
browse of catalog file
22 Error updating file
Configuration file 50 Error opening configuration file
51 Data store type was neither STUB
nor VSAM
52 Outbound Web service switch
was neither Y nor N
Type
Remote Web service 30 The EXEC CICS INVOKE
WEBSERVICE command returned
an INVREQ condition
31 The EXEC CICS INVOKE
WEBSERVICE command returned
an NOTFND condition
32 The EXEC CICS INVOKE
WEBSERVICE command returned
a condition other than INVREQ or
NOTFND
Application 97 Insufficient stock to complete
order
98 Order quantity was not a positive
number
99 DFH0XCMN received a
COMMAREA in which the CA-
REQUEST-ID field was not set
to one of the following: 01INQC,
01INQS, or 01ORDR
Input parameters
CA-REQUEST-ID
A string that identifies the operation. For the INQUIRE CATALOG command, the string contains
"01INQC"
CA-LIST-START-REF
The reference number of the first item to be returned.
Output parameters
CA-RETURN-CODE
CA-RESPONSE-MESSAGE
A human readable string, containing "num ITEMS RETURNED" where num is the number of items
returned.
CA-LAST-ITEM-REF
The reference number of the last item returned.
CA-ITEM-COUNT
The number of items returned.
CA-CAT-ITEM
An array containing the list of catalog items returned. The array has 15 elements; if fewer than 15
items are returned, the remaining array elements contain blanks.
Input parameters
CA-REQUEST-ID
A string that identifies the operation. For the INQUIRE SINGLE ITEM command, the string contains
"01INQS"
CA-ITEM-REF-REQ
The reference number of the item to be returned.
Output parameters
CA-RETURN-CODE
CA-RESPONSE-MESSAGE
A human readable string, containing RETURNED ITEM: REF=item-reference' where item-
reference is the reference number of the returned item.
CA-SINGLE-ITEM
An array containing in its first element the returned catalog item.
Input parameters
CA-REQUEST-ID
A string that identifies the operation. For the PLACE ORDER operation, the string contains '01ORDR'
CA-USERID
An 8-character user ID which the application uses for dispatch and billing.
CA-CHARGE-DEPT
An 8-character department ID which the application uses for dispatch and billing.
CA-ITEM-REF-NUMBER
The reference number of the item to be ordered.
CA-QUANTITY-REQ
The number of items required.
Output parameters
CA-RETURN-CODE
CA-RESPONSE-MESSAGE
A human readable string, containing 'ORDER SUCCESSFULLY PLACED'.
Input parameters
CA-ORD-REQUEST-ID
A string that identifies the operation. For the DISPATCH ORDER operation, the string contains
'01DSPO'
Output parameters
CA-ORD-RETURN-CODE
Input parameters
CA-ORD-REQUEST-ID
A string that identifies the operation. For the NOTIFY STOCK MANAGER operation, the string contains
'01STKO'
CA-STK-ITEM-REF-NUMBER
The reference number of the item to be ordered.
CA-STK-QUANTITY-REQ
The number of items required.
Output parameters
CA-ORD-RETURN-CODE
Data handler
The data handler provides the interface between the catalog manager and the data store.
Dispatch manager
The dispatch manager is responsible for dispatching the order to the customer once the order has been
confirmed.
The example application provides two versions of the dispatch manager program:
• The first version is a dummy program that returns a correct response to the caller, but takes no other
action.
• The second version is a Web service requester program that makes a request to the endpoint address
defined in the configuration file.
In the example application, the order dispatcher is a dummy program that returns a correct response
to the caller, but takes no other action. It makes it possible for all configurations of the example Web
services to be operable.
Stock manager
The stock manager is responsible for managing the replenishment of the stock.
In the example program, the stock manager is a dummy program that returns a correct response to the
caller, but takes no other action.
Application configuration
The example application includes a program that lets you configure the base application.
Catalog file
The catalog file is a KSDS VSAM file which contains all information relating to the product inventory.
Configuration file
The configuration file is a KSDS VSAM file which contains information used to configure the example
application.
The configuration file is a KSDS VSAM file with 3 distinct records, General Information, Outbound URL,
and Catalog file information, as shown in the following tables:
filler PIC X
DO-OUTBOUND-WS PIC X A character that specifies
whether the dispatch manager is
make an outbound Web service
request. Values are:
'Y'
'N'
filler PIC X
CATMAN-PROG PIC X(8) The name of the catalog manager
program
filler PIC X
DSSTUB-PROG PIC X(8) The name of the dummy data
handler program
filler PIC X
DSVSAM-PROG PIC X(8) The name of the VSAM data
handler program
filler PIC X
ODSTUB-PROG PIC X(8) The name of the dummy order
dispatcher module
filler PIC X
ODWEBS-PROG PIC X(8) The name of the outbound Web
service order dispatcher program
filler PIC X
STKMAN-PROG PIC X(8) The name of the stock manager
program
filler PIC X(10)
Learning objectives
After completing the modules in this module, you will have an understanding of the following concepts:
• Creating an Developer for z/OS Eclipse plug-in project
• Using the plug-in Manifest Editor to add dependencies and extensions
• Use the plugin.xml file to modify extensions and their attributes
• Create packages, classes, and folders within an Eclipse plug-in project
• Create and modify Java classes to add enhanced functionality to the plug-ins
Time required
The time that is required to complete these modules vary. Each module contains an approximate time
required.
Prerequisites
To successfully complete the modules, you should have:
• Developer for z/OS installed on your local workspace
• Access to a z/OS host system and any required authentication
• Basic understanding of Java coding and debugging
Tip:
Eclipse plug-in development requires the Plug-in Development perspective. This perspective is not
enabled by default in Developer for z/OS. To enable it:
1. Open the Preferences window.
2. Navigate to General > Capabilities.
3. On the Capabilities page, expand Development and select Plug-in Development.
4. Click Apply and Close.
a) To debug, you would select the down button beside the Debug icon , select Debug
Configurations, and follow the rest of the steps.
3. From the left menu, double-click on the Eclipse Application option. A new run configuration opens,
this might take a little while to open.
4. Select the Configurations tab from the top tab menu.
5. Mark the checkbox, Clear the configuration area before launching. If this is not set, Developer for
z/OS does not know how to pick up the new plug-ins you developed.
6. Click Apply to save the changes.
7. You can select which plug-ins you have developed to run in the testing workbench. To do this, select
the Plug-ins tab from the top menu.
8. In the Launch With dropdown menu, select the option: plug-ins selected below only.
9. In the panel below the dropdown menu will be a list of the various plug-ins associated with Developer
for z/OS. Find the directory that is labeled Workspace. Check the plug-ins that you want included in
your build. Clear those you do not want to be included in the build.
10. Click Run. This launches a second instance of Developer for z/OS in a testing workspace.
Note: If you have already started Developer for z/OS in the testing workspace once before, be sure to
close it out before you start it again, else you get an error.
Learning objectives
After completing the lessons in this exercise, you will be able to:
• Create a Developer for z/OS plug-in Project
• Import graphics to the plug-in project
• Modify the Java Activator class, so the plug-in is able to find the necessary graphics
• Create a Java Decorator class and write code to display the appropriate graphic
• Modify the plugin.xml file to provide the org.eclipse.ui.decorators extension point
• Run and debug the sample plug-in
Time required
This module takes approximately 30 minutes to complete.
Prerequisites
To successfully complete the lessons in this module, you should have:
• Created an Eclipse plug-in project
• An accessible directory containing a graphic of a lock and a question mark, or other representative
graphics, with dimensions of approximately 11 x 13 pixels
This method provides a way for the Activator class to find the graphics you plan to use as
decorators.
3. Ensure that the following classes and packages are included in the import commands. An easy way of
doing this is by right-clicking within the editor, and selecting Source > Organize Imports and verifying
all the listed import statements were included. You can also manually enter the import commands at
the top of the class with any other import commands.
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
Tip: The file names you provide should correspond with the names of the icons you imported into the
icons folder.
2. Add the code to the body of the decorate() method that adds a locked suffix to the CARMA
members and containers when they are locked, or decorate them with question marks if the
MemberInfoMap has not been set. The following pseudocode demonstrates this:
import com.ibm.carma.plugin.decorators.Activator;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IDecoration;
import org.eclipse.jface.viewers.ILightweightLabelDecorator;
import org.eclipse.jface.viewers.LabelProvider;
import com.ibm.carma.model.CARMAMember;
import com.ibm.carma.model.CARMAContainer;
import com.ibm.carma.model.CARMAResource;
import com.ibm.carma.transport.NotSynchronizedException;
import org.eclipse.emf.common.util.EMap;
4. If the com.ibm.carma.model part of your import packages statement is still underlined in red, then
right-click on it and select the quick fix, "Add com.ibm.carma.model to list of imported packages."
5. Save the source and debug any errors.
<plugin>
<extension
point="org.eclipse.ui.decorators">
</extension>
</plugin>
Between the open and close extension tags, place the following code:
<description
adaptable="true"
class="decorator.Decorator"
id="com.ibm.carma.ui.ftt.sample"
label="Sample Decorator"
lightweight="true"
location="BOTTOM_RIGHT"
Note: The information that follows the class attribute tells the plug-in what class to use and where
it is located. This location should correspond with the pkg_you_created.class_name. If you
followed the names that are provided in this tutorial, then your package and class name should be
the same as those given.
7. Click save and resolve any errors.
Summary: Module1
This module has guided you through the steps to create an Eclipse plug-in project that adds decorators to
CARMA members and containers, which are locked or unsynchronized.
Results
You should run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Make sure that you are connected to your host system. Create a new connection if needed.
2. Open the CARMA Repositories view by selecting from the file menu, Window (on Windows) or IBM
Developer for z/OS (on macOS) > Show View > CARMA Repositories View.
3. Expand a RAM that supports the Lock option.
4. Right click a CARMA member within that RAM, and select Lock.
5. The CARMA member should lock, and your lock icon appear in the lower-right hand corner of the
CARMA member icon. For example:
Learning objectives
After completing the lessons in this module, you will be able to:
• Create an Eclipse plug-in project
• Add dependencies to a plug-in project
• Add and modify extensions that are associated with a plug-in project
• Run and debug a plug-in project
Time required
This module takes approximately 30 minutes to complete.
Prerequisites
To successfully complete the lessons in this module, you should have:
• Created an Eclipse plug-in project
Summary: Module 2
This module has guided you through the steps to create a plug-in project to disable the Delete and Open
With menu options on CARMA Members.
Results
You should run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Make sure that you are connected to your host system.
2. Open the CARMA Repositories view.
3. Expand the RAM that you developed your plug-in to modify down to an individual member within the
RAM and right-click it.
4. Right click any member within that RAM. The menu that appears should not allow you to select the
Delete or Open With options.
Learning objectives
After completing this module you should know how to:
• Create an Eclipse plug-in project
• Define the plug-in extensions and dependencies
• Modify the Activator class
• Run or Debug the Eclipse plug-in project
Time required
This module should take approximately 30 minutes to complete.
Prerequisites
To successfully complete the lessons in this module, you should have:
• Created an Eclipse plug-in project
Note: If you choose to use the ramId as the RAM identification, then change the fourth line of code to:
myRegistry.setRAMActionState("ramId",
"com.ibm.carma.action.openWith",
RAMActionState.DISABLED);
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
import com.ibm.carma.ui.view.*;
Summary: Module 3
This module has guided you through the steps to create a plug-in project and modify the actions available
in the menu when you right-click on CARMA members in the CARMA Repositories view.
Results:
You should run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Make sure that you are connected to your host system
2. Open the CARMA Repositories view
3. Expand the RAM that you developed your plug-in to modify down to the individual CARMA members.
4. Right click any member within that particular RAM.
5. Attempt to select the Delete option. You should be unable to select this option.
Learning objectives
After completing this module, you should be able to:
• Create an Eclipse plug-in project
• Create Java classes to add items to the menu
• Add the action to an extension point
• Run and debug the plug-in project
Time required
This module should take approximately 45 minutes to complete.
Prerequisites
To successfully complete this module, you should have:
• Created an Eclipse plug-in project
while (i.hasNext()) {
Object next = i.next();
if (next instanceof CARMAMember) { // the element is a member
//remember the item selected so if the action is run it knows
//which item to run the action against
this.itemSelected = (CARMAMember) next;
} else {
this.itemSelected = null;
return;
}
}
//Make sure the temporary space is of the right type and exists
if (myResource instanceof IContainer && myResource.exists()) {
IContainer myContainer = (IContainer) myResource;
//Create the job that will get the contents of the file
GetContentsJob myJob = new GetContentsJob("CRAJOB1", itemSelected);
try{
InputStream myStream = null;
while( (myStream = myJob.getStream()) == null){
}
try {
ResourceAttributes myAttributes = myFile.getResourceAttributes();
if(myAttributes == null){
myAttributes = new ResourceAttributes();
}
//setting the attributes to readonly
myAttributes.setReadOnly(true);
try{
myFile.setResourceAttributes(myAttributes);
} catch(Exception e){
e.printStackTrace();
}
//opening the file in browse mode
IDE.openEditor(page, myFile, true);
} catch (PartInitException e) {
//TODO handle exception
System.out.println(e);
}
}
});
}
}
}
4. Verify that all the packages the class needs are imported. Add any that are listed below but are not
already included in the import statements:
import java.io.InputStream;
import java.util.Iterator;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourceAttributes;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IViewActionDelegate;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.ide.IDE;
<plugin>
<extension
id="carma.bootcamp.ui.actions"
point="org.eclipse.ui.popupMenus">
<objectContribution
id="CARMA.Bootcamp.browse"
objectClass="com.ibm.carma.model.CARMAMember">
<action
class="browse.BrowseMemberAction"
id="BootCamp.browse"
label="Browse Member"
menubarPath="open">
</action>
</objectContribution>
</extension>
</plugin>
Summary: Module 4
In this module, you have created a plug-in that would allow you to open a particular CARMAMember in a
read-only environment.
Results
You should run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Make sure that you are connected to your host system.
2. Open the CARMA Repositories view.
3. Expand a RAM on your host system down until you see the individual members.
Module 5: Creating a new CARMA view using the existing CARMA context
provider
This module will take you through the steps of creating a new CARMA view using the default CARMA
context provider.
Learning objectives
After completing this module, you should be able to:
• Create an Eclipse plug-in project
• Import images into the plug-in project
Time required
This module should take approximately 30 minutes to complete.
Prerequisites
To successfully complete the lessons in this module, you should have:
• Created an Eclipse plug-in project
• A image with dimensions of 16 x 16 pixels to use as the icon for your view
Lesson 1: Set up dependencies, import images, and create the Java class
This lesson shows you how to add the dependencies, import images, and to create a Java class to handle
the view.
Note: Before you complete this lesson, you should create an Eclipse plug-in project with the following
attributes:
• Project Name: com.ibm.carma.plugin.view
• Plug-in ID: com.ibm.carma.plugin.view
• Plug-in Name: New View
To perform the setup for this plug-in:
1. In the Plug-in Development perspective, right-click on the com.ibm.carma.plugin.view plug-in
project and select, PDE Tools > Open Manifest. Find the Dependencies tab at the bottom of the
Plug-in Editor.
2. Select the Dependencies tab, and click the Add button. In the dialog box that opens, filter for each of
the following if they are not already listed:
• org.eclipse.ui.ide
• com.ibm.carma.ui
For each dependency, as it appears in the list, highlight it, and click OK.
3. Next, you want to import your files from the local source to the project. In the Package Explorer
view, right click com.ibm.carma.plugin.view, and select New > Folder. In the New Folder dialog
box that appears, select CARMA Developer View as the parent folder, and enter icons as the
name. Click Finish.
You should see the icons directory appear under the com.ibm.carma.plugin.view plug-in
project.
4. To import the icons, right-click on the icons directory and select Import. In the Import dialog box
that opens, select General > File System. Click Next.
5. Browse for the particular directory where your images are stored. Once you have selected the
directory, the directory structure is shown in the left panel below, and the individual files are shown
in the right. Mark the files or directories you want to import with a check mark, and click Finish to
import the files.
Back in the Package Explorer view, if you expand the icons directory, you should see your selected
files now within the directory.
6. Finally, you want to set up the Java class that handles the view. Start by creating a package to contain
the file; right-click on com.ibm.carma.plugin.view, and select New > Package.
7. In the New Java Package dialog box that opens, enter view as the package name.
You should see the package appear under the src directory of the plug-in project.
8. To add the Java class, right-click on the view package you just created, and select New > Class.
The New Java Class dialog box opens.
/* This is a TreeViewer.
* Create the frame list.
*/
FrameList frameList = new FrameList(source);
source.connectTo(frameList);
return frameList;
}
3. Next, you want to overwrite the createViewer so that it creates the CARMATreeViewer with the
default CARMAContentProvider. Use the following sample code to implement this functionality:
4. Ensure that all classes and packages that are mentioned in the source are included in the import
commands at the beginning of the class. The easiest way to do this is to right click in the editor and
select Source > Organize Imports.
Be sure to verify that the following classes were all imported:
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.framelist.FrameList;
import org.eclipse.ui.views.framelist.TreeViewerFrameSource;
<plugin>
<extension
point="org.eclipse.ui.views">
<category
name="BootCamp"
id="carma.bootcamp.ui">
</category>
<view
name="CARMA Developer View"
icon="icons/sample.gif"
category="carma.bootcamp.ui"
class="view.CARMADeveloperView"
id="view.CARMADeveloperView">
</view>
</extension>
</plugin>
Note: The attributes that are used in the plugin.xml file are described in more detail below:
• Category: the attributes that are used with this markup correspond to the labeling and view of the
Show View dialog box
– Name: the name that appears as the enclosing category in the Show View dialog box
– Id: the id of the category that the view should display under when searching for it in the Show
View dialog box
• View: the attributes that are used with this markup correspond to the labeling, appearance, and
location of the source for the actual view you created
– Name: the label that is given to the view, this name appears in the tab that is associated with the
view, and also in the Show View dialog box
– Icon: the image to associate with the view, this is shown in the tab associated with the view, and
also next to its label in the Show View dialog box
– Category: the id of the category that the view should display under when searching for it in the
Show View dialog box
– Class: the Java class you wrote that controls the view, you should provide the enclosing package
as well
– Id: the unique identifier for the view
Summary: Module 5
This module has guided you through the steps to create a plug-in project that creates the CARMA
Developer View.
Results
You should run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Open the CARMA Developer View by selecting from the main file menu, Window (on Windows) or
IBM Developer for z/OS (on macOS) > Show View > Other.
2. In the Show View dialog box that opens, enter the filter text: CARMA Developer View. You should
see this view appear.
3. Select it, and click OK.
Learning objectives
After completing the lessons in this module you should be able to:
• Build extra functionality on top of an existing Eclipse plug-in project
• Develop Java code to control the labels in the CARMA Developer View
• Run or debug the modified plug-in project
Time required
This module should take approximately 45 minutes to complete.
Prerequisites
To successfully complete the lessons in this module, you should have:
• Completed Exercise 5: Creating a new CARMA view using the existing CARMA context provider
• An image to use as an icon for COBOL members
This static method allows the image descriptor or decorator to be retrieved from the appropriate
location in the plug-in project.
3. Add the following import at the top of the Activator class: import
org.eclipse.jface.resource.ImageDescriptor;. Save and debug any errors in the source.
4. Next, you want to create the CustomLabelProvider class. In the Package Explorer view, expand
the com.ibm.carma.plugin.view plug-in project. Right click the view package you created in
Exercise 5, and select New > Class. The New Java Class dialog box opens.
5. In the Name text field, enter CustomLabelProvider.
6. Select the Browse button to the right of the Superclass text field. In the Superclass Selection
dialog box that opens, type CARMALabelProvider as the filter text, select the class from the list of
matching items, and click OK.
7. Mark the Constructors from superclass and Inherited abstract methods checkboxes. Click Finish to
close the New Java Class dialog box and create the Java class.
return textLabel;
}
3. The next method that you will want to override is the getImage() method. This method should
change the icon display for COBOL members.
Note: The path name passed as a parameter to the getImageDescriptor method should match
your directory and image name.
4. Finally, make sure that you have the following packages that are listed in your import statements at the
top of your Java class. Add any that are missing:
import com.ibm.carma.plugin.view.Activator;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
import com.ibm.carma.model.*;
import com.ibm.carma.ui.view.*;
Results
You can run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Open the z/OS Projects perspective.
2. Open the CARMA Developer view by selecting from the main file menu, Window (on Windows) or IBM
Developer for z/OS (on macOS) > Show View > CARMA Developer. The view should open.
3. Expand the host system. You should see each of the RAMs on the host system marked with a label " -
(Disconnected)."
4. Right click one of the RAMs containing .cbl files and select Connect. When CARMA has connected to
the RAM, you should see the label change to " - (Connected)."
5. Lastly, expand the RAM until you see the individual COBOL members within the RAM. The icon for
these members should be the particular image that you specified.
Learning objectives
After completing the lessons that make up this module, you should be able to:
• Modify an existing Eclipse plug-in project
• Create and modify a Java class to perform the enhancements that are offered by the plug-in
• Run or debug the plug-in project
Time required
This module should take approximately 30 minutes to complete.
Prerequisites
To successfully complete the lessons in this module, you should have:
• Successfully completed Exercise 5 and Exercise 6
import java.util.Vector;
import com.ibm.carma.model.RepositoryInstance;
import com.ibm.carma.ui.view.CarmaTreeContentProvider;
7. You want to modify the getChildren method to change the content that is provided to the viewer.
This method is where the provider can control which items are sent to the viewer when expanding the
RAM. For this tutorial, you implement the getChildren method to return only repository instances
that have a CARMA token in the name and are not a listing, object, or load repository instance.
The following pseudocode demonstrates what the getChildren method should do:
Summary: Module 7
In this module, you have modified the Eclipse plug-in project from Modules 5 and 6 to only show those
PDS that are not object, listing, or load repository instances, and those that have to do with CARMA.
Results
You should run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Open the z/OS Projects perspective
2. Open the CARMA Developer view by selecting from the main file menu, (on Windows) or IBM
Developer for z/OS (on macOS) > Show View > CARMA Developer. The view should open.
3. In the CARMA Developer view, expand the host system. You should see each of the RAMs on the host
system marked with a label.
4. Right click a particular RAM, select Connect, and expand the RAM once it is connected.
5. When you expand the RAM, you should only see PDS that contain CARMA in their name.
Learning objectives
After completing the lessons in this module, you should be able to:
• Modify an existing Eclipse plug-in project
• Create and modify Java classes that handle the plug-in enhancement
• Run or debug the plug-in project
Time required
This module should take approximately 30 minutes to complete.
Prerequisites
To successfully complete the lessons in this Module, you should have:
• Successfully completed Exercise 5, Exercise 6, and Exercise 7
8. Automatically import any needed packages and classes. Ensure that all of the following are imported:
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IMenuManager;
import com.ibm.carma.ui.action.OpenAction;
import com.ibm.carma.ui.view.OpenActionGroup;
Tip: These variables should be declared at the top of the class before any method declarations.
6. Now you want to override the makeActions method to instantiate the groups and actions
that are needed to fill the menu. With the OpenActionGroup, be sure to instantiate your
CustomOpenActionGroup class instead of the default. Use the following source code:
7. Override the fillContextMenu() method with the updated list of groups, actions, and separators.
To make it look like a pop-up menu, use the same order for adding items to the menu using the
following example code:
_newMenuActionGroup.setContext(myContext);
_newMenuActionGroup.fillContextMenu(menu);
_navigationActionMenu.setContext(myContext);
_navigationActionMenu.fillContextMenu(menu);
menu.add(new Separator("open"));
_openActionGroup.setContext(myContext);
_openActionGroup.fillContextMenu(menu);
menu.add(new Separator("refractor"));
menu.add(new Separator("connect"));
_connectionActionGroup.setContext(myContext);
menu.add(new Separator("display"));
_displayActionGroup.setContext(myContext);
_displayActionGroup.fillContextMenu(menu);
menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
menu.add(new Separator("project"));
menu.add(new Separator("properties"));
menu.add(_propertyAction);
}
8. Import all needed classes and packages. Ensure that all of the following are included in the import
statements:
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.actions.ActionContext;
import org.eclipse.ui.dialogs.PropertyDialogAction;
import com.ibm.carma.ui.view.BaseCarmaBrowser;
import com.ibm.carma.ui.view.CarmaBrowserActionGroup;
import com.ibm.carma.ui.view.ConnectionActionGroup;
import com.ibm.carma.ui.view.DisplayActionGroup;
import com.ibm.carma.ui.view.NavigationActionGroup;
import com.ibm.carma.ui.view.NewMenuActionGroup;
import com.ibm.carma.ui.view.OpenActionGroup;
This code sets the default action group to the CustomMainActionGroup you created.
3. Add import menu.CustomMainActionGroup; to your list of import statements at the top of the
CARMADeveloperView class.
4. Save the source and debug any errors.
Summary: Module 8
You have modified the Eclipse plug-in project from Module 5-7 to add a custom menu.
Results
You should run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Open the CARMA Developer and CARMA Repositories view
2. In one of the views, connect to a particular RAM.
3. Expand the RAM until you can see each of the particular members.
4. Right click any CARMA member in the CARMA Repositories view and in the menu that appears there
should be options to both Open and Delete.
Learning objectives
After completing the lessons in this module you should be able to:
• Create an Eclipse plug-in project
• Create and define actionValidators, parameterValidators, and customParameterControl
extension points
• Create and develop the necessary classes to add the enhanced functionality to the custom actions
• Run and debug the plug-in project
• Understand the end-result in the plug-in project of using each of the extension points
Time required
This module should take approximately 60 minutes to complete.
Prerequisites
To successfully complete the lessons in this module, you should have:
• Access to modify the Sample PDS RAM on your host system or a systems administrator who can do this
for you
• Basic understanding of RAM Development, found in the CARMA Developer's Guide
• Basic understanding of C coding and debugging is recommended
• Experience submitting JCL jobs to REPRO files
Learning objectives
Though this is not a focal point of the exercise, you should be able to configure a RAM to add custom
actions and parameters.
Time required
This portion of lessons should take approximately 30 minutes to complete.
Prerequisites
A basic understanding of the content in the CARMA Developers Guide is recommended.
Note: For both actions and parameters, the first 8 bytes of the record is called the record key.
4. Make sure that there are no active connections between the Sample PDS RAM, CARMA, and the host
system before continuing.
5. You should add this information to FEL.SFELVSM2(CRA0DEF) and ensure that all record keys are
in alphanumeric order. Use the JCL script that is located at FEL.#CUST.JCL(CRA$VDEF) to REPRO
FEL.SFELVSM2(CRA0DEF).
6. Next, for each action and parameter you define in the CRA0VDEF file you must define a corresponding
definition in the CRA0VSTR file containing any language-dependent information about the action or
parameter.
For this sample, the custom action would be defined in the CRA0VSTR like the following:
EN_US 00037A00100 HowTo For demonstration. Does nothing.
Note: For both actions and parameters, the first twenty-one bytes of the record is called the record
key.
7. You should add this information to the FEL.SFELVSM2(CRA0VSTR) file and ensure that all records
are in alphanumeric order. Use the JCL script that is located at FEL.#CUST.JCL(CRA$VSTR) to
REPRO FEL.SFELVSM2(CRA0VSTR).
if(actionID == 100)
{
return 0;
}
If the HowTo custom action calls the performAction function it will now return successful without
performing any action on the host. Skip steps 3 and 4.
Note: If you have already implemented the performAction function, you should check and make
sure that the actionId 100 has not already been set to another custom action.
3. If you have not implemented any custom actions for the Sample PDS RAM, you will want to implement
the performAction function and have it do the same thing as the snippet of code above does.
Start by adding the following export statement to the preprocessor directives at the top of the C
source: #pragma export(performAction).
4. Next, add the following method to the PDS RAM:
Note: If you add more custom actions to the PDS RAM later, you will want to specify for each custom
action id what action should be performed, similar to the snippet of code in step 2.
5. Save the source and debug any errors.
Lesson 1.3: Recompile the PDS RAM and verify the HowTo custom action
This lesson guides you through the final steps in adding the custom action and parameters to the Sample
PDS RAM.
1. Be sure that there are no active connections between the Sample PDS RAM, CARMA, and the host
system. Any active connections could cause CARMA or the RAM to act abnormally.
2. Recompile the FEL.SFELSAMP(CRASPDS) member.
3. Restart the server.
4. In the client, reconnect to CARMA and to the Sample PDS RAM.
5. Now, expand the Sample PDS RAM down to a particular CARMA member.
6. When you right-click on the CARMA member, you should be able to select Custom > HowTo.
7. The HowTo action dialog box opens and should have empty text fields and prompts for the four
parameters you defined on the Sample PDS.
Use the following example sample code to implement the verifyInput method:
3. Next, you will override the validateParameter method to display the appropriate methods
depending on the values entered, as described above.
The following pseudo code demonstrates this:
if input = 0
return an informational message
else if input = 1
return a warning message
else
return an error message
return result;
}
return false;
}
3. Next, you override the validateAction method to allow only one value in the input strings
parameter, but not both. The following pseudocode demonstrates this:
//Retrieve the parameter value for string1, and determine if there was input
String string1Val = (String) event.parameterValueMap.get(string1Param);
boolean string1IsThere = !(string1Val == null || string1Val.length() == 0);
//Retrieve the parameter value for string2, and determine if there was input
String string2Val = (String) event.parameterValueMap.get(string2Param);
boolean string2IsThere = !(string2Val == null || string2Val.length() == 0);
return result;
}
4. Now, you override the getValue method. This method returns the value of the parameters. Since
you are using a checkbox instead of a text field, the code you write will have to translate the check
or unchecked status of the checkbox into the expected string format. The following pseudocode
demonstrates this:
5. The last method that you need to override is the isUsingDefaultLabel method. If set to false, this
method will not display the default label that you provided when you added the parameter to the RAM.
If set to true, then the label is displayed like normal. For this sample, the code will use the default
label.
Use the following sample code to override the method:
6. Finally, you need to ensure that all required imports are listed. Add any of the following import
statements that are not listed in your class:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import com.ibm.carma.ui.action.custom.AbstractCustomParameterControl;
package com.ibm.carma.plugin.howto.action;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import com.ibm.carma.model.*;
import com.ibm.carma.ui.action.custom.AbstractCustomParameterControl;
@Override
public Object getValue() {
if(theButton.getSelection())
return "Y";
else
return "N";
}
@Override
public boolean isUsingDefaultLabel() {
return true;
}
}
Summary: Module 9
In this module, you have created a plug-in project that demonstrates the use of the actionValidators,
parameterValidators, and customParameterControl extension points.
Results
You should run or debug your plug-in project now. Do the following while still in the testing workspace to
verify the functionality of your plug-in:
1. Be sure that you are in the zOS Projects perspective and are connected to your host system. Use the
port numbers that are associated with the updates you did on the PDS RAM in Lesson 1.
2. Open the CARMA Repositories view and connect to the PDS RAM you modified in Lesson 1.
3. Expand the RAM down to an individual CARMA Member. Right click this member, and select Custom >
HowTo. The HowTo dialog box opens.
Tip: If you have trouble getting this dialog box to open or for the custom option to be available, check
back through the steps you followed in Lesson 1 or consult the CARMA Developer's Guide.
4. The first thing that you will check for is that the parameterValidator extension is working correctly.
a. In the first text field, enter 0. An informational message should appear in the header of the dialog
box.
b. Now enter 1 in the text field. The message should change to a warning message.
Samples
Review samples that provide usable data from the product.
Note: The data sets marked with an asterisk (*) are required by the COBOL step of the ELAXFCOC
procedure described in a later step. The data set names must match the data set names referred to in the
COBOL step options.
1. Complete the following steps for each of the data sets listed in Table 18 on page 172 to allocate the
partition data sets.
The <HLQ> variable represents the user ID that you used to log on to the host system. You do not need
to change this variable when allocating the partition data set.
a) In the Remote System view, right-mouse click MVS Files and click New > Allocate Partitioned
Data Set.
b) On the Allocate Partitioned Data Set page, complete the Data Set Name field.
There are two parts to the data set name.
• The first part is the high-level qualifier. Use the drop-down menu to select a predefined name or
type in a name. The predefined name is the user ID used to log on to the host system.
• The second part is the data set name. Use the names defined in the table.
For example, for the first data set in the table, the value for the Data Set Name could look like
MYFILES.REMOTE.COBOL where MYFILES is the high-level qualifier.
c) Click Next.
d) On the Data Set Allocation page, select Specify characteristics by usage type and then select the
corresponding value for each field as shown in the table.
e) Click Finish.
After you create all the partition data sets, you should see them listed under MVS files in the Remote
System view.
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
Ben
Q
/*
//
f) Click the JCL tab in the property group editor. Verify that the default JOB card includes a PROCS
statement and that the PROCS statement points to the procedure library on the remote system.
If you do not know the location of the procedure library, ask your system administrator.
g) Close and save the new property group.
6. Add the <HLQ>.REMOTE.COBOL partitioned data set to the RemoteCOBOLSample subproject:
a) Select the data set in the Remote Systems view.
b) Right-click and select Add to Subproject.
c) Type or select the subproject name and click Finish.
You can now build and run the application on the remote system.
7. In the RemoteCOBOLSample subproject, right-mouse click STARTAPP.cbl and click Nominate as
Entry Point.
8. Right-mouse click RemoteCOBOLSample and then click Rebuild Subproject.
9. Select the generated load module, and click Run > Run to run the application.
This information was developed for products and services offered in the US. This material might be
available from IBM in other languages. However, you may be required to own a copy of the product or
product version in that language in order to access it.
IBM may not offer the products, services, or features discussed in this document in other countries.
Consult your local IBM representative for information on the products and services currently available in
your area. Any reference to an IBM product, program, or service is not intended to state or imply that
only that IBM product, program, or service may be used. Any functionally equivalent product, program, or
service that does not infringe any IBM intellectual property right may be used instead. However, it is the
user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this
document. The furnishing of this document does not grant you any license to these patents. You can
send license inquiries, in writing, to [email protected].
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimer of express or implied warranties in
certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication.
IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM websites are provided for convenience only and do not in
any manner serve as an endorsement of those websites. The materials at those websites are not part of
the materials for this IBM product and use of those websites is at your own risk.
IBM may use or distribute any of the information you provide in any way it believes appropriate without
incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling: (i)
the exchange of information between independently created programs and other programs (including
this one) and (ii) the mutual use of the information which has been exchanged, should contact
[email protected].
Such information may be available, subject to appropriate terms and conditions, including in some cases,
payment of a fee.
The licensed program described in this document and all licensed material available for it are provided by
IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any
equivalent agreement between us.
Any performance data and client examples cited are presented for illustrative purposes only. Actual
performance results may vary depending on specific configurations and operating conditions.
Information concerning non-IBM products was obtained from the suppliers of those products, their
published announcements or other publicly available sources. IBM has not tested those products and
cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of
those products.
Statements regarding IBM's future direction or intent are subject to change or withdrawal without notice,
and represent goals and objectives only. Such statements should not be relied upon when making
purchasing decisions.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corporation, registered in many jurisdictions worldwide. Other product and service names
might be trademarks of IBM or other companies. A current list of IBM trademarks is available at
"Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.
Applicability
These terms and conditions are in addition to any terms of use for the IBM website.
Personal use
You may reproduce these publications for your personal, noncommercial use provided that all proprietary
notices are preserved. You may not distribute, display or make derivative work of these publications, or
any portion thereof, without the express consent of IBM.
Commercial use
You may reproduce, distribute and display these publications solely within your enterprise provided
that all proprietary notices are preserved. You may not make derivative works of these publications, or
reproduce, distribute or display these publications or any portion thereof outside your enterprise, without
the express consent of IBM.
Rights
Except as expressly granted in this permission, no other permissions, licenses or rights are granted, either
express or implied, to the publications or any information, data, software or other intellectual property
contained therein.
Multi-Factor Authentication
Developer for z/OS relies on IBM Explorer for z/OS for multi-factor authentication (MFA) support. For
information about configuring MFA in IBM Explorer for z/OS, see Using Multi-Factor Authentication.