Communications examples

This section provides communications setup examples for SNA (SNAX and ICE) and TCP.

SNAX communications example

This section provides:

SCF SNA line configuration file

Here is an example SCF configuration file:



 ==
 == SCF configuration file for defining SNA LINE, PUs, and LUs to VTAM
 == Line is called $SNA02 and SYSGEN'd into the Tandem system
 ==
 
 ALLOW ALL
 ASSUME LINE $SNA02
 
 ABORT, SUB LU
 ABORT, SUB PU
 ABORT
 
 DELETE, SUB LU
 DELETE, SUB PU
 DELETE
 ==
 == ADD $SNA02 LINE DEFINITION
 ==
 
 ADD LINE $SNA02, STATION SECONDARY, MAXPUS 5, MAXLUS 1024, RECSIZE 2048, &
         CHARACTERSET ASCII, MAXLOCALLUS 256, &
         PUIDBLK %H05D, PUIDNUM %H312FB
 
 ==
 == ADD REMOTE PU OBJECT, LOCAL IS IMPLICITLY DEFINED AS #ZNT21
 ==
 
 ADD PU #PU2, ADDRESS 1, MAXLUS 16, RECSIZE 2046, TYPE (13,21), &
              TRRMTADDR 04400045121088, DYNAMIC ON, &
              ASSOCIATESUBDEV $CHAMB.#p2, &
              TRSSAP %H04, &
              CPNAME IYAQCDRM, SNANETID GBIBMIYA
 
 ==
 == ADD LOCAL LU OBJECT
 ==
 
 ADD LU #ZNTLU1, TYPE (14,21), RECSIZE 1024, &
           CHARACTERSET ASCII, PUNAME #ZNT21, SNANAME IYAHT080
 
 ==
 == ADD PARTNER LU OBJECTS
 ==
 
 == spinach (HP)
 
 ADD LU #PU2LU1, TYPE(14,21), PUNAME #PU2, SNANAME IYABT0F0
 
 == stingray (AIX)
 
 ADD LU #PU2LU2, TYPE(14,21), PUNAME #PU2, SNANAME IYA3T995
 
 == coop007 (OS/2)
 
 ADD LU #PU2LU3, TYPE(14,21), PUNAME #PU2, SNANAME IYAFT170
 
 == MVS CICS
 
 ADD LU #PU2LU4, TYPE(14,21), PUNAME #PU2, SNANAME IYCMVM03
 
 == MVS Non-CICS
 
 ADD LU #PU2LU5, TYPE(14,21), PUNAME #PU2, SNANAME IYCNVM03
 
 == finnr100 (NT)
 
 ADD LU #PU2LU6, TYPE(14,21), PUNAME #PU2, SNANAME IYAFT080
 
 == winas18 (AS400)
  ADD LU #PU2LU7, TYPE(14,21), PUNAME #PU2, SNANAME IYAFT110
 
 == MQ-Portuguese (OS/2)
 
 ADD LU #PU2LU8, TYPE(14,21), PUNAME #PU2, SNANAME IYAHT090
 
 == VSE
 
 ADD LU #PU2LU10, TYPE(14,21), PUNAME #PU2, SNANAME IYZMZSI2
 
 == START UP TOKEN RING ASSOCIATE SUB DEVICE $CHAMB.#P2
 == then start the line, pu's, and lu's
 
 START LINE $CHAMB, SUB ALL
 
 START
 START, SUB PU
 
 STATUS
 STATUS, SUB PU
 STATUS, SUB LU
 

SYSGEN parameters

