Skip to content

Working With zFS In ZMF

ChangeMan ZMF includes support for Java applications, providing:

  • Secure, rules based management of Java application artifacts in ChangeMan package life cycle.

  • Stability, reliability, and security of the mainframe platform  ZMF for Eclipse and RDz user interfaces.

Working with Long Fields in ISPF

Component names in USS file systems can be 256 characters long, and path names can be 1024 characters long.

In the ChangeMan ZMF ISPF interface, there are three ways users can see a long component or path name on a panel whose total width is limited to 80 characters.

  • Scroll in the panel field

  • Zoom in on the field with EXPAND

  • Display an alternate panel

In this section, example package ACTP000052 contains these components:

Staging Library (Path) Name Component Name
/cmntp/s6/ACTP/#000052/d/JVS hellow.java
/cmntp/s6/ACTP/#000052/d/JCT hellow.jct
/cmntp/s6/ACTP/#000052/d/JVS org/dom/xpath/jhfhth30long.java
/cmntp/s6/ACTP/#000052/d/HTH org/jdom/xpath/jhfhth30long.hth
/cmntp/s6/ACTP/#000052/d/HTH testfile.hth

Important

In USS file systems, a "component name" may include a partial directory path because the actual name of the file is unique only within a hierarchy that includes it.

When line command S2 is entered by package ACTP000052 on the Change Package List panel, the Stage: package Components panel (CMNSTG01) is displayed in this format.

CMNSTG01                           STAGE: ACTP000052 Components                 Row 1 to 5 of 5
Command ===>                                                                   Scroll ===> CSR

    Name               + Type Status   Changed              Procname    User          Request
 __ hellow.java          JVS  ACTIVE   20150305 145828      CMNJAVA     USER015
 __ hellow.jct           JCT  ACTIVE   20150309 184115      CMNJAR      USER015
 __ org/dom/xpath/jhfh   JVS  ACTIVE   20150309 200446      CMNJAVA     USER015
 __ org/jdom/xpath/jhf   HTH  ACTIVE   20150309 192827                  USER015
 __ testfile.hth         HTH  ACTIVE   20150309 192103                  USER015
******************************* Bottom of data ********************************

...

When a data field is longer than the panel field used to display it, a + (plus) is shown to the right of the panel field. If the panel field is in a list, the + is shown over the panel field column, in the heading, as shown in the example above.

Notice that the names of the first two components and the last component fit in the Name column field. However, the names of the third and fourth components appear to overflow the Name field.

Scrolling LEFT and RIGHT

To see more of a long name that is truncated by a short panel field, you can scroll to the right, and then scroll back to the left.

  • To scroll to the right in a field, place your cursor in the field and press PF11. (You can also type RIGHT in the Command line, place your cursor in the field, and press ENTER.)

  • To scroll to the left in a field, place your cursor in the field and press PF10. (You can also type LEFT in the Command line, place your cursor in the field, and press ENTER.)

This panel shows the Name field after scrolling right one time.

CMNSTG01                         STAGE: ACTP000052 Components                     Row 1 to 5 of 5
Command ===>                                                                     Scroll ===> CSR

    Name            -+ Type  Status      Changed              Procname     User       Request
 __                    JVS   ACTIVE      20150305 145828      CMNJAVA      USER015
 __                    JCT   ACTIVE      20150309 184115      CMNJAR       USER015
 __ fhth30long.java    JVS   ACTIVE      20150309 200446      CMNJAVA      USER015
 __ hfhth30long.hth    HTH   ACTIVE      20150309 192827                   USER015
 __                    HTH   ACTIVE      20150309 192103                   USER015
******************************* Bottom of data ********************************

...

Rules for scrolling in long panel fields:

  • The SCROLL amount at the upper right of the panel determines the scroll amount for long panel fields.

  • You might have to scroll right more than once to see the end of a long field.

  • When you have scrolled to right end of a long field, a - (minus) replaces the + (plus) to indicate that you can only scroll left from that point

  • Both -+ (minus plus) are displayed when you can scroll both right and left from your current position in a long field.

  • If you type M (MAXIMUM) on the Command line before you position your cursor in a long field, when you press PF11 or PF10 the field scrolls all the way to the end or the beginning respectively.

Long Field Zoom - EXPAND

Rather than pressing PF11 or PF10 multiple times to scroll through a long field, you can zoom in on the field by placing your cursor over the field and pressing PF4 to execute the ISPF EXPAND command. EXPAND displays the entire field in a pop-up panel.

