Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
697 views154 pages

PCCon MQSeries

Informatica PowerCenter(r) Connect for IBM(r) MQSeries(r) User and Administrator Guide Version 7.1. Software and documentation contain proprietary information of Informatica Corporation, they are provided under a license agreement containing restrictions on use and disclosure. No part of this document may be reproduced or transmitted without prior consent of Informatica corporation.

Uploaded by

geetha_sathiesh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
697 views154 pages

PCCon MQSeries

Informatica PowerCenter(r) Connect for IBM(r) MQSeries(r) User and Administrator Guide Version 7.1. Software and documentation contain proprietary information of Informatica Corporation, they are provided under a license agreement containing restrictions on use and disclosure. No part of this document may be reproduced or transmitted without prior consent of Informatica corporation.

Uploaded by

geetha_sathiesh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 154

User and Administrator Guide

Informatica PowerCenter® Connect


for IBM® MQSeries®
(Version 7.1.1)
Informatica PowerCenter® Connect for IBM® MQSeries® User and Administrator Guide
Version 7.1.1
August 2004

Copyright © 2000-2004 Informatica Corporation.


All rights reserved. Printed in the USA.

This software and documentation contain proprietary information of Informatica Corporation, they are provided under a license agreement
containing restrictions on use and disclosure and is also protected by copyright law. Reverse engineering of the software is prohibited. No
part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)
without prior consent of Informatica Corporation.

Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software
license agreement as provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR
12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable.

The information in this document is subject to change without notice. If you find any problems in the documentation, please report them to
us in writing. Informatica Corporation does not warrant that this documentation is error free.
Informatica, PowerMart, PowerCenter, PowerCenter Connect, PowerConnect, and PowerChannel are trademarks or registered trademarks of
Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be trade
names or trademarks of their respective owners.

Portions of this software are copyrighted by MERANT, 1991-2000.

Informatica PowerCenter products contain ACE™ software copyrighted by Douglas C. Schmidt and his research group at Washington
University and University of California, Irvine, Copyright © 1993-2002, all rights reserved.

This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
The Apache Software is Copyright © 1999-2004 The Apache Software Foundation. All rights reserved.

DISCLAIMER: Informatica Corporation provides this documentation “as is” without warranty of any kind, either express or implied,
including, but not limited to, the implied warranties of non-infringement, merchantability, or use for a particular purpose. The information
provided in this documentation may include technical inaccuracies or typographical errors. Informatica could make improvements and/or
changes in the products described in this documentation at any time without notice.
Table of Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
New Features and Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv
PowerCenter Connect for IBM MQSeries 7.1.1 . . . . . . . . . . . . . . . . . .xiv
PowerCenter Connect for IBM MQSeries 7.1 . . . . . . . . . . . . . . . . . . . .xiv
PowerCenter Connect for IBM MQSeries 7.0 . . . . . . . . . . . . . . . . . . . .xiv
About Informatica Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
About this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xviii
Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xviii
Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xix
Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . .xix
Visiting the Informatica Webzine . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xix
Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . .xix
Visiting the Informatica Developer Network . . . . . . . . . . . . . . . . . . . . .xix
Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx

Chapter 1: Understanding PowerCenter Connect for IBM


MQSeries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
MQSeries Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Queue Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Message Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
MQSeries Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
MQSeries Sources and Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
MQSeries Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
MQSeries Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
MQSeries Source Qualifier Transformations . . . . . . . . . . . . . . . . . . . . . . . . . 7
MQ Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Associated Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . 7
MQSeries Data Extraction and Loading Process . . . . . . . . . . . . . . . . . . . . . . 8
Step 1. Create a Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

iii
Step 2. Create a Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Step 3. Create a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Step 4. Create a Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Step 5. Create and Schedule a Workflow . . . . . . . . . . . . . . . . . . . . . . . . .9

Chapter 2: Installation and Configuration . . . . . . . . . . . . . . . . . . . . . 11


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Installing and Configuring PowerCenter Connect for IBM MQSeries . . . 12
Step 1. Install PowerCenter Connect for IBM MQSeries . . . . . . . . . . . . . . . 13
Installing PowerCenter Connect for IBM MQSeries on the PowerCenter
Server on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Installing PowerCenter Connect for IBM MQSeries on the PowerCenter
Server on UNIX or Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Installing PowerCenter Connect for IBM MQSeries on the PowerCenter
Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Step 2. Configure Channels for Queue Managers . . . . . . . . . . . . . . . . . . . . . 16
Creating an MQSeries Server-Connection Channel . . . . . . . . . . . . . . . . 16
Creating a Client-Connection Channel . . . . . . . . . . . . . . . . . . . . . . . . . 17
Setting System Environment Variables for Queue Connections . . . . . . . . 17
Step 3. Configure Queue Connection Properties . . . . . . . . . . . . . . . . . . . . . 21
Step 4. Test Queue Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Testing a Queue Connection on Windows . . . . . . . . . . . . . . . . . . . . . . . 23
Testing a Queue Connection on UNIX or Linux . . . . . . . . . . . . . . . . . . 23
Uninstalling PowerCenter Connect for IBM MQSeries from Windows . . . . . 25

Chapter 3: Working with MQSeries Sources . . . . . . . . . . . . . . . . . . .27


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Associated Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Working with an MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . 29
Message Header Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Message Data Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Reading XML Message Data from an MQSeries Source . . . . . . . . . . . . . 31
Creating an MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . 33
Editing an MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . . 34
Working with an Associated Source Definition . . . . . . . . . . . . . . . . . . . . . . 36
Importing an Associated Source Definition . . . . . . . . . . . . . . . . . . . . . . 36

iv Table of Contents
Chapter 4: MQ Source Qualifier Transformation . . . . . . . . . . . . . . . . 39
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
MQ Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Associated Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . 40
Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Working with an MQ Source Qualifier Transformation . . . . . . . . . . . . . . . . 42
Message Header Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Message Data Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Working with an Associated Source Qualifier Transformation . . . . . . . . . . . 45
Filtering Messages from the Source Queue . . . . . . . . . . . . . . . . . . . . . . . . . 48
Controlling End of File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Controlling Data Extraction in Real Time . . . . . . . . . . . . . . . . . . . . . . 50
Controlling Forced End of Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Controlling Incremental Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Controlling Queue Clean-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Entering a Filter Condition in the MQ Source Qualifier . . . . . . . . . . . . . . . 56
Filter Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Filtering Messages Using Message Header Ports . . . . . . . . . . . . . . . . . . . 57
Entering a Filter Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Creating an MQ Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Configuring an MQ Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Creating an Associated Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Chapter 5: Working with MQSeries Targets . . . . . . . . . . . . . . . . . . . . 65


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Dynamic MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 66
Static MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Working with a Dynamic MQSeries Target Definition . . . . . . . . . . . . . . . . . 67
Maintaining Transactional Consistency for Dynamic MQSeries
Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Writing XML Message Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Working with a Static MQSeries Target Definition . . . . . . . . . . . . . . . . . . . 73
Loading Message Header Data to a Static MQSeries Target . . . . . . . . . . 74
Multiple Static MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . 74
Creating Static MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . 74
Creating a Dynamic MQSeries Target Definition . . . . . . . . . . . . . . . . . . . . 75

Table of Contents v
Editing an MQSeries Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . 75

Chapter 6: Creating and Configuring MQSeries Workflows . . . . . . . 77


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Working with MQSeries Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Entering a Filter Condition in the Session Properties . . . . . . . . . . . . . . . 79
Extracting Data in Real Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Message Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Configuring Transactional Consistency for Dynamic MQSeries
Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Pipeline Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Configuring Continuous Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Configuring a Session with an MQSeries Mapping . . . . . . . . . . . . . . . . . . . . 87
Scheduling Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Running Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Appendix A: XML Message Data Without Midstream XML


Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Reading XML Message Data Using an Associated Source Definition . . . . . . . 99
Importing an Associated Source Definition . . . . . . . . . . . . . . . . . . . . . . 99
Creating an Associated Source Qualifier for XML Message Data . . . . . . 100
Writing XML Message Data Using a Static MQSeries Target Definition . . . 101
Working with XML Message Data in Static MQSeries Targets . . . . . . . 102
Creating Static MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . 103

Appendix B: MQSeries Datatype Reference . . . . . . . . . . . . . . . . . . . 105


Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
MQSeries Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Native Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
MQHEX Datatype Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Appendix C: Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109


Using Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

vi Table of Contents
Appendix D: MQSeries Error Messages . . . . . . . . . . . . . . . . . . . . . . 111
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Designer Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Server Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
FR Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
MQ Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
REP Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
TE Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
TM Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
WRT Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
XMLW Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Table of Contents vii


viii Table of Contents
List of Figures
Figure 3-1. MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 29
Figure 3-2. Mapping with a VSAM Associated Source Definition . . . . . . . . . . . . . . . .. . .. . . 30
Figure 3-3. MQSeries Message and Source Definitions . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 31
Figure 3-4. Mapping with Midstream XML Parser Transformations . . . . . . . . . . . . . .. . .. . . 32
Figure 3-5. Midstream XML Parser Transformation with Pass-Through Port . . . . . . .. . .. . . 33
Figure 3-6. Associated Source Definition for Flat File Message Data . . . . . . . . . . . . .. . .. . . 36
Figure 3-7. Associated Source Definition for COBOL Message Data . . . . . . . . . . . . .. . .. . . 37
Figure 4-1. MQSeries Source Definition and MQ Source Qualifier . . . . . . . . . . . . . .. . .. . . 42
Figure 4-2. Multiple MQ Source Qualifiers in a Mapping . . . . . . . . . . . . . . . . . . . . .. . .. . . 43
Figure 4-3. Associated Source Qualifier (Flat File Source Qualifier) . . . . . . . . . . . . . .. . .. . . 46
Figure 4-4. Associated Source Qualifier (Normalizer Transformation) . . . . . . . . . . . .. . .. . . 47
Figure 4-5. Properties Tab in the Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 49
Figure 4-6. Destructive Read Option in the MQ Source Qualifier . . . . . . . . . . . . . . .. . .. . . 54
Figure 4-7. Filter Condition Combining MsgCount and RemoveMsg(TRUE) . . . . . . .. . .. . . 55
Figure 5-1. Dynamic MQSeries Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 67
Figure 5-2. Mapping with Midstream XML Generator Transformations . . . . . . . . . . .. . .. . . 69
Figure 5-3. Midstream XML Generator Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 70
Figure 5-4. Midstream XML Generator Transformation with Pass-Through Port . . . .. . .. . . 71
Figure 5-5. Mapping with a Static MQSeries Target . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 73
Figure 6-1. Filter Attribute on the Mapping Tab of the Session Properties . . . . . . . . .. . .. . . 80
Figure 6-2. Idle(n) Function Set to Run for One Year . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 82
Figure 6-3. Recovery Cache Folder in the Session Properties . . . . . . . . . . . . . . . . . . .. . .. . . 84
Figure A-1. Associated Source Definition for XML Message Data . . . . . . . . . . . . . . . .. . .. . . 99
Figure A-2. Mapping with a Static MQSeries Target . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 101
Figure A-3. XML Output Options for an XML Target Definition . . . . . . . . . . . . . . .. . .. . 102

List of Figures ix
x List of Figures
List of Tables
Table 1-1. MQSeries Message Header Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. 4
Table 2-1. Command Parameters for Defining the Server-Connection Channel . . . . . . . . .. . . 16
Table 2-2. Command Parameters for Defining the Client-Connection Channel . . . . . . . . .. . . 17
Table 2-3. System Environment Variable Names for Queue Connections on Windows . . . .. . . 18
Table 2-4. System Environment Variable Values for Queue Connections on Windows . . . .. . . 18
Table 4-1. Associated Source Qualifier Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 45
Table 4-2. Logical Operators for Filter Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 56
Table 4-3. Logical Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 57
Table 4-4. MQSeries Message Header Fields with Description and Datatype . . . . . . . . . . .. . . 58
Table 5-1. Values for Message Header Fields in MQSeries Target Messages . . . . . . . . . . . .. . . 68
Table 5-2. Target Definitions for Static MQSeries Targets . . . . . . . . . . . . . . . . . . . . . . . .. . . 73
Table 6-1. runmqlsr Command Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 95
Table B-1. MQSeries and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 107

List of Tables xi
xii List of Tables
Preface

Welcome to PowerCenter ® Connect, Informatica’s family of packaged software products that


helps you extract data and metadata from ERP and other third-party applications.

PowerCenter® Connect for IBM ® MQSeries ® is a natural extension to PowerCenter’s open


architecture, which supports data extraction from a wide variety of operational data sources.
PowerCenter Connect for IBM MQSeries allows you to directly extract data from message
queues and load data into message queues.
Using PowerCenter Connect for IBM MQSeries, you can extract data from message queues,
transform the data according to your business rules, and then deliver the data to data
warehouses or other message queues.

xiii
New Features and Enhancements
This section describes new features and enhancements to PowerCenter Connect for IBM
MQSeries 7.0, 7.1 and 7.1.1.

PowerCenter Connect for IBM MQSeries 7.1.1


PowerCenter Connect for IBM MQSeries 7.1.1 has the following new features and
enhancements:
♦ 64-bit support. You can now run PowerCenter Connect for IBM MQSeries for the
PowerCenter Server on 64-bit AIX.
♦ Support for SuSe Linux. You can now install PowerCenter Connect for MQSeries for the
PowerCenter Server and Repository Server on SuSe Linux.

PowerCenter Connect for IBM MQSeries 7.1


PowerCenter Connect for IBM MQSeries 7.1 has the following new features and
enhancements:
♦ Evaluate message header filter conditions. You can now evaluate message filter conditions
specified in a message header port.
♦ Message recovery. You can now enable message recovery for sessions that fail when reading
messages from an MQ Series source.
♦ Remove messages from the source queue during message recovery. You can now remove
messages from the source queue during message recovery.
♦ Support for Red Hat Linux. You can now install PowerCenter Connect for MQSeries for
the PowerCenter Server and Repository Server on Red Hat Linux.

PowerCenter Connect for IBM MQSeries 7.0


PowerCenter Connect for MQSeries 7.0 has the following new features and enhancements:
♦ Real-time processing enhancements. You can now use real-time processing in sessions that
also process active transformations, such as the Aggregator transformation. You can apply
the transformation logic to rows defined by transaction boundaries.

xiv Preface
About Informatica Documentation
The complete set of documentation for PowerCenter includes the following books:
♦ Data Profiling Guide. Provides information about how to profile PowerCenter sources to
evaluate source data and detect patterns and exceptions.
♦ Designer Guide. Provides information needed to use the Designer. Includes information to
help you create mappings, mapplets, and transformations. Also includes a description of
the transformation datatypes used to process and transform source data.
♦ Getting Started. Provides basic tutorials for getting started.
♦ Installation and Configuration Guide. Provides information needed to install and
configure the PowerCenter tools, including details on environment variables and database
connections.
♦ PowerCenter Connect® for JMS ® User and Administrator Guide. Provides information
to install PowerCenter Connect for JMS, build mappings, extract data from JMS messages,
and load data into JMS messages.
♦ Repository Guide. Provides information needed to administer the repository using the
Repository Manager or the pmrep command line program. Includes details on
functionality available in the Repository Manager and Administration Console, such as
creating and maintaining repositories, folders, users, groups, and permissions and
privileges.
♦ Transformation Language Reference. Provides syntax descriptions and examples for each
transformation function provided with PowerCenter.
♦ Transformation Guide. Provides information on how to create and configure each type of
transformation in the Designer.
♦ Troubleshooting Guide. Lists error messages that you might encounter while using
PowerCenter. Each error message includes one or more possible causes and actions that
you can take to correct the condition.
♦ Web Services Provider Guide. Provides information you need to install and configure the Web
Services Hub. This guide also provides information about how to use the web services that the
Web Services Hub hosts. The Web Services Hub hosts Real-time Web Services, Batch Web
Services, and Metadata Web Services.
♦ Workflow Administration Guide. Provides information to help you create and run
workflows in the Workflow Manager, as well as monitor workflows in the Workflow
Monitor. Also contains information on administering the PowerCenter Server and
performance tuning.
♦ XML User Guide. Provides information to create PowerCenter definitions from XML,
XSD, or DTD files, and relational or XML definitions. Includes information on running
sessions with XML data. Also includes details on using the Midstream XML
transformation to extract or generate XML within a pipeline.

Preface xv
Documentation available with our other products includes:

♦ Informatica® HIPAA Business Components User and Administrator Guide. Provides


information on how to install and configure HIPAA Business Components to read and
generate valid HIPAA transactions.
♦ Informatica® Metadata Exchange SDK User Guide. Provides information about the
second generation of Metadata Exchange interfaces for PowerCenter repositories.
♦ Metadata Exchange for Data Models User Guide. Provides information on how to extract
metadata from leading data modeling tools and import it into PowerCenter repositories
through Informatica Metadata Exchange SDK.
♦ Metadata Exchange for OLAP User Guide. Provides information on how to use export
multi-dimensional metadata from PowerCenter repositories into the Hyperion Integration
Server through Informatica Metadata Exchange SDK.
♦ Informatica PowerChannel ® User Guide. Provides information on how to transport
compressed and encrypted data through a secure channel.
♦ PowerCenter® Connect for IBM ® MQSeries® User and Administrator Guide. Provides
information to install PowerCenter Connect for IBM MQSeries, build mappings, extract
data from message queues, and load data to message queues.
♦ PowerCenter® Connect for MSMQ User and Administrator Guide. Provides information
to install PowerCenter Connect for MSMQ, build mappings, extract data from message
queues, and load data to message queues.
♦ PowerCenter® Connect for PeopleSoft® User and Administrator Guide. Provides
information to install PowerCenter Connect for PeopleSoft, extract data from PeopleSoft
systems, build mappings, and run workflows to load PeopleSoft source data into a
warehouse.
♦ PowerCenter® Connect for SAP® BW User and Administrator Guide. Provides
information to install and configure PowerCenter Connect for SAP BW to load source
data into an SAP Business Information Warehouse.
♦ PowerCenter® Connect for SAP® R/3® Analytic Business Components™ Guide. Provides
information on installing and working with Analytic Business Components for
PowerCenter Connect for SAP R/3, including descriptions of repository objects and how
you can use them to load a data warehouse.
♦ PowerCenter® Connect for SAP® R/3 ® User and Administrator Guide. Provides
information to install PowerCenter Connect for SAP R/3, build mappings, and run
workflows to extract data from SAP R/3 and load data into SAP R/3.
♦ PowerCenter® Connect for Siebel ® User and Administrator Guide. Provides information
to install PowerCenter Connect for Siebel, extract data from Siebel systems, build
mappings, and run workflows to load Siebel source data into a data warehouse.
♦ PowerCenter® Connect for TIBCO ™ User and Administrator Guide. Provides
information to install PowerCenter Connect for TIBCO, build mappings, extract data
from TIBCO messages, and load data into TIBCO messages.

xvi Preface
♦ PowerCenter® Connect for webMethods ™ User and Administrator Guide. Provides
information to install PowerCenter Connect for webMethods, build mappings, extract data
from webMethods documents, and load data into webMethods documents.
♦ PowerCenter® Connect for Web Services User and Administrator Guide. Provides
information to install PowerCenter Connect for Web Services, extract data from a web
service source, transform data using a web service, and load data into a web service target.
♦ PowerCenter® Connect Software Development Kit Developer Guide. Provides
information to install PowerCenter Connect SDK and build plug-ins to extract data from
third-party applications and load data into third-party applications.

Preface xvii
About this Book
The Informatica PowerCenter Connect for IBM MQSeries User and Administrator Guide
provides information to install PowerCenter Connect for IBM MQSeries, build mappings,
extract data from message queues, and load data into message queues. It is written for the
database administrators and developers who are responsible for extracting data from message
queues and loading data into data warehouses or message queues.
This book assumes you have knowledge of relational database concepts and the database
engines, PowerCenter, and the IBM MQSeries system. You should also be familiar with the
interface requirements for other supporting applications. For additional information about
related IBM MQSeries issues, refer to your IBM MQSeries documentation.
The material in this book is available in online help.

Document Conventions
This guide uses the following formatting conventions:

If you see… It means…

italicized text The word or set of words are especially emphasized.

boldfaced text Emphasized subjects.

italicized monospaced text This is the variable name for a value you enter as part of an
operating system command. This is generic text that should be
replaced with user-supplied values.

Note: The following paragraph provides additional facts.

Tip: The following paragraph provides suggested uses.

Warning: The following paragraph notes situations where you can overwrite
or corrupt data, unless you follow the specified procedure.

monospaced text This is a code example.

bold monospaced text This is an operating system command you enter from a prompt to
run a task.

xviii Preface
Other Informatica Resources
In addition to the product manuals, Informatica provides these other resources:
♦ Informatica Customer Portal
♦ Informatica Webzine
♦ Informatica web site
♦ Informatica Developer Network
♦ Informatica Technical Support

Visiting Informatica Customer Portal


As an Informatica customer, you can access the Informatica Customer Portal site at
http://my.informatica.com. The site contains product information, user group information,
newsletters, access to the Informatica customer support case management system (ATLAS),
the Informatica Knowledgebase, Informatica Webzine, and access to the Informatica user
community.

