Microsoft KB Archive/132720

From BetaArchive Wiki
Knowledge Base


SNA Server CPIC allocate error 20 (CM_PRODUCT_SPECIFIC_ERROR)

Article ID: 132720

Article Last Modified on 10/6/2004



APPLIES TO

  • Microsoft SNA Server 2.0
  • Microsoft SNA Server 2.1
  • Microsoft SNA Server 3.0
  • Microsoft SNA Server 2.11 Service Pack 1
  • Microsoft SNA Server 3.0 Service Pack 4
  • Microsoft SNA Server 4.0
  • Microsoft SNA Server 3.0 Service Pack 2
  • Microsoft SNA Server 3.0 Service Pack 3
  • Microsoft SNA Server 4.0
  • Microsoft SNA Server 4.0 Service Pack 1
  • Microsoft SNA Server 4.0 Service Pack 2
  • Microsoft SNA Server 4.0 Service Pack 4
  • Microsoft Host Integration Server 2000 Standard Edition
  • Microsoft Host Integration Server 2000 Service Pack 1



This article was previously published under Q132720

SYMPTOMS

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).

CAUSE

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.

RESOLUTION

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):

  1. Configure the Local APPC LU to be a member of the default pool.

    SNA Server 2.x


    1. In SNA Server Admin, go to the Servers and Connections window and select the Local APPC LU that is partnered with the Remote APPC LU and Mode that the CPIC application is using.
    2. In the Local APPC LU Properties dialog box, select Member of Default Outgoing Local APPC LU Pool.
    3. Click OK and save the SNA Server configuration file.
    4. Stop and start the SNA Server service so the change can take effect.

    SNA Server 3.0


    1. 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.
    2. On the Advanced tab, in the Local APPC LU Properties dialog box, select Member of Default Outgoing Local APPC LU Pool.
    3. Click OK and save the SNA Server configuration file.
    4. Stop and start the SNA Server service so the change can take effect.
  2. 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 INSERT and select 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, and then click 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 INSERT and select 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. On the APPC Defaults tab, set the Default APPC LU Local APPC LU Alias to an LU that the CPIC application is using, and then click 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.

  3. Within SNA Server Admin, go to the 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 for Invoking TPs that affects the CPIC API for Windows NT-based SNA Server clients is:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SnaBase\Parameters
    \Client\<exename>: REG_SZ: <LocalLUalias>

    where <exename> is the CPIC application name and <localLUalias> is the default Local APPC LU alias.

    NOTE: The above registry has been wrapped for readability.

    This change will take effect as soon as the registry is updated; you do not have to stop and restart the SnaBase service.

    Windows 95/98 Clients


    The Registry variable for Invoking TPs that affects the CPIC API for Windows 95/98-based SNA Server clients is:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SnaBase\Parameters
    \Client\<exename>: REG_SZ: <LocalLUalias>

    where <exename> is the CPIC application name and >localLUalias> is the default Local APPC LU alias.

    NOTE: The above registry has been wrapped for readability.

    On Windows 95/98, the SnaBase process must be restarted for this change to take effect.

    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.

Precedence Order



The following precedence order is used when defaulting the Local LU to the CPIC application:

  1. The registry setting takes the greatest precedence.
  2. If there is no registry assignment, then the default Local APPC LU is used. The default Local APPC LU must be assigned to the user context (or group context) under which the CPIC application is running.
  3. If there is no default Local APPC LU assignment, any Local LU that has the Member of default outgoing Local APPC pool option configured is used.



Additional query words: prodsna cmallc 20 administrator cm_product_specific_error

Keywords: kbnetwork kbprogramming kbsna211sp1 sna4 kbusage kbsna211sp2 kbsna300sp1 kbsna300sp2 kbsna300sp3 kbsna400sp2 kbsna400sp1 KB132720