powercenter connect for ibm mqseries 8.1.1 ... - informatica documentation/1/pcco… · the...

108
User Guide Informatica PowerCenter Connect for IBM MQSeries (Version 8.1.1)

Upload: others

Post on 22-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

User Guide

Informatica PowerCenter Connect

for IBM MQSeries

(Version 8.1.1)

Page 2: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Informatica PowerCenter Connect for IBM MQSeries User GuideVersion 8.1.1September 2006

Copyright © 2000-2006 Informatica Corporation.All rights reserved. Printed in the USA.

This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use and disclosure and are 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 and 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, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerMart, SuperGlue, Metadata Manager, Informatica Data Quality and Informatica Data Explorer 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 and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies, 1999-2002. All rights reserved. Copyright © Sun Microsystems. All Rights Reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal Technology Corp. All Rights Reserved.

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

Portions of this software contain copyrighted material from The JBoss Group, LLC. Your right to use such materials is set forth in the GNU Lesser General Public License Agreement, which may be found at http://www.opensource.org/licenses/lgpl-license.php. The JBoss materials are provided free of charge by Informatica, “as-is”, without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose.

Portions of this software contain copyrighted material from Meta Integration Technology, Inc. Meta Integration® is a registered trademark of Meta Integration Technology, Inc.

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

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit and redistribution of this software is subject to terms available at http://www.openssl.org. Copyright 1998-2003 The OpenSSL Project. All Rights Reserved.

The zlib library included with this software is Copyright (c) 1995-2003 Jean-loup Gailly and Mark Adler.

The Curl license provided with this Software is Copyright 1996-2004, Daniel Stenberg, <[email protected]>. All Rights Reserved.

The PCRE library included with this software is Copyright (c) 1997-2001 University of Cambridge Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel. The source for this library may be found at ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre.

InstallAnywhere is Copyright 2005 Zero G Software, Inc. All Rights Reserved.

Portions of the Software are Copyright (c) 1998-2005 The OpenLDAP Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted only as authorized by the OpenLDAP Public License, available at http://www.openldap.org/software/release/license.html.

This Software may be protected by U.S. and international Patents and Patents Pending.

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.

Page 3: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Table of Contents

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Visiting the Informatica Developer Network . . . . . . . . . . . . . . . . . . . . xiii

Visiting the Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . xiii

Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

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

Understanding Secure Sockets Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Chapter 2: Configuring PowerCenter Connect for IBM MQSeries . . . . 9

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Configuring PowerCenter Connect for IBM MQSeries . . . . . . . . . . . . . . 10

Step 1. Set System Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Step 2. Set System Environment Variables for SSL Configuration . . . . . . . . . 12

i i i

Page 4: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Step 3. Configure Channels for Queue Managers . . . . . . . . . . . . . . . . . . . . . 13

Creating an MQSeries Server-Connection Channel . . . . . . . . . . . . . . . . . 13

Creating a Client-Connection Channel . . . . . . . . . . . . . . . . . . . . . . . . . 14

Setting System Environment Variables for Queue Connections . . . . . . . . 14

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

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Associated Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Working with an MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . 19

Message Header Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Message Data Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Reading XML Message Data from an MQSeries Source . . . . . . . . . . . . . . 21

Creating an MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . . 23

Editing an MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . 24

Working with an Associated Source Definition . . . . . . . . . . . . . . . . . . . . . . . 25

Importing an Associated Source Definition . . . . . . . . . . . . . . . . . . . . . . 25

Chapter 4: MQ Source Qualifier Transformation . . . . . . . . . . . . . . . . 27

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

MQ Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Associated Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . 28

Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Working with an MQ Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Message Header Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Message Data Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Working with an Associated Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . 32

Filtering Messages from the Source Queue . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Controlling End of File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Controlling Data Extraction in Real Time . . . . . . . . . . . . . . . . . . . . . . . 37

Controlling Forced End of Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Controlling Incremental Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Controlling Queue Clean-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Entering a Filter Condition in the MQ Source Qualifier . . . . . . . . . . . . . . . . 42

Filter Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Filtering Messages Using Message Header Ports . . . . . . . . . . . . . . . . . . . 43

iv Table of Contents

Page 5: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Entering a Filter Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Creating an MQ Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Configuring an MQ Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Creating an Associated Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

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

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Dynamic MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 50

Static MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Working with a Dynamic MQSeries Target Definition . . . . . . . . . . . . . . . . . 51

Maintaining Transactional Consistency for Dynamic MQSeries Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Writing XML Message Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Working with a Static MQSeries Target Definition . . . . . . . . . . . . . . . . . . . . 56

Loading Message Header Data to a Static MQSeries Target . . . . . . . . . . . 56

Multiple Static MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . . 57

Creating Static MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . . 57

Creating a Dynamic MQSeries Target Definition . . . . . . . . . . . . . . . . . . . . . 58

Editing an MQSeries Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . 58

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

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Working with MQSeries Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Entering a Filter Condition in the Session Properties . . . . . . . . . . . . . . . 61

Extracting Data in Real Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Message Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Configuring Destructive Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Configuring Resilience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Configuring Transactional Consistency for Dynamic MQSeries Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Pipeline Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Configuring a Session with an MQSeries Mapping . . . . . . . . . . . . . . . . . . . . 68

Scheduling Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Continuous Workflows and Real-time Sessions . . . . . . . . . . . . . . . . . . . 74

Running Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Appendix A: XML Message Data Without

Table of Contents v

Page 6: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Midstream XML Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Reading XML Message Data Using an Associated Source Definition . . . . . . . 79

Importing an Associated Source Definition . . . . . . . . . . . . . . . . . . . . . . 79

Creating an Associated Source Qualifier for XML Message Data . . . . . . . 80

Writing XML Message Data Using a Static MQSeries Target Definition . . . . . 81

Working with XML Message Data in Static MQSeries Targets . . . . . . . . . 82

Creating Static MQSeries Target Definitions . . . . . . . . . . . . . . . . . . . . . 83

Appendix B: IBM MQSeries Datatype Reference . . . . . . . . . . . . . . . . 85

Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

IBM MQSeries Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Native Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

MQHEX Datatype Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Appendix C: Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89

Using Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91

vi Table of Contents

Page 7: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

List of Figures

Figure 3-1. MQSeries Source Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

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

Figure 3-3. MQSeries Message and Source Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Figure 3-4. Mapping with a Midstream XML Parser Transformation . . . . . . . . . . . . . . . . . . . 22

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

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

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

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

Figure 4-2. Associated Source Qualifier (Flat File Source Qualifier) . . . . . . . . . . . . . . . . . . . . 33

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

Figure 4-4. Properties Tab in the MQ Source Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

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

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

Figure 5-1. Mapping with a Midstream XML Generator Transformation . . . . . . . . . . . . . . . . 53

Figure 5-2. Midstream XML Generator Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

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

Figure 5-4. Mapping with a Static MQSeries Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

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

Figure 6-2. Recovery Cache Folder in the Session Properties . . . . . . . . . . . . . . . . . . . . . . . . . 65

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

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

Figure A-2. Mapping with a Static MQSeries Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

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

List of Figures vii

Page 8: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

viii List of Figures

Page 9: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

List of Tables

Table 1-1. MQSeries Message Header Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Table 2-1. Command Parameters to Define the Server-Connection Channel . . . . . . . . . . . . . . 13

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

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

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

Table 4-1. Associated Source Qualifier Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Table 4-2. Logical Operators for Filter Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Table 4-3. Logical Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

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

Table 6-1. runmqlsr Command Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Table B-1. MQSeries and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

List of Tables ix

Page 10: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

x List of Tables

Page 11: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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.

xi

Page 12: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

About This Book

The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build MQSeries 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 the IBM MQSeries documentation.

The material in this book is also available online.

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.