Visiting the Informatica Webzine


The Informatica Documentation team delivers an online journal, the Informatica Webzine.
This journal provides solutions to common tasks, detailed descriptions of specific features,
and tips and tricks to help you develop data warehouses.
The Informatica Webzine is a password-protected site that you can access through the
Customer Portal. The Customer Portal has an online registration form for login accounts to
its webzine and web support. To register for an account, go to http://my.informatica.com.
If you have any questions, please email [email protected].

Visiting the Informatica Web Site


You can access Informatica’s corporate web site at http://www.informatica.com. The site
contains information about Informatica, its background, upcoming events, and locating your
closest sales office. You will also find product information, as well as literature and partner
information. The services area of the site includes important information on technical
support, training and education, and implementation services.

Visiting the Informatica Developer Network


The Informatica Developer Network is a web-based forum for third-party software
developers. You can access the Informatica Developer Network at the following URL:
http://devnet.informatica.com

Preface xix
The site contains information on how to create, market, and support customer-oriented add-
on solutions based on Informatica’s interoperability interfaces.

Obtaining Technical Support


There are many ways to access Informatica technical support. You can call or email your
nearest Technical Support Center listed below or you can use our WebSupport Service.
WebSupport requires a user name and password. You can request a user name and password at
http://my.informatica.com

North America / South America Africa / Asia / Australia / Europe

Informatica Corporation Informatica Software Ltd.


2100 Seaport Blvd. 6 Waltham Park
Redwood City, CA 94063 Waltham Road, White Waltham
Phone: 866.563.6332 or 650.385.5800 Maidenhead, Berkshire
Fax: 650.213.9489 SL6 3TN
Hours: 6 a.m. - 6 p.m. (PST/PDT) Phone: 44 870 606 1525
email: [email protected] Fax: +44 1628 511 411
Hours: 9 a.m. - 5:30 p.m. (GMT)
email: [email protected]

Belgium
Phone: +32 15 281 702
Hours: 9 a.m. - 5:30 p.m. (local time)

France
Phone: +33 1 41 38 92 26
Hours: 9 a.m. - 5:30 p.m. (local time)

Germany
Phone: +49 1805 702 702
Hours: 9 a.m. - 5:30 p.m. (local time)

Netherlands
Phone: +31 306 082 089
Hours: 9 a.m. - 5:30 p.m. (local time)

Singapore
Phone: +65 322 8589
Hours: 9 a.m. - 5 p.m. (local time)

Switzerland
Phone: +41 800 81 80 70
Hours: 8 a.m. - 5 p.m. (local time)

xx Preface
Chapter 1

Understanding PowerCenter
Connect for IBM MQSeries

This chapter includes the following topics:


♦ Overview, 2
♦ MQSeries Architecture, 3
♦ MQSeries Sources and Targets, 6
♦ MQSeries Source Qualifier Transformations, 7
♦ MQSeries Data Extraction and Loading Process, 8

1
Overview
PowerCenter Connect for IBM MQSeries integration allows you to extract data from IBM
MQSeries message queues and load data into IBM MQSeries message queues.
Message queues are used in environments where applications communicate by sending each
other data in messages rather than calling each other directly. An application can request data
from another application by putting a request message on a message queue. The receiving
application retrieves the message from the queue, processes the request, and generates a reply
message on a message queue. A messaging and queueing architecture allows programs to run
independently of each other, at different speeds and times and in different locations without
having a logical connection between them.
Using PowerCenter Connect for IBM MQSeries integration, you can extract data from
messages in a queue, transform the data according to your business rules, and then load the
data to a target data warehouse or message queue.
This chapter provides an overview of the integration between PowerCenter and IBM
MQSeries. For more information about IBM MQSeries, see your IBM MQSeries
documentation.
When you use PowerCenter Connect for IBM MQSeries, you can use Lookup
transformations in an MQSeries mapping, but you cannot perform lookups on an MQSeries
source.

2 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries


MQSeries Architecture
IBM MQSeries is a messaging and queueing application that enables programs to
communicate with one another across heterogeneous platforms and network protocols using a
consistent application programming interface.
PowerCenter Connect for IBM MQSeries interacts with the following components of the
IBM MQSeries architecture during data extraction and loading:
♦ Queue manager
♦ Message queue
♦ MQSeries messages
For more information about IBM MQSeries architecture, see your IBM MQSeries
documentation.

Queue Manager
An application connects to a queue manager to send or receive messages through a message
queue. For example, PowerCenter Connect for IBM MQSeries uses a queue manager to read
source messages from a queue and write target messages to a queue. All message queues in an
MQSeries system belong to a queue manager. The queue manager provides functions to
administer queues, create new queues, or control the operation of the queue manager. For
more information about specifying a queue manager in PowerCenter Connect for IBM
MQSeries, see “Step 3. Configure Queue Connection Properties” on page 21.

Message Queue
A message queue is a destination to which messages can be sent. One program sends a message
to another by putting the message on a message queue. The message remains on the queue
until the receiving application retrieves it. For example, PowerCenter Connect for IBM
MQSeries reads source messages from a queue and writes target messages to a queue. The
queue can either be a volatile buffer area in the memory of a computer or a data set on a
permanent storage device set aside by the queue manager to hold messages.

MQSeries Messages
An MQSeries message is a collection of data that one program sends to another program. An
MQSeries message has the following components:
♦ Message header
♦ Message data

MQSeries Architecture 3
Message Header
The message header component contains data about the message on the queue. Message
header data includes message identification number, message format, and other message
descriptor data. In PowerCenter, MQSeries sources and dynamic MQSeries targets
automatically contain MQSeries message header fields. For more information about
MQSeries sources, see “Working with MQSeries Sources” on page 27. For more information
about MQSeries targets, see “Working with MQSeries Targets” on page 65.
Table 1-1 lists all the fields in the message header component of an IBM MQSeries message:

Table 1-1. MQSeries Message Header Fields

MQSeries Message Header Description

StrucId Structure identifier.

Version Structure version number.

Report Options for report messages.

MsgType Message type.

Expiry Message lifetime.

Feedback Feedback or reason code.

Encoding Data encoding.

CodedCharSetId Coded character set identifier.

Format Format name.

Priority Message priority.

Persistence Message persistence.

MsgId Message identifier.

CorrelId Correlation identifier.

BackoutCount Backout counter.

ReplytoQ Name of reply queue.

ReplytoQMgr Name of reply queue manager.

UserIdentifier User identifier.

AccountingToken Accounting token.

ApplIdentityData Application data relating to identity.

PutApplType Type of application that put the message on queue.

PutApplName Name of application that put the message on queue.

PutDate Date when message was put on queue.

PutTime Time when message was put on queue.

ApplOrigData Application data relating to origin.

4 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries


Table 1-1. MQSeries Message Header Fields

MQSeries Message Header Description

GroupId Group identifier.

MsgSeqNumber Sequence number of logical messages within group.

Offset Offset of data in physical message from start of logical message.

MsgFlags Message flags.

OriginalLength Length of original message.

Message Data
Message data is the application data or the contents of the message body. For example, if an
application sends a list of customer names to another application, the customer names
comprise the message data component of the message. The content and format of the message
data is defined by the application that uses the message queue. MQSeries does not enforce any
structure on the content and format of the message data. In PowerCenter, MQSeries sources
and dynamic MQSeries targets automatically contain an MQSeries message data field. For
more information about MQSeries sources, see “Working with MQSeries Sources” on
page 27. For more information about MQSeries targets, see “Working with MQSeries
Targets” on page 65.

MQSeries Architecture 5
MQSeries Sources and Targets
With PowerCenter Connect for IBM MQSeries, you can extract data from IBM MQSeries
message queues and write data to IBM MQSeries message queues.

MQSeries Sources
When you extract data from an MQSeries source, you extract data from the message header
and the message data components of an IBM MQSeries message. PowerCenter treats the
message header component as message header fields. The message header fields contain
information about the message on the queue. Using the message header data, you can filter
messages for extraction. For example, you can extract messages based on the format of the
message, or you can filter messages that originated from a particular application. For a list of
message header fields, see “Message Header” on page 4.
PowerCenter treats the message data component of a message as a field containing message
data. The PowerCenter Server can extract message data in the following formats:
♦ Flat file (fixed-width or delimited)
♦ XML
♦ COBOL
♦ Binary
For more information about MQSeries sources, see “Working with MQSeries Sources” on
page 27.

MQSeries Targets
The PowerCenter Server can load data to the message header and the message data fields of an
IBM MQSeries message. It can load message data to an MQSeries message in the following
formats:
♦ Flat file (fixed-width or delimited)
♦ XML
♦ COBOL
♦ Binary
For more information about MQSeries targets, see “Working with MQSeries Targets” on
page 65.

6 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries


MQSeries Source Qualifier Transformations
A source qualifier is a transformation object that determines how the PowerCenter Server
reads source data. An MQSeries message source may require two types of source qualifiers
depending on the format of the message data you are extracting:
♦ MQ Source Qualifier transformation
♦ Associated source qualifier transformation

MQ Source Qualifier Transformation


The MQ Source Qualifier allows you to extract data from an MQSeries source. It contains a
predefined set of ports representing all the message header fields and the message data field in
an MQSeries message. With an MQ Source Qualifier in the mapping, you can extract
message data from an MQSeries message in binary and XML format. If the source message
contains message data in flat file or COBOL format, you also need to use an associated source
qualifier in the mapping.

Associated Source Qualifier Transformation


The associated source qualifier transformation is specific to the format of the message data.
The PowerCenter Server requires an associated source qualifier to read message data in flat
file or COBOL format. For more information about MQ Source Qualifier and associated
source qualifier transformations, see “MQ Source Qualifier Transformation” on page 39.

MQSeries Source Qualifier Transformations 7


MQSeries Data Extraction and Loading Process
With PowerCenter Connect for IBM MQSeries integration, you can extract data from a
message queue and load data to a message queue. Use the following steps for data extraction
and loading:
1. Create a source definition.
2. Create a target definition.
3. Create a mapping.
4. Create a session.
5. Create and schedule a workflow.

Step 1. Create a Source Definition


Before creating a mapping to extract data from a message queue, you need to define the
MQSeries source in the repository. Create an MQSeries source definition in the Source
Analyzer for each message queue from which you extract data. The source definition
represents the metadata for the MQSeries source. The PowerCenter Server uses this metadata
to read the source data.
The MQSeries source definition contains a set of columns with predefined names
representing all the message header fields and the message data field in an MQSeries message.
If the message data in the MQSeries source is in flat file or COBOL format, you also need to
create an associated source definition for the message data. For more information about
MQSeries source definitions, see “Working with MQSeries Sources” on page 27.

Step 2. Create a Target Definition


Next, define the target in the Warehouse Designer. Targets store data that passes through the
mapping. Similar to the source definition, the target definition represents the metadata for
the target in the repository. To write data to a message queue target, you can use a flat file or
dynamic MQSeries target definition in the mapping. For more information about target
definitions in MQSeries mappings, see “Working with MQSeries Targets” on page 65.

Step 3. Create a Mapping


After you create the source and target definitions, create a mapping that the PowerCenter
Server uses to extract, transform, and load data from the source into the target. A mapping is
a set of source and target definitions connected by transformation objects that define the rules
for data transformation. For MQSeries mappings, you must use an MQ Source Qualifier to
extract data from a message queue. If the message data in the MQSeries source is in flat file or
COBOL format, you also need to use an associated source qualifier in the mapping. For more
information about MQ Source Qualifier and associated source qualifier transformations, see
“MQ Source Qualifier Transformation” on page 39.

8 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries


Step 4. Create a Session
After you create a mapping, create a session in the Workflow Manager to extract data from the
source and load data to the target. For mappings with an MQSeries source, you need to
configure queue connections for the source message queues. For mappings with an MQSeries
target, you need to configure connections for the target message queues.
When the PowerCenter Server runs a session for a mapping with an MQSeries source, it
connects to the source message queue, extracts the data from the messages on the queue based
on the mapping configurations, and loads the data to the target.
When the PowerCenter Server runs a session for a mapping with an MQSeries target, it
extracts data from the source, transforms it, and writes the data to an MQSeries message
queue.
To run a session, you must include the session in a workflow. For more information about
MQSeries sessions, see “Creating and Configuring MQSeries Workflows” on page 77.

Step 5. Create and Schedule a Workflow


Create and schedule an MQSeries workflow in the Workflow Manager to extract data from an
MQSeries source or write data to an MQSeries target. A workflow is a set of instructions that
tells the PowerCenter Server how to run workflow tasks such as sessions, email notifications,
scheduling, and shell commands. After you create tasks in the Task Developer and the
Workflow Designer, you connect the tasks with links to create a workflow.

MQSeries Data Extraction and Loading Process 9


10 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries
Chapter 2

Installation and Configuration

This chapter includes the following topics:


♦ Overview, 12
♦ Step 1. Install PowerCenter Connect for IBM MQSeries, 13
♦ Step 2. Configure Channels for Queue Managers, 16
♦ Step 3. Configure Queue Connection Properties, 21
♦ Step 4. Test Queue Connections, 23
♦ Uninstalling PowerCenter Connect for IBM MQSeries from Windows, 25

11
Overview
PowerCenter Connect for IBM MQSeries requires installation and configuration on
PowerCenter and IBM MQSeries. The administrators for each of these systems should
perform the installation and configuration tasks for their respective systems.

Before You Begin


Before you can install and configure PowerCenter Connect for IBM MQSeries, you must first
complete the following tasks:
♦ Install PowerCenter with the PowerCenter Real-time option. You must install or upgrade
to PowerCenter 7.1.1. You must also purchase the PowerCenter Real-time Option. For
more information about installing and configuring PowerCenter, see the PowerCenter
Installation and Configuration Guide.
♦ Install and configure IBM MQSeries. You must install and configure IBM MQSeries
client and server. Install an IBM MQSeries client or the IBM MQSeries server on the
machine hosting the PowerCenter Server. For more information about installing and
configuring IBM MQSeries, see your IBM MQSeries documentation.

Installing and Configuring PowerCenter Connect for IBM MQSeries


To install and configure PowerCenter Connect for IBM MQSeries, complete the following
steps:
1. Install PowerCenter Connect for IBM MQSeries. For more information, see “Step 1.
Install PowerCenter Connect for IBM MQSeries” on page 13.
2. Configure channels for a queue manager. For more information, see “Step 2. Configure
Channels for Queue Managers” on page 16.
3. Configure queue connection properties. For more information, see “Step 3. Configure
Queue Connection Properties” on page 21.
4. Test queue connections. For more information, see “Step 4. Test Queue Connections” on
page 23.
Note: Read the release notes for any changes to installation or connectivity.

12 Chapter 2: Installation and Configuration


Step 1. Install PowerCenter Connect for IBM MQSeries
When you install PowerCenter Connect for IBM MQSeries on PowerCenter, you need to run
setup programs for both the PowerCenter Server and Client. These programs install drivers
that enable integration between PowerCenter and IBM MQSeries.

Installing PowerCenter Connect for IBM MQSeries on the


PowerCenter Server on Windows
You can install PowerCenter Connect for IBM MQSeries for the PowerCenter Server on
Windows. Run the PowerCenter Connect installation from the machine hosting the
PowerCenter Server.

To install PowerCenter Connect for IBM MQSeries for the PowerCenter Server on
Windows:

1. Log on to the PowerCenter Server machine.


2. If the Informatica Welcome window does not start automatically, run Launch.exe from
the CD.
The Informatica Welcome window appears.
3. Click the PowerCenter Connect for Windows button.
A second Welcome window appears.
4. Click Next.
5. Select Informatica PowerCenter Connect for IBM MQSeries Server from the list. Click
Next.
6. Select the Informatica MQSeries server driver. Click Next.
7. Click Finish.

Installing PowerCenter Connect for IBM MQSeries on the


PowerCenter Server on UNIX or Linux
You can install PowerCenter Connect for IBM MQSeries for the PowerCenter Server on
UNIX or Linux. Run the PowerCenter Connect installation from the machine hosting the
PowerCenter Server.
When you install the PowerCenter Connect for IBM MQSeries Server on AIX, you also need
to set a system environment variable to set memory configuration for the PowerCenter Server.

To install PowerCenter Connect for IBM MQSeries for the PowerCenter Server on
UNIX or Linux:

1. Log on to the UNIX or Linux machine.

Step 1. Install PowerCenter Connect for IBM MQSeries 13


2. On the installation CD, locate the PowerCenter Connect directory.
3. Locate the directory specific to the platform.
4. Enter ./install to run the installation program.
5. Select the product you want to install.
6. Enter the directory where you want to install the driver.
7. Select the Informatica MQSeries client driver or the Informatica MQSeries server driver.
Select the Informatica MQSeries server driver if your IBM MQSeries server is installed
on a machine other than the one hosting the PowerCenter Server. Otherwise, select the
Informatica MQSeries client driver.

Setting a System Environment Variable to Run the PowerCenter Connect


for IBM MQSeries Server on AIX
When you install the PowerCenter Connect for IBM MQSeries Server on AIX, and you select
to install the MQSeries server driver, you need to set the memory address space layout to
allow the IPC segment to allocate memory for the PowerCenter Server.

To set memory address space for the IPC segment on the PowerCenter Server:

1. Set the LDR_CNTRL system environment variable to MAXDATA=0x60000000 for the


PowerCenter Server.
To set the LDR_CNTRL system environment variable to MAXDATA=0x60000000
using the C shell, enter the following command:
setenv LDR_CNTRL MAXDATA=0x60000000

To set the LDR_CNTRL system environment variable to MAXDATA=0x60000000


using the Bourne shell, enter the following command:
LDR_CNTRL = “MAXDATA=0x60000000”; export LDR_CNTRL

2. Stop the MQSeries queue manager.


3. Set the IPCBaseAddress address parameter in the mqs.ini file to reallocate system
memory for MQSeries.
4. Reallocate system memory for MQSeries by entering a value of 11 for the
IPCBaseAddress parameter in the mqs.ini file as in the following example:
IPCBaseAddress=11

14 Chapter 2: Installation and Configuration


Installing PowerCenter Connect for IBM MQSeries on the
PowerCenter Client
Run the PowerCenter Connect installation from the machine hosting the PowerCenter
Client.

To install PowerCenter Connect for IBM MQSeries on the PowerCenter Client:

1. Log on to the PowerCenter Client machine.


2. If the Informatica Welcome window does not start automatically, run Launch.exe from
the CD.
The Informatica Welcome window appears.
3. Click the PowerCenter Connect for Windows button.
A second Welcome window appears.
4. Click Next.
5. Select Informatica PowerCenter Connect for IBM MQSeries Client from the list. Click
Next.
The installation program points to the PowerCenter Client directory for the client
installation.
6. Click Next.
7. Click Finish.

Step 1. Install PowerCenter Connect for IBM MQSeries 15


Step 2. Configure Channels for Queue Managers
Before you can run PowerCenter sessions with MQSeries sources and targets, you must
configure channels for an MQSeries queue manager. To configure MQSeries, perform the
following tasks:
1. Configure a server-connection channel for an MQSeries queue manager.
The connection channel enables the MQSeries server to receive MQSeries client
connections for that queue manager.
2. If you want to connect to more than one queue manager during the PowerCenter session,
you must also configure a client-connection channel.
3. Once you configure the connection channels, you must set system environment variables
for the MQSeries client.

Creating an MQSeries Server-Connection Channel


Use the following procedure to establish a server-connection channel for the MQSeries server
and client on Windows, UNIX, or Linux.

To create an MQSeries server-connection channel:

1. Start the queue manager for which you want to establish the server-connection channel
by entering strmqm from the command line.
2. Start MQSeries commands by entering runmqsc from the command line.
3. Enter the following command to create the server-connection channel:
DEFINE CHANNEL (<channel_name>) CHLTYPE (<channel_type>) TRPTYPE
(<transmission_protocol>) MCAUSER ('<MCA_User_ID>')

Table 2-1 describes the command parameters for defining the server-connection channel:

Table 2-1. Command Parameters for Defining the Server-Connection Channel

Required/
Option Argument Description
Optional

DEFINE CHANNEL Required channel_name Enter a new name for the channel.

CHLTYPE Required channel_type Enter SVRCONN for the channel type.

TRPTYPE Required transmission_protocol Enter TCP for the transmission protocol.

MCAUSER Required MCA_User_ID Enter a space surrounded by single quotes for the
MCA user ID. For example, enter the following for
MCA user ID:
MCAUSER (' ')

The following MQSeries message displays:


AMQ8014: MQSeries channel created.

16 Chapter 2: Installation and Configuration


4. Stop MQSeries commands by entering end from the command line.

Creating a Client-Connection Channel


If you want to allow the PowerCenter Server to connect to multiple queue managers during a
session, you must create a client-connection channel.

To create a client-connection channel:

1. Start MQSeries commands by entering runmqsc from the command line.


