T4S4  18.1 C7177 A20283
Teamcenter Gateway for SAP S/4HANA API Reference
NR ITK functions

All ITK functions of group NR supported by T4x. More...

Functions

 NR_ask_rule_and_case type_name property_name
 This function calls the ITK pipe server function ITK_NR_ask_rule_and_case to get the Naming rule for a given object type and property. More...
 
 NR_next_value2 typeName propertyName itemTag dsId preferredTypeName defaultTypeName parentTag ruleSuffix baseRevId
 This function calls the ITK pipe server function ITK_NR_next_value2 to get the next Id for a given parameter set. Gets the next id generated for a particular pattern in the Naming Rule. This ITK is a generalized ITK for generating next id in case of :

  1. next item id
  2. next revision id
  3. next revision id generated from the pattern in the alt rule
  4. next alt id generated from the pattern in rule
  5. next dataset id
  6. next dataset revision id
  7. For any String attribute on a type.
More...
 
 NR_pattern_next_value typeName propertyName itemTag dsId preferredTypeName defaultTypeName parentTag ruleSuffix baseRevId pattern
 This function calls the ITK pipe server function ITK_NR_pattern_next_value to get the next Id for a given parameter set. Gets the next id generated for a particular input pattern in the Naming Rule This ITK is a generalized ITK for generating next id in case of :

  1. next item id
  2. next revision id
  3. next revision id generated from the pattern in the alt rule
  4. next alt id generated from the pattern in rule
  5. next dataset id
  6. next dataset revision id
  7. For any String attribute on a type.
More...
 
 NR_rule_desc_with_counters2 rule_tag
 This function calls the ITK pipe server function ITK_NR_rule_desc_with_counters2 to get the rule description of a given rule tag. More...
 

Detailed Description

All ITK functions of group NR supported by T4x.

This group specifies all ITK functions of group NR for which wrappers have been defined in T4x

Function Documentation

◆ NR_ask_rule_and_case()

ITK::NR_ask_rule_and_case   type_name property_name  

This function calls the ITK pipe server function ITK_NR_ask_rule_and_case to get the Naming rule for a given object type and property.

Parameters
type_nameThe IMANTYPE that the rule applies to
property_nameThe property field in this IMANTYPE that the rule applies to
Returns
list of ITK_ok (=0), rule_tag (Tag of NameRules object containing the rule patterns) and field_case (NR_CASE_MIXED, NR_CASE_LOWER, NR_CASE_UPPER) or list of ITK status and error message

Sample code sequence

1 set ItkStatus [::ITK::NR_ask_rule_and_case $TypeName $PropertyName]
2 puts "ItkStatus $ItkStatus"
3 if {[::ITK::isITK_ok $ItkStatus]} {
4  set RuleTag [lindex $ItkStatus 1]
5  if {[string length $RuleTag] == 0} {
6  puts "XXXX"
7  puts "XXXX No naming rule defined for $TypeName $PropertyName"
8  puts "XXXX"
9  } else {
10  puts "XXXX"
11  puts "XXXX Naming rule defined for $TypeName $PropertyName $RuleTag"
12  puts "XXXX"
13  }
14 } else {
15  # any error
16  set ErrorNumber [::ITK::getITKStatusNumber $ItkStatusCode]
17  set ErrorMesssage [::ITK::getErrorMessage4Status $ItkStatusCode]
18  puts "XXXX"
19  puts "XXXX Call to ITK function 'NR_ask_rule_and_case' failed! Error code: $ErrorNumber - $ErrorMesssage"
20  puts "XXXX"
21 }

◆ NR_next_value2()

ITK::NR_next_value2   typeName propertyName itemTag dsId preferredTypeName defaultTypeName parentTag ruleSuffix baseRevId  

This function calls the ITK pipe server function ITK_NR_next_value2 to get the next Id for a given parameter set. Gets the next id generated for a particular pattern in the Naming Rule. This ITK is a generalized ITK for generating next id in case of :

  1. next item id
  2. next revision id
  3. next revision id generated from the pattern in the alt rule
  4. next alt id generated from the pattern in rule
  5. next dataset id
  6. next dataset revision id
  7. For any String attribute on a type.