The following are CONFTEXT file entries for a SYSGEN to support the SNA and token ring lines:



  !**************************************************************************
  !                       LAN MACRO
  !**************************************************************************
  !  This macro is used for all 361x LAN controllers
  !  REQUIRES T9375 SOFTWARE PACKAGE
 
     C3613^MLAM         = MLAM
                          TYPE 56,             SUBTYPE 0,
                          PROGRAM              C9376P00,
                          INTERRUPT            IOP^INTERRUPT^HANDLER,
                          MAXREQUESTSIZE       32000,
                          RSIZE                32000,
                          BURSTSIZE            16,
                          LINEBUFFERSIZE       32,
                          STARTDOWN  #;
  !**************************************************************************
  !                       SNAX macro for Token ring lines
  !**************************************************************************
  TOKEN^RING^SNAX^MACRO = SNATS
                          TYPE 58,
                          SUBTYPE 4,
                          RSIZE 1024,
                          SUBTYPE 4,
                          FRAMESIZE 1036 # ;
 
  !**************************************************************************
  !                       SNAX MANAGER
  !**************************************************************************
    SSCP^MACRO          = SNASVM
                          TYPE 13,         SUBTYPE 5,
                          RSIZE                256  #;
 
  !**************************************************************************
  !                       LAN CONTROLLER
  !**************************************************************************
  LAN1      3616    0,1     %130    ;
 
  !***********   Service manager
  SNAX     6999    0,1     %370    ;
 
  !***********   SNAX/Token Ring Pseudocontroller
  RING      6997    0,1     %360    ;
 
  !*********** Token Ring Line
  $CHAMB     LAN1.0, LAN1.1       C3613^MLAM, NAME #LAN1;
 
  !***********   Configure the SSCP
   $SSCP     SNAX.0, SNAX.1 SSCP^MACRO;
 
  !***********   Sna lines for Dummy Controller over Token Ring
   $SNA01    RING.0, RING.1 TOKEN^RING^SNAX^MACRO;
   $SNA02    RING.2, RING.3 TOKEN^RING^SNAX^MACRO;
 

SNAX/APC process configuration

The following definitions configure the example APC process (process name $BP01) via SCF for the SNA line.