2. Enter the following command to create the client-connection channel:
DEFINE CHANNEL (<channel_name>) CHLTYPE (<channel_type>)
CONNAME (<MQSeries_server_IP_address>) QMNAME (<queue_manager_name>)

Table 2-2 describes the command parameters for defining the client-connection channel:

Table 2-2. Command Parameters for Defining the Client-Connection Channel

Required/
Option Argument Description
Optional

DEFINE CHANNEL Required channel_name Enter a new name for the channel.

CHLTYPE Required channel_type Enter CLNTCONN for the channel type.

CONNAME Required MQSeries_server_IP_address Enter the IP address of the machine


hosting the MQSeries server.

QMNAME Required queue_manager_name Enter the queue manager name.

The following MQSeries message displays:


AMQ8014: MQSeries channel created.

3. Repeat step 2 for each queue manager you want to connect to during a PowerCenter
session.

Setting System Environment Variables for Queue Connections


The PowerCenter Server uses MQSeries system environment variables to connect to source
and target message queues when it runs a session. You must set the system environment
variables on the system running the PowerCenter Server before you can run sessions with
message queue sources or targets.
You can configure the PowerCenter Server to connect to message queues in the following
ways:
♦ Use the MQSERVER system environment variable. When you set the MQSERVER
environment variable, the PowerCenter Server can connect to one queue manager only. Set
this variable when the source and target message queues associated with the sessions are
administered by the same queue manager.

Step 2. Configure Channels for Queue Managers 17


♦ Use a channel table file. You can set the MQCHLLIB and the MQCHLTAB system
environment variables to allow the PowerCenter Server to connect to multiple queue
managers for data extraction and loading. When you set the system environment variables
to use a channel table file, you must also create a client-connection channel.
If you configure both options, the MQSERVER system environment variable overrides the
channel table file. For more information about setting MQSeries system environment
variables, contact your IBM MQSeries administrator or see the relevant IBM MQSeries
documentation.

Setting System Environment Variables on Windows


If the PowerCenter Server is running on Windows, use the following procedure to set the
system environment variables.

To set the system environment variables on Windows:

1. Log on as a user with Administrator rights.


2. Create the desired system environment variable:

Table 2-3. System Environment Variable Names for Queue Connections on Windows

To Connect to a Message Queue Using Variable Name

MQServer MQSERVER

Channel table MQCHLLIB


MQCHLTAB

Note: To use a channel table, you need to set two variables. Repeat steps 2 to 4 to enter
the variables one at a time.
3. In the Value field, enter the value for the variable:

Table 2-4. System Environment Variable Values for Queue Connections on Windows

Connection
Value Description
Type

MQServer Enter the connection properties of the queue manager the PowerCenter Server connects to in
the following format:
<Channel Name>\Protocol\<Connection Name>
where the channel name is the name of the server-connection channel you set, TCP is the
transport type, and connection name is the hostname and port number of the machine hosting
the queue manager.

For example, you can enter:


MQ_cseversonpc\TCP\cseversonpc(1414)

Channel table For MQCHLLIB, enter the absolute path to the amqclchl.tab table. For example you can enter
the following path:
c:\ProgramFiles\MQSeries\QMgrs\QM_cserversonpc.Informatica.com\@IPCC

For MQCHLTAB, enter amqclchl.tab

18 Chapter 2: Installation and Configuration


4. Click OK.
5. Then click OK again.

Setting System Environment Variables on UNIX or Linux


When you set the system environment variable on UNIX or Linux, you enter a the name of
the server-connection channel you set. You also enter “TCP” for the transport type and the
hostname and port number of the machine hosting the queue manager.

To set the system environment variables on UNIX or Linux:

1. Log on to the UNIX or Linux machine.


2. Set the system environment variables using a UNIX or Linux shell.
When you use a channel table, you must set a system environment variable for
MQCHLLIB and MQCHLTAB.
Use the following guidelines to set the system environment variable using the C shell:

System
C Shell
Variable

MQSERVER setenv MQSERVER <channel_name>/<transport_type>/<connection_


name>

For example:
setenv MQSERVER S_s153664/TCP/192.168.40.64(1414)

MQCHLLIB setenv MQCHLLIB <path_to_amqclchl.tab>

For example:
setenv MQCHLLIB /user/channel

MQCHLTAB setenv MQCHLTAB <channel_table_filename>

For example:
setenv MQCHLTAB amqclchl.tab

Step 2. Configure Channels for Queue Managers 19


Use the following guidelines to set the system environment variable using the Bourne
shell:

System
Bourne Shell
Variable

MQSERVER MQSERVER = <channel_name>/<transport_type>/<connection_name>;


export MQSERVER

For example:
MQSERVER = S_s153664/TCP/ 192.168.40.64(1414); export MQSERVER

MQCHLLIB MQCHLLIB = <path_to_amqclchl.tab>; export MQCHLLIB

For example:
MQCHLLIB = /user/channel; export MQCHLLIB

MQCHLTAB MQCHLTAB = <channel_table_filename>; export MQCHLTAB

For example:
MQCHLTAB = amqclchl.tab; export MQCHLTAB

20 Chapter 2: Installation and Configuration


Step 3. Configure Queue Connection Properties
Before the PowerCenter Server can extract data from an MQSeries source or load data to an
MQSeries target, you must configure the queue connection for the source or target queue in
the Workflow Manager. The queue connection you set in the Workflow Manager is saved in
the repository.

To configure queue connections:

1. In the Workflow Manager, connect to a repository.


2. Choose Connections-Queue.
The Queue Connection Browser appears.

3. Click New.
The Select Subtype dialog box appears.

4. Select Message Queue as the subtype and click OK.

Step 3. Configure Queue Connection Properties 21


The Connection Object Definition dialog box appears.

5. Enter the following information:

Queue Connection Attributes Description

Name Enter the name you want to use for this connection.

Queue Manager Enter the name of the queue manager for the message queue.

Queue Name Enter the name of the message queue.

6. Click OK.
The new queue connection appears in the Message Queue connection list.
7. To add more connections, repeat steps 3 to 6.
8. To edit or delete queue connection, select the queue connection from the list and click
the appropriate button.

22 Chapter 2: Installation and Configuration


Step 4. Test Queue Connections
Before you use PowerCenter Connect for IBM MQSeries to extract data from message queues
or load data to message queues, you should test the queue connections configured in the
Workflow Manager. If the connections are not valid, the PowerCenter Server cannot connect
to the source or target message queues at run time. You can test queue connections by using
IBM MQ tools provided with the IBM MQ Server.

Testing a Queue Connection on Windows


Use the following procedure to test a queue connection on Windows.

To test a queue connection on Windows:

1. From the command prompt of the MQSeries server machine, go to the <mqseries>\bin
directory.
2. Use the amqsputc command to test the connection for the queue.
Note: The amqsputc command puts a new message on the queue. If you test the
connection to a queue in a production environment, make sure you terminate the
command to avoid writing a message to a production queue.
For example, to test the connection to the queue “production,” which is administered by
the queue manager “QM_s153664.informatica.com,” enter the following command:
amqsputc production QM_s153664.informatica.com

If the connection is valid, the command returns a connection acknowledgment. If the


connection is not valid, it returns an MQSeries error message.
3. If the connection is successful, press Ctrl+C at the prompt to terminate the connection
and the amqsputc command.

Testing a Queue Connection on UNIX or Linux


Use the following procedure to test a queue connection on UNIX or Linux.

To test a queue connection on UNIX or Linux:

1. On the MQSeries Server system, go to the <mqseries>/samp/bin directory.


2. Use the amqsputc command to test the connection of the queue.
Note: The amqsputc command puts a new message on the queue. If you are testing the
connection to a queue in a production environment, make sure you terminate the
command to avoid writing a message to a production queue.
For example, to test the connection to the queue “production,” which is administered by
the queue manager “QM_s153664.informatica.com,” enter the following command:
amqsputc production QM_s153664.informatica.com

Step 4. Test Queue Connections 23


If the connection is valid, the command returns a connection acknowledgment. If the
connection is not valid, it returns an MQSeries error message.
3. If the connection is successful, press Ctrl+C at the prompt to terminate the connection
and the amqsputc command.

24 Chapter 2: Installation and Configuration


Uninstalling PowerCenter Connect for IBM MQSeries
from Windows
You can uninstall PowerCenter Connect for IBM MQSeries from Windows. When you
uninstall PowerCenter Connect for IBM MQSeries, you can uninstall the Client and Server
components.

To uninstall PowerCenter Connect for IBM MQSeries:

1. Run Add/Remove Programs from the Windows Control Panel.


2. Select Informatica PowerCenter Connect 7.1.1.
3. Click Change/Remove.
4. Click Modify.
5. Expand the Informatica PowerCenter Connect 7.1.1 for IBM MQSeries components.
6. Clear the components that you want to uninstall.
7. Click Next.
8. Verify the Components to be Uninstalled list and click Next.
9. Click Finish.

Uninstalling PowerCenter Connect for IBM MQSeries from Windows 25


26 Chapter 2: Installation and Configuration
Chapter 3

Working with MQSeries


Sources
This chapter includes the following topics:
♦ Overview, 28
♦ Working with an MQSeries Source Definition, 29
♦ Working with an Associated Source Definition, 36

27
Overview
Before you extract data from an MQSeries source, you need to define the metadata for the
source in the repository. The metadata that defines a source is called the source definition.
PowerCenter uses the source definition in a mapping to extract data from the source.
When you extract data from an MQSeries source, you extract data from messages in an
MQSeries message queue. Similar to relational sources, an MQSeries source contains data in a
number of fields. There are 29 message header fields in an MQSeries message and one
message data field. The message header fields contain information about the message. The
message data field contains the actual message. The message data can be one or more rows of
data in binary, flat file, COBOL, or XML format. The message data format determines the
types of source definitions you need to use in the mapping. For a complete list of message
header fields, see “Message Header” on page 4.
For MQSeries sources, you can use the following types of source definitions in a mapping:
♦ MQSeries source definition
♦ Associated source definition

MQSeries Source Definition


When you extract data from an MQSeries source, you must use an MQSeries source
definition in the mapping. The MQSeries source definition defines all the message header
fields and the message data field in an MQSeries message. If the MQSeries source contains
message data in binary or XML format, use the MQSeries source definition in the mapping to
extract and transform the message data.

Associated Source Definition


The associated source definition is specific to the format of the message data and defines the
message data field in the MQSeries message. The associated source definition can be a flat file
or VSAM source definition. If the MQSeries source contains message data in flat file or
COBOL format, you need to use an associated source definition with the MQSeries source
definition to extract and transform the message data. For example, if the MQSeries source
contains message data in flat file format, you need an MQSeries source definition for the
MQSeries source and a flat file source definition as the associated source. You join the
MQSeries source with the associated source in the MQ Source Qualifier.
For more information about flat file and VSAM sources, see the PowerCenter Designer Guide.
For more information about the MQ Source Qualifier transformation, see “MQ Source
Qualifier Transformation” on page 39.

28 Chapter 3: Working with MQSeries Sources


Working with an MQSeries Source Definition
The MQSeries source definition represents the metadata for the MQSeries source in the
repository. Unlike other source definitions, you do not create an MQSeries source definition
by importing the metadata from the MQSeries source. Since all MQSeries messages contain
the same message header and message data fields, the Designer provides an MQSeries source
definition with predefined column names to use in all MQSeries mappings.
When you create an MQSeries source definition, the Designer displays a table with all the
message header fields and the message data field from an MQSeries message. The datatypes
for all the fields appear in MQSeries specific datatypes. When the PowerCenter Server extracts
data from the MQSeries source, it converts the data from the MQSeries datatypes to the
transformation datatypes. When the PowerCenter Server writes data to a target table, it
converts the data based on the native datatypes in the target table.

Message Header Fields


There are 29 message header fields in an MQSeries source. Message header fields include
MsgId, Format, PutTime, PutDate, and several other message descriptor fields. For a
complete list of message header fields, see “Message Header” on page 4.
Figure 3-1 shows an MQSeries source definition with all the message header fields and the
message data field:

Figure 3-1. MQSeries Source Definition

Message
Header
Fields

MsgId is the Primary


Key in an MQSeries
source.

Message
Data Field

Working with an MQSeries Source Definition 29


The MsgId field is a primary key field in the MQSeries source definition. The MsgId field
contains the message identification for a message and uniquely identifies one message from
another within a message queue. When you use an associated source definition in the
mapping to define the message data, the Designer uses the MsgId port from the header fields
to associate the MQSeries source with the message data. This association occurs in the MQ
Source Qualifier.
Figure 3-2 shows a mapping in which the MQSeries source definition is associated with a
VSAM source definition representing the message data:

Figure 3-2. Mapping with a VSAM Associated Source Definition


MQSeries Source Definition

MQ Source Qualifier

Relational Target Definition

Associated Source Definition


(VSAM)
Associated Source Qualifier (Normalizer)

When you pass the message header fields through an MQ Source Qualifier, you can also use
the message header fields to filter messages that PowerCenter reads from the message queue.
For example, a message queue may contain messages from several applications or messages in
several formats. You can create a filter condition in the MQ Source Qualifier that allows the
PowerCenter Server to only read messages from a particular application and messages of a
particular format. For more information about associating an MQSeries source with an
associated source, and setting filter conditions, see “MQ Source Qualifier Transformation” on
page 39.

Message Data Field


The message data field in the MQSeries source definition defines the message data in the
MQSeries message. The message data field contains one or more rows of message data that
one program sends to another program through a message queue. Note that the message data
field in Figure 3-1 on page 29 has an MQ-specific datatype. When the PowerCenter Server
extracts data from the message data field in an MQSeries source, it treats the message data as
binary data, unless you define the message data with an associated source definition in the

30 Chapter 3: Working with MQSeries Sources


mapping or use a Midstream XML Parser transformation. For more information about
reading XML data, see “Reading XML Message Data from an MQSeries Source” on page 31.
The PowerCenter Server treats the message data differently depending on the format of the
message data. When the message data is binary, the PowerCenter Server does not transform
the message data. If the message data is in flat file or COBOL format, you define the message
data in the repository using an associated source definition in the mapping. If the message
data is in XML format, you include a Midstream XML Parser transformation in the mapping.
When you use an associated source definition or Midstream XML Parser transformation in a
mapping, the PowerCenter Server extracts data from the MQSeries source, transforms the
message data, and then writes the output to a target.
Figure 3-3 displays an MQSeries source that contains message data in flat file format:

Figure 3-3. MQSeries Message and Source Definitions

MQSeries Message MQSeries Source Definition

MsgId
CorrelId
Message BackoutCount
Header
ReplyToQ
ReplyToQMgr

LAST_NAME
FIRST_NAME
Message
Data ADDRESS
(Flat File Data) CITY
STATE
ZIP

Associated Source Definition (Flat File)

There are two source definitions in the illustration: an MQSeries source definition and an
associated source definition. The associated source definition contains the metadata for the
message data field. Since the message data is in flat file format, the associated source
definition is a flat file source definition.

Reading XML Message Data from an MQSeries Source


When an MQSeries source includes XML message data, you can use the Midstream XML
Parser transformation to read the data from the MQSeries source and parse the data into one
or more targets. The Midstream XML Parser transformation speeds processing by parsing data
in the pipeline through the transformation rather than in the target at the end of file.
Use the Midstream XML Parser transformation with an MQSeries source definition instead of
an associated source definition. If you have a mapping to read XML message data using an
associated source definition, see “XML Message Data Without Midstream XML
Transformations” on page 97.

Working with an MQSeries Source Definition 31


Figure 3-4 shows a mapping with a Midstream XML Parser transformation:

Figure 3-4. Mapping with Midstream XML Parser Transformations

When you create a Midstream XML Parser transformation, you use the XML Wizard and
XML Editor to define the XML groups. For more information about creating Midstream
XML Parser transformations, see the PowerCenter XML User Guide.

Creating a Pass-Through Ports


If you want to pass the message ID of the MQSeries message from the source to the target,
you can create pass-through ports in the Midstream XML Parser transformation. You can use
message ID data to correlate input and output messages for requests and replies.
MQ message ID data entered in the new input port passes through to the corresponding
reference output port to the target. The reference output port passes the data directly to the
target table.

32 Chapter 3: Working with MQSeries Sources


Figure 3-5 shows a mapping with a Message_ID port added as a pass-through port in the
Midstream XML Parser transformation:

Figure 3-5. Midstream XML Parser Transformation with Pass-Through Port

This example shows the Message_ID port in the MQ Source Qualifier linked to the
Message_ID pass-through port in the Midstream XML Parser transformation. The Midstream
XML Parser transformation passes the data through the reference output port COL0 and to
the ID port in the target table.
For more information about creating pass-through ports for a Midstream XML Parser
transformation, see the PowerCenter XML User Guide. For information about writing XML
data, see “Writing XML Message Data” on page 69.

Creating an MQSeries Source Definition


You create an MQSeries source definition in the Designer. Unlike creating a relational source
definition, you do not connect to a data source to import the metadata for the MQSeries
source. You can create an MQSeries source definition in the Source Analyzer. When you
configure sessions in the Workflow Manager, you enter the queue connection information for
the MQSeries source.

To create an MQSeries source definition:

1. In the Source Analyzer, select Sources-Create from the menu.

Working with an MQSeries Source Definition 33


2. In the Create Source dialog box, enter a name for the source definition and select
MQSeries as the Database type.

3. Click Done.
The Designer displays an MQSeries source definition in the Source Analyzer workspace
with a predefined set of message header fields and one message data field.
4. Choose Repository-Save.

Editing an MQSeries Source Definition


After creating the MQSeries source definition, you can edit some of the source definition
properties.

To edit an MQSeries source definition:

1. In the Source Analyzer, double-click the title bar of the source definition.

34 Chapter 3: Working with MQSeries Sources


2. On the Table tab, optionally edit the following settings:

Source Settings Description

Owner Name Enter the name of message queue.

Description Enter a description of the message source.

3. Click the Columns tab.


The Columns tab lists all the message header ports and the message data port with their
datatype, precision, and scale.

4. Optionally edit the Datatype and Precision of the columns in the source definition.
Note: If the mapping that contains the source definition also contains an associated source
definition, the datatype for the column MsgId must be MQBYTE.
5. Click OK.

Working with an MQSeries Source Definition 35


Working with an Associated Source Definition
The associated source definition in an MQSeries mapping represents the metadata for the
message data in an MQSeries source. You import the following types of associated source
definitions to define the message data in an MQSeries mapping:
♦ Flat file source definition
♦ VSAM source definition
Note: If your mapping contains an associated source definition for an XML source, see “XML
Message Data Without Midstream XML Transformations” on page 97.

Importing an Associated Source Definition


You define the associated source definition in the Designer by importing a source definition
that matches the format and structure of the message data in the MQSeries source. For
example, if the message data is in flat file format, you import a flat file source definition from
a flat file located in a directory local to the PowerCenter Client and Server machines. The
structure of the flat file must exactly define the message data in the MQSeries source. Based
on the format and structure of the flat file you use, the Designer imports a source definition
for the message data in the MQSeries source.
Figure 3-6 shows an MQSeries mapping with a flat file associated source definition:

Figure 3-6. Associated Source Definition for Flat File Message Data
MQ Source Qualifier

MQSeries Source
Definition

Associated Source Definition Associated Source Qualifier


(Flat File)

Relational
Target

If the message data in the MQSeries source is in COBOL format, you import a VSAM source
definition from a COBOL file that exactly matches the message data in the MQSeries source.

36 Chapter 3: Working with MQSeries Sources


Figure 3-7 shows an MQSeries mapping with a VSAM source definition as the associated
source definition:

Figure 3-7. Associated Source Definition for COBOL Message Data


MQSeries MQ Source
Source Definition Qualifier

Associated Source Definition (VSAM)

Relational
Target

Normalizer

Note: The PowerCenter Client does not validate the structure of the message data in the
MQSeries source definition. If the source definition does not exactly match the actual
MQSeries source, the session fails.

To import an associated source definition:

1. In the Source Analyzer, click Sources.


2. Depending on the format of the message data in the MQSeries source, select the
appropriate Import from option:
♦ Import from File
♦ Import from COBOL File
3. The wizard prompts you for the necessary file properties of the associated source
definition.
For more information about flat file and VSAM sources, see the PowerCenter Designer Guide.

Working with an Associated Source Definition 37


38 Chapter 3: Working with MQSeries Sources
Chapter 4

MQ Source Qualifier
Transformation
This chapter includes the following topics:
♦ Overview, 40
♦ Working with an MQ Source Qualifier Transformation, 42
♦ Working with an Associated Source Qualifier Transformation, 45
♦ Filtering Messages from the Source Queue, 48
♦ Entering a Filter Condition in the MQ Source Qualifier, 56
♦ Creating an MQ Source Qualifier, 61
♦ Creating an Associated Source Qualifier, 64

