Escolar Documentos
Profissional Documentos
Cultura Documentos
Informatica PowerCenter®
(Version 8.1.1)
Informatica PowerCenter Metadata Exchange SDK Guide
Version 8.1.1
September 2006
This software and documentation contain proprietary information of Informatica Corporation, they are provided under a license agreement containing
restrictions on use and disclosure and is also protected by copyright law. Reverse engineering of the software is prohibited. No part of this document may be
reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica Corporation.
Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software license agreement as
provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR
52.227-14 (ALT III), as applicable.
The information in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing.
Informatica Corporation does not warrant that this documentation is error free.
Informatica, 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-2004 The Apache Software Foundation. All rights reserved.
DISCLAIMER: Informatica Corporation provides this documentation “as is” without warranty of any kind, either express or implied, including, but not limited
to, the implied warranties of non-infringement, merchantability, or use for a particular purpose. The information provided in this documentation may include
technical inaccuracies or typographical errors. Informatica could make improvements and/or changes in the products described in this documentation at any
time without notice.
Table of Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv
Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv
Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Visiting the Informatica Developer Network . . . . . . . . . . . . . . . . . . . . . xv
Visiting the Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . xv
Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
iii
IMXConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
IMXConstraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
IMXConstraintElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
IMXCube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
IMXDimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
IMXFact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
IMXFileConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
IMXFolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IMXFolderVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IMXHierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IMXHierarchyLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IMXLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IMXLevelField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IMXMapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
IMXMetaExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IMXMetaExtDomain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IMXMetaExtVal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IMXObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IMXRepository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IMXScheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IMXSessionTask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IMXSessionTaskLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
IMXSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
IMXSourceField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
IMXString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
IMXTarget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
IMXTargetField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
IMXTargetIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
IMXTargetIndexField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
IMXTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
IMXTransformationLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
IMXTransformField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
IMXWorkflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
IMXWorkflowLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
IMXWorklet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Collection Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IMXConnections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IMXConstraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
iv Table of Contents
IMXConstraintElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IMXCubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IMXDimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IMXFacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
IMXFolders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXFolderVersions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXHierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXHierarchyLevels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXLevelFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXLevels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXMappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXMetaExtDomains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXMetaExts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IMXMetaExtVals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXRepositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXSessionTaskLogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXSessionTasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXSourceFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXSources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXStrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXTargetFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
IMXTargetIndexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
IMXTargetIndexFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
IMXTargets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
IMXTransformationLogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
IMXTransformFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
IMXTransforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
IMXWorkflowLogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
IMXWorkflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
IMXWorklets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Environment Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
IMXEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
XML Import and Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
XML Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
XML Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table of Contents v
Appendix A: Metamodel for Metadata Exchange SDK . . . . . . . . . . . . 33
Metamodel for Metadata Exchange SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Metadata Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Session and Workflow Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
vi Table of Contents
IMXTargetIndexField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
IMXTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
IMXTransformationLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
IMXTransformField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
IMXWorkflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
IMXWorkflowLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
IMXWorklet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
List of Figures ix
x List of Figures
List of Tables
Table 2-1. Metadata Exchange SDK Objects Supported for Export . . . . . . . . . . . . . . . . . . . . . 30
Table B-1. Methods in IMXConnection Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table B-2. Methods in IMXConstraint Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table B-3. Methods in IMXConstraintElement Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table B-4. Methods in IMXCube Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table B-5. Methods in IMXDimension Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table B-6. Methods in IMXEnvironment Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Table B-7. Methods in IMXFact Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table B-8. Methods in IMXFileConnection Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table B-9. Methods in IMXFolder Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table B-10. Methods in IMXFolderVersion Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table B-11. Methods in IMXGroup Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Table B-12. Methods in IMXHierarchy Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Table B-13. Methods in IMXHierarchyLevel Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table B-14. Methods in IMXLevel Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table B-15. Methods in IMXLevelField Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table B-16. Methods in IMXMapping Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table B-17. Methods in IMXMetaExt Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table B-18. Methods in IMXMetaExtDomain Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table B-19. Methods in IMXMetaExtVal Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table B-20. Methods in IMXObject Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table B-21. Methods in IMXRepository Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table B-22. Methods in IMXScheduler Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table B-23. Methods in IMXSessionTask Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table B-24. Methods in IMXSessionTaskLog Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table B-25. Methods in IMXSource Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Table B-26. Methods in IMXSourceField Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Table B-27. Methods in IMXString Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Table B-28. Methods in IMXTarget Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Table B-29. Methods in IMXTargetField Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Table B-30. Methods in IMXTargetIndex Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Table B-31. Methods in IMXTargetIndexField Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Table B-32. Methods in IMXTransform Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Table B-33. Methods in IMXTransformationLog Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Table B-34. Methods in IMXTransformField Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Table B-35. Methods in IMXWorkflow Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Table B-36. Methods in IMXWorkflowLog Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Table B-37. Methods in IMXWorklet Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Table D-1. Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
List of Tables xi
xii List of Tables
Preface
Welcome to PowerCenter, the Informatica software product that delivers an open, scalable
data integration solution addressing the complete life cycle for all data integration projects
including data warehouses, data migration, data synchronization, and information hubs.
PowerCenter combines the latest technology enhancements for reliably managing data
repositories and delivering information resources in a timely, usable, and efficient manner.
The PowerCenter repository coordinates and drives a variety of core functions, including
extracting, transforming, loading, and managing data. The Integration Service can extract
large volumes of data from multiple platforms, handle complex transformations on the data,
and support high-speed loads. PowerCenter can simplify and accelerate the process of
building a comprehensive data warehouse from disparate data sources.
xiii
About This Book
The Metadata Exchange SDK Guide contains information about COM-based APIs to
PowerCenter 8.1.1 repositories.
This document assumes you are familiar with COM programming as well as high-level
metadata concepts in the PowerCenter repository.
The material in this book is also available online.
Document Conventions
This guide uses the following formatting conventions:
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.
Warning: The following paragraph notes situations where you can overwrite
or corrupt data, unless you follow the specified procedure.
bold monospaced text This is an operating system command you enter from a prompt to
run a task.
xiv Preface
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
Preface xv
Use the following email addresses to contact Informatica Technical Support:
♦ support@informatica.com for technical inquiries
♦ support_admin@informatica.com 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
xvi Preface
Chapter 1
1
Overview
Metadata Exchange SDK provides a set of COM-based APIs for exchanging metadata with
the PowerCenter repository. The following list outlines the main features of the object-based
Metadata Exchange SDK APIs:
♦ Extensive metadata content, especially multi-dimensional for OLAP
♦ Ability to write metadata into the repository
♦ Complete encapsulation of the underlying repository organization by means of an API
♦ Smooth integration with third-party tools
♦ Component Object Model (COM) API for object-based interoperability through various
programming languages
♦ Enabling development of thin-client, especially web-based, applications for metadata
management
♦ Compatibility with industry standards, such as XML and UML
The Metadata Exchange SDK 8.1 COM-based interfaces support PowerCenter 8.1
repositories.
This document assumes that you are familiar with COM programming and high-level
metadata concepts in the PowerCenter repository.
New Methods
This section lists the new methods for existing interfaces.
IMXRepository Interface
♦ get_repositDomainName
♦ put_repositDomainName
For example, you have the folder Customers. Customers contains folder versions 3.0.0, 2.5.0,
and 1.0.0. The upgrade process upgrades the contents of Customers to three separate folders:
Customers, Customers_020500, and Customers_010000. Customers contains all objects
from folder version 3.0.0 in the existing folder. For more information about how the upgrade
process upgrades folder versions, see “Repository and Repository Service” in the Post-Upgrade
Reference.
New Methods
This section lists the new methods for existing interfaces.
IMXFolder Interface
The following list contains new methods for the IMXFolder interface:
♦ get_Sources
♦ get_Targets
♦ get_Transforms
♦ get_Mappings
♦ get_Mapplets
♦ get_Cubes
♦ get_Dimensions
♦ get_Hierarchies
♦ get_SourcePrimaryKeyConstraints
♦ get_SourceForeignKeyConstraints
♦ get_TargetPrimaryKeyConstraints
♦ get_TargetForeignKeyConstraints
♦ CreateSource
♦ CreateTarget
♦ CreateTransformation
♦ DeleteSource
♦ DeleteTarget
♦ DeleteTransformation
♦ Import
♦ GetObjects
IMXTarget Interface
The following list contains new methods for the IMXTarget interface:
♦ SaveWithoutCheckin
♦ SaveWithCheckinComment
IMXTransform Interface
The following list contains new methods for the IMXTransform interface:
♦ SaveWithoutCheckin
♦ SaveWithCheckinComment
IMXSessionTaskLog Interface
The following list contains a new method for the IMXSessionTaskLog interface:
♦ get_ServerName
IMXWorkflowLog Interface
The following list contains a new method for the IMXWorkflowLog interface:
♦ get_ServerGridName
Modified Interfaces
This section lists modifications to and new behavior for existing interfaces.
IMXFolderVersion Interface
When you use a method in the IMXFolderVersion interface, the method affects the upgraded
folder instead of a folder version. For example, when you use the get_Name method, the
method returns the name of the upgraded folder. It no longer returns the name of a folder
version. Similarly, when you use the CreateSource method, the method creates a source in the
upgraded folder.
IMXFolder
When you use the Save method with a repository enabled for versioning, the method saves all
modified objects in the folder and checks them in with a new version number.
IMXRepository
All Query<object_name> methods in this interface ignore the string you pass for the folder
version argument. Also, these methods require additional arguments. For more information
about the method syntax, see “IMXRepository” on page 64.
IMXSessionTask
The get_MappingVersion method now returns an empty string for the folder version name.
IMXSource
When you use any of the methods in the IMXSource interface to modify a source in a
repository enabled for versioning, the method checks out the source, modifies it and increases
the version number by one. However, if you are the user who has the object checked out, the
method keeps the object checked out and does not increase the version number. If a different
user has the source checked out, the method returns an error message with the name of the
user who checked out the source.
When you use any of the methods in the IMXSource interface to modify a source in a
repository not enabled for versioning, the method just modifies the source.
When you use the Save method with a repository enabled for versioning, the method saves the
source metadata with a default check in comment and checks it in with the version number
determined by the method that increased the object version number.
IMXTarget
When you use any of the methods in the IMXTarget interface to modify a target in a
repository enabled for versioning, the method checks out the target, modifies it, and increases
the version number by one. If someone has the target checked out, the method returns an
error message with the name of the user who checked out the target.
When you use any of the methods in the IMXTarget interface to modify a target in a
repository not enabled for versioning, the method just modifies the target.
When you use the Save method with a repository enabled for versioning, the method saves the
target metadata with a default check in comment and checks it in with the version number
determined by the method that increased the object version number.
IMXTransform
When you use any of the methods in the IMXTransform interface to modify a transformation
in a repository enabled for versioning, the method checks out the transformation, modifies it,
and increases the version number by one. If someone has the transformation checked out, the
method returns an error message with the name of the user who checked out the
transformation.
To run the sample Visual Basic application using Metadata Exchange SDK:
1. Open the RepBrowser Visual Basic project in the Vb subdirectory of your Metadata
Exchange SDK installation directory.
2. Run this project directly from the Run menu.
-or-
Create an executable within the File menu and then run the executable outside of the
Visual Basic project.
3. A dialog box prompts you for the information required to connect to the repository.
Enter your repository name, repository username, repository user password, host name,
and port number.
4. Click the Connect button to access the repository.
A window appears, similar to the one in the PowerCenter Repository Manager, displaying a
hierarchical object navigator on the left and an object property browser on the right. You can
select and browse the properties of various repository objects from the navigator tree such as
source, target, cube, dimension, and level. You can also import and export XML files in this
window.
One of the objectives for creating Metadata Exchange SDK was to provide an object-based
platform for developing thin-client applications for manipulating the metadata in a
PowerCenter repository.
1. Open the MXBrowse Visual C++ project from the Vc subdirectory of the Metadata
Exchange SDK installation directory.
2. Build MXBrowse.exe.
After the project successfully compiles and links, the MXBrowse.exe executable file is in
the bin subdirectory of the Metadata Exchange SDK installation directory. This program
requires the following command line arguments:
♦ Repository name
♦ Repository username
♦ Repository user password
You must also provide the following argument:
♦ Domain name
-or-
♦ Host name of the machine running the Service Manager
♦ Gateway port number
To run the sample Visual C++ target and source metadata writer:
1. Open the MXPush Visual C++ project in the Vc subdirectory of the Metadata Exchange
SDK installation directory.
2. Build MXPush.exe.
After the project successfully compiles and links, you can find the MXPush.exe
executable file in the bin subdirectory of the Metadata Exchange SDK installation
directory. This program requires the following command line arguments:
♦ Repository name
♦ Repository username
♦ Repository user password
You must also provide the following argument:
♦ Domain name
-or-
♦ Host name of the machine running the Service Manager
♦ Gateway port number
3. Run MXPush.exe from a DOS window.
or
Run MXPush.exe within the Visual C++ environment.
In the Visual C++ environment, you can specify the command line arguments in the
Debug tab in Project-Settings.
Register pmmxsrvr.dll from the Metadata Exchange SDK 6.x/MX SDK 5.x/MX2 1.x bin
directory by entering the following command at the command prompt:
regsvr32 pmmxsrvr.dll
♦ In some cases, if you install Metadata Exchange SDK 8.1 on a system on which Metadata
Exchange SDK 7.0/7.x/6.x, MX SDK 5.x, or MX2 1.x is already installed, Metadata
Exchange SDK 8.1 will not run. To run Metadata Exchange SDK 8.1, uninstall Metadata
Exchange SDK 8.0/7.x/6.x, MX SDK 5.x, or MX2 1.x. Or, make sure that the system path
variable has the Metadata Exchange SDK 8.1 bin directory specified before the Metadata
Exchange SDK 8.0/7.x/6.x, MX SDK 5.x, or MX2 1.x bin directory.
19
Metadata Interfaces
The metadata interfaces are the main interfaces provided for accessing content and
relationships of various repository objects, such as folders, mappings, and sources. Each
interface has specific methods for accessing its properties and other objects related to it.
IMXConnection
This metadata interface provides methods to get the metadata associated with a specific
connection.
IMXConstraint
This metadata interface provides methods to get the table-level PK-FK relationships between
two tables, as well as the collection of field-level constraints between those tables.
IMXConstraintElement
This metadata interface provides methods to get the field-level PK-FK relationships for
specific columns in two related tables.
IMXCube
This metadata interface provides methods to get the metadata associated with a multi-
dimensional cube. A cube consists of one or more fact tables and one or more dimension
hierarchies.
IMXDimension
This metadata interface provides methods to get the metadata for a multi-dimensional
dimension, such as time. A dimension can contain one or more levels as well as one or more
tree-based level hierarchies.
IMXFact
This metadata interface provides methods to get the metadata for a fact table used in a multi-
dimensional cube. A fact table may have one or more quantifiable measures, such as total
sales, and one or more hierarchy levels, such as week.
IMXFileConnection
This metadata interface provides methods to get the metadata associated with a specific file
connection.
IMXFolderVersion
Effective in PowerCenter 7.0, you no longer create folder versions. However, you can still use
the IMXFolderVersion interface to access and create repository objects. When you use
IMXFolderVersion to access objects with a repository you upgraded to version 7.1 or later, the
Repository Service returns objects listed under the folder that was upgraded from the
specified folder version.
Do not use this interface when you create a new program using Metadata Exchange SDK.
IMXHierarchy
This metadata interface provides methods to get the metadata for a dimension hierarchy, such
as year-week-day. The levels in a hierarchy can have a linear or a general tree-based
hierarchical order.
IMXHierarchyLevel
This metadata interface provides methods to get the metadata for a level, such as week, in a
dimension hierarchy, such as year-week-day.
IMXLevel
This metadata interface provides methods to get the metadata for a level, such as week, of a
dimension, such as time.
IMXLevelField
This metadata interface provides methods to get the metadata associated with a particular
field, such as name, of a dimension level, such as week.
IMXMapping
This metadata interface provides methods to get the name of a mapping as well as access the
collection interfaces for the sources, targets, and transformations within that mapping.
Metadata Interfaces 21
IMXMetaExt
This metadata interface provides methods to get the name, description, default value,
datatype, maximum length, and permission for a metadata extension definition.
IMXMetaExtDomain
This metadata interface provides methods to get the name, vendor, description, and usage of a
metadata extension domain.
IMXMetaExtVal
This metadata interface provides methods to get and update the metadata extension value, as
well as get the metadata extension name, datatype, maximum length, description, permission,
reusability, and object type.
IMXObject
This metadata interface provides methods to indicate how to import a specific object through
XML.
IMXRepository
This is the main metadata interface for browsing a repository. Through this interface you can
get the repository name, repository user name, repository user password, database username,
database user password, and the ODBC connection string. This interface is also used to
connect to and disconnect from the database that holds the repository metadata as well as
provide the means for accessing the collection of folders within it. This interface also provides
a set of query functions for getting source and target objects and PK-FK constraints.
IMXScheduler
This metadata interface provides methods to get the metadata associated with a scheduler.
IMXSessionTask
This metadata interface provides methods to get the metadata associated with a session and its
child objects such as Email tasks, metadata extension values, and source and target
connections.
IMXSessionTaskLog
This metadata interface provides methods to get the metadata associated with a session log.
IMXSourceField
This metadata interface provides methods to get and set the properties associated with a field
of a source. These properties are name, business name, user-defined comment, datatype,
native datatype, key type, data precision, data scale, nullability status, and transformation
expression used to populate this field. You can also specify the constraint information for this
field.
IMXString
This metadata interface provides methods to access string data.
IMXTarget
This metadata interface provides methods to get and set the name, business name, database
type, and the user-defined comment associated with a target. You can also access the
collection interface for the fields of that target through this interface. This interface also
provides a method to create a target field as well as a method to save the target metadata into
the repository.
IMXTargetField
This metadata interface provides methods to get and set the properties associated with a field
of a target. These properties are name, business name, user-defined comment, datatype,
native datatype, key type, data precision, data scale, nullability status, and transformation
expression used to populate this field. You can also specify the constraint information for this
field.
IMXTargetIndex
This metadata interface provides methods to access an index of a target table and creating a
new index for the target table. You can access the collection interface for the fields in the
index through this interface.
IMXTargetIndexField
This metadata interface provides a method to access the name of the target table index field.
Metadata Interfaces 23
IMXTransform
This metadata interface provides methods to get the name associated with a transformation.
You can also access the collection interface for the fields of that transformation through this
interface. This interface also includes methods to get the attribute values for the
transformation.
This interface can add Advanced External Procedure and External Procedure transformations
into the repository. However, when you add Advanced External Procedure transformations
into the repository, the Repository Service upgrades the transformation to a Custom
transformation when you save the object.
IMXTransformationLog
This metadata interface provides methods to get the metadata associated with a
transformation log.
IMXTransformField
This metadata interface provides methods to get the properties associated with a
transformation field. These properties are name, comment, field type, port type, default
value, data precision, data scale, and index.
IMXWorkflow
This metadata interface provides methods to get the metadata associated with a workflow and
the following types of child objects: worklets, metadata extension values, sessions, and
schedulers.
IMXWorkflowLog
This metadata interface provides methods to get the metadata associated with a workflow log.
IMXWorklet
This metadata interface provides methods to get the metadata associated with a worklet.
IMXConnections
This collection interface provides methods to access the connection interfaces that are
referenced from another interface, such as the IMXRepository interface.
If you use the IMXConnections Find method, you must pass the
ConnectionName.ConnectionTypeName.
IMXConstraints
This collection interface provides methods to access the table-level PK-FK constraint
interfaces referenced from another interface, such as the IMXFolder metadata interface.
IMXConstraintElements
This collection interface provides methods to access the field-level PK-FK constraint
interfaces referenced from another interface, such as the IMXConstraint metadata interface.
IMXCubes
This collection interface provides methods to access the cube interfaces that are referenced
from another interface, such as the IMXFolder metadata interface.
IMXDimensions
This collection interface provides methods to access the dimension interfaces that are
referenced from another interface, such as the IMXFolder metadata interface.
IMXFacts
This collection interface provides methods to access the fact interfaces that are referenced
from another interface, such as the IMXFolder metadata interface.
Collection Interfaces 25
IMXFolders
This collection interface provides methods to access the folder interfaces referenced from
another interface, such as the IMXRepository metadata interface.
IMXFolderVersions
Effective in PowerCenter 7.0, you no longer create folder versions. However, you can still use
the IMXFolderVersions collection interface when you use the IMXFolderVersion metadata
interface in programs created with previous versions of Metadata Exchange SDK.
Do not use this interface when you create a new program using Metadata Exchange SDK.
IMXHierarchies
This collection interface provides methods to access the hierarchy interfaces that are
referenced from another interface, such as the IMXDimension metadata interface.
IMXHierarchyLevels
This collection interface provides methods to access the hierarchy level interfaces that are
referenced from another interface, such as the IMXHierarchyLevel metadata interface.
IMXLevelFields
This collection interface provides methods to access the level field interfaces that are
referenced from another interface, such as the IMXLevelField metadata interface.
IMXLevels
This collection interface provides methods to access the level interfaces that are referenced
from another interface, such as the IMXDimension metadata interface.
IMXMappings
This collection interface provides methods to access the mapping interfaces referenced from
another interface, such as the IMXFolder metadata interface.
IMXMetaExtDomains
This collection interface provides methods to access the metadata extension domain interfaces
referenced from another interface, such as the IMXRepository interface.
IMXMetaExts
This collection interface provides methods to access the metadata extension interfaces
referenced from another interface, such as the IMXMetaExtDomain interface.
IMXObjects
This collection interface provides methods for the user to indicate how to import the objects
in the collection through XML. The objects in the collection represent objects of a certain
type (Folder/Source/Target) in an input XML file.
IMXRepositories
This collection interface provides methods to access the repository interfaces referenced from
another interface.
IMXSessionTaskLogs
This collection interface provides methods to access the session log interfaces referenced from
another interface.
IMXSessionTasks
This collection interface provides methods to access the session interfaces referenced from
another interface.
IMXSourceFields
This collection interface provides methods to access the source field interfaces referenced
from another interface, such as the IMXSource metadata interface.
IMXSources
This collection interface provides methods to access the source interfaces referenced from
another interface, such as the IMXMapping metadata interface.
IMXStrings
This collection interface provides methods to access string data.
IMXTargetFields
This collection interface provides methods to access the target field interfaces referenced from
another interface, such as the IMXTarget metadata interface.
Collection Interfaces 27
IMXTargetIndexes
This collection interface provides methods to access the target index interfaces from the
IMXTarget metadata interface.
IMXTargetIndexFields
This collection interface provides methods to access the target index fields from the
IMXTargetIndex metadata interface.
IMXTargets
This collection interface provides methods to access the target interfaces referenced from
another interface, such as the IMXMapping metadata interface.
IMXTransformationLogs
This collection interface provides methods to access the transformation log interfaces
referenced from another interface, such as the IMXTransform metadata interface.
IMXTransformFields
This collection interface provides methods to access the transformation field interfaces
referenced from another interface, such as the IMXTransform metadata interface.
IMXTransforms
This collection interface provides methods to access the transformation interfaces referenced
from another interface, such as the IMXMapping metadata interface.
IMXWorkflowLogs
This collection interface provides methods to access the workflow log interfaces referenced
from another interface.
IMXWorkflows
This collection interface provides methods to access the workflow interfaces referenced from
another interface.
IMXWorklets
This collection interface provides methods to access the worklet interfaces referenced from
another interface.
IMXEnvironment
This interface provides methods to direct output to a file, standard output, or debug streams
as well as setting the level of tracing to Off, Terse, Medium, Verbose, or Debugtrace.
Environment Interfaces 29
XML Import and Export
The XML-based import/export facility provides a way to exchange metadata using XML. You
can export objects from the repository in an XML format. Likewise, you can import objects
into the repository in an XML format. XML is associated with powrmart.dtd, which is
included in the bin directory.
XML Export
Table 2-1 shows the Metadata Exchange SDK objects supported for export through XML.
The second column shows what is exported to the XML file for each object.
Metadata Exchange
Exported Attributes
SDK Object
Each of the Metadata Exchange SDK interfaces uses the HRESULT Export(BSTR xmlFile)
method for XML export. The HRESULT Export(BSTR xmlFile) method exports the
attributes of the object in XML format. The file used for the export is xmlFile. The exported
XML conforms to the DTD named powrmart.dtd.
XML Import
You can import the following objects through XML:
♦ Source
♦ Target
Two interfaces in Metadata Exchange SDK are able to support XML-based imports. These
interfaces are the IMXObject interface and the IMXObjects collection interface.
You must import the parent table definitions first if the parent table definition has foreign key
relationships with the child table definition. If you do not import the parent table definition
first, the foreign key constraints may be removed.
1. Create a valid XML file that conforms to the provided powrmart.dtd. The XML file must
contain the objects you want to import into the repository.
2. Call the GetObjects() method from the IMXFolder interface to get a list of valid objects
in the XML file of a specific object type. This list is in the form of an IMXObjects
collection interface.
The purpose of the GetObjects() method is to validate the contents of the XML file and
to look for any existing objects with the same name in the repository.
To call GetObjects(), use GetObjects(BSTR fileName, int ObjectType, IMXObjects**
pObjects).
FileName is the name of the XML file used for import. ObjectType is one of the
following:
♦ 1 = Source
♦ 2 = Target
To import sources/targets, you need to call the GetObjects() method from the
IMXFolder interface with ObjectType = 1 or 2. This method reads in the objects into the
folder that the interface represents.
3. Iterate through the IMXObjects collection from the previous step, and set the attributes
of the IMXObject interface. The attributes of the IMXObject interface determine how to
handle duplicates during the import.
put_IsReplace(BOOL *pval): Sets to TRUE if an existing object is to be replaced.
SetImport(BOOL newVal): Determines if object is to be imported or not.
getIsDuplicate(): Determines if object already exists.
put_NewName(BSTR newName): Provides a new name for the object, if the object already
exists.
4. Call the Import() method of IMXFolder interface by using Import(BOOL
bCheckDependency, LPDISPATCH *pVal) .
If the bCheckDependency option is set to True, all of the object dependencies are
checked.
5. Verify the status of the imported objects by calling the get_ErrorCode() method of
IMXObject interface: get_ErrorCode(int errCode).
33
Metamodel for Metadata Exchange SDK
This appendix provides graphical models of the Metadata Exchange SDK metadata and
collection interfaces and their relationships. The graphical models are presented in standard
Unified Modeling Language (UML) notation.
Metadata Interfaces
Figure A-1 shows a UML model of the Metadata Exchange SDK interface:
Programming Reference
Guide
This appendix presents Metadata Exchange SDK interfaces in alphabetical order.
37
Overview
Each interface in this appendix has a description followed by brief descriptions of all the
public methods offered by that interface. The datatypes used for the variables of these
methods are in uppercase. They are compatible with the standard COM datatypes.
Note: You can see a complete list of available methods by browsing the type information of the
PmMxSrvr.dll using the Visual Basic or MSVC object browser.
HRESULT get_UserName (BSTR* UserName) Returns the user name for this connection.
HRESULT get_ConnectString (BSTR* Returns the connect string for this connection.
ConnectString
HRESULT get_ConnectionTypeName (BSTR* pVal) Returns the general connection type for this connection, such as
relational, queue, FTP, application, or external loader.
HRESULT get_ConnectionSubTypeName (BSTR* Returns the specific connection type for this connection, such as
pVal) Oracle, Sybase, or SQL Serve.
HRESULT get_CodePageName (BSTR* pVal) Returns the code page for the connection. For information about
the code page values, see “Code Pages” in the PowerCenter
Command Line Reference.
HRESULT get_PropertyCount () Returns the number of attributes associated with the connection.
HRESULT get_PropertyByIndex ([in] LONG index, Returns the attribute/value pair at a given position in the
[out] BSTR* pPropName, [out] BSTR* pPropValue) attribute/value pair collection. The given index starts from 0.
HRESULT get_PropertyByName ([in] BSTR* Returns the value of an attribute given the attribute name.
pPropName, [out] BSTR* pPropValue)
HRESULT get_isDataConnection (BOOL* pVal) Returns true if connection is used as a data source or target.
IMXConnection 39
IMXConstraint
This interface is for the constraint that relates two tables.
HRESULT get_ConstraintElements (LPDISPATCH* Gets the collection of constraint elements in this constraint.
lpd)
HRESULT get_RefTableName (BSTR* bstr) Gets the name of the primary key table associated with this
constraint.
Applies to foreign key constraints.
HRESULT get_TableName (BSTR* bstr) Gets the name of the key associated with this constraint.
HRESULT get_dbdName (BSTR* bstr) Gets the DBD name associated with this constraint.
HRESULT get_Type (MXCONSTRAINT_TYPE* Gets the type of the constraint from the following enumerated
constyp) list:
0 = MXCONSTRAINT_NONE
1 = MXCONSTRAINT_CANDIDATE_KEY
2 = MXCONSTRAINT_PRIMARY_KEY
4 = MXCONSTRAINT_FOREIGN_KEY
8 = MXCONSTRAINT_REFBY_FOREIGN_KEY
HRESULT get_ColumnName (BSTR* bstr) Gets the name of the column associated with this constraint element.
HRESULT get_index (LONG* index) Gets the index associated with this constraint element.
HRESULT get_RefColumnName (BSTR* bstr) Gets the name of the reference column associated with this constraint
element.
IMXConstraintElement 41
IMXCube
This interface is for the multi-dimensional cube metadata in the repository.
HRESULT get_Comment (BSTR* bstr) Gets the comment associated with a cube.
HRESULT get_DatabaseType (BSTR* bstr) Gets the type of database (such as Microsoft SQL Server or
Oracle) used for instantiating the cube.
HRESULT get_Facts (LPDISPATCH* lpd) Gets the collection of fact objects associated with this cube.
HRESULT get_Hierarchies (LPDISPATCH* lpd) Gets the collection of hierarchy objects associated with this
cube.
HRESULT get_Comment (BSTR* bstr) Gets the comment associated with this dimension.
HRESULT get_DatabaseType (BSTR* bstr) Gets the type of database specified for datatypes in this dimension.
HRESULT get_Hierarchies (LPDISPATCH* lpd) Gets the collection of hierarchies specified for this dimension.
HRESULT get_Levels (LPDISPATCH* lpd) Gets the collection of levels associated with this dimension.
IMXDimension 43
IMXEnvironment
This interface is for read-only environment settings of Metadata Exchange.
HRESULT get_Version (BSTR* bstr) Returns the Metadata Exchange SDK version.
HRESULT setTraceToFile (BSTR bstr) Directs the tracing information to the specified file.
HRESULT get_TraceLevel () Gets the current setting for the level of tracing. The values of this setting can
be Off, Terse, Medium, Verbose, or Debugtrace.
HRESULT serialize (BSTR bstr) Directs the tracing information into the specified buffer.
HRESULT tracingToStdout () Returns whether the status of tracing is set to the standard output.
HRESULT get_Name (BSTR* bstr) Gets the name of the target table that holds the information for
this fact.
HRESULT get_BusinessName (BSTR* bstr) Gets the business name of the target table that holds the
information for this fact.
HRESULT get_Comment (BSTR* bstr) Gets the comment associated with the target table that holds the
information for this fact.
HRESULT get_Measures (LPDISPATCH* lpd) Gets a collection of target fields that correspond to the
measures in this fact.
HRESULT get_DimensionCount (LONG* dimcnt) Gets the number of dimensions associated with this fact.
HRESULT get_Dimension (LONG indx, BSTR* Gets the name of a dimension for a given index number ranging
dimname) from 1 to the dimension count.
HRESULT get_DimensionHierarchy (LONG indx, Gets the name of a hierarchy for a given index number ranging
BSTR* hiername) from 1 to the dimension count.
HRESULT get_DimensionLevel (LONG indx, BSTR* Gets the name of the level for a given index number ranging
lvlname) from 1 to the dimension count.
HRESULT get_DimensionCardinality (LONG indx, Gets the cardinality for a specified index number ranging from 1
LONG* cardnlty) to the dimension count.
IMXFact 45
IMXFileConnection
This interface provides methods to get the metadata associated with a specific file connection.
HRESULT get_FileName (BSTR* fileName) Gets the file name associated with this connection.
HRESULT get_DirName (BSTR* dirName) Gets the directory name for this file connection.
HRESULT get_CodePageName (BSTR* codePage) Gets the code page for this file connection.
HRESULT get_FolderVersions (LPDISPATCH* pval) Gets the interface for the folder version object.
HRESULT get_IsShared (LONG* shrd) Gets the state of the folder as shared or unshared.
HRESULT get_OwnerPerm (BSTR* bstr) Gets the owner permissions for this folder.
HRESULT get_GroupPerm (BSTR* bstr) Gets the group permissions for this folder.
HRESULT get_PublicPerm (BSTR* bstr) Gets the public permissions for this folder.
HRESULT SetPermission (LONG type, LONG perm) Sets permission for owner/group/public. You can specify the
following parameter values for parameter “type”:
1 = OWNER
2 = GROUP
3 = WORLD
You can specify the following parameter values for the
parameter “perm”:
1 = READPERM
2 = WRITEPERM
3 = EXECPERM
HRESULT RevokePermission (LONG type, LONG Revokes permission for owner/group/public. You specify the
perm) same parameter values as the SetPermission() method.
HRESULT Save() When you save objects in a repository enabled for versioning,
this method saves all modified objects in the folder and checks
them in with the new version number determined by the method
that modified the object and increased its version number. This
method checks in modified objects with the following default
check in comments:
Checked in by MX2
When you save objects in a repository not enabled for
versioning, this method saves the metadata in this folder into the
repository.
HRESULT get_Worklets (LPDISPATCH *pVal) Returns a collection IMXWorklets container of worklets defined
in this folder.
IMXFolder 47
Table B-9. Methods in IMXFolder Interface
HRESULT get_Sources (LPDISPATCH* lpd) Gets the interface to the sources in this folder.
HRESULT get_Targets (LPDISPATCH* lpd) Gets the interface to the targets in this folder.
HRESULT CreateTarget (BSTR name, BSTR Creates a target object in this folder, given the target name,
DatabaseType, BSTR bsname, BSTR comm, database type, business name, and comment. It returns a
IMXTarget pTarg) pointer to the target interface object created.
When you create a target in a repository enabled for versioning,
this method creates the target as version one and checks it out.
HRESULT CreateSource (BSTR name, BSTR Creates a source object in this folder, given the sources name,
dbdname, BSTR Database Type, BSTR bsname, database type, business name, and comment. It returns a
BSTR comm, IMXSource** pSource) pointer to the source interface object. The Save() method must
be invoked to save the changes to the repository.
When you create a source in a repository enabled for versioning,
this method creates the source as version one and checks it out.
HRESULT DeleteSource (IMXSource* pIMXSource) Deletes a source definition from the repository. Note that the
user must call Release() on the interface before calling the
method. This method also deletes the interface from memory.
The Save() method must be invoked to save the changes to the
repository.
HRESULT DeleteTarget (IMXTarget* pIMXTarget) Deletes a target table from the repository. Note that the user
must call Release() on the interface before calling the method.
The method also deletes the interface from memory. The Save()
method must be invoked to save the changes to the repository.
HRESULT get_Mappings (LPDISPATCH* lpd) Gets the interface to the mappings in this folder.
HRESULT get_Mapplets (LPDISPATCH* lpd) Gets the interface to the mapplets in this folder.
HRESULT get_Transforms (LPDISPATCH* lpd) Gets the interface to the transformations in this folder.
HRESULT get_TargetForeignKeyConstraints () Returns a collection of foreign key constraints in this folder for
targets.
HRESULT get_TargetPrimaryKeyConstraints () Returns a collection of primary key constraints in this folder for
targets.
HRESULT get_SourceForeignKeyConstraints () Returns a collection of foreign key constraints in this folder for
sources.
HRESULT get_SourcePrimaryKeyConstraints () Returns a collection of primary key constraints in this folder for
sources.
HRESULT get_Cubes (LPDISPATCH* lpd) Gets the interface to the multi-dimensional cubes in this folder.
HRESULT get_Dimensions (LPDISPATCH* lpd) Gets the interface to the multi-dimensional dimensions in this
folder.
HRESULT get_Hierarchies (LPDISPATCH* lpd) Gets the interface to the multi-dimensional dimension
hierarchies in this folder.
HRESULT CreateTransformation (BSTR name, Creates a transformation object in this folder. The Save()
BSTR transformType, IMXTransform** pTransform) method must be invoked to save the changes to the repository.
Note that only External Procedure and Advanced External
Procedure transformations can be created using this method.
However, when you create an Advanced External Procedure
transformation and save it, the Repository Service upgrades it to
a Custom transformation. Transformation name is not case
sensitive.
When you create a transformation in a repository enabled for
versioning, this method creates the transformation as version
one and checks it out.
HRESULT DeleteTransformation (IMXTransform* Deletes a transformation from the repository. Note that the user
pTransform) must do a Release() on the interface before calling the method.
The method deletes the interface from memory. The Save()
method must be invoked to save the changes to the repository.
This invalidates mappings/mapplets using the transformation.
Note that only External Procedure and Custom transformations
can be deleted using this method.
When you delete an object from a repository enabled for
versioning, this method checks out the object and marks it
deleted. When you save the object afterward, the Save() method
checks in the object and deletes it from the repository. The
Save() method does not purge the object.
When you delete an object from a repository not enabled for
versioning, this method marks the object deleted. When you
save the object afterward, the Save() method deletes it from the
repository. You cannot recover objects deleted from a repository
if you do not enable versioning.
IMXFolder 49
Table B-9. Methods in IMXFolder Interface
HRESULT GetObjects (BSTR xmlFile, int Parses the XML file xmlfile and searches for all objects of type
ObjectType, IMXObjects** pObjects) “ObjectType” in the XML file. It returns an IMXObject collection
of such objects. The valid object types supported are:
1 = Source
2 = Target
For more information about using this method, see “XML Import
and Export” on page 30.
HRESULT Import (BOOL bCheckDependency, Parses the XML file xmlFile and imports objects of type
LPDISPATCH *pVal) “ObjectType” from pVal. If the bCheckDependency option is set
to True, all of the object dependencies are checked. The
IMXObject interface in the IMXObjects collection determines
how to import each object. The valid object types supported are:
1 = Source
2 = Target
For more information about using this method, see “XML Import
and Export” on page 30.
HRESULT get_Sources (LPDISPATCH* lpd) Gets the interface to the sources in this folder.
HRESULT get_Targets (LPDISPATCH* lpd) Gets the interface to the targets in this folder.
HRESULT CreateTarget (BSTR name, BSTR Creates a target object in this folder, given the target name,
DatabaseType, BSTR bsname, BSTR comm, database type, business name, and comment. It returns a
IMXTarget pTarg) pointer to the target interface object created.
HRESULT CreateSource (BSTR name, BSTR Creates a source object in this folder, given the sources name,
dbdname, BSTR Database Type, BSTR bsname, database type, business name, and comment. It returns a
BSTR comm, IMXSource** pSource) pointer to the source interface object. The Save() method must
be invoked to save the changes to the repository.
HRESULT DeleteSource (IMXSource* pIMXSource) Deletes a source definition from the repository. Note that the
user must call Release() on the interface before calling the
method. This method also deletes the interface from memory.
The Save() method must be invoked to save the changes to the
repository.
HRESULT DeleteTarget (IMXTarget* pIMXTarget) Deletes a target definition from the repository. Note that the user
must call Release() on the interface before calling the method.
The method also deletes the interface from memory. The Save()
method must be invoked to save the changes to the repository.
HRESULT get_Mappings (LPDISPATCH* lpd) Gets the interface to the mappings in this folder.
HRESULT get_Mapplets (LPDISPATCH* lpd) Gets the interface to the mapplets in this folder.
HRESULT get_Transforms (LPDISPATCH* lpd) Gets the interface to the transforms in this folder.
IMXFolderVersion 51
Table B-10. Methods in IMXFolderVersion Interface
HRESULT Save () When you save folder objects in a repository enabled for
versioning, this method saves all modified objects in the folder
and checks them in with the new version number determined by
the method that modified the object and increased its version
number. This method checks in modified objects with the
following default check in comments:
Checked in by MX2
When you save folder objects in a repository not enabled for
versioning, this method saves the metadata in this folder into the
repository.
HRESULT get_TargetForeignKeyConstraints () Returns a collection of foreign key constraints in this folder for
targets.
HRESULT get_TargetPrimaryKeyConstraints () Returns a collection of primary key constraints in this folder for
targets.
HRESULT get_SourceForeignKeyConstraints () Returns a collection of foreign key constraints in this folder for
sources.
HRESULT get_SourcePrimaryKeyConstraints () Returns a collection of primary key constraints in this folder for
sources.
HRESULT get_Cubes (LPDISPATCH* lpd) Gets the interface to the multi-dimensional cubes in this folder.
HRESULT get_Dimensions (LPDISPATCH* lpd) Gets the interface to the multi-dimensional dimensions in this
folder.
HRESULT get_Hierarchies (LPDISPATCH* lpd) Gets the interface to the multi-dimensional dimension
hierarchies in this folder.
HRESULT CreateTransformation (BSTR name, Creates a transformation object in this folder. The Save()
BSTR transformType, IMXTransform** pTransform) method must be invoked to save the changes to the repository.
Note that only External Procedure and Advanced External
Procedure transformations can be created using this method.
However, when you create an AEP transformation and save it,
the Repository Service upgrades it to a Custom transformation.
Transformation name is not case sensitive.
HRESULT DeleteTransformation (IMXTransform* Deletes a transformation from the repository. Note that the user
pTransform) must do a Release() on the interface before calling the method.
The method deletes the interface from memory. The Save()
method must be invoked to save the changes to the repository.
This invalidates mappings/mapplets using the transformation.
Note that only External Procedure and Custom transformations
can be deleted using this method.
HRESULT GetObjects (BSTR xmlFile, int Parses the XML file xmlfile and searches for all objects of type
ObjectType, IMXObjects** pObjects) “ObjectType” in the XML file. It returns an IMXObject collection
of such objects. The valid object types supported are:
1 = Source
2 = Target
For more information about using this method, see “XML Import
and Export” on page 30.
HRESULT Import (BOOL bCheckDependency, Parses the XML file xmlFile and imports objects of type
LPDISPATCH *pVal) “ObjectType” from pVal. If the bCheckDependency option is set
to True, all of the object dependencies are checked. The
IMXObject interface in the IMXObjects collection determines
how to import each object. The valid object types supported are:
1 = Source
2 = Target
For more information about using this method, see “XML Import
and Export” on page 30.
IMXFolderVersion 53
IMXGroup
This interface is for the group metadata in the repository.
HRESULT get_Comment (BSTR* bstr) Gets the comment associated with this hierarchy.
HRESULT get_Dimension (MXDimension* dim) Gets the dimension for this hierarchy.
HRESULT get_HierarchyLevels (LPDISPATCH* lpd) Gets the collection of hierarchy levels that implement this
hierarchy.
HRESULT get_HierarchyType (LONG* Gets the hierarchy type for this dimension. The hierarchy type
hierarchyType) can be either of the following:
2 = Normalized
3 = Denormalized
IMXHierarchy 55
IMXHierarchyLevel
This interface is for the level of a dimension hierarchy.
HRESULT get_Name (BSTR* bstr) Gets the name of this hierarchy level.
HRESULT get_Comment (BSTR* bstr) Gets the comment for this hierarchy level.
HRESULT get_Cardinality (LONG* crdnlty) Gets the cardinality associated with a hierarchy level.
HRESULT get_ChildrenHierarchyLevels Gets the collection of hierarchy levels that are children of this level.
(LPDISPATCH* lpd)
HRESULT get_LevelFields (LPDISPATCH* lpd) Gets the collection of level fields associated with this level.
HRESULT get_ParentHierarchyLevel Gets the parent level of this hierarchy (if null, this is the root level).
(MXHierarchyLevel* lpd)
HRESULT get_Target (BSTR* bstr) Gets the name of the target table that holds the data for this
hierarchy level.
HRESULT get_Comment (BSTR* bstr) Gets the comment associated with this level.
HRESULT get_LevelFields (LPDISPATCH* lpd) Gets the collection of fields associated with this level.
IMXLevel 57
IMXLevelField
This interface is for the field of a level.
HRESULT get_BusinessName (BSTR* bstr) Gets the business name of the level field.
HRESULT get_Comment (BSTR* bstr) Gets the comments associated with this level field.
HRESULT get_NativeDatatype (BSTR* bstr) Gets the datatype of this level field.
HRESULT get_Precision (BSTR* bstr) Gets the precisions for the data in this level field.
HRESULT get_Scale (BSTR* bstr) Gets the scale for the data in this level field.
HRESULT get_Nullable (LONG* nulbl) Gets the nullable setting for this level field.
HRESULT get_Sources (LPDISPATCH* lpd) Gets the collection of sources (IMXSources) in this mapping.
HRESULT get_Targets (LPDISPATCH* lpd) Gets the collection of targets (IMXTargets) in this mapping.
HRESULT get_Transforms (LPDISPATCH* lpd) Gets the collection of transformations (IMXTransform) in this
mapping.
HRESULT Export (BSTR fileName) Exports attributes of this mapping in XML format. The file used
for the export is indicated by fileName. This includes a list of
associated sources, targets, and transformations.
HRESULT get_Valid (BOOL *pVal) Returns a boolean that indicates whether the mapping is
valid (1) or invalid (0). Returns -1 for shortcuts to mappings.
IMXMapping 59
IMXMetaExt
This interface represents the information of a metadata extension definition.
HRESULT get_Name (BSTR* name) Returns the name of the metadata extension definition represented
by this interface.
HRESULT get_Description (BSTR* description) Returns the description of this metadata extension definition.
HRESULT get_DefaultValue (BSTR* value) Returns the default value of this metadata extension definition.
HRESULT get_DataType (BSTR * dataType) Returns the datatype of this metadata extension definition. For user-
defined metadata extensions, returns numeric, string, or boolean.
For vendor-defined metadata extensions, returns numeric, string,
boolean, or XML.
HRESULT get_maxLength (LONG * maxLength) Returns the maximum length of this metadata extension definition. If
the datatype is numeric or boolean, returns 0.
HRESULT get_Permission (LONG * permission) Returns the permission for this metadata extension definition as a
bit vector. The bits are set as follows:
- 0th bit (bitmask = 1): Shared read. This metadata extension
definition can be seen from the client tools such as the Repository
Manager or the Designer.
- 1st bit (bitmask = 2): Shared write. This metadata extension
definition can be changed from the client tools.
- 2nd bit (bitmask = 4): Client visible. This metadata extension
definition is visible in other domains.
- 3rd bit (bitmask = 8): Client editable. This metadata extension
definition can be changed by other domains.
- 4th bit (bitmask = 16): Private.
HRESULT get_DBType (BSTR* dbType) Returns the database type of this metadata extension definition. If
this metadata extension definition is not defined for source or target,
returns an empty string. This string can be used in the
QueryMetadataExtDef function in IMXRepository.
HRESULT get_DBSubType (BSTR* dbSubType) Returns the database subtype of this metadata extension definition.
If this metadata extension definition is not defined for source or
target, returns an empty string.
HRESULT get_Domain (IMXMetaExtDomain ** Returns a back pointer to the domain in which this metadata
domain) extension definition is defined.
HRESULT get_ObjectType (BSTR* objectType) Returns the object type of the objects to which this metadata
extension definition applies. This string can be used in the
QueryMetadataExtDef function in IMXRepository.
HRESULT get_Name (BSTR* name) Returns the name of the metadata extension domain
represented by this interface.
HRESULT get_VendorName (BSTR* vendor) Returns the name of the vendor of this domain.
HRESULT get_Usage (LONG* domainUsage) Returns the metadata extension domain usage information of
this domain as a bit vector. The bits are set as follows:
- 0th bit (bitmask = 1): Client visible. The domain name can be
seen from the PowerCenter Client tools such as the Repository
Manager or the Designer.
- 1st bit (bitmask = 2): Client editable. The metadata can be
edited from the PowerCenter Client tools. However, there is no
way to edit non-user-defined metadata extension domains in
the PowerCenter Client, so this value is always set to false.
- 2nd bit (bitmask = 4): Allows access without key. All metadata
extension definitions in this domain are public. You do not need
the domain key to access all of the metadata definitions.
HRESULT get_isUDMDomain (BOOL* Returns true if this domain is a user-defined metadata extension
isUDMDomain) domain.
HRESULT get_MetaExts (/*in */ BSTR key, /*out */ Returns a collection of metadata extension definitions
LPDISPATCH * metaExtList) (IMXMetaExt) in this domain if the given key is valid for this
domain. If the key is not valid, only the public metadata
extensions are returned.
IMXMetaExtDomain 61
IMXMetaExtVal
This interface represents the information in the metadata extension value.
HRESULT get_Value (BSTR* value) Returns the value of this metadata extension value.
HRESULT put_Value (/*in*/ BSTR value) Sets the value of this metadata extension value. If the metadata
extension value is reusable, or if the value does not match the
datatype, returns an error.
HRESULT get_MetaExtName (BSTR* name) Returns the name of this metadata extension value.
HRESULT get_DataType (LONG* dataType) Returns the datatype of this metadata extension value.
HRESULT get_MaxLength (LONG * maxLength) Returns the maximum length of this metadata extension value. If
the datatype is numeric or boolean, returns 0.
HRESULT get_Description (BSTR * description) Returns the description of this metadata extension value.
HRESULT get_Permission (LONG * permission) Returns the permission information for this metadata extension
value as a bit vector. The bits are set as follows:
- 0th bit (bitmask = 1): Shared read. This metadata extension
value can be seen from the client tools such as the Repository
Manager or the Designer.
- 1st bit (bitmask = 2): Shared write. This metadata extension
value can be changed from the PowerCenter Client tools.
- 2nd bit (bitmask = 4): Client visible. This metadata extension
value is visible in other domains.
- 3rd bit (bitmask = 8): Client editable. This metadata extension
value can be changed by other domains.
- 4th bit (bitmask = 16): Private.
HRESULT get_isReusable (BOOL* isReusable) Returns whether this metadata extension value is derived from a
metadata extension definition.
HRESULT get_ObjectType (BSTR* objectType) Returns the object type of the object to which this metadata
extension value belongs. This string can be used in the
QueryMetadataExtDef function in IMXRepository.
HRESULT get_Domain (IMXMetaExtDomain ** Returns the domain in which this metadata extension value is
domain) defined.
HRESULT get_DBType (BSTR* dbType) Returns the database type of this metadata extension value. If
this metadata extension value is not defined for the source or
target, returns an empty string. This string can be used in the
QueryMetadataExtDef function in IMXRepository.
HRESULT get_Type (short* pVal) Gets the ObjectType for this object:
1 = Source
2 = Target
HRESULT get_IsDuplicate (BOOL *pVal) Indicates whether the object name already exists in the repository.
HRESULT put_IsReplace (BOOL *pVal) Sets the flag indicating that the object is for replacement during import,
if an exact object with the same name already exists in the repository.
HRESULT put_NewName (BSTR newName) Sets the new name of the object if the object is for replacement during
import.
HRESULT get_ErrorCode (long *pVal) Gets the return code after the object is imported.
HRESULT get_BusinessName (BSTR* pVal) Gets the business name of the object.
HRESULT SetImport (BOOL newVal) Sets the object to be imported. (The object might conflict with an
existing object in the repository.)
HRESULT IsImport (BOOL *pVal) Returns boolean indicating whether the object is to be imported or not.
IMXObject 63
IMXRepository
This is the main interface for browsing a repository. To connect to the repository, you must
enter the repository name, repository user name, repository password, and the connect string.
Use the following connect string syntax:
hostname@portnumber
HRESULT put_DBConnectstring() Sets the given string to the connect string of this repository. The
connect string syntax is:
hostname@portnumber
HRESULT put_repUserName (BSTR bstr) Sets the given string to the name of the user of this repository.
HRESULT put_repPassword (BSTR bstr) Sets the given string to the password of the user of this
repository.
LPDISPATCH* QueryTarget (BSTR fldrname, BSTR Returns the target object corresponding to the table name in the
fldrver, BSTR tblname LPDISPATCH* ppTargetDisp) specified folder.
Note: The Metadata Exchange SDK ignores the string you pass
for the folder version argument.
LPDISPATCH* QuerySource (BSTR fldrname, Returns the source object corresponding to the table name in
BSTR fldrver, BSTR dbdname, BSTR tblname the specified folder.
LPDISPATCH* ppTargetDisp) Note: The Metadata Exchange SDK ignores the string you pass
for the folder version argument.
LPDISPATCH* QueryTargetPrimaryKeyConstraints Returns a collection of the primary key constraints for a given
(BSTR fldrname, BSTR fldrver, BSTR tblname table name in a specified folder.
LPDISPATCH* ppTargetDisp) Note: The Metadata Exchange SDK ignores the string you pass
for the folder version argument.
LPDISPATCH* QueryTargetForeignKeyConstraints Returns a collection of the foreign key constraints for a given
(BSTR fldrname, BSTR fldrver, BSTR tblname table name in a specified folder.
LPDISPATCH* ppTargetDisp) Note: The Metadata Exchange SDK ignores the string you pass
for the folder version argument.
HRESULT CreateFolder (BSTR folderName, BSTR Creates a folder object in this repository with the attributes. It
folderDesc, BOOL bIsShared, BSTR groupName, returns a pointer to the folder interface object created.
IMXFolder** pFolder)
HRESULT get_Groups (LPDISPATCH* pval) Returns an IMXGroup collection (IMXGroups) for the logged-in
user.
HRESULT get_Privileges (LONG type, BOOL* priv) Gets repository privileges for the current user. You can specify
the following parameter values for type:
1 = Browse Repository
2 = Use Designer
3 = Admin Repository
4 = Super User
6 = Admin Integration Service
HRESULT setMXLogFile (BSTR fileName) Sets the log file for error messages generated from import and
export functions.
HRESULT put_hostName (BSTR hostName) Sets the host name of the gateway node. When connect () is
called, this interface tries to connect to the Service Manager on
this host.
HRESULT put_portNum (LONG portNum) Sets the port number to be used to connect to the gateway
node. When connect () is called, this interface tries to connect to
the node on this port number. The upper 16 bits of the input
value must be zero. The port number must be between 0 and
65535.
HRESULT get_hostName (BSTR *pVal) Returns the host name of the gateway machine. If this function
is called before put_hostname (), it returns an empty string.
HRESULT get_portNum (LONG *pVal) Returns the port number to be used to connect to the gateway
node. If this function is called before put_portNum, it returns 0.
HRESULT get_Domains (LPDISPATCH * domains) Returns the collection of domains (IMXMetaExtDomain) defined
in this repository.
HRESULT get_DomainByName (/*in*/ BSTR name, Returns the domain with the given name defined in this
/*out*/ IMXMetaExtDomain ** domain) repository.
HRESULT QueryMetadataExtDef (/*in*/ BSTR Returns the metadata extension definition (IMXMetaExt) in the
domainName, /*in*/ BSTR objectTypeName, /*in*/ specified domain, with the specified object type and domain. For
BSTR MetaExtName, /*in*/ BSTR dbTypeName, / non-source or target object types, the dbTypeName is ignored. If
*out*/ IMXMetaExt ** metaExtDef) there is no metadata extension definition matching the
description, returns an error code.
HRESULT get_Connections (LPDISPATCH* pVal) Returns the collection of available connections (IMXConnection)
defined in this repository.
HRESULT get_repositDomainName (BSTR*pVal) Returns the domain name of the Repository Service.
HRESULT put_repositDomainName (BSTR newVal) Sets the domain name of the Repository Service.
IMXRepository 65
IMXScheduler
This interface provides access to the scheduling properties of the workflow.
HRESULT get_Name (BSTR* pVal) Returns the name of the scheduler object associated with the
workflow.
HRESULT get_EndTime (BSTR * pVal) Returns the workflow end time. If the workflow is scheduled to
run continuously, returns an empty string.
HRESULT get_Type (LONG* pVal) Returns the scheduler type. Scheduler type can be any of the
following:
1 = On demand
2 = Continuous
3 = On service initialization
HRESULT get_Valid (BOOL* pVal) Returns a boolean that indicates whether this session is valid.
HRESULT get_Reusable (BOOL* pVal) Returns a boolean that indicates whether this session is
reusable.
HRESULT get_MappingName (BSTR* pVal) Returns the name of the mapping associated with this session.
HRESULT get_Email ([in] LONG emailType, [out] Returns the email user name and email text for the given email
BSTR* emailUser, [out] BSTR* emailText) type. Email type can be one of the following values:
0 = successful
1 = unsuccessful
HRESULT get_MetaExtVals ([out, retval] Returns the collection of metadata extension values
LPDISPATCH * pMetaDataExtVals) (IMXMetaExtVal) defined for this session.
HRESULT get_SourceConnections ([out, retval] Returns the collection of IMXConnections for the list of source
LPDISPATCH* pVal) connections this session task uses.
HRESULT get_TargetConnections ([out, retval] Returns the collection of IMXConnections for the list of target
LPDISPATCH* pVal) connections this session task uses.
HRESULT get TargetFileConnections (LDISPATCH* Gets the target file connections (IMXFileConnection) used by
conn) this session task.
HRESULT Export (BSTR* pVal) Exports the attributes of this session in XML format. The file
used for the export is fileName.
HRESULT get_PropertyCount (LONG* pVal) Returns the number of attributes associated with this session.
HRESULT get_PropertyByIndex ([in] LONG index, Returns the attribute/value pair at a given position in the
[out] BSTR* pPropName, [out] BSTR* pPropValue) attribute/value pair collection. The given index starts from 0.
HRESULT get_PropertyByName ([in] BSTR* Returns the value of an attribute given the attribute name.
pPropName, [out] BSTR* pPropValue)
HRESULT get_SessionLogs (LPDISPATCH *pVal) Returns the collection of IMXSessionLogs for this session.
HRESULT get_LastSessionLog (LPDISPATCH* Returns an IMXSessionLog interface for the last run of the
pVal) session log for this session task.
IMXSessionTask 67
IMXSessionTaskLog
This interface provides access to the session log.
HRESULT get_MappingName (BSTR* pVal) Returns the mapping name used in the session.
HRESULT get_StartTime (BSTR* pVal) Returns the start time for this session run.
HRESULT get_EndTime (BSTR* pVal) Returns the end time for this session run.
HRESULT get_LogFile (BSTR* pVal) Returns the log file name for the session.
HRESULT get_SourceSuccessRows (SHORT* pVal) Returns number of success rows for all sources in the session.
HRESULT get_SourceFailedRows (SHORT* pVal) Returns the number of failed rows for all sources in the session.
HRESULT get_TargetSuccessRows (SHORT* pVal) Returns number of success rows for all targets in the session.
HRESULT get_TargetFailedRows (SHORT* pVal) Returns the number of failed rows for all targets in the session.
HRESULT get_FirstErrorCode (SHORT* pVal) Returns the error code for the first error encountered.
HRESULT get_ServerName (BSTR *pVal) Returns the name of the Integration Service that ran the
session.
HRESULT get_BusinessName (BSTR* bstr) Gets the business name of this source.
HRESULT get_Comment (BSTR* bstr) Gets the comment for this source.
HRESULT get_DBDName (BSTR* bstr) Gets the DBD name for this source.
HRESULT get_SourceFields (LPDISPATCH* lpd) Gets the interface to the SourceFields for this source.
HRESULT get_DatabaseType (BSTR* bstr) Gets the database for this source.
HRESULT put_Name (BSTR bstr) Sets the name of this source. This method can be called for
existing source definitions.
HRESULT put_BusinessName (BSTR bstr) Sets the business name of this source. This method can be
called for existing source definitions.
HRESULT put_Comment (BSTR bstr) Sets the comment for this source. This method can be called for
existing source definitions.
HRESULT put_Owner (BSTR owner) Sets the owner of this source. This method can be called for
existing source definitions.
HRESULT put_DatabaseType (BSTR bstr) Sets the database type for this source.
HRESULT CreateSourceField (BSTR name, BSTR Creates a new source field for this source given its name,
bsname, BSTR natdbtype, BSTR prec, BSTR scl, business name, native datatype, data precision, scale, nullable
LONG nullable, BSTR keytype, BSTR comm, flag, key type, and comment. Returns the pointer to the source
IMXSourceField** ppsourcefld) field.
HRESULT DeleteSourceField (BSTR fieldName) Deletes a field by name. This method deletes the corresponding
IMXSourceField from the collection and the repository.
FieldName is not case sensitive.
IMXSource 69
Table B-25. Methods in IMXSource Interface
HRESULT Save () When you use the Save method to save an object in a repository
enabled for versioning, this method saves the object and checks
it in with the new version number determined by the method that
increased its version number. This method checks in the object
with the following default check in comments:
Checked in by MX2
When you use the Save method to save objects in a repository
not enabled for versioning, this method saves the metadata into
the repository.
HRESULT SaveWithoutCheckin () Saves the metadata for this source in the repository database
without checking in the object. The object status is checked out.
To check in the object, you must call either the Save() or
SaveWithCheckinComment() method.
HRESULT SaveWithCheckinComment ( BSTR When you use the Save method to save an object in a repository
checkinComment) enabled for versioning, this method saves the object and checks
it in with the new version number determined by the method that
increased its version number. This method checks in the object
with the check in comments entered in the method.
When you use the Save method to save objects in a repository
not enabled for versioning, this method ignores the check in
comment entered and saves the metadata into the repository.
HRESULT InsertSourceField (BSTR Name, BSTR Creates the source field at the specified position. If the given
BusinessName, BSTR NativeDatatype, BSTR position is greater than the current total number of fields within
Precision, BSTR Scale, BOOL Nullable, BSTR the table, this method creates a new field at the end of source
KeyType, BSTR Comment, LONG Position, definition. The valid position starts from 1. Field name is not
IMXSourceField** ppSourceField) case sensitive.
HRESULT put_DBDName (BSTR bstr) Sets the DBD name for this source.
HRESULT Export (BSTR fileName) Exports attributes of this source in XML format. The file used for
the export is fileName. This method includes the source field
information and constraints.
HRESULT get_refName (BOOL *isLDR, BSTR Returns the name of the object that is referenced by the
*fldName, BSTR *verName, BSTR *refName) shortcut.
HRESULT get_SourceSubType (long *pVal) Returns the sub type of an Application source. For non-
Application sources, this method returns 0.
HRESULT get_instName (BSTR* pVal) Returns the name of the instance if the source is derived from
the IMXMapping interface.
HRESULT get_Dependent_ShortCuts Returns information about the shortcut objects that depend on
(LPDISPATCH *pVal) this source. The IMXString object returns the folder name and
object name for each shortcut object that depends on this
source.
HRESULT get_Dependent_Targets (LPDISPATCH Returns information about the target objects that depend on this
*pVal) source. The IMXString object returns the folder name and object
name for each target object that depends on this source.
HRESULT get_Dependent_Mappings Returns information about the mapping objects that use this
(LPDISPATCH *pVal) source. The IMXString object returns the folder name and object
name for each mapping object that uses this source.
HRESULT get_Dependent_Mapplets (LPDISPATCH Returns information about the mapplet objects that use this
*pVal) source. The IMXString object returns the folder name and object
name for each mapplet object that uses this source.
IMXSource 71
IMXSourceField
This is the interface for the field of a source.
HRESULT get_Name (BSTR* bstr) Gets the name of the source field.
HRESULT get_BusinessName (BSTR* bstr) Gets the business name of the source field.
HRESULT get_Comment (BSTR* bstr) Gets the comments associated with the source field.
HRESULT get_DataType (BSTR* bstr) Gets the datatype of the source field.
HRESULT get_KeyType (BSTR* bstr) Gets the type of key for this source field.
HRESULT get_Precision (BSTR* bstr) Gets the data precision for this source field.
HRESULT get_Scale (BSTR* bstr) Gets the scale for the data in this source field.
HRESULT get_Nullable (LONG* nulbl) Gets the nullable setting for this source field.
HRESULT get_Sequence (LONG* sequence) Gets the sequence of the source field in the source definition.
HRESULT put_Name (BSTR bstr) Sets the name of the source field. Source field name is not case
sensitive.
HRESULT put_BusinessName (BSTR bstr) Sets the business name of the source field.
HRESULT put_Comment (BSTR bstr) Sets the comments associated with the source field.
HRESULT put_DataType (BSTR bstr) Sets the datatype of the source field.
HRESULT put_KeyType (BSTR bstr) Sets the type of key for this source field.
HRESULT put_Precision (BSTR bstr) Sets the data precisions for this source field.
HRESULT put_Scale (BSTR bstr) Sets the scale for the data in this source field. Do not choose
put_Scale if you use Visual Basic applications. Use SetScale to set
the scale if you use Visual Basic.
HRESULT SetScale (BSTR bstr) Sets the scale for the data in this source field. SetScale performs
the same task as put_Scale. Choose this method if you use Visual
Basic applications.
HRESULT put_Nullable (BOOL nulbl) Sets the nullable setting for this source field.
HRESULT setConstraint (BSTR PKTable, BSTR Sets the primary key table/field that this field refers to in the PK-FK
PKField, BSTR ConstraintName, LONG index) constraint. The key type for this field is set to Foreign Key. If the
constraint contains more than one field, then the index parameter
specifies the order of the fields in the constraint. For constraints
containing only one field, set the index parameter to 1. The PK
table must be in the same DBD as the current table.
HRESULT setConstraintEx (BSTR PKDBD, Similar to setConstraint() method. Use this method when the PK
BSTR PKTable, BSTR PKField, BSTR table belongs to a different DBD but is under the same folder.
constraintName, LONG index)
HRESULT put_Sequence (LONG sequence) Sets the new sequence of the source/target field in the source/
target definition. Note that the given sequence must be in the
range from 1 to the total number of existing fields within the table.
IMXSourceField 73
IMXString
This is the interface for accessing string data.
HRESULT get_Name (BSTR *pVal) Gets the name of the IMXString object.
HRESULT put_Name (BSTR newVal) Sets the name of the IMXString object.
HRESULT put_Name (BSTR bstr) Sets the given string to the name for this target. This method
can only be called on existing target definitions.
HRESULT get_BusinessName (BSTR* bstr) Gets the business name of this target.
HRESULT put_BusinessName (BSTR bstr) Sets the given string to the business name for this target.
HRESULT get_Comment (BSTR* bstr) Gets the comment for this target.
HRESULT put_Comment (BSTR bstr) Sets the given string to the comment for this target.
HRESULT get_DatabaseType (BSTR* bstr) Gets the property database type for this target.
HRESULT get_TargetFields (LPDISPATCH* lpd) Gets the interface to the TargetFields for this target.
HRESULT CreateTargetField (BSTR name, BSTR Creates a new target field for this target, given its name,
bsname, BSTR natdbtype, BSTR prec, BSTR scl, business name, native datatype, data precision, scale, nullable
BOOL nullable, BSTR keytype, BSTR comm, flag, key type, and comment. Returns the pointer to the target
IMXTargetField** pptargfld) field.
HRESULT DeleteTargetField (BSTR fieldName) Deletes a field by name. Note that the user must call a Release()
on the corresponding IMXTargetField interface before calling
this method. This method deletes the corresponding
IMXTargetField from the collection and the repository.
FieldName is not case sensitive.
HRESULT Save () When you use the Save method to save an object in a repository
enabled for versioning, this method saves the object and checks
it in with the new version number determined by the method that
increased its version number. This method checks in the object
with the following default check in comments:
Checked in by MX2
When you use the Save method to save objects in a repository
not enabled for versioning, this method saves the metadata into
the repository.
IMXTarget 75
Table B-28. Methods in IMXTarget Interface
HRESULT SaveWithoutCheckin () Saves the metadata for this source in the repository database
without checking in the object. The object status is checked out.
To check in the object, you must call either the Save() or
SaveWithCheckinComment() method.
HRESULT SaveWithCheckinComment ( BSTR When you use the Save method to save an object in a repository
checkinComment) enabled for versioning, this method saves the object and checks
it in with the new version number determined by the method that
increased its version number. This method checks in the object
with the check in comments entered in the method.
When you use the Save method to save objects in a repository
not enabled for versioning, this method ignores the check in
comment entered and saves the metadata into the repository.
HRESULT CreateIndex (BSTR IndexName, BOOL Creates an index for the target definition. This method can be
bUnique, IMXTargetIndexFields* pTargetIndex) invoked only for an existing target in the repository.
HRESULT DeleteIndex (BSTR indexName) Deletes a target definition index. This method can be invoked
only for an existing target in the repository.
HRESULT get_Indexes (LPDISPATCH* lpd) Gets the interface to the IMXTargetIndexes for this target.
HRESULT Export (BSTR fileName) Exports attributes of this target in XML format. The file used for
the export is indicated by fileName. This includes the target field
information, index, and constraints.
HRESULT get_TargetType (long* pVal) Returns the type of the target. Target type can be the following:
0 = Invalid target definition
1 = Dimension target definition
2 = Fact target definition
HRESULT get_refName (BOOL *isLDR, BSTR Returns the name of the object that is referenced by the
*fldName, BSTR *verName, BSTR *refName) shortcut.
HRESULT get_instName (BSTR* pVal) Returns the name of the instance if the target is derived from the
IMXMapping interface.
HRESULT get_Dependent_ShortCuts Returns information about the shortcut objects that depend on
(LPDISPATCH *pVal) this target. The IMXString object returns the folder name and
object name for each shortcut object that depends on this target.
HRESULT get_TargetType (long* pVal) Returns the type of the target. Target type can be the following:
0 = Invalid target table
1 = Dimension target table
2 = Fact target table
HRESULT get_refName (BOOL *isLDR, BSTR Returns the name of the object that is referenced by the
*fldName, BSTR *verName, BSTR *refName) shortcut.
HRESULT get_instName (BSTR* pVal) Returns the name of the instance if the target is derived from the
IMXMapping interface.
HRESULT get_Dependent_Sources (LPDISPATCH Returns information about the source objects that depend on
*pVal) this target. The IMXString object returns the folder name and
object name for each target object that depends on this target.
HRESULT get_Dependent_Mappings Returns information about the mapping objects that use this
(LPDISPATCH *pVal) target. The IMXString object returns the folder name and object
name for each mapping object that uses this target.
HRESULT get_Dependent_Mapplets (LPDISPATCH Returns information about the mapplet objects that use this
*pVal) target. The IMXString object returns the folder name and object
name for each mapplet object that uses this target.
HRESULT InsertTargetField (BSTR Name, BSTR Creates the target field at the specified position. If the given
BusinessName, BSTR NativeDatatype, BSTR position is greater than the current total number of fields within
Precision, BSTR Scale, BOOL Nullable, BSTR the table, the new field is created at the end of target definition.
KeyType, BSTR Comment, LONG Position, The valid position starts from 1. Field name is not case
IMXTargetField** ppTargetField) sensitive.
IMXTarget 77
IMXTargetField
This interface is for the field of a target object in the repository.
HRESULT get_Name (BSTR* bstr) Gets the name of the target field.
HRESULT put_Name (BSTR bstr) Sets the given string to the name for this target field. This
method can only be called for existing target tables.
HRESULT get_BusinessName (BSTR* bstr) Gets the business name of the target field.
HRESULT put_BusinessName (BSTR bstr) Sets the given string to the business name for this target field.
HRESULT get_Comment (BSTR* bstr) Gets the comment associated with the target field.
HRESULT put_Comment (BSTR bstr) Sets the given string to the comment for this target field.
HRESULT get_KeyType (BSTR* bstr) Gets the type of key for this target field.
HRESULT put_KeyType (BSTR bstr) Sets the given string to the datatype for this target field.
HRESULT get_Precision (BSTR* bstr) Gets the data precisions for this target field.
HRESULT put_Precision (BSTR bstr) Sets the given string to the data precision for this target field.
HRESULT get_Scale (BSTR* bstr) Gets the scale for the data in this target field.
HRESULT put_Scale (BSTR bstr) Sets the scale for the data in this target field. Do not choose
put_Scale if you use Visual Basic applications. Use SetScale to
set the scale if you use Visual Basic.
HRESULT SetScale (BSTR bstr) Sets the scale for the data in this target field. SetScale performs
the same task as put_Scale. Choose this method if you use
Visual Basic applications.
HRESULT get_Nullable (BOOL* nlbl) Gets the nullable setting for this target field.
HRESULT put_Nullable (BOOL nlbl) Sets the given string to the nullable setting for this target field.
HRESULT get_Sequence (LONG* sequence) Gets the sequence of the target field in the target definition.
HRESULT get_TransformExpression (BSTR* bstr) Gets the transformation expression used to create the data in
this target field. If you do not call this method from a target
instance in a mapping, returns an empty string.
HRESULT get_Datatype (BSTR* bstr) Gets the native database type for the data in this target field.
HRESULT put_ Datatype (BSTR bstr) Sets the given string to the native database type for the data in
this target field.
HRESULT setConstraint (BSTR PKTable, BSTR Sets the primary key table/field that this field refers to in the PK-
PKField, BSTR ConstraintName, LONG index) FK constraint. The key type for this field is set to FOREIGN KEY.
If the constraint contains more than one field, then the index
parameter specifies the order of the fields in the constraint. For
constraints containing only one field, set the index parameter
to 1.
HRESULT put_Sequence (LONG sequence) Sets the new sequence of the source/target field in the source/
target definition. Note that the given sequence must be in the
range from 1 to the total number of existing fields within the
definition.
IMXTargetField 79
IMXTargetIndex
This interface is for target table index information.
HRESULT get_Name (BSTR* IndexName) Gets the name of the target table index.
HRESULT get_Unique (BOOL* bUnique) Gets the Unique attribute of the index.
HRESULT get_IndexFields() (LPDISPATCH* lpd) Gets the IMXTargetIndexFields collection interface for this target.
HRESULT put_Name (BSTR IndexName) Sets the name of the target table index.
HRESULT put_Unique (BOOL bUnique) Sets the Unique attribute of the index.
HRESULT addIndexField (BSTR FieldName) Adds a target field to the index definition. The order you add the
fields defines the order of the fields in the index.
HRESULT get_Name (BSTR* IndexName) Gets the name of the target table index field.
IMXTargetIndexField 81
IMXTransform
When you use any of the methods in Table B-32 to modify a transformation in a repository
enabled for versioning, the method checks out the transformation, modifies it, and increases
the version number by one. If someone has the transformation checked out, the method
returns an error message with the name of the user who checked out the transformation.
When you use any of the methods in Table B-32 to modify a transformation in a repository
not enabled for versioning, the method just modifies the transformation.
Table B-32 describes the methods for interfacing with transformations:
HRESULT get_TransformFields (LPDISPATCH* lpd) Gets the interface to the collection of transformation fields for
this transformation.
HRESULT get_TransformationType (LONG* type) This returns the transformation type, which can be one of the
following:
3 = Source Qualifier
4 = Update Strategy
5 = Expression
6 = Stored Procedure
7 = Sequence Generator
8 = External Procedure
9 = Aggregator
10 = Filter
11 = Lookup
12 = Joiner
14 = Normalizer
15 = Router
26 = Rank
50 = Advanced External Procedure
80 = Sorter
92 = Transaction Control
97 = Custom
HRESULT get_TransformationTypeName (BSTR* Returns the Transformation Name given the type.
pTypeName)
HRESULT get_isReusable (BOOL* bIsReusable) Returns a Boolean indicating if the transformation is reusable.
HRESULT get_AttributeCount (LONG* count) Gets the number of attributes associated with the
transformation.
HRESULT get_Attribute (LONG index, BSTR* Gets the attribute/value pair at a given position in the attribute/
attr_name, BSTR* attr_value) value pair collection. The given index starts from 1.
HRESULT get_AttributeByName (BSTR attr_name, Gets the value of an attribute given the attribute name. The
BSTR* attr_value) attribute names for the different transformations are in
“Transformation Properties” on page 117.
HRESULT put_Name (BSTR bstr) Sets the name of this transformation. You can have
transformations with the same names but different
transformation types. The name is not case sensitive. Use this
method for External Procedure and Advanced External
Procedure transformations only.
HRESULT put_AttributeByName (BSTR attr_name, Sets the value of an attribute given the existing attribute name.
BSTR attr_value) Attribute name is not case sensitive. Use this method for
External Procedure and Advanced External Procedure
transformations only. For External Procedure transformations,
when the attribute name is type, the attribute value can be the
following:
1 = COM
2 = Informatica
For AEP, when the attribute name is type, the attribute value is
2 = Informatica.
HRESULT createTransformField (BSTR name, Creates an IMXTransformField interface with the specified
BSTR comment, BSTR fieldType, BSTR portType, parameters. Returns a pointer to the IMXTransformField
BSTR precision, BSTR scale, BSTR defaultVal, interface. This method creates a field at the end of the table in
IMXTransformField** pptransformfld) the repository. You can only create External Procedure and
Advanced External Procedure transformation fields using this
method. Field name is not case sensitive.
HRESULT DeleteTransformField (BSTR fieldName) Deletes a transformation field by name. Field name is not case
sensitive. You can only use this method for External Procedure
and Advanced External Procedure transformations.
HRESULT Save () When you use the Save method to save an object in a repository
enabled for versioning, this method saves the object and checks
it in with the new version number determined by the method that
increased its version number. This method checks in the object
with the following default check in comments:
Checked in by MX2
When you use the Save method to save objects in a repository
not enabled for versioning, this method saves the metadata into
the repository.
You can only use this method for External Procedure and
Advanced External Procedure transformations. When you use
this Save method, you can still edit the Advanced External
Procedure transformation. When you use the Save method in
the IMXFolder or IMXFolderVersion interface, the Repository
Service upgrades the transformation to a Custom
transformation. You cannot edit Custom transformations using
Metadata Exchange SDK.
HRESULT SaveWithoutCheckin () Saves the metadata for this source in the repository database
without checking in the object. The object status is checked out.
To check in the object, you must call either the Save() or
SaveWithCheckinComment() method.
IMXTransform 83
Table B-32. Methods in IMXTransform Interface
HRESULT SaveWithCheckinComment ( BSTR When you use the Save method to save an object in a repository
checkinComment) enabled for versioning, this method saves the object and checks
it in with the new version number determined by the method that
increased its version number. This method checks in the object
with the check in comments entered in the method.
When you use the Save method to save objects in a repository
not enabled for versioning, this method ignores the check in
comment entered and saves the metadata into the repository.
HRESULT Export (BSTR fileName) Exports attributes of this transformation in XML format. The file
used for the export is fileName. This includes all the
transformation field information.
HRESULT get_PartitionName (BSTR* pVal) Returns the partition name if the session contains multiple
partitions.
HRESULT get_GroupName (BSTR* pVal) Returns the group name if the transformation is grouped.
HRESULT get_LastErrorMessage (BSTR* pVal) Returns the message text for the last generated error code in
this transformation log.
HRESULT get_StartTime (BSTR* pVal) Returns the start time for this transformation run.
HRESULT get_EndTime (BSTR* pVal) Returns the end time for this transformation run.
HRESULT get_ElapsedTime (BSTR* pVal) Returns the elapsed time for this transformation run.
IMXTransformationLog 85
IMXTransformField
This interface is for the field of a transformation object.
HRESULT get_Name (BSTR* bstr) Gets the name of the transformation field.
HRESULT get_Comment (BSTR* bstr) Gets the comments associated with the transformation field.
HRESULT get_FieldType (BSTR* bstr) Gets the datatype of the transformation field.
HRESULT get_PortType (BSTR* bstr) Gets the type of port for this transformation field.
HRESULT get_Precision (BSTR* bstr) Gets the data precisions for this transformation field.
HRESULT put_Scale (BSTR bstr) Sets the scale for the data in this transformation field. Do not
choose put_Scale if you use Visual Basic applications. Use
SetScale to set the scale if you use Visual Basic.
HRESULT SetScale (BSTR bstr) Sets the scale for the data in this transformation field. SetScale
performs the same task as put_Scale. Choose this method if you
use Visual Basic applications.
HRESULT get_DefaultValue (BSTR* bstr) Gets the default value for this transformation field.
HRESULT get_index (LONG* index) Gets the index of this transformation field.
HRESULT put_Name (BSTR bstr) Sets the name of the transformation field. Name is not case
sensitive. Use this method for External Procedure and Advanced
External Procedure transformations only.
HRESULT put_Comment (BSTR bstr) Sets the comments associated with the transformation field. Use
this method for External Procedure and Advanced External
Procedure transformations only.
HRESULT put_FieldType (BSTR bstr) Sets the datatype of the transformation field. Use this method for
EP and AEP transformations only. The following datatypes are
valid:
- Binary
- Date/time
- Decimal
- Double
- Integer
- Nstring
- Ntext
- Real
- Small integer
- String
- Text
HRESULT put_PortType (BSTR bstr) Sets the type of port for this transformation field. Use this
method for External Procedure and Advanced External
Procedure transformations only. The following values are the
valid port values:
1 = Input
2 = Output
3 = Both
6 = Return (for External Procedure only)
HRESULT put_Precision (BSTR bstr) Sets the data precision for this transformation field. Use this
method for External Procedure and Advanced External
Procedure transformations only.
HRESULT put_Scale (BSTR bstr) Sets the scale for the data in this transformation field. Use this
method for External Procedure and Advanced External
Procedure transformations only.
HRESULT put_DefaultValue (BSTR bstr) Sets the default value for this transformation field. Use this
method for External Procedure and Advanced External
Procedure transformations only.
IMXTransformField 87
IMXWorkflow
This interface provides methods to get the metadata associated with a workflow and the
following types of child objects: worklets, metadata extension values, sessions, and schedulers.
HRESULT get_IsValid (BOOL* pVal) Returns a boolean that indicates whether this workflow is valid.
HRESULT get_ServerName (BSTR* pVal) Returns the name of the Integration Service associated with the
workflow.
HRESULT get_SessionTasks (LPDISPATCH* pVal) Returns the collection of Session tasks within this workflow.
HRESULT get_Worklets (LPDISPATCH* pVal) Returns the collection of worklets within this workflow.
HRESULT get_Scheduler (LPDISPATCH* Returns the scheduler associated with this workflow.
pScheduler)
HRESULT Export (BSTR* pVal) Exports the attributes of this workflow in XML format. The file
used for the export is fileName.
HRESULT get_PropertyCount () Returns the number of attributes associated with this workflow.
HRESULT get_PropertyByIndex ([in] LONG index, Returns the attribute/value pair at a given position in the
[out] BSTR* pPropName, [out] BSTR* pPropValue) attribute/value pair collection. The given index starts from 0.
HRESULT get_PropertyByName ([in] BSTR* Returns the value of an attribute given the attribute name.
pPropName, [out] BSTR* pPropValue)
HRESULT get_WorkflowLogs (LPDISPATCH *pVal) Returns the collection of IMXWorkflowLogs for the workflow.
HRESULT get_LastWorkflowLog (LPDISPATCH* Returns the IMXWorkflowLog object for the last run of the
pVal) workflow.
HRESULT get_ServerName (BSTR* pVal) Returns the name of the Integration Service that ran the workflow.
HRESULT get_ServerGridName (BSTR *pVal) Returns the name of the grid that contains the Integration Service
that ran this workflow run.
HRESULT get_WorkflowName (BSTR* pVal) Returns the workflow name associated with this log.
HRESULT get_ErrorCodeMessage (BSTR* pVal) Returns the message text for the last generated error code in this
workflow log.
HRESULT get_StartTime (BSTR* pVal) Returns the start time for this workflow run.
HRESULT get_EndTime (BSTR* pVal) Returns the end time for this workflow run.
HRESULT get_ElapsedTime (BSTR* pVal) Returns the elapsed time for this workflow run.
IMXWorkflowLog 89
IMXWorklet
This interface provides access to the workflow or worklet and its child information.
HRESULT get_Valid (BOOL* pVal) Returns a boolean that indicates whether this worklet is valid.
HRESULT get_Reusable (BOOL* pVal) Returns a boolean that indicates whether this worklet is reusable.
HRESULT get_SessionTasks (LPDISPATCH* pVal) Returns the collection of Session tasks within this worklet.
HRESULT get_Worklets (LPDISPATCH* pVal) Returns the collection of worklets within this worklet.
HRESULT Export (BSTR* pVal) Exports the attributes of this worklet in XML format. The file used
for the export is fileName.
91
Error Messages and Codes
This appendix contains client window error messages that you may encounter in Metadata
Exchange SDK. Each listing gives the messages and the hexadecimal and decimal value of the
error code. A suggested cause and action follow each error message.
0xCFFF0062 (-805371806) Invalid primary key table name, or primary key table
is under different folder or a different DBD.
Cause: The given primary key table does not exist in the repository, or the primary
key table being referred is in different folder or a different DBD that cannot be
found. The latter is a limitation.
Action: Change the primary key table name or give a primary key table name under
the same folder.
0xCFFF006C (-805371796) Current user does not have permission to perform this
operation.
Cause: Current user does not have permission to perform the repository operation.
Action: Change user or associate required rights for the logged in user.
0xCFFF0076 (-805371786) Invalid primary table associated with the foreign key.
Cause: You tried to save a field that is set to a foreign key, but there is no primary key
table associated with it.
Action: Call setConstraint to associate a primary key table in all fields that are set as
foreign keys.
0xCFFF00A4 (-805371740) The repository at this location does not have the same name.
Cause: Incorrect repository name.
Action: Check that the repository name is correct.
0xCFFF00AB (-805371733) The product license does not allow connection to this
repository.
Cause: The product license specified is incorrect.
Action: Enter the correct product license.
0xCFFF00B3 (-805371725) Invalid DBD name or this DBD is under different folder.
Cause: You tried to set constraint for source or target and the primary key table DBD
name is incorrect, or the DBD name is under a different folder.
Action: Make sure the DBD name is under the same folder and that the DBD name is
correct.
0xCFFF00B5 (-805371723) The newly imported table cannot be created due to empty table
name.
Cause: You did not specify the imported table name.
Action: Call the IMXObject method put_NewName to specify the imported table
name.
0xCFFF00BE(-805371714) Error calling the import function, either not calling the
GetObjects() function first or passing the wrong pVal.
Cause: You did not call the GetObjects() function in IMXFolderVersion before you
called the import function, or the IMXObject collection obtained from
GetObjects() is invalid.
Action: Call the GetObjects() function first, or check the validity of the IMXObject
collection obtained from GetObejcts() function.
0xCFFF00C6(-805371706) Import for shortcut objects is not supported for the current
Metadata Exchange SDK version.
Cause: Importing source and target shortcuts is not supported under the current
Metadata Exchange SDK version.
Action: After the GetObjects function, use the SetImport (FALSE) function so the
shortcut object obtained from the XML file is not imported.
0xCFFF00CF(-805371697) Cannot get the source information for the subtype from the
repository.
Cause: System or internal error.
Action: Contact Informatica Technical Support.
0xCFFF00D1 (-805371695) The global repository that this shortcut refers to does not exist.
Cause: The global repository might have been deleted or changed.
Action: Update the shortcut object with a reference to the correct global repository.
0xCFFF00D2(-805371694) An object with the same object name and database name is
found in the repository with a different database type or
subtype.
Cause: An object in XML conflicts with an existing object in repository with the same
object name and database name, but with a different database type or subtype.
Action: Change the database type or subtype if a replace is desired. Or change the
object name and database name to insert an new object.
0xCFFF00D3(-805371693) One or more objects in the XML files were not imported.
Look at the log file to see error messages in detail.
Cause: Some errors were detected during importing the XML file.
Action: Check the import/export log file for the error message.
0xCFFF00DE(-805371682) Cannot get the list of all valid database types from the
repository.
Cause: System or internal error.
Action: Contact Informatica Technical Support.
Transformation Properties
This appendix contains different transformations and attributes that are supported by the
transformation object properties.
117
Transformation Properties
Table D-1 lists the transformation properties supported by the transformation object
properties:
Transformation Properties
Transformation Properties
Transformation Properties
C error messages 92
installing 10
collection interfaces interfaces 20
Metadata Exchange SDK 25 metadata interfaces 20
restrictions 16
transformation properties 118
E upgrading from previous versions 16
environment interfaces metadata interfaces
Metadata Exchange SDK 29 description 20, 34
error messages metamodel
Metadata Exchange SDK 92 description 34
I R
installation repository
Metadata Exchange SDK 10 compatibility with PowerCenter/PowerMart version 2
interfaces sample repository 15
collection 25 restrictions
environment 29 Metadata Exchange SDK 16
metadata 20, 34
session and workflow 35
S
sample applications
M target and source metadata writer 14
Metadata Exchange SDK Visual Basic browser 11
capabilities 3 Visual C++ text browser 13
collection interfaces 25 sample repository
environment interfaces 29 description 15
121
session and workflow interfaces
description 35
T
transformation properties
list 118
V
Visual Basic
sample browser 11
version compatibility with Metadata Exchange SDK
16
Visual C++
sample target and source metadata writer 14
sample textual browser 13
version compatibility with Metadata Exchange SDK
16
X
XML (Metadata Exchange SDK)
import and export 30
122 Index