If you place the cursor on the NAME field of the fourth component listed on the STAGE: package COMPONENTS panel above and you press PF4, the pop-up CMPNAME+0 panel (ISPEXPND) is displayed.

+--------------------------------- CMPNAME+0 ---------------------------------+
| ISPEXPND                                                        Line 1 of 4 |
| Command ===>                                               Scroll ===> PAGE |
|                                                                             |
|                                             org/jdom/xpath/jhfhth30long.hth |
|                                                                             |
...
|                                                                             |
|                                                                             |
+-----------------------------------------------------------------------------+

Zoom panel rules:

  • The pop-up panel has the same attributes as the original panel field. If the original panel field is display-only, then the pop-up panel is also display-only. If the original panel field is available for input, you can type on the pop-up panel.

  • If the original panel field is available for input, you can type up to 256 characters on multiple pop-up panel lines for a component name, or 1024 characters on multiple lines for a path name.

  • Press PF3 to exit the pop-up long name panel and return to the original panel.

Note

Most ZMF panels in the ISPF interface follow this rule: "Press ENTER to process; Enter END or CANCEL command to exit." However, the pop-up panel for expanded long name fields requires END or PF3 to save data entered or changed on the panel.

Clearing Long Names From Panel Input Fields

If a long name extends beyond the visible end of an input field on a ChangeMan ZMF panel, you must take care to:

  • Clear the entire long name before pressing ENTER to display a selection list.

  • Clear any parts of the old name that extend beyond a shorter name that you type over the original name.

If you only clear the visible part of a long name input field, the rest of the name remains in the ISPF variable, and it will interfere with the processing of subsequence input until you exit the panel. (This is an ISPF behavior, not a ZMF shortcoming.)

Tip

The quickest way to ensure that you have cleared a long name input field is to press PF4 to display the entire long name in a pop-up panel, erase all lines that contain parts of the long name, and press PF3 to return to the original panel.

Alternate Panel - LONG and XLONG

In many ChangeMan ZMF functions that display a list of components, you can invoke an alternate panel that displays the component name on a separate line so there is room to show more characters of a long component name.

For example, if you have zFS library types in a package, then the STAGE: package Components panel (CMNSTG01) is displayed to show the components in the package.

CMNSTG01              STAGE: ACTP000057 Components             Row 1 to 3 of 3
Command ===>                                                  Scroll ===> CSR

 Name                 + Type  Status  Changed          Procname  User  Request
 __ averylongnamegoesh  JVS   ACTIVE  20150315 161850  CMNJAVA   USER015
 __ hw001.java          JVS   ACTIVE  20150315 152357  CMNJAVA   USER015
 __ org/jdom/xpath/jhf  JVS   ACTIVE  20150315 165512  CMNJAVA   USER015
******************************* Bottom of data ********************************

...

This panel CMNSTG01 shows only 18 characters of each component name. The panel permits scrolling left and right via PF10 and PF 11, and Expand (PF4) in the Name field so you can see the rest of the component name.

However, if you type LONG on the Command line and press ENTER, a different STAGE: package Components panel (CMNSTG14) is displayed, which shows each component zFS path, up to 44 characters, on a line below the rest of the component information.

CMNSTG14              STAGE: ACTP000057 Components              Row 1 to 3 of 3
Command ===>                                                   Scroll ===> CSR

    Name              + Type  Status   Changed          Procname  User   Request
                        Org   Input dataset name                   + Target lib
 __ averylongnamegoesh  JVS   ACTIVE   20150315 161850  CMNJAVA   USER015
                        zFS   /cmntp/s6/ACTP/#000057/d/JVS JVL
 __ hw001.java          JVS   ACTIVE   20150315 152357  CMNJAVA   USER015
                        zFS   /cmntp/s6/ACTP/#000057/d/JVS JVL
 __ org/jdom/xpath/jhf  JVS   ACTIVE   20150315 165512  CMNJAVA   USER015
                        zFS   /cmntp/s6/ACTP/#000057/d/JVS JVL
******************************* Bottom of data ********************************

...

This panel still only shows up to 18 characters of a long component name. This panel also offers scrolling and zoom in the Name field if you still cannot see the entire component name.

To return to the original component list panel, type SHORT on the Command line and press ENTER.

Prior to the release of ChangeMan ZMF 7.1 with long names, some panels already responded to the LONG command by displaying a panel with additional information. In some of these cases, you can type XLONG in the Command line and press ENTER to display a special panel for long names.

If you type XLONG on the Command line and press ENTER, a further STAGE: package Components panel (CMNSTG24) is displayed. This panel shows each component name on a line above the component information, with the staging directory path on a third line.

CMNSTG14                STAGE: ACTP000057 Components          Row 1 to 3 of 3
Command ===>                                                 Scroll ===> CSR

    Name              + Type  Status  Changed          Procname  User   Request
                        Org   Input   dataset name                + Target lib
 __ averylongnamegoesh  JVS   ACTIVE  20150315 161850  CMNJAVA   USER015
                        zFS   /cmntp/s6/ACTP/#000057/d/JVS                JVL
 __ hw001.java          JVS   ACTIVE 20150315 152357   CMNJAVA   USER015
                        zFS  /cmntp/s6/ACTP/#000057/d/JVS                 JVL
 __ org/jdom/xpath/jhf  JVS  ACTIVE 20150315 165512    CMNJAVA   USER015
                             zFS /cmntp/s6/ACTP/#000057/d/JVS             JVL
******************************* Bottom of data ********************************

...

This panel shows up to 75 characters of a long component name. This panel also offers scrolling and zoom in the Name field if you still cannot see the entire component name. You can scroll and zoom on the staging directory path.

On this panel you can use the LONG command to display the CMNSTG14 panel or SHORT to display the CMNSTG01 panel.

Tip

If you want to see the component name on a separate line, try XLONG first. If short message INVALID SELECTION CODE is displayed, try command LONG.

Right Justified Long Names in ERO

ERO uses dynamic ISPF panels to make lists of components for functions like checkin, retrieve, query component, test area, test release, and promotion. ISPF does not support scroll RIGHT and LEFT on dynamic panels.

To display as much meaningful information in the long name column as possible where scroll is not supported, ERO right justifies long names on dynamic panels, truncating any extension on the file name.

In this example, release package JZFS00023 contains the following files with names that include a partial path:

/org/jdom/adapters/package.html
/org/jdom/filter/package.html /org/jdom/input/package.html
/org/jdom/output/package.html
/org/jdom/package.html
/org/jdom/transform/package.html

See how these component names are displayed on ERO panel CMNCKI02, right justified with the extension html stripped off.

CMNCKI02 RELEASE CHECKIN JZFS000023 COMPONENTS ------- Row 000001 Of 000006
 COMMAND ===>                                                SCROLL ===> HALF
   COMPONENT NAME    TYPE   STATUS   CHANGED     PROCNAME ID       AREA ID

 Line Command: S-Select ( SETALL Select all, SETOFF De-select all )

 _ adapters/package  HTH    ACTIVE   20101124    141227   USER240  ACCTPAY
 _ m/filter/package  HTH    ACTIVE   20101124    141231   USER240  ACCTPAY
 _ om/input/package  HTH    ACTIVE   20101124    141232   USER240  ACCTPAY
 _ m/output/package  HTH    ACTIVE   20101124    141234   USER240  ACCTPAY
 _ org/jdom/package  HTH    ACTIVE   20101124    141235   USER240  ACCTPAY
 _ ransform/package  HTH    ACTIVE   20101124    141237   USER240  ACCTPAY
 ******************************* Bottom of Data ********************************

...

Note

Long names on ERO dynamic panels may be displayed using the PF4 zoom function to display the entire name in a pop-up window.

Case Sensitive Fields

By default, all ISPF panel input fields are folded to upper case, regardless of the case you type. However, zFS path names and file names are case sensitive. For example, these are three different files:

  • FirstJavaComponent.java

  • firstjavacomponent.java

  • FIRSTJAVACOMPONENT.java

ChangeMan ZMF uses two methods to control the case sensitivity of input fields on ISPF panels.

  • Data Set Type in library type definitions

  • Mixed Case parameter on component list

Data Set Type

The global and application Library Types Part 2 of 2 panel includes the Data Set Type field, with valid values of LIBRARY for PDSE, PDS or blank for PDS or zFS. When you type a component name or directory path for a data set type zFS, case is preserved and stored in ZMF repositories. When component name or directory path are displayed for data set type zFS, the case that is stored in ZMF repositories is displayed unchanged on ISPF panels.

For example, when you type information on the application/site - Promotion Libraries panel in application administration, ChangeMan ZMF uses the library type to determine whether the data should default to upper case or be processed exactly as you enter it.

In this example, the library names and directory paths for promotion are all entered in lower case (panel shows one JCL and one zFS libraries - JCL is uppercase).

CMNLRPM3                  ACTP/SERT6 - Promotion Libraries              Row 2 to 8 of 8
Command ===>                                                           Scroll ===> CSR