39
Overview
In MQSeries mappings, the PowerCenter Server uses an MQ Source Qualifier transformation
to determine how the PowerCenter Server reads data from an MQSeries message queue. If
you extract message data from the MQSeries source in flat file or COBOL format, the
PowerCenter Server uses an associated source qualifier transformation to read the message
data.
When you run a workflow, the PowerCenter Server reads messages from the queue based on
the source qualifier connected ports, transformation properties, and the relationship between
connected and associated source definitions.
Depending on the type of data you want to extract from an MQSeries source, you use one or
both of the following source qualifier transformations in MQSeries mappings:
♦ MQ Source Qualifier transformation
♦ Associated source qualifier transformation

MQ Source Qualifier Transformation


You must use an MQ Source Qualifier to read data from an MQSeries source. The MQ
Source Qualifier allows the PowerCenter Server to read all the message header fields and the
message data field in an MQSeries message.
You can use an MQ Source Qualifier to perform the following tasks:
♦ Set the message data size. You can set the size of the message data in the
MESSAGE_DATA field of the MQ Source Qualifier if the message data is in binary
format.
♦ Filter data. You can instruct the PowerCenter Server to read only particular messages from
the source queue based on filter conditions you set.
♦ Control queue clean-up. You can instruct the PowerCenter Server to evaluate filter
conditions in the message header fields and remove messages from the source queue.
♦ Set the tracing level. PowerCenter creates a session log file for each session it runs. The
amount of detail in the session log file depends on the tracing level that you set.
♦ Select an associated source qualifier transformation. Use an associated source qualifier to
describe the format of the message data. You can select the source qualifier for the message
data to associate with the MQ Source Qualifier.
♦ Use mapping parameters and variables. You can use mapping parameters and variables in
the source filter of the MQ Source Qualifier. For more information about mapping
parameters and variables, see the PowerCenter Designer Guide.

Associated Source Qualifier Transformation


The associated source qualifier is a Source Qualifier transformation specific to the format of
the message data in the MQSeries source. It determines how the PowerCenter Server reads the

40 Chapter 4: MQ Source Qualifier Transformation


message data. You must use an associated source qualifier or Normalizer transformation in the
mapping if the message data is in flat file or COBOL format.
Note: If you have an Associated Qualifier for an XML source, see “Creating an Associated
Source Qualifier for XML Message Data” on page 100.

Transformation Datatypes
The transformation datatypes in the Source Qualifier are internal datatypes based on ANSI
SQL-92 generic datatypes, which PowerCenter uses to move data across platforms. When the
PowerCenter Server reads data from an MQSeries source, it converts the data from its native
datatype to the transformation datatype. When you run a workflow, the PowerCenter Server
performs transformations based on the transformation datatypes. When writing data to a
target table, the PowerCenter Server converts the data based on the native datatypes in the
target table.
The transformation datatype for all ports in the MQ Source Qualifier are predefined. You
cannot change the datatype for any of the fields in the MQ Source Qualifier. For more
information about transformation datatypes, see “MQSeries Datatype Reference” on
page 105.

Overview 41
Working with an MQ Source Qualifier Transformation
You must use an MQ Source Qualifier to extract data from an MQSeries source. Similar to
the MQSeries source definition, the MQ Source Qualifier is predefined. The MQ Source
Qualifier allows the PowerCenter Server to read all the message header fields and the message
data field from an MQSeries message.
When you add an MQSeries source definition to a mapping, the Designer creates an MQ
Source Qualifier in the Mapping Designer workspace, connecting each port on the MQSeries
source definition to a corresponding port in the MQ Source Qualifier.
Figure 4-1 displays an MQSeries source definition connected to an MQ Source Qualifier:

Figure 4-1. MQSeries Source Definition and MQ Source Qualifier

The connection from each source column in the MQSeries source definition to the
corresponding input port in the MQ Source Qualifier is predefined. PowerCenter reads data
from all the message header fields in an MQSeries message. You cannot delete any of the
connections.
To extract data from multiple MQSeries message queues, you must have an MQ Source
Qualifier for each message queue source in the mapping. The settings in each MQ Source
Qualifier determine how the PowerCenter Server reads data from each message queue.

42 Chapter 4: MQ Source Qualifier Transformation


Figure 4-2 shows a mapping with two MQ Source Qualifiers:

Figure 4-2. Multiple MQ Source Qualifiers in a Mapping


MQSeries
Source A

MQ Source Qualifier
for Source A

MQSeries
Source B
Target C

MQ Source
Target D
Qualifier for
Source B

Note that each MQSeries source is connected to a separate MQ Source Qualifier. Unlike
other source qualifiers, you cannot join two sources using an MQ Source Qualifier in a
mapping.

Message Header Fields


The message header fields in an MQSeries message provide information about the message
data. In the MQ Source Qualifier, you can use the message header fields to select which
messages you want the PowerCenter Server to read from the message queue.
For example, you can instruct the PowerCenter Server to only read messages of a particular
priority or messages that originate from a particular application. The MQ Source Qualifier
allows you to set filter conditions based on the message header fields in a message. For more
information about setting filter conditions, see “Entering a Filter Condition in the MQ
Source Qualifier” on page 56.
To evaluate filter conditions in the message header fields, select the Destructive Read option.
For more information about using Destructive Read to clean up source queues, see
“Controlling Queue Clean-up” on page 53.

Message Data Field


The message data field in an MQSeries message contains the actual message data. You can use
the MQ Source Qualifier to select how the PowerCenter Server reads the message data. The
PowerCenter Server can read the message data as binary or XML data, or it can read the
message as a flat file or COBOL source.
If you do not use an associated source qualifier or a Midstream XML Parser transformation in
the mapping, the PowerCenter Server reads the data in the message data field as binary data.

Working with an MQ Source Qualifier Transformation 43


In Figure 4-1 on page 42, note that the message data field in the MQ Source Qualifier is
binary. The PowerCenter Server can read binary data from the message data field up to 100
MB.
Note: When you load message data from an MQSeries source in binary format, you cannot
transform the data. You can only pass the data to a target.
If the message data you want to load from the MQSeries source is in XML format, you need
to configure a Midstream XML Parser transformation to pass the data to one or more targets.
For more information about the Midstream XML transformations, see “Reading XML
Message Data from an MQSeries Source” on page 31.
If the message data you want to load from the MQSeries source is in flat file or COBOL
format, you need to configure the MQ Source Qualifier to pass the message data through an
associated source qualifier in the mapping. When you use an associated source qualifier in the
mapping for the message data, the PowerCenter Server reads the message data based on the
configurations of the associated source qualifier. For more information about associated
source qualifier transformations, see “Working with an Associated Source Qualifier
Transformation” on page 45.

44 Chapter 4: MQ Source Qualifier Transformation


Working with an Associated Source Qualifier
Transformation
Use an associated source qualifier in a mapping when the message data in the MQSeries
source is in flat file or COBOL format. Without the associated source qualifier, the MQ
Source Qualifier treats the message data as binary data. If you want to transform the message
data, you must pass the message data through an associated source qualifier. The associated
source qualifier is specific to the format of the message data. It determines how the
PowerCenter Server reads the message data from the MQSeries source.
Table 4-1 lists the two types of associated source qualifiers you can use in an MQ Series
mapping and the corresponding message data format:

Table 4-1. Associated Source Qualifier Types

Message Data Format Associated Source Qualifier

Flat file Source Qualifier transformation

COBOL Normalizer transformation

When you add an associated source qualifier to a mapping, you need to associate it with an
MQ Source Qualifier. The association allows the PowerCenter Server to extract the message
data from the MQSeries source based on the transformation settings in the associated source
qualifier. For example, if the message data in the MQSeries source is in flat file format, you
use a flat file Source Qualifier to read the message data.
Note: If your mapping contains an associated source qualifier for XML data, see “XML
Message Data Without Midstream XML Transformations” on page 97.

Working with an Associated Source Qualifier Transformation 45


Figure 4-3 shows how an MQ Source Qualifier associates with a Source Qualifier for a flat file
source definition:

Figure 4-3. Associated Source Qualifier (Flat File Source Qualifier)


MQ Source Qualifier

MQ Source
Definition

Associated Source
Qualifier (Flat File)
Associated
Source Definition
Flat File

When you associate an MQ Source Qualifier with a Source Qualifier for a flat file source
definition, the Designer creates a MsgId port in the Source Qualifier with the same datatype
and precision as the MsgId port in the MQ Source Qualifier. It links the MsgId ports in the
MQ Source Qualifier and the Source Qualifier for the flat file source definition in the
mapping. The association through the MsgId preserves the relationship between the header
data and the message data in the MQSeries source. It allows the PowerCenter Server to
correlate the messages in the queue with their message data.
When you run a session, the PowerCenter Server reads the messages from the MQSeries
source based on the settings of the MQ Source Qualifier. For each message that it reads, it also
reads the message data according to the configurations of the Source Qualifier for the flat file
source definition. Similarly, if the message data in the MQSeries source is in COBOL format,
you use a Normalizer transformation to read the message data.

46 Chapter 4: MQ Source Qualifier Transformation


Figure 4-4 shows a mapping in which a Normalizer transformation is used to read the message
data from an MQSeries source:

Figure 4-4. Associated Source Qualifier (Normalizer Transformation)

MQ Source Qualifier
MQSeries
Source
Definition

Relational
Target

Associated Source
Definition for Message Data
(VSAM) Normalizer Transformation

Working with an Associated Source Qualifier Transformation 47


Filtering Messages from the Source Queue
You can use the MQ Source Qualifier in a mapping to filter messages from the source queue.
PowerCenter provides the following methods to filter messages from the source queue:
♦ Functions in filter conditions. You can use functions in a filter condition to control the
end of file of the MQSeries source, real-time data extraction, end of source queue, and
incremental extraction of messages from queue.
♦ Destructive Read option. The Destructive Read option evaluates filter conditions in the
message header and removes messages from the source queue during message recovery.
You can use the following built-in functions n the MQ Source Qualifier:
♦ Concat(str1, str2). Concatenates two strings into a single string. You can use the Concat
function with a mapping variable to control incremental extraction of messages.
♦ MsgCount(n). Controls the number of messages that the PowerCenter Server reads from
the queue.
♦ Idle(n). Controls the duration of time the PowerCenter Server remains idle before it stops
reading from the queue.
♦ StartTime(time). Defines the time in Greenwich Mean Time for the PowerCenter Server
to start reading messages from the queue.
♦ EndTime(time). Defines the time in Greenwich Mean Time for the PowerCenter Server to
stop reading messages from the queue.
♦ FlushLatency(n). Defines a specified period of time for the PowerCenter Server to commit
messages read from the source queue.
♦ ForcedEOQ(n). Defines a specified period of time for the PowerCenter Server to read
messages from the source queue.
♦ RemoveMsg(TRUE). Removes messages from the source queue.
You set the Destructive Read option and filter conditions in the Properties tab of the Source
Qualifier.

48 Chapter 4: MQ Source Qualifier Transformation


Figure 4-5 shows the Properties tab in the Source Qualifier with a filter condition and
Destructive Read enabled:

Figure 4-5. Properties Tab in the Source Qualifier

Enter functions in
a filter condition.

Destructive Read

For more information about entering filter conditions, see “Entering a Filter Condition in the
MQ Source Qualifier” on page 56.
You can also select the Destructive Read option and enter filter conditions in the session
properties. Destructive Read and filter conditions set at the session level override settings in
the Source Qualifier. For information about entering filter conditions in the session
properties, see “Entering a Filter Condition in the Session Properties” on page 79. For more
information about setting Destructive Read in the session properties, see “Message Recovery”
on page 83.

Controlling End of File


You can configure the MQ Source Qualifier to control the end of file of the MQSeries source.
The end of file of an MQSeries source determines when the PowerCenter Server stops reading
from the source queue. Use functions in a filter condition to control the end of file of the
MQSeries source.
You can define several queue reading modes for the PowerCenter Server by controlling the
end of file of the MQSeries source. You can define the following queue reading modes using
functions in a filter condition:
♦ Message count mode
♦ Idle mode

Filtering Messages from the Source Queue 49


♦ Time slice mode

Message Count Mode


You can use the MsgCount(n) function in a filter condition to specify the end of file in an
MQSeries source. When you use the MsgCount(n) function in a filter condition, the
PowerCenter Server reads a specified number of messages from the queue and stops reading.
Enter the following expression when you use the MsgCount(n) function:
MsgCount(n)

where n is the number of messages the PowerCenter Server reads from the message queue. To
read 100 messages from the source queue, enter the following filter condition:
MsgCount(100)

Idle Mode
Use the Idle(n) function in a filter condition to indicate how long the PowerCenter Server
waits for the queue to be idle before it stops reading from the queue. Enter the following
expression when you use the Idle(n) function:
Idle(n)

where n is an integer representing seconds. For example, if the value of n is 30, the
PowerCenter Server waits 30 seconds after reading from the queue. If no new messages arrive
on the queue within 30 seconds, the PowerCenter Server stops reading from the queue.

Time Slice Mode


You can use the StartTime(time) function with the EndTime(time) function to define a
specified range of time for the PowerCenter Server to read messages from the queue. The
value you enter for EndTime(time) determines the end of file of the MQSeries source. If
StartTime(time) is not used in the filter condition, the PowerCenter Server reads all messages
up to the specified EndTime(time). Time values in the function must be relative to Greenwich
Mean Time, and the format of the time must be “MM/DD/YYYY H24:MM:SS.” For
example, to read messages from 9:00 AM to 5:30 PM on September 02, 2000, enter the
following filter condition:
StartTime(“09/02/2000 09:00:00”) && EndTime(“09/02/2000 17:30:00”)

If you use the $$$SessStartTime variable instead of a specific time, you must enclose the
variable in quotes. For example, you must enter:
StartTime(“$$$SessStartTime”)

Controlling Data Extraction in Real Time


In the MQ Source Qualifier, you can use the FlushLatency(n) function in a filter condition to
commit messages to the target in real time. When you use the FlushLatency(n) function in a
filter condition, the PowerCenter Server commits messages read from the source queue at the

50 Chapter 4: MQ Source Qualifier Transformation


end of a specified maximum latency period. Enter the following expression when you use the
FlushLatency(n) function:
FlushLatency(n)

where n is an integer representing seconds. For example, if the value of n is 5, the


PowerCenter Server commits all messages read from the source five seconds after the first
message enters the source. The lower you set the interval, the faster the PowerCenter Server
commits messages to the target.
Note: When you specify a low interval for FlushLatency(n), the session might consume more
system resources.
You can remove messages from the source queue during a real-time session. Specify the
FlushLatency(n) function in a filter condition and the Destructive Read option in the MQ
Source Qualifier or the session properties. For more information about the Destructive Read
option, see “Controlling Queue Clean-up with Destructive Read” on page 53.
If the mapping contains an associated source qualifier, you can remove messages from the
source queue during a real-time session by combining the FlushLatency(n) function with the
RemoveMsg(TRUE) function in the Source Qualifier. For more information about the
RemoveMsg(TRUE) function, see “Controlling Queue Clean-up with the
RemoveMsg(TRUE) Function” on page 54.
When you use the FlushLatency(n) function in a filter condition, the following limitations
apply:
♦ The pipeline cannot contain Transaction Control transformations.
♦ The pipeline cannot contain Custom transformations with the Generate Transaction
option selected. You select the Generate Transaction option on the Properties tab of the
Edit Transformations dialog box.
♦ The pipeline cannot contain transformations with the All Input option selected for the
Transformation Scope property. You select a value for the Transformation Scope property
on the Properties tab of the Edit Transformations dialog box.
♦ The pipeline cannot contain any transformation that has row transformation scope and
receives input from multiple transaction control points.
♦ The mapping cannot contain a flat file target definition.
♦ The session cannot contain partitioning types other than pass-through at all partitioning
points.
♦ The PowerCenter Server ignores the FlushLatency(n) function when you run a session in
debug mode.
♦ If your mapping contains a relational target, the Target Load Type attribute in the session
properties should be Normal.
When you want to run a session in real time with any of the above mapping configurations or
session properties, use the ForcedEOQ(n) function in a filter condition.

Filtering Messages from the Source Queue 51


Controlling Forced End of Queue
You can use the ForcedEOQ(n) function in a filter condition to define the end of the
MQSeries source after a specified period of time. The MQSeries source can contain an
infinite number of messages entering the queue. When you use the ForcedEOQ(n) function
in a filter condition, the PowerCenter Server stops reading from the source queue after the
period you specify. Use the following expression in the filter condition to set the
ForcedEOQ(n) function:
ForcedEOQ(n)

where n is an integer representing seconds. For example, if the value of n is 60, the
PowerCenter Server reads messages from the queue for 60 seconds before stopping.
You can use the ForcedEOQ(n) function in a filter condition to run a session in real time
when the mapping configuration or session properties do not support the FlushLatency(n)
function.
For example, you want to run a real-time session with an MQSeries mapping that contains an
Aggregator transformation with the All Input option selected for the Transformation Scope
property. When a mapping contains an Aggregator transformation with these conditions, the
PowerCenter Server cannot use the FlushLatency(n) function in a filter condition to commit
messages to a target based on a specified maximum latency period. For more information
about using an Aggregator transformation in a mapping, see the PowerCenter Transformation
Guide.
To run the session in real time, use the ForcedEOQ(n) function in a filter condition and
configure the workflow to run continuously. When you use the ForcedEOQ(n) function, the
PowerCenter Server stops reading messages from the source at the end of the ForcedEOQ(n)
period. The PowerCenter Server can then write the data to the target.
For a list of mapping configurations and session properties that do not support the
FlushLatency(n) function, see “Controlling Data Extraction in Real Time” on page 50. For
more information about executing a session in real time, see “Extracting Data in Real Time”
on page 80.

Controlling Incremental Extraction


In the MQ Source Qualifier, you can use functions in a filter condition to control incremental
extraction of messages from an MQSeries source. For instance, you want to read new messages
from the queue and filter out messages that were read during the last session run. In the filter
expression, use the Concat function to combine the PutDate and PutTime values from the
message header fields into a single string. Then compare the concatenated value to a mapping
variable that defines the maximum PutDate | PutTime combination.
For example, to read messages from a queue that have a PutDate | PutTime value greater than
the maximum PutDate | PutTime value defined by a mapping variable $$MAX_DATETIME,
enter the following filter expression:
Concat (PutDate, PutTime) > “$$MAX_DATETIME”

52 Chapter 4: MQ Source Qualifier Transformation


For more information about defining a mapping variable, see the PowerCenter Designer
Guide.

Controlling Queue Clean-up


You can control queue clean-up to remove messages from the MQSeries source queue by
selecting one of the following:
♦ Destructive Read. Select the Destructive Read option to remove messages from the source
queue and evaluate filter conditions in the message header ports.
♦ Remove Msg(TRUE). Enter the Remove Msg(TRUE) function in a filter condition to
remove messages from the source queue when using an associated source qualifier or for
mappings from PowerCenter Connect for MQSeries 7.0 or prior.
If you select the Destructive Read option, you must set the RemoveMsg(TRUE) function to
RemoveMsg(FALSE) in the filter condition or remove the function from the filter condition.
If you enable both Destructive Read and RemoveMsg(TRUE), the session fails during
initialization.

Controlling Queue Clean-up with Destructive Read


You can control queue clean-up to remove messages from the MQSeries source queue by
selecting the Destructive Read option in the MQ Source Qualifier. The Destructive Read
option lets you evaluate filter conditions in the message header ports and remove messages
from the source queue. If a message does not pass the filter condition, the PowerCenter Server
does not remove the message from the source queue.
If you do not select Destructive Read, the PowerCenter Server does not remove messages from
the source queue and reads them again each time you run the session.
You can select the Destructive Read option on the Properties tab in the MQ Source Qualifier
or the Mapping tab of the session properties.

Filtering Messages from the Source Queue 53


Figure 4-6 shows the Destructive Read option on the Properties tab in the MQ Source
Qualifier:

Figure 4-6. Destructive Read Option in the MQ Source Qualifier

Destructive Read

For more information on selecting Destructive Read in the session properties, see
“Configuring a Session with an MQSeries Mapping” on page 87.
If you select Destructive Read, the mapping cannot contain an associated source qualifier. If
the mapping contains an associated source qualifier, the PowerCenter Server ignores the
Destructive Read condition. To remove messages from the source queue for mappings that
contain an associated source qualifier, use the RemoveMsg(TRUE) function.

Controlling Queue Clean-up with the RemoveMsg(TRUE) Function


You can enter the RemoveMsg(TRUE) function in a filter condition in the Source Qualifier
to remove messages from the source queue. Use the RemoveMsg(TRUE) function when a
mapping contains an associated source qualifier, or for mappings from PowerCenter Connect
for IBM MQSeries 7.0 or prior.
The RemoveMsg(TRUE) function removes messages from the queue after committing all
data to the target. For example, enter the following filter condition:
RemoveMsg(TRUE)

You can combine the RemoveMsg(TRUE) function with other functions. For example, if you
want to extract 100 messages from the source queue and also want to remove the messages
from the source queue once the messages are successfully loaded to the target. Enter the
following function in the filter condition:
MsgCount(100) && RemoveMsg(TRUE)

