Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > Transformation Development Kit (TDK) > Customizing an ACS Code Generator DLL > Working with SDL script > Working with item properties in SDL script (TDK)
  
Working with item properties in SDL script (TDK)
You can use the %custom keyword to return the text of a current item's standard property or extended property. You can use the %lcustom keyword to return the value of a property as all lowercase text, or the %ucustom keyword to return the value of a property as all uppercase text.
The current item is derived as follows:
ACS calls the top-level Generate.sdl generation template for each item (Model, Package or Class) that is selected either directly or indirectly for generation. On entering the Generate.sdl generation template, the selected Model, Package or Class is the current item.
The current item remains as the selected Model, Package or Class until a For loop iterates a collection of linked items or items in a list. During a For loop, the current item is the item that is currently being iterated.
After leaving a For loop, the current item reverts to the item that was current before entering the For loop.
ACS may mangle the name of an item to make it valid for code language you are generating. If you want the %custom keyword to return the mangled name of an item, you can use the following properties:
For AdaAda Name or Unscoped Ada Name.
For CC Name or Unscoped C Name
For C++C++ Name or Unscoped C++ Name
For C#C# Name or Unscoped C# Name
For IDL — IDL Name or Unscoped IDL Name
For JavaJava Name for the unscoped Java name.
For SQLSQL Name or Unscoped SQL Name
For VBVB Name or Unscoped VB Name
For more information about name mangling.
Syntax
%custom "<property name>"
where:
<property name> is the automation interface name of the item's property, or the name of an extended property.
For more information about automation interface names for item properties, and then click the required item type. Note that a property is called an attribute in the automation interface Help.
* 
The following examples are provided:
Getting a property
Getting the mangled name of a property
Getting a property
In this example, the %custom keyword returns the description of the current item.
%custom "description"
Getting the mangled name of a property
In this example, the scoped mangled name of an item for C is returned.
%custom "C Name"
In this example, the unscoped mangled name of an item for C is returned.
%custom "Unscoped C Name"