User Level
Business Administrator
User LevelBusiness Administrator SyntaxAdd InterfaceAdd Interface An object interface is created with the Add Interface command:
All these clauses are optional. You can define an interface by simply assigning a name to it. If you do, 3DSpace assumes that the interface is non-abstract, does not contain any explicit attributes, and does not inherit from any other interfaces. If you do not want these default values, add clauses as necessary. Abstract ClauseInterfaces can inherit properties from other interfaces. Such as the following:
Use one the following clauses:
Abstract interfaces are helpful because you do not have to reenter attributes that are often reused. If an additional field is required, it needs to be added only once. For example, the “Person Record” object interface might include a person’s name, telephone number, home address, and social security number. While it is a commonly used set of attributes, it is unlikely that this information would appear on its own. Therefore, you might want to define this object interface as an abstract interface. If you want a user to be able to add the defined interface to a business object,
set the abstract argument to For example, in the following definition, you cannot add the interface to a business object:
Attribute ClauseThis clause assigns attributes to the interface. These attributes must be previously defined with the Add Attribute command. (For more information, see Add Attribute Command.) If they are not defined, an error message is displayed. Adding an attribute to an interface should not be included in a transaction with other extensive operations, especially against a distributed database. This is a “special” administrative edit, in that it needs to update all business objects that use the interface with a default attribute. An interface can have any combination of attributes associated with it. For example, the following Add Interface command assigns 2 attributes to the Metal interface:
Derived ClauseUse the Derived clause to identify 1 or more existing interfaces as the parent(s) of the interface you are creating. The parent interface(s) can be abstract or non-abstract. A child interface inherits the following items from the parent(s):
Assigning a parent interface is an efficient way to define several object interfaces that are similar because you only have to define the common items for one interface, the parent, instead of defining them for each interface. The child interface inherits all the items listed above from the parent but you can also add attributes directly to the child interface. Similarly, you can (and probably will) add attributes to the child interface that the parent does not have. Any changes you make for the parent are also applied to the child interface. Because an interface can inherit from multiple interfaces, derived interfaces do NOT inherit their parent’s resetonclone/resetonrevise property as conflicts could happen. The resetonclone/resetonrevise property must be applied on each interface that requires it. For example, suppose you have an interface named “Manufacturing Process”, which includes 2 attributes: “Process” and “Vendor”. Now you create two new interfaces named “Rolled” and “Molded:”
Both new interfaces acquire the attributes in the Manufacturing Process interface. Rather than adding each of these attributes to the new interfaces, you can make Manufacturing Process the parent of the new interfaces. The new interfaces then inherit the 2 attributes as well as the allowed Types from the parent. Interfaces can have more than 1 parent. Type ClauseThis clause defines all of the business object types that can use the interface. An interface can be allowed for use with any number of types, and likewise, a type can be allowed to use any number of interfaces. The Type clause is required for an interface to be usable:
You can list one type or many types (separated by a comma or carriage return). When specifying the name of an object type, it must be of a type that already exists in the database. If it is not, an error message will display. For example, the following command is a valid Add interface command:
Relationship ClauseThis clause defines the relationships that can use the interface. An interface can be allowed for use with any number of relationships, and likewise, a relationship can be allowed to use any number of interfaces. Specify at least a type or a Relationship for an interface to be usable:
You can list one or many relationships (separated by a comma or carriage return). The relationships you specify must already exist in the database. If it is not, an error message will display. For example, the following command is a valid Add interface command:
Rule ClauseThe rule clause allows you to add a rule to the interface for a business object. When evaluating access to a business object, an interface rule on the business object is treated as if it were a rule on the business object’s policy state (or allstate). Rules on interfaces can only be used with business objects. You can only add a single rule to an interface in addition to any inherited rules. A derived interface inherits any rules defined on the parent interface. Although you can only include a single rule in an interface, you can add multiple interfaces to a business object, each with its own rule. A trace statement can show whether an interface rule evaluated to true or false for the business object. For this type of trace, you can use this syntax: trace type access on; The calculation of primary and secondary ownership vectors for a business object includes any rules added to any interfaces for that business object for the policy state. Adding or removing an interface to a business object triggers a recalculation of the ownership vectors. When the system adds or removes rules from an interface, or when an interface is
removed from business objects that have multiple interfaces, you need to run the
For more information about rules, see rule Command. ResetOnClone and ResetOnRevision ClausesThese clauses define if the interface and the attributes defined by that interface are set for the new business object when an existing business object is cloned or revised.
Precede the clause with Copy InterfaceAfter an interface is defined, you can clone the definition with the Copy Interface command. This command lets you duplicate defining clauses with the option to change the value of clause arguments.
Modify InterfaceYou can change the interface definition with the Modify Interface command. This command lets you add or remove defining clauses and change the value of clause arguments.
You can make the following modifications. Each is specified in a Modify Interface clause, as listed in the following table. You only need to specify fields to be modified.
Each modification clause is related to the arguments that define the interface. Adding and removing attributes to an interface have the same effect as adding and removing them from a part. If many objects use the interface, many database rows are affected by the change, and so the transaction has the potential to be very time-consuming. Delete InterfaceIf an interface is no longer required, you can delete it with the Delete Interface command.
Searches the list of interfaces. If the name is not found, an error message is displayed. If the name is found and the interface does not derive another interface, and there are no business objects that use the interface, the interface is deleted. If it is a parent interface, you must first delete the interfaces that are derived from it. For example, to delete the interface named “Metal,” enter the following MQL command:
Deletes the interface if:
Add/Remove Interface ClauseYou can add or remove the collection of interface attributes to a business object with the add interface or remove interface clause of the modify business object command.
For example: mod bus Item 1000 A add interface Aluminum add interface Milled; mod bus Item 2000 A add interface Iron add interface Rolled mod bus Item 3000 A add interface Iron remove interface Rolled; Remember to include the keyword add or remove before you specify each interface name. When modifying a business object’s type, if the new type allows the interfaces, the interfaces will be preserved. If not, the interfaces will be removed. |