Promotion name: S6P1UT       Level: 10

          Syslib
     Lib exclude Target libraries
 ___ JCL  Y   CMNTP.S6.V810.PROM.S6P1UT.JCL                              + Shadow
              CMNTP.S6.V810.PROM.S6P1UT.JCL                              + Library 1
                                                                         + Library 2
                                                                         + Library 3
 ___ JVS  N   /cmntp/s6/actp/prom10/jvs                                  + Shadow
              /cmntp/s6/actp/prom10/jvs                                  + Library 1
                                                                         + Library 2
                                                                         + Library 3
... 

When you press ENTER, the data set names for library type JCL are changed to upper case and stored that way on the package master. However, the zFS path names for library type JVS (Java) are left exactly as you entered them, and they are stored in mixed case on the package master.

Mixed Case

On list parameter panels where you specify filter criteria for building a component list, you can control how case is used in component name selection by setting the Mixed Case field.

/ Mixed case

By default, the text you enter in a component name field is folded to upper case before it is matched against component names. However, if you select the Mixed Case field, then the value you enter is compared exactly to the component name in whatever file or directory is being searched.

For example, package ACTP000054 contains these two components:

CMNSTG01                 STAGE: ACTP000050 Components          Row 1 to 2 of 2
Command ===>                                                  Scroll ===> CSR

 Name        + Type  Status     Changed              Procname   User    Request
 acpdoc60      HTH   ACTIVE     20150315 212025                 USER015
 ACPDOC60      DOC   ACTIVE     20150315 211855                 USER015
******************************* Bottom of data ********************************

You can filter the components displayed on the Stage: package Components panel by first setting selection criteria on the Component List Parameters panel (CMNSTG12). If you type the Component Name field in lower case on the Component List Parameters panel and select the Mixed case field, then the filter is case sensitive, and only the HTH component is listed.

Selection criteria:

CMNSTG12                     Component List Parameters
Command ===>

         Package: ACTP000071        Status: DEV        Install date: 20200707
    Work request: 1907D92                                Department: IDD

Component name . . . . . . acpdoc60                                               +
Component type . . . . . .
Language . . . . . . . . .

Enter "/" to select:
  Component status . . . . __ Active __ Checkout __ Frozen __ Inactive
                           __ Incomp __ Unfrozen

Changed from date . . . . . ________ (yyyymmdd)
             time . . . . . ________ (hhmmss)
Changed to   date . . . . . ________ (yyyymmdd)
             time . . . . . ________ (hhmmss)
Compile procedure . . . . . ________
User . . . . . . . . . . .  ________
Display mode . . . . . . . S         (S-short, L-long, X-extra long)
Data Encoding . . . . . . .          (1-ASCII, 2-UTF-8)

Enter "/" to select option
 / Confirm component delete          / Confirm other requests
 _ Display component user options    / Mixed case
 / Comparison report for edit        _ Text type . . . . $.
 _ Ignore recompiled components 

Result:

CMNSTG01                 STAGE: ACTP000071 Components           Row 1 to 1 of 1
Command ===>                                                   Scroll ===> CSR

    Name      + Type   Status     Changed          Procname   User     Request
 __ acpdoc60    HTH    ACTIVE     20200517 212025             USER015
******************************* Bottom of data ********************************

...

If you type the Component Name field in lower case and do not select the Mixed Case field, then the component name you typed is folded to upper case, and only the DOC component is listed.

Selection criteria:

CMNSTG12                Component List Parameters
Command ===>

       Package: ACTP000071 Status: DEV Install date: 20200707
 Work request: 1907D92 Department: IDD
Component name . . . . . . apcdoc60 +
Component type . . . . . .
Language . . . . . . . . .

Enter "/" to select:
 Component status . . . . Active Checkout Frozen Inactive
 Incomp Unfrozen

Changed from date . . . . . (yyyymmdd)
 time . . . . . (hhmmss)
Changed to date . . . . . (yyyymmdd)
 time . . . . . (hhmmss)
Compile procedure . . . . .
User . . . . . . . . . . .
Display mode . . . . . . . S (S-short, L-long, X-extra long)
Data Encoding . . . . . . . (1-ASCII, 2-UTF-8)

Enter "/" to select option
 / Confirm component delete / Confirm other requests
 Display component user options Mixed case
 / Comparison report for edit Text type . . . . $.
 Ignore recompiled components 

...

Result:

CMNSTG01               STAGE: ACTP000071 Components             Row 1 to 1 of 1
Command ===>                                                   Scroll ===> CSR

    Name         + Type  Status   Changed         Procname  User    Request
 __ acpdoc60       DOC   ACTIVE   20200707 211855           USER015
******************************* Bottom of data ********************************

...

Component Names That Contain A Path

In USS file systems, a "component name" may include a partial directory path because the actual name of the file is unique only within a hierarchy that includes it.

ChangeMan ZMF automatically handles component names that include a directory path. However, when you stage an zFS component from development, you must indicate whether you want to choose a file name from the specified directory or a path name and file name from that directory.

On the Stage: From Development panel, the Expand field controls what is displayed on a component selection list. When you set the Expand field to Yes, all files and paths below the subdirectory you specify in the DSN field are displayed on the component selection panel.

Here is the stage panel.

CMNSTG02                         Stage from Development
Command ===>

 Package: ACTP000050        Status: DEV        Install date: 20150318

ISPF Library:
 Project . . . . USER015
 Group . . . . . JAVA
 Type . . . . . SRC
 Member . . . . _____________        (Blank/pattern for list; * for all members)

Other partitioned, sequential or zFS dataset:
 DSN . . . . . . /cmntp/s4/v710/base/jzfs/jav/lvl-0/ +
 Org . . . . . . _____          (PDS, Seq, PAN, LIB, Oth, zFS)

Library type . . . . . JVS            (Blank for list)
Stage name . . . . . . __________________________                             +
Stage mode . . . . . . 1              (1-Online, 2-Batch)

Enter "/" to select option
 / Expand zFS subdirectories
 / Confirm request
 _ Lock component
 _ Display component user options 

...

Here is the resulting component selection list.

CMNSTG23                 Stage from zFS file                   Row 1 to 6 of 6
Command ===>                                                  Scroll ===> CSR

  Input filename
  /cmntp/s4/v710/base/jzfs/jav/lvl-0/ +

 Name     +        Function Created      Changed           Size        User
 jhfjav40.java              2010/07/20   2010/11/05 16:30  00126       SERT
 jhfjav50.java              2010/11/05   2010/11/05 16:49  00126       SERT
 jhfjav60.java              2010/11/05   2010/11/05 17:23  00126       SERT
 org/jdom/xpath/jhfj        2010/07/20   2010/07/01 18:53  00151       SERT
 org/jdom/xpath/jhfj        2010/07/20   2010/07/01 18:54  00155       SERT
 org/jdom/xpath/jhfj        2010/07/20   2010/07/01 18:54  00154       SERT
******************************* Bottom of data ********************************

...

Notice that after the first three files, three more components are listed that are in a path of subdirectories below the directory you specified on the Stage: From Development panel. If you select one of the files with path names to stage into your package, the component name in the package master and in the component master will include the subdirectories as well as the file name.

Here, Expand zFS subdirectories is not selected.

CMNSTG02                  Stage from Development
Command ===>

        Package: ACTP000050     Status: DEV     Install date: 20150318

ISPF Library:
  Project . . . . USER015
  Group . . . . . JAVA
  Type . . . . . SRC
  Member . . . . ______________        (Blank/pattern for list; * for all members)

Other partitioned, sequential or zFS dataset:
 DSN . . . . . . /cmntp/s4/v710/base/jzfs/jav/lvl-0/ +
 Org . . . . . . _______________     (PDS, Seq, PAN, LIB, Oth, zFS)

Library type . . . . . JVS      (Blank for list)
Stage name . . . . . . ____________________________________________________ +
Stage mode . . . . . . 1        (1-Online, 2-Batch)

Enter "/" to select option
 _ Expand zFS subdirectories
 / Confirm request
 _ Lock component
 _ Display component user options 

...

The resulting component selection panel displays only the three components that are contained as files in the directory you specified on the Stage: From Development panel.

CMNSTG23                  Stage from zFS file                  Row 1 to 3 of 3
Command ===>                                                  Scroll ===> CSR

 Input filename
 /cmntp/s4/v710/base/jzfs/jav/lvl-0/ +
 Name      +       Function Created       Changed              Size     User
 jhfjav40.java              2010/07/20    2010/11/05 16:30     00126    SERT
 jhfjav50.java              2010/11/05    2010/11/05 16:49     00126    SERT
 jhfjav60.java              2010/11/05    2010/11/05 17:23     00126    SERT
******************************* Bottom of data ********************************

...

Note

On the Stage: From Development panel (CMNSTG02), you cannot provide a STAGE NAME when the EXPAND field is selected.