xii Preface

Page 13: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Other Informatica Resources

In addition to the product manuals, Informatica provides these other resources:

♦ Informatica Customer Portal

♦ Informatica web site

♦ Informatica Developer Network

♦ Informatica Knowledge Base

♦ 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 Knowledge Base, Informatica Documentation Center, and access to the Informatica user community.

Visiting the Informatica Web Site

You can access the Informatica corporate web site at http://www.informatica.com. The site contains information about Informatica, its background, upcoming events, and sales offices. You will also find product and partner information. The services area of the site includes important information about technical support, training and education, and implementation services.

Visiting the Informatica Developer Network

You can access the Informatica Developer Network at http://devnet.informatica.com. The Informatica Developer Network is a web-based forum for third-party software developers. The site contains information about how to create, market, and support customer-oriented add-on solutions based on interoperability interfaces for Informatica products.

Visiting the Informatica Knowledge Base

As an Informatica customer, you can access the Informatica Knowledge Base at http://my.informatica.com. Use the Knowledge Base to search for documented solutions to known technical issues about Informatica products. You can also find answers to frequently asked questions, technical white papers, and technical tips.

Obtaining Technical Support

There are many ways to access Informatica Technical Support. You can contact a Technical Support Center by using the telephone numbers listed the following table, you can send email, or you can use the WebSupport Service.

Preface xiii

Page 14: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Use the following email addresses to contact Informatica Technical Support:

[email protected] for technical inquiries

[email protected] for general customer service requests

WebSupport requires a user name and password. You can request a user name and password at http://my.informatica.com.

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

Informatica Corporation Headquarters

100 Cardinal Way

Redwood City, California

94063

United States

Toll Free

877 463 2435

Standard Rate

United States: 650 385 5800

Informatica Software Ltd.

6 Waltham Park

Waltham Road, White Waltham

Maidenhead, Berkshire

SL6 3TN

United Kingdom

Toll Free

00 800 4632 4357

Standard Rate

Belgium: +32 15 281 702

France: +33 1 41 38 92 26

Germany: +49 1805 702 702

Netherlands: +31 306 022 797

United Kingdom: +44 1628 511 445

Informatica Business Solutions Pvt. Ltd.

Diamond District

Tower B, 3rd Floor

150 Airport Road

Bangalore 560 008

India

Toll Free

Australia: 00 11 800 4632 4357

Singapore: 001 800 4632 4357

Standard Rate

India: +91 80 4112 5738

xiv Preface

Page 15: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

C h a p t e r 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

♦ Understanding Secure Sockets Layer, 8

1

Page 16: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

You can configure PowerCenter Connect for IBM MQSeries for high availability. The Integration Service can make multiple attempts to connect to an MQSeries queue during a session to read MQSeries messages. If the Integration Service cannot connect to the MQSeries queue, it tries to connect for a specified period of time. For more information about high availability during an MQSeries session, see “Configuring Resilience” on page 65 and “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

2 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries

Page 17: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 the 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 “Setting System Environment Variables for Queue Connections” on page 14.

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

Message Header

The message header component contains data about the message on the queue. Message header data includes a message identification number, message format information, and other

MQSeries Architecture 3

Page 18: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

message descriptor data. In PowerCenter, MQSeries sources and dynamic MQSeries targets contain MQSeries message header fields. For more information about MQSeries sources, see “Working with MQSeries Sources” on page 17. For more information about MQSeries targets, see “Working with MQSeries Targets” on page 49.

Table 1-1 lists all the fields in the message header component of an IBM MQSeries message, including descriptions and datatypes:

Table 1-1. MQSeries Message Header Fields

MQSeries Message Header Datatype Description

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.

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

ApplOrigData String(4) Application data relating to origin.

GroupId Binary(24) Group identifier.

MsgSeqNumber Number Sequence number of logical messages within group.

4 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries

Page 19: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 contain an MQSeries message data field. For more information about MQSeries sources, see “Working with MQSeries Sources” on page 17. For more information about MQSeries targets, see “Working with MQSeries Targets” on page 49.

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

MsgFlags Number Message flags.

OriginalLength Number Length of original message.

Table 1-1. MQSeries Message Header Fields

MQSeries Message Header Datatype Description

MQSeries Architecture 5

Page 20: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

PowerCenter treats the message data component of a message as a field containing message data. The Integration Service 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 17.

MQSeries Targets

The Integration Service 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 49.

6 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries

Page 21: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

MQSeries Source Qualifier Transformations

A source qualifier is a transformation that determines how the Integration Service 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 Integration Service 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 27.

MQSeries Source Qualifier Transformations 7

Page 22: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Understanding Secure Sockets Layer

To manage the security of messages transmitted on the Web, PowerCenter Connect for IBM MQSeries uses the Secure Sockets Layer (SSL) protocol. SSL helps you achieve authentication, integrity, and privacy on the Web. It allows for secure communication between client and server by allowing mutual authentication, use of digital signatures on messages for integrity, and encryption for privacy.

Configure the communication channels between the MQSeries server and PowerCenter Connect for IBM MQSeries to use SSL. For more information about configuring SSL for PowerCenter Connect for IBM MQSeries, see “Step 2. Set System Environment Variables for SSL Configuration” on page 12 and the IBM MQSeries documentation.

8 Chapter 1: Understanding PowerCenter Connect for IBM MQSeries

Page 23: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

C h a p t e r 2

Configuring PowerCenter

Connect for IBM MQSeries

This chapter includes the following topics:

♦ Overview, 10

♦ Step 1. Set System Environment Variables, 11

♦ Step 2. Set System Environment Variables for SSL Configuration, 12

♦ Step 3. Configure Channels for Queue Managers, 13

9

Page 24: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 configure PowerCenter Connect for IBM MQSeries, 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 running the Integration Service. For more information about installing and configuring IBM MQSeries, see the IBM MQSeries documentation.

Configuring PowerCenter Connect for IBM MQSeries

To install and configure PowerCenter Connect for IBM MQSeries, complete the following steps:

1. Set system environment variables for AIX. For more information, see “Step 1. Set System Environment Variables” on page 11.

2. Set system environment variables for SSL configuration. For more information, see “Step 2. Set System Environment Variables for SSL Configuration” on page 12.

3. Configure channels for a queue manager. For more information, see “Step 3. Configure Channels for Queue Managers” on page 13.

10 Chapter 2: Configuring PowerCenter Connect for IBM MQSeries

Page 25: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Step 1. Set System Environment Variables

When you configure the Integration Service to run 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 Integration Service.

To set memory address space for the IPC segment on the Integration Service:

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

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

Step 1. Set System Environment Variables 11

Page 26: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Step 2. Set System Environment Variables for SSL

Configuration

You need to set system environment variables for SSL configuration before starting the Integration Service.

To set system environment variables for SSL configuration:

1. Stop the Integration Service, if it is already running.

2. Set values for the environment variables as mentioned in the following table:

Note: Do not enter a value for the MQSERVER variable when configuring the system for SSL. If you enter a value for the MQSERVER variable, it overrides the values set for other environment variables.

3. Start the Integration Service.

Environment Variable Value

MQCHLTAB MQCHLTAB = AMQCLCHL.TAB

MQCHLLIB MQCHLLIB = <MQ Home Directory>/Qmgrs/<QM Name>/@ipcc

MQSSLKEYR MQSSLKEYR = <MQ Home Directory>/Qmgrs/<QM Name>/ssl/<key repository>

MQSERVER MQSERVER =

12 Chapter 2: Configuring PowerCenter Connect for IBM MQSeries

Page 27: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Step 3. Configure Channels for Queue Managers

