Mapping examples

Example 1

This example shows how a table is mapped to an object definition and how (value) properties are mapped to ARIS attributes. Additionally, it is possible to create an overview model and place an occurrence of each object from this table into the model. A Reference or ReferenceArray property can be mapped to a connection, an assignment, or to a connection plus an assignment. Value properties can be mapped to a connection, an assignment, or to both at the same time. Value properties can be assigned to a created connection instead of being assigned to the object itself.

<table name="APPLICATIONGROUP" arisgroupname="Application groups" aristype="OT_APPL_SYS_CLS" isgroup="true" overview-model="MT_APPL_SYS_TYPE_DGM,ST_APPL_SYS_CLS">

<attr alfabet="name" aris="AT_NAME" />

<attr alfabet="description" aris="AT_DESC" />

<attr alfabet="a_size" aris="" /> <!-- not mapped-->

...

<cxn property="belongsto" cxntype="CT_CAN_SUBS_2" srctotarget="false" />

<!-- overview-model="ST_APPL_SYS_CLS" means: show in overview model with its CXN and the given symbol -->

<!-- an attr element within a cxn element maps an attribute from the Alfabet table to the cxn -->

<cxn property="belongsto" cxntype="CT_CAN_SUBS_2" srctotarget="false" connected-objtype="OT_APPL_SYS_CLS" overview-model="ST_APPL_SYS_CLS" ordernum="1" >

<attr alfabet="refstr" aris="AT_EXTERNAL_ID" />

</cxn>

<cxn property="applications" cxntype="CT_BELONGS_TO_CLS" srctotarget="true" >

<!-- "each" would mean 1 assignment per child, all=assign them all to the parent in one model -->

<!-- add-parent: assignment contains occ of the parent. This needs: parent-symbol="ST_APPL_SYS_CLS" -->

<assign type="all" model="MT_APPL_SYS_TYPE_DGM" add-parent="true" parent-symbol="ST_APPL_SYS_CLS" child-symbol="ST_APPL_SYS_TYPE" />

</cxn>

<cxn property="processes" /> <!-- not mapped-->

</table>

Example 2

This example shows the mapping to an object to with a model is assigned. Additionally, an object occurrence is created in the target model.

<table name="BUSINESSPROCESS" arisgroupname="Business processes" aristype="OT_FUNC" isgroup="true" overview-model="MT_VAL_ADD_CHN_DGM,ST_VAL_ADD_CHN_SML_2" check-master="ARIS_GUID" >

<!-- "each" would mean 1 assignment per child, all=assign them all to the parent in one model -->

<!-- add-parent: assignment contains occ of the parent. This needs: parent-symbol="ST_APPL_SYS_CLS" -->

<assign type="each" model="MT_FUNC_ALLOC_DGM" add-parent="true" parent-symbol="ST_VAL_ADD_CHN_SML_2" child-symbol="ST_FUNC" />

<attr alfabet="name" aris="AT_NAME" />

<attr alfabet="shortname" aris="AT_REM" />

...

<cxn property="belongsto" srctotarget="false" cxntype="CT_IS_PRCS_ORNT_SUPER" overview-model="ST_VAL_ADD_CHN_SML_2" /> <!-- BusinessProcess–>

<createocc property="model" symbol="ST_VAL_ADD_CHN_SML_2" forceexist="false" /> <!-- creates occ in the model if the model exists -->

<cxn property="executingorganizations" srctotarget="false" cxntype="CT_EXEC_1" forceexist="true" assigned-model="ST_ORG_UNIT_2" />

<cxn property="applications" srctotarget="false" cxntype="CT_CAN_SUPP_1" forceexist="true" assigned-model="ST_APPL_SYS_TYPE"/>

...

</table>

Example 3

In the following example, the foreignattr property, which is a list of attr properties, is accepted. This list defines the attributes to be imported. The example shows the usage of foreign attributes and attribute conditions. Foreign attributes are read from the additional Alfabet table.

<table name="APPLICATION" arisgroupname="Application" aristype="OT_APPL_SYS_TYPE" isgroup="false" overview-model="MT_APPL_SYS_TYPE_DGM,ST_APPL_SYS_TYPE">

<foreignattr table="TIMESTATUS" property="Owner"> <!-- Select * from TIMESTATUS where Owner = '<our AlfabetID>'. Will be written after processing "normal" attr-Elements, so will probably overwrite them -->

<attr alfabet="StartDate" condition="Status" value="Evaluation" aris="AT_EVALUATION_START" />

<attr alfabet="EndDate" condition="Status" value="Evaluation" aris="AT_EVALUATION_END" />

<attr alfabet="StartDate" condition="Status" value="Pilot" aris="AT_TO_BE_PHASED_IN_START" />

<attr alfabet="EndDate" condition="Status" value="Pilot" aris="AT_TO_BE_PHASED_IN_END" />

<attr alfabet="StartDate" condition="Status" value="Production" aris="AT_STANDARD_START" />

<attr alfabet="EndDate" condition="Status" value="Production" aris="AT_STANDARD_END" />

<attr alfabet="StartDate" condition="Status" value="Limited Production" aris="" /> <!-- tbd -->

<attr alfabet="EndDate" condition="Status" value="Limited Production" aris="" />

<attr alfabet="StartDate" condition="Status" value="Retired - Shut Down" aris="AT_TO_BE_PHASED_OUT_START" />

<attr alfabet="EndDate" condition="Status" value="Retired - Shut Down" aris="AT_TO_BE_PHASED_OUT_END" />

</foreignattr>

<attr alfabet="Name" aris="AT_NAME" />

<attr alfabet="ObjectState" aris="AT_REM" />

<attr alfabet="Description" aris="AT_DESC" />

...

<cxn property="NextVersion" cxntype="CT_IS_PRED_OF" srctotarget="true" forceexist="true" connected-objtype="OT_APPL_SYS_TYPE" overview-model="ST_APPL_SYS_TYPE"/>

<cxn property="ApplicationGroups" cxntype="CT_BELONGS_TO_CLS" srctotarget="true" forceexist="true" connected-objtype="OT_APPL_SYS_CLS" />

<cxn property="ICTObject" cxntype="CT_GENERAL" srctotarget="false" forceexist="true" connected-objtype="OT_APPL_SYS_TYPE" overview-model="ST_APPL_SYS_TYPE"/>

<cxn property="Products" />

...

</table>