SAP Enterprise Architecture Designer
SAP Enterprise Architecture Designer
2 Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.1 Requirements (RQM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
Linking Requirements with Design Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Assigning Workloads. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
2.2 Users and Groups (RQM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Adding Users and Groups to a Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4 Process Maps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.1 Creating a Multi-Level Process Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.2 Linking Processes to Business Process Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
6 Databases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.1 Migrating a Database to SAP HANA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.2 Reversing Calculation Views for Impact Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.3 SAP HANA 2.0 Deployment Infrastructure (HDI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Contexts (HDI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Entities (HDI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Calculation Views (HDI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Simple Types (HDI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Structured Types (HDI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Constants (HDI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Procedures / Functions (HDI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Generating HDI Files from Your Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
Reverse-Engineering HDI Files to Your Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.4 SAP HANA 2.0 Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Virtual Tables (HANA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Dynamic Tiering / Extended Storage (HANA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Generating your Model to HANA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Reverse-Engineering a HANA Database to Your Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
HANA-Specific Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.5 Oracle 12c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Clusters (Oracle). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
Database Links (Oracle). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Oracle-Specific Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.6 SAP SQL Anywhere 17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Certificates (SQL Anywhere). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Events (SQL Anywhere). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Login Policies (SQL Anywhere). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Mirror Servers (SQL Anywhere). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Spatial Data (SQL Anywhere). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
SQL Anywhere-Specific Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.7 Microsoft SQL Server 2016. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
SAP Enterprise Architecture Designer (SAP EA Designer) lets you capture, analyze, and present your
organization's landscapes, strategies, requirements, processes, data, and other artifacts in a shared environment.
Using industry-standard notations and techniques, organizations can leverage rich metadata and use models and
diagrams to drive understanding and promote shared outcomes in creating innovative systems, information sets,
and processes to support goals and capabilities.
● Browsing diagrams and model objects online (see The Diagram Viewer [page 19]).
● Exporting diagrams as SVG images or printing them (see Sharing Links to and Printing and Exporting
Diagrams [page 27]).
● Generating reports on your diagrams and model objects (see Generating a Report on a Diagram [page 27]).
● Running an impact analysis (see Impact and Lineage Analysis [page 41]).
● Posting comments to diagrams and model objects (see Commenting on Diagrams [page 24]).
SAP EA Designer supports the creation and editing of the following kinds of diagrams:
● Business Process - Business process diagrams help you identify, describe, and decompose business
processes. SAP EA Designer supports both BPMN 2.0 Descriptive (see BPMN 2.0 Descriptive [page 100]),
To visit SAP EA Designer, navigate to the URL indicated to you by your administrator and enter your user name
and password.
The Workspace gives you access to your in-progress diagrams, as well as diagrams sent to you for review or
comment, and your recent and favorite diagrams. To access the Workspace, go to the homepage and click the
Workspace tile.
● My Draft Diagrams - Allows you to create new diagrams (see Creating a Diagram from the Workspace [page
11], and lists diagrams that you are currently editing:
○ Draft - You have begun editing the diagram, and have not submitted your changes for publication.
○ Click a diagram thumbnail to open it for editing or submission (see Editing Diagrams [page 22]).
○ Click the X in the top right corner of a diagram thumbnail to delete your changes and remove it from
your workspace.
○ Click the yellow comment icon at the base of a diagram thumbnail to open the Comments pane and
show open comments associated with it.
○ Submitted - You have submitted your diagram for publication and it is awaiting review. Click a diagram
to open it for viewing. You cannot edit a diagram once it has been submitted.
● Diagrams to Review for Publication - Lists diagrams that have been submitted to you for review before
publication. Click a diagram to open it for review (Reviewing Diagrams for Publication [page 12]).
● Invitations to Comment - Lists draft diagrams to which you have been invited to comment before they are
submitted for publication. Click a diagram to open it for comment (see Commenting on Diagrams [page
24]).
● Recently Viewed Diagrams - Lists diagrams that you have viewed or edited. Click a diagram to open it for
viewing. Click the pin in the top-right corner to pin it to the top of the list as a favorite.
Note
If your administrator has configured SAP EA Designer to send emails, then you will receive notifications when a
diagram arrives in your workspace for comment or review, when comments are posted to your diagrams, and
when your diagrams are approved or rejected for publication.
If you have Submit or higher permission on one or more repository folders, you can create a new diagram from
the workspace.
Context
Note
You can also create diagrams in the repository explorer (see Creating a Diagram [page 15]).
Procedure
1. Click the + tile in the My Draft Diagrams section (or click the menu button and select Create Diagram).
2. In the left pane, navigate to the repository location where you want to create the diagram.
Note
You must have at least Submit permission (see Granting Access Permissions on Repository Items [page
244]) for the location where you want to create the diagram.
3. Enter a name for the diagram, and select the type of diagram to create:
○ Business Process - Business process diagrams help you identify, describe, and decompose business
processes. SAP EA Designer supports both BPMN 2.0 Descriptive (see BPMN 2.0 Descriptive [page
100]), which provides a small subset of objects suitable for business process design and analysis, and
BPMN 2.0 Executable (see BPMN 2.0 Executable [page 114]), which includes all the standard BPMN 2.0
objects, and is aimed at technical modelers and those who are reverse-engineering from SAP BPM or
Eclipse BPMN2 Modeler.
○ Database - Physical data models help you analyze and optimize the structure of your database. You can
reverse-engineer any supported database to create a physical data model. Generation to SAP HANA,
directly to the catalog, or to Web IDE via HDI is also supported. See Databases [page 131].
○ Enterprise Architecture Diagram - Enterprise architecture diagrams help you analyze and document your
organization, its functions and processes, the applications and systems that support them, and the
physical architecture on which they are implemented. See Enterprise Architecture [page 54].
○ Process Map - A process map provides a graphical view of your business architecture, and helps you
identify your business functions and high-level processes, independent of the people and business units
who fulfill them. See Process Maps [page 96].
○ Requirements List - Requirements documents display a hierarchical list of written requirements. See
Requirements [page 49].
4. Click Create to create your diagram and open it in the Diagram Editor. Use the tools in the bottom toolbar to
draw your diagram (see Editing Diagrams [page 22]).
If you have Write permission or higher on a diagram that another user has submitted for publication, then it will
appear in your workspace for review before publication. The changes proposed in the diagram will not be
published until you or another user with Write permission or higher approves it.
Context
Note
If you have Write permission or higher on a diagram, and choose to submit your changes for peer review, the
submitted diagram will appear in your own review section (as well as being sent to other qualified users) and
you can, at any time, review and publish it yourself. For information about permissions, see Granting Access
Permissions on Repository Items [page 244].
Procedure
1. Click the diagram thumbnail in the Diagrams to Review for Publication section to open it for review.
2. If the Comments panel is not already open, open it and review any comments that the modeler and her peers
have posted (see Commenting on Diagrams [page 24]).
3. Review the content of the diagram for accuracy and compliance with your organization's modeling standards:
○ To verify that it conforms with the appropriate modeling rules, click the Verify button at the bottom right
of the window (see Verifying Diagrams [page 29]).
○ To obtain an interactive analysis of the changes made from the published version, select Menu
Compare Versions (see Comparing Diagram Versions [page 27]).
4. If there are problems with the diagram, you can:
○ Add comments to the objects requiring further attention (see Commenting on Diagrams [page 24]).
○ Click Edit and make corrections yourself (see Editing Diagrams [page 22]).
5. Once your review is complete, click the Publish tool and select one of the following options:
The Repository gives you access to all the published models, diagrams, and objects that you have permission to
see via a navigable tree view. To access the repository, go to the homepage and click the Repository tile.
● The top-left panel lets you can navigate in the repository tree structure to browse its content:
○ Click a folder, branch, project, model, or package to descend into it and view its contents. The item is
added to the path, with an X to its right, and its property sheet is displayed in the right-hand panel.
○ Click the X to the right of an item in the path to return to the level above.
● The bottom-left panel lists the documents that are the immediate children of the currently selected folder,
branch, or project, or the packages contained within the model or package:
○ Click a document or package in the bottom-left panel to view its property sheet in the right-hand panel.
● The right-hand panel displays the property sheet of the currently selected item (see Object Properties [page
14]). The following tabs are most commonly used in the repository:
Note
The new diagram will, by default, inherit the permissions of its parent folder.
○ [models] Select Menu Generate Report - to generate a report for the model's diagrams (see
Generating a Report on a Diagram [page 27]).
○ Children - Lists all the documents and folders contained in the folder, branch, or project or the objects
contained within the model or package. The following actions are available for folders, branches, and
projects:
○ Click the menu button and select Create Folder to create a sub-folder.
Note
The new folder will, by default, inherit the permissions of its parent location (see Granting Access
Permissions on Repository Items [page 244]).
○ Click the menu button and select Upload New File to upload a new external file for storage in the
repository (see Uploading and Working with External Files [page 16]).
○ Use the list to rename, move or delete items (Renaming, Moving, and Deleting Repository Items
[page 17]).
○ Permissions - Lists the users and groups with permissions to view and edit the contents of the folder or
the item. Users with Full permission on the object and administrators with the Manage Users and
Permissions right can modify permissions (see Granting Access Permissions on Repository Items
[page 244]).
○ Subscriptions - Lists the users and groups receiving email notifications when the item is updated. Users
with Full permission on the object and administrators with the Manage Users and Permissions
right can modify subscriptions (see Subscribing to Change Notifications [page 17]).
○ Versions - [models, external files] Lists the published versions of the item.
You can review the properties of an object in the Properties panel, which is available in the Repository and
Diagram viewers.
Table 1:
Tool Description
Show/Hide Section - Lists all the sections that can be displayed on the tab, with checkmarks against
those currently visible. Select a section to show or hide it.
Go To Section - Lists all the sections currently displayed on the tab. Select a section to go to it.
● Info - Contains core information for identifying and defining the object.
● Children - Lists objects that belong to the object. For example, a process map process can contain sub-
processes or a physical data model table contains columns and indexes. Click an object name in a list to
navigate to the property sheet of that object. When in the diagram viewer in Edit mode, you can create child
objects in the lists on this tab.
● Depends On - Lists the objects to which the object is connected and on which it depends. If these objects are
modified or deleted, the current object may be modified or deleted. Click an object name in a list to navigate
to the property sheet of that object. When in the diagram viewer in Edit mode, you can create links to other
objects in some lists (see Referencing an Object in a Property Field or List [page 40]).
● Impacts - [read-only] Lists the objects that depend on the object. If the current object is modified or deleted,
these objects may be modified or deleted. Click an object name in a list to navigate to the property sheet of
that object. When in the diagram viewer in Edit mode, you can create links to other objects in some lists (see
Referencing an Object in a Property Field or List [page 40]).
● Diagrams - Lists the diagrams contained by or associated with the object. Click a diagram thumbnail to open
the diagram, or the + tile to create a diagram (see Creating a Diagram [page 15]).
● Versions - [models] Lists the versions of the model published in the repository, with a separate list per branch
where appropriate. To compare two versions of a model in a single branch, select their checkboxes and click
the Compare tool (see Comparing Diagram Versions [page 27]).
● Permissions - [folders, models] Lists the users and groups with permissions to view and edit the contents of
the folder or item. Users with Full permission on the object and administrators with the Manage Users and
Permissions right can modify the permissions (see Granting Access Permissions on Repository Items [page
244]).
● Subscriptions - Lists the users and groups receiving email notifications when the item is updated. Users with
Full permission on the object and administrators with the Manage Users and Permissions right can
modify subscriptions (see Subscribing to Change Notifications [page 17]).
Context
Note
You can also create diagrams from your workspace (see Creating a Diagram from the Workspace [page 11]).
1. Navigate to the repository location where you want to create the diagram, click the Diagrams tab, and then
click the + tile (or click the menu button and select Create Diagram).
Note
You must have at least Submit permission (see Granting Access Permissions on Repository Items [page
244]) for the location where you want to create the diagram to have these options available. If they are not
visible to you, contact your administrator.
2. Enter a name for the diagram, and select the type of diagram to create:
○ Business Process - Business process diagrams help you identify, describe, and decompose business
processes. SAP EA Designer supports both BPMN 2.0 Descriptive (see BPMN 2.0 Descriptive [page
100]), which provides a small subset of objects suitable for business process design and analysis, and
BPMN 2.0 Executable (see BPMN 2.0 Executable [page 114]), which includes all the standard BPMN 2.0
objects, and is aimed at technical modelers and those who are reverse-engineering from SAP BPM or
Eclipse BPMN2 Modeler.
○ Database - Physical data models help you analyze and optimize the structure of your database. You can
reverse-engineer any supported database to create a physical data model. Generation to SAP HANA,
directly to the catalog, or to Web IDE via HDI is also supported. See Databases [page 131].
○ Enterprise Architecture Diagram - Enterprise architecture diagrams help you analyze and document your
organization, its functions and processes, the applications and systems that support them, and the
physical architecture on which they are implemented. See Enterprise Architecture [page 54].
○ Process Map - A process map provides a graphical view of your business architecture, and helps you
identify your business functions and high-level processes, independent of the people and business units
who fulfill them. See Process Maps [page 96].
○ Requirements List - Requirements documents display a hierarchical list of written requirements. See
Requirements [page 49].
3. Click Create to create your diagram and open it in the Diagram Editor. Use the tools in the bottom toolbar to
draw your diagram (see Editing Diagrams [page 22]).
4. Click Save at any time to save the current state of your diagram. After saving you can navigate away from or
close the window. Your draft diagram will not be available to other users, but is accessible to you in the My
Draft Diagrams section of your workspace (see The Workspace [page 9]).
5. [optional] Invite other users to comment on your diagram before publication (see Commenting on Diagrams
[page 24]).
6. [optional] To verify that the diagram conforms with the appropriate modeling rules, click the Verify button at
the bottom right of the window (see Verifying Diagrams [page 29]).
7. When your diagram is complete, click the Publish tool to publish your diagram or to submit it for review before
publication (see Publishing Diagrams [page 34]).
You can upload Word, Excel, PDF, and other files into the repository to make them available next to your models.
Files are listed in the Documents section in the bottom-left panel and on the Children tab of the folder. You must
To:
● Upload a new external file - On the Children tab of the folder, click the menu and select Upload New File,
navigate to the file to upload, and then click Upload. The file will inherit the permissions of its parent folder. To
change them, use the tools on its Permissions tab (see Granting Access Permissions on Repository Items
[page 244]).
● Download an external file - On the Children tab of the parent folder, click the file name to go to its property
sheet, and then click the file name hyperlink on the Info tab to begin the download.
● Upload a new version of the file - On the file's Info tab, click the Upload New Version tool, navigate to the new
version to upload, and then click Upload. A list of versions of the file is maintained on its Versions tab.
You can rename, move, or delete models, files, and folders in the repository from the Children tab of their parent
folder. You must have at least Write permission to rename an item and Full permission to move or delete it.
● Rename an item - On the Children tab of the parent folder, hover over the item name and then click the pencil
that appears.
● Move one or more items - On the Children tab of the parent folder, select the checkboxes to the left of the
items to move, click the Move tool, select the folder to move them to and then click Move.
● Delete one or more items - On the Children tab of the parent folder, select the checkboxes to the left of the
items to delete, click the Delete tool, and then click Delete.
● Delete the latest version of a model or file - On the document's Versions tab, click the Delete Latest Version
tool.
You can subscribe to receive an email each time a diagram is created, updated, or deleted. You can subscribe to a
repository folder or to an individual model. Repository administrators and users with Full permission on a
document or folder can grant subscriptions on it.
To:
● Subscribe to a folder - Navigate to the folder, click the menu and select Subscribe to Change Notifications. The
subscription icon is displayed above the folder name, and you will receive an email each time a diagram in the
folder (or in any of its subfolders) is:
○ Published for the first time.
○ Republished with a new version.
○ Deleted.
● Subscribe to a model - Navigate to the model, click the menu and select Subscribe to Change Notifications.
The subscription icon is displayed above the model name, and you will receive an email each time it is updated
or when it is deleted.
Each object has a name, which is intended to be human readable, and a code, which is used when generating
scripts. Codes are, by default, synchronized with names. You can control synchronization on an object-by-object
basis and specify the conversion of individual words via a name-to-code conversion table.
● When you create an object, or edit its name, the code is, by default, synchronized with the new name, subject
to the following rules:
○ Lowercase letters are capitalized.
○ Non-alphanumeric characters are replaced by underscores.
● To control the conversion of specific strings (for example, to convert the word Customer in names to the
abbreviation CUST in codes), use a name-to-code conversion table (see Specifying a Name-to-Code
Conversion Table [page 18]).
● To make a code vary from the name of its object, overwrite the value in the Code field.
● Following reverse-engineering of a database (see Reverse-Engineering a Database [page 226]), name-to-
code syncronization is disabled to allow you to enter human-readable names for your objects without
changing their codes.
● To resynchronize a code with the name of its object, click the Synchronize button to the right of the Code field.
By default, names of objects are converted into codes with all letters converted to uppercase and all non-
alphanumeric characters replaced with underscores. You can additionally specify a .csv file containing a list of
strings that may appear in object names paired with equivalent (generally shorter) strings with which to replace
them when generating object codes. For example, each instance of the word Customer in object names in your
model could be converted to CUST in their codes.
Procedure
1. Upload your conversion table to the repository (see Uploading a Name-to-Code Conversion Table [page
19]).
2. In your model, navigate to the model property sheet Info tab and click the Select button to the right of the
Conversion table field.
You must upload a conversion table to the repository before you can use it in your model. Your conversion table
must be a plain text file with column-separated values and have a .csv extension.
Procedure
The file must contain one comma-separated name-code pair per line and have a .csv extension.
Account,ACCT
Customer,CUST
Suppler,SUPP
2. On the homepage, click the Repository tile to enter the repository explorer.
3. Navigate to the folder in which you want to store your conversion table.
Note
You can store your conversion table in any folder, but we recommend that you upload them to the
dedicated Library/Resources/Conversion Tables folder.
The Diagram viewer lets you view and comment on model diagrams. You can choose to show the Properties panel,
which displays the properties of the selected object and allows you to navigate to connected objects and
diagrams.
To open a diagram, click its thumbnail in your Workspace (see The Workspace [page 9]) or the Repository (see
The Repository [page 13]):
Table 2:
Tool Description
Hide Properties / Show Properties - Hide the Properties panel and maximize the Diagram panel or show
the Properties panel (see Object Properties [page 14]).
Edit - [editable diagrams] Begin editing the diagram (see Editing Diagrams [page 22]).
Show Comments - Open the Comments panel and review or add comments (see Commenting on Dia
grams [page 24]). Select an object in the diagram to show only the comments attached to it, or click
the diagram background to show all the comments.
Content Language - Select an alternative language in which to view the diagram content (see Translating
Diagrams and Viewing Translated Diagrams [page 46]).
Menu - Select:
○ Show Model Object Lists - Opens the model property sheet Children tab to list all the objects in the
model that contains the diagram.
○ Impact and Lineage Analysis - Open an analysis diagram in a new tab (see Impact and Lineage Anal
ysis [page 41]).
○ Share Link - Obtain a shareable link to the diagram or object.
○ Print Diagram - Generate a printable image of the diagram.
○ Export Diagram Image - Save the diagram to an SVG file.
○ Generate Report - Generate a report from the diagram (see Generating a Report on a Diagram
[page 27]).
○ Subscribe to Change Notifications - Subscribe to receive an email each time the diagram is updated
(see Generating a Report on a Diagram [page 27]).
○ [business process] Export BPMN2 File - Export your diagram to a standard BPMN 2.0 or SAP BPM
file (see Exporting to SAP BPM [page 130]).
○ [database] Generate Database - Connect to a database and generate tables and other schema ob
jects (see Generating your Model to HANA [page 154]).
○ Help - Open the application help.
To enter edit mode, click the Edit tool at the top-right of the diagram panel.
Note
You must have Submit or higher permission on a diagram to edit it (see Granting Access Permissions on
Repository Items [page 244]). If the diagram is already locked for editing by another user, you will be notified
with the possibility to send an email to them.
Table 3:
Tool Description
Hide Properties / Show Properties - Hide the Properties panel and maximize the Diagram panel or show
the Properties panel (see Object Properties [page 14]).
Invite to Comment - Invite other users to view your draft diagram and post comments on the objects in it
before you submit it for publication.
Show Comments - Open the Comments panel and review or add comments (see Commenting on Dia
grams [page 24]). Select an object in the diagram to show only the comments attached to it, or click
the diagram background to show all the comments.
Publish - Select:
○ Submit Changes - to submit your diagram for review by accredited users before publication. You
will no longer be able to edit it.
○ Publish - to make your changes available to all users via the repository (requires Write or higher
permission).
○ Revert Changes - to delete your draft diagram and abandon your changes. The published version of
the diagram will remain unchanged.
Content Language - Select an alternative language in which to view the diagram content (see Translating
Diagrams and Viewing Translated Diagrams [page 46]).
Menu - Select:
○ Show Model Object Lists - Opens the model property sheet Children tab to list all the objects in the
model that contains the diagram.
○ Compare with Initial Diagram - Compare your version of the diagram with the published version
from which you began (see Comparing Diagram Versions [page 27]).
○ Impact and Lineage Analysis - Open an analysis diagram in a new tab (see Impact and Lineage Anal
ysis [page 41]).
○ Share Link - Obtain a shareable link to the diagram or object.
○ Print Diagram - Generate a printable image of the diagram.
○ Export Diagram Image - Save the diagram to an SVG file.
○ Auto-Layout Diagram - Rearrange symbols in the diagram using an algorithm to optimize their dis
play.
○ Generate Report - Generate a report from the diagram (see Generating a Report on a Diagram
[page 27]).
○ Generate Model - Generate a new model from the diagram (see Model-to-Model Generation [page
45]).
○ [business process] Change Pool to Horizontal/Vertical - Change the orientation of your pools and
lanes to horizontal (left to right) or vertical (top-to-bottom).
Note
You can only change the orientation of your diagram if the diagram does not contain any pools.
○ [business process] Import BPMN2 File - Import a standard BPMN 2.0 or SAP BPM file (see Import
ing from SAP BPM [page 129]).
○ [business process] Export BPMN2 File - Export your diagram to a standard BPMN 2.0 or SAP BPM
file (see Exporting to SAP BPM [page 130]).
○ [database] Reverse-Engineer Database - Connect to a database and reverse-engineer tables and
other schema objects (see Reverse-Engineering a Database [page 226]).
○ [database] Generate Database - Connect to a database and generate tables and other schema ob
jects (see Generating your Model to HANA [page 154]).
○ Help - Open the application help.
Any user can comment on any object in any published diagram they have permission to see. By default, users
cannot see your draft diagrams, but you can invite them to view and comment on them before you submit your
changes for publication.
Note
Comments posted to published diagrams are preserved across versions, but comments posted to draft
diagrams are removed when the diagram is published.
SAP EA Designer provides various ways of sharing your diagrams through links, as images, and by printing.
You can generate a PDF or Word report from your diagrams. Reports include the diagram image (as well as
images of any sub-diagrams) and lists of the objects in them.
Procedure
1. Open the diagram that you want to report on, click the Menu button, and select Generate Report.
2. Select whether to generate in PDF or Word format.
3. Select the types of object that you want to include in the report in the content panel on the right, the order in
which they will appear (using the arrows above the list), and what properties and sub-objects will be displayed
for them in what order.
By default, all objects are included and all properties displayed for them.
4. Click Generate to generate the report, which will automatically download to your browser.
You can, at any time, compare your draft diagram (or a diagram on which you have been invited to comment, or
one that has been sent to you for review) with the published version from which the edits were begun by selecting
Menu Compare Versions . You can also compare any two published versions of a diagram in a single branch
from the Versions tab of their parent model.
Note
Requirements documents do not support comparing versions.
You can, at any time while editing a diagram, verify that it conforms with the appropriate modeling rules. To begin
verification, click the Verify button at the bottom right of the window.
Note
Requirements documents do not support verification.
Red or orange speech bubbles show above objects in the diagram that have errors or warnings, and the relevant
tab and property in its property sheet are highlighted where possible. Click an error bubble to open the Errors and
Warnings panel to view the errors and warnings.
Once you have launched a diagram verification, SAP EA Designer continues to verify your changes in real time so
that as you correct issues, the counts of errors and warnings in the bubble and list decrease. To exit validation
mode, click Save to save your changes, and then press F5 to refresh your browser window.
SAP EA Designer provides a set of standard verification rules for BPMN 2 process diagrams.
The verification rules in this list apply to BPMN 2.0 Executable and (where appropriate) BPMN 2.0 Descriptive:
● All Objects:
○ Name Uniqueness: Object names and codes must be unique for objects of the same type in the
namespace.
● Activities:
○ Missing incoming flow/Missing outgoing flow: Activities/processes must have at least one
incoming and one outgoing flow.
○ Invalid implementation: Activities/processes cannot be implemented by an activity/process that is,
itself, implemented.
○ Invalid decomposition: Tasks must not contain other objects. Only sub-processes and other
composite activities can contain other objects.
○ Invalid item-aware elements: Events and tasks must only contain item-aware objects of type Data
Input or Data Output.
○ Too many default flows: Activities and intermediate events must not have more than one default
outgoing flow.
○ Invalid implementation type: Call activities must have an implementation type of Reuse
process.
○ Missing start/Missing end: Sub-processes/composite processes must have at least one start and
at least one end.
○ Invalid incoming flows/Invalid outgoing flows: Event sub-processes must not have any
incoming or outgoing flows.
○ Too many start events: Event sub-processes must have exactly one start event.
○ Invalid incoming flows/Invalid outgoing flows: Compensation activities must not have any
incoming sequence flows that are not of type Compensation, nor any outgoing sequence flows.
○ Invalid for export: Manual tasks cannot be exported to a NetWeaver BPMN2 file.
● Gateways:
○ Too few incoming or outgoing flows: Gateways/decisions must have more than one outgoing
flow to represent a split (conditional branch) or more than one incoming flow to represent a merge.
○ Too many default flows: Gateways must not have more than one default outgoing flow.
○ Missing outgoing flow: Gateways must have at least one outgoing flow.
○ Missing incoming flow: Gateways (except event-based gateways) must have at least one incoming
flow.
● Sequence and Message Flows:
○ Missing source/Missing destination: Flows must have both a source and a destination object.
○ Invalid message format: Sequence flows must not have message formats attached to them.
○ Undefined message format: Message flows must either specify a message format or have their
message format set to <None>.
○ Duplicate definition: Message formats must not have the same definition as another message
format.
○ Invalid correlation property: Message flows must specify a correlation property from among
those defined in their correlation key.
SAP EA Designer provides a set of standard verification rules for enterprise architecture diagrams.
● All Objects:
○ Name Uniqueness: Object names and codes must be unique for objects of the same type in the
namespace.
SAP EA Designer provides a set of standard verification rules for database diagrams.
● All Objects:
○ Name/Code Uniqueness: Object names and codes must be unique for objects of the same type in the
namespace.
○ Name/Code Maximum Length: The maximum permitted length for object names and codes is
dependent on the DBMS.
● Table checks:
○ Missing Column, Key, Index, Reference: A table should contain at least one column, key, and
index, and should be the source or target of at least one reference.
○ Duplicate Table Indexes: A table cannot have identical indexes with the same columns, order and
type.
○ Multiple Auto-Incremented Columns: A table should not contain more than one auto-incremented
column.
○ Missing Permission: Permissions are usage restrictions set on a table or view for a particular user,
group or role.
○ Missing partition key: A table managed by an age-based lifecycle policy must have a column
specified as its partition key.
● Column/Domain checks:
○ Precision Greater Than Maximum Length: The data type precision should not be greater than the
length.
○ Undefined Data Type: All columns should have a data type defined.
○ Foreign Key Data Type or Constraint Inconsistency: Primary/alternate and foreign key
columns involved in a join should have consistent data types and constraint parameters.
○ Incompatible Format Type: The data type should be compatible with the format type.
○ Invalid Value: The specified value is not consistent with the data type.
● Index checks:
○ Undefined Index Type: An index type must be specified.
○ Index Includes Index: An index should not include another index.
○ Missing index column: An index must have at least one index column.
● Reference checks:
○ Missing Reference Join: A reference must have at least one reference join.
When your changes (or the changes you are reviewing) are complete, you can publish them and make the new
version of the diagram available to all users.
Context
Note
You must have Write permission or higher to directly publish a diagram. If you have only the Submit
permission, your changes must be reviewed before publication. In this case, select Publish Submit
Changes .
1. [recommended] Review the content of the diagram for accuracy and compliance with your organization's
modeling standards:
○ To verify that it conforms with the appropriate modeling rules, click the Verify button at the bottom right
of the window (see Verifying Diagrams [page 29]).
○ To obtain an interactive analysis of the changes made from the published version, select Menu
Compare Versions (see Comparing Diagram Versions [page 27]).
2. Click the Publish tool and select Publish.
3. Enter a comment to explain the purpose of these changes.
The publication comment is displayed against the version number on the model property sheet Versions tab
(see Object Properties [page 14]).
4. Click OK to publish the changes.
A new version of the diagram is published and you return to your workspace. The published diagram is
available at the head of the Recently Viewed Diagrams list.
You can search for any object from the homepage or repository explorer. You can filter by location, model and
object type, and many other properties, and export your results to a CSV or PDF file. The search engine will also
automatically propose the reuse of existing objects in your diagrams and is used to find objects to insert into
property fields and lists of objects.
Procedure
1. Go to the homepage or repository explorer and click the Search button to open the Search dialog.
Table 4:
Tool Description
Hide Properties / Show Properties - Hide the Properties panel and maximize the Results panel or show
the Properties panel.
3. [optional] On the Location tab in the top-left corner, navigate to a particular folder, branch, project, or model
in the repository tree to restrict the search to its contents.
Note
You must select a Model Type before you can select an Object Type.
○ Any other property - Click Add Filter to add a property/value pair to filter by.
Note
The available properties depend on the selected Object Type. You can filter by most properties
appearing in the Info tab, but not on properties referencing an object.
Table 5:
top Contains the string top. Returns top, stop, and tops.
top AND NOT bottom Contains top and does not contain bottom.
t?p ? is a wild card for a single character. Returns tip, tap, and top.
t*p * is a wild card for one or more characters. Returns tip, tap, top, and temp.
You can reuse an object defined in one diagram in any other diagram (of the same type). Reusing objects in this
way prevents unneccessary duplication of information and improves the quality and scope of impact analysis.
When you create an object in a diagram and begin entering its name, SAP EA Designer will propose a list of
existing objects that you can reuse.
For example:
● A site, organization unit, business function, system, or application created in one enterprise architecture
diagram can be reused in multiple other enterprise architecture diagrams.
● A lane, task, activity, data object, or intermediate event created in one BPMN 2.0 Descriptive diagram can be
reused in multiple other BPMN 2.0 Descriptive diagrams.
Note
Objects saved in the Library folder are prioritized for reuse (see Promoting Reuse through the Library Folder
[page 40]).
Procedure
The symbol is created and the default name is selected ready for overwriting:
2. Begin entering the name of the object. SAP EA Designer proposes a list of existing objects (from the current
model and the Library folder), containing the entered characters:
Your local object is replaced by a shortcut to the library object, which is read-only, and any properties you
had previously defined for the object are lost.
○ If the object that you want to reuse does not appear in the list, click the Search button in the right of the
field to open the Search dialog, initialized to search the current model and the Library folder for the
entered characters. You can reconfigure the search results:
○ Add to or change the characters to search for in the Search field and press enter.
○ On the Location tab in the top-left corner, navigate to a particular folder, branch, project, or model in
the repository tree to restrict the search to its contents.
○ On the Filter tab in the top-left corner, add appropriate property filters to restrict the search by these
criteria.
Note
The model and object type filters are read-only when selecting an object for reuse.
When you find the object, select it in the list of results and click Select to reuse it.
○ If you do not find an object to reuse, click Cancel and enter a name to create a new object.
Certain object properties, such as the Site of a hardware server or the Called Object of a call activity, must be
completed by selecting an object. Similarly, some lists on the Depends On or Impacts tabs, such as Associated
Business Rules require you to add existing objects to them.
Procedure
1. On the Info tab, click the Select tool to the right of the property to be completed, or
On the Depends On or Impacts tab, click the + (plus) tool above the list.
The Search dialog opens, initialized to search the current model for the entered characters.
2. [optional] If the object that you want to select is not visible, you can reconfigure the search results:
○ Add to or change the characters to search for in the Search field and press enter.
○ On the Location tab in the top-left corner, navigate to a particular folder, branch, project, or model in the
repository tree to restrict the search to its contents.
○ On the Filter tab in the top-left corner, select a type of model and object and add other appropriate filters
to restrict the search by these criteria.
Note
The model and object type filters may be read-only if the property or list can contain only one or certain
restricted types of objects.
3. Click the object in the results list to view its property sheet.
4. Click Select to insert the object into the property or list.
You can promote the reuse of commonly-used or reference objects by saving them in a diagram in the repository
Library folder. Objects saved in this way are proposed to users when they create objects in their own diagrams.
For example, you may create lists of sites and organization units/pools/lanes, systems, applications, and process
steps in diagrams and save them to the Library folder. When a user creates a site in a diagram and begins to
enter its name, they will be prompted to reuse an existing site from the Library. If the user selects to reuse an
object, the local object that they were creating is replaced by a shortcut to the library object.
Promoting reuse in this way prevents unneccessary duplication of information and improves the quality and
scope of impact analysis.
Note
The following BPMN 2.0 Descriptive and Executable objects can be reused:
● Pools
The following BPMN 2.0 Descriptive and Executable objects cannot be reused:
● Start/End Events
● Gateways
● Sequence and Message Links and Data Associations
BPMN 2.0 Descriptive objects cannot be reused in BPMN 2.0 Executable diagrams and vice versa.
SAP EA Designer maintains connections between objects within diagrams, in different diagrams, and across
different domains. Impact and lineage analysis allows you to visualize and follow these connections to understand
the dependencies between objects and the impact of making a change on one of the objects in the chain. The
analysis is driven principally by the lists of objects that appear on the Depends On, Impacts and, optionally
Children tabs of an object.
Procedure
1. Navigate to the property sheet of the object you want to analyze in the diagram viewer, repository, or search
dialog, and select Menu Impact and Lineage Analysis .
The analysis diagram opens in a new browser tab with one level of impacts expanded to the right of the
analysis object and one level of lineages to the left:
○ Hover over an object to see its object type and the model it belongs to in a tooltip.
○ Click the Show Properties tool in the top right-hand corner to display the property sheet of the selected
object.
In this example, the Kayak system depends on a number of components and sites, and impacts various other
objects:
Alternately, select an object and press + to expand one level (or Ctrl + + to expand up to five levels) of
analysis.
Note
Objects on the impact (right-hand) side of the analysis can only display further impacts and objects on the
lineage (left-hand) side can only display further lineages. To display the lineages of an object shown among
the impacts (or the impacts of an object shown among the lineages), you must recenter the analysis on the
object by selecting it and clicking the Change Analysis Object tool.
3. [optional] Configure the analysis using the tools in the bottom toolbar:
Table 6:
Tool Description
Show Lineage - Toggles the display of objects on which the object depends, which are shown to the
left of the analysis object.
Show Impacts - Toggles the display of objects that the object impacts, which are shown to the right of
the analysis object.
Customize Analysis - Opens a dialog allowing you to control which types of relationships are dis
played and whether they are treated as impacts or lineages (see Customizing the Analysis [page
44])
Reanalyze - Reruns the analysis to take into account recent local and server changes.
4. [optional] Select any object that you want to remove from the analysis and press Delete .
5. [optional] Select any object in the analysis to highlight the paths that connect it to the analysis object:
In this example, a business function, far removed from the initial system, is selected, and the multiple impact
paths that lead to it are highlighted:
You can control which types of relationships are displayed in the analysis and whether they are treated as impacts
or lineages. You can customize the analysis for individual objects or for all objects of that type.
Context
The analysis is based on the contents of the object's property sheet. By default:
● Objects listed on the Impacts tab are shown on the impact (right-hand) side of the analysis.
● Objects listed on the Depends On tab are shown on the lineage (left-hand) side of the analysis.
● Objects listed on the Children tab are not shown.
● The parent of the object (shown on its Info tab) is not shown
Procedure
1. Select the object for which you want to modify the analysis, and click the Customize Analysis tool.
The dialog opens, listing all the types of relationship (or "collections") that can be displayed for this type of
object:
2. Review each collection and choose whether to Display it, and whether it should be shown as an Impact (to the
right of the selected object) or as a Lineage (to the left of the selected object).
Note
Customizations are saved in your browser's local storage. They are retained across sessions, but may be
lost if you clear your browser history.
Context
Note
You can only generate to a new model. You cannot update an existing model.
Procedure
1. Open the model from which you want to generate a new model.
2. If the model is not already editable, click the Edit tool.
If there are unsaved changes in your model, you will be prompted to save.
4. Select the folder that you want to generate the model to and specify a name for it.
5. [database models] Select the DBMS that you want to generate to in the Type field.
6. Click Generate to generate the model.
The generated diagram opens in a new tab and is added to your workspace in the My Draft Diagrams section.
Note
If your browser blocks pop-ups, you must enable them for SAP EA Designer or navigate to your workspace
to see the generated diagram.
SAP EA Designer supports translating your diagram content for viewing in over 30 languages. Each repository has
a default master language for creating diagrams and objects, and users can choose the language in which they
want to view model content.
Context
By default, all users view model content in the default (Master) language until they click the Content Language
tool and select a different language. The (Master) language is neutral - it can represent, English, French, or any
other language that is the principal working language for your organization.
Note
The content language is separate from the interface language, which controls the language in which you see
field names, tooltips, help and other interface elements. To change the interface language, go to the homepage,
click your name, select Language, and then click your preferred language.
● All models, diagrams, and objects in a repository must be created in the (Master) language, and we
recommend that you complete and publish diagrams in the (Master) language before undertaking their
translation.
● The primary text fields, Name, Comment, and Description for all objects can be translated for viewing in
multiple languages.
● When you select a Content Language, SAP EA Designer will present content in the diagram and property sheet
to you in this language if it is translated, and will display fields containing untranslated data with a light yellow
background.
Note
Translated content is only visible in the diagram viewer and property sheet, and is not visible in the Search
dialog, diagram verification, and other features.
● The Content Language tool changes based on your choice and on the availability of translated content in the
diagram being viewed:
No content translated
You have not chosen a content lan You can view translated content if it is
guage, but are made aware that there available in your language and/or
are translations available. translate yellow fields.
● If you edit a diagram while viewing it with a Content Language that is not the (Master) language, any edits
that you make are saved as the selected language.
Note
Creating objects in a language other than the master language is not supported.
Procedure
1. Open a diagram and click the Content Language tool in the top toolbar, next to the Menu button.
Languages into which all or part of the model content has been translated are available in the list, and other
languages are available by clicking the Other Languages item.
2. Click a language to select it as your Content Language.
If object names and other translatable data are available in the selected language they will be displayed.
Otherwise, content will be shown in the master language with a light yellow background to signal that it
requires translation into the selected language.
3. [optional] If you have Submit or higher permission on the diagram, you can edit it and enter translations for
the Name, Comment, and Description fields of objects.
To translate a field with a light yellow background into your content language, select and overwrite the
existing content.
Requirements documents display a hierarchical list of written requirements. You can link requirements to users
and groups who will work on them or are otherwise associated with them, and with any object that contributes to
the fulfillment of the requirement or is impacted by it.
To create a requirements document, click the + tile in your workspace (see Creating a Diagram from the
Workspace [page 11]) or in a repository folder (see Creating a Diagram [page 15]).
Table 8:
Tool Description
/ Move Up (Shift+Alt+Up Arrow)/Move Down (Shift+Alt+Down Arrow) - Move the selected require
ments up or down in the tree at a single level.
● You can control the columns that are displayed in the requirements document and filter on values in any
column:
○ To show or hide columns in the document or to change their order, click the Customize Columns tool to
the right of the document name to open the Columns dialog. Select the checkbox to the left of a column
name in the list to display it, and use the arrows at the top of the list to change the order of columns.
○ To filter requirements by values in a column, click the column header to open the filter pop-up. Specify an
operator and a value to filter against. When using the operator = with a column containing text, *
(asterisk) can be used as a wild card.
Note
When a filter is set on a column, a filter icon is displayed on the right of the column header. To disable
the filter, click the column header and then click the Clear Column Filter link in the pop-up.
○ To select multiple requirements Ctrl -click them in the left-most column. To select all the requirements,
click the top-left corner box. When multiple requirements are selected, any edits you make to properties
in a column are applied to all the selected items.
To create a sibling of the selected requirement, click the Insert Requirement tool, press Ctrl + I or, if you are
in the last requirement in the grid, press the Down Arrow key. To create a child requirement of the selected
requirement, click the Insert Child Requirement tool or press Ctrl + Shift + I .
To demote the requirement to a child of the previous requirement, click the Demote tool or press Shift + Alt
+ Right Arrow . To move it up a level in the tree, click the Promote tool or press Shift + Alt + Left Arrow .
Table 9:
Property Description
Parent [read-only] Displays the name of the parent requirement. For top-level requirements this is the model
name.
Code Generates a unique code for the requirement. You can override an individual requirement code by typ
ing directly in this field.
Description Specifies a detailed description of the requirement. Click the Pop Out button to open this field in a
larger floating editor.
Table 10:
Property Description
Priority Specifies the priority level attached to the requirement. Select a value in the list or type a value. The
value cannot be null or negative, and is limited to one decimal (for example: 1.9).
Selected Specifies that the requirement has been selected to be implemented in the project. If this checkbox is
cleared, the requirement is excluded from the project and the sum of workloads.
Risk Specifies the level of risk associated with implementing the requirement.
Verification Specifies the type of testing to be applied to the development of the requirement.
Workload 1-4 Specifies four separate workloads (see Assigning Workloads [page 52]). Workloads for require
ments with sub-requirements are read-only fields calculated as the sums of all sub-requirement work
loads.
You can link requirements to design objects (objects from other types of models) and to other requirements using
traceability links.
● To create a traceability link pointing from the requirement to the design object or other requirement:
1. Select the requirement and click the Depends On tab in its property sheet.
2. Click the Add tool in the header of the Outgoing Traceability Links list to open the search dialog.
3. Search for the object that you want to link to the requirement, optionally filtering by location, object type,
and other criteria (see Referencing an Object in a Property Field or List [page 40]), and click Select to add
it to the Outgoing Traceability Links list.
Note
The object's property sheet lists the requirement on its Depends On tab in the Incoming Traceability
Links list.
● To create a traceability link pointing from the design object (or other requirement) to the requirement:
1. Select the design object (or other requirement) and click the Depends On tab in its property sheet.
2. Click the Add tool in the header of the Outgoing Traceability Links list to open the search dialog.
3. Search for the requirement that you want to link to the object, optionally filtering by location and other
criteria (see Referencing an Object in a Property Field or List [page 40]), and click Select to add it to the
Outgoing Traceability Links list.
Note
The requirement's property sheet lists the design object (or other requirement) on its Depends On tab
in the Incoming Traceability Links list.
A workload is the time assigned to a person or team to satisfy a requirement. Values must be greater than or
equal to zero, and limited to one decimal place (for example: 3.5).
No time unit is enforced to measure workloads but, in order to properly calculate totals, you should decide on and
consistently use the same unit (hour or day) for all workloads.
You assign workloads to a requirements on the Info tab in the Detail section, where there are fields to record four
separate workloads.
You can only assign workloads to requirements that have no sub-requirements. Workloads for parent
requirements, packages, and the model are read-only fields calculated as the sums of all their sub-requirement
workloads.
Users are people concerned by one or more requirements. Users can be assigned to Groups, and users and
groups can be associated with requirements. You create users and groups on the model property sheet Children
tab.
1. Click in an empty line in the document to access the document's property sheet and then click on the Model
link to go to the model's property sheet.
2. Click the Children tab. If the Users or Groups list is not visible, click the Show/Hide Section tool and select the
appropriate list to display it.
3. Click the Add tool in the header of the list.
The following properties are available on the Info tab in the General category:
Table 11:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
● Depends On - Lists member groups and users and other objects the user or group depends on.
● Impacts - Lists groups the user or group belongs to and other objects it impacts.
You can add users and groups to a group from the group's property sheet.
Procedure
1. Open the property sheet of a group, and click the Depends On tab.
2. If the list of Group Users is not visible, click the Show/Hide Section tool and select it.
3. Click the Add tool at the top of the Group Users list, and use the Search dialog to select the user or group to
add (see Referencing an Object in a Property Field or List [page 40]).
The user or group is now a member of the group.
Enterprise architecture diagrams help you analyze and document your organization, its functions and processes,
the applications and systems that support them, and the physical architecture on which they are implemented.
To create an enterprise architecture diagram, click the + tile in your workspace (see Creating a Diagram from the
Workspace [page 11]) or in a repository folder (see Creating a Diagram [page 15]).
● Enterprise architecture diagrams contain toolbars for each of the architecture domains. Click a toolbar to
access the tools for that domain:
Table 12:
Tool Description
Process Architecture Toolbar - (see Process and Function Architecture Modeling [page 68]).
Goals and Projects Toolbar - (see Goal and EA Project Modeling [page 92]).
● Many objects can be decomposed into sub-objects, and some can contain or be used to group other objects
(see Structuring EAM Objects [page 55]).
● Any object can be connected to another object via a variety of types of links with different semantic meanings
(see Linking EAM Objects [page 60]).
● Objects defined in one diagram can be reused in another (see Reusing Objects in an EAM [page 62]).
You can structure and organize your objects in various ways. Many enterprise architecture objects can be
decomposed into sub-objects, and some can contain other objects and/or can be used to group other objects.
The following objects provide the principal ways for grouping other objects:
● Architecture areas - Provide logical groupings of objects (see Architecture Areas [page 69]). Any object can
be attached to an architecture area and can appear inside the area symbol. Objects can be attached to
multiple architecture areas:
● Networks - Provide virtual groupings of objects (see Networks (EAM) [page 89]). Hardware objects and
deployment instances can be attached to a network and can appear inside the network symbol:
Note
Objects associated with an architecture area, site, or network do not belong to these objects, and will not
be deleted if you delete the area, site or network. However, areas can contain sub-areas, sites can contain
sub-sites, and networks can contain sub-networks, and these sub-objects do belong to their parents and
will be deleted if their parent is deleted.
● Organization units - Can contain sub-units and can group people (see Organization Units (EAM) [page 65]).
A person can belong to multiple organization units.
Note
Sub-units and people cannot be displayed inside their parent unit symbol in an enterprise architecture
diagram. They can be shown only in an organization chart, which can be viewed, but not edited, on the
Web.
Note
Sub-processes cannot be shown inside their parent process symbol in an enterprise architecture diagram.
They can be shown only in a sub-process map (see Process Maps [page 96]).
● Systems and applications can contain various other application architecture objects (see Systems and
Applications (EAM) [page 74]), which will be deleted if you delete the parent object:
● Hardware and software servers, workstations, and mobile devices can have application architecture objects
deployed to them (see Servers, Workstations, Mobile Devices, and Network Nodes (EAM) [page 86]). The
deployment is modeled with deployment instances (see Deployment Instances (EAM) [page 90]). Each
deployment instance is a sub-object of its parent hardware object, and will be deleted if you delete the parent,
leaving the software asset itself unaffected.
In this diagram, all the main ways of decomposition, containing, and grouping objects are represented as follows:
Symbol Meaning
Box-in-box Decomposition - The object can be decomposed into sub-objects, which belong to the parent object and
will be deleted if the parent is deleted. For example, an area can contain sub-areas and a site can contain
sub-sites. Sub-objects are displayed on the Children tab of the parent object's property sheet.
Note
*Processes can contain sub-processes but the sub-processes cannot be shown inside the parent proc
ess symbol. The structure of processes and sub-processes is shown using the dedicated process map
diagram (see Process Maps [page 96]). Similarly, organization units can contain sub-units but this
relationship can only be shown in an organization chart.
Solid arrow Containing sub-objects - The object can contain other objects, which belong to the parent object and will
be deleted if the parent is deleted. For example, a system can contain sub-systems, applications, data
bases, and other software artifacts. Child objects are displayed on the Children tab of the parent object's
property sheet.
Dashed arrow Grouping objects - The object can group other objects, but these grouped objects do not belong to the
grouping object and will not be deleted if the grouping object is deleted. For example, a site can group peo
ple, functions, systems, servers, and various other objects. Grouped objects are displayed on the Depends
On tab of its property sheet.
Note
**Architecture areas can group any artifact.
Enterprise architecture objects can be connected to each other through a variety of types of links with different
semantic meanings. Any object can be connected to any other object, and the unified link tool creates a default
type of link based on the source and target.
● Select the source object to display its context pad, click on the link tool and drag and drop the end of the link
on the target object.
● Select the link tool in the bottom toolbar, click on the source object and drag and drop the end of the link on
the target object.
A default link is created based on the type of the source and target object. For many source and target
combinations, you can select a different link type after creation by selecting the link, clicking the Type, and
choosing a new type.
● Business flows and application and infrastructure links (solid lines) - Can be created between any
combination of organization, process, application, and infrastructure architecture objects:
○ Business Flows - Commonly represent a communication between people, departments and functions,
and can carry documents. These links are created by default when you link organization or process
architecture artifacts together.
○ Application Links - Commonly represent a relationship between application artifacts. These links are
created by default when an application artifact is the source or target object.
○ Fulfillment Links (dashed line) - Represent the fulfillment of a corporate goal by a program or project (see
Specifying the Fulfillment of Goals by a Project [page 95]). These links are created by default when you
draw a link from a program or project to a goal:
○ Impact Links (dotted line) - Represent the impact that a program or project may have on an artifact (see
Specifying the Impact of a Project on EA Assets [page 95]). These links are created by default when you
draw a link from a program or project to an artifact:
● Traceability Links (dashed line) - Can be created between any object in any model and any other object in that
or another model (see Traceability Links [page 233]):
For example, you might develop the following reference models to document your environment:
To reuse an artifact from a reference diagram in your diagram, create an object of the required type and begin
entering the name of the artifact you want to reuse. SAP EA Designer proposes a list of existing objects (present in
the current model and the Library folder), containing the entered characters:
Select an object from the list or click the Search button to search for an alternate object to reuse (see Reusing
Objects in Diagrams [page 37]). When you select an object from the list of the Search dialog, a read-only shortcut
is created in your diagram pointing to the original object.
● You can place a shortcut inside a local object (as a child or grouped object) but you cannot place a local object
inside a shortcut. You can only modify the content of a shortcut in its original diagram.
● You can draw links to and from a shortcut, with the exception of traceability links, which cannot originate from
a shortcut. You can only create a traceability link originating in a local object and pointing towards another
local object or a shortcut.
● You can create a shortcut to an object or to any of the objects that it contains, but you cannot show the
contents of an object inside its shortcut symbol. For example, if you have a site, Europe, which contains a
Table 14:
Tool Description
Organization Unit - A group, department, function, or other collection of people or organization units. See
Organization Units (EAM) [page 65].
In this example, the Sales Team organization unit and CRM system are located in the Paris site:
You can link a site to any other object using the Link tool (see Linking EAM Objects [page 60]). You can add the
following kinds of objects to a site:
● Sub-sites
● Organization units, people, and roles
● Business functions
● Systems and databases
● Hardware and software servers, workstations, mobile devices, networks, and network nodes
For more information about grouping and organizing EAM objects, see Structuring EAM Objects [page 55].
The following properties are available on the Info tab in the General category:
Table 15:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
An organization unit is a department, group, or team that can contain sub-units and can group people.
In this example, the Office of the CBO organization unit is a stakeholder of the ERP to Cloud goal:
To create an organization unit, click the Organization Unit tool to select it, and then click in empty space or in an
existing:
● Site
● Architecture area
Note
Sub-units cannot be created or displayed inside their parent in an enterprise architecture diagram. To add a
sub-unit to an organization unit, use the Sub-Organizations list on the parent's Children tab. This relationship
can be shown inside an organization chart, which can be viewed, but not edited, on the Web.
You can link a organization unit to any other object using the Link tool (see Linking EAM Objects [page 60]). You
can add the following kinds of objects to an organization unit:
The following properties are available on the Info tab in the General category:
Table 16:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Manager Specifies the manager of the organization unit. Click the Select tool and search for a person or role
(see Referencing an Object in a Property Field or List [page 40]).
Web site Specifies the url for the web site of the organization unit.
A person is an individual who holds a position within an organization and plays roles in relation to artifacts.
To create a person, click the Person tool to select it, and then click in empty space or in an existing:
● Site
● Architecture area
Note
People cannot be created or displayed inside an organization unit in an enterprise architecture diagram. To add
a person to an organization unit, use the People list on the organization unit's Children tab. This relationship
can be shown inside an organization chart, which can be viewed, but not edited, on the Web.
You can link a person to any other object using the Link tool (see Linking EAM Objects [page 60]).
The following properties are available on the Info tab in the General category:
Table 17:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Manager Specifies the manager of the person. Select a person from the list or click the New tool to the right of
the field to create a new one.
Site Specifies the site where this person is located. Click the Select tool and search for a site (see Refer
encing an Object in a Property Field or List [page 40]).
● Depends On - Lists roles that the person performs and other objects they depend on.
● Impacts - Lists role associations implicating the person (see Associating a Person, Organization Unit, or Role
with an Object [page 67]) and other objects that they impact.
Context
For example:
● A person may be defined as the administrator of a hardware server and the manager of a site.
● An organization unit may be identified as being responsible for the Sales business function.
● A role may be designated as the contact for the Madrid site.
A role is a set of responsibilities. Roles can be assigned to people or organization units or can be used in place of
them.
In this example, the Presales Engineer role is implicated in the Prepare POC Presentation process:
To create a role, click the Role tool to select it, and then click in empty space or in an existing:
● Site
● Architecture area
You can link a role to any other object using the Link tool (see Linking EAM Objects [page 60]).
The following properties are available on the Info tab in the General category:
Table 18:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
● Depends On - Lists people and organization units that perform the role and other objects it depends on.
● Impacts - Lists role associations implicating the role (see Associating a Person, Organization Unit, or Role with
an Object [page 67]) and objects it impacts.
SAP EA Designer lets you capture, analyze, visualize, and plan changes to your processes and functions.
Tool Description
Architecture Area - An abstract object for grouping other objects. See Architecture Areas [page 69].
Business Function - An aggregation of processes and/or sub-functions. See Business Functions [page
70].
An architecture area is an abstract object that can group together other objects. The objects do not belong to the
area and are just grouped in it.
Note
Areas can also be created in a process map (see Process Maps [page 96]).
To create an area, click the Architecture Area tool to select it, and then click in empty space or in an existing area.
You can link an area to any other object using the Link tool (see Linking EAM Objects [page 60]). You can add any
kind of object to an architecture area.
The following properties are available on the Info tab in the General category:
Table 20:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is generated from the name by applying the naming conventions
specified in the model options. To decouple name-code synchronization, click to release the = but
ton to the right of the Code field.
Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add stereo
types to the list by specifying them in an extension file.
Note
Functions can also be created in a process map (see Process Maps [page 96]).
● Business Function
● Site
● Architecture area
You can link a function to any other object using the Link tool (see Linking EAM Objects [page 60]). You can add
the following kinds of objects to a business function:
● Sub-functions
● Processes
The following properties are available on the Info tab in the General category:
Table 21:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is generated from the name by applying the naming conventions
specified in the model options. To decouple name-code synchronization, click to release the = but
ton to the right of the Code field.
Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add stereo
types to the list by specifying them in an extension file.
3.5.3 Processes
A process represents something that is done by the organization. Processes can be broken down into sub-
processes and the hierarchy of processes is commonly shown in a process map.
Note
Processes can also be created in a process map (see Process Maps [page 96]).
In this example, the Update Customer Record process is linked to the Kayak system:
● Business Function
● Architecture area
Note
Sub-processes cannot be shown inside their parent process symbol in an enterprise architecture diagram.
They can be shown only in a sub-process map (see Process Maps [page 96]).
You can link a function to any other object using the Link tool (see Linking EAM Objects [page 60]).
The following properties are available on the Info tab in the General category:
Table 22:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Number ID Specifies the number of the process in the sequence. Numbers are allotted sequentially as processes
are created. If you move processes around, the numbers may no longer correspond to the desired or
der. You can modify the number of a process here, and the other numbers will be changed to avoid
duplications and fill holes in the sequence where possible.
SAP EA Designer lets you capture, analyze, and visualize your systems, applications, databases, services, and
other software assets.
Table 23:
Tool Description
System - A packaged application. See Systems and Applications (EAM) [page 74].
Application - A computer program. See Systems and Applications (EAM) [page 74].
Report Document - A report. See Documents, and Reports (EAM) [page 78].
ETL Job - A data extraction, transformation, and load. See ETL Jobs (EAM) [page 81].
Application Service - An externally visible unit of functionality. See Application and Business Services
(EAM) [page 83].
Business Service - A service offered by an organization. See Application and Business Services (EAM)
[page 83].
These objects provide the primary building blocks for modeling your software assets. A system can encapsulate
sub-systems, applications and applications services, databases, components, and forms. An application can
encapsulate sub-applications, components, and forms.
In this example, the Kayak system contains a form, report, and database, as well as the Kayak application, which,
in turn, contains the Kayak Core component, which is connected to a number of shared components:
To create a system or application, click the appropriate tool to select it, and then click in empty space or in an
existing:
● [system] Site
● System
● [application] Application
● Hardware or software server, workstation, mobile device, or network (as a deployment instance, see
Deployment Instances (EAM) [page 90])
● Architecture area
You can link a system or application to any other object using the Link tool (see Linking EAM Objects [page 60]).
You can add the following kinds of objects to a system or application:
For more information about grouping and organizing EAM objects, see Structuring EAM Objects [page 55].
The following properties are available on the Info tab in the General category:
Table 24:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Type [application only] Specifies the type of application. You can choose between:
● Web
● Rich Client
● Office
● Tool
● CRM
● ERP
[applications] The Detail section records the programming language, version, and other details of the application.
Databases store data. You can link a database to a physical data model that contains its schema.
In this example, the CRM DB database is replicated daily to the Data Warehouse database:
To create a database, click the Database tool to select it, and then click in empty space or in an existing:
● Site
● System
● Hardware or software server, workstation, mobile device, or network (as deployment instance, see
Deployment Instances (EAM) [page 90])
● Architecture area
You can link a database to any other object using the Link tool (see Linking EAM Objects [page 60]).
To link a database to a physical data model (see Databases [page 131]), select its Depends On tab, expand the
Source Models list, click the Add tool, select one or more physical data models in the dialog, and click Insert Items.
The following properties are available on the Info tab in the General category:
Table 25:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Type Specifies the type of the database. You can choose between:
● Data Warehouse
● Data Mart
● Multi-Dimensional Data Warehouse
● OLTP Database
● Virtual Database
A component is an encapsulated, reusable, and replaceable part of an application, which can be used to
implement a service or an application.
In this example, various components are consumed by the Banzai and Velocity systems:
To create a component, click the Component tool to select it, and then click in empty space or in an existing:
● System or application
● Hardware or software server, workstation, mobile device, or network (as deployment instance, see
Deployment Instances (EAM) [page 90])
● Architecture area
You can link a component to any other object using the Link tool (see Linking EAM Objects [page 60]).
Table 26:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Type Specifies the type of the component. You can choose between:
● EJB
● Servlet
● Presentation
● DataAccess
● Controller
● COM
● ActiveX
Programming Lan Specifies the programming language in which the component is written.
guage
Documents and reports represent structured output generated and consumed in the enterprise.
To create a document or report, click the appropriate tool to select it, and then click in empty space or in an
existing:
● System
● Architecture area
You can link a document or report to any other object using the Link tool (see Linking EAM Objects [page 60]).
Table 27:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Category [report only] Specifies the category of the report. You can choose between:
● Business
● Specification
● Strategic
● Technical
Period [report only] Specifies the frequency with which the report is generated. You can choose between:
● Daily
● Weekly
● Monthly
● Yearly
Document Format [document only] Specifies the XML model that is used to represent the structure of the document.
● Depends On - Lists data (see Document Data (EAM) [page 80]) that the document or report contains and
other objects that it depends on.
● Impacts - Lists objects that the document or report impacts.
Data objects are pieces of information that can be used or transmitted by reports, documents, and forms. You can
create data objects in the Data list on the model property sheet Children tab and add them to a document using
the Data list on the document property sheet Depends On tab.
The following properties are available on the Info tab in the General category:
Table 28:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
To create a form, click the Form tool to select it, and then click in empty space or in an existing:
● System or application
● Hardware or software server, workstation, mobile device, or network (as deployment instance, see
Deployment Instances (EAM) [page 90])
● Architecture area
You can link a form to any other object using the Link tool (see Linking EAM Objects [page 60]).
Table 29:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Type / Style Specify the type (mobile, Web, or window) and style of the form.
● Depends On - Lists data (see Document Data (EAM) [page 80]) that the form processes and other objects
that it depends on.
● Impacts - Lists objects that the form impacts.
In this example, the Daily Sales Replication job replicates sales data to two backup databases:
To create an ETL job, click the ETL Job tool to select it, and then click in empty space or in an existing:
● System
● Architecture area
You can link an ETL job to any other object using the Link tool (see Linking EAM Objects [page 60]).
Table 30:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
● Depends On - Lists source databases and other objects that the ETL job depends on.
● Impacts - Lists target databases and other objects that the ETL job impacts.
In this example, the Kayak Service Level Agreement defines a contract between the system and its
stakeholders:
To create a contract, click the Contract tool to select it, and then click in empty space or in an existing:
● Architecture area
You can link a contract to any other object using the Link tool (see Linking EAM Objects [page 60]).
The following properties are available on the Info tab in the General category:
Table 31:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
An application service is an externally visible unit of functionality, provided by one or more applications or
components, and exposed through well-defined interfaces. A business service is a service offered by an
organization to its customers that directly supports the work performed in a business process or function,
exposed by an application-to-business interface.
In this example, the Same Day Delivery business service depends on other business services which are
dependent on multiple application services:
To create an application or business service, click the appropriate tool to select it, and then click in empty space
or in an existing:
You can link an application or business service to any other object using the Link tool (see Linking EAM Objects
[page 60]).
The following properties are available on the Info tab in the General category:
Table 32:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
● Consulting
● Customer Service
● Distribution Service
● Marketing Service
● Personal Service
● Sales Service
● Business Process
● Collaboration
● Data
● Infrastructure
● Integration
● Presentation
Quality of Service Specifies the quality of the service. You can choose between:
Level
● Best effort service
● Differentiated service
● Guaranteed service
Security Level Specifies the security of the service. You can choose between:
● High
● Moderate
● Low
An operation is an abstract description of an action supported by a service. For example the Login service may
require a Get ID operation. You can create operations in the Operations list on the service property sheet Children
tab.
The following properties are available on the Info tab in the General category:
Table 33:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Operation type Specifies the type of the operation. You can choose between:
● Notification
● One-way
● Request-Response
● Solicit-Response
Input Specifies the document or data required to start the service, which can be linked to an XML model to
define its format (see Documents, and Reports (EAM) [page 78])
Output Specifies the document or data returned by the service, which can be linked to an XML model to de
fine its format (see Documents, and Reports (EAM) [page 78])
SAP EA Designer lets you capture, analyze, visualize, and plan changes to the physical infrastructure that
supports your activities.
Table 34:
Tool Description
Hardware Server - A high availability resource machine. See Servers, Workstations, Mobile Devices, and
Network Nodes (EAM) [page 86].
Software Server - A commercial software environment. See Servers, Workstations, Mobile Devices, and
Network Nodes (EAM) [page 86].
Workstation - A client machine. See Servers, Workstations, Mobile Devices, and Network Nodes (EAM)
[page 86].
Mobile Device - A handheld client. See Servers, Workstations, Mobile Devices, and Network Nodes (EAM)
[page 86].
Network Node - A hardware component connected to a network. See Servers, Workstations, Mobile Devi
ces, and Network Nodes (EAM) [page 86].
Network - A LAN, WAN, or other kind of network. See Networks (EAM) [page 89].
Deployment Instance - An instance of an object defined elsewhere. See Deployment Instances (EAM)
[page 90].
A software server is a commercial software environment, which contains a set of applications and which can be
deployed to a hardware server. A hardware server is a device that serves data or other support to network devices
and which usually has higher specifications than client devices. A workstation is a client machine to which an
application or a server can be deployed. A mobile device is a portable client used remotely to access the network.
Network nodes represent other type of network objects (routers, switches, firewalls, modems, printers, faxes,
etc).
You can link an application or business service to any other object using the Link tool (see Linking EAM Objects
[page 60]). You can add the following kinds of objects to these objects:
For more information about grouping and organizing EAM objects, see Structuring EAM Objects [page 55].
Table 35:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Site Specifies the site to which the object is deployed. Click the Select tool and search for a site (see Refer
encing an Object in a Property Field or List [page 40]).
Multiple [hardware server, workstation and mobile device only] Specifies that the object represents multiple
machines.
Virtual [hardware server and workstation only] Specifies that the object represents a virtual machine. For
more information about creating virtual machines, see Modeling Cluster Servers and Virtual Machines
[page 88].
● Children - [except network nodes] Lists deployment instances and other sub-objects contained in the object.
● Depends On - Lists objects the object depends on.
● Impacts - Lists networks in which it is contained and other objects that the object impacts.
You can model complex machine-in-machine environments using the Type and Virtual properties.
To model virtual machines, create or drag a hardware server or workstation onto a hardware or software server or
a workstation and select the Virtual property for the child machines.
In the following example the hardware server, workstation, and software server each contain a virtual server and
virtual workstation:
In the following example, the cluster server contains four hardware server nodes:
A network allows computers to communicate with each other either locally or over large distances via
telecommunications.
To create a network, click the Network tool to select it, and then click in empty space or in an existing:
● Network
● Architecture area
● Networks
● Hardware servers, software servers, workstations, mobile devices
For more information about grouping and organizing EAM objects, see Structuring EAM Objects [page 55].
The following properties are available on the Info tab in the General category:
Table 36:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Site Specifies the site within which the network is located. Click the Select tool and search for a site (see
Referencing an Object in a Property Field or List [page 40]).
Deployment instances represent the deployment of software objects to physical systems. You can deploy a
system, application, application service, database, component, or form to multiple servers, workstations, or
mobile devices. If you do not want to specify physical systems, you can deploy your software to a software server
or architecture area, or simply to the diagram background.
In this example, the Managed Mobile Device used by the Employee contains an additional deployed
application:
1. Click the Deployment Instance tool (or any deployable application architecture tool) to select it, and then click
in an infrastructure object that can contain deployed objects:
Table 37:
Note
You can alternatively create a deployment instance outside of an infrastructure object in empty space or in
an architecture area.
2. To associate the deployment instance with its application object, click the Select tool to the right of the
Deployed Object field, and use the Search dialog to select the object to be deployed (see Referencing an
Object in a Property Field or List [page 40]).
Note
Dragging an existing application object onto an infrastructure object will create a deployment instance of it
there.
You can link a deployment instance to any other object using the Link tool (see Linking EAM Objects [page 60]).
Table 38:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Deployed Object Specifies the system, application, application service, database, component or form being deployed.
SAP EA Designer lets you visualize your organization's goals, how your EA projects will help fulfill them, and the
impacts those projects will have on your enterprise assets.
Table 39:
Tool Description
Goal and Project Toolbar - Click to show or hide the tools below.
Goal - A mission, vision, strategy, or objective. See Goals (EAM) [page 93].
Program - A high-level EA initiative. See Programs, Projects, and Phases (EAM) [page 93].
Project - An EA initiative. See Programs, Projects, and Phases (EAM) [page 93].
Goals allow you to model your organization's mission, vision, strategy, and objectives, to show how they are
related to your organization's business and IT architecture, and how they will be addressed through enterprise
architecture initiatives.
In this example, the Simplify goal contains sub-goals, one of which is partly fulfilled by the Upgrade ASE
project:
To create a goal, click the Goal tool to select it, and then click in empty space or in an existing goal. You can link a
goal to any other object using the Link tool (see Linking EAM Objects [page 60]).
The following properties are available on the Info tab in the General category:
Table 40:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Programs and projects represent EA initiatives that are intended to fulfill corporate goals and may impact
elements of your organization's business and IT architecture. Programs can contain sub-programs and projects,
and projects can contain phases.
In this example, the Cloud Cover program contains Project Xtant, which partially fulfills the Move CRM
Systems to the Cloud goal, and impacts a number of systems:
The following properties are available on the Info tab in the General category:
Table 41:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Start date/End date Specify the duration of the program, project, or phase.
IT Capital Expendi Specify values for each of these types of expenditure for the program, project, or phase.
ture/IT Operating Ex
penditure/Business
Expenditure
● Children - Lists sub-programs and projects contained in a program or phases contained in a project.
● Depends On - Lists goals that will be fulfilled by the initiative and other objects it depends on.
● Impacts - Lists objects that the initiative impacts.
You can specify the fulfillment of goals by projects (or programs or phases) by drawing a link from the project to
the goal. To specify a fulfillment percentage and comment, select the link and enter these values in its property
sheet. The list of goals fulfilled by the project is available on the project's Depends On tab, and the list of projects
fulfilling the goal is available on the goal's Impacts tab.
You can specify the impact of projects (or programs or phases) on your enterprise assets (organization, process,
application, and infrastructure architecture objects) by drawing a link from the project to the impacted asset. The
list of assets impacted by the project is available on the project's Impacts tab, and the list of projects impacting an
asset is available on the asset's Depends On tab.
A process map provides a graphical view of your business architecture, and helps you identify your business
functions and high-level processes, independent of the people and business units who fulfill them.
In this example of a top-level process map, the groupings Management, Core, and Support are defined in
architecture areas, and ten high-level processes are defined:
The 4. Demand to Cash and 8. Procure to Pay processes contain sub-maps, which you can enter by
clicking the plus symbols at the base of their symbols (see Creating a Multi-Level Process Map [page 98]).
To create a process map, click the + tile in your workspace (see Creating a Diagram from the Workspace [page
11]) or in a repository folder (see Creating a Diagram [page 15]).
Tool Description
To create a process, click the Process tool to select it, and then click in empty space or in an architec
ture area or business function. To create a second process following the first one, click the Process tool
in its context toolbar. You can create as many processes as necessary in a row in this way:
To create a second row of processes, click the Process tool in the end process context toolbar and drag
it down below the row before releasing it (or use the Process tool in the bottom toolbar):
● To align the start or end of a row of processes with another symbol, drag the first or last process
(without going beyond the upper or lower bounds of the row) and drop it when the guide line ap
pears. The other processes in the row move with it.
● To detach a process from its row, drag it beyond the upper or lower bound of its row.
● To change the order of a row of processes, drag one process and drop it after the process you want
it to follow. The other processes will make room for it if necessary:
Note
Processes receive a number when they are created. If you move processes around, the numbers
may no longer correspond to the desired order: You can modify the number of a process in the
Number ID field of its property sheet, and the other numbers will be updated to avoid duplica
tions and fill holes in the sequence where possible.
● To create a sub-map inside a process, double-click its symbol (see Creating a Multi-Level Process
Map [page 98]).
● To link a process to a business process diagram that models its steps, use the Diagrams tab (see
Linking Processes to Business Process Diagrams [page 99]).
Business Function - An aggregation of processes and/or sub-functions. See Business Functions [page
70].
To create a business function, click the Business Function tool to select it, and then click in empty space
or in an architecture area or business function. You can create sub-functions and processes inside the
function by selecting the appropriate tool and clicking in the function symbol:
Architecture Area - An abstract object for grouping other objects. See Architecture Areas [page 69].
To create an architecture area, click the Architecture Area tool to select it, and then click in empty space
or in an existing area. You can create sub-areas, functions, and processes inside the area by selecting
the appropriate tool and clicking in the area symbol:
Process maps are commonly maintained by process analysts who, starting from a top-level overview of business
areas and high-level functions, decompose top-level processes into sub-processes. Some or all of the processes
in the top-level map are decomposed into sub-processes containing sub-maps and so on down through a number
of levels. Architecture areas and business functions are only permitted in the top-level and cannot be created in
sub-maps.
To create a sub-map inside a process, double-click its symbol. Processes that you create in this sub-map are sub-
processes of the initial process and are listed on the Children tab of its property sheet. Their fully-qualified number
includes the number of the parent process as a prefix.
To go down into an existing submap, click the plus sign in the bottom center of the process symbol or zoom into
the process symbol until it fills the screen. To go back up to the parent map, click the Back arrow at the top-left of
the diagram viewer or zoom out till its scale is less than 20%.
Note
Process maps and any sub-maps contained in their processes are treated as a single diagram for simplicity
during publication and in the Repository browser. To bookmark a particular sub-map for easy access, pin it in
the Recently Viewed Diagrams list in your Workspace.
While you can decompose processes into sub-processes in a process map, it is common practice to model the
steps of lower-level processes in a business process diagram. The process map is commonly maintained by an
enterprise architect or process analyst, while the modeling of fourth-level process steps is often done by process
owners.
Context
Note
You must create the business process diagram before you can link it to a process in your process map.
Procedure
1. Select the process in the process map, and click the Diagrams tab of its property sheet.
2. Click the Add tool in the header of the Related Diagrams list to open the search dialog.
3. Search for the diagram that you want to link to the process, optionally filtering by location and other criteria
(see Referencing an Object in a Property Field or List [page 40]), and click Select to add it to the Related
Diagrams list.
The business process diagram is now associated with the process. You can navigate to it from the process by
double-clicking the process symbol.
Business process diagrams help you identify, describe, and decompose your processes into their component
steps.
Business Process Modeling Notation (BPMN) 2.0 is a standardized graphical notation intended to promote
communication between non-technical business users who must document their processes and developers
seeking to implement them using business execution languages. SAP EA Designer provides support for two
variants of BPMN 2.0:
● BPMN 2.0 Descriptive - Commonly used by process owners, BPMN 2.0 Descriptive is aimed at business users
and contains a subset of the BPMN 2.0 objects suitable for business process design and analysis.
● BPMN 2.0 Executable - Commonly used by process implementers, BPMN 2.0 Executable includes all the
standard BPMN 2.0 objects, and is aimed at technical modelers and those who are reverse-engineering from
SAP BPM or Eclipse BPMN2 Modeler.
Commonly used by process owners, BPMN 2.0 Descriptive is aimed at business users and contains a subset of
the BPMN 2.0 objects suitable for business process design and analysis.
SAP EA Designer supports creating BPMN 2.0 Descriptive process diagrams, which focus on the sequence flow in
a single process (which can be in a pool), and collaboration diagrams, which include two or more pools, with
messages passing between them:
Table 43:
Tool Description
Pool/Lane - Represents companies, departments, roles, sub-entities (see Pools and Lanes (BPMN Descriptive)
[page 102]).
Start Event - Initiates a process (see Start and End Events (BPMN Descriptive) [page 104]).
Task - Represents work performed within a process (see Tasks (BPMN Descriptive) [page 106]).
Gateway - Represents a decision or parallel actions and the reunification of the sequence flow (see Gateways
(BPMN Descriptive) [page 108]).
End Event - Terminates a process (see Start and End Events (BPMN Descriptive) [page 104]).
Data Store - Represents a database, filing cabinet or other data container (see Data (BPMN Descriptive) [page
111]).
Data Object - Represents a report, document, or other piece of data used in the process (see Data (BPMN De
scriptive) [page 111]).
● Sequence Flow - Links two elements (events, activities, gateways) to show the progress in a process.
● Message Flow - Links a pool (or one of its activities) to another pool (or one of its activities), and passes a
message between them.
● Data Association - Links a data object to an task or event.
File Object - Represents any application file (see File Objects [page 231]).
Pools represent companies, departments, or roles. Lanes represent sub-entities within these organizations and
appear as swimlanes inside the pool. Many BPMN diagrams contain one or more pools, with all the other objects
placed in the lanes of these pools.
Note
Pools can be vertical (top to bottom) or horizontal (left to right). You can change the orientation of your
diagram (if it does not contain any pools) by selecting Menu Change Pool to Horizontal/Vertical .
To create a pool, click the Pool/Lane tool to select it, and then click in empty space in the diagram. A start is
automatically created in the pool (see Start and End Events (BPMN Descriptive) [page 104]).
Each lane in the primary pool represents a department or other sub-entity within the organization:
BPMN diagrams may contain a second pool to represent a partner, such as a customer or supplier with whom the
organization interacts. To create a second pool, click the Pool/Lane tool to select it, and then click in empty space
in the diagram:
Note
You can drag lanes from one pool to another, or into empty space to create a new pool, and lanes can be reused
and appear in multiple different pools.
Table 44:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Multi-instance [pools] The pool represents multiple instances of the specified role.
A process begins with a start event and terminates with one or more end events.
To create a start, click the Start tool to select it, and then click in the diagram.
By default, a standard start is created. To change the type of the start, select it, click the Properties tool, and
select the appropriate type. In BPMN 2.0 Descriptive, the following types of start events are available:
Table 45:
Symbol Description
Undefined Start Event - The process simply starts without any specific triggering event.
Message Start Event - The process begins following receipt of a message, such as an order or enquiry.
Timer Start Event - The process begins on a specific date or at a specific time, such as Monday morning
at 9am.
Note
If you do not specify a name for your event and merely accept the default name, no name will be displayed
under the symbol in the diagram. To subsequently specify a name to appear in the diagram, select the event
symbol and press F2 or enter a name in the property sheet.
To create an end:
● Select an object in the diagram and click (or click and drag) the End tool in its context toolbar to create a new
end after it in the control flow, or
● Click the End tool in the bottom toolbar and then click in the diagram.
By default, a standard end is created. To change the type of end, click the Properties tool and select a type from
the list. In BPMN 2.0 Descriptive, the following types of ends are available:
Table 46:
Symbol Description
Standard End Event - The process simply ends when all of the tasks are completed.
Message End Event - The process terminates by sending a message, such as a quotation, invoice, or re
port.
Terminate End Event - All tasks in any parallel sequence flows are terminated immediately when one
branch reaches a terminate end event.
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
The main contents of a process are the tasks that are performed during its execution.
To create a task:
● Select an object in the diagram and click (or click and drag) the Task tool in its context toolbar to create a new
task after it in the control flow, or
● Click the Task tool in the bottom toolbar and click in the diagram.
The task is created with its default name highlighted, ready for you to enter an appropriate name.
Table 48:
Symbol Description
Service Task - A task performed by an application or web service without any human input.
Call Activity - A task which reuses a globally defined process. For example, you may define the login proc
ess and then reuse it in multiple processes (see Call Activities (BPMN Descriptive) [page 108]).
Sub-Process - A task that is, itself, broken down into subtasks (see Sub-Processes (BPMN Descriptive)
[page 107]).
Table 49:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Reusable process Specifies that the task can be referenced for reuse by a call activity (see Call Activities (BPMN
Descriptive) [page 108]).
Called object [Call Activities] Specifies the global task or process that is reused by the call activity.
A sub-process is a task that is broken down into sub-tasks. For example, you may break the Log In task into the
sub-tasks Enter User Name and Enter Password.
To create a sub-process:
● Select an object in the diagram and click (or click and drag) the Task tool to create a new task after it in the
control flow, or
● Click the Task tool in the bottom toolbar and click in the diagram.
Enter a name for the task and then click the Properties tool to change its type, and select Sub-Process.
To begin to specify the details of the sub-process, click the Start tool in the bottom toolbar and click in the sub-
process symbol to create the start inside it:
Note
When you hover over the sub-process, its border is highlighted in green to indicate that you are about to create
an object inside it.
Add tasks and other objects as necessary to complete the definition of the sub-process:
Note
Objects created inside a sub-process are listed on the Children tab of its property sheet.
Call activities are tasks that reuse an existing global process or task. For example, you may define a process called
Log In and then reuse it in various other processes.
● Select an object in the diagram and click (or click and drag) the Task tool in its context toolbar to create a new
task after it in the control flow, or
● Click the Task tool in the bottom toolbar and click in the diagram.
Enter a name for the task and then click the Properties tool in its context toolbar to change its type, and select
Call Activity.
To specify the task that will be reused, go to the Called object field on the Info tab, click the Select tool and search
for a task to call (see Referencing an Object in a Property Field or List [page 40]).
Note
Only tasks that have the Reusable Process property selected can be called.
Gateways control the sequence flow of the process, and can split or merge the flow to show many decisions or
simultaneous actions are required.
To create a gateway:
● Select an object in the diagram and click (or click and drag) the Gateway tool in its context toolbar to create a
new gateway after it in the sequence flow.
● Click the Gateway tool in the bottom toolbar and click in the diagram.
Table 50:
Symbol Description
Exclusive gateway - Only one outgoing branch is performed, depending on the condition.
Click a tool on the gateway's context toolbar to create a task or other object after it in the control flow:
To create a second object in a new branch, reselect the gateway and click and drag a tool on its context toolbar to
place the second object in a suitable position. By preference its flow should depart from a different corner of the
gateway symbol:
To specify a condition on a sequence flow connecting the gateway to an object, select the flow and enter an
appropriate value in the Condition Alias field in the Properties panel. The value is displayed in the diagram on the
sequence flow near to the gateway:
Gateways are also used to merge sequence flows when two or more parallel or exclusive flows reunite to continue
the process. In this case the two types of gateway have the following meanings:
Table 51:
Symbol Description
Exclusive gateway - Waits for one incoming branch to complete before continuing.
Parallel gateway - Waits for all incoming branches to complete before continuing.
In this example, one of the approval tasks will arrive at the final exclusive gateway, which then triggers the sending
of the purchase order:
Table 52:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
To create a data object, click the Data Store or Data Object tool in the bottom toolbar to select it and click in the
diagram.
Data store - A database, filing cabinet, or other location from which the process can read or to which it
can write data, and which persists beyond the lifetime of the process instance.
To show a task (or other object) reading from a data object or data store, click the data and then click and drag
the Link tool from its context toolbar and drop it onto the task to create a data association (a dashed line) pointing
to the task:
To show a task (or other object) writing to a data object or data store, click the task and then click and drag the
Link tool from its context toolbar and drop it onto the data to create a data association pointing to the data:
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Collection [data objects] Specifies that the object represents a collection of elements.
Capacity / Unlimited [data stores] Specify the capacity of the store either as a numeric value or as unlimited.
Sequence flows are solid lines with an arrow at one end, which link the elements in a process in the diagram or in a
single pool and show the order in which they are performed. Message flows are dotted lines with an arrow at one
end, which link two separate pools (or elements in two separate pools) and show the direction in which the
message is sent.
A sequence or message flow is created automatically when you create an object from the context toolbar of
another object. To create a sequence flow explicitly:
● Select an object in the diagram, click the Link tool in its context toolbar, and drag it to another element in the
same pool, or
● Click the Link tool in the bottom toolbar to select it, and then click and drag from one element to another in a
single pool.
● Select an object in the diagram, click the Link tool in its context toolbar, and drag it to another pool (or an
element in another pool), or
● Click the Link tool in the bottom toolbar to select it and then click and drag from one pool (or an element in the
pool) to another pool (or an element in the other pool).
Table 55:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, enter
a new code in the Code field.
Source/ Destination Specify the objects that are linked by the flow. For sequence flows, the source object comes before the
destination object in the process. For message flows, the source object emits the message and the des
tination object receives it.
Condition [sequence flows] Specifies the condition that must be fulfilled for the process to take this branch fol
lowing a gateway.
Commonly used by process implementers, BPMN 2.0 Executable includes all the standard BPMN 2.0 objects, and
is aimed at technical modelers and those who are reverse-engineering from SAP BPM or Eclipse BPMN2 Modeler.
In the following example collaboration diagram, the interactions between the staff of a pizza restaurant and a
customer are analyzed:
In the following example process diagram, the booking process internal to a travel agency is analyzed:
Table 56:
Tool Description
Pool/Lane - Represents companies, departments, roles, sub-entities (see Pools and Lanes (BPMN Descriptive)
[page 102]).
Start Event - Initiates a process (see Start, Intermediate, and End Events (BPMN Executable) [page 117]).
Activity - Represents work performed within a process (see Activities (BPMN Executable) [page 120]).
Intermediate Event - Happens during and influences the course of a process (see Start, Intermediate, and End
Events (BPMN Executable) [page 117]).
Gateway - Represents a decision or parallel actions and the reunification of the sequence flow (see Gateways
(BPMN Executable) [page 122]).
End Event - Terminates a process (see Start, Intermediate, and End Events (BPMN Executable) [page 117]).
Data Store - Represents a database, filing cabinet or other data container (see Data and Data References (BPMN
Executable) [page 123]).
Data Object - Represents a report, document, or other piece of data used in the process (see Data and Data Ref
erences (BPMN Executable) [page 123]).
● Sequence Flow - Links two elements (events, activities, gateways) to show the progress in a process.
● Message Flow - Links a pool (or one of its activities) to another pool (or one of its activities), and passes a
message between them.
● Data Association - Links a data object to an activity or event.
File Object - Represents any application file (see File Objects [page 231]).
Pools represent companies, departments, or roles. Lanes represent sub-entities within these organizations and
appear as swimlanes inside the pool. Many BPMN diagrams contain one or more pools, with all the other objects
placed in the lanes of these pools.
BPMN Executable pools and lanes behave in the same way as those in BPMN Descriptive (see Pools and Lanes
(BPMN Descriptive) [page 102]).
An event is something that happens during the course of a process. Events include the start and end of an activity,
and any other intermediate happenings (such as a change of state or receipt of a message) which will affect its
sequence or timing.
In BPMN 2.0 Executable, various different types of start, intermediate and end events can be created depending
on the context, and their type is indicated by their symbols:
● None - Untyped events, which indicate start points, state changes, and final states.
● Message - Receiving and sending messages.
● Timer - Cyclic timer events, points in time, time spans, or timeouts.
● Escalation - Escalating to a higher level of responsibility.
● Conditional - Reacting to changed business conditions or integrating business rules.
● Start events - can be created directly in the diagram, in a pool or lane, in a standard or transaction sub-
process (standard starts only), or in an event-based sub-process. Use the Start Event tool in the bottom
toolbar. To change the type, click the Properties tool in its context toolbar and select the appropriate type.
Note
Start events are not permitted in ad hoc sub-processes.
Note
To make an event-based sub-process start event non-interrupting (with the dashed outer circle), deselect
the Interrupting property.
● Intermediate catch events - can be created directly in the diagram, in a pool or lane, or in any type of sub-
process. Use the Intermediate Catch Event tool in the context toolbar or the bottom toolbar to create the
event. To change the type, click the Properties tool in its context toolbar and select the appropriate type.
● Intermediate boundary events - can be created on the edge of a task or of any type of sub-process. Use the
Intermediate Catch Event tool in the context toolbar or the bottom toolbar, and click on the border of the task
or sub-process. To change the type, click the Properties tool in its context toolbar and select the appropriate
type.
Note
To make an intermediate boundary event non-interrupting (with the dashed outer circles), deselect the
Interrupting property.
● Intermediate throw events - can be created directly in the diagram, in a pool or lane, or in any type of sub-
process. Use the Intermediate Catch Event tool in the context toolbar or the bottom toolbar, select the
Properties tool from its context toolbar, select Intermediate Throw Event to change to the throw type, and
then select the Properties tool again and select the appropriate type of throw event.
● End events - can be created directly in the diagram, in a pool or lane or in any type of sub-process. Use the
End Event tool in the context toolbar or the bottom toolbar. To change the type, click the Properties tool in its
context toolbar and select the appropriate type.
Note
End events are not permitted in ad hoc sub-processes. Cancel end events are only permitted in
transactions.
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Interrupting While most events interrupt the process modeled, event sub-process starts and intermediate boun
dary events can be specified as non-interrupting by deselecting this property. Non-interrupting
events are marked by dashed outer circles.
Message [message events] Specifies the message that is associated with the event (see Messages (BPMN Ex
ecutable) [page 125]).
Note
If you do not specify a name for your event and merely accept the default name, no name will be displayed
under the symbol in the diagram. To subsequently specify a name to appear in the diagram, select the event
symbol and press F2 or enter a name in the property sheet.
To create an activity:
● Select an object in the diagram and click (or click and drag) the Task tool in its context toolbar to create a new
activity after it in the control flow, or
● Click the Task tool in the bottom toolbar and click in the diagram.
The activity is created with its default name highlighted, ready for you to enter an appropriate name.
By default, an abstract task is created. To change the type of activity, click the Properties tool and select a type
from the list. In BPMN 2.0 Executable, the following types of activities are available:
Table 58:
Symbol Description
Send task - Sends a message to a participant external to the process. Once the message has been sent, the
task is completed.
Receive task - Waits for a message to arrive from a participant external to the process. Once the message has
been received, the task is completed.
User task - A human performer performs the task with the assistance of a software application and is sched
uled through a task list manager of some sort.
Manual task - A task that is performed without the aid of any business process execution engine or any appli
cation. For example, a telephone technician installing a telephone at a customer location.
Business rule task - Sends input to a business rules engine and receives the output of the engine's calcula
tions.
Transaction - Set of activities that logically belong together, and which might follow a specific transaction pro
tocol.
Call activity - Wrapper for a globally defined sub-process or task that is reused in the current process (see
Call Activities (BPMN Descriptive) [page 108]).
Sub-process - An activity whose internal details have been modeled using activities, gateways, events, and
sequence flows (see Sub-Processes (BPMN Descriptive) [page 107]).
Event sub-process - An activity that is activated when its start event is triggered, and can interrupt the higher
level process context or run in parallel (non-interrupting) depending on the start event.
Ad hoc sub-process - A specialized type of sub-process that is a group of activities that have no required se
quence relationships, and whose sequence and number are determined by the performers of the activities.
Table 59:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Reusable process Specifies that the process can be referenced by a call activity (see Call Activities (BPMN De
scriptive) [page 108]).
Start quantity/ Completion Specify the number of tokens that must arrive before the activity can begin and the number of
quantity tokens that must be generated from the activity. The default value is 1 and it is only changed in
very advanced modeling situations.
Loop characteristics Specifies that the activity may be repeated in one of the following ways:
● <none> - default
● Loop
● Multi-Instance parallel
● Multi-Instance sequential
Compensation Specifies that the activity is intended for the purposes of compensation.
Called object [Call Activities] Specifies the global task or process that is reused by the call activity.
Gateways control the sequence flow of the process, and can merge or split the flow as dictated by the gateway
conditions.
To create a Gateway:
● Select an object in the diagram and click (or click and drag) the Gateway tool in its context toolbar to create a
new gateway after it in the sequence flow, or
● Click the Gateway tool in the bottom toolbar and click in the diagram.
By default, an exclusive gateway is created. To change the type of gateway, click the Properties tool and select a
type from the list. In BPMN 2.0 Executable, the following types of gateways are available:
Table 60:
Symbol Description
Normal/Exclusive gateway - When splitting, routes the flow to one outgoing branch. When merging, waits
for one incoming branch to complete before triggering the outgoing flow.
Parallel gateway - When splitting, activates all outgoing branches simultaneously. When merging, waits for
all incoming branches to complete.
Inclusive gateway - When splitting, activates one or more branches. When merging, waits for all incoming
branches to complete before merging.
Event-based gateway - Followed by catching events or receive tasks and routes the flow to whichever of
these happens first.
Exclusive event-based gateway - Starts a new process instance for each occurrence of a subsequent event.
Parallel event-based gateway - Starts a new process instance for the occurrence of all subsequent events.
Complex gateway - Treats complex merging or branching behavior not covered by other gateways.
Table 61:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, enter
a new code in the Code field.
Direction Specifies how the gateway may be used. You can select:
● Unspecified - The gateway may have any number of incoming and outgoing sequence flows.
● Converging - The gateway may have multiple incoming sequence flows but must have no more
than one outgoing sequence flow.
● Diverging - The gateway may have multiple outgoing sequence flows but must have no more
than one incoming sequence flow.
● Mixed - The gateway contains multiple outgoing and multiple incoming sequence flows.
Expression / Expres Specifies the condition that will be evaluated to decide which path the process follows following the
sion alias gateway. The alias provides a short version of the condition which is displayed under the gateway in the
diagram.
Data are physical or information items that are created, manipulated, or otherwise used during the execution of a
process. Data references are objects that reference data objects for reuse.
Note
SAP EA Designer does not support the association of data objects with sequence flows.
To create data, click the Data Store or Data Object tool in the bottom toolbar to select it and click in the diagram.
Table 62:
Symbol Description
Data object / Collection data object - Information flowing through the process.
Data input / Collection data input - External input for the entire process, which can be read by an activity.
Data output / Collection data output - Variable available as the result of the entire process.
Data store - Place where the process can read or write data, such as a database or filing cabinet, and
which persists beyond the lifetime of the process instance.
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, enter
a new code in the Code field.
Capacity/ Unlimited [data stores] Specify the size of the data store or the fact that it has an unlimited capacity.
Data object [data references] Specifies the data object to reference. Select an object from the list, or use the tools
to the right of this field to create, delete, select an object, or review the properties of the selected ob
ject.
State [data references] Specifies the state of the data object. You can select:
● Initial
● Processing
● Completed
Collection Specifies that the data object represents a collection of data, such as a list of order items.
Table 64:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical users,
while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Transformation type Specifies the direction of the transfer of the item-aware element (see Item-Aware Elements (BPMN
Executable) [page 126]):
● Input - Specifies a read. The data association goes from the data object to the activity.
● Output - Specifies a write. The data association goes from the activity to the data object.
Source item [Output] Specifies the item-aware element (of type Data Output) defined on the activity to be
transferred from it to the data object.
Target item [Input] Specifies the item-aware element (of type Data Input) defined on the activity to be
transferred to it from the data object.
Correlation keys are sets of correlation properties used to associate a message to a particular instance of a
process.
To create a correlation key, click the Create tool to the right of the Correlation key field in the General section of a
message flow property sheet Info tab.
BPMN executable correlation keys and correlation properties can have the following properties:
Table 65:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
The correlation properties regrouped in the correlation key are listed on the Depends On tab.
A message represents the content of a communication between two participants, and is passed along a message
flow.
To create a message, click the Create tool to the right of the Message format field in the General section of a
message flow property sheet Info tab.
Table 66:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Table 67:
Property Description
Message format Specifies the format of the message. You can enter your own format or choose one of the following:
type
○ XML Schema
○ DTD
○ RELAX NG
Item-aware elements are variables used to store or convey information during process execution. You can
associate these elements with processes, activities, and events.
To create an item-aware element, use the Add tool above the appropriate list in the Children tab of a process,
activity, or event property sheet.
The different types of element are available in the following types of object:
Table 68:
Object Property Data Object / Data Data Input Data Output
Reference
Composite processes X X X X
Tasks X X X
Table 69:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Sequence flows are solid lines with an arrow at one end, which link the elements in a process in the diagram or in a
single pool and show the order in which they are performed. Message flows are dotted lines with an arrow at one
end, which link elements in two separate pools and show the direction in which the message is sent.
For information about creating sequence and message flows, see Sequence and Message Flows (BPMN
Descriptive) [page 113]. BPMN executable sequence and message flows can have the following properties:
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, enter
a new code in the Code field.
Source/ Destination Specify the objects that are linked by the flow. For sequence flows, the source object comes before the
destination object in the process. For message flows, the source object emits the message and the des
tination object receives it.
Condition [sequence flows] Specifies the condition that must be fulfilled for the process to take this branch fol
lowing a gateway.
Message format [message flows] Specifies the message that transits the flow (see Messages (BPMN Executable) [page
125])
Correlation key [message flows] Specifies the correlation key used to associate the message to a particular instance of
a process (see Correlation Keys (BPMN Executable) [page 124]). In a conversation diagram, each flow
must have the same key as the conversation node to which it is connected.
Correlation property [message flows] Specifies the correlation property that acts as the unique identifier for this instance of
the message .
SAP EA Designer can import and export BPMN 2.0 files, with a particular emphasis on supporting SAP BPM and
the Eclipse BPMN2 Modeler.
Context
SAP EA Designer supports round-trip importing and exporting of SAP BPM v7.3 and higher BPMN 2.0 files and
makes your process models available for browsing and importing directly into the SAP NetWeaver Developer
Studio Process Composer v7.3 EHP1 SP15 or higher.
To import a BPMN 2.0 file, navigate to the appropriate repository folder and then click the Menu tool and select
Import BPMN2 File.
Note
You can also import a BPMN 2.0 file into an existing diagram. The import will overwrite any existing content in
your diagram.
To export a BPMN 2.0 diagram, click the Menu tool and then select Export BPMN2 File.
The following BPMN 2.0 objects are supported in import and export:
The following BPMN2 objects are not supported for modeling or in import and export:
SAP EA Designer supports importing a SAP BPM v7.3 or higher process for editing in a new business process
model.
Procedure
1. Start SAP NetWeaver Developer Studio and expand the Process Modeling folder.
2. Expand the Process folder, right-click a process, and select Exporting for BPMN 2.0....
3. Select a file folder and name, and then click Export.
4. Open SAP EA Designer, click the Repository tile, and navigate to the folder where you want to create the
diagram. Click the Menu tool and select Import BPMN2 File, navigate to the file you exported from NetWeaver,
select it, and click Open to import it as a new diagram.
SAP EA Designer supports exporting a BPMN 2.0 business process diagram as a process to SAP BPM v7.3 or
higher.
Context
Note
SAP EA Designer makes your process models available for browsing and importing directly into the SAP
NetWeaver Developer Studio Process Composer v7.3 EHP1 SP15 or higher without the need to perform an
export. For further information, see SAP BPM Developer’s Guide Modeling Processes with Process Composer at
http://help.sap.com/saphelp_nw73ehp1/helpdata/en/ff/165a665c16482e9c282ce6b0e67776/frameset.htm
Procedure
1. In SAP EA Designer, open your BPMN 2.0 diagram, click the Menu tool, and then select Export BPMN2 File.
The BPMN 2.0 file is saved to your default download folder.
2. Start SAP NetWeaver Developer Studio and create a new Process Composer Development Component
project.
3. Expand the Process Modeling folder, right-click the Processes folder, and select Importing BPMN 2.0
diagram....
4. Navigate to the file you exported from SAP EA Designer, select it, and click Open to import it.
Physical data models help you analyze and optimize the structure of your database. You can reverse-engineer any
supported database to create a physical data model. Generation to SAP HANA, directly to the catalog, or to Web
IDE via HDI is also supported.
SAP EA Designer supports data architects, providing tools for modeling HANA and non-HANA data schemas to
document, transform, and rationalize the enterprise information landscape, and streamlining their
communication with developers working with SAP Web IDE for SAP HANA.
You can quickly plan and design your data architecture as HDI artifacts, initiate calculation views, and generate
them with their associated data sources for development and deployment through Web IDE. Support for reverse-
engineering HDI files from Web IDE as well as HANA catalog objects and non-HANA DBMS schemas allows you to
open up data silos and connect them with your organization’s landscapes, strategies, requirements, and
processes.
SAP EA Designer provides two types of SAP HANA physical data models to allow you to interact with Web IDE or
directly with the HANA catalog:
● Database (SAP HANA 2.0 HDI) - for modeling CDS entities, calculation views, and other HDI artifacts.
You can reverse-engineer from and generate to Web IDE via HDI files (see SAP HANA 2.0 Deployment
Infrastructure (HDI) [page 135]).
● Database (SAP HANA 2.0 Database) - for modeling tables and other catalog artifacts. You can reverse-
engineer from and generate to the HANA catalog via JDBC connection (see SAP HANA 2.0 Database [page
152].
The following DBMS versions are supported with the following features:
Table 73:
DBMS Reverse Database Generate Report Generate Model Generate Data
base
SAP HANA 2.0 HDI Yes (files) Yes Yes Yes (files)
SAP HANA 2.0 Database Yes (jdbc) Yes Yes Yes (jdbc / script)
Context
Procedure
1. Create a database diagram to contain your existing non-HANA database (see Creating a Diagram [page 15]).
2. Select Menu Reverse-Engineer Database , connect to your database, select the objects to reverse, and
click Reverse (see Reverse-Engineering a Database [page 226]).
5. Select Menu Generate Model , specify a name, select the Database (SAP HANA 2.0 HDI) type and
click Generate to generate a new model (see Creating a New Data Model by Generation [page 228]) in which
your tables are transformed into CDS entities.
Note
You can alternatively generate to a Database (SAP HANA 2.0 Database) diagram to generate HANA
tables directly, but you will need to create a Database (SAP HANA 2.0 HDI) diagram if you want to
initialize calculation views in SAP EA Designer.
6. Review your generated entities and modify them as necessary (see SAP HANA 2.0 Deployment Infrastructure
(HDI) [page 135]).
7. [optional] Initialize calculation views to consume your generated entities (see Calculation Views (HDI) [page
144]).
8. Save and publish your Database (SAP HANA 2.0 HDI) diagram.
9. Reopen the diagram and select Menu Generate HDI Files to generate a zip file containing all your HDI
artifacts (see Generating HDI Files from Your Model [page 150]).
10. Import the zip file into Web IDE, review, complete, and activate your artifacts.
SAP EA Designer supports reverse-engineering your calculation views along with their sources, linking them to
your organization's landscapes, strategies, requirements, and processes and performing impact analysis on
them.
Context
Procedure
4. Create a Database (SAP HANA 2.0 HDI) diagram, select Menu Reverse-Engineer HDI Files ,
navigate to and select your HDI project zip file, and click Reverse (see Reverse-Engineering HDI Files to Your
Model [page 151]).
5. [optional] Create links between your HDI artifacts and other artifacts (see Traceability Links [page 233]).
6. Review your reversed HDI artifacts and save and publish your diagram (see Publishing Diagrams [page 34]).
SAP EA Designer supports the creation of SAP HANA 2.0 HDI physical data models manually, by reverse-
engineering HDI files, or by generation from another data model. You can model CDS artifacts and calculation
views and generate HDI files for import to Web IDE for activation.
SAP EA Designer supports generation to and reverse engineering from Web IDE of HDI artifacts via HDI files.
Note
Round-trip regeneration of objects reverse-engineered from Web IDE is not supported.
Note
CDS Views, anonymous types, enumerations and other more technical CDS concepts are not supported.
To create a HANA HDI physical data model, click the + tile in your workspace (see Creating a Diagram from the
Workspace [page 11]) or in a repository folder (see Creating a Diagram [page 15]), enter a name, select Database
(SAP HANA 2.0 HDI), and click Create.
The following objects can be created in HANA HDI physical data models:
Table 74:
Tool Details Can Be Created
In
None Simple Types. See Simple Types (HDI) [page 147]. Context
Packages. See Packages [page 232]. Packages in HDI are equivalent to folders in Web Root/Package
IDE.
Contexts provide a way of structuring your CDS artifacts. One file is generated for each top-level context.
Procedure
1. Click the Context tool in the bottom toolbar to select it and then click the diagram (or select an existing
context and click the Context tool in its context pad).
2. Enter the following properties in the property sheet in the Info tab General section:
Table 75:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Custom usings If you define an artifact in one context by referring to an artifact that is defined in another context
that is present in a model in the SAP EA Designer repository, the appropriate using statement is
automatically created. Enter any other required usings here.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
○ Preview - Displays the code that will be generated for the object.
4. Double-click the context symbol to open its diagram.
Note
To go back up to the parent diagram, click the Previous View tool on the left of the top toolbar.
A CDS entity is a table with a set of data elements that are organized using columns and rows. You can create
entities at the model root or under a context. One file is generated for each top-level entity not in a context.
Procedure
1. Click the Entity tool in the bottom toolbar to select it and then click the diagram (or select an existing context
and click the Entity tool in its context pad).
An entity is created and its default name selected for overwriting. Entering a name and pressing Tab creates
an element. Entering a name for the element and pressing Tab allows you to specify its data type. You can
continue pressing Tab to create elements as necessary.
2. Enter the following properties in the property sheet in the Info tab General section:
Table 76:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Type Specifies the type of the activated table. You can choose between:
○ Row - [default] If the majority of table access involves selecting a few records, with all attributes
selected, ROW-based storage is preferable.
○ Column - If the majority of table access will be through a large number of tuples, with only a few
selected attributes, COLUMN-based storage should be used.
○ Global temporary - The table definition is globally available while data is visible only to the
current session. The table is truncated at the end of the session.
Unload priority Specifies the unload priority for the activated table from 0 to 9, where 0 means the table cannot be
unloaded and 9 means earliest unload.
Custom usings [top-level entities] If you define an artifact in one context by referring to an artifact that is defined in
another context that is present in a model in the SAP EA Designer repository, the appropriate using
statement is automatically created. Enter any other required usings here.
Procedure
1. Select an entity or structured type symbol and click the Add Element tool in its context pad.
You can also add elements in the entity or structured type property sheet by clicking the Children tab and
using the Add tool above the Elements list. Click the element name to display its property sheet.
2. Enter the following properties in the Info tab General section:
Table 77:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Data type / Specifies the data type of the element. Select a standard data type from the list, click Select to select
Length / Scale a simple or structured type, or Create to create a new simple type. Certain data types require you to
specify a length and scale.
Default value Specifies the default value assigned to the element. Select a constant from the list, click Select to
search for a constant outside of the context, or Create to create a new constant.
Key Specifies that the element forms part of the primary key of the entity.
○ @Annotations - Specifies standard CDS and custom user annotations for the object.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
Procedure
1. Select an entity symbol to display its property sheet, select the Children tab and click the Add tool above the
Indexes list. Click the index name to display its property sheet.
2. Enter the following properties in the Info tab General section:
Table 78:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
4. Click the Children tab, and click the Add tool above the Index Elements list to select the elements to be
associated with the index.
Procedure
1. Select the source entity to display its context pad, click on the Link tool and drag and drop the end of the link
on the target entity. SAP EA Designer adds a new attribute with the name of the target entity to the source
entity and sets its data type to <target entity>.
2. Select the association link to display its property sheet.
3. Review the following properties in the Info tab General section:
Table 79:
Property Description
Associated ele Specifies the element containing the association, its parent entity, and the cardinality at the source
ment / Source en end of the association.
tity / Cardinality
Target entity / Specifies the entity to which the association points and the cardinality at the target end of the associ
Cardinality ation.
4. In the Details section, specify whether the association is managed (default - select association keys) or
unmanaged (specify a join condition).
In this example, the six Address elements are created through managed associations drawn from the
Person entity to the Address entity (which uses the StreetAddress and CountryAddress structured
types):
Table 80:
[default] Implicitly use the target entity's primary key as Address_1: Association to Address;
foreign key.
To explicitly specify the target entity's primary key (e.g. Address_2: Association to Address
id), as the association key, click the Children tab, click the { id };
Add tool above the Association Keys list, select the element
in the dialog, and click Select.
To specify one or more other elements (e.g. zipcode, Address_3: Association[1] to Address
street, and country) from the target entity as assoca { zipCode, street, country };
To specify a cardinality for the association (e.g. 0..*), se Address_4: Association[0..*] to
lect it in the Cardinality field in the General section.
Address { zipCode };
To specify an alias for any of the association keys, enter it in Address_6: Association[*] to Address
the Alias column in the list. { street.name as streetName,
country.name as countryName };
In this example, the inhabitants element is defined by an unmanaged association, drawn from the Room
entity to the Employee entity:
Table 81:
In the Info tab Details section, select Unmanaged in the inhabitants: Association[*] to
Association type list and enter the appropriate condition in
Employee on id = inhabitants.officeId;
the Join condition field.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
A calculation view can perform complex calculations and can have entities, virtual tables, tables, and other
calculation views as sources. You can create a calculation view at the model root or in a standard package, but not
under a context.
Context
SAP EA Designer provides support for the data architect working with calculation views as follows:
● Initiation of graphical calculation views with multiple sources (but a single main source) based on references
between sources, join nodes, and projection lists and generation to Web IDE for completion and activation.
● Reverse-engineering of calculation views with sources and projection lists and, where possible, intermediate
join nodes, for inclusion in impact analysis (see Reversing Calculation Views for Impact Analysis [page 134]).
Note
Round-trip regeneration of calculation views reversed from Web IDE is not supported.
Procedure
1. Click the Calculation View tool in the bottom toolbar to select it and then click the diagram to create the
calculation view.
2. Click the Add Data Source Column tool in the calculation view context pad.
The Select Calculation View Main Source dialog opens to show all the potential sources in the current model.
To choose a main data source from another HANA 2.0 HDI or HANA 2.0 Database model, select it on the
Location tab in the left pane.
3. Select the main data source for your calculation view.
You can choose one of the following types of objects as your main data source:
Table 82:
4. Click Select to open the Projection List Elements dialog, which allows you to select elements for the projection
list in this source and other sources it points to.
5. Select elements/columns from the main data source to include in the projection list.
6. Expand the tree in the left pane to display other sources that the main source points to and select elements/
columns from them to include in the projection list.
○ The objects selected as sources are added to the read-only View Data Sources list on the Depends On tab.
○ All of the columns from the sources required to construct the projection list are added to the read-only
Referenced Columns list on the Depends On tab.
○ The columns selected for the projection list are added to the Calculation View Columns list on the Children
tab, and displayed in the view symbol.
10. [optional] Use the tools above the Calculation View Columns list to modify the list:
○ Add - Add a new calculated calculation view column to the list, complete its properties, including a
formula to perform the calculation. Calculated columns only appear in this list and the symbol. They do
not appear in the Projection List Elements dialog.
○ Delete - Delete a column from the projection list.
○ Move Up/Move Down - Reorder the columns in the projection list.
11. Review the following properties in the Info tab General section:
Table 83:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Dimensional Type Specifies the type of the calculation view. You can choose between:
○ Cube - [default].
○ Dimension
Calculation view columns appear in the projection list. They are generally created through the Projection List
Elements dialog, but calculated columns must be created manually in the Calculation View Columns list on the
calculation view property sheet Children tab.
Calculation view columns have the following properties in the Info tab General section:
Table 84:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while the
Comment code, which is used for generating code or scripts, may be abbreviated, and should not normally include
spaces. You can optionally add a comment to provide more detailed information about the object. By de
fault the code is synchonized with the name. To decouple name-code synchronization, enter a new code
in the Code field.
Measure / Aggre Specifies that the column is a measure. Choose the required aggregation from the list.
gation
Calculated / For Specifies that the column is calculated. Enter the required formula.
mula
Note
The formula of a calculated column created in SAP EA Designer can only reference columns that are
present in the Calculation View Columns list.
Data type / Specifies the data type of the element. Select a standard data type from the list, click Select to select a
Length / Scale simple or structured type, or Create to create a new simple type. Certain data types require you to spec
ify a length and scale.
● Definition - The Description field provides detailed information about the object, while Annotation can be used
to keep track of its evolution.
● Version Info - Provides information about the creation, modification, and location of the object in the
repository.
You can draw view references from a calculation view to another calculation view in the diagram to define a join
between them and allow you to display them together in the hierarchy in the Projection List Elements dialog.
Procedure
1. Select the calculation view in the diagram to display its context pad.
2. Click the Link tool, drag it to another calculation view, and then drop it to create a view reference.
3. Select the view reference to display its property sheet and click the Children tab.
4. Expand the View Reference Joins list and click the Add tool to create a join.
5. Select a parent column and child column to define how the views are joined together.
The two calculation views can now be displayed in the hierarchy in the Projection List Elements dialog to act as
sources to a third calculation view.
A simple type is a user-defined data type for your entity elements. Simple types can be created inside a context.
Procedure
1. Select a context symbol to display its property sheet, and click the Children tab, which lists all the objects in
the context. If the Simple Types section is not visible, click the Show/Hide Section button and select it in the
list to add it. Click the Add tool to create a new simple type in the list and then click its name to go to its
property sheet.
Alternatively, on the property sheet of an element, click the Create tool to the right of the Data type field.
2. Enter an appropriate Name for the type and then select a type from the Data type field list (or click the Select
tool to the right of the list to select another simple or structured type or constant).
3. The following additional sections are available on the Info tab:
○ @Annotations - Specifies standard CDS and custom user annotations for the object.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
4. To use the simple type, open the property sheet of an element (or other object that requires a data type), click
the Select tool to the right of the Data type field, and select it in the dialog.
A structured type is a data type comprising a list of attributes, each of which has its own data type.
Procedure
1. Select a context symbol to display its property sheet, and click the Children tab, which lists all the objects in
the context. If the Structured Types section is not visible, click the Show/Hide Section button and select it in
the list to add it. Click the Add tool to create a new structured type in the list and then click its name to go to
its property sheet.
○ @Annotations - Specifies standard CDS and custom user annotations for the object.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
5. To use the structured type, open the property sheet of an element (or other object that requires a data type),
click the Select tool to the right of the Data type field, and select it in the dialog.
Constants are named values to assign to columns. You can create constants under a context.
Procedure
1. Select a context symbol to display its property sheet, and click the Children tab, which lists all the objects in
the context. If the Constants section is not visible, click the Show/Hide Section button and select it in the list
to add it. Click the Add tool to create a new constant in the list and then click its name to go to its property
sheet.
Alternatively, on the property sheet of an element, click the Create tool to the right of the Default value field.
2. Enter an appropriate Name for the constant, select a Data type, and then specify a Value.
3. The following additional sections are available on the Info tab:
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
Procedures and functions can be used to help manage the underlying data model, performing complex and data-
intensive business logic that cannot be performed with standard SQL.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the HDB Procedures or HDB Functions section is not visible, click the Show/Hide
Section button and select it in the list to add it.
2. Click the Add tool to create a new procedure or function in the list and then click its name to go to its property
sheet.
3. Enter the following properties in the property sheet in the Info tab General section:
Table 85:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
SAP EA Designer supports generating HDI files from your model for importing into Web IDE.
Procedure
1. In your HDI model, open the model property sheet and ensure that a namespace is set in the model Info tab
General section.
SAP EA Designer generates a zip file containing HDI files, which is automatically downloaded in your browser.
Table 86:
Note
An appropriate remote source must be present in the
catalog.
Procedure .hdbprocedure
Function .hdbfunction
6. Import the files into Web IDE inside an hdbmodule node src folder (or subfolder).
You can import the .zip file as a whole or unzip it and extract individual files to import.
SAP EA Designer supports reversing HDI files exported from Web IDE into your model.
Context
Note
Before reversing HDI files, you should ensure that any objects referenced in those files (via synonyms, virtual
tables, or calculation view data sources) are already present in models in your repository, so that you can
specify them on the Referenced Models tab of the reverse dialog. If a reference to an external object cannot be
resolved, the referencing object will not be created.
For an overview of reverse-engineering calculation views, see Reversing Calculation Views for Impact Analysis
[page 134].
Procedure
1. Create a Database (SAP HANA 2.0 HDI) model (see Creating a Diagram from the Workspace [page 11]).
You can import a .zip file or any of the following individual HDI files:
○ .hdbcds - context or entity
○ .hdbcalculationview - calculation view
○ .hdbvirtualtableconfig - virtual table
○ .hdbsynonymconfig - synonym
○ .hdbfunction or .hdbprocedure - function or procedure
4. Click the Referenced Models tab and select models that should be searched for objects referenced by objects
in the files being imported.
For example:
○ An .hdbsynonymconfig file references a table in a HANA database model. SAP EA Designer searches to
match the table in any referenced models based on schema, name, and code and creates a shortcut to it.
If the table cannot be found, no shortcut is created.
○ An .hdbvirtualtableconfig file references a table in an Oracle model. SAP EA Designer searches to
match the table in any referenced models based on schema, name, and code and creates a shortcut to it.
If the table cannot be found, no virtual table is created.
○ An .hdbcalculationview file references an entity, table, or virtual table in another model as a data
source. SAP EA Designer searches to match the table or virtual table in any referenced models based on
schema, name, and code and creates a shortcut to it. It searches to match the entity in the current model
and then in any referenced models. If the object that the data source references cannot be found, the
data source is created but it is not linked to anything.
Note
SAP EA Designer initializes the Namespace property in the model property sheet Info tab General section
with the value given in any .hdinamespace file. Namespaces present in files that are compatible with the
model namespace are created as packages. If incompatible namespaces are found, objects will be
imported to the model root, and a warning is given.
SAP EA Designer supports the creation of SAP HANA 2.0 Database physical data models manually, by reverse-
engineering via jdbc, or by generation from another data model. You can model tables and other HANA catalog
objects and generate them to the HANA catalog.
To create a HANA Database physical data model, click the + tile in your workspace (see Creating a Diagram from
the Workspace [page 11]) or in a repository folder (see Creating a Diagram [page 15]), enter a name, select
Database (SAP HANA 2.0 Database), and click Create.
The following objects can be created in HANA Database physical data models:
Table 87:
Tool Details
Virtual tables allow you to access data in other databases without having to replicate to SAP HANA and are
supported in both HANA Database and HDI models.
Procedure
1. Prepare the physical data model for the remote source containing the table you want to access and publish it
in the repository.
2. In your HANA model, click the Virtual Table tool to select it and click in the diagram to create the virtual table
and open an object picker to select its source table.
3. In the object picker, navigate to the model containing the source table, select the table, and click OK.
SAP EA Designer creates the virtual table and links it to a remote source initialized to point to the source
model.
4. [HANA Database only] In the virtual table propery sheet, click the name of the Remote source to open its
property sheet, and complete its properties:
Table 88:
Name Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Adapter Specifies the adapter, and the type of access method to be used by the SAP HANA database to
access the data.
Credential type Specifies the type of credentials required (currently only password) and the credentials to use
Model Specifies the PDM that contains the definition of the remote source.
SAP HANA dynamic tiering is a native big data solution providing large volume, warm data management
capability. Your highest value data remains in memory, and cooler less-valuable data is saved to the extended
store.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Extended Storages section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create the extended storage in the list and then click its name to go to its property sheet.
3. Click the Properties button to open the extended storage property sheet and enter the following properties:
Table 89:
Name Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Location Specifies the host on which the extended storage is being created.
4. To specify that a table should be located in the extended storage, select the Using extended storage option in
the General section of the table property sheet Info tab.
SAP EA Designer supports generating your HANA Database model to a SQL script or directly to the database.
Procedure
Table 90:
Parameter Description
Server Enter the full server name (or IP address) and the port.
Note
To reverse-engineer from or generate to HANA databases running in the HANA Cloud Platform, you
must install the SAP HANA Cloud Connector and configure an appropriate service channel. For
detailed information, see SAP HANA Cloud Platform > Services > Connectivity Service > SAP HANA
Cloud Connector.
3. [optional] Click the Options tab and review the generation options that are selected.
4. [optional] Click the Preview tab and review the code to be generated.
5. Click Generate to generate your model.
If you selected:
○ Files - SAP EA Designer generates a zip file containing an SQL script, which is automatically downloaded
in your browser.
○ Database - Generates the tables and views to the HANA catalog.
SAP EA Designer supports reverse-engineering a SAP HANA 2.0 database to your model.
Procedure
1. Create a Database (SAP HANA 2.0 Database) model (see Creating a Diagram from the Workspace
[page 11]).
Parameter Description
Server Enter the full server name or IP address and the port.
Note
To reverse-engineer from or generate to HANA databases running in the HANA Cloud Platform, you must
install the SAP HANA Cloud Connector and configure an appropriate service channel. For detailed
information, see SAP HANA Cloud Platform > Services > Connectivity Service > SAP HANA Cloud
Connector.
4. Click Connect to connect to the database and display the Selection tab.
The connecting user (or its default schema) is selected in the list in the left pane, and all the database objects
belonging to it (along with any global objects) are displayed in the right pane, with none selected.
5. Select the objects that you want to reverse:
○ Select the Select All checkbox in the menu bar to select all the objects of all types.
○ Select the checkbox in a category header to select all the objects in that category.
○ Expand a category and select individual objects.
○ Select a different user or schema in the left pane to display its objects.
The cart tool at the bottom of the dialog updates with the total number of objects selected.
6. [optional] You can, at any time, click the cart tool to review the objects selected for reversing.
7. Click the Referenced Models tab and select models that should be searched for sources of virtual tables in
your database. SAP EA Designer searches to match the table in any referenced models based on schema,
name, and code and creates a shortcut to it. If the table cannot be found, no shortcut is created.
8. Click Reverse to begin reversing objects.
9. [if your model already contains objects] A window showing the changes that will be merged to your model
opens. Review the changes (see Reviewing Updates From a Reverse [page 227]) and then click Save to
complete the reverse.
10. Save and publish your model to make it available to other users (see Publishing Diagrams [page 34]).
These sections list HANA-specific properties available on standard database objects in HANA physical data
models.
Model
Table 92:
Name Description
HDI Namespace Specifies the HANA Deployment Infrastructure (HDI) namespace for the model.
Tables
Table 93:
Name Description
● Row - [default] If the majority of table access involves selecting a few records, with all attributes
selected, ROW-based storage is preferable.
● Column - If the majority of table access will be through a large number of tuples, with only a few
selected attributes, COLUMN-based storage should be used.
● History column - Creates a table with a session type HISTORY, to support time travel quer
ies, which are queries against historical states of the database.
● Global temporary - The table definition is globally available while data is visible only to the
current session. The table is truncated at the end of the session.
● Local temporary - The table definition and data is visible only to the current session. The
table is truncated at the end of the session.
Using extended stor Creates an extended table (see Dynamic Tiering / Extended Storage (HANA) [page 154]). When se
age lected, you can additionally enable support for Row-level versioning.
Table 94:
Name Description
Logging Specifies whether table logging is activated. You can choose between:
● logging - [default]
● nologging - specifies that logging is deactivated. As a result, the definition of the table is per
sistent and globally available and data is temporary and global. The resource manager should
therefore explicitly drop a NOLOGGING table.
On Commit Sets data availability of global temporary tables within session or transaction level.
Unload priority Specifies the unload priority for the table from 0 to 9, where 0 means the table cannot be unloaded
and 9 means earliest unload.
Location Specifies that partitions will be created on the listed instances using round robin scheme.
Replica Specifies the clause to create replicas in the specified index server.
Table 95:
Name Description
Partition clause Specifies the definition of the partition scheme for the table.
Columns
Table 96:
Name Description
Indexes
Table 97:
Name Description
● <none> - [default] The server will choose the appropriate index type.
● Cpbtree - Compressed Prefix B+-Tree, which can show better performance for larger keys for
character, string, binary string, or decimal column types, or when the constraint is a composite
key, or a non-unique constraint.
● Btree - Maintains sorted data that performs efficient insertion, deletion and search of records.
● Fulltext - Creates an additional data structure to enable text search features on a specific
column in a table. Enables the Full-Text tab (see below).
Index order [btree only] Specifies whether the index should be created in ascending or descending order.
Fillfactor Specifies how each node of a new index is filled as an integer percentage from 50 to 100. The default
value is 90.
Nowait Specifies that the CREATE INDEX statement returns an error immediately in case a table lock can
not be acquired.
Online Specifies that an intentional exclusive lock is acquired on the table during the index creation to allow
other DML statements. Without the ONLINE option, an exclusive lock is acquired. The ONLINE op
tion is available for row store tables.
The Info tab Full-Text section is displayed when you select Fulltext in the Type list:
Table 98:
Name Description
Phrase index ratio Specifies the percentage of the phrase index between 0.0 and 1.0.
Search only Specifies whether the original document should be stored or only the search results. When selected,
the original document content is not stored.
Text analysis Enables text analysis capabilities on the indexed column. Text analysis can extract entities such as
persons, products, or places from documents, which are stored in a new table.
Configuration Specifies the path to a custom configuration file for text analysis.
Fast pre-process Specifies that fast preprocessing is used, and that linguistic searches are not possible.
Fuzzy search index Specifies that a fuzzy search is performed with an additional index (faster search, but higher memory
consumption).
Change tracking Specifies whether the index should be built in an asynchronous or synchronous manner.
Flush every (mi Specify how frequently an asynchronous index should be update.
nutes) / Flush after
(documents)
Language detection / Specify the set of languages to be considered during language detection and the column where the
Language column language of a document is specified.
MIME type / Mime- Specify the default MIME type used for preprocessing (for example cf
type column M_TEXT_ANALYSIS_MIME_TYPES and the column where the MIME type of a document is speci
fied.
Token separators Specifies the set of ASCII characters used for token separation.
Keys
Table 99:
Name Description
Views
HANA-specific properties are available in the Info tab Cache Options section:
Table 100:
Name Description
Retention (min) Specifies the maximum staleness threshold that user can see in minutes.
Refresh on update Specifies to refresh the cache when the related table is updated.
Filter Specifies a filter condition to limit the cache to a subset of elements (horizontal cropping).
Table 101:
Name Description
Users
Table 102:
Name Description
Distinguished name Specifies the user's distinguished name (DN) in the directory or certificate.
Implicit Schema Specifies that the database generation will use the stored procedure sp_grantdbaccess in
stead of a create user statement.
Client Restricts the access rights of the user to information concerning the specified client.
SAP EA Designer supports the creation of Oracle 12c data models manually, by reverse-engineering via jdbc, or
by generation from another data model.
Note
In order to reverse-engineer from Oracle (see Reverse-Engineering a Database [page 226]), you must first
install an appropriate JDBC driver (see Installing JDBC Drivers [page 260]).
To create an Oracle physical data model, click the + tile in your workspace (see Creating a Diagram from the
Workspace [page 11]) or in a repository folder (see Creating a Diagram [page 15]), enter a name, select Database
(ORACLE Version 12c), and click Create.
A cluster is a schema object that contains data from one or more tables, which have one or more columns in
common. Oracle stores all the rows from all the tables that share the same cluster key together.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Clusters section is not visible, click the Show/Hide Section button and select
it in the list to add it.
2. Click the Add tool to create a new cluster in the list and then click its name to go to its property sheet.
3. Enter the following properties in the Info tab General section:
Table 104:
Name Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
4. Click the Children tab, create cluster columns as necessary, and specify the following properties for them:
Table 105:
Name Description
Data type Specifies the data type for the cluster column.
Sort This clause instructs Oracle Database to sort the rows of the cluster on this column before ap
plying the hash function.
5. On the Children tab, create cluster indexes as necessary, and specify the following properties for them:
Table 106:
Name Description
Bitmap Specifies if the index is to be created with a bitmap for each distinct key, rather than indexing
each row separately.
Sort By default, Oracle Database sorts indexes in ascending order when it creates the index. You
can specify NOSORT to indicate to the database that the rows are already stored in the data
base in ascending order, so that Oracle Database does not have to sort the rows when creating
the index.
A database link is a schema object in one database that enables you to access objects on another database.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Database Links section is not visible, click the Show/Hide Section button
and select it in the list to add it.
Table 107:
Name Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Public Specifies whether the database link is available to all users. If False, then the database link is
private and is available only to you.
Table 108:
Name Description
Shared Specifies the use of a single network connection to create a public database link that can be
shared among multiple users. If selected, you must also specify a user name and password for the
target instance on the remote server.
User name Specifies the credentials used to connect to the remote database using a fixed user database
link.You need to specify CURRENT_USER to create a current user database link. The current user
must be a global user with a valid account on the remote database. If you do not specify a value,
then the database link uses the credentials of each user who is connected to the database.
Service name Specifies the service name of a remote database. If you specify only the database name, then Ora
cle Database implicitly appends the database domain to the connect string to create a complete
service name.
Model Specifies the model that contains the objects of the remote database.
These sections list Oracle-specific properties available on standard database objects in Oracle physical data
models.
Models
Table 109:
Name Description
Password Encryption Specifies the master key for encoding and decoding encrypted data.
Tables
Oracle-specific properties are available in the Info tab XML Properties section when the table type is set to XML:
Table 110:
Name Description
Definition Specifies that the properties of object tables are essentially the same as those of relational tables.
Storage type Specifies the type of column storage for XML columns:
● LOB
● object-relational
● binary XML
LOB segment name Specifies the name of the LOB data segment. You cannot use LOB_segname if you specify more than
one LOB_item.
Table 111:
Name Description
Super view object Used in the UNDER clause to specify the superview the current object view is based on.
Object view key Specifies the attributes of the object type that will be used as a key to identify each row in the object
view.
Force When set to TRUE, allows you to create the view regardless of the existence of the base tables or the
owner privileges on these tables.
Editioning Specifies that the view is an editioning view, a single-table view that selects all rows from the base
table and displays a subset of the base table columns. You can specify that the view is:
● editioning
● editionable
● editionable editioning
● noneditionable
Bequeath Specifies whether functions referenced in the view are executed using the view invoker's rights or the
view definer's rights.
Columns
Table 112:
Name Description
Deferrable (check con Specifies that in subsequent transactions you can use the SET CONSTRAINT clause to defer check
straint) ing of this constraint until after the transaction is committed.
If selected, you can additionally select Initially deferred to specify that Oracle should check this con
straint at the end of subsequent transactions.
Constraint name (man Specifies the name of the not null constraint for a column.
datory columns)
Deferrable (mandatory Specifies that in subsequent transactions you can use the SET CONSTRAINT clause to defer check
columns) ing of this constraint until after the transaction is committed.
If selected, you can additionally select Initially deferred to specify that Oracle should check this con
straint at the end of subsequent transactions.
Encrypted Specifies that the column is encrypted. You can specify the following options:
● With salt - Specifies that the encryption adds salt to encoded data.
● Identified by Password - Provides the password for encrypting the column
Identity Specifies that the column stores a number incrementing with each insertion. You can specify the fol
lowing options:
If the table type is set to XML, the Children tab Columns list is replaced by the XML Virtual Columns list. Oracle-
specific properties are available in the Info tab General section for XML virtual columns:
Table 113:
Name Description
Expression Specifies the SQL expression used to compute virtual column value.
Table 114:
Name Description
Deferred option Defines the deferred option of a reference. It is used in the definition of create and add
items statements.
Exceptions into Specifies a table into which Oracle places the ROWIDs of all rows violating the constraint.
Validate Checks that all old data also obeys the constraint.
Users
Table 115:
Name Description
Identification type Specifies how the user will be identified. You can choose between:
● by - requires a password
● externally - requires a distinguished name
● globally - requires a distinguished name
Distinguished name [external or global identification types] Specifies the user's distinguished name (DN) in the directory
or certificate.
Table 116:
Name Description
Quota definition Specifies the maximum amount of space the user can allocate in the tablespace.
Account lock Select lock to lock the user's account and disable access or unlock to enable access to the account.
Oracle-specific properties are available in the Info tab General section for abstract data types:
Table 117:
Name Description
Editionable Specifies that the type is an editioned object (if editioning is enabled for the schema object type
TYPE in schema). This applies to both type specification and body.
Oracle-specific properties are available in the Info tab Oracle section for attributes of abstract data types of type
OBJECT or SQLJ_OBJECT:
Table 118:
Name Description
Declare REF Generates a REF modifier on attribute to declare references, which hold pointers to objects.
SAP EA Designer supports the creation of SAP SQL Anywhere v17 data models manually, by reverse-
engineering via jdbc, or by generation from another data model.
To create a SQL Anywhere physical data model, click the + tile in your workspace (see Creating a Diagram from
the Workspace [page 11]) or in a repository folder (see Creating a Diagram [page 15]), enter a name, select
Database (SAP SQL Anywhere 17), and click Create.
The following objects can be created in SQL Anywhere physical data models:
Table 119:
Tool Details
None Login policies. See Login Policies (SQL Anywhere) [page 172].
None Mirror servers. See Mirror Servers (SQL Anywhere) [page 172].
None Spatial Data. See Spatial Data (SQL Anywhere) [page 174].
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Certificates section is not visible, click the Show/Hide Section button and
select it in the list to add it.
2. Click the Add tool to create a new certificate in the list and then click its name to go to its property sheet.
3. Enter the following properties in the Info tab General section:
Table 120:
Name Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Type Specifies the type of the certificate, which can be a string, variable, or file.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Events section is not visible, click the Show/Hide Section button and select it
in the list to add it.
2. Click the Add tool to create a new event in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the event in the Info tab General section, and then enter the following
properties in the SQL Anywhere section:
Table 121:
Name Description
Event is scheduled Specifies that the server carries out a set of actions according to a schedule of times.
The actions of an event handler are committed if no error is detected during execution, and rolled
back if errors are detected.
Enable By default, event handlers are enabled. When DISABLE is specified, the event handler does not exe
cute even when the scheduled time or triggering condition occurs. A TRIGGER EVENT statement
does not cause a disabled event handler to be executed.
At (databases) If you want to execute events at remote or consolidated databases in a SQL Remote setup, you can
use this clause to restrict the databases at which the event is handled. By default, all databases exe
cute the event.
For primary Specifies that the event executes only on the server currently acting as the primary server.
A login policy defines the rules to be followed when establishing a user’s database connection.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Login Policies section is not visible, click the Show/Hide Section button and
select it in the list to add it.
2. Click the Add tool to create a new login policy in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the login policy in the Info tab General section, and then enter the following
properties in the SQL Anywhere section:
Table 122:
Name Description
Password life time Specifies the maximum number of days before a password must be changed.
Password grace time Specifies the number of days before password expiration during which login is allowed but the de
fault post_login procedure issues warnings.
Password expires Specifies that the user's password will expire in the next login.
Locked Specifies that users are prohibited from establishing new connections.
Maximum connec Specifies the maximum number of concurrent connections allowed for a user.
tions
Maximum failed log Specifies the maximum number of failed attempts, since the last successful attempt, to login to
ins the user account before the account is locked.
SQL Anywhere supports database mirroring through the use of mirror servers.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Mirror Servers section is not visible, click the Show/Hide Section button and
select it in the list to add it.
2. Click the Add tool to create a new mirror server in the list and then click its name to go to its property sheet.
Table 123:
Name Description
Type Specifies the type of mirror server to create. You can choose between:
○ Primary - defines a virtual or logical server, whose name is the alternate server name for the
database, which can be used by applications to connect to the server currently acting as the pri
mary server. There can be only one PRIMARY server for a database.
○ Mirror - defines a virtual or logical server, whose name is the alternate server name for the
database, which can be used by applications to connect to the server currently acting as the
read-only mirror. There can be only one MIRROR server for a database.
○ Arbiter - assists in determining which of the PARTNER servers takes ownership of the data
base. The arbiter server must be defined with a connection string that can be used by the part
ner servers to connect to the arbiter. There can be only one ARBITER server for a database.
○ Partner - is eligible to become the primary server and take ownership of the database. You
must define two PARTNER servers for database mirroring, and both must have a connection
string and a state file. In a read-only scale-out system, you must define one PARTNER server.
This server is the root server, and runs the only copy of the database that allows both read and
write operations.
○ Copy - In a read-only scale-out system, this value specifies that the database server is a copy
node. All connections to the database on this server are read-only. You do not have to explicitly
define copy nodes for the scale-out system; you can choose to have the root node define the
copy nodes when they connect.
Using auto parent [Copy only] Specifies that the primary server will assign a parent for this server.
Parent [Copy only] Specifies a tree of servers for a mirroring or scale-out system and indicates the servers
from which the non-participating nodes obtain transaction log pages.
Alternate parent [Copy only] Specifies an alternate parent for the copy node.
Primary [Copy only] Specifies that the parent server is the primary server.
Connection string Specifies the connection string to be used to connect to the server.
Log file Specifies the location of the log file that is sent between mirror servers.
Preferred [Partner only] Specifies whether the server is the preferred server in the mirroring system, which
assumes the role of primary server whenever possible.
State file [Arbiter, Partner] Specifies the location of the file used for maintaining state information about
the mirroring system.
Spatial data, which describes the position, shape, and orientation of objects in a defined space, can be stored
using spatial reference systems.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Spatial Reference Systems section is not visible, click the Show/Hide
Section button and select it in the list to add it.
2. Click the Add tool to create a new spatial reference system in the list and then click its name to go to its
property sheet.
3. Enter the following properties in the Info tab General section:
Table 124:
Name Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Spatial reference Specifies the SRID (srs-id) for the spatial reference system.
system identifier
Organization Specifies the organization that created the spatial reference system that the new spatial reference
system is based on.
Table 125:
Name Description
Line interpretation Specifies how the SRS interprets lines between points.
Axis order Specifies the order in which values are given for each axis.
Definition Specifies default coordinate system settings. If any attribute is set in a clause other than the
DEFINITION clause, the value specified in the other clause is used regardless of what is specified
in the DEFINITION clause.
Transform defini Specify a description of the transform to use for the spatial reference system.
tion
Table 126:
Name Description
<Axis>/ Specifies whether the axis is bounded or unbounded and, if it is bounded, the minimum and maxi
Bounded/ mum values.
Unbounded
Ellipsoid axis [round earth systems] Specifies the values to use for representing the Earth as an ellipsoid.
length
Grid Size [planar systems] Specifies the size of the grid to use when performing calculations.
Tolerance [planar systems] Specifies the precision to use when comparing points.
Linear/Angular Specify the linear and angular units of measure for the spatial reference system.
unit of measure
Spatial units of measure define the units in which geographic coordinates are measured and how these units are
converted to radians or meters.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Spatial Units of Measure section is not visible, click the Show/Hide Section
button and select it in the list to add it.
2. Click the Add tool to create a new spatial unit of measure in the list and then click its name to go to its
property sheet.
3. Enter the following properties in the Info tab General section:
Name Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Type Specifies the kind of unit. Linear units are used for distances and angular units are used for angles.
Conversion factor Specifies how to convert the defined units to the base unit of measure (radians or meters).
These sections list SQL Anywhere-specific properties available on standard database objects in SQL Anywhere
physical data models.
Tables
SQL Anywhere-specific properties are available in the Info tab SQL Anywhere section:
Table 128:
Name Description
PCTFREE Specifies the percentage of free space to reserve for each table page. If there is no free space in a
table page, every increase in the size of a row on that page requires the row to be split across mul
tiple table pages, causing row fragmentation and possible performance degradation.
Enter an integer between 0 (no free space is to be left on each page) and 100 (high values cause
each row to be inserted into a page by itself. If PCTFREE is not set, 200 bytes are reserved in each
page.
Remote location Creates a table at the specified remote location in addition to a proxy table on the current data
base that maps to the remote table. Supports the semicolon (;) as a field delimiter in the location-
string. If no semicolon is present, a period is the field delimiter.
Encrypted Encrypts the table using the encryption key and algorithm specified at database creation time. En
crypting a table may take time, depending on the size of the table.
Not transactional [temporary tables] Specifies that the temporary table is not affected by either COMMIT or ROLL
BACK. This can provide performance improvements because operations on non-transactional
temporary tables do not require entries in the rollback log. For example, NOT TRANSACTIONAL
may be useful if procedures that use the temporary table are called repeatedly with no intervening
COMMITs or ROLLBACKs.
On commit [temporary tables] Specifies that the rows of a temporary table are deleted on COMMIT.
Columns
SQL Anywhere-specific properties are available in the Info tab SQL Anywhere section:
Table 129:
Name Description
Domains
SQL Anywhere-specific properties are available in the Info tab General section:
Table 130:
Name Description
SQL Anywhere-specific properties are available in the Info tab SQL Anywhere section:
Table 131:
Name Description
Virtual index The VIRTUAL keyword is primarily for use by the Index Consultant. A virtual index mimics the
properties of a real physical index during the evaluation of query plans by the Index Consultant
and when the PLAN function is used. You can use virtual indexes together with the PLAN function
to explore the performance impact of an index, without the often time consuming and resource
consuming effects of creating a real index.
Notify Gives notification messages after n records are successfully added for the index.
Delimited by Specifies separators to use in parsing a column string into the words to be stored in the index.
Users
SQL Anywhere-specific properties are available in the Info tab General section:
Table 132:
Name Description
Force change Specifies that the user must specify a new password when they log in. This setting overrides the
password_expiry_on_next_login option setting in the login policy.
Login policy Specifies the login policy to assign to the user (see Login Policies (SQL Anywhere) [page 172]).
SAP EA Designer supports the creation of Microsoft SQL Server 2016 data models manually, by reverse-
engineering via jdbc, or by generation from another data model.
Note
In order to reverse-engineer from SQL Server (see Reverse-Engineering a Database [page 226]), you must
first install an appropriate JDBC driver (see Installing JDBC Drivers [page 260]).
The following objects can be created in SQL Server physical data models:
Table 133:
Tool Details
None Common language runtime. See Common Language Runtime (CLR) Integration (SQL Server) [page
180].
None Horizontal partitioning. See Horizontal Partitioning (SQL Server) [page 185].
None Service broker. See Service Broker (SQL Server) [page 187].
None Full text catalogs. See Full-Text Catalogs (SQL Server) [page 194].
None Resource governor. See Resource Governor (SQL Server) [page 195].
CLR integration allows stored procedures, triggers, and user-defined types, functions, and aggregate functions to
be written for SQL Server in any .NET language, such as VB .NET or C#.
An assembly is a DLL file used to deploy objects written in one of the managed code languages hosted by the
Microsoft .NET Framework common language runtime (CLR), instead of in Transact-SQL.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Assemblies section is not visible, click the Show/Hide Section button and
select it in the list to add it.
2. Click the Add tool to create a new assembly in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the assembly in the Info tab General section, and then enter the following
properties in the Microsoft section:
Table 134:
Name Description
Authorization Specifies the name of a user or role as the owner of the assembly.
File name Specifies the local path or network location where the assembly that is being uploaded is
located, and also the manifest file name that corresponds to the assembly. Can be en
tered as a fixed string or an expression evaluating to a fixed string.
Permission set Specifies a set of code access permissions that are granted to the assembly when it is
accessed by SQL Server. You can choose between:
○ SAFE
○ UNSAFE
○ EXTERNAL_ACCESS
Visibility Specifies that the assembly is visible for creating common language runtime (CLR) func
tions, stored procedures, triggers, user-defined types, and user-defined aggregate func
tions against it. You can choose between:
○ On
○ Off
Unchecked data By default, ALTER ASSEMBLY fails if it must verify the consistency of individual table
rows. This option allows postponing the checks until a later time by using DBCC
CHECKTABLE.
SQL Server allows developers to create custom aggregate functions in managed code, and to make these
functions accessible to Transact-SQL or other managed code.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Aggregates section is not visible, click the Show/Hide Section button and
select it in the list to add it.
2. Click the Add tool to create a new aggregate function in the list and then click its name to go to its property
sheet.
3. Specify a name and comment for the aggregate function in the Info tab General section, and then enter the
following properties in the Microsoft section:
Table 135:
Name Description
Owner Specifies the name of a schema as the owner of the aggregate function.
Class name Specifies the name of the class in the assembly that implements the aggregate function.
If the class name is not specified, SQL Server assumes it is the same as the aggregate
name.
Return type Specifies the return type of the aggregate function. All scalar data types or CLR user-de
fined types can be used as return type, except text, ntext, and image.
4. Click the Children tab, create parameters as necessary, and specify their name, type, length, and precision.
User-defined types (UDTs) can contain multiple elements and have behaviors, differentiating them from the
traditional alias data types which consist of a single SQL Server system data type. UDTs in SQL Server are well
suited to date, time, currency, and extended numeric types, geospatial applications, and encoded or encrypted
data.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Abstract Data Types section is not visible, click the Show/Hide Section
button and select it in the list to add it.
2. Click the Add tool to create a new abstract data type in the list and then click its name to go to its property
sheet.
3. Enter the following properties in the Info tab General section:
Table 136:
Name Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not nor
mally include spaces. You can optionally add a comment to provide more detailed information about
the object. By default the code is synchonized with the name. To decouple name-code synchroniza
tion, enter a new code in the Code field.
Class Click the Select Object tool to select a class from an object-oriented model as the supertype.
Table 137:
Name Description
Assembly Specifies the assembly to bind with the abstract data type.
SQL Server provides a security infrastructure to support hierarchical encryption and key management through
certificates and asymmetric and symmetric keys
A public key certificate is a digitally-signed statement that binds the value of a public key to the identity of the
person, device, or service that holds the corresponding private key.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Certificates section is not visible, click the Show/Hide Section button and
select it in the list to add it.
2. Click the Add tool to create a new certificate in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the certificate in the Info tab General section, and then enter the following
properties in the Microsoft section:
Table 138:
Name Description
Assembly Specifies a signed assembly that has already been loaded into the database.
Assembly File Specifies the complete path, including file name, to a DER encoded file that contains the
certificate. The path name can be a local path or a UNC path to a network location. The
file will be accessed in the security context of the SQL Server service account. This ac
count must have the required file system permissions.
File Specifies the complete path, including file name, to the private key. The private key path
name can be a local path or a UNC path to a network location. The file will be accessed in
the security context of the SQL Server service account. This account must have the nec
essary file system permissions.
Subject Specifies the value of the subject field in the metadata of the certificate as defined in the
X.509 standard.
Active for begin dialog Specifies that the certificate is available to the initiator of a Service Broker dialog conver
sation.
An asymmetric key is made up of a private key and the corresponding public key. While asymmetric encryption is
relatively resource-intensive, it is more secure than symmetric encryption.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Asymmetric Keys section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new asymmetric key in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the asymmetric key in the Info tab General section, and then enter the
following properties in the Microsoft section:
Table 139:
Name Description
Authorization Specifies the name of a user as the owner of the asymmetric key.
Source type Specifies the type of source (File, Executable file, Assembly or Provider)
Assembly Specifies the name of an assembly from which to load the public key.
Provider Specifies the name of the EKM (Extensible Key Management) provider.
Encryption password Specifies the password with which to encrypt the private key. If this clause is not present, the pri
vate key will be encrypted with the database master key.
A symmetric key is one key that is used for both encryption and decryption. Symmetric encryption is faster than
assymetric encryption, but not as secure.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Symmetric Keys section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new symmetric key in the list and then click its name to go to its property sheet.
Table 140:
Name Description
Authorization Specifies the name of a user or role as the owner of the key.
Certificate Specifies the name of the certificate that will be used to encrypt the symmetric key.
Password Specifies a password from which to derive a TRIPLE_DES key with which to secure the sym
metric key. Password complexity will be checked. You should always use strong passwords.
Symmetric key Specifies a symmetric key to be used to encrypt the key that is being created.
Asymmetric key Specifies an asymmetric key to be used to encrypt the key that is being created.
Key source Specifies a pass phrase from which to derive the key.
Identity value Specifies an identity phrase from which to generate a GUID for tagging data that is encrypted
with a temporary key.
SQL Server supports horizontal partitioning of tables and indexes, to make them more manageable by dividing
them horizontally and spreading them across more than one filegroup in a database.
To partition a table or an index, specify a partition scheme and column on the Microsoft tab of its property sheet.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Partition Functions section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new partition function in the list and then click its name to go to its property
sheet.
Table 141:
Name Description
Input Parameter Type Specifies the data type of the column used for partitioning. All data types are valid, except
text, ntext, image, xml, timestamp, varchar(max), nvarchar(max), varbinary(max), alias
data types, or CLR user-defined data types.
Interval Side Specifies to which side of each boundary value interval the boundary_value [,...n ] belongs.
You can choose between:
○ left [default]
○ right
Interval values are sorted by the database engine in ascending order from left to right.
Boundary Values Specifies the boundary values for each partition of a partitioned table or index. All values
must be separated by commas.
A partition scheme maps the partitions produced by a partition function to a set of user-defined filegroups.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Partition Schemes section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new partition scheme in the list and then click its name to go to its property
sheet.
3. Specify a name and comment for the partition scheme in the Info tab General section, and then enter the
following properties in the Microsoft section:
Table 142:
Name Description
Partition Function Specifies the partition function using the scheme. Partitions created by the partition func
tion are mapped to the filegroups specified in the partition scheme.
All Partitions Specifies that all partitions map to the filegroup specified by the File Groups property.
File Groups Specifies the names of the filegroups to hold the partitions specified by the partition func
tion. If [PRIMARY] is specified, the partition is stored on the primary filegroup. If ALL is
specified, only one filegroup name can be specified.
SQL Server provides Service Broker, which manages a queue of services, and allows applications that use it to
communicate by sending messages to one another as part of a conversation. The participants in a conversation
must agree on the name and content of each message.
Message types define the type of data that a message can contain and specify the type of XML validation that SQL
Server performs for messages of that type. For arbitrary or binary data, you can specify that SQL Server performs
no validation.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Message Types section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new message type in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the message type in the Info tab General section, and then enter the
following properties in the Microsoft section:
Table 143:
Name Description
Owner Specifies a database user or role as the owner of the message type. If the current user is
dbo or sa, this may be the name of any valid user or role. Otherwise, it must be the name of
the current user, a user that the current user has IMPERSONATE permission for, or a role
to which the current user belongs. By default, the message type belongs to the current
user.
Validation Specifies how the Service Broker validates the message body for messages of this type.
You can choose between:
Schema Specifies the name of the schema to be used for validating the message contents.
Contracts define the message types used in a conversation. The initiating service specifies the contract when the
conversation begins and the target service specifies the contracts that the target service accepts conversations
for.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Contracts section is not visible, click the Show/Hide Section button and
select it in the list to add it.
2. Click the Add tool to create a new contract in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the contract in the Info tab General section, and then enter the following
properties in the Microsoft section:
Table 144:
Name Description
Owner Specifies a database user or role as the owner of the contract. If the current user is dbo or
sa, this may be the name of any valid user or role. Otherwise, it must be the name of the
current user, a user that the current user has IMPERSONATE permission for, or a role to
which the current user belongs. By default, the contract belongs to the current user.
4. Click the Depends On tab, and create or add message contracts as necessary to associate message types
with the contract and specify by whom they may be sent.
Message contracts associate a message type with a contract, and specify which parties to the conversation can
send that type of message.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Message Contracts section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new message contract in the list and then click its name to go to its property
sheet.
3. Specify a name and comment for the message contract in the Info tab General section, and then enter the
following properties in the Microsoft section:
Table 145:
Name Description
Sent by Specifies which endpoint can send a message of the indicated message type. Contracts
document the messages that services can use to have specific conversations. Each con
versation has two endpoints: the initiator endpoint, the service that started the conversa
tion, and the target endpoint, the service that the initiator is contacting.
When a message arrives for a service, Service Broker places the message on the queue associated with the
service.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Queues section is not visible, click the Show/Hide Section button and select
it in the list to add it.
2. Click the Add tool to create a new queue in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the queue in the Info tab General section, and then enter the following
properties in the Microsoft section:
Name Description
If a queue is unavailable, no messages can be added to or removed from it. If you create a
queue as unavailable, then no messages can be added to it until it is made available with
an ALTER QUEUE statement.
Retention Specifies that all messages sent or received on conversations using this queue are re
tained in the queue until the conversations have ended. This allows you to retain mes
sages for auditing purposes, or to perform compensating transactions if an error occurs.
Activation Specifies that a stored procedure is required to activate message processing for the
queue.
Status (activation) Specifies that Service Broker activates the associated stored procedure when the num
ber of procedures currently running is less than MAX_QUEUE_READERS and when mes
sages arrive on the queue faster than the stored procedures receive messages.
Procedure Specifies the name of the stored procedure to activate to process messages in this
queue.
MaxQueueReaders Specifies the maximum number of instances of the activation stored procedure that the
queue can start at the same time. Must be set to between 0 and 32767.
Execute as Specifies the user under which the activation stored procedure runs. SQL Server must be
able to check the permissions for this user at the time that the queue activates the stored
procedure. You can choose between:
○ SELF - the stored procedure executes as the current user. (The database principal
executing this CREATE QUEUE statement.)
○ OWNER - the stored procedure executes as the owner of the queue.
An event notification sends information about a database or server event to a service broker service.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Event Notifications section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new event notification in the list and then click its name to go to its property
sheet.
3. Specify a name and comment for the event notification in the Info tab General section, and then enter the
following properties in the Microsoft section:
Table 147:
Name Description
Applies on Specifies the scope of the event notification. You can choose between:
○ database – the notification fires whenever the specified event in the FOR clause oc
curs anywhere in the instance of SQL Server.
○ server - the notification fires whenever the specified event in the FOR clause occurs
in the current database.
○ queue - the notification fires whenever the specified event in the FOR clause occurs
in the current queue. Can be specified only if FOR QUEUE_ACTIVATION or FOR
BROKER_QUEUE_DISABLED is also specified.
Queue Specifies the queue to which the event notification applies. Available only if Applies on is
set to "queue".
With fan in Instructs SQL Server to send only one message per event to any specified service for all
event notifications that:
Events Specifies the name of the event type that causes the event notification to execute. Can be
a Transact-SQL DDL, SQL Trace, or Service Broker event type.
Service Specifies the target service that receives the event instance data. SQL Server opens one or
more conversations to the target service for the event notification. This service must honor
the same SQL Server Events message type and contract that is used to send the message.
See Services (SQL Server) [page 192].
Instance Specifies a service broker instance against which broker_service is resolved. Use 'current
database' to specify the service broker instance in the current database.
Services are specific tasks or set of tasks. Service Broker uses the name of the service to route messages, deliver
messages to the correct queue within a database, and enforce the contract for a conversation.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Services section is not visible, click the Show/Hide Section button and select
it in the list to add it.
2. Click the Add tool to create a new service in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the service in the Info tab General section, and then enter the following
properties in the Microsoft section:
Table 148:
Name Description
Queue Specifies the queue that receives messages for the service. The queue must exist in the
same database as the service.
4. Click the Depends On tab, and add contracts as necessary to associate them with the service.
For outgoing messages, Service Broker determines routing by checking the routing table in the local database.
For messages on conversations that originate in another instance, including messages to be forwarded, Service
Broker checks the routes in msdb.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Routes section is not visible, click the Show/Hide Section button and select
it in the list to add it.
2. Click the Add tool to create a new route in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the route in the Info tab General section, and then enter the following
properties in the Microsoft section:
Table 149:
Name Description
Broker instance Specifies the database that hosts the target service.
Lifetime Specifies the amount of time, in seconds, that SQL Server retains the route in the routing
table.
Address Specifies the network address for the route. The next_hop_address specifies a TCP/IP ad
dress in the following format:
Mirror address Specifies the network address for a mirrored database with one mirrored database hosted
at the next_hop_address. The next_hop_mirror_address specifies a TCP/IP address in the
following format:
Remote service bindings create a binding that defines the security credentials to use to initiate a conversation
with a remote service.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Remote Service Bindings section is not visible, click the Show/Hide Section
button and select it in the list to add it.
2. Click the Add tool to create a new remote service binding in the list and then click its name to go to its
property sheet.
3. Specify a name and comment for the remote service binding in the Info tab General section, and then enter
the following properties in the Microsoft section:
Table 150:
Name Description
Remote service Specifies the remote service to bind to the user identified in the WITH USER clause.
User Specifies the database principal that owns the certificate associated with the remote serv
ice identified by the TO SERVICE clause.
Anonymous Specifies that anonymous authentication is used when communicating with the remote
service.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Full-Text Catalogs section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new full-text catalog in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the login policy in the Info tab General section, and then enter the following
properties in the Microsoft section:
Name Description
Authorization Specifies the name of a user or role as the owner of the full text catalog.
File group Specifies the name of the SQL Server filegroup (or storage) of which the new catalog will be part.
Accent sensitivity Specifies whether the catalog is accent sensitive for full text indexing.
Resource Governor lets you limit resource requests by workloads for CPU time and memory to optimize their
allocation.
A workload group serves as a container for session requests that are similar, to allow the aggregate monitoring of
resource consumption and the application of a uniform policy to all the requests in the group. A group defines the
policies for its members.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Workload Groups section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new workload group in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the workload group in the Info tab General section, and then enter the
following properties in the Microsoft section:
Table 152:
Name Description
Request maximum memory Specifies the maximum amount of memory that a single request can take from the pool.
Request maximum CPU Specifies the maximum amount of CPU time, in seconds, that a request can use.
Memory grant request time Specifies the maximum time, in seconds, that a query can wait for a memory grant (work
out buffer memory) to become available.
Maximum degree of parallel Specifies the maximum degree of parallelism (DOP) for parallel requests.
ism
Maximum requests Specifies the maximum number of simultaneous requests that are allowed to execute in
the workload group.
Resource pool Associates the workload group with the specified resource pool.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Resource Pools section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new resource pool in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the resource pool in the Info tab General section, and then enter the
following properties in the Microsoft section:
Table 153:
Name Description
CPU percent Min Specifies the guaranteed average CPU bandwidth for all requests in the resource pool
when there is CPU contention. The value is an integer, with a default setting of 0.
CPU percent Max Specifies the maximum average CPU bandwidth that all requests in resource pool will re
ceive when there is CPU contention. The value is an integer, with a default setting of 100.
Memory percent Min Specifies the minimum amount of memory reserved for this resource pool that can not be
shared with other resource pools. The value is an integer, with a default setting of 0.
Memory percent Max Specifies the total server memory that can be used by requests in this resource pool. The
value is an integer, with a default setting of 100.
In SQL Server, schemas are distinct namespaces, separate from the users who created them, and can be
transferred between users.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Schemas section is not visible, click the Show/Hide Section button and
select it in the list to add it.
2. Click the Add tool to create a new schema in the list and then click its name to go to its property sheet.
3. Enter the following properties in the Info tab General section:
Table 154:
Name Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is synchonized with the
name. To decouple name-code synchronization, enter a new code in the Code field.
Owner Specifies the name of the database-level principal user that owns the schema. This user
may own other schemas, any of which may be his default schema.
An XML schema collection provides validation of and data type information about the XML to be stored in
columns with the XML data type. Schemas provide information about the types of attributes and elements in the
XML data type instance to allow it to be stored significantly more compactly than untyped XML.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the XML Schema Collections section is not visible, click the Show/Hide Section
button and select it in the list to add it.
2. Click the Add tool to create a new XML schema collection in the list and then click its name to go to its
property sheet.
3. Specify a name and comment for the XML schema collection in the Info tab General section, and then enter
the following properties in the Microsoft section:
Name Description
Owner Specifies the name of a user, role, or schema as the owner of the schema collection.
These sections list SQL Server-specific properties available on standard database objects in SQL Server physical
data models.
Tables
SQL Server-specific properties are available in the Info tab Microsoft section:
Table 156:
Name Description
Do not validate check Specifies that "NOT FOR REPLICATION" keywords are used to prevent the TABLE CHECK con
constraints during replica straint from being enforced during the distribution process used by replication.
tion
Columns
SQL Server-specific properties are available in the Info tab Microsoft section:
Table 157:
Name Description
Row global unique iden Indicates that the new column is a row global unique identifier column. Only one unique identifier col
tifier umn per table can be designated as the ROWGUIDCOL column.
Sparse Specifies that the column is a sparse column. The storage of sparse columns is optimized for null
values. Sparse columns cannot be designated as NOT NULL.
Filestream Specifies that when the FILESTREAM storage attribute is specified for a column, all values for that
column are stored in a FILESTREAM data container on the file system
Do not validate check Specifies that "NOT FOR REPLICATION" keywords are used to prevent the CHECK constraint from
constraints during rep being enforced during the distribution process used by replication.
lication
Default constraint Specifies the name of the constraint that is used to apply a default value to the column. If empty, the
name "constraint" keyword is not generated.
Not null constraint Specifies the name of the constraint that is used to apply a mandatory property of the column. If
name empty, the "constraint" keyword is not generated.
Identity seed and incre Specifies the seed (first) value of the identity column and the increment to add to the seed value for
ment successive rows in the table as a string composed of two integer values separated by a comma.
Identity value not repli Specifies that the IDENTITY property should not be enforced when a replication login inserts data
cated into the table.
XML schema collection [XML columns] Associates an XML schema collection with the type.
Content type [XML columns] Requires an XML schema collection. Specifies the type of content:
● CONTENT - [default] Each instance of the XML data can contain multiple top-level elements.
● DOCUMENT - Each instance of the XML data type in column_name can contain only one top-
level element.
Indexes
● XML
● FULLTEXT
● SPATIAL
● COLUMNSTORE
SQL Server-specific properties are available in the Info tab Microsoft section for XML and full-text indexes:
Table 158:
Name Description
Primary [XML index] Specifies that this is the primary XML index.
Primary index [XML index] Specifies the primary XML index to use in creating a secondary XML index.
Secondary XML index type [XML index] Specifies the type of the secondary XML index.
Catalog [Full-text index] Specifies the full text catalog where the full text index is defined.
Change tracking [Full-text index] Specifies whether SQL Server maintains a list of all changes to the indexed data.
You can choose between:
● manual
● auto
● off
● off, no population
SQL Server-specific properties are available in the Info tab Spatial Options section for spatial indexes:
Table 159:
Name Description
Cells per object Specifies the number of tessellation cells (an integer between 1 and 8192, inclusive) per object
that can be used for a single spatial object in the index by the tessellation process.
References
SQL Server-specific properties are available in the Info tab Microsoft section:
Table 160:
Name Description
Do not validate foreign Specifies that "NOT FOR REPLICATION" keywords are used to prevent the FOREIGN KEY con
key constraint during rep straint from being enforced during the distribution process used by replication.
lication
SQL Server-specific properties are available in the Info tab Microsoft section:
Table 161:
Name Description
Expression [computed attributes] Specifies the expression that defines the value.
Persisted [computed attributes] Specifies that the SQL Server Database Engine will physically store the com
puted values in the table, and update the values when any other columns on which the computed
column depends are updated.
Seed [identity attributes] Specifies the value used for the very first row loaded into the table.
Increment Specifies the incremental value added to the identity value of the previous row loaded.
Default Specifies the value provided for the column when a value is not explicitly supplied during an insert.
Row GUID Specifies that the new column is a row GUID column
SAP EA Designer supports the creation of IBM DB2 v11 for z/OS data models manually, by reverse-
engineering via jdbc, or by generation from another data model.
Note
In order to reverse-engineer from DB2 (see Reverse-Engineering a Database [page 226]), you must first install
an appropriate JDBC driver (see Installing JDBC Drivers [page 260]).
To create an DB2 physical data model, click the + tile in your workspace (see Creating a Diagram from the
Workspace [page 11]) or in a repository folder (see Creating a Diagram [page 15]), enter a name, select Database
(IBM DB2 Version 11 for z/OS), and click Create.
Table 162:
Tool Details
None Materialized query tables. See Materialized Query Tables (DB2) [page 204].
Auxiliary tables are used to store large object (LOB) data, such as graphics, video, etc, or to store rarely-accessed
data in order to improve the performance of the base table.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Auxiliary Tables section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new auxiliary table in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the auxiliary table in the Info tab General section, and then enter the
following properties in the DB2 section:
Table 163:
Name Description
Column Specifies the name of the LOB column in the auxiliary table.
Partition Specifies the partition of the base table for which the auxiliary table is to store the specified col
umn.
Using a trusted context in an application can improve security by placing accountability at the middle-tier,
reducing over granting of privileges, and auditing of end-user's activities.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Trusted Contexts section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new trusted context in the list and then click its name to go to its property sheet.
3. Specify a name and comment for the trusted context in the Info tab General section, and then enter the
following properties in the DB2 section:
Table 164:
Name Description
Enable Specifies that the trusted context is created in the enabled state.
Authorization Specifies that the context is a connection that is established by the authorization ID that is speci
fied by authorization-name.
Default role Specifies the default role that is assigned to a user in a trusted connection when the user does
not have a role in the trusted context.
As object owner Specifies that the role is treated as the owner of the objects that are created using a trusted con
nection based on the trusted context.
Default security label Specifies the default security label for a trusted connection based on the trusted context.
Attributes Specifies one or more connection trust attributes that are used to define the trusted context.
With use for Specifies who can use a trusted connection that is based on the trusted context.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Materialized Query Tables section is not visible, click the Show/Hide Section
button and select it in the list to add it.
2. Click the Add tool to create a new materialized query table in the list and then click its name to go to its
property sheet.
3. Enter the following properties in the Info tab General section:
Table 165:
Name Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the
right of the list to create, browse for, or view the properties of the currently selected object.
Usage Specifies how the view will be used. You can choose between:
○ Query only - Consultation only. The view cannot update tables.
○ Updatable - Consultation and update of underlying tables.
○ With Check options - Implements controls on view insertions.
Dimensional type Specifies the type of view table for purposes of creating star or snowflake schemas containing
fact tables and dimensions. You can choose between:
○ Fact
○ Dimension
○ Exclude - Do not consider as a multidimensional object.
User-defined By default, the view query is updated to reflect changes to model objects on which it is based.
Selecting this option freezes the view and protects your manual changes.
Result table Specifies whether the materialized view is a query table or result table.
Maintained by [Query table] Specifies how the data in the materialized query table is maintained.
Query optimization [Query table] Specifies whether this materialized query table can be used for optimization.
Column default [Result table] Specifies whether or not to copy column defaults.
Identity [Result table] Specifies whether or not to copy identity column attributes.
○ Partitions - lists the partitions contained within the materialized query table.
A column mask specifies the rules for users to receive the masked values that are returned for the column.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Masks section is not visible, click the Show/Hide Section button and select it
in the list to add it.
2. Click the Add tool to create a new mask in the list and then click its name to go to its property sheet.
3. Enter the following properties in the Info tab General section:
Table 166:
Name Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the
right of the list to create, browse for, or view the properties of the currently selected object.
Column Specifies the column to which the mask applies. A mask must not already exist for the column.
Enabled Specifies if the column mask is to be enabled for column access control.
Name Description
Table correlation name Specifies a correlation name that can be used within CASE expression to designate the table.
Case expression Specifies a CASE expression that determines the value that is returned for the column. The re
sult of the CASE expression is returned in place of the column value in a row.
A row permission is a database object that describes a specific row access control rule for a table.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Row Permissions section is not visible, click the Show/Hide Section button
and select it in the list to add it.
2. Click the Add tool to create a new row permission in the list and then click its name to go to its property sheet.
3. Enter the following properties in the Info tab General section:
Table 168:
Name Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the
right of the list to create, browse for, or view the properties of the currently selected object.
Enabled Specifies that the row permission is to be enabled for row access control.
Table 169:
Name Description
Correlation name Specifies a correlation name that can be used within search-condition to designate the table.
Search condition Specifies a condition that can be true, false, or unknown for a row of the table. Search condition
follows the same rules used by the search condition in a WHERE clause of a subselect.
These sections list DB2-specific properties available on standard database objects in DB2 physical data models.
Columns
Table 170:
Name Description
Field procedure Specifies the procedure that will be used as generator/cryptor of values.
name
Implicitly hidden Specifies that the column is not visible in the result for SQL statements unless you explicitly refer to the
column by name.
As security label Specifies that the column will contain security label values. This also indicates that the table is defined
with multi-level security with row level granularity.
Inline length [LOB columns] Specifies the maximum length for the column, if the table is in a universal table space.
Table 171:
Name Description
Table 172:
Name Description
Enforced Specifies that the referential constraint is enforced by the database manager during normal operations,
such as insert, update, or delete.
Sequences
Table 173:
Name Description
SAP EA Designer supports the creation of standard data model objects for all supported DBMSs.
6.9.1 Tables
Procedure
1. Click the Table tool in the bottom toolbar to select it and then click the diagram.
A table is created and its default name selected for overwriting. Entering a name and pressing Tab creates a
column. Entering a name for the column and pressing Tab allows you to specify its data type. You can
continue pressing Tab to create columns as necessary.
Table 174:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally in
clude spaces. You can optionally add a comment to provide more detailed information about the object.
By default the code is synchonized with the name. To decouple name-code synchronization, enter a new
code in the Code field.
Owner / Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right of
Schema the list to create, browse for, or view the properties of the currently selected object.
Number / Row Specifies the estimated number of records in the table, and the annual percentage rate at which this
Growth Rate number is expected to grow.
Dimensional Specifies the type of the table for purposes of creating star or snowflake schemas containing fact tables
type and dimensions. You can choose between:
○ Fact
○ Dimension
○ Exclude - Do not consider as a multidimensional object.
Type [if your DBMS supports various types of table] Specifies the type of the table. You can choose between:
○ Relational - Standard tables.
○ Object - Tables based on abstract data types. Select an abstract data type in the Base on field.
○ XML - Tables storing XML documents. Select a schema and element.
6.9.2 Columns
A column is a set of values of a single type in a table. Each row of the table contains one instance of each column.
You can create a column from its parent table property sheet or symbol.
Procedure
1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the
Add tool above the Columns list.
Alternatively, select a table symbol and use the Add Column tool in its context pad. Entering a name for the
column and pressing Tab allows you to specify its data type. You can continue pressing Tab to create
columns as necessary.
2. Click the column name in the Columns list (or select it in the table symbol) to display its property sheet.
3. Enter the following properties in the property sheet in the Info tab General section:
Table 175:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Use the tools to the right of the field to select or create an abstract data type for the column.
Domain Specifies the domain associated with the object (see Domains [page 216]). Use the tools to the
right of this field to create or browse to a domain.
Primary key Specifies that the values in the column uniquely identify table rows (see Keys [page 212]).
Foreign key Specifies that the column depends on and migrates from a primary key column in another table
(see Keys [page 212]).
Sequence [if supported by your DBMS] Specifies the sequence associated with the column (see Sequences
[page 220]).
With default [if supported by your DBMS] Specifies that the column must be assigned a value that is not null.
Computed [if supported by your DBMS] Specifies that the column is computed from an expression using val
ues from other columns in the table. Enter an appropriate expression in the Computed expression
field in the Info tab Detail section.
Mandatory [if supported by your DBMS] Specifies that a non-null value must be assigned.
Identity [if supported by your DBMS] Specifies that the column is populated with values generated by the
database. Identity columns are often used as primary keys.
4. Enter the following properties in the property sheet in the Info tab Detail section:
Table 176:
Property Description
Null values, Distinct Specify the size and distinctness of data values that you expect to store in the column. You can
values, Average specify:
length ○ Null values - [Default: 0%] Specifies the percentage of values to leave empty.
○ Distinct values - [Default: 100%] Specifies the percentage of values that must be unique.
○ Average length - [read only] The default value is the maximum length for the data type de
fined for the column.
Computed expres Specifies an expression used to compute data for the column.
sion
5. Enter the following properties in the property sheet in the Info tab Standard Checks section:
Table 177:
Property Description
Minimum, Maximum, De Specify the lowest and highest acceptable numeric values and the value assigned in the ab
fault sence of an expressly entered value. You can set a:
○ Minimum - The lowest acceptable numeric value.
○ Maximum - The highest acceptable numeric value.
○ Default - The value assigned in the absence of an expressly entered value. See Defaults
[page 219].
Format, Unit, No Space, These properties are for documentation purposes only, and will not be generated. You can
Cannot modify choose a:
○ Format - For example, 9999.99 would represent a four digit number with two decimal pla
ces.
○ Unit - A standard measure.
○ No space - Space characters are not allowed.
○ Cannot modify - The value cannot be updated after initialization.
Case Specifies the acceptable case for the data. You can choose between:
○ Mixed case [default]
○ Uppercase
○ Lowercase
○ Sentence case
○ Title case
Select the Complete check box beneath the list to exclude all other values not appearing in the
list.
6.9.3 Keys
A primary key contains one or more columns whose combined values uniquely identify every row in a table. Each
table can have only one primary key, but can have any number of alternate keys, which similarly contain one or
more columns whose combined values uniquely identify every row in a table. Foreign keys contain one or more
columns whose values match a primary or alternate key in some other table.
Procedure
1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the
Add tool above the Keys list.
2. Click the key name in the Keys list to display its property sheet.
3. Enter the following properties in the property sheet in the Info tab General section:
Property Description
Name/Code/Comment Identify the object. The name should clearly convey the object's purpose to non-technical
users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de
tailed information about the object. By default the code is synchonized with the name. To de
couple name-code synchronization, enter a new code in the Code field.
Table Specifies the name of the table where the key is defined.
Constraint name Specifies the name of the key constraint. A primary key constraint is a named check that en
forces the uniqueness and the presence of values in a primary key column.
Primary key Specifies that the key is the primary key of the table. There can be only one primary key in a
table, so selecting this key as the primary key will deselect any existing primary key.
Cluster Specifies that the key constraint is a clustered constraint (for those DBMSs that support clus
tered indexes).
○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the
object is optimised and stored in the database in text form. You can edit the code by hand and, when you
click outside the field, your changes will be validated (with any syntax errors indicated below the field).
○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical
options as standard controls. Changes made in this section or the Physical Options section will be
synchronized in the other section.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
5. Click the Children tab, expand the Columns list and select the columns to associate with the key.
6.9.4 Indexes
An index is a data structure associated with one or more columns ordered by the column values. Indexes are
typically created for columns that you are frequently searched on to improve response times.
Procedure
1. Select a table symbol in the diagram to display its property sheet, click the Children tab, and then click the
Add tool above the Indexes list.
2. Click the index name in the Indexes list to display its property sheet.
Table 179:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Owner [if supported by the DBMS] Specifies the user who is the owner of the object. This is usually its
creator. Use the tools to the right of the list to create, browse for, or view the properties of the
currently selected object.
Cluster Specifies that the index is a clustered index. A table cannot have more than one clustered index.
Related Key Specifies that the index is based on the columns contained in the selected key.
○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the
object is optimised and stored in the database in text form. You can edit the code by hand and, when you
click outside the field, your changes will be validated (with any syntax errors indicated below the field).
○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical
options as standard controls. Changes made in this section or the Physical Options section will be
synchronized in the other section.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
5. Click the Children tab and create the following objects as necessary:
○ Index Columns - Click the Add tool to add columns from the parent table or the Create tool to create an
expression.
A view is a query that provides access to all or a subset of the data in a table or multiple tables connected by joins.
Procedure
1. Click the View tool in the bottom toolbar to select it and then click the diagram.
Alternatively, select a table or view in the diagram and press Ctrl + Shift + V to create a view based on
the single source.
2. Click the Select View Sources tool in the symbol's context pad, select tables and views as sources for the view,
and click Select. The view properties are updated as follows:
○ The tables and views selected as sources are added to the read-only Referenced Objects list on the
Depends On tab.
○ All of the columns in the sources are added to the read-only Referenced Columns list on the Depends On
tab.
○ All of the columns in the sources are added to the read-only Columns list on the Children tab, and
displayed in the view symbol. You can reorder the view columns using the arrows above the list.
○ The SQL Query section on the Info tab is updated with the necessary SQL code to define the view query.
3. Review the code in the SQL Query section and edit it as appropriate. When you click outside the field, your
changes are validated (with any syntax errors indicated in the first line of the code) and the Referenced
Objects, Referenced Columns, and Columns lists are updated as necessary.
4. Enter the following properties in the property sheet in the Info tab General section:
Table 180:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Type [if supported by your DBMS] Specifies the type of the view.
Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the
right of the list to create, browse for, or view the properties of the currently selected object.
Usage Specifies how the view will be used. You can choose between:
○ Query only - Consultation only. The view cannot update tables.
○ Updatable - Consultation and update of underlying tables.
○ With Check options - Implements controls on view insertions.
Dimensional type Specifies the type of view table for purposes of creating star or snowflake schemas containing
fact tables and dimensions. You can choose between:
○ Fact
○ Dimension
○ Exclude - Do not consider as a multidimensional object.
User-defined By default, the view query is updated to reflect changes to model objects on which it is based.
Selecting this option freezes the view and protects your manual changes.
○ Script - Specifies begin and end scripts for insertion directly before and after the object's creation
statement.
○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the
object is optimised and stored in the database in text form. You can edit the code by hand and, when you
click outside the field, your changes will be validated (with any syntax errors indicated below the field).
○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical
options as standard controls. Changes made in this section or the Physical Options section will be
synchronized in the other section.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
○ Preview - [HANA] Displays the SQL script that will be generated for the object.
6.9.6 Domains
A domain specifies a data type, length, precision, mandatoriness, check parameters, and business rules and can
be applied to multiple columns. You can define domains for columns of type ID, name, address, or any other kind
of data whose use you want to standarize across multiples columns in your model.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Domains section is not visible, click the Show/Hide Section button and
select it in the list to add it. Click the Add tool to create a new domain in the list and then click its name to go to
its property sheet.
Alternatively, on the property sheet of a column, click the Create tool to the right of the Domain field.
2. Enter the following properties in the property sheet in the Info tab General section:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the
right of the list to create, browse for, or view the properties of the currently selected object.
Data type/ Length/ Specifies the form of data to be stored and, where appropriate, the maximum number of charac
Precision ters or numerals, and the maximum number of places after the decimal point. The following vari
ables specify length and precision requirements:
○ %n - length
○ %s - length with precision
○ %p - decimal precision
For example, the data type char(%n) , requires you to specify a length.
Mandatory [if supported by your DBMS] Specifies that a non-null value must be assigned.
3. Enter the following properties in the property sheet in the Info tab Standard Checks section:
Table 182:
Property Description
Minimum, Maximum, De Specify the lowest and highest acceptable numeric values and the value assigned in the ab
fault sence of an expressly entered value. You can set a:
○ Minimum - The lowest acceptable numeric value.
○ Maximum - The highest acceptable numeric value.
○ Default - The value assigned in the absence of an expressly entered value. See Defaults
[page 219].
Format, Unit, No Space, These properties are for documentation purposes only, and will not be generated. You can
Cannot modify choose a:
○ Format - For example, 9999.99 would represent a four digit number with two decimal pla
ces.
○ Unit - A standard measure.
○ No space - Space characters are not allowed.
○ Cannot modify - The value cannot be updated after initialization.
Case Specifies the acceptable case for the data. You can choose between:
○ Mixed case [default]
○ Uppercase
○ Lowercase
○ Sentence case
○ Title case
Select the Complete check box beneath the list to exclude all other values not appearing in the
list.
An abstract data type is a data type that can comprise a list of attributes, each of which has its own data type.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Abstract Data Types section is not visible, click the Show/Hide Section
button and select it in the list to add it. Click the Add tool to create a new abstract data type in the list and then
click its name to go to its property sheet.
2. Enter the following properties in the property sheet in the Info tab General section:
Table 183:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Type Specifies the kind of the abstract data type, which will change the other properties that are available.
Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right
of the list to create, browse for, or view the properties of the currently selected object.
Authorization [objects] Specifies the Invoker Right attribute used for DDL generation.
Supertype [objects] Specifies the parent type from which the type is derived, and from which it can inherit the
procedures.
Final/Abstract [objects] Mutually exclusive. If Final, the abstract data type cannot be used as supertype by another
abstract data type. If Abstract, the abstract data type cannot be instantiated.
Data type/ [tables, varrays] Specify the data type of the abstract data type.
Length/Precision
Size [arrays] Specifies the size of the abstract data type array.
Java class/Java [SQLJ objects] Specify the name of an external Java class to which the SQLJ object points and the
data mapping interface (CustomDatum, OraData or SQLData).
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
4. [objects, SQLJ objects] Click the Children tab and create the following objects as necessary:
○ Attributes
6.9.8 Defaults
Default objects are named values that can be assigned to columns or domains. For example, if you must set a
default value for all columns of type city, you can create a default object citydflt to assign the value London
to it.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Defaults section is not visible, click the Show/Hide Section button and select
it in the list to add it. Click the Add tool to create a new default in the list and then click its name to go to its
property sheet.
Alternatively, on the property sheet of a column, click the Create tool to the right of the Default field.
Table 184:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the right
of the list to create, browse for, or view the properties of the currently selected object.
Value Specifies the value that will be generated for the default object.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
6.9.9 Sequences
Sequences are auto-incremented columns that allow you to define complex incrementations. Sequences are
available for selection from the Sequence list on the General tab of column property sheets. Sequences are not
supported by all DBMSs.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Sequences section is not visible, click the Show/Hide Section button and
select it in the list to add it. Click the Add tool to create a new sequence in the list and then click its name to go
to its property sheet.
Alternatively, on the property sheet of a column, click the Create tool to the right of the Sequence field.
2. Enter the following properties in the property sheet in the Info tab General section:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Owner Specifies the user who is the owner of the object. This is usually its creator. Use the tools to the
right of the list to create, browse for, or view the properties of the currently selected object.
○ Physical Options - [if supported by your DBMS] Specifies DBMS-specific parameters that control how the
object is optimised and stored in the database in text form. You can edit the code by hand and, when you
click outside the field, your changes will be validated (with any syntax errors indicated below the field).
○ Physical Options (Common) - [if supported by your DBMS] Represents the most commonly-used physical
options as standard controls. Changes made in this section or the Physical Options section will be
synchronized in the other section.
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
A stored procedure is a precompiled collection of SQL statements stored under a name and processed as a unit. A
user-defined function is a form of procedure that returns a value to the calling environment for use in queries and
other SQL statements.
Procedure
1. Click the Procedure tool in the bottom toolbar to select it and then click the diagram.
2. Enter the following properties in the property sheet in the Info tab General section:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
A user is a database object that identifies a person who can login or connect to the database. Groups and roles are
used to simplify the granting of rights to users, as privileges and permissions granted to a group or role are
inherited by users who belong to that group or incarnate that role.
Procedure
1. Select Menu Show Model Object Lists to go to the Children tab of the model property sheet, which lists
all the objects in the model. If the Users, Roles, or Groups section is not visible, click the Show/Hide Section
button and select it in the list to add it. Click the Add tool to create a new object in the list and then click its
name to go to its property sheet.
Alternatively, on the property sheet of an object that has an owner, click the Create tool to the right of the
Owner field.
2. Enter the following properties in the property sheet in the Info tab General section:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
6.9.12 References
A reference is a link between a parent table and a child table, which defines a referential integrity constraint
between column pairs for a primary or alternate key and a foreign key, or between user-specified columns. Each
column pair is linked by a join, and each reference can contain one or more joins. Each value in the child table
column is equal to the value in the parent table column.
Procedure
1. Select the child table to display its context pad, click on the Link tool and drag and drop the end of the link on
the parent table.
2. Click the reference to select it and enter the following properties in the property sheet in the Info tab General
section:
Table 188:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users,
Comment while the code, which is used for generating code or scripts, may be abbreviated, and should not
normally include spaces. You can optionally add a comment to provide more detailed information
about the object. By default the code is synchonized with the name. To decouple name-code syn
chronization, enter a new code in the Code field.
Parent table/ Child ta Specify the parent table (which contains the primary or alternate key or a user-selected column)
ble and the child table (which contains the foreign key or a user-selected column) linked by the refer
ence. Use the tools to the right of the Parent table field to create, browse for, or view the proper
ties of the currently selected table.
Parent role/ Child role Specify the roles of the parent and child tables in the reference (for example Contains and Is
contained by.
Parent key Specifies the parent table key on which to base the join. The value selected in this list autopopu
lates the Reference Joins list on the Children tab. Alternatively, select <None> and specify your
own column pairs on which to base the join.
Auto arrange join or Sorts the Reference Joins (on the Children tab) in key column order. If this option is not selected,
der you can re-arrange the columns using the arrow buttons above the list.
3. Enter the following properties in the property sheet in the Info tab Integrity section:
Table 189:
Property Description
Constraint name Specifies the name of the referential integrity constraint. Maximum length is 254 characters.
If you edit this name, the User-defined button will be depressed. To return to the default
name, click to release this button.
Implementation Specifies how referential integrity will be implemented. You can choose between:
○ Declarative- Referential integrity constraints are defined for particular references. When
the reference is generated the target DBMS evaluates the reference validity and gener
ates appropriate error messages.
○ Trigger - Referential integrity constraints are implemented by triggers based on the in
tegrity constraints defined in the reference property sheet. The trigger evaluates refer
ence validity and generates appropriate user-defined error messages.
Cardinality Indicates the minimum and maximum number of instances in a child table permitted for each
corresponding instance in the parent table. The following values are available by default:
○ 0..* - A parent can have zero or more children.
○ 0..1 - A parent can have zero or one children.
○ 1..* - A parent can have one or more children.
○ 1..1 – A parent must have exactly one child
Alternately, you can enter your own integer values in one of the following formats (using * or
n to represent no limit):
○ x..y - A parent can have between x and y children. For example: 2..n – There must be
at least 2 children.
○ x - A parent can have exactly x children. For example: 10 - There must be exactly 10 chil
dren.
○ x..y, a..b - A parent can have between x and y or between a and b children. For ex
ample: 1..2, 4..n – There must be one, two, four or more children.
Update/Delete constraint Specifies how updating a key value in the parent table will affect the foreign key value in the
child table. Depending on the implementation and DBMS, you can choose between:
○ None - No effect on the child table.
○ Restrict - Values in the parent table cannot be updated or deleted if one or more match
ing child values exists.
○ Cascade - Updates or deletions of parent table values are cascaded to matching values
in the child table.
○ Set null - Updates or deletions of parent table values set matching values in the child ta
ble to NULL.
○ Set default - Updates or deletions of parent table values set matching values in the child
table to the default value.
Mandatory parent Specifies that each foreign key value in the child table must have a corresponding key value,
in the parent table.
Change parent allowed Specifies that a foreign key value can change to select another value in the referenced key in
the parent table.
Check on commit [SQL Anywhere] Verifies referential integrity only on commit, instead of after row insertion.
You can use this feature to control circular dependencies.
Cluster Specifies that the reference constraint is a clustered constraint (for those DBMSs that sup
port clustered indexes).
○ Definition - The Description field provides detailed information about the object, while Annotation can be
used to keep track of its evolution.
○ Version Info - Provides information about the creation, modification, and location of the object in the
repository.
SAP EA Designer supports reverse-engineering any supported database to a physical data model.
Context
Note
Drivers for SAP HANA and SAP SQL Anywhere databases are provided by default. To reverse-engineer any
other database, you must first install an appropriate JDBC driver (see Installing JDBC Drivers [page 260]).
Procedure
Table 190:
Parameter Description
Server Enter the full server name or IP address and the port.
Database Enter the database server name and database name (if required by your DBMS).
Note
When connecting to an Oracle database, enter the service name in the server
name field.
4. Click Connect to connect to the database and display the Selection tab.
The connecting user (or its default schema) is selected in the list in the left pane, and all the database objects
belonging to it (along with any global objects) are displayed in the right pane, with none selected.
5. Select the objects that you want to reverse:
○ Select the Select All checkbox in the menu bar to select all the objects of all types.
○ Select the checkbox in a category header to select all the objects in that category.
○ Expand a category and select individual objects.
○ Select a different user or schema in the left pane to display its objects.
The cart tool at the bottom of the dialog updates with the total number of objects selected.
6. [optional] You can, at any time, click the cart tool to review the objects selected for reversing.
7. Click Reverse to begin reversing objects.
8. [if your model already contains objects] A window showing the changes that will be merged to your model
opens. Review the changes (see Reviewing Updates From a Reverse [page 227]) and then click Save to
complete the reverse.
9. Review your reversed objects.
Note
Following a reverse-engineering, object codes are no longer syncronized with names, to allow you to
provide human readable names for your tables and other objects without changing their underlying SQL
codes (see Object Names and Codes [page 18]).
10. Save and publish your model to make it available to other users (see Publishing Diagrams [page 34]).
If you reverse objects from a database into a non-empty model, an update dialog opens to allow you to review the
changes that will be made to your model. You can accept or reject each update individually before continuing with
the reverse.
Every difference between the model and the database is treated as an action that must be performed on the
model to make it consistent with the database. You can select or deselect individual actions in order to obtain only
the updates you want.
SAP EA Designer supports creating a new database model by generation from an existing database model. You
can use model generation to help migrate from one DBMS to another. For example, you could reverse-engineer an
Oracle database to a model, generate the model to a HANA 2.0 HDI model, and then generate this second
model to HANA.
Context
Note
You can only generate to a new model. You cannot update an existing model.
Procedure
1. Open the database model from which you want to generate a new model.
If there are unsaved changes in your model, you will be prompted to save.
4. Select the folder that you want to generate the model to and specify a name for it.
5. Select the DBMS that you want to generate to in the Type field.
6. Click Generate to generate the model.
The generated diagram opens in a new tab and is added to your workspace in the My Draft Diagrams section.
Note
If your browser blocks pop-ups, you must enable them for SAP EA Designer or navigate to your workspace
to see the generated diagram.
○ When generating to a HANA or other database, tables, columns (converted to the equivalent data types in
the new model), indexes, keys, references, and views are generated.
○ When generating to HDI, tables and references are generated as CDS entities and associations at the root
or in a standard package, while domains and abstract data types are generated as simple and structured
types in a Types context.
8. Make any appropriate edits to the generated diagram and then publish it to make it available to other users
(see Publishing Diagrams [page 34]).
You can create these objects in any diagram unless specified otherwise.
A business rule is a written statement specifying what a system must do or how it must be structured. Rules can
be derived from a government-imposed law, a customer requirement, or an internal guideline. You can attach
rules to your model objects to complement your diagrams with information that is not easily represented
graphically.
For example, a rule stating that "An employee belongs to only one division." can help you graphically build the link
between an employee and a division. Rules often start as simple observations that develop, during the design
process, into more detailed expressions. You may, for example, develop rules to explicitly define what information
a customer supplies when placing an order, or how much a customer can spend based on a credit limit.
Rules can be developed from procedures that the system must respect, specifications dictating the scope of the
project, and external constraints.
1. Navigate to the model property sheet by clicking the Model link in a diagram property sheet.
2. Click the Children tab. If the Business Rules list is not visible, add it by clicking the Show/Hide Section tool and
selecting Business Rules.
3. Click the + button above the Business Rules list and then click its name link to open its property sheet and
complete any appropriate properties.
Table 191:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally
include spaces. You can optionally add a comment to provide more detailed information about the ob
ject. By default the code is synchonized with the name. To decouple name-code synchronization, en
ter a new code in the Code field.
Type Specifies the nature of the business rule. You can choose between:
● Constraint – a check constraint on a value. In a PDM, constraint business rules can be generated
in the database. For example, "The start date should be inferior to the end date of a project."
● Definition – a property of the element in the system. For example; "A customer is a person identi
fied by a name and an address".
● Fact – a certainty in the system. For example, "A client may place one or more orders".
● Formula – a calculation. For example, "The total order is the sum of all the order line costs".
● Requirement – a functional specification. For example, "The model is designed so that total
losses do not exceed 10% of total sales".
● Validation – a constraint on a value. For example, "The sum of all orders for a client must not be
greater than that client's allowance".
Server expression/ Though business rules typically start out as descriptions, as you develop your model and analyze your
Client expression business problem, you can enrich them by adding technical expressions.
You can attach business rules to your model objects on the Depends On tab of the object's property sheet.
Procedure
1. In Edit mode, open the property sheet of the object and click the Depends On tab.
2. If the list of associated business rules is not visible, click the Show/Hide Section tool and select the Associated
Business Rules list.
3. Click the Add tool at the top of the Associated Business Rules list, and use the Search dialog to select the
object to be linked to (see Referencing an Object in a Property Field or List [page 40]).
The business rule is now attached to the object. You can navigate to it from the list on the object's Depends
On tab. You can navigate from the rule to the object from the list of Attached Objects on the rule's Impacts
tab.
You can embed any application file in your model or provide a link to it. For example you could include a detailed
description of your problematic by pointing to a text or Word file from your model. The file itself can be embedded
in the model or referenced by it.
To create a file, click the File tool to select it, and then click in empty space.
Table 192:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while the
Comment code, which is used for generating code or scripts, may be abbreviated, and should not normally include
spaces. You can optionally add a comment to provide more detailed information about the object. By de
fault the code is synchonized with the name. To decouple name-code synchronization, enter a new code
in the Code field.
Location type Specifies the nature of the file object. You can choose from the following:
● Embedded file – the file is stored within the model and is saved when you save the model. If you sub
sequently change the type to external, you will be warned that the existing contents will be lost.
● URL – the file is on the web and you must enter its URL in the Location field
Extension Specifies the extension of the file object. By default, the extension is set to txt.
Generate Specifies to generate the file object when you generate the model to another model.
Artifact Specifies that the file object is not a piece of documentation, but rather forms an integral part of the appli
cation.
7.3 Packages
Packages can be used to organize your model into different tasks and subject areas, and to assign parts of it to
different development teams. Each package has a default diagram, and you can add further diagrams, model
objects, and sub-packages. You can create as many packages as you need in a model and decompose a package
into other packages, and so on.
Note
You cannot create a package in a business process diagram or process map.
To create a package, click the Package tool to select it, and then click in empty space. To go into the package
diagram and create objects in it, double-click the package symbol.
Table 193:
Property Description
Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical users, while
Comment the code, which is used for generating code or scripts, may be abbreviated, and should not normally in
clude spaces. You can optionally add a comment to provide more detailed information about the object.
By default the code is synchonized with the name. To decouple name-code synchronization, enter a new
code in the Code field.
Default diagram Specifies the diagram to display by default when you open the package.
Use parent name Specifies that the package does not represent a separate namespace from its parent and thus that ob
space jects created within it must have names that are unique within the parent container. If this property is
not selected, then the package and its parent package or model can both contain objects that are called
Object A.
Traceability links provide a flexible means for creating a connection between any object in any type of diagram
and any other object in the diagram or anywhere in the repository. Traceability links have no formal semantic
meaning, but can be followed when performing an impact analysis or otherwise navigating through the model
structure.
To create a traceability link between objects in an enterprise architecture diagram or process map, use the Link
tool (see Linking EAM Objects [page 60]). If a different type of link is created by default, click on the link and then
click the Type tool to change the type to Traceability Link. In this example, the Advanced Analysis
Techniques business function depends on the Gamma system via a traceability link:
To create a traceability link in any type of diagram, between any object and any other object in the repository:
Every object has two lists that show the traceability links connected to it:
● Outgoing Traceability Links (on the Depends On tab) - Lists all the objects that the object points to with
traceability links.
● Incoming Traceability Links (on the Impacts tab) - Lists all the objects that point to the object with traceability
links.
One or more administrators must install and configure SAP EA Designer and manage repository users and
groups. Administrators can also monitor repository logs and define extensions to make custom properties
available for objects.
SAP EA Designer can be installed in your SAP HANA 2.0 system using the xs command line tool.
Prerequisites
You must install the xs command line tool and ensure that you have an XS Controller-enabled SAP HANA user
(the XS_CONTROLLER_ADMIN scope is assigned) with the required SAP HANA roles and the SpaceManager XS
Controller role assigned to it.
The XS CLI client tools are installed by default on the SAP HANA server, and can be used if you have also installed
the XS advanced run-time in your SAP HANA instance. To connect to SAP HANA via XS CLI from your local
machine, you must download the client tools and install them locally. The package containing the XS CLI client
tools (xs.onpremise.runtime.client_<platform>-<version>.zip) can be downloaded from the SAP
HANA server, from the installation DVD, or from the SAP support portal (see SAP Note 2242468: Setting up the
XS Advanced CLI ).
Procedure
_schema-version: "2.0.0"
ID: com.sap.hana.eadesigner.ext
extends: com.sap.hana.eadesigner
modules:
- name: eadesigner-backend
properties:
ADMIN_PASSWORD: <tempPwd>
3. Login to the XSA environment with the following command and enter your credentials when prompted:
xs login -a https://<HOST>:30030
4. Install the SAP EA Designer package using the following command, where firstTime.mtaext is the file
containing the temporary administrator password:
5. When the installation is complete enter the following command to confirm the status of SAP EA Designer:
xs apps
The output will include all the applications of your organization and space. You should see:
○ eadesigner - The SAP EA Designer application.
○ eadesigner-service - The SAP EA Designer Node application.
○ eadesigner-backend - The SAP EA Designer Java application.
○ eadesigner-db - The SAP EA Designer database creation application. This application will have a state
of stopped when the installation is complete.
6. Note the URL for eadesigner and enter it in your web browser address bar to go to the SAP EA Designer
login screen.
7. Enter the following credentials:
Note
Account names managed by SAP EA Designer are case-sensitive.
The repository administrator is responsible for controlling access to the documents stored in the repository by
creating users and groups and assigning them rights, permissions, and profiles.
Context
Note
SAP EA Designer does not use SAP HANA user management. An administrator must set up repository
accounts or delegate authentication to LDAP.
Repository rights give users access to general repository features, while permissions give them access to
particular locations in the repository. The following rights and permissions are available:
Table 194:
Rights (Entire Repository) Permissions (Per Folder or Item)
● Connect - Connect to the repository and view diagrams ● List - View the document or folder in the repository
in SAP EA Designer. browser and in search results. Without this permission,
● Edit on Web - Create and edit diagrams in SAP EA the folder or document is hidden from the user.
Designer.
● Read - Also open and compare documents.
● Edit Extensions on Web - Create and edit cus
● Submit - Also propose changes to the document for re
tom properties in SAP EA Designer. Gives access to the
Administration/Extensions tile. view by a user with Write permission.
● Manage All Documents - Perform any action on ● Write - Also review changes by other users and publish
any document version. Implicitly includes Full permis changes directly.
sion on all repository documents.
● Full - Also manage permissions granted to users and
● Manage Users & Permissions - Create, modify,
groups.
and delete repository users and groups, grant them
rights, and add them to groups. Users with this right can
list all repository documents and set permissions on Note
them without needing explicit Full permission. Gives
Administrators, who have implicit Full permission
access to the Administration/Users and Groups tiles.
on all repository objects, will only receive diagrams for
● Manage Repository - Create, upgrade, and delete
review if they have been granted explicit Write per
the repository database. Gives access to the
Administration/Settings tile. mission on them.
Procedure
1. [recommended] Connect the repository to an SMTP server to enable the automatic sending of emails for
passwords, changelist submissions, and other notifications (see Connecting to an SMTP Server for
Notifications [page 256]).
2. Determine how you will manage user authentication. You can choose one or more of:
Note
LDAP is only used for authentication. Rights and permissions on repository folders and documents are
controlled in the repository.
3. [optional] Create high-level functional groups (see Creating Repository Groups [page 241]) to organize users
by type and assign appropriate rights to them to govern general actions that they can perform in the
repository (see Granting Rights to Users and Groups [page 244]).
For example:
Table 195:
Groups Rights
Administrators Connect, Manage All Documents, Manage Users & Permissions, Manage Repository
Note
There is no requirement to create groups - you can assign rights and permissions to individual users - but
we recommend that in all but the smallest deployments, you do create groups to simplify the process.
4. Determine your review policy either at a global or project by project level. SAP EA Designer supports the
following kinds of policy:
○ Simple review - Change lists submitted by users with the Submit permission are reviewed by users with
the Write or Full permission.
○ Peer review - Users with the Write or Full permission voluntarily submit change lists for review.
○ Direct check in - The Submit permission and change lists are not used, and users all check in changes
without review.
5. Create an appropriate folder structure in the repository (see The Repository [page 13]) to enable you to group
documents by project or in any other appropriate way, and to simplify the granting of permissions.
In this example, we imagine the following simple folder structure:
○ Library
○ EA
○ Process Map
○ Process Diagrams
○ HR
○ Sales
○ Data
Table 196:
7. Create as many users as necessary either manually (see Creating Repository Users [page 239]) or via LDAP
(see Creating Externally-Authenticated Repository Users [page 255]) and assign them to appropriate groups
(see Adding Users and Groups to a Group [page 243]) according to their roles and project responsibilities.
There is no limit to the number of groups to which a user or group can be assigned, and users benefit from the
cumulative total of all the rights and permissions they receive.
The repository administrator is responsible for creating user accounts to enable users to connect to the
repository and access the content that they need.
Context
The following standard users are automatically created in each SAP EA Designer repository:
● ADMIN - Has all available rights and implicit Full permission on all repository folders.
Procedure
1. From the homepage, click Administration Users , and then click the + button to create a user and open
its property sheet.
2. Enter the following properties as appropriate:
Table 197:
Property Description
Managed by By default, users must enter a password managed by SAP EA Designer to connect to the reposi
tory. To allow them to enter their standard corporate password, select External (LDAP) (see Creat
ing Externally-Authenticated Repository Users [page 255]).
Login Name Specifies the account name used to connect to the repository.
Note
Account names managed by SAP EA Designer are case-sensitive.
Email Specifies the email address of the user. If you have specified an SMTP server (see Connecting to
an SMTP Server for Notifications [page 256]) this address will be used to send the password.
Rights Select the checkboxes corresponding to the rights you want to assign. The following rights are
available:
○ Connect - Connect to the repository and view diagrams in SAP EA Designer.
○ Edit on Web - Create and edit diagrams in SAP EA Designer.
○ Edit Extensions on Web - Create and edit custom properties in SAP EA Designer.
Gives access to the Administration/Extensions tile.
○ Manage All Documents - Perform any action on any document version. Implicitly in
cludes Full permission on all repository documents.
○ Manage Users & Permissions - Create, modify, and delete repository users and
groups, grant them rights, and add them to groups. Users with this right can list all repository
documents and set permissions on them without needing explicit Full permission. Gives ac
cess to the Administration/Users and Groups tiles.
○ Manage Repository - Create, upgrade, and delete the repository database. Gives access
to the Administration/Settings tile.
3. If you have not enabled delivery of passwords by email (see Connecting to an SMTP Server for Notifications
[page 256]), click the Change Password button, enter a temporary password identically in the two fields and
then click Change Password. Note the temporary password for transmission to the user.
4. Click the Groups tab and add the user to any appropriate groups (see Adding Users and Groups to a Group
[page 243]).
All users are added to the Public group, from which, by default, they inherit the Read permission on all the
contents of the repository (see Granting Access Permissions on Repository Items [page 244]).
5. Click Save to complete the creation of the user. If an SMTP server is configured, the password will be sent to
the user at the recorded email address.
Users must log in with their temporary password before the delay specified in the password policy (see
Defining a Password Policy [page 257]). When they first log in they will be required to change the temporary
password.
The repository administrator is responsible for creating groups of users in the repository. Users are added to
groups in order to simplify the granting of rights and permissions and the use of profiles. You can create
hierarchies of groups. For example, you could insert the Designers, Quality Assurance, and Documentation
groups into the R&D group, to which you assign permissions to documents that all these groups must use.
Context
The following standard groups are automatically created in each SAP EA Designer repository:
● Administrators, [ADMN] - Has, by default, all available rights and implicit Full permission on all repository
folders.
● All users [PUBLIC] - Has, by default, Read permission on the repository root. All users belong to this group
and can thus, by default, browse any diagram.
Procedure
1. From the homepage, click Administration Groups , and then click the + button to create a group and
open its property sheet.
2. Enter the following properties as appropriate:
Table 198:
Property Description
Name Specifies the name of the group as it will appear in the interface.
Code Specifies the internal name of the group, which can be used in scripting.
Rights Select the checkboxes corresponding to the rights you want to assign. The following rights are avail
able:
○ Connect - Connect to the repository and view diagrams in SAP EA Designer.
○ Edit on Web - Create and edit diagrams in SAP EA Designer.
○ Edit Extensions on Web - Create and edit custom properties in SAP EA Designer. Gives
access to the Administration/Extensions tile.
○ Manage All Documents - Perform any action on any document version. Implicitly includes
Full permission on all repository documents.
○ Manage Users & Permissions - Create, modify, and delete repository users and groups,
grant them rights, and add them to groups. Users with this right can list all repository docu
ments and set permissions on them without needing explicit Full permission. Gives access to
the Administration/Users and Groups tiles.
○ Manage Repository - Create, upgrade, and delete the repository database. Gives access to
the Administration/Settings tile.
By default, groups do not have any rights.
3. Click the Members tab and add any appropriate users and groups to the group (see Adding Users and Groups
to a Group [page 243]).
4. Click the Parents tab and add the group to any appropriate groups (see Adding Users and Groups to a Group
[page 243]).
5. Click Save to complete the creation of the group.
You can add users and groups as members of a group from either the user or the group property sheet.
Context
● To add a user to a group from the user's property sheet, click the Groups tab, which lists the groups to which
the user belongs. Click the + tool to open a list of groups, select one or more, and then click OK to add the user
to them.
● To add a group to a parent group from the child group's property sheet, click the Parents tab, which lists the
groups to which the group belongs. Click the + tool to open a list of groups, select one or more, and then click
OK to add the group to them.
● To add a user or group to a group from the parent group's property sheet, click the Members tab, which lists
the users and groups which are members of the group. Click the Add tool to open a list of users and groups,
select one or more, and then click OK to add them to the group.
When you delete a group from the repository you do not delete the members (either users or groups) of the
group.
Procedure
A new user has only the Connect right assigned by default and belongs only to the PUBLIC group. The repository
administrator can grant additional rights to the user either directly or by adding her to other groups.
Context
User rights are associated with document permissions (see Granting Access Permissions on Repository Items
[page 244]) to define the actions a user can effectively perform on a document.
Procedure
1. From the homepage, click Administration Users (or Administration Groups ), and click the
appropriate user or group in the list to open its property sheet.
2. Select the check boxes corresponding to the rights you want to assign. The following rights are available:
○ Connect - Connect to the repository and view diagrams in SAP EA Designer.
○ Edit on Web - Create and edit diagrams in SAP EA Designer.
○ Edit Extensions on Web - Create and edit custom properties in SAP EA Designer. Gives access to the
Administration/Extensions tile.
○ Manage All Documents - Perform any action on any document version. Implicitly includes Full
permission on all repository documents.
○ Manage Users & Permissions - Create, modify, and delete repository users and groups, grant them
rights, and add them to groups. Users with this right can list all repository documents and set permissions
on them without needing explicit Full permission. Gives access to the Administration/Users and Groups
tiles.
○ Manage Repository - Create, upgrade, and delete the repository database. Gives access to the
Administration/Settings tile.
3. Click Save to save your changes.
The repository administrator or a user with Full permission on a document or folder can grant permissions on it.
Permissions can be granted on the repository root, folders, and models, but not on individual diagrams or objects.
Context
A user wanting to browse and edit documents in the repository must have at least the following permissions:
Note
Object permissions should be viewed in conjunction with the rights granted to users or groups (see Granting
Rights to Users and Groups [page 244]).
Procedure
1. From the homepage, click Repository, navigate to the item, and click its Permissions tab.
2. Click the + button to open a list of available users and groups, select one or more, and click OK to add them to
the list.
3. For each user or group, select the permission you want to grant in the Granted Permission column. The
following permissions are available:
○ List - View the document or folder in the repository browser and in search results. Without this
permission, the folder or document is hidden from the user.
○ Read - Also open and compare documents.
○ Submit - Also propose changes to the document for review by a user with Write permission.
○ Write - Also review changes by other users and publish changes directly.
○ Full - Also manage permissions granted to users and groups.
Note
Administrators, who have implicit Full permission on all repository objects, will only receive diagrams
for review if they have been granted explicit Write permission on them.
The Effective Permissions column shows the highest level of permission that each user or group has on the
item either directly or via a group.
4. [optional] Click the Copy Permissions to All Children tool to propagate changes to the item's children.
When you create a folder or diagram, the permissions defined on its parent folder are propagated to it.
However, subsequent changes made to the permissions for the parent are not applied to its children unless
you click this tool. For example, if you grant Write permission on the Major Project folder, to the
Development Team 2 group, then they will not automatically be granted Write access on its existing
contents.
The repository administrator or a user with the Manage Users & Permissions right can unblock users blocked
for password policy violations.
Procedure
1. From the homepage, click Administration Users and click the appropriate user in the list to open its
property sheet.
2. Click the Change Password button. If an SMTP server is configured, the password will be sent to the user at
the recorded email address. Otherwise, enter a temporary password identically in the two fields and note it for
transmission to the user.
Users must log in with their temporary password before the delay specified in the password policy (see
Defining a Password Policy [page 257]). When they first log in they will be required to change the temporary
password.
The repository administrator or a user with the Manage Users & Permissions right can deactivate users. An
inactive user cannot connect to the repository, but the information about his checkins and other repository
actions remains available to other users.
Context
Caution
A user cannot deactivate himself, even if he has the Manage Users & Permissions right.
Procedure
1. From the homepage, click Administration Users , and click the Edit tool.
2. Locate the user in the list and then select its checkbox in the Deactivated User column.
The user remains in the list but may no longer connect to the repository. If an inactive user is later reactivated
he will have lost all previous rights, permissions, and group memberships, and will begin with only the
Connect right.
SAP EA Designer provides limited compatibility with the SAP PowerDesigner enterprise architecture tool. You can
connect to the SAP EA Designer repository with the PowerDesigner desktop client to upload PowerDesigner
models for viewing with SAP EA Designer.
Procedure
1. Obtain a user account in the SAP EA Designer repository with appropriate rights and permissions.
2. Obtain connection information for the SAP EA Designer repository database (see Obtaining Connection
Information for the Repository [page 248]).
3. Install a version of the PowerDesigner desktop client that is compatible with the repository.
Table 199:
Property Description
Login name Enter your user name for the SAP EA Designer repository.
7. Check models into the SAP EA Designer repository to make them available for viewing in SAP EA Designer.
Note
Though it may be possible to check models out of the SAP EA Designer repository, support for editing
them in the PowerDesigner desktop client is not guaranteed.
Before you can create a PowerDesigner repository definition for a SAP EA Designer repository, you must obtain
connection information for the SAP EA Designer database.
Procedure
1. Login to the XSA environment with the following command and enter your credentials when prompted:
xs login -a https://<HOST>:30030
You must login with an XS Controller-enabled SAP HANA user (the XS_CONTROLLER_ADMIN scope is
assigned) with the required SAP HANA roles and the SpaceManager XS Controller role assigned to it.
2. Enter the following command to obtain the connection parameters for the SAP EA Designer repository:
xs env eadesigner-backend
3. In the output, note the values for the following parameters inside VCAP_SERVICES:
○ user
○ password
○ url
Once you have obtained the connection information for your SAP EA Designer database, you can create a
PowerDesigner repository definition for it.
Procedure
1. Open the PowerDesigner desktop client and select Repository Repository Definitions .
2. Click the Add a Row tool to create a new repository definition, enter an appropriate name, click the Properties
tool to open its property sheet, and then click the Select Data Source tool.
3. In the Select a Data Source dialog, select Connection profile and then click the Configure tool.
4. In the Configure Data Connections dialog, click the Add Data Source tool and enter the following parameters:
Property Description
5. Click the Test Connection button, enter the password value from xs and click OK.
6. Click OK to close the Connection Profile Definition dialog and click OK again to close the Configure Data
Connections dialog.
7. In the Select a Data Source dialog, select the connection profile you just created and click OK to close it and
return to the Direct Repository Definition property sheet.
8. Enter the user and password values from xs in the Database group box, click the Test button to confirm that
the repository connection is correctly configured, and then click OK.
The repository administrator is responsible for configuring the SAP EA Designer server.
The following parameters can be set from the homepage by clicking Administration Settings Core
Settings :
Table 201:
Parameter Description
Session timeout Specifies the amount of time that the browser session is permitted to be idle before it is automatically
logged out. Default 15 minutes.
Refresh interval Specifies the amount of time between the browser checking for changes in the repository database.
Default 5 minutes.
Maximum users Specifies the maximum number of users that may connect to SAP EA Designer at any one time. De
fault 10 users.
While accessing and viewing diagrams in SAP EA Designer does not require a license, users who create or edit
diagrams must obtain a license. Some SAP EA Designer packages include license entitlements. If yours does not,
or if you require additional licenses, you must purchase them and serve them from a SySAM license server.
Procedure
1. Obtain your licenses (Obtaining Licenses [page 251]) and install the SySAM license server (Installing a
License Server [page 250]).
Table 202:
Parameter Description
If your SAP EA Designer package does not include license entitlements for editing diagrams, or if you require
additional licenses, you must purchase them and serve them from a SySAM license server.
Procedure
1. Select the machine on which you want to install the SySAM license server (this should not be a workstation on
which you will install any SAP product).
Note
If a firewall is activated on the computer where the license server is installed, then the ports 27000 and
27010 must be opened in the firewall. For a Windows Firewall, you may need to add the port 27000 and the
SySAM executable (for example C:\Sybase\SYSAM-2_1\Bin\SYBASE.exe to the list of exceptions.
Additionally, on Windows and UNIX platforms, edit the license server license files to add the port number
27000 to the line beginning SERVER and add a new line VENDOR SYBASE PORT=27010 directly after it.
When you have finished, these lines should read as follows:
If your SAP EA Designer package does not include license entitlements for editing diagrams, or if you require
additional licenses, you must purchase licenses from SAP Service Marketplace (SMP).
Procedure
1. Obtain the host ID and name of the machine to which your SySAM license server is installed.
Obtain the machine's ethernet address, which is a 12-character hex value consisting of digits 0 through 9 and
characters A through F in any of the following formats:
○ 12AB34CD56EF
○ 12-AB-34-CD-56-EF
○ 12:AB:34:CD:56:EF
Your host id is obtained by entering the first 8 characters of the ethernet address in one of the following
formats:
○ 12AB34CD
○ 12AB-34CD
Note
For some platforms, host IDs can also be entered in decimal formats, with a # prefix. Example:
#1039716963.
For Windows platforms, if your machine does not have a network adapter, you can use the disk serial number
as an alternate host ID. Use the lmutil lmhostid -vsn command or execute DIR C: to obtain the serial
number, remove the hyphen and enter it with a DISK_SERIAL_NUM= prefix. For example:
DISK_SERIAL_NUM=3e2e17fd.
sysam reread
lmutil.exe, which is available in the SYSAM-<x_x>\Bin folder provides various diagnostic possibilities.
For example, the following command can be used to find the user(s) who have currently borrowed the license(s):
For detailed information about lmutil, see the SySAM Users Guide.
A repository administrator can delegate the authentication of repository users to an LDAP server. SAP EA
Designer supports authentication via Active Directory and a number of other LDAP implementations. You can
optionally allow automatic creation of repository accounts when an LDAP user connects to the repository for the
first time.
Context
Note
LDAP integration provides only authentication. Authorization is always managed via the rights and permissions
granted within the repository environment.
Procedure
Table 203:
Parameter Description
Server type Specifies the type of the LDAP server and sets default values for the server. The following types are
available:
○ Active Directory - if your environment supports anonymous binding, you may be able to con
nect without further configuration. Click the Test Connection button and follow the instruc
tions on the dialog.
○ Netscape Directory Server
○ OpenLDAP
○ Oracle Directory Server
○ Other
If you edit any parameters and want to revert to the defaults, click the Default Settings button.
Provider URL Specifies the URL for the LDAP provider. By default, for Active Directory, the nearest LDAP server
is automatically detected and used for authentication, initializing this field to:
LDAP://_ldap.<domain>:389
LDAP://ldap.<domain>:389
and you should replace ldap with the name or IP address of your LDAP server.
Use Secure Socket Specifies to connect to the LDAP server using SSL, changing the LDAP provider port to the stand
Layer (SSL) ard secure 636. You must obtain and register your certificate authority root certificate using the
xs trust-certificate command and restart and restage the Web application after select
ing this option (see Registering the Certificate Authority Root Certificate [page 258]).
Default search base Specifies the level at which the query begins its search for users in the LDAP tree. By default this is
initialized to the domain components (DCs) of the LDAP server. For example:
dc=acme, dc=com
You could include the location of the User directory such as OU=Users, dc=devpd,
dc=local . If the location of the User directory is not specified here, then you must include it in
the Authentication Search Base.
Anonymous bind [default] Specifies that the LDAP server supports anonymous access. If you deselect this parame
ter, you must specify a bind user distinguished name (DN) and password for an account that has
permissions to query the LDAP server.
Note
If the Bind user DN is in the same DN as the Authentication search base then you can simply
enter the user id for the search. Otherwise, you must enter the full DN for that account. For ex
ample, if the Default search base is ou=people,dc=Onebridge,dc=qa, and you have a
user cn=csitest,cn=users,dc=Onebridge,dc=qa, then the Bind DN must be
cn=csitest,cn=users,dc=Onebridge,dc=qa.
Auto-create user ac Specifies that any users corresponding to the LDAP authentication search filter can connect to the
counts in repository repository, and will have an account created for them in the repository when they do so. If you do
not select this option, then an administrator must create an account for each user before they can
connect.
Table 204:
Parameter Description
Search filter Specifies the LDAP query that selects users for authentication. By default this is initialized to (for Ac
tive Directory):
(&(objectClass=person)(userPrincipalName={uid}))
(&(objectClass=person)(cn={uid}))
To determine an alternative filter, you must know the properties of the users defined in the Active Di
rectory, and which property (for example, name or samAccountName) is being used as the login
name.
Search base Specifies the location of the User list in your LDAP server. By default this is initialized to the same value
as the Default search base. If the default search base does not include your users you must specify an
appropriate search base here. Users may be in a common node such as cn=Users or an organization
unit such as OU=Users. To determine the correct search base, you should use an LDAP browser to
look at the full distinguished name of a user. Note that your Bind DN may be a user in a different node
in the tree than general users so it is very important that you have the correct information for each.
Search scope Specifies the scope of the authentication search. You can choose between:
○ subtree - [default] the search begins at the level of the Search base and also searches any
subnodes.
○ onelevel - only the level specified in the Search base is searched
Authentication Specifies the method to use for authentication requests. You can choose between:
method ○ simple - [default] clear text authentication. If SSL is enabled, then the password will be en
crypted.
○ DIGEST-MD5 - hashed password authentication. If you select this option, you must specify a di
gest format.
5. Click the Test Connection button and follow the instructions on the dialog to verify your connection.
6. Click Save to save your changes.
Note
If you have not selected the Auto-create user accounts in repository option, you must create repository
accounts for each user that you want to be able to connect. Even if you select this option, we recommend
that you create appropriate user accounts in advance in order to grant appropriate rights and permissions
on your various repository folders and documents. LDAP users connecting to the repository are
automatically added to the External users and All users groups, and are limited, by default, to read
access on the repository.
If you have connected the repository to an LDAP server and selected the Auto-create user accounts in repository
option or have enabled single sign-on, any users with valid accounts in your organization can, by default, connect
to and browse the repository using SAP EA Designer. You can modify this default behavior by changing the rights
and permissions of the External users group, or provide specific rights and permissions for some users by
pre-creating repository user accounts for them.
Context
For example, if you want to allow any user connecting to the repository to create and edit diagrams in the
Processes folder and submit them for approval, you would:
● Grant the External users group the Edit on Web right (see Granting Rights to Users and Groups [page
244]).
● Grant the External users group Submit permission on the Processes folder (see Granting Access
Permissions on Repository Items [page 244]).
In many environments, you will want to grant different rights to different groups of users, or provide them with
different permissions. For example you may want to allow users to submit changes only for processes in their
particular line of business based on sub-folders beneath the Processes folder. In this or other more complicated
cases (or if you want to restrict which users can connect to the repository and have not selected the Auto-create
user accounts in repository option), you should create accounts for your anticipated users before inviting them to
connect.
1. From the homepage, click Administration Users , click the Edit tool and then click the + button to open
the new user's property sheet.
2. Enter the user's corporate account name in the Login name field, select External (LDAP), and click the Check
Name button to verify the login name and auto-fill the remaining fields, which are set, with the exception of
Comment, to read-only.
Note
You may need to enter your own corporate account name and password to connect to the LDAP server,
even if your connection is configured for anonymous binding.
3. In the Rights panel, select the check boxes corresponding to the rights you want to assign. The following
rights are available:
○ Connect - Connect to the repository and view diagrams in SAP EA Designer.
○ Edit on Web - Create and edit diagrams in SAP EA Designer.
○ Edit Extensions on Web - Create and edit custom properties in SAP EA Designer. Gives access to the
Administration/Extensions tile.
○ Manage All Documents - Perform any action on any document version. Implicitly includes Full
permission on all repository documents.
○ Manage Users & Permissions - Create, modify, and delete repository users and groups, grant them
rights, and add them to groups. Users with this right can list all repository documents and set permissions
on them without needing explicit Full permission. Gives access to the Administration/Users and Groups
tiles.
○ Manage Repository - Create, upgrade, and delete the repository database. Gives access to the
Administration/Settings tile.
4. Click the Groups tab and add the user to any appropriate groups (see Adding Users and Groups to a Group
[page 243]).
All externally-authenticated users are added to:
○ All users (PUBLIC) groups, from which they inherit, by default, Read permission on all the contents
of the repository.
○ External users (EXTERNAL) - from which they inherit, by default, the Connect right.
5. Click Save to complete the creation of the user.
A repository administrator can automate the sending of emails for passwords, changelist submissions, and other
notifications to users by specifying an SMTP server. If an SMTP server is not specified, the administrator must
distribute passwords manually and notifications related to the creation of comments and the submission and
approval of change lists cannot be sent.
Table 205:
Parameter Description
SMTP host Specifies the host name of the SMTP server used to send mail.
SMTP port Specifies the port number of the SMTP server used to send mail.
Sender's email address Specifies the email address from which to send mails.
Use Secure Socket Layer Specifies to connect to the SMTP mail server through SSL.
(SSL)
Server requires authentica Specifies that the SMTP server requires authentication. If you select this option, then you
tion must specify an SMTP account and password, and can select to use Secure Password Au
thentication (SPA).
In environments where SAP EA Designer manages user passwords, the repository administrator is responsible for
defining a password policy to ensure that passwords are sufficiently secure and are changed at appropriate
intervals.
Context
Note
The password policy governs only users who are not managed by LDAP (see Creating Externally-Authenticated
Repository Users [page 255]).
Procedure
Password length Specifies the minimum and maximum permitted length of passwords. This option cannot
be disabled. The minimum length for a password is 6 characters.
Password must contain Specifies that passwords must contain at least one of each of the character types selected.
Disallow reuse of previous Prevents users from reusing the specified number of old passwords.
<x> passwords
Enforce changing of pass Requires that users change their passwords after the specified number of days.
words after <x> days
Block inactive users after Blocks users if they try to log in after the specified number of days of inactivity.
<x> days without connection
Temporarily block users for Blocks users for the specified number of minutes if they submit an invalid combination of
<x> minutes after <y> fail username and password the specified number of times.
ures to log in
Temporary passwords is Specifies the period for which temporary passwords (which are issued when a user is cre
sued by an administrator are ated or unblocked) are valid. Users attempting to use a temporary password after this time
valid for <x> days will be blocked.
You must register your certificate authority root certificate in the XSA store in order to connect to other servers
using SSL.
Procedure
xs login -a https://<HOST>:30030
3. Add the certificate to the XSA store with the following command:
For information about working with certificates in XSA, see XS CLI: Certificates
4. Run the following command to restage the application backend:
xs restage eadesigner-backend
Once the application is restaged, run the following command to restart it:
Repository administrators can review the status of the full-text index and change the interval at which it is rebuilt.
Procedure
Table 207:
Parameter Description
Index rebuild interval Specifies the interval between rebuilds of the search index in minutes. By default, the index
is rebuilt every 120 minutes. Click the Menu Rebuild Index button on the homepage
to perform an immediate rebuild.
Index rebuild hours Specifies the hours of the day when the index rebuild is allowed to start (in the time zone
where the SAP EA Designer server is installed). By default it can start any time. In the fol
lowing example, the rebuild is restricted from starting between 5am and 7pm:
0-5,19-23
xs login -a https://<HOST>:30030
xs restage eadesigner-backend
Once the application is restaged, run the following command to restart it:
xs restart eadesigner-backend
SAP EA Designer provides JDBC drivers to connect to SAP HANA and SAP SQL Anywhere. Before you can
connect to other supported databases, an administrator must load an appropriate JDBC driver jar file to the
server and configure it.
Procedure
Note
This list is limited to the database versions supported by SAP EA Designer. You cannot add drivers for
other, unsupported database versions.
2. Click the name of the database for which you want to add a JDBC driver.
Note
As when dealing with any executable code, you should perform all appropriate security scanning on the file
before uploading it to the server.
3. Click the Upload button to the right of the Driver Jar File field, navigate to and select the JDBC driver jar, enter
your administrator password, and click OK to upload it.
Note
If necessary, you can upload multiple versions of the jar, and they will be available in the drop-down list in
the Driver Jar File field. Select the appropriate jar file in the list to enable it.
4. [DB2] Click the Upload button to the right of the License Jar File field, navigate to and select the license jar,
enter your administrator password, and click OK to upload it.
5. Review the default driver class and connection URL and modify them if appropriate.
6. Click Save to complete the definition of the JDBC driver.
A repository administrator can review lists of general repository activities, change lists, and file locks.
To access these lists, click Administration Activities and then click the appropriate tile:
● Log - Lists operations performed on repository documents, including creations, change list submissions and
approvals, moves, and deletions.
● Change Lists - Lists all change lists that have been created in the repository, including those that have a status
of Draft, Submitted, Approved, and Rejected.
To reorder any of these lists by values in a column, click in the column header. Some columns also support
filtering on their values. To filter the list by values in any of its text fields, enter two or more characters in the
search box above it.
You configure logging for SAP EA Designer using the xs command line interface.
To list the components in eadesigner-backend and the logging levels currently in place for each of them, use
the following command:
xs list-logging-levels eadesigner-backend
xs logs eadesigner-backend
For detailed information about logging in XSA, see Configure a Java Application for Logs and Traces in the SAP
HANA Developer Guide for XS Advanced Model.
Users with the Edit Extensions on Web right can define new custom properties for modeling objects. When
you define a custom property it becomes immediately available to all objects of the specified type in all models of
that type on their Info tab, in a section entitled Custom Properties.
Procedure
1. From the homepage, click Administration Extensions . The list of extensions contains:
○ BPMN2 - To add custom properties to BPMN 2.0 Descriptive and Executable process diagram objects.
○ Database - To add custom properties to database objects.
○ Enterprise Architecture - To add custom properties to enterprise architecture diagram objects.
○ Process Map - To add custom properties to process map objects.
○ Requirements - To add custom properties to requirement objects.
2. Click the name of the extension you want to edit to open it.
The extensions list all the classes of objects available to define custom properties for.
4. Click the + button to define a new property for the object type, and enter:
Table 208:
Property Description
Name Specifies the name of the property as it will appear in the interface.
Code Specifies the internal name of the property, which must not contain spaces or the dot character
and must be unique for this class of objects.
Caution
If you change the code after the property is in use, then any values set in models will be lost.
Default value Specifies the value of the property that will be set in the interface by default.
Object type [object] Specifies the type of object that can be selected for the property. Click the tool to select
the object type from a list.
In this example, a new boolean property is created for the Data Store class:
This Security Guide provides an overview of the security concepts used and recommended in administering a SAP
EA Designer environment. It is aimed at technology consultants, security consultants, and system administrators.
Note
This Security Guide should be read in the context of and as a supplement to the SAP HANA Security Guide.
As it becomes more and more important for organizations to protect their critical data from unauthorized access
and to ensure compliance with a growing number of rules and regulations, the demands on security are also on
the rise. As a repository for your enterprise metadata, SAP EA Designer can contain sensitive information about
This guide provides an overview of the security-relevant information that applies to SAP EA Designer:
● Securing network connections - see Network and Communication Security [page 265].
● Securing stored data - see Data Protection and Privacy [page 266].
● Controlling data access - see User Management and Authentication [page 266].
● Monitoring user activities - see Auditing and Logging [page 268].
SAP EA Designer runs in the XS Advanced Application Server to which users connect via SSL by default. Certain
features require connection to servers outside XS Advanced, and we recommend that you apply appropriate
additional security measures, such as encryption, where necessary.
Table 209:
SAP EA Designer supports reverse engineering from and generating to other databases via JDBC connections.
These connections are not encrypted by default, but we recommend that you encrypt them via appropriate JDBC
options.
You can specify encryption options in the Options field that is provided whenever you connect to a database.
For detailed information about encryption and other parameters for your database, see your DBMS
documentation.
Note
The SAP EA Designer repository, with its focus on enterprise metadata, does not ordinarily store personal data.
Every user who wants to work with the repository must have a repository user with the necessary rights and
permissions. After a successful logon, the user's authorization to perform the requested operations on the
requested objects is verified.
Repository rights give users access to general repository features, while permissions give them access to
particular locations in the repository. The following rights and permissions are available:
Table 210:
Rights (Entire Repository) Permissions (Per Folder or Item)
● Connect - Connect to the repository and view diagrams ● List - View the document or folder in the repository
in SAP EA Designer. browser and in search results. Without this permission,
● Edit on Web - Create and edit diagrams in SAP EA the folder or document is hidden from the user.
Designer.
● Read - Also open and compare documents.
● Edit Extensions on Web - Create and edit cus
● Submit - Also propose changes to the document for re
tom properties in SAP EA Designer. Gives access to the
Administration/Extensions tile. view by a user with Write permission.
● Manage All Documents - Perform any action on ● Write - Also review changes by other users and publish
any document version. Implicitly includes Full permis changes directly.
sion on all repository documents.
● Full - Also manage permissions granted to users and
● Manage Users & Permissions - Create, modify,
groups.
and delete repository users and groups, grant them
rights, and add them to groups. Users with this right can
list all repository documents and set permissions on Note
them without needing explicit Full permission. Gives
Administrators, who have implicit Full permission
access to the Administration/Users and Groups tiles.
on all repository objects, will only receive diagrams for
● Manage Repository - Create, upgrade, and delete
review if they have been granted explicit Write per
the repository database. Gives access to the
Administration/Settings tile. mission on them.
Rights and permissions can be granted to repository users either directly, or indirectly through groups.
In order to create and manage repository users and groups, you must have the Manage Users right. In order to
grant permission on a repository folder or document, you must have Full permission on the folder or document.
The following standard users are automatically created in each SAP EA Designer repository:
● ADMIN - Has all available rights and implicit Full permission on all repository folders.
The following standard groups are automatically created in each SAP EA Designer repository:
● Administrators, [ADMN] - Has, by default, all available rights and implicit Full permission on all repository
folders.
● All users [PUBLIC] - Has, by default, Read permission on the repository root. All users belong to this group
and can thus, by default, browse any diagram.
● External users [EXTERNAL] - Has, by default, no rights or permissions. Users authenticated via LDAP (see
Connecting to an LDAP Server for User Authentication [page 252]) are automatically added to this group
when they connect for the first time.
Password Policy
Passwords for the user name/password authentication of repository users are subject to a password policy. You
can change the default password policy in line with your organization’s security requirements. You cannot
deactivate the password policy.
LDAP
SAP EA Designer supports the enforcement of reviewing proposed changes to repository documents through the
use of the Submit permission, which requires users to pass through a review process before publication.
Auditing provides you with visibility on who did what in the SAP EA Designer repository (or tried to do what) and
when.
Auditing allows you to monitor and record selected actions performed in the SAP EA Designer repository.
Although auditing does not directly increase your system's security, if wisely designed, it can help you achieve
greater security in the following ways:
● Uncover security holes if too many privileges were granted to some user
● Show attempts to breach security
● Protect the system owner against accusations of security violations and data misuse
● Allow the system owner to meet security standards
● The list of repository activities (see Monitoring Repository Activities [page 260]).
● XS Advanced log files (see Logging Activities in XSA [page 261]).
Coding Samples
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system
environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, unless damages were caused by SAP
intentionally or by SAP's gross negligence.
Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be a
binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however, does
not apply in cases of willful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations of SAP.
Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as "sales
person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun does not
exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.
Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does not
warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any damages
caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for transparency
(see: http://help.sap.com/disclaimer).