Parameters
typeNameTeamcenter Engineering type name, i.e. "Item"
propertyNameProperty name, i.e. "item_id", "item_revision_id", "object_name"
itemTagThe tag of the parent item
dsIdDataser Id
preferredTypeNamePrefrerred type Name
defaultTypeNameDefault type Name
parentTagUsed in case of next alt id
ruleSuffixUsed in case of next revision id generated from the pattern in the alt rule
baseRevIdUsed in case of next revision id generated from the pattern in the alt rule
Returns
List of ITK_ok (=0), NextId and isNRWithoutAutogen (true or false) or list of ITK status and error message

Sample code sequence

1 set ItkStatus [::ITK::NR_next_value2 $TypeName $PropertyName NULLTAG "" "" "" NULLTAG "" ""]
2 puts "ItkStatus $ItkStatus"
3 if {[::ITK::isITK_ok $ItkStatus]} {
4  puts "XXXX"
5  puts "XXXX Call to ITK function 'NR_next_value2' returns: NewValue=[lindex $ItkStatus 1] isNRWithoutAutogen=[lindex $ItkStatus 2]"
6  puts "XXXX"
7 } else {
8  # any error
9  set ErrorNumber [::ITK::getITKStatusNumber $ItkStatusCode]
10  set ErrorMesssage [::ITK::getErrorMessage4Status $ItkStatusCode]
11  puts "XXXX"
12  puts "XXXX Call to ITK function 'NR_next_value2' failed! Error code: $ErrorNumber - $ErrorMesssage"
13  puts "XXXX"
14 }
Remarks
The NR_next_value2 function only returns a valid next Id, if the specified property and object type combination is assigned to a NamingRule (like ProblemReport and item_id or ChangeNotice and item_id). If no NamingRule is attached (like for OOTB Item and item_id) NR_next_value2 will return an empty next id value (0 {} false).

◆ NR_pattern_next_value()

ITK::NR_pattern_next_value   typeName propertyName itemTag dsId preferredTypeName defaultTypeName parentTag ruleSuffix baseRevId pattern  

This function calls the ITK pipe server function ITK_NR_pattern_next_value to get the next Id for a given parameter set. Gets the next id generated for a particular input pattern in the Naming Rule This ITK is a generalized ITK for generating next id in case of :

  1. next item id
  2. next revision id
  3. next revision id generated from the pattern in the alt rule
  4. next alt id generated from the pattern in rule
  5. next dataset id
  6. next dataset revision id
  7. For any String attribute on a type.

If pattern doesnot exist then next id will be NULL

Parameters
typeNameTeamcenter Engineering type name, i.e. "Item"
propertyNameProperty name, i.e. "item_id", "item_revision_id", "object_name"
itemTagThe tag of the parent item
dsIdDataser Id
preferredTypeNamePrefrerred type Name
defaultTypeNameDefault type Name
parentTagUsed in case of next alt id
ruleSuffixUsed in case of next revision id generated from the pattern in the alt rule
baseRevIdUsed in case of next revision id generated from the pattern in the alt rule
patternThe input pattern for which the next id to be generated
Returns
List of ITK_ok (=0) and NextId or list of ITK status and error message

Sample code sequence

