2 Setting Up Inbound and Outbound IBM WebSphere MQ Queues for Z Events Only: Step 1

IBM WebSphere MQ is a queue messaging system that requires a sender and receiver relationship. One side of IBM WebSphere MQ is installed on Oracle's JD Edwards EnterpriseOne server while the related side is installed on another physical or logical machine. The setup on the JD Edwards EnterpriseOne server enables JD Edwards EnterpriseOne to receive inbound messages from a third-party application or system and to place outbound messages in a queue for processing by a third-party application or system. Refer to the applicable IBM documentation for instructions on installing IBM WebSphere MQ on other machines.

The procedures described in this section assume you have already installed the IBM product WebSphere MQ onto your JD Edwards EnterpriseOne server.

You set up your enterprise server so that the system can receive inbound messages from a third-party application or system and then place responses, in the form of outbound messages, in a queue for processing by the third-party application or system.

In addition to information about setting up your JD Edwards EnterpriseOne server, this section also provides examples for the following:

  • Communicating between the JD Edwards EnterpriseOne WebSphere MQ Server and the Non-JD Edwards EnterpriseOne IBM WebSphere MQ Server.

  • Working with IBM WebSphere MQ Queue Manager commands.

2.1 Configuring the JD Edwards EnterpriseOne Server Components

Inbound to JD Edwards EnterpriseOne and Outbound to a Third-Party Application

You set up your JD Edwards EnterpriseOne server so that EnterpriseOne can receive an inbound message from another system or application and respond by placing an outbound message in the outbound queue. Complete these tasks:

  • Create and start IBM WebSphere MQ Queue Manager.

  • Create MQ local queues.

  • Create a MQ remote queue.

  • Create a MQ local sender channel.

  • Create a MQ local receiver channel.

  • End the IBM WebSphere MQ Queue Manager.

Caution:

The names of queues and channels in IBM WebSphere MQ are case-sensitive. Be sure to use capital letters as specified in this document. You can specify any name for a queue or channel. However, it is important that the queue names you create match the queue names you specify in the jde.ini file on the JD Edwards EnterpriseOne server.

To create and start IBM WebSphere MQ Queue Manager:

  1. From the DOS Prompt, change the directory or specify the directory, using this command:

    Program Files\WebSphere MQ\Bin

  2. Execute the this command to create the Queue Manager:

    CRTMQM JDE_QMGR

    This establishes a queue manager that is not the default queue manager.

  3. Execute this command to start the Queue Manager:

    STRMQM JDE_QMGR

To create MQ local queues:

You must create these local queues:

  • INBOUND.Q

  • SUCCESS.Q

  • ERROR.Q

  • DEFRES.Q

  • OUTBOUND.Q.XMIT

From the MQ command line environment, at the same DOS prompt where you started the Queue Manager:

  1. Use this command to start the IBM WebSphere MQ command:

    RUNMQSC JDE_QMGR

  2. The display returns this:

    Starting IBM WebSphere MQ Command

  3. To create the local queues, run these IBM WebSphere MQ commands:

    DEFINE QLOCAL(INBOUND.Q)    DEFPSIST(YES)    DESCR('Queue for messages into JD Edwards EnterpriseOne')
    DEFINE QLOCAL(SUCCESS.Q)    DEFPSIST(YES)    DESCR('Queue for successful messages in JD Edwards EnterpriseOne')
    DEFINE QLOCAL(ERROR.Q)    DEFPSIST(YES)    DESCR('Queue for error messages in JD Edwards EnterpriseOne')
    DEFINE QLOCAL(DEFRES.Q)    DEFPSIST(YES)    DESCR('Queue for responses if not in message in JD Edwards EnterpriseOne')
    DEFINE QLOCAL('OUTBOUND.Q.XMIT')    DEFPSIST(YES)    USAGE(XMITQ)  DESCR('Transmit queue to WCS system')
    

To create the MQ remote queue:

From the MQ command line environment, enter this command to create a single MQ remote queue:

DEFINE QREMOTE(OUTBOUND.Q) DEFPSIST(YES)      
XMITQ(OUTBOUND.Q.XMIT)  RNAME(ECE_IN2MQI)      
RQMNAME(ECE_MQI_QMGR) DESCR('ECE out bound queue to WCS system')

Note:

ECE_IN2MQI is the third-party remote queue name and ECE_MQI_QMGR is the third-party queue manager name.

To create a MQ local sender channel:

From the MQ command line environment, enter this command to create a MQ local sender channel:

DEFINE CHANNEL('OW2MQI_CHL') CHLTYPE(SDR) TRPTYPE(TCP) 
CONNAME(name_of_Commerce_Integrator_server) 
XMITQ(OUTBOUND.Q.XMIT) DISCINT(0) DESCR('Sender channel to WCS system')

To create a MQ local receiver channel:

From the MQ command line environment, enter this command to create a MQ local receiver channel:

DEFINE CHANNEL('MQI2OW_CHL') CHLTYPE(RCVR) TRPTYPE(TCP) 
DESCR('Receiver channel from WCS system')

To end the IBM WebSphere MQ command mode:

When you are finished creating the queues and channels, enter this command from the DOS prompt in the MQ command line environment to exit the RUNMQSC console program:

END

2.2 Communicating Between Systems - Starting up Channels And Listeners

You must set up communications between the JD Edwards EnterpriseOne IBM WebSphere MQ server (functioning on the JD Edwards EnterpriseOne server) and the third-party IBM WebSphere MQ server. This section provides example tasks for setting up communications. The example communications setup uses these sequenced and machine dependent steps:

  • Start the Queue Manager on the third-party IBM WebSphere MQ Server.

  • Start the Queue Manager on the JD Edwards EnterpriseOne IBM WebSphere MQ Server.

  • Start the channel on the third-party IBM WebSphere MQ Server.

  • Start the channel on the JD Edwards EnterpriseOne IBM WebSphere MQ Server.

Note:

The first time you start your communications channels, you might need to manually start the sender channel on the local machine and then manually start the receiver channel on the remote machine. After the initial start of the channels, when you start the sender on the local machine, the receiver on the remote machine should automatically start.

To start the queue manager on the third-party WebSphere MQ server:

On the third-party IBM WebSphere MQ server:

  1. At a DOS prompt, enter this command to start the Queue Manager:

    STRMQM ECE_MQI_QMGR

  2. At the same DOS prompt, enter this command to start the listener:

    start/min runmqlsr -m ECE_MQI_QMGR -t TCP

    This action creates a minimized DOS prompt window. Do not close this window.

    Note:

    ECE_MQI_QMGR is the third-party queue manager name.

To start the queue manager on the JD Edwards EnterpriseOne IBM WebSphere MQ server:

On the JD Edwards EnterpriseOne IBM WebSphere MQ server:

  1. At a DOS prompt, enter this command to start the Queue Manager:

    STRMQM JDE_QMGR

  2. At the same DOS prompt, enter this command to start the listener:

    start/min runmqlsr -m JDE_QMGR -t TCP

    This action creates a minimized DOS prompt window. Do not close this window.

To start channel on the non-JD Edwards EnterpriseOne IBM WebSphere MQ server:

In order to issue the start channel command on the non-JD Edwards EnterpriseOne IBM WebSphere MQ server, you must be in the WebSphere MQ command mode.

On the non-JD Edwards EnterpriseOne IBM WebSphere MQ server:

  1. From the IBM WebSphere MQ command mode, enter this command at the same DOS prompt you used to start the queue manager:

    RUNMQSC ECE_MQI_QMGR

    Note:

    ECE_MQI_QMGR is the third-party queue manager name.
  2. Enter these commands to start the WebSphere MQ to EnterpriseOne channels:

    START CHANNEL(MQI2OW_CHL)
    START CHANNEL(OW2MQI_CHL)
    
  3. Enter this command to exit the WebSphere MQ command mode:

    END

To start the channel on the JD Edwards EnterpriseOne IBM WebSphere MQ servers:

In order to issue the start channel command on the JD Edwards EnterpriseOne IBM WebSphere MQ server, you must be in the WebSphere MQ command mode.

On the JD Edwards EnterpriseOne IBM WebSphere MQ server:

  1. From the IBM WebSphere MQ command mode, enter this command at the same DOS prompt you used to start the queue manager:

    RUNMQSC JDE_QMGR

  2. Enter these commands to start the IBM WebSphere MQ to JD Edwards EnterpriseOne channels:

    START CHANNEL(OW2MQI_CHL)
    START CHANNEL(MQI2OW_CHL)
    
  3. Enter this command to exit the WebSphere MQ command mode:

    END

2.3 Working with WebSphere MQ Queue Manager Commands

This table provides example commands that you can use when working with IBM WebSphere MQ Queue Manager:

Caution:

The names of queues and channels in IBM WebSphere MQ are case-sensitive. Be sure to use capital letters as specified in this document. You can specify any name for a queue or channel. However, it is important that the queue names you create match the queue names you specify in the jde.ini file on the JD Edwards EnterpriseOne server.
Command Description
STRMQM JDE_QMGR Start the queue manager.
ENDMQM -i JDE_QMGR End the queue manager. The -i switch means immediately.
RUNMQSC JDE_QMGR Start using WebSphere MQ commands.
Display QL(qname.Q) Display the local queue.
Clear QL(qname.Q) Clear the local queue.
END Stop using WebSphere MQ commands.
AMQSBCG qname.Q JDE_QMGR Run the browse queue command. This does not remove the message.
START CHANNEL (channel_name) Start the channel.
STOP CHANNEL (channel_name) Stop the channel.
Start/min runmqlsr -m JDE_QMGR -t TCP Start a listener.
RESET CHL (channel_name) Reset a channel that has become inactive.