Before you can run a session with MQSeries sources or targets, you must configure channels for an MQSeries queue manager.

To configure channels, complete 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 session, you must also configure a client-connection channel.

3. After 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 or UNIX.

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 to define the server-connection channel:

Table 2-1. Command Parameters to Define the Server-Connection Channel

OptionRequired/ Optional

Argument Description

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 (' ')

Step 3. Configure Channels for Queue Managers 13

Page 28: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

The following MQSeries message appears:

AMQ8014: MQSeries channel created.

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

Creating a Client-Connection Channel

If you want the Integration Service to connect to multiple queue managers, 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:

The following MQSeries message appears:

AMQ8014: MQSeries channel created.

3. Repeat step 2 for each queue manager you want the Integration Service to connect to.

Setting System Environment Variables for Queue Connections

The Integration Service 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 machine running the Integration Service process before you can run sessions with MQSeries sources or targets.

You can configure the Integration Service to connect to message queues in the following ways:

♦ Use the MQSERVER system environment variable. When you set the MQSERVER environment variable, the Integration Service can connect to one queue manager. Set this variable when the source and target message queues associated with the sessions are administered by the same queue manager.

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

OptionRequired/

OptionalArgument Description

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.

14 Chapter 2: Configuring PowerCenter Connect for IBM MQSeries

Page 29: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

♦ Use a channel table file. You can set the MQCHLLIB and the MQCHLTAB system environment variables to connect to multiple queue managers. 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 Integration Service is running on Windows, use the following procedure to set the system environment variables.

To set the system environment variables on Windows:

1. Log in as a user with Administrator rights.

2. Create the system environment variable:

3. In the Value field, enter the value for the variable:

4. Click OK twice.

5. To use a channel table, set both variables in Table 2-3. Repeat steps 2 to 4 to enter the variables one at a time.

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

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

Connection

TypeValue Description

MQServer Enter the connection properties of the queue manager the Integration Service 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 host name 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\@IPCCFor MQCHLTAB, enter amqclchl.tab

Step 3. Configure Channels for Queue Managers 15

Page 30: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Setting System Environment Variables on UNIX

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

To set the system environment variables on UNIX:

1. Log in to the UNIX machine.

2. Set the system environment variables using a UNIX 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:

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

System

VariableC Shell

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

System

VariableBourne Shell

MQSERVER MQSERVER = <channel_name>/<transport_type>/<connection_name>; export MQSERVERFor example:

MQSERVER = S_s153664/TCP/ 192.168.40.64(1414); export MQSERVER

MQCHLLIB MQCHLLIB = <path_to_amqclchl.tab>; export MQCHLLIBFor example:

MQCHLLIB = /user/channel; export MQCHLLIB

MQCHLTAB MQCHLTAB = <channel_table_filename>; export MQCHLTABFor example:

MQCHLTAB = amqclchl.tab; export MQCHLTAB

16 Chapter 2: Configuring PowerCenter Connect for IBM MQSeries

Page 31: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

C h a p t e r 3

Working with MQSeries

Sources

This chapter includes the following topics:

♦ Overview, 18

♦ Working with an MQSeries Source Definition, 19

♦ Working with an Associated Source Definition, 25

17

Page 32: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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. It contains message header fields and a 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 3.

For MQSeries sources, 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, 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

An associated source definition is specific to the format of the message data and defines the message data field in the MQSeries message. An 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 27.

18 Chapter 3: Working with MQSeries Sources

Page 33: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 Integration Service extracts data from the MQSeries source, it converts the data from the MQSeries datatypes to the transformation datatypes. When the Integration Service 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 3.

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

Message

Data Field

MsgId is the Primary

Key in an MQSeries

source.

Working with an MQSeries Source Definition 19

Page 34: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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:

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 Integration Service 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 27.

Message Data Field

The message data field in the MQSeries source definition defines the message data in the MQSeries message. It contains one or more rows of message data that one program sends to another program through a message queue.

The message data field in Figure 3-1 on page 19 has an MQ-specific datatype. When the Integration Service 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

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

MQSeries Source Definition

Relational Target Definition

MQ Source Qualifier

Associated Source Qualifier (Normalizer)

Associated Source Definition

(VSAM)

20 Chapter 3: Working with MQSeries Sources

Page 35: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

definition in the 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 21.

The Integration Service treats the message data differently depending on the format of the message data. When the message data is binary, the Integration Service 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 Integration Service 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:

There are two source definitions in Figure 3-3: 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, 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 77.

Figure 3-3. MQSeries Message and Source Definitions

Associated Source Definition (Flat File)

MsgId

CorrelId

BackoutCount

ReplyToQ

ReplyToQMgr

LAST_NAME

FIRST_NAME

ADDRESS

CITY

STATE

Message

Header

Message Data

(Flat File Data)

ZIP

MQSeries Source DefinitionMQSeries Message

Working with an MQSeries Source Definition 21

Page 36: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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

Creating a Pass-Through Port

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

Figure 3-4. Mapping with a Midstream XML Parser Transformation

22 Chapter 3: Working with MQSeries Sources

Page 37: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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 Guide. For information about writing XML data, see “Writing XML Message Data” on page 52.

Creating an MQSeries Source Definition

You manually create an MQSeries source definition in the Source Analyzer.

To create an MQSeries source definition:

1. In the Source Analyzer, click Sources > Create.

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.

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

Working with an MQSeries Source Definition 23

Page 38: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Editing an MQSeries Source Definition

After you create 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.

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

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.

Source Settings Description

Owner Name Name of message queue.

Description Description of the message source.

24 Chapter 3: Working with MQSeries Sources

Page 39: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 can 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 the mapping contains an associated source definition for an XML source, see “XML Message Data Without Midstream XML Transformations” on page 77.

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, import a flat file source definition from a flat file. The structure of the flat file must 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:

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

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

MQSeries Source

Definition

Relational

Target

MQ Source Qualifier

Associated Source Definition

(Flat File)Associated Source Qualifier

Working with an Associated Source Definition 25

Page 40: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

Note: The PowerCenter Client does not validate the structure of the message data in the MQSeries source definition. If the source definition does not 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 one of the following options:

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

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

MQSeries

Source DefinitionMQ Source

Qualifier

Relational

Target

Normalizer

Associated Source Definition (VSAM)

26 Chapter 3: Working with MQSeries Sources

Page 41: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

C h a p t e r 4

MQ Source Qualifier

Transformation

This chapter includes the following topics:

♦ Overview, 28

♦ Working with an MQ Source Qualifier, 30

♦ Working with an Associated Source Qualifier, 32

♦ Filtering Messages from the Source Queue, 35

♦ Entering a Filter Condition in the MQ Source Qualifier, 42

♦ Creating an MQ Source Qualifier, 45

♦ Creating an Associated Source Qualifier, 47

27

Page 42: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Overview

In MQSeries mappings, the Integration Service uses an MQ Source Qualifier transformation to determine how the Integration Service reads data from an MQSeries message queue. 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

When you run a workflow, the Integration Service reads messages from the queue based on the source qualifier connected ports, transformation properties, and the relationship between connected and associated source definitions.

MQ Source Qualifier Transformation

Use an MQ Source Qualifier to read data from an MQSeries source. The MQ Source Qualifier allows the Integration Service 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 binary.

♦ Filter data. You can configure the Integration Service to read only particular messages from the source queue based on filter conditions you set.

♦ Control queue clean-up. You can configure the Integration Service to evaluate filter conditions in the message header fields and remove messages from the source queue.

♦ Set the tracing level. The Integration Service creates a session log for each session it runs. The amount of detail in the session log 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. 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 transformation is specific to the format of the message data in the MQSeries source. It determines how the Integration Service reads the message data. You must use a 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 source qualifier for an XML source, see “Creating an Associated Source Qualifier for XML Message Data” on page 80.

