Mdm Ntier API

Embed Size (px)

Citation preview

  • 8/12/2019 Mdm Ntier API

    1/62

    O R A C L E H Y P E R I O N D A T A R E L A T I O N S H I P

    M A N A G E M E N T , F U S I O N E D I T I O NR E L E A S E 1 1 . 1 . 1 . 2

    N - T I E R A P P L I C A T I O N P R O G R A M M I N GI N T E R F A C E G U I D E

  • 8/12/2019 Mdm Ntier API

    2/62

    Data Relationship Management N-tier Application Programming Interface Guide, 11.1.1.2

    Copyright 1999, 2009, Oracle and/or its affiliates. All rights reserved.

    Authors: EPM Information Development Team

    This software and related documentation are provided under a license agreement containing restrictions on use and

    disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or

    allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit,

    perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation

    of this software, unless required by law for interoperability, is prohibited.

    The information contained herein is subject to change without notice and is not warranted to be error-free. If you find

    any errors, please report them to us in writing.

    If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S.

    Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS: Programs, software, databases, and related

    documentation and technical data delivered to U.S. Government customers are "commercial computer software" or

    "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental

    regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and

    license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Governmentcontract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).

    Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

    This software is developed for general use in a variety of information management applications. It is not developed or

    intended for use in any inherently dangerous applications, including applications which may create a risk of personal

    injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe,

    backup, redundancy and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim

    any liability for any damages caused by use of this software in dangerous applications.

    This software and documentation may provide access to or information on content, products and services from third

    parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with

    respect to third party content, products and services. Oracle Corporation and its affiliates will not be responsible for any

    loss, costs, or damages incurred due to your access to or use of third party content, products or services.

  • 8/12/2019 Mdm Ntier API

    3/62

    Contents

    Documentation Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Chapter 1. Data Relationship Management Application Programming Interface . . . . . . . . . . . . . . . . . . . . . . . . 7

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    Using the Data Relationship Management SOAP API . . . . . . . . . . . . . . . . . . . . . . . . . 8

    Changes from Previous Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    API Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    Obtain the Data Relationship Management Java SDK . . . . . . . . . . . . . . . . . . . . . . . . 15

    Obtain a Java Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    Configuring a Sample Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    Special Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Data Relationship Management Batch Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Encryption, Compression and MIME Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    Session Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Accessing and Managing Dimensional Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    Data Relationship Management Toolsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    Data Relationship Management Transaction Log . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    Accessing and Administering Data Relationship Management Metadata . . . . . . . . . . . 20

    Data Relationship Management System Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Interface Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Interface Return Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    Locator Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    Asynchronous Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    IAutomator Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    IBlenderMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    ICategoryMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    ICompareMgr Interface Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    IExportMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    Contents iii

  • 8/12/2019 Mdm Ntier API

    4/62

    IGlobalNode Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    IGlyphMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    IHier Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    IImportMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    IJobMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    ILocalNode Interface Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    ILogMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    INodeAccessGroupMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    INodeTypeMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    IProcessInfo Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    IPropMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    IQueryMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    IRequestMgr Interface Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    ISessionMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    ISysPref Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    IUserMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    IValidationMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    IVersion Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    IVersionInfo Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    IVersionMgr Interface Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    iv Contents

  • 8/12/2019 Mdm Ntier API

    5/62

    Documentation Accessibility

    Our goal is to make Oracle products, services, and supporting documentation accessible, with

    good usability, to the disabled community. To that end, our documentation includes features

    that make information available to users of assistive technology. This documentation is available

    in HTML format, and contains markup to facilitate access by the disabled community.

    Accessibility standards will continue to evolve over time, and Oracle is actively engaged with

    other market-leading technology vendors to address technical obstacles so that our

    documentation can be accessible to all of our customers. For more information, visit the Oracle

    Accessibility Program Web site at http://www.oracle.com/accessibility/.

    Accessibility of Code Examples in DocumentationScreen readers may not always correctly read the code examples in this document. The

    conventions for writing code require that closing braces should appear on an otherwise empty

    line; however, some screen readers may not always read a line of text that consists solely of a

    bracket or brace.

    TTY Access to Oracle Support ServicesOracle provides dedicated Text Telephone (TTY) access to Oracle Support Services within the

    United States of America 24 hours a day, seven days a week. For TTY support, call 800.446.2398.

    5

    http://www.oracle.com/accessibility/http://www.oracle.com/accessibility/
  • 8/12/2019 Mdm Ntier API

    6/62

    6 Documentation Accessibility

  • 8/12/2019 Mdm Ntier API

    7/62

    Data Relationship ManagementApplication ProgrammingInterface

    In This Chapter

    Overview .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    Prerequisites... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

    Special Notes ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

    Interfaces... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

    Interface Relationships............................................................................................................21

    Interface Return Types.............................................................................................................22

    Locator Objects.....................................................................................................................23

    Asynchronous Methods............................................................................................................23

    Interface Methods..................................................................................................................23

    OverviewOracle Hyperion Data Relationship Management, Fusion Edition N-tier is based on an

    application server (n-tier) architecture rather than the model used in the Data Relationship

    Management client-server product. This allows the bulk of the system processing to be

    performed on a centralized server and simplifies the client requirements for each end user. Whilethis is a significant change to the back-end of the system, the majority of the functionality visible

    in the user interface is the same between the two architectures.

    The diagram below gives a top-level overview of the Data Relationship Management N-tier

    architecture. The Data Relationship Management client is a Windows application that runs on

    the users local machine. The client connects to the Data Relationship Management application

    server which can support multiple, simultaneous users. The Data Relationship Management

    database can be hosted on the application server machine or elsewhere.

    Overview 7

  • 8/12/2019 Mdm Ntier API

    8/62

    Figure 1 Data Relationship Management N-tier Architecture

    One key feature of the N-tier architecture is the exposure of the Data Relationship Management

    API which allows full access to the functionality of the Data Relationship Management engine.

    There are two interfaces available for use:

    The SOAP interface used by the Data Relationship Management client

    The COM interface which bypasses the Web server

    Using the Data Relationship Management SOAP API

    This section includes information about the following data types:

    Remotable Types on page 8

    Engine Interfaces on page 9

    Data Types

    The two major Data Relationship Management engine components, from a UI standpoint, are

    the Remotable Types which are local record-type objects for storing properties, and the various

    engine interface elements, which are used to communicate with the server for retrieving and

    updating data.

    Remotable Types

    The local objects descend from TRemotable and are named with the convention TRemAbcXyz

    where AbcXyz represents the class of object:

    TRemVersion

    TRemHier

    TRemLocalNode

    TRemExtLocalNode

    These objects contain only properties and are used to represent an entity in the UI. They contain

    no methods and behave essentially like record-type objects. All the Remotable Types are declared

    8 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    9/62

    in the unit URemotableTypes.pas. The client application is responsible for freeing all Remotable

    objects used during the lifetime of the application.

    Engine Interfaces

    These interface objects contain the engine methods for each type of entity. They are named with

    the convention IAbcXyz where AbcXyz represents the class of object, similar to the Remotable

    Types:

    IVersion

    IHier

    IPropMgr

    ILocalNode

    In general, each interface is stored in its own unit, which must be imported using Web Services

    Description Language (WSDL). The units are named UAbcXyz.pas with AbcXyz representing

    the same root class name as in the other examples. Interfaces are declared and instantiated as

    usual but rather than explicitly freeing them, they are set to nil when no longer needed.

    Making Engine Calls

    There are four basic types of engine calls:

    Function calls that return data (either single element or an array)

    Procedure calls that fill a var argument with data

    Function calls that return engine state information

    Procedure/function calls that modify engine data and return results

    Every Data Relationship Management engine interface method begins with a unique SessionIDargument to identify the client. Also each engine call must explicitly specify the entity being

    referenced. For example all calls to IVersion pass either a Version Abbrev argument or an array

    of Abbrevs. This is because IVersion represents a single interface and thus each call must identify

    the particular Version instance on the engine side being acted upon.

    Many methods use what is called a Locator argument which is simply a record structure for

    passing multi-column key information. For example most calls to IHier use a TRemHierLocator

    argument in order to identify the Hier, using a Version and Hier Abbrev. TRemHierLocator has

    three properties: Session (integer), Version (string) and Hier (string). To make a call to IHier

    that requires a TRemHierLocator, instantiate a Locator object, set its properties and then pass

    the Locator as the required argument. Be sure to free the Locator when its no longer needed.

    (The Data Relationship Management N-tier thin client declares only one global instance of each

    type of locator and re-uses them as needed for each engine call.)

    Its a good idea to have only one instance of each interface per application. The examples below

    assume that a global copy of each interface exists and is named with a g prefix (such as gVersion,

    gPropMgr, etc.). Also the gSessionID variable in the examples refers to a global SessionID that

    is initialized elsewhere by the application, most likely during startup.

    Overview 9

  • 8/12/2019 Mdm Ntier API

    10/62

    Returning Data with a Function Call

    An example of an engine method that returns a Remotable object:

    function VersionByAbbrev(AVersionAbbrev: string): TRemVersion;

    begin

    Result := gVersion.VersionByAbbrev(gSessionID, AVersionAbbrev);

    end;

    Note that the Remotable Version object is not freed within the procedure. The calling method

    is responsible for maintaining the object. For a situation where you are only interested in some

    information about the object and do not need to keep the object in memory:

    function VersionExists(AVersionAbbrev: string): Boolean;

    var

    oVersion: TRemVersion;

    begin

    Result := False;

    oVersion := gVersion.VersionByAbbrev(gSessionID, AVersionAbbrev);

    try

    Result := Assigned(oVersion);

    finally oVersion.Free;

    end;

    end;

    Methods That Fill Data Passed in as a Parameter

    An example of an engine method that accepts a var parameter that is modified by the engine:

    procedure FillVersionList(AVersionList: TStringList);

    var

    lVersions: TVersionArray;

    iVersion: integer;begin

    AVersionList.Clear;

    gVersionMgr.ListVersionObjects(gSessionID, lVersions);

    for iVersion := Low(lVersions) to High(lVersions) do

    AVersionList.AddObject(lVersions[iVersion].Abbrev,

    lVersions[iVersion]);

    end;

    The TVersionArray declaration is also found in URemotableTypes.pas. Most Remotable Types

    have an array type declaration so that the engine can return them in a list rather than having to

    make individual calls in a loop.

    As a further example, consider a situation where you want to list the Hier objects for a particularVersion:

    procedure FillHierList(AVersion: TRemVersion; AHierList: TStringList);

    var

    lHiers: THierArray;

    iHier: integer;

    begin

    AHierList.Clear;

    gVersion.ListHierObjects(gSessionID, AVersion.Abbrev, lHiers);

    10 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    11/62

    for iHier:= Low(lHiers) to High(lHiers) do

    AHierList.AddObject(lHiers[iHier].Abbrev, lHiers[iHier]);

    end;

    The only caveat to keep in mind when passing around Remotable objects in this fashion is that

    the instantiating entity must always be responsible for freeing the Remotables. In this regard,

    old-style code cannot be directly translated to the n-tier paradigm since objects that are persistent

    at the engine level are by nature transient from the perspective of the client application (whereasthose objects are persistent at all levels in a client/server model.)

    Methods That Return Engine State Information

    An example of an engine method that returns information about state:

    function NodePropIsValid(APropAbbrev: string): Boolean;

    begin

    Result := gPropMgr.NodePropIsValid(gSessionID, APropAbbrev);

    end;

    This is a very simple type of call to make and generally does not require any garbage collection

    or other cleanup afterward.

    Methods That Modify Engine Data

    There are two basic kinds of methods here, those that return data and those that do not. For

    example, this method adds a Version to the Version Manager and returns a Remotable object

    representing the new Version:

    function AddVersion(AVersionAbbrev: string): TRemVersion

    Begin

    Result := gVersionMgr.AddVersion(gSessionID, AVersionAbbrev);

    end;

    This convention used above is relatively uncommon. More generally, the update methods do

    not return a value, and you must subsequently retrieve the data you want:

    function AddHier(AVersionAbbrev, AHierAbbrev: string): TRemHier

    var

    oHierLocator: TRemHierLocator;

    begin

    Result := nil;

    gVersion.AddVersion(gSessionID, AVersionAbbrev, AHierAbbrev);

    oHierLocator := TRemHierLocator.Create; try

    oHierLocator.Session := gSessionID;

    oHierLocator.Version := AVersionAbbrev;

    oHierLocator.Hier := AHierAbbrev;

    Result := gHier.GetHier(oHierLocator);

    finally

    oHierLocator.Free;

    end;

    end;

    Overview 11

  • 8/12/2019 Mdm Ntier API

    12/62

    In this example, the IVersion interface object makes the engine call to add the new Hier but we

    must then locate the added Hier ourselves. Note that this example also shows how to use a

    Locator object. In this case a local Locator is declared and freed, but generally the Locator can

    be declared globally and re-used as needed.

    Changes from Previous ReleaseThe Data Relationship Management WSDL binding style is now defined as Document and its

    use is Literal for Data Relationship Management release 11.1.1. This is commonly referred to

    as document/literal. Previous versions of the Data Relationship Management Web service were

    defined with a binding style of RPC and a use of encoded.

    Note:

    Previous Data Relationship Management software development kits are not compatible with

    release 11.1.1.

    For the generated proxies within the SDK, the Java package names are changed. Old and new

    package names for the Java Data Relationship Management SDK are listed in the following table.

    Table 1 Java Data Relationship Management SDK Package Names

    Old Package Name (Release 9.3.2) New Package Name (Release 11.1.1)

    com/hyperion/mdm com/oracle/drm

    mdm/hyperion/com/encodedTypes/holders com/oracle/drm/holders

    URemotableTypes/holders com/oracle/drm/holders

    Interface Method Changes

    A new method, fillSharedNodes, is added to the IGlobalNode interface. For more information,

    see IGlobalNode Interface Methods on page 29.

    The following changes have been made to interface methods.

    Table 2 IHier Interface Method Changes

    Method Old Parameters (Release 9.3.2) New Parameters (Release 11.1.1)

    verify TRemHierLocator:AHierLoc

    int: AMaxNodes

    String[ ]: AReturnProps

    TRemLocalQueryResultHolder:

    ALocalQryResult

    Returns: String[ ]

    TRemHierLocator:AHierLoc

    int: AMaxNodes

    String[ ]: AReturnProps

    ArrayOfStringHolder: verifyResult*

    TRemLocalQueryResultHolder:ALocalQryResult

    12 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    13/62

    Method Old Parameters (Release 9.3.2) New Parameters (Release 11.1.1)

    verifySelected TRemHierLocator:AHierLoc

    int:AMaxNodes

    String[ ]:validationAbbrevs

    String[ ]:AReturnProps

    TRemLocalQueryResultHolder:ALocalQryResult

    Returns: String[ ]

    TRemHierLocator:AHierLoc

    int: AMaxNodes

    String[ ]: validationAbbrevs

    String[ ]: AReturnProps

    ArrayOfStringHolder: verifySelectedResult

    TRemLocalQueryResultHolder*

    verifyNode int: nodeID

    Boolean: recurse

    TRemBaseParams: params

    Returns: TRemDualListLocator

    int: nodeID

    Boolean: recurse

    TRemBaseParams: params

    TRemDualListLocator*

    verifyNodeSelected int: NodeID

    Boolean:Recurse

    String[]: ValidationAbbrevsTRemBaseParams:params

    Returns: TRemDualListLocator

    int: NodeID

    Boolean:Recurse

    String[]: ValidationAbbrevsTRemBaseParams:params

    TRemDualListLocator*

    * Method fills data passed in as a parameter.

    Table 3 IVersion Interface Method Changes

    Method Old Parameters (Release 9.3.2) New Parameters (Release 11.1.1)

    verify String: Asession

    String: Aversion

    String[ ]: AReturnProps

    TRemGlobalQueryResultHolder:AGlobalQryResult

    Returns: String[ ]

    String: Asession

    String: Aversion

    String[ ]: AReturnProps

    ArrayOfStringHolder:verifyResult

    TRemGlobalQueryResultHolder:AGlobalQryResult*

    verifySelected String: Asession

    String: Aversion

    String[ ]: validationAbbrevs

    String[ ]: AReturnProps

    TRemVersionHolder: VersionHolder

    Returns: String[ ]

    String: Asession

    String: Aversion

    String[ ]: validationAbbrevs

    String[ ]: AReturnProps

    ArrayOfStringHolder:verfiySelectedResult*

    TRemGlobalQueryResultHolder: AGlobalQryResult

    * Method fills data passed in as a parameter.

    Table 4 IVersionMgr Interface Method Changes

    Method Old Parameters (Release 9.3.2) New Parameters (Release 11.1.1)

    createAsOfDate String: Asession String: Asession

    Overview 13

  • 8/12/2019 Mdm Ntier API

    14/62

    Method Old Parameters (Release 9.3.2) New Parameters (Release 11.1.1)

    String: Aversion

    dateTime: Adate

    TRemGlobalQueryResultHolder:AGlobalQryResult

    Returns: String[ ]

    String: Aversion

    dateTime: Adate

    ArrayOfStringHolder:

    createAsOfDateResult*

    TRemVersionHolder: VersionHolder

    createAsOfTxnID String: A session

    String: Aversion

    int: AEndTxnID

    TRemVersionHolder:return

    Returns: String[ ]

    String: Asession

    String: Aversion

    int: AEndTxnID

    ArrayOfStringHolder:

    createAsOfTxnIDResult*

    TRemVersionHolder: return

    getCreateAsOfResults TRemASyncJobID: AJobID

    TRemVersionHolder: _return

    Returns: String[ ]

    TRemASyncJobID: AJobID

    ArrayOfStringHolder:

    getCreateAsOfResultsResult*

    TRemVersionHolder: _return

    * Method fills data passed in as a parameter.

    API Specification

    The latest API information can be obtained from the following URL:

    http://WebServerName/mdm_ntier/WebService.asmx

    whereWebServerNameis the name of the computer whereData Relationship Management Webserver is running and WebServiceis one of these supported Data Relationship Management

    Web services:

    Automator.asmx

    BlenderMgr.asmx

    CategoryMgr.asmx

    CompareMgr.asmx

    ExportMgr.asmx

    GlobalNode.asmx

    GlyphMgr.asmx

    Hier.asmx

    ImportMgr.asmx

    JobMgr.asmx

    LocalNode.asmx

    LogMgr.asmx

    14 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    15/62

    NodeAccessGroupMgr.asmx

    NodeTypeMgr.asmx

    ProcessInfo.asmx

    PropMgr.asmx

    QueryMgr.asmx

    RequestMgr.asmx

    SessionMgr.asmx

    SysPref.asmx

    UserMgr.asmx

    ValidationMgr.asmx

    Version.asmx

    VersionInfo.asmx

    VersionMgr.asmx

    Purpose

    This document is intended to illustrate how to write software which will consume Data

    Relationship Management services. It is particularly useful to developers and software architects.

    By writing systems that act as a client to Data Relationship Management, it is possible to

    customize the application to the specific needs of a particular set of requirements. This

    extensibility increases the potential for Data Relationship Management over a wide spectrum.

    One can integrate Data Relationship Management into in-house systems as a first-class citizen

    or build completely new clients using the Data Relationship Management server.

    PrerequisitesA Data Relationship Management Java-based SDK exists for accessing the Data Relationship

    Management Web service. It is based on Java 5 and Apache Axis 1.4. Other Web service-based

    languages, such as .NET, can also be used. Oracle does not provide a client-side .NET SDK for

    Data Relationship Management but an SDK can be created using that framework. If using .NET,

    you can use WebReferences in Visual Studio or use thewsdl.exeexecutable in the .NET

    framework to produce client-side proxies.

    Obtain the Data Relationship Management Java SDK

    Download the Data Relationship Management Java SDK from http://www.oracle.com/

    technology/software/products/bi/performance-management/

    hyperion_data_relationship.htmland unzip the contents of the zip file to a desired

    location on a drive. The Data Relationship Management Java SDK that is provided contains

    binaries. All of the binaries located in the dist\libdirectory are required to access the Data

    Prerequisites 15

  • 8/12/2019 Mdm Ntier API

    16/62

    Relationship Management API. The hdrm-proxy-api.jarfile contains Data Relationship

    Management interfaces which are described in this document. The binaries located in the

    hdrm-proxy-api.jarfile are the core interfaces to access the Data Relationship Management

    Web service. It is recommended that you use the IMasterDataManagement interface class

    contained in thehdrm-proxy-api.jarfile to obtain Data Relationship Management interfaces

    within custom client-side code.

    Obtain a Java Development Kit

    A suitable 5.0based version of the Java Development Kit can be downloaded from the

    java.sun.com Web site.

    The installer must choose the version most appropriate for the intended platform. Upon

    completion of the download, installation is performed through the normal platform-specific

    mechanism.

    Configuring a Sample ProjectA suitable JAVA IDE is typically used to set up a project using the Data Relationship Management

    SDK. Typically, the jar files located in the dist\libdirectory of the Data Relationship

    Management SDK are included in a projects library section of an IDE project. Once the jars are

    loaded, developers can reference binaries in a java class by using the java import statements. The

    SDK contains a code sample named HdrmScriptSample.javathat can be found under src/

    com/oracle/drm/examples. The SDK also contains a JDeveloper 10.1.3.3 project file called

    HdrmSdk.jprin the directory HdrmSdk. This file can be used as a starting point for a custom

    project.

    The sample demonstrates the following:

    Create a session

    Enumerate property definitions

    Delete a version

    Create a version

    Save a version

    Load a version

    Get a version

    Create a hierarchy

    Get a top node for hierarchy

    Create a version-level property definition

    Update version-level property values

    Create hierarchy-level property definitions

    Update hierarchy-level properties

    Add nodes to a hierarchy

    16 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    17/62

    Change local node property values

    Enumerate hierarchies within a version

    Enumerate hierarchy-level properties

    Enumerate working versions

    Enumerate top node for all versions

    Enumerate local and global node-level properties

    Recurse a hierarchy tree

    Create As Of version

    Delete local node

    Move node

    Create and run hierarchy flat file export

    Create and run custom property query

    Create a request

    Validate a request

    Add a request item

    Approve a request

    Delete a request

    The sample can be run within an IDE. There are five parameters required in the following order:

    1. Data Relationship Management Web server name

    2. User name

    3. Password

    4. Version name to create

    5. Export path and file name

    Special NotesFor more information see, see the following topics:

    Data Relationship Management Batch Client on page 17

    Encryption, Compression and MIME Encoding on page 18

    Data Relationship Management Batch Client

    In addition to the Data Relationship Management API, there is a utility called Data Relationship

    Management Batch Client that provides an interface to the Data Relationship Management

    application server.Data Relationship Management Batch Client is a command-line tool that can

    be run via a batch routine or interactively. It provides functionality for running exports, imports,

    Special Notes 17

  • 8/12/2019 Mdm Ntier API

    18/62

    automators, and blenders. For automating these types of processes, Data Relationship

    Management Batch Client may be a better choice depending upon the full requirements.

    Encryption, Compression and MIME Encoding

    Certain interface methods use encryption, compression, and MIME encoding.

    Encryption is used in the GetSession unless the ClearPasswordText flag is set to True. The

    encryption used is an RSA 256-bit encryption.

    Export, import, and Automator methods that pass files to and from the server use a combination

    of zip compression and MIME encoding. This is already coded for in the Data Relationship

    ManagementBatch Client tool and makes accessing these functions much easier to use.

    InterfacesThe Data Relationship Management API interfaces are used to communicate with the Data

    Relationship Management application server to retrieve and update Data RelationshipManagement application objects. Below are lists of the available interfaces.

    Session Management

    The initial interface that must be used is ISessionMgr. This interface has the method to validate

    against the system and get a SessionID.

    ISessionMgr This interface is used to access methods related to a users session. This interface

    must be used initially to obtain a session ID. After a valid session is obtained, subsequent

    interfaces are called as they require a session ID.

    Accessing and Managing Dimensional Data

    The following interfaces are used to access the dimensional data within Data Relationship

    Management.

    IGlobalNode This interface is used to access global node operations. Before calling this

    interface, you must call the following interfaces, in the order listed: IVersionMgr, IVersion.

    IHier This interface is used to perform operations on a hierarchy. Before calling this

    interface, you must call the following interfaces, in the order listed: IVersionMgr, IVersion.

    ILocalNode This interface is used to perform operations on a local node. Before callingthis interface, you must call the following interfaces, in the order listed: IVersionMgr,

    IVersion, IGlobalNode or IHierarchy.

    IVersion This interface is used to access version information. It exposes the ability to get

    objects that are related to a particular version; for example, retrieving a list of hierarchies,

    their nodes and properties. Before calling this interface, you must call the IVersionMgr

    interface.

    18 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    19/62

    IVersionMgr This interface is used to access version information.

    Data Relationship Management Toolsets

    The following set of interfaces manages access to the Data Relationship Management Toolsets.

    IAutomator This interface is used to make bulk hierarchy changes that are defined within

    a text file format. Depending on the requirements of the custom application being

    developed, performing Automator actions is optional as many of the operations available

    within the Automator can be achieved through other interfaces. The Automator is a way to

    perform transactional (Delta-type operations). In addition, this interface provides a method

    to convert transaction log items into an Automator script.

    IBlenderMgr This interface is used to access Blender operations. It exposes the ability to

    modify, delete, retrieve, and run blender profiles. The Blender process allows differences

    between versions to be blended into the target version or a copy of the target version.

    ICompareMgr This interface is used to access three types of Compare operations. It allows

    for management of the comparison profiles as well as running the compares.

    Standard Compare Compares two points in different hierarchies to be selected. Their

    structures are analyzed for differences.

    Property Compare Allows two points in different hierarchies to be selected and one

    or more properties are analyzed for differences.

    Renamed Node Compare Same as standard compare but renamed nodes are treated

    as being the same for comparison purposes.

    IExportMgr This interface is used to access export and book profile operations. It exposes

    the ability to add, save, delete, run exports, and book profiles. The Export toolset is the

    mechanism to retrieve dimensional information from the Data Relationship Management

    system. IImportMgr This interface is used to perform operations on import profiles. It exposes

    the ability to save, delete, and run imports. The Import toolset allows for a complete load

    of dimensional data from an external text file.

    IQueryMgr This interface is used to access methods related to queries, including creating,

    deleting, modifying, and running. There are two types of queries: global and normal. The

    query system allows Data Relationship Management to return a subset of nodes matching

    a particular set of criteria.

    IRequestMgr This interface is used to create, validate, approve, retrieve, and delete

    transaction requests in Data Relationship Management. Transaction requests are a series of

    proposed data changes to a Data Relationship Management version. A transaction requestcan consist of multiple transactions that are validated against and committed to a version

    as a group.

    Interfaces 19

  • 8/12/2019 Mdm Ntier API

    20/62

    Note:

    The Automator, imports, Blender, and exports can be run via the Data Relationship

    Management Batch Client from a command line perspective as an alternative to using the API

    to run predefined items.

    Data Relationship Management Transaction LogThe following interface is used to access the Data Relationship Management transaction log.

    ILogMgr This interface is used to perform transaction history operations. It exposes the ability

    to retrieve a list of all transaction history based on input criteria. Note that the transaction log

    items can be turned into an Automator script using the IAutomator interface.

    Accessing and Administering Data Relationship

    Management Metadata

    The following interfaces are used to access and administer Data Relationship Managementmetadata.

    ICategoryMgr This interface is used to access Property Category operations. It exposes

    the ability to add, delete, update, list users, list property categories, update users on a property

    category, list properties within a property category, and update the properties that pertain

    to a property category.

    IGlyphMgr This interface is used to insert, update, delete, retrieve, and load glyphs.

    Glyphs are used in conjunction with node types.

    INodeAccessGroupMgr This interface is used to perform operations on node access

    groups. It exposes the ability to add, delete, update, and retrieve a list of node access groups.

    Node access groups provide the basis for user security into the dimensions.

    INodeTypeMgr This interface is used to perform operations on a node type. It exposes

    the ability to add, delete, update, assign properties, assign validations, and retrieve property

    list for a node type. Node types limit the properties and validations for a node as well as

    optionally defining the glyph to be used. This interface is used for managing and retrieving

    node type information.

    IPropMgr This interface is used to access methods related to property definitions

    including adding, deleting, modifying and retrieving information like property lists and

    lookups. It is also used to get property information holders to retrieve property values from

    a node.

    ISysPref This interface is used to access system preferences for the Data Relationship

    Management application.

    IUserMgr This interface is used to access and manage user information.

    IValidationMgr This interface is used to access Data Relationship Management

    validations for defining, updating, and deleting validations (both validations and

    verifications).

    20 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    21/62

    Data Relationship Management System Monitoring

    The following interfaces are used to access system and process-level information with the Data

    Relationship Management environment.

    IJobMgr This interface is used to check the status of any jobs that have been submitted

    by other interfaces.

    IProcessInfo This interface is used to retrieve facts about the Data RelationshipManagement application server. This interface exposes such things as memory status, thread

    information, and a list of engines running.

    IVersionInfo This interface is used to obtain configuration information about the Data

    Relationship Management installation.

    Interface RelationshipsAccessing Data Relationship Management interfaces requires an understanding of the

    organization of the interfaces. While the interfaces themselves are independent of each other,

    methods of certain interfaces require input parameters that must be obtained from other

    interfaces. For example, before accessing node information, you must access hierarchy

    information and before accessing hierarchy information you must access version information.

    Below is an illustration on how to obtain version, hierarchy, and node-level information.

    Interface Relationships 21

  • 8/12/2019 Mdm Ntier API

    22/62

    Interface Return TypesWithin the Data Relationship Management interfaces there are some methods that are similar

    in what they return. Depending on the requirements of the client program calling the Data

    Relationship Management interfaces, it may be necessary to return only a subset of information.For example, within the Data Relationship Management interfaces there are two methods named

    fillChildrenStrList and fillChildren within the ILocalNode interface which each return different

    objects. The method fillChildrenStrList returns a String object array of children names and

    fillChildren returns an array of TRemLocalNode objects. These methods allow the developer to

    have more control over what is returned; it also can aid in performance of the custom application

    as returning a string array is more preferable than returning an array of TRemLocalNode objects.

    22 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    23/62

    Locator ObjectsWithin Data Relationship Management interfaces locator objects are used as input parameters

    in certain methods. Locator objects are a structure for passing multi-column key information.

    One example is the TRemHierLocator; this locator object contains variables for a session,

    version, and hierarchy. After these values are populated, this object can be used as an input

    parameter within the getHier method of the IHier interface. Below is a complete list of locator

    objects within the Data Relationship Management API.

    TRemLocalNodeLocator Contains session, version, hierarchy, and node attributes

    TRemDualListLocator Contains session and listID attributes

    TRemGlobalNodeLocator Contains session, version, and node attributes

    TRemHierLocator Contains session, version, and hierarchy attributes

    Asynchronous Methods

    Within the Data Relationship Management interface there are interface methods which do notimmediately return a response when they are called. This type of method allows processes to

    run in the background and does not require the program issuing the call to wait for a response.

    This is helpful for long running operations within Data Relationship Management. An example

    of this type of method is the startBookJob method in the IExportMgr interface. The IJobMgr

    interface can be used to check job status.

    Interface Methods

    IAutomator Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    loadFile String: ASession

    TRemScriptLoaderParams: AParams

    Returns: TRemActionItem[ ]

    Loads a file and converts contents into

    an array of TRemActionItem objects.

    These action items can be used in other

    method calls within this interface.

    processActions String: ASessionTRemActionItem[ ]: AAactions

    Returns: TRemActionItemResult[ ]

    Processes Automator actions(TRemActionItem) and returns a result

    array of TRemActionItemResult objects.

    loadLogCriteria String: ASession

    TRemLogCriteria: ALogCriteria

    Returns: TRemActionItem[ ]

    Returns an array of TRemActionItem

    objects based upon a set of criteria

    (TRemLogCriteria) and a user session.

    Used to convert transaction log items

    into Automator objects.

    Locator Objects 23

  • 8/12/2019 Mdm Ntier API

    24/62

  • 8/12/2019 Mdm Ntier API

    25/62

    Method Name Input / Output Parameters Purpose

    Returns: N/A

    fil lBlenderProfiles String: ASession

    Returns: TRemBlenderProfileDef[ ]

    Returns an array of Blender profile definitions.

    blenderByID String: ASession

    int: AID

    Returns: TRemBlenderProfile

    Returns a Blender profile definition for a Blender ID.

    processBlend String: ASession

    TRemBlenderProfile: ABlender

    Returns: TRemBlenderResults

    Processes a Blender operation for a Blender profile and

    returns a TRemBlenderResults object.

    startBlendJob String: ASession

    TRemBlenderProfile: ABlender

    Returns: TRemASyncJobID

    Starts an asynchronous Blender operation and returns

    AJob ID. Used with the getBlendJobResults method.

    getBlendJobResults TRemASyncJobID: AJobID

    Returns: TRemBlenderResults

    Returns Blender results. Used with the startBlendJob

    method.

    ICategoryMgr Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    listCategories String: ASession

    Returns: TRemCategory[ ]

    Returns an object array of TRemCategory objects.

    addCategory String: ASession

    TRemCategory: ACategory

    Returns: int

    Creates a new property category and returns the key to

    that category.

    deleteCategory String: ASession

    int: ACategoryID

    Returns: N/A

    Deletes a property category for a given property category

    ID.

    updateCategory String: ASession

    TRemCategory: ACategory

    Returns: N/A

    Updates a property category name and its order.

    listUsers String: ASession

    int: ACategoryID

    Returns: TRemUserAccess[ ]

    Returns a list of users for a property category by returning

    an object array of TRemUserAccess objects. Within this

    object you can get a users access level to a property

    category.

    updateUsers String: ASession

    int: ACategoryID

    TRemUserAccess[ ]: AUserAccessList

    Updates a users access level for a property category.

    Interface Methods 25

  • 8/12/2019 Mdm Ntier API

    26/62

    Method Name Input / Output Parameters Purpose

    Returns: N/A

    listProperties String: ASession

    int: ACategoryID

    Returns: String[ ]

    Returns a string array list of the property definition names

    that are associated with a property category.

    updateProperties String: ASessionint: ACategoryID

    TRemKeyValuePair[]: APropertyList

    Returns: N/A

    Updates the set of property definitions for a propertycategory.

    ICompareMgr Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    loadCriteria String: ASession

    int: AID

    Returns: TRemCompareCriteria

    Returns a TRemCompareCriteria object for an

    existing compare profile.

    saveCriteria String: ASession

    TRemCompareCriteria: ACompareCriteria

    Returns: N/A

    Saves criteria for a compare profile.

    deleteCriteria String: ASession

    int: AID

    Returns: N/A

    Deletes criteria for a compare profile.

    Rename String: ASession

    String: ANewName

    TRemCompareCriteria: ACompareCriteria

    Returns: N/A

    Renames an existing compare profile.

    propCompares String: ASession

    Returns: TRemCompareCriteriaDef[ ]

    Returns an object array of property compare profiles.

    Compares String: ASession

    Returns: TRemCompareCriteriaDef[ ]

    Returns an object array of compare profiles.

    renameCompares String: ASession

    Returns: TRemCompareCriteriaDef[ ]

    Returns an object array of renamed node compare

    profiles.

    compare String: ASession

    TRemCompareCriteria: crit

    String[ ]: AReturnProps

    Returns: TRemCompareResult

    Executes a compare operation and returns a

    TRemCompareResult object.

    26 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    27/62

    Method Name Input / Output Parameters Purpose

    renameCompare String: ASession

    TRemCompareCriteria: crit

    String [ ]: aReturnProps

    Returns: TRemRenameCompareResult

    Executes a renamed node compare and returns a

    TRemCompareResult object.

    propCompare String: ASessionTRemCompareCriteria: crit

    String [ ]: aReturnProps

    Returns: TRemCompareResult

    Executes a property compare operation and returnsa TRemCompareResult object.

    IExportMgr Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    saveExport String: Asession

    TRemBaseExport: AExport

    Returns: N/A

    Saves an export profile.

    fillExports String: Asession

    Returns: TRemExportDef[ ]

    Returns an object array of export

    definitions.

    fillTypeDefs String: ASession

    Returns: TRemExportTypeDef[ ]

    Returns an object array of export types

    hierarchy, version, ancestor, hierarchy

    compare, hierarchy difference, lookup,

    merge log, property list, trans log,

    generation, XML hierarchy exports

    exportByID String:ASession

    int: AID

    Returns: TRemBaseExport

    Returns a comprehensive set of export

    profile information (TRemBaseExport).

    deleteExport String: ASession

    int: AID

    Returns: N/A

    Deletes an existing export profile.

    runExportByID String: ASession

    int: AID

    String: ACurrentVersion

    String: APreviousVersion

    Returns: String

    Runs an export profile with export ID,

    current version and previous version as

    input parameters.

    runExport String: ASession

    TRemBaseExport: AExport

    Returns: TDrcByteArray

    Runs an export operation. The export profile

    does not have to be committed to the Data

    Relationship Management datastore prior

    to running.

    Interface Methods 27

  • 8/12/2019 Mdm Ntier API

    28/62

    Method Name Input / Output Parameters Purpose

    isExportRunnable String: ASession

    TRemBaseExport: AExport

    Returns: Boolean

    Determines if the TRemBaseExport input

    parameter contains valid information.

    Returns true if export parameters are valid.

    fillBooks String: ASession

    Returns: TExportBookArray

    Returns an array of book profiles.

    saveBook String: ASession

    TRemExportBook: ABook

    Returns: N/A

    Saves a book profile.

    deleteBook String: ASession

    int: ABookID

    Returns: N/A

    Deletes a book profile.

    startExportJob String: ASession

    TRemBaseExport: AExport

    Returns: TRemASyncJobID

    Starts an asynchronous export job. Used

    with the getExportJobResults method to

    check the results.

    getExportJobResults TRemASyncJobID: AJobID

    Returns: TDrcByteArray

    Returns the results of an asynchronous

    export job.

    startBookJob String: ASession

    int: ABookID

    TRemVersionParams: AVersionParams

    TRemVersionParams: APrevVersionParams

    Returns: TRemASyncJobID

    Starts an asynchronous book job. Used

    with the getBookJobExportResult method.

    getBookJobItemCount TRemASyncJobID: AJobID

    Returns: int

    Returns the number of exports for a book.

    getBookJobExportResult TRemASyncJobID: AJobID

    int: ABookItemIndex

    Returns: TDrcByteArray

    Returns an object array of the results of a

    book job.

    getBookJobCombinedFile TRemASyncJobID: AJobID

    Returns: TDrcByteArray

    Returns an object array of the results of a

    book job which contains a combined file.

    This method is used for books that are

    configured to combine their output into a

    single text file.

    closeBookJob TRemASyncJobID: AJobID

    Returns: N/A

    Closes a book job to free the associated

    server resources

    bookByID String: ASession

    int: ABookID

    Returns: TRemExportBook

    Returns a book profile.

    28 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    29/62

    IGlobalNode Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    getNode TRemGlobalNodeLocator: nodeLocReturns: TRemGlobalNode

    Returns a Global Node given aTRemGlobalNodeLocator input parameter.

    numChildren TRemGlobalNodeLocator: nodeLoc

    boolean: leaves

    Returns: int

    Returns the number of children for a

    GlobalNode.

    numDescendants TRemGlobalNodeLocator: nodeLoc

    Tmdm_LeavesIncluded: leaves

    Returns: int

    Returns the number of descendents of a

    global node.

    fillPropValue TRemGlobalNodeLocator: nodeLoc

    String: APropAbbrev

    Returns: TRemNodeProp

    Returns state details of a property on a

    global node.

    fillPropValues TRemGlobalNodeLocator: nodeLoc

    String[ ] abbrevList

    Returns: TRemNodeProp[ ]

    Returns an object array of TRemNodeProp

    objects for a global node.

    propValueByAbbrev TRemGlobalNodeLocator: nodeLoc

    String: propAbbrev

    Returns: String

    Returns the property value for a given global

    node and a property definition name.

    propValuesByAbbrev TRemGlobalNodeLocator: nodeLoc

    String: propAbbrevs

    String: delimStr

    Returns: String

    Returns property values for a global node.

    The propAbbrevs input parameter can

    contain one or more delimited property

    definition abbrevs.

    propStrValueByAbbrev TRemGlobalNodeLocator: nodeLoc

    String: propAbbrev

    Returns: String

    Returns a property value for a global node

    given a property definition abbrev as a input

    parameter.

    propValueByID TRemGlobalNodeLocator: nodeLoc

    int: PropID

    Returns: String

    Returns a property value for a global node

    given an property definition ID.

    propOriginByAbbrev TRemGlobalNodeLocator: nodeLoc

    String: propAbbrev

    Returns: Tmdm_PropOrigin

    Returns a scope and origin for a property on

    a global node.

    hasChildren TRemGlobalNodeLocator: nodeLoc

    Returns: boolean

    Determines if a global node has children.

    childNodeCount TRemGlobalNodeLocator: nodeLoc

    Returns: int

    Returns the number of children for a global

    node.

    Interface Methods 29

  • 8/12/2019 Mdm Ntier API

    30/62

  • 8/12/2019 Mdm Ntier API

    31/62

    Method Name Input / Output Parameters Purpose

    fillChildrenQry TRemGlobalNodeLocator: nodeLoc

    String[ ]: AReturnProps

    Returns: TRemGlobalQueryResult

    Returns an object array of

    TRemGlobalQueryResult objects for a global

    node, showing all children of the node. The

    AReturnProps argument can be used to

    specify additional property values to include

    in the result set.

    fillDescendantsQry TRemGlobalNodeLocator: nodeLoc

    Int: AMaxNodes

    String[ ]: AReturnProps

    Returns: TRemGlobalQueryResult

    Returns an object array of

    TRemGlobalQueryResult objects for a global

    node, showing all descendants of the node.

    The AReturnProps argument can be used to

    specify additional property values to include

    in the result set.

    nextNodeSequence String: ASession

    String: APrefix

    int: AAbbrevLength

    Returns: String

    Generates the next available node abbrev for

    the designated prefix, based on the number

    of times that prefix has been used for

    generating a sequence. The resulting string

    will be of the specified length. For example,

    the prefix ABC and length of 5 yields

    ABC01 the first time the method is called,then ABC02 etc.

    fillSharedNodes TRemGlobalNodeLocator: nodeLoc

    Returns: TRemGlobalNode[ ]

    Returns an object array of TRemGlobalNode

    objects for a global node, indicating all local

    shared instances of that global node, across

    all hierarchies.

    IGlyphMgr Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    Insert String: ASession

    TRemGlyphInfo: AGlyphInfo

    Returns: int

    Inserts a glyph and returns the primary key to the glyph.

    update String: ASession

    TRemGlyphInfo: AGlyphInfo

    Returns: N/A

    Updates a glyph.

    delete String: ASessionint: AGlyphID

    Returns: N/A

    Deletes a glyph.

    loadGlyphs String: ASession

    Returns: TRemGlyphInfo[ ]

    Returns an array of TRemGlyphInfo objects for a user.

    Interface Methods 31

  • 8/12/2019 Mdm Ntier API

    32/62

    Method Name Input / Output Parameters Purpose

    glyphByID String: ASession

    int: AID

    Returns: TRemGlyphInfo

    Returns a glyph for a given ID.

    IHier Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    getHier TRemHierLocator: hierLoc

    Returns: TRemHier

    Returns a TRemHier hierarchy object given

    a hierarchy locator object as input.

    changeTopNode TRemHierLocator: hierLoc

    String: ATopNode

    Returns: N/A

    Changes a top node for a given hierarchy.

    addNode TRemHierLocator: hierLoc

    String: nodeAbbrev

    int: parentID

    boolean: leaf

    Returns: N/A

    Adds a node to an existing parent node

    within a hierarchy.

    insertNode TRemHierLocator: hierLoc

    String: nodeAbbrev

    int: parentID

    Returns: N/A

    Inserts an existing node under a existing

    parent node.

    removeNodes TRemHierLocator: hierLocString[ ]: nodeAbbrevList

    Returns: N/A

    Removes one or more nodes from ahierarchy taking a string array of node

    names as input.

    moveNodes TRemHierLocator: hierLoc

    String[ ]: nodeAbbrevList

    int: newParentID

    Returns: N/A

    Moves one or more nodes in a hierarchy to

    a new parent node taking a string array of

    node names as input.

    copyNodes TRemHierLocator: hierLoc

    String[ ]: nodeAbbrevList

    int: newParentID

    int: sourceHierID

    Returns: N/A

    Copies a set of nodes to a new parent node

    within a hierarchy.

    deleteNodes TRemHierLocator: hierLoc

    String[ ]: nodeAbbrevList

    String[ ]: mergeAbbrevList

    Returns: N/A

    Deletes a list of nodes from a hierarchy. If

    merge node is enabled then a l ist of merge

    nodes should be supplied.

    32 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    33/62

    Method Name Input / Output Parameters Purpose

    destroyNodes TRemHierLocator: h ierLoc

    String[ ]: nodeAbbrevList

    Returns: N/A

    Destroys one or more nodes immediately

    regardless of the merge requirements.

    annulNode TRemHierLocator: hierLoc

    String: nodeAbbrevReturns: N/A

    Removes a node from a hierarchy and

    deletes the node if its an orphan.

    annulAllBelow TRemHierLocator: hierLoc

    String: nodeAbbrev

    Returns: N/A

    Annuls all nodes below a given node.

    inactivateNodes TRemHierLocator: hierLoc

    String[ ]: nodeAbbrevList

    String[ ]: mergeAbbrevList

    Returns: N/A

    Inactivates one or more nodes within a

    hierarchy.

    reactivateNodes TremHierLocator: hierLoc

    String[ ]: nodeAbbrevList

    Returns: N/A

    Reactivates one or more nodes within a

    hierarchy.

    fillNodeList TRemHierLocator: h ierLoc

    TLocalNodeArrayHolder ANodeList

    Tmdm_FilterChildren: AFilter

    Returns: N/A

    This method is unique in that it fills a var

    argument with data. It returns a list of local

    nodes in the ANodeList parameter for a

    given version, hierarchy.

    nodeByID TRemHierLocator: hierLoc

    int: nodeID

    Returns: TRemLocalNode

    Returns a TRemLocalNode object for a given

    version, hierarchy, and node ID.

    extNodeByID TRemHierLocator: hierLocint: nodeID

    Returns: TRemExtLocalNode

    Returns a TRemExtLocalNode object for agiven version, hierarchy, and node ID.

    TRemExtLocalNode contains local node

    information for access and display for UIs.

    nodeByAbbrev TRemHierLocator hierLoc

    String: nodeAbbrev

    Returns: TRemLocalNode

    Returns a TRemLocalNode object given a

    node abbrev as input.

    verify TRemHierLocator: AHierLoc

    int: AMaxNodes

    String[ ]: AReturnProps

    ArrayOfStringHolder: verifyResult*

    * Method fills data passed in as a param.

    TRemLocalQueryResultHolder:ALocalQryResult

    Verifies the assigned batch verifications for

    a specified hierarchy and returns the failed

    nodes (TRemLocalQueryResultHolder) and

    reasons (ArrayOfStringHolder).

    verifySelected TRemHierLocator: AHierLoc

    int: AmaxNodes

    String[ ]: validationAbbrevs

    String[ ] AReturnProps

    Verifies the specified batch verifications

    (validationAbbrevs String[ ]) for the

    specified hierarchy (TRemHierLocator) and

    returns the failed nodes

    Interface Methods 33

  • 8/12/2019 Mdm Ntier API

    34/62

    Method Name Input / Output Parameters Purpose

    ArrayOfStringHolder: verifySelectedResult

    TRemLocalQueryResultHolder:ALocalQryResult*

    * Method fills data passed in as a param.

    (TRemLocalQueryResultHolder) and

    reasons (ArrayOfStringHolder).

    verifyNode int: nodeID

    Boolean: recurse

    TRemBaseParams: paramsTRemDualListLocator*

    * Method fills data passed in as a param.

    Verifies the assigned batch verifications for

    a specific node ID or node ID and down

    (Recurse) and returns the failed nodes(TRemDualListLocator).

    verifyNodeSelected int: NodeID

    Boolean: Recurse

    String[ ]: ValidationAbbrevs

    TRemBaseParams: Params

    TRemDualListLocator*

    * Method fills data passed in as a param..

    Verifies the specified batch verifications

    (String[ ]) for a specific node ID or node ID

    and down (Recurse) and returns the failed

    nodes (TRemDualListLocator.)

    f il lStrPropValue TRemHierLocator: hierLoc

    String: propAbbrev

    Returns: String

    Returns a property value for a specified

    hierarchy.

    fillPropValues TRemHierLocator: hierLoc

    String[ ]: abbrevList

    Returns: TRemNodeProp[ ]

    Returns array list of property objects

    (TNodePropArray) for the specified property

    abbrevs (abbrevList) and hierarchy

    (TRemHierLocator).

    propValueByAbbrev TRemHierLocator: hierLoc

    String: propAbbrev

    Returns: String

    Returns the property value string for a

    specified hierarchy property abbrev and

    hierarchy (TRemHierLocator).

    propValueByID TRemHierLocator: hierLoc

    int: propIDReturns: String

    Returns the property value string for a

    specified hierarchy property ID andhierarchy (TRemHierLocator).

    updateProps TRemHierLocator: h ierLoc

    TRemNodeProp[ ]: APropList

    Returns: N/A

    Updates a set of hierarchy properties

    (TNodePropArray[ ]) for a Specific hierarchy

    (TRemHierLocator).

    searchForNode TRemHierLocator: hierLoc

    TRemNodeSearchParams: ASearchParams

    Returns: TRemLocalQueryResult

    Returns a partial match search within a

    hierarchy (TRemHierLocator) and search

    params (TRemNodeSearchParams) and

    returns a TRemLocalQueryResult object.

    IImportMgr Interface Methods

    [ ] denotes an array

    34 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    35/62

    Method Name Input / Output Parameters Purpose

    fi ll ImportTypeDefs String: ASession

    Returns: TRemImportTypeDef[ ]

    Returns an array of TRemImportTypeDef objects for a given

    user's session.

    fillImportBlocks String: ASession

    Returns: TRemImportBlockDef[ ]

    Returns an array of TRemImportBlockDef objects for a

    given user's session. TRemImportBlockDef objects

    contain basic information about the import profile suchas name, description, type, and whether it is a standard

    import.

    importBlockByID String: ASession

    int: AID

    Returns: TRemImportBlock

    Returns an import profile definition for a given user's

    session and import ID.

    saveImport String: ASession

    TRemImportBlock: AImportBlock

    Returns: N/A

    Saves an import profile definition.

    deleteImport String: ASession

    int: AID

    Returns: N/A

    Deletes an existing import profile for a given user's session

    and import ID.

    runImport String: ASession

    TRemImportBlock: AImport

    String: ACompressedFile

    Returns: TRemImportResults

    Runs an import profile and returns a TRemImportResults

    object.

    isRunnable String: ASession

    TRemImportBlock: AImport

    Returns: boolean

    Determines if an export can be run.

    startImportJob String: ASessionTRemImportBlock: AImportBlock

    String: ACompressedFile

    Returns: TRemASyncJobID

    Starts an asynchronous import job and returns aTRemASyncJobID object to be used with the

    getImportJobResults method.

    getImportJobResults TRemASyncJobID: AJobID

    Returns: TRemImportResults

    Returns the results (TRemImportResults) of an

    asynchronous import job. Used with the startImportJob

    method.

    IJobMgr Interface Methods

    Method Name Input / Output Parameters Purpose

    checkJobStatus TRemASyncJobID: AJobID

    Returns: Tmdm_JobStatus

    Returns a Tmdm_JobStatus object for a given asynchronous job.

    Interface Methods 35

  • 8/12/2019 Mdm Ntier API

    36/62

  • 8/12/2019 Mdm Ntier API

    37/62

    Method Name Input / Output Parameters Purpose

    Returns: String

    numChildren TRemLocalNodeLocator: nodeLoc

    Boolean: leaves

    Returns: int

    Returns the number of children for a given

    local node.

    numDescendants TRemLocalNodeLocator: nodeLocTmdm_LeavesIncluded: leaves

    Returns: int

    Returns the number of descendent nodesfor a local node. Tmdm_LeavesIncluded is

    a filter object to include leaves, no leaves

    or to include both limbs and leaves.

    fillPropValue TRemLocalNodeLocator: nodeLoc

    String: propAbbrev

    Returns: TRemNodeProp

    Returns a TRemNodeProp object for a

    given local node.

    fillPropValues TRemLocalNodeLocator: nodeLoc

    String[ ]: abbrevList

    Returns: TRemNodeProp[ ]

    Returns an array of the property value

    objects for a specified list of property

    abbrevs for the specified local node.

    propValueByAbbrev TRemLocalNodeLocator: nodeLoc

    String: propAbbrev

    Returns: String

    Returns a string property value for a

    specified property abbrev for a local node.

    propValuesByAbbrev TRemLocalNodeLocator: nodeLoc

    String: propAbbrevs

    String: delimStr

    Returns: String

    Returns a string with delimited values for a

    specified local node, and delimited

    property abbrevs string. The delimStr

    parameter should specify what delimiter is

    used within the propAbbrev string.

    propStrValueByAbbrev TRemLocalNodeLocator: nodeLoc

    String: propAbbrev

    Returns: String

    Returns the property value as a string for

    the given property abbrev and local node.

    propValueByID TRemLocalNodeLocator: nodeLoc

    int: propID

    Returns: String

    Returns a string property value for a given

    node and property ID.

    propOriginByAbbrev TRemLocalNodeLocator: nodeLoc

    String: propAbbrev

    Returns the property origin for a given

    property abbrev and local node.

    hasChildren TRemLocalNodeLocator: nodeLoc

    Returns: boolean

    Returns True or False if a given local node

    has children.

    childNodeCount TRemLocalNodeLocator: nodeLoc

    Returns: int

    Returns the number of children for a given

    local node.

    existsInDB TRemLocalNodeLocator: nodeLoc

    Returns: Boolean

    Determines if a given local node exists in

    the database.

    fillDescendants TRemLocalNodeLocator: nodeLoc

    Boolean: inclusive

    Returns: TRemLocalNode[ ]

    Returns an object array of descendent

    objects for a given local node. Inclusive

    Interface Methods 37

  • 8/12/2019 Mdm Ntier API

    38/62

    Method Name Input / Output Parameters Purpose

    tells Data Relationship Management to

    include the current node in the result array.

    fillDescendantsSorted TRemLocalNodeLocator: nodeLoc

    boolean: inclusive

    boolean: ALeafsLast

    Returns: TRemLocalNode[ ]

    Returns a sorted object array of the

    descendant nodes for the specified node.

    Inclusive tells Data Relationship

    Management to include the current nodein the result array.

    fillAncestors TRemLocalNodeLocator: nodeLoc

    Boolean: inclusive

    Returns: TRemLocalNode[ ]

    Returns an object array of Ancestor nodes

    for a given local node. Inclusive tells Data

    Relationship Management to include the

    current node in the result array.

    fillAncestorsExt TRemLocalNodeLocator: nodeLoc

    boolean: inclusive

    Returns: TRemExtLocalNode[ ]

    Returns an object array of extended local

    node objects for a given local node.

    Inclusive tells Data Relationship

    Management to include the current node

    in the result array.

    fillChildren TRemLocalNodeLocator: nodeLoc

    Returns: TRemLocalNode[ ]

    Returns an object array of children for alocal node.

    fillChildrenExt TRemLocalNodeLocator: nodeLoc

    Returns: TRemExtLocalNode[ ]

    Returns an object array of extended

    children for a given local node.

    fillChildrenSorted TRemLocalNodeLocator: nodeLoc

    Returns: TRemLocalNode[ ]

    Returns an object array of children nodes

    for a given local node.

    fillSiblings TRemLocalNodeLocator: nodeLoc

    boolean: inclusive

    Returns: TRemLocalNode[ ]

    Returns an object array of sibling nodes for

    a given local node. Inclusive tells Data

    Relationship Management to include the

    current node in the result array.

    fillChildrenStrList TRemLocalNodeLocator: nodeLoc

    Tmdm_FilterChildren: AFilter

    Returns: String

    Returns a delimited string list of the child

    nodes for a given local node.

    updateProps TRemLocalNodeLocator: nodeLoc

    TRemNodeProp[ ]: APropList

    Returns:

    Updates properties specified in the

    TRemNodeProp object array for a given

    local node.

    copyProps TRemLocalNodeLocator: nodeLoc

    TRemLocalNodeLocator: sourceNode

    Tmdm_PropCopyMode: copyMode

    String[ ] selectedProps

    Returns: N/A

    Copies properties from one node (source

    node) to another node. The

    Tmdm_PropCopyMode object is an

    enumeration of the following options:pcmOverriden, pcmSelected,

    pcmForceAll.

    pcmOverriden copies all property

    definitions at the source node (ignoring

    derived and inherited).

    pcmSelected copies a list of selected

    properties. If this option is selected, then

    38 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    39/62

    Method Name Input / Output Parameters Purpose

    the selectedProps parameter must be filled

    in.

    pcmForceAll copies all the properties

    including inherited and derived and makes

    them overridden in the target node.

    verify TRemLocalNodeLocator: nodeLocBoolean: bRecurse

    int: AMaxNodes

    String[ ]: AReturnProps

    Returns: TRemLocalQueryResult

    Runs the assigned batch verifications forthe specified node and returns the failures

    in a TRemLocalQueryResult object.

    verifySelected TRemLocalNodeLocator: nodeLoc

    String[ ]: validationAbbrevs

    boolean: bRecurse

    int:AMaxNodes

    String[ ]:AReturnProps

    Returns: TRemLocalQueryResult

    Runs the selected batch verifications for a

    given node and returns the failures in a

    TRemLocalQueryResult object. The

    bRecurse parameter recourses down the

    hierarchy if true. Otherwise only the node

    listed in the TRemLocalNodeLocator object

    is verified. AMaxNodes results in Data

    Relationship Management returning amaximum number of nodes in the result

    set. AReturnProps includes these

    properties when returning nodes that fail a

    verification.

    orderChildren TRemLocalNodeLocator: ANodeLoc

    String[ ]: AChildOrder

    Returns: N/A

    Orders children for a given local parent

    node.

    fillChildrenExtQry TRemLocalNodeLocator: nodeLoc

    String[ ]: AReturnProps

    Returns: TRemLocalQueryResult

    Returns extended children with properties

    for a given local node.

    fillAncestorsExtQry TRemLocalNodeLocator: nodeLoc

    Boolean: inclusive

    String[ ]: AReturnProps

    Returns: TRemLocalQueryResult

    Returns extended ancestors with

    properties for a given local node. Inclusive

    tells Data Relationship Management to

    include the current node in the result array.

    fillDescendantsQry TRemLocalNodeLocator: nodeLoc

    boolean: inclusive

    int: AMaxNodes

    String[ ]: AReturnProps

    Returns: TRemLocalQueryResult

    Returns descendants with properties for a

    given local node. Inclusive tells Data

    Relationship Management to include the

    current node in the result array.

    fillSiblingsQry TRemLocalNodeLocator nodeLoc

    boolean: inclusive

    String[ ]: AReturnProps

    Returns: TRemLocalQueryResult

    Returns siblings with properties for a given

    local node. TRemLocalQueryResult

    contains a string array of the properties

    requested and their property values.

    Inclusive tells Data Relationship

    Management to include the current node

    in the result array.

    Interface Methods 39

  • 8/12/2019 Mdm Ntier API

    40/62

    ILogMgr Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    loadLogItems String: ASessionTRemLogCriteria: ALogCriteria

    Returns: TRemLogItem[ ]

    Returns transaction history (TRemLogItem[ ]) given a set of logcriteria (TRemLogCriteria).

    INodeAccessGroupMgr Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    addNodeAccessGroup String: ASession

    TRemNodeAccessGroup: AGroup

    Returns: Int

    Adds a node access group and returns

    an integer representing a new ID.

    deleteNodeAccessGroup String: ASession

    int: AGroupID

    Returns: N/A

    Deletes a node access group given a

    users session and node access group

    ID.

    updateNodeAccessGroup String: ASession

    TRemNodeAccessGroup: AGroup

    Returns: N/A

    Updates a node access group given a

    users session and a

    TRemNodeAccessGroup object.

    updateNodeAccessMembers String: ASessionint: AGroupID

    String[ ]: AMembers

    Returns: N/A

    Updates a node access group's list ofusers.

    fillGroupList String: ASession

    Returns: TRemNodeAccessGroup[ ]

    Returns an object array of node access

    groups for a given users session.

    groupByID String: ASession

    int: AGroupID

    Returns: TRemNodeAccessGroup

    Returns a node access group object for

    a given users session and node access

    group ID.

    fillUserList String: ASessionint: AGroupID

    Returns: String[ ]

    Returns a string object array of usernames for a node access group.

    updateControllingHiers String: ASession

    int: AGroupID

    TRemControllingHier[ ]: AControllingHiers

    Returns: N/A

    Updates the controlling hierarchies for a

    global node access group.

    40 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    41/62

    INodeTypeMgr Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    fillPropertiesByNodeType String: ASessionString: ANodeType

    Returns: String[ ]

    Returns an object array of property names for a givennode type.

    fillCategoriesByNodeType String: ASession

    String: ANodeType

    Returns: String[ ]

    Returns an object array of property categories for a

    given node type.

    fillValidationsByNodeType String: ASession

    String: ANodeType

    Returns: TRemValidation[ ]

    Returns an object array of validations for a node type.

    fillNodeTypesByProperty String ASession:

    String: APropertyAbbrev

    Returns: TRemNodeType[ ]

    Returns an object array of node types for a given

    property abbrev.

    fillNodeTypesByCategory String: ASession

    String: ACategoryAbbrev

    Returns: TRemNodeType[ ]

    Returns an object array of node types for a property

    category.

    fillNodeTypesByValidation String: ASession

    String: AValidationAbbrev

    Returns: TRemNodeType[ ]

    Returns an object array of node types for a validation

    abbrev.

    glyphIDByNodeType String: ASession

    String: ANodeType

    Returns: int

    Returns the ID of a glyph for a node type.

    glyphIDByNode TRemLocalNodeLocator: Anode

    Returns: int

    Returns the ID of a glyph for a node.

    fillNodeTypes String: ASession

    Returns: TRemNodeType[ ]

    Returns an object array of node types for a users

    session.

    addNodeType String: ASession

    TRemNodeType: ANodeType

    Returns: N/A

    Adds a node type.

    deleteNodeType String: ASession

    String: ANodeTypeAbbrev

    Returns: N/A

    Deletes a node type.

    updateNodeType String: ASession

    String: ANodeTypeAbbrev

    Returns: N/A

    Updates a node type.

    Interface Methods 41

  • 8/12/2019 Mdm Ntier API

    42/62

    Method Name Input / Output Parameters Purpose

    applyNodeTypeProps String: ASession

    String: ANodeTypeAbbrev

    String[ ]: APropList

    Returns: N/A

    Assigns a list of properties to a node type.

    applyNodeTypeCategories String: ASessionString: ANodeTypeAbbrev

    String[ ] ACatList

    Returns: N/A

    Assigns a list of property categories to a node type.

    applyNodeTypeValidations String: ASession

    String: ANodeTypeAbbrev

    String[ ] AValList

    Returns: N/A

    Assigns a list of validations/verifications to a node

    type.

    IProcessInfo Interface Methods

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    getGlobalMemoryStatus String: ASession

    String: AMachineName

    Returns: TRemMemoryStatus

    Returns a memory status object for a given

    session and machine.

    getEngineThreadInfo String: ASession

    String: AEngineID

    Returns: TRemEngineThreadInfo[ ]

    Returns a TRemEngineThreadInfo object

    array for a given session and a Data

    Relationship Management Engine ID.

    getMachineList String: ASession

    Returns: String[ ]

    Returns an object array of strings

    representing Web servers for a Data

    Relationship Management application.

    getEngineList String: ASession

    Returns: TRemEngine[ ]

    Returns an object array of Data

    Relationship Management engines for a

    Data Relationship Management

    application.

    getEngineProcessID String: ASession

    String: AEngineID

    Returns: int

    Returns a process ID for a given Data

    Relationship Management engine.

    getEngineProcessMemoryInfo String: ASession

    String: AEngineID

    Returns: TRemProcessMemoryCounters

    Returns memory information for a given

    Data Relationship Management engine.

    getEngineQueue String: ASession

    String: AEngineID

    Returns: String[ ]

    Returns an object array of process in

    queue for a given engine ID.

    42 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    43/62

    IPropMgr Interface Methods

    In general, IPropMgr applies only to node-level properties with the exception of

    anyPropDefById and anyPropDefByAbbrev methods. Hierarchy-specific methods are prefixed

    with H or Hier. Version-specific methods are prefixed with V or Version.

    [ ] denotes an array

    Method Name Input / Output Parameters Purpose

    propDefByID String: session

    int: propID

    Returns: TRemPropDef

    Returns a property definition object for a given

    property definition ID.

    hierPropDefByID String: session

    int: propID

    Returns: TRemPropDef

    Returns a hierarchy level property definition

    given a property definition ID.

    versionPropDefByID String: session

    int: propID

    Returns: TRemPropDef

    Returns a version level property definition

    given a property definition ID.

    anyPropDefByID String: session

    int: propID

    Returns: TRemPropDef

    Returns a property definition given a property

    definition ID.

    propIsValid String: session

    String: abbrev

    Returns: boolean

    Returns boolean indicating if the property

    abbrev is valid.

    nodePropIsValid String: session

    String: abbrev

    Returns: boolean

    Returns boolean indicating if the property

    abbrev is a valid node-level property.

    hierPropIsValid String: session

    String: abbrev

    Returns: boolean

    Returns boolean indicating if the property

    abbrev is a valid hierarchy-level property.

    versionPropIsValid String: session

    String: abbrev

    Returns: boolean

    Returns boolean indicating if the property

    abbrev is a valid version level property.

    propDefByAbbrev String: session

    String: abbrev

    Returns: TRemPropDef

    Returns a TRemPropDef object given a

    property definition abbrev.

    nodeCopyPropByAbbrev String: session

    String: abbrev

    Returns: TremPropDef

    Returns a property definition object of a

    specified property abbrev if it is setup for

    copying, meaning the property abbrev is set

    as a value in the CopyPropertiesList system

    preference.

    Interface Methods 43

  • 8/12/2019 Mdm Ntier API

    44/62

    Method Name Input / Output Parameters Purpose

    versionPropDefByAbbrev String: session

    String: abbrev

    Returns: TremPropDef

    Returns a TRemPropDef object given a

    version-level property definition abbrev.

    hierPropDefByAbbrev String: session

    String: abbrevReturns: TRemPropDef

    Returns a TRemPropDef object given a

    hierarchy-level property definition abbrev.

    anyPropDefByAbbrev String: session

    String: abbrev

    Returns: TRemPropDef

    Returns any TRemPropDef object given a

    property definition abbrev.

    defaultByAbbrev String: session

    String: abbrev

    Returns: String

    Returns the default value for a given property

    definition abbrev (local and global level

    properties only).

    fillPropByAbbrev String: session

    String: abbrev

    Returns: TRemNodeProp

    Returns a node-level TRemNodeProp object

    given a property definition abbrev.

    fillHierPropByAbbrev String: session

    String: abbrev

    Returns: TRemNodeProp

    Returns a hierarchy-level TRemNodeProp

    object for a given property definition abbrev.

    f il lVersionPropByAbbrev String: session

    String: abbrev

    Returns: TRemNodeProp

    Returns a version-level TRemNodeProp object

    for a given property definition abbrev.

    fillFullPropList String: session

    boolean: includeHidden

    boolean: globalOnly

    Returns: TRemNodeProp[ ]

    Returns an object array of property holders for

    all node-level properties. Can include global

    and hidden properties.

    VFillFullPropList String: session

    Returns: TRemNodeProp[ ]

    Returns an object array of property holders for

    all version-level properties.

    HFillFullPropList String: session

    Returns: TRemNodeProp[ ]

    Returns an object array of property holders for

    all hierarchy-level properties.

    fillValPropList String: session

    Returns: TRemNodeProp[ ]

    Returns an object array of property holders

    objects for validation properties.

    fillSelectedPropList String: session

    String[ ] abbrevList

    boolean: includeHidden

    boolean: globalOnly

    Returns: TRemNodeProp[ ]

    Returns an object array of property holders for

    a specified set of node-level property abbrevs.

    44 Data Relationship Management Application Programming Interface

  • 8/12/2019 Mdm Ntier API

    45/62

    Method Name Input / Output Parameters Purpose

    VFillSelectedPropList