You can enter a filter condition in the Filter Editor in the Properties tab of the Source
Qualifier or the Mapping tab of the session properties.

54 Chapter 4: MQ Source Qualifier Transformation


Figure 4-7 shows a filter condition in the Filter Editor of the Source Qualifier that combines
RemoveMsg(TRUE) with MsgCount:

Figure 4-7. Filter Condition Combining MsgCount and RemoveMsg(TRUE)

For more information about entering functions in a filter condition in a Source Qualifier, see
“Entering a Filter Condition” on page 59. For information about entering functions in a filter
condition in the session properties, see “Entering a Filter Condition in the Session Properties”
on page 79.

Filtering Messages from the Source Queue 55


Entering a Filter Condition in the MQ Source Qualifier
In the MQ Source Qualifier, you can enter a filter condition to reduce the number of
messages the PowerCenter Server reads from the message queue. When you enter a filter in
the MQ Source Qualifier, the PowerCenter Server only reads messages that fulfill the filter
condition. Use the Informatica transformation language to enter a single filter condition or a
series of conditions.

Filter Syntax
The filter condition is an expression that returns TRUE or FALSE. For example, if you want
the PowerCenter Server to read messages from the queue that are of the lowest priority, you
would enter the following condition:
Priority == 0

where 0 refers to the lowest priority level.


When you create the filter condition, you do not need to specify TRUE or FALSE as values in
the expression, since TRUE or FALSE are implicit return values from any condition you set.
If the filter condition evaluates to NULL, the row is assumed to be FALSE.
You can include multiple components in the condition by using logical operators. For
example, if you want to filter messages with the lowest priority and messages in “MQSTR”
format, you would enter the following condition:
Priority == 0 AND Format == “MQSTR”

Table 4-2 lists the logical operators you can use to create filter conditions:

Table 4-2. Logical Operators for Filter Conditions

Textual Alternate Textual


Operator
Representation Representation

EQUAL TO = ==

NOT EQUAL TO != <>

LESS THAN <

LESS THAN OR EQUAL TO <=

GREATER THAN >

GREATER THAN OR EQUAL TO >=

NOT not !

AND and &&

OR or ||

LEFT PARENTHESIS (

RIGHT PARENTHESIS )

56 Chapter 4: MQ Source Qualifier Transformation


Table 4-3 shows the precedence of the logical operators:

Table 4-3. Logical Operator Precedence

Precedence Operators

Highest Equals (==), Not Equal to (!=), Less than (<), Less than or equal to (<=), Greater than (>),
Greater than or equal to (>=)

NOT

AND

Lowest OR

Syntax Rules
Use the following rules to create filter conditions in the MQ Source Qualifier:
1. Use the following syntax in the filter condition if you create a filter based on message
header ports:
<Port> [=, >=, <=, <, >, < > ]‘value’
2. Use the following syntax in the filter condition if you create a filter with a function:
<Function> (‘value’)

3. You must use the correct parameters for the ‘value’ in the filter expression. For example,
to filter messages by PutDate, you must use the correct date format used by the PutDate
field:
PutDate >= ”20000901” && PutDate <= “20001001”

This example filters messages that were put on the queue from September 1, 2000, to
October 1, 2000. The format for the PutDate field is YYYYMMDD.
4. Time values must be relative to Greenwich Mean Time and in the format H24MMSS.
For example, to read all messages that were put on the queue at 5:30 PM on September 1,
2000, enter the following condition:
PutDate = “20000901” && PutTime = “173000”

5. If the datatype of the ‘value’ is string, you must use double quotes around the value. For
example, to filter all messages where the ReplyToQ field is “PRODUCTION,” you
would use the following syntax:
ReplyToQ = “PRODUCTION”

6. Separate multiple components of a filter condition using AND/OR logical operators.

Filtering Messages Using Message Header Ports


You can use all the message header ports in the MQ Source Qualifier to create a source filter
condition. To evaluate the filter conditions when removing messages from the source, select
the Destructive Read option in the Source Qualifier. For more information about Destructive
Read, see “Controlling Queue Clean-up” on page 53.

Entering a Filter Condition in the MQ Source Qualifier 57


Table 4-4 lists all the message header fields in an MQSeries message, including descriptions
and datatypes:

Table 4-4. MQSeries Message Header Fields with Description and Datatype

MQSeries Message
Datatype Description
Header Field

StrucId String(4) Structure identifier.

Version Number Structure version number.

Report Number Options for report messages.

MsgType Number Message type.

Expiry Number Message lifetime.

Feedback Number Feedback or reason code.

Encoding Number Data encoding.

CodedCharSetId Number Coded character set identifier.

Format String(8) Format name.

Priority Number Message priority.

Persistence Number Message persistence.

MsgId Binary(24) Message identifier.

CorrelId Binary(24) Correlation identifier.

BackoutCount Number Backout counter.

ReplytoQ String(48) Name of reply queue.

ReplytoQMgr String(48) Name of reply queue manager.

UserIdentifier String(12) User identifier.

AccountingToken Binary(32) Accounting token.

ApplIdentityData String(32) Application data relating to identity.

PutApplType Number Type of application that put the message on queue.

PutApplName String(28) Name of application that put the message on queue.

PutDate String(8) Date when message was put on queue. Format is YYYYMMDD.

PutTime String(8) Time when message was put on queue. Format is HHMMSS.

ApplOrigData String(4) Application data relating to origin.

GroupId Binary(24) Group identifier.

MsgSeqNumber Number Sequence number of logical messages within group.

Offset Number Offset of data in physical message from start of logical message.

58 Chapter 4: MQ Source Qualifier Transformation


Table 4-4. MQSeries Message Header Fields with Description and Datatype

MQSeries Message
Datatype Description
Header Field

MsgFlags Number Message flags.

OriginalLength Number Length of original message.

Entering a Filter Condition


Use the following procedure to enter a filter condition in the MQ Source Qualifier.

To enter a source filter in the MQ Source Qualifier:

1. In the Mapping Designer, double-click the title bar of the MQ Source Qualifier.
The Edit Transformation dialog box appears.
2. Select the Properties tab.
3. Open the Filter Editor by clicking the right corner of the Filter option.
The Filter Editor dialog box appears.

4. On the Ports tab, double-click the Message Header port you want to use in your filter
condition.
You can also select a built-in function from the Variables tab. Click Variables-Built-in,
and select the function you want to use.
5. Use transformation language syntax to create the filter condition.
6. Click Validate to make sure that the filter condition has no errors.
7. Click OK to return to the Edit Transformation dialog box.

Entering a Filter Condition in the MQ Source Qualifier 59


8. Click OK again to return to the Designer.
9. Choose Repository-Save.

60 Chapter 4: MQ Source Qualifier Transformation


Creating an MQ Source Qualifier
By default, the Designer creates an MQ Source Qualifier when you add an MQSeries source
to a mapping. If you configure the Designer to create a source definition without a source
qualifier, you can create the MQ Source Qualifier manually. You must then manually connect
the source qualifier with a source definition in the mapping. For more information about
adding transformations to a mapping, see the PowerCenter Designer Guide.

Configuring an MQ Source Qualifier


Once you create an MQ Source Qualifier, you can set several configuration options.

To configure an MQ Source Qualifier:

1. In the Designer, open an MQSeries mapping.


2. Double-click the title bar of the MQ Source Qualifier.
The Edit Transformations dialog box appears.

3. Optionally, click Rename to rename the transformation, and click OK.

Creating an MQ Source Qualifier 61


4. Click the Ports tab.

5. Enter a precision for the message data port up to 100 MB. The default value is 64 KB.
The message header ports are predefined. You cannot change the configuration of the
message header ports. For more information about message header ports, see “Working
with an MQ Source Qualifier Transformation” on page 42.

62 Chapter 4: MQ Source Qualifier Transformation


6. Click the Properties tab.

7. Enter any of the following additional settings for the MQ Source Qualifier:

Option Description

Filter Specifies the filter condition PowerCenter uses when extracting records. For more
information about filter conditions, see “Entering a Filter Condition in the MQ Source
Qualifier” on page 56.

Tracing Level Sets the amount of detail included in the session log when you run a session containing
this transformation. For more information about the tracing level, see “MQ Source Qualifier
Transformation” on page 40.

Destructive Read Evaluates filter conditions specified in the message header ports and removes messages
from the source queue at synchronization points. For more information about Destructive
Read, see “Controlling Queue Clean-up” on page 53.

Recovery Cache Cache folder where the PowerCenter Server stores message data when reading from the
Folder MQSeries source. For more information about the recovery cache folder, see “Message
Recovery” on page 83.

Creating an MQ Source Qualifier 63


Creating an Associated Source Qualifier
You create an associated source qualifier in a mapping depending on the message data format
of the MQSeries source. You can create the following types of associated source qualifier
transformations for the message data in the MQSeries source:
♦ Source Qualifier transformation for flat file message data
♦ Normalizer transformation for COBOL message data
Note: Before you create an associated source qualifier, import the source definition that
describes the message data you want to extract from the MQSeries message queue.
By default, the Designer creates an associated source qualifier when you add an associated
source definition to a mapping. If you configure the Designer to create a source definition
without a Source Qualifier, you can create the associated source qualifier manually. You must
then manually connect the Source Qualifier to a source definition in the mapping.

To configure an associated source qualifier:

1. Double-click the associated source qualifier.

2. Click the Associated Source Qualifier tab and select Use Associated Source Qualifier.
3. From the list of associated source qualifiers, select the associated source qualifier you
want to use in your mapping. Click OK.
The Designer creates a MsgId port in the associated source qualifier, and links the MsgId
ports on the MQ Source Qualifier and the associated source qualifier.

64 Chapter 4: MQ Source Qualifier Transformation


Chapter 5

Working with MQSeries Targets

This chapter includes the following topics:


♦ Overview, 66
♦ Working with a Dynamic MQSeries Target Definition, 67
♦ Working with a Static MQSeries Target Definition, 73
♦ Creating a Dynamic MQSeries Target Definition, 75

65
Overview
When the PowerCenter Server writes data to an MQSeries target, it writes data to an
MQSeries message queue. You can load data to one message queue or multiple message
queues.
Similar to the MQSeries source, the MQSeries target contains message header fields and a
message data field. The PowerCenter Server can load data to the message header fields and the
message data field in the message. Depending on the type of data that you want to load to the
message queue, choose a dynamic or static MQSeries target definition.

Dynamic MQSeries Target Definitions


Use a dynamic MQSeries target definition in a mapping when you want to load data
dynamically to the message header fields in the MQSeries target. When you use a dynamic
MQSeries target definition in a mapping, you can load binary or XML data to the message
data field in the message. If the message data you want to load is in flat file format, you must
use a static MQSeries target in the mapping.
The PowerCenter Server can maintain transactional consistency when loading binary and
XML data to dynamic MQSeries targets. During a session, the PowerCenter Server commits
messages to dynamic MQSeries targets in groups for each transaction you define based on the
commit interval. If the session fails or aborts during the transaction, the PowerCenter Server
does not commit any data to the targets for that transaction.
For more information about transactional consistency for dynamic MQSeries targets, see
“Working with a Dynamic MQSeries Target Definition” on page 67. For more information
about configuring a session to maintain transactional consistency, see “Configuring
Transactional Consistency for Dynamic MQSeries Targets” on page 85.

Static MQSeries Target Definitions


Use a static MQSeries target definition in a mapping when you only want to load message data
to the MQSeries target. When you use a static MQSeries target definition in the mapping,
you can pass data in flat file format to the message data field in the MQSeries target. The
message header fields in the target remain static. No data passes to the message header fields
from the pipeline.
When you use a static MQSeries target in a mapping, you do not create an MQSeries target
definition in the Designer. Instead, you use a flat file target definition in the mapping for the
message data, and then configure the session in the Workflow Manager to write to a message
queue.
When you use static MQSeries targets in a mapping, the PowerCenter Server does not
maintain transactional consistency.

66 Chapter 5: Working with MQSeries Targets


Working with a Dynamic MQSeries Target Definition
Use a dynamic MQSeries target definition in a mapping when you load data to the message
header fields in the MQSeries target dynamically from the pipeline. To write data to a
dynamic MQSeries target, you need to use an MQSeries target definition in the mapping.
The MQSeries target definition is similar to the MQSeries source definition and contains all
the message header fields and the message data field of an MQSeries message.
Figure 5-1 shows a dynamic MQSeries target definition:

Figure 5-1. Dynamic MQSeries Target Definition

Message
Header
Fields

MsgId is the Primary


Key in a dynamic
MQSeries target.

Message
Data Field

Similar to the MQSeries source definition, the MsgId field in the dynamic MQSeries target
definition is also a primary key field. Since MsgId is a unique identifier for a particular
message, values you project to the MsgId field must be unique. If you project a MsgId value
to a queue where that MsgId already exists, MQSeries can ignore the value you pass to the
target or use an automatically generated value for the message in its place.
Certain message headers in an MQSeries message require a set of values that the MQSeries
server assigns. When loading data to an MQSeries target, the MQSeries server assigns values
to these fields.

Working with a Dynamic MQSeries Target Definition 67


Table 5-1 describes the message header fields to which IBM assigns values when the
PowerCenter Server writes data to an MQSeries target:

Table 5-1. Values for Message Header Fields in MQSeries Target Messages

Message Header Field Value

UserIdentifier Defined by the environment. If the MQSeries server cannot determine this value, the value
for the field is null.

AccountingToken Defined by the environment. If the MQSeries server cannot determine this value, the value
for the field is MQACT_NONE.

ApplIdentityData The value for ApplIdentityData is null.

PutApplType Defined by the environment.

PutAppName Defined by the environment. If the MQSeries server cannot determine this value, the value
for the field is null.

PutDate The date when the message arrives in the queue.

PutTime The time when the message arrives in the queue.

ApplOriginData The value for ApplOriginData is null.

To write data to the GroupId field in the target, you must project a value to the MsgFlags
field in the target. Otherwise, the PowerCenter Server writes a null value to the GroupId field.
For example, you can set a flag to determine the group ID by the last message in the group.
For more information about setting the group ID, see your IBM MQSeries documentation.
The datatype for the message data field in the MQSeries target definition is binary. When you
use a dynamic MQSeries target definition in a mapping, the PowerCenter Server can only
load binary and XML data to the message data field in the target message.

Maintaining Transactional Consistency for Dynamic MQSeries


Targets
When you use dynamic MQSeries target definitions in a mapping, the PowerCenter Server
can maintain transactional consistency when writing data to message queues. When the
PowerCenter Server maintains transactional consistency, it commits messages to dynamic
MQSeries targets once all messages in a transaction group are loaded to the targets. A
transaction group consists of all messages that the PowerCenter Server commits when it
reaches a commit point. If a session aborts or fails during a transaction, the PowerCenter
Server rolls back all messages in the transaction group from the targets.
When you enable recovery and a session aborts or fails, you can restart the session in recovery
mode. During a recovery session, the PowerCenter Server loads the messages to the message
queues. This is because the PowerCenter Server could not successfully commit all messages in
the group to the targets. It can then process the messages to the targets during the next session
run.

68 Chapter 5: Working with MQSeries Targets


To ensure transactional consistency, all dynamic MQSeries targets in the same pipeline must
belong to the same target connection group. MQSeries targets that are in the same target
connection group receive data from the same transactional source. Additionally, two or more
MQSeries targets are in the same target connection group if they have the same value for the
Queue Manager property.
For more information about source and target-based commits, see the PowerCenter Workflow
Administration Guide. For more information about running sessions with transactional
consistency, see “Configuring Transactional Consistency for Dynamic MQSeries Targets” on
page 85. For more information about target connection groups, see the PowerCenter
Workflow Administration Guide.

Writing XML Message Data


You can use the Midstream XML Generator transformation to write XML data from one or
more sources and generate a single XML document for an MQSeries target. The Midstream
XML Generation transformation speeds processing by generating XML documents with the
transformation in the pipeline.
Note: If you have a mapping to write XML message data using a static MQ Series target
definition, see “XML Message Data Without Midstream XML Transformations” on page 97.
Figure 5-2 shows a mapping with a Midstream XML Generator transformation:

Figure 5-2. Mapping with Midstream XML Generator Transformations

When you create a Midstream XML Generator transformation, you use the XML Wizard and
XML Editor to define the XML groups. For more information about creating Midstream
XML Generator transformations, see the PowerCenter XML User Guide.

Working with a Dynamic MQSeries Target Definition 69


Using On Commit
When you write XML message data to an MQSeries target, you can use the On Commit
property in the Midstream XML Generator tab to specify how the PowerCenter Connect
Server writes the XML data.
The following are the values available in the On Commit property:
♦ Ignore Commit. Select to write one complete XML document to one MQSeries message.
When you select Ignore Commit, the PowerCenter Server creates one XML document and
writes all of the content for a document to an MQSeries message at the end of the session.
♦ Create New Document. Select to generate multiple, complete XML documents and write
each one to a separate MQSeries message. When you select Create New Document, the
PowerCenter Server generates multiple XML documents based on the commit interval that
you set. To use the Create New Document option, you must specify Source as the Commit
Type and set a commit interval in the session properties. For information about setting a
commit type and interval, see “Configuring a Session with an MQSeries Mapping” on
page 87.
Figure 5-3 shows the On Commit property in the Midstream XML Generator tab:

Figure 5-3. Midstream XML Generator Tab

On Commit Property

When you select the Create New Document option, you must specify Source as the Commit
Type and set a commit interval in the session properties. When you specify source-based as
the commit type, the PowerCenter Server commits data to the target based on the number of
records in an active source. When you specify a commit interval, the PowerCenter Server
commits data to the target based on the number of records you specify as the commit interval.

70 Chapter 5: Working with MQSeries Targets


The commit interval value also specifies the number of second-level nodes in the XML
document that you write to an MQSeries message. The number of second-level nodes in your
XML document hierarchy corresponds to the number of records in your source data. The
commit interval value that you set determines how many second-level nodes the PowerCenter
Server writes to an individual MQSeries message.
For example, if your source data contains 12 records and you set the Commit Interval to 4,
the PowerCenter Server writes three separate XML documents, each containing four second-
level nodes, to three separate MQSeries messages. If you select Create New Document, each
of the three XML documents in this example will be complete XML documents.
For information about setting a commit type and interval, see “Configuring a Session with an
MQSeries Mapping” on page 87.

Creating Pass-Through Ports


Because the MQ message ID is usually not part of the XML data, you can create pass-through
ports to pass the MQ message ID data from the source to the target. You can use message ID
data to correlate input and output messages for requests and replies.
MQ Message ID data passes from the Source Qualifier to the reference input port and then
passes through the corresponding new output port to the target.
Figure 5-4 shows a mapping with a Message_ID port added as a pass-through port in the
Midstream XML Generator transformation:

Figure 5-4. Midstream XML Generator Transformation with Pass-Through Port

This example shows the ID data in the Source Qualifier linked to the COL0 reference input
port in the Midstream XML Generator transformation. The Midstream XML Generator

Working with a Dynamic MQSeries Target Definition 71


transformation passes the data through the Message_ID pass-through port to the MsgId port
in the target table.
For more information about creating pass-through ports and setting session-level properties
for the Midstream XML Generator transformation, see the PowerCenter XML User Guide.
For information about reading XML data, see “Reading XML Message Data from an
MQSeries Source” on page 31.

72 Chapter 5: Working with MQSeries Targets


Working with a Static MQSeries Target Definition
Use a static MQSeries target definition in the mapping when you load data in flat file format
to the message data field in an MQSeries message. When you use a static MQSeries target
definition in the mapping, the PowerCenter Server only writes data to the message data field
in the message from the pipeline. It does not load any data to the message header fields in the
message.
When you write to a static MQSeries target, do not use a dynamic MQSeries target definition
in the mapping. Since you do not write any data to the message header fields in the message,
you do not need to create a dynamic MQSeries target definition in the mapping. Instead, you
use a target definition specific to the format of the message data that you load to the target
message queue.
Table 5-2 lists the target definitions you use in a mapping to write to a static MQSeries target:

Table 5-2. Target Definitions for Static MQSeries Targets

Format of Message Data Target Definition for Static MQSeries Target

Flat file Flat file target definition.

COBOL Flat file target definition.

For example, if you want to load data in COBOL format to a message queue, you need to use
a static MQSeries target in the mapping.
Figure 5-5 shows a mapping with a flat file target definition as the static MQSeries target:

Figure 5-5. Mapping with a Static MQSeries Target

Note that the message header fields in the MQ Source Qualifier are not projected to any port
in the target definition. Since you are not loading data to the message header fields, the

Working with a Static MQSeries Target Definition 73


message header fields in the MQSeries target remain static. The target definition only receives
data from the Normalizer Source Qualifier.

Loading Message Header Data to a Static MQSeries Target


