Technology

Teamcenter Customization: Bridging Design and Supply Chain

Bridging Design and Supply Chain

For a variety of reasons, Teamcenter is distinguished in the competitive PLM market. This platform provides unmatched flexibility for businesses to customize PLM processes. Companies in dynamic industries with rapidly changing requirements need this adaptability. Teamcenter also integrates well with ERP (enterprise resource planning) and CRM (customer relationship management) systems. Interoperability streamlines data flow between departments, improving efficiency and decision-making.

The user-friendly interface of Teamcenter is another benefit. Effective use of a complex system by those who need it makes it valuable. Teamcenter interface is intuitive and easy to use to reduce the learning curve and boost productivity. There are scenarios where a supplier shares specifications about a part, but the supplier could share the specification in XML format.

Below is the sample image of My Teamcenter page

My Teamcenter page

Credits: Siemens Community

 

Challenges: when integrating external files in Teamcenter

The article places emphasis on the customization of Teamcenter to accommodate external files and data.

When a product is in the release process and suppliers are required to provide information, Teamcenter can be easily customized to enable design engineers and shop floor engineers to seamlessly view the data provided by the supplier.

For instance, within the design release workflow, highlighting a specific aspect of the workflow that the article addresses.

  1. A workflow is initiated to evaluate and complete the design. Upon the workflow’s completion, the design will have undergone multiple revisions and approvals to ensure its readiness for production.
  2. Within the workflow, suppliers are tasked with reviewing the design, providing specifications for the supplied part, and finalizing the task.
  3. Upon the workflow’s return to the engineer from the supplier company, the engineer examines the specifications provided by the supplier and assesses their compatibility with the current requirements. Upon approval of the specifications, the workflow advances to the subsequent task.
  4. The stakeholders review the specifications and other relevant factors before approving the supplier’s component to advance in the approval process.

 

Sample workflow process,

Sample workflow process

Image Credits: https://www.axiomtech.cz/wcd/zpravodaj/zpravodaj2014.pdf

More about the specifications from the supplier:

More about the specifications from the supplier

The supplier specification would contain details like

  1. Name of the part
  2. Measurements of the part
  3. Material
  4. Quantity
  5. Availability date
  6. Limitations

Now, consider a scenario where the supplier has a different system from which the specifications can be exported in an XML format. When addressing the workflow task, the supplier would attach the exported XML as an attachment to the target object. Teamcenter can be customized to parse this XML provided by the supplier and can be shown in MyTeamcenter in a readable format.

Customization: File Views in Rich Client Applications

The Rich client application has numerous endpoints that can be configured to specify how a specific type of file in a specific relation can be viewed.

ISessionService service = (ISessionService) CustomUtil.getService(

Activator.plugin, ISessionService.class.getName() );

When the current session is accessed, then the customer components can be plugged into the session for the specific plugin

/**

* Returns an XML descriptor for the xml file at the given

* plug-in relative path

*

* @param path the path

* @return the image descriptor

*/

public static customXMLDescriptor getXMLDescriptor(String path) {

return customXMLDescriptor(PLUGIN_ID, path);

}

Within the XMLDescriptor file, the Rich client application session’s display can be accessed through the Display instance and the Shell. My Teamcenter employs a JPanel upon which the custom form layer should be implemented.

Display display = Display.getDefault();

Shell shell = new Shell(display);

. . .

public class customXMLDescriptor extends JPanel

This plugs the custom code into the generic implementation of the file view in Teamcenter.

Now, to complete the customization, customXMLDescriptor should be implemented along with the customXMLParser.

The custom XML panel can be designed to have multiple tabs to support various attributes of the part being supplied. To create multiple tabs, separate JPanel instances can be created to handle each panel and contents.

The below sample shows how to incorporate combo box and text area in the JPanel UI of the customXMLDescriptor.

public class MechanicalTabPanel extends JPanel {

public void constructUI(TCForm form) {

mechanicalStockProp = form.getFormTCProperty(“mechanicalStockProp_property”);

TCComponentListOfValues mechanicalStockPropLOV = mechanicalStockProp.getLOV();

mechanicalStockComboBox = new LOVComboBox(dispositionsStockLOV);

mechanicalStockComboBox.setTextFieldLength(18);

mechanicalStockComboBox.setMaximumRowCount(10);

mechanicalStockComboBox.setEnabled(false);

mechanicalNotesProp = form.getFormTCProperty(“mechanicalNotes_property”);

mechanicalNotesTextArea = new iTextArea(9, 48);

mechanicalNotesTextScroll = new JScrollPane(mechanicalNotesTextArea);

mechanicalNotesTextArea.setEnabled(false);

TCPropertyDescriptor mechanicalNotesTextAreaDescProp = mechanicalNotesProp.getPropertyDescriptor();

mechanicalNotesTextArea.setLengthLimit(mechanicalNotesTextAreaDescProp.getMaxStringLength());

mechanicalNotesTextArea.setText(dispositionsNotesProp.getStringValue());

}

}

