Profile picture for user Eva Klein

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:


Semantic Check:

by Tom Einar Nyberg
Posted on Thu, 08/26/2010 - 10:01

Very useful to collect these types of treads in one place



by Jorge Cavaleiro
Posted on Thu, 10/07/2010 - 12:44

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,


by Srinivas CH
Posted on Wed, 01/18/2012 - 05:04


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

by Eva Klein
Badge for 'Community Team' achievement
Posted on Wed, 01/18/2012 - 14:10

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.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);         

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.EndTable("", 100, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_LEFT | Constants.FMT_VTOP, 0);

If you have further questions please feel free to ask!



by Pankaj Patel
Posted on Sun, 01/03/2016 - 13:50

In reply to by Eva Klein


I need to add checkboxes with username in the report script so that the checkboxes symbol and values are created in the Word document format output.

Example of the output result: Checkbox1  Name1

                                               Checkbox2 Name2 ...   

Thanks in advance.



by Mark Madavi
Posted on Wed, 01/18/2012 - 15:53

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.

by Srinivas CH
Posted on Thu, 01/19/2012 - 04:34

Thank you very much Eva and Mark for your solutions.


by Srinivas CH
Posted on Mon, 02/20/2012 - 11:21


Have a nice day


by Roberto Feliciano
Posted on Tue, 03/20/2012 - 22:22

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).


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.  :)




by Elaine Wrobel
Posted on Tue, 03/20/2012 - 23:51

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.



by Roberto Feliciano
Posted on Wed, 03/21/2012 - 14:47

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.


by Roberto Feliciano
Posted on Wed, 03/21/2012 - 15:28

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!

by Roberto Feliciano
Posted on Wed, 03/21/2012 - 16:22

Hi Elaine,

Just figured it out! ;)

Thanks for your help.  :)

by Elaine Wrobel
Posted on Wed, 03/21/2012 - 18:31

Hi Roberto,

I'm glad I could help.

I usually test the different parameters to see what outputs I can get and it's been working very well for me. I created fairly complex reports using this method!



by Lubo Lambo
Posted on Wed, 07/30/2014 - 17:12

I am trying to write a script that makes the connections with one and same lenght. Could you help me, please

by Pierre-Alain MILLET
Posted on Wed, 06/22/2016 - 15:01


thanks again for these very helpful materials

A question regarding assigned models,

Using designer, I want a table with objects and assigned models

But when creating a datatable based on object, i do not see any "assignment" relation available

and when i use the "assigned models" query, it do not see the objects linked..

Thanks in advance for your advise..




by Rachmat Fajar
Posted on Tue, 06/28/2016 - 08:39

Hi All ,

I want to create a script or script copy the database syn subgroups and a model of the database group in the group database x to y and z, so that each of the content in the database y and z will be the same database with a database of x, every script is run it.

please help me ,

what has reference links about it?





Posted on Wed, 11/30/2016 - 10:28

Great help. Thank you community members.

by Harm Verschuren
Posted on Mon, 06/21/2021 - 10:53

This is a great source to learn about scripting in Aris. I just have one question, as the majority of the sources are about 10 years old now, to what extent is it still accurate and up-to-date for Aris 10? TIA.



Featured achievement

Say hello to the ARIS Community! Personalize your community experience by following forums or tags, liking a post or uploading a profile picture.
Recent Unlocks


icon-arrow-down icon-arrow-cerulean-left icon-arrow-cerulean-right icon-arrow-down icon-arrow-left icon-arrow-right icon-arrow icon-back icon-close icon-comments icon-correct-answer icon-tick icon-download icon-facebook icon-flag icon-google-plus icon-hamburger icon-in icon-info icon-instagram icon-login-true icon-login icon-mail-notification icon-mail icon-mortarboard icon-newsletter icon-notification icon-pinterest icon-plus icon-rss icon-search icon-share icon-shield icon-snapchat icon-star icon-tutorials icon-twitter icon-universities icon-videos icon-views icon-whatsapp icon-xing icon-youtube icon-jobs icon-heart icon-heart2 aris-express bpm-glossary help-intro help-design Process_Mining_Icon help-publishing help-administration help-dashboarding help-archive help-risk icon-knowledge icon-question icon-events icon-message icon-more icon-pencil forum-icon icon-lock