Hi,
Do you know how would I check for Screen models within a Screen Navigation Model? I can't use
the methods for retrieving all ObjOcc objects and referencing its respective ObjDef objects to make use of its AssignedModels() function. There are no ObjOcc objects found within the Screen Navigational Model but there are Screen Model occurrences. I don't want to use ModelList() function.
Here is a sample code snippet:
var assignedModelsLevel1 = srcOccurences[i].ObjDef().AssignedModels(); if (assignedModelsLevel1 != null) { for (var k = 0; k < assignedModelsLevel1.length; k++) { if (assignedModelsLevel1[k].TypeNum() == Constants.MT_SCREEN_NAV) { //Returns NULL even if Navigation Model contains Screen Model //var objects = assignedModelsLevel1[k].ObjOccList(); //Returns NULL too //var items=assignedModelsLevel1[k].ObjOccListFilter(Constants.MT_SCREEN_DES); } } }
Here is a screen-shot of the contents of one of the Screen Navigation Model that I'm trying to read:
Hi Nanji,
I think you can solve your problem in this way:
var g_nLoc = Context.getSelectedLanguage(); var models = ArisData.getSelectedModels() for(var i=0;i<models.length;i++){ var oModel = models[i]; var oFuncDefs = oModel.ObjDefListFilter(Constants.OT_SCRN); for (var k = 0; k < oFuncDefs.length; k++) { var oFuncDef = oFuncDefs[k]; var oAssignedModels = oFuncDef.AssignedModels(); for (var j = 0; j < oAssignedModels.length; j++) { var oAssModel = oAssignedModels[j]; if (oAssModel.TypeNum()== Constants.MT_SCRN_DGM) //...... } } }
First of all you search for the objects of the type "OT_Screen" in your selected model. Then look for the assigned models and check whether they are of the type "MT_SCRN_DGM".
If you have any questions please let me know. You can also join the Reports & Macros in ARIS group there you can find a lot of useful information.
Regards
Eva
Hi everybody!
I have the same problem than Nanji, I don't know how to export the models with its associated models. I have the following source code...
var oOutput = Context.createOutputObject(); // Output object var nLocale = Context.getSelectedLanguage(); // Selected database language //Excel file header oOutput.BeginTable(100, Constants.C_BLACK, Constants.C_TRANSPARENT, Constants.FMT_LEFT, 0); oOutput.TableRow(); oOutput.TableCell("Nombre del modelo", 50, "Arial", 10, Constants.C_BLACK, Constants.C_LIGHT_YELLOW, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0); oOutput.TableCell("Procesos", 50, "Arial", 10, Constants.C_BLACK, Constants.C_LIGHT_YELLOW, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0); oOutput.TableCell("Funciones", 50, "Arial", 10, Constants.C_BLACK, Constants.C_LIGHT_YELLOW, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0); oOutput.TableCell("Pantallas", 50, "Arial", 10, Constants.C_BLACK, Constants.C_LIGHT_YELLOW, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0); oOutput.TableCell("Roles", 50, "Arial", 10, Constants.C_BLACK, Constants.C_LIGHT_YELLOW, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0); var aModels = ArisData.getSelectedModels(); // Selected models for (var i = 0; i < aModels.length; i++) { var oModel = aModels[i]; // Current model = Modelo Actual var sModelName = oModel.Name(nLocale); // Name of current model = Nombre del modelo oOutput.TableRow(); oOutput.TableCell(sModelName, 50, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_LEFT | Constants.FMT_VTOP, 0); oOutput.TableCell("", 50, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_LEFT | Constants.FMT_VTOP, 0); var aObjDefs = oModel.ObjDefList(); // All object definitions that have occurrences in the model //var aObjDefs = oModel.ObjDefListFilter(Constants.OT_SCRN); for (var j = 0; j < aObjDefs.length; j++) { var oObjDef = aObjDefs[j]; // Current object definition //var oAssignedModels = aObjDefs.AssignedModels(); var sObjName = oObjDef.Name(nLocale); // Name of current object oOutput.TableRow(); oOutput.TableCell("", 50, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_LEFT | Constants.FMT_VTOP, 0); oOutput.TableCell(sObjName, 50, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_LEFT | Constants.FMT_VTOP, 0); var xObjDefs = oObjDef.ObjDefList(); for (k = 0; k < xObjDefs.length; k++) { var xObjDef = xObjDefs[k]; var oAssignedModels = xObjDef.AssignedModels(); for (var y = 0; y < oAssignedModels.length; y++) { var oAssModel = oAssignedModels[y]; if (oAssModel.TypeNum()== Constants.MT_SCRN_DGM){ } } } } } oOutput.EndTable("", 100, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_LEFT | Constants.FMT_VTOP, 0); oOutput.WriteReport();