Hi,
How to get all objects that are connected by particular connection type through aris script.
Problem Solved :
var oOutputFile = Context.createOutputObject(); // Output object
var nLocale = Context.getSelectedLanguage(); // Selected database language
var aModels = ArisData.getSelectedModels(); // 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 oCxnOccs = oModel.CxnOccList(); //for example all connections in a model
oOutputFile.BeginTable(100, Constants.C_BLACK, Constants.C_TRANSPARENT, Constants.FMT_LEFT, 0);
//table header
oOutputFile.TableRow();
oOutputFile.TableCell("ModelName", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
oOutputFile.TableCell("SourceType", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
oOutputFile.TableCell("SourceName", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
oOutputFile.TableCell("ConnectionName", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
oOutputFile.TableCell("TargetType", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
oOutputFile.TableCell("TargetName", 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_CENTER | Constants.FMT_VTOP, 0);
for(var j=0; j<oCxnOccs.length;j++){
var oCxnOcc = oCxnOccs[j];
oOutputFile.TableRow();
oOutputFile.TableCell(sModelName, 20, getString("TEXT_1"), 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
var oSourceObjOcc = oCxnOcc.SourceObjOcc();
var sourcetype = oSourceObjOcc.ObjDef().Type();
var nSource = oSourceObjOcc.ObjDef().Name(nLocale);
oOutputFile.TableCell(sourcetype, 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
oOutputFile.TableCell(nSource, 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
var nCxn = oCxnOcc.Cxn().Name(nLocale);
oOutputFile.TableCell(nCxn, 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
var oTargetObjOcc = oCxnOcc.TargetObjOcc();
var targettype = oTargetObjOcc.ObjDef().Type();
var nTarget = oTargetObjOcc.ObjDef().Name(nLocale);
oOutputFile.TableCell(nTarget, 20, "Arial", 10, Constants.C_BLACK, Constants.C_TRANSPARENT, 0, Constants.FMT_BOLD | Constants.FMT_LEFT | Constants.FMT_VTOP, 0);
oOutputFile.TableCell(targettype, 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);
oOutputFile.WriteReport();
Forum: