Basic ITK Customization Part-01
Need of “Teamcenter Unified Application Customization”
We can customize Teamcenter so that it would meet your company’s requirements as per PLM Process needs and Designer working preferences.
What can be customized Siemens Teamcenter Unified Application?
1.User Interface Display
We can customize the display of both the rich client Interface,thin client and Active Workspace Interface.
- We can change or customize Teamcenter behavior by integrating third-party external applications using Integrating Toolkit ( ITK) and Teamcenter Service-oriented architecture (SOA).
- We can customize Teamcenter behavior with ITK toolkit by build Extensions, Operations, Runtime properties and Workflow Handlers.
3.Teamcenter Data Model:
We can create your own data model that defines business objects, Rules and LOV used in Siemens Teamcenter.
We can customize how data from database display in User Interface and it’s format by using ‘XML Stylesheet Rendering’.
List of Approach and Methods used in Teamcenter Customization
Its allows you to customize the server using business object, Properties, Operations, extensions,and user exit.
2. Teamcenter Services(SOA).
Teamcenter services allow different applications to communicate with each other using services.
- The ITK Program is part of server-side customization. We can use it to interact with the third-party tools or user-developed applications with Teamcenter.
- Integration Toolkit is a set of C and CPP programming language used directly by Siemens Teamcenter and NX.
- Teamcenter return value of ITK function is typically called ‘ifail’,if it is successful then return is Zero and if it is not successful then returns is non-zero with error code.
- ITK API’s ( application programming interface) is the set of definitions and protocols for building and integrating application Software.
ITK function Signature
- All ITK functions name has a Standard format (Signature) that attempts to give the most possible information in a small space.
- All Information is the ITK reference function guide. (Siemens does create ITK API in Adobe PDF format and its available in HTML format)
ITK API Format
int module_verb_class_modifier ( const type variable-name /* [Input/Output/OutputFormatted] */ );
Mostly all ITK functions return an integer error code. ITK code can be run to the EMH_ask_error_text function.
This is the module designator. The module contains are a group of classes and applications.
Example:- Dataset, DatasetType, Tool, and classes are all handled by the AE(Application Encapsulation) module and Other modules are PSM, POM, FL, and MAIL.
This is the first keyword describing an action to be taken on an object or set of objects. Common Operations are add, ask, copy, create, find, remove and set.
Teamcenter is an object-Oriented System, It is not necessary to have a function for every action in every class.
Classes are available on the POM_Application_Object and Workspace object.
A modifier can be defined to how the action of the verb applies to the class.
Example:- RLM_update_af_status function:- status indicates what is being updated in the af (authorization folder).
Input pointer variables that are not meant to be modified normally are declared with a const to ensure that they are not accidentally modified.
Teamcenter can be mostly used below the data type of the argument.
Example:-char(Character).Int(integer) and tag_t (tag).
This is a variable name that is descriptive enough so a programmer does not need to look it up in the document.
Dimension values can be defined arrays where the calling program is bonded for allocating space.
Basically the argument is Input, Output and Output-Free.
Output-free measure that the ITK function allocates space for the returned data and this space should be freed with the Memory Management function like MEM_free.
Variable Naming Conventions
Variables in the interface are normally as descriptive as possible consisting of keywords separated by underscores.
1. Typedefs end with _t
This keyword is used to redefine the name of an already existing variable.This keyword is useful when we are dealing with long datatypes especially Structure Declarations. It is used to simplify the syntax of a structure.
2. Enums end with _e
It is a data type that contains a fixed set of constants.
3. Constants end with _c
ITK Program can’t be alter for Variable or Values it remains Constant.
- All ITK programs must include tc/tc.h.
- The include files are located in sub-directories of the TC_ROOT/include directory. You must include the sub-directory when calling the include file.
- ITK functions have their prototypes and useful constants and types in a file called classname.h.
Batch ITK Program:
- Batch ITK program is the standalone ITK program that are run on the Teamcenter command line.
These are used to generate reports also perform database maintenance and migration.
Please click below to configuration Visual Studio for ITK program
Basic concepts to write Batch ITK programs.
1. Batch ITK programs have an entry defined as ITK_user_main
If TC auto_login preference in the Teamcenter database is set to true then you do not need to enter a TC username, password or group as long as Operating System user matches with Teamcenter session.
Initialize ITK program for use also logs into POM(Persistent Object Manager).
Batch ITK template for login to TC.
Program1:-ITK Program for Teamcenter Login.
int ITK_user_main(int argc,char*argv)
Ifail = ITK_init module(“Infodba “,”infodba”,”dba “);
printf(“Teamcenter login successfully“);
printf(“error is: %s”,error);
Kindly provide your valuable comment on the below Comment section and We will try to provide the best workaround.