Note:
The pathway process $BP01 is created using the Tandem utility APCRUN.



 ==
 == SCF Configuration file for SNAX/APC Lus
 ==
 
 ALLOW ERRORS
 
 ASSUME PROCESS $BP01
 
 ABORT  SESSION *
 ABORT  TPN *
 ABORT  PTNR-MODE *
 ABORT  PTNR-LU *
 ABORT  LU *
 
 DELETE TPN *
 DELETE PTNR-MODE *
 DELETE PTNR-LU *
 DELETE LU *
  ==
 == ADD LOCAL LU
 ==
 ADD LU IYAHT080, SNANAME GBIBMIYA.IYAHT080, SNAXFILENAME $SNA02.#ZNTLU1, &
                  MAXSESSION 256, AUTOSTART YES
  == TPnames for MQSeries
 
 ADD TPN IYAHT080.INTCRS6A
 ADD TPN IYAHT080.DUMMY,    GENERALTPREADY yes, SESSIONCONTROL yes, &
         REMOTEATTACHTIMER -1, REMOTEATTACH queue
  === Spinach (HP) Partner LU
 
 ADD PTNR-LU   IYAHT080.IYABT0F0, SNANAME GBIBMIYA.IYABT0F0, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYABT0F0.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 
 ADD TPN       IYAHT080.MH01SDRCSDR
 ADD TPN       IYAHT080.MH01RQSDSDR
 ADD TPN       IYAHT080.MH01RQSVSVR
 ADD TPN       IYAHT080.MH01SDRCRCVR
 ADD TPN       IYAHT080.MH01RQSVRQSTR
 ADD TPN       IYAHT080.MH01RQSDRQSTR
 
 ==
 ==  Winas18 (AS400) Partner LU
 ==
 
 ADD PTNR-LU   IYAHT080.IYAFT110, SNANAME GBIBMIYA.IYAFT110, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYAFT110.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 
 ADD TPN       IYAHT080.M401SDRCSDR
 ADD TPN       IYAHT080.M401RQSDSDR
 ADD TPN       IYAHT080.M401RQSVSVR
 ADD TPN       IYAHT080.M401SDRCRCVR
 ADD TPN       IYAHT080.M401RQSVRQSTR
 ADD TPN       IYAHT080.M401RQSDRQSTR
  ==
 ==  Stingray (AIX) Partner LU
 ==
 
 ADD PTNR-LU   IYAHT080.IYA3T995, SNANAME GBIBMIYA.IYA3T995, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYA3T995.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 
 ADD TPN       IYAHT080.MA02SDRCSDR
 ADD TPN       IYAHT080.MA02RQSDSDR
 ADD TPN       IYAHT080.MA02RQSVSVR
 ADD TPN       IYAHT080.MA02SDRCRCVR
 ADD TPN       IYAHT080.MA02RQSVRQSTR
 ADD TPN       IYAHT080.MA02RQSDRQSTR
  ==
 == coop007 (OS/2) Partner LU
 ==
 
 ADD PTNR-LU   IYAHT080.IYAFT170, SNANAME GBIBMIYA.IYAFT170, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYAFT170.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 
 ADD TPN       IYAHT080.MO02SDRCSDR
 ADD TPN       IYAHT080.MO02RQSDSDR
 ADD TPN       IYAHT080.MO02RQSVSVR
 ADD TPN       IYAHT080.MO02SDRCRCVR
 ADD TPN       IYAHT080.MO02RQSVRQSTR
 ADD TPN       IYAHT080.MO02RQSDRQSTR
  ==
 == MQ-Portuguese (OS/2) Partner LU
 ==
 
 ADD PTNR-LU   IYAHT080.IYAHT090, SNANAME GBIBMIYA.IYAHT090, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYAHT090.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 ==
 == finnr100 (NT)  Partner LU
 ==
 
 ADD PTNR-LU   IYAHT080.IYAFT080, SNANAME GBIBMIYA.IYAFT080, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYAFT080.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 
 ADD TPN       IYAHT080.MW01SDRCSDR
 ADD TPN       IYAHT080.MW01RQSDSDR
 ADD TPN       IYAHT080.MW01RQSVSVR
 ADD TPN       IYAHT080.MW01SDRCRCVR
 ADD TPN       IYAHT080.MW01RQSVRQSTR
 ADD TPN       IYAHT080.MW01RQSDRQSTR
  ==
 == MVS CICS       Partner LU
 ==
 
 ADD PTNR-LU   IYAHT080.IYCMVM03, SNANAME GBIBMIYA.IYCMVM03, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYCMVM03.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 
 ADD TPN       IYAHT080.VM03SDRCSDR
 ADD TPN       IYAHT080.VM03RQSDSDR
 ADD TPN       IYAHT080.VM03RQSVSVR
 ADD TPN       IYAHT080.VM03SDRCRCVR
 ADD TPN       IYAHT080.VM03RQSVRQSTR
 ADD TPN       IYAHT080.VM03RQSDRQSTR
  ==
 == z/OS Non CICS Partner LU
 ==
 
 ADD PTNR-LU   IYAHT080.IYCNVM03, SNANAME GBIBMIYA.IYCNVM03, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYCNVM03.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 
 ADD TPN       IYAHT080.VM03NCMSDRCSDR
 ADD TPN       IYAHT080.VM03NCMRQSDSDR
 ADD TPN       IYAHT080.VM03NCMRQSVSVR
 ADD TPN       IYAHT080.VM03NCMSDRCRCVR
 ADD TPN       IYAHT080.VM03NCMRQSVRQSTR
 ADD TPN       IYAHT080.VM03NCMRQSDRQSTR
 
 ==
 == VSE Partner LU
 ==
 
 ADD PTNR-LU   IYAHT080.IYZMZSI2, SNANAME GBIBMIYA.IYZMZSI2, &
               PERIPHERAL-NODE NO, PARALLEL-SESSION-LU YES
 
 ADD PTNR-MODE IYAHT080.IYZMZSI2.LU62PS, MODENAME LU62PS, &
               DEFAULTMAXSESSION 8, DEFAULTMINCONWINNER 4, &
               DEFAULTMINCONLOSER 3, MAXAUTOACT 1, RCVWINDOW 4, &
               DEFAULTMAXINRUSIZE 1024, DEFAULTMAXOUTRUSIZE 1024, &
               SENDWINDOW 4
 
 ==
 == Start the LUs
 ==
 
 START LU IYAHT080, SUB ALL
 START TPN *

Channel definitions

Here are some example WebSphere MQ channel definitions that support the SNAX configuration:

ICE communications example

There are two stages in configuring ICE for WebSphere MQ:

  1. The ICE process itself must be configured.
  2. Line ($ICE01, in the following example) and SNA information must be input to the ICE process.

Configuring the ICE process

Here is an example ICE process configuration. This configuration is located by default in a file called GOICE:



  ?tacl macro
 clear all
 param backupcpu 1
 param cinittimer 120
 param collector $0
 param config icectl
 param idblk 05d
 param idnum 312FF
 param cpname IYAHR00C
 param datapages 64
 param dynamicrlu yes
 param genesis $gen
 param maxrcv 4096
 param loglevel info
 param netname GBIBMIYA
 param password xxxxxxxxxxxxxxxxxxxx
 param retrys1 5
 param secuserid super.super
 param startup %1%
 param timer1 20
 param timer2 300
 param usstable default
 run $system.ice.ice/name $ICE,nowait,cpu 0,pri 180,highpin off/
 
Note:
The password param has been replaced by xxxxxxxxxxxxxxxxxxxx.

Defining the line and APC information

Once the ICE process has been started with this configuration, the following information is input to the ICE process using the Node Operator Facility (NOF**). This example defines a line called $ICE01 running on the token ring port $CHAMB.#ICE:



 ==
 == ICE definitions for PU IYAHR00C.
 == Local LU for this PU is IYAHT0C0.
 ==
 
 ALLOW ERRORS
 
 OPEN $ICE
 
 ABORT LINE $ICE01, SUB ALL
 
 DELETE LINE $ICE01, SUB ALL
  ==
 ==  ADD TOKEN RING LINE
 ==
 
 ADD LINE $ICE01, TNDM $CHAMB.#ICE, &
       IDBLK %H05D, &
       PROTOCOL TOKENRING, WRITEBUFFERSIZE 8192
  ==
 == ADD PU OBJECT
 ==
 
 ADD PU IYAHR00C, LINE $ICE01, MULTIROUTE YES, &
              DMAC 400045121088, DSAP %H04, &
              NETNAME GBIBMIYA, IDNUM %H312FF, IDBLK %H05D, &
              RCPNAME GBIBMIYA.IYAQCDRM, SSAP %H08
  ==
 == Add Local APPL Object
 ==
 
 DELETE APPL IYAHT0C0
 ADD APPL IYAHT0C0, ALIAS IYAHT0C0, LLU IYAHT0C0, PROTOCOL CPIC, &
          OPENNAME #IYAHT0C
 
 ==
 == Add Mode LU62PS
 ==
 
 DELETE MODE LU62PS
 ADD MODE LU62PS, MAXSESS 8, MINCONWIN 4, MINCONLOS 3
  ==
 == Add Partner LU Objects
 ==
  == spinach (HP)
 
 ABORT RLU IYABT0F0
 DELETE RLU IYABT0F0
 ADD RLU IYABT0F0, MODE LU62PS, PARSESS YES
 
 == stingray (AIX)
 
 ABORT RLU IYA3T995
 DELETE RLU IYA3T995
 ADD RLU IYA3T995, MODE LU62PS, PARSESS YES
 
 == coop007 (OS/2)
 
 ABORT RLU IYAFT170
 DELETE RLU IYAFT170
 ADD RLU IYAFT170, MODE LU62PS, PARSESS YES
 
 == MVS CICS
 
 ABORT RLU IYCMVM03
 DELETE RLU IYCMVM03
 ADD RLU IYCMVM03, MODE LU62PS, PARSESS YES
 
 == MVS Non-CICS
 
 ABORT RLU IYCNVM03
 DELETE RLU IYCNVM03
 ADD RLU IYCNVM03, MODE LU62PS, PARSESS YES
 
 == finnr100 (NT)
 
 ABORT RLU IYAFT080
 DELETE RLU IYAFT080
 ADD RLU IYAFT080, MODE LU62PS, PARSESS YES
 
 == winas18 (AS400)
 
 ABORT RLU IYAFT110
 DELETE RLU IYAFT110
 ADD RLU IYAFT110, MODE LU62PS, PARSESS YES
 
 ABORT RLU IYAHT080
 DELETE RLU IYAHT080
 ADD RLU IYAHT080, MODE LU62PS, PARSESS YES
 
 ==
 == START UP ICE LINE $ICE01 AND SUB DEVICE
 ==
 
 START LINE $ICE01, SUB ALL