28 Chapter 4: MQ Source Qualifier Transformation

Page 43: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 Integration Service reads data from an MQSeries source, it converts the data from its native datatype to the transformation datatype. When you run a workflow, the Integration Service performs transformations based on the transformation datatypes. When writing data to a target table, the Integration Service 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 “IBM MQSeries Datatype Reference” on page 85.

Overview 29

Page 44: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Working with an MQ Source Qualifier

Use an MQ Source Qualifier to extract data from an MQSeries source. The MQ Source Qualifier is predefined. It allows the Integration Service 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. It connects 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:

The connection from each source column in the MQSeries source definition to the corresponding input port in the MQ Source Qualifier is predefined. The Integration Service 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 MQSeries source in the mapping. Unlike other source qualifiers, you cannot join two sources using an MQ Source Qualifier in a mapping.

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

30 Chapter 4: MQ Source Qualifier Transformation

Page 45: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Message Header Fields

The message header fields in an MQSeries message provide information about the message data. In the MQ Source Qualifier, use the message header fields to select which messages you want the Integration Service to read from the message queue.

For example, you can instruct the Integration Service 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 42.

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

Message Data Field

The message data field in an MQSeries message contains the actual message data. You can use the MQ Source Qualifier to determine how the Integration Service reads the message data. The Integration Service 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 Integration Service reads the data in the message data field as binary data. The Integration Service 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, 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 21.

If the message data you want to load from the MQSeries source is in flat file or COBOL format, 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 Integration Service 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” on page 32.

Working with an MQ Source Qualifier 31

Page 46: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Working with an Associated Source Qualifier

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 Integration Service 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:

When you add an associated source qualifier to a mapping, associate it with an MQ Source Qualifier. The association allows the Integration Service 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 the mapping contains an associated source qualifier for XML data, see “XML Message Data Without Midstream XML Transformations” on page 77.

Table 4-1. Associated Source Qualifier Types

Message Data Format Associated Source Qualifier

Flat file Source Qualifier transformation

COBOL Normalizer transformation

32 Chapter 4: MQ Source Qualifier Transformation

Page 47: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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 Integration Service to correlate the messages in the queue with their message data.

When you run a session, the Integration Service 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.

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

MQ Source

Definition

Associated

Source Definition

Flat File

MQ Source Qualifier

Associated Source

Qualifier (Flat File)

Working with an Associated Source Qualifier 33

Page 48: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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

MQSeries

Source

Definition

Associated Source

Definition for Message Data

(VSAM) Normalizer Transformation

Relational

Target

MQ Source Qualifier

34 Chapter 4: MQ Source Qualifier Transformation

Page 49: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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. Use 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. Evaluates filter conditions in the message header and removes messages from the source queue.

You can use the following built-in functions in the MQ Source Qualifier:

♦ Concat(str1, str2). Concatenates two strings into a single string. Use Concat with a mapping variable to control incremental extraction of messages.

♦ MsgCount(n). Controls the number of messages that the Integration Service reads from the queue.

♦ Idle(n). Controls the duration of time the Integration Service remains idle before it stops reading from the queue.

♦ StartTime(time). Defines the time in Greenwich Mean Time for the Integration Service to start reading messages from the queue.

♦ EndTime(time). Defines the time in Greenwich Mean Time for the Integration Service to stop reading messages from the queue.

♦ FlushLatency(n). Defines a specified period of time for the Integration Service to commit messages read from the source queue.

♦ ForcedEOQ(n). Defines a specified period of time for the Integration Service to read messages from the source queue.

♦ RemoveMsg(TRUE). Removes messages from the source queue.

Set the Destructive Read option and filter conditions on the Properties tab of the Source Qualifier.

Filtering Messages from the Source Queue 35

Page 50: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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

You can also select the Destructive Read option and enter filter conditions in the session properties. Destructive Read and filter conditions you 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 61.

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 Integration Service 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 Integration Service 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

♦ Time slice mode

Figure 4-4. Properties Tab in the MQ Source Qualifier

Enter functions in

a filter condition.

Destructive Read

36 Chapter 4: MQ Source Qualifier Transformation

Page 51: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Message Count Mode

Use MsgCount(n) to specify the end of file in an MQSeries source. When you use MsgCount(n), the Integration Service reads a specified number of messages from the queue and stops reading. Enter the following expression when you use MsgCount(n):

MsgCount(n)

where n is the number of messages the Integration Service reads from the message queue. For example, to read 100 messages from the source queue, enter the following filter condition:

MsgCount(100)

If you enter MsgCount(n), and you configure the session to use pipeline partitioning, the session can run on a single node only. The Integration Service that runs the session cannot run on a grid or on primary and backup nodes.

Idle Mode

Use Idle(n) to indicate how long the Integration Service waits for the queue to be idle before it stops reading from the queue. Enter the following expression when you use Idle(n):

Idle(n)

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

Time Slice Mode

Use StartTime(time) with EndTime(time) to define a specified range of time for the Integration Service 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 Integration Service 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, use FlushLatency(n) to commit messages to the target in real time. When you use FlushLatency(n), the Integration Service commits messages read from the source queue at the end of a specified maximum latency period. Enter the following expression when you use FlushLatency(n):

FlushLatency(n)

Filtering Messages from the Source Queue 37

Page 52: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

where n is an integer representing seconds. For example, if the value of n is 5, the Integration Service 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 Integration Service commits messages to the target.

You can configure the session to commit messages to the target in milliseconds rather than seconds. Specify the Millisecond Flush Latency option in the session properties. For more information, see “Configuring a Session with an MQSeries Mapping” on page 68.

Note: When you specify a low interval for FlushLatency(n), the session might consume more system resources.

Removing Messages from the Source Queue

You can remove messages from the source queue during a real-time session. Specify FlushLatency(n) 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 40.

Flush Latency Limitations

When you use FlushLatency(n), 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 Integration Service ignores FlushLatency(n) when you run a session in debug mode.

♦ If the 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 ForcedEOQ(n).

Controlling Forced End of Queue

Use ForcedEOQ(n) 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

38 Chapter 4: MQ Source Qualifier Transformation

Page 53: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

you use ForcedEOQ(n), the Integration Service stops reading from the source queue after the period you specify or if the queue is empty, whichever comes first.

Use the following expression in the filter condition to set ForcedEOQ(n):

ForcedEOQ(n)

where n is an integer representing seconds. For example, if the value of n is 60, the Integration Service reads messages from the queue for 60 seconds before stopping.

Use ForcedEOQ(n) to run a session in real time when the mapping configuration or session properties do not support FlushLatency(n).

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 Integration Service cannot use FlushLatency(n) 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 ForcedEOQ(n) and configure the workflow to run continuously. When you use ForcedEOQ(n), the Integration Service stops reading messages from the source at the end of the ForcedEOQ(n) period. The Integration Service can then write the data to the target.

For a list of mapping configurations and session properties that do not support FlushLatency(n), see “Controlling Data Extraction in Real Time” on page 37. For more information about executing a session in real time, see “Extracting Data in Real Time” on page 62.

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 Concat 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”

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:

Filtering Messages from the Source Queue 39

Page 54: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

♦ 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 filer 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 earlier.

If you select Destructive Read, you must set RemoveMsg(TRUE) 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. Destructive Read 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 Integration Service does not remove the message from the source queue.

If you do not select Destructive Read, messages remain in the source queue. The Integration Service reads them again each time you run the session.

You can select Destructive Read on the Properties tab in the MQ Source Qualifier or the Mapping tab of the session properties.