When you want to load message header data to a static MQSeries target, you can create a
mapping with the following transformations:
♦ An MQSeries source definition and an MQ Source Qualifier
♦ An associated flat file source definition and a Source Qualifier
♦ Two flat file target definitions
During the session, the PowerCenter Server reads message header data from the source and
stores it in a cache file. During a second pass, the PowerCenter Server matches the flat file
data with the message header data in the cache file based on the MsgId.
Note: If the source queue is large, the cache file will contain large amounts of data. This might
slow the performance of the PowerCenter session.

Multiple Static MQSeries Target Definitions


With PowerCenter Connect for MQSeries, you can write message data in flat file format to
multiple MQSeries message queues from a single mapping. When you write message data to
multiple message queues, you must use a static MQSeries target definition in the mapping for
each target queue to which the PowerCenter Server loads data.

Creating Static MQSeries Target Definitions


The target definition you use in the mapping for a static MQSeries target is specific to the
format of the message data that you want to load. To create a target definition, you do not
have to connect to the target message queue to import the metadata for the target message
queue. You can define the target for the flat file message data in the following ways:
♦ Create the target definition by dragging the source definition of the message data into the
Warehouse Designer.
♦ Import the target definition by using Import from File.
For more information about creating or importing flat file target definitions, see the
PowerCenter Designer Guide.

74 Chapter 5: Working with MQSeries Targets


Creating a Dynamic MQSeries Target Definition
Since all messages in the MQSeries message queue have the same structure, you can manually
create a MQSeries target definition or a target definition based on an MQSeries source
definition in the Designer. Similar to the MQSeries source definition, you do not connect to
a message queue to import the metadata for the target message queue.

To create an MQSeries target definition based on an MQSeries source definition:

1. In the Warehouse Designer, drag an MQSeries source definition to the workspace.


2. Choose Repository-Save.

To create a predefined MQSeries target definition:

1. In the Warehouse Designer, select Target-Create from the menu.


2. On the Create Target dialog box, enter a name for the target definition, and select
MQSeries as the Database type.
3. Click Done.
4. Choose Repository-Save.

Editing an MQSeries Target Definition


After creating the MQSeries target definition, you can edit the target definition properties.

To edit an MQSeries target definition:

1. In the Warehouse Designer, double-click the title bar of the target definition.

Creating a Dynamic MQSeries Target Definition 75


2. On the Table tab, optionally edit the following settings:

Target Settings Description

Description Enter a description of the message target.

Keywords Add keywords to the target definition when you want to perform searches in the
Repository Manager.

3. Click the Columns tab.


The Columns tab lists all the message header ports and the message data port with their
datatype, precision, and scale.

4. Optionally, edit the datatype and precision of the columns in the target definition.
5. Click OK.

76 Chapter 5: Working with MQSeries Targets


Chapter 6

Creating and Configuring


MQSeries Workflows
This chapter includes the following topics:
♦ Overview, 78
♦ Working with MQSeries Workflows, 79
♦ Configuring a Session with an MQSeries Mapping, 87
♦ Scheduling Workflows, 94
♦ Running Workflows, 95

77
Overview
After you create mappings in the Designer, you can create a session and use the session in a
workflow to extract, transform, and load data. You can create sessions and workflows in the
Workflow Manager.
Before configuring an MQSeries workflow, you must complete the following tasks:
♦ Configure a registered server. You need to configure a registered server to run workflows.
For more information about registering a server, see the PowerCenter Installation and
Configuration Guide.
♦ Configure source and target connections. You must configure the connections necessary
to extract data from the source and write data to the target. Depending on the type of
session you run, the PowerCenter Server may require application, queue, relational, FTP,
or external loader connections. For example, to extract data from a message queue and load
data to a relational target, the PowerCenter Server requires a queue connection for the
source message queue and a database connection for the relational target. For more
information about configuring connections, see “Step 3. Configure Queue Connection
Properties” on page 21.
For more information about sessions and workflows, see the PowerCenter Workflow
Administration Guide.
Before you run an MQSeries workflow, make sure the MQSeries listener is running. This
enables the PowerCenter Server to connect to a queue manager to read and write MQSeries
messages.

78 Chapter 6: Creating and Configuring MQSeries Workflows


Working with MQSeries Workflows
When you configure an MQSeries workflow, you define the session and scheduler properties
that determine how the PowerCenter Server reads messages from the source queue. You can
configure the following MQSeries session properties in a workflow:
♦ Filter conditions. Set filter conditions for an MQSeries session in a workflow. For more
information, see “Entering a Filter Condition in the Session Properties” on page 79.
♦ Real-time data extraction. Configure an MQSeries session in a workflow to extract data in
real time. For more information, see “Extracting Data in Real Time” on page 80.
♦ Message recovery. Enable message recovery for an MQSeries session in a workflow. For
more information, see “Message Recovery” on page 83.
♦ Transactional consistency. Configure an MQSeries session in a workflow to maintain
transactional consistency. For more information, see “Configuring Transactional
Consistency for Dynamic MQSeries Targets” on page 85.
♦ Pipeline partitioning. Set partitions in a pipeline for an MQSeries session in a workflow.
For more information, see “Pipeline Partitioning” on page 85.
♦ Continuous workflows. Configure a scheduler with the continuous workflow scheduling
property. For more information, see “Configuring Continuous Workflows” on page 85.

Entering a Filter Condition in the Session Properties


When you configure an MQSeries session in a workflow, you can enter filter conditions for
the session in the session properties. When you enter a filter condition, the PowerCenter
Server only reads messages from the MQSeries source that fulfill the filter condition. The
filter conditions you create in the session properties override the filter conditions in the MQ
Source Qualifier.
You can enter the following filter conditions in the session properties:
♦ Message header ports
♦ Functions
♦ Mapping parameters
♦ Mapping variables

Working with MQSeries Workflows 79


Figure 6-1 shows the Mapping tab of the session properties where you enter filter conditions
for an MQSeries session:

Figure 6-1. Filter Attribute on the Mapping Tab of the Session Properties

Filter Condition

For more information about creating filter conditions, see “Entering a Filter Condition in the
MQ Source Qualifier” on page 56.

Extracting Data in Real Time


You can configure an MQSeries session in a workflow to extract messages from the source
queue in real time. To extract data in real time, use one of the following session
configurations:
♦ Configure the session with the FlushLatency(n) function in a filter condition and source-
based commit as the commit type.
or
♦ Configure the session with the ForcedEOQ(n) function in a filter condition.

Configuring the Session with the FlushLatency(n) Function


You can configure a session with the FlushLatency(n) function in a filter condition for the
PowerCenter Server to commit messages to the target at the end of each specified interval.

80 Chapter 6: Creating and Configuring MQSeries Workflows


Each FlushLatency interval starts after the first message enters the source. The lower the time
interval you set in the FlushLatency(n) function, the faster the PowerCenter Server commits
messages to the target.
To configure the FlushLatency(n) function in a filter condition, take the following steps:
1. Enter the filter condition in the session properties. For more information about entering
filter conditions in the session properties, see “Entering a Filter Condition in the Session
Properties” on page 79.
2. If the pipeline contains an XML target definition, select Create New Document for the
On Commit option from the Properties tab when you edit the target definition.
3. Configure the session for source-based commits in the session properties.
4. When you configure the session to use source-based commits and add partitions to the
pipeline, you must specify pass-through partitioning at each partition point.
5. Configure a real-time session to run as a continuous workflow. For more information
about scheduling a workflow, see “Scheduling Workflows” on page 94.
When you configure FlushLatency(n) function in a filter condition and configure the session
to use source-based commits, the PowerCenter Server commits messages to the target using
the source-based commit interval as well as the Flush Latency interval. For example, you set
Flush Latency(5) and you set the source-based commit interval to 1,000 messages. The
PowerCenter Server commits messages to the target at two points: after reading 1,000
messages from the source and after each five second Flush Latency interval.
If you configure the session to use target-based commits, the PowerCenter Server
automatically runs the session using source-based commits. Also, it only commits messages to
the target based on the Flush Latency interval. It does not commit messages to the target
based on the commit interval.
When the PowerCenter Server runs the session, it begins to read messages from the source.
Once messages enter the source, the Flush Latency interval begins. At the end of each five
second Flush Latency interval, the PowerCenter Server commits all messages read from the
source. If the PowerCenter Server reads 1,000 messages before the end of a five second
interval, it issues a source-based commit. It issues another commit when it reaches the
FlushLatency interval. For more information about commit types and intervals, see the
PowerCenter Workflow Administration Guide.
If you select the Destructive Read option or enter the RemoveMsg(TRUE) function in a filter
condition for a real-time session, the PowerCenter Server removes messages from the source
queue when it reaches Flush Latency interval. For more information about the Destructive
Read option, see “Controlling Queue Clean-up” on page 53. For more information about the
RemoveMsg(TRUE) function, see “Controlling Queue Clean-up with the
RemoveMsg(TRUE) Function” on page 54.
For a list of the limitations that apply when you use the FlushLatency(n) function in a filter
condition, see “Controlling Data Extraction in Real Time” on page 50.
Tip: If you schedule a real-time session to run as a continuous workflow, the PowerCenter
Server starts the next run of the workflow as soon as it finishes the first. If you want to run a

Working with MQSeries Workflows 81


session continuously, you use the Idle(n) function in a filter condition with the
FlushLatency(n) function, where n is an integer representing seconds. For more information
about the Idle(n) function, see “Filtering Messages from the Source Queue” on page 48.
Figure 6-2 shows the filter condition set to run a session for one year:

Figure 6-2. Idle(n) Function Set to Run for One Year

Filter
Condition

Configuring the Session with the ForcedEOQ(n) Function


You can configure a session with the ForcedEOQ(n) function in a filter condition when you
want to run a session in real time. Use the ForcedEOQ(n) function in a filter condition to run
a session in real time when the mapping configuration or session properties do not support
the FlushLatency(n) function. When you set the ForcedEOQ(n) function in a filter
condition, the PowerCenter Server stops reading messages from the source queue at the end of
the specified interval.
To configure the ForcedEOQ(n) function in a filter condition, enter the filter condition in
the session properties. For more information about entering filter conditions in the session
properties, see “Entering a Filter Condition in the Session Properties” on page 79.
For more information about using the ForcedEOQ(n) function in a filter condition, see
“Controlling Forced End of Queue” on page 52.
To run a session in real time with the ForcedEOQ(n) function in a filter condition, you must
configure the workflow that contains the session to run continuously. To do this, select Run

82 Chapter 6: Creating and Configuring MQSeries Workflows


continuously from the Schedule tab in scheduler properties when you schedule the workflow.
For more information about scheduling a workflow, see “Scheduling Workflows” on page 94.

Message Recovery
You can configure message recovery for sessions that fail when reading messages from an
MQSeries source. When you enable message recovery, the PowerCenter Server stores all
messages it reads from the MQSeries source in a cache before processing the messages for the
target. If the session fails, restart the session to recover the messages the PowerCenter Server
could not process in the previous session run.
During the recovery session, the PowerCenter Server reads the messages from the cache. After
the PowerCenter Server reads the messages from the cache and processes the messages for the
target, the session completes. Restart the session to begin reading messages from the
MQSeries source.
The PowerCenter Server removes messages from the message cache file after the Real-time
Flush Latency period expires. It also empties the cache file at the end of the session. If the
session fails after the PowerCenter Server commits messages to the target but before it
removes the messages from the cache file, targets may receive duplicate rows during the next
session run.
To enable message recovery, you must perform the following:
♦ Select Enable Recovery in the session properties.
♦ Specify a recovery cache folder in the session properties at each partition point.
You can also select the Destructive Read option in the session properties to remove messages
from the source queue once the PowerCenter Server puts the messages in the recovery cache
folder. For more information about Destructive Read, see “Controlling Queue Clean-up” on
page 53.

Working with MQSeries Workflows 83


Figure 6-3 shows the Properties settings on the Mapping tab (Sources node) where you select
Destructive Read and specify a recovery cache folder:

Figure 6-3. Recovery Cache Folder in the Session Properties

Destructive
Read
Recovery
Cache Folder

When you enable message recovery, the following limitations apply:


♦ The MQSeries source definition cannot be a Joiner transformation master source.
♦ If you configure multiple MQSeries source definitions in the same target load order group
for recovery, they must run sequentially.
♦ The MQSeries mapping cannot contain an XML target definition.
♦ The MQSeries session must include pass-through partition types at all partition points.
When you run a session with message recovery and the session fails, use the following
guidelines:
♦ Do not edit the cache file or the mapping for the session before you restart the session.
♦ If the session is non-reusable, do not edit the session properties.
♦ If the session is reusable, do not edit the session properties in the Task Developer before
you restart the session.
If you change the mapping or the session properties and then restart the session, the
PowerCenter Server creates a new cache file and then runs the session. This can result in data
loss during the session run.

84 Chapter 6: Creating and Configuring MQSeries Workflows


Configuring Transactional Consistency for Dynamic MQSeries
Targets
The PowerCenter Server can maintain transactional consistency for MQSeries sessions with
MQSeries dynamic MQSeries targets. With transactional consistency, the PowerCenter Server
commits messages to dynamic MQSeries targets in transaction groups. If the session aborts or
fails during a transaction, the PowerCenter Server rolls back all messages in the group from
the targets.
Use the following guidelines when you configure transactional consistency:
♦ Select an application connection with the same connection properties for each MQSeries
target in the pipeline. This ensures that all MQSeries targets in a single pipeline belong to
the same target connection group.
♦ Configure source-based commits for the session.
♦ Set a commit interval to define the commit point for a transactional group.
For more information about transactional consistency in MQSeries mappings with dynamic
MQSeries targets, see “Maintaining Transactional Consistency for Dynamic MQSeries
Targets” on page 68. For more information about target connection groups and source and
target-based commits, see the PowerCenter Workflow Administration Guide.

Pipeline Partitioning
You can increase the number of partitions in a pipeline to improve session performance.
When you increase the number of partitions, the PowerCenter Server can create multiple
connections to sources and process partitions of sources and target data concurrently.
When you create a session in a workflow, the Workflow Manager validates each pipeline in the
mapping for partitioning. You can specify multiple partitions in a pipeline if the PowerCenter
Server can maintain data consistency when it processes the partitioned data.
For MQSeries sources, you can specify multiple partitions if there is no associated source
qualifier in the pipeline. For the MQ Source Qualifier, you can only specify the pass-through
partition type when you create partition points. For MQSeries targets, you can specify pass-
through, key range, hash keys, and round-robin partition types when you create partition
points. For more information about partitioning and a list of all partitioning restrictions, see
the PowerCenter Workflow Administration Guide.

Configuring Continuous Workflows


You can schedule an MQSeries workflow to run continuously. A continuous workflow starts
automatically when the Load Manager starts. When the workflow stops, it restarts
immediately.
When you configure a continuous workflow, you must have enough session slots available for
the Load Manager to run the session. If you do not set enough session slots in the Load
Manager, the workflow can fail. To prevent the workflow from failing, disable the option to

Working with MQSeries Workflows 85


fail sessions if maximum number of concurrent sessions is reached. When the maximum
number of sessions is reached, the session enters a pending session queue. The session runs
when there is a session slot available and it is the next session in the queue scheduled to run.
You configure the Load Manager in the PowerCenter Server Setup application. For more
information about configuring the Load Manager, see the PowerCenter Installation and
Configuration Guide.
To schedule a continuous workflow, select Run continuously from the Schedule tab in the
scheduler properties when you schedule the workflow.

86 Chapter 6: Creating and Configuring MQSeries Workflows


Configuring a Session with an MQSeries Mapping
When you configure a session using MQSeries sources or targets, you need to set the
following session properties:
♦ Set the connection type and value for MQSeries sources and targets.
♦ Define session properties for associated source qualifiers for MQSeries sources.
♦ Define session properties for static MQSeries targets.
You can also set the following session properties:
♦ Commit type and interval
♦ Filter conditions
♦ Message recovery
♦ Pipeline partitioning
For more information about configuring a session, see the PowerCenter Workflow
Administration Guide.

To configure session properties for an MQSeries session:

1. In the Task Developer, double-click an MQSeries session to open the session properties.

Configuring a Session with an MQSeries Mapping 87


2. From the General Options on the Properties tab, optionally edit the commit type.

Commit Commit
Interval Type

Select Sources as the Commit Type for the following:


♦ You want to specify the way in which the PowerCenter Server writes XML data to
MQSeries targets and you selected Create New Document in the target properties
settings. For more information about how the PowerCenter Server writes XML data to
MQSeries targets, see “Writing XML Message Data” on page 69.
♦ You want to run the session in real time using the FlushLatency(n) function in a filter
condition. For more information about the FlushLatency(n) function, see
“Configuring the Session with the FlushLatency(n) Function” on page 80.
♦ You want to configure transaction consistency for MQ Series targets. For more
information about transaction consistency, see “Configuring Transactional
Consistency for Dynamic MQSeries Targets” on page 85.
3. Optionally, edit the commit interval.
Tip: If you want to specify the way in which the PowerCenter Server writes XML data to
MQSeries targets, and you set Source as the Commit Type in step 2, you must set a
Commit Interval value.

88 Chapter 6: Creating and Configuring MQSeries Workflows


4. From the Config Object tab, optionally select Enable Recovery to enable message
recovery.

If you enable message recovery, you can configure a value for the recovery cache folder
from the Properties settings of the Mapping tab (Sources node). Or, use the default cache
folder $PMCacheDir\.

Configuring a Session with an MQSeries Mapping 89


5. Click the Mapping tab.

Associated MQ Source
Source Qualifier for the
MQSeries Source

6. From the Connections settings on the Mapping tab, select a connection type for each
source definition:
♦ For associated source definitions, set the connection type to None.
♦ For MQ Source Qualifiers, the connection type is set to Queue.
7. In the Value pane, select a connection value for the MQ Source Qualifier.
8. From the Properties settings on the Mapping tab (Sources node), verify the following
settings for associated sources:
♦ Source File Directory. Use the default value.
♦ Source Filename. Use the default value.
♦ Source Filetype. Set to Direct.

90 Chapter 6: Creating and Configuring MQSeries Workflows


9. Click the Targets node.

Edit Queue Connection Button

10. From the Connections settings on the Targets node, select a connection type for each
MQSeries target definition:
♦ For static MQSeries target definitions, set the connection type to Queue.
♦ For dynamic MQSeries target definitions, the connection type is set to Queue.
Tip: If you want to specify the way in which the PowerCenter Server writes XML data to
MQSeries targets, select Queue as the connection type for XML target definitions in the
mapping. If you want to configure the session for transactional consistency, verify that all
MQSeries targets in a single pipeline belong to the same target connection group. For
more information about configuring transactional consistency, see “Maintaining
Transactional Consistency for Dynamic MQSeries Targets” on page 68.
For more information about configuring queue connections, see “Step 3. Configure
Queue Connection Properties” on page 21.
11. In the Value pane, select a connection value for each target definition.
Tip: If you configure the session for transactional consistency, verify that all dynamic
MQSeries targets in a single pipeline belong to the same target connection group.

Configuring a Session with an MQSeries Mapping 91


12. From the Properties settings on the Mapping tab (Targets node), verify the following
settings:
♦ Output File Directory. Use the default value.
♦ Output Filename. Use the default value.
13. From the Properties settings on the Mapping tab (Sources node), enter any
transformation overrides.
For example, you can enter the FlushLatency(n) function in a filter condition to run a
session in real time. You can also select Destructive Read to remove messages from a
queue when you enable message recovery and specify the recovery cache folder.

Filter Condition Recovery Cache Folder Destructive Read

If you select Destructive Read, the mapping cannot contain an associated source qualifier.
If the mapping contains an associated source qualifier, the PowerCenter Server ignores
the Destructive Read condition. To remove messages from a queue for a mapping that
contains an associated source qualifier, enter the RemoveMsg(TRUE) function in a filter
condition.

92 Chapter 6: Creating and Configuring MQSeries Workflows


14. To enter filter conditions with the Filter Editor, click the right corner of the Filter option.

15. Enter the filter conditions. Click OK.


When you enter a value for the MsgCount, IdleTime, FlushLatency, or ForcedEOQ
functions, enter 0 or a positive value. Otherwise, the PowerCenter Server ignores the
filter condition.
16. Click OK to exit the session properties.
17. Choose Repository-Save.

Configuring a Session with an MQSeries Mapping 93


Scheduling Workflows
Before you run a session in a workflow, you must configure and schedule the workflow the
session belongs to. You can schedule a non-reusable scheduler for a workflow. Or, you can
create a reusable schedule to use with the workflow.
You can schedule a workflow to run continuously, run at a given time or interval, or you can
manually start a workflow. The PowerCenter Server runs scheduled workflows through the
duration of the schedule, unless the workflow fails. To run a continuous workflow, select Run
continuously when you edit the scheduler for the workflow. The PowerCenter Server starts
the next run of the workflow as soon as it finishes the first run. For more information about
scheduling workflows, see the PowerCenter Workflow Administration Guide.

94 Chapter 6: Creating and Configuring MQSeries Workflows