Similarly, many other UI components are available out of the box in Teamcenter that can either be used directly or customized to perform more specific functions. This constitutes the view of the supplier data.

Customization: XML Parser

The customXMLDescriptor uses a customXMLParser to parse through the XML file provided by the supplier. The skeleton of the customXMLParser looks like below

public class customXMLParser{

public void readXMLFile(TCSession tcSession) {

/**Implements logic to read the XML file attached to the targetObject**/

}

 

public parsedXMLData parseXML(XMLFile xmlFile) {

/**Implements logic to parse the xml nodes and retrieve data**/

}

}

TCPreferences are usually used to specify the path/relation from which the XML file can be accessed on the target object.

tcPreferenceService = tcSession.getPreferenceService();

xmlFilePath = tcPreferenceService.getString(tcPreferenceService.TC_preference_all,”Supplier_Specs_File_Path”);

File xmlFile = new File(xmlFilePath);

Once the XML file is retrieved, DocumentBuilderFactory can be used to convert the XML file into the dom parsable org.w3c.dom.Document

DocumentBuilderFactory xmlDocumentBuilderFactory =      DocumentBuilderFactory.newInstance();

DocumentBuilder xmlDocBuilder = xmlDocumentBuilderFactory.newDocumentBuilder();

Document xmlDoc = xmlDocBuilder.parse(xmlFile);

Examining the XML file as an example of parsing

  • The business rules should be iterated through.
  • Perform iterations through the attributes.
  • The XML file should be used to store all of the necessary specifications and properties that will be used in the UI component that was implemented earlier. This should be done during the iteration process.
//Read the Business Rules

NodeList businessRulesList = xmlDoc.getElementsByTagName(“BusinessRules”);

//Iterate through the Business Rules

for (int iter1 = 0; iter1 < businessRulesList.getLength(); iter1++) {

Node elemNode = businessRulesList.item(iter1);

 

/** Read and store any details that are needed from the business rules **/

if (elemNode.getNodeType() == Node.ELEMENT_NODE) {

Element ruleElement = (Element) ruleNode;

. . .

//Iterate through attributes

NodeList listOfAttr = ruleElement.getElementsByTagName(“Attribute”);

for (int iter2 = 0; iter2 < totalAttrs; iter2++) {

/** Read through the Attribute list and store the needed values**/

. . .

When the engineer selects the XML file that was provided by the supplier in the MyTeamcenter/Workflow view page, the new JPanel should appear for the engineer’s view. This should occur once all of the implementation activities have been completed, changes have been deployed, and the application has been put into production.

Conclusive result

An example of a form view is provided below, which includes tabs that have been implemented for each category and a TcTable that lists the values.

A TcTable that lists the values.

 

The standard installation of Teamcenter is a robust application that assists industries in the management of their product data throughout its lifespan. Teamcenter’s adaptability to the user interface preferences and work processes of each organization is a significant component of its effectiveness. The capacity to integrate data from other applications is another potent Teamcenter tool. Teamcenter can be tailored to accommodate the company’s product life cycle management requirements and the working preferences of its users.

Teamcenter can be customized for just about anything in Teamcenter, including:

  • User interface appearance
    The appearance of both the rich client and thin client can be customized
  • Teamcenter behavior
    Teamcenter behavior can be modified by integrating external applications using the Integration Toolkit (ITK) or Teamcenter Services.
  • Data model
    Data model that defines the objects and rules used in Teamcenter can be customized and configured.

As Teamcenter progresses and incorporates emerging technologies, it will facilitate the extension and customization of the platform, rendering the customization process integral to implementation for customers with specific requirements.

 

References: 

[1] support.idustrysoftware.automation.siemens.com, “Workflow task template: Configuring background processing of processes and tasks”, Teamcenter 11

[2] support.idustrysoftware.automation.siemens.com, “Client Customization Programmer’s Guide:Rich client customization: Customizing forms and properties display.”, Teamcenter 11

[3] support.idustrysoftware.automation.siemens.com, “ Client Customization Programmer’s Guide:Rich client customization: Siemens PLM Software customization support”, Teamcenter 11

Comments
To Top

Pin It on Pinterest

Share This