Figure 4-5 shows the Destructive Read option in the MQ Source Qualifier:

For more information about selecting Destructive Read in the session properties, see “Configuring a Session with an MQSeries Mapping” on page 68.

If you select Destructive Read, the mapping must contain an MQ Source Qualifier. If you link the MESSAGE_DATA port of the MQ Source Qualifier to a downstream transformation, and the Integration Service truncates the message while reading it from the

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

Destructive Read

40 Chapter 4: MQ Source Qualifier Transformation

Page 55: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

MQSeries queue, the session fails. The Integration Service does not remove the message from the queue. It can read the message during the next session.

If you select Destructive Read, and the mapping contains an associated source qualifier, the Integration Service ignores the Destructive Read option. To remove messages from the source queue for mappings that contain an associated source qualifier, use RemoveMsg(TRUE).

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

You can use RemoveMsg(TRUE) to remove messages from the source queue. Use RemoveMsg(TRUE) when a mapping contains an associated source qualifier, or for mappings from PowerCenter Connect for IBM MQSeries 7.0 or earlier.

RemoveMsg(TRUE) removes messages from the queue after committing all data to the target. For example, enter the following filter condition:

RemoveMsg(TRUE)

You can combine RemoveMsg(TRUE) 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.

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

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

Filtering Messages from the Source Queue 41

Page 56: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 Integration Service reads from the message queue. When you enter a filter in the MQ Source Qualifier, the Integration Service only reads messages that fulfill the filter condition. Use the PowerCenter 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 Integration Service 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

OperatorTextual

Representation

Alternate Textual

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 )

42 Chapter 4: MQ Source Qualifier Transformation

Page 57: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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. 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, use double quotes around the value. For example, to filter all messages where the ReplyToQ field is “PRODUCTION,” 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 39.

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

Entering a Filter Condition in the MQ Source Qualifier 43

Page 58: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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. Click 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 the 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 twice.

44 Chapter 4: MQ Source Qualifier Transformation

Page 59: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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.

4. Click the Ports tab.

5. Enter a precision for the message data port up to 100 MB. The default is 64 KB.

Creating an MQ Source Qualifier 45

Page 60: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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” on page 30.

6. Click the Properties tab.

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

Option Description

Filter Filter condition the Integration Service uses when extracting records. For more information

about filter conditions, see “Entering a Filter Condition in the MQ Source Qualifier” on

page 42.

Tracing Level 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 28.

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

46 Chapter 4: MQ Source Qualifier Transformation

Page 61: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 MQ 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 the 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.

Creating an Associated Source Qualifier 47

Page 62: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

48 Chapter 4: MQ Source Qualifier Transformation

Page 63: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

C h a p t e r 5

Working with MQSeries Targets

This chapter includes the following topics:

♦ Overview, 50

♦ Working with a Dynamic MQSeries Target Definition, 51

♦ Working with a Static MQSeries Target Definition, 56

♦ Creating a Dynamic MQSeries Target Definition, 58

49

Page 64: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Overview

When the Integration Service 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 Integration Service 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 Integration Service can maintain transactional consistency when loading binary and XML data to dynamic MQSeries targets. During a session, the Integration Service 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 Integration Service 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 51. For more information about configuring a session to maintain transactional consistency, see “Configuring Transactional Consistency for Dynamic MQSeries Targets” on page 66.

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 Integration Service does not maintain transactional consistency.

50 Chapter 5: Working with MQSeries Targets

Page 65: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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.

Similar to the MQSeries source definition, the MsgId field in the dynamic MQSeries target definition is 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 uses a 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.

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

To write data to the GroupId field in the target, you must project a value to the MsgFlags field in the target. Otherwise, the Integration Service 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 the 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 Integration Service can only load binary and XML data to the message data field in the target message.

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 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 Date when the message arrives in the queue.

PutTime Time when the message arrives in the queue.

ApplOriginData Value for ApplOriginData is null.

Working with a Dynamic MQSeries Target Definition 51

Page 66: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Maintaining Transactional Consistency for Dynamic MQSeries Targets

When you use dynamic MQSeries target definitions in a mapping, the Integration Service can maintain transactional consistency when writing data to message queues. When the Integration Service 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 Integration Service commits when it reaches a commit point. If a session aborts or fails during a transaction, the Integration Service 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 Integration Service loads the messages to the message queues. This is because the Integration Service 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.

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 66. 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 Generator 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 77.

52 Chapter 5: Working with MQSeries Targets

Page 67: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Figure 5-1 shows a mapping with a Midstream XML Generator transformation:

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

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 Integration Service writes the XML data.

You can select the following values for the On Commit property:

♦ Ignore Commit. Select to write one complete XML document to one MQSeries message. When you select Ignore Commit, the Integration Service 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 Integration Service generates multiple XML documents based on the commit interval that you set.

Figure 5-1. Mapping with a Midstream XML Generator Transformation

Working with a Dynamic MQSeries Target Definition 53

Page 68: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Figure 5-2 shows the On Commit property in the Midstream XML Generator tab:

When you select Create New Document, select Source as the Commit Type and set a commit interval in the session properties. The Integration Service commits data to the target based on the number of records in an active source. When you set a commit interval, the Integration Service commits data to the target based on the number of records you specify.

The commit interval 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 corresponds to the number of records in the source data. The commit interval you set determines how many second-level nodes the Integration Service writes to an MQSeries message.

For example, if the source data contains 12 records, and you set the Commit Interval to 4, the Integration Service writes three separate XML documents, each containing four second-level nodes to three 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 68.

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-2. Midstream XML Generator Tab

On Commit Property

54 Chapter 5: Working with MQSeries Targets

Page 69: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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 transformation passes the data through the Message_ID pass-through port to the MsgId port in the target.

For more information about creating pass-through ports and setting session-level properties for the Midstream XML Generator transformation, see the PowerCenter XML Guide. For information about reading XML data, see “Reading XML Message Data from an MQSeries Source” on page 21.

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

Working with a Dynamic MQSeries Target Definition 55

Page 70: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 Integration Service 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. Instead, you use a flat file target definition.

For example, if you want to load data in COBOL format to a message queue, use a static MQSeries target in the mapping.

Figure 5-4 shows a mapping with a flat file target definition as the static MQSeries target: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 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

Figure 5-4. Mapping with a Static MQSeries Target

56 Chapter 5: Working with MQSeries Targets

Page 71: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

♦ Two flat file target definitions

During the session, the Integration Service reads message header data from the source and stores it in a cache file. During a second pass, the Integration Service 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 Integration Service 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 Target 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.

Working with a Static MQSeries Target Definition 57

Page 72: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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, you can create 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 Target Designer, drag an MQSeries source definition to the workspace.

To create a predefined MQSeries target definition:

1. In the Target Designer, click Target > Create.

2. On the Create Target dialog box, enter a name for the target definition, and select MQSeries as the Database type.

3. Click Done.

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 Target Designer, double-click the title bar of the target definition.

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

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.

Target Settings Description

Description Description of the message target.

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

Manager.

58 Chapter 5: Working with MQSeries Targets

Page 73: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

C h a p t e r 6

Creating and Configuring

MQSeries Workflows

This chapter includes the following topics:

♦ Overview, 60

♦ Working with MQSeries Sessions, 61

♦ Configuring a Session with an MQSeries Mapping, 68

♦ Scheduling Workflows, 74

♦ Running Workflows, 75

59

Page 74: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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. Create sessions and workflows in the Workflow Manager.

Before configuring an MQSeries workflow, complete the following tasks:

♦ Configure an Integration Service. Configure an Integration Service to run MQSeries workflows. For more information about configuring an Integration Service, see the PowerCenter Administrator Guide.

