2

In Teamcenter I have a dataset that contains two inner datasets:

  1. A "Good ds" dataset with an External Proxy relation.
  2. A "Bad ds" dataset with Markup(s) relation

Teamcenter web client view of the "good" and "bad" datasets

I'm trying to enumerate server content using the Teamcenter C++ API. The object for the "Good ds" dataset is returned as expected by call to get_IMAN_external_object_link() from the Teamcenter::Soa::Client::Model::Dataset class.

How could I get an object for the "Bad ds" dataset with Markup relation?

Documentation for the API is very poor. I've tried each of these methods in the Dataset class that returns a ModelObjectVector but with no luck:

  • get_DgtSignatureByUserRelation
  • get_external_apps
  • get_fnd0complying_objects
  • get_fnd0defining_objects
  • get_Fnd0DiagramSnapshot
  • get_Fnd0DiagramTmplRelation
  • get_Fnd0Diagram_Attaches
  • get_fnd0FileAccessAuditLogs
  • get_fnd0GeneralAuditLogs
  • get_fnd0LicenseExportAuditLogs
  • get_Fnd0ShapeRelation
  • get_fnd0WorkflowAuditLogs
  • get_FND_TraceLink
  • get_IMAN_based_on
  • get_IMAN_Rendering
  • get_license_list
  • get_process_stage_list
  • get_release_statuses
  • get_revisions_prop

Teamcenter server version is 10.1 (20130604.00).

CodeFuller
  • 30,317
  • 3
  • 63
  • 79

1 Answers1

0

I believe you need to write a custom SOA (Service Oriented Architecture) API to to fulfill this particular need.

You to have the BMIDE (Business Modeler IDE). In it you need to create a new BMIDE template and setup the project appropriately. Go to Advanced mode -> Extensions tab-> **Code -> Libraries -> create new SOA library (names may be inaccurate).

Now add custom service. Write ITK (Integrated Toolkit) code to fetch the information you need.

Then install this template to Teamcenter through TEM (Teamcenter Environment Manager).

Now you can call this API through your Client whether it is RAC (Remote Access Client) or any UI Client.

Let me know if something is not clear.

Alternatively, you can look for methods that exist for all the ModelObjects. You should look for a Relation Property and fetch the target from it using the API whose return type should be ModelObject/array of ModelObject (I don't know what exactly to look for).

TCguy
  • 1
  • 2