Running Workflows
Before you run an MQSeries workflow, make sure the MQSeries listener is running. This
enables the PowerCenter Server to connect to a queue manager to read and write MQSeries
messages.
To start the MQSeries listener, enter the following command from the command line:
runmqlsr -m <queue_manager_name> -t TCP -p <port_number> &

Table 6-1 describes the parameters for the runmqlsr command:

Table 6-1. runmqlsr Command Parameters

Required/
Option Argument Description
Optional

-m Required queue manager name Enter the name of the queue manager you want to connect to.

-t Required protocol type Enter TCP for the protocol type.

-p Optional port number Enter a value for the port number. If the port number is 1414,
which is the default MQSeries port number, you can omit this
option.

& Optional Enter an ampersand character (&) to run the process in the
background.

Running Workflows 95
96 Chapter 6: Creating and Configuring MQSeries Workflows
Appendix A

XML Message Data Without


Midstream XML Transformations

This appendix provides details about the following topics:


♦ Overview, 98
♦ Reading XML Message Data Using an Associated Source Definition, 99
♦ Writing XML Message Data Using a Static MQSeries Target Definition, 101

97
Overview
Mappings from PowerCenter Connect for MQSeries 7.0 or prior use associated source
definitions and static MQSeries target definitions to read and write XML message data. To
read XML message data, the mapping contains an associated source definition specific to the
message data format. To write XML message data, the mapping contains a static MQSeries
target definition specific to the message data format.
With PowerCenter Connect for MQSeries 7.1.1, you can use Midstream XML
transformations in a mapping to speed the process of reading and writing XML message data.
When you use a Midstream XML transformation, you do not have to include an associated
source definition or static MQSeries target definition in your mapping.
For more information about reading XML message data using a Midstream XML Parser
transformation, see “Reading XML Message Data from an MQSeries Source” on page 31. For
more information about writing XML message data using the Midstream XML Generator
transformation, see“Writing XML Message Data” on page 69.
Mappings with associated source definitions and static MQSeries target definitions that read
and write XML message data are still valid. For more information about reading XML
message data using an associated source definition, see “Reading XML Message Data Using an
Associated Source Definition” on page 99. For more information about writing XML data
using a static MQ Series target definition, see “Writing XML Message Data Using a Static
MQSeries Target Definition” on page 101.

98 Appendix A: XML Message Data Without Midstream XML Transformations


Reading XML Message Data Using an Associated Source
Definition
The associated source definition represents the metadata for the message data in an MQSeries
source. It is specific to the format of the message data and defines the message data field in the
MQSeries message. If the MQSeries source contains message data in an XML format, you can
use an associated source definition with the MQSeries source definition to extract and
transform the message data.

Importing an Associated Source Definition


You define the associated source definition for XML message data in the Designer by
importing an XML source definition that matches the format and structure of the message
data in the MQSeries source. You import an XML source definition from an XML, DTD, or
XSD file. The associated source definition must exactly define the structure of the XML
message data in the MQSeries source.
Figure A-1 shows an MQSeries mapping with an XML source definition as the associated
source definition:

Figure A-1. Associated Source Definition for XML Message Data


MQSeries MQ Source
Source Definition Qualifier

Associated Source Definition (XML)

Relational
Target

Associated Source
Qualifier (XML)

Note: The Designer does not validate the structure of the message data in the MQSeries source
definition. If the source definition does not exactly match the actual MQSeries source, the
session fails.

Reading XML Message Data Using an Associated Source Definition 99


For more information about importing associated source definitions, see “Associated Source
Definition” on page 28.
Note: For new mappings to read XML message data from an MQSeries source use an
MQSeries source definition and a Midstream XML Parser transformation. For more
information about reading XML message data from an MQSeries source, see “Reading XML
Message Data from an MQSeries Source” on page 31.

Creating an Associated Source Qualifier for XML Message Data


If you use an associated source definition for the XML message data, you must include an
associated source qualifier in your mapping. The associated source qualifier for an XML
source definition is an XML Source Qualifier. For information about creating an associated
source qualifier, see “Associated Source Qualifier Transformation” on page 40.

100 Appendix A: XML Message Data Without Midstream XML Transformations


Writing XML Message Data Using a Static MQSeries
Target Definition
You can use a static MQSeries target definition in the mapping when you load data in XML
format to the message data field in an MQSeries message. When you use a static MQSeries
target definition in the mapping, the PowerCenter Server only writes data to the message data
field in the message from the pipeline. It does not load any data to the message header fields
in the message.
Use an XML target definition as a static MQSeries target definition to load XML message
data to an MQSeries message. When you write to a static MQSeries target, you do not use a
dynamic MQSeries target definition in the mapping.
Figure A-2 shows a mapping with an XML target definition as the static MQSeries target:

Figure A-2. Mapping with a Static MQSeries Target

Static MQSeries Target


(XML Target Definition)

Note that the message header fields in the MQ Source Qualifier are not projected to any port
in the target definition. Since you are not loading data to the message header fields, the
message header fields in the MQSeries target remain static. The target definition only receives
data from the XML Source Qualifier.
Note: For new mappings to write XML message data to an MQSeries target, use a dynamic
target definition and a Midstream XML Generator transformation. For more information
about writing XML message data to an MQSeries target, see “Writing XML Message Data” on
page 69.

Writing XML Message Data Using a Static MQSeries Target Definition 101
Working with XML Message Data in Static MQSeries Targets
During a workflow, the PowerCenter Server can write XML message data to a static MQSeries
target in the following ways:
♦ The PowerCenter Server can write one XML document containing all XML data for a
session to a single MQSeries message.
♦ The PowerCenter Server can generate multiple, complete XML documents and write each
XML document to a separate MQSeries message during a session run.
♦ The PowerCenter Server can split a single XML document into multiple, partial XML
documents and write each one to a separate MQSeries message during a session run.
When you want to write XML data to a static MQSeries target, you specify how the
PowerCenter Server writes the data by configuring the On Commit Transformation Attribute
in the target properties settings in the Designer. You can select one of the following options:
♦ Ignore Commit
♦ Create New Document
♦ Append to Document
For more information about options in the properties settings, see “Writing XML Message
Data” on page 69.
Figure A-3 shows the XML output options in an XML target definition:

Figure A-3. XML Output Options for an XML Target Definition

102 Appendix A: XML Message Data Without Midstream XML Transformations


Using Commit Type and Commit Interval
When you select the Create New Document or Append to Document options you must
specify Source as the Commit Type and set a commit interval in the session properties. For
more information about Commit Type and commit interval, see “Using On Commit” on
page 70.

Creating Static MQSeries Target Definitions


The target definition you use in the mapping for a static MQSeries target is specific to the
format of the message data that you want to load. To create a target definition, you do not
have to connect to the target message queue to import the metadata for the target message
queue. You can define a target for XML message data in the following ways:
♦ Create the target definition by dragging the source definition of the message data into the
Warehouse Designer.
♦ Import the target definition by using Import from File or the XML Wizard.
For more information about creating or importing flat file or XML target definitions, see the
PowerCenter Designer Guide. For more information about using the XML Wizard, see the
PowerCenter XML User Guide.

Writing XML Message Data Using a Static MQSeries Target Definition 103
104 Appendix A: XML Message Data Without Midstream XML Transformations
Appendix B

MQSeries Datatype Reference

This appendix covers the following topic:


♦ Datatypes, 106

105
Datatypes
PowerCenter uses the following datatypes in MQSeries mappings:
♦ IBM MQSeries datatypes. IBM MQSeries datatypes appear in MQSeries source and
target definitions in a mapping.
♦ Native datatypes. Flat file, COBOL, or XML datatypes associated with MQSeries message
data. Native datatypes appear in flat file, VSAM, and XML source definitions. Native
datatypes also appear in flat file and XML target definitions in the mapping.
♦ Transformation datatypes. Transformation datatypes are generic datatypes that
PowerCenter uses during the transformation process. They appear in all transformations in
a mapping.

MQSeries Datatypes
The following datatypes display in the MQSeries source and target definitions:
♦ MQBYTE
♦ MQCHAR
♦ MQHEX
♦ MQLONG
For more information about MQSeries datatypes, see your IBM MQSeries documentation.

Native Datatypes
With PowerCenter Connect for MQSeries, you can extract message data from an MQSeries
source in flat file, COBOL, or XML format, and load message data in an MQSeries target in
flat file or XML format. For information about flat file and COBOL datatypes, see the
PowerCenter Designer Guide. For more information about XML datatypes, see the XML User
Guide.

Transformation Datatypes
When the PowerCenter Server reads data from an MQSeries source, it converts the data in the
message header fields and the message data field to transformation datatypes used in the MQ
Source Qualifier. When writing data to a target table, the PowerCenter Server converts the
data based on the native datatypes in the target table.

106 Appendix B: MQSeries Datatype Reference


Table B-1 lists the transformation datatypes that display in the MQ Source Qualifier for
MQSeries datatypes:

Table B-1. MQSeries and Transformation Datatypes

MQSeries Transformation Size in Bytes Description

MQBYTE Binary Precision 1 to 104,857,600 bytes


You can pass binary data from a source to a target, but you
cannot perform transformations on binary data. PowerCenter
does not support binary data for COBOL or flat file sources.

MQCHAR String Unicode mode: 1 to 104,857,600 characters


(precision + 1) * 2 Fixed-length or varying-length string.
ASCII mode:
precision + 1

MQHEX String Unicode mode: 1 to 104,857,600 characters


(precision + 1) * 2 Fixed-length or varying-length string.
ASCII mode:
precision + 1

MQLONG Integer 4 bytes Precision of 10 and scale of 0.


Integer value.

For information about transformation datatypes that display in the associated source qualifier
for flat file and COBOL datatypes, see the PowerCenter Designer Guide.

MQHEX Datatype Conversion


If a value for a field with the datatype MQHEX is shorter than the required 48 bytes, the
PowerCenter Server adds 0s to the data. If the value for the field is longer than the required
48 bytes, PowerCenter Server truncates the data.
If a value for a field with the datatype MQHEX is invalid, the PowerCenter Server drops the
row during the session run. The following examples show invalid values for a field with the
MQHEX datatype:
“123”

“123W”

In the first example, the field contains an odd number of characters. There should be two
characters per byte that represent the hexadecimal value of this byte. In the second example,
the field contains a W that cannot be converted to a numeric value. As a result, the
PowerCenter Server drops both of these rows during the session run.
If a field with the MQHEX datatype contains a decimal value, the data may be inconsistent.

Datatypes 107
108 Appendix B: MQSeries Datatype Reference
Appendix C

Code Pages

This appendix provides details about the following topic:


♦ Using Code Pages, 110

109
Using Code Pages
When you configure the queue connection in the Workflow Manager for an MQSeries source
or target, the PowerCenter Server automatically selects a code page for the message data,
which is the code page of the PowerCenter Server.
When the PowerCenter Server reads data from MQSeries sources that contain a different code
page than the PowerCenter Server, the PowerCenter Server can convert the data to the
PowerCenter Server code page if the data is in string format.
When the PowerCenter Server writes data to dynamic MQSeries targets that contain a
different code page than the PowerCenter Server, the PowerCenter Server can convert the
data to the code page of the MQSeries server when you set the data conversion option to “yes”
for the remote channel definition in MQSeries.
For a complete discussion of code page compatibility, see the PowerCenter Installation and
Configuration Guide.

110 Appendix C: Code Pages


Appendix D

MQSeries Error Messages


Appendix D

This appendix provides details about the following topics:


♦ Overview, 112
♦ Designer Messages, 113
♦ Server Messages, 114

111
Overview
PowerCenter Connect for IBM MQSeries returns messages when you perform tasks. Some
messages are errors, and some are informational. You can use this chapter to help determine
what causes error messages to appear and what measures you can take to correct the error.
When an error message is a result of an internal error, causes are listed when possible, but
contacting our technical support is still the best recourse. For contact information, see
“Obtaining Technical Support” on page xx.
Messages from PowerCenter Connect for IBM MQSeries can originate from the following
sources:
♦ PowerCenter Designer
♦ PowerCenter Server
♦ IBM MQSeries
The Designer displays messages while importing source definitions, creating and validating
mappings. The PowerCenter Server displays messages in the session log, server log, server
event log, or workflow log.
Messages from the IBM MQSeries can display in conjunction with PowerCenter messages.
For IBM MQSeries error messages, see your IBM MQSeries documentation.
For other PowerCenter messages, see the PowerCenter Troubleshooting Guide.

112 Appendix D: MQSeries Error Messages


Designer Messages
The Designer displays messages in message boxes, in the output window, and in the status bar
as you perform a task. The messages in this section relate to MQSeries mappings in the
Designer. For information about other error messages that appear in the Designer, see the
PowerCenter Troubleshooting Guide.

Connections from a MQ source cannot be modified.


Cause: You tried to modify the connections from the MQSeries source to the MQ
Source Qualifier.
Action: None. You cannot modify the connections from the MQSeries source to the
MQ Source Qualifier.

VSAM, XML, MQ sources connect to exactly one source qualifier transformation.


Cause: You tried to connect an MQSeries, VSAM, or XML source definition to more
than one Source Qualifier or Normalizer transformation. This action is not
allowed.
Action: Do not connect an MQSeries, VSAM, or XML source definition to more than
one Source Qualifier or Normalizer transformation.

Unable to delete links from an MQ source to an MQ Source Qualifier transformation.


Cause: You tried to delete the link between the MQSeries source definition and the
MQ Source Qualifier.
Action: None. You cannot delete links between the MQSeries source definition and
the MQ Source Qualifier.

Unable to delete links from an MQ Source Qualifier transformation to an associated source


qualifier transformation.
Cause: You tried to delete the link between MQ Source Qualifier and the associated
source qualifier.
Action: To delete the link, remove the association between the MQ Source Qualifier
and the associated source qualifier in the Edit Transformation dialog box of
the MQ Source Qualifier.

Cannot link to MsgId port.


Cause: You tried to link a non-MsgId port to a MsgId port.
Action: None. You cannot link a non-MsgId port to a MsgId port.

Designer Messages 113


Server Messages
The PowerCenter Server writes error and informational messages in the session log. The
PowerCenter Server on UNIX writes messages in the UNIX server log, pmserver.log, and the
UNIX server error log, pmserver.err. The PowerCenter Server on Windows writes messages in
the Windows Application Log, which you can view with the Event Viewer.
This section lists error messages specific to MQSeries sessions. For information about other
error messages in the session log, see the PowerCenter Troubleshooting Guide.

FR Codes
The following messages may appear when a session reads file sources:

FR_3061 Error opening MQSeries queue. Operating system error message.


Cause: When running a session that reads from MQSeries and flat file sources, the
queue could not be opened due to an error.
Action: Correct the error indicated in the additional error message.

FR_3075 Error: Source filetype cannot be indirect for an MQ associated source qualifier.
Cause: You selected Indirect for the Source filetype. When the mapping contains an
associated source qualifier, the source file type must be direct.
Action: Select Direct as the source file type.

FR_3078 Fatal error: Cannot flush an incomplete row in real time.


Cause: During a real-time session, the PowerCenter Server issued a commit while
processing a record. As a result, the session failed.
Action: Make sure that all message fields in the MQSeries source are complete before
running the session.

MQ Codes
MQ error messages contain an MQSeries error <reason> code and a <reason message>. For
example, in the error message below, the <reason> code is “2058” and the <reason message> is
“Q_MGR_NAME_ERROR.”
MQ_29001 “Cannot open queue [QUEUE_NAME], reason 2058 (Q_MGR_NAME_ERROR)”

You can use the <reason> code and the <reason message> to get more details about the error
from your IBM MQSeries documentation.
The messages are listed by error code number.

MQ_29000 Cannot connect to queue manager <queue manager> reason <reason> <reason
message>.
Cause: The queue manager name is inaccurate.

114 Appendix D: MQSeries Error Messages


Action: Check the queue manager name.
or
Cause: You might not have proper permission to connect to the queue manager.
Action: Verify your privileges to connect to the queue manager.

MQ_29001 Cannot open queue <queue> reason <reason> <reason message>.


Cause: The queue name is inaccurate.
Action: Check the queue name.
or
Cause: You might not have proper permission to connect to the queue.
Action: Verify your privileges to connect to the queue.

MQ_29002 Error closing queue <queue> reason <reason> <reason message>.


Cause: The PowerCenter Server could not close the message queue due to the reason
code stated in the message.
Action: Look up the reason code in your IBM MQSeries documentation for
instructions to correct the error.

MQ_29003 Error disconnecting from queue manager <queue manager> reason <reason>
<reason message>.
Cause: The PowerCenter Server could not disconnect from the queue manager due to
the reason code stated in the message.
Action: Look up the reason code in your IBM MQSeries documentation for
instructions to correct the error.

MQ_29004 Filter parse error: <parse error message>.


Cause: The filter condition in the MQ Source Qualifier is invalid.
Action: Correct the error stated in the parse error message.

MQ_29005 Error getting message from queue <queue>:<queue manager> reason


<reason> <reason message>.
Cause: The PowerCenter Server failed to get a message from the queue due to the
reason code stated in the message.
Action: Look up the reason code in your IBM MQSeries documentation for
instructions to correct the error.

MQ_29006 Message data truncated reading from queue <queue>:<queue manager> reason
<reason> <reason message>.
Cause: The message size is too large for the PowerCenter Server to read.
Action: Look up the reason code in your IBM MQSeries documentation for
instructions to correct the error.

Server Messages 115


MQ_29007 No message under cursor while attempting to remove message from queue
<queue>:<queue manager> reason <reason> <reason message>.
Cause: You might not have the permission to remove the message from the queue.
or
Cause: The message was removed by another process.
Action: Look up the reason code in your IBM MQSeries documentation for
instructions to correct the error.

MQ_29008 Error putting message on queue <queue>:<queue manager> reason <reason>


<reason message>.
Cause: The PowerCenter Server could not put message on the queue due to reason
code stated in message.
Action: Look up the reason code in your IBM MQSeries documentation for
instructions to correct the error.

MQ_29009 Invalid RowsPerMesage value for queue <queue>:<queue manager> (<rows per
message> > 0).
Cause: The Rows Per Message parameter in the session properties is incorrect.
Action: Specify a value greater than 0 for the Rows Per Message in the session
properties.

MQ_29010 Error opening cache <cache file> for reading: <operating system error>.
Cause: You might not have permission to read from the cache file.
or
Cause: The $PMCacheDir variable is incorrect.
Action: Fix the operating system error stated in the message.

MQ_29011 Error opening cache <cache file> for writing: <operating system error>.
Cause: You might not have permission to write to the cache file.
or
Cause: The hard disk is full.
or
Cause: The $PMCacheDir variable is incorrect.
Action: Fix the operating system error stated in the message. Look in the directory
$PMCacheDir.

MQ_29012 Error attempting to load MQ driver.


Cause: PowerCenter could not load the MQ driver shared library because the file does
not exist.

116 Appendix D: MQSeries Error Messages


Action: Verify the search path for the MQ driver shared library. Depending on your
platform, look for the driver file in the appropriate location:

Platform Driver File

Windows pmmqdrvc.dll

Solaris libpmmqdrvc.so

Linux libpmmqdrvc.so

AIX libpmmqdrvc.a

HP libpmmqdrvc.sl

or
Cause: PowerCenter could not load the MQ driver shared library due to insufficient
permissions.
Action: Make sure the permissions for the MQ driver file are correct.

MQ_29013 Delete operation for this target not enabled. Queue connection is
<queue>:<queue manager>.
Cause: The MQSeries target received a row with the delete flag set to TRUE. The
MQSeries target, however, was not setup to allow deletes.
Action: Enable deletes for the MQSeries target (by default DELETEs are enabled for
the MQSeries target).

MQ_29014 MsgId field has not been set. Queue connection is <queue>:<queue manager>.
Cause: You might not have projected the MsgId field into the dynamic MQSeries
target for message deletion.
Action: Make sure something is projected into the MsgId port of the dynamic
MQSeries target.

MQ_29100 Line <line>, column <column>: Unknown character ‘<character>’ in filter.


Cause: An expression has a general parsing error.
Action: Check the syntax of the expression.

MQ_29101 Line <line>, column <column>: Invalid operator.


Cause: An expression has a general parsing error.
Action: Check the syntax of the expression.

MQ_29102 Line <line>, column <column>: Unknown identifier <identifier>.


Cause: An expression has a general parsing error.
Action: Check the syntax of the expression.

Server Messages 117


MQ_29103 Line <line>, column <column>: String literal not terminated properly.
Cause: An expression has a general parsing error.
Action: Check the syntax of the expression.

MQ_29104 Line <line>, column <column>: Syntax Error.


Cause: An expression has a general parsing error.
Action: Check the syntax of the expression.

MQ_29105 Filter Expression does not have a boolean return type.


Cause: The filter condition does not return a boolean TRUE/FALSE value.
Action: Edit the filter expression to return a boolean TRUE/FALSE value.

