Professional Documents
Culture Documents
SHARE 112
Session 2627
Sessions 2600 2602 2603 2614 2627 2628 2632 2633 Room 16A
SHARE 112 Sessions 2625 2626 Room 17A
Austin, Texas Sessions 2605 2606 8301 8302 8303 Room 18C
Session Timetable Sessions 2612 2613 Room 19A
Monday 2600
11tth August ISPF Project Opening and
Keynote Topic
Friday
2614
15th August
ISPF Editor –Beyond the
Basics
Agenda
Introduction to DTL
Basic Syntax
Some Examples
Basic Text
Data Fields
Selection Fields
Data columns
Help
Entities
Regions
ISPDTLC - Conversion Utility
References
This presentation provides a a broad overview of the Dialog Tag Language (DTL)
by covering the following topics:
•An introduction to DTL
•The basic syntax, and...
•Describe a couple of examples - a help panel, and an application panel
•How to define basic text on panels
•How to create data fields so users can interact with a panel
•How to define selection fields for single choice, multiple choice and menu
selections
•How to create data columns, including list fields used for Table displays
•A brief look at Help panels
•Defining and using ENTITIES
•How to divide a panel into Regions for easier coding
•The DTL Conversion Utility that is shipped with ISPF
•References and samples
Interactive Program Development Facility (ISPF)
What is DTL?
Flexible to use
Revisions are fast and easy
Provides consistency
•DTL allows for simple creation of CUA (Common User Access) compliant dialogs
•CUA guidelines define a user interface in terms of common elements, such
as the way information appears on a screen, and interaction techniques, such
as the way users respond to what appears on a screen
•DTL enforces some formatting rules defined by the CUA so you do not
have to be familiar with all of the CUA formatting rules.
•DTL lends flexibility to application development. Revisions are fast and easy
because there is no need to tediously line up text and fields. This gives you greater
control over application development and updates.
•DTL provides consistency when many programmers are working on the same
application, or when programmers who are new to your company must update
existing applications. Since each programmer is using the same tags, only minor
adjustments may be needed to achieve complete uniformity. DTL provides tags
which assign standard attribute definitions for items such as the panel title and
command line.
•DTL supports the use of common imbed files which are included in the panel
definition at conversion time. An imbed file can contain definitions and code that is
common across multiple panels, such as:
•action bars
•common panel logic
•variable definitions
•and, once you get familiar with DTL, it IS easy to use (although it’s a good idea to
keep the DTL reference guide handy)
Interactive Program Development Facility (ISPF)
DTL is merely an alternate way of defining panels, messages, and command tables
It is the best and most foolproof way to define keylists for an application
and an "end-tag“
</panel>
•DTL is NOT a WYSIWYG (What You See Is What You Get) Language.
•DTL is a free form language using tags and ...
•most tags are not dependant on spacing
•DTL is not Case SeNsItIvE
•As usual there has to be an exception. Entity names specified with the
<!ENTITY> declaration are case sensitive.
•A TAG consists of the tag name inside the delimiters Less Than (<) and Greater
Than (>) characters.
•Many tag definitions are have a start tag and end tag.
•ALL end tags have the (forward slash (/) character before the tag name
Interactive Program Development Facility (ISPF)
•Text after the closing delimiter > character defines the text to display. This
includes items such as field prompts, titles, and descriptions.
•In most cases, DTL automatically word-wraps text. Some exceptions are:
•Panel titles are truncated if larger than the panel width
•Action bar and pull-down descriptions are truncated at 64 bytes
•Long Messages are truncated if greater than 512 bytes, and ...
•Short message are truncated if greater than 24 bytes
•Text for tags such as LINES, XMP and FIG will not wrap
Interactive Program Development Facility (ISPF)
<!-- This is a DTL comment only, nothing is written to the panel -->
<info>
<p>This is a simple help panel. It should show how to use:
</p>
<ul>
<li>Help tag
<li>Information area tag
<ol compact>
<li>Paragraph tag
<li>Unordered list tag
<li>Ordered list tag
<li>List item tag
</ol>
</ul>
</info>
</help>
•Shown here is a display of the panel HELP1 generated from the DTL on the
previous slide.
•The DTL conversion utility has:
•Formatted and wrapped the paragraph text
•Formatted the unordered list double-spaced (a blank line between each list
item)
•Formatted the ordered list single-spaced (no lines between each list item)
Interactive Program Development Facility (ISPF)
Revisiting some of the elements we have seen with our simple Help panel
•The <!doctype> tag is a required tag, that defines the document type to SGML
processor.
•All list types are coded in the same manner (which makes it easy to change from/to
another)
•Ordered list display with numbers for each list item
•Unordered list display with bullets for each list item, and ...
•Simple lists display without bullets or numbers for the list items
•Lists can be nested, with DTL handling the indentation of the nested lists
•A command line could be added to the help panel by specifying a <cmdarea> tag
before the </help> tag and converting the panel again using ISPDTLC. We will see
an example of this shortly.
Interactive Program Development Facility (ISPF)
•Now we will look at coding an application panel using DTL. This is a relatively
simple example but it will demonstrate many of the basic DTL tags.
•The panel will require the following elements:
•an Action Bar with 2 choices - FILE and HELP
•Panel Title
•Use an ISPF supplied keylist
•Instructions for the user at the top of the panel
•A single choice selection field which will display as a radio button group in
GUI mode, and ...
•A multi-choice selection field which will display as check boxes in GUI
mode
•AND a command line
Interactive Program Development Facility (ISPF)
This slide shows the display required from the panel generated from our DTL code.
The display includes:
•an Action Bar with 2 choices - FILE and HELP
•panel title
•instructions for the user at the top of the panel
•a single choice selection field
•a multi-choice selection field, and ...
•a command line
Interactive Program Development Facility (ISPF)
<!-- For the action bar, each choice uses an <ABC> tag -->
<!-- Choices within an action bar pulldown use a <PDC> tag -->
<!-- The command on run= attribute must be in the command table or -->
<!-- handled in the application logic -->
<!-- You can also use the ISPF command table entry ISRROUTE to invoke a -->
<!-- panel, command, or program using the SELECT service -->
<!-- start the action bar with the <AB> tag -->
<ab>
<abc>File
The following slides show the DTL source code used to generate the panel
displayed on the previous slides.
•The required <!doctype> tag is first tag specified
•The <panel> tag defines the panel name, the keylist, applid, depth, and the panel
title
•The name attribute on the <panel> tag is used to give the panel the name
"panel1"
•The keylist attribute spcifies ISPF supplied keylist ISRNSAB will be used
for this panel (NSAB is an acronym for “No scrollable area with Action
Bar”)
•ISPF ships a number of keylists; e.g. -
•ISRNAB - No scrollable area with No Action Bar
•ISRSAB - Scrollable area with Action Bar
•The <ab> tag start the definition of the action bar
•The <abc> tag shown defines the File action bar choice
Interactive Program Development Facility (ISPF)
<pdc>Add Entry
<action run=add>
</pdc>
<pdc>Delete Entry
<action run=delete>
</pdc>
<pdc>Update Entry <action run=update>
<pdc>Exit <action run=exit>
<!-- End the 'File' pulldown with the </ABC> tag -->
</abc>
<!-- The Help action bar choice is coded the same as ' File' -->
<abc>Help
<pdc>General Help
<action run=isptutor parm=h1>
<pdc>Keys Help <action run=keyshelp>
<pdc>About <action run=isptutor parm=h2>
</abc>
•The <pdc> tags shown at the top of the slide define the 4 pull-down choices for
the File action bar choice
•The <action> tag defines the action to be performed when the associated
pull-down choice is selected
•RUN= ADD, DELETE, and UPDATE are actions that the application
program must handle. ADD, DELETE, and UPDATE are either
application or system commands.
•RUN=EXIT will be handled by ISPF because EXIT is an ISPF command.
ISPF will generate a return code of 8 from the panel display.
•The </abc> tag specifies the end of the definition of the File action bar choice
•Another <abc> tag starts the definition of the Help action bar choice
•The <action> tags specify running the ISPF supplied program
ISPTUTOR and the ISPF command KEYSHELP.
•KEYSHELP displays the help panel for the current keylist (if
defined)
•ISPTUTOR runs the ISPF tutorial application. The parameters H1
and H2 are passed to ISPTUTOR and identify the name of the first
help panel to be displayed in the tutorial. These help panels must be
provided as part of the application.
Interactive Program Development Facility (ISPF)
</ab>
<!-- The <AREA> tag is used to define an area of the panel which will -->
<!-- contain information. Some tags are required to be within an area. -->
<!-- To make the area scrollable, add the depth=attribute -->
<area>
<!-- Next, we have two groups of information that are placed horizontally -->
<!-- across the panel. DTL defaults to writing all "objects' vertically down -->
<!-- the panel. To arrange the objects horizontally, use the <REGION> tag -->
<!-- with the dir=attribute set to HORIZ. -->
<region dir=horiz>
•The </ab> tag marks the end of the action bar definition
•The <topinst> tag defines the instructions to be placed at the top of the panel
•The COMPACT keyword could be used to prevent a blank line being
displayed after the top instructions
•The <area> tag defines the portion of the panel which is will contain information
such as fields and their descriptions
•Adding the depth attribute to the <area> tag will cause the area to be
scrollable. (Remember to change the keylist to one that supprts scrolling,
such as ISRSAB - Scrollable with Action Bar)
•Some tags are required to be within an area
•The <region> tag is used to define the characteristics of a panel section
including the direction in which fields on an application panel are arranged. This
example uses the dir=horiz attribute to define a horizontal region.
•By default DTL write objects vertically down the screen.
Interactive Program Development Facility (ISPF)
<!-- For each selection choice, you code a choice tag. For single selection -->
<!-- choices, the choice that is selected will be returned in the name= -->
<!-- variable on the selfld tag, so there is no name for each choice. -->
<!-- The choice text that is displayed is coded after the tag end delimiter. -->
<choice>Germany
<choice>Hawaii
<choice>Norway
<choice>Sweden
<choice>Finland
<!-- End the selection field with the </SELFLD> tag. -->
</selfld>
•The first object with the region is a single choice selection field. The <SELFLD>
tag is used to create the selection field.
•The type=single attribute and an entry width (entwidth) of 1 is
specified because only one location is required to be selected.
•The name attribute specifies the ISPF variable to contain the user’s
selection. It will contain the number of the selection.
•The selwidth attribute sets the width of the text for the subsequent
selection choices
•The pmtwidth attribute sets the width of the prompt text ("Exotic
Location"), and ...
•The listtype=radio setting causes a radio button to be displayed in
GUI mode
•The <choice> tags define the text for the 5 location choices
•The </selfld> tag marks to end of the selection list definition
Interactive Program Development Facility (ISPF)
<!-- For each choice, we code a <CHOICE> tag. For a multi-choice selection -->
<!-- field, each choice must have a name specified, since each choice will -->
<!-- either be selected or unselected. The application must check each -->
<!-- variable to determine if the user has selected the choice. -->
<choice name=ship>Ship
<choice name=plane>Plane
<choice name=ferry>Ferry Boat
<choice name=car>Drive Yourself
<!-- End the selection field with the </SELFLD> tag. -->
</selfld>
•The second object is a multi-choice selection field, which allows the user to select
more than one choice. The <SELFLD> tag with type=multi specified is used to
define the multi-choice selection field.
•The chkbox=yes setting causes check boxes to be displayed in GUI mode
•The <choice> tags define the text for each of the 4 Travel Mode choices. The
name attribute specifies the ISPF variable that will contain a forward slash (/)
character is the associated choice is selected.
•The </selfld> tag marks to end of the selection list definition
Interactive Program Development Facility (ISPF)
</region>
</area>
<!-- Use the <CMDAREA> tag to define the command line. -->
<!-- If you don't put any text, ISPF uses "Command" for the prompt. -->
</panel>
Basic Text
The following tags can be used in information regions and help panels to control the
text layout:
<p> paragraph
<h1>, <h2>, <h3>, and <h4> headings
<lines> and </lines> to stop reflowing
<xmp> and </xmp> are like <lines>, but indents two spaces
<fig> and </fig> are like <lines>, but by default adds the frame=rule
attribute to the tag.
You can also specify a <figcap> tag within a <fig> pair.
<sl> and </sl> - simple lists,
<ol> and </ol> - ordered lists, and
<ul> and </ul> - unordered lists, with
<li> list items and <lp> list paragraphs
<dl> and </dl> - definition lists, with
<dthd> data term header, and <ddhd> data definition header
<dt> data terms, and <dd> data definitions
<parml> and </parml> - parameter lists, with
<pt> parameter terms and <pd> parameter definitions
24 ISPF Panels - Advanced | Session 2627 © 2009 IBM Corporation
•There are many tags that can be used to define different types of text on panels
•Each have there own attributes, for instance:
•The <p> start a new paragraph and by default leaves a blank line
•There are tags to define:
•Headings. For example the <H1> tag identifies a main topic and the
heading text is centered (for other heading tags the text is left-
justified).
•Lines. The text between the <lines> and </lines> is
unformatted (i.e. is displayed on the panel as specified in the DTL
source).
•Examples. Similar to lines but text between the <xmp> and
</xmp> tags is indented 2 spaces from current left margin.
•Figures. Similar to lines but the default frame=rule setting
causes dashed lines to appear above and below the text between the
<fig> and </fig> tags.
•DTL also supports an assortment of tags for specifying different types of lists
Interactive Program Development Facility (ISPF)
•DTL provides tags to highlight or emphasize text or information for the user
The <rp> (reference phrase) tag is used to specify a word or phrase within panel text
that has additional help information associated with it. The word or phrase is
emphasized within the text of the panel to inform the user that additional
information is available. The user positions the cursor on the reference phrase and
presses F1=Help to obtain help on the phrase.
Interactive Program Development Facility (ISPF)
Data Fields
Data fields are used to display variable data and to allow the user to enter data
Defined with the <dtafld> tag
Each data field must have an associated variable specified on the datavar= attribute
The usage= attribute can be:
IN to define an entry (input-only) field
OUT to define an output-only field
BOTH to define an input-output field (this is the default)
Data field width is specified on the entwidth= attribute OR from the value specified
for the type= attribute of the varclass associated with the variable named on the
datavar= attribute
Field prompts are specified after the end tag on the <dtafld> tag
The size of the prompt is specified on the pmtwidth= attribute
Data field descriptions follow the input field and are specified with the <dtafldd> tag
The width of the description is specified on the deswidth= attribute of the <dtafld>
tag
•A panel is of little use if it does not provide a way to input and output data ☺
•Input and output fields are defined using the <dtafld> tag.
Interactive Program Development Facility (ISPF)
Selection Fields
Use the <selfld> tag to define selection fields
The <choice> tag enumerates the choices to be presented
There are five types of selection fields specified by the type= attribute:
Single - select one from several choices
Multi - select many from several choices
Menu - a variation of single selection used for ISPF selection panels
Model - similar to Menu, but used for edit model panels
Tutor - similar to Menu, but used for tutorial selection menus
Menu, Model, and Tutor are only permitted when the MENU keyword is
specified on the <panel> tag
The type values of menu, model, and tutor can only be specified when the
menu keyword is specified on the <panel> tag.
Interactive Program Development Facility (ISPF)
•The checkvar attribute defines a variable whose value indicates whether or not
the choice is preselected when the selection field is displayed. If the value of the
variable is equivalent to the string you specify with the match attribute, the item is
marked as selected when the panel displays.
ISPF updates the variable to the value specified by the match attribute when the
user selects the choice being defined.
•The match attribute defines the value for the check variable that causes the item
to be preselected. The value can be any character string. MATCH=1 is the default.
Interactive Program Development Facility (ISPF)
)INIT
.ZVARS = '(CHOICE)'
&CHOICE = ' '
IF (&DAY='MON') &CHOICE='1'
IF (&DAY='TUE') &CHOICE='2'
IF (&DAY='WED') &CHOICE='3'
IF (&DAY='THU') &CHOICE='4'
IF (&DAY='FRI') &CHOICE='5'
)PROC
&CHOICE = TRANS(&CHOICE 01,1 02,2 03,3
04,4 05,5 *,*)
VER(&CHOICE RANGE,1,5)
IF (&CHOICE='1') &DAY='MON'
IF (&CHOICE='2') &DAY='TUE'
IF (&CHOICE='3') &DAY='WED'
IF (&CHOICE='4') &DAY='THU'
IF (&CHOICE='5') &DAY='FRI'
)END
•This slide shows an example of using DTL to define a single selection field.
•The example makes use of the checkvar and match attributes on the
<choice> tags to allow the program identify the selection made by the user.
•NOTE: the default for the <selfld> tag is TYPE=SINGLE
Interactive Program Development Facility (ISPF)
Multi-selection Fields
Specify type=multi on the <selfld> tag
Specify the name of the variable on the panel with the name= attribute on the
<choice> tag
Specify the name of the program variable with the checkvar= attribute on the
<choice> tag
Multi-selection fields are defined in a very similar way to single choice fields.
Interactive Program Development Facility (ISPF)
)INIT
.ZVARS = '(D1 D2 D3 D4 D5)'
Multi-selection
<!doctype dm system>
Field Example &D1 = ' '
&D2 = ' '
<panel name=example5 depth=11 width=40> &D3 = ' '
Multi Selection &D4 = ' '
<area> &D5 = ' '
IF (&MON = '1') &D1 = '/'
<dtacol pmtwidth=** selwidth=20>
IF (&TUE = '1') &D2 = '/'
<selfld type=multi>Choose the days you IF (&WED = '1') &D3 = '/'
are available and then press Enter. IF (&THU = '1') &D4 = '/'
<choice name=d1 checkvar=mon>Monday IF (&FRI = '1') &D5 = '/'
<choice name=d2 checkvar=tue>Tuesday )REINIT
<choice name=d3 checkvar=wed>Wednesday REFRESH(D1 D2 D3 D4 D5)
<choice name=d4 checkvar=thu>Thursday )PROC
<choice name=d5 checkvar=fri>Friday IF (&D1 ¬= ' ')
</selfld> &D1 = '/'
This DTL produces &MON = '1'
</dtacol>
ELSE &MON = '0'
</area>
</panel>
this panel logic IF (&D2 ¬= ' ')
&D2 = '/'
to produce this display &TUE = '1'
ELSE &TUE = '0'
IF (&D3 ¬= ' ')
&D3 = '/'
&WED = '1'
ELSE &WED = '0'
IF (&D4 ¬= ' ')
&D4 = '/'
&THU = '1'
ELSE &THU = '0'
IF (&D5 ¬= ' ')
&D5 = '/'
&FRI = '1'
ELSE &FRI = '0'
)END
•Specify an <action> tag for each <choice> tag to indicate the command,
program, or panel to be invoked for that choice
•There are a number of attributes that can specified for the <action> tag for a
menu choice. Some of the more important attributes are:
•RUN - is a required attribute for the <action> tag on a menu choice and
specifies the name of the command, program, or panel invoked for the
choice.
•TYPE - defines the type of the object on the RUN attribute (i.e. command,
program, or panel). A value of EXIT can be specified for a choice to cause
an exit from the menu.
•PARM - defines any parameters to be passed to the object specified with the
RUN attribute
•NEWAPPL - defines the new application id for the command invoked for
the menu selection choice
•SCRNAME - defines the screen name that is displayed on the top left of
panels for the application invoked for the menu choice.
•LANG – specifies the language for the invoked command and can be either
APL or CREX for Compile REXX (otherwise it is not required)
•PASSLIB – specifies that application level ISPF libraries are to be passed
to the application invoked for the choice
•NEWPOOL - requests a new function pool for dialog variables be created
for the application.
•SUSPEND - will revert the next display for the selected application to full
screen , rather than using the existing window
•NOCHECK - will bypass normal command checking for lower level
functions. It only valid when invoking programs or commands and it is the
Interactive Program Development Facility (ISPF)
The <selfld> and <dtafld> tags share many of the same attributes.
Interactive Program Development Facility (ISPF)
Data Columns
Use the <dtacol> and </dtacol> tags to "factor" out common attributes for multiple
<dtafld> and <selfld> tags enclosed between the start and end tag
The following attributes can be specified on a <dtacol>
pmtwidth
entwidth
deswidth
selwidth
fldspace
pad
padc <dtacol pmtwidth=45 selwidth=76>
<selfld type=multi>Choose the days you are
outline
available and then press Enter.
pmtfmt
<choice name=d1 checkvar=mon>Monday
autotab
<choice name=d2 checkvar=tue>Tuesday
attrchange
<choice name=d3 checkvar=wed>Wednesday
pmtloc <choice name=d4 checkvar=thu>Thursday
dbalign <choice name=d5 checkvar=fri>Friday
varclass </selfld>
required </dtacol>
caps
vardcl
•The list field tags are used to generate panels used with the TBDISPL (Table
Display) service
•The <lstfld> tag defines an ISPF table display area.
•The <lstgrp> tag defines a heading for a single column or multiple columns
within a list field.
•The <lstcol> tag defines a column of data displayed in the ISPF table display
area.
Interactive Program Development Facility (ISPF)
Help
Adding "HELP" in your application
Use the help=help-panel-name attribute with your "object“ tags
<abc> and <pdc> tags for action bar choice and pull-down choice help
<selfld> tag for single choice selection fields
<choice> tag for multi-choice selection fields
<cmdarea> tag for command-line help
<panel> tag for overall panel help
<dtafld> tag for data fields
<lstcol> tag for table display columns
ENTITY Declarations
Entities are symbolic names used to insert text into a file.
can be either a simple string of characters, or
text from another file (imbed or parameter entity)
parameter entity is an imbed file containing other ENTITY declarations
•You can define, or declare frequently used words, phrases, and longer character
strings in your source file as entities or parameter entities that represent text in the
source file. After you have declared them, you refer to the names of the entities in
place of the word or phrase in the text.
•Entities define symbolic names that can be either:
• a simple string or character, or
• the name of another file.
•Use of the entity will imbed the file.
•A parameter entity contains other ENTITY statements. This allows
you to place multiple entity declarations within an external file and
refer to them within a source file.
•An imbed entity contains other DTL tags
•Entities must be defined in the declaration section of the doctype tag. The
declaration section is coded immediately after the system parameter on the
<doctype> tag.
•The ENTITY keyword must be in UPPER case
•Parameter entity names must be a valid member name, up to 8 characters in length.
String or character entity names can be up to 17 characters.
•To use an entity:
•the name must be preceded with '&‘ but …
•for a parameter entity, the name must be preceded with ‘%’
•The name must end with a semicolon (‘;’), blank, or end of line
•The entity text can be up to 253 characters in length
Interactive Program Development Facility (ISPF)
ENTITY Example
<!doctype dm system(
<:ENTITY panel_title "Multiple Selection">
<:ENTITY panel_depth "depth=11">
<:ENTITY panel_width "40">
•This slide shows our previous example panel modified to use a number of ENTITY
definitions.
•The ENTITY's panel_title, panel_depth, panel_width, and
msel_desc1 are defined as character strings.
•They are not imbed or parameter entities, so the entity names can be longer
than 8 characters
•ENTITY shripnl is defined as an imbed entity - it will imbed an external file
(member SHRIPNL) within the body.
•ENTITY shrient is a parameter entity as it defines additional entities (as we
will see on the next page)
•The % sign indicates it as a parameter entity
•The line with %shrient cause the external file to be imbedded at this point
•Note: the ')>' terminates the <!doctype> tag and the comment just warns to
look carefully at the code before changing it.
•Anyone looking at any of the DTL supplied source for the ISPF panels will
often see a comment like this as it terminates a <!doctype> tag that can
be several hundred lines further up in the code and not always on the same
screen or page.
Interactive Program Development Facility (ISPF)
ENTITY Example…
<doctype> tag not required
<:-- SHRIENT imbed file -->
<:ENTITY mon "Monday"> in imbed files
<:ENTITY tue "Tuesday">
<:ENTITY wed "Wednesay">
<:ENTITY thu "Thursday">
<:ENTITY fri "Friday">
<:ENTITY sat "Saturday">
<:ENTITY sun "Sunday">
•SHRIENT is a parameter entity containing entities that define the text for the
selection fields.
•Entities can be used for sections of code that is common across many panels (e.g.
action bar definitions)
•They can also use to cater for national language support. ISPF uses entities for this
purpose.
Interactive Program Development Facility (ISPF)
Regions
Understanding regions is the key to mastering panel layout with DTL
Two types of regions exist –
the type determines which way things stack within the region
Horizontal - things stack left to right in this region type
Vertical - things stack top to bottom in this region type
Try to visualize a panel in terms of regions as you write the DTL
Nesting regions is frequently necessary
<:ENTITY a "Options">
<:ENTITY b "Print Graphics">
<:ENTITY c "General">
Regions <:ENTITY d "Terminal ...">
<region dir=horiz>
<region dir=vert>&a
...
</region>
<region dir=vert>
<region dir=horiz>&b
...
</region>
<region dir=horiz>&c
...
</region>
</region>
</region>
<region dir=horiz>&d
...
</region>
Horizontal Regions
(dashed lines)
<:ENTITY a "Options">
<:ENTITY b "Print Graphics">
<:ENTITY c "General">
Regions <:ENTITY d "Terminal ...">
<region dir=horiz>
<region dir=vert>&a
...
</region>
<region dir=vert>
<region dir=horiz>&b
...
</region>
<region dir=horiz>&c
...
</region>
</region>
</region>
<region dir=horiz>&d
...
</region>
Horizontal Regions
(dashed lines)
Vertical Regions
(solid lines)
Region Spacing
The indent=x attribute on the <region> tag moves the entire region x spaces to the
right
eg: <region dir=horiz indent=8>
The <divider> tag creates space between regions, both horizontal and vertical
Adding the gutter= attribute adds more than one space
When a gutter attribute is specified between vertical regions, ISPF will
always add an odd number of spaces
The type= attribute adds a visual divider
eg: <divider type=solid gutter=3>
Options
select on panel
(scroll down)
<compopt> tag
in source
•There are an additional 3 screens of options for the DTL conversion utility.
•Conversion utility options can be entered on the panels or included in the source
using the <compopt> tag.
Interactive Program Development Facility (ISPF)
ISPDTLC in Batch
Sample JCL to run DTL Conversion Utility in Batch.
//VANDYKEC JOB ...
//*
//ISPDTLC EXEC PGM=IKJEFT01
//SYSEXEC DD DSN=ISP.SISPEXEC,DISP=SHR
//ISPPROF DD RECFM=FB,LRECL=80,SPACE=(TRK,(1,1,2))
//ISPMLIB DD DSN=ISP.SISPMENU,DISP=SHR
//ISPPLIB DD DSN=ISP.SISPPENU,DISP=SHR
//ISPSLIB DD DSN=ISP.SISPSENU,DISP=SHR
//ISPTLIB DD DSN=ISP.SISPTENU,DISP=SHR
//DTLGML DD DSN=VANDYKE.GML,DISP=SHR
// DD DSN=VANDYKE.GMLINC,DISP=SHR
//DTLMSG DD DSN=VANDYKE.MSGS,DISP=SHR
//DTLPAN DD DSN=VANDYKE.PANELS,DISP=SHR
//DTLTAB DD DSN=VANDYKE.TABLES,DISP=SHR
//ISPLOG DD SYSOUT=*,RECFM=FB,LRECL=133
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSTSIN DD *
ISPSTART CMD(%ISPDTLC EXAMPLE6 +
(REPLACE DISK KEYLAPPL=ISR +
NOPREP STATS PROFDDN=* +
)
//*
•This slide shows a sample batch job to run the DTL conversion utility in batch
•The ISPxLIB DDs refer to standard ISPF shipped datasets
•DTLGML DD is for the input data sets
•a concatenation of up to 16 data sets can be specified
•DTLMSG, DTLPAN and DTLTAB DDs are the output data sets for
generated messages, panels, and tables (keylists or command tables)
•SYSTSIN DD contains the TSO command to invoke ISPDTLC under ISPF
•ISPSTART is used to establish the ISPF environment and then
invoke REXX exec ISPDTLC
•The first parameter is the source member name (that is found in the
DTLGML concatenation)
•other parameters follow the '('
Interactive Program Development Facility (ISPF)
References
ISPF Publications (z/OS v1.9)
SC34-4824 DTL Guide
SC34-4821 Dialog Developer's Guide and Reference
SC34-4816 Reference Summary
Chapter 8. Dialog Tag Language Tags