Mark Zelden wrote:
So it probably isn't intentional hiding, but if the programmers don't see IPCS
on the menu, it doesn't exist for them and even if they have seen it at another
shop may assume they can't use it where they are at.

Great points Mark!

You said, "... note that IPCS is on the [EMAIL PROTECTED] user menu now." I'd like to emphasize that IPCS has been on that sample "user" menu since it was first delivered way back in OS/390 1.x!

Out of curiosity, I ran an experiment to find out how hard it would be to "poke around" and make IPCS work in an unfamiliar environment. The quickest way is to use basic line mode IPCS. (Why not? As an application programmer, that's the way we used TSO TEST!)

First, a couple of commands to be sure I don't "cheat":
| READY
|delete ddir
| IDC3901I ERROR QUALIFYING JOEUSER.DDIR
| IDC3902I ** DEFAULT SERVICE ROUTINE ERROR CODE 20, LOCATE ERROR CODE 8
| IDC0014I LASTCC=8
| READY
|free all
| READY

OK. Let's give it a try:

|ipcs
| BLS21001I IPCS for z/OS 01.09.00
| IKJ56584I BLSCDDIR NOT FOUND.  REQUIRED DDNAME SYSUPROC IS NOT ALLOCATED.
| BLS21020I FILE(IPCSDDIR) not allocated
| READY

Right out of the gate, something is wrong. At this point, I would be stuck without the manual. In the old days, that would be that. But, this is 2008! I navigate my browser to the "IPCS User's Guide" and search for BLSCDDIR, I find this:

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/iea2c640/4.3.1.1

It tells me exactly where to find the BLSCDDIR CLIST and what it's used for. Let's try it:

|ex 'sys1.sblscli0(blscddir)'
| Dump directory name 'JOEUSER.DDIR' will be used
| Dump directory space will be allocated in units of 15000 records
| Dump directory space will be allocated on volume VSAM01
| DEFINE CLUSTER(NAME('JOEUSER.DDIR') VOLUME(VSAM01) INDEXED REUSE SHAREOPTIONS(1,3)) INDEX(NAME('JOEUSER.DDIR.I') RECORDS(150,150) CONTROLINTERVALSIZE(4096)) DATA(NAME('JOEUSER.DDIR.D') RECORDS(15000,15000) KEYS(128,0) RECORDSIZE(2560 3072) BUFFERSPACE(1024000)) /* @L1C*/
| IDC0508I DATA ALLOCATION STATUS FOR VOLUME MVSPV1 IS 0
| IDC0509I INDEX ALLOCATION STATUS FOR VOLUME MVSPV1 IS 0
| IDC0181I STORAGECLASS USED IS BASE
| IDC0181I MANAGEMENTCLASS USED IS STANDARD
| IDC0181I DATACLASS USED IS KEYEDNC
| IPCSDDIR 'JOEUSER.DDIR' /*                           @P1C*/
| ALLOCATE FILE(IPCSDDIR) REUSE DSNAME('JOEUSER.DDIR') SHR /* @P1C*/
| Dump directory 'JOEUSER.DDIR' allocated to FILE(IPCSDDIR)
| READY

Whoa! OK. Let me try that IPCS command again:

|ipcs
| BLS21001I IPCS for z/OS 01.09.00
| IPCS

I'm in!!!!!!!!!!!!!!!!!!!!!!

|summ active
| BLS18224I Dump of z/OS 01.09.00 - level same as IPCS level
|
|
|     * * * *   K E Y F I E L D S   * * * *
| JOBNAME JOEUSER
|     SELECTED BY: CURRENT
|
|  ASCB: 00FCDE80
|     FWDP..... 00F99B80  ASID..... 0080      CSCB..... 0AD74800
| TSB...... 00D1BBF0 AFFN..... FFFF ASXB..... 00AFDDF8 DSP1..... 00
|     FLG2..... 00        SRBS..... 0000      LOCK..... 00000000
|     ASSB..... 01F6E480
|
|  TCB: 00AFE030
| CMP...... 00000000 PKF...... 00 LMP...... FF DSP...... FF
|     TSFLG.... 00        STAB..... 00AFD588  NDSP..... 00000000
|     JSCB..... 00AFCE84  BITS..... 00000000  DAR...... 00
|     RTWA..... 00000000  FBYT1.... 00
|     Task non-dispatchability flags from TCBFLGS4:
|      Top RB is in a wait
|
|  PRB: 00AFDCB0
|     WLIC..... 00020001  OPSW..... 070C1000  8117B0EA
|     LINK..... 01AFE030
|     EP....... IEAVAR00  ENTPT.... 86D37878
|
| (similar stuff "snipped")
|
|  TCB: 00AF8928
| CMP...... 00000000 PKF...... 80 LMP...... FF DSP...... FF
|     TSFLG.... 00        STAB..... 00AFD288  NDSP..... 00000000
|     JSCB..... 00AFC194  BITS..... 00000000  DAR...... 00
|     RTWA..... 00000000  FBYT1.... 00
|     Task non-dispatchability flags from TCBFLGS4:
|      Top RB is in a wait
|
|  PRB: 00AF8E00
|     WLIC..... 00020001  OPSW..... 078D1000  80030CB6
|     LINK..... 01AF8928
|     EP....... IPCS      MAJOR.... BLSU      ENTPT.... 80011340
|
|  TCB: 00AF85D8
| CMP...... 00000000 PKF...... 80 LMP...... FE DSP...... FE
|     TSFLG.... 00        STAB..... 00AFD1C8  NDSP..... 00000000
|     JSCB..... 00AFC194  BITS..... 00000000  DAR...... 00
|     RTWA..... 00000000  FBYT1.... 00
|
|  PRB: 00AF88A0
|     WLIC..... 00020078  OPSW..... 078D1000  80D59E1E
|     LINK..... 00AF85D8
|     EP....... BLSUINI2  MAJOR.... BLSU      ENTPT.... 8002A188
| IPCS

With only a bit more reading, I'll see that to get IPCS to use ISPF services, I must allocate the following data sets via ALTLIB/LIBDEF or any means available to me:
SYS1.SBLSCLI0
SYS1.SBLSKEL0
SYS1.SBLSMSG0
SYS1.SBLSPNL0
SYS1.SBLSTBL0

One of the easier "hacks" ...

--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to