![]() |
We have started a new initiative on reports and macros in ARIS. In the next articles you can learn some interesting facts about how to develop scripts in ARIS.
Here, in this post, I will just list the links to the published articles. We won’t post the articles to the blog, because people might not be interested in them. Instead, the articles are posted to the "Reports & Macros in ARIS" group within ARIS Community. You can subscribe to the feed of this group or visit this post from time to time to get updated on the latest features.
Here is a list of report & macro articles, which my colleagues will discuss in the coming weeks here in ARIS Community:
Reports:
- The differences between WYSIWYG editor and ARIS Scripting
- The difference between ARIS report and macro
- My first ARIS report: Hello World!
- Output models
- Output models as table
- Output models with attributes
- Export ARIS models to XML
- Import ARIS models from XML
- Macros and Las Vegas! Play the ARIS Slot Machine!
- Output picture of model in Microsoft Excel
- Export a model as a png file
- Which symbols/connections are used in a model
- Define model attributes of selected groups
- ....
- Aris Scripting Tutorial - Part 1 - Development Decision
- Aris Scripting Tutorial - Part 2 - Object Attribute Listing
- Aris Scripting Tutorial - Part 2b - Findings
- Aris Scripting Tutorial - Part 3 - Model and Objects with Wizard
- Aris Scripting Tutorial - Part 4 - Object Attributes in HTML and Excel
- Aris Scripting Tutorial - Part 5 - Object Attributes - All Output Formats and Multilanguage
- Aris Scripting Tutorial - Part 6 - More Object Options and Custom Dialog
- Aris Scripting Tutorial - Part 6b - Discussion
- Aris Scripting Tutorial - Part 7 - Reusable Code, Common Header and Footer
- Aris Scripting Tutorial - Part 8 - Common Coding Techniques
- Aris Scripting Tutorial - Part 9 - Compare with a Matrix
- Aris Scripting Tutorial - Part 10 - Matrix with Enhanced Dialog
- .....
Semantic Check:
| Comments |
Very useful to collect these types of treads in one place
Cheers
Tom
- Login or register to post comments
Hi Eva.
Nice and very useful post!
Just a question regarding this topic: do you or does anyone else know if there are any available courses based on a workshop method (or a similar one) besides this one ARIS Report Script Customizing?
Thanks in advance,
Jorge
hi eva i want folder structure of aris using subversions

Hello,
Can anyone please let me know How to find the model name with the roles that are present in the EPC or any other model.
For example Let us consider I have a group called "Income Tax". In that three model are there,1 EPC("Pay Tax") and 2 Function allocation diagrams.
In my EPC model, I have three roles like Accountant1,Cashier,Cashier2. Now How can I get the name of the model for the different roles in the output. It should be like..
Group Model Role
1.Income Tax Pay Tax Accountant1
2.Income Tax Pay Tax Cashier1
3.Income Tax Pay Tax Cashier2

You can solve this in the following way:
var oOutputFile = Context.createOutputObject(); // Output object
var nLocale = Context.getSelectedLanguage(); // Selected database language
var aGroups = ArisData.getSelectedGroups();
oOutputFile.BeginTable(100, Constants.C_BLACK, Constants.C_TRANSPARENT, Constants.FMT_LEFT, 0);
//table header
oOutputFile.TableRow();
oOutputFile.TableCell("Group", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
oOutputFile.TableCell("Model", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
oOutputFile.TableCell("Role", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
oOutputFile.TableRow();
for (var l=0;l<aGroups.length;l++){
var aModels = aGroups[l].ModelList(); // Array of selected models
for (var i = 0; i < aModels.length; i++) {
var oModel = aModels[i]; // Current model
var sModelName = oModel.Name(nLocale); // Name of current model
var oRoleOccs = oModel.ObjOccListFilter(Constants.OT_POS); //you can change "OT_POS" in the object type you are searching for
for (var k = 0; k < oRoleOccs.length; k++) {
var role = oRoleOccs[k];
oOutputFile.TableCell(aGroups[l].Name(nLocale), 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
oOutputFile.TableCell(sModelName, 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
oOutputFile.TableCell(role.ObjDef().Name(nLocale), 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
oOutputFile.TableRow();
}
oOutputFile.TableRow();
}
}
oOutputFile.EndTable("", 100, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
oOutputFile.WriteReport();If you have further questions please feel free to ask!
Regards
Eva

If you are just interesed in the model path, you can use Find at the Main Group level, searching for objects of the type you want- Roles in your case, and the symbols you use for them (or all symbols). The Group column in the results will have the full path to each model. You can then select all the rows, and copy and paste them to an Excel spreadsheet. In the spreadsheet, the whole path will be inserted into one column. If you need to separate them, you can use Excel's "Text To Column" function using "\" as a separator. You will then have one column for each level of the hierarcy.
I hope this helps, as an alternative to scripting.

Thank you very much Eva and Mark for your solutions.

Hi,
Have a nice day
Srinivas.
Hi All,
I'm trying to find a report that will give me all the Source Objects (roles) and their Targeted Object (Business Process Step).
Example:
For purposes of this example, I'm looking for this two roles and let's say that I have the Reviewer Role connected (carries out) to the 1.1.3 function object in the 1.1 EPC and the Processor Role connected (carries out) to the 5.4.9 function object in the 5.4 EPC.
I'm trying to find a report(if there is one available) that will output something similar to this information.
Role (Person Type) Business Process Step (Hierarchy number)
Reviewer ----------------------- 1.1.3
Processor----------------------- 5.4.9
The way I'm doing it right now is doing a "Find" in the Main Group, What: "Models", Type: EPC, Start, Select All, right click, evaluate, Start Report, Output object information (table), Output Relationship.
Then I do a cross-reference for the GUID, source name and targeted object name and then I get the Hierarchy number that in my case will be the business process step number that i'm looking for.
Is there a simple way of getting this information?
I appreciate your help on this matter. :)
Thanks,
Roberto
Hi Roberto,
I am not much into programming, so I create reports using the WYSIWYG tool.
In the Reports module, start a new report. Fill out all the General information, and under context select the model types your report will be generated from (e.g. EPC).
Insert a Data Table with 2 columns. Select Object Ocurrences (filterable by type) > Connection list (filterable) as parameters. Select the Person type as the object type you want to be listed (under Sort by you can play around with the order you want it to output in your report; you don't need to change the Direction fields).
Insert a Data Field in the first column of your table and select Source object > Name (the source object in this case is the Role).
Insert a Data Field in the second column of your table and select Target object > Name (the target object in this case is the Function).
I know I was pretty high level here in my explanation, but I think you will get the info you need.
Regards,
Elaine.
Hi Elaine, thanks for the quick response. I was able in somewhat way to create the report, but don't know how to do the Select Object Ocurrences (filterable by type), etc.
I haven't used Aris in a long time and have never created a report before. Please see the below screen shot. this is what I have so far. Don't know if I'm heading the correct path or not.
Please advise.
Thanks again for your time.
.jpg)
Hi Elaine,
I was able to create the report! Thanks so much for your help.
Also, I'm trying to output the hierarchy number of the function object that the person type(role) is connected to. I'm not able to find it there.
I'm guessing I will need to create another column to output this attribute and there I will have the option to select the attribute needed?
Please advise.
Thanks so much again for your help. :)
Have a great day!
Hi Elaine,
Just figured it out! ;)
Thanks for your help. :)
