### IPVLANGP PARM Examples Source: https://www.ibm.com/docs/en/adffz/scc/1.7_topic=ipvlangp-side-file-formatting-utility Provides examples of valid data set names for the PARM parameter of the IPVLANGP utility, including sequential and partitioned data sets. ```example MY.SYSDEBUG.SEQ.DS MY.IPVLANGX.PDS.DS(MYPROG) ``` -------------------------------- ### JCL for PL/I Compilation (z/OS) Source: https://www.ibm.com/docs/en/adffz/scc/1.8_topic=epv3v3p-sample-jcl-compiling-enterprise-pli-version-35-version-36-programs This JCL example demonstrates the setup for compiling Enterprise PL/I programs on z/OS. It includes 'SET' statements for defining variables like the program name, compiler load library, Debug Tool load library, LE high-level qualifier, unit for temporary files, IPVLANGX utility program, and its library. The JCL then proceeds with a two-stage compilation process: PRECOMP for preprocessing and COMPILE for the main compilation. ```JCL //* - - - ADD A JOB CARD ABOVE THIS LINE - - - //* //* SAMPLE JCL TO PREPARE AN ENTERPRISE PL/I V3.5 OR //* ENTERPRISE PL/I V3.6 PROGRAM FOR THE IBM ZSERIES //* FOR THE IBM ZSERIES ADFz PRODUCTS: //* FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER //* //* NOTES: //* //* COMPILER: //* 1. A 2-STAGE COMPILE IS PERFORMED. STAGE 1 (PREPROCESS) IS //* DONE TO EXPAND INCLUDES AND MACROS IN THE PROGRAM, SO THAT //* THE SYSDEBUG FILE CREATED IN STAGE 2 (COMPILE) HAS ALL STMTS. //* 2. COMPILER PARMS TEST AND NOPT ARE REQUIRED FOR DEBUG TOOL //* 3. COMPILER PARM TEST(ALL,SYM,NOHOOK,SEP) (V3.5) OR //* TEST(ALL,SYM,NOHOOK,SEP,SEPNAME) (V3.6) IS USED BECAUSE: //* - THE MODULE IS READY FOR DEBUG TOOL //* - NOHOOK DOES NOT HAVE RUN-TIME CPU OVERHEAD. HOWEVER, THE //* MODULE IS LARGER BECAUSE OF STATEMENT TABLE //* - A SYSDEBUG FILE IS CREATED THAT CAN BE USED BY DT,FA,APA //* 4. COMPILER PARMS AGGREGATE,ATTRIBUTES(FULL),NOBLKOFF,LIST, //* MAP,NEST,NONUMBER,OPTIONS,SOURCE,STMT,XREF(FULL) ARE NEEDED //* TO PROCESS THE COMPILER LISTING WITH IPVLANGX //* //* BINDER (LINKAGE EDITOR): //* 5. THE INCLUDE FOR MODULE EQAD?CXT IS OPTIONAL. IT IS AN //* LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL. //* UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL, //* AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS. //* IF YOU USE THIS METHOD, LOAD THE CORRECT EXIT MODULE: //* EQADBCXT: FOR BATCH PROGRAMS //* EQADICXT: FOR ONLINE IMS PROGRAMS //* EQADDCXT: FOR DB2 STORED PROCEDURES (OF TYPE MAIN AND SUB) //* (for SUB this is supported only for invocations through call_sub) //* (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS) //* YOU CAN ALSO USE MODULE EQAD3CXT FOR BATCH PROGRAMS, ONLINE IMS //* PROGRAMS, DB2 TYPE MAIN STORED PROCEDURES. //* SET PARMS FOR THIS COMPILE: //* --------------------------- // SET MEM=PADSTAT PROGRAM NAME // SET PLICOMP='IBMZ.V3R5.SIBMZCMP' PLI COMPILER LOADLIB // SET DTLIB='EQAW.SEQAMOD' DEBUG TOOL LOADLIB // SET LEHLQ='CEE' LE HIGH LVL QUALIFIER // SET UNITDEV=SYSALLDA UNIT FOR TEMP FILES // SET LANGX='IPVLANGX' IPVLANGX UTILITY PROGRAM // SET LANGXLIB='IPV.SIPVMODA' LIBRARY FOR IPVLANGX UTILITY //* NOTE: USE THE IPVLANGX FACILITY SHIPPED WITH THE COMMON COMPONENT. //* //ALLOCOBJ EXEC PGM=IEFBR14 ALLOC OBJ LIB IF NEEDED //OBJ DD DSN=&SYSUID..ADLAB.OBJ,SPACE=(CYL,(3,1,15)), // DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=8000,DISP=(MOD,CATLG) //* *************************************** //* PREPROCESS STEP (COMPILE STAGE 1) //* *************************************** //PRECOMP EXEC PGM=IBMZPLI,REGION=0M, // PARM=('MACRO,MDECK,NOCOMPILE,NOSYNTAX,INSOURCE') //STEPLIB DD DSN=&PLICOMP,DISP=SHR // DD DSN=&LEHLQ..SCEERUN,DISP=SHR //SYSIN DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM) //SYSLIB DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB //SYSPRINT DD SYSOUT=* //SYSUT1 DD SPACE=(1024,(200,50),,CONTIG,ROUND),DCB=BLKSIZE=1024, // UNIT=&UNITDEV //SYSPUNCH DD DISP=(MOD,PASS),DSN=&&SRC1,UNIT=&UNITDEV, // SPACE=(80,(10,10)) //* //* *************************************** //* COMPILE STEP (COMPILE STAGE 2) //* *************************************** //COMPILE EXEC PGM=IBMZPLI,REGION=0M, // PARM=('+DD:OPTIONS') //* THE +DD:OPTIONS PARAMETER IS USED TO DIRECT THE COMPILER TO //* GET THE COMPILATION OPTIONS FROM THE OPTIONS DD STATEMENT //OPTIONS DD * TEST(ALL,SYM,NOHOOK,SEPARATE),LIST,MAP,SOURCE,XREF(FULL), NOBLKOFF,AGGREGATE,ATTRIBUTES(FULL),NEST,OPTIONS,NOPT, STMT,NONUMBER,OFFSET /* //* Note: The above options are for Enterprise PL/I Version 3.5 //* For Enterprise PL/I Version 3.6, change the TEST option //* to: TEST(ALL,SYM,NOHOOK,SEPARATE,SEPNAME) //STEPLIB DD DSN=&PLICOMP,DISP=SHR // DD DSN=&LEHLQ..SCEERUN,DISP=SHR //SYSIN DD DSN=&&SRC1,DISP=(OLD,PASS) //SYSLIB DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB //SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.ENTPLI.LISTING(&MEM) //SYSDEBUG DD DISP=SHR,DSN=&SYSUID..ADLAB.SYSDEBUG(&MEM) //SYSUT1 DD SPACE=(CYL,(5,2),,CONTIG),DCB=BLKSIZE=1024,UNIT=&UNITDEV //SYSLIN DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=SHR //* //PLIPRINT EXEC PGM=IEBGENER,REGION=0M //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=&SYSUID..ADLAB.ENTPLI.LISTING(&MEM),DISP=SHR //SYSUT2 DD SYSOUT=* //SYSIN DD DUMMY //* //* ********************************* ``` -------------------------------- ### Start and Stop Server Operator Commands Source: https://www.ibm.com/docs/en/adffz/scc/1.6_topic=overview-startup-shutdown-activity-tracing Commands to initiate and terminate server processes. These are typically used in an operator console environment. ```Operator Commands START procname ``` ```Operator Commands P procname ``` -------------------------------- ### z/OS Debugger Conditional Breakpoint Example Source: https://www.ibm.com/docs/en/adffz/scc/1.7_topic=utility-deferred-breakpoints-feature This z/OS Debugger example demonstrates setting a conditional breakpoint. The breakpoint at line 173 ('CALC-TAX') is configured to trigger every 10 times, starting from 1 up to 9. It also specifies an 'Action playback enable' which likely means to record the program state when the breakpoint is hit. ```z/OS Debugger Commands S 000173 CALC-TAX. EVERY 10 FROM 1 TO 9 Action playback enable ``` -------------------------------- ### Define PDTCC Server as Started Task in RACF Source: https://www.ibm.com/docs/en/adffz/scc/1.6_topic=authorizations-example-commands-racf Defines the PDTCC Server (IPVSRV1) started task to the RACF STARTED class. This ensures the started task can be properly authenticated and authorized. Replace 'userid' with the actual user ID the task runs under. ```z/OS RACF RDEFINE STARTED IPVSRV1.* STDATA(USER(userid)) SETROPTS RACLIST(STARTED) REFRESH ``` -------------------------------- ### Configuration: Basic Structure and Parameters Source: https://www.ibm.com/docs/en/adffz/scc/1.8_topic=server-update-sample-ipvconfg Illustrates the fundamental structure of the configuration file, including the definition of substitution variables and the usage of key parameters like SPAWN_PROGRAM and SPAWN_STEPLIB. This snippet highlights the placement of variable definitions and their subsequent use in configuration statements. ```configuration CONFIG SPAWN_PROGRAM=FMNCSEP SPAWN_STEPLIB=SYS1.IPV.SIPVMODA SYSOUT=H ``` -------------------------------- ### IPVLANGX Compiler Listing to Side File Conversion Utility Source: https://www.ibm.com/docs/en/adffz/scc/1.8_topic=programs-assembler Documentation for the IPVLANGX utility, which converts compiler listings to a side file format. This utility is part of IBM ADFz Common Components and aids in debugging. -------------------------------- ### Create and Mount zFS File System for Web Download (JCL) Source: https://www.ibm.com/docs/en/adffz/scc/1.10_topic=program-directory This JCL job creates a new z/OS UNIX file system (zFS), formats it, and mounts it to a specified path. It uses IDCAMS for cluster definition, IOEAGFMT for formatting, and IKJEFT01 to execute shell commands for directory creation and mounting. Ensure to replace placeholders like '@zfs_path@' and '@zfs_dsn@' with your specific values. The user running this job must have SUPERUSER privileges. ```JCL //FILESYS JOB //* //* - Provide valid job card information //* - Change: //* @zfs_path@ //* ----+----1----+----2----+----3----+----4----+----5 //* - To the absolute z/OS UNIX path for the download //* package (starting with /) //* - Maximum length is 50 characters //* - Do not include a trailing / //* @zfs_dsn@ //* - To your file system data set name //* //* Your userid MUST be defined as a SUPERUSER to successfully //* run this job //* //CREATE EXEC PGM=IDCAMS,REGION=0M,COND=(0,LT) //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER ( - NAME(@zfs_dsn@) - TRK(375 10) - LINEAR - SHAREOPTIONS(3) - ) //* // SET ZFSDSN='@zfs_dsn@' //FORMAT EXEC PGM=IOEAGFMT,REGION=0M,COND=(0,LT), // PARM='-aggregate &ZFSDSN. -compat' //*STEPLIB DD DISP=SHR,DSN=IOE.SIOELMOD before z/OS 1.13 //*STEPLIB DD DISP=SHR,DSN=SYS1.SIEALNKE from z/OS 1.13 //SYSPRINT DD SYSOUT=* //* //MOUNT EXEC PGM=IKJEFT01,REGION=0M,COND=(0,LT) //SYSEXEC DD DISP=SHR,DSN=SYS1.SBPXEXEC //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * PROFILE MSGID WTPMSG oshell umask 0022; + mkdir -p @zfs_path@ MOUNT + FILESYSTEM('@zfs_dsn@') + MOUNTPOINT('@zfs_path@') + MODE(RDWR) TYPE(ZFS) PARM('AGGRGROW') //* ``` -------------------------------- ### Create and Mount zFS for Download Package (JCL) Source: https://www.ibm.com/docs/en/adffz/scc/1.9_topic=program-directory This JCL job creates a new z/OS UNIX file system (zFS) and mounts it to a specified path. It uses IDCAMS to define the cluster, IOEAGFMT to format the aggregate, and IKJEFT01 to execute shell commands for directory creation and mounting. Ensure the `@zfs_path@` and `@zfs_dsn@` parameters are correctly set, and the user has SUPERUSER privileges. The size is specified for the base feature (375 tracks), which may need adjustment for additional features. ```JCL //FILESYS JOB //* //* - Provide valid job card information //* - Change: //* @zfs_path@ //* ----+----1----+----2----+----3----+----4----+----5 //* - To the absolute z/OS UNIX path for the download //* package (starting with /) //* - Maximum length is 50 characters //* - Do not include a trailing / //* @zfs_dsn@ //* - To your file system data set name //* //* Your userid MUST be defined as a SUPERUSER to successfully //* run this job //* //CREATE EXEC PGM=IDCAMS,REGION=0M,COND=(0,LT) //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER ( - NAME(@zfs_dsn@) - TRK(375 10) - LINEAR - SHAREOPTIONS(3) - ) //* // SET ZFSDSN='@zfs_dsn@' //FORMAT EXEC PGM=IOEAGFMT,REGION=0M,COND=(0,LT), // PARM='-aggregate &ZFSDSN. -compat' //*STEPLIB DD DISP=SHR,DSN=IOE.SIOELMOD before z/OS 1.13 //*STEPLIB DD DISP=SHR,DSN=SYS1.SIEALNKE from z/OS 1.13 //SYSPRINT DD SYSOUT=* //* //MOUNT EXEC PGM=IKJEFT01,REGION=0M,COND=(0,LT) //SYSEXEC DD DISP=SHR,DSN=SYS1.SBPXEXEC //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * PROFILE MSGID WTPMSG oshell umask 0022; + mkdir -p @zfs_path@ MOUNT + FILESYSTEM('@zfs_dsn@') + MOUNTPOINT('@zfs_path@') + MODE(RDWR) TYPE(ZFS) PARM('AGGRGROW') //* ``` -------------------------------- ### Start Server Operator Command Source: https://www.ibm.com/docs/en/adffz/scc/1.7_topic=overview-startup-shutdown-activity-tracing The START procname operator command is used to initiate the server process. This command takes the server process name as an argument. ```JCL START procname ``` -------------------------------- ### SMP/E APPLY CHECK with Recommended Service Source: https://www.ibm.com/docs/en/adffz/scc/1.10_topic=program-directory Performs an SMP/E APPLY CHECK to ensure all recommended and critical service is installed with the specified FMIDs. It requires receiving the latest HOLDDATA and utilizes FIXCAT for required installation service. This is a preparatory step before the actual APPLY. ```JCL APPLY S(fmid,fmid,...) CHECK FORFMID(fmid,fmid,...) SOURCEID(RSU*) FIXCAT(IBM.PRODUCTINSTALL-REQUIREDSERVICE) GROUPEXTEND . ``` -------------------------------- ### Sample JCL for Compiling z/OS C++ Programs Source: https://www.ibm.com/docs/en/adffz/scc/1.8_topic=programs-preparing-zos-xl-c-c This snippet includes sample JCL for compiling z/OS C++ programs. It demonstrates the necessary steps and parameters for the z/OS XL C++ compiler to successfully compile C++ source code on the z/OS mainframe environment. ```JCL //STEP1 EXEC PGM=IRXJCL,REGION=0M //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSTSIN DD * CALL "CBC390" PARM(OBJECT,NODECK,NOSQL) /* //SYSIN DD DSN=MY.CPP.SOURCE(MEMBER),DISP=SHR //OBJECT DD DSN=MY.OBJECT.MODULE,DISP=(NEW,CATLG,DELETE), // SPACE=(80,(100,100,100)),UNIT=SYSDA, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSLIN DD DSN=&&LOADSET,DISP=(NEW,PASS,DELETE), // SPACE=(80,(100,100,100)),UNIT=SYSDA, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) ``` -------------------------------- ### Copy ADFzCC JPN Sample Jobs using IEBCOPY Source: https://www.ibm.com/docs/en/adffz/scc/1.10_topic=program-directory This JCL utilizes the IEBCOPY utility to copy sample installation jobs for the ADFzCC JPN feature from a source data set to a target JCL library. It enables the selective transfer of specific members necessary for installation. ```JCL //STEP1 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT לק //IN DD DSN=IBM.HVWR190.F2, // DISP=SHR, //* VOL=SER=**filevol**, // UNIT=SYSALLDA //OUT DD DSNAME=**jcl-library-name**, // DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(5,5,5)), //* VOL=SER=**dasdvol**, // UNIT=SYSALLDA //SYSUT3 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)) //SYSIN DD * COPY INDD=IN,OUTDD=OUT SELECT MEMBER=(IPVWRCVJ,IPVWALOJ) SELECT MEMBER=(IPVWDDFJ,IPVWAPLJ,IPVWACPJ) /* ``` -------------------------------- ### Upload ADFzCC Base Package via FTP Source: https://www.ibm.com/docs/en/adffz/scc/1.9_topic=program-directory This snippet demonstrates uploading the ADFzCC Base package, including a readme file in ASCII and a compressed package file in binary, using FTP from a Windows command line. It assumes prerequisite values for host address, user credentials, local file path, and z/OS path have been defined. ```shell C:\\>ftp mvsaddr Connected to mvsaddr. 220-FTPD1 IBM FTP CS %version% at mvsaddr, %time% on %date%. 220 Connection will close if idle for more than 5 minutes. User (mvsaddr:(none)):_ tsouid 331 Send password please. Password:_ tsopw 230 tsouid is logged on. Working directory is "tsouid.". ftp> cd @zfs_path@ 250 HFS directory @zfs_path@ is the current working directory ftp> ascii 200 Representation type is Ascii NonPrint ftp> put d:\\HVWR190.readme.txt 200 Port request OK. 125 Storing data set @zfs_path@/HVWR190.readme.txt 250 Transfer completed successfully. ftp: 19845 bytes sent in 0.01 sec. (1366.67 Kb/s) ftp> binary 200 Representation type is Image ftp> put d:\\HVWR190.pax.Z 200 Port request OK. 125 Storing data set @zfs_path@/HVWR190.pax.Z 250 Transfer completed successfully. ftp: 4612608 bytes sent in 1.26 sec. (1040.52 Kb/s) ftp> quit 221 Quit command received. Goodbye. ``` -------------------------------- ### Copy ADFzCC Base Sample Jobs using IEBCOPY Source: https://www.ibm.com/docs/en/adffz/scc/1.10_topic=program-directory This JCL uses the IEBCOPY utility to copy sample installation jobs for the ADFzCC Base feature from a source data set to a target JCL library. It allows for selective copying of specific members required for installation. ```JCL //STEP1 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT לק //IN DD DSN=IBM.HVWR190.F2, // DISP=SHR, //* VOL=SER=**filevol**, // UNIT=SYSALLDA //OUT DD DSNAME=**jcl-library-name**, // DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(5,5,5)), //* VOL=SER=**dasdvol**, // UNIT=SYSALLDA //SYSUT3 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)) //SYSIN DD * COPY INDD=IN,OUTDD=OUT SELECT MEMBER=(IPVWSMPE,IPVWRECV,IPVWALOC) SELECT MEMBER=(IPVWDDEF,IPVWAPLY,IPVWACPT) /* ``` -------------------------------- ### ADFzCC Server JCL Procedure (IPVSRV1) Source: https://www.ibm.com/docs/en/adffz/scc/1.8_topic=overview-sample-server-procedure This JCL procedure, IPVSRV1, configures and starts the ADFzCC server. It allows customization of port, IP address family (IPv4/IPv6), and tracing options. The procedure requires several customization steps before execution, including updating the high-level qualifier and specifying the LE C runtime library. ```JCL //IPVSRV1 PROC PORT=2800,FAMILY='AF_INET',TRACE=N //******************************************************************** //* Copyright = Licensed Materials - Property of IBM * //* * //* 5655-IPV * //* * //* Copyright IBM Corp. 2006, 2017. * //* All Rights Reserved. * //* Copyright HCL Technologies Ltd. 2017. * //* All Rights Reserved. * //* * //* US Government Users Restricted Rights - * //* Use, duplication or disclosure restricted by * //* GSA ADP Schedule Contract with IBM Corp. * //* * //* Status = IBM Application Delivery Foundation for * //* z Systems Common Components, release 8. * //* * //******************************************************************** //* FAMILY=AF_INET|AF_INET6 for TCP/IP V4 or V6 socket and bind //* TRACE=N|D|U No server trace, detailed trace or //* user connection trace //* //* This is not a complete JCL procedure. It requires customisation //* steps before running. To customise, //* 1. Customise the IPVCONFG member //* 2. Customise and run the IPVMKDIR sample job to match //* 3. replace IPV with your high level qualifier for the ADFzCC product //* 4. Uncomment and replace CEE for your hlq for the LE C runtime //* if SCEERUN is not in the site linklist //* //RUN EXEC PGM=IPVSRV,REGION=40M, // PARM=('&PORT &FAMILY &TRACE') // SET IPV=IPV >== Update HLQ //* Common component authorised library //STEPLIB DD DISP=SHR,DSN=&IPV.SIPVMODA >== ADFzCC APF LIBRARY //* DD DISP=SHR,DSN=CEE.SCEERUN >== LE C RUNTIME //SYSPRINT DD SYSOUT=* //IPVTRACE DD SYSOUT=* >== OUTPUT if Tracing //STDOUT DD SYSOUT=* //* Server wide, then participating product configurations //CONFIG DD DISP=SHR,DSN=&IPV.SIPVSAM1(IPVCONFG) **************************** Bottom of Data ************************** ``` -------------------------------- ### z/OS Debugger Line Breakpoint Example Source: https://www.ibm.com/docs/en/adffz/scc/1.7_topic=utility-deferred-breakpoints-feature This example shows how to set a line breakpoint at a specific line number (173) in a COBOL program using z/OS Debugger. The 'S' command is used to select the line for breakpoint modification. This allows developers to pause execution at this point for debugging. ```z/OS Debugger Commands S 000173 CALC-TAX. ``` -------------------------------- ### SMP/E APPLY CHECK bypassing HIPER APARs Source: https://www.ibm.com/docs/en/adffz/scc/1.10_topic=program-directory Installs FMIDs while bypassing unresolved HIPER APARs, allowing installation to proceed even with known issues. It uses the BYPASS(HOLDCLASS(HIPER)) operand and requires subsequent review using REPORT ERRSYSMODS. This method is quicker but necessitates post-installation analysis. ```JCL APPLY S(fmid,fmid,...) CHECK FORFMID(fmid,fmid,...) SOURCEID(RSU*) FIXCAT(IBM.PRODUCTINSTALL-REQUIREDSERVICE) GROUPEXTEND BYPASS(HOLDCLASS(HIPER)) . ..any other parameters documented in the program directory ``` -------------------------------- ### Upload ADFzCC Base Package using FTP Source: https://www.ibm.com/docs/en/adffz/scc/1.10_topic=program-directory This code snippet demonstrates how to upload the ADFzCC Base installation package (HVWR190.readme.txt and HVWR190.pax.Z) from a Windows workstation to a z/OS UNIX file system using the FTP command-line client. It includes changing to the target directory, setting the transfer mode to ASCII for the readme file, and then to binary for the compressed archive, followed by uploading the files. Assumes user credentials and paths are pre-configured. ```bash C:\>ftp mvsaddr Connected to mvsaddr. 220-FTPD1 IBM FTP CS %version% at mvsaddr, %time% on %date%. 220 Connection will close if idle for more than 5 minutes. User (mvsaddr:(none)): tsouid 331 Send password please. Password: tsou_pw 230 tsouid is logged on. Working directory is "tsouid.". ftp> cd @zfs_path@ 250 HFS directory @zfs_path@ is the current working directory ftp> ascii 200 Representation type is Ascii NonPrint ftp> put d:\HVWR190.readme.txt 200 Port request OK. 125 Storing data set @zfs_path@/HVWR190.readme.txt 250 Transfer completed successfully. ftp: 19845 bytes sent in 0.01 sec. (1366.67 Kb/s) ftp> binary 200 Representation type is Image ftp> put d:\HVWR190.pax.Z 200 Port request OK. 125 Storing data set @zfs_path@/HVWR190.pax.Z 250 Transfer completed successfully. ftp: 4612608 bytes sent in 1.26 sec. (1040.52 Kb/s) ftp> quit 221 Quit command received. Goodbye. ``` -------------------------------- ### Sample Job Step for IPVLANGO Utility Source: https://www.ibm.com/docs/en/adffz/scc/1.8_topic=cccgug-ipvlango-automatic-binary-optimizer-langx-file-update-utility This JCL sample demonstrates how to execute the IPVLANGO utility. It shows the necessary DD statements for inputting the ABO listing transforms file (LISTING) and the original side file (IPVLANGX), as well as the DD statement for the output optimized LANGX file (IPVLANGO). ```jcl //LANGO EXEC PGM=IPVLANGO //LISTING DD DISP=SHR,DSN=*.OPT.SYSPRINT <--- Input ABO transforms file //IPVLANGX DD DISP=SHR,DSN=JERRYBL.BINOPT.LANGX //IPVLANGO DD DISP=SHR,DSN=JERRYBL.BINOPT.LANGX.ABO ``` -------------------------------- ### z/OS Debugger Breakpoint Commands Source: https://www.ibm.com/docs/en/adffz/scc/1.7_topic=utility-deferred-breakpoints-feature Examples of z/OS Debugger commands for setting breakpoints at specific lines or conditions. These commands control program execution flow during debugging sessions. ```COBOL 000173 AT EVERY 10 FROM 1 TO 9 LABEL CALC-TAX playback enable; 000175 AT EVERY 10 FROM 9 TO 1 LINE 175 WHEN cc=0 playback disable; ``` -------------------------------- ### Utility Programs for LANGX File Creation Source: https://www.ibm.com/docs/en/adffz/scc/1.8_topic=programs-preparing-enterprise-cobol-zos-version-4 These utility programs are used to create LANGX files from compiler listings when the `TEST` option is not used. LANGX files provide source information for debugging and analysis tools. EQALANGX is for z/OS Debugger, IDILANGX for Fault Analyzer, and CAZLANGX for Application Performance Analyzer. Aliases are provided to simplify JCL changes. ```text z/OS Debugger: EQALANGX Fault Analyzer for z/OS: IDILANGX Application Performance Analyzer for z/OS: CAZLANGX ``` -------------------------------- ### COBOL SCLM Configuration for IPVLANGX Source: https://www.ibm.com/docs/en/adffz/scc/1.8_topic=translator-cobol-sclm-example COBOL SCLM configuration using FLMTRNSL to execute the IPVLANGX process. It specifies the dataset for IPVLANGX, its version, and includes options for error reporting and output. ```COBOL FLMTRNSL CALLNAM='IPVLANGX', FUNCTN=BUILD, COMPILE=IPVLANGX, DSNAME=IPV.SIPVMODA, VERSION=3.5.2, GOODRC=0, PORDER=1, OPTIONS='@@FLMMBR(COBOL ERROR' (* LISTING *) FLMALLOC IOTYPE=U,DDNAME=LISTING (* IDILANGX *) FLMALLOC IOTYPE=P,DDNAME=IDILANGX,DFLTTYP=IDILANGX, KEYREF=OUT2,BLKSIZE=27998,LRECL=1562,RECFM=VB, RECNUM=10000,DIRBLKS=50,DFLTMEM=* ```