When you run a CPIC program on SNA Server, such as the CPIC sample programs
included in the SNA Server SDK, or a custom CPIC program, the CPIC
program's Allocate (CMALLC) call may fail with error 20
(CM_PRODUCT_SPECIFIC_ERROR).
The problem most commonly occurs when a Local APPC LU has not been
configured for use by the CPIC program within the SNA Server
configuration. If SNA Server APPC and CPIC API application tracing
is enabled, the trace will indicate that the underlying APPC ALLOCATE
call is failing with primary_rc = F004 (COMM_SUBSYSTEM_NOT_LOADED).
When this occurs, the CPIC interface returns Error 20
(CM_PRODUCT_SPECIFIC_ERROR) to the CPIC application
NOTE: When the CPIC interface was defined by IBM, there was no way to
programmatically define which Local APPC LU to use, nor could it be
specified in the CPIC side information. Because SNA Server supports
configuration of many Local APPC LUs, the specific Local APPC LU to be used
by the CPIC application must be defined through SNA Server product-specific
methods.
To solve the Error 20 failure, configure a Local APPC LU. SNA Server
allows the administrator to configure the Local APPC LU alias using any of
the following methods (you only need to use one):
- Configure the Local APPC LU to be a member of the default pool.
SNA Server 2.x
--------------
a. In SNA Server Admin, go to the Servers and Connections window
and choose the Local APPC LU that is partnered with the Remote APPC
LU and Mode that the CPIC application is using.
b. In the Local APPC LU Properties dialog box, select "Member of Default
Outgoing Local APPC LU Pool."
c. Choose OK and save the SNA Server configuration file.
d. Stop and start the SNA Server service so the change can take effect.
SNA Server 3.0
--------------
a. In SNA Server Manager, go to the Local APPC LUs folder under the
SNA Server for which the Local APPC LU was created and double-
click on the Local LU that the CPIC application is using.
b. Go to the Advanced tab in the Local APPC LU Properties dialog box
and select "Member of Default Outgoing Local APPC LU Pool."
c. Choose OK and save the SNA Server configuration file.
d. Stop and start the SNA Server service so the change can take effect.
- Configure a default Local APPC LU alias for the user or group.
SNA Server 2.x
--------------
Within SNA Server Admin, go to the "Users and Groups" window. If no
users or groups are currently displayed, press the INSERT key and choose
New User. Add a Windows NT user or group account that the CPIC
application will run under. If you want a specific Local APPC LU to be
associated with any user who connects to SNA Server, add the "Everyone"
user.
After the appropriate Windows NT user, group, or Everyone entry has
been added to SNA Server Admin, select the entry and press ENTER. Set
the Default APPC LU Local LU Alias to an LU that is partnered with the
Remote APPC LU and mode that the CPIC application is using. Then choose
OK.
The SNA Server configuration file must be re-saved for the change to
take effect; it is not necessary to stop and restart the SNA Server
service.
SNA Server 3.0
--------------
Within SNA Server Manager, go to the Configured Users folder. If no
users or groups are currently displayed, press the INSERT key and choose
User. Add a Windows NT user or group account that the CPIC application
will run under. If you want a specific Local APPC LU to be associated
with any user who connects to SNA Server, add the "Everyone" user.
After the appropriate Windows NT user, group, or Everyone entry has
been added to SNA Server Manager, double-click on the entry. Select the
APPC Defaults tab and set the Default APPC LU Local APPC LU Alias to an
LU that the CPIC application is using. Then choose OK.
The SNA Server configuration file must be resaved for the change to
take effect; it is not necessary to stop and restart the SNA Server
service.
- Configure the Local LU Alias within the SNA client configuration.
The default Local APPC LU can be set in the SNA Server client
configuration, as described in the SNA Server 2.1 "Reference Guide,"
Appendix C (page 202), in the "CPIC API: Location and Names of
Variables."
Windows NT Clients
------------------
The Registry variable that affects the CPIC API for Windows NT-based SNA
Server clients is:
HKEY_LOCAL_MACHINE
\SYSTEM\CurrentControlSet\Services\SnaBase\Parameters\Client
\<application>: REG_SZ: <LocalLUalias>
where <application> is the CPIC application name and <localLUalias> is
the default Local APPC LU alias.
This change will take effect as soon as the registry is updated; you do
not have to stop and restart the SnaBase service.
Windows 3.x and OS/2 Clients
----------------------------
The variable that affects the CPIC APIC for Windows 3.x-based or OS/2-
based SNA Server clients is found in the CPIC program's
[ApplicationName] section of the WIN.INI file is stored as follows:
[ApplicationName]
APPCLLU=<localLUalias>
where <localLUalias> is the default Local APPC LU alias.
If you change this entry the SNA Server Win 3.x client (WNAP.EXE) and
SNA Server OS/2 client (COMNAP) must be stopped and started to enable
this change.