MQ_29106 Line <line>, column <column>: Left operand must be boolean.


Cause: The filter expression does not contain a boolean operand.
Action: Check the left hand side of the logical operator in the filter expression.

MQ_29107 Line <line>, column <column>: Right operand must be boolean.


Cause: The filter expression does not contain a boolean operand.
Action: Check the right hand side of the logical operator in the filter expression.

MQ_29108 Line <line>, column <column>: Incompatible types for relational operator.
Cause: The relational operators [=, <>, >=, <=, >, <] in the left-hand and right-hand
sub-expression have incompatible datatypes.
Action: Edit the filter expression with compatible datatypes for relational operators in
the left-hand and right-hand sub-expression.

MQ_29109 Line <line>, column <column>: Not enough arguments to function, <function
name> () should have argument(s).
Cause: The function does not enough arguments.
Action: Apply arguments to the function in the filter expression.

MQ_29110 Line <line>, column <column>: Too many arguments to function, <function
name> () should have argument(s).
Cause: There are too many arguments in a function.
Action: Use fewer arguments in a function.

MQ_29111 Line <line>, column <column>: Wrong type in <function name> (), Argument
should be CHAR/BYTE.
Cause: The function expects an argument in MQCHAR or MQBYTE type.
Action: Make sure argument is of MQCHAR or MQBYTE type in the filter
expression.

118 Appendix D: MQSeries Error Messages


MQ_29112 Line <line>, column <column>: Wrong type in <function name> (), Argument
should be BOOLEAN.
Cause: The function expects an argument in boolean type.
Action: Make sure argument is of boolean type in the filter expression.

MQ_29113 Line <line>, column <column>: Wrong type in <function name> (), Argument
should be LONG.
Cause: The function expects an argument in MQLONG type.
Action: Make sure argument is of MQLONG type in the filter expression.

MQ_29114 Line <line>, column <column>: String literal not terminated properly.
Cause: The string literals must be in double quotes.
Action: Use double quotes to enclose string literals in the filter expression.

MQ_29115 Line <line>, column <column>: Bad date format in <function name> (),
Argument <argument number> should be <correct date format>.
Cause: The argument in the function does not contain the correct date format.
Action: Use the <correct date format> for the argument in the filter expression.

MQ_29200 Projected column metadata fetch failed.


Cause: Internal error.
Action: Contact Informatica Technical Support.

MQ_29201 Cannot retrieve source filter.


Cause: Internal error.
Action: Contact Informatica Technical Support.

MQ_29202 Unable to retrieve cache file name.


Cause: Internal error.
Action: Contact Informatica Technical Support.

MQ_29203 Error opening queue <queue>:<queue manager> because <reason>.


Cause: The PowerCenter Server could not open the queue due to the reason code
stated in message. You may have selected to install the MQSeries server driver
during installation. However, the MQSeries server is not installed on the
machine hosting the PowerCenter Server.
Action: Reinstall the PowerCenter Connect for IBM MQSeries Server. Make sure to
select the MQSeries client driver during installation.
or
Action: Look up the reason code in your IBM MQSeries documentation for
instructions to correct the error.

Server Messages 119


MQ_29204 Error fetching message from queue <queue>:<queue manager> because <error
message>.
Cause: The PowerCenter Server could not fetch message from the queue due to the
error.
Action: Correct the error indicated in the error message.

MQ_29207 Error closing queue <queue>:<queue manager>: <error message>.


Cause: The PowerCenter Server could not close the queue due to the error stated in
the message.
Action: Correct the error indicated in the error message.

MQ_29208 Error putting message on queue <queue>:<queue manager>: <error message>.


Cause: The PowerCenter Server could not put the message on the queue due to the
error stated in the message.
Action: Correct the error indicated in the error message.

MQ_29210 Error attempting to get MQ Connection information.


Cause: Internal error.
Action: Contact Informatica Technical Support.

MQ_29211 Warning: Some message data was truncated reading from queue
<queue>:<queue manager>.
Cause: This is only a warning. The MQ reader truncated one or more
MESSAGE_DATA columns because the size of the message exceeded the
maximum size for the MESSAGE_DATA port in the MQ Source Qualifier.
Action: However, you can increase the size of the MESSAGE_DATA column in the
MQ Source Qualifier. For more information about increasing the size of the
MESSAGE_DATA column, see “Message Data Field” on page 43.

MQ_29212 Warning: Message with a total length of <length> was truncated to <length>.
Cause: This is only a warning. This is a more detailed warning that appears when
Tracing is set to “VERBOSE RUN.” The message number is given as
MSGNO.
Action: However, you can increase the size of the MESSAGE_DATA column in the
MQ Source Qualifier. For more information about increasing the size of the
MESSAGE_DATA column, see “Message Data Field” on page 43.

MQ_29213 No filter is specified for queue <queue>:<queue manager>.


Cause: This is an informational message. It indicates that there is no filter set for
reading messages from the queue.
Action: None. You can enter a filter condition in the MQ Source Qualifier or in the
session properties.

120 Appendix D: MQSeries Error Messages


MQ_29214 MQ Driver initialization failure <message>.
Cause: An error occurred during the initialization of the MQ Driver.
Action: Check the additional error message for more information.

MQ_29218 Filter Condition for MQSeries: StartTime should be prior to EndTime.


Cause: This is an informational message. The value for StartTime in the filter
condition is equal to or greater than the value entered for EndTime.
Action: Make sure the StartTime value is less than the EndTime value.

MQ_29219 <number of messages> messages were removed from queue <queue>:<queue


manager>.
Cause: This is an informational message. When the RemoveMsg(TRUE) or
Destructive Read functions are used in a filter condition, the PowerCenter
Server logs the number of messages removed from each message queue.
Action: None.

MQ_29220 Warning: Filter contains StartTime() but no EndTime().


Cause: This is a warning message. There is a StartTime value in the filter condition
for the MQSeries session but no EndTime value.
Action: Check the filter expression and enter an EndTime value.

MQ_29221 Partial message written into queue <queue>:<queue manager> due to commit.
Cause: This is an informational message. The PowerCenter Server did not commit all
rows in a message to the target. This might occur when the PowerCenter
Server reaches the end of a commit interval or a short FlushLatency interval. It
commits the remaining rows at the next commit interval.
Action: None.

MQ_29222 Error committing from queue manager <queue manager>: reason <reason>
<reason message>.
Cause: The PowerCenter Server could not commit messages to the target. The
MQSeries system may not contain enough log space.
Action: Verify that your MQSeries system contains enough log space.
or
Action: Check the additional error message for more information.

MQ_29223 Error backing out from queue manager <queue manager>: reason <reason>
<reason message>.
Cause: The PowerCenter Server could not roll back messages from the target.
Action: Check the additional error message for more information.

Server Messages 121


MQ_29224 Device failed to commit: <error message>.
Cause: The PowerCenter Server could not commit messages to the target.
Action: Check the additional error message for more information.

MQ_29225 Device failed to back out: <error message>.


Cause: The PowerCenter Server could not roll back messages from the target.
Action: Check the additional error message for more information.

MQ_29226 Device failed to connect to queue manager: <error message>.


Cause: The PowerCenter Server could not connect to the queue manager. The session
failed to initialize.
Action: Check the additional error message for more information.

MQ_ 29231 Transactional MQ targets with the same queue manager name cannot be in
different TCUs.
Cause: The MQSeries targets have the same queue connection but belong to different
transaction control units (TCU). As a result, the session failed.
Action: Make sure that all MQSeries targets with the same queue connection belong to
the same TCU. For more information about TCUs, see the PowerCenter
Transformation Guide.

MQ_29234 Write to recovery cached failed.


Cause: Recovery cache folder is not available.
Action: Check that the recovery cache folder exists and has write permission.
or
Cause: The target may have insufficient disk space.
Action: Verify that enough disk space is available in the target.

MQ_29237 Failure occurred while reading messages from the queue in destructive mode.
Cause: The IBM MQSeries installation may not allow deleting messages from the
queue.
Action: Look up the reason code in your IBM MQSeries documentation for
instructions to correct the error.

MQ_29238 Invalid recovery cache folder specified.


Cause: The recovery cache folder is invalid.
Action: From the properties settings on the Mapping tab (Sources node) in the session
properties, specify a valid recovery cache folder.

122 Appendix D: MQSeries Error Messages


MQ_29239 Reader partition <partition name> failed to close checkpoint at real-time flush:
<additional error message>.
Cause: There may be insufficient disk space when the PowerCenter Server commits
messages to the target after the Real-time Flush Latency period expires.
Action: Verify that enough disk space is available in the target.

MQ_29240 Cache folder specified for reader partition <partition name> is invalid.
Cause: The operating system cannot find the recovery cache folder.
Action: Verify the recovery cache folder specified in the session properties exists.

MQ_29241 Reader partition <partition name> failed to register recovery.


Cause: Your operating system may be low on memory.
Action: Verify your system has sufficient memory.

MQ_29242 Consumer handle failed to initialize.


Cause: The name of the recovery cache folder may be incorrect.
Action: Verify the recovery cache folder name specified in the session properties.
or
Action: Contact your system administrator.

MQ_29243 Reader partition failed to read cached message.


Cause: The recovery cache file may be deleted.
Action: Verify that the cache file and directory exist. Specify the correct path to the
cache file directory in the properties settings on the Mapping tab (Sources
node) in the session properties.

MQ_29244 Reader partition <partition name> failed doing GMD flush: <additional error
message>.
Cause: The recovery cache folder may have insufficient memory.
Action: Verify the recovery cache folder has sufficient memory for large files.
or
Cause: The recovery cache folder may not have write permission.
Action: Verify the recovery cache folder has write permission.

MQ_29245 You cannot specify both Destructive Read and RemoveMsg(TRUE).


Cause: You selected the Destructive Read option and specified the
RemoveMsg(TRUE) function as a filter condition.
Action: You must set the RemoveMsg(TRUE) function to RemoveMsg(FALSE) in the
filter condition or remove the function from the filter condition.

Server Messages 123


MQ_29246 The mapping contains an associated Source Qualifer.
Cause: You specify the Destructive Read option in a mapping with an associated
source qualifier.
Action: The PowerCenter Server ignores the Destructive Read option if the mapping
contains an associated source qualifier. To remove messages from the source
queue for mappings that contain an associated source qualifier, use the
RemoveMsg(TRUE) function.

REP Codes
The following messages relate to repository functions and may appear in the session log.

REP_12975 There is no existing MQ Connection to choose for <connection string> in the


target repository.
Cause: This is an informational message. You tried to copy an MQSeries session to a
target repository that has no defined queue connections.
Action: Create at least one queue connection in the target repository.

REP_32057 Error: Populating default fields for MQ Source.


Cause: Internal error.
Action: Contact Informatica Technical Support.

REP_32058 Error: Populating default fields for MQ Target.


Cause: Internal error.
Action: Contact Informatica Technical Support.

TE Codes
The following messages relate to transformations used in the session.

TE_7109 Fatal Error: Mapping conflicts with RealTime Commit.


Cause: The mapping contains two active sources in a pipeline. You cannot use two
active sources in a pipeline for a real-time session.
Action: Use only one active source in a pipeline for a real-time session. For more
information about active sources in a pipeline, see the PowerCenter Workflow
Administration Guide.

TE_7111 Error: RealTime commit does not allow partition types other than pass-through
for each partitioning point.
Cause: You selected a partition type other than pass-through for a partition point for a
real-time session.
Action: When you run a real-time session, you must select pass-through partitioning at
all partition points.

124 Appendix D: MQSeries Error Messages


TE_7127 Error: Real-time commit does not allow user-defined commit.
Cause: You configured a session with the FlushLatency(n) filter condition and
selected user-defined commit as the commit type. This is not allowed.
Action: To run a workflow in real time with the FlushLatency(n) filter condition,
select source-based commit as the commit type.
or
Action: To run a workflow with user-defined commit as the commit type, remove the
FlushLatency(n) filter condition. If you want to run a workflow in real time
with the user-defined commit type, enter the ForcedEOQ(n) filter condition.

TE_7131 Error: The transformation <transformation> is not configured to propagate


transactions. Real-time is not supported.
Cause: You configured a session using the FlushLatency(n) filter condition. However,
the pipeline configuration prevents the session from being run in real time.
Action: If you do not want to run the session in real time, remove FlushLatency(n)
function from the filter condition.
or
Action: To run the session in real time, verify that your pipeline does not contain any
of the above real-time limitations. For a list of real-time limitations, see
“Controlling Data Extraction in Real Time” on page 50.

TE_7135 Error: Recovery is enabled for more than one source in the concurrent source
set. Recovery is not supported for such mappings. The sources enabled for GMD
in the concurrent source set are <source names>.
Cause: You attempted to perform session recovery on a mapping that contains one
target load order group with multiple sources, and one or more of those
sources is a real-time source. The real-time sources in the target load order
group are connected to a multiple input group transformation or target.
Action: If the sources are connected to a Joiner transformation, you can enable the
backward compatibility flag. The backward compatibility flag allows the
PowerCenter Server to read sources connected to a Joiner transformation
sequentially as it did in versions prior to 6.x.
or
Action: If the sources in the target load order group are connected to a multiple input
group other than the Joiner transformation, disable session recovery. To
remove message recovery for the session, clear the Enable Recovery option in
the session properties.

Server Messages 125


TM Codes
The following message is generated by the Data Transformation Manager:

TM_6264 Connection is not set in the Workflow Manager for the MQ Source Qualifer
transformation <MQ Source Qualifer name> partition <partition name>. The
session failed.
Cause: The PowerCenter Server cannot find the queue connection you specified. As a
result, the session failed.
Action: Assign a valid queue connection to the session. Then, validate the session.

WRT Codes
The following messages are generated by the Writer and may appear in the session log:

WRT_8188 Invalid MQ header for <target name> target.


Cause: Internal error.
Action: Contact Informatica Technical Support.

WRT_8189 Invalid field type (MQCHAR expected) for <target name> target.
Cause: Internal error.
Action: Contact Informatica Technical Support.

WRT_8226 Target Load Order Group <TLOG> is set for real-time flushing. Target based
commit is switched to source based commit and target based commit interval is
used as source based commit interval.
Cause: This is an informational message. You configured the session for real-time data
extraction with target-based commits. The PowerCenter Server will run the
session with source-based commits.
Action: If you want to run the session in real time, you do not need to take any action.
or
Action: If you want to run the session with target-based commits, remove the
FlushLatency(n) function from the filter condition.

126 Appendix D: MQSeries Error Messages


XMLW Codes
The following messages are generated by the XML Writer and the Data Transformation
Manager:

XMLW_31056 Fatal error opening MQ Series queue <queue> for XML output.
Cause: The PowerCenter Server could not open the MQSeries queue.
Action: Verify that your MQSeries environment settings are correct, that the queue
you specified in the queue connection properties exists, and that the
connection properties are valid.

Server Messages 127


128 Appendix D: MQSeries Error Messages
Index

A Concat
description 48
associated source definition configuring
description 36 channels for Queue Managers 16
importing 36 message recovery 83
types 36 MQ Source Qualifier 61
working with 36 MQSeries queue managers 16
associated source qualifier PowerCenter Connect for IBM MQ Series 12
connecting to MQ Source Qualifier 46 queue connection attributes 21
creating 64 Queue Connection Properties 21
creating for XML message data 100 real-time sessions 80
description 45 session slots 85
message data format 45 transactional consistency 68, 85
MsgId 46 connections
Normalizer transformation 45 configuring 78
overview 7, 40 continuous workflows
types 45 configuring session slots 85
description 85
creating
C mappings 8
MQSeries Server-Connection Channel 16
client-connection channel MQSeries source definitions 8, 33
configuring for an MQSeries queue manager 17 sessions 9
COBOL
See VSAM source definition
code pages
See also PowerCenter Installation and Configuration
D
Guide datatypes
supported 110 See also PowerCenter Designer Guide

129
transformation 41 static MQSeries target 73
Destructive Read FlushLatency
using for queue clean-up 53 definition 48
documentation ForcedEOQ
conventions xviii definition 48
description xv functions
online xviii Concat 48
dynamic MQSeries target definitions defining queue reading mode 49
creating 75 EndTime 48
datatypes 68 FlushLatency 48
description 67 ForcedEOQ 48
editing 75 Idle 48
overview 66 MsgCount 48
working with 67 RemoveMsg(TRUE) 54
StartTime 48
using in filter conditions 48
E
editing
MQSeries source definitions 34
I
EndTime IBM MQSeries
description 48 installing 12
error messages Idle mode
Designer 113 configuring 50
FR codes 114 description 48
MQ codes 114 importing
overview 112 associated source definition 36
PowerCenter Server 114 incremental data extraction
REP codes 124 description 52
session log 114 Informatica
TE codes 124 documentation xv
TM codes 126 Webzine xix
WRT codes 126 installing
XMLW codes 127 See also PowerCenter Installation and Configuration
Guide
IBM MQSeries 12
F installation steps 12
PowerCenter Connect for IBM MQSeries Client 15
filters PowerCenter Connect for IBM MQSeries Server on
creating 59 UNIX or Linux 13
defining queue reading mode 49 PowerCenter Connect for IBM MQSeries Server on
description 56 Windows 13
entering 56
language 56
logical operators 56
messages 6
M
syntax rules 57 mapping parameters
using functions 48 See also PowerCenter Designer Guide
using message header ports 57 setting 40, 79
flat files mapping variables
associated source definition 28 See also PowerCenter Designer Guide
associated source qualifier 64 setting 40, 79

130 Index
mappings data extraction process 7, 8
creating 8 data loading process 7, 8
Message Count definition 3
configuring 50 sources 6, 27
description 50 targets 6
message header MQSeries listener
description 4 starting before you run a workflow 95
filtering messages 30 MQSeries queue managers
loading message header data 74 configuring channels 16
message IDs MQSeries source definitions
in Midstream XML Generator transformations 71 associating message data 30
in Midstream XML Parser transformations 32 association 30
message queue creating 8, 33
data source 28 defined 28
description 3 editing 34
message recovery message data field 30
configuring 83 message header fields 29
description 83 MsgId 30
recovery cache folder 83 working with 29
using with certified messages 83 MQSeries static target definitions
messages configuring for XML data 102
data field 5 MQSeries target definitions
definition 3 See dynamic MQSeries target definitions
filtering 6 See static MQSeries target definitions
identification 30 MsgCount
Midstream XML Generator description 48
description 69 MsgId
pass-through ports 71 association in MQ Source Qualifier 46
Midstream XML Parser MQSeries source definitions 30
description 31 MQSeries target definition 67
pass-through ports 32
MQ Source Qualifiers
configuring 61 N
connecting to an associated source qualifier 44
creating 61 Normalizer transformation
description 42 associated source qualifier 64
filtering data 40
for multiple message queues 42
message data datatypes 43 P
message data port 43
message header ports 43 pass-through ports
overview 7, 40 creating in Midstream XML Generator
selecting an associated source qualifier 40 transformations 71
setting mapping parameters 40 creating in Midstream XML Parser transformations 32
setting mapping variables 40 PowerCenter Connect for IBM MQSeries
setting message data size 40 uninstalling 25
setting tracing level 40 PowerCenter Server
working with 42 installing 13
MQSeries
architecture 3
configuring channels for queue managers 16

Index 131
Q MQSeries 28
overview 28
queue clean-up starting
Destructive Read 53 MQSeries listener 95
RemoveMsg(TRUE) 54 StartTime
Queue Connections description 48
test 23 using the $$$SessStartTime variable 50
Queue Manager static MQSeries target definitions
description 3 creating 74, 103
queue reading modes defined 73
description 49 for XML 101
Idle mode 50 importing 74, 103
Message Count mode 50 loading message header data 74
time slice mode 50 multiple targets 74
overview 66
working with 73, 101
R system environment variables
configuring for queue connections 17
real-time sessions
configuring FlushLatency 80
configuring ForcedEOQ 82
configuring source-based commit 81
T
description 80 target connection groups
recovery maintaining transactional consistency 68, 85
See message recovery testing
recovery cache folder Queue Connections 23
for message recovery 83 time slice mode
RemoveMsg(TRUE) configuring 50
description 54 description 50
using for queue clean-up 54 transactional consistency
restrictions configuring 85
debug sessions 2 defined 66
lookup transformation 2 with dynamic MQ targets 68
running transformations
sessions 9 Midstream XML Generator 69
Midstream XML Parser 31

S
server-connection channel
U
configuring for an MQSeries queue manager 16 uninstalling
session logs PowerCenter Connect for IBM MQSeries 25
description 114
sessions
creating 9 V
overview 78
running 9 VSAM
$$$SessStartTime variable associated source definition 28, 30
using for StartTime 50
source definitions
associated 28

132 Index
W
webzine xix

X
XML
associated source qualifier 100
Midstream XML Generator transformations 69
Midstream XML Parser transformations 31
reading message data 31
static MQSeries target 73, 101
writing message data 69
writing XML data to MQSeries messages with static
targets 102

Index 133
134 Index

You might also like