EXPRESS MQ IMPORTER/EXPORTER

 

  1. Why a new Mainframe Tool for MQSeries: A Background around two issues:

            Debates over MQSeries versus FTP

 

Concerns of “Graying” of Mainframe Developers/Cost of Mainframe Development

 

  1. WHAT IS EXPRESS MQ IMPORTER/EXPORTER (EMQIE)?

  1. WHAT ARE THE FUNCTIONS OF EMQIE?    

  1. HOW TO USE EMQIE?

 

 

BACKGROUND

MQSERIES versus FTP

 “We can use both FTP and MQSeries. Which one….?”

Such questions and answers to them abound on Internet.

 “FTP is synchronous - it requires both ends to be available at the time of transmission. MQ is asynchronous.”

 “FTP does not provide any restart/resume capability for interrupted transfer (no checkpoints).”

 ”FTP has no in-built ability to re-retry a file transfer if the other end is down.” ……

 And, many more, mainly in favor of MQ, which accounts for the increasing use of MQSeries in tasks where, traditionally, FTP has been used.

 The arguments in favor of MQSeries can be best summarized in a sentence that floats around Internet:

 “FTP will leave the data by the door, but MQ will knock on it, and hand deliver it to the customer. "

 And, FTP has one major advantage: It is simple!

 EXPRESS MQ IMPORTER/EXPORTER(EMQIE) claims to bring enormous simplicity to one area of MQSeries: Interchanging Data between MQSeries Queues and flat files (QSAM datasets). 

 

 BACKGROUND:

“GREYING” OF MAINFRAME DEVELOPERS/COST OF MAINFRAME DEVELOPMENT

 

Normally, extracting data from or inserting data into MQSeries Queues for production applications and testing in a mainframe environment requires PROGRAMMING, and executing programs requires JCLs.

 

Usually, applications related with each queue require new programming and new JCLs, for the attributes of queues and datasets would vary (Queue Manager/Queue Names, Message Lengths, Dataset Names, Formats, Record Lengths, etc.).

 

With number of experienced programmers in the area retiring, with the depth of expertise needed in mainframe environments, the cost of development is steadily increasing.

 

EXPRESS MQ IMPORTER/EXPORTER(EMQIE) obliterates the need of program and JCL development in the area it claims to bring a solution. It does not require any syntax knowledge for its own usage.

 

 

 

WHAT IS EXPRESS MQ IMPORTER/EXPORTER(EMQIE)?

 

 

 EMQIE is a Zero-Programming, Zero-JCL mainframe productivity tool that can be used to insert data into or to extract data from MQSeries Queues.

  

 

IMPORT refers to the function whereby the contents of a flat file (QSAM dataset) are transferred into an MQSeries Queue; whereas EXPORT refers to the function whereby the contents of an MQSeries Queue is transferred into a flat file (QSAM dataset).

 

 

 WHAT ARE THE FUNCTIONS OF EMQIE?

EMQIE has 2 main and 4 auxiliary functions.

Main Functions:

  
1. IMPORT (LOAD): To transfer contents of a flat (QSAM) dataset

         unto an MQ Series Queue,
          or
          2. EXPORT (UNLOAD): To transfer contents of an MQ Series Queue
         unto a flat (QSAM) dataset, by either:
               2.1. Deleting the MQ records after unloading, or
               2.2. Keeping the MQ records after unloading.


       Auxiliary Functions:

     
1. To produce a JCL that can be used as part of a permanent batch application.
      2. To edit/browse the Input Dataset before LOADing.

      3. To edit/browse the Output Dataset after UNLOADing.
      4. To review the basic attribute list of the MQ Series Queue, which list is printed as part of the process of performing     main functions.

 The tool DOES NOT NEED to be given the attributes of the input dataset (fixed/variable size record formats, record length, etc.), nor the attributes of the MQSeries Queue, for the tool has the intelligence to determine them.

 

 

HOW TO USE EMQIE?

 

Under TSO, call EMQIE, which brings the following screen:

fill out:

1. Queue Manager Name,

2. Queue Name,

 

3. The info related with one of the Directions: either,

 

3.1  “From Dataset to MQ” with input Dataset Name, or

 3.2.  “From MQ to Dataset” with output Dataset Name and instruction on whether or not MQ records are to be kept in the queue.

 

 

 

       And, press F6, which will issue a JOB to perform the task requested.

      Optionally, you may use F7 or F8 to Edit Input or Output Dataset.

 

The batch job, besides performing the Import or Export task, produces a report summarizing the task performed,

 such as:

  IMPORTING DATA INTO
                QMGR: MQU1,
                QEUEU: X450.TEST,
           FROM A DATASET WITH THE FOLLOWING ATTRIBUTES:
                  RECFM: F RECSIZE: 00080 BLKSIZE: 27920

 LOCAL QUEUE DESCR: Test queue
 MAX MSG LENGTH   :       300
 MAX RECORDS      : 999999999
 CURRENT RECORDS  :     32528
 NO OF RECORDS READ FROM THE INPUT DATASET, AND WRITTEN UNTO QUEUE :      16264
 NO OF RECORDS IN THE QUEUE AFTER THIS IMPORT PROCESS              :      48792

Or:

 

EXPORTING DATA (AND DELETING THEM FROM THE QUEUE) FROM
           QMGR: MQU1,
           QUEUE: X450.TEST,
           INTO DATASET, &SYSUID..MQOUT, WITH THE FOLLOWING ATTRIBUTES:
                  RECFM: V RECSIZE: 32704 BLKSIZE: 32708

 LOCAL QUEUE DESCR: Test queue
 MAX MSG LENGTH   :       300
 MAX RECORDS      : 999999999
 CURRENT RECORDS  :     48792
 NO OF RECORDS READ FROM THE QUEUE, AND WRITTEN UNTO &SYSUID..MQOUT :     48792
 NO OF RECORDS IN THE QUEUE AFTER THIS EXPORT (WITH DELETE) PROCESS :         0

The report may also have an error description that may have been detected, such as:

 

MQ CALL FAILED
 CODE  =0000000002
 REASON=0000002024
 DESCRIPTION = MQRC-SYNCPOINT-LIMIT-REACHED
 WHICH MEANS THAT THE QMGR ATTRIBUTE, MaxUncommittedMsgs, WAS EXCEEDED.
 RECOMMENDED COURSE OF ACTION: RUN THIS PROCESS WITH
 'DELETE MQ RECORDS AFTER READ : ' OPTION 'YES'
 DIS-CONNECTING IN ERROR EXIT
 DIS-CONNECTION SUCCEEDED
 ***********************************************
 PROGRAM ABORTED.
 ***********************************************