1 set ItkStatus [::ITK::NR_ask_rule_and_case $TypeName $PropertyName]
2 puts "ItkStatus $ItkStatus"
3 if {[::ITK::isITK_ok $ItkStatus]} {
4  set RuleTag [lindex $ItkStatus 1]
5  if {[string length $RuleTag] == 0} {
6  puts "XXXX"
7  puts "XXXX No naming rule defined for $TypeName $PropertyName"
8  puts "XXXX"
9  } else {
10  set ItkStatus [::ITK::NR_rule_desc_with_counters2 $RuleTag]
11  puts "ItkStatus $ItkStatus"
12  if {[::ITK::isITK_ok $ItkStatus]} {
13  set RuleDescDict [lindex $ItkStatus 1]
14  set n_patterns [dict get $RuleDescDict n_patterns]
15  if {$n_patterns > 1} {
16  puts "XXXX Try to get next Id for 1st pattern: $Pattern"
17  set ItkStatus [::ITK::NR_pattern_next_value $TypeName $PropertyName NULLTAG "" "" "" NULLTAG "" "" $Pattern]
18  if {[::ITK::isITK_ok $ItkStatus]} {
19  puts "XXXX"
20  puts "XXXX Call to ITK function 'NR_pattern_next_value' returns: [lindex $ItkStatus 1]"
21  puts "XXXX"
22  } else {
23  # any error
24  set ErrorNumber [::ITK::getITKStatusNumber $ItkStatus]
25  set ErrorMesssage [::ITK::getErrorMessage4Status $ItkStatus]
26  puts "XXXX"
27  puts "XXXX Call to ITK function 'NR_pattern_next_value' failed! Error code: $ErrorNumber - $ErrorMesssage"
28  puts "XXXX"
29  }
30  }
31  } else {
32  # any error
33  set ErrorNumber [::ITK::getITKStatusNumber $ItkStatusCode]
34  set ErrorMesssage [::ITK::getErrorMessage4Status $ItkStatusCode]
35  puts "XXXX"
36  puts "XXXX Call to ITK function 'NR_rule_desc_with_counters2' failed! Error code: $ErrorNumber - $ErrorMesssage"
37  puts "XXXX"
38  }
39  }
40 } else {
41  # any error
42  set ErrorNumber [::ITK::getITKStatusNumber $ItkStatusCode]
43  set ErrorMesssage [::ITK::getErrorMessage4Status $ItkStatusCode]
44  puts "XXXX"
45  puts "XXXX Call to ITK function 'NR_ask_rule_and_case' failed! Error code: $ErrorNumber - $ErrorMesssage"
46  puts "XXXX"
47 }

◆ NR_rule_desc_with_counters2()

ITK::NR_rule_desc_with_counters2   rule_tag  

This function calls the ITK pipe server function ITK_NR_rule_desc_with_counters2 to get the rule description of a given rule tag.

Parameters
rule_tagTag of NameRules object
Returns
list of ITK_ok (=0) and RuleDescriptorDict or list of ITK status and error message RuleDescriptorDict dict structure with the followingelements:
  • rule_name name of the rule (e.g. Default Requirement ID Rule)
  • n_patterns number of patterns
  • patterns:1 .. n {"REQ-"nnnnnn}
  • patterns_details:1 .. n sub dict that has the following elements autogen n_counters number of counters (1 .. n) counter_tags:1 .. n

Sample code sequence

1 set ItkStatus [::ITK::NR_ask_rule_and_case $TypeName $PropertyName]
2 puts "ItkStatus $ItkStatus"
3 if {[::ITK::isITK_ok $ItkStatus]} {
4  set RuleTag [lindex $ItkStatus 1]
5  if {[string length $RuleTag] == 0} {
6  puts "XXXX"
7  puts "XXXX No naming rule defined for $TypeName $PropertyName"
8  puts "XXXX"
9  } else {
10  set ItkStatus [::ITK::NR_rule_desc_with_counters2 $RuleTag]
11  puts "ItkStatus $ItkStatus"
12  if {[::ITK::isITK_ok $ItkStatus]} {
13  set RuleDescDict [lindex $ItkStatus 1]
14  set n_patterns [dict get $RuleDescDict n_patterns]
15  if {$n_patterns > 1} {
16  for {set Index 0} {$Index < $n_patterns} {incr $Index} {
17  set Pattern [dict get $RuleDescDict patterns:$Index]
18  set PatternInfo [dict get $RuleDescDict patterns_details:$Index]
19  puts "->Pattern($Index) $Pattern"
20  puts "->PatternInfo($Index) $PatternInfo"
21  }
22  }
23  } else {
24  # any error
25  set ErrorNumber [::ITK::getITKStatusNumber $ItkStatusCode]
26  set ErrorMesssage [::ITK::getErrorMessage4Status $ItkStatusCode]
27  puts "XXXX"
28  puts "XXXX Call to ITK function 'NR_rule_desc_with_counters2' failed! Error code: $ErrorNumber - $ErrorMesssage"
29  puts "XXXX"
30  }
31  }
32 } else {
33  # any error
34  set ErrorNumber [::ITK::getITKStatusNumber $ItkStatusCode]
35  set ErrorMesssage [::ITK::getErrorMessage4Status $ItkStatusCode]
36  puts "XXXX"
37  puts "XXXX Call to ITK function 'NR_ask_rule_and_case' failed! Error code: $ErrorNumber - $ErrorMesssage"
38  puts "XXXX"
39 }