Please note : This help page is for an older version of Enteprise Archtiect. The latest help can be found here.

Topic
Prev Next

Exclude Package Query and Script

On the 'Document Options' dialog (Template Editor) or 'Options' tab (Document 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 report. 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 report 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 report, 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