Note:
In order for this configuration to work, the port #ICE must have been defined to the token ring line. For example, these commands could be entered into SCF:
    add port $chamb.#ice, type tr8025, address %H08
    start port $chamb.#ice
where $chamb is a token-ring controller, and the SAP of the port is %08.

Channel definitions for ICE

Here are some WebSphere MQ channel definitions that would support this ICE configuration:

TCP/IP communications example

This example shows how to establish communications with a remote WebSphere MQ system over TCP/IP.

TCPConfig stanza in QMINI

The QMINI file must contain an appropriate TCPConfig stanza. For example:

 TCPConfig:
    TCPPort=1414
    TCPNumListenerPorts=1
    TCPListenerPort=1996
    TCPKeepAlive=1

The TCPPort value is the default outbound port for channels without a port value in the CONNAME field. TCPListenerPort identifies the port on which the TCP listener will listen.

A queue manager can have multiple TCP/IP listeners. If this is the case, the QMINI file must have a TCPListenerPort entry for each listener, and TCPNumListenerPort must be updated to match. For example, the TCPConfig stanza above would be changed as follows:

 TCPConfig:
    TCPPort=1414
    TCPNumListenerPorts=2
    TCPListenerPort=1997
    TCPKeepAlive=1

Defining a TCP sender channel

A TCP sender channel must be defined. In this example, the queue manager is MH01 on a host called SPINACH:

   DEFINE CHANNEL(MT01_MH01_SDRC_0001) CHLTYPE(SDR) +
           TRPTYPE(TCP) +
           SEQWRAP(9999999) MAXMSGL(4194304) +
           XMITQ('MH01_TQ_SDRC_0001') +
           CONNAME('SPINACH.HURSLEY.IBM.COM(2000)')

This channel would try to attach to a TCP/IP port number 2000 on the host SPINACH.

The following example shows a TCP/IP sender channel definition for a queue manager MH01 on the host SPINACH using the default outbound TCP/IP port:

   DEFINE CHANNEL(MT01_MH01_SDRC_0001) CHLTYPE(SDR) +
           TRPTYPE(TCP) +
           SEQWRAP(9999999) MAXMSGL(4194304) +
           XMITQ('MH01_TQ_SDRC_0001') +
           CONNAME('SPINACH.HURSLEY.IBM.COM')

No port number is specified in the CONNAME. Therefore, the value specified on the TCPPort entry in the QMINI file (1414) is used.

Defining a TCP receiver channel

An example TCP receiver channel:

   DEFINE CHANNEL(MH01_MT01_SDRC_0001) CHLTYPE(RCVR) +
           TRPTYPE(TCP)

A TCP receiver channel requires no CONNAME value, but a TCP listener must be running. There are two ways of starting a TCP listener. Either:

  1. Go into the queue manager's pathway using pathcom, and enter:
     start server mqs-tcplis00
    

    or

  2. From the TACL prompt, enter
     runmqlsr -m QMgrName
    
Note:
If problems are encountered with the TACL from which the runmqlsr is running, the listener will be unable to access its home terminal and out file. runmqlsr is useful for testing, but you are recommended to use the listener from within the queue manager's pathway as shown in step 1.

A TCP/IP listener, which will listen on the port defined in the QMINI file (in this example, 1996), is started.

Note:
This port number can be overridden by the -p Port flag on runmqlsr.

Defining a TCP/IP sender channel on the remote system

The sender channel definition on the remote system to connect to this receiver channel could look like:

  DEFINE CHANNEL(MH01_MT01_SDRC_0001) CHLTYPE(SDR) +
           TRPTYPE(TCP) +
           XMITQ('MT01_TQ_SDRC_0001') +
           CONNAME('TANDEM.ISC.UK.IBM.COM(1996)')


© IBM Corporation 2002. All Rights Reserved