ZOAU functionality overview
The functionality provided by IBM® Z Open Automation Utilities is categorized as follows.
You can find some simple coding examples of the shell commands and APIs for Python by following the links in the tables. For detailed information, see Shell command reference and Python API reference.
MVS program execution utilities
Function | Shell | Python | Description |
---|---|---|---|
Execute an unauthorized MVS program | mvscmd | mvscmd.execute() | Runs an unauthorized MVS command (program) that resides in a PDS or PDSE from the z/OS UNIX command line |
Execute an authorized MVS program | mvscmdauth | mvscmd.execute_authorized() | Runs an authorized MVS command (program) that resides in a PDS or PDSE from the z/OS UNIX command line |
For a sample of how to use ZOAU to work with MVS resources, see Using commands and APIs provided by ZOAU.
Data set manipulation utilities
Function | Shell | Python | Description |
---|---|---|---|
Check whether a data set exists | dls | datasets.exists() | Lists non-VSAM data sets such as partitioned data sets and sequential data sets |
Copy data sets | dcp | datasets.copy() | Copies a fully qualified file (or files) to another file Note: The file can be a partitioned data set, sequential data set, partitioned data set member, or HFS file. |
Compare two data sets | ddiff | datasets.compare() | Compares two files, each of which can be a partitioned data member or sequential data set |
Write to a data set | decho | datasets.write() | Writes a non-VSAM data set to stdout |
Search for text in data sets | dgrep | datasets.search() | Searches partitioned data sets, partitioned data set members, and sequential data sets for a string |
List data sets | dls | datasets.listing() | Lists non-VSAM data sets such as partitioned data sets and sequential data sets |
Modify text blocks in data sets | dmod | datasets.blockinfile() | Allows modification of blocks of text within a data set |
Delete data sets | drm | datasets.delete() | Deletes one or more non-VSAM or VSAM data sets |
Archive data sets | dzip | datasets.zip() | Archives a set of datasets to a binary file |
Restore data sets | dunzip | datasets.unzip() | Unzips a dzip binary file to the specified HLQ |
Replace text in data sets | dsed | datasets.find_replace() | Provides basic support for finding and replacing of a string in a partitioned data set, a partitioned data set member, or a sequential data set |
Read text in a data set (all of the file) | dcat | datasets.read() | Prints a data set member or a sequential data set |
Read text in a data set (first *n* lines) | dhead | datasets.read() | Prints the first *n* lines in a data set member or sequential data set |
Read text in a data set (last *n* lines) | dtail | datasets.read() | Prints the last *n* lines in a data set member or sequential data set |
Read text in a data set (from the nth line) | dtail | datasets.read() | Prints the last *n* lines starting from the nth line in a data set member or sequential data set |
Create a data set | dtouch | datasets.create() | Provides a way to allocate a partitioned data set, sequential data set, or VSAM data set |
Rename a data set | dmv | datasets.move() | Moves a data set to a new name |
List data set members | mls | datasets.list_members() | Lists partitioned data set members |
Delete data set members | mrm | datasets.delete_members() | Deletes one or more data set members |
Rename a data set member | mmv | datasets.move_member() | Moves a partitioned data set member to a new name |
JES utilities
Function | Shell | Python | Description |
---|---|---|---|
Submit a job | jsub | jobs.submit() | Submits a data set that contains JCL |
Cancel a job | jcan | jobs.cancel() | Cancels and purges a job |
List jobs | jls | jobs.listing() | Lists jobs that match a pattern |
List job DDs | ddls | jobs.list_dds() | Lists ddnames for a given job |
List job output for step name | pjdd | jobs.read_output() | Lists the output for a given job id and ddname |
System concatenation utilities
Function | Shell | Python | Description |
---|---|---|---|
Get a temporary data set name | mvstmp | datasets.temp_name() | Generates a valid MVS data set name that is suitable for use as a temporary data set |
Find a member in a concatenation | dwhence | datasets.find_member() | Searches for a member within a data set concatenation |
Display the active link list | pll | zsystem.list_linklist() | Displays the active link list concatenation |
Search link list for a member | llwhence | zsystem.find_linklist() | Searches for the data set in the link list that a module comes from |
Display the active parmlib | pparm | zsystem.list_parmlib() | Displays the active parmlib |
Search parmlib for a string | parmgrep | zsystem.search_parmlib() | Searches for a string across the parmlib concatenation |
Search parmlib for a member | parmwhence | zsystem.find_parmlib() | Searches for the data set in the parmlib concatenation that a member comes from |
Display the active proclib | pproc | zsystem.list_proclib() | Shows the dynamic proclib Note: This is useful to determine where started tasks are searched for. |
Search proclib for a string | procgrep | zsystem.search_proclib() | Searches for a string across the proclib concatenation |
Search proclib for a member | procwhence | zsystem.find_proclib() | Searches for what data set of the proclib concatenation that a member comes from |
Console utility
Function | Shell | Python | Description |
---|---|---|---|
Display the console log | pcon | zsystem.read_console() | Displays the last minute, hour or day or all of the operator console log |
Operator utility
Function | Shell | Python | Description |
---|---|---|---|
Submit an operator command | opercmd | opercmd.execute() | Runs the specified operator command and writes the output to the console |
Miscellaneous
Function | Shell | Python | Description |
---|---|---|---|
Print the current HLQ | hlq | datasets.hlq() | Returns the active TSO high-level qualifier |