Jags I see for the second time in a few days, I will have to advise you to get in close touch with the folk responsible for your z/OS Communications Server (CS) environment, again, as with Enterprise Extender, both the IP and SNA (VTAM) side.
Thanks to John McKown, we have some definitions presented which I can use further to explain what is happening so you can pass the information on to the folk I just mentioned. It would appear that Ted McNeil has also made the very reasonable judgement given the evidence that you are *not* one of those folk, this being a very basic matter relating to access to TSO based on the TN3270 server TN3270E program. > You probably have more people coming in via TN3270 than it has available 3270 virtual terminals defined. Don't go looking for "3270 virtual terminals", this is a way of expressing the definition requirements in terms of the RFC - or if it isn't, it could be! What is actually required is two sets of real definitions which are present in what John has posted, which provide names for resources used as the "3270 virtual terminals", namely, - the DEFAULTLUS/ENDDEFAULTLUS statement block within the BEGINVTAM/ENDVTAM statement block in the TN3270E PROFILE data set - the APPL statements following a VBUILD TYPE=APPL statement in a VTAMLST member - also known as a "major node" These statements cause the allocation of control blocks within, respectively, the TN3270E program and VTAM in order to allow the TN3270E program to accept a TN3270 TCP connection from a TN3270 client and concatenate the associated 3270 data stream exchange with an SNA session using the VTAM API. In terms of the SNA protocol, these are logical unit (LU) names. In the case of the DEFAULTLUS/ENDDEFAULTLUS statement block, this is only one way of providing the SNA LU names of the "3270 virtual terminals" but is the most likely for relatively simple sets of definitions. I guess we can make the judgement that you have the most simple configuration since you would otherwise need to understand the configuration rather better and you wouldn't be posting your query. It is also an option which is normally used, in order to reduce the tedium of keying each and every LU name within the DEFAULTLUS/ENDDEFAULTLUS statement block, that the names are expressed as a range and a template - what John calls "generically" - as in John's example. This reduced form of definition can also be matched in the VTAM APPL statements by being able to use, in its simplest form, a single "model" APPL statement, again as in John's example. As John indicated, these definitions imply an absolute limit to the number of TN3270 TCP connections which can be supported at any one time since each of them needs to be assigned to, in effect, a pair of definitions, one as defined in the TN3270E program PROFILE data set and one as defined in a VTAM member of VTAMLST. Once all of these are used up in operation, no further TN3270 connections can be established. Once one of the connections - and the associated SNA session (an important qualification) - is disconnected, another connection and associated session can be established. Makes complete sense, doesn't it? - Perhaps John's example needs a little more focus on the important parameters and an explanation on how they work, particularly as there are some peculiarities! The DEFAULTLUS/ENDDEFAULTLUS block is the following: > DEFAULTLUS > DCCVDTAA..DCCVDTAZ..FFFFFFAA > ENDDEFAULTLUS The range specified is DCCVDTAA to DCCVDTAZ so that the names are DCCVDTA as a prefix with the 26 letters of the Latin alphabet as used in the English language and by EBCDIC codes. The template, FFFFFFAA, is not really all that relevant in this case since there are no choices and in fact, the template used could just as easily - the "peculiarity" - have been FFFFFFFA since the 7th character of the name doesn't change. Thus the change of "A" to "F". The final "A" merely says that the increment within the range must be an alphabetic character, but between "A" and "Z" there are no options to be otherwise! The relevant section discussing this whole topic is "Rules for LU name specification" in Chapter 16, "TN3270E Telnet server", in the z/OS CS Configuration Reference manual. When a TN3270 TCP connection is made and the nature of the definitions determine that the TN3270E program must find an LU name in the DEFAULTLUS/ENDDEFAULTLUS block, a name not currently in use is chosen. This becomes the name which the TN3270E program will use in the VTAM API calls used to establish an SNA session as a secondary LU - pretending to be what is/has been traditionally a "device-type" LU associated with a 3270 display device connected through, say, a 3174 control unit. That LU name can either be the name of an LU statement - in which case there would be 26 of them, just as tedious to key up as individual names within the DEFAULTLUS/ENDDEFAULTLUS block - or it can be matched by a model APPL statement. The former case is obvious. In the latter case, VTAM will accept the call over the API as long as it can be aligned with a model APPL statement. The key part of John's model APPL statement is as follows: > D08VDTA? APPL ACBNAME=DCCVDTA?, TCP/IP VIRTUAL TERMINAL DEFINITION + ... This is not completely straightforward but illustrates a further possibility. For the sake of simplicity and to explain it, I am proposing the following simpler version for now: DCCVDTA? APPL ... You will note that the first 7 characters are the same as used for the LU names in the DEFAULTLUS/ENDDEFAULTLUS block. When VTAM is presented with say, DCCVDTAJ, over the API when the TN3270E program makes the call to initiate a session, VTAM will be happy that the first 7 characters are the same and will then note that, because of the "?" character, any character can be present as the 8th character. Thus there is a match and VTAM will define a control block representing an LU, a secondary LU in fact, where the LU name, effectively the name of the APPL statement, is DCCVDTAJ. The remaining operands of the, in effect internally generated, APPL statement are those specified on the model APPL statement - rather obviously! The ACBNAME operand is an equally obvious exception once it is appreciated what it is doing. The name of the ACBNAME operand is the name which is used over the VTAM API by, in this case, the TN3270E program. It is a name which can be used only within that VTAM, in SNA terms the domain of the SSCP, in order to identify that APPL LU. The name of the APPL statement is another name which can be used to identify that APPL LU but it can be used throughout the SNA network or set of SNI or APPN interconnected networks, network being defined by the "network identifier", NetId, prefix of the fully- qualified SNA name. When the ACBNAME operand is not specified, the name of the APPL statement is assumed also to provide the value of the ACBNAME operand. What happens in the case of a model APPL statement is that the "fixed" part of the name can be different - in John's case, the "network-wide" name "fixed" part is D08VDTA while the "domain-wide" name "fixed" part is DCCVDTA, in other words, "08" replaces "CC". Note that there are two characters which can be used to cause matching. One is a "?" which allows for just one character as a substitute while the other is an "*" which allows for one or more characters as a substitute. Clearly, in John's case, either could have been used - and if you understand why you will have been following what I have been saying! - I'll have a look over John's TN3270E PROFILE statements in detail and report back if I see anything justifying a comment - no breaths to be held! However, I do see some infelicities in the model APPL statement which do rather need comment. > D08ACCES VBUILD TYPE=APPL APPLICATION MAJOR NODE > * > D08VDTA? APPL ACBNAME=DCCVDTA?, TCP/IP VIRTUAL TERMINAL DEFINITION + > MODETAB=MODETABP, + > VPACING=1,AUTH=(VPACE),EAS=10 The MODETAB is probably unnecessary. The named default and specified mode table entries are all contained in the supplied mode table ISTINCLM which is always available - even when the MODETAB operand specifies the name of a "private" mode table. Note that I was obliged to add "probably" because an installation can decide to override the supplied mode table entries with identically named "private" mode table entries - a strongly discouraged practice! Since I was obliged to check the TELNETDEVICE statements when making the previous comment, I can see, having checked them, that they are rather peculiar - but are very likely not used. If the entries that would be used in the installation, I would support specifying them - although not necessarily always forcing 24x80 presentation space dimensions. Unfortunately, it is unlikely that these entries will be used. The specified defaults are for "prior-to-TN3270E" use and I expect that all TN3270 clients in use now will respond positively to the TN3270 server suggesting the TN3270E is used. AUTH=(VPACE) is, I regret, a nonsense perpetrated and propagated by the z/OS CS IP folk who appear to be in ignorance of the fact that the (N)VPACE suboperand of the AUTH operand can apply only to an APPL statement implementing *primary* LU protocols. But then, regarding CS as a body, whoever said that the left hand need have the first clue what the right hand was doing! Another peculiarity in these definitions is EAS=10. This is actually a useful operand to specify even with this peculiar value since it will prevent - not a lot - of storage from being wasted. To be clear and not to confuse system programmers in the future, EAS=1 would be rather more acceptable, there being - prior to an enhancement in z/OS V1R12 which may be found useful - no possibility there will ever be more than one session with this APPL LU. Note that both EAS=10 and EAS=1 achieve the same objective in limiting storage associated with the control block created from the definition of an APPL statement, real or dynamic, since both are less than 30. The default, EAS=509 - itself a most peculiar number!, would waste 4K of storage for each APPL statement. All that said, another operand SESSLIM should be specified as SESSLIM=YES from the default SESSLIM=NO. Very oddly - if a redbook I found describing the enhancement is to be believed and they said they actually used the function - this specification is ignored for the V1R12 SHAREACB enhancement. Thus, assuming it has been established that VPACING=1 serves a role in an era where pacing between applications is adaptive - an architectural addition designed to avoid having to pay too much attention to or apply performance- defeating restrictions on SNA pacing, John's model APPL statement could be simplified to the following: D08VDTA? APPL ACBNAME=DCCVDTA?,EAS=1,SESSLIM=YES,VPACING=1 Chris Mason On Wed, 6 Apr 2011 07:50:45 -0500, McKown, John <john.mck...@healthmarkets.com> wrote: >You probably have more people coming in via TN3270 than it has available 3270 virtual terminals defined. The parameters in the TN3270 server list, perhaps generically, VTAM LUs that it can use for TN3270 emulation. Once all of them are in use, no more TN3270 connections can be made until someone else disconnects from the TN3270 server and so frees up an LU. The TN3270 server has parameters. Examples from my z/OS 1.10 system: > >TELNETPARMS > PORT 3023 ; > CODEPAGE ISO8859-1 IBM-1047 > FULLDATATRACE > INACTIVE 28800 > PRTINACTIVE 600 > TIMEMARK 600 > SCANINTERVAL 120 > SMFINIT TYPE119 > SMFTERM TYPE119 > LUSESSIONPEND > ; Define logon mode tables to be the defaults shipped with the > ; latest level of VTAM > TELNETDEVICE 3278-2-E NSX32702 > TELNETDEVICE 3279-2-E NSX32702 > TELNETDEVICE 3278-3-E NSX32703 > TELNETDEVICE 3279-3-E NSX32703 > TELNETDEVICE 3278-4-E NSX32704 > TELNETDEVICE 3279-4-E NSX32704 > TELNETDEVICE 3278-5-E NSX32705 > TELNETDEVICE 3279-5-E NSX32705 >; WLMCLUSTERNAME TN3270E ENDWLMCLUSTERNAME >ENDTELNETPARMS >BEGINVTAM PORT 3023 > ; Define the LUs to be used for general users. > DEFAULTLUS > DCCVDTAA..DCCVDTAZ..FFFFFFAA > ENDDEFAULTLUS > LINEMODEAPPL TSO ; Send all line-mode terminals directly to TSO. > ALLOWAPPL TSO* DISCONNECTABLE ; Allow all users access to TSO > ; applications. > ; TSO is multiple applications all beginning with TSO, > ; so use the * to get them all. If a session is closed, > ; disconnect the user rather than log off the user. > ALLOWAPPL * ; Allow all applications that have not been > ; previously specified to be accessed. > >; Map Telnet sessions from this node to display USSTXBSC screen. > USSTCP USSTXBSC >; >ENDVTAM > >The above requires a VTAM defination for LUs DCCVDTAA..DCCVDTAZ - 26 LUs. We do this with a major VTAM node similar to: > >D08ACCES VBUILD TYPE=APPL APPLICATION MAJOR NODE >* >D08VDTA? APPL ACBNAME=DCCVDTA?, TCP/IP VIRTUAL TERMINAL DEFINITION + > MODETAB=MODETABP, + > VPACING=1,AUTH=(VPACE),EAS=10 > >This is a very stripped down example. But the 27th attempted concurrent connections would get your message because all the 3270 LUs are in use. > >-- >John McKown > >> -----Original Message----- >> From: IBM Mainframe Discussion List >> [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of jagadishan perumal >> Sent: Wednesday, April 06, 2011 2:14 AM >> To: IBM-MAIN@bama.ua.edu >> Subject: No LUs available >> >> Hi, >> >> In our shop many users are not able to connect the Mainframe. >> While doing >> telnet they get an error saying " NO LUs available please try >> again later". >> we have checked the TSO region and it is very well running. >> >> Any idea to resolve. >> >> Regards, >> Jags ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html