SCRIPT/VS 4.0.0: DEVICE 1403N8 CHARS MONO » Program Directory for ACIF and AFP API Features of PSF/MVS Program Number 5695-040  FMIDs HQN2110, HQN2112  for Use with MVS OS/390  CBPDO Level SMC9846 Service Level 9846 Document Date: January 8, 1999  GI10-0204-02 » Ð××× NOTE! ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | Before using this information and the product it supports, be sure | | to read the general information under "Notices" on page vii. | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר  A form for reader's comments appears at the back of this publication. When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. (C) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1993, 1998. ALL RIGHTS RESERVED. Note to U.S. Government Users ×× Documentation related to restricted rights ×× Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. » CONTENTS  NOTICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . vii 1.0 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 ACIF and AFP API Description . . . . . . . . . . . . . . . 1 1.1.1 ACIF Description . . . . . . . . . . . . . . . . . . . . 1 1.1.2 AFP API Description . . . . . . . . . . . . . . . . . . 2 1.2 ACIF and AFP API FMIDs . . . . . . . . . . . . . . . . . . 2 2.0 PROGRAM MATERIALS . . . . . . . . . . . . . . . . . . . . . 3 2.1 Basic Machine-Readable Material . . . . . . . . . . . . . . 3 2.2 Optional Machine-Readable Material . . . . . . . . . . . . . 4 2.3 Program Publications . . . . . . . . . . . . . . . . . . . . 4 2.3.1 Basic Program Publications . . . . . . . . . . . . . . . 4 2.3.2 Optional Program Publications . . . . . . . . . . . . . 4 2.4 Program Source Materials . . . . . . . . . . . . . . . . . . 4 2.5 Publications Useful During Installation . . . . . . . . . . 4 3.0 PROGRAM SUPPORT . . . . . . . . . . . . . . . . . . . . . . 7 3.1 Program Services . . . . . . . . . . . . . . . . . . . . . . 7 3.2 Preventive Service Planning . . . . . . . . . . . . . . . . 7 3.3 Statement of Support Procedures . . . . . . . . . . . . . . 7 4.0 PROGRAM AND SERVICE LEVEL INFORMATION . . . . . . . . . . . 9 4.1 Program Level Information . . . . . . . . . . . . . . . . . 9 4.2 Service Level Information . . . . . . . . . . . . . . . . . 10 4.3 Cumulative Service Tape . . . . . . . . . . . . . . . . . . 10 5.0 INSTALLATION REQUIREMENTS AND CONSIDERATIONS . . . . . . . . 11 5.1 Driving System Requirements . . . . . . . . . . . . . . . . 11 5.1.1 Machine Requirements . . . . . . . . . . . . . . . . . . 11 5.1.2 Programming Requirements . . . . . . . . . . . . . . . . 11 5.2 Target System Requirements . . . . . . . . . . . . . . . . . 11 5.2.1 Machine Requirements . . . . . . . . . . . . . . . . . . 11 5.2.2 Programming Requisites . . . . . . . . . . . . . . . . . 11 5.2.2.1 Minimum Requisites . . . . . . . . . . . . . . . . . 12 5.2.2.2 Functional Requisites . . . . . . . . . . . . . . . 12 5.2.2.3 Toleration/Coexistence Requisites . . . . . . . . . 14 5.2.2.4 Incompatibility (Negative) Requisites . . . . . . . 14 5.2.3 DASD Storage Requirements . . . . . . . . . . . . . . . 14 5.3 FMIDs Deleted . . . . . . . . . . . . . . . . . . . . . . . 17 5.4 Special Considerations . . . . . . . . . . . . . . . . . . . 17 6.0 INSTALLATION INSTRUCTIONS . . . . . . . . . . . . . . . . . 19 6.1 Installing ACIF and AFP API . . . . . . . . . . . . . . . . 19 6.1.1 SMP/E Considerations for Installing ACIF and AFP API . . 19 6.1.2 SMP/E Environment . . . . . . . . . . . . . . . . . . . 19 6.1.3 SMP/E Options Subentry Values . . . . . . . . . . . . . 20 6.1.4 Unload the Sample JCL from the Product Tape . . . . . . 20 6.1.5 Perform SMP/E RECEIVE . . . . . . . . . . . . . . . . . 20 6.1.6 RECEIVE the Cumulative Service Tape . . . . . . . . . . 21 6.1.7 Allocate SMP/E Target and Distribution Libraries . . . . 22 6.1.8 Create DDDEF Entries . . . . . . . . . . . . . . . . . . 26 6.1.9 Perform SMP/E APPLY CHECK . . . . . . . . . . . . . . . 30 6.1.10 Perform SMP/E APPLY . . . . . . . . . . . . . . . . . . 31 6.1.11 Perform SMP/E ACCEPT CHECK . . . . . . . . . . . . . . 33 6.1.12 Perform SMP/E ACCEPT . . . . . . . . . . . . . . . . . 34 7.0 ACIF AND AFP API INSTALLATION VERIFICATION PROCEDURE . . . . 35 7.1 ACIF Installation Verification Procedure . . . . . . . . . . 35 7.2 AFP API Installation Verification Procedure in the MVS Environment . . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.2.1 Create Font Library Index . . . . . . . . . . . . . . . 37 7.2.2 IVP for the COBOL Program . . . . . . . . . . . . . . . 39 7.2.3 IVP for the PL/1 Program . . . . . . . . . . . . . . . . 41 7.2.3.1 Using LE/370 With AFP API . . . . . . . . . . . . . 46 7.3 AFP API Installation Verification Procedure for the CICS/ESA Environment . . . . . . . . . . . . . . . . . . . . . . . . . . 52 7.3.1 Perform APQCILNK Post Installation Job . . . . . . . . . 52  (C) Copyright IBM Corp. 1993, 1998 iii » 7.3.2 Create Font Library Index . . . . . . . . . . . . . . . 55 7.3.3 Create VSAM Data Sets for Fonts and Page Segments . . . 55 7.3.3.1 VSAM Data Set for Fonts . . . . . . . . . . . . . . 55 7.3.3.2 VSAM Data Set for Page Segments . . . . . . . . . . 57 7.3.4 Create Entries in the CICS/ESA File Control Table . . . 59 7.3.5 Create Program Entries in the CICS/ESA Processing Program Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.3.6 Create Transaction Definitions in the CICS/ESA Program Control Table . . . . . . . . . . . . . . . . . . . . . . . . 60 7.3.7 Add Resource Definitions to Active CICS/ESA System . . . 60 7.3.8 CICS System Definition File . . . . . . . . . . . . . . 61 7.3.9 Modify APQPERF Copy Book . . . . . . . . . . . . . . . . 65 7.3.10 Compile the Sample COBOL Programs . . . . . . . . . . . 67 7.3.11 Run the Sample COBOL Programs . . . . . . . . . . . . . 69 APPENDIX A. ACIF AND AFP API INSTALL LOGIC . . . . . . . . . . . 71 A.1 SMP/E Modification Control Statements . . . . . . . . . . . 71 A.1.1 FMID HQN2110 . . . . . . . . . . . . . . . . . . . . . 71 A.1.2 FMID HQN2112 . . . . . . . . . . . . . . . . . . . . . 72 A.2 SMP/E JCLIN . . . . . . . . . . . . . . . . . . . . . . . . 73 APPENDIX B. PTF COVER LETTER DATA FOR SERVICE LEVEL 9846 . . . . 75 B.1 Cover Letter for PTF UQ18734 . . . . . . . . . . . . . . . . 75 READER'S COMMENTS . . . . . . . . . . . . . . . . . . . . . . . . 79 FIGURES  1. Basic Material: Program Tape . . . . . . . . . . . . . . . . 3 2. Program Tape: File Content . . . . . . . . . . . . . . . . . 3 3. Basic Material: Unlicensed Publications . . . . . . . . . . 4 4. Publications Useful During Installation . . . . . . . . . . 4 5. PSP Upgrade and Subset ID . . . . . . . . . . . . . . . . . 7 6. Component IDs . . . . . . . . . . . . . . . . . . . . . . . 7 7. Driving System Software Requirements . . . . . . . . . . . . 11 8. Minimum Requisites . . . . . . . . . . . . . . . . . . . . . 12 9. Functional Requisites for ACIF and AFP API . . . . . . . . . 12 10. Functional Requisites for AFP API . . . . . . . . . . . . . 13 11. Total DASD Space (in 3390 tracks) Required by ACIF and AFP API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 12. Storage Requirements for SMP/E Work Data Sets . . . . . . . 15 13. Storage Requirements for SMP/E Data Sets . . . . . . . . . . 16 14. Storage Requirements for ACIF Target Libraries . . . . . . . 16 15. Storage Requirements for ACIF Distribution Libraries . . . . 16 16. Storage Requirements for AFP API Target Libraries . . . . . 17 17. Storage Requirements for AFP API Distribution Libraries . . 17 18. SMP/E Options Subentry Values . . . . . . . . . . . . . . . 20 19. Sample UNLOAD Job . . . . . . . . . . . . . . . . . . . . . 20 20. Sample SMP/E RECEIVE Job . . . . . . . . . . . . . . . . . . 21 21. RECEIVE Job for Cumulative Service Tape . . . . . . . . . . 22 22. Sample Allocate Job for ACIF . . . . . . . . . . . . . . . . 23 23. Sample Allocate Job for AFP API . . . . . . . . . . . . . . 25 24. JCL to Create Target and Distribution DDDEFs for ACIF . . . 27 25. JCL to Create Target and Distribution DDDEFs for AFP API . . 29 26. Sample SMP/E APPLY CHECK Job . . . . . . . . . . . . . . . . 31 27. Sample SMP/E APPLY Job . . . . . . . . . . . . . . . . . . . 31 28. Sample SMP/E ACCEPT CHECK Job . . . . . . . . . . . . . . . 33 29. Sample SMP/E ACCEPT Job . . . . . . . . . . . . . . . . . . 34 30. APKIVP Job for ACIF IVP . . . . . . . . . . . . . . . . . . 35 31. APQFLIP Job to Create Font Index . . . . . . . . . . . . . . 37 32. APQCOCOB Job for COBOL IVP . . . . . . . . . . . . . . . . . 39 33. APQIVCOB Job for COBOL IVP . . . . . . . . . . . . . . . . . 41 34. APQCOPLI Job for PL/1 IVP . . . . . . . . . . . . . . . . . 42 35. APQIVPLI Job for PL/1 IVP . . . . . . . . . . . . . . . . . 45 36. APQCOLE PL/1 IVP Using LE/370 . . . . . . . . . . . . . . . 47  iv ACIF and AFP API Program Directory » 37. APQIVPLE PL/1 IVP Using LE/370 . . . . . . . . . . . . . . . 50 38. APQCILNK Post Installation Job . . . . . . . . . . . . . . . 53 39. APQCIFON Job . . . . . . . . . . . . . . . . . . . . . . . . 56 40. APQCISEG Job . . . . . . . . . . . . . . . . . . . . . . . . 58 41. RDO Menu to Install Resource Definitions to CICS . . . . . . 60 42. Sample CICS System Definition (CSD) Listing . . . . . . . . 61 43. APQPERF Copy Book . . . . . . . . . . . . . . . . . . . . . 65 44. APQCOSMB Job to Compile the Sample COBOL Program . . . . . . 68 Figures v »  vi ACIF and AFP API Program Directory » NOTICES  References in this document to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program, or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe on any of IBM's intellectual property rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, except those expressly designated by IBM, is the user's responsibility. APAR numbers are provided in this document to assist in locating PTFs that may be required. Ongoing problem reporting may result in additional APARs being created. Therefore, the APAR lists in this document may not be complete. To obtain current service recommendations and to identify current product service requirements, always contact the IBM Customer Support Center. IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 USA For online versions of this book, we authorize you to: ® Copy, modify, and print the documentation contained on the media, for use within your enterprise, provided you reproduce the copyright notice, all warning statements, and other required statements on each copy or partial copy. ® Transfer the original unaltered copy of the documentation when you transfer the related IBM product (which may be either machines you own, or programs, if the program's license terms permit a transfer). You must, at the same time, destroy all other copies of the documentation. You are responsible for payment of any taxes, including personal property taxes, resulting from this authorization. THERE ARE NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do not allow the exclusion of implied warranties, so the above exclusion may not apply to you. Your failure to comply with the terms above terminates this authorization. Upon termination, you must destroy your machine readable documentation.  TRADEMARKS The following terms are trademarks of the IBM Corporation in the United States or other countries or both: Advanced Function Presentation Language Environment AFP MVS/ESA CBIPO OS/390(R) CBPDO Print Services Facility CICS ProductPac(R) CICS/ESA PSF DFSMS RETAIN IBM(R)  (C) Copyright IBM Corp. 1993, 1998 vii » S/390(R) SP viii ACIF and AFP API Program Directory » 1.0 INTRODUCTION  This program directory is intended for the system programmer responsible for program installation and maintenance. It contains information concerning the material and procedures associated with the installation of ACIF and AFP API Functions for PSF/MVS. This publication refers to ACIF and AFP API Functions for PSF/MVS as ACIF and AFP API. You should read all of this program directory before installing the program and then keep it for future reference. The program directory contains the following sections: ® 2.0, "Program Materials" on page 3 identifies the basic and optional program materials and documentation for ACIF and AFP API. ® 3.0, "Program Support" on page 7 describes the IBM support available for ACIF and AFP API. ® 4.0, "Program and Service Level Information" on page 9 lists the APARs (program level) and PTFs (service level) incorporated into ACIF and AFP API. ® 5.0, "Installation Requirements and Considerations" on page 11 identifies the resources and considerations for installing and using ACIF and AFP API. ® 6.0, "Installation Instructions" on page 19 provides detailed installation instructions for ACIF and AFP API. It also describes the procedures for activating the functions of ACIF and AFP API, or refers to appropriate publications. ® Appendix A, "ACIF and AFP API Install Logic" on page 71 provides the install logic for ACIF and AFP API. Before installing ACIF and AFP API, read 3.2, "Preventive Service Planning" on page 7. This section tells you how to find any updates to the information and procedures in this program directory. Do not use this program directory if you are installing ACIF and AFP API with an MVS Custom-Built Installation Process Offering (CBIPO), SystemPac, or ServerPac. When using these offerings, use the jobs and documentation supplied with the offering. This documentation may point you to specific sections of the program directory as required. If you are installing ACIF and AFP API using the MVS Custom-Built Product Delivery Offering (CBPDO) (5751-CS3), use the softcopy program directory provided on the CBPDO tape. Your CBPDO contains a softcopy preventive service planning (PSP) upgrade for this product. All service and HOLDDATA for ACIF and AFP API are included on the CBPDO tape.  1.1 ACIF AND AFP API DESCRIPTION ACIF and AFP API are features of Print Services Facility/MVS (PSF/MVS) that support the Advanced Function Presentation (AFP) application environment.  1.1.1 ACIF DESCRIPTION ACIF is a tool that lets you convert an S/390 line-data print file into a MO:DCA××P document, retrieve resources used by the document, and index the file for later retrieval and viewing. ACIF provides these functions across systems and platforms: ® converts line-format print files to MO:DCA××P documents. ® Adds indexing tags to MO:DCA××P documents. (C) Copyright IBM Corp. 1993, 1998 1 » ® Creates a separate index object file from the indexing tags in a MO:DCA××P document. ® Retrieves and packages AFP resources needed for printing or viewing a MO:DCA××P document.  1.1.2 AFP API DESCRIPTION AFP Application Programming Interface (AFP API) provides callable routines for COBOL and PL/1 programmers to use to produce the AFP data stream. These routines enable programmers to format complex output applications without knowing the syntax and semantics of the AFP data stream, thus improving programmer productivity. Refer to the Print Services Facility/MVS Program Directory for a list of printers that ACIF and AFP API support.  1.2 ACIF AND AFP API FMIDS ACIF and AFP API consist of the following FMIDs: HQN2110 HQN2112 2 ACIF and AFP API Program Directory » 2.0 PROGRAM MATERIALS  An IBM program is identified by a program number and a feature number. The program number for PSF/MVS and the ACIF and AFP API feature is 5695-040. Basic Machine-Readable Materials are materials that are supplied under the base license and feature code, and are required for the use of the product. Optional Machine-Readable Materials are orderable under separate feature codes, and are not required for the product to function. The program announcement material describes the features supported by ACIF and AFP API. Ask your IBM representative for this information if you have not already received a copy.  2.1 BASIC MACHINE-READABLE MATERIAL The distribution medium for this program is 9-track magnetic tape (written at 6250 BPI), 3480 cartridge, 3590 cartridge, or 4mm cartridge. The tape or cartridge contains all the programs and data needed for installation. It is installed using SMP/E, and is in SMP/E RELFILE format. See 6.0, "Installation Instructions" on page 19 for more information about how to install the program. Figure 1 describes the tape or cartridge. Figure 2 describes the file content of the program tape or cartridge. NOTE: If you are installing ACIF and AFP API using the MVS Custom-Built Product Delivery Offering (CBPDO) (5751-CS3), some of the information in these figures may not be valid. Consult the CBPDO documentation for actual values. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 1. Basic Material: Program Tape |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ | | | FEATURE | PHYSICAL | EXTERNAL LABEL | | | MEDIUM | NUMBER | VOLUME | IDENTIFICATION | VOLSER |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | 6250 tape | 5801 | 1 | PSF.ACIF.API.2.2.0 | QN2110 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | 3480 cart. | 5802 | 1 | PSF.ACIF.API.2.2.0 | QN2110 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | 4mm cart. | 5337 | 1 | PSF.ACIF.API.2.2.0 | QN2110 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 2 (Page 1 of 2). Program Tape: File Content |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ ¯ ¯ | | | | | DIST | | | BLK | | VOLSER | FILE | NAME | LIBRARY | RECFM | LRECL | SIZE |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | QN2110 | 1 | SMPMCS | n/a | FB | 80 | 8800 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 2 | IBM.HQN2110.F1 | JCLIN | FB | 80 | 8800 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 3 | IBM.HQN2110.F2 | AAPKMOD1| U | 0 | 6144 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 4 | IBM.HQN2110.F3 | AAPKSAM1| FB | 80 | 8800 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 5 | IBM.HQN2110.F4 | AAPKSAM2| FB | 80 | 8800 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 6 | IBM.HQN2110.F5 | AAPKULIB| VBM | 8205 | 8209 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 7 | IBM.HQN2110.F6 | AAPKSAM3| FBA | 200 | 8000 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 8 | IBM.HQN2112.F1 | JCLIN | FB | 80 | 8800 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 9 | IBM.HQN2112.F2 | AAPQMOD1| U | 0 | 6144 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿  (C) Copyright IBM Corp. 1993, 1998 3 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 2 (Page 2 of 2). Program Tape: File Content |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ ¯ ¯ | | | | | DIST | | | BLK | | VOLSER | FILE | NAME | LIBRARY | RECFM | LRECL | SIZE |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 10 | IBM.HQN2112.F3 | AAPQMOD2| U | 0 | 6144 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 11 | IBM.HQN2112.F4 | AAPQULIB| VBM | 8205 | 8209 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | 12 | IBM.HQN2112.F5 | AAPQSAM1| FB | 80 | 8800 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿  2.2 OPTIONAL MACHINE-READABLE MATERIAL No optional machine-readable materials are provided for ACIF and AFP API.  2.3 PROGRAM PUBLICATIONS The following sections identify the basic and optional publications for ACIF and AFP API.  2.3.1 BASIC PROGRAM PUBLICATIONS Figure 3 identifies the basic unlicensed program publications for ACIF and AFP API. One copy of each of these publications is included when you order the basic materials for ACIF and AFP API. For additional copies, contact your IBM representative. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 3. Basic Material: Unlicensed Publications |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ | | PUBLICATION TITLE | FORM NUMBER |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | AFP Application Programming Interface: Programming | S544-3872 | | Guide and Reference | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | AFP Application Programming Interface: COBOL | S544-3873 | | Language Reference | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | AFP Application Programming Interface: PL/1 | S544-3874 | | Language Reference | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | AFP Conversion and Indexing Facility: User's Guide | S544-5285 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿  2.3.2 OPTIONAL PROGRAM PUBLICATIONS No optional publications are provided for ACIF and AFP API.  2.4 PROGRAM SOURCE MATERIALS No program source materials or viewable program listings are provided for ACIF and AFP API.  2.5 PUBLICATIONS USEFUL DURING INSTALLATION Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 4 (Page 1 of 2). Publications Useful During Installation |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ | | PUBLICATION TITLE | FORM NUMBER |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | OS/390 SMP/E Commands | SC28-1805 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | OS/390 SMP/E Reference | SC28-1806 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | OS/390 SMP/E User's Guide | SC28-1740 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿  4 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 4 (Page 2 of 2). Publications Useful During Installation |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ | | PUBLICATION TITLE | FORM NUMBER |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | OS/390 SMP/E Messages and Codes | SC28-1738 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | SMP/E Reference | SC28-1107 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | SMP/E User's Guide | SC28-1302 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | SMP/E Messages and Codes | SC28-1108 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | OS/390 MVS JCL Reference | GC28-1757 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | MVS/ESA V5 JCL Reference | GC28-1479 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | MVS/ESA V4 JCL Reference | GC28-1654 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | CICS/ESA 4.1 Resource Definition Guide | SC33-1166 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿  Program Materials 5 »  6 ACIF and AFP API Program Directory » 3.0 PROGRAM SUPPORT  This section describes the IBM support available for ACIF and AFP API.  3.1 PROGRAM SERVICES Contact your IBM representative for specific information about available program services.  3.2 PREVENTIVE SERVICE PLANNING Before installing ACIF and AFP API, you should review the current Preventive Service Planning (PSP) information. If you obtained ACIF and AFP API as part of a CBPDO, there is HOLDDATA and PSP information included on the CBPDO tape. If you obtained ACIF and AFP API on a product tape, or if the CBPDO is more than two weeks old when you install it, you should contact the IBM Support Center or use S/390 SoftwareXcel to obtain the current "PSP Bucket". PSP Buckets are identified by UPGRADEs, which specify product levels, and SUBSETs, which specify the FMIDs for a product level. The UPGRADE and SUBSET values for ACIF and AFP API are: Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 5. PSP Upgrade and Subset ID |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ | | UPGRADE | SUBSET | DESCRIPTION |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | ACIF | HQN2110/9846 | ACIF |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | PSFMVS220 | HQN2112/9846 | AFP API |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿  3.3 STATEMENT OF SUPPORT PROCEDURES Report any difficulties you have using this program to your IBM Support Center. If an APAR is required, the Support Center will provide the address to which any needed documentation can be sent. Figure 6 identifies the component IDs (COMPID) for ACIF and AFP API. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 6. Component IDs |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ | | | | | RETAIN | | FMID | COMPID | COMPONENT NAME | RELEASE |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | HQN2110 | 564806201 | ACIF | 110 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | HQN2112 | 564806202 | AFP API | 112 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿  (C) Copyright IBM Corp. 1993, 1998 7 »  8 ACIF and AFP API Program Directory » 4.0 PROGRAM AND SERVICE LEVEL INFORMATION  This section identifies the program and any relevant service levels of ACIF and AFP API. The program level refers to the APAR fixes incorporated into the program. The service level refers to the PTFs integrated. Information about the cumulative service tape is also provided. This program is at Service Level 9846.  4.1 PROGRAM LEVEL INFORMATION The following APAR fixes against ACIF and AFP API have been incorporated into Service Update, Service Level 9846. They are listed by FMID. ® HQN2110 PN39451 PN71191 PN81527 PQ03511 PN41826 PN71324 PN81807 PQ03981 PN44241 PN71614 PN82198 PQ04391 PN50104 PN71815 PN82368 PQ04429 PN51017 PN71931 PN83160 PQ05167 PN51229 PN71974 PN83206 PQ05444 PN51925 PN72026 PN83976 PQ05547 PN53621 PN72249 PN84413 PQ06691 PN53710 PN72359 PN84835 PQ06946 PN53970 PN73470 PN85097 PQ07139 PN55008 PN73683 PN85104 PQ07492 PN55288 PN74886 PN86494 PQ07682 PN56431 PN74914 PN86722 PQ08772 PN57157 PN74930 PN87787 PQ09307 PN57547 PN75027 PN88223 PQ09450 PN57555 PN75544 PN89280 PQ10246 PN58891 PN76385 PN89594 PQ12428 PN60317 PN76494 PN90324 PQ12989 PN60697 PN77224 PN90477 PQ12991 PN61520 PN77365 PN90981 PQ12992 PN61785 PN77537 PN91087 PQ13152 PN62706 PN77694 PN91414 PQ14778 PN63713 PN77727 PN91731 PQ15334 PN64032 PN78463 PN91755 PQ16410 PN64873 PN79096 PN92289 PQ16628 PN64974 PN79174 PN92597 PQ16927 PN66286 PN79284 PN92805 PQ17591 PN67316 PN79946 PQ00237 PQ17846 PN67591 PN79985 PQ00618 PQ17921 PN67746 PN80074 PQ01362 PQ18095 PN67975 PN80401 PQ01497 PQ18417 PN69691 PN80403 PQ01904 PQ19344 PN70849 PN81336 PQ02026 PQ19896 PN70919 PN81380 PQ02350 PQ20852 ® HQN2112 PN36146 PN54347 PN65739 PN76720 PN45202 PN54555 PN65965 PN77003 PN47219 PN54560 PN67836 PN77175 PN48099 PN54711 PN69627 PN77314 PN49902 PN55291 PN70396 PN77481 PN50511 PN55404 PN71167 PN78003 PN51700 PN56150 PN71721 PN78378 PN52653 PN56401 PN72810 PN78628 PN52669 PN57387 PN73433 PN78749 PN53185 PN58999 PN73909 PN80014 PN53201 PN60606 PN74445 PN80567 PN53401 PN62852 PN75041 PN82150 PN53565 PN63489 PN75871 PN82237 PN54255 PN64496 PN76148 PN82676 PN54342 PN64756 PN76280 PN83203  (C) Copyright IBM Corp. 1993, 1998 9 » PN83205 PN91374 PQ04433 PQ09572 PN83407 PN92706 PQ05489 PQ10317 PN85068 PQ00127 PQ05985 PQ13483 PN87635 PQ00882 PQ05991 PQ14039 PN88638 PQ03558 PQ07913 PQ16160 PN91302 PQ04404 PQ09435 PQ16201 4.2 SERVICE LEVEL INFORMATION PTFs containing APAR fixes against this release of ACIF and AFP API have been incorporated into this product tape. For a list of included PTFs, please refer to Appendix A, "ACIF and AFP API Install Logic" on page 71.  4.3 CUMULATIVE SERVICE TAPE A cumulative service tape, containing PTFs not incorporated into this release, might be included with this program. Installation instructions for cumulative service tapes can be found in the SMP/E publications. If you received this product as part of a CBPDO or a ProductPac, PTFs not incorporated into this release are provided on the tape, and a separate cumulative service tape will not be provided. 10 ACIF and AFP API Program Directory » 5.0 INSTALLATION REQUIREMENTS AND CONSIDERATIONS  The following sections identify the system requirements for installing and activating ACIF and AFP API. The following terminology is used: ® Driving system: the system used to install the program. ® Target system: the system on which the program is installed. In many cases, the same system can be used as both a driving system and a target system. However, you may want to set up a clone of your system to use as a target system by making a separate IPL-able copy of the running system. The clone should include copies of all system libraries that SMP/E updates, copies of the SMP/E CSI data sets that describe the system libraries, and your PARMLIB and PROCLIB. Some cases where two systems should be used include the following: ® When installing a new level of a product that is already installed, the new product will delete the old one. By installing onto a separate target system, you can test the new product while still keeping the old one in production. ® When installing a product that shares libraries or load modules with other products, the installation can disrupt the other products. Installing onto a test system or clone will allow you to assess these impacts without disrupting your production system.  5.1 DRIVING SYSTEM REQUIREMENTS This section describes the environment of the driving system required to install ACIF and AFP API.  5.1.1 MACHINE REQUIREMENTS The driving system can run in any hardware environment that supports the required software.  5.1.2 PROGRAMMING REQUIREMENTS Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 7. Driving System Software Requirements |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ | | PROGRAM | PRODUCT NAME AND | | NUMBER | MINIMUM VRM/SERVICE LEVEL |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | 5668-949| System Modification Program/Extended (SMP/E) Release 8.1 | | | or higher. |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿  5.2 TARGET SYSTEM REQUIREMENTS This section describes the environment of the target system required to install and use ACIF and AFP API.  5.2.1 MACHINE REQUIREMENTS The target system can run in any hardware environment that supports the required software.  5.2.2 PROGRAMMING REQUISITES (C) Copyright IBM Corp. 1993, 1998 11 » 5.2.2.1 MINIMUM REQUISITES A minimum requisite is defined as one of the following: 1. Installation Requisite: A product that is required at installation time. i.e. this product WILL NOT INSTALL successfully unless this requisite is met. This includes products that are specified as REQs, PREs, or CALLLIBs. 2. Run Time Requisite: A product that is NOT required for the successful installation of this product, but IS needed at run time in order for this product to work. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 8. Minimum Requisites |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ | | | PRODUCT NAME AND | INSTALL | | PROGRAM NUMBER | MINIMUM VRM/SERVICE LEVEL | REQ? |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¿ ¿ | | Any ONE of the following: |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ | | | 5695-047 | MVS/ESA SP JES2 Version 4 Release 2 | No | | | | higher | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | 5695-048 | MVS/ESA SP JES3 Version 4 Release 2 | No | | | | higher | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | 5655-068 | MVS/ESA SP JES2 Version 5 Release 2.2 | No | | | | or higher | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | 5655-069 | MVS/ESA SP JES3 Version 5 Release 2.2 | No | | | | or higher | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | 5645-001 | OS/390 Version 1 or higher | No |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | 5647-A01 | OS/390 Version 2 or higher | No |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿  5.2.2.2 FUNCTIONAL REQUISITES A functional requisite is defined as a product that is not required for the successful installation of this product or for the base function of the product, but is needed at run time for a specific function of this product to work. This includes products that are specified as IF REQs. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 9. Functional Requisites for ACIF and AFP API |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ | | | PRODUCT NAME AND | | | | PROGRAM | MINIMUM VRM/SERVICE | | INSTALL | | NUMBER | LEVEL | FUNCTION | REQ? |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¿ ¿ ¿ | | Any ONE of the following: |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ | | | 5695-040 | PSF/MVS Version | To print output | No | | | | 2.2.0 or higher | from ACIF or AFP | | | | | | API | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5655-B17 | PSF for OS/390 | To print output | No | | | | Version 3.1.0 or | from ACIF or AFP | | | | | higher | API | |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ 12 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 10 (Page 1 of 2). Functional Requisites for AFP API |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ | | | PRODUCT NAME AND | | | | PROGRAM | MINIMUM VRM/SERVICE | | INSTALL | | NUMBER | LEVEL | FUNCTION | REQ? |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | 5685-083 | CICS/ESA Version 3 | To use with CICS/ESA | No | | | Release 2.1 or | | | | | higher | | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¿ ¿ ¿ | | Any ONE of the following: |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ | | | 5668-909 | PL/1 Comp/Lib/ITF | Compiler and | No | | | | Version 2 Release | libraries for AFP | | | | | 3.0 or higher | API applications. | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5668-910 | PL/1 Comp/Lib | Compiler and | No | | | | Version 2 Release | libraries for AFP | | | | | 3.0 or higher | API applications. | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5668-911 | PL/1 Lib Version 2 | Libraries for AFP | No | | | | Release 3.0 or | API applications. | | | | | higher | | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5688-198 | LE/370 for MVS & | Libraries for AFP | No | | | | VM Version 1.5 or | API applications. | | | | | higher | | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5645-001 | Language | Libraries for AFP | No | | | | Environment | API applications. | | | | | element of OS/390 | | | | | | Version 1 | | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5647-A01 | Language | Libraries for AFP | No | | | | Environment | API applications. | | | | | element of OS/390 | | | | | | Version 2 | | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5688-023 | VS COBOL II | Compiler and | No | | | | Version 1 Release | libraries for AFP | | | | | 4.0 or higher | API applications. | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¿ ¿ ¿ ¿ | | Any ONE of the following: |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ | | | 5648-B33 | AFP Font | To run the IVP's, | No | | | | Collection Version | 10-point Roman | | | | | 2 Release 1.0 or | Medium Times New | | | | | higher | Roman 240 pel | | | | | | fonts (H0HL241 and | | | | | | H0HL245) or 300 | | | | | | pel fonts (H0HL25D | | | | | | and H0HL24T) | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5648-113 | AFP Font | To run the IVP's, | No | | | | Collection Version | 10-point Roman | | | | | 1 Release 1.0 or | Medium Times New | | | | | higher | Roman 240 pel | | | | | | fonts (H0HL141 and | | | | | | J0HL145) or 300 | | | | | | pel fonts (H0HL15D | | | | | | and J0HL14T) | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5645-001 | Core Fonts in the | To run the IVP's, | No | | | | Softcopy Print | 10-point Roman | | | | | element of OS/390 | Medium Times New | | | | | Version 1 Release | Roman 240 pel | | | | | 2 or higher | fonts (H0HL141 and | | | | | | J0HL145) or 300 | | | | | | pel fonts (H0HL15D | | | | | | and J0HL14T) | |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿  Installation Requirements and Considerations 13 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 10 (Page 2 of 2). Functional Requisites for AFP API |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ | | | PRODUCT NAME AND | | | | PROGRAM | MINIMUM VRM/SERVICE | | INSTALL | | NUMBER | LEVEL | FUNCTION | REQ? |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¿ ¯ ¿ ¯ | | | | 5647-A01 | Core Fonts in the | To run the IVP's, | No | | | | Softcopy Print | 10-point Roman | | | | | element of OS/390 | Medium Times New | | | | | Version 2 Release | Roman 240 pel | | | | | 4 or higher | fonts (H0HL141 and | | | | | | J0HL145) or 300 | | | | | | pel fonts (H0HL15D | | | | | | and J0HL14T) | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | 5695-040 | IBM Core | To run the IVP's, | No | | | | Interchange Fonts | 10-point Roman | | | | | | Medium Times New | | | | | | Roman 240 or 300 | | | | | | pel fonts | | | | | | (JPRF172, JPRF175, | | | | | | JPRF1G0) | |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿  5.2.2.3 TOLERATION/COEXISTENCE REQUISITES A toleration/coexistence requisite is defined as a product which must be present on a sharing system. These systems can be other systems in a multisystem environment (not necessarily sysplex), a shared DASD environment (such as test and production), or systems that reuse the same DASD at different time intervals. ACIF and AFP API have no toleration/coexistence requisites.  5.2.2.4 INCOMPATIBILITY (NEGATIVE) REQUISITES A negative requisite identifies products which must not be installed on the same system as this product. ACIF and AFP API have no negative requisites.  5.2.3 DASD STORAGE REQUIREMENTS ACIF and AFP API libraries can reside on any DASD supported by the operating system. Figure 11 lists the total space required for each type of library. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 11. Total DASD Space (in 3390 tracks) Required by ACIF and | | AFP API |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ | | LIBRARY TYPE | TOTAL SPACE REQUIRED |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | Target | 85 tracks |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | Distribution | 95 tracks |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ NOTES: 1. The data set sizes specified contain 15% extra space. You may wish to revise these numbers based on your plans for adding additional function or service. 2. IBM recommends use of system determined blocksizes for efficient DASD utilization for all non-RECFM U data sets. For RECFM U data sets, IBM recommends a blocksize of 32760, which is the most efficient from a performance and DASD utilization perspective. 14 ACIF and AFP API Program Directory » If you choose not to use system determined blocksizes, use the blocksizes and numbers of blocks specified to allocate the data sets. Data sets can be reblocked to a larger size. Please note that the maximum allowable blocksize will depend on the type of DASD on which the dataset will reside; for example, the blocksize of datasets on a 3350 DASD cannot exceed 19,069. 3. Abbreviations used for the data set type are: U Unique data set used by only the FMIDs listed. In order to determine the correct storage needed for this data set, this table provides all required information; no other tables (or program directories) need to be referenced for the data set size. S Shared data set used by more than the FMIDs listed. In order to determine the correct storage needed for this data set, the storage size given in this table needs to be added to other tables (perhaps in other program directories). If the data set already exists, it must have enough free space to accommodate the storage size given in this table. If you currently have a previous release of this product installed in these libraries, the installation of this release will delete the old one and reclaim the space used by the old release and any service that had been installed. You can determine whether or not these libraries have enough space by deleting the old release with a dummy function, compressing the libraries, and comparing the space requirements with the free space in the libraries. For more information on the names and sizes of the required data sets, please refer to 6.1.7, "Allocate SMP/E Target and Distribution Libraries" on page 22. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 12. Storage Requirements for SMP/E Work Data Sets |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ | | | | D | R | L | | | NO. | | | | | T | S | E | R | | | OF | NO. | NO. | | | Y | O | C | E | NO. | | 3380/| OF | OF | | LIBRARY | P | R | F | C | OF | BLK | 9345 | 3390 | DIR | | DDNAME | E | G | M | L | BLKS | SIZE | TRKS | TRKS | BLKS |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPWRK1 | S | PO | FB | 80 | -- | -- | -- | 75 | 50 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPWRK2 | S | PO | FB | 80 | -- | -- | -- | 75 | 50 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPWRK3 | S | PO | FB | 80 | -- | -- | -- | 75 | 50 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPWRK4 | S | PO | FB | 80 | -- | -- | -- | 75 | 50 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPWRK6 | S | PO | FB | 80 | -- | -- | -- | 75 | 50 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SYSUT1 | U | PS | -- | -- | -- | -- | -- | 75 | 0 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SYSUT2 | U | PS | -- | -- | -- | -- | -- | 75 | 0 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SYSUT3 | U | PS | -- | -- | -- | -- | -- | 75 | 0 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SYSUT4 | U | PS | -- | -- | -- | -- | -- | 75 | 0 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ The following table provides an estimate of the storage needed in the SMP/E data sets for ACIF and AFP API. The estimates must be added to those of any other programs and service being installed to determine the total additional storage requirements. Installation Requirements and Considerations 15 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 13. Storage Requirements for SMP/E Data Sets |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ | | | | D | R | L | | | NO. | | | | | T | S | E | R | | | OF | NO. | NO. | | | Y | O | C | E | NO. | | 3380/| OF | OF | | LIBRARY | P | R | F | C | OF | BLK | 9345 | 3390 | DIR | | DDNAME | E | G | M | L | BLKS | SIZE | TRKS | TRKS | BLKS |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPLTS | S | PO | U | 0 | 0 | 6144 | 0 | 0 | 0 | | (not | | | | | | | | | | | used) | | | | | | | | | |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPMTS | S | PO | FB | 80 | 0 | 8800 | 0 | 0 | 0 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPPTS | S | PO | FB | 80 | 95 | 8800 | 15 | 12 | 1 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPSCDS | S | PO | FB | 80 | 18 | 8800 | 6 | 5 | 1 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SMPSTS | S | PO | FB | 80 | 0 | 8800 | 0 | 0 | 0 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ The following figures list the target and distribution libraries (data sets) and their attributes required to install ACIF. The storage requirements of ACIF must be added to the storage required by other programs having data in the same data set (library). Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 14. Storage Requirements for ACIF Target Libraries |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ | | | | D | R | L | | | NO. | | | | | T | S | E | R | | | OF | NO. | NO. | | | Y | O | C | E | NO. | | 3380/| OF | OF | | LIBRARY | P | R | F | C | OF | BLK | 9345 | 3390 | DIR | | DDNAME | E | G | M | L | BLKS | SIZE | TRKS | TRKS | BLKS |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPKMOD1 | U | PO| U | 0 | 144 | 6144 | 18 | 16 | 2 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPKSAM1 | U | PO| FB | 80 | 16 | 6160 | 1 | 1 | 2 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPKSAM2 | U | PO| FB | 80 | 16 | 6160 | 1 | 1 | 2 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPKSAM3 | U | PO| FBA | 200 | 36 | 8000 | 6 | 5 | 2 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPKULIB | U | PO| VBM | 8205 | 18 | 8209 | 2 | 2 | 2 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 15. Storage Requirements for ACIF Distribution Libraries |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ | | | | D | R | L | | | NO. | | | | | T | S | E | R | | | OF | NO. | NO. | | | Y | O | C | E | NO. | | 3380/| OF | OF | | LIBRARY | P | R | F | C | OF | BLK | 9345 | 3390 | DIR | | DDNAME | E | G | M | L | BLKS | SIZE | TRKS | TRKS | BLKS |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPKMOD1 | U | PO | U | 0 | 256 | 6144 | 30 | 29 | 28 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPKSAM1 | U | PO | FB | 80 | 16 | 6160 | 1 | 1 | 2 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPKSAM2 | U | PO | FB | 80 | 16 | 6160 | 1 | 1 | 2 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPKSAM3 | U | PO | FBA | 200 | 36 | 8000 | 6 | 5 | 2 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPKULIB | U | PO | VBM | 8205 | 18 | 8209 | 2 | 2 | 2 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ The following figures list the target and distribution libraries (data sets) and their attributes required to install AFP API. The storage requirements of AFP API must be added to the storage required by other programs having data in the same data set (library). 16 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 16. Storage Requirements for AFP API Target Libraries |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ | | | | D | R | L | | | NO. | | | | | T | S | E | R | | | OF | NO. | NO. | | | Y | O | C | E | NO. | | 3380/| OF | OF | | LIBRARY | P | R | F | C | OF | BLK | 9345 | 3390 | DIR | | DDNAME | E | G | M | L | BLKS | SIZE | TRKS | TRKS | BLKS |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPQMOD1 | U | PO| U | 0 | 200 | 6144 | 23 | 21 | 3 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPQMOD2 | U | PO| U | 0 | 72 | 6144 | 8 | 7 | 12 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPQSAM1 | U | PO| FB | 80 | 272 | 6160 | 33 | 29 | 3 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | SAPQULIB | U | PO| VBM | 8205 | 12 | 8209 | 1 | 1 | 2 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 17. Storage Requirements for AFP API Distribution Libraries |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ | | | | D | R | L | | | NO. | | | | | T | S | E | R | | | OF | NO. | NO. | | | Y | O | C | E | NO. | | 3380/| OF | OF | | LIBRARY | P | R | F | C | OF | BLK | 9345 | 3390 | DIR | | DDNAME | E | G | M | L | BLKS | SIZE | TRKS | TRKS | BLKS |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPQMOD1 | U | PO | U | 0 | 264 | 6144 | 29 | 28 | 36 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPQMOD2 | U | PO | U | 0 | 56 | 6144 | 7 | 6 | 11 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPQSAM1 | U | PO | FB | 80 | 272 | 6160 | 33 | 29 | 3 |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | | | | AAPQULIB | U | PO | VBM | 8205 | 12 | 8209 | 1 | 1 | 2 |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿  5.3 FMIDS DELETED Installing ACIF and AFP API will not delete any existing FMIDs.  5.4 SPECIAL CONSIDERATIONS If you have installed Enhanced ACIF (FMID HQN2220), DO NOT INSTALL ACIF (FMID HQN2110). FMID HQN2220 deletes and supercedes FMID HQN2110. Enhanced ACIF provides additional indexing capabilities not available with the HQN2110 level of ACIF. Enhanced ACIF is shipped with RMDS, program number 5648-048. Installation Requirements and Considerations 17 »  18 ACIF and AFP API Program Directory » 6.0 INSTALLATION INSTRUCTIONS  This chapter describes the installation method and the step-by-step procedures to install and to activate the functions of ACIF and AFP API. Please note the following: ® If you want to install ACIF and AFP API into its own SMP/E environment, consult the SMP/E manuals for instructions on creating and initializing the SMPCSI and the SMP/E control data sets. ® Sample jobs have been provided to help perform some or all of the installation tasks. The SMP/E jobs assume that all DDDEF entries required for SMP/E execution have been defined in the appropriate zones. ® The SMP/E dialogs may be used instead of the sample jobs to accomplish the SMP/E installation steps.  6.1 INSTALLING ACIF AND AFP API  6.1.1 SMP/E CONSIDERATIONS FOR INSTALLING ACIF AND AFP API This release of ACIF and AFP API is installed using the SMP/E RECEIVE, APPLY, and ACCEPT commands. The SMP/E dialogs may be used to accomplish the SMP/E installation steps.  6.1.2 SMP/E ENVIRONMENT All SMP/E installation jobs provided assume that all necessary DD statements for the execution of SMP/E are defined using DDDEFs. Sample jobs are provided to assist you in installing ACIF and AFP API. After the RECEIVE step has been completed, the sample jobs can be found in SMPTLIB: IBM.HQN2110.F3 and in SMPTLIB: IBM.HQN2112.F5. Make a copy of these jobs in your own library and modify them to use during the installation of ACIF and AFP API. The sample jobs are: APKQAC Sample ACCEPT job APKQACCK Sample ACCEPT CHECK job APKQALOC Sample job to allocate target and distribution libraries for ACIF APKQAP Sample APPLY job APKQAPCK Sample APPLY CHECK job APKQDDEF Sample job to define SMP/E DDDEFs for ACIF APKQRCV Sample RECEIVE job APKQRCVC Sample RECEIVE job for cumulative service APQALOC Sample job to allocate target and distribution libraries for AFP API APQDDEF Sample job to define SMP/E DDDEFS for AFP API In the sample SMP/E jobs provided, the name of the SMP/E CSI is "#GLOBALCSI". The global zone name in the SMP/E CSI is "GLOBAL". The distribution zone name is "#DZONE". The target zone name is "#TZONE". The sample jobs should be updated to reflect the CSI and zone names used at your installation. (C) Copyright IBM Corp. 1993, 1998 19 » 6.1.3 SMP/E OPTIONS SUBENTRY VALUES The recommended values for some SMP/E CSI subentries are shown in Figure 18 on page 20. Use of values lower than these may result in failures in the installation process. DSSPACE is a subentry in the GLOBAL options entry. PEMAX is a subentry of the GENERAL entry in the GLOBAL options entry. Refer to the SMP/E manuals for instructions on updating the global zone. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | Figure 18. SMP/E Options Subentry Values |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | ¯ ¯ | | SUB-ENTRY | VALUE | COMMENT |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | DSSPACE | (35,10,35) | Recommended value for ACIF and AFP | | | | API |  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | PEMAX | 9999 | The SMP/E default is larger than | | | | what can be specified here |  ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿  6.1.4 UNLOAD THE SAMPLE JCL FROM THE PRODUCT TAPE Sample installation jobs are provided on the distribution tape to help you install ACIF and AFP API. The following sample JCL will copy the ACIF and AFP API jobs from the tape. Add a job card and follow the instructions in the job before submitting. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //UNLOAD JOB 'account #','name',MSGLEVEL=(1,1) | | //STEP1 EXEC PGM=IEBCOPY | | //SYSPRINT DD SYSOUT=* | | //* | | //*----------------------------------------------------------- | | //* UNLOAD SAMPLE JOBS FROM TAPE. | | //* NOTE: CHANGE tape TO A VALID NAME FOR A TAPE DRIVE. | | //* CHANGE vvvvvv TO A VALID VOLSER. | | //* CHANGE apkq.jcllib TO A VALID DATA SET NAME | | //* FOR YOUR INSTALLATION. | | //*----------------------------------------------------------- | | //* | | //INTAP1 DD DSNAME=IBM.HQN2110.F3,DISP=(OLD,KEEP), | | // UNIT=(tape,,DEFER), | | // LABEL=(4,SL), | | // VOL=SER=QN2110 | | //INTAP2 DD DSNAME=IBM.HQN2112.F5,DISP=(OLD,KEEP), | | // UNIT=(tape,,DEFER), | | // LABEL=(12,SL), | | // VOL=SER=QN2110 | | //OUTDISK DD DSNAME=apkq.jcllib,DISP=(NEW,CATLG,DELETE), | | // UNIT=SYSDA,SPACE=(TRK,(5,1,3)),VOL=SER=vvvvvv | | //SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(30,5)),DISP=(NEW,DELETE) | | //SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(30,5)),DISP=(NEW,DELETE) | | //SYSIN DD * | | COPY OUTDD=OUTDISK,INDD=INTAP1 | | COPY OUTDD=OUTDISK,INDD=INTAP2 | | S M=(APQDDEF,APQALOC) | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 19. Sample UNLOAD Job  6.1.5 PERFORM SMP/E RECEIVE Edit and submit sample job APKQRCV to perform the SMP/E RECEIVE for ACIF and AFP API. NOTE: if you obtained ACIF and AFP API as part of a CBPDO, you can use the RCVPDO job found in the CBPDO RIMLIB data set to RECEIVE the ACIF and AFP API FMIDs as well as any service, HOLDDATA, or preventive service planning (PSP) information included on the CBPDO tape. For more information, refer to the documentation included with the CBPDO.  20 ACIF and AFP API Program Directory » The APKQRCV job is shown in Figure 20 on page 21. Modify the job card to meet your local requirements and specify the appropriate value for "tape", and the appropriate "UNIT", and "VOLSER" for the SMPTLIB data sets. Replace the reference to a started procedure called SMPPROC with the following execute statement: //RECEIVE EXEC PGM=GIMSMP,PARM='CSI=#globalcsi' where "#globalcsi" is the name of your SMP/E CSI. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKQRCV JOB 'account #','name',MSGLEVEL=(1,1) | | //RECEIVE EXEC SMPPROC | | //SMP.SMPPTFIN DD DSN=SMPMCS,DISP=(OLD,PASS), | | // VOL=SER=QN2110,LABEL=(1,SL), | | // UNIT=(tape,,DEFER) | | //SMPTLIB DD UNIT=xxxx,DISP=OLD,VOL=SER=nnnnnn | | //SMP.SMPCNTL DD * | | SET BDY(GLOBAL). | | RECEIVE S(HQN2110, HQN2112) SYSMOD . | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 20. Sample SMP/E RECEIVE Job EXPECTED RETURN CODES AND MESSAGES: A return code of "0" should be received from this job.  6.1.6 RECEIVE THE CUMULATIVE SERVICE TAPE A cumulative service tape may be shipped with the product package. If no cumulative service tape is shipped or if the product is received by CBPDO, skip this section. If any of the PTFs on the tape have a system hold by the ++HOLD SYSTEM modification control statement with a reason ID equal to UCLIN, file 6 of the cumulative service tape will contain the UCLIN for that PTF. The instructions for the UCLIN are contained in the cover letter of the PTF. Edit and submit the sample job APKQRCVC to RECEIVE the PTFs and HOLDDATA from the cumulative service tape. The APKQRCVC job is shown in Figure 21 on page 22. Modify the job card to meet your local requirements and specify the appropriate value for "tape". Replace the reference to a started procedure called SMPPROC with the following execute statement: //APSWRCVC EXEC PGM=GIMSMP,PARM='CSI=#globalcsi' where "#globalcsi" is the name of your SMP/E CSI. Installation Instructions 21 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKQRCVC JOB 'account #','name',MSGLEVEL=(1,1) | | //*************************************************** | | //* RECEIVE CUMULATIVE SERVICE DATA. THE UNIT * | | //* AND SOURCEID FIELDS MUST BE FILLED IN. * | | //* SOURCEID IS A UNIQUE NAME THAT ASSIGNS * | | //* A COMMON IDENTIFIER TO THE SYSMODS RECEIVED. * | | //*************************************************** | | //APSWRCVC EXEC SMPPROC | | //SMPHOLD DD UNIT=tape,LABEL=(4,NL),DISP=SHR, | | // VOL=SER=CUMTAP, | | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=7200) | | //SMPPTFIN DD UNIT=tape,LABEL=(1,NL),DISP=SHR, | | // VOL=SER=CUMTAP, | | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=7200) | | //SMP.SMPCNTL DD * | | SET BDY(GLOBAL). | | RECEIVE SYSMODS HOLDDATA SOURCEID(sssssss). | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 21. RECEIVE Job for Cumulative Service Tape EXPECTED RETURN CODES AND MESSAGES: A return code of "0" should be received from this job.  6.1.7 ALLOCATE SMP/E TARGET AND DISTRIBUTION LIBRARIES Edit and submit sample job APKQALOC to allocate the SMP/E target and distribution libraries for ACIF, and sample job APQALOC to allocate the SMP/E target and distribution libraries for AFP API. The APKQALOC job is shown in Figure 22 on page 23 and the APQALOC job is shown in Figure 23 on page 25. Modify the job card to meet your local requirements and specify the appropriate parameters for your installation, using the comments in the job as a guide. Also, modify the high level qualifier prefix, "PSF.ACIF", defined in the APKQALOC job, and high level qualifier prefix, "PSF.AFPAPI", defined in the APQALOC job, to be valid high level qualifiers for your installation.  22 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKQALOC JOB 'account #','name',MSGLEVEL=(1,1) | | //* | | //*********************************************************** | | //* ALLOCATE TARGET AND DISTRIBUTION DATA SETS FOR * | | //* ACIF. * | | //* CHANGE xxxx TO BE A VALID UNIT NAME FOR YOUR * | | //* INSTALLATION. * | | //* CHANGE tttttt TO BE A VALID VOLUME SERIAL NUMBER FOR * | | //* THE TARGET LIBRARIES. * | | //* CHANGE dddddd TO BE A VALID VOLUME SERIAL NUMBER FOR * | | //* THE DISTRIBUTION LIBRARIES. * | | //*********************************************************** | | //ALLOC PROC ACIFPFX='PSF.ACIF', | | // UNIT=xxxx,TVOL=tttttt,DVOL=dddddd | | //ALLOC1 EXEC PGM=IEFBR14 | | //* | | //*********************************************************** | | //* ALLOCATE TARGET DATA SETS FOR ACIF. * | | //*********************************************************** | | //* | | //SAPKMOD1 DD DSN=&ACIFPFX..SAPKMOD1,DISP=(NEW,CATLG), | | // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(6144,(144,14,2)) | | //* | | //SAPKSAM1 DD DSN=&ACIFPFX..SAPKSAM1,DISP=(NEW,CATLG), | | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(6160,(16,2,2)) | | //* | | //SAPKSAM2 DD DSN=&ACIFPFX..SAPKSAM2,DISP=(NEW,CATLG), | | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(6160,(16,2,2)) | | //* | | //SAPKSAM3 DD DSN=&ACIFPFX..SAPKSAM3,DISP=(NEW,CATLG), | | // DCB=(RECFM=FBA,LRECL=200,BLKSIZE=8000), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(8000,(36,3,2)) | | //* | | //SAPKULIB DD DSN=&ACIFPFX..SAPKULIB,DISP=(NEW,CATLG), | | // DCB=(RECFM=VBM,LRECL=8205,BLKSIZE=8209), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(8209,(18,2,2)) | | //* | | //*********************************************************** | | //* ALLOCATE DISTRIBUTION DATA SETS FOR ACIF. * | | //*********************************************************** | | //* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 22 (Part 1 of 2). Sample Allocate Job for ACIF Installation Instructions 23 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //AAPKMOD1 DD DSN=&ACIFPFX..AAPKMOD1,DISP=(NEW,CATLG), | | // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(6144,(256,26,28)) | | //* | | //AAPKSAM1 DD DSN=&ACIFPFX..AAPKSAM1,DISP=(NEW,CATLG), | | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(6160,(16,2,2)) | | //* | | //AAPKSAM2 DD DSN=&ACIFPFX..AAPKSAM2,DISP=(NEW,CATLG), | | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(6160,(16,2,2)) | | //* | | //AAPKSAM3 DD DSN=&ACIFPFX..AAPKSAM3,DISP=(NEW,CATLG), | | // DCB=(RECFM=FBA,LRECL=200,BLKSIZE=8000), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(8000,(36,3,2)) | | //* | | //AAPKULIB DD DSN=&ACIFPFX..AAPKULIB,DISP=(NEW,CATLG), | | // DCB=(RECFM=VBM,LRECL=8205,BLKSIZE=8209), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(8209,(18,2,2)) | | //* | | //EALLOC PEND | | //* | | //ALLOCAT EXEC ALLOC | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 22 (Part 2 of 2). Sample Allocate Job for ACIF 24 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQALOC JOB 'account #','name',MSGLEVEL=(1,1) | | //* | | //*********************************************************** | | //* ALLOCATE TARGET AND DISTRIBUTION DATA SETS FOR * | | //* AFP API. * | | //* CHANGE xxxx TO BE A VALID UNIT NAME FOR YOUR * | | //* INSTALLATION. * | | //* CHANGE tttttt TO BE A VALID VOLUME SERIAL NUMBER FOR * | | //* THE TARGET LIBRARIES. * | | //* CHANGE dddddd TO BE A VALID VOLUME SERIAL NUMBER FOR * | | //* THE DISTRIBUTION LIBRARIES. * | | //*********************************************************** | | //ALLOC PROC APIPFX='PSF.AFPAPI', | | // UNIT=xxxx,TVOL=tttttt,DVOL=dddddd | | //ALLOC1 EXEC PGM=IEFBR14 | | //* | | //*********************************************************** | | //* ALLOCATE TARGET DATA SETS FOR AFP API. * | | //*********************************************************** | | //* | | //SAPQMOD1 DD DSN=&APIPFX..SAPQMOD1,DISP=(NEW,CATLG), | | // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(6144,(200,20,3)) | | //* | | //SAPQMOD2 DD DSN=&APIPFX..SAPQMOD2,DISP=(NEW,CATLG), | | // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(6144,(72,7,12)) | | //* | | //SAPQSAM1 DD DSN=&APIPFX..SAPQSAM1,DISP=(NEW,CATLG), | | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(6160,(272,27,3)) | | //* | | //SAPQULIB DD DSN=&APIPFX..SAPQULIB,DISP=(NEW,CATLG), | | // DCB=(RECFM=VBM,LRECL=8205,BLKSIZE=8209), | | // UNIT=&UNIT,VOL=SER=&TVOL,SPACE=(8209,(12,2,2)) | | //* | | //*********************************************************** | | //* ALLOCATE DISTRIBUTION DATA SETS FOR AFP API. * | | //*********************************************************** | | //* | | //AAPQMOD1 DD DSN=&APIPFX..AAPQMOD1,DISP=(NEW,CATLG), | | // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(6144,(264,26,36)) | | //* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 23 (Part 1 of 2). Sample Allocate Job for AFP API Installation Instructions 25 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //AAPQMOD2 DD DSN=&APIPFX..AAPQMOD2,DISP=(NEW,CATLG), | | // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(6144,(56,6,11)) | | //* | | //AAPQSAM1 DD DSN=&APIPFX..AAPQSAM1,DISP=(NEW,CATLG), | | // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(6160,(272,27,3)) | | //* | | //AAPQULIB DD DSN=&APIPFX..AAPQULIB,DISP=(NEW,CATLG), | | // DCB=(RECFM=VBM,LRECL=8205,BLKSIZE=8209), | | // UNIT=&UNIT,VOL=SER=&DVOL,SPACE=(8209,(12,2,2)) | | //* | | //EALLOC PEND | | //* | | //ALLOCAT EXEC ALLOC | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 23 (Part 2 of 2). Sample Allocate Job for AFP API EXPECTED RETURN CODES AND MESSAGES: A return code of "0" should be received from these jobs.  6.1.8 CREATE DDDEF ENTRIES Edit and submit the sample job APKQDDEF to create DDDEF entries for the SMP/E target and distribution libraries for ACIF, and the sample job APQDDEF to create DDDEF entries for the SMP/E target and distribution libraries for AFP API. The APKQDDEF job is shown in Figure 24 on page 27 and the APQDDEF job is shown in Figure 25 on page 29. Modify the job card to meet your local requirements and specify the appropriate parameters for your installation, using the comments in the job as a guide. Modify the high level qualifier of "PSF.ACIF" and "PSF.AFPAPI" to be valid high level qualifiers for your installation. Replace the reference to a started procedure called SMPPROC with the following execute statement: //DDDEF EXEC PGM=GIMSMP,PARM='CSI=#globalcsi' where "#globalcsi" is the name of your SMP/E CSI. If the target and distribution data sets that correspond to the DDDEFs will be cataloged, the UNIT and VOLUME parameters can be be deleted before the jobs are run. 26 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKQDDEF JOB 'acct. no.','name',MSGLEVEL=(1,1) | | //SMP EXEC SMPPROC | | //* | | //************************************************* | | //* Allocate SMP/E DDDEFS for ACIF. | | //* Modify the tgtzone, dlibzone, uuuu, tvol, | | //* and dvol names in lower case as appropriate | | //* for your installation. | | //* The distribution library DDDEFS are defined | | //* to the target zone for RESTORE purposes. | | //************************************************* | | //SMP.SMPCNTL DD * | | SET BDY(tgtzone) . | | UCLIN . | | REP DDDEF(SAPKMOD1) | | DATASET(PSF.ACIF.SAPKMOD1) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(SAPKSAM1) | | DATASET(PSF.ACIF.SAPKSAM1) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(SAPKSAM2) | | DATASET(PSF.ACIF.SAPKSAM2) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(SAPKSAM3) | | DATASET(PSF.ACIF.SAPKSAM3) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(SAPKULIB) | | DATASET(PSF.ACIF.SAPKULIB) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(AAPKMOD1) | | DATASET(PSF.ACIF.AAPKMOD1) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPKSAM1) | | DATASET(PSF.ACIF.AAPKSAM1) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 24 (Part 1 of 2). JCL to Create Target and Distribution DDDEFs for ACIF  Installation Instructions 27 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | REP DDDEF(AAPKSAM2) | | DATASET(PSF.ACIF.AAPKSAM2) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPKSAM3) | | DATASET(PSF.ACIF.AAPKSAM3) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPKULIB) | | DATASET(PSF.ACIF.AAPKULIB) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | ENDUCL. | | SET BDY(dlibzone) . | | UCLIN . | | REP DDDEF(AAPKMOD1) | | DATASET(PSF.ACIF.AAPKMOD1) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPKSAM1) | | DATASET(PSF.ACIF.AAPKSAM1) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPKSAM2) | | DATASET(PSF.ACIF.AAPKSAM2) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPKSAM3) | | DATASET(PSF.ACIF.AAPKSAM3) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPKULIB) | | DATASET(PSF.ACIF.AAPKULIB) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | ENDUCL . | | /* | | // | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 24 (Part 2 of 2). JCL to Create Target and Distribution DDDEFs for ACIF 28 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQDDEF JOB 'acct. no.','name',MSGLEVEL=(1,1) | | //SMP EXEC SMPPROC | | //* | | //************************************************* | | //* Allocate SMP/E DDDEFS for AFP API. | | //* Modify the tgtzone, dlibzone, uuuu, tvol, | | //* and dvol names in lower case as appropriate | | //* for your installation. | | //* The distribution library DDDEFS are defined | | //* to the target zone for RESTORE purposes. | | //************************************************* | | //SMP.SMPCNTL DD * | | SET BDY(tgtzone) . | | UCLIN . | | REP DDDEF(SAPQMOD1) | | DATASET(PSF.AFPAPI.SAPQMOD1) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(SAPQMOD2) | | DATASET(PSF.AFPAPI.SAPQMOD2) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(SAPQSAM1) | | DATASET(PSF.AFPAPI.SAPQSAM1) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(SAPQULIB) | | DATASET(PSF.AFPAPI.SAPQULIB) | | UNIT(uuuu) VOLUME(tvol) | | OLD . | | REP DDDEF(AAPQMOD1) | | DATASET(PSF.AFPAPI.AAPQMOD1) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPQMOD2) | | DATASET(PSF.AFPAPI.AAPQMOD2) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPQSAM1) | | DATASET(PSF.AFPAPI.AAPQSAM1) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 25 (Part 1 of 2). JCL to Create Target and Distribution DDDEFs for AFP API  Installation Instructions 29 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | REP DDDEF(AAPQULIB) | | DATASET(PSF.AFPAPI.AAPQULIB) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | ENDUCL. | | SET BDY(dlibzone) . | | UCLIN . | | REP DDDEF(AAPQMOD1) | | DATASET(PSF.AFPAPI.AAPQMOD1) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPQMOD2) | | DATASET(PSF.AFPAPI.AAPQMOD2) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPQSAM1) | | DATASET(PSF.AFPAPI.AAPQSAM1) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | REP DDDEF(AAPQULIB) | | DATASET(PSF.AFPAPI.AAPQULIB) | | UNIT(uuuu) VOLUME(dvol) | | OLD . | | ENDUCL . | | /* | | // | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 25 (Part 2 of 2). JCL to Create Target and Distribution DDDEFs for AFP API EXPECTED RETURN CODES AND MESSAGES: A return code of "4" and the message GIM27701W should be received from these jobs if the DDDEFs have never been created. A return code of "0" should be received if the DDDEFs were created previously or the jobs are rerun.  6.1.9 PERFORM SMP/E APPLY CHECK Execute the SMP/E APPLY CHECK job to determine which SYSMODs, if any, are missing. Any missing SYSMODs should be installed before continuing with the installation of ACIF and AFP API. The APKQAPCK job is shown in Figure 26 on page 31. To receive the full benefit of the SMP/E Causer SYSMOD Summary Report, do not bypass the following on the APPLY CHECK: PRE, ID, REQ, and IFREQ. This is because the SMP/E root cause analysis identifies the cause only of ERRORS and not of WARNINGS (SYSMODs that are bypassed are treated as warnings, not errors, by SMP/E). The GROUPEXTEND operand indicates that SMP/E apply all requisite SYSMODs. The requisite SYSMODS might be applicable to other functions. Modify the job card to meet your local requirements and specify the appropriate "UNIT" and "VOLSER" for the SMPTLIB data sets. Also modify the "tgtzone" to be the appropriate SMP/E target zone name for your installation. Replace the reference to a started procedure called SMPPROC with the following execute statement: //APPLYCK EXEC PGM=GIMSMP,PARM='CSI=#globalcsi' where "#globalcsi" is the name of your SMP/E CSI. NOTE: If HQN2110 or HQN2112 is already installed, you must add the REDO parameter to the APPLY CHECK statement. 30 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKQAPCK JOB 'account #','name',MSGLEVEL=(1,1) | | //APPLY EXEC SMPPROC | | //SMPTLIB DD UNIT=xxxx,DISP=OLD,VOL=SER=nnnnnn | | //SMP.SMPCNTL DD * | | SET BDY(tgtzone). | | APPLY CHECK S(HQN2110,HQN2112) | | BYPASS(HOLDCLASS(UCLREL,ERREL)) GROUPEXTEND. | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 26. Sample SMP/E APPLY CHECK Job EXPECTED RETURN CODES AND MESSAGES: ACIF MESSAGES: If you are installing ACIF (HQN2110), a return code of "0" should be received. AFP API MESSAGES: If AFP API (HQN2112) has never been installed, you will receive message GIM61903W as follows: GIM61903W LMOD APQIOMOD WAS NOT DELETED BY SYSMOD HQN2112 BECAUSE APQIOMOD IS NOT IN THE TARGET ZONE GIM61903W LMOD APQTKMOD WAS NOT DELETED BY SYSMOD HQN2112 BECAUSE APQTKMOD IS NOT IN THE TARGET ZONE  and a return code of "4" should be received. If a previous release of AFP API was installed, a return code of "0" should be received. Investigate any other problems before continuing with the installation of ACIF and AFP API.  6.1.10 PERFORM SMP/E APPLY Execute SMP/E to load the target libraries from the SMP/E temporary data sets. The APKQAP job is shown in Figure 27. Modify the job card to meet your local requirements and specify the appropriate "UNIT" and "VOLSER" for the SMPTLIB data sets. Also modify the "tgtzone" to be the appropriate SMP/E target zone name for your installation. Replace the reference to a started procedure called SMPPROC with the following execute statement: //APPLY EXEC PGM=GIMSMP,PARM='CSI=#globalcsi' where "#globalcsi" is the name of your SMP/E CSI. NOTE: If HQN2110 or HQN2112 is already installed, you must add the REDO parameter to the APPLY statement. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKQAP JOB 'account #','name',MSGLEVEL=(1,1) | | //APPLY EXEC SMPPROC | | //SMPTLIB DD UNIT=xxxx,DISP=OLD,VOL=SER=nnnnnn | | //SMP.SMPCNTL DD * | | SET BDY(tgtzone). | | APPLY S(HQN2110,HQN2112) | | BYPASS(HOLDCLASS(UCLREL,ERREL)) | | GROUPEXTEND. | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 27. Sample SMP/E APPLY Job EXPECTED RETURN CODES AND MESSAGES: ACIF MESSAGES: If you are installing ACIF (HQN2110), a return code of "0" should be received. AFP API MESSAGES: If you are installing AFP API (HQN2112), you will receive a return code of "4" and the following messages:  Installation Instructions 31 » ® If AFP API has never been installed, you will receive the following warning messages: GIM61903W LMOD APQTKMOD WAS NOT DELETED BY SYSMOD HQN2112 BECAUSE APQTKMOD IS NOT IN THE TARGET ZONE GIM61903W LMOD APQIOMOD WAS NOT DELETED BY SYSMOD HQN2112 BECAUSE APQIOMOD IS NOT IN THE TARGET ZONE ® DFP linkage editor message IEW0461 or DFSMS binder message IEW2454W is expected for the load modules listed below and can be ignored. Message GIM23903W or GIM23913W with return code 04 will be received for all modules included in these load modules, and for all other load modules that are processed by SMP/E in the same link-edit batch (SMP/E sequence number). × Unresolved external references for the CICS interface modules DFHEAI0 and DFHEI1 are expected for the following load modules: APQCGET APQCLOAD APQEFOP APQCIMOD APQEFLS APQEPLS × Unresolved external references for the C interface modules EDCXxxxx are expected for the following load modules: APQBDOC APQDFLD APQINIT APQQSTR APQBFLD APQDFNT APQINVM APQSCLR APQBGRP APQDROW APQIOBJ APQSFNT APQBPAG APQEARE APQIOVL APQSICS APQBPAR APQEDOC APQIPSG APQSLIB APQBROW APQEFLD APQPARE APQSOUT APQBTBL APQEGRP APQPBOX APQSPOS APQCARE APQEND APQPCHS APQSRTH APQCEND APQEPAG APQPRUL APQSUNI APQCFREE APQEPAR APQPTAG APQSWSP APQCGET APQEROW APQPTXT APQTERM APQCINIT APQETBL APQQATT APQXARE APQCTERM APQGBUF APQQPOS ® The DFSMS Binder messages IEW2646W ESD RMODE(24) CONFLICTS WITH USER-SPECIFIED RMODE(ANY) FOR SECTION APQxxxxx. IEW2651W ESD AMODE 24 CONFLICTS WITH USER-SPECIFIED AMODE 31 FOR FOR ENTRY POINT xxxxxxx. are expected for the following load modules and may be safely ignored: APQCFREE APQCIMOD APQCUNLD APQEPLS APQCGET APQCLOAD APQEFLS APQEFOP ® The DFSMS Binder message IEW2650I MODULE ENTRY NOT PROVIDED. ENTRY DEFAULTS TO SECTION APQxxxx is expected for the following load modules and may be safely ignored: APQBDOC APQDFNT APQINVM APQSICS APQBFLD APQDROW APQIOBJ APQSLIB APQBGRP APQEARE APQIOVL APQSOUT APQBPAG APQEDOC APQIPSG APQSPOS APQBPAR APQEFLD APQPARE APQSRTH APQBROW APQEFLS APQPBOX APQSUNI APQBTBL APQEFOP APQPCHS APQSWSP APQCARE APQEGRP APQPRUL APQTERM APQCEND APQEND APQPTAG APQXARE APQCFREE APQEPAG APQPTXT APQXFREE APQCGET APQEPAR APQQATT APQXGET APQCINIT APQEROW APQQPOS APQXLOAD APQCLOAD APQETBL APQQSTR APQXSRVI APQCTERM APQGBUF APQSCLR APQXSRVN APQDFLD APQINIT APQSFNT APQXUNLD  32 ACIF and AFP API Program Directory » Investigate any other problems before continuing with the installation of ACIF and AFP API.  6.1.11 PERFORM SMP/E ACCEPT CHECK Execute the SMP/E ACCEPT CHECK job to determine which SYSMODs, if any, are missing. Any missing SYSMODs should be installed before continuing with the installation of ACIF and AFP API. The APKQACCK job is shown in Figure 28. Modify the job card to meet your local requirements and specify the appropriate "UNIT" and "VOLSER" for the SMPTLIB data sets. Also modify the "dlibzone" to be the appropriate SMP/E distribution zone name for your installation. Replace the reference to a started procedure called SMPPROC with the following execute statement: //ACCEPTCK EXEC PGM=GIMSMP,PARM='CSI=#globalcsi' where "#globalcsi" is the name of your SMP/E CSI. NOTE: If HQN2110 or HQN2112 is already installed, you must add the REDO parameter to the ACCEPT CHECK statement. To receive the full benefit of the SMP/E Causer SYSMOD Summary Report, do not bypass the following on the ACCEPT CHECK: PRE, ID, REQ, and IFREQ. This is because the SMP/E root cause analysis identifies the cause only of ERRORS and not of WARNINGS (SYSMODs that are bypassed are treated as warnings, not errors, by SMP/E). The GROUPEXTEND operand indicates that SMP/E accept all requisite SYSMODs. The requisite SYSMODS might be applicable to other functions. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKQACCK JOB 'account #','name',MSGLEVEL=(1,1) | | //ACCEPT EXEC SMPPROC | | //SMPTLIB DD UNIT=xxxx,DISP=OLD,VOL=SER=nnnnnn | | //SMP.SMPCNTL DD * | | SET BDY(dlibzone). | | ACCEPT CHECK S(HQN2110,HQN2112) | | BYPASS (HOLDCLASS(UCLREL,ERREL)) GROUPEXTEND. | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 28. Sample SMP/E ACCEPT CHECK Job EXPECTED RETURN CODES AND MESSAGES: ACIF MESSAGES: If you are installing ACIF (HQN2110), a return code of "0" should be received. AFP API MESSAGES: If you are installing AFP API (HQN2112), you will receive a return code of "4" and the following warning messages: GIM61903W LMOD APQIOMOD WAS NOT DELETED BY SYSMOD HQN2112 BECAUSE APQIOMOD IS NOT IN THE DLIB ZONE GIM61903W LMOD APQTKMOD WAS NOT DELETED BY SYSMOD HQN2112 BECAUSE APQTKMOD IS NOT IN THE DLIB ZONE  These messages may be safely ignored. The ++DELETE for load modules APQIOMOD and APQTKMOD in the SMPMCS causes this message to be generated during ACCEPT CHECK processing because LMOD entries are not stored in the DLIB zone. Investigate any other problems before continuing with the installation of ACIF and AFP API.  Installation Instructions 33 » 6.1.12 PERFORM SMP/E ACCEPT Before using SMP/E to load new distribution libraries, it is recommended that you set the ACCJCLIN indicator in the distribution zone. This will cause entries produced from JCLIN to be saved in the distribution zone whenever a SYSMOD containing inline JCLIN is ACCEPTed. For more information on the ACCJCLIN indicator, see the description of inline JCLIN in the SMP/E manuals. Execute the SMP/E ACCEPT job to load the distribution libraries from the SMP/E temporary data sets. The APKQAC job is shown in Figure 29 on page 34. Modify the job card to meet your local requirements and specify the appropriate "UNIT" and "VOLSER" for the SMPTLIB data sets. Also modify the "dlibzone" to be the appropriate SMP/E distribution zone name for your installation. Replace the reference to a started procedure called SMPPROC with the following execute statement: //ACCEPT EXEC PGM=GIMSMP,PARM='CSI=#globalcsi' where "#globalcsi" is the name of your SMP/E CSI. NOTE: If HQN2110 or HQN2112 is already installed, you must add the REDO parameter to the ACCEPT statement. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKQAC JOB 'account #','name',MSGLEVEL=(1,1) | | //ACCEPT EXEC SMPPROC | | //SMPTLIB DD UNIT=xxxx,DISP=OLD,VOL=SER=nnnnnn | | //SMP.SMPCNTL DD * | | SET BDY(dlibzone). | | ACCEPT S(HQN2110,HQN2112) | | BYPASS(HOLDCLASS(UCLREL,ERREL)) | | GROUPEXTEND COMPRESS(ALL). | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 29. Sample SMP/E ACCEPT Job EXPECTED RETURN CODES AND MESSAGES: ACIF MESSAGES: If you are installing ACIF (HQN2110), a return code of "0" should be received. AFP API MESSAGES: If you are installing AFP API (HQN2112), you will receive a return code of "4" and the following warning messages: GIM61903W LMOD APQIOMOD WAS NOT DELETED BY SYSMOD HQN2112 BECAUSE APQIOMOD IS NOT IN THE DLIB ZONE GIM61903W LMOD APQTKMOD WAS NOT DELETED BY SYSMOD HQN2112 BECAUSE APQTKMOD IS NOT IN THE DLIB ZONE  These messages may be safely ignored. The ++DELETE for load modules APQIOMOD and APQTKMOD in the SMPMCS causes this message to be generated during ACCEPT CHECK processing because LMOD entries are not stored in the DLIB zone. If PTFs containing replacement modules are being ACCEPTed, SMP/E ACCEPT processing will linkedit/bind the modules into the distribution libraries. During this processing, the Linkage Editor or Binder may issue IEW0461 or IEW2454W messages documenting unresolved external references, resulting in a return code of 4 from the ACCEPT step. These messages can be ignored, because the distribution libraries are not executable and the unresolved external references will not affect the executable system libraries. 34 ACIF and AFP API Program Directory » 7.0 ACIF AND AFP API INSTALLATION VERIFICATION PROCEDURE  The following sections give detailed Installation Verification Procedures (IVP) for ACIF, AFP API in the MVS environment, and AFP API in the CICS/ESA environment.  7.1 ACIF INSTALLATION VERIFICATION PROCEDURE The IVP job supplied for ACIF processes a sample bank statement. To run the IVP, modify the APKIVP job shown in Figure 30. This job exists in the data set "PSF.ACIF.SAPKSAM2(APKIVP)". Add a job card that contains the appropriate information for your installation, then submit the job. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APKACIF EXEC PGM=APKACIF,REGION=3M | | //*===========================================================* | | //* RUN APK, CREATING OUTPUT AND A RESOURCE LIBRARY * | | //*===========================================================* | | //STEPLIB DD DSN=PSF.ACIF.SAPKMOD1,DISP=SHR | | //INPUT DD DSN=PSF.ACIF.SAPKSAM3(APKBANK),DISP=SHR | | //SYSIN DD * | | /* 1-up,80 lines norm dup, port, front/back offset */ | | CC = YES /* carriage control used */ | | CCTYPE = A /* carriage control type */ | | CPGID = 500 /* code page identifier */ | | FDEFLIB= PSF.ACIF.SAPKULIB | | PDEFLIB= PSF.ACIF.SAPKULIB | | FONTLIB= PSF.ACIF.SAPKULIB | | PSEGLIB= PSF.ACIF.SAPKULIB | | OVLYLIB= PSF.ACIF.SAPKULIB | | FIELD1 = 0,9,3 /* 1st field */ | | FIELD2 = 1,50,35 /* 2nd field */ | | FIELD3 = 3,23,8 /* 3rd field */ | | FORMDEF = F1A18D1 /* formdef name */ | | IMAGEOUT = ASIS /* Input image unconverted */ | | INDEX1 = 'Report Number',field1 /* 1st index */ | | INDEX2 = 'Report Title',field2 /* 2nd index */ | | INDEX3 = 'Date',field3 /* 3rd index */ | | INDEXDD= INDEX /* index file ddname */ | | INDEXOBJ = ALL /* index level group or page */ | | INPUTDD= INPUT /* input file ddname */ | | OUTPUTDD = OUTPUT /* output file ddname */ | | PAGEDEF = P1A18D /* pagedef name */ | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 30 (Part 1 of 2). APKIVP Job for ACIF IVP (C) Copyright IBM Corp. 1993, 1998 35 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | RESFILE = PDS /* resource file type */ | | RESOBJDD = RESLIB /* resource file ddname */ | | RESTYPE = ALL /* resource type selection */ | | TRIGGER1 = *,1,'1' /* 1st trigger */ | | TRIGGER2 = 0,2,'REPORT' /* 2nd trigger */ | | USERLIB= PSF.ACIF.SAPKULIB | | /* | | //OUTPUT DD DSN=PSF.ACIF.IVPSAMP.OUTPUT,DISP=(NEW,CATLG), | | // SPACE=(32760,(150,150),RLSE),UNIT=SYSDA, | | // DCB=(LRECL=32756,BLKSIZE=32760,RECFM=VBM,DSORG=PS) | | //INDEX DD DSN=PSF.ACIF.IVPSAMP.INDEX,DISP=(NEW,CATLG), | | // SPACE=(32760,(15,15),RLSE),UNIT=SYSDA, | | // DCB=(LRECL=32756,BLKSIZE=32760,RECFM=VBM,DSORG=PS) | | //RESLIB DD DSN=PSF.ACIF.IVPSAMP.RESLIB,DISP=(NEW,CATLG), | | // SPACE=(12288,(150,15,15),RLSE),UNIT=SYSDA, | | // DCB=(LRECL=12284,BLKSIZE=12288,RECFM=VBM,DSORG=PO) | | //SYSPRINT DD SYSOUT=* | | //SYSUDUMP DD SYSOUT=* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 30 (Part 2 of 2). APKIVP Job for ACIF IVP This job creates the following data sets: ® PSF.ACIF.IVPSAMP.INDEX ® PSF.ACIF.IVPSAMP.OUTPUT ® PSF.ACIF.IVPSAMP.RESLIB The data set "PSF.ACIF.IVPSAMP.INDEX" is a sequential file that contains the indexes to the output data set "PSF.ACIF.IVPSAMP.OUTPUT". The data set "PSF.ACIF.IVPSAMP.RESLIB" contains the following resources: ® C0D0GT18 ® F1A18D1 ® O1A183 ® O1A184 ® T1D0BASE SYSPRINT contains a list of all the input parameters that are defined in the APKIVP job, and the ACIF default parameters. The last statement is a message that the return code is "0." If the return code is "0," the IVP is completed successfully. To print the sample output data set, use your installation's normal process to print documents using the resources saved in the data set "PSF.ACIF.IVPSAMP.RESLIB". NOTE: If you try to print the ACIF IVP job on a 3800 printer with other than large wide forms (14.88 by 11 inches), the IVP will not print and you will receive message APS743I.  36 ACIF and AFP API Program Directory » 7.2 AFP API INSTALLATION VERIFICATION PROCEDURE IN THE MVS ENVIRONMENT The IVP for AFP API consists of the following steps: ® Create a font library index ® Complete IVP jobs for the COBOL program ® Complete IVP jobs for the PL/1 program. The IVP jobs for AFP API use the Times New Roman 240 or 300 pel Core Interchange Fonts. Review Figure 10 on page 13 for the list of products that contain these fonts. If you do not have these fonts installed, the IVP jobs cannot be completed successfully.  7.2.1 CREATE FONT LIBRARY INDEX Before running the IVP jobs APQIVCOB and APQIVPLI for AFP API, a font library index for the Times New Roman 240 or 300 pel core interchange fonts must be created. If a font library index has already been created for these fonts using the Font Library Index Program (FLIP) available with Document Composition Facility (DCF)/MVS Version 1 Release 4.0, the DCFINDEX file created from DCF/MVS can be used with AFP API. However, if DCF/MVS Version 1 Release 4.0 is not available, the FLIP job included with AFP API must be run to create a font library index called AFPINDEX. To create the AFPINDEX file, execute the job in "PSF.AFPAPI.SAPQSAM1(APQFLIP)". Modify the job card for your installation. Also change the data set names in lower case to the appropriate names for your installation. NOTE: If other fonts will be used when AFP API is run in production, this job can be used to create an AFPINDEX for the other fonts. This job must be modified to contain the font library names where the other fonts reside on your system. Refer to the "Font Library Index Program" section of AFP Application Programming Interface: Programming Guide and Reference for more information on FLIP. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //RUNFLIP JOB 'acct info','name',MSGLEVEL=(0,1), | | // REGION=5M | | //* | | //INDEX1 EXEC PGM=FLIPMVS | | //STEPLIB DD DISP=SHR,DSN=PSF.AFPAPI.SAPQMOD1 | | //****************************************************** | | //* Instructions for using this JCL. | | //* 1. Replace the job card with a valid job card for your | | //* installation. | | //* | | //* 2. The SYSPRINT ddname can be a sequential data set or | | //* can be changed to a SYSOUT data set if you do not | | //* want to save the report from building the font index. | | //* | | //* 3. The FONTLIB ddname can point to a single font library | | //* or a concatenation of font libraries. If it is a single | | //* library, the AFPINDEX member will be added to the | | //* FONTLIB library. If a concatenation of libraries is | | //* used for FONTLIB, you must use FONTLIBO to point to the | | //* library to which the AFPINDEX member will be added. | | //* For AFP API, you should use the library that contains | | //* the core interchange fonts. | | //****************************************************** | | //SYSPRINT DD DSN=userid.FONT.LISTING,DISP=(NEW,CATLG), | | // UNIT=nnnn,VOL=SER=vvvvvv, | | // SPACE=(TRK,(10,10)), | | // DCB=(RECFM=VMB,BLKSIZE=1022,LRECL=125,DSORG=PS) | | //FONTLIB DD DISP=OLD,DSN=SYS1.FONTLIBB | | //FONTLIBO DD DISP=OLD,DSN=SYS1.FONTLIBB | | // | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 31. APQFLIP Job to Create Font Index ACIF and AFP API Installation Verification Procedure 37 » A return code of "0" should be received from this job. 38 ACIF and AFP API Program Directory » 7.2.2 IVP FOR THE COBOL PROGRAM To ensure that the COBOL program is installed correctly, run the APQCOCOB job shown in Figure 32, to compile and link-edit a sample program. This job exists in the data set "PSF.AFPAPI.SAPQSAM1(APQCOCOB)". Modify the job card for your installation. Also change the data set name in lower case to your COBOL library name before submitting the job. The compile options to be used to compile APQCOCOB are:  ADV QUOTE NOAWO BUFSIZE(4096) NOCMPR2 NOCOMPILE(S) DATA(31) NODBCS NODECK NODUMP NODYNAM NOEXIT NOFASTSRT NOFDUMP FLAG(1) NOFLAGMIG NOFLAGSAA NOFLAGSTD LANGUAGE(EN) LIB LINECOUNT(60) LIST NOMAP NONAME NONUMBER NUMPROC(NOPFD) OBJECT NOOFFSET NOOPTIMIZE OUTDD(SYSOUT) RENT RESIDENT SEQUENCE SIZE(MAX) SOURCE SPACE(1) NOSSRANGE NOTERM NOTEST TRUNC(STD) NOVBREF NOWORD NOXREF ZWB  Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQCOCOB JOB 'acct info','name',MSGLEVEL=(1,1) | | //* COBOL API IVP - COMPILE, AND LINK | | //COB2 EXEC PGM=IGYCRCTL,PARM='OBJECT,LIST,LIB,RENT,RES,Q', | | // REGION=1024K | | //* MODIFY THE FOLLOWING FOR YOUR COBOL LIBRARY | | //STEPLIB DD DSNAME=cob2.V131.COB2COMP,DISP=SHR | | //SYSPRINT DD SYSOUT=A | | //SYSIN DD DSNAME=PSF.AFPAPI.SAPQSAM1(APQSAMP),DISP=SHR | | //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA,DISP=(MOD,PASS), | | // SPACE=(TRK,(3,3)), | | // DCB=(BLKSIZE=80,LRECL=80,RECFM=FB) | | //* MODIFY THE FOLLOWING FOR YOUR COBOL LIBRARY | | //SYSLIB DD DSNAME=PSF.AFPAPI.SAPQSAM1,DISP=SHR | | //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) | | //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) | | //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) | | //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) | | //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) | | //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) | | //SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) | | //LKED EXEC PGM=IEWL, | | // PARM='LIST,AMODE=31,RMODE=ANY,RENT,CALL', | | // COND=(5,LT,COB2), | | // REGION=512K | | //SYSLMOD DD DSNAME=PSF.AFPAPI.SAPQMOD1, | | // DISP=(OLD,KEEP) | | //* MODIFY FOLLOWING FOR YOUR COBOL LIBRARIES | | //SYSLIB DD DSNAME=cob2.V131.COB2LIB,DISP=SHR | | //APQSTUB DD DSNAME=PSF.AFPAPI.SAPQMOD2,DISP=SHR | | //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,DELETE) | | // DD * | | INCLUDE APQSTUB(APQINIT) | | INCLUDE APQSTUB(APQBDOC) | | INCLUDE APQSTUB(APQBPAG) | | INCLUDE APQSTUB(APQSPOS) | | INCLUDE APQSTUB(APQPCHS) | | INCLUDE APQSTUB(APQEDOC) | | INCLUDE APQSTUB(APQEPAG) | | INCLUDE APQSTUB(APQTERM) | | INCLUDE APQSTUB(APQCARE) | | INCLUDE APQSTUB(APQPARE) | | INCLUDE APQSTUB(APQXARE) | | INCLUDE APQSTUB(APQBPAR) | | INCLUDE APQSTUB(APQQATT) | | INCLUDE APQSTUB(APQDFNT) | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 32 (Part 1 of 2). APQCOCOB Job for COBOL IVP  ACIF and AFP API Installation Verification Procedure 39 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | INCLUDE APQSTUB(APQSFNT) | | INCLUDE APQSTUB(APQQPOS) | | INCLUDE APQSTUB(APQQSTR) | | INCLUDE APQSTUB(APQSUNI) | | INCLUDE APQSTUB(APQSRTH) | | INCLUDE APQSTUB(APQPBOX) | | INCLUDE APQSTUB(APQPRUL) | | INCLUDE APQSTUB(APQPTXT) | | INCLUDE APQSTUB(APQEPAR) | | INCLUDE APQSTUB(APQEARE) | | INCLUDE APQSTUB(APQIOVL) | | INCLUDE APQSTUB(APQDFLD) | | INCLUDE APQSTUB(APQDROW) | | INCLUDE APQSTUB(APQBTBL) | | INCLUDE APQSTUB(APQBROW) | | INCLUDE APQSTUB(APQBFLD) | | INCLUDE APQSTUB(APQEFLD) | | INCLUDE APQSTUB(APQEROW) | | INCLUDE APQSTUB(APQETBL) | | INCLUDE APQSTUB(APQEND) | | INCLUDE APQSTUB(APQGBUF) | | INCLUDE APQSTUB(APQINVM) | | INCLUDE APQSTUB(APQIPSG) | | INCLUDE APQSTUB(APQSCLR) | | INCLUDE APQSTUB(APQSICS) | | INCLUDE APQSTUB(APQSLIB) | | INCLUDE APQSTUB(APQSOUT) | | INCLUDE APQSTUB(APQSWSP) | | INCLUDE APQSTUB(APQBGRP) | | INCLUDE APQSTUB(APQEGRP) | | INCLUDE APQSTUB(APQPTAG) | | INCLUDE APQSTUB(APQIOBJ) | | INCLUDE APQSTUB(APQXGET) | | INCLUDE APQSTUB(APQXFREE) | | INCLUDE APQSTUB(APQXLOAD) | | INCLUDE APQSTUB(APQXSRVI) | | INCLUDE APQSTUB(APQXSRVN) | | INCLUDE APQSTUB(APQXUNLD) | | ENTRY APQSAMP | | NAME APQSAMP(R) | | //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1)) | | //SYSPRINT DD SYSOUT=* | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 32 (Part 2 of 2). APQCOCOB Job for COBOL IVP A return code of "0" should be received from the APQCOCOB job. After the APQCOCOB job has completed successfully, run the APQIVCOB job shown in Figure 33 on page 41, to run the sample program. This job exists in the data set "PSF.AFPAPI.SAPQSAM1(APQIVCOB)". Modify the job card for your installation. Also change the data set name in lower case to your COBOL library name before submitting the job. 40 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQIVCOB JOB 'acct info','name',MSGLEVEL=(1,1) | | //* COBOL API IVP - RUN APQSAMP | | //* | | //********************************************************** | | //* THIS STEP DELETES THE EXISTING DATASETS * | | //********************************************************** | | //* | | //STEP1 EXEC PGM=IEFBR14 | | //* | | //* | | //FILE1 DD DSN=userid.APQSAMP.LISTAFP, | | // DISP=(MOD,DELETE,DELETE), | | // UNIT=SYSDA, | | // SPACE=(TRK,(1,1),RLSE) | | //* | | //SYSPRINT DD SYSOUT=* | | //SYSOUT DD SYSOUT=* | | //* | | //********************************************************** | | //* THIS STEP RUNS THE JOB APQSAMP * | | //********************************************************** | | //* | | //GO EXEC PGM=APQSAMP | | //* MODIFY FOLLOWING FOR YOUR COBOL LIBRARY | | //STEPLIB DD DSNAME=cob2.V131.COB2LIB,DISP=SHR | | // DD DSNAME=PSF.AFPAPI.SAPQMOD1,DISP=SHR | | //PSEGDD DD DSNAME=PSF.AFPAPI.SAPQULIB,DISP=SHR | | //* MODIFY FOLLOWING FOR CORE FONT LIBRARY | | //FONTDD DD DSNAME=SYS1.FONTLIBB,DISP=SHR | | //* MODIFY FOLLOWING FOR SAMPLE OUTPUT DATASET | | //APQSAMP DD DSNAME=userid.APQSAMP.LISTAFP, | | // DISP=(NEW,CATLG,CATLG), | | // UNIT=SYSDA, | | // SPACE=(CYL,(2,1),RLSE), | | // DCB=(RECFM=VB,LRECL=8205,BLKSIZE=8209) | | //DATAFILE DD DSNAME=PSF.AFPAPI.SAPQSAM1(APQDATA),DISP=SHR | | //SYSABOUT DD SYSOUT=* | | //SYSOUT DD SYSOUT=* | | //SYSDBOUT DD SYSOUT=* | | //SYSUDUMP DD SYSOUT=* | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 33. APQIVCOB Job for COBOL IVP An AFPDS file named "userid.APQSAMP.LISTAFP" is produced, where "userid" is the high level qualifier used in the JCL. If you want to print this file, the overlay and page segment installed in "PSF.AFPAPI.SAPQULIB" must be available for printing. The overlay uses the Sonoran Sans Serif font product (FMID HZD1200) which must be installed before this file is printed. PSF/MVS can be used to print this file. An example of the printed LISTAFP file is in "Using AFP API" section of AFP Application Programming Interface: Programming Guide and Reference. If a return code of "0" is received from this job, the IVP is completed successfully. NOTE: The IVP jobs will not print correctly on a 3812 printer or on a 3816 printer that has a microcode level less than V4.0. The output from the IVP will receive Off Logical Page errors and may contain vector lines that point to where the overlay should be placed on the page. The 3812 can be used to print AFP API output, as long as the output does not contain an overlay. The 3816 must be upgraded to the TURBO level to print overlays included in the AFP API output. This can be accomplished by installing a no charge RPQ S02134.  7.2.3 IVP FOR THE PL/1 PROGRAM ACIF and AFP API Installation Verification Procedure 41 » Ð××× NOTE ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | This section describes how to execute the IVP for the PL/1 program | | as distributed, using the PL/1 V2R3 compiler and library. If you | | want to use LE/370 for runtime libraries, see 7.2.3.1, "Using | | LE/370 With AFP API" on page 46. | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר To ensure that the PL/1 program is installed correctly, run the APQCOPLI job shown in Figure 34, to compile and link-edit a sample program. This job exists in the data set "PSF.AFPAPI.SAPQSAM1(APQCOPLI)". Modify the job card for your installation. Also change the data set names in lower case to your userid and your PL/1 library names, before submitting the job. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQCOPLI JOB 'acct no.','name',MSGLEVEL=(1,1) | | //* | | //* MODIFY THE FOLLOWING FOR YOUR PL/1 LIBRARIES | | //JOBLIB DD DSN=pli.V2R3M0.PLICOMP,DISP=SHR | | // DD DSN=pli.V2R3M0.PLITASK,DISP=SHR | | // DD DSN=pli.V2R3M0.PLIBASE,DISP=SHR | | // DD DSN=pli.V2R3M0.SIBMBASE,DISP=SHR | | // DD DSN=pli.V2R3M0.PLILINK,DISP=SHR | | // DD DSN=pli.V2R3M0.SIBMLINK,DISP=SHR | | //* | | //********************************************************** | | //* THIS JOB STEP COMPILES PL/1 PROGRAMS * | | //********************************************************** | | //* | | //STEP3 EXEC PGM=IEL0AA, | | // PARM='OBJECT,SOURCE,XREF,INCLUDE', | | // REGION=512K | | //* | | //DDSYS DD DSN=PSF.AFPAPI.SAPQSAM1,DISP=SHR | | //* | | //SYSLIN DD DSNAME=&&LOADSET(APQPSAMP), | | // UNIT=SYSDA,DISP=(MOD,PASS), | | // SPACE=(TRK,(30,3,20)), | | // DCB=(BLKSIZE=80,LRECL=80,RECFM=FB) | | //SYSUT1 DD DSN=&&SYSUT1, | | // UNIT=SYSDA, | | // SPACE=(1024,(200,20)), | | // DCB=BLKSIZE=1024 | | //* | | //SYSIN DD DSN=PSF.AFPAPI.SAPQSAM1(APQPSAMP),DISP=SHR | | //* | | //SYSPRINT DD SYSOUT=* | | //* | | //********************************************************** | | //* THIS STEP LINKEDITS THE PROGRAMS * | | //********************************************************** | | //* | | //STEP4 EXEC PGM=IEWL, | | // COND=(9,LT,STEP3), | | // PARM='XCAL,LIST', | | // REGION=512K | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 34 (Part 1 of 3). APQCOPLI Job for PL/1 IVP 42 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //* MODIFY THE FOLLOWING FOR YOUR PL/1 AND C LIBRARIES | | //SYSLIB DD DSN=pli.V2R3M0.PLIBASE,DISP=SHR | | // DD DSN=pli.V2R3M0.SIBMBASE,DISP=SHR | | // DD DSN=pli.V2R3M0.SIBMLINK,DISP=SHR | | // DD DSN=pli.V2R3M0.PLILINK,DISP=SHR | | //* MODIFY THE DATA SET NAME AND VOLSER FOR YOUR INSTALLATION | | //SYSLMOD DD DSN=userid.API.TEMPOUT(APQPSAMP), | | // UNIT=SYSDA,DISP=(NEW,CATLG,DELETE), | | // SPACE=(CYL,(5,1,1)),VOL=SER=TEMPnn, | | // DCB=(BLKSIZE=13000,LRECL=256,RECFM=U) | | //* | | //SYSUT1 DD DSN=&&SYSUT1, | | // UNIT=SYSDA, | | // SPACE=(1024,(200,20)), | | // DCB=BLKSIZE=1024 | | //* | | //TXTLIB DD DSN=PSF.AFPAPI.SAPQMOD2,DISP=SHR | | //* | | //OBJLIB DD DSN=&&LOADSET,DISP=(OLD,PASS) | | //* | | //SYSPRINT DD SYSOUT=* | | //* | | //SYSLIN DD * | | INCLUDE OBJLIB(APQPSAMP) | | INCLUDE TXTLIB(APQBDOC) | | INCLUDE TXTLIB(APQBPAG) | | INCLUDE TXTLIB(APQBFLD) | | INCLUDE TXTLIB(APQBGRP) | | INCLUDE TXTLIB(APQBROW) | | INCLUDE TXTLIB(APQBTBL) | | INCLUDE TXTLIB(APQBPAR) | | INCLUDE TXTLIB(APQCARE) | | INCLUDE TXTLIB(APQDFLD) | | INCLUDE TXTLIB(APQDFNT) | | INCLUDE TXTLIB(APQDROW) | | INCLUDE TXTLIB(APQEARE) | | INCLUDE TXTLIB(APQEDOC) | | INCLUDE TXTLIB(APQEFLD) | | INCLUDE TXTLIB(APQEGRP) | | INCLUDE TXTLIB(APQEND) | | INCLUDE TXTLIB(APQEPAG) | | INCLUDE TXTLIB(APQEPAR) | | INCLUDE TXTLIB(APQEROW) | | INCLUDE TXTLIB(APQETBL) | | INCLUDE TXTLIB(APQGBUF) | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 34 (Part 2 of 3). APQCOPLI Job for PL/1 IVP ACIF and AFP API Installation Verification Procedure 43 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | INCLUDE TXTLIB(APQINIT) | | INCLUDE TXTLIB(APQINVM) | | INCLUDE TXTLIB(APQIOBJ) | | INCLUDE TXTLIB(APQIOVL) | | INCLUDE TXTLIB(APQIPSG) | | INCLUDE TXTLIB(APQPARE) | | INCLUDE TXTLIB(APQPBOX) | | INCLUDE TXTLIB(APQPTAG) | | INCLUDE TXTLIB(APQPTXT) | | INCLUDE TXTLIB(APQQATT) | | INCLUDE TXTLIB(APQPRUL) | | INCLUDE TXTLIB(APQPCHS) | | INCLUDE TXTLIB(APQQPOS) | | INCLUDE TXTLIB(APQQSTR) | | INCLUDE TXTLIB(APQSCLR) | | INCLUDE TXTLIB(APQSFNT) | | INCLUDE TXTLIB(APQSICS) | | INCLUDE TXTLIB(APQSLIB) | | INCLUDE TXTLIB(APQSOUT) | | INCLUDE TXTLIB(APQSPOS) | | INCLUDE TXTLIB(APQSRTH) | | INCLUDE TXTLIB(APQSUNI) | | INCLUDE TXTLIB(APQSWSP) | | INCLUDE TXTLIB(APQTERM) | | INCLUDE TXTLIB(APQXARE) | | INCLUDE TXTLIB(APQXGET) | | INCLUDE TXTLIB(APQXFREE) | | INCLUDE TXTLIB(APQXLOAD) | | INCLUDE TXTLIB(APQXSRVI) | | INCLUDE TXTLIB(APQXSRVN) | | INCLUDE TXTLIB(APQXUNLD) | | INCLUDE SYSLIB(IBMBOPAA) | | INCLUDE SYSLIB(IBMBLIIA) | | MODE AMODE(31),RMODE(ANY) | | NAME APQPSAMP(R) | | /* | | //* | | // | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 34 (Part 3 of 3). APQCOPLI Job for PL/1 IVP A return code of "0" should be received from the APQCOPLI job. After the APQCOPLI job has completed successfully, run the APQIVPLI job shown in Figure 35 on page 45, to run the sample program. This job exists in the data set "PSF.AFPAPI.SAPQSAM1(APQIVPLI)". Modify the job card for your installation. Also change the data set names in lower case to your PL/1 library names, and userid before submitting the job. 44 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQIVPLI JOB 'acct no.','name',MSGLEVEL=(1,1) | | //* | | //* MODIFY THE FOLLOWING FOR YOUR PL/1 LIBRARIES | | //* ALSO, MODIFY FOR THE TEMPORARY OBJECT DATA SET | | //* CREATED FROM JOB APQCOPLI | | //JOBLIB DD DSN=pli.V2R3M0.SIBMLINK,DISP=SHR | | // DD DSN=pli.V2R3M0.PLILINK,DISP=SHR | | // DD DSN=pli.V2R3M0.PLILINK,DISP=SHR | | // DD DSN=PSF.AFPAPI.SAPQMOD1,DISP=SHR | | // DD DSN=userid.API.TEMPOUT,DISP=SHR | | //* | | //********************************************************** | | //* THIS STEP DELETES THE EXISTING DATASETS * | | //********************************************************** | | //* | | //STEP1 EXEC PGM=IEFBR14 | | //* | | //* | | //FILE1 DD DSN=userid.APQPSAMP.LISTAFP, | | // DISP=(MOD,DELETE,DELETE), | | // UNIT=SYSDA, | | // SPACE=(TRK,(1,1),RLSE) | | //* | | //FILE2 DD DSN=userid.APQPSAMP.SYSPRINT, | | // DISP=(MOD,DELETE,DELETE), | | // UNIT=SYSDA, | | // SPACE=(TRK,(1,1),RLSE) | | //* | | //SYSPRINT DD SYSOUT=* | | //SYSOUT DD SYSOUT=* | | //* | | //********************************************************** | | //* THIS STEP RUNS A PL/1 PROGRAM THAT USES THE AFP API * | | //********************************************************** | | //* | | //STEP2 EXEC PGM=APQPSAMP,REGION=4098K | | //* | | //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //* | | //FONTDD DD DSN=SYS1.FONTLIBB,DISP=SHR | | //* | | //PSEGDD DD DSN=PSF.AFPAPI.SAPQULIB,DISP=SHR | | //* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 35 (Part 1 of 2). APQIVPLI Job for PL/1 IVP ACIF and AFP API Installation Verification Procedure 45 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQSAMP DD DSN=userid.APQPSAMP.LISTAFP, | | // DISP=(NEW,CATLG,CATLG), | | // UNIT=SYSDA, | | // SPACE=(CYL,(2,1),RLSE), | | // DCB=(RECFM=VB,LRECL=8205,BLKSIZE=8209) | | //* | | //DATAIN DD DSN=PSF.AFPAPI.SAPQSAM1(APQDATA),DISP=SHR | | //* | | //SYSPRINT DD DSN=userid.APQPSAMP.SYSPRINT, | | // DISP=(NEW,CATLG,CATLG), | | // UNIT=SYSDA, | | // SPACE=(TRK,(5,5),RLSE), | | // DCB=(RECFM=FB,LRECL=133,BLKSIZE=13300) | | //* | | //SYSERR DD SYSOUT=* | | //SYSABOUT DD SYSOUT=* | | //SYSOUT DD SYSOUT=* | | //SYSUDUMP DD SYSOUT=* | | //SYSIN DD DUMMY | | /* | | // | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 35 (Part 2 of 2). APQIVPLI Job for PL/1 IVP An AFPDS file named "userid.APQPSAMP.LISTAFP" is created, where "userid" is the high level qualifier used in the JCL. If you want to print this file, the overlay and page segment installed in "PSF.AFPAPI.SAPQULIB" must be available for printing. The overlay uses the Sonoran Sans Serif font product (FMID HZD1200) which must be installed before this file is printed. PSF/MVS can be used to print this file. An example of the printed LISTAFP file is in "Using AFP API" section of AFP Application Programming Interface: Programming Guide and Reference. If a return code of "0" is received from this job, the IVP is completed successfully.  7.2.3.1 USING LE/370 WITH AFP API Language Environment (LE/370) is supported by AFP API. Figure 36 on page 47 and Figure 37 on page 50 show how to modify the PL/1 IVP jobs to use the LE/370 runtime libraries. You can modify the APQCOPLI job to resemble the APQCOLE job shown in Figure 36 on page 47. Modify the job card for your installation. Change the data set names in lower case to your userid and your PL/1 and LE library names, before submitting the job.  46 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQCOLE JOB 'acct no.','name',MSGLEVEL=(1,1) | | //* | | //********************************************************** | | //* THIS JOB STEP COMPILES PL/1 PROGRAMS * | | //********************************************************** | | //* | | //STEP3 EXEC PGM=IEL0AA, | | // PARM='OBJECT,SOURCE,XREF,INCLUDE,A(F),AG,FLAG(I)',| | // REGION=512K | | //* MODIFY THE FOLLOWING FOR YOUR PL/1 LIBRARIES | | //STEPLIB DD DISP=SHR,DSN=pli.V2R3M0.PLICOMP | | // DD DISP=SHR,DSN=cee.V1R5M0.SCEERUN | | //* | | //DDSYS DD DSN=PSF.AFPAPI.SAPQSAM1,DISP=SHR | | //* | | //SYSLIN DD DSNAME=&&LOADSET(APQPSAMP), | | // UNIT=SYSDA,DISP=(MOD,PASS), | | // SPACE=(TRK,(30,3,20)), | | // DCB=(BLKSIZE=80,LRECL=80,RECFM=FB) | | //SYSUT1 DD DSN=&&SYSUT1, | | // UNIT=SYSDA, | | // SPACE=(1024,(200,20)), | | // DCB=BLKSIZE=1024 | | //* | | //SYSIN DD DSN=PSF.AFPAPI.SAPQSAM1(APQPSAMP),DISP=SHR | | //* | | //SYSPRINT DD SYSOUT=* | | //* | | //********************************************************** | | //* THIS STEP LINKEDITS THE PROGRAMS * | | //********************************************************** | | //* | | //STEP4 EXEC PGM=IEWL, | | // COND=(9,LT,STEP3), | | // PARM='XCAL,LIST', | | // REGION=512K | | //* MODIFY THE FOLLOWING FOR YOUR PL/1 AND C LIBRARIES | | //SYSLIB DD DISP=SHR,DSN=cee.V1R5M0.SCEELKED | | //* | | //* MODIFY THE DATA SET NAME AND VOLSER FOR YOUR INSTALLATION | | //SYSLMOD DD DSN=userid.API.TEMPOUT(APQPSAMP), | | // UNIT=SYSDA,DISP=(NEW,CATLG,KEEP), | | // SPACE=(CYL,(5,1,1)),VOL=SER=TEMPxx, | | // DCB=(BLKSIZE=13000,LRECL=256,RECFM=U) | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 36 (Part 1 of 3). APQCOLE PL/1 IVP Using LE/370 ACIF and AFP API Installation Verification Procedure 47 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //* | | //SYSUT1 DD DSN=&&SYSUT1, | | // UNIT=SYSDA, | | // SPACE=(1024,(200,20)), | | // DCB=BLKSIZE=1024 | | //* | | //TXTLIB DD DSN=PSF.AFPAPI.SAPQMOD2,DISP=SHR | | //* | | //OBJLIB DD DSN=&&LOADSET,DISP=(OLD,PASS) | | //* | | //SYSPRINT DD SYSOUT=* | | //* | | //SYSLIN DD * | | INCLUDE OBJLIB(APQPSAMP) | | INCLUDE TXTLIB(APQBDOC) | | INCLUDE TXTLIB(APQBPAG) | | INCLUDE TXTLIB(APQBFLD) | | INCLUDE TXTLIB(APQBGRP) | | INCLUDE TXTLIB(APQBROW) | | INCLUDE TXTLIB(APQBTBL) | | INCLUDE TXTLIB(APQBPAR) | | INCLUDE TXTLIB(APQCARE) | | INCLUDE TXTLIB(APQDFLD) | | INCLUDE TXTLIB(APQDFNT) | | INCLUDE TXTLIB(APQDROW) | | INCLUDE TXTLIB(APQEARE) | | INCLUDE TXTLIB(APQEDOC) | | INCLUDE TXTLIB(APQEFLD) | | INCLUDE TXTLIB(APQEGRP) | | INCLUDE TXTLIB(APQEND) | | INCLUDE TXTLIB(APQEPAG) | | INCLUDE TXTLIB(APQEPAR) | | INCLUDE TXTLIB(APQEROW) | | INCLUDE TXTLIB(APQETBL) | | INCLUDE TXTLIB(APQGBUF) | | INCLUDE TXTLIB(APQINIT) | | INCLUDE TXTLIB(APQINVM) | | INCLUDE TXTLIB(APQIOBJ) | | INCLUDE TXTLIB(APQIOVL) | | INCLUDE TXTLIB(APQIPSG) | | INCLUDE TXTLIB(APQPARE) | | INCLUDE TXTLIB(APQPBOX) | | INCLUDE TXTLIB(APQPTAG) | | INCLUDE TXTLIB(APQPTXT) | | INCLUDE TXTLIB(APQQATT) | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 36 (Part 2 of 3). APQCOLE PL/1 IVP Using LE/370 48 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | INCLUDE TXTLIB(APQPRUL) | | INCLUDE TXTLIB(APQPCHS) | | INCLUDE TXTLIB(APQQPOS) | | INCLUDE TXTLIB(APQQSTR) | | INCLUDE TXTLIB(APQSCLR) | | INCLUDE TXTLIB(APQSFNT) | | INCLUDE TXTLIB(APQSICS) | | INCLUDE TXTLIB(APQSLIB) | | INCLUDE TXTLIB(APQSOUT) | | INCLUDE TXTLIB(APQSPOS) | | INCLUDE TXTLIB(APQSRTH) | | INCLUDE TXTLIB(APQSUNI) | | INCLUDE TXTLIB(APQSWSP) | | INCLUDE TXTLIB(APQTERM) | | INCLUDE TXTLIB(APQXARE) | | INCLUDE TXTLIB(APQXGET) | | INCLUDE TXTLIB(APQXFREE) | | INCLUDE TXTLIB(APQXLOAD) | | INCLUDE TXTLIB(APQXSRVI) | | INCLUDE TXTLIB(APQXSRVN) | | INCLUDE TXTLIB(APQXUNLD) | | MODE AMODE(31),RMODE(ANY) | | NAME APQPSAMP(R) | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 36 (Part 3 of 3). APQCOLE PL/1 IVP Using LE/370 A return code of "0" should be received from the APQCOLE job. After the APQCOLE job has completed successfully, modify the APQIVPLI job to resemble the sample APQIVPLE job as shown in Figure 37 on page 50. Modify the job card for your installation. Change the data set names in lower case to your userid and your PL/1 and LE library names, before submitting the job. ACIF and AFP API Installation Verification Procedure 49 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQIVPLE JOB 'acct no.','name',MSGLEVEL=(1,1) | | //* | | //********************************************************** | | //* THIS STEP DELETES THE EXISTING DATASETS * | | //********************************************************** | | //* | | //STEP1 EXEC PGM=IEFBR14 | | //* | | //* | | //FILE1 DD DSN=userid.APQPSAMP.LISTAFP, | | // DISP=(MOD,DELETE,DELETE), | | // UNIT=SYSDA, | | // SPACE=(TRK,(1,1),RLSE) | | //* | | //FILE2 DD DSN=userid.APQPSAMP.SYSPRINT, | | // DISP=(MOD,DELETE,DELETE), | | // UNIT=SYSDA, | | // SPACE=(TRK,(1,1),RLSE) | | //* | | //SYSPRINT DD SYSOUT=* | | //SYSOUT DD SYSOUT=* | | //* | | //********************************************************** | | //* THIS STEP RUNS A PL/1 PROGRAM THAT USES THE AFP API * | | //********************************************************** | | //* | | //STEP2 EXEC PGM=APQPSAMP,REGION=4098K | | //STEPLIB DD DISP=SHR,DSN=cee.V1R5M0.SCEERUN | | // DD DSN=PSF.AFPAPI.SAPQMOD1,DISP=SHR | | // DD DSN=userid.API.TEMPOUT,DISP=SHR | | //* | | //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //* | | //FONTDD DD DSN=SYS1.FONTLIBB,DISP=SHR | | //* | | //PSEGDD DD DSN=PSF.AFPAPI.SAPQULIB,DISP=SHR | | //* | | //APQSAMP DD DSN=userid.APQPSAMP.LISTAFP, | | // DISP=(NEW,CATLG,CATLG), | | // UNIT=SYSDA, | | // SPACE=(CYL,(2,1),RLSE), | | // DCB=(RECFM=VB,LRECL=8205,BLKSIZE=8209) | | //* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 37 (Part 1 of 2). APQIVPLE PL/1 IVP Using LE/370 50 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //DATAIN DD DSN=PSF.AFPAPI.SAPQSAM1(APQDATA),DISP=SHR | | //* | | //SYSPRINT DD DSN=userid.APQPSAMP.SYSPRINT, | | // DISP=(NEW,CATLG,CATLG), | | // UNIT=SYSDA, | | // SPACE=(TRK,(5,5),RLSE), | | // DCB=(RECFM=FB,LRECL=133,BLKSIZE=13300) | | //* | | //SYSERR DD SYSOUT=* | | //SYSABOUT DD SYSOUT=* | | //SYSOUT DD SYSOUT=* | | //SYSUDUMP DD SYSOUT=* | | //SYSIN DD DUMMY | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 37 (Part 2 of 2). APQIVPLE PL/1 IVP Using LE/370 An AFPDS file named "userid.APQPSAMP.LISTAFP" is created, where "userid" is the high level qualifier used in the JCL. If you want to print this file, the overlay and page segment installed in "PSF.AFPAPI.SAPQULIB" must be available for printing. The overlay uses the Sonoran Sans Serif font product (FMID HZD1200) which must be installed before this file is printed. PSF/MVS can be used to print this file. An example of the printed LISTAFP file is in "Using AFP API" section of AFP Application Programming Interface: Programming Guide and Reference. If a return code of "0" is received from this job, the IVP is completed successfully. ACIF and AFP API Installation Verification Procedure 51 » 7.3 AFP API INSTALLATION VERIFICATION PROCEDURE FOR THE CICS/ESA ENVIRONMENT If you will be using AFP API functions in a CICS/ESA environment, complete the steps in this section. Otherwise, skip this section. The IVP for AFP API in a CICS/ESA environment consists of the following steps: ® Perform APQCILNK post installation job ® Create Font Library Index ® Create VSAM data sets for fonts and page segments ® Create entries in the CICS/ESA File Control Table ® Create entries in the CICS/ESA Processing Program Table ® Create transaction definitions in the CICS/ESA Program Control Table ® Add Resource Definitions to active CICS/ESA system ® Modify APQPERF Copy Book ® Compile the sample COBOL programs ® Run the sample COBOL programs. 7.3.1 PERFORM APQCILNK POST INSTALLATION JOB After the SMP/E installation is complete, run the job "APQCILNK" located in "PSF.AFPAPI.SAPQSAM1" in order to install the CICS modules "DFHEAI" and "DFHEAIO" into the AFP API CICS load modules "APQCIMOD, APQEFLS, APQEFOP" and "APQEPLS". NOTE: Change the data set names in lower case to the appropriate names for your installation. 52 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //APQJCLC JOB 'acct no.','name',MSGLEVEL=(1,1) | | //* | | //***************************************************************| | //* | | //* This post install job link-edits load modules | | //* created by the LINKAPI job in HQN2112J with CICS | | //* modules DFHEAI and DFHEAI0. | | //* | | //* Re-created are the following modules: | | //* | | //* APQCIMOD: THE ABOVE-THE-LINE MAIN MODULE (CICS VERSION) | | //* APQEFLS: CICS FONT LIBRARY EXIT SAMPLE CODE | | //* APQEFOP: CICS FORMATTED OUTPUT SAMPLE USER EXIT | | //* APQEPLS: CICS PSEG LIBRARY SAMPLE EXIT | | //* | | //***************************************************************| | //* | | //***************************************************************| | //* | | //* APQCIMOD: THE ABOVE-THE-LINE MAIN MODULE (CICS VERSION) | | //* | | //***************************************************************| | //* | | //LNKCIMOD EXEC PGM=HEWL,REGION=768K, | | // PARM='AMODE=31,RMODE=ANY,RENT,XREF,LIST,LET,NCAL' | | //SYSPRINT DD SYSOUT=* | | //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //* | | //* REPLACE WITH YOUR CICS LIBRARY | | //* | | //CICSDIST DD DISP=OLD,DSN=cics.load.library | | //APQLOAD DD DISP=OLD,DSN=PSF.AFPAPI.SAPQMOD1 | | //SYSLMOD DD DISP=OLD,DSN=PSF.AFPAPI.SAPQMOD1 | | //SYSLIN DD * | | INCLUDE CICSDIST(DFHEAI) | | INCLUDE CICSDIST(DFHEAI0) | | INCLUDE APQLOAD(APQCIMOD) | | ORDER DFHEAI | | ORDER DFHEAI0 | | ORDER DSMAAAAA | | ORDER DSMESFLP | | ORDER DSMESPSP | | ORDER DSMESPUT | | . | | . (Additional Order statements removed) | | . | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 38 (Part 1 of 3). APQCILNK Post Installation Job  ACIF and AFP API Installation Verification Procedure 53 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | ENTRY EDCXSTRT | | NAME APQCIMOD(R) | | /* | | //***************************************************************| | //* | | //* APQEFLS: CICS FONT LIBRARY EXIT SAMPLE CODE | | //* | | //***************************************************************| | //* | | //LNKEFLS EXEC PGM=HEWL,REGION=768K, | | // PARM='AMODE=31,RMODE=ANY,RENT,XREF,LIST,LET,NCAL' | | //SYSPRINT DD SYSOUT=* | | //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //* | | //* REPLACE WITH YOUR CICS LIBRARY | | //* | | //CICSDIST DD DISP=OLD,DSN=cics.load.library | | //APQLOAD DD DISP=OLD,DSN=PSF.AFPAPI.SAPQMOD1 | | //SYSLMOD DD DISP=OLD,DSN=PSF.AFPAPI.SAPQMOD1 | | //SYSLIN DD * | | INCLUDE CICSDIST(DFHEAI) | | INCLUDE CICSDIST(DFHEAI0) | | INCLUDE APQLOAD(APQEFLS) | | ORDER DFHEAI | | ORDER DFHEAI0 | | ORDER APQEFLS | | ENTRY APQEFLS | | NAME APQEFLS(R) | | /* | | //***************************************************************| | //* | | //* APQEFOP: CICS FORMATTED OUTPUT SAMPLE USER EXIT | | //* | | //***************************************************************| | //* | | //LNKEFOP EXEC PGM=HEWL,REGION=768K, | | // PARM='AMODE=31,RMODE=ANY,RENT,XREF,LIST,LET,NCAL' | | //SYSPRINT DD SYSOUT=* | | //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //* | | //* REPLACE WITH YOUR CICS LIBRARY | | //* | | //CICSDIST DD DISP=OLD,DSN=cics.load.library | | //APQLOAD DD DISP=OLD,DSN=PSF.AFPAPI.SAPQMOD1 | | //SYSLMOD DD DISP=OLD,DSN=PSF.AFPAPI.SAPQMOD1 | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 38 (Part 2 of 3). APQCILNK Post Installation Job 54 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //SYSLIN DD * | | INCLUDE CICSDIST(DFHEAI) | | INCLUDE CICSDIST(DFHEAI0) | | INCLUDE APQLOAD(APQEFOP) | | ORDER DFHEAI | | ORDER DFHEAI0 | | ORDER APQEFOP | | ENTRY APQEFOP | | NAME APQEFOP(R) | | /* | | //***************************************************************| | //* | | //* APQEPLS: CICS PSEG LIBRARY SAMPLE EXIT | | //* | | //***************************************************************| | //* | | //LNKEPLS EXEC PGM=HEWL,REGION=768K, | | // PARM='AMODE=31,RMODE=ANY,RENT,XREF,LIST,LET,NCAL' | | //SYSPRINT DD SYSOUT=* | | //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(5,1)) | | //* | | //* REPLACE WITH YOUR CICS LIBRARY | | //* | | //CICSDIST DD DISP=OLD,DSN=cics.load.library | | //APQLOAD DD DISP=OLD,DSN=PSF.AFPAPI.SAPQMOD1 | | //SYSLMOD DD DISP=OLD,DSN=PSF.AFPAPI.SAPQMOD1 | | //SYSLIN DD * | | INCLUDE CICSDIST(DFHEAI) | | INCLUDE CICSDIST(DFHEAI0) | | INCLUDE APQLOAD(APQEPLS) | | ORDER DFHEAI | | ORDER DFHEAI0 | | ORDER APQEPLS | | ENTRY APQEPLS | | NAME APQEPLS(R) | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 38 (Part 3 of 3). APQCILNK Post Installation Job A return code of "0" should be received from each step of this job.  7.3.2 CREATE FONT LIBRARY INDEX If you have not created a font library index for the Times New Roman 240 or 300 pel core interchange fonts, complete the instructions in 7.2.1, "Create Font Library Index" on page 37 before continuing.  7.3.3 CREATE VSAM DATA SETS FOR FONTS AND PAGE SEGMENTS Fonts and page segments accessed by AFP API in a CICS/ESA environment must be in key-sequenced VSAM data sets. The IVP jobs for AFP API in the CICS/ESA environment use the Times New Roman 240 pel or 300 pel fonts. If your installation uses other fonts for AFP API in the CICS/ESA environment, they must also be put into key-sequenced VSAM data sets.  7.3.3.1 VSAM DATA SET FOR FONTS The job "PSF.AFPAPI.SAPQSAM1(APQCIFON)" creates a VSAM data set and copies all members from the partitioned data set containing the Times New Roman 240 pel or 300 pel fonts into it, including the AFPINDEX created by Font Library Index Program. In the sample APQCIFON job, the name of the font data set is "SYS1.FONT3820". If your font library is not called "SYS1.FONT3820", change this name to the name of your font library; for example, "SYS1.FONTLIBB" for 240 pel fonts, and "SYS1.FONT300" for 300 pel fonts.  ACIF and AFP API Installation Verification Procedure 55 » NOTE: If you only want to copy a subset of fonts into the VSAM data set, you must create a PDS that contains only that subset of fonts before running these jobs. Change the data set names in lower case to the appropriate names for your installation. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //DEL1 EXEC PGM=IDCAMS | | //SYSPRINT DD SYSOUT=* | | //SYSIN DD * | | DELETE user.AFP.FONTLIB | | DELETE user.AFPVSAM.FONTLIB | | /* | | //CNVTFONT EXEC PGM=APQCIVSM,REGION=768K,TIME=1440 | | //STEPLIB DD DSN=user.AFPAPI.LOAD,DISP=SHR | | //SEQ DD DUMMY | | //LIB DD DSN=SYS1.FONT3820, | | // DISP=SHR | | //VSAM DD DSN=user.AFP.FONTLIB, | | // DISP=(NEW,CATLG), | | // UNIT=SYSDA, | | // SPACE=(CYL,(100,50),RLSE), | | // DCB=(BLKSIZE=32760,LRECL=32756,RECFM=VB) | | //SYSOUT DD SYSOUT=* | | //SYSPRINT DD SYSOUT=* | | //SYSUDUMP DD SYSOUT=* | | //DEFINE EXEC PGM=IDCAMS,REGION=512K | | //SYSPRINT DD SYSOUT=* | | //SYSIN DD * | | DEFINE CLUSTER - | | (NAME( - | | user.AFPVSAM.FONTLIB - | | - | | ) - | | CYLINDERS(100 50) - | | RECSZ(80 32760) - | | KEYS(12 0) - | | FSPC(10 10) - | | SHR(2 3)) - | | INDEX(NAME( - | | user.AFPVSAM.FONTLIB.INDEX - | | ) - | | CISZ(1024)) - | | DATA(NAME( - | | user.AFPVSAM.FONTLIB.DATA - | | ) - | | CISZ(32768)) | | /* | | //REPRO EXEC PGM=IDCAMS,REGION=512K | | //SYSPRINT DD SYSOUT=* | | //SEQFON DD DSN=user.AFP.FONTLIB,DISP=OLD | | //DCFFON DD DSN=user.AFPVSAM.FONTLIB,DISP=OLD | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 39 (Part 1 of 2). APQCIFON Job  56 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //SYSIN DD * | | REPRO INFILE(SEQFON) - | | OUTFILE(DCFFON) | | /* | | //DEL2 EXEC PGM=IDCAMS | | //SYSPRINT DD SYSOUT=* | | //SYSIN DD * | | DELETE user.AFP.FONTLIB | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 39 (Part 2 of 2). APQCIFON Job A return code of "0" should be received from this job.  7.3.3.2 VSAM DATA SET FOR PAGE SEGMENTS The job "PSF.AFPAPI.SAPQSAM1(APQCISEG)" creates a VSAM data set and copies all members from a page segment PDS into it. The page segment VSAM data set only needs to be created if your application programs include page segments. NOTE: If you only want to copy a subset of page segments into the VSAM data set, you must create a PDS that contains only that subset of page segments before running these jobs. Change the data set names in lower case to the appropriate names for your installation. ACIF and AFP API Installation Verification Procedure 57 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //DEL1 EXEC PGM=IDCAMS | | //SYSPRINT DD SYSOUT=* | | //SYSIN DD * | | DELETE user.AFP.PSEG3820 | | DELETE user.AFPVSAM.PSEG3820 | | /* | | //CNVTSEG EXEC PGM=APQCIVSM,REGION=768K,TIME=1440 | | //STEPLIB DD DSN=user.AFPAPI.LOAD,DISP=SHR | | //SEQ DD DUMMY | | //LIB DD DSN=user.PSEG3820, | | // DISP=SHR | | //VSAM DD DSN=user.AFP.PSEG3820, | | // DISP=(NEW,CATLG), | | // UNIT=SYSDA, | | // SPACE=(CYL,(100,50),RLSE), | | // DCB=(BLKSIZE=32760,LRECL=32756,RECFM=VB) | | //SYSOUT DD SYSOUT=* | | //SYSPRINT DD SYSOUT=* | | //SYSUDUMP DD SYSOUT=* | | //DEFINE EXEC PGM=IDCAMS,REGION=512K | | //SYSPRINT DD SYSOUT=* | | //SYSIN DD * | | DEFINE CLUSTER - | | (NAME( - | | user.AFPVSAM.PSEG3820 - | | - | | ) - | | CYLINDERS(100 50) - | | RECSZ(80 32760) - | | KEYS(12 0) - | | FSPC(10 10) - | | SHR(2 3)) - | | INDEX(NAME( - | | user.AFPVSAM.PSEG3820.INDEX - | | ) - | | CISZ(1024)) - | | DATA(NAME( - | | user.AFPVSAM.PSEG3820.DATA - | | ) - | | CISZ(32768)) | | /* | | //REPRO EXEC PGM=IDCAMS,REGION=512K | | //SYSPRINT DD SYSOUT=* | | //SEQSEG DD DSN=user.AFP.PSEG3820,DISP=OLD | | //DCFSEG DD DSN=user.AFPVSAM.PSEG3820,DISP=OLD | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 40 (Part 1 of 2). APQCISEG Job 58 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //SYSIN DD * | | REPRO INFILE(SEQSEG) - | | OUTFILE(DCFSEG) | | /* | | //DEL2 EXEC PGM=IDCAMS | | //SYSPRINT DD SYSOUT=* | | //SYSIN DD * | | DELETE user.AFP.PSEG3820 | | /* | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 40 (Part 2 of 2). APQCISEG Job A return code of "0" should be received from this job.  7.3.4 CREATE ENTRIES IN THE CICS/ESA FILE CONTROL TABLE Create entries in the CICS/ESA File Control Table (FCT) with the following file names for the font and page segment VSAM data sets: FILE NAME DEFINITION FONTLIB VSAM font data set SEGLIB VSAM page segment data set (required only if using page segments)  NOTE: Refer to CICS/ESA Resource Definition Guide for information on creating entries in the FCT. See the sample listing of a CICS/ESA system definition (CSD) file in Figure 42 on page 61 for the attributes of these files. If the font or page segment data sets are accessed frequently and you require improved performance, you can add VSAM buffers for these files or add the files to the VSAM local shared resource pool (LSR).  7.3.5 CREATE PROGRAM ENTRIES IN THE CICS/ESA PROCESSING PROGRAM TABLE Create program entries in the CICS/ESA Processing Program Table (PPT) for the following load modules: MODULE DEFINITION APQCIMOD AFP API main module APQCISMB Sample COBOL program, using buffered-output APQCISMP Sample COBOL program, without buffered-output APQEFLS AFP API program that reads a VSAM font data set APQEFOP AFP API program that writes an output record APQEPLS AFP API program that reads a VSAM page segment data set  NOTE: Refer to CICS/ESA Resource Definition Guide for information on creating program entries in the PPT. See the sample listing of a CICS/ESA system definition (CSD) file in Figure 42 on page 61 for the attributes of these programs.  ACIF and AFP API Installation Verification Procedure 59 » 7.3.6 CREATE TRANSACTION DEFINITIONS IN THE CICS/ESA PROGRAM CONTROL TABLE Create transaction definitions in the CICS/ESA Program Control Table (PCT) for the sample AFP API programs: TRANSACTION DEFINITION APQB Sample program, using buffered output APQS Sample program, without buffered output NOTE: Refer to CICS/ESA Resource Definition Guide for information on creating transaction entries in the PCT. See the sample listing of a CICS system definition (CSD) file in Figure 42 on page 61 for the attributes of these transactions.  7.3.7 ADD RESOURCE DEFINITIONS TO ACTIVE CICS/ESA SYSTEM If Resource Definition On-line (RDO) is used, issue the following command to dynamically add the resource definitions in the named group into the active CICS system: CEDA Install Group(afpppt) where "afpppt" is your PPT group name. After your PPT group name is installed, edit the "afpppt" group name in the menu with the "afppct" group name to install your PCT group name. Figure 41 is an example of the menu that is viewed when you enter the Install Group command. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | INSTALL GROUP(afpppt) | | OVERTYPE TO MODIFY | | CEDA Install | | Group ==> afppct | | | | | | | | | | INSTALL SUCCESSFUL TIME: HH.MM.SS DATE: YY.DDD | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 41. RDO Menu to Install Resource Definitions to CICS  60 ACIF and AFP API Program Directory » 7.3.8 CICS SYSTEM DEFINITION FILE Figure 42 is a sample listing of a CICS system definition file (CSD), showing the files, programs, and transactions required by AFP API. The files, programs, and transactions are in group AFP API. Use the file, program, and transaction attributes shown here when creating the FCT, PPT, and PCT entries. The following example has been reformatted for viewing in the program directory. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | GROUP NAME: AFP API | | | | FILES: FONTLIB SEGLIB | | PROGRAMS: APQCISMB APQCISMP APQEFLS APQEFOP APQEPLS APQCIMOD | | TRANSACTIONS: APQB APQS | | ****************************************************************| | | | OBJECTS IN GROUPS UTILITY COMMAND: LIST GROUP(AFP API) OBJECTS| | | | ****************************************************************| | | | GROUP NAME: AFP API | | | | FILE(FONTLIB) GROUP(AFP API) | | DESCRIPTION(VSAM FONTLIB) | | VSAM-PARAMETERS | | | | DSNAME(** I wil use name in jcl*) | | PASSWORD() LSRPOOLID(1) DSNSHARING(ALLREQS) | | STRINGS(1) NSRGROUP() | | REMOTE-ATTRIBUTES | | REMOTESYSTEM() REMOTENAME() RECORDSIZE() | | KEYLENGTH() | | INITIAL-STATUS | | STATUS(ENABLED) OPENTIME(FIRSTREF) DISPOSITION(SHARE) | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 42 (Part 1 of 4). Sample CICS System Definition (CSD) Listing ACIF and AFP API Installation Verification Procedure 61 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | BUFFERS | | DATABUFFERS(2) INDEXBUFFERS(1) | | DATATABLE-PARAMETERS | | TABLE(NO) MAXNUMRECS() | | DATA-FORMAT | | RECORDFORMAT(V) | | OPERATIONS | | ADD(NO) BROWSE(YES) DELETE(NO) | | READ(YES) UPDATE(NO) | | AUTO-JOURNALLING | | JOURNAL(NO) JNLREAD(NONE) JNLSYNCREAD(NO) | | JNLUPDATE(NO) JNLADD(NONE) JNLSYNCWRITE(YES) | | RECOVERY-PARAMETERS | | RECOVERY(NONE) FWDRECOVLOG(NO) BACKUPTYPE(STATIC) | | | | | | FILE(SEGLIB) GROUP(AFP API) DESCRIPTION(VSAM SEGLIB)| | VSAM-PARAMETERS | | | | DSNAME(* I will use name in jcl*) | | PASSWORD() LSRPOOLID(1) DSNSHARING(ALLREQS)| | STRINGS(1) NSRGROUP() | | REMOTE-ATTRIBUTES | | REMOTESYSTEM() REMOTENAME() RECORDSIZE() | | KEYLENGTH() | | INITIAL-STATUS | | STATUS(ENABLED) OPENTIME(FIRSTREF) DISPOSITION(SHARE)| | BUFFERS | | DATABUFFERS(2) INDEXBUFFERS(1) | | DATATABLE-PARAMETERS | | TABLE(NO) MAXNUMRECS() | | DATA-FORMAT | | RECORDFORMAT(V) | | OPERATIONS | | ADD(NO) BROWSE(YES) DELETE(NO) | | READ(YES) UPDATE(NO) | | JOURNAL(NO) JNLREAD(NONE) JNLSYNCREAD(NO) | | JNLUPDATE(NO) JNLADD(NONE) JNLSYNCWRITE(YES) | | RECOVERY-PARAMETERS | | RECOVERY(NONE) FWDRECOVLOG(NO) BACKUPTYPE(STATIC) | | | | | | PROGRAM(APQCISMB) GROUP(AFP API) | | DESCRIPTION(BUFFERED AFP API SAMPLE PROG) | | LANGUAGE(COBOL) RELOAD(NO) RESIDENT(NO) | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 42 (Part 2 of 4). Sample CICS System Definition (CSD) Listing 62 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | USAGE(NORMAL) USELPACOPY(NO) STATUS(ENABLED)| | CEDF(YES) DATALOCATION(ANY) | | | | | | PROGRAM(APQCISMP) GROUP(AFP API) | | DESCRIPTION(AFP API SAMPLE PROG) | | LANGUAGE(COBOL) RELOAD(NO) RESIDENT(NO) | | USAGE(NORMAL) USELPACOPY(NO) STATUS(ENABLED)| | CEDF(YES) DATALOCATION(ANY) | | | | | | PROGRAM(APQEFLS) GROUP(AFP API) DESCRIPTION(FONT EXIT) | | LANGUAGE(ASSEMBLER) RELOAD(NO) | | RESIDENT(NO) USAGE(NORMAL) USELPACOPY(NO) | | STATUS(ENABLED) CEDF(YES) DATALOCATION(BELOW)| | | | | | PROGRAM(APQEFOP) GROUP(AFP API) DESCRIPTION(RECD EXIT) | | LANGUAGE(ASSEMBLER) RELOAD(NO) | | RESIDENT(NO) USAGE(NORMAL) USELPACOPY(NO) | | STATUS(ENABLED) CEDF(YES) DATALOCATION(BELOW)| | | | | | PROGRAM(APQEPLS) GROUP(AFP API) DESCRIPTION(PSEG EXIT) | | LANGUAGE(ASSEMBLER) RELOAD(NO) | | RESIDENT(NO) USAGE(NORMAL) USELPACOPY(NO) | | STATUS(ENABLED) CEDF(YES) DATALOCATION(BELOW)| | | | | | PROGRAM(APQCIMOD) GROUP(AFP API) | | DESCRIPTION(AFP API MAIN MODULE) | | LANGUAGE(ASSEMBLER) RELOAD(NO) RESIDENT(NO) | | USAGE(NORMAL) USELPACOPY(NO) STATUS(ENABLED) | | CEDF(YES) DATALOCATION(ANY) | | | | | | TRANSACTION(APQB) GROUP(AFP API) | | DESCRIPTION(SAMPLE AFP API CICS TRANSACTION) | | PROGRAM(APQCISMB) TWASIZE(0) PROFILE(DFHCICST)| | PROFILE(DFHCICST) PARTITIONSET() STATUS(ENABLED) | | TASKDATALOC(BELOW) | | REMOTE-ATTRIBUTES | | DYNAMIC(NO) REMOTESYSTEM() REMOTENAME() | | TRPROF() LOCALQ() | | SCHEDULING | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 42 (Part 3 of 4). Sample CICS System Definition (CSD) Listing ACIF and AFP API Installation Verification Procedure 63 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | PRIORITY(1) TCLASS(NO) | | ALIASES | | ALIAS() TASKREQ() XTRANID() | | TPNAME() XTPNAME() | | RECOVERY | | DTIMOUT(NO) INDOUBT(BACKOUT) RESTART(NO) | | SPURGE(NO) TPURGE(NO) DUMP(YES) | | TRACE(YES) | | SECURITY | | RESSEC(NO) CMDSEC(NO) | | | | | | TRANSACTION(APQS) GROUP(AFP API) | | DESCRIPTION(SAMPLE AFP API CICS TRANSACTION) | | PROGRAM(APQCISMP) TWASIZE(0) PROFILE(DFHCICST) | | REMOTE-ATTRIBUTES | | DYNAMIC(NO) REMOTESYSTEM() REMOTENAME() | | TRPROF() LOCALQ() | | SCHEDULING | | PRIORITY(1) TCLASS(NO) | | ALIASES | | ALIAS() TASKREQ() XTRANID() | | TPNAME() XTPNAME() | | RECOVERY | | DTIMOUT(NO) INDOUBT(BACKOUT) RESTART(NO) | | SPURGE(NO) TPURGE(NO) DUMP(YES) | | TRACE(YES) | | SECURITY | | RESSEC(NO) CMDSEC(NO) | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 42 (Part 4 of 4). Sample CICS System Definition (CSD) Listing 64 ACIF and AFP API Program Directory » 7.3.9 MODIFY APQPERF COPY BOOK Modify the file "APQPERF" in data set "PSF.AFPAPI.SAPQSAM1". Follow the instructions contained in the APQPERF copy book to comment and uncomment lines so that the sample will run in the CICS environment. The portion of the APQPERF job as shown in Figure 43 is modified so that the statements for the CICS API are not commented out. Modify your APQPERF job to look similar to this example. Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | /---------------------------------------------------------------*| | *---------------------------------------------------------------*| | * *| | * COPY BOOK --- APQPERF *| | * *| | * This copy book contains paragraphs which invoke the AFP API *| | * procedures. Upon return from an AFP API procedure, the *| | * severity code is examined and if found to contain a SEVERE *| | * or FATAL code, the name of the AFP API call in error and *| | * its associated return code and severity code are displayed *| | * at SYSOUT. In addition, the API is terminated by calling *| | * AFPTERM which causes any partial page to be printed and the *| | * COBOL program is also terminated by generating a STOP RUN *| | * statement. *| | *---------------------------------------------------------------*| | | | /---------------------------------------------------------------*| | *---------------------------------------------------------------*| | * *| | * DETERMINE SUCCESS OR FAILURE OF THE API CALL *| | * *| | * IF THE CALL FAILED, DISPLAY THE NAME OF THE CALL IN ERROR, *| | * THE API RETURN CODE AND SEVERITY CODE ON SYSOUT. ALSO, *| | * CALL AFPTERM TO TERMINATE THE API SESSION AND PRINT THE *| | * PARTIAL PAGE (IF ONE EXISTS). MOVE THE FAILING AFP API *| | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 43 (Part 1 of 3). APQPERF Copy Book  ACIF and AFP API Installation Verification Procedure 65 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | * SEVERITY CODE TO RETURN-CODE PRIOR TO TERMINATING THE *| | * PROGRAM WITH STOP RUN SO THAT THE SYSTEM COMPLETION CODE *| | * REFLECTS THE SEVERITY CODE OF THE FAILING AFP API CALL. *| | * *| | *---------------------------------------------------------------*| | | | CHKSUCC. | | IF (AFP-SEVERITY-CODE IS GREATER THAN WARNING) | | *---------------------------------------------------------------*| | * THE FOLLOWING LINES *| | * REPRESENT THE OUTPUT FROM THE EXEC CICS *| | * TRANSLATOR FOR THE FOLLOWING STATEMENTS: *| | * *| | *EXEC CICS WRITEQ TD QUEUE("CSSL") *| | * FROM(AFP-ERRDATA) END-EXEC. *| | *EXEC CICS WRITEQ TD QUEUE("CSSL") *| | * FROM(AFP-MSG4) END-EXEC. *| | *EXEC CICS WRITEQ TD QUEUE("CSSL") *| | * FROM(AFP-MSG5) END-EXEC. *| | *EXEC CICS WRITEQ TD QUEUE("CSSL") *| | * FROM(AFP-RET-CODE-DISPLAY) END-EXEC. *| | *EXEC CICS WRITEQ TD QUEUE("CSSL") *| | * FROM(AFP-MSG6) END-EXEC. *| | *EXEC CICS WRITEQ TD QUEUE("CSSL") *| | * FROM(AFP-SEVERITY-CODE-DISPLAY) END-EXEC. *| | * *| | * THE FOLLOWING LINES SHOULD BE UNCOMMENTED FOR CICS: *| | *---------------------------------------------------------------*| | MOVE AFP-RET-CODE TO AFP-RET-CODE-DISPLAY | | MOVE AFP-SEVERITY-CODE TO AFP-SEVERITY-CODE-DISPLAY | | MOVE """\"""; "00008 " TO DFHEIV0 | | MOVE "CSSL" TO DFHC0040 | | MOVE LENGTH OF AFP-ERRDATA TO DFHB0020 | | CALL "DFHEI1" USING DFHEIV0 DFHC0040 AFP-ERRDATA | | DFHB0020 | | MOVE """\"""; "00010 " TO DFHEIV0 | | MOVE "CSSL" TO DFHC0040 | | MOVE LENGTH OF AFP-MSG4 TO DFHB0020 | | CALL "DFHEI1" USING DFHEIV0 DFHC0040 AFP-MSG4 DFHB0020 | | MOVE """\"""; "00012 " TO DFHEIV0 | | MOVE "CSSL" TO DFHC0040 | | MOVE LENGTH OF AFP-MSG5 TO DFHB0020 | | CALL "DFHEI1" USING DFHEIV0 DFHC0040 AFP-MSG5 DFHB0020| | MOVE """\"""; "00014 " TO DFHEIV0 | | MOVE "CSSL" TO DFHC0040 | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 43 (Part 2 of 3). APQPERF Copy Book 66 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | MOVE LENGTH OF AFP-RET-CODE-DISPLAY TO DFHB0020 | | CALL "DFHEI1" USING DFHEIV0 DFHC0040 | | AFP-RET-CODE-DISPLAY DFHB0020 | | MOVE """\"""; "00016 " TO DFHEIV0 | | MOVE "CSSL" TO DFHC0040 | | MOVE LENGTH OF AFP-MSG6 TO DFHB0020 | | CALL "DFHEI1" USING DFHEIV0 DFHC0040 AFP-MSG6 DFHB0020 | | MOVE """\"""; "00018 " TO DFHEIV0 | | MOVE "CSSL" TO DFHC0040 | | MOVE LENGTH OF AFP-SEVERITY-CODE-DISPLAY TO DFHB0020 | | CALL "DFHEI1" USING DFHEIV0 DFHC0040 | | AFP-SEVERITY-CODE-DISPLAY DFHB0020 | | *---------------------------------------------------------------*| | * COMMENT OUT THE FOLLOWING LINES IF USING CICS API *| | *---------------------------------------------------------------*| | * DISPLAY AFP-ERRDATA "FAILED" UPON SYSOUT | | * DISPLAY "AFPAPI Return Code: " AFP-RET-CODE UPON SYSOUT | | * DISPLAY "AFPAPI Severity Code: " AFP-SEVERITY-CODE UPON | | * SYSOUT | | *---------------------------------------------------------------*| | * END OF OPTIONAL CODE FOR CICS API *| | *---------------------------------------------------------------*| | MOVE AFP-SEVERITY-CODE TO AFP-TEMP-SEVERITY-CODE | | IF (AFP-ERRDATA NOT EQUAL TO "AFPEND") AND | | (AFP-ERRDATA NOT EQUAL TO "AFPTERM") | | CALL "AFPTERM" | | USING | | BY CONTENT | | AFPAPI-HANDLE | | BY REFERENCE | | AFP-RET-CODE | | AFP-SEVERITY-CODE | | MOVE AFP-TEMP-SEVERITY-CODE TO RETURN-CODE | | STOP RUN | | ELSE CONTINUE | | END-IF | | ELSE CONTINUE | | END-IF. | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 43 (Part 3 of 3). APQPERF Copy Book  7.3.10 COMPILE THE SAMPLE COBOL PROGRAMS To ensure that the AFP API CICS/ESA installation is completed successfully, run the APQCOSMB job and the APQCOSMP job to translate, compile, and link-edit the sample programs: ® "PSF.AFPAPI.SAPQSAM1(APQCOSMB)" for program APQCISMB ® "PSF.AFPAPI.SAPQSAM1(APQCOSMP)" for program APQCISMP APQCISMB is a sample program using buffered output, and APQCISMP is a sample program without buffered output. The job APQCOSMB is shown in Figure 44 on page 68. Modify the COB.SYSLIB statement in APQCOSMB and APQCOSMP to specify your COBOL library name before submitting the job.  ACIF and AFP API Installation Verification Procedure 67 » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | //DOIT EXEC PROC=DFHEITVL,LNKPARM='LIST,XREF,AMODE=31,RMODE=ANY'| | //TRN.SYSIN DD DSN=PSF.AFPAPI.SAPQSAM1(APQCISMB),DISP=SHR | | //COB.SYSLIB DD | | // DD | | // DD DSN=PSF.AFPAPI.SAPQSAM1,DISP=SHR | | //LKED.SYSLMOD DD DSN=PSF.AFPAPI.SAPQMOD1,DISP=SHR | | //LKED.SYSIN DD * | | INCLUDE APQSTUB(APQBDOC) | | INCLUDE APQSTUB(APQBFLD) | | INCLUDE APQSTUB(APQBGRP) | | INCLUDE APQSTUB(APQBPAG) | | INCLUDE APQSTUB(APQBPAR) | | INCLUDE APQSTUB(APQBROW) | | INCLUDE APQSTUB(APQBTBL) | | INCLUDE APQSTUB(APQCARE) | | INCLUDE APQSTUB(APQCEND) | | INCLUDE APQSTUB(APQCFREE) | | INCLUDE APQSTUB(APQCGET) | | INCLUDE APQSTUB(APQCINIT) | | INCLUDE APQSTUB(APQCLOAD) | | INCLUDE APQSTUB(APQCTERM) | | INCLUDE APQSTUB(APQCUNLD) | | INCLUDE APQSTUB(APQDFLD) | | INCLUDE APQSTUB(APQDFNT) | | INCLUDE APQSTUB(APQDROW) | | INCLUDE APQSTUB(APQEARE) | | INCLUDE APQSTUB(APQEDOC) | | INCLUDE APQSTUB(APQEFLD) | | INCLUDE APQSTUB(APQEGRP) | | INCLUDE APQSTUB(APQEPAG) | | INCLUDE APQSTUB(APQEPAR) | | INCLUDE APQSTUB(APQEROW) | | INCLUDE APQSTUB(APQETBL) | | INCLUDE APQSTUB(APQGBUF) | | INCLUDE APQSTUB(APQINVM) | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 44 (Part 1 of 2). APQCOSMB Job to Compile the Sample COBOL Program 68 ACIF and AFP API Program Directory » Ð×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | INCLUDE APQSTUB(APQIOBJ) | | INCLUDE APQSTUB(APQIOVL) | | INCLUDE APQSTUB(APQIPSG) | | INCLUDE APQSTUB(APQPARE) | | INCLUDE APQSTUB(APQPBOX) | | INCLUDE APQSTUB(APQPCHS) | | INCLUDE APQSTUB(APQPRUL) | | INCLUDE APQSTUB(APQPTAG) | | INCLUDE APQSTUB(APQPTXT) | | INCLUDE APQSTUB(APQQATT) | | INCLUDE APQSTUB(APQQPOS) | | INCLUDE APQSTUB(APQQSTR) | | INCLUDE APQSTUB(APQSCLR) | | INCLUDE APQSTUB(APQSFNT) | | INCLUDE APQSTUB(APQSICS) | | INCLUDE APQSTUB(APQSLIB) | | INCLUDE APQSTUB(APQSOUT) | | INCLUDE APQSTUB(APQSPOS) | | INCLUDE APQSTUB(APQSRTH) | | INCLUDE APQSTUB(APQSUNI) | | INCLUDE APQSTUB(APQSWSP) | | INCLUDE APQSTUB(APQXARE) | | INCLUDE APQSTUB(APQXSRVI) | | INCLUDE APQSTUB(APQXSRVN) | | ENTRY APQCISMB | | NAME APQCISMB(R) | | /* | | //LKED.APQSTUB DD DSNAME=SYS1.SAPQMOD2,DISP=SHR | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר Figure 44 (Part 2 of 2). APQCOSMB Job to Compile the Sample COBOL Program A return code of "0" should be received from this job. NOTE: There are several modules that are common to both APQTKMOD and APQCIMOD that are also link edited to your application program. These modules have different external names, but have the same CSECT name; hence, when running the link editing jobs for your own application, use the sample JCL job APQCOSMB or APQCOSMP as a template for your application job compilation.  7.3.11 RUN THE SAMPLE COBOL PROGRAMS After the COBOL programs are compiled, enter one of the following transaction names: ® "APQB" to invoke the APQCISMB program ® "APQS" to invoke the APQCISMP program. To ensure that the transaction completed successfully, browse the CICS job output on the JES spool. If the program is successful, you will see the following message: APQSAMP COMPLETED To view on-line the AFPDS data representing the formatted document, browse the temporary storage output queue created by the sample program: ® If you are running transaction APQB, issue: CEBR APQSAMPB ® If you are running transaction APQS, issue: CEBR APQSAMP  This data may be written to a user-supplied transient data queue using the "CEBR PUT" command. If this transient data queue is allocated to  ACIF and AFP API Installation Verification Procedure 69 » an MVS sequential file with the correct attributes for a LISTAFP dataset, the user may then view or print the formatted document in the same way as any other LISTAFP dataset and compare it with the sample document in Advanced Function Presentation Application Programming Interface: Programming Guide and Reference. 70 ACIF and AFP API Program Directory » APPENDIX A. ACIF AND AFP API INSTALL LOGIC  A.1 SMP/E MODIFICATION CONTROL STATEMENTS The SMP/E Modification Control Statements (SMPMCS) for ACIF and AFP API are contained in the SMPMCS file on the installation tape. The SMPMCS for each FMID in the product will be loaded to the SMPPTS dataset, with a member name matching the FMID, when the FMID is SMP/E RECEIVEd. You may browse or print these members using TSO/E, ISPF, or IEBGENER (or IEBPTPCH).  A.1.1 FMID HQN2110 The Install Logic for ACIF follows: ++FUNCTION(HQN2110 ) REWORK(1998313 ) RFDSNPFX(IBM ) FILES(6) /*********************************************************/ /* */ /* 5695-040 (C) COPYRIGHT IBM CORP. */ /* 1993 */ /* */ /* ALL RIGHTS RESERVED */ /* */ /* US GOVERNMENT USERS RESTRICTED RIGHTS */ /* - USE, DUPLICATION OR DISCLOSURE */ /* RESTRICTED BY GSA ADP SCHEDULE */ /* CONTRACT BY IBM. */ /* */ /* LICENSED MATERIALS - PROPERTY OF IBM */ /* */ /* */ /*********************************************************/ . ++VER(Z038 ) SUP(AN39451 AN41826 AN44241 AN50104 AN51017 AN51229 AN51925 AN53621 AN53710 AN53970 AN55008 AN55288 AN56431 AN57157 AN57547 AN57555 AN58891 AN60317 AN60697 AN61520 AN61785 AN62706 AN63713 AN64032 AN64873 AN64974 AN66286 AN67316 AN67591 AN67746 AN67975 AN69691 AN70849 AN70919 AN71191 AN71324 AN71614 AN71815 AN71931 AN71974 AN72026 AN72249 AN72359 AN73470 AN73683 AN74886 AN74914 AN74930 AN75027 AN75544 AN76385 AN76494 AN77224 AN77365 AN77537 AN77694 AN77727 AN78463 AN79096 AN79174 AN79284 AN79946 AN79985 AN80074 AN80401 AN80403 AN81336 AN81380 AN81527 AN81807 AN82198 AN82368 AN83160 AN83206 AN83976 AN84413 AN84835 AN85097 AN85104 AN86494 AN86722 AN87787 AN88223 AN89280 AN89594 AN90324 AN90477 AN90981 AN91087 AN91414 AN91731 AN91755 AN92289 AN92597 AN92805 AQ00237 AQ00618 AQ01362 AQ01497 AQ01904 AQ02026 AQ02350 AQ03511 AQ03981 AQ04391 AQ04429 AQ05167 AQ05444 AQ05547 AQ06691 AQ06946 AQ07139 AQ07492 AQ07682 AQ08772 AQ09307 AQ09450 AQ10246 AQ12428 AQ12989 AQ12991 AQ12992 AQ13152 AQ14778 AQ15334 AQ16410 AQ16628 AQ16927 AQ17591 AQ17846 AQ17921 AQ18095 AQ18417 AQ19344 AQ19896 AQ20852 BN50104 BN67975 CN67975 UN43866 UN47897 UN47898 UN56430 UN56866 UN57483 UN58647 UN58768 UN59731 UN60091 UN60300 UN61596 UN62288 UN62317 UN62584 UN64299 UN65383 UN66555 UN67105 UN67839 UN68866 UN70075 UN71127 UN71368 UN74316 UN75909 UN76335 UN76505 UN76812 UN76817 UN77324 UN77786 UN77944 UN78051 UN78208 UN79291 UN79642 UN80468 UN80637 UN80718 UN80816  (C) Copyright IBM Corp. 1993, 1998 71 » UN81322 UN81433 UN81657 UN81782 UN82066 UN82315 UN82319 UN83113 UN83595 UN84246 UN85046 UN85845 UN86422 UN86445 UN86632 UN86704 UN86801 UN87089 UN87167 UN87534 UN87667 UN87886 UN88107 UN88268 UN88710 UN88848 UN88953 UN89414 UN89630 UN89700 UN90765 UN91058 UN91188 UN91598 UN91870 UN92022 UN92477 UN94103 UN94199 UN95050 UN95621 UN96088 UN96775 UN97148 UN97475 UN97959 UN97989 UN98253 UN98425 UN99330 UN99473 UN99738 UQ00149 UQ00304 UQ00309 UQ00659 UQ01519 UQ01699 UQ02401 UQ04032 UQ04323 UQ04725 UQ05687 UQ05982 UQ06095 UQ06456 UQ06743 UQ07893 UQ07942 UQ08405 UQ09481 UQ10488 UQ11007 UQ11373 UQ12700 UQ15040 UQ16187 UQ16878 UQ17581 UQ17745 UQ18435 UQ18931 UQ19532 UQ20123 UQ20488 UQ20712 UQ20893 UQ21930 UQ22235 UQ23079 UQ23109 ) . ++JCLIN RELFILE(1) .  A.1.2 FMID HQN2112 The Install Logic for AFP API follows: ++FUNCTION(HQN2112 ) REWORK(1998313 ) RFDSNPFX(IBM ) FILES(5) /****************************************************/ /* */ /* 5695-040 (C) COPYRIGHT IBM CORP. 1993 */ /* ALL RIGHTS RESERVED */ /* */ /* US GOVERNMENT USERS RESTRICTED RIGHTS */ /* - USE, DUPLICATION OR DISCLOSURE */ /* RESTRICTED BY GSA ADP SCHEDULE */ /* CONTRACT WITH IBM CORP. */ /* */ /* LICENSED MATERIALS-PROPERTY OF IBM */ /* */ /* REFER TO COPYRIGHT INSTRUCTIONS FORM */ /* NUMBER G120-2083 */ /* */ /****************************************************/ . ++VER(Z038 ) SUP(AN36146 AN45202 AN47219 AN48099 AN49902 AN50511 AN51700 AN52653 AN52669 AN53185 AN53201 AN53401 AN53565 AN54255 AN54342 AN54347 AN54555 AN54560 AN54711 AN55291 AN55404 AN56150 AN56401 AN57387 AN58999 AN60606 AN62852 AN63489 AN64496 AN64756 AN65739 AN65965 AN67836 AN69627 AN70396 AN71167 AN71721 AN72810 AN73433 AN73909 AN74445 AN75041 AN75871 AN76148 AN76280 AN76720 AN77003 AN77175 AN77314 AN77481 AN78003 AN78378 AN78628 AN78749 AN80014 AN80567 AN82150 AN82237 AN82676 AN83203 AN83205 AN83407 AN85068 AN87635 AN88638 AN91302 AN91374 AN92706 AQ00127 AQ00882 AQ03558 AQ04404 AQ04433 AQ05489 AQ05985 AQ05991 AQ07913 AQ09435 AQ09572 AQ10317 AQ13483 AQ14039 AQ16160 AQ16201 UN44746 UN51816 UN55120 UN57386 UN57780 UN58203 UN58567 UN58991 UN58993 UN59841 UN59849 UN59934 UN60195 UN60241 UN60373 UN60412 UN60590 UN60592 UN61309 UN61364 UN62131 UN62223 UN62623 UN63602 UN65032 UN66697 UN69674 UN71137 UN72176 UN72179 UN72856 UN73409 UN75782 UN76614 UN77776 UN77783 UN78246 UN78961 UN79772 UN79913 UN81617 UN81895 UN81978 UN82365 UN82854 UN83377 UN83400 UN83458 UN83681 UN84069 UN84952 UN85167 UN85805 UN86880 UN87226 UN87896 UN89412 UN89576 UN89629 UN89765 UN89880 UN90681 UN91526 UN94584 UN95484 UN98386  72 ACIF and AFP API Program Directory » UN99759 UQ00282 UQ01244 UQ01404 UQ05389 UQ06090 UQ06129 UQ06767 UQ07342 UQ07411 UQ10468 UQ10593 UQ11577 UQ11589 UQ15793 UQ16129 UQ18215 UQ18734 ) . ++DELETE(APQTKMOD) SYSLIB(ALL ) . ++DELETE(APQIOMOD) SYSLIB(ALL ) . ++JCLIN RELFILE(1) .  A.2 SMP/E JCLIN The JCLIN for ACIF and AFP API is contained in the RELFILEs on the installation tape. These files will be loaded to disk by SMP/E when the product is SMP/E RECEIVEd. You may browse or print these files using TSO/E, ISPF, or IEBGENER (or IEBPTPCH). The files containing JCLIN are: FMID HQN2110: 'high-level-qualifier.HQN2110.F1(HQN2110)' FMID HQN2112: 'high-level-qualifier.HQN2112.F1(HQN2112)' NOTE: The high-level qualifier is the qualifier specified as the DSPREFIX in the SMP/E OPTIONS. Appendix A. ACIF and AFP API Install Logic 73 »  74 ACIF and AFP API Program Directory » APPENDIX B. PTF COVER LETTER DATA FOR SERVICE LEVEL 9846  The PTF listed in this section has been incorporated into the base for AFP API at Service Level 9846. The included cover letter for "++HOLD...SYSTEM" PTFs should be reviewed, as they contain documentation changes that have not been included in the publications that ship with AFP API.  B.1 COVER LETTER FOR PTF UQ18734 PROBLEM DESCRIPTION(S): PQ16160 - **************************************************************** * USERS AFFECTED: All AFPAPI users using AFPGBUF and passing * * AFP record buffers to another program * * rather than just printing them. * **************************************************************** * PROBLEM DESCRIPTION: After doing the AFPEND API call the * * contents of the AFP BUFFER and the * * LENGTH do not match. This does not * * cause a problem with printing. It does * * cause a problem with programs that * * check the length ( in this case * * ONDEMAND). * * * **************************************************************** * RECOMMENDATION: Apply the applicable PTF. * **************************************************************** The value of AFP_BUFFER_LENGTH is set by the AFPGBUF call. AFPGBUF cannot be called after AFPEDOC because the document-handle is cleared by AFPEDOC. AFPEDOC fills the last buffer used by the previous APQGBUF. COMPONENT: 5648-06202-HQN2112 APARS FIXED: PQ16160 SPECIAL CONDITIONS: COPYRIGHT: 5648-06202 (C) COPYRIGHT IBM CORP. 1993 LICENSED MATERIAL - PROGRAM PROPERTY OF IBM DOCUMENTATION: APQPERF and APQPPRF are changed to fix this problem. The COBOL PERFORM and PL/1 DO for calling AFPEDOC are changed so that the correct buffer length for the EDT structured field is moved into AFP-BUFFER-LENGTH. Book S544-3872, the "Advanced Function Presentation Application Programming Interface: PL/1 Language Reference" will be changed to list the new level of APQPPRF in Appendix A. Book S544-3873-02, the "Advanced Function Presentation Application Programming Interface: COBOL Language Reference", will be changed so Appendix A will list the current level of APQPERF. Book S544-3872-02, the "Advanced Function Presentation Application Programming Interface: Programming Guide and Reference" will be changed so that the description in the Function paragraph for AFPEDOC on page 136 says this: "Ends the document. If the AFPGBUF procedure call has been issued, also returns the last output record in the buffer used by the last AFPGBUF call. The correct buffer length is also set if you use the 490-AFPEDOC perform in APQPERF for COBOL or the DO_AFPEDOC in APQPPRF for PL/1. If you do not use the supplied APQPERF or APQPPRF calls to AFPEDOC, and you need to pass the AFP buffer length value to another program, you must set the AFP buffer length to 17 bytes for the final record after the AFPEDOC call." COMMENTS: CROSS REFERENCE-MODULE/MACRO NAMES TO APARS APQPERF PQ16160 APQPPRF PQ16160 CROSS REFERENCE-APARS TO MODULE/MACRO NAMES PQ16160 APQPERF APQPPRF (C) Copyright IBM Corp. 1993, 1998 75 » THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS PTF: MACROS APQPERF APQPPRF 76 ACIF and AFP API Program Directory »  77 »  78 ACIF and AFP API Program Directory » READER'S COMMENTS  PROGRAM DIRECTORY FOR ACIF AND AFP API FUNCTIONS FOR PSF/MVS SERVICE LEVEL 9846 You may use this form to comment about this document, its organization, or subject matter with the understanding that IBM may use or distribute whatever information you supply in any way it believes appropriate without incurring any obligation to you. For each of the topics below please indicate your satisfaction level by circling your choice from the rating scale. If a statement does not apply, please circle N. Ð××× RATING SCALE ××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | very very not | | satisfied <=====================> dissatisfied applicable | | 1 2 3 4 5 N | | | ¿×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ ¯ | | SATISFACTION |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | ¯ ¯ ¯ ¯ ¯ | | Ease of product installation | 1 | 2 | 3 | 4 | 5 | N |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | Contents of program directory | 1 | 2 | 3 | 4 | 5 | N |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | Installation Verification Programs | 1 | 2 | 3 | 4 | 5 | N |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | Time to install the product | 1 | 2 | 3 | 4 | 5 | N |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | Readability and organization of program | 1 | 2 | 3 | 4 | 5 | N | | directory tasks | | | | | | |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | Necessity of all installation tasks | 1 | 2 | 3 | 4 | 5 | N |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | Accuracy of the definition of the | 1 | 2 | 3 | 4 | 5 | N | | installation tasks | | | | | | |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | Technical level of the installation | 1 | 2 | 3 | 4 | 5 | N | | tasks | | | | | | |  Ð××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ׯ | | | | | | | | | Ease of getting the system into | 1 | 2 | 3 | 4 | 5 | N | | production after installation | | | | | | |  ¿××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××ר ¿ ¿ ¿ ¿ ¿ ¿ How did you order this product? __ CBIPO __ CBPDO __ CustomPac __ ServerPac __ Independent __ Other Is this the first time your organization has installed this product? __ Yes __ No Were the people who did the installation experienced with the installation of MVS products? __ Yes __ No  (C) Copyright IBM Corp. 1993, 1998 79 »  If yes, how many years? __ If you have any comments to make about your ratings above, or any other aspect of the product installation, please list them below: ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________  80 ACIF and AFP API Program Directory » Please provide the following contact information: ____________________________________________________________ Name and Job Title ____________________________________________________________ Organization ____________________________________________________________ ____________________________________________________________ Address ____________________________________________________________ Telephone Thank you for your participation. Please send the completed form to (or give to your IBM representative who will forward it to the ACIF and AFP API Functions for PSF/MVS Development group): IBM Printing Systems Company Attention: Dept. RJXA/003G BOX 1900 Boulder, CO. 80301-9191 USA FAX Number: (800) 524-1519 E-Mail: printpub@us.ibm.com Reader's Comments 81 » IBM Program Number: 5695-040 5801 5802 5337  Printed in U.S.A.