APAR status
Closed as canceled.
Error description
THIS INFORMATIONAL APAR WAS OPENED TO PROVIDE A MORE DETAILED EXPLANATION OF THE ISPF LIBDEF SERVICE IN THE FOLLOWING USAGES: **************************************************************** LIBDEF VS APPLIDS ******************************************** **************************************************************** APPLICATIONS ARE DESIGNATED BY HAVING A DIALOG THAT RUNS UNDER ONE APPLID. THE APPLID IS SPECIFIED BY THE 'NEWAPPL' PARM ON THE SELECT COMMAND. ADDITIONALLY, THE 'PASSLIB' PARM MAYBE USED ON THE SELECT COMMAND TO PASS LIBDEFS DONE BY THE INVOKING APPLICATION ON TO THE NEW SUB-APPLICATION. THE FOLLOWING IS AN EXAMPLE OF HOW TO LIBDEF ISPTLIB WITH THE DATASET THAT CONTAINS THE COMMAND TABLE FOR APPC (APPCCMDS). ISSUING CLIST CCC WITH THE NEWAPPL PARM, WILL ISOLATE ANY PREVIOUS LIBDEFS FROM CLISTS CCC AND CMDC. . ISPEXEC SELECT CMD(CCC) NEWAPPL(TEMP) ------------ CLIST CCC PROC 0 ISPEXEC LIBDEF ISPTLIB DATASET ID(....) ISPEXEC SELECT CMD(CMDC) NEWAPPL(APPC) PASSLIB ISPEXEC LIBDEF ISPTLIB EXIT CODE(0) . LIBDEF'S ARE THE CURRENT APPLICATION LEVEL LIBRARY DEFINI- TIONS. WHEN YOU SPECIFY THE PASSLIB, YOU ARE PASSING ON THE CURRENT APPLICATION-LEVEL LIBRARY DEFINITIONS TO THE SELECTED APPLICATION. SO, A SUBSEQUENT LIBDEF AGAINST ANY OF THE PREVIOUSLY DEFINED LIBRARIES WILL RESULT IN THE CURRENT APPLICATION-LEVEL LIBDEF BEING CHANGED. THIS CURRENT DEFINITION WILL BE CARRIED BACK TO THE ORIGINAL APPLICATION WITH ANY CHANGES MADE BY THE APPLICA- TION THAT THE PASSLIB WAS FOR. ISPF DOES MAINTAIN A CHAIN OF THE CURRENT LIBDEFS, SO THEY CAN BE REPLACED IN THE SEARCH SEQUENCE WHEN THE APPLICATION BEING SELECTED TERMINATES. THE KEY TO PROTECTING YOUR CHAINED LIBDEFS IS THE PASSLIB AND NEWAPPL PARMS. *********************************************************** ** NOTE ** READ "LIBDEF VS ISPTLIB AND COMMAND TABLES" ** *********************************************************** 1 - TO PROTECT A SET OF LIBDEFS YOU WOULD SPECIFY NEWAPPL WITHOUT THE PASSLIB, ON THE SELECT COMMAND. 2 - IF YOU WISH THE SELECTED NEWAPPL TO USE THE ESTABLISHED LIBDEFS, THEN SPECIFY THE PASSLIB WITH NEWAPPL. BUT REALIZE THAT ANY CHANGES MADE TO THE LIBDEF IN THE NEW APPLICATION WILL BE CARRIED BACK TO THE INVOKING APPLICATION. ---------------------------------------------------------------- EXAMPLE : SUPPOSE WE HAVE THE FOLLOWING SEQUENCE OF APPLICATIONS CALLED VIA CLISTS OR PROGRAM SELECTS: ... LIBDEF ISPPLIB DATASET ID(LIBB) /* APPB PANEL LIB */ ... SELECT CMD(CMDB) NEWAPPL(APPB) PASSLIB /* IN APPB NOW... */ ... LIBDEF ISPPLIB DATASET ID(LIBC) /* APPC PANEL LIB */ ... SELECT CMD(CMDC) NEWAPPL(APPC) PASSLIB /* APPB INVOKES APPC */ ... LIBDEF ISPPLIB /* APPC RELEASES LIBDEF */ THE LIBDEF IS ISSUED WHILE IN APPB, APPC IS INVOKED WITH SELECT AND NEWAPPL WITH THE PASSLIB PARMS. THE LIBDEF ESTABLISH BY APPB IS PASSED TO APPC TO USE AS A TASKLIB. APPC AT TERMINATION DOES A NULL LIBDEF, WHICH FREED THE EXISTING LIBDEF FOR ISPPLIB. THIS WILL ALSO EFFECT APPB'S TASKLIB SEARCH. YOU NEED TO ISOLATE THE LIBDEF'S FOR APPC WITHIN APPC, BY CHANGING THE SELECT ON CMDC. EXAMPLE : ISPEXEC SELECT CMD(CCC) NEWAPPL(APPC) --- CLIST CCC PROC 0 ISPEXEC LIBDEF ISPPLIB DATASET ID(....) ISPEXEC SELECT CMD(CMDC) ISPEXEC LIBDEF ISPPLIB EXIT CODE(0) ---------------------------------------------------------------- THE KEY IS THAT THE LIBDEF'S NEED TO BE DONE WHILE WITHIN THE APPLICATION IF YOU WANT TO RESTORE A PREVIOUS SET UPON RETURN FROM THAT APPLICATION. ---------------------------------------------------------------- REFERENCE : V2.3 - SC34-4113 'DIALOG MANAGEMENT SERVICES', PG 77 "SELECT" V3.2 - SC34-4266 'DIALOG MANAGEMENT GUIDE', PG 309 "SELECT" **************************************************************** LIBDEF VS ISPTLIB AND COMMAND TABLES *************************** **************************************************************** IF AN APPLICATION IS INVOKED VIA THE SELECT WITH A NEWAPPL SPECIFIED AND THE APPLICATION HAS ITS OWN COMMAND TABLE THAT IS BEING LIBDEF'D TO ISPTLIB. THE LIBDEF OF ISPTLIB MUST BE DONE PRIOR TO THE ISSUING OF THE 'ISPEXEC SELECT CMD(..) NEWAPPL(..)' FOR THAT APPLICATION'S COMMAND TABLE TO BE AVAILABLE FOR USE. THIS IS DUE TO THE ATTEMPT TO OPEN THE COMMAND TABLE ASSOCIATED WITH THE APPLID, BEING DONE AT THE TIME THE SELECT IS PROCESSED. FAILING TO DO THE LIBDEF FOR ISPTLIB PRIOR TO THE SELECT WITH NEWAPPL WILL RESULT IN THE LIBDEF'D COMMAND TABLE NOT BEING OPENED AND COMMAND NOT BEING FOUND. IF THE UNIQUE COMMANDS ARE NOT FOUND FOR THIS APPLICATION THEN ISPCMDS IS THE DEFAULT COMMANDS TABLE LOADED FOR THAT DIALOG. THE FOLLOWING IS AN EXAMPLE OF HOW TO LIBDEF ISPTLIB WITH THE DATASET THAT CONTAINS THE COMMAND TABLE FOR APPC (APPCCMDS). ---------------------------------------------------------------- EXAMPLE : ISPEXEC SELECT CMD(CCC) NEWAPPL(TEMP) ------------ CLIST CCC PROC 0 ISPEXEC LIBDEF ISPTLIB DATASET ID(....) ISPEXEC SELECT CMD(CMDC) NEWAPPL(APPC) PASSLIB ISPEXEC LIBDEF ISPTLIB EXIT CODE(0) ---------------------------------------------------------------- THE KEY IS THAT THE LIBDEF FOR ISPTLIB IS DONE FROM WITHIN A NEWAPPL, THUS ISOLATING ANY PREVIOUS APPLID'S LIBDEFS. THE LIBDEF IS ISSUED PRIOR TO INVOKING THE NEW APPLID APPC, THIS APPCCMDS TABLE PART OF THE ISPTLIB SEARCH ORDER PRIOR TO THE SELECT ON CMDC. THIS MEANS THAT THE TABLE WILL BE OPENED ON THE SELECT AND APPCCMDS WILL BE AVAILABLE TO THE APPLICATION. ---------------------------------------------------------------- REFERENCE : V2.3 - SC34-4113 'DIALOG MANAGEMENT SERVICES', PG 18 "NEWAPPL" PG 38 "COMMAND TABLES DEFINE COMMANDS...." V3.2 - SC34-4266 'DIALOG MANAGEMENT GUIDE', PG 5 "COMMAND TABLES" PG 19 "NEWAPPL" PG 53 "COMMAND TABLES DEFINE COMMANDS...." *************************************************************** LIBDEF VS ISPLLIB ******************************************* *************************************************************** WHEN DEALING WITH OTHER APPLICATIONS THEY MUST USE THE SELECT OR THE ISPLINK INTERFACE IN ORDER FOR THE LIBDEF TASKLIB DCB TO PASSED ON ANY LINKS OR ATTACHES. IF PROGRAM INVOKES ANOTHER PROGRAM USING CALL OR LINK CONVENTION THESE NESTED PROGRAMS ARE TRANSPARENT TO ISPF. HENCE, THE ISPF DOES NOT CONTROL THE LINK AND THE LIBDEF'D DCB IS NOT PASSED, WHICH MAY RESULT IN THE ABEND806 CONDITION. SO, IF A PROGRAM ORIGINALLY INVOKED WITH THE SELECT, THEN DOES A CALL OR LINK TO ANOTHER PROGRAM & BOTH PROGRAMS HAVE BEEN LIBDEF TO ISPLLIB. THE SELECTED PROGRAM WILL BE FOUND, BUT THE LINKED PROGRAM WILL ABEND806. SINCE ISPF IS NOT CONTROLLING THE LINK, THE LINK SVC'S DCB POINTER WILL NOT REFLECT THE LIBDEF. ADDITIONALLY, IF THE APPLICATION DOES A SELECT WITH NEWAPPL WITH OUT THE PASSLIB PARM, THE LIBDEF WILL NOT BE CARRIED OVER. REFERENCE : V2.3 "ISPF DIALOG MANAGEMENT SERVICES AND EXAMPLES" SC34-4113, PG 74, SELECT SERVICE PG 53, LIBDEF SERVICE V3.2 "ISPF DIALOG MANAGEMENT GUIDE AND REFERENCE" SC34-4266, PG 306, SELECT SERVICE PG 496.2, LIBDEF SERVICE ( LIBDEF ==> TNL SN29-6003-00 TO SC34-4266 ) **************************************************************** LIBDEF VS SYSPROC ******************************************** **************************************************************** SYSPROC IS A TSO DATA DECLARATION ( DD ). LIBDEF IS AN ISPF SERVICE AND WILL ONLY EFFECT THE ISPF ENVIRON- MENT, I.E. ISPF DDS. TSO/E V2.1 HAS ADDED ALTLIB SUPPORT AND THIS CAN BE USED TO ALTER THE SYSPROC CONCATENATION SEQUENCE. REFERENCE : TSO/E "TSO/E V2 SYSTEM PROGRAMMING COMMAND REFERENCE" SC28-1878, SECTION I COMMANDS AND SUBCOMMANDS **************************************************************** LIBDEF VS SPLIT SCREEN **************************************** **************************************************************** LIBDEFS DO NOT CARRY ACROSS SPLIT SCREEN, TO UNDERSTAND WHY WE NEED TO LOOK AT WHAT SPLIT SCREEN ACTUALLY IS. SPLIT SCREEN CREATES TWO SEPARATE ISPF SESSIONS ( TWO ISPTASK TCBS UNDER ONE ISPMAIN ). THIS MEANS, THAT THERE IS A SEPARATE TASKLIB ASSOCIATED WITH EACH ISPTASK. THEREFORE, A LIBDEF WILL ONLY BE ASSOCIATED WITH THE ISPTASK / SESSION THAT IT IS ISSUED FROM. REFERENCE : V2.3 "ISPF DIALOG MANAGEMENT SERVICES AND EXAMPLES" SC34-4113, PG 74, SELECT SERVICE PG 53, LIBDEF SERVICE V3.2 "ISPF DIALOG MANAGEMENT GUIDE AND REFERENCE" PAGE 496.1 - 496.2 LIBDEF SERVICE ( LIBDEF ==> TNL SN29-6003-00 TO SC34-4266 ) MVS "SUPERVISOR SERVICES AND MACRO INSTRUCTIONS" SC28-1154, PAGE 30-31 - PROGRAM MANAGEMENT, SEARCH ORDER
Local fix
KEYWORDS : ISPFINFO
Problem summary
Problem conclusion
Temporary fix
Comments
ISPF INFO APAR
APAR Information
APAR number
II04891
Reported component name
V2 LIB INFO ITE
Reported component ID
INFOV2LIB
Reported release
001
Status
CLOSED CAN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
1991-02-15
Closed date
1991-02-19
Last modified date
1991-07-24
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19N","label":"APARs - OS\/390 environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
13 December 2020