Exclude Package Query and Script

On the Document Options dialog (Template Editor) or Options tab (Report Generator) you can enter a custom SQL Query or select a custom Script to tailor the report in a specific way. One possibility is to exclude the selected Package or a child Package from the reporting filter conditions. You can base your Query or script on the examples provided here.

The two parameters you use in excluding a Package are:

#PACKAGEID# - the Package_ID of the current record in t_package being processed on the exclusion condition
#OBJECTID# - the Object_ID of the current Package element record in t_object being processed on the exclusion condition
 

Custom SQL Query

To exclude the Package from the filter conditions using a Custom SQL Query, you can create the Query based on the t_package columns. For example:

 

SELECT Package_ID AS ExcludePackage FROM t_package WHERE Package_ID = #PACKAGEID# and Name = 'Test'

 

 

Alternatively, you can create the Query based on the package object columns in the t_object table:

 

SELECT t_package.Package_ID AS ExcludePackage FROM t_package,t_object

 

WHERE

 

t_package.Package_ID = #PACKAGEID#

 

AND

 

t_object.Object_ID =#OBJECTID#

 

AND

 

t_object.Stereotype = 'NoDoc'

 

 

Custom Script

If you have selected the Custom Script option and want to exclude the Package from the filter conditions, you can create a script and enter a call to it, such as:

 

ExcludePackage(#PACKAGEID#)

 

 

This is a sample of the XML returned by the script:

<?xml version="1.0"?>

 <EADATA version="1.0" exporter="Enterprise Architect">

 <Dataset_0>

         <Data>

                 <Row>

                         <ExcludePackage>

                         89

                         </ExcludePackage>

                 </Row>

         </Data>

 </Dataset_0>

</EADATA>

 

 

This is an example of JScript for excluding the Package:

 

!INC Local Scripts.EAConstants-JScript

 

/*

 

* Script Name: RTF Exclude Packages Script Sample

 

*/

 

function ExcludePackage(packageID)

 

{

var xmlDOM = new ActiveXObject( "MSXML2.DOMDocument.4.0" );

 

xmlDOM.validateOnParse = false;

 

xmlDOM.async = false;

 

var node = xmlDOM.createProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'");

xmlDOM.appendChild(node);

 

var xmlRoot = xmlDOM.createElement( "EADATA" );

xmlDOM.appendChild(xmlRoot);

 

var xmlDataSet = xmlDOM.createElement( "Dataset_0" );

xmlRoot.appendChild(xmlDataSet);

 

var xmlData = xmlDOM.createElement( "Data" );

xmlDataSet.appendChild(xmlData);

 

var xmlRow = xmlDOM.createElement( "Row" );

xmlData.appendChild(xmlRow);

 

var package as EA.Package;

package = Repository.GetPackageByID(packageID)

 

if(package.StereotypeEx == "NoDoc")

{

 var xmlName = xmlDOM.createElement( "ExcludePackage" );

 

 xmlName.text = "" + package.PackageID;

 xmlRow.appendChild(xmlName);  

}

 

 

return xmlDOM.xml;

 

};

 

Learn more