♦ Configure source and target connections. Configure the connections necessary to read data from the source and write data to the target. For example, to extract data from a message queue, the Integration Service requires a queue connection. For more information about configuring queue connections, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

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 Integration Service to connect to a queue manager to read and write MQSeries messages.

60 Chapter 6: Creating and Configuring MQSeries Workflows

Page 75: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Working with MQSeries Sessions

When you configure an MQSeries session, you define properties that determine how the Integration Service 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 61.

♦ 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 62.

♦ Message recovery. Enable message recovery for an MQSeries session. For more information, see “Message Recovery” on page 64.

♦ Destructive read. Configure an MQSeries session to remove messages from the source queue once the Integration Service puts the messages in the recovery cache folder. For more information, see “Configuring Destructive Read” on page 64.

♦ Resilience. If you want the Integration Service to try to reconnect to the MQSeries queue if the connection fails, select a Message Queue connection object that has a positive value for the Retry Connection Period property. For more information see “Configuring Resilience” on page 65.

♦ Transactional consistency. Configure an MQSeries session to maintain transactional consistency. For more information, see “Configuring Transactional Consistency for Dynamic MQSeries Targets” on page 66.

♦ Pipeline partitioning. Set partitions in a pipeline for an MQSeries session. For more information, see “Pipeline Partitioning” on page 66.

Entering a Filter Condition in the Session Properties

When you configure an MQSeries session, you can enter filter conditions for the session in the session properties. When you enter a filter condition, the Integration Service 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 Sessions 61

Page 76: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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

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 Integration Service to commit messages to the target at the end of each specified interval. Each FlushLatency interval starts after the first message enters the source. The lower the time

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

Filter

Condition

62 Chapter 6: Creating and Configuring MQSeries Workflows

Page 77: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

interval you set for FlushLatency(n), the faster the Integration Service commits messages to the target.

Complete the following steps to configure a real-time session:

1. Enter the FlushLatency(n) function in a filter condition in the session properties or MQ Source Qualifier. For more information about entering filter conditions in the session properties, see “Entering a Filter Condition in the Session Properties” on page 61. For more information about entering filter conditions in the MQ Source Qualifier, see “Extracting Data in Real Time” on page 62.

2. If the pipeline contains an XML target definition, select Append to 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, specify pass-through partitioning at each partition point.

5. Optionally, set the Millisecond Flush Latency option in the session properties to change the FlushLatency(n) value from seconds to milliseconds.

6. Configure a real-time session to run as a continuous workflow. For more information about scheduling a workflow, see “Scheduling Workflows” on page 74.

When the Integration Service 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 Flush Latency interval, the Integration Service commits all messages read from the source.

When you enter FlushLatency(n) in a filter condition and configure the session to use source-based commits, the Integration Service commits messages to the target using the source-based commit interval and the Flush Latency interval.

For example, you set Flush Latency(5) and you set the source-based commit interval to 1,000 messages. The Integration Service 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 millisecond flush latency, the Integration Service commits messages after it reads 1,000 messages or before the end of a five-millisecond interval.

If you configure the session to use target-based commits, the Integration Service 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. 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 Integration Service 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 39. For more information about the RemoveMsg(TRUE) function, see “Controlling Queue Clean-up with the RemoveMsg(TRUE) Function” on page 41.

For a list of the limitations that apply when you use FlushLatency(n), see “Controlling Data Extraction in Real Time” on page 37.

Working with MQSeries Sessions 63

Page 78: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Configuring the Session with ForcedEOQ(n)

You can configure a session with ForcedEOQ(n) when you want to run a session in real time. Use ForcedEOQ(n) to run a session in real time when the mapping configuration or session properties do not support FlushLatency(n). When you use ForcedEOQ(n), the Integration Service stops reading messages from the source queue at the end of the specified interval.

To configure ForcedEOQ(n), 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 61.

For more information about using ForcedEOQ(n), see “Controlling Forced End of Queue” on page 38.

To run a session in real time with ForcedEOQ(n), configure the workflow that contains the session to run continuously. Select Run 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 74.

Message Recovery

You can configure message recovery for sessions that fail when reading messages from an MQSeries source. When you enable message recovery, the Integration Service stores all messages it reads from the MQSeries source in a cache before processing the messages for the target. If the session fails, run the session in recovery mode to recover the messages the Integration Service could not process in the previous session run.

During the recovery session, the Integration Service reads the messages from the cache. After the Integration Service reads the messages from the cache, it starts reading messages from the MQSeries source.

The Integration Service removes messages from the message cache file after the Flush Latency period expires. It also empties the cache at the end of the session. If the session fails after the Integration Service 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, complete the following:

♦ Select a recovery strategy in the session properties.

♦ Specify a recovery cache folder in the session properties at each partition point.

If you change the mapping or the session properties and then restart the session, the Integration Service creates a new cache file and then runs the session. This can result in data loss during the session run.

For more information about message recovery, see “Real-time Processing” in the Workflow Administration Guide.

Configuring Destructive Read

You can select the Destructive Read option in the session properties to remove messages from the source queue after the Integration Service puts the messages in the recovery cache folder.

64 Chapter 6: Creating and Configuring MQSeries Workflows

Page 79: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

For more information about Destructive Read, see “Controlling Queue Clean-up” on page 39.

Configuring Resilience

You can configure an MQSeries reader session to make multiple attempts to establish or reestablish a connection to MQSeries. If a connection attempt fails because of a network failure or if the MQSeries queue manager is not running, the Integration Service tries to connect to the MQSeries queue for a specified period of time before the session fails.

You can configure the period of time you want the Integration Service to attempt to connect to MQSeries in a Message Queue connection. Set the Connection Retry Period property in the Message Queue connection. For more information about configuring Message Queue connections, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

When you configure resilience, also configure the following session properties:

♦ Recovery Strategy. Set the Recovery Strategy to Resume from Last Checkpoint.

♦ Destructive Read. Select the Destructive Read option in the session properties.

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

Recovery

Cache

Folder

Destructive

Read

Working with MQSeries Sessions 65

Page 80: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

When you run a session configured for resilience, and the Integration Service loses the connection to the MQSeries queue, the following filter conditions continue to increment while the Integration Service attempts to reconnect to the queue:

♦ ForcedEOQ(n)

♦ FlushLatency(n)

♦ Idle(n)

♦ MsgCount(n)

For example, you configure a session with the Idle(30) filter condition. During the session, the Integration Service is idle for 10 seconds, and it loses the connection to the MQSeries queue. While the Integration Service attempts to reconnect to the MQSeries queue, the idle value continues to increase. After 15 seconds, the Integration Service reconnects to the MQSeries queue. The Integration Service has been idle for 25 seconds. If it remains idle for five more seconds, the session ends.

Configuring Transactional Consistency for Dynamic MQSeries Targets

The Integration Service can maintain transactional consistency for MQSeries sessions with MQSeries dynamic MQSeries targets. With transactional consistency, the Integration Service commits messages to dynamic MQSeries targets in transaction groups. If the session aborts or fails during a transaction, the Integration Service 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 52. 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 Integration Service can create multiple connections to sources and process partitions of sources and target data concurrently.

Use the following guidelines when you configure partitioning for MQSeries sessions:

♦ Associated source qualifier. You can specify multiple partitions if there is no associated source qualifier in the pipeline.

66 Chapter 6: Creating and Configuring MQSeries Workflows

Page 81: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

♦ MQ Source Qualifier. You can only specify the pass-through partition type when you create partition points.

♦ MQSeries targets. You can specify pass-through, key range, hash keys, and round-robin partition types when you create partition points. You cannot merge output files from sessions with multiple partitions if you use an MQSeries message queue as the target connection type.

For more information about partitioning and a list of all partitioning restrictions, see the PowerCenter Workflow Administration Guide.

Working with MQSeries Sessions 67

Page 82: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Configuring a Session with an MQSeries Mapping

When you configure a session using MQSeries sources or targets, 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

♦ Millisecond flush latency

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

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

Commit

Type

Commit

Interval

Recovery

Strategy

68 Chapter 6: Creating and Configuring MQSeries Workflows

Page 83: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Select Source as the Commit Type in the following cases:

♦ To specify how the Integration Service writes XML data to MQSeries targets. Select Create New Document in the target properties settings. For more information about how the Integration Service writes XML data to MQSeries targets, see “Writing XML Message Data” on page 52.

♦ To run the session in real time using the FlushLatency(n) function in a filter condition. For more information about FlushLatency(n), see “Configuring the Session with the FlushLatency(n) Function” on page 62.

♦ To configure transactional consistency for MQ Series targets. For more information about transactional consistency, see “Configuring Transactional Consistency for Dynamic MQSeries Targets” on page 66.

3. Optionally, edit the commit interval.

Tip: If you want to specify the way in which the Integration Service writes XML data to MQSeries targets, and you set Source as the Commit Type, you must set a Commit Interval value.

4. Select a recovery strategy.

To enable message recovery or if you are configuring the session for resilience, select Resume from Last Checkpoint.

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 69

Page 84: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

5. Click the Mapping tab.

6. From the Connections settings on the Mapping tab, select a connection type for each source definition:

♦ For associated source definitions, such as VSAM or flat file, 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.

If you want the Integration Service to try to reconnect to the MQSeries queue if the connection fails, select a Message Queue connection object that has a positive value for the Retry Connection Period property. For more information about configuring Message Queue connections, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

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.

Associated

Source

MQ Source

Qualifier for the

MQSeries Source

70 Chapter 6: Creating and Configuring MQSeries Workflows

Page 85: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

9. Click the Targets node.

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 determine how the Integration Service 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 52.

For more information about configuring queue connections, see “Managing Connection Objects” in the PowerCenter Workflow Administration Guide.

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.

Edit Queue Connection Button

Configuring a Session with an MQSeries Mapping 71

Page 86: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

12. From the Properties settings, optionally select Destructive Read to remove messages from a queue when you enable message recovery and specify the recovery cache folder.

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

13. Optionally, select Millisecond Flush Latency to process flush latency in milliseconds.

72 Chapter 6: Creating and Configuring MQSeries Workflows

Page 87: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

14. Optionally, click the right corner of the Filter option to enter a filter condition.

15. Enter the filter conditions. Click OK.

When you enter a value for the MsgCount(n), Idle(n), FlushLatency(n), or ForcedEOQ(n) functions, enter 0 or a positive value. Otherwise, the Integration Service ignores the filter condition.

16. Enter a recovery cache folder if you selected Destructive Read.

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

18. Click OK to exit the session properties.

Configuring a Session with an MQSeries Mapping 73

Page 88: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Scheduling Workflows

Before you run a session in a workflow, configure and schedule 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 Integration Service 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. A continuous workflow starts as soon as the Integration Service initializes. When the workflow stops, it restarts immediately. For more information about scheduling workflows, see the PowerCenter Workflow Administration Guide.

Continuous Workflows and Real-time Sessions

If you schedule a real-time session to run as a continuous workflow, the Integration Service starts the next run of the workflow as soon as it finishes the first. If you want to run a real-time session continuously, use the Idle(n) function in a filter condition with the FlushLatency(n) function. The session stops when it reaches the idle time period and restarts immediately. For more information about Idle(n), see “Idle Mode” on page 37.

Figure 6-3 shows the filter condition set to run a session for one year:

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

Filter

Condition

74 Chapter 6: Creating and Configuring MQSeries Workflows

Page 89: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Running Workflows

Before you run an MQSeries workflow, make sure the MQSeries listener is running. This enables the Integration Service 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

Option ArgumentRequired/ Optional

Description

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

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

-p port number Optional Port number of the queue manager. Default is 1414. If the queue

manager uses 1414, you can omit this option.

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

background.

Running Workflows 75

Page 90: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

76 Chapter 6: Creating and Configuring MQSeries Workflows

Page 91: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

A p p e n d i x A

XML Message Data Without Midstream XML Transformations

This appendix includes the following topics:

♦ Overview, 78

♦ Reading XML Message Data Using an Associated Source Definition, 79

♦ Writing XML Message Data Using a Static MQSeries Target Definition, 81

77

Page 92: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Overview

Mappings from PowerCenter Connect for MQSeries 7.0 or earlier 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.

Now, 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 the 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 21. For more information about writing XML message data using the Midstream XML Generator transformation, see“Writing XML Message Data” on page 52.

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 79. 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 81.

78 Appendix A: XML Message Data Without Midstream XML Transformations

Page 93: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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

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

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

MQSeries

Source DefinitionMQ Source

Qualifier

Relational

Target

Associated Source

Qualifier (XML)

Associated Source Definition (XML)

Reading XML Message Data Using an Associated Source Definition 79

Page 94: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

For more information about importing associated source definitions, see “Associated Source Definition” on page 18.

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

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 the 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 28.

80 Appendix A: XML Message Data Without Midstream XML Transformations

Page 95: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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 Integration Service 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:

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

Figure A-2. Mapping with a Static MQSeries Target

Static MQSeries Target

(XML Target Definition)

Writing XML Message Data Using a Static MQSeries Target Definition 81

Page 96: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Working with XML Message Data in Static MQSeries Targets

During a workflow, the Integration Service can write XML message data to a static MQSeries target in the following ways:

♦ The Integration Service can write one XML document containing all XML data for a session to a single MQSeries message.

♦ The Integration Service can generate multiple, complete XML documents and write each XML document to a separate MQSeries message during a session run.

♦ The Integration Service 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 Integration Service 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 52.

Figure A-3 shows the XML output options in an XML target definition:

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

82 Appendix A: XML Message Data Without Midstream XML Transformations

Page 97: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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 Target 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 Guide.

Writing XML Message Data Using a Static MQSeries Target Definition 83

Page 98: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

84 Appendix A: XML Message Data Without Midstream XML Transformations

Page 99: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

A p p e n d i x B

IBM MQSeries Datatype

Reference

This appendix includes the following topic:

♦ Datatypes, 86

85

Page 100: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Datatypes

PowerCenter uses the following datatypes in IBM 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 IBM 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.

IBM MQSeries Datatypes

The following datatypes display in the MQSeries source and target definitions:

♦ MQBYTE

♦ MQCHAR

♦ MQHEX

♦ MQLONG

For more information about IBM MQSeries datatypes, see the IBM MQSeries documentation.

Native Datatypes

With PowerCenter Connect for IBM 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 Guide.

Transformation Datatypes

When the Integration Service 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 Integration Service converts the data based on the native datatypes in the target table.

86 Appendix B: IBM MQSeries Datatype Reference

Page 101: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

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

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 48 bytes, the Integration Service adds 0s to the data. If the value for the field is longer than 48 bytes, Integration Service truncates the data.

If a value for a field with the datatype MQHEX is invalid, the Integration Service 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 must 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 Integration Service drops both of these rows during the session.

If a field with the MQHEX datatype contains a decimal value, the data may be inconsistent.

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:

(precision + 1) * 2

ASCII mode:

precision + 1

1 to 104,857,600 characters Fixed-length or varying-length string.

MQHEX String Unicode mode:

(precision + 1) * 2

ASCII mode:

precision + 1

1 to 104,857,600 characters Fixed-length or varying-length string.

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

Integer value.

Datatypes 87

Page 102: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

88 Appendix B: IBM MQSeries Datatype Reference

Page 103: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

A p p e n d i x C

Code Pages

This appendix includes the following topic:

♦ Using Code Pages, 90

89

Page 104: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Using Code Pages

When you configure the queue connection in the Workflow Manager for an MQSeries source or target, the Integration Service selects a code page for the message data, which is the code page of the Integration Service.

When the Integration Service reads data from MQSeries sources that contain a different code page than the Integration Service, the Integration Service can convert the data to the Integration Service code page if the data is in string format.

When the Integration Service writes data to dynamic MQSeries targets that contain a different code page than the Integration Service, the Integration Service 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 more information about code page compatibility, see the PowerCenter Administrator Guide.

90 Appendix C: Code Pages

Page 105: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

I n d e x

Aassociated source definition (MQSeries)

description 25importing 25overview 25types 25

associated source qualifier (MQSeries)connecting to MQ Source Qualifier 33creating 47creating for XML message data 80description 32message data format 32MsgId 33Normalizer transformation 32overview 7, 28types 32

Cclient-connection channel (MQSeries)

configuring for an MQSeries queue manager 14COBOL (MQSeries)

See VSAM source definitioncode pages (MQSeries)

See also PowerCenter Administrator Guidesupported 90

Concat (MQSeries)description 35

connections (MQSeries)See queue connections

continuous workflows (MQSeries)description 74real-time sessions 74

Ddatatypes (MQSeries)

See also PowerCenter Designer GuideIBM MQSeries 86MQHEX datatype conversion 87native 86transformation 29, 86

Destructive Read (MQSeries)configuring 64configuring for resilience 65using for queue clean-up 40

dynamic MQSeries target definitions (MQSeries)creating 58datatypes 51description 51editing 58overview 50working with 51

91

Page 106: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

EEndTime (MQSeries)

description 35environment variables (MQSeries)

setting for SSL 12

Ffilter conditions (MQSeries)

behavior during a highly available session 66with high availability 65

filters (MQSeries)creating 44defining queue reading mode 36description 42entering 42language 42logical operators 42messages 6syntax rules 43using functions 35using message header ports 43

flat files (MQSeries)associated source definition 18associated source qualifier 47static MQSeries target 56

FlushLatency (MQSeries)configuring 37definition 35

ForcedEOQ (MQSeries)definition 35

functions (MQSeries)Concat 35defining queue reading mode 36EndTime 35FlushLatency 35ForcedEOQ 35Idle 35MsgCount 35RemoveMsg(TRUE) 41StartTime 35using in filter conditions 35

Ggrid (MQSeries)

restriction 37

Hhigh availability (MQSeries)

configuring 65description 2restriction 37

IIBM MQSeries

installing 10Idle mode (MQSeries)

configuring 37description 35

incremental data extraction (MQSeries)description 39

Integration Service (MQSeries)See also PowerCenter Administrator Guideconfiguring 60

LLookup transformation (MQSeries)

in MQSeries mappings 2lookups (MQSeries)

MQSeries sources 2

Mmapping parameters (MQSeries)

See also PowerCenter Designer Guidesetting 28, 61

mapping variables (MQSeries)See also PowerCenter Designer Guidesetting 28, 61

message count (MQSeries)See MsgCount

message header (MQSeries)description 3filtering messages 20list of fields 3loading message header data 56

message IDs (MQSeries)in Midstream XML Generator transformations 54in Midstream XML Parser transformations 22

message queue (MQSeries)data source 18description 3

message recovery (MQSeries)See also PowerCenter Workflow Administration Guide

92 Index

Page 107: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

configuringconfiguring for resilience 65description 64recovery cache folder 64

messages (MQSeries)data field 5definition 3filtering 6identification 20

Midstream XML Generator transformation (MQSeries)See also PowerCenter XML Guidedescription 52pass-through ports 54

Midstream XML Parser transformation (MQSeries)See also PowerCenter XML Guidedescription 21pass-through ports 22

MQ Source Qualifiers (MQSeries)configuring 45connecting to an associated source qualifier 31creating 45description 30filtering data 28for multiple message queues 30message data datatypes 31message data port 31message header ports 31overview 7, 28selecting an associated source qualifier 28setting mapping parameters 28setting mapping variables 28setting message data size 28setting tracing level 28working with 30

MQHEX (MQSeries)datatype conversion 87

MQSeriesconfiguring channels for queue managers 13

MQSeries (MQSeries)architecture 3data extraction process 7data loading process 7definition 3sources 6, 17targets 6

MQSeries listener (MQSeries)running 60starting before you run a workflow 75

MQSeries queue managersconfiguring channels 13

MQSeries server (MQSeries)

assigning message header values 51MQSeries source definitions (MQSeries)

associating message data 20association 20creating 23defined 18editing 24joining 30message data field 20message header fields 19MsgId 20overview 19

MQSeries target definitions (MQSeries) See dynamic MQSeries target definitions See static MQSeries target definitions

MsgCount (MQSeries)configuring 37description 35, 37high availability 37

MsgId (MQSeries)association in MQ Source Qualifier 33MQSeries source definitions 20MQSeries target definition 51

NNormalizer transformation (MQSeries)

associated source qualifier 47

Ppass-through ports (MQSeries)

creating in Midstream XML Generator transformations 54

creating in Midstream XML Parser transformations 22PowerCenter Connect for IBM MQSeries

configuring 10

Qqueue clean-up (MQSeries)

Destructive Read 40RemoveMsg(TRUE) 41

queue connections (MQSeries)See also PowerCenter Workflow Administration Guideconfiguring 60

Queue Manager (MQSeries)description 3

queue reading modes (MQSeries)description 36

93 Index

Page 108: PowerCenter Connect for IBM MQSeries 8.1.1 ... - Informatica Documentation/1/PCCo… · The Informatica PowerCenter Connect for IBM MQSeries User Guide provides information to build

Idle mode 37Message Count mode 37time slice mode 37

Rreal-time sessions (MQSeries)

configuring continuous workflows 74configuring FlushLatency 62configuring ForcedEOQ 64configuring source-based commit 63description 62

recovery (MQSeries)See message recovery

recovery cache folder (MQSeries)for message recovery 64

RemoveMsg(TRUE) (MQSeries)description 41using for queue clean-up 41

resilience (MQSeries)configuring 65

Sserver-connection channel (MQSeries)

configuring for an MQSeries queue manager 13sessions (MQSeries)

overview 60$$$SessStartTime variable (MQSeries)

using for StartTime 37source definitions (MQSeries)

associated 18MQSeries 18overview 18

SSL(MQSeries)setting environment variables 12

starting (MQSeries)MQSeries listener 75

StartTime (MQSeries)description 35using the $$$SessStartTime variable 37

static MQSeries target definitions (MQSeries)configuring for XML data 82creating 57, 83defined 56for XML 81importing 57, 83loading message header data 56multiple targets 57overview 50

working with 56, 81system environment variables (MQSeries)

configuring for queue connections 14

Ttarget connection groups (MQSeries)

maintaining transactional consistency 66transactional consistency 52

time slice mode (MQSeries)configuring 37description 37

transactional consistency (MQSeries)configuring 66defined 50dynamic MQ targets 52

VVSAM (MQSeries)

associated source definition 18, 20

Wworkflows (MQSeries)

running the MQSeries listener 60

XXML (MQSeries)

associated source qualifier 80Midstream XML Generator transformation 52Midstream XML Parser transformation 21reading message data 21static MQSeries target 56, 81writing message data 52writing XML data to MQSeries messages with static

targets 82

94 Index