EADS-3868 As developer I want have more unit testing for plsql Execution
authorSubhashini Sooriarachchi <subslk@netbeans.org>
Tue, 02 Jul 2013 10:38:00 +0530
changeset 452b2411fb23674
parent 451 d4eb9531fdba
child 453 35861b87b8bd
EADS-3868 As developer I want have more unit testing for plsql Execution
PLSQL/Execution/test/unit/data/Actor.apy
PLSQL/Execution/test/unit/data/FndEvent.api
PLSQL/Execution/test/unit/data/FndEvent.apy
PLSQL/Execution/test/unit/data/FndSecurityPerObject.rdf
PLSQL/Execution/test/unit/data/FndSetting.ins
PLSQL/Execution/test/unit/data/event.cdb
PLSQL/Execution/test/unit/data/expected/Actor.apy.structure
PLSQL/Execution/test/unit/data/expected/FndEvent.api.structure
PLSQL/Execution/test/unit/data/expected/FndEvent.apy.structure
PLSQL/Execution/test/unit/data/expected/FndSecurityPerObject.rdf.structure
PLSQL/Execution/test/unit/data/expected/FndSetting.ins.structure
PLSQL/Execution/test/unit/data/expected/event.cdb.structure
PLSQL/Execution/test/unit/data/expected/fndbasdr.sql.structure
PLSQL/Execution/test/unit/data/fndbasdr.sql
PLSQL/Execution/test/unit/src/org/netbeans/modules/plsql/execution/FileExecutionUtilTest.java
PLSQL/Execution/test/unit/src/org/netbeans/modules/plsql/execution/PlsqlExecutableBlocksMakerTest.java
PLSQL/Execution/test/unit/src/org/netbeans/modules/plsql/execution/TestRecordPlayer.java
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/PLSQL/Execution/test/unit/data/Actor.apy	Tue Jul 02 10:38:00 2013 +0530
     1.3 @@ -0,0 +1,702 @@
     1.4 +-----------------------------------------------------------------------------
     1.5 +--
     1.6 +--  Logical unit: Actor
     1.7 +--
     1.8 +--  Purpose:
     1.9 +--
    1.10 +--  IFS/Design Template Version 2.5
    1.11 +--
    1.12 +--  Date    Sign    History
    1.13 +--  ------  ------  ---------------------------------------------------------
    1.14 +-----------------------------------------------------------------------------
    1.15 +
    1.16 +DEFINE MODULE        = MOVIE
    1.17 +DEFINE LU            = Actor
    1.18 +DEFINE TABLE         = ACTOR_TAB
    1.19 +DEFINE VIEW          = ACTOR
    1.20 +DEFINE PKG           = ACTOR_API
    1.21 +
    1.22 +DEFINE OBJID         = rowid
    1.23 +DEFINE OBJKEY        = rowkey
    1.24 +DEFINE OBJVERSION    = "ltrim(lpad(to_char(rowversion,'YYYYMMDDHH24MISS'),2000))"
    1.25 +
    1.26 +-----------------------------------------------------------------------------
    1.27 +-------------------- VIEWS FOR SELECTS --------------------------------------
    1.28 +-----------------------------------------------------------------------------
    1.29 +
    1.30 +PROMPT Creating &VIEW VIEW
    1.31 +
    1.32 +CREATE OR REPLACE VIEW &VIEW AS
    1.33 +SELECT actor_id                       actor_id,
    1.34 +       first_name                     first_name,
    1.35 +       last_name                      last_name,
    1.36 +       birth_date                     birth_date,
    1.37 +       profile_picture                profile_picture,
    1.38 +       &OBJID                         objid,
    1.39 +       &OBJVERSION                    objversion,
    1.40 +       &OBJKEY                        objkey
    1.41 +FROM   actor_tab
    1.42 +WITH   read only;
    1.43 +
    1.44 +COMMENT ON TABLE &VIEW
    1.45 +   IS 'LU=&LU^PROMPT=Actor^MODULE=&MODULE^';
    1.46 +
    1.47 +COMMENT ON COLUMN &VIEW..actor_id
    1.48 +   IS 'FLAGS=KMI-L^DATATYPE=NUMBER(10)^PROMPT=Actor Id^';
    1.49 +COMMENT ON COLUMN &VIEW..first_name
    1.50 +   IS 'FLAGS=AMIUL^DATATYPE=STRING(100)^PROMPT=First Name^';
    1.51 +COMMENT ON COLUMN &VIEW..last_name
    1.52 +   IS 'FLAGS=A-IUL^DATATYPE=STRING(100)^PROMPT=Last Name^';
    1.53 +COMMENT ON COLUMN &VIEW..birth_date
    1.54 +   IS 'FLAGS=A-IUL^DATATYPE=DATE/DATE^PROMPT=Birth Date^';
    1.55 +COMMENT ON COLUMN &VIEW..profile_picture
    1.56 +   IS 'FLAGS=A-I--^DATATYPE=BINARY^PROMPT=Profile Picture^';
    1.57 +
    1.58 +-----------------------------------------------------------------------------
    1.59 +-------------------- PACKAGES FOR METHODS -----------------------------------
    1.60 +-----------------------------------------------------------------------------
    1.61 +
    1.62 +PROMPT Creating &PKG implementation
    1.63 +
    1.64 +CREATE OR REPLACE PACKAGE BODY &PKG IS
    1.65 +
    1.66 +-----------------------------------------------------------------------------
    1.67 +-------------------- LU SPECIFIC IMPLEMENTATION METHOD DECLARATIONS ---------
    1.68 +-----------------------------------------------------------------------------
    1.69 +
    1.70 +
    1.71 +-----------------------------------------------------------------------------
    1.72 +-------------------- IMPLEMENTATION BASE METHODS ----------------------------
    1.73 +-----------------------------------------------------------------------------
    1.74 +-- Lock_By_Id___
    1.75 +--    Client-support to lock a specific instance of the logical unit.
    1.76 +--
    1.77 +-- Lock_By_Keys___
    1.78 +--    Server support to lock a specific instance of the logical unit.
    1.79 +--
    1.80 +-- Get_Object_By_Id___
    1.81 +--    Get LU-record from the database with a specified object identity.
    1.82 +--
    1.83 +-- Get_Object_By_Keys___
    1.84 +--    Get LU-record from the database with specified key columns.
    1.85 +--
    1.86 +-- Check_Exist___
    1.87 +--    Check if a specific LU-instance already exist in the database.
    1.88 +--
    1.89 +-- Get_Id_Version_By_Keys___
    1.90 +--    Get the current OBJID and OBJVERSION for a specific LU-instance.
    1.91 +-----------------------------------------------------------------------------
    1.92 +
    1.93 +FUNCTION Lock_By_Id___ (
    1.94 +   objid_      IN VARCHAR2,
    1.95 +   objversion_ IN VARCHAR2 ) RETURN &TABLE%ROWTYPE
    1.96 +IS
    1.97 +   row_changed EXCEPTION;
    1.98 +   row_deleted EXCEPTION;
    1.99 +   row_locked  EXCEPTION;
   1.100 +   PRAGMA      EXCEPTION_INIT(row_locked, -0054);
   1.101 +   rec_        &TABLE%ROWTYPE;
   1.102 +   dummy_      NUMBER;
   1.103 +   CURSOR lock_control IS
   1.104 +      SELECT *
   1.105 +      FROM   &TABLE
   1.106 +      WHERE  &OBJID = objid_
   1.107 +      AND    &OBJVERSION = objversion_
   1.108 +      FOR UPDATE NOWAIT;
   1.109 +   CURSOR exist_control IS
   1.110 +      SELECT 1
   1.111 +      FROM   &TABLE
   1.112 +      WHERE  &OBJID = objid_;
   1.113 +BEGIN
   1.114 +   OPEN lock_control;
   1.115 +   FETCH lock_control INTO rec_;
   1.116 +   IF (lock_control%FOUND) THEN
   1.117 +      CLOSE lock_control;
   1.118 +      RETURN rec_;
   1.119 +   END IF;
   1.120 +   CLOSE lock_control;
   1.121 +   OPEN exist_control;
   1.122 +   FETCH exist_control INTO dummy_;
   1.123 +   IF (exist_control%FOUND) THEN
   1.124 +      CLOSE exist_control;
   1.125 +      RAISE row_changed;
   1.126 +   ELSE
   1.127 +      CLOSE exist_control;
   1.128 +      RAISE row_deleted;
   1.129 +   END IF;
   1.130 +EXCEPTION
   1.131 +   WHEN row_locked THEN
   1.132 +      Error_SYS.Record_Locked(lu_name_);
   1.133 +   WHEN row_changed THEN
   1.134 +      Error_SYS.Record_Modified(lu_name_);
   1.135 +   WHEN row_deleted THEN
   1.136 +      Error_SYS.Record_Removed(lu_name_);
   1.137 +      
   1.138 +      IF lu_name_ THEN
   1.139 +         RETURN NULL;
   1.140 +        END IF; 
   1.141 +      WHEN OTHERS THEN
   1.142 +       RETURN FALSE;
   1.143 +END Lock_By_Id___;
   1.144 +
   1.145 +
   1.146 +FUNCTION Lock_By_Keys___ (
   1.147 +   actor_id_ IN NUMBER ) RETURN &TABLE%ROWTYPE
   1.148 +IS
   1.149 +   row_deleted EXCEPTION;
   1.150 +   rec_        &TABLE%ROWTYPE;
   1.151 +   CURSOR lock_control IS
   1.152 +      SELECT *
   1.153 +      FROM   &TABLE
   1.154 +      WHERE  actor_id = actor_id_
   1.155 +      FOR UPDATE;
   1.156 +BEGIN
   1.157 +   OPEN lock_control;
   1.158 +   FETCH lock_control INTO rec_;
   1.159 +   IF (lock_control%FOUND) THEN
   1.160 +      CLOSE lock_control;
   1.161 +      RETURN rec_;
   1.162 +   ELSE
   1.163 +      CLOSE lock_control;
   1.164 +      RAISE row_deleted;
   1.165 +   END IF;
   1.166 +EXCEPTION
   1.167 +   WHEN OTHERS THEN
   1.168 +      Error_SYS.Record_Removed(lu_name_);
   1.169 +END Lock_By_Keys___;
   1.170 +
   1.171 +
   1.172 +FUNCTION Get_Object_By_Id___ (
   1.173 +   objid_ IN VARCHAR2 ) RETURN &TABLE%ROWTYPE
   1.174 +IS
   1.175 +   lu_rec_ &TABLE%ROWTYPE;
   1.176 +   CURSOR getrec IS
   1.177 +      SELECT *
   1.178 +      FROM   &TABLE
   1.179 +      WHERE  &OBJID = objid_;
   1.180 +BEGIN
   1.181 +   OPEN getrec;
   1.182 +   FETCH getrec INTO lu_rec_;
   1.183 +   IF (getrec%NOTFOUND) THEN
   1.184 +      CLOSE getrec;
   1.185 +      Error_SYS.Record_Removed(lu_name_);
   1.186 +   END IF;
   1.187 +   CLOSE getrec;
   1.188 +   RETURN(lu_rec_);
   1.189 +END Get_Object_By_Id___;
   1.190 +
   1.191 +
   1.192 +FUNCTION Get_Object_By_Keys___ (
   1.193 +   actor_id_ IN NUMBER ) RETURN &TABLE%ROWTYPE
   1.194 +IS
   1.195 +   lu_rec_ &TABLE%ROWTYPE;
   1.196 +   CURSOR getrec IS
   1.197 +      SELECT *
   1.198 +      FROM   &TABLE
   1.199 +      WHERE  actor_id = actor_id_;
   1.200 +BEGIN
   1.201 +   OPEN getrec;
   1.202 +   FETCH getrec INTO lu_rec_;
   1.203 +   CLOSE getrec;
   1.204 +   RETURN(lu_rec_);
   1.205 +END Get_Object_By_Keys___;
   1.206 +
   1.207 +
   1.208 +FUNCTION Check_Exist___ (
   1.209 +   actor_id_ IN NUMBER ) RETURN BOOLEAN
   1.210 +IS
   1.211 +   dummy_ NUMBER;
   1.212 +   CURSOR exist_control IS
   1.213 +      SELECT 1
   1.214 +      FROM   &TABLE
   1.215 +      WHERE  actor_id = actor_id_;
   1.216 +BEGIN
   1.217 +   OPEN exist_control;
   1.218 +   FETCH exist_control INTO dummy_;
   1.219 +   IF (exist_control%FOUND) THEN
   1.220 +      CLOSE exist_control;
   1.221 +      RETURN(TRUE);
   1.222 +   END IF;
   1.223 +   CLOSE exist_control;
   1.224 +   RETURN(FALSE);
   1.225 +END Check_Exist___;
   1.226 +
   1.227 +
   1.228 +PROCEDURE Get_Id_Version_By_Keys___ (
   1.229 +   objid_      IN OUT VARCHAR2,
   1.230 +   objversion_ IN OUT VARCHAR2,
   1.231 +   actor_id_ IN NUMBER )
   1.232 +IS
   1.233 +   CURSOR get_version IS
   1.234 +      SELECT &OBJID, &OBJVERSION
   1.235 +      FROM   &TABLE
   1.236 +      WHERE  actor_id = actor_id_;
   1.237 +BEGIN
   1.238 +   OPEN get_version;
   1.239 +   FETCH get_version INTO objid_, objversion_;
   1.240 +   CLOSE get_version;
   1.241 +END Get_Id_Version_By_Keys___;
   1.242 +
   1.243 +-----------------------------------------------------------------------------
   1.244 +-------------------- IMPLEMENTATION BASE METHODS FOR INSERT -----------------
   1.245 +-----------------------------------------------------------------------------
   1.246 +-- Prepare_Insert___
   1.247 +--    Set all default values for a new instance (ON-NEW-RECORD) of this
   1.248 +--    logical unit by calling procedure Add_Attr.
   1.249 +--
   1.250 +-- Unpack_Check_Insert___
   1.251 +--    Unpack the attribute list, check all attributes from the client
   1.252 +--    and generate all default values before creation of the new object.
   1.253 +--
   1.254 +-- Insert___
   1.255 +--    Insert a new LU-instance into the database and return the values
   1.256 +--    for OBJID and OBJVERSION.
   1.257 +-----------------------------------------------------------------------------
   1.258 +
   1.259 +PROCEDURE Prepare_Insert___ (
   1.260 +   attr_ IN OUT VARCHAR2 )
   1.261 +IS
   1.262 +BEGIN
   1.263 +   Client_SYS.Clear_Attr(attr_);
   1.264 +END Prepare_Insert___;
   1.265 +
   1.266 +
   1.267 +PROCEDURE Unpack_Check_Insert___ (
   1.268 +   attr_   IN OUT VARCHAR2,
   1.269 +   newrec_ IN OUT &TABLE%ROWTYPE )
   1.270 +IS
   1.271 +   ptr_   NUMBER;
   1.272 +   name_  VARCHAR2(30);
   1.273 +   value_ VARCHAR2(2000);
   1.274 +BEGIN
   1.275 +   ptr_ := NULL;
   1.276 +   WHILE (Client_SYS.Get_Next_From_Attr(attr_, ptr_, name_, value_)) LOOP
   1.277 +      IF (name_ = 'ACTOR_ID') THEN
   1.278 +         newrec_.actor_id := Client_SYS.Attr_Value_To_Number(value_);
   1.279 +      ELSIF (name_ = 'FIRST_NAME') THEN
   1.280 +         newrec_.first_name := value_;
   1.281 +      ELSIF (name_ = 'LAST_NAME') THEN
   1.282 +         newrec_.last_name := value_;
   1.283 +      ELSIF (name_ = 'BIRTH_DATE') THEN
   1.284 +         newrec_.birth_date := Client_SYS.Attr_Value_To_Date(value_);
   1.285 +      ELSE
   1.286 +         Error_SYS.Item_Not_Exist(lu_name_, name_, value_);
   1.287 +      END IF;
   1.288 +   END LOOP;
   1.289 +   Client_SYS.Clear_Attr(attr_);
   1.290 +   Error_SYS.Check_Not_Null(lu_name_, 'ACTOR_ID', newrec_.actor_id);
   1.291 +   Error_SYS.Check_Not_Null(lu_name_, 'FIRST_NAME', newrec_.first_name);
   1.292 +EXCEPTION
   1.293 +   WHEN value_error THEN
   1.294 +      Error_SYS.Item_Format(lu_name_, name_, value_);
   1.295 +END Unpack_Check_Insert___;
   1.296 +
   1.297 +
   1.298 +PROCEDURE Insert___ (
   1.299 +   objid_      OUT    VARCHAR2,
   1.300 +   objversion_ OUT    VARCHAR2,
   1.301 +   newrec_     IN OUT &TABLE%ROWTYPE,
   1.302 +   attr_       IN OUT VARCHAR2 )
   1.303 +IS
   1.304 +BEGIN
   1.305 +   newrec_.rowversion := sysdate;
   1.306 +   INSERT
   1.307 +      INTO actor_tab (
   1.308 +         actor_id,
   1.309 +         first_name,
   1.310 +         last_name,
   1.311 +         birth_date,
   1.312 +         profile_picture,
   1.313 +         rowversion)
   1.314 +      VALUES (
   1.315 +         newrec_.actor_id,
   1.316 +         newrec_.first_name,
   1.317 +         newrec_.last_name,
   1.318 +         newrec_.birth_date,
   1.319 +         empty_blob(),
   1.320 +         newrec_.rowversion)
   1.321 +      RETURNING &OBJID INTO objid_;
   1.322 +   objversion_ := to_char(newrec_.rowversion,'YYYYMMDDHH24MISS');
   1.323 +EXCEPTION
   1.324 +   WHEN dup_val_on_index THEN
   1.325 +      Error_SYS.Record_Exist(lu_name_);
   1.326 +END Insert___;
   1.327 +
   1.328 +-----------------------------------------------------------------------------
   1.329 +-------------------- IMPLEMENTATION BASE METHODS FOR UPDATE -----------------
   1.330 +-----------------------------------------------------------------------------
   1.331 +-- Unpack_Check_Update___
   1.332 +--    Unpack the attribute list, check all attributes from the client
   1.333 +--    and generate all default values before modifying the object.
   1.334 +--
   1.335 +-- Update___
   1.336 +--    Update an existing LU-instance in the database and return the
   1.337 +--    the new OBJVERSION.
   1.338 +-----------------------------------------------------------------------------
   1.339 +
   1.340 +PROCEDURE Unpack_Check_Update___ (
   1.341 +   attr_   IN OUT VARCHAR2,
   1.342 +   newrec_ IN OUT &TABLE%ROWTYPE,
   1.343 +   objid_  IN     VARCHAR2 )
   1.344 +IS
   1.345 +   ptr_   NUMBER;
   1.346 +   name_  VARCHAR2(30);
   1.347 +   value_ VARCHAR2(2000);
   1.348 +BEGIN
   1.349 +   ptr_ := NULL;
   1.350 +   WHILE (Client_SYS.Get_Next_From_Attr(attr_, ptr_, name_, value_)) LOOP
   1.351 +      IF (name_ = 'ACTOR_ID') THEN
   1.352 +         Error_SYS.Item_Update(lu_name_, 'ACTOR_ID');
   1.353 +      ELSIF (name_ = 'FIRST_NAME') THEN
   1.354 +         newrec_.first_name := value_;
   1.355 +      ELSIF (name_ = 'LAST_NAME') THEN
   1.356 +         newrec_.last_name := value_;
   1.357 +      ELSIF (name_ = 'BIRTH_DATE') THEN
   1.358 +         newrec_.birth_date := Client_SYS.Attr_Value_To_Date(value_);
   1.359 +      ELSE
   1.360 +         Error_SYS.Item_Not_Exist(lu_name_, name_, value_);
   1.361 +      END IF;
   1.362 +   END LOOP;
   1.363 +   Client_SYS.Clear_Attr(attr_);
   1.364 +   Error_SYS.Check_Not_Null(lu_name_, 'FIRST_NAME', newrec_.first_name);
   1.365 +EXCEPTION
   1.366 +   WHEN value_error THEN
   1.367 +      Error_SYS.Item_Format(lu_name_, name_, value_);
   1.368 +END Unpack_Check_Update___;
   1.369 +
   1.370 +
   1.371 +PROCEDURE Update___ (
   1.372 +   objid_      IN     VARCHAR2,
   1.373 +   oldrec_     IN     &TABLE%ROWTYPE,
   1.374 +   newrec_     IN OUT &TABLE%ROWTYPE,
   1.375 +   attr_       IN OUT VARCHAR2,
   1.376 +   objversion_ IN OUT VARCHAR2,
   1.377 +   by_keys_    IN     BOOLEAN DEFAULT FALSE )
   1.378 +IS
   1.379 +BEGIN
   1.380 +   newrec_.rowversion := sysdate;
   1.381 +   IF by_keys_ THEN
   1.382 +      UPDATE actor_tab
   1.383 +         SET actor_id = newrec_.actor_id,
   1.384 +             first_name = newrec_.first_name,
   1.385 +             last_name = newrec_.last_name,
   1.386 +             birth_date = newrec_.birth_date,
   1.387 +             rowversion = newrec_.rowversion
   1.388 +         WHERE actor_id = newrec_.actor_id;
   1.389 +   ELSE
   1.390 +      UPDATE actor_tab
   1.391 +         SET actor_id = newrec_.actor_id,
   1.392 +             first_name = newrec_.first_name,
   1.393 +             last_name = newrec_.last_name,
   1.394 +             birth_date = newrec_.birth_date,
   1.395 +             rowversion = newrec_.rowversion
   1.396 +         WHERE &OBJID = objid_;
   1.397 +   END IF;
   1.398 +   objversion_ := to_char(newrec_.rowversion,'YYYYMMDDHH24MISS');
   1.399 +EXCEPTION
   1.400 +   WHEN dup_val_on_index THEN
   1.401 +      Error_SYS.Record_Exist(lu_name_);
   1.402 +END Update___;
   1.403 +
   1.404 +-----------------------------------------------------------------------------
   1.405 +-------------------- IMPLEMENTATION BASE METHODS FOR DELETE -----------------
   1.406 +-----------------------------------------------------------------------------
   1.407 +-- Check_Delete___
   1.408 +--    Checks whether a specific LU-record may be removed or not.
   1.409 +--    The procedure should check business rules like attribute values
   1.410 +--    as well as database constraints (defined or not).
   1.411 +--
   1.412 +-- Delete___
   1.413 +--    Deletion of the specific LU-object from the database.
   1.414 +-----------------------------------------------------------------------------
   1.415 +
   1.416 +PROCEDURE Check_Delete___ (
   1.417 +   remrec_ IN &TABLE%ROWTYPE )
   1.418 +IS
   1.419 +   key_ VARCHAR2(2000);
   1.420 +BEGIN
   1.421 +   key_ := remrec_.actor_id || '^';
   1.422 +   Reference_SYS.Check_Restricted_Delete(lu_name_, key_);
   1.423 +END Check_Delete___;
   1.424 +
   1.425 +
   1.426 +PROCEDURE Delete___ (
   1.427 +   objid_  IN VARCHAR2,
   1.428 +   remrec_ IN &TABLE%ROWTYPE )
   1.429 +IS
   1.430 +   key_ VARCHAR2(2000);
   1.431 +BEGIN
   1.432 +   key_ := remrec_.actor_id || '^';
   1.433 +   Reference_SYS.Do_Cascade_Delete(lu_name_, key_);
   1.434 +   DELETE
   1.435 +      FROM  &TABLE
   1.436 +      WHERE &OBJID = objid_;
   1.437 +END Delete___;
   1.438 +
   1.439 +-----------------------------------------------------------------------------
   1.440 +-------------------- PRIVATE BASE METHODS -----------------------------------
   1.441 +-----------------------------------------------------------------------------
   1.442 +-- Lock__
   1.443 +--    Client-support to lock a specific instance of the logical unit.
   1.444 +--
   1.445 +-- New__
   1.446 +--    Client-support interface to create LU instances.
   1.447 +--       action_ = 'PREPARE'
   1.448 +--          Default values and handle of information to client.
   1.449 +--          The default values are set in procedure Prepare_Insert___.
   1.450 +--       action_ = 'CHECK'
   1.451 +--          Check all attributes before creating new object and handle of
   1.452 +--          information to client. The attribute list is unpacked, checked
   1.453 +--          and prepared (defaults) in procedure Unpack_Check_Insert___.
   1.454 +--       action_ = 'DO'
   1.455 +--          Creation of new instances of the logical unit and handle of
   1.456 +--          information to client. The attribute list is unpacked, checked
   1.457 +--          and prepared (defaults) in procedure Unpack_Check_Insert___
   1.458 +--          before calling procedure Insert___.
   1.459 +--
   1.460 +-- Modify__
   1.461 +--    Client-support interface to modify attributes for LU instances.
   1.462 +--       action_ = 'CHECK'
   1.463 +--          Check all attributes before modifying an existing object and
   1.464 +--          handle of information to client. The attribute list is unpacked,
   1.465 +--          checked and prepared(defaults) in procedure Unpack_Check_Update___.
   1.466 +--       action_ = 'DO'
   1.467 +--          Modification of an existing instance of the logical unit. The
   1.468 +--          procedure unpacks the attributes, checks all values before
   1.469 +--          procedure Update___ is called.
   1.470 +--
   1.471 +-- Remove__
   1.472 +--    Client-support interface to remove LU instances.
   1.473 +--       action_ = 'CHECK'
   1.474 +--          Check whether a specific LU-instance may be removed or not.
   1.475 +--          The procedure fetches the complete record by calling procedure
   1.476 +--          Get_Object_By_Id___. Then the check is made by calling procedure
   1.477 +--          Check_Delete___.
   1.478 +--       action_ = 'DO'
   1.479 +--          Remove an existing instance of the logical unit. The procedure
   1.480 +--          fetches the complete LU-record, checks for a delete and then
   1.481 +--          deletes the record by calling procedure Delete___.
   1.482 +-----------------------------------------------------------------------------
   1.483 +
   1.484 +PROCEDURE Lock__ (
   1.485 +   info_       OUT VARCHAR2,
   1.486 +   objid_      IN  VARCHAR2,
   1.487 +   objversion_ IN  VARCHAR2 )
   1.488 +IS
   1.489 +   dummy_ &TABLE%ROWTYPE;
   1.490 +BEGIN
   1.491 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Lock__');
   1.492 +   dummy_ := Lock_By_Id___(objid_, objversion_);
   1.493 +   info_ := Client_SYS.Get_All_Info;
   1.494 +END Lock__;
   1.495 +
   1.496 +
   1.497 +PROCEDURE New__ (
   1.498 +   info_       OUT    VARCHAR2,
   1.499 +   objid_      OUT    VARCHAR2,
   1.500 +   objversion_ OUT    VARCHAR2,
   1.501 +   attr_       IN OUT VARCHAR2,
   1.502 +   action_     IN     VARCHAR2 )
   1.503 +IS
   1.504 +   newrec_ &TABLE%ROWTYPE;
   1.505 +BEGIN
   1.506 +   General_SYS.Init_Method(lu_name_, '&PKG', 'New__');
   1.507 +   IF (action_ = 'PREPARE') THEN
   1.508 +      Prepare_Insert___(attr_);
   1.509 +   ELSIF (action_ = 'CHECK') THEN
   1.510 +      Unpack_Check_Insert___(attr_, newrec_);
   1.511 +   ELSIF (action_ = 'DO') THEN
   1.512 +      Unpack_Check_Insert___(attr_, newrec_);
   1.513 +      Insert___(objid_, objversion_, newrec_, attr_);
   1.514 +   END IF;
   1.515 +   info_ := Client_SYS.Get_All_Info;
   1.516 +END New__;
   1.517 +
   1.518 +
   1.519 +PROCEDURE Modify__ (
   1.520 +   info_       OUT    VARCHAR2,
   1.521 +   objid_      IN     VARCHAR2,
   1.522 +   objversion_ IN OUT VARCHAR2,
   1.523 +   attr_       IN OUT VARCHAR2,
   1.524 +   action_     IN     VARCHAR2 )
   1.525 +IS
   1.526 +   oldrec_ &TABLE%ROWTYPE;
   1.527 +   newrec_ &TABLE%ROWTYPE;
   1.528 +BEGIN
   1.529 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Modify__');
   1.530 +   IF (action_ = 'CHECK') THEN
   1.531 +      newrec_ := Get_Object_By_Id___(objid_);
   1.532 +      Unpack_Check_Update___(attr_, newrec_, objid_);
   1.533 +   ELSIF (action_ = 'DO') THEN
   1.534 +      oldrec_ := Lock_By_Id___(objid_, objversion_);
   1.535 +      newrec_ := oldrec_;
   1.536 +      Unpack_Check_Update___(attr_, newrec_, objid_);
   1.537 +      Update___(objid_, oldrec_, newrec_, attr_, objversion_);
   1.538 +   END IF;
   1.539 +   info_ := Client_SYS.Get_All_Info;
   1.540 +END Modify__;
   1.541 +
   1.542 +
   1.543 +PROCEDURE Remove__ (
   1.544 +   info_       OUT VARCHAR2,
   1.545 +   objid_      IN  VARCHAR2,
   1.546 +   objversion_ IN  VARCHAR2,
   1.547 +   action_     IN  VARCHAR2 )
   1.548 +IS
   1.549 +   remrec_ &TABLE%ROWTYPE;
   1.550 +BEGIN
   1.551 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Remove__');
   1.552 +   IF (action_ = 'CHECK') THEN
   1.553 +      remrec_ := Get_Object_By_Id___(objid_);
   1.554 +      Check_Delete___(remrec_);
   1.555 +   ELSIF (action_ = 'DO') THEN
   1.556 +      remrec_ := Lock_By_Id___(objid_, objversion_);
   1.557 +      Check_Delete___(remrec_);
   1.558 +      Delete___(objid_, remrec_);
   1.559 +   END IF;
   1.560 +   info_ := Client_SYS.Get_All_Info;
   1.561 +END Remove__;
   1.562 +
   1.563 +-----------------------------------------------------------------------------
   1.564 +-------------------- PUBLIC BASE METHODS ------------------------------------
   1.565 +-----------------------------------------------------------------------------
   1.566 +-- Exist
   1.567 +--   Checks if given pointer (e.g. primary key) to an instance of this
   1.568 +--   logical unit exists. If not an exception will be raised.
   1.569 +-----------------------------------------------------------------------------
   1.570 +
   1.571 +PROCEDURE Exist (
   1.572 +   actor_id_ IN NUMBER )
   1.573 +IS
   1.574 +BEGIN
   1.575 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Exist', TRUE);
   1.576 +   IF (NOT Check_Exist___(actor_id_)) THEN
   1.577 +      Error_SYS.Record_Not_Exist(lu_name_);
   1.578 +   END IF;
   1.579 +END Exist;
   1.580 +
   1.581 +-----------------------------------------------------------------------------
   1.582 +-------------------- LU SPECIFIC IMPLEMENTATION METHODS ---------------------
   1.583 +-----------------------------------------------------------------------------
   1.584 +
   1.585 +-----------------------------------------------------------------------------
   1.586 +-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
   1.587 +-----------------------------------------------------------------------------
   1.588 +
   1.589 +PROCEDURE Write_Profile_Picture__ (
   1.590 +   objversion_ IN OUT VARCHAR2,
   1.591 +   rowid_      IN ROWID,
   1.592 +   lob_loc_    IN BLOB )
   1.593 +IS
   1.594 +   rec &TABLE%ROWTYPE;
   1.595 +BEGIN
   1.596 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Write_Profile_Picture__');
   1.597 +   rec := Lock_By_Id___(rowid_, objversion_);
   1.598 +   UPDATE &TABLE
   1.599 +   SET profile_picture = lob_loc_,
   1.600 +       rowversion = sysdate
   1.601 +   WHERE rowid = rowid_
   1.602 +   RETURNING &OBJVERSION INTO objversion_;
   1.603 +END Write_Profile_Picture__;
   1.604 +
   1.605 +-----------------------------------------------------------------------------
   1.606 +-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
   1.607 +-----------------------------------------------------------------------------
   1.608 +
   1.609 +
   1.610 +-----------------------------------------------------------------------------
   1.611 +-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
   1.612 +-----------------------------------------------------------------------------
   1.613 +
   1.614 +FUNCTION Get_First_Name (
   1.615 +   actor_id_ IN NUMBER ) RETURN VARCHAR2
   1.616 +IS
   1.617 +   temp_ &TABLE..first_name%TYPE;
   1.618 +   CURSOR get_attr IS
   1.619 +      SELECT first_name
   1.620 +      FROM   &TABLE
   1.621 +      WHERE  actor_id = actor_id_;
   1.622 +BEGIN
   1.623 +   OPEN get_attr;
   1.624 +   FETCH get_attr INTO temp_;
   1.625 +   CLOSE get_attr;
   1.626 +   RETURN temp_;
   1.627 +END Get_First_Name;
   1.628 +
   1.629 +
   1.630 +FUNCTION Get_Last_Name (
   1.631 +   actor_id_ IN NUMBER ) RETURN VARCHAR2
   1.632 +IS
   1.633 +   temp_ &TABLE..last_name%TYPE;
   1.634 +   CURSOR get_attr IS
   1.635 +      SELECT last_name
   1.636 +      FROM   &TABLE
   1.637 +      WHERE  actor_id = actor_id_;
   1.638 +BEGIN
   1.639 +   OPEN get_attr;
   1.640 +   FETCH get_attr INTO temp_;
   1.641 +   CLOSE get_attr;
   1.642 +   RETURN temp_;
   1.643 +END Get_Last_Name;
   1.644 +
   1.645 +
   1.646 +FUNCTION Get_Birth_Date (
   1.647 +   actor_id_ IN NUMBER ) RETURN DATE
   1.648 +IS
   1.649 +   temp_ &TABLE..birth_date%TYPE;
   1.650 +   CURSOR get_attr IS
   1.651 +      SELECT birth_date
   1.652 +      FROM   &TABLE
   1.653 +      WHERE  actor_id = actor_id_;
   1.654 +BEGIN
   1.655 +   OPEN get_attr;
   1.656 +   FETCH get_attr INTO temp_;
   1.657 +   CLOSE get_attr;
   1.658 +   RETURN temp_;
   1.659 +END Get_Birth_Date;
   1.660 +
   1.661 +
   1.662 +FUNCTION Get (
   1.663 +   actor_id_ IN NUMBER ) RETURN Public_Rec
   1.664 +IS
   1.665 +   temp_ Public_Rec;
   1.666 +   CURSOR get_attr IS
   1.667 +      SELECT first_name, last_name, birth_date
   1.668 +      FROM   &TABLE
   1.669 +      WHERE  actor_id = actor_id_;
   1.670 +BEGIN
   1.671 +   OPEN get_attr;
   1.672 +   FETCH get_attr INTO temp_;
   1.673 +   CLOSE get_attr;
   1.674 +   RETURN temp_;
   1.675 +END Get;
   1.676 +
   1.677 +-----------------------------------------------------------------------------
   1.678 +-------------------- FOUNDATION1 METHODS ------------------------------------
   1.679 +-----------------------------------------------------------------------------
   1.680 +-- Init
   1.681 +--   Dummy procedure that can be called at database startup to ensure that
   1.682 +--   this package is loaded into memory for performance reasons only.
   1.683 +-----------------------------------------------------------------------------
   1.684 +
   1.685 +PROCEDURE Init
   1.686 +IS
   1.687 +BEGIN
   1.688 +   NULL;
   1.689 +END Init;
   1.690 +
   1.691 +
   1.692 +END &PKG;
   1.693 +/
   1.694 +SHOW ERROR
   1.695 +
   1.696 +
   1.697 +UNDEFINE MODULE
   1.698 +UNDEFINE LU
   1.699 +UNDEFINE TABLE
   1.700 +UNDEFINE VIEW
   1.701 +UNDEFINE PKG
   1.702 +UNDEFINE OBJID
   1.703 +UNDEFINE OBJKEY
   1.704 +UNDEFINE OBJVERSION
   1.705 +-----------------------------------------------------------------------------
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/PLSQL/Execution/test/unit/data/FndEvent.api	Tue Jul 02 10:38:00 2013 +0530
     2.3 @@ -0,0 +1,163 @@
     2.4 +-----------------------------------------------------------------------------
     2.5 +--
     2.6 +--  Logical unit: FndEvent
     2.7 +--
     2.8 +--  IFS/Design Template Version 2.3
     2.9 +--
    2.10 +--  Date    Sign  History
    2.11 +--  ------  ----  -----------------------------------------------------------
    2.12 +--  971009  ERFO  Reviewed for Foundation1 Release 2.0.0 (ToDo #1676).
    2.13 +--  030212  ROOD  Changed module to FNDBAS (ToDo#4149).
    2.14 +--  070212  HAAR  Added support for Custom Defined Events (Bugg#61780).
    2.15 +--  090114  HAAR  Added methods for Export/Import Export__ and Register_Custom_Event (Bug#79673).
    2.16 +--  120926  DUWI   Added new function Check_Custom_Event (Bug#104703)
    2.17 +-----------------------------------------------------------------------------
    2.18 +
    2.19 +DEFINE MODULE        = FNDBAS
    2.20 +DEFINE LU            = FndEvent
    2.21 +DEFINE PKG           = FND_EVENT_API
    2.22 +
    2.23 +
    2.24 +PROMPT Creating &PKG specification
    2.25 +
    2.26 +CREATE OR REPLACE PACKAGE &PKG IS
    2.27 +
    2.28 +module_  CONSTANT VARCHAR2(25) := '&MODULE';
    2.29 +lu_name_ CONSTANT VARCHAR2(25) := '&LU';
    2.30 +
    2.31 +TYPE Public_Rec IS RECORD
    2.32 +   (event_description FND_EVENT_TAB.event_description%TYPE,
    2.33 +    event_enable FND_EVENT_TAB.event_enable%TYPE);
    2.34 +
    2.35 +-----------------------------------------------------------------------------
    2.36 +-------------------- PRIVATE BASE METHODS -----------------------------------
    2.37 +-----------------------------------------------------------------------------
    2.38 +
    2.39 +PROCEDURE Lock__ (
    2.40 +   info_       OUT VARCHAR2,
    2.41 +   objid_      IN  VARCHAR2,
    2.42 +   objversion_ IN  VARCHAR2 );
    2.43 +
    2.44 +PROCEDURE New__ (
    2.45 +   info_       OUT    VARCHAR2,
    2.46 +   objid_      OUT    VARCHAR2,
    2.47 +   objversion_ OUT    VARCHAR2,
    2.48 +   attr_       IN OUT VARCHAR2,
    2.49 +   action_     IN     VARCHAR2 );
    2.50 +
    2.51 +PROCEDURE Modify__ (
    2.52 +   info_       OUT    VARCHAR2,
    2.53 +   objid_      IN     VARCHAR2,
    2.54 +   objversion_ IN OUT VARCHAR2,
    2.55 +   attr_       IN OUT VARCHAR2,
    2.56 +   action_     IN     VARCHAR2 );
    2.57 +
    2.58 +PROCEDURE Remove__ (
    2.59 +   info_       OUT VARCHAR2,
    2.60 +   objid_      IN  VARCHAR2,
    2.61 +   objversion_ IN  VARCHAR2,
    2.62 +   action_     IN  VARCHAR2 );
    2.63 +
    2.64 +-----------------------------------------------------------------------------
    2.65 +-------------------- PUBLIC BASE METHODS ------------------------------------
    2.66 +-----------------------------------------------------------------------------
    2.67 +
    2.68 +PROCEDURE Exist (
    2.69 +   event_lu_name_ IN VARCHAR2,
    2.70 +   event_id_      IN VARCHAR2 );
    2.71 +
    2.72 +-----------------------------------------------------------------------------
    2.73 +-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
    2.74 +-----------------------------------------------------------------------------
    2.75 +
    2.76 +PROCEDURE Export__ (
    2.77 +   string_        OUT VARCHAR2,
    2.78 +   event_lu_name_ IN  VARCHAR2,
    2.79 +   event_id_      IN  VARCHAR2 );
    2.80 +
    2.81 +-----------------------------------------------------------------------------
    2.82 +-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
    2.83 +-----------------------------------------------------------------------------
    2.84 +
    2.85 +
    2.86 +-----------------------------------------------------------------------------
    2.87 +-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
    2.88 +-----------------------------------------------------------------------------
    2.89 +
    2.90 +FUNCTION Get_Event_Description (
    2.91 +   event_lu_name_ IN VARCHAR2,
    2.92 +   event_id_      IN VARCHAR2 ) RETURN VARCHAR2;
    2.93 +PRAGMA restrict_references(Get_Event_Description, WNDS);
    2.94 +
    2.95 +
    2.96 +FUNCTION Get_Event_Enable (
    2.97 +   event_lu_name_ IN VARCHAR2,
    2.98 +   event_id_      IN VARCHAR2 ) RETURN VARCHAR2;
    2.99 +PRAGMA restrict_references(Get_Event_Enable, WNDS);
   2.100 +
   2.101 +
   2.102 +PROCEDURE Set_Event_Enable (
   2.103 +   event_lu_name_ IN VARCHAR2,
   2.104 +   event_id_      IN VARCHAR2 );
   2.105 +
   2.106 +
   2.107 +PROCEDURE Refresh (
   2.108 +   event_lu_name_       IN VARCHAR2,
   2.109 +   event_id_            IN VARCHAR2,
   2.110 +   event_desc_          IN VARCHAR2,
   2.111 +   event_type_db_       IN VARCHAR2 DEFAULT 'APPLICATION',
   2.112 +   event_table_name_    IN VARCHAR2 DEFAULT NULL,
   2.113 +   modified_attributes_ IN VARCHAR2 DEFAULT NULL,
   2.114 +   new_row_             IN VARCHAR2 DEFAULT 'FALSE',
   2.115 +   modify_row_          IN VARCHAR2 DEFAULT 'FALSE',
   2.116 +   remove_row_          IN VARCHAR2 DEFAULT 'FALSE');
   2.117 +
   2.118 +PROCEDURE Register_Custom_Event (
   2.119 +   event_lu_name_ IN VARCHAR2,
   2.120 +   event_id_      IN VARCHAR2,
   2.121 +   info_msg_      IN VARCHAR2 );
   2.122 +
   2.123 +
   2.124 +PROCEDURE Unfresh (
   2.125 +   event_lu_name_ IN VARCHAR2,
   2.126 +   event_id_      IN VARCHAR2 );
   2.127 +
   2.128 +
   2.129 +FUNCTION Get (
   2.130 +   event_lu_name_ IN VARCHAR2,
   2.131 +   event_id_ IN VARCHAR2 ) RETURN Public_Rec;
   2.132 +PRAGMA restrict_references(Get, WNDS);
   2.133 +
   2.134 +FUNCTION Check_Custom_Event(
   2.135 +   table_name_ VARCHAR2) RETURN BOOLEAN;
   2.136 +PRAGMA restrict_references(Check_Custom_Event, WNDS);
   2.137 +
   2.138 +
   2.139 +
   2.140 +-----------------------------------------------------------------------------
   2.141 +-------------------- FOUNDATION1 METHODS ------------------------------------
   2.142 +-----------------------------------------------------------------------------
   2.143 +
   2.144 +PROCEDURE Init;
   2.145 +
   2.146 +
   2.147 +END &PKG;
   2.148 +/
   2.149 +SHOW ERROR
   2.150 +
   2.151 +
   2.152 +-----------------------------------------------------------------------------
   2.153 +
   2.154 +----------------------------------------------------------
   2.155 +-- <UNDEFINE_SECTION>
   2.156 +----------------------------------------------------------
   2.157 +-- This section is reserved for undefine statements
   2.158 +-- nothing should be manually written below because
   2.159 +-- that would be overwritten everytime the IFS / Undefine
   2.160 +-- tool is run.  
   2.161 +-- Also do NOT make any changes to the above tag because
   2.162 +-- this will result in duplicated code
   2.163 +----------------------------------------------------------
   2.164 +UNDEFINE MODULE
   2.165 +UNDEFINE LU
   2.166 +UNDEFINE PKG
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/PLSQL/Execution/test/unit/data/FndEvent.apy	Tue Jul 02 10:38:00 2013 +0530
     3.3 @@ -0,0 +1,1468 @@
     3.4 +-----------------------------------------------------------------------------
     3.5 +--
     3.6 +--  Logical unit: FndEvent
     3.7 +--
     3.8 +--  Purpose:
     3.9 +--
    3.10 +--  IFS/Design Template Version 2.3
    3.11 +--
    3.12 +--  Date    Sign  History
    3.13 +--  ------  ----  -----------------------------------------------------------
    3.14 +--  971009  ERFO  Reviewed for Foundation1 Release 2.0.0 (ToDo #1676).
    3.15 +--  971013  ERFO  Made attribute EVENT_ID uppercase.
    3.16 +--  980223  ERFO  Removed Set_Event_Enabled in method Refresh and added
    3.17 +--                validation when setting event enabled (ToDo #2144).
    3.18 +--  980310  ERFO  Set event_enable to FALSE in method Refresh and
    3.19 +--                ensure a correct error message in method Update___.
    3.20 +--  030212  ROOD  Changed module to FNDBAS (ToDo#4149).
    3.21 +--  030214  ROOD  Replaced usage of fnd_event_action_tab with the view (ToDo#4149).
    3.22 +--  060623  RARU  Moved the select statement into a cursor in Update__.
    3.23 +--  070212  HAAR  Added support for Custom Defined Events (Bugg#61780).
    3.24 +--  080101  SUMA  Changed the :new to old when inserting new recs.(Bug#70269).
    3.25 +--  080228  SUMA  Added Create_Trigger_Name function to aviod special chars(Bug#71099)
    3.26 +--  080925  HAAR  Renamed parameters for Custom Defined Events (Bug#77334).
    3.27 +--                New value: NEW:COLUMN_NAME => NEW:IDENTITY
    3.28 +--                Old value: OLD:COLUMN_NAME => OLD:IDENTITY
    3.29 +--  090114  HAAR  Added methods for Export/Import Export__ and Register_Custom_Event (Bug#79673).
    3.30 +--  091109  NABA  Added the check for event_id as a valid identifier (Bug#86681)
    3.31 +--  110727  CHMU  Escaped quotes in event description and custom attributes in events
    3.32 +--                and added COMMIT when exporting to file (Bug#95454). 
    3.33 +--  120926  DUWI  Added new function Check_Custom_Event (Bug#104703)
    3.34 +-----------------------------------------------------------------------------
    3.35 +
    3.36 +DEFINE MODULE        = FNDBAS
    3.37 +DEFINE LU            = FndEvent
    3.38 +DEFINE TABLE         = FND_EVENT_TAB
    3.39 +DEFINE VIEW          = FND_EVENT
    3.40 +DEFINE PKG           = FND_EVENT_API
    3.41 +
    3.42 +DEFINE OBJID         = rowid
    3.43 +DEFINE OBJKEY        = rowkey
    3.44 +DEFINE OBJVERSION    = "ltrim(lpad(to_char(rowversion,'YYYYMMDDHH24MISS'),2000))"
    3.45 +
    3.46 +-----------------------------------------------------------------------------
    3.47 +-------------------- VIEWS FOR SELECTS --------------------------------------
    3.48 +-----------------------------------------------------------------------------
    3.49 +
    3.50 +PROMPT Creating &VIEW view
    3.51 +
    3.52 +
    3.53 +CREATE OR REPLACE VIEW &VIEW AS
    3.54 +SELECT event_lu_name                  event_lu_name,
    3.55 +       event_id                       event_id,
    3.56 +       event_description              event_description,
    3.57 +       event_enable                   event_enable,
    3.58 +       event_table_name               event_table_name,
    3.59 +       Fnd_Event_Type_API.Decode(event_type) event_type,
    3.60 +       event_type                     event_type_db,
    3.61 +       modified_attributes            modified_attributes,
    3.62 +       Fnd_Boolean_API.Decode(new_row) new_row,
    3.63 +       new_row                        new_row_db,
    3.64 +       Fnd_Boolean_API.Decode(modify_row) modify_row,
    3.65 +       modify_row                     modify_row_db,
    3.66 +       Fnd_Boolean_API.Decode(remove_row) remove_row,
    3.67 +       remove_row                     remove_row_db,
    3.68 +       &OBJID                         objid,
    3.69 +       &OBJVERSION                    objversion,
    3.70 +       &OBJKEY                        objkey
    3.71 +FROM   fnd_event_tab
    3.72 +WITH   read only;
    3.73 +
    3.74 +COMMENT ON TABLE &VIEW
    3.75 +   IS 'LU=&LU^PROMPT=Fnd Event^MODULE=&MODULE^';
    3.76 +
    3.77 +COMMENT ON COLUMN &VIEW..event_lu_name
    3.78 +   IS 'FLAGS=KMI-L^DATATYPE=STRING(25)^PROMPT=Event Lu Name^';
    3.79 +COMMENT ON COLUMN &VIEW..event_id
    3.80 +   IS 'FLAGS=KMI-L^DATATYPE=STRING(32)/UPPERCASE^PROMPT=Event Id^';
    3.81 +COMMENT ON COLUMN &VIEW..event_description
    3.82 +   IS 'FLAGS=A-IU-^DATATYPE=STRING(256)^PROMPT=Event Description^';
    3.83 +COMMENT ON COLUMN &VIEW..event_enable
    3.84 +   IS 'FLAGS=A-IU-^DATATYPE=BOOLEAN^PROMPT=Event Enable^';
    3.85 +COMMENT ON COLUMN &VIEW..event_table_name
    3.86 +   IS 'FLAGS=A-IU-^DATATYPE=STRING(30)^PROMPT=Event Table Name^';
    3.87 +COMMENT ON COLUMN &VIEW..event_type
    3.88 +   IS 'FLAGS=AMIU-^DATATYPE=STRING(200)^ENUMERATION=FndEventType^PROMPT=Event Type^REF=FndEventType^';
    3.89 +COMMENT ON COLUMN &VIEW..event_type_db
    3.90 +   IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=Event Type^';
    3.91 +COMMENT ON COLUMN &VIEW..modified_attributes
    3.92 +   IS 'FLAGS=A-IU-^DATATYPE=STRING(4000)^PROMPT=Modified Attributes^';
    3.93 +COMMENT ON COLUMN &VIEW..new_row
    3.94 +   IS 'FLAGS=AMIU-^DATATYPE=STRING(200)^ENUMERATION=FndBoolean^PROMPT=New Row^REF=FndBoolean^';
    3.95 +COMMENT ON COLUMN &VIEW..new_row_db
    3.96 +   IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=New Row^';
    3.97 +COMMENT ON COLUMN &VIEW..modify_row
    3.98 +   IS 'FLAGS=AMIU-^DATATYPE=STRING(200)^ENUMERATION=FndBoolean^PROMPT=Modify Row^REF=FndBoolean^';
    3.99 +COMMENT ON COLUMN &VIEW..modify_row_db
   3.100 +   IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=Modify Row^';
   3.101 +COMMENT ON COLUMN &VIEW..remove_row
   3.102 +   IS 'FLAGS=AMIUL^DATATYPE=STRING(200)^ENUMERATION=FndBoolean^PROMPT=Remove Row^REF=FndBoolean^';
   3.103 +COMMENT ON COLUMN &VIEW..remove_row_db
   3.104 +   IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=Remove Row^';
   3.105 +
   3.106 +-----------------------------------------------------------------------------
   3.107 +-------------------- PACKAGES FOR METHODS -----------------------------------
   3.108 +-----------------------------------------------------------------------------
   3.109 +
   3.110 +PROMPT Creating &PKG implementation
   3.111 +
   3.112 +CREATE OR REPLACE PACKAGE BODY &PKG IS
   3.113 +
   3.114 +datetime_format_ VARCHAR2(40) := Fnd_Setting_API.Get_Value('EVENT_REG_DATETIME');
   3.115 +date_format_     VARCHAR2(40) := Fnd_Setting_API.Get_Value('EVENT_REG_DATE');
   3.116 +time_format_     VARCHAR2(40) := Fnd_Setting_API.Get_Value('EVENT_REG_TIME');
   3.117 +
   3.118 +-----------------------------------------------------------------------------
   3.119 +-------------------- LU SPECIFIC IMPLEMENTATION METHOD DECLARATIONS ---------
   3.120 +-----------------------------------------------------------------------------
   3.121 +
   3.122 +PROCEDURE Create_Custom_Trigger___(
   3.123 +   rec_           IN     Fnd_Event_Tab%ROWTYPE,
   3.124 +   trigger_type_  IN     VARCHAR2 );
   3.125 +
   3.126 +PROCEDURE Create_Custom_Triggers___(
   3.127 +   rec_ IN Fnd_Event_Tab%ROWTYPE );
   3.128 +
   3.129 +FUNCTION Get_Trigger_Name___(
   3.130 +   event_id_      IN VARCHAR2,
   3.131 +   trigger_type_  IN VARCHAR2 ) RETURN VARCHAR2;
   3.132 +
   3.133 +PROCEDURE Remove_Custom_Trigger___(
   3.134 +   rec_           IN     Fnd_Event_Tab%ROWTYPE,
   3.135 +   trigger_type_  IN     VARCHAR2 );
   3.136 +
   3.137 +PROCEDURE Remove_Custom_Triggers___(
   3.138 +   rec_ IN Fnd_Event_Tab%ROWTYPE );
   3.139 +
   3.140 +FUNCTION Create_Trigger_Name___ (
   3.141 +   event_id_ IN VARCHAR2 ) RETURN VARCHAR2;
   3.142 +-----------------------------------------------------------------------------
   3.143 +-------------------- IMPLEMENTATION BASE METHODS ----------------------------
   3.144 +-----------------------------------------------------------------------------
   3.145 +-- Lock_By_Id___
   3.146 +--    Client-support to lock a specific instance of the logical unit.
   3.147 +--
   3.148 +-- Lock_By_Keys___
   3.149 +--    Server support to lock a specific instance of the logical unit.
   3.150 +--
   3.151 +-- Get_Object_By_Id___
   3.152 +--    Get LU-record from the database with a specified object identity.
   3.153 +--
   3.154 +-- Get_Object_By_Keys___
   3.155 +--    Get LU-record from the database with specified key columns.
   3.156 +--
   3.157 +-- Check_Exist___
   3.158 +--    Check if a specific LU-instance already exist in the database.
   3.159 +--
   3.160 +-- Get_Id_Version_By_Keys___
   3.161 +--    Get the current OBJID and OBJVERSION for a specific LU-instance.
   3.162 +-----------------------------------------------------------------------------
   3.163 +
   3.164 +FUNCTION Lock_By_Id___ (
   3.165 +   objid_      IN  VARCHAR2,
   3.166 +   objversion_ IN  VARCHAR2 ) RETURN &TABLE%ROWTYPE
   3.167 +IS
   3.168 +   row_changed EXCEPTION;
   3.169 +   row_deleted EXCEPTION;
   3.170 +   row_locked  EXCEPTION;
   3.171 +   PRAGMA      exception_init(row_locked, -0054);
   3.172 +   rec_        &TABLE%ROWTYPE;
   3.173 +   dummy_      NUMBER;
   3.174 +   CURSOR lock_control IS
   3.175 +      SELECT *
   3.176 +      FROM   &TABLE
   3.177 +      WHERE  &OBJID = objid_
   3.178 +      AND    &OBJVERSION = objversion_
   3.179 +      FOR UPDATE NOWAIT;
   3.180 +   CURSOR exist_control IS
   3.181 +      SELECT 1
   3.182 +      FROM   &TABLE
   3.183 +      WHERE  &OBJID = objid_;
   3.184 +BEGIN
   3.185 +   OPEN lock_control;
   3.186 +   FETCH lock_control INTO rec_;
   3.187 +   IF (lock_control%FOUND) THEN
   3.188 +      CLOSE lock_control;
   3.189 +      RETURN rec_;
   3.190 +   END IF;
   3.191 +   CLOSE lock_control;
   3.192 +   OPEN exist_control;
   3.193 +   FETCH exist_control INTO dummy_;
   3.194 +   IF (exist_control%FOUND) THEN
   3.195 +      CLOSE exist_control;
   3.196 +      RAISE row_changed;
   3.197 +   ELSE
   3.198 +      CLOSE exist_control;
   3.199 +      RAISE row_deleted;
   3.200 +   END IF;
   3.201 +EXCEPTION
   3.202 +   WHEN row_locked THEN
   3.203 +      Error_SYS.Record_Locked(lu_name_);
   3.204 +   WHEN row_changed THEN
   3.205 +      Error_SYS.Record_Modified(lu_name_);
   3.206 +   WHEN row_deleted THEN
   3.207 +      Error_SYS.Record_Removed(lu_name_);
   3.208 +END Lock_By_Id___;
   3.209 +
   3.210 +FUNCTION Lock_By_Keys___ (
   3.211 +   event_lu_name_ IN VARCHAR2,
   3.212 +   event_id_      IN VARCHAR2 ) RETURN &TABLE%ROWTYPE
   3.213 +IS
   3.214 +   row_deleted EXCEPTION;
   3.215 +   rec_        &TABLE%ROWTYPE;
   3.216 +   CURSOR lock_control IS
   3.217 +      SELECT *
   3.218 +      FROM  &TABLE
   3.219 +      WHERE event_lu_name = event_lu_name_
   3.220 +      AND   event_id = event_id_
   3.221 +      FOR UPDATE;
   3.222 +BEGIN
   3.223 +   OPEN lock_control;
   3.224 +   FETCH lock_control INTO rec_;
   3.225 +   IF (lock_control%FOUND) THEN
   3.226 +      CLOSE lock_control;
   3.227 +      RETURN rec_;
   3.228 +   ELSE
   3.229 +      CLOSE lock_control;
   3.230 +      RAISE row_deleted;
   3.231 +   END IF;
   3.232 +EXCEPTION
   3.233 +   WHEN row_deleted THEN
   3.234 +      Error_SYS.Record_Removed(lu_name_);
   3.235 +END Lock_By_Keys___;
   3.236 +
   3.237 +FUNCTION Get_Object_By_Id___ (
   3.238 +   objid_ IN VARCHAR2 ) RETURN &TABLE%ROWTYPE
   3.239 +IS
   3.240 +   lu_rec_ &TABLE%ROWTYPE;
   3.241 +   CURSOR getrec IS
   3.242 +      SELECT *
   3.243 +      FROM   &TABLE
   3.244 +      WHERE  &OBJID = objid_;
   3.245 +BEGIN
   3.246 +   OPEN getrec;
   3.247 +   FETCH getrec INTO lu_rec_;
   3.248 +   IF (getrec%NOTFOUND) THEN
   3.249 +      CLOSE getrec;
   3.250 +      Error_SYS.Record_Removed(lu_name_);
   3.251 +   END IF;
   3.252 +   CLOSE getrec;
   3.253 +   RETURN(lu_rec_);
   3.254 +END Get_Object_By_Id___;
   3.255 +
   3.256 +
   3.257 +FUNCTION Get_Object_By_Keys___ (
   3.258 +   event_lu_name_ IN VARCHAR2,
   3.259 +   event_id_      IN VARCHAR2 ) RETURN &TABLE%ROWTYPE
   3.260 +IS
   3.261 +   lu_rec_ &TABLE%ROWTYPE;
   3.262 +   CURSOR getrec IS
   3.263 +      SELECT *
   3.264 +      FROM  &TABLE
   3.265 +      WHERE event_lu_name = event_lu_name_
   3.266 +      AND   event_id = event_id_;
   3.267 +BEGIN
   3.268 +   OPEN getrec;
   3.269 +   FETCH getrec INTO lu_rec_;
   3.270 +   CLOSE getrec;
   3.271 +   RETURN(lu_rec_);
   3.272 +END Get_Object_By_Keys___;
   3.273 +
   3.274 +FUNCTION Check_Exist___ (
   3.275 +   event_lu_name_ IN VARCHAR2,
   3.276 +   event_id_      IN VARCHAR2 ) RETURN BOOLEAN
   3.277 +IS
   3.278 +   dummy_ NUMBER;
   3.279 +   CURSOR exist_control IS
   3.280 +      SELECT 1
   3.281 +      FROM   &TABLE
   3.282 +      WHERE event_lu_name = event_lu_name_
   3.283 +      AND   event_id = event_id_;
   3.284 +BEGIN
   3.285 +   OPEN exist_control;
   3.286 +   FETCH exist_control INTO dummy_;
   3.287 +   IF (exist_control%FOUND) THEN
   3.288 +      CLOSE exist_control;
   3.289 +      RETURN(TRUE);
   3.290 +   END IF;
   3.291 +   CLOSE exist_control;
   3.292 +   RETURN(FALSE);
   3.293 +END Check_Exist___;
   3.294 +
   3.295 +PROCEDURE Get_Id_Version_By_Keys___ (
   3.296 +   objid_         IN OUT VARCHAR2,
   3.297 +   objversion_    IN OUT VARCHAR2,
   3.298 +   event_lu_name_ IN     VARCHAR2,
   3.299 +   event_id_      IN     VARCHAR2)
   3.300 +IS
   3.301 +   CURSOR get_version IS
   3.302 +      SELECT &OBJID, &OBJVERSION
   3.303 +      FROM  &TABLE
   3.304 +      WHERE event_lu_name = event_lu_name_
   3.305 +      AND   event_id = event_id_;
   3.306 +BEGIN
   3.307 +   OPEN get_version;
   3.308 +   FETCH get_version INTO objid_, objversion_;
   3.309 +   CLOSE get_version;
   3.310 +END Get_Id_Version_By_Keys___;
   3.311 +
   3.312 +-----------------------------------------------------------------------------
   3.313 +-------------------- IMPLEMENTATION BASE METHODS FOR INSERT -----------------
   3.314 +-----------------------------------------------------------------------------
   3.315 +-- Prepare_Insert___
   3.316 +--    Set all default values for a new instance (ON-NEW-RECORD) of this
   3.317 +--    logical unit by calling procedure Add_Attr.
   3.318 +--
   3.319 +-- Unpack_Check_Insert___
   3.320 +--    Unpack the attribute list, check all attributes from the client
   3.321 +--    and generate all default values before creation of the new object.
   3.322 +--
   3.323 +-- Insert___
   3.324 +--    Insert a new LU-instance into the database and return the values
   3.325 +--    for OBJID and OBJVERSION.
   3.326 +-----------------------------------------------------------------------------
   3.327 +
   3.328 +PROCEDURE Prepare_Insert___ (
   3.329 +   attr_ IN OUT VARCHAR2 )
   3.330 +IS
   3.331 +BEGIN
   3.332 +   Client_SYS.Clear_Attr(attr_);
   3.333 +   Client_SYS.Add_To_Attr('EVENT_TYPE_DB', 'CUSTOM', attr_);
   3.334 +   Client_SYS.Add_To_Attr('EVENT_TYPE', Fnd_Event_Type_API.Decode('CUSTOM'), attr_);
   3.335 +   Client_SYS.Add_To_Attr('NEW_ROW_DB', 'FALSE', attr_);
   3.336 +   Client_SYS.Add_To_Attr('NEW_ROW', Fnd_Boolean_API.Decode('FALSE'), attr_);
   3.337 +   Client_SYS.Add_To_Attr('MODIFY_ROW_DB', 'FALSE', attr_);
   3.338 +   Client_SYS.Add_To_Attr('MODIFY_ROW', Fnd_Boolean_API.Decode('FALSE'), attr_);
   3.339 +   Client_SYS.Add_To_Attr('REMOVE_ROW_DB', 'FALSE', attr_);
   3.340 +   Client_SYS.Add_To_Attr('REMOVE_ROW', Fnd_Boolean_API.Decode('FALSE'), attr_);
   3.341 +END Prepare_Insert___;
   3.342 +
   3.343 +
   3.344 +PROCEDURE Unpack_Check_Insert___ (
   3.345 +   attr_   IN OUT VARCHAR2,
   3.346 +   newrec_ IN OUT &TABLE%ROWTYPE )
   3.347 +IS
   3.348 +   ptr_   NUMBER;
   3.349 +   name_  VARCHAR2(30);
   3.350 +   value_ VARCHAR2(2000);
   3.351 +BEGIN
   3.352 +   ptr_ := NULL;
   3.353 +   WHILE (Client_SYS.Get_Next_From_Attr(attr_, ptr_, name_, value_)) LOOP
   3.354 +      IF (name_ = 'EVENT_LU_NAME') THEN
   3.355 +         newrec_.event_lu_name := value_;
   3.356 +      ELSIF (name_ = 'EVENT_ID') THEN
   3.357 +         newrec_.event_id := Upper(value_);
   3.358 +      ELSIF (name_ = 'EVENT_DESCRIPTION') THEN
   3.359 +         newrec_.event_description := value_;
   3.360 +      ELSIF (name_ = 'EVENT_ENABLE') THEN
   3.361 +         newrec_.event_enable := value_;
   3.362 +      ELSIF (name_ = 'EVENT_TABLE_NAME') THEN
   3.363 +         newrec_.event_table_name := value_;
   3.364 +      ELSIF (name_ = 'EVENT_TYPE') THEN
   3.365 +         newrec_.event_type := Fnd_Event_Type_API.Encode(value_);
   3.366 +         IF (value_ IS NOT NULL) THEN
   3.367 +            Fnd_Event_Type_API.Exist(value_);
   3.368 +         END IF;
   3.369 +      ELSIF (name_ = 'EVENT_TYPE_DB') THEN
   3.370 +         newrec_.event_type := value_;
   3.371 +         IF (value_ IS NOT NULL) THEN
   3.372 +            Fnd_Event_Type_API.Exist_Db(value_);
   3.373 +         END IF;
   3.374 +      ELSIF (name_ = 'MODIFIED_ATTRIBUTES') THEN
   3.375 +         newrec_.modified_attributes := value_;
   3.376 +      ELSIF (name_ = 'NEW_ROW') THEN
   3.377 +         newrec_.new_row := Fnd_Boolean_API.Encode(value_);
   3.378 +         IF (value_ IS NOT NULL) THEN
   3.379 +            Fnd_Boolean_API.Exist(value_);
   3.380 +         END IF;
   3.381 +      ELSIF (name_ = 'NEW_ROW_DB') THEN
   3.382 +         newrec_.new_row := value_;
   3.383 +         IF (value_ IS NOT NULL) THEN
   3.384 +            Fnd_Boolean_API.Exist_Db(value_);
   3.385 +         END IF;
   3.386 +      ELSIF (name_ = 'MODIFY_ROW') THEN
   3.387 +         newrec_.modify_row := Fnd_Boolean_API.Encode(value_);
   3.388 +         IF (value_ IS NOT NULL) THEN
   3.389 +            Fnd_Boolean_API.Exist(value_);
   3.390 +         END IF;
   3.391 +      ELSIF (name_ = 'MODIFY_ROW_DB') THEN
   3.392 +         newrec_.modify_row := value_;
   3.393 +         IF (value_ IS NOT NULL) THEN
   3.394 +            Fnd_Boolean_API.Exist_Db(value_);
   3.395 +         END IF;
   3.396 +      ELSIF (name_ = 'REMOVE_ROW') THEN
   3.397 +         newrec_.remove_row := Fnd_Boolean_API.Encode(value_);
   3.398 +         IF (value_ IS NOT NULL) THEN
   3.399 +            Fnd_Boolean_API.Exist(value_);
   3.400 +         END IF;
   3.401 +      ELSIF (name_ = 'REMOVE_ROW_DB') THEN
   3.402 +         newrec_.remove_row := value_;
   3.403 +         IF (value_ IS NOT NULL) THEN
   3.404 +            Fnd_Boolean_API.Exist_Db(value_);
   3.405 +         END IF;
   3.406 +      ELSE
   3.407 +         Error_SYS.Item_Not_Exist(lu_name_, name_, value_);
   3.408 +      END IF;
   3.409 +   END LOOP;
   3.410 +   Client_SYS.Clear_Attr(attr_);
   3.411 +   Error_SYS.Check_Not_Null(lu_name_, 'EVENT_LU_NAME', newrec_.event_lu_name);
   3.412 +   Error_SYS.Check_Not_Null(lu_name_, 'EVENT_ID', newrec_.event_id);
   3.413 +   Error_SYS.Check_Valid_Identifier('EVENT_ID', newrec_.event_id); 
   3.414 +   Error_SYS.Check_Not_Null(lu_name_, 'EVENT_TYPE', newrec_.event_type);
   3.415 +   Error_SYS.Check_Not_Null(lu_name_, 'NEW_ROW', newrec_.new_row);
   3.416 +   Error_SYS.Check_Not_Null(lu_name_, 'MODIFY_ROW', newrec_.modify_row);
   3.417 +   Error_SYS.Check_Not_Null(lu_name_, 'REMOVE_ROW', newrec_.remove_row);
   3.418 +EXCEPTION
   3.419 +   WHEN value_error THEN
   3.420 +      Error_SYS.Item_Format(lu_name_, name_, value_);
   3.421 +END Unpack_Check_Insert___;
   3.422 +
   3.423 +
   3.424 +PROCEDURE Insert___ (
   3.425 +   objid_      OUT    VARCHAR2,
   3.426 +   objversion_ OUT    VARCHAR2,
   3.427 +   newrec_     IN OUT &TABLE%ROWTYPE,
   3.428 +   attr_       IN OUT VARCHAR2 )
   3.429 +IS
   3.430 +BEGIN
   3.431 +   newrec_.rowversion := sysdate;
   3.432 +   objversion_ := to_char(newrec_.rowversion,'YYYYMMDDHH24MISS');
   3.433 +   --
   3.434 +   IF (nvl(newrec_.event_enable, 'FALSE') = 'TRUE') THEN
   3.435 +      Error_SYS.Appl_General(lu_name_, 'ENERR_I: Can not enable event with no actions enabled.');
   3.436 +   END IF;
   3.437 +   --
   3.438 +   INSERT
   3.439 +      INTO fnd_event_tab (
   3.440 +         event_lu_name,
   3.441 +         event_id,
   3.442 +         event_description,
   3.443 +         event_enable,
   3.444 +         event_table_name,
   3.445 +         event_type,
   3.446 +         modified_attributes,
   3.447 +         new_row,
   3.448 +         modify_row,
   3.449 +         remove_row,
   3.450 +         rowversion)
   3.451 +      VALUES (
   3.452 +         newrec_.event_lu_name,
   3.453 +         newrec_.event_id,
   3.454 +         newrec_.event_description,
   3.455 +         newrec_.event_enable,
   3.456 +         newrec_.event_table_name,
   3.457 +         newrec_.event_type,
   3.458 +         newrec_.modified_attributes,
   3.459 +         newrec_.new_row,
   3.460 +         newrec_.modify_row,
   3.461 +         newrec_.remove_row,
   3.462 +         newrec_.rowversion)
   3.463 +   RETURNING &OBJID INTO objid_;
   3.464 +   -- Create Custom Defined triggers
   3.465 +   IF (newrec_.event_type = 'CUSTOM') THEN
   3.466 +      IF (newrec_.event_enable = 'TRUE') THEN
   3.467 +         Create_Custom_Triggers___(newrec_);
   3.468 +      END IF;
   3.469 +   END IF;
   3.470 +EXCEPTION
   3.471 +   WHEN dup_val_on_index THEN
   3.472 +      Error_SYS.Record_Exist(lu_name_);
   3.473 +END Insert___;
   3.474 +
   3.475 +-----------------------------------------------------------------------------
   3.476 +-------------------- IMPLEMENTATION BASE METHODS FOR UPDATE -----------------
   3.477 +-----------------------------------------------------------------------------
   3.478 +-- Unpack_Check_Update___
   3.479 +--    Unpack the attribute list, check all attributes from the client
   3.480 +--    and generate all default values before modifying the object.
   3.481 +--
   3.482 +-- Update___
   3.483 +--    Update an existing LU-instance in the database and return the
   3.484 +--    the new OBJVERSION.
   3.485 +-----------------------------------------------------------------------------
   3.486 +
   3.487 +PROCEDURE Unpack_Check_Update___ (
   3.488 +   attr_   IN OUT VARCHAR2,
   3.489 +   newrec_ IN OUT &TABLE%ROWTYPE,
   3.490 +   objid_  IN     VARCHAR2 )
   3.491 +IS
   3.492 +   ptr_   NUMBER;
   3.493 +   name_  VARCHAR2(30);
   3.494 +   value_ VARCHAR2(2000);
   3.495 +BEGIN
   3.496 +   ptr_ := NULL;
   3.497 +   WHILE (Client_SYS.Get_Next_From_Attr(attr_, ptr_, name_, value_)) LOOP
   3.498 +      IF (name_ = 'EVENT_LU_NAME') THEN
   3.499 +         Error_SYS.Item_Update(lu_name_, 'EVENT_LU_NAME');
   3.500 +      ELSIF (name_ = 'EVENT_ID') THEN
   3.501 +         Error_SYS.Item_Update(lu_name_, 'EVENT_ID');
   3.502 +      ELSIF (name_ = 'EVENT_DESCRIPTION') THEN
   3.503 +         newrec_.event_description := value_;
   3.504 +      ELSIF (name_ = 'EVENT_ENABLE') THEN
   3.505 +         newrec_.event_enable := value_;
   3.506 +      ELSIF (name_ = 'EVENT_TABLE_NAME') THEN
   3.507 +         newrec_.event_table_name := value_;
   3.508 +      ELSIF (name_ = 'EVENT_TYPE') THEN
   3.509 +         newrec_.event_type := Fnd_Event_Type_API.Encode(value_);
   3.510 +         IF (value_ IS NOT NULL) THEN
   3.511 +            Fnd_Event_Type_API.Exist(value_);
   3.512 +         END IF;
   3.513 +      ELSIF (name_ = 'EVENT_TYPE_DB') THEN
   3.514 +         newrec_.event_type := value_;
   3.515 +         IF (value_ IS NOT NULL) THEN
   3.516 +            Fnd_Event_Type_API.Exist_Db(value_);
   3.517 +         END IF;
   3.518 +      ELSIF (name_ = 'MODIFIED_ATTRIBUTES') THEN
   3.519 +         newrec_.modified_attributes := value_;
   3.520 +      ELSIF (name_ = 'NEW_ROW') THEN
   3.521 +         newrec_.new_row := Fnd_Boolean_API.Encode(value_);
   3.522 +         IF (value_ IS NOT NULL) THEN
   3.523 +            Fnd_Boolean_API.Exist(value_);
   3.524 +         END IF;
   3.525 +      ELSIF (name_ = 'NEW_ROW_DB') THEN
   3.526 +         newrec_.new_row := value_;
   3.527 +         IF (value_ IS NOT NULL) THEN
   3.528 +            Fnd_Boolean_API.Exist_Db(value_);
   3.529 +         END IF;
   3.530 +      ELSIF (name_ = 'MODIFY_ROW') THEN
   3.531 +         newrec_.modify_row := Fnd_Boolean_API.Encode(value_);
   3.532 +         IF (value_ IS NOT NULL) THEN
   3.533 +            Fnd_Boolean_API.Exist(value_);
   3.534 +         END IF;
   3.535 +      ELSIF (name_ = 'MODIFY_ROW_DB') THEN
   3.536 +         newrec_.modify_row := value_;
   3.537 +         IF (value_ IS NOT NULL) THEN
   3.538 +            Fnd_Boolean_API.Exist_Db(value_);
   3.539 +         END IF;
   3.540 +      ELSIF (name_ = 'REMOVE_ROW') THEN
   3.541 +         newrec_.remove_row := Fnd_Boolean_API.Encode(value_);
   3.542 +         IF (value_ IS NOT NULL) THEN
   3.543 +            Fnd_Boolean_API.Exist(value_);
   3.544 +         END IF;
   3.545 +      ELSIF (name_ = 'REMOVE_ROW_DB') THEN
   3.546 +         newrec_.remove_row := value_;
   3.547 +         IF (value_ IS NOT NULL) THEN
   3.548 +            Fnd_Boolean_API.Exist_Db(value_);
   3.549 +         END IF;
   3.550 +      ELSE
   3.551 +         Error_SYS.Item_Not_Exist(lu_name_, name_, value_);
   3.552 +      END IF;
   3.553 +   END LOOP;
   3.554 +   Client_SYS.Clear_Attr(attr_);
   3.555 +   Error_SYS.Check_Not_Null(lu_name_, 'EVENT_TYPE', newrec_.event_type);
   3.556 +   Error_SYS.Check_Not_Null(lu_name_, 'NEW_ROW', newrec_.new_row);
   3.557 +   Error_SYS.Check_Not_Null(lu_name_, 'MODIFY_ROW', newrec_.modify_row);
   3.558 +   Error_SYS.Check_Not_Null(lu_name_, 'REMOVE_ROW', newrec_.remove_row);
   3.559 +EXCEPTION
   3.560 +   WHEN value_error THEN
   3.561 +      Error_SYS.Item_Format(lu_name_, name_, value_);
   3.562 +END Unpack_Check_Update___;
   3.563 +
   3.564 +
   3.565 +PROCEDURE Update___ (
   3.566 +   objid_      IN     VARCHAR2,
   3.567 +   oldrec_     IN     &TABLE%ROWTYPE,
   3.568 +   newrec_     IN OUT &TABLE%ROWTYPE,
   3.569 +   attr_       IN OUT VARCHAR2,
   3.570 +   objversion_ IN OUT VARCHAR2,
   3.571 +   by_keys_    IN BOOLEAN DEFAULT FALSE )
   3.572 +IS
   3.573 +   dummy_ NUMBER;
   3.574 +
   3.575 +   CURSOR get_event_count IS
   3.576 +   SELECT COUNT(*)
   3.577 +     FROM fnd_event_action_tab
   3.578 +     WHERE event_lu_name = newrec_.event_lu_name
   3.579 +     AND   event_id = newrec_.event_id
   3.580 +     AND   action_enable = 'TRUE';
   3.581 +BEGIN
   3.582 +   IF (nvl(oldrec_.event_enable, 'FALSE') = 'FALSE' AND newrec_.event_enable = 'TRUE') THEN
   3.583 +      OPEN  get_event_count;
   3.584 +      FETCH get_event_count INTO dummy_;
   3.585 +      CLOSE get_event_count;
   3.586 +      IF (dummy_ = 0) THEN
   3.587 +         Error_SYS.Appl_General(lu_name_, 'ENERR_U: Can not enable event with no actions enabled.');
   3.588 +      END IF;
   3.589 +   END IF;
   3.590 +   --
   3.591 +   newrec_.rowversion := sysdate;
   3.592 +   objversion_ := to_char(newrec_.rowversion,'YYYYMMDDHH24MISS');
   3.593 +   IF by_keys_ THEN
   3.594 +      UPDATE fnd_event_tab
   3.595 +      SET event_lu_name = newrec_.event_lu_name,
   3.596 +          event_id = newrec_.event_id,
   3.597 +          event_description = newrec_.event_description,
   3.598 +          event_enable = newrec_.event_enable,
   3.599 +          event_table_name = newrec_.event_table_name,
   3.600 +          event_type = newrec_.event_type,
   3.601 +          modified_attributes = newrec_.modified_attributes,
   3.602 +          new_row = newrec_.new_row,
   3.603 +          modify_row = newrec_.modify_row,
   3.604 +          remove_row = newrec_.remove_row,
   3.605 +          rowversion = newrec_.rowversion
   3.606 +      WHERE event_lu_name = newrec_.event_lu_name
   3.607 +      AND   event_id = newrec_.event_id;
   3.608 +   ELSE
   3.609 +      UPDATE fnd_event_tab
   3.610 +      SET event_lu_name = newrec_.event_lu_name,
   3.611 +          event_id = newrec_.event_id,
   3.612 +          event_description = newrec_.event_description,
   3.613 +          event_enable = newrec_.event_enable,
   3.614 +          event_table_name = newrec_.event_table_name,
   3.615 +          event_type = newrec_.event_type,
   3.616 +          modified_attributes = newrec_.modified_attributes,
   3.617 +          new_row = newrec_.new_row,
   3.618 +          modify_row = newrec_.modify_row,
   3.619 +          remove_row = newrec_.remove_row,
   3.620 +          rowversion = newrec_.rowversion
   3.621 +      WHERE &OBJID = objid_;
   3.622 +   END IF;
   3.623 +   -- Create/remove Custom Defined triggers
   3.624 +   IF (newrec_.event_type = 'CUSTOM') THEN
   3.625 +      IF (newrec_.event_enable = 'TRUE') THEN
   3.626 +         Remove_Custom_Triggers___(oldrec_);
   3.627 +         Create_Custom_Triggers___(newrec_);
   3.628 +      ELSE
   3.629 +         Remove_Custom_Triggers___(oldrec_);
   3.630 +      END IF;
   3.631 +   END IF;
   3.632 +EXCEPTION
   3.633 +   WHEN dup_val_on_index THEN
   3.634 +      Error_SYS.Record_Exist(lu_name_);
   3.635 +END Update___;
   3.636 +
   3.637 +-----------------------------------------------------------------------------
   3.638 +-------------------- IMPLEMENTATION BASE METHODS FOR DELETE -----------------
   3.639 +-----------------------------------------------------------------------------
   3.640 +-- Check_Delete___
   3.641 +--    Checks whether a specific LU-record may be removed or not.
   3.642 +--    The procedure should check business rules like attribute values
   3.643 +--    as well as database constraints (defined or not).
   3.644 +--
   3.645 +-- Delete___
   3.646 +--    Deletion of the specific LU-object from the database.
   3.647 +-----------------------------------------------------------------------------
   3.648 +
   3.649 +PROCEDURE Check_Delete___ (
   3.650 +   remrec_ IN &TABLE%ROWTYPE )
   3.651 +IS
   3.652 +   key_ VARCHAR2(2000);
   3.653 +BEGIN
   3.654 +   key_ := remrec_.event_lu_name || '^' || remrec_.event_id || '^';
   3.655 +   Reference_SYS.Check_Restricted_Delete(lu_name_, key_);
   3.656 +END Check_Delete___;
   3.657 +
   3.658 +
   3.659 +PROCEDURE Delete___ (
   3.660 +   objid_  IN VARCHAR2,
   3.661 +   remrec_ IN &TABLE%ROWTYPE )
   3.662 +IS
   3.663 +   key_ VARCHAR2(2000);
   3.664 +BEGIN
   3.665 +   key_ := remrec_.event_lu_name || '^' || remrec_.event_id || '^';
   3.666 +   Reference_SYS.Do_Cascade_Delete(lu_name_, key_);
   3.667 +   DELETE
   3.668 +      FROM  fnd_event_tab
   3.669 +      WHERE &OBJID = objid_;
   3.670 +   -- Remove Custom Defined triggers
   3.671 +   IF (remrec_.event_type = 'CUSTOM') THEN
   3.672 +      Remove_Custom_Triggers___(remrec_);
   3.673 +   END IF;
   3.674 +END Delete___;
   3.675 +
   3.676 +-----------------------------------------------------------------------------
   3.677 +-------------------- PRIVATE BASE METHODS -----------------------------------
   3.678 +-----------------------------------------------------------------------------
   3.679 +-- Lock__
   3.680 +--    Client-support to lock a specific instance of the logical unit.
   3.681 +--
   3.682 +-- New__
   3.683 +--    Client-support interface to create LU instances.
   3.684 +--       action_ = 'PREPARE'
   3.685 +--          Default values and handle of information to client.
   3.686 +--          The default values are set in procedure Prepare_Insert___.
   3.687 +--       action_ = 'CHECK'
   3.688 +--          Check all attributes before creating new object and handle of
   3.689 +--          information to client. The attribute list is unpacked, checked
   3.690 +--          and prepared (defaults) in procedure Unpack_Check_Insert___.
   3.691 +--       action_ = 'DO'
   3.692 +--          Creation of new instances of the logical unit and handle of
   3.693 +--          information to client. The attribute list is unpacked, checked
   3.694 +--          and prepared (defaults) in procedure Unpack_Check_Insert___
   3.695 +--          before calling procedure Insert___.
   3.696 +--
   3.697 +-- Modify__
   3.698 +--    Client-support interface to modify attributes for LU instances.
   3.699 +--       action_ = 'CHECK'
   3.700 +--          Check all attributes before modifying an existing object and
   3.701 +--          handle of information to client. The attribute list is unpacked,
   3.702 +--          checked and prepared(defaults) in procedure Unpack_Check_Update___.
   3.703 +--       action_ = 'DO'
   3.704 +--          Modification of an existing instance of the logical unit. The
   3.705 +--          procedure unpacks the attributes, checks all values before
   3.706 +--          procedure Update___ is called.
   3.707 +--
   3.708 +-- Remove__
   3.709 +--    Client-support interface to remove LU instances.
   3.710 +--       action_ = 'CHECK'
   3.711 +--          Check whether a specific LU-instance may be removed or not.
   3.712 +--          The procedure fetches the complete record by calling procedure
   3.713 +--          Get_Object_By_Id___. Then the check is made by calling procedure
   3.714 +--          Check_Delete___.
   3.715 +--       action_ = 'DO'
   3.716 +--          Remove an existing instance of the logical unit. The procedure
   3.717 +--          fetches the complete LU-record, checks for a delete and then
   3.718 +--          deletes the record by calling procedure Delete___.
   3.719 +-----------------------------------------------------------------------------
   3.720 +
   3.721 +PROCEDURE Lock__ (
   3.722 +   info_       OUT VARCHAR2,
   3.723 +   objid_      IN  VARCHAR2,
   3.724 +   objversion_ IN  VARCHAR2 )
   3.725 +IS
   3.726 +   dummy_ &TABLE%ROWTYPE;
   3.727 +BEGIN
   3.728 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Lock__');
   3.729 +   dummy_ := Lock_By_Id___(objid_, objversion_);
   3.730 +   info_ := Client_SYS.Get_All_Info;
   3.731 +END Lock__;
   3.732 +
   3.733 +
   3.734 +PROCEDURE New__ (
   3.735 +   info_       OUT    VARCHAR2,
   3.736 +   objid_      OUT    VARCHAR2,
   3.737 +   objversion_ OUT    VARCHAR2,
   3.738 +   attr_       IN OUT VARCHAR2,
   3.739 +   action_     IN     VARCHAR2 )
   3.740 +IS
   3.741 +   newrec_ &TABLE%ROWTYPE;
   3.742 +BEGIN
   3.743 +   General_SYS.Init_Method(lu_name_, '&PKG', 'New__');
   3.744 +   IF (action_ = 'PREPARE') THEN
   3.745 +      Prepare_Insert___(attr_);
   3.746 +   ELSIF (action_ = 'CHECK') THEN
   3.747 +      Unpack_Check_Insert___(attr_, newrec_);
   3.748 +   ELSIF (action_ = 'DO') THEN
   3.749 +      Unpack_Check_Insert___(attr_, newrec_);
   3.750 +      Insert___(objid_, objversion_, newrec_, attr_);
   3.751 +   END IF;
   3.752 +   info_ := Client_SYS.Get_All_Info;
   3.753 +END New__;
   3.754 +
   3.755 +
   3.756 +PROCEDURE Modify__ (
   3.757 +   info_       OUT    VARCHAR2,
   3.758 +   objid_      IN     VARCHAR2,
   3.759 +   objversion_ IN OUT VARCHAR2,
   3.760 +   attr_       IN OUT VARCHAR2,
   3.761 +   action_     IN     VARCHAR2 )
   3.762 +IS
   3.763 +   oldrec_ &TABLE%ROWTYPE;
   3.764 +   newrec_ &TABLE%ROWTYPE;
   3.765 +BEGIN
   3.766 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Modify__');
   3.767 +   IF (action_ = 'CHECK') THEN
   3.768 +      newrec_ := Get_Object_By_Id___(objid_);
   3.769 +      Unpack_Check_Update___(attr_, newrec_, objid_);
   3.770 +   ELSIF (action_ = 'DO') THEN
   3.771 +      oldrec_ := Lock_By_Id___(objid_, objversion_);
   3.772 +      newrec_ := oldrec_;
   3.773 +      Unpack_Check_Update___(attr_, newrec_, objid_);
   3.774 +      Update___(objid_, oldrec_, newrec_, attr_, objversion_);
   3.775 +   END IF;
   3.776 +   info_ := Client_SYS.Get_All_Info;
   3.777 +END Modify__;
   3.778 +
   3.779 +
   3.780 +PROCEDURE Remove__ (
   3.781 +   info_       OUT VARCHAR2,
   3.782 +   objid_      IN  VARCHAR2,
   3.783 +   objversion_ IN  VARCHAR2,
   3.784 +   action_     IN  VARCHAR2 )
   3.785 +IS
   3.786 +   remrec_ &TABLE%ROWTYPE;
   3.787 +BEGIN
   3.788 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Remove__');
   3.789 +   IF (action_ = 'CHECK') THEN
   3.790 +      remrec_ := Get_Object_By_Id___(objid_);
   3.791 +      Check_Delete___(remrec_);
   3.792 +   ELSIF (action_ = 'DO') THEN
   3.793 +      remrec_ := Lock_By_Id___(objid_, objversion_);
   3.794 +      Check_Delete___(remrec_);
   3.795 +      Delete___(objid_, remrec_);
   3.796 +   END IF;
   3.797 +   info_ := Client_SYS.Get_All_Info;
   3.798 +END Remove__;
   3.799 +
   3.800 +-----------------------------------------------------------------------------
   3.801 +-------------------- PUBLIC BASE METHODS ------------------------------------
   3.802 +-----------------------------------------------------------------------------
   3.803 +-- Exist
   3.804 +--   Checks if given pointer (e.g. primary key) to an instance of this
   3.805 +--   logical unit exists. If not an exception will be raised.
   3.806 +-----------------------------------------------------------------------------
   3.807 +
   3.808 +PROCEDURE Exist (
   3.809 +   event_lu_name_ IN VARCHAR2,
   3.810 +   event_id_      IN VARCHAR2 )
   3.811 +IS
   3.812 +BEGIN
   3.813 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Exist', TRUE);
   3.814 +   IF (NOT Check_Exist___(event_lu_name_, event_id_)) THEN
   3.815 +      Error_SYS.Record_Not_Exist(lu_name_);
   3.816 +   END IF;
   3.817 +END Exist;
   3.818 +
   3.819 +-----------------------------------------------------------------------------
   3.820 +-------------------- LU SPECIFIC IMPLEMENTATION METHODS ---------------------
   3.821 +-----------------------------------------------------------------------------
   3.822 +
   3.823 +PROCEDURE Create_Custom_Triggers___(
   3.824 +   rec_ IN Fnd_Event_Tab%ROWTYPE )
   3.825 +IS
   3.826 +BEGIN
   3.827 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Create_Custom_Triggers___', TRUE);
   3.828 +   -- Create triggers per type (New, Modify, Remove)
   3.829 +   IF (rec_.new_row = 'TRUE') THEN
   3.830 +      Create_Custom_Trigger___(rec_, 'NEW');
   3.831 +   END IF;
   3.832 +   IF (rec_.modify_row = 'TRUE') THEN
   3.833 +      Create_Custom_Trigger___(rec_, 'MODIFY');
   3.834 +   END IF;
   3.835 +   IF (rec_.remove_row = 'TRUE') THEN
   3.836 +      Create_Custom_Trigger___(rec_, 'REMOVE');
   3.837 +   END IF;
   3.838 +END Create_Custom_Triggers___;
   3.839 +
   3.840 +PROCEDURE Create_Custom_Trigger___(
   3.841 +   rec_           IN     Fnd_Event_Tab%ROWTYPE,
   3.842 +   trigger_type_  IN     VARCHAR2 )
   3.843 +IS
   3.844 +   columns_             Installation_SYS.ColumnTabType;
   3.845 +   stmt_                VARCHAR2(32000);
   3.846 +   old_param_prefix_    VARCHAR2(10);
   3.847 +   new_param_prefix_    VARCHAR2(10);
   3.848 +   format_prefix_       VARCHAR2(30);
   3.849 +   format_postfix_      VARCHAR2(30);
   3.850 +   if_stmt_start_       VARCHAR2(32000);
   3.851 +   if_stmt_end_         VARCHAR2(32000);
   3.852 +   indent_              NUMBER;
   3.853 +   --
   3.854 +   CURSOR get_param IS
   3.855 +   SELECT *
   3.856 +     FROM fnd_event_parameter_tab
   3.857 +    WHERE event_lu_name = rec_.event_lu_name
   3.858 +      AND event_id = rec_.event_id;
   3.859 +   --
   3.860 +   FUNCTION space___ (
   3.861 +      indent_  IN NUMBER ) RETURN VARCHAR2
   3.862 +   IS
   3.863 +      string_  VARCHAR2(100);
   3.864 +   BEGIN
   3.865 +      RETURN(lpad(string_, indent_ * 3));
   3.866 +   END space___;
   3.867 +   --
   3.868 +   FUNCTION Get_Dml_Event___(
   3.869 +      trigger_type_        IN VARCHAR2 ) RETURN VARCHAR2
   3.870 +   IS
   3.871 +   BEGIN
   3.872 +      CASE trigger_type_
   3.873 +         WHEN 'NEW' THEN
   3.874 +            RETURN('INSERT');
   3.875 +         WHEN 'MODIFY' THEN
   3.876 +            RETURN('UPDATE');
   3.877 +         WHEN 'REMOVE' THEN
   3.878 +            RETURN('DELETE');
   3.879 +      END CASE;
   3.880 +   END Get_Dml_Event___;
   3.881 +   --
   3.882 +   FUNCTION Get_Columns___ (
   3.883 +      column_list_ IN VARCHAR2 ) RETURN Installation_SYS.ColumnTabType
   3.884 +   IS
   3.885 +      pos_              BINARY_INTEGER       := 1;
   3.886 +      start_            BINARY_INTEGER       := 1;
   3.887 +      tmp_column_list_  VARCHAR2(32000)      := column_list_;
   3.888 +      separator_        CONSTANT VARCHAR2(2) := ';';
   3.889 +      column_name_      VARCHAR2(30);
   3.890 +      columns_          Installation_SYS.ColumnTabType;
   3.891 +   BEGIN
   3.892 +      IF column_list_ IS NULL THEN
   3.893 +         RETURN(columns_);
   3.894 +      END IF;
   3.895 +      -- Find all attributes in Search Domain Title
   3.896 +      pos_ := Instr(tmp_column_list_, separator_, pos_);
   3.897 +      LOOP
   3.898 +         -- Find column name
   3.899 +         column_name_ := Substr(tmp_column_list_, start_, pos_ - start_);
   3.900 +         IF column_name_ IS NOT NULL THEN
   3.901 +            Installation_SYS.Set_Table_Column(columns_, column_name_);
   3.902 +         END IF;
   3.903 +         -- Find new attribute
   3.904 +         start_ := pos_ + 1;
   3.905 +         pos_   := Instr(tmp_column_list_, separator_, start_);
   3.906 +         IF pos_ = 0 THEN
   3.907 +            pos_ := length(tmp_column_list_);
   3.908 +            -- Find column name
   3.909 +            column_name_ := Substr(tmp_column_list_, start_);
   3.910 +            Installation_SYS.Set_Table_Column(columns_, column_name_);
   3.911 +            EXIT;
   3.912 +         END IF;
   3.913 +      END LOOP;
   3.914 +      RETURN(columns_);
   3.915 +   END Get_Columns___;
   3.916 +   --
   3.917 +   FUNCTION Create_If_Stmt___ (
   3.918 +      column_list_ IN VARCHAR2 ) RETURN VARCHAR2
   3.919 +   IS
   3.920 +      found_            BOOLEAN              := FALSE;
   3.921 +      i_                BINARY_INTEGER       := 0;
   3.922 +      pos_              BINARY_INTEGER       := 1;
   3.923 +      start_            BINARY_INTEGER       := 1;
   3.924 +      tmp_column_list_  VARCHAR2(32000)      := column_list_;
   3.925 +      stmt_             VARCHAR2(32000);
   3.926 +      separator_        CONSTANT VARCHAR2(2) := ';';
   3.927 +      column_name_      VARCHAR2(30);
   3.928 +   BEGIN
   3.929 +      IF column_list_ IS NULL THEN
   3.930 +         RETURN(NULL);
   3.931 +      END IF;
   3.932 +      -- Find all attributes in Search Domain Title
   3.933 +      pos_ := Instr(tmp_column_list_, separator_, pos_);
   3.934 +      i_   := i_ + 1;
   3.935 +      IF (tmp_column_list_ IS NOT NULL) THEN
   3.936 +         stmt_ := stmt_ || 'IF ';
   3.937 +      END IF;
   3.938 +      LOOP
   3.939 +         IF (i_ > 1) THEN
   3.940 +            stmt_ := stmt_||space___(indent_)||' OR ';
   3.941 +         END IF;
   3.942 +         -- Find column name
   3.943 +         column_name_ := Substr(tmp_column_list_, start_, pos_ - start_);
   3.944 +         IF column_name_ IS NOT NULL THEN
   3.945 +            found_   := TRUE;
   3.946 +            indent_  := indent_ + 1;
   3.947 +            stmt_    := stmt_ ||space___(indent_)||'(:NEW.'||column_name_||' != '||':OLD.'||column_name_||') OR ((:NEW.'||column_name_||' IS NULL) AND ('||':old.'||column_name_||' IS NOT NULL)) OR ((:new.'||column_name_||' IS NOT NULL) AND ('||':OLD.'||column_name_||' IS NULL))';
   3.948 +         END IF;
   3.949 +         -- Find new attribute
   3.950 +         start_ := pos_ + 1;
   3.951 +         pos_   := Instr(tmp_column_list_, separator_, start_);
   3.952 +         i_     := i_ + 1;
   3.953 +         IF pos_ = 0 THEN
   3.954 +            IF (i_ > 1 AND found_) THEN
   3.955 +               stmt_ := stmt_||space___(indent_)||' OR ';
   3.956 +            END IF;
   3.957 +            pos_ := length(tmp_column_list_);
   3.958 +            -- Find column name
   3.959 +            column_name_ := Substr(tmp_column_list_, start_);
   3.960 +            stmt_ := stmt_ ||space___(indent_)||'(:NEW.'||column_name_||' != '||':OLD.'||column_name_||') OR ((:NEW.'||column_name_||' IS NULL) AND ('||':OLD.'||column_name_||' IS NOT NULL)) OR ((:NEW.'||column_name_||' IS NOT NULL) AND ('||':OLD.'||column_name_||' IS NULL))';
   3.961 +            stmt_ := stmt_||space___(indent_)||' THEN ';
   3.962 +            EXIT;
   3.963 +         END IF;
   3.964 +      END LOOP;
   3.965 +      RETURN(stmt_);
   3.966 +   END Create_If_Stmt___;
   3.967 +   --
   3.968 +   FUNCTION Replace_Parameter___ (
   3.969 +      plsql_method_ IN VARCHAR2 ) RETURN VARCHAR2
   3.970 +   IS
   3.971 +      pos_              BINARY_INTEGER       := 1;
   3.972 +      method_           VARCHAR2(32000)      := plsql_method_;
   3.973 +      param_marker_     CONSTANT VARCHAR2(2) := chr(38);
   3.974 +      --
   3.975 +      CURSOR get_param IS
   3.976 +      SELECT *
   3.977 +        FROM fnd_event_parameter_tab
   3.978 +       WHERE event_lu_name = rec_.event_lu_name
   3.979 +         AND event_id = rec_.event_id;
   3.980 +   BEGIN
   3.981 +      pos_ := Instr(method_, param_marker_);
   3.982 +      IF (pos_ = 0) THEN
   3.983 +         RETURN(method_);
   3.984 +      END IF;
   3.985 +      -- Replace all parameters used as parameters to PL/SQL method
   3.986 +      FOR par IN get_param LOOP
   3.987 +         IF par.current_value = 'TRUE' THEN
   3.988 +            method_ := replace(method_, param_marker_||'OLD:'||par.id, old_param_prefix_||par.id);
   3.989 +         END IF;
   3.990 +         IF par.new_value = 'TRUE' THEN
   3.991 +            method_ := replace(method_, param_marker_||'NEW:'||par.id, new_param_prefix_||par.id);
   3.992 +         END IF;
   3.993 +         pos_ := Instr(method_, param_marker_);
   3.994 +         IF pos_ = 0 THEN
   3.995 +            RETURN(method_);
   3.996 +         END IF;
   3.997 +      END LOOP;
   3.998 +      RETURN(method_);
   3.999 +   END Replace_Parameter___;
  3.1000 +BEGIN
  3.1001 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Create_Custom_Trigger___', TRUE);
  3.1002 +   indent_ := 1;
  3.1003 +   CASE trigger_type_
  3.1004 +      WHEN 'NEW' THEN
  3.1005 +         new_param_prefix_ := ':NEW.';
  3.1006 +         old_param_prefix_ := ':OLD.';
  3.1007 +      WHEN 'MODIFY' THEN
  3.1008 +         new_param_prefix_ := ':NEW.';
  3.1009 +         old_param_prefix_ := ':OLD.';
  3.1010 +         -- Build If statement for modify
  3.1011 +         if_stmt_start_ := Create_If_Stmt___(rec_.modified_attributes);
  3.1012 +         IF (if_stmt_start_ IS NOT NULL) THEN
  3.1013 +            indent_        := 1;
  3.1014 +            if_stmt_end_   := 'END IF; ';
  3.1015 +         ELSE
  3.1016 +            indent_        := 0;
  3.1017 +            if_stmt_end_   := NULL;
  3.1018 +         END IF;
  3.1019 +         stmt_ := if_stmt_start_;
  3.1020 +      WHEN 'REMOVE' THEN
  3.1021 +         new_param_prefix_ := ':OLD.';
  3.1022 +         old_param_prefix_ := ':OLD.';
  3.1023 +   END CASE;
  3.1024 +   -- Build PL/SQL statement
  3.1025 +   stmt_ := stmt_ ||space___(indent_)||'DECLARE ';
  3.1026 +   indent_ := indent_ + 1;
  3.1027 +   stmt_ := stmt_ ||space___(indent_)||'msg_  VARCHAR2(32000);';
  3.1028 +   indent_ := indent_ - 1;
  3.1029 +   stmt_ := stmt_ ||space___(indent_)||'BEGIN ';
  3.1030 +   indent_ := indent_ + 1;
  3.1031 +   stmt_ := stmt_ ||space___(indent_)||'IF (Event_SYS.Event_Enabled('''||rec_.event_lu_name||''', '''||rec_.event_id||''')) THEN ';
  3.1032 +   indent_ := indent_ + 1;
  3.1033 +   stmt_ := stmt_ ||space___(indent_)||'msg_ := Message_SYS.Construct('''||rec_.event_id||''');';
  3.1034 +   stmt_ := stmt_ ||space___(indent_)||'Message_SYS.Add_Attribute(msg_, ''LU'', '''||rec_.event_lu_name||''');';
  3.1035 +   IF (Database_SYS.Column_Exist(rec_.event_table_name, 'ROWKEY')) THEN
  3.1036 +      stmt_ := stmt_ ||space___(indent_)||'Message_SYS.Add_Attribute(msg_, ''ROWKEY'', '||new_param_prefix_||'ROWKEY);';
  3.1037 +   END IF;
  3.1038 +   FOR par_ IN get_param LOOP
  3.1039 +      IF (par_.id_type = 'DATETIME') THEN
  3.1040 +         format_prefix_  := 'to_char(';
  3.1041 +         format_postfix_ := ', '''||datetime_format_||''')';
  3.1042 +      ELSIF (par_.id_type = 'DATE') THEN
  3.1043 +         format_prefix_  := 'to_char(';
  3.1044 +         format_postfix_ := ', '''||date_format_||''')';
  3.1045 +      ELSIF (par_.id_type = 'TIME') THEN
  3.1046 +         format_prefix_  := 'to_char(';
  3.1047 +         format_postfix_ := ', '''||time_format_||''')';
  3.1048 +      ELSE
  3.1049 +         format_prefix_  := NULL;
  3.1050 +         format_postfix_ := NULL;
  3.1051 +      END IF;
  3.1052 +      --
  3.1053 +      IF par_.plsql_method IS NOT NULL THEN
  3.1054 +         stmt_ := stmt_ ||space___(indent_)||'Message_SYS.Add_Attribute(msg_, '''||par_.id||''', '||
  3.1055 +                          format_prefix_||Replace_Parameter___(par_.plsql_method)||format_postfix_||');';
  3.1056 +      ELSE
  3.1057 +         IF par_.current_value = 'TRUE' THEN
  3.1058 +            stmt_ := stmt_ ||space___(indent_)||'Message_SYS.Add_Attribute(msg_, ''OLD:'||par_.id||''', '||format_prefix_||old_param_prefix_||par_.id||format_postfix_||');';
  3.1059 +         END IF;
  3.1060 +         IF par_.new_value = 'TRUE' THEN
  3.1061 +            stmt_ := stmt_ ||space___(indent_)||'Message_SYS.Add_Attribute(msg_, ''NEW:'||par_.id||''', '||format_prefix_||new_param_prefix_||par_.id||format_postfix_||');';
  3.1062 +         END IF;
  3.1063 +      END IF;
  3.1064 +   END LOOP;
  3.1065 +   stmt_ := stmt_ ||space___(indent_)||'Event_SYS.Event_Execute('''||rec_.event_lu_name||''', '''||rec_.event_id||''', msg_);';
  3.1066 +   indent_ := indent_ - 1;
  3.1067 +   stmt_ := stmt_ ||space___(indent_)||'END IF; ';
  3.1068 +   indent_ := indent_ - 1;
  3.1069 +   stmt_ := stmt_ ||space___(indent_)||'END; ';
  3.1070 +   indent_ := indent_ - 1;
  3.1071 +   stmt_ := stmt_ ||space___(indent_)||if_stmt_end_;
  3.1072 +dbms_output.put_line(stmt_);
  3.1073 +   --
  3.1074 +   Installation_SYS.Create_Trigger (
  3.1075 +   Get_Trigger_Name___(rec_.event_id, trigger_type_),
  3.1076 +   'AFTER',
  3.1077 +   Get_Dml_Event___(trigger_type_),
  3.1078 +   Get_Columns___(rec_.modified_attributes),
  3.1079 +   rec_.event_table_name,
  3.1080 +   NULL,
  3.1081 +   stmt_,
  3.1082 +   TRUE);
  3.1083 +END Create_Custom_Trigger___;
  3.1084 +
  3.1085 +FUNCTION Get_Trigger_Name___(
  3.1086 +   event_id_      IN VARCHAR2,
  3.1087 +   trigger_type_  IN VARCHAR2 ) RETURN VARCHAR2
  3.1088 +IS
  3.1089 +BEGIN
  3.1090 +   CASE trigger_type_
  3.1091 +      WHEN 'NEW' THEN
  3.1092 +         RETURN(Upper(Create_Trigger_Name___(event_id_)||'_EVI'));
  3.1093 +      WHEN 'MODIFY' THEN
  3.1094 +         RETURN(Upper(Create_Trigger_Name___(event_id_)||'_EVU'));
  3.1095 +      WHEN 'REMOVE' THEN
  3.1096 +         RETURN(Upper(Create_Trigger_Name___(event_id_)||'_EVD'));
  3.1097 +   END CASE;
  3.1098 +END Get_Trigger_Name___;
  3.1099 +
  3.1100 +PROCEDURE Remove_Custom_Triggers___(
  3.1101 +   rec_ IN Fnd_Event_Tab%ROWTYPE )
  3.1102 +IS
  3.1103 +BEGIN
  3.1104 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Create_Custom_Triggers___', TRUE);
  3.1105 +   -- Create triggers per type (New, Modify, Remove)
  3.1106 +   IF (rec_.new_row = 'TRUE') THEN
  3.1107 +      Remove_Custom_Trigger___(rec_, 'NEW');
  3.1108 +   END IF;
  3.1109 +   IF (rec_.modify_row = 'TRUE') THEN
  3.1110 +      Remove_Custom_Trigger___(rec_, 'MODIFY');
  3.1111 +   END IF;
  3.1112 +   IF (rec_.remove_row = 'TRUE') THEN
  3.1113 +      Remove_Custom_Trigger___(rec_, 'REMOVE');
  3.1114 +   END IF;
  3.1115 +END Remove_Custom_Triggers___;
  3.1116 +
  3.1117 +PROCEDURE Remove_Custom_Trigger___(
  3.1118 +   rec_           IN     Fnd_Event_Tab%ROWTYPE,
  3.1119 +   trigger_type_  IN     VARCHAR2 )
  3.1120 +IS
  3.1121 +   stmt_ VARCHAR2(32000);
  3.1122 +   --
  3.1123 +BEGIN
  3.1124 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Remove_Custom_Trigger___', TRUE);
  3.1125 +   Installation_SYS.Remove_Trigger(Get_Trigger_Name___(rec_.event_id, trigger_type_), TRUE);
  3.1126 +END Remove_Custom_Trigger___;
  3.1127 +
  3.1128 +FUNCTION Create_Trigger_Name___ (
  3.1129 +   event_id_ IN VARCHAR2 ) RETURN VARCHAR2
  3.1130 +IS
  3.1131 +   new_event_id_ VARCHAR2(100);
  3.1132 +BEGIN
  3.1133 +   new_event_id_ := Replace(event_id_, ' ', '_');
  3.1134 +   new_event_id_ := Replace(new_event_id_, '/', '_');
  3.1135 +   new_event_id_ := Replace(new_event_id_, '\', '_');
  3.1136 +   new_event_id_ := Replace(new_event_id_, '-', '_');
  3.1137 +   RETURN new_event_id_;
  3.1138 +END Create_Trigger_Name___;
  3.1139 +-----------------------------------------------------------------------------
  3.1140 +-------------------- LU SPECIFIC PRIVATE METHODS ----------------------------
  3.1141 +-----------------------------------------------------------------------------
  3.1142 +
  3.1143 +PROCEDURE Export__ (
  3.1144 +   string_        OUT VARCHAR2,
  3.1145 +   event_lu_name_ IN  VARCHAR2,
  3.1146 +   event_id_      IN  VARCHAR2 )
  3.1147 +IS
  3.1148 +   newline_    CONSTANT VARCHAR2(2) := chr(13)||chr(10);
  3.1149 +   rec                  &TABLE%ROWTYPE;
  3.1150 +   id_                  VARCHAR2(100);
  3.1151 +   CURSOR get_param IS
  3.1152 +   SELECT id, id_type, plsql_method, current_value, new_value
  3.1153 +     FROM fnd_event_parameter_tab
  3.1154 +    WHERE event_lu_name = event_lu_name_
  3.1155 +      AND event_id = event_id_;
  3.1156 +BEGIN
  3.1157 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Export__');
  3.1158 +   -- Fetch the event details
  3.1159 +   rec     := Get_Object_By_Keys___(event_lu_name_, event_id_);
  3.1160 +   -- Only allowed to export Custom Events
  3.1161 +   IF (nvl(rec.event_type, 'APPLICATION') != 'CUSTOM') THEN
  3.1162 +      Error_SYS.Appl_General(lu_name_, 'EXP_TYPE: Only Custom Events are allowed to be exported.');
  3.1163 +   END IF;
  3.1164 +   --
  3.1165 +   -- Create Export file
  3.1166 +   --
  3.1167 +   string_ :=            '-------------------------------------------------------------------------------------------- ' || newline_;
  3.1168 +   string_ := string_ || '-- Export file for Custom Events ' || rec.event_id || '.' || newline_;
  3.1169 +   string_ := string_ || '-- ' || newline_;
  3.1170 +   string_ := string_ || '--  Date    Sign    History' || newline_;
  3.1171 +   string_ := string_ || '--  ------  ------  -----------------------------------------------------------' || newline_;
  3.1172 +   string_ := string_ || '--  ' || to_char(sysdate, 'YYMMDD') || '  ' || rpad(Fnd_Session_API.Get_Fnd_User, 6, ' ') || '  ' ||
  3.1173 +                         'Export file for task ' || rec.event_id || '.' || newline_;
  3.1174 +   string_ := string_ || '-------------------------------------------------------------------------------------------- ' || newline_;
  3.1175 +   string_ := string_ || newline_;
  3.1176 +   string_ := string_ || 'SET DEFINE ~' || newline_;
  3.1177 +   string_ := string_ || 'PROMPT Register Custom Event "' || rec.event_id || '"' || newline_;
  3.1178 +   string_ := string_ || 'DECLARE' || newline_;
  3.1179 +   string_ := string_ || '   event_lu_name_      VARCHAR2(30)    := ''' || event_lu_name_ || ''';' || newline_;
  3.1180 +   string_ := string_ || '   event_id_           VARCHAR2(30)    := ''' || event_id_ || ''';' || newline_;
  3.1181 +   string_ := string_ || '   id_                 VARCHAR2(100);' || newline_;
  3.1182 +   string_ := string_ || '   info_msg_           VARCHAR2(32000) := NULL;' || newline_;
  3.1183 +   string_ := string_ || 'BEGIN' || newline_;
  3.1184 +   --
  3.1185 +   -- Create Main Message
  3.1186 +   --
  3.1187 +   string_ := string_ || '-- Construct Main Message' || newline_;
  3.1188 +   string_ := string_ || '   info_msg_    := Message_SYS.Construct('''');' || newline_;
  3.1189 +   string_ := string_ || '   Message_SYS.Add_Attribute(info_msg_, ''EVENT_DESCRIPTION'', ''' || Assert_SYS.Encode_Single_Quote_String(rec.event_description) || ''');' || newline_;
  3.1190 +   string_ := string_ || '   Message_SYS.Add_Attribute(info_msg_, ''EVENT_ENABLE'', ''FALSE'');' || newline_;
  3.1191 +   string_ := string_ || '   Message_SYS.Add_Attribute(info_msg_, ''EVENT_TYPE_DB'', ''' || rec.event_type || ''');' || newline_;
  3.1192 +   string_ := string_ || '   Message_SYS.Add_Attribute(info_msg_, ''EVENT_TABLE_NAME'', ''' || rec.event_table_name || ''');' || newline_;
  3.1193 +   string_ := string_ || '   Message_SYS.Add_Attribute(info_msg_, ''MODIFIED_ATTRIBUTES'', ''' || rec.modified_attributes || ''');' || newline_;
  3.1194 +   string_ := string_ || '   Message_SYS.Add_Attribute(info_msg_, ''NEW_ROW_DB'', ''' || rec.new_row || ''');' || newline_;
  3.1195 +   string_ := string_ || '   Message_SYS.Add_Attribute(info_msg_, ''MODIFY_ROW_DB'', ''' || rec.modify_row || ''');' || newline_;
  3.1196 +   string_ := string_ || '   Message_SYS.Add_Attribute(info_msg_, ''REMOVE_ROW_DB'', ''' || rec.remove_row || ''');' || newline_;
  3.1197 +   string_ := string_ || '-- Register Custom Event' || newline_;
  3.1198 +   string_ := string_ || '   Fnd_Event_API.Register_Custom_Event(event_lu_name_, event_id_, info_msg_);' || newline_;
  3.1199 +   FOR rec2 IN get_param LOOP
  3.1200 +      string_ := string_ || '   -- Register Event Parameter' || newline_;
  3.1201 +      string_ := string_ || '      info_msg_ := Message_SYS.Construct('''');' || newline_;
  3.1202 +      string_ := string_ || '      id_  := ''' || rec2.id || ''';' || newline_;
  3.1203 +      string_ := string_ || '      Message_SYS.Add_Attribute(info_msg_, ''ID_TYPE'', ''' || rec2.id_type || ''');' || newline_;
  3.1204 +      string_ := string_ || '      Message_SYS.Add_Attribute(info_msg_, ''PLSQL_METHOD'', ''' || Assert_SYS.Encode_Single_Quote_String(rec2.plsql_method) || ''');' || newline_;
  3.1205 +      string_ := string_ || '      Message_SYS.Add_Attribute(info_msg_, ''CURRENT_VALUE_DB'', ''' || rec2.current_value || ''');' || newline_;
  3.1206 +      string_ := string_ || '      Message_SYS.Add_Attribute(info_msg_, ''NEW_VALUE_DB'', ''' || rec2.new_value || ''');' || newline_;
  3.1207 +      string_ := string_ || '      Fnd_Event_Parameter_API.Register(event_lu_name_, event_id_, id_, info_msg_);' || newline_;
  3.1208 +   END LOOP;
  3.1209 +   string_ := string_ || 'END;' || newline_;
  3.1210 +   string_ := string_ || '/' || newline_;
  3.1211 +   string_ := string_ || 'COMMIT' || newline_;
  3.1212 +   string_ := string_ || '/' || newline_;
  3.1213 +   string_ := string_ || 'SET DEFINE &' || newline_;
  3.1214 +END Export__;
  3.1215 +
  3.1216 +-----------------------------------------------------------------------------
  3.1217 +-------------------- LU SPECIFIC PROTECTED METHODS --------------------------
  3.1218 +-----------------------------------------------------------------------------
  3.1219 +
  3.1220 +
  3.1221 +-----------------------------------------------------------------------------
  3.1222 +-------------------- LU SPECIFIC PUBLIC METHODS -----------------------------
  3.1223 +-----------------------------------------------------------------------------
  3.1224 +
  3.1225 +FUNCTION Get_Event_Description (
  3.1226 +   event_lu_name_ IN VARCHAR2,
  3.1227 +   event_id_      IN VARCHAR2 ) RETURN VARCHAR2
  3.1228 +IS
  3.1229 +   temp_ &TABLE..event_description%TYPE;
  3.1230 +   CURSOR get_attr IS
  3.1231 +      SELECT event_description
  3.1232 +      FROM &TABLE
  3.1233 +      WHERE event_lu_name = event_lu_name_
  3.1234 +      AND   event_id = event_id_;
  3.1235 +BEGIN
  3.1236 +   OPEN get_attr;
  3.1237 +   FETCH get_attr INTO temp_;
  3.1238 +   CLOSE get_attr;
  3.1239 +   RETURN temp_;
  3.1240 +END Get_Event_Description;
  3.1241 +
  3.1242 +
  3.1243 +FUNCTION Get_Event_Enable (
  3.1244 +   event_lu_name_ IN VARCHAR2,
  3.1245 +   event_id_      IN VARCHAR2 ) RETURN VARCHAR2
  3.1246 +IS
  3.1247 +   temp_ &TABLE..event_enable%TYPE;
  3.1248 +   CURSOR get_attr IS
  3.1249 +      SELECT event_enable
  3.1250 +      FROM &TABLE
  3.1251 +      WHERE event_lu_name = event_lu_name_
  3.1252 +      AND   event_id = event_id_;
  3.1253 +BEGIN
  3.1254 +   OPEN get_attr;
  3.1255 +   FETCH get_attr INTO temp_;
  3.1256 +   CLOSE get_attr;
  3.1257 +   IF temp_ IS NULL THEN
  3.1258 +      RETURN 'FALSE';
  3.1259 +   ELSE
  3.1260 +      RETURN temp_;
  3.1261 +   END IF;
  3.1262 +END Get_Event_Enable;
  3.1263 +
  3.1264 +
  3.1265 +PROCEDURE Set_Event_Enable (
  3.1266 +   event_lu_name_ IN VARCHAR2,
  3.1267 +   event_id_      IN VARCHAR2 )
  3.1268 +IS
  3.1269 +   temp_       NUMBER;
  3.1270 +   attr_       VARCHAR2(32000);
  3.1271 +   oldrec_     &TABLE%ROWTYPE;
  3.1272 +   newrec_     &TABLE%ROWTYPE;
  3.1273 +   objid_      &VIEW..objid%TYPE;
  3.1274 +   objversion_ &VIEW..objversion%TYPE;
  3.1275 +BEGIN
  3.1276 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Set_Event_Enable');
  3.1277 +   IF (event_id_ <> upper(event_id_)) THEN
  3.1278 +      Error_SYS.Appl_General(lu_name_, 'UPPCASE: The event identity ":P1" must be in upper case.', event_id_);
  3.1279 +   END IF;
  3.1280 +   SELECT COUNT(*)
  3.1281 +      INTO temp_
  3.1282 +      FROM fnd_event_action
  3.1283 +      WHERE event_id = event_id_
  3.1284 +      AND   event_lu_name = event_lu_name_
  3.1285 +      AND   action_enable = 'TRUE';
  3.1286 +   Get_Id_Version_By_Keys___ (objid_, objversion_, event_lu_name_, event_id_);
  3.1287 +   IF (temp_ > 0) THEN
  3.1288 +      Client_SYS.Add_To_Attr('EVENT_ENABLE', 'TRUE', attr_);
  3.1289 +      oldrec_ := Get_Object_By_Keys___(event_lu_name_, event_id_);
  3.1290 +      newrec_ := oldrec_;
  3.1291 +      Unpack_Check_Update___(attr_, newrec_, objid_);
  3.1292 +      Update___(objid_, oldrec_, newrec_, attr_, objversion_);
  3.1293 +   ELSE
  3.1294 +      Client_SYS.Add_To_Attr('EVENT_ENABLE', 'FALSE', attr_);
  3.1295 +      oldrec_ := Get_Object_By_Keys___(event_lu_name_, event_id_);
  3.1296 +      newrec_ := oldrec_;
  3.1297 +      Unpack_Check_Update___(attr_, newrec_, objid_);
  3.1298 +      Update___(objid_, oldrec_, newrec_, attr_, objversion_);
  3.1299 +   END IF;
  3.1300 +END Set_Event_Enable;
  3.1301 +
  3.1302 +
  3.1303 +PROCEDURE Refresh (
  3.1304 +   event_lu_name_       IN VARCHAR2,
  3.1305 +   event_id_            IN VARCHAR2,
  3.1306 +   event_desc_          IN VARCHAR2,
  3.1307 +   event_type_db_       IN VARCHAR2 DEFAULT 'APPLICATION',
  3.1308 +   event_table_name_    IN VARCHAR2 DEFAULT NULL,
  3.1309 +   modified_attributes_ IN VARCHAR2 DEFAULT NULL,
  3.1310 +   new_row_             IN VARCHAR2 DEFAULT 'FALSE',
  3.1311 +   modify_row_          IN VARCHAR2 DEFAULT 'FALSE',
  3.1312 +   remove_row_          IN VARCHAR2 DEFAULT 'FALSE')
  3.1313 +IS
  3.1314 +   temp_ NUMBER;
  3.1315 +BEGIN
  3.1316 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Refresh');
  3.1317 +   IF (event_id_ <> upper(event_id_)) THEN
  3.1318 +      Error_SYS.Appl_General(lu_name_, 'UPPCASE: The event identity ":P1" must be in upper case.', event_id_);
  3.1319 +   END IF;
  3.1320 +   SELECT COUNT(*)
  3.1321 +      INTO temp_
  3.1322 +      FROM &VIEW
  3.1323 +      WHERE event_id = event_id_
  3.1324 +      AND event_lu_name = event_lu_name_;
  3.1325 +   IF (temp_ = 0) THEN
  3.1326 +      INSERT INTO fnd_event_tab
  3.1327 +         (event_lu_name, event_id, event_description, event_enable, rowversion,
  3.1328 +          event_type, event_table_name, modified_attributes,
  3.1329 +          new_row, modify_row, remove_row)
  3.1330 +      VALUES
  3.1331 +         (event_lu_name_, event_id_, event_desc_, 'FALSE', SYSDATE,
  3.1332 +          event_type_db_, event_table_name_, modified_attributes_,
  3.1333 +          new_row_, modify_row_, remove_row_);
  3.1334 +   ELSE
  3.1335 +      UPDATE fnd_event_tab
  3.1336 +         SET event_description = event_desc_
  3.1337 +         WHERE event_lu_name = event_lu_name_
  3.1338 +         AND   event_id = event_id_;
  3.1339 +   END IF;
  3.1340 +END Refresh;
  3.1341 +
  3.1342 +PROCEDURE Register_Custom_Event (
  3.1343 +   event_lu_name_ IN VARCHAR2,
  3.1344 +   event_id_      IN VARCHAR2,
  3.1345 +   info_msg_      IN VARCHAR2 )
  3.1346 +IS
  3.1347 +   info_       VARCHAR2(32000);
  3.1348 +   objid_      VARCHAR2(100);
  3.1349 +   objversion_ VARCHAR2(100);
  3.1350 +   attr_       VARCHAR2(2000);
  3.1351 +BEGIN
  3.1352 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Register_Custom_Event');
  3.1353 +   Client_SYS.Add_To_Attr('EVENT_LU_NAME',       event_lu_name_, attr_);
  3.1354 +   Client_SYS.Add_To_Attr('EVENT_ID',            event_id_, attr_);
  3.1355 +   Client_SYS.Add_To_Attr('EVENT_DESCRIPTION',   Message_SYS.Find_Attribute(info_msg_, 'EVENT_DESCRIPTION', ''), attr_);
  3.1356 +   Client_SYS.Add_To_Attr('EVENT_ENABLE',        Message_SYS.Find_Attribute(info_msg_, 'EVENT_ENABLE', 'FALSE'), attr_);
  3.1357 +   Client_SYS.Add_To_Attr('EVENT_TABLE_NAME',    Message_SYS.Find_Attribute(info_msg_, 'EVENT_TABLE_NAME', ''), attr_);
  3.1358 +   Client_SYS.Add_To_Attr('EVENT_TYPE_DB',       Message_SYS.Find_Attribute(info_msg_, 'EVENT_TYPE_DB', ''), attr_);
  3.1359 +   Client_SYS.Add_To_Attr('NEW_ROW_DB',          Message_SYS.Find_Attribute(info_msg_, 'NEW_ROW_DB', 'FALSE'), attr_);
  3.1360 +   Client_SYS.Add_To_Attr('MODIFY_ROW_DB',       Message_SYS.Find_Attribute(info_msg_, 'MODIFY_ROW_DB', 'FALSE'), attr_);
  3.1361 +   Client_SYS.Add_To_Attr('REMOVE_ROW_DB',       Message_SYS.Find_Attribute(info_msg_, 'REMOVE_ROW_DB', 'FALSE'), attr_);
  3.1362 +   Client_SYS.Add_To_Attr('MODIFIED_ATTRIBUTES', Message_SYS.Find_Attribute(info_msg_, 'MODIFIED_ATTRIBUTES', ''), attr_);
  3.1363 +   IF (Check_Exist___(event_lu_name_, event_id_)) THEN
  3.1364 +      DELETE FROM fnd_event_tab WHERE event_lu_name = event_lu_name_ AND event_id = event_id_;
  3.1365 +      DELETE FROM fnd_event_parameter_tab WHERE event_lu_name = event_lu_name_ AND event_id = event_id_;
  3.1366 +   END IF;
  3.1367 +   New__(info_, objid_, objversion_, attr_, 'DO');
  3.1368 +END Register_Custom_Event;
  3.1369 +
  3.1370 +PROCEDURE Unfresh (
  3.1371 +   event_lu_name_ IN VARCHAR2,
  3.1372 +   event_id_      IN VARCHAR2 )
  3.1373 +IS
  3.1374 +   temp_ NUMBER;
  3.1375 +BEGIN
  3.1376 +   General_SYS.Init_Method(lu_name_, '&PKG', 'Unfresh');
  3.1377 +   SELECT COUNT(*)
  3.1378 +      INTO temp_
  3.1379 +      FROM &VIEW
  3.1380 +      WHERE event_id = event_id_
  3.1381 +      AND   event_lu_name = event_lu_name_;
  3.1382 +   IF (temp_ > 0) THEN
  3.1383 +      DELETE FROM fnd_event_tab
  3.1384 +         WHERE event_lu_name = event_lu_name_
  3.1385 +         AND   event_id = event_id_;
  3.1386 +   END IF;
  3.1387 +END Unfresh;
  3.1388 +
  3.1389 +
  3.1390 +FUNCTION Get (
  3.1391 +   event_lu_name_ IN VARCHAR2,
  3.1392 +   event_id_ IN VARCHAR2 ) RETURN Public_Rec
  3.1393 +IS
  3.1394 +   temp_ Public_Rec;
  3.1395 +   CURSOR get_attr IS
  3.1396 +      SELECT event_description, event_enable
  3.1397 +      FROM &TABLE
  3.1398 +      WHERE event_lu_name = event_lu_name_
  3.1399 +      AND   event_id = event_id_;
  3.1400 +BEGIN
  3.1401 +   OPEN get_attr;
  3.1402 +   FETCH get_attr INTO temp_;
  3.1403 +   CLOSE get_attr;
  3.1404 +   RETURN temp_;
  3.1405 +END Get;
  3.1406 +
  3.1407 +
  3.1408 +FUNCTION Check_Custom_Event(
  3.1409 +   table_name_ VARCHAR2) RETURN BOOLEAN
  3.1410 +IS
  3.1411 +  temp_ NUMBER;
  3.1412 +  CURSOR get_event IS
  3.1413 +     SELECT 1
  3.1414 +       FROM FND_EVENT_TAB
  3.1415 +      WHERE event_table_name = table_name_ AND
  3.1416 +            event_type = 'CUSTOM';
  3.1417 +BEGIN
  3.1418 +   OPEN get_event;
  3.1419 +   FETCH get_event INTO temp_;
  3.1420 +   
  3.1421 +   IF get_event%FOUND THEN
  3.1422 +     CLOSE get_event;
  3.1423 +     RETURN TRUE;
  3.1424 +   END IF;
  3.1425 +   CLOSE get_event;
  3.1426 +   RETURN FALSE;
  3.1427 +END Check_Custom_Event;
  3.1428 +
  3.1429 +
  3.1430 +
  3.1431 +-----------------------------------------------------------------------------
  3.1432 +-------------------- FOUNDATION1 METHODS ------------------------------------
  3.1433 +-----------------------------------------------------------------------------
  3.1434 +-- Init
  3.1435 +--   Dummy procedure that can be called at database startup to ensure that
  3.1436 +--   this package is loaded into memory for performance reasons only.
  3.1437 +-----------------------------------------------------------------------------
  3.1438 +
  3.1439 +PROCEDURE Init
  3.1440 +IS
  3.1441 +BEGIN
  3.1442 +   NULL;
  3.1443 +END Init;
  3.1444 +
  3.1445 +
  3.1446 +END &PKG;
  3.1447 +/
  3.1448 +SHOW ERROR
  3.1449 +
  3.1450 +
  3.1451 +
  3.1452 +-----------------------------------------------------------------------------
  3.1453 +
  3.1454 +----------------------------------------------------------
  3.1455 +-- <UNDEFINE_SECTION>
  3.1456 +----------------------------------------------------------
  3.1457 +-- This section is reserved for undefine statements
  3.1458 +-- nothing should be manually written below because
  3.1459 +-- that would be overwritten everytime the IFS / Undefine
  3.1460 +-- tool is run.  
  3.1461 +-- Also do NOT make any changes to the above tag because
  3.1462 +-- this will result in duplicated code
  3.1463 +----------------------------------------------------------
  3.1464 +UNDEFINE MODULE
  3.1465 +UNDEFINE LU
  3.1466 +UNDEFINE TABLE
  3.1467 +UNDEFINE VIEW
  3.1468 +UNDEFINE PKG
  3.1469 +UNDEFINE OBJID
  3.1470 +UNDEFINE OBJKEY
  3.1471 +UNDEFINE OBJVERSION
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/PLSQL/Execution/test/unit/data/FndSecurityPerObject.rdf	Tue Jul 02 10:38:00 2013 +0530
     4.3 @@ -0,0 +1,262 @@
     4.4 +-----------------------------------------------------------------------------
     4.5 +--
     4.6 +--  Logical unit: FndUser
     4.7 +--
     4.8 +--  File:         SecurityPerObject.rdf
     4.9 +--
    4.10 +--  Date    Sign  History
    4.11 +--  ------  ----  -----------------------------------------------------------
    4.12 +--  260404 Bamalk  Created.
    4.13 +--  080604 Bamalk  Modified for use Report Designer.
    4.14 +--  050405 Bamalk  Re-written to satisfy the requirements in Bug# 47362.
    4.15 +--  040805 Mesalk  Added support for raw data view creation. (Bug id #44975)
    4.16 +--  051028  MAOL  Removed QRP's (F1PR467).
    4.17 +--  110503  CHAA  EASTONE-16468 : Remove report layout definitions from RDF
    4.18 +--  270612 Chaalk Added Assert_SYS method calls to validate the entered package and method name (BugID 103717)
    4.19 +-----------------------------------------------------------------------------
    4.20 +
    4.21 +DEFINE MODULE             = FNDBAS
    4.22 +DEFINE LU                 = FndUser
    4.23 +DEFINE PKG                = FND_SECURITY_PER_OBJECT_RPI
    4.24 +
    4.25 +DEFINE TABLE              = INFO_SERVICES_RPT
    4.26 +DEFINE RAWVIEW            = INFO_SERVICES_RPV
    4.27 +DEFINE VIEW               = FND_SECURITY_PER_OBJECT_REP
    4.28 +DEFINE METHOD             = Report_Overview
    4.29 +
    4.30 +-----------------------------------------------------------------------------
    4.31 +-- PACKAGE SPECIFICATION:
    4.32 +-----------------------------------------------------------------------------
    4.33 +
    4.34 +PROMPT Creating &PKG specification
    4.35 +
    4.36 +CREATE OR REPLACE PACKAGE &PKG AS
    4.37 +
    4.38 +module_ CONSTANT VARCHAR2(6) := '&MODULE';
    4.39 +lu_name_ CONSTANT VARCHAR2(25) := '&LU';
    4.40 +
    4.41 +PROCEDURE &METHOD (
    4.42 +   report_attr_    IN VARCHAR2,
    4.43 +   parameter_attr_ IN VARCHAR2 );
    4.44 +
    4.45 +END &PKG;
    4.46 +/
    4.47 +SHOW ERROR
    4.48 +
    4.49 +-----------------------------------------------------------------------------
    4.50 +-- REPORTS
    4.51 +-----------------------------------------------------------------------------
    4.52 +
    4.53 +PROMPT Creating report view &VIEW
    4.54 +
    4.55 +CREATE OR REPLACE VIEW &VIEW AS
    4.56 +SELECT RESULT_KEY                              RESULT_KEY,
    4.57 +       ROW_NO                                  ROW_NO,   
    4.58 +       s1                                      PACKAGE_NAME,
    4.59 +       s2                                      METHOD,
    4.60 +       s3                                      USER_ID,
    4.61 +       s4                                      USER_DESC,
    4.62 +       s5                                      ROLE
    4.63 +FROM  &RAWVIEW
    4.64 +WITH  read only;
    4.65 +
    4.66 +
    4.67 +COMMENT ON TABLE &VIEW
    4.68 +   IS 'LU=&LU^MODULE=&MODULE^';
    4.69 +COMMENT ON COLUMN &VIEW..result_key IS
    4.70 +   'FLAGS=M----^DATATYPE=NUMBER^';
    4.71 +COMMENT ON COLUMN &VIEW..row_no IS
    4.72 +   'FLAGS=M----^DATATYPE=NUMBER^';
    4.73 +COMMENT ON COLUMN &VIEW..package_name IS
    4.74 +   'FLAGS=A----^DATATYPE=STRING(100)/UPPERCASE^PROMPT=Package Name^TITLE=Package Name^QUERY=Package Name:^QFLAGS=M-S-L^ITEM_NAME=iPackageName^REF=Dictionary_Sys_Method_lov^';
    4.75 +COMMENT ON COLUMN &VIEW..method IS
    4.76 +   'FLAGS=A----^DATATYPE=STRING(30)^PROMPT=Method^TITLE=Method^ITEM_NAME=iMethod^QUERY=Method:^QFLAGS=M-S-L^REF=Dictionary_Sys_Method_lov(PACKAGE_NAME)^';
    4.77 +COMMENT ON COLUMN &VIEW..user_id IS
    4.78 +   'FLAGS=A----^DATATYPE=STRING(30)/UPPERCASE^PROMPT=User Id^STATUS=Enter User Id^TITLE=User Id^ITEM_NAME=iUserId^';      
    4.79 +COMMENT ON COLUMN &VIEW..user_desc IS
    4.80 +   'FLAGS=A----^DATATYPE=STRING(2000)^PROMPT=User Description^TITLE=User Description^ITEM_NAME=iUserDesc^';      
    4.81 +COMMENT ON COLUMN &VIEW..role IS
    4.82 +   'FLAGS=A----^DATATYPE=STRING(30)/UPPERCASE^PROMPT=Role^TITLE=Role^ITEM_NAME=iRole^';
    4.83 +
    4.84 +
    4.85 +BEGIN
    4.86 +   Report_SYS.Define_Report_(
    4.87 +      '&VIEW',
    4.88 +      '&MODULE',
    4.89 +      '&LU', 
    4.90 +      'Security Per Object',
    4.91 +      '&TABLE',
    4.92 +      '&PKG..&METHOD',
    4.93 +      7);
    4.94 +   --Report_SYS.Define_Report_Layout_(
    4.95 +   --   '&VIEW',
    4.96 +   --   'SecurityPerObject.qrp',
    4.97 +   --   'Landscape',
    4.98 +   --   'A4',
    4.99 +   --   'ROW_NO');
   4.100 +   --Report_SYS.Define_Report_Layout_(
   4.101 +   --   '&VIEW',
   4.102 +   --   'SecurityPerObject_Letter.qrp',
   4.103 +   --   'Landscape',
   4.104 +   --   'LETTER',
   4.105 +   --   'ROW_NO');   
   4.106 +   --Report_SYS.Define_Report_Layout_(
   4.107 +   --   '&VIEW',
   4.108 +   --   'FndSecurityPerObjectRep.xsl',
   4.109 +   --   'Landscape',
   4.110 +   --   'DYNAMIC',
   4.111 +   --    NULL,
   4.112 +   --   'DESIGNER');   
   4.113 +Report_SYS.Refresh_('&VIEW');
   4.114 +END;
   4.115 +/
   4.116 +
   4.117 +-----------------------------------------------------------------------------
   4.118 +-- PACKAGE IMPLEMENTATION
   4.119 +-----------------------------------------------------------------------------
   4.120 +
   4.121 +PROMPT Creating &PKG implementation
   4.122 +
   4.123 +CREATE OR REPLACE PACKAGE BODY &PKG AS
   4.124 +
   4.125 +PROCEDURE &METHOD (
   4.126 +   report_attr_    IN VARCHAR2,
   4.127 +   parameter_attr_ IN VARCHAR2 )
   4.128 +IS
   4.129 +   result_key_          NUMBER;
   4.130 +   row_no_              NUMBER := 1;
   4.131 +   parent_row_no_       NUMBER := 0;
   4.132 +   package_name_        VARCHAR2(30); 
   4.133 +   method_              VARCHAR2(200);
   4.134 +   do_xml_              BOOLEAN := Report_SYS.Should_Generate_Xml('&VIEW');
   4.135 +   do_rs_               BOOLEAN := Report_SYS.Should_Generate_Result_Set('&VIEW');
   4.136 +   xml_                 CLOB;
   4.137 +   report_package_name_ VARCHAR2(100) := 'FND_SECURITY_PER_OBJECT_REP';
   4.138 +
   4.139 +   CURSOR get_users IS
   4.140 +   SELECT DISTINCT identity
   4.141 +      FROM fnd_user_tab
   4.142 +      WHERE active = 'TRUE'
   4.143 +      ORDER BY identity;
   4.144 +
   4.145 +
   4.146 +   CURSOR get_grantee(v_user VARCHAR2) IS
   4.147 +      SELECT DISTINCT grantee
   4.148 +         FROM   security_sys_privs_tab
   4.149 +         WHERE  table_name = package_name_
   4.150 +         AND    grantee IN (SELECT role
   4.151 +                         FROM   fnd_user_role_runtime_tab
   4.152 +                         WHERE  identity = v_user)
   4.153 +      MINUS
   4.154 +      SELECT DISTINCT role
   4.155 +         FROM   security_sys_tab
   4.156 +         WHERE  package_name = package_name_
   4.157 +         and    method_name  = method_
   4.158 +         AND    role IN (SELECT role
   4.159 +                      FROM   fnd_user_role_runtime_tab
   4.160 +                      WHERE  identity = v_user);
   4.161 +
   4.162 +BEGIN
   4.163 +   result_key_ := Client_SYS.Attr_Value_To_Number(Client_SYS.Get_Item_Value('RESULT_KEY', report_attr_));
   4.164 +   package_name_ := UPPER(Client_SYS.Get_Item_Value('PACKAGE_NAME', parameter_attr_));
   4.165 +   method_ := Client_SYS.Get_Item_Value('METHOD', parameter_attr_);
   4.166 +
   4.167 +   IF (INSTR(package_name_,'%') > 0) OR  (INSTR(method_,'%') > 0) THEN
   4.168 +     Error_SYS.Record_General(lu_name_, 'INVALIDVALUE: Wild Cards are not allowed for input parameters');
   4.169 +   END IF;
   4.170 +
   4.171 +   Assert_SYS.Assert_Is_Package(package_name_);
   4.172 +   Assert_SYS.Assert_Is_Package_Method(package_name_,method_);
   4.173 +
   4.174 +   IF (do_xml_) THEN
   4.175 +      Xml_Record_Writer_SYS.Create_Report_Header(xml_, '&VIEW', package_name_);
   4.176 +      Xml_Record_Writer_SYS.Add_Element(xml_, 'PACKAGE_NAME', package_name_||'.');
   4.177 +      Xml_Record_Writer_SYS.Add_Element(xml_, 'METHOD', method_);
   4.178 +      Xml_Record_Writer_SYS.Start_Element(xml_, 'USERS');
   4.179 +   END IF;
   4.180 +                        
   4.181 +   FOR user_rec_ IN get_users LOOP
   4.182 +     
   4.183 +     IF (do_xml_) THEN
   4.184 +         Xml_Record_Writer_SYS.Start_Element(xml_, 'USER_ID');
   4.185 +         Xml_Record_Writer_SYS.Add_Element(xml_, 'USER_ID', user_rec_.identity);
   4.186 +         Xml_Record_Writer_SYS.Add_Element(xml_, 'USER_DESC', Fnd_User_API.Get_Description(user_rec_.identity));     
   4.187 +         Xml_Record_Writer_SYS.Start_Element(xml_, 'ROLES');
   4.188 +     END IF;
   4.189 +     
   4.190 +     FOR role_rec_ IN get_grantee(user_rec_.identity) LOOP
   4.191 +
   4.192 +              IF (do_xml_) THEN
   4.193 +                  Xml_Record_Writer_SYS.Start_Element(xml_, 'ROLE');
   4.194 +                  Xml_Record_Writer_SYS.Add_Element(xml_, 'ROLE', role_rec_.grantee); 
   4.195 +              END IF;
   4.196 +
   4.197 +              IF (do_rs_) THEN
   4.198 +                  INSERT INTO &TABLE(
   4.199 +                       RESULT_KEY,
   4.200 +                       ROW_NO,
   4.201 +                       PARENT_ROW_NO,
   4.202 +                       s1,
   4.203 +                       s2,
   4.204 +                       s3,
   4.205 +                       s4,
   4.206 +                       s5)
   4.207 +
   4.208 +                   VALUES(
   4.209 +                      result_key_,
   4.210 +                      row_no_,
   4.211 +                      parent_row_no_,
   4.212 +                      package_name_||'.',
   4.213 +                      method_,
   4.214 +                      user_rec_.identity,
   4.215 +                      Fnd_User_API.Get_Description(user_rec_.identity),
   4.216 +                      role_rec_.grantee);
   4.217 +                   row_no_ := row_no_ + 1;
   4.218 +               END IF;
   4.219 +               IF (do_xml_) THEN
   4.220 +                  Xml_Record_Writer_SYS.End_Element(xml_, 'ROLE');
   4.221 +               END IF;
   4.222 +
   4.223 +     END LOOP;
   4.224 +     IF (do_xml_) THEN
   4.225 +         Xml_Record_Writer_SYS.End_Element(xml_, 'ROLES');
   4.226 +         Xml_Record_Writer_SYS.End_Element(xml_, 'USER_ID');
   4.227 +     END IF;                      
   4.228 +
   4.229 + END LOOP;
   4.230 +
   4.231 + IF (do_xml_) THEN
   4.232 +   Xml_Record_Writer_SYS.End_Element(xml_, 'USERS');
   4.233 +   Xml_Record_Writer_SYS.End_Element(xml_, '&VIEW');
   4.234 +   Report_SYS.Finish_Xml_Report('&VIEW', result_key_, xml_);
   4.235 + END IF;
   4.236 +
   4.237 +
   4.238 +END &METHOD;
   4.239 +
   4.240 +END &PKG;
   4.241 +/
   4.242 +SHOW ERROR
   4.243 +
   4.244 +
   4.245 +-----------------------------------------------------------------------------
   4.246 +-- END
   4.247 +-----------------------------------------------------------------------------
   4.248 +
   4.249 +----------------------------------------------------------
   4.250 +-- <UNDEFINE_SECTION>
   4.251 +----------------------------------------------------------
   4.252 +-- This section is reserved for undefine statements
   4.253 +-- nothing should be manually written below because
   4.254 +-- that would be overwritten everytime the IFS / Undefine
   4.255 +-- tool is run.  
   4.256 +-- Also do NOT make any changes to the above tag because
   4.257 +-- this will result in duplicated code
   4.258 +----------------------------------------------------------
   4.259 +UNDEFINE MODULE
   4.260 +UNDEFINE LU
   4.261 +UNDEFINE PKG
   4.262 +UNDEFINE TABLE
   4.263 +UNDEFINE RAWVIEW
   4.264 +UNDEFINE VIEW
   4.265 +UNDEFINE METHOD
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/PLSQL/Execution/test/unit/data/FndSetting.ins	Tue Jul 02 10:38:00 2013 +0530
     5.3 @@ -0,0 +1,581 @@
     5.4 +-----------------------------------------------------------------------------------
     5.5 +--
     5.6 +--  File: FndSetting.ins
     5.7 +--
     5.8 +--  Purpose: Install/Upgrade all standard Foundation1 parameters
     5.9 +--
    5.10 +--  Date    Sign  History
    5.11 +--  ------  ----  -----------------------------------------------------------
    5.12 +--  011022  ROOD  Added comments section. Added parameter KEEP_PERSONAL_MSG (ToDo#4016).
    5.13 +--  011023  ROOD  Modified description for PDF_ARCHIVE_PATH (ToDo#4015).
    5.14 +--  011203  HAAR  ToDo#4054 Added DEFAULT_PROFILE.
    5.15 +--  011207  ROOD  Added DEFAULT_PAPER_FORMAT (ToDo#4056).
    5.16 +--  020314  ROOD  Added REP_CLEANUP_BEHAVIOR (Bug#22732).
    5.17 +--  020315  ROOD  Removed the reset of SEC_PRES_SETUP (ToDo#4099).
    5.18 +--  020321  ROOD  Removed REP_CLEANUP_BEHAVIOR again, another solution choosen. (Bug#22732).
    5.19 +--  021216  HAAR  Removed parameter for MONITORING_PROCESS, MONITORING_INTERVAL,
    5.20 +--                KEEP_SCHEDULE_HEAVY and KEEP_SCHEDULE_LIGHT (ToDo#4191).
    5.21 +--  030117  RAKU  Added parameter LAYOUT_ROOT (Bug#35362).
    5.22 +--  030219  HAAR  Added QUERY_HINT parameter (ToDo#4152).
    5.23 +--  030311  ROOD  Removed EVENT_SERVER and KEEP_EVENTS parameters (ToDo#4149).
    5.24 +--  030509  HAAR  Added commit in script (ToDo#4261).
    5.25 +--  030627  ROOD  Major update of parameters and values (ToDo#4099).
    5.26 +--  030702  ROOD  Necessary changes discovered when updating documentation (ToDo#4099).
    5.27 +--  030818  ROOD  Added attribute value_type. Modified internal methods.
    5.28 +--                Added initiation of process for Batch Schedules (ToDo#4099).
    5.29 +--  030826  ROOD  Changed default value for FAST_LOGIN_ACTIVE (ToDo#4099).
    5.30 +--  030905  RAKU  Changed description for URL_APP_SUPPORT (TakeOff)
    5.31 +--  030924  ROOD  Added parameters for Fndmig (ToDo#4303).
    5.32 +--  040219  DOZE  Added REPDES_GRAPHICS for Print Agent
    5.33 +--  040830  HAAR  Added DEFAULT_FILEENCODING for Utl_File and Unicode (F1PR408).
    5.34 +--  040914  ASWI  Value 'CUSTOM STRING' parsed to the method Modify_Parameter for 'URL_HELP_BASE' (Bug#43461).
    5.35 +--  041001  HAAR  Added REMOTE_DEBUGGING (F1PR440).
    5.36 +--  041027  HAAR  Added CHECKPOINT, CHECKPOINT_TYPE and CHECKPOINT_METHOD (F1PR414).
    5.37 +--  041125  HAAR  Added CHECKPOINT_CLEANUP (F1PR414).
    5.38 +--  050613  BAMA  Corrected the parameter value parsed to the method Modify_Parameter for 'URL_HELP_BASE' (Bug#50888).
    5.39 +--  050714  UTGU  Added parameter SHOW_ASGN_DEF_PRINT. (F1PR861)
    5.40 +--  051027  HAAR  Added better default values for TABLESPACES (F1PR480).
    5.41 +--  060228  RAKU  Added setting for CANCEL_QUERY (F1PR480).
    5.42 +--  060321  MAOL  Changed PRINT_SERVER default value to ON (Edge - NOIID).
    5.43 +--  200404  MUNA  Added MAX_XML_SIZE and MAX_FO_SIZE for Print Agent (Bug# 56873)
    5.44 +--  060605  SUKM  Added OBJ_CONN_DELETE bug id Bug# 56013, this comment added in Bug# 58508...
    5.45 +--  061027  NiWiLK  Corrected; 0.007 of days equals to ten minutes, not one minute!(Bug#61210).
    5.46 +--  061124  RAKU  Added IFS_CURR_PRECISION keeping the amount of decimals used for storage (F1PR487).
    5.47 +--  070108  HAAR  Added BATCH_PROCESS_LOG for logging of background processes (Bug#62360).
    5.48 +--  070509  HAAR  Added parameter KEEP_DEFJOBS_WARNING and KEEP_DEFJOBS_ERROR (Bug#65267).
    5.49 +--  070524  PEMA  Added CHECKPOINT_U_TIMEOUT for Security Checkpoint FDR 21 11.200 compliance
    5.50 +--  070622  SUMA  Changed the Description for DEFAULT_PAPER_FORMAT.(F1PR499)
    5.51 +--  070622  SUMA  Deleted HTTP_AVAILABLE and Hardcoded YES in the FndSettings.api(F1PR499)
    5.52 +--  070622  SUMA  Deleted EVENT_EXECUTOR and Hardcoded Connect in the FndSettings.api(F1PR499)
    5.53 +--  070622  SUMA  Deleted HELP_STYLE and Hardcoded HTML in the FndSettings.api(F1PR499)
    5.54 +--  070622  SUMA  Deleted REF_CACHE_CHECK(F1PR499)
    5.55 +--  070924  JHMA  Added FNDMIG parameters (Bug#67956).
    5.56 +--  071211  SUMALK  Added a Parameter REPORT_LIFETIME (Bug#69953).
    5.57 +--  080109  JHMASE  Added FNDMIG parameter FNDMIG_ALT_REPL_USR (Bug #70434).
    5.58 +--  080304  SUBSLK  Modified description and domain descriptions for PRINT_SERVER.<Bug#71830>.
    5.59 +--  080406  HAAR  Added category to be able to sort on category (Bug#72844).
    5.60 +--  080819  MADRSE  Removed MAX_XML_SIZE, MAX_FO_SIZE. Added REP_MAX_XML_SIZE, REP_MAX_INT_XML_SIZE (Bug#75322).
    5.61 +--  090422  UDLELK  Added parameter to set HTTP transfer timeout (Bug #81998)
    5.62 +--  090422  HAAR  Changed parameter URL_APP_ONWEB, URL_APP_SUPPORT and added URL_OPEN_IFS (Bug#82260).
    5.63 +--  090507  JHMASE Choose WinPopUp destination (Bug #82672).
    5.64 +--  091023  LAKRLK IEE - email notification for scheduled reports(BUG #86339)
    5.65 +--  091028  DASVSE External Report formatter "REP_EXT_RF_CS" added (BUG #86485)
    5.66 +--  091030  NABALK Added IAL_TABLESPACE_DATA and IAL_STORAGE_DATA parameters(Bug#86669)
    5.67 +--  091110  CHAALK Integrating Crystal Support to IEE (Bug #86604)
    5.68 +--  100121  JHMASE Proxy Server parameters (Bug #88597).
    5.69 +--  100624  DUWILK Added paramter for Key field validation (Bug#86672).
    5.70 +--  100824  NaBaLK Added IAL_CREATE_EMPTY_TAB for IAL Replication (Bug#92495)
    5.71 +--  100920  SJayLK BI Server Base URL and feature URL added. (Bug#93000)
    5.72 +--  100528  HAAR  Added parameter BATCH_PROCESSES (EACS-750).
    5.73 +--  101018  MaBose Changed default user as IAL Owner
    5.74 +--  111128  MaBose Removed storage variables, set default tablespace for ial owner
    5.75 +--  120106  AsiWLK RDTERUNTIME-1194 99205 Make Report Designer PDF/A compliant - Supplimentary
    5.76 +--  120209  DUWILK Add parameter IAL_ERROR_OCCURENCE for IAL Objects(RDTERUNTIME-1978).
    5.77 +--  120815  LiRiSE Add parameter REP_RULE_LOG for component RRE
    5.78 +-----------------------------------------------------------------------------
    5.79 +--
    5.80 +--  New_Parameter:
    5.81 +--     Create the parameter if it does not already exist. In this call
    5.82 +--     the default value is to be set. If parameter already exist, everything
    5.83 +--     except value_ and dynamic is updated.
    5.84 +--
    5.85 +--  Modify_Parameter:
    5.86 +--     Update an already existing parameter. Seldom used, in most cases no
    5.87 +--     setting of the default value is to be made, since the value may have been
    5.88 +--     changed by an administrator and this script should not change
    5.89 +--     such a value during an upgrade. Only the attributes that has been
    5.90 +--     changed since the parameter was created need to be set.
    5.91 +--
    5.92 +--  Remove_Parameter:
    5.93 +--     Remove obsolete parameters.
    5.94 +--
    5.95 +--  Get_Parameter:
    5.96 +--     Fetch a parameter with all its attributes. Use this when some
    5.97 +--     evaluation of existing attributes has to be made when updating
    5.98 +--     a parameter.
    5.99 +--
   5.100 +--  Value types:
   5.101 +--    FIXED STRING  : (Default) Datatype string and only the values specified in the domain are allowed.
   5.102 +--    FIXED NUMBER  : Datatype number and only the values specified in the domain are allowed.
   5.103 +--    FIXED DATE    : Date format as a string and only the values specified in the domain are allowed.
   5.104 +--    CUSTOM STRING : Datatype string and custom values are allowed.
   5.105 +--    CUSTOM NUMBER : Datatype number and custom values are allowed.
   5.106 +--    CUSTOM DATE   : Date format as a string and custom values are allowed.
   5.107 +-----------------------------------------------------------------------------
   5.108 +
   5.109 +PROMPT Inserting Foundation1 Parameters
   5.110 +
   5.111 +SET SERVEROUTPUT ON
   5.112 +
   5.113 +DECLARE
   5.114 +   --
   5.115 +   -- Cursor declaration
   5.116 +   --
   5.117 +   CURSOR get_encoding IS
   5.118 +   SELECT value
   5.119 +   FROM  nls_database_parameters
   5.120 +   WHERE parameter = 'NLS_CHARACTERSET';
   5.121 +   --
   5.122 +   CURSOR get_user_ts IS
   5.123 +   SELECT Nvl(default_tablespace, 'USERS') default_tablespace,
   5.124 +          Nvl(temporary_tablespace, 'TEMP') temporary_tablespace
   5.125 +   FROM user_users u;
   5.126 +   --
   5.127 +   CURSOR get_default_ts IS
   5.128 +   SELECT tablespace_name
   5.129 +   FROM  dba_tablespaces
   5.130 +   WHERE tablespace_name = 'USERS';
   5.131 +   --
   5.132 +   CURSOR get_temp_ts IS
   5.133 +   SELECT tablespace_name
   5.134 +   FROM  dba_tablespaces
   5.135 +   WHERE tablespace_name = 'TEMP';
   5.136 +   --
   5.137 +   -- Variable declaration
   5.138 +   --
   5.139 +   parameter_record_ fnd_setting_tab%ROWTYPE;
   5.140 +   value_            fnd_setting_tab.value%TYPE;
   5.141 +   dummy_            VARCHAR2(30);
   5.142 +   --
   5.143 +   -- Method implementations
   5.144 +   --
   5.145 +   PROCEDURE Modify_Parameter (
   5.146 +      parameter_   IN VARCHAR2,
   5.147 +      description_ IN VARCHAR2,
   5.148 +      dynamic_     IN VARCHAR2,
   5.149 +      value_       IN VARCHAR2,
   5.150 +      domain_      IN VARCHAR2,
   5.151 +      domain_desc_ IN VARCHAR2,
   5.152 +      category_    IN VARCHAR2,
   5.153 +      value_type_  IN VARCHAR2 DEFAULT 'FIXED STRING' )
   5.154 +   IS
   5.155 +      rec_ fnd_setting_tab%ROWTYPE;
   5.156 +   BEGIN
   5.157 +      SELECT * INTO rec_
   5.158 +         FROM  fnd_setting_tab
   5.159 +         WHERE parameter = parameter_;
   5.160 +      IF (description_ IS NOT NULL) THEN
   5.161 +         rec_.parameter_desc := description_;
   5.162 +      END IF;
   5.163 +      IF (dynamic_ IS NOT NULL) THEN
   5.164 +         rec_.dynamic := dynamic_;
   5.165 +      END IF;
   5.166 +      IF (value_ IS NOT NULL) THEN
   5.167 +         rec_.value := value_;
   5.168 +      END IF;
   5.169 +      IF (domain_ IS NOT NULL) THEN
   5.170 +         rec_.domain := domain_;
   5.171 +      END IF;
   5.172 +      IF (domain_desc_ IS NOT NULL) THEN
   5.173 +         rec_.domain_desc := domain_desc_;
   5.174 +      END IF;
   5.175 +      IF (value_type_ IS NOT NULL) THEN
   5.176 +         rec_.value_type := value_type_;
   5.177 +      END IF;
   5.178 +      IF (category_ IS NOT NULL) THEN
   5.179 +         rec_.category := category_;
   5.180 +      END IF;
   5.181 +      -- Do not upgrade Tablespace values
   5.182 +      IF parameter_ NOT IN ('TS_DEFAULT', 'TS_TEMPORARY') THEN
   5.183 +         UPDATE fnd_setting_tab SET
   5.184 +            parameter_desc = rec_.parameter_desc,
   5.185 +            dynamic = rec_.dynamic,
   5.186 +            value = rec_.value,
   5.187 +            domain = rec_.domain,
   5.188 +            domain_desc = rec_.domain_desc,
   5.189 +            value_type = rec_.value_type,
   5.190 +            category = rec_.category,
   5.191 +            rowversion = sysdate
   5.192 +         WHERE parameter = parameter_;
   5.193 +      END IF;
   5.194 +   EXCEPTION
   5.195 +      WHEN no_data_found THEN
   5.196 +         NULL;
   5.197 +   END Modify_Parameter;
   5.198 +
   5.199 +   PROCEDURE New_Parameter (
   5.200 +      parameter_   IN VARCHAR2,
   5.201 +      description_ IN VARCHAR2,
   5.202 +      dynamic_     IN VARCHAR2,
   5.203 +      value_       IN VARCHAR2,
   5.204 +      domain_      IN VARCHAR2,
   5.205 +      domain_desc_ IN VARCHAR2,
   5.206 +      category_    IN VARCHAR2,
   5.207 +      value_type_  IN VARCHAR2 DEFAULT 'FIXED STRING' )
   5.208 +   IS
   5.209 +   BEGIN
   5.210 +      INSERT INTO FND_SETTING_TAB (
   5.211 +         parameter,
   5.212 +         parameter_desc,
   5.213 +         dynamic,
   5.214 +         value,
   5.215 +         domain,
   5.216 +         domain_desc,
   5.217 +         value_type,
   5.218 +         category,
   5.219 +         rowversion
   5.220 +      ) VALUES (
   5.221 +         parameter_,
   5.222 +         description_,
   5.223 +         dynamic_,
   5.224 +         value_,
   5.225 +         domain_,
   5.226 +         domain_desc_,
   5.227 +         value_type_,
   5.228 +         category_,
   5.229 +         sysdate );
   5.230 +   EXCEPTION
   5.231 +      WHEN dup_val_on_index THEN
   5.232 +         Modify_Parameter (parameter_,
   5.233 +                           description_,
   5.234 +                           '',
   5.235 +                           '',
   5.236 +                           domain_,
   5.237 +                           domain_desc_,
   5.238 +                           category_,
   5.239 +                           value_type_);
   5.240 +   END New_Parameter;
   5.241 +
   5.242 +   PROCEDURE Remove_Parameter (
   5.243 +      parameter_ IN VARCHAR2 )
   5.244 +   IS
   5.245 +      rec_ fnd_setting_tab%ROWTYPE;
   5.246 +   BEGIN
   5.247 +      DELETE FROM fnd_setting_tab
   5.248 +      WHERE parameter = parameter_;
   5.249 +   EXCEPTION
   5.250 +      WHEN OTHERS THEN
   5.251 +         NULL;
   5.252 +   END Remove_Parameter;
   5.253 +
   5.254 +   FUNCTION Get_Parameter (
   5.255 +      parameter_ IN VARCHAR2 ) RETURN fnd_setting_tab%ROWTYPE
   5.256 +   IS
   5.257 +      rec_ fnd_setting_tab%ROWTYPE;
   5.258 +   BEGIN
   5.259 +      SELECT * INTO rec_
   5.260 +         FROM  fnd_setting_tab
   5.261 +         WHERE parameter = parameter_;
   5.262 +      RETURN rec_;
   5.263 +   EXCEPTION
   5.264 +      WHEN no_data_found THEN
   5.265 +         rec_.parameter := 'NONE';
   5.266 +         RETURN rec_;
   5.267 +   END Get_Parameter;
   5.268 +
   5.269 +BEGIN
   5.270 +   -------------------------------
   5.271 +   -- Remove obsoleted parameters
   5.272 +   -------------------------------
   5.273 +   Remove_Parameter('CONNECTIVITY');
   5.274 +   Remove_Parameter('DEFJOB_INTERVAL');
   5.275 +   Remove_Parameter('MONITORING_PROCESS');
   5.276 +   Remove_Parameter('MONITORING_INTERVAL');
   5.277 +   Remove_Parameter('KEEP_SCHEDULE_HEAVY');
   5.278 +   Remove_Parameter('KEEP_SCHEDULE_LIGHT');
   5.279 +   Remove_Parameter('EVENT_SERVER');
   5.280 +   Remove_Parameter('KEEP_EVENTS');
   5.281 +   Remove_Parameter('SEC_SETUP');
   5.282 +   Remove_Parameter('SEC_METHOD_CHECK');
   5.283 +   Remove_Parameter('KEEP_REPORTS');
   5.284 +   Remove_Parameter('HTTP_AVAILABLE');
   5.285 +   Remove_Parameter('HELP_STYLE');
   5.286 +   Remove_Parameter('EVENT_EXECUTOR');
   5.287 +   Remove_Parameter('REF_CACHE_CHECK');
   5.288 +   Remove_Parameter('FNDMIG_STORAGE');
   5.289 +   Remove_Parameter('FNDMIG_TABLESPACE');
   5.290 +   Remove_Parameter('MAX_XML_SIZE');
   5.291 +   Remove_Parameter('MAX_FO_SIZE');
   5.292 +   Remove_Parameter('CANCEL_QUERY');
   5.293 +   Remove_Parameter('IAL_STORAGE_DATA');
   5.294 +   Remove_Parameter('FNDMIG_STORAGE_DATA');
   5.295 +   Remove_Parameter('FNDMIG_STORAGE_INDEX');
   5.296 +   Remove_Parameter('PDF_ARCHIVE_PATH');
   5.297 +   Remove_Parameter('PDF_ARCHIVATE');
   5.298 +   Remove_Parameter('LAYOUT_ROOT');
   5.299 +   Remove_Parameter('PRINT_SERVER');
   5.300 +
   5.301 +
   5.302 +   -------------------------------
   5.303 +   -- Create/Update parameters
   5.304 +   -------------------------------
   5.305 +
   5.306 +   --
   5.307 +   -- Event Action Executor
   5.308 +   --
   5.309 +
   5.310 +   -- Make sure that some of the attributes for EVENT_EXECUTOR really are updated
   5.311 +   -- Move from Event Server to Connect if needed, else leave setting as it is
   5.312 +   parameter_record_ := Get_Parameter('EVENT_EXECUTOR');
   5.313 +   IF parameter_record_.value = 'EVENT SERVER' THEN
   5.314 +      Modify_Parameter ('EVENT_EXECUTOR', '', '', 'CONNECT', '', '', 'Connectivity');
   5.315 +   END IF;
   5.316 +   --
   5.317 +   --  Print Server
   5.318 +   --
   5.319 +   New_Parameter ('PLUGIN_PRINT_DIR', 'Report Plug-in output directory', '12.2', '*', '*^^', 'No directory defined^^', 'Reporting', 'CUSTOM STRING');
   5.320 +   New_Parameter ('DEFAULT_PAPER_FORMAT', 'Default paper format', '12.21', 'A4', 'A4^LETTER^OTHER^',
   5.321 +                  'A4 paper format^Letter paper format^Other paper format', 'Reporting');
   5.322 +   New_Parameter ('DATA_ARCHIVE', 'Data archive process startup', '12.3', 'OFF', 'ON^OFF^',
   5.323 +                  'Data archive background process enabled^Data archive background process disabled^', 'Data Archive');
   5.324 +   New_Parameter ('DATA_ARCHIVE_STARTUP', 'Data archive process startup interval (seconds)', '12.4', '3600',
   5.325 +                  '1800^3600^10800^^', 'Start every half hour^Start every hour^Start every third hour^Custom interval^', 'Data Archive', 'CUSTOM NUMBER');
   5.326 +   New_Parameter ('BATCH_SCHEDULE', 'Scheduled tasks process startup', '12.5', 'ON', 'ON^OFF^',
   5.327 +                  'Scheduled tasks background process enabled^Scheduled tasks background process disabled^', 'Background Jobs');
   5.328 +   New_Parameter ('BATCH_SCHED_STARTUP', 'Scheduled tasks process startup interval (seconds)', '12.6', '60',
   5.329 +                  '60^600^1800^3600^^', 'Start every minute^Start every tenth minute^Start every half hour^Start every hour^Custom interval^', 'Background Jobs', 'CUSTOM NUMBER');
   5.330 +   New_Parameter ('SHOW_ASGN_DEF_PRINT', 'Show only the assigned logical printers and default physical printer', '12.7', 'YES', 'YES^NO^',
   5.331 +                  'Show only the assigned logical printers and default physical printer^Show all logical and physical printers^', 'Reporting');
   5.332 +
   5.333 +   --
   5.334 +   -- Security and cache
   5.335 +   --
   5.336 +   New_Parameter ('SEC_PRES_SETUP', 'Presentation object security', '14', 'ON', 'ON^OFF^',
   5.337 +                  'Enabled (user setting overrides)^Disabled (user setting overrides)^', 'Security');
   5.338 +
   5.339 +
   5.340 +   New_Parameter ('FAST_LOGIN_ACTIVE', 'Ignore security info for application owner', '16', 'SHIFT', 'ON^OFF^SHIFT^',
   5.341 +                  'Never fetch security info during login as application owner^Always fetch security info during login as application owner^Do not fetch security info when SHIFT is pressed during login as application owner^', 'Security');
   5.342 +   --
   5.343 +   --  Background processes
   5.344 +   --
   5.345 +   New_Parameter ('BATCH_PROCESSES', 'Number of background processes',  '16.8', '3', '3^^', 'Default value^Custom value^', 'Background Jobs', 'CUSTOM NUMBER');
   5.346 +   New_Parameter ('BATCH_PROCESS_LOG', 'Logging of background processes', '16.9', 'OFF', 'ON^OFF^', 'Background process logging enabled^Background process logging disabled^', 'Background Jobs');
   5.347 +   --
   5.348 +   --  Report Formatter printing
   5.349 +   --
   5.350 +   New_Parameter ('REP_FO_PRINTING','Report Formatter Spooling','44.05 ','OFF','ON^OFF^','DEV/TEST^PROD (Default)^', 'Reporting', 'FIXED STRING');
   5.351 +   --
   5.352 +   -- Cleanup
   5.353 +   --
   5.354 +   New_Parameter ('KEEP_DEFJOBS', 'Cleanup age limit in days for completed background jobs', '17', '7', '7^^', 'Default Limit^Custom limit^', 'Background Jobs', 'CUSTOM NUMBER');
   5.355 +   New_Parameter ('KEEP_DEFJOBS_WARNING', 'Cleanup age limit in days for background jobs with warning', '17.1', '30', '30^^', 'Default Limit^Custom limit^', 'Background Jobs', 'CUSTOM NUMBER');
   5.356 +   New_Parameter ('KEEP_DEFJOBS_ERROR', 'Cleanup age limit in days for background jobs with errors', '17.2', '180', '180^^', 'Default Limit^Custom limit^', 'Background Jobs', 'CUSTOM NUMBER');
   5.357 +   New_Parameter ('KEEP_PRINTJOBS', 'Cleanup age limit in days for printouts in Print Manager', '19', '7', '7^^', 'Default Limit^Custom limit^', 'Reporting',  'CUSTOM NUMBER');
   5.358 +   New_Parameter ('KEEP_BATCH_SCHEDULE', 'Cleanup age limit in days for inactive Scheduled tasks', '20.5', '7', '7^^', 'Default Limit^Custom limit^', 'Background Jobs', 'CUSTOM NUMBER');
   5.359 +   New_Parameter ('KEEP_PERSONAL_MSG', 'Cleanup age limit in days for read personal messages', '20.6', '7', '7^^', 'Default Limit^Custom limit^', 'System Settings', 'CUSTOM NUMBER');
   5.360 +   New_Parameter ('KEEP_CHECKPOINT', 'Cleanup age limit in days for Security Checkpoint Log', '20.7', '0', '0^^', 'No Limit (No Cleanup)^Custom limit^', 'Security', 'CUSTOM NUMBER');
   5.361 +   New_Parameter ('TRANSFER_TIMEOUT','HTTP transfer timeout for outbound calls (seconds)','20.8','1200','1200^^','Default Value^Custom Value','System Settings','CUSTOM NUMBER');
   5.362 +   --
   5.363 +   -- Client login
   5.364 +   --
   5.365 +
   5.366 +   New_Parameter ('URL_APP_ONWEB', 'IFS online', '25', 'http://www.ifsworld.com', 'http://www.ifsworld.com^^', 'IFS online^^', 'User Assistance', 'CUSTOM STRING');
   5.367 +   Modify_Parameter ('URL_APP_ONWEB', 'IFS online', '25', 'http://www.ifsworld.com', 'http://www.ifsworld.com^^', 'IFS online^^', 'User Assistance', 'CUSTOM STRING');
   5.368 +   New_Parameter ('URL_APP_SUPPORT', 'IFS Portal', '26', 'http://www.ifsworld.com/portal', '*^http://www.ifsworld.com/portal^^', 'No link defined^IFS Portal^^', 'User Assistance', 'CUSTOM STRING');
   5.369 +   Modify_Parameter ('URL_APP_SUPPORT', 'IFS Portal', '26', 'http://www.ifsworld.com/portal', '*^http://www.ifsworld.com/portal^^', 'No link defined^IFS Portal^^', 'User Assistance', 'CUSTOM STRING');
   5.370 +   New_Parameter ('URL_OPEN_IFS', 'openIFS Community', '27', 'http://open.ifsworld.com', '*^http://open.ifsworld.com^^', 'No link defined^openIFS Community^^', 'User Assistance', 'CUSTOM STRING');
   5.371 +   New_Parameter ('URL_HELP_BASE', 'Base address for HTML help', '28', 'http://www.yourwebserver.domain:port/documentation', 'http://www.yourwebserver.domain:port/documentation^^', 'No base address defined^^', 'User Assistance', 'CUSTOM STRING');
   5.372 +   -- Make sure that the old non working adress is really updated (i.e. if not changed by the administrator)
   5.373 +   parameter_record_ := Get_Parameter('URL_HELP_BASE');
   5.374 +   IF upper(parameter_record_.value) = 'HTTP://DOC/HELP' THEN
   5.375 +      Modify_Parameter ('URL_HELP_BASE', '', '', 'http://www.yourwebserver.domain:port/documentation', '', '', 'User Assistance', 'CUSTOM STRING');
   5.376 +   END IF;
   5.377 +   New_Parameter ('DEFAULT_LANGUAGE', 'Default server language setup', '29', 'en', 'en^^', 'English^^', 'User Settings', 'CUSTOM STRING');
   5.378 +   --
   5.379 +   -- BLOB Management
   5.380 +   --
   5.381 +   New_Parameter ('BLOB_STORAGE', 'Location to store BLOB data', '29.1', 'ASK', 'INT^EXT^ASK^', 'Internally in database^Externally on file system^Ask the user^', 'System Settings');
   5.382 +   --
   5.383 +   -- Event Registry date and time formats
   5.384 +   --
   5.385 +   New_Parameter ('EVENT_REG_DATETIME', 'Event Registry date and time format', '30', 'YYYY-MM-DD HH24.MI.SS', 'YYYY-MM-DD HH24.MI.SS^^', 'Default format^Custom Format^', 'Event Management', 'CUSTOM DATE');
   5.386 +   New_Parameter ('EVENT_REG_DATE', 'Event Registry date format', '31', 'YYYY-MM-DD', 'YYYY-MM-DD^^', 'Default format^Custom Format^', 'Event Management', 'CUSTOM DATE');
   5.387 +   New_Parameter ('EVENT_REG_TIME', 'Event Registry time format', '32', 'HH24.MI.SS', 'HH24.MI.SS^^', 'Default format^Custom Format^', 'Event Management', 'CUSTOM DATE');
   5.388 +   --
   5.389 +   -- Connectivity
   5.390 +   --
   5.391 +   New_Parameter ('CON_INBOX', 'Connectivity Inbox process available', '33', 'OFF', 'ON^OFF^',
   5.392 +                  'Connectivity Inbox background process enabled^Connectivity Inbox background process disabled^', 'Connectivity');
   5.393 +   New_Parameter ('CON_OUTBOX', 'Connectivity Outbox process available', '34', 'OFF', 'ON^OFF^',
   5.394 +                  'Connectivity Outbox background process enabled^Connectivity Outbox background process disabled^', 'Connectivity');
   5.395 +   New_Parameter ('CON_IN_INTERVAL',  'Connectivity Inbox process restartup interval (seconds)', '35', '30',
   5.396 +                  '5^10^30^60^^', 'Very fast restart^Fast restart^Medium restart^Slow restart^Custom restart^', 'Connectivity', 'CUSTOM NUMBER');
   5.397 +   New_Parameter ('CON_OUT_INTERVAL', 'Connectivity Outbox process restartup interval (seconds)', '36', '30',
   5.398 +                  '5^10^30^60^^', 'Very fast restart^Fast restart^Medium restart^Slow restart^Custom restart^', 'Connectivity', 'CUSTOM NUMBER');
   5.399 +   New_Parameter ('CON_KEEP_INBOX', 'Cleanup age limit in days for accepted messages in Inbox', '37', '7', '7^^', 'Default limit^Custom limit^', 'Connectivity', 'CUSTOM NUMBER');
   5.400 +   New_Parameter ('CON_KEEP_OUTBOX', 'Cleanup age limit in days for accepted messages in Outbox', '38', '7', '7^^', 'Default limit^Custom limit', 'Connectivity', 'CUSTOM NUMBER');
   5.401 +   --
   5.402 +   -- Information Abstraction Layer
   5.403 +   --
   5.404 +   New_Parameter ('IAL_USER', 'Information Access Layer (IAL) Oracle user', '40', '&IAL_OWNER', '&IAL_OWNER^*^^', 'Default IAL Owner^IAL not configured^^', 'Reporting', 'CUSTOM STRING');
   5.405 +   Modify_Parameter ('IAL_USER', 'Information Access Layer (IAL) Oracle user', '40', '&IAL_OWNER', '&IAL_OWNER^*^^', 'Default IAL Owner^IAL not configured^^', 'Reporting', 'CUSTOM STRING');
   5.406 +   New_Parameter ('IAL_REPLICATION', 'Information Access Layer (IAL) replication setup', '41', 'ON', 'ON^OFF^', 'Scheduled replication enabled^Scheduled replication disabled^', 'Reporting');
   5.407 +   New_Parameter ('IAL_TABLESPACE_DATA', 'Default tablespace for dynamically created tables of IAL Owner Schema', '41.1', '&DEFAULT_TABLESPACE', '&DEFAULT_TABLESPACE^^', 'Default tablespace^^', 'Reporting', 'CUSTOM STRING');
   5.408 +   Modify_Parameter ('IAL_TABLESPACE_DATA', 'Default tablespace for dynamically created tables of IAL Owner Schema', '41.1', '&DEFAULT_TABLESPACE', '&DEFAULT_TABLESPACE^^', 'Default tablespace^^', 'Reporting', 'CUSTOM STRING');
   5.409 +   New_Parameter ('IAL_CREATE_EMPTY_TAB', 'Information Access Layer (IAL) create empty table when exception in creating temp table', '41.3', 'YES', 'YES^NO^',
   5.410 +                  'Create empty table when exception in creating temp table^Do not create empty table when exception in creating temp table^', 'Reporting');
   5.411 +   New_Parameter ('IAL_ERROR_OCCURENCE', 'Information Access Layer (IAL) - Maximum occurrences of erroneous schedule jobs', '41.4', '0', '0^-1^^','Default Limit^No Limit is Defined^Custom limit^', 'Reporting', 'CUSTOM NUMBER');
   5.412 +   --
   5.413 +   -- Replication
   5.414 +   --
   5.415 +   New_Parameter ('REPLICATE', 'Replication process available', '42.0', 'OFF', 'ON^OFF^',
   5.416 +                  'Replication background process enabled^Replication background process disabled^', 'Replication');
   5.417 +   New_Parameter ('REPL_INTERVAL',  'Replication process restartup interval (seconds)', '42.1', '30',
   5.418 +                  '5^10^30^60^^', 'Very fast restart^Fast restart^Medium restart^Slow restart^^', 'Replication', 'CUSTOM NUMBER');
   5.419 +   New_Parameter ('REPL_KEEP', 'Cleanup age limit in days for replicated messages', '42.2', '0.007',
   5.420 +                  '0.007^0.04^1^^', 'One minute^One hour^One day^^', 'Replication', 'CUSTOM NUMBER');
   5.421 +   Modify_Parameter ('REPL_KEEP', 'Cleanup age limit in days for replicated messages', '42.2', '0.007',
   5.422 +                  '0.007^0.04^1^^', 'Ten minutes^One hour^One day^^', 'Replication', 'CUSTOM NUMBER');
   5.423 +   New_Parameter ('REPL_SND_WARN', 'Log Replication Send warnings', '43.0', 'ON', 'ON^OFF^',
   5.424 +                  'Logging of Replication Send warnings enabled^Logging of Replication send warnings disabled^', 'Replication');
   5.425 +   New_Parameter ('REPL_SND_INFO', 'Log Replication Send information', '43.1', 'OFF', 'ON^OFF^',
   5.426 +                  'Logging of Replication Send information enabled^Logging of Replication send information disabled^', 'Replication');
   5.427 +   New_Parameter ('REPL_RCV_WARN', 'Log Replication Receive warnings', '43.2', 'ON', 'ON^OFF^',
   5.428 +                  'Logging of Replication Receive warnings enabled^Logging of Replication receive warnings disabled^', 'Replication');
   5.429 +   New_Parameter ('REPL_RCV_INFO', 'Log Replication Receive information', '43.3', 'OFF', 'ON^OFF^',
   5.430 +                  'Logging of Replication Receive information enabled^Logging of Replication receive information disabled^', 'Replication');
   5.431 +   New_Parameter ('REPL_STATISTICS', 'Collect Replication statistics information', '44.0', 'OFF', 'ON^OFF^',
   5.432 +                  'Replication statistics collection enabled^Replication statistics collection disabled^', 'Replication');
   5.433 +   New_Parameter ('REPL_STAT_KEY_FORMAT', 'Replication statistics date key format', '44.1', 'YYYY-MM-DD',
   5.434 +                  'YYYY-MM-DD^YYYY-MM-DD-HH24^', 'Collect statistics per day^Collect statistics per hour^', 'Replication', 'FIXED DATE');
   5.435 +   --
   5.436 +   -- Tablespace settings for new users
   5.437 +   --
   5.438 +   -- Fetch default value for TS_DEFAULT
   5.439 +   value_ := NULL;
   5.440 +   OPEN  get_default_ts;
   5.441 +   FETCH get_default_ts INTO value_;
   5.442 +   CLOSE get_default_ts;
   5.443 +   IF value_ IS NULL THEN
   5.444 +      OPEN  get_user_ts;
   5.445 +      FETCH get_user_ts INTO value_, dummy_;
   5.446 +      CLOSE  get_user_ts;
   5.447 +   END IF;
   5.448 +   New_Parameter ('TS_DEFAULT', 'Default tablespace for new Oracle users', '50', Nvl(value_, 'USERS'), 'USERS^^', 'Default tablespace^^', 'User Settings', 'CUSTOM STRING');
   5.449 +   -- Fetch default value for TS_TEMPORARY
   5.450 +   value_ := NULL;
   5.451 +   OPEN  get_temp_ts;
   5.452 +   FETCH get_temp_ts INTO value_;
   5.453 +   CLOSE get_temp_ts;
   5.454 +   IF value_ IS NULL THEN
   5.455 +      OPEN  get_user_ts;
   5.456 +      FETCH get_user_ts INTO dummy_, value_;
   5.457 +      CLOSE  get_user_ts;
   5.458 +   END IF;
   5.459 +   New_Parameter ('TS_TEMPORARY', 'Temporary tablespace for new Oracle users', '51', Nvl(value_, 'TEMP'), 'TEMP^^', 'Temporary tablespace^^', 'User Settings', 'CUSTOM STRING');
   5.460 +   New_Parameter ('DEFAULT_PROFILE', 'Default profile for new Oracle users', '52', 'DEFAULT', 'DEFAULT^^', 'Default profile^^', 'User Settings', 'CUSTOM STRING');
   5.461 +
   5.462 +   --
   5.463 +   -- Custom Fields
   5.464 +   --
   5.465 +   New_Parameter ('CUSTOM_FIELDS', 'Custom Fields framework', '54.0', 'ON', 'ON^OFF^', 'Custom Fields framework enabled^Custom Fields framework disabled^', 'Custom Fields');
   5.466 +   New_Parameter ('CF_TS_DEFAULT', 'Default tablespace for Custom Fields tables', '54.1', 'IFSAPP_DATA', 'IFSAPP_DATA^^', 'Default Custom Fields table tablespace^^', 'Custom Fields', 'CUSTOM STRING');
   5.467 +   New_Parameter ('CF_TS_INDEX', 'Default tablespace for Custom Fields indexes', '54.2', 'IFSAPP_INDEX', 'IFSAPP_INDEX^^', 'Default Custom Fields index tablespace^^', 'Custom Fields', 'CUSTOM STRING');
   5.468 +   New_Parameter ('CF_TS_LOB', 'Default tablespace for Custom Fields LOB''s', '54.3', 'IFSAPP_LOB', 'IFSAPP_LOB^^', 'Default Custom Fields LOB tablespace^^', 'Custom Fields', 'CUSTOM STRING');
   5.469 +   New_Parameter ('INFO_CARDS', 'Info Cards framework', '54.8', 'ON', 'ON^OFF^', 'Info Cards framework enabled^Info Cards framework disabled^', 'Custom Fields');
   5.470 +   --
   5.471 +   -- Query Dialog Hints
   5.472 +   --
   5.473 +   New_Parameter ('QUERY_HINTS', 'Query dialog hints', '60', 'OFF', 'ON^OFF^', 'Query dialog hints are enabled^Query dialog hints are disabled^', 'User Assistance');
   5.474 +     
   5.475 +   --
   5.476 +   -- IFS Currency - Kept Precision
   5.477 +   --
   5.478 +   New_Parameter ('IFS_CURR_PRECISION', 'Stored decimals for objects using ''IFS Currency - Preserve Precision''', '61', '10', '2^3^4^5^6^7^8^9^10^11^12^13^14^15^',
   5.479 +                  '2 decimals (Min amount)^3 decimals^4 decimals^5 decimals^6 decimals^7 decimals^8 decimals^9 decimals^10 amount of decimals (Default)^11 decimals^12 decimals^13 decimals^14 decimals^15 decimals (Max amount)^', 'System Settings');
   5.480 +
   5.481 +   --
   5.482 +   -- Search Dialog Match Case Default
   5.483 +   --
   5.484 +   New_Parameter ('SEARCH_MATCH_CASE', 'Search dialog Match case Default', '62', 'ON', 'ON^OFF^', 'Search Dialog match case option is default ON^Search Dialog match case option is default OFF^', 'User Assistance');
   5.485 +     
   5.486 +   
   5.487 +   --
   5.488 +   -- IFS Data Migration parameters
   5.489 +   --
   5.490 +   New_Parameter ('FNDMIG_TBLSPACE_DATA', 'Data Migration default tablespace for dynamically created tables', '71', '*', '*^^', 'No tablespace defined^^', 'Data Migration', 'CUSTOM STRING');
   5.491 +   New_Parameter ('FNDMIG_TBLSPACE_IND', 'Data Migration default tablespace for dynamically created indexes', '73', '*', '*^^', 'No tablespace defined^^', 'Data Migration', 'CUSTOM STRING');
   5.492 +   New_Parameter ('FNDMIG_ALT_REPL_USR', 'Data Migration alternative user for replication jobs', '75', '*', '*^^', 'No user defined^^', 'Data Migration', 'CUSTOM STRING');
   5.493 +
   5.494 +   --
   5.495 +   -- Reporting parameters
   5.496 +   --
   5.497 +   New_Parameter ('REPDES_GRAPHICS', 'Base path for Report Designer graphics on the application server', '80', '.', '.', 'Current directory^^', 'Reporting', 'CUSTOM STRING');
   5.498 +   New_Parameter ('REP_MAX_XML_SIZE', 'Maximum allowed XML size for Report Designer reports (kB)', '81', '0', '0^^', 'No limit^Custom limit^', 'Reporting', 'CUSTOM STRING');
   5.499 +   New_Parameter ('REP_MAX_INT_XML_SIZE', 'Breakpoint XML size for when to format Report Designer reports in memory or using disk storage (kB)', '82', '100', '100^^', 'Default breakpoint^Custom breakpoint^', 'Reporting', 'CUSTOM STRING');
   5.500 +   New_Parameter ('REP_EXT_RF_CS', 'External Report Formatter Connect String', '83', '<host>:<port>', '<host>:<port>^Disabled^^', 'Disabled. (Connect String Format)^Disabled. Internal report formatter will be used.^Activated. Changing this requires a restart of the application server. External report formatter will be used for previews and printing to local printers.^', 'Reporting', 'CUSTOM STRING');
   5.501 +   New_Parameter ('REP_RULE_LOG', 'Report rule advanced logging ON/OFF','84','OFF','ON^OFF','Report rule advanced logging on^Report rule advanced logging off','Reporting');
   5.502 +   --
   5.503 +   -- Default file encoding
   5.504 +   --
   5.505 +   OPEN  get_encoding;
   5.506 +   FETCH get_encoding INTO value_;
   5.507 +   CLOSE get_encoding;
   5.508 +   New_Parameter ('DEFAULT_FILEENCODING', 'Default file encoding for files read/written by Oracle', '90', value_, '*^^', 'No default encoding defined^', 'System Settings', 'CUSTOM STRING');
   5.509 +   --
   5.510 +   -- Security Checkpoint
   5.511 +   --
   5.512 +   New_Parameter ('CHECKPOINT', 'Security checkpoint framework available', '92', 'OFF', 'ON^OFF^',
   5.513 +                  'Security checkpoint available^Security checkpoint not available^', 'Security');
   5.514 +   New_Parameter ('CHECKPOINT_TYPE', 'Type of hardware support for Security Checkpoint', '93', 'SIMPLE', 'SIMPLE^CHALLENGE_RESPONSE^',
   5.515 +                  'Simple Security checkpoint^Challenge/Response Security checkpoint^', 'Security');
   5.516 +   New_Parameter ('CHECKPOINT_METHOD', 'Security checkpoint method', '94', 'PASSWORD', 'PASSWORD^HARDWARE^PASSWORD_AND_HARDWARE^',
   5.517 +                  'Password Security checkpoint^Hardware Security checkpoint^Password and hardware Security checkpoint', 'Security');
   5.518 +   New_Parameter ('CHECKPOINT_U_TIMEOUT',  'Security Checkpoint username timeout', '95', '-1',
   5.519 +                  '-1^0^2^5^^', 'Userfriendly mode (username always shown)^FDR21 11.200 Strict (always re-type username)^Short timeout^Long timeout^Custom timeout (minutes)^', 'Security', 'CUSTOM NUMBER');
   5.520 +   --
   5.521 +   -- Debug
   5.522 +   --
   5.523 +   New_Parameter ('REMOTE_DEBUGGING', 'Remote Debugging allowed, should be OFF for production installations', '99', 'OFF', 'ON^OFF^',
   5.524 +                  'Remote Debugging allowed^Remote Debugging disallowed^', 'System Settings');
   5.525 +   --
   5.526 +   -- Object connections
   5.527 +   --
   5.528 +   New_Parameter ('OBJ_CONN_DELETE', 'Delete Object Connections when Objects are Deleted', '90', 'OFF', 'ON^OFF^', 'Connections are deleted^Connections are not deleted^', 'System Settings');
   5.529 +   -- Report parameters
   5.530 +   New_Parameter ('REPORT_LIFETIME', 'Cleanup age limit in days for reports in Archive', '100', '7', '7^^', 'Default Limit^Custom limit^','Reporting', 'CUSTOM NUMBER');
   5.531 +
   5.532 +   -- WinPopUp destination
   5.533 +   New_Parameter ('WINPOPUP_DEST', 'WinPopup messages destination - OS User or Host', '110', 'HOST', 'HOST^USER^', 'Send WinPopup messages to computer^Send WinPopup messages to OS user^','Connect', 'FIXED STRING');
   5.534 +   New_Parameter ('URL_EXT_SERVER', 'Extended Server Url', '125', 'http://<host>:<port>', 'http://<host>:<port>', 'Custom URL^^', 'Reporting', 'CUSTOM STRING');
   5.535 +
   5.536 +   --
   5.537 +   --  Crystal Web Service
   5.538 +   --
   5.539 +   New_Parameter ('CR_SERVER_NAME', 'The machine name where the Crystal Web Service is installed', '120', '*', '*^^', 'Server not specified^Server used^', 'Reporting', 'CUSTOM STRING');
   5.540 +   New_Parameter ('CR_SERVER_PROTOCAL', 'The protocol of the Web Server where the Crystal Web Service is running', '121', 'http', 'http^^', 'http is used as the default protocol^Protocol used^', 'Reporting', 'CUSTOM STRING');
   5.541 +   New_Parameter ('CR_SERVER_PORT', 'The IIS port for the above mentioned Web Server', '122', '80', '80^^', 'Port 80 is used as the default IIS port^IIS port used^', 'Reporting', 'CUSTOM STRING');
   5.542 +   New_Parameter ('CR_VIRTUAL_DIRECTORY', 'The Virtual Directory name given to the Crystal Web Service in IIS', '123', 'IFSCRWebSetup', 'IFSCRWebSetup^^', 'Default Virtual Directory used^Virtual Directory used^', 'Reporting', 'CUSTOM STRING');
   5.543 +   New_Parameter ('CR_SECURED_REP_REQ', 'Specify if web database access security check is required', '124', 'NO', 'YES^NO^', 'Security check is used^Security check is not used^', 'Reporting', 'FIXED STRING');
   5.544 +
   5.545 +
   5.546 +   --
   5.547 +   --  Proxy Server parameters
   5.548 +   --
   5.549 +   New_Parameter ('PROXY_SERVER', 'Proxy Server used for HTTP requests', '150.1', '*', '*^^',
   5.550 +                  'No proxy server^Proxy server (format=[http://]host[:port][/])^', 'HTTP', 'CUSTOM STRING');
   5.551 +   New_Parameter ('NO_PROXY_DOMAINS', 'List of hosts and domains for which no proxy should be used', '150.2', '*', '*^^',
   5.552 +                  'No hosts or domains^Comma separated list of hosts and domains^', 'HTTP', 'CUSTOM STRING');
   5.553 +                  
   5.554 +   --
   5.555 +   -- Key field validate parameter
   5.556 +   --
   5.557 +   New_Parameter ('KEY_STRING_VALIDATE', 'Define the characters which should not appear in Key Fields', '151', '.&%_<>=;~', '.&%_<>=;~^*^', 'Default Character String^No Character Defined^', 'User Settings', 'CUSTOM STRING'); 
   5.558 +
   5.559 +   -- BI parameters
   5.560 +   -- MS Sql Server Reporting Services
   5.561 +   --
   5.562 +   New_Parameter ('REP_SERV_BASE_URL', 'Base URL for MS Reporting Services', '126', 'protocol://<host>:<port>', 'protocol://<host>:<port>^*^^', 'Not Installed - Template^Disabled^Installed^', 'Business Intelligence', 'CUSTOM STRING');
   5.563 +   New_Parameter ('MS_REP_VIEW_FEATURE', 'IEE Feature for MS Reporting Services', '127', 'ifswin:<feature>', 'ifswin:<feature>^*^^', 'Not Installed - Template^Disabled^Installed^', 'Business Intelligence', 'CUSTOM STRING');
   5.564 +   New_Parameter ('REPDES_PDF_A', 'Make Report Designer PDF/A compliant', '128', 'NO', 'YES^NO^', 'PDF/A enabled^pdf/A disabled^', 'Reporting', 'FIXED STRING');
   5.565 +   
   5.566 +   -- 
   5.567 +   -- Output channels
   5.568 +   --
   5.569 +   New_Parameter ('PRINT_COMPANY_LOGO', 'Url or path of the company logo file used in quick print', '128', 'http://<host>:<port>/../<logo.png>', 'http://<host>:<port>/../<logo.png>', 'Company Logo not specified^^', 'Output Channels', 'CUSTOM STRING');
   5.570 +
   5.571 +
   5.572 +END;
   5.573 +/
   5.574 +
   5.575 +PROMPT Initiating process for Scheduled tasks
   5.576 +
   5.577 +BEGIN
   5.578 +   Batch_SYS.Init_All_Processes_(0);
   5.579 +END;
   5.580 +/
   5.581 +
   5.582 +COMMIT
   5.583 +/
   5.584 +
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/PLSQL/Execution/test/unit/data/event.cdb	Tue Jul 02 10:38:00 2013 +0530
     6.3 @@ -0,0 +1,45 @@
     6.4 +--------------------------------------------------------------------------------------------
     6.5 +--
     6.6 +--  Filename      : 120620_103302_Fndbas.cdb
     6.7 +--
     6.8 +--  Module        : FNDBAS
     6.9 +--
    6.10 +--  Purpose       : Presentation Object ID of old Custom Menus created before Bug 92923   
    6.11 +--                  should be changed so that there is no difference in behavior
    6.12 +--                  compared to newly created ones.
    6.13 +--
    6.14 +--------------------------------------------------------------------------------------------
    6.15 +--  Date    Sign    History
    6.16 +--  ------  ------  ------------------------------------------------------------------------
    6.17 +--  120620  WaWiLK  Created.
    6.18 +--------------------------------------------------------------------------------------------
    6.19 +
    6.20 +SET SERVEROUTPUT ON
    6.21 +
    6.22 +DEFINE MODULE = FNDBAS
    6.23 +
    6.24 +exec Installation_SYS.Log_Detail_Time_Stamp('FNDBAS','120620_103302_Fndbas.cdb','Start');   
    6.25 +PROMPT Correcting values set for PO_ID in CUSTOM_MENU_TAB 
    6.26 +BEGIN
    6.27 +   IF NOT (Installation_SYS.Is_Db_Patch_Registered('&MODULE', 103302)) THEN
    6.28 +		 
    6.29 +		UPDATE custom_menu_tab t
    6.30 +		SET t.po_id = t.parameter
    6.31 +		WHERE t.custom_menu_type IN ('1', '2')
    6.32 +		AND EXISTS(SELECT 1 FROM pres_object_tab s WHERE s.po_id = t.parameter);
    6.33 +   
    6.34 +		UPDATE custom_menu_tab t
    6.35 +		SET t.po_id = NULL
    6.36 +		WHERE t.custom_menu_type IN ('1', '2')
    6.37 +		AND NOT EXISTS(SELECT 1 FROM pres_object_tab s WHERE s.po_id = t.parameter);
    6.38 +      
    6.39 +      Installation_SYS.Register_Db_Patch('&MODULE', 103302, 'Correcting the values for PO_ID in custom menus created before 92923.');
    6.40 +      COMMIT;
    6.41 +   END IF;
    6.42 +END;
    6.43 +/
    6.44 +exec Installation_SYS.Log_Detail_Time_Stamp('FNDBAS','120620_103302_Fndbas.cdb','Done');
    6.45 +UNDEFINE MODULE
    6.46 +
    6.47 +SET SERVEROUTPUT OFF
    6.48 +      
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/PLSQL/Execution/test/unit/data/expected/Actor.apy.structure	Tue Jul 02 10:38:00 2013 +0530
     7.3 @@ -0,0 +1,31 @@
     7.4 +COMMENT
     7.5 +UNKNOWN
     7.6 +UNKNOWN
     7.7 +UNKNOWN
     7.8 +UNKNOWN
     7.9 +UNKNOWN
    7.10 +UNKNOWN
    7.11 +UNKNOWN
    7.12 +UNKNOWN
    7.13 +COMMENT
    7.14 +UNKNOWN
    7.15 +VIEW
    7.16 +TABLECOMMENT
    7.17 +COLUMNCOMMENT
    7.18 +COLUMNCOMMENT
    7.19 +COLUMNCOMMENT
    7.20 +COLUMNCOMMENT
    7.21 +COLUMNCOMMENT
    7.22 +COMMENT
    7.23 +UNKNOWN
    7.24 +PACKAGEBODY
    7.25 +UNKNOWN
    7.26 +UNKNOWN
    7.27 +UNKNOWN
    7.28 +UNKNOWN
    7.29 +UNKNOWN
    7.30 +UNKNOWN
    7.31 +UNKNOWN
    7.32 +UNKNOWN
    7.33 +UNKNOWN
    7.34 +COMMENT
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/PLSQL/Execution/test/unit/data/expected/FndEvent.api.structure	Tue Jul 02 10:38:00 2013 +0530
     8.3 @@ -0,0 +1,12 @@
     8.4 +COMMENT
     8.5 +UNKNOWN
     8.6 +UNKNOWN
     8.7 +UNKNOWN
     8.8 +UNKNOWN
     8.9 +PACKAGE
    8.10 +UNKNOWN
    8.11 +COMMENT
    8.12 +COMMENT
    8.13 +UNKNOWN
    8.14 +UNKNOWN
    8.15 +UNKNOWN
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/PLSQL/Execution/test/unit/data/expected/FndEvent.apy.structure	Tue Jul 02 10:38:00 2013 +0530
     9.3 @@ -0,0 +1,41 @@
     9.4 +COMMENT
     9.5 +UNKNOWN
     9.6 +UNKNOWN
     9.7 +UNKNOWN
     9.8 +UNKNOWN
     9.9 +UNKNOWN
    9.10 +UNKNOWN
    9.11 +UNKNOWN
    9.12 +UNKNOWN
    9.13 +COMMENT
    9.14 +UNKNOWN
    9.15 +VIEW
    9.16 +TABLECOMMENT
    9.17 +COLUMNCOMMENT
    9.18 +COLUMNCOMMENT
    9.19 +COLUMNCOMMENT
    9.20 +COLUMNCOMMENT
    9.21 +COLUMNCOMMENT
    9.22 +COLUMNCOMMENT
    9.23 +COLUMNCOMMENT
    9.24 +COLUMNCOMMENT
    9.25 +COLUMNCOMMENT
    9.26 +COLUMNCOMMENT
    9.27 +COLUMNCOMMENT
    9.28 +COLUMNCOMMENT
    9.29 +COLUMNCOMMENT
    9.30 +COLUMNCOMMENT
    9.31 +COMMENT
    9.32 +UNKNOWN
    9.33 +PACKAGEBODY
    9.34 +UNKNOWN
    9.35 +COMMENT
    9.36 +COMMENT
    9.37 +UNKNOWN
    9.38 +UNKNOWN
    9.39 +UNKNOWN
    9.40 +UNKNOWN
    9.41 +UNKNOWN
    9.42 +UNKNOWN
    9.43 +UNKNOWN
    9.44 +UNKNOWN
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/PLSQL/Execution/test/unit/data/expected/FndSecurityPerObject.rdf.structure	Tue Jul 02 10:38:00 2013 +0530
    10.3 @@ -0,0 +1,37 @@
    10.4 +COMMENT
    10.5 +UNKNOWN
    10.6 +UNKNOWN
    10.7 +UNKNOWN
    10.8 +UNKNOWN
    10.9 +UNKNOWN
   10.10 +UNKNOWN
   10.11 +UNKNOWN
   10.12 +COMMENT
   10.13 +UNKNOWN
   10.14 +PACKAGE
   10.15 +UNKNOWN
   10.16 +COMMENT
   10.17 +UNKNOWN
   10.18 +VIEW
   10.19 +TABLECOMMENT
   10.20 +COLUMNCOMMENT
   10.21 +COLUMNCOMMENT
   10.22 +COLUMNCOMMENT
   10.23 +COLUMNCOMMENT
   10.24 +COLUMNCOMMENT
   10.25 +COLUMNCOMMENT
   10.26 +COLUMNCOMMENT
   10.27 +BEGINEND
   10.28 +COMMENT
   10.29 +UNKNOWN
   10.30 +PACKAGEBODY
   10.31 +UNKNOWN
   10.32 +COMMENT
   10.33 +COMMENT
   10.34 +UNKNOWN
   10.35 +UNKNOWN
   10.36 +UNKNOWN
   10.37 +UNKNOWN
   10.38 +UNKNOWN
   10.39 +UNKNOWN
   10.40 +UNKNOWN
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/PLSQL/Execution/test/unit/data/expected/FndSetting.ins.structure	Tue Jul 02 10:38:00 2013 +0530
    11.3 @@ -0,0 +1,7 @@
    11.4 +COMMENT
    11.5 +UNKNOWN
    11.6 +UNKNOWN
    11.7 +DECLAREEND
    11.8 +UNKNOWN
    11.9 +BEGINEND
   11.10 +UNKNOWN
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/PLSQL/Execution/test/unit/data/expected/event.cdb.structure	Tue Jul 02 10:38:00 2013 +0530
    12.3 @@ -0,0 +1,9 @@
    12.4 +COMMENT
    12.5 +UNKNOWN
    12.6 +UNKNOWN
    12.7 +UNKNOWN
    12.8 +UNKNOWN
    12.9 +BEGINEND
   12.10 +UNKNOWN
   12.11 +UNKNOWN
   12.12 +UNKNOWN
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/PLSQL/Execution/test/unit/data/expected/fndbasdr.sql.structure	Tue Jul 02 10:38:00 2013 +0530
    13.3 @@ -0,0 +1,83 @@
    13.4 +COMMENT
    13.5 +COMMENT
    13.6 +UNKNOWN
    13.7 +UNKNOWN
    13.8 +UNKNOWN
    13.9 +UNKNOWN
   13.10 +UNKNOWN
   13.11 +UNKNOWN
   13.12 +COMMENT
   13.13 +COMMENT
   13.14 +BEGINEND
   13.15 +COMMENT
   13.16 +BEGINEND
   13.17 +COMMENT
   13.18 +BEGINEND
   13.19 +COMMENT
   13.20 +BEGINEND
   13.21 +COMMENT
   13.22 +BEGINEND
   13.23 +COMMENT
   13.24 +BEGINEND
   13.25 +COMMENT
   13.26 +BEGINEND
   13.27 +COMMENT
   13.28 +COMMENT
   13.29 +BEGINEND
   13.30 +COMMENT
   13.31 +BEGINEND
   13.32 +COMMENT
   13.33 +COMMENT
   13.34 +BEGINEND
   13.35 +COMMENT
   13.36 +BEGINEND
   13.37 +COMMENT
   13.38 +COMMENT
   13.39 +BEGINEND
   13.40 +COMMENT
   13.41 +COMMENT
   13.42 +BEGINEND
   13.43 +COMMENT
   13.44 +BEGINEND
   13.45 +COMMENT
   13.46 +BEGINEND
   13.47 +COMMENT
   13.48 +BEGINEND
   13.49 +COMMENT
   13.50 +BEGINEND
   13.51 +COMMENT
   13.52 +BEGINEND
   13.53 +COMMENT
   13.54 +BEGINEND
   13.55 +COMMENT
   13.56 +BEGINEND
   13.57 +BEGINEND
   13.58 +COMMENT
   13.59 +COMMENT
   13.60 +COMMENT
   13.61 +COMMENT
   13.62 +BEGINEND
   13.63 +COMMENT
   13.64 +BEGINEND
   13.65 +COMMENT
   13.66 +BEGINEND
   13.67 +COMMENT
   13.68 +BEGINEND
   13.69 +COMMENT
   13.70 +BEGINEND
   13.71 +COMMENT
   13.72 +BEGINEND
   13.73 +COMMENT
   13.74 +BEGINEND
   13.75 +COMMENT
   13.76 +BEGINEND
   13.77 +COMMENT
   13.78 +BEGINEND
   13.79 +COMMENT
   13.80 +BEGINEND
   13.81 +UNKNOWN
   13.82 +COMMENT
   13.83 +UNKNOWN
   13.84 +UNKNOWN
   13.85 +COMMENT
   13.86 +UNKNOWN
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/PLSQL/Execution/test/unit/data/fndbasdr.sql	Tue Jul 02 10:38:00 2013 +0530
    14.3 @@ -0,0 +1,2323 @@
    14.4 +----------------------------------------------------------------
    14.5 +--
    14.6 +-- File     :  FNDBASDR.SQL
    14.7 +--
    14.8 +-- Component:  FNDBAS - IFS Base Functionality
    14.9 +--
   14.10 +-- Release  :
   14.11 +--
   14.12 +-- Created  : 2012-10-22
   14.13 +--
   14.14 +----------------------------------------------------------------
   14.15 +-- NOTE  This script drops the complete component and must be
   14.16 +-- NOTE  edited before usage.
   14.17 +-- NOTE  Number of synonyms, triggers, sequences, MVs and tables
   14.18 +-- NOTE  might not be exact due to incomplete information in the
   14.19 +-- NOTE  database
   14.20 +-- NOTE  Please check with CRE/INS script(s) to make sure that
   14.21 +-- NOTE  correct objects are dropped
   14.22 +-- NOTE  The script will drop
   14.23 +-- NOTE  -  Obvious component data stored in other component's frameworks
   14.24 +-- NOTE  - Database objects for the component
   14.25 +----------------------------------------------------------------
   14.26 +
   14.27 +-- Remove the EXIT statement when the template script has been verified
   14.28 +-- Start removing/commenting here
   14.29 +PROMPT ****************************************************************
   14.30 +PROMPT NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
   14.31 +PROMPT ****************************************************************
   14.32 +PROMPT The script must be edited/verified first
   14.33 +PROMPT Execution will end here
   14.34 +EXIT
   14.35 +-- END removing/commenting here
   14.36 +
   14.37 +ACCEPT remove_data DEFAULT 'No' FORMAT 'A3' PROMPT 'Do you want to remove data related to component as well [(Y)es/(N)o, The default is No]? '
   14.38 +
   14.39 +SET SERVEROUTPUT ON SIZE UNLIMITED
   14.40 +SET VERIFY OFF
   14.41 +SET FEEDBACK OFF
   14.42 +
   14.43 +
   14.44 +SPOOL FNDBASDR.log
   14.45 +
   14.46 +--=======================================================
   14.47 +-- DATA REMOVAL SECTION START
   14.48 +--=======================================================
   14.49 +
   14.50 +BEGIN
   14.51 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
   14.52 +      --=======================================================
   14.53 +      dbms_output.put_line('START removing some module specific data...');
   14.54 +      dbms_output.put_line('Please Wait...');
   14.55 +      --=======================================================
   14.56 +   END IF;
   14.57 +END;
   14.58 +/
   14.59 +
   14.60 +--=======================================================
   14.61 +-- Removing Posting Controls and Related Data Start
   14.62 +--=======================================================
   14.63 +
   14.64 +BEGIN
   14.65 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
   14.66 +      dbms_output.put_line('Removing Posting Controls and Related Data...');
   14.67 +   END IF;
   14.68 +END;
   14.69 +/
   14.70 +----------------------------------------------------------------
   14.71 +-- Removing posting controls related to the module
   14.72 +----------------------------------------------------------------
   14.73 +BEGIN
   14.74 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
   14.75 +      dbms_output.put_line('Removing Posting Controls Related to Module');
   14.76 +      Posting_Ctrl_Public_API.Remove_Postingctrls_Per_Module('FNDBAS');
   14.77 +   END IF;
   14.78 +END;
   14.79 +/
   14.80 +
   14.81 +----------------------------------------------------------------
   14.82 +-- Removing combined control types related to the module
   14.83 +----------------------------------------------------------------
   14.84 +BEGIN
   14.85 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
   14.86 +      dbms_output.put_line('Removing Combined Control Types related to the Module...');
   14.87 +      Posting_Ctrl_Public_API.Rmv_Combctrl_Typs_Per_Module('FNDBAS');
   14.88 +   END IF;
   14.89 +END;
   14.90 +/
   14.91 +
   14.92 +----------------------------------------------------------------
   14.93 +-- Removing allowed control types related to the module
   14.94 +----------------------------------------------------------------
   14.95 +BEGIN
   14.96 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
   14.97 +      dbms_output.put_line('Removing Allowed Control Types related to the Module...');
   14.98 +      Posting_Ctrl_Public_API.Remove_Allowed_Comb_Per_Module('FNDBAS');
   14.99 +   END IF;
  14.100 +END;
  14.101 +/
  14.102 +
  14.103 +----------------------------------------------------------------
  14.104 +-- Removing control types related to the module
  14.105 +----------------------------------------------------------------
  14.106 +BEGIN
  14.107 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.108 +      dbms_output.put_line('Removing Control Types related to the Module...');
  14.109 +      Posting_Ctrl_Public_API.Remove_Ctrl_Types_Per_Module('FNDBAS');
  14.110 +   END IF;
  14.111 +END;
  14.112 +/
  14.113 +
  14.114 +----------------------------------------------------------------
  14.115 +-- Removing posting types related to the module
  14.116 +----------------------------------------------------------------
  14.117 +BEGIN
  14.118 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.119 +      dbms_output.put_line('Removing Control Types related to the Module...');
  14.120 +      Posting_Ctrl_Public_API.Remove_Posting_Typs_Per_Module('FNDBAS');
  14.121 +   END IF;
  14.122 +END;
  14.123 +/
  14.124 +--=======================================================
  14.125 +-- Removing Posting Controls and Related Data End
  14.126 +--=======================================================
  14.127 +
  14.128 +--=======================================================
  14.129 +-- Removing Company Templates and Related Data Start
  14.130 +--=======================================================
  14.131 +
  14.132 +BEGIN
  14.133 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.134 +      dbms_output.put_line('Removing Company Templates and Related Data...');
  14.135 +   END IF;
  14.136 +END;
  14.137 +/
  14.138 +
  14.139 +----------------------------------------------------------------
  14.140 +-- Removing company template data related to the module
  14.141 +----------------------------------------------------------------
  14.142 +BEGIN
  14.143 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.144 +      dbms_output.put_line('Removing Company Templates...');
  14.145 +      Create_Company_API.Remove_Company_Templs_Per_Comp('FNDBAS');
  14.146 +   END IF;
  14.147 +END;
  14.148 +/
  14.149 +
  14.150 +----------------------------------------------------------------
  14.151 +      -- Removing create company metadata
  14.152 +----------------------------------------------------------------
  14.153 +BEGIN
  14.154 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.155 +      dbms_output.put_line('Removing Company Template Meta Data...');
  14.156 +      Crecomp_Component_API.Remove_Crecomp_Component('FNDBAS');
  14.157 +   END IF;
  14.158 +END;
  14.159 +/
  14.160 +
  14.161 +----------------------------------------------------------------
  14.162 +-- Removing client mappings related to the module
  14.163 +----------------------------------------------------------------
  14.164 +BEGIN
  14.165 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.166 +      dbms_output.put_line('Removing Client Mappings related to the Module...');
  14.167 +      Client_Mapping_API.Remove_Mapping_Per_Module('FNDBAS');
  14.168 +   END IF;
  14.169 +END;
  14.170 +/
  14.171 +
  14.172 +--=======================================================
  14.173 +-- Removing Company Templates and Related Data End
  14.174 +--=======================================================
  14.175 +
  14.176 +
  14.177 +----------------------------------------------------------------
  14.178 +-- Removing dimension metadata owned by module
  14.179 +----------------------------------------------------------------
  14.180 +BEGIN
  14.181 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.182 +      dbms_output.put_line('Removing Dimension Metadata owned by the Module...');
  14.183 +      Xlr_Meta_Util_API.Remove_Dimensions('FNDBAS');
  14.184 +   END IF;
  14.185 +END;
  14.186 +/
  14.187 +
  14.188 +----------------------------------------------------------------
  14.189 +      -- Removing fact metadata owned by module
  14.190 +----------------------------------------------------------------
  14.191 +BEGIN
  14.192 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.193 +      dbms_output.put_line('Removing Fact Metadata owned by the Module...');
  14.194 +      Xlr_Meta_Util_API.Remove_Facts('FNDBAS');
  14.195 +   END IF;
  14.196 +END;
  14.197 +/
  14.198 +
  14.199 +----------------------------------------------------------------
  14.200 +-- Removing PO entries in repository
  14.201 +----------------------------------------------------------------
  14.202 +BEGIN
  14.203 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.204 +      dbms_output.put_line('Removing PO Entries in the Repository...');
  14.205 +      PRES_OBJECT_UTIL_API.Reset_Repository('FNDBAS');
  14.206 +   END IF;
  14.207 +END;
  14.208 +/
  14.209 +
  14.210 +----------------------------------------------------------------
  14.211 +-- Removing language related entries
  14.212 +----------------------------------------------------------------
  14.213 +BEGIN
  14.214 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.215 +      dbms_output.put_line('Removing Language related Entries...');
  14.216 +      LANGUAGE_MODULE_API.Remove__('FNDBAS');
  14.217 +   END IF;
  14.218 +END;
  14.219 +/
  14.220 +
  14.221 +----------------------------------------------------------------
  14.222 +-- Removing batch schedules related to the module
  14.223 +----------------------------------------------------------------
  14.224 +BEGIN
  14.225 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.226 +      dbms_output.put_line('Removing Batch Schedules related to the Module...');
  14.227 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('APPLICATION_SEARCH_SYS.ENABLE_SEARCH_DOMAIN__');
  14.228 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('APPLICATION_SEARCH_SYS.OPTIMIZE_INDEX__');
  14.229 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('APPLICATION_SEARCH_SYS.REBUILD_INDEX__');
  14.230 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('APPLICATION_SEARCH_SYS.SYNC_INDEX__');
  14.231 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('ARCHIVE_API.CLEANUP__');
  14.232 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('ARCHIVE_API.CREATE_AND_PRINT_REPORT__');
  14.233 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('BATCH_SCHEDULE_API.CLEANUP__');
  14.234 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('BATCH_SCHEDULE_CHAIN_API.RUN_BATCH_SCHEDULE_CHAIN__');
  14.235 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('BATCH_SYS.CLEANUP__');
  14.236 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('BATCH_SYS.FND_HEAVY_CLEANUP_');
  14.237 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('BATCH_SYS.FND_LIGHT_CLEANUP_');
  14.238 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('BI_TIME_DIMENSION_API.GENERATE_TIME_DATA_SCHEDULE');
  14.239 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('CONNECTIVITY_SYS.CLEANUP__');
  14.240 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('DATABASE_SYS.ENABLE_ROWKEY');
  14.241 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('DATABASE_SYS.EXECUTE_ANALYZE_SCHEMA__');
  14.242 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('DATABASE_SYS.REBUILD_INDEXES__');
  14.243 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('DATABASE_SYS.SHRINK_LOB_SEGMENTS');
  14.244 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('DATABASE_SYS.VALIDATE_INDEXES__');
  14.245 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('FND_EVENT_MY_MESSAGES_API.CLEANUP__');
  14.246 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('FND_MONITOR_ENTRY_API.PERFORM_MONITORING__');
  14.247 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('FND_SESSION_API.CLEANUP_');
  14.248 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('FUNC_AREA_CONFLICT_CACHE_API.REFRESH_CACHE');
  14.249 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('HISTORY_LOG_UTIL_API.CLEANUP__');
  14.250 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('IAL_OBJECT_UTIL_API.INITIATE_REPLICATION__');
  14.251 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('INSTALL_TEM_SYS.CLEANUP__');
  14.252 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('OBJECT_CONNECTION_SYS.REMOVE_DANGLING_CONNECTIONS_');
  14.253 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('PRINT_JOB_API.CLEANUP__');
  14.254 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('SEC_CHECKPOINT_LOG_API.CLEANUP__');
  14.255 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('SECURITY_SYS.CLEANUP__');
  14.256 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('SECURITY_SYS.VALIDATE_TIMESPAN_FOR_USERS__');
  14.257 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('SERVER_LOG_UTILITY_API.ALERT_LOG_ERRORS_');
  14.258 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('SERVER_LOG_UTILITY_API.CLEANUP__');
  14.259 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('SERVER_LOG_UTILITY_API.TRANSFER_AUDIT_RECORDS_');
  14.260 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('TRANSACTION_SYS.CLEANUP__');
  14.261 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_BA_CLIENT_ARCHIVE_API.CLEANUP__');
  14.262 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_META_UTIL_API.REFRESH_DIMENSIONS');
  14.263 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_META_UTIL_API.REFRESH_FACTS');
  14.264 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_META_UTIL_API.REFRESH_MV_INFO__');
  14.265 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_META_UTIL_API.REFRESH_MVIEWS');
  14.266 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_MV_REFRESH_CATEGORY_API.REFRESH_MV_CATEGORIES');
  14.267 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_MV_UTIL_API.CLEANUP_MV_LOGS');
  14.268 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_STRUCTURE_UTIL_API.CLEANUP_STRUCTURE_DATA__');
  14.269 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_TEMPLATE_UTIL_API.CLEANUP_SYSTEM_TEMPLATES__');
  14.270 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_TEMPLATE_UTIL_API.CLEANUP_TRACE_DATA__');
  14.271 +      Batch_SYS.Rem_Cascade_Batch_Schedule_Met('XLR_WRITE_BACK_UTIL_API.CLEANUP_WRITE_BACK_DATA__');
  14.272 +
  14.273 +   END IF;
  14.274 +END;
  14.275 +/
  14.276 +
  14.277 +----------------------------------------------------------------
  14.278 +-- Removing reports for this module
  14.279 +----------------------------------------------------------------
  14.280 +BEGIN
  14.281 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.282 +      dbms_output.put_line('Removing Reports for the module...');
  14.283 +      Report_SYS.Remove_Report_Definition('FND_SECURITY_PER_OBJECT_REP');
  14.284 +      Report_SYS.Remove_Report_Definition('FND_SECURITY_PER_USER_REP');
  14.285 +      Report_SYS.Remove_Report_Definition('FND_SESSION_REP');
  14.286 +      Report_SYS.Remove_Report_Definition('FUNCTIONAL_AREA_CONFLICT_REP');
  14.287 +      Report_SYS.Remove_Report_Definition('HISTORY_LOG_REP');
  14.288 +      Report_SYS.Remove_Report_Definition('MODULE_REP');
  14.289 +   END IF;
  14.290 +END;
  14.291 +/
  14.292 +
  14.293 +----------------------------------------------------------------
  14.294 +-- Removing events related to this module
  14.295 +----------------------------------------------------------------
  14.296 +BEGIN
  14.297 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.298 +      dbms_output.put_line('Removing Events Related to this Module...');
  14.299 +      Event_SYS.Disable_Event('BACKGROUND_JOB_IN_PROGRESS', 'Transaction');
  14.300 +      Event_SYS.Disable_Event('BACKGROUND_JOB_IS_PROCESSED', 'Transaction');
  14.301 +      Event_SYS.Disable_Event('CU_WARNING', 'General');
  14.302 +      Event_SYS.Disable_Event('DATA_ARCHIVE_EXECUTED', 'DataArchiveUtil');
  14.303 +      Event_SYS.Disable_Event('HISTORY_LOG_MODIFIED', 'HistoryLog');
  14.304 +      Event_SYS.Disable_Event('MONITOR_ENTRY_WARNING', 'FndMonitorEntry');
  14.305 +      Event_SYS.Disable_Event('PDF_REPORT_CREATED', 'PrintJob');
  14.306 +      Event_SYS.Disable_Event('REPLICATION_ERROR', 'ReplicationLog');
  14.307 +      Event_SYS.Disable_Event('SECURITY_CHECKPOINT_SUCCESS', 'Security');
  14.308 +
  14.309 +   END IF;
  14.310 +END;
  14.311 +/
  14.312 +
  14.313 +----------------------------------------------------------------
  14.314 +-- Removing search domain related to the module
  14.315 +----------------------------------------------------------------
  14.316 +BEGIN
  14.317 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.318 +      dbms_output.put_line('Removing Search Domains for the Module...');
  14.319 +      Application_Search_SYS.Remove_Search_Domain('Terms');
  14.320 +      Application_Search_SYS.Remove_Search_Domain('UserProfile');
  14.321 +      Application_Search_SYS.Remove_Search_Domain('Users');
  14.322 +
  14.323 +   END IF;
  14.324 +END;
  14.325 +/
  14.326 +
  14.327 +----------------------------------------------------------------
  14.328 +-- Removing objects connections related to the module
  14.329 +----------------------------------------------------------------
  14.330 +BEGIN
  14.331 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.332 +      dbms_output.put_line('Removing Objects Connections related to the Module...');
  14.333 +      NULL;
  14.334 +   END IF;
  14.335 +END;
  14.336 +/
  14.337 +
  14.338 +BEGIN
  14.339 +   IF (SUBSTR(UPPER('&remove_data'),1,1)  = 'Y') THEN
  14.340 +      dbms_output.put_line('Finished Removing Module Specific Data...');
  14.341 +   END IF;
  14.342 +END;
  14.343 +/
  14.344 +
  14.345 +--=======================================================
  14.346 +-- DATA REMOVAL SECTION END
  14.347 +--=======================================================
  14.348 +
  14.349 +
  14.350 +----------------------------------------------------------------
  14.351 +-- Number of synonyms           : 0
  14.352 +-- Number of packages           : 836
  14.353 +-- Number of views              : 551
  14.354 +-- Number of triggers           : 0
  14.355 +-- Number of sequences          : 42
  14.356 +-- Number of materialized views : 0
  14.357 +-- Number of tables             : 403
  14.358 +----------------------------------------------------------------
  14.359 +
  14.360 +
  14.361 +----------------------------------------------------------------
  14.362 +-- Drop synonyms
  14.363 +----------------------------------------------------------------
  14.364 +
  14.365 +
  14.366 +----------------------------------------------------------------
  14.367 +-- Drop packages
  14.368 +----------------------------------------------------------------
  14.369 +
  14.370 +BEGIN
  14.371 +   dbms_output.put_line('Removing Packages for the Module...');
  14.372 +   Installation_SYS.Remove_Package('ACTIVITY_ENTITY_FILTER_API', TRUE);
  14.373 +   Installation_SYS.Remove_Package('ACTIVITY_ENTITY_USAGE_API', TRUE);
  14.374 +   Installation_SYS.Remove_Package('ACTIVITY_FNDDR_API', TRUE);
  14.375 +   Installation_SYS.Remove_Package('ACTIVITY_GRANT_API', TRUE);
  14.376 +   Installation_SYS.Remove_Package('ACTIVITY_GRANT_FILTER_API', TRUE);
  14.377 +   Installation_SYS.Remove_Package('ACTIVITY_GRANT_FILTER_TYPE_API', TRUE);
  14.378 +   Installation_SYS.Remove_Package('ACTIVITY_PACKAGE_API', TRUE);
  14.379 +   Installation_SYS.Remove_Package('ACTIVITY_PACKAGE_DIAGRAM_API', TRUE);
  14.380 +   Installation_SYS.Remove_Package('ACTIVITY_TYPE_FNDDR_API', TRUE);
  14.381 +   Installation_SYS.Remove_Package('ADDRESS_LABEL_API', TRUE);
  14.382 +   Installation_SYS.Remove_Package('AGENDA_API', TRUE);
  14.383 +   Installation_SYS.Remove_Package('API_SERVICE_LEVEL_API', TRUE);
  14.384 +   Installation_SYS.Remove_Package('APPLICATION_MESSAGE_API', TRUE);
  14.385 +   Installation_SYS.Remove_Package('APPLICATION_SEARCH_ADMIN_SYS', TRUE);
  14.386 +   Installation_SYS.Remove_Package('APPLICATION_SEARCH_INDEX_SYS', TRUE);
  14.387 +   Installation_SYS.Remove_Package('APPLICATION_SEARCH_RUNTIME_SYS', TRUE);
  14.388 +--   Installation_SYS.Remove_Package('APPLICATION_SEARCH_SYS', TRUE);
  14.389 +   Installation_SYS.Remove_Package('ARCHIVE_API', TRUE);
  14.390 +   Installation_SYS.Remove_Package('ARCHIVE_DISTRIBUTION_API', TRUE);
  14.391 +   Installation_SYS.Remove_Package('ARCHIVE_FILE_NAME_API', TRUE);
  14.392 +   Installation_SYS.Remove_Package('ARCHIVE_PARAMETER_API', TRUE);
  14.393 +   Installation_SYS.Remove_Package('ARCHIVE_VARIABLE_API', TRUE);
  14.394 +   Installation_SYS.Remove_Package('ARGUMENT_STORAGE_TYPE_API', TRUE);
  14.395 +   Installation_SYS.Remove_Package('ARGUMENT_TYPE_API', TRUE);
  14.396 +   Installation_SYS.Remove_Package('ASSERT_SYS', TRUE);
  14.397 +   Installation_SYS.Remove_Package('ASSOCIATION_TYPE_API', TRUE);
  14.398 +   Installation_SYS.Remove_Package('ATTRIBUTE_STATE_VALIDATION_API', TRUE);
  14.399 +   Installation_SYS.Remove_Package('ATTRIBUTE_VALIDATION_RULE_API', TRUE);
  14.400 +   Installation_SYS.Remove_Package('AUTHORIZATION_OBJECT_TYPE_API', TRUE);
  14.401 +   Installation_SYS.Remove_Package('BASIC_DATA_TRANSLATION_API', TRUE);
  14.402 +   Installation_SYS.Remove_Package('BATCH_JOB_API', TRUE);
  14.403 +   Installation_SYS.Remove_Package('BATCH_QUEUE_API', TRUE);
  14.404 +   Installation_SYS.Remove_Package('BATCH_QUEUE_METHOD_API', TRUE);
  14.405 +   Installation_SYS.Remove_Package('BATCH_SCHEDULE_API', TRUE);
  14.406 +   Installation_SYS.Remove_Package('BATCH_SCHEDULE_CHAIN_API', TRUE);
  14.407 +   Installation_SYS.Remove_Package('BATCH_SCHEDULE_CHAIN_PAR_API', TRUE);
  14.408 +   Installation_SYS.Remove_Package('BATCH_SCHEDULE_CHAIN_STEP_API', TRUE);
  14.409 +   Installation_SYS.Remove_Package('BATCH_SCHEDULE_METHOD_API', TRUE);
  14.410 +   Installation_SYS.Remove_Package('BATCH_SCHEDULE_METHOD_PAR_API', TRUE);
  14.411 +   Installation_SYS.Remove_Package('BATCH_SCHEDULE_PAR_API', TRUE);
  14.412 +   Installation_SYS.Remove_Package('BATCH_SCHEDULE_TYPE_API', TRUE);
  14.413 +--   Installation_SYS.Remove_Package('BATCH_SYS', TRUE);
  14.414 +   Installation_SYS.Remove_Package('BI_TIME_DIMENSION_API', TRUE);
  14.415 +   Installation_SYS.Remove_Package('BI_UTILITY_API', TRUE);
  14.416 +   Installation_SYS.Remove_Package('BINARY_OBJECT_API', TRUE);
  14.417 +   Installation_SYS.Remove_Package('BINARY_OBJECT_DATA_BLOCK_API', TRUE);
  14.418 +   Installation_SYS.Remove_Package('BINARY_OBJECT_TYPE_API', TRUE);
  14.419 +   Installation_SYS.Remove_Package('BIZ_API_TYPE_API', TRUE);
  14.420 +   Installation_SYS.Remove_Package('BODY_TYPES_API', TRUE);
  14.421 +   Installation_SYS.Remove_Package('BULLETIN_BOARD_MESSAGES_API', TRUE);
  14.422 +   Installation_SYS.Remove_Package('BULLETIN_BOARD_TOPIC_USERS_API', TRUE);
  14.423 +   Installation_SYS.Remove_Package('BULLETIN_BOARD_TOPICS_API', TRUE);
  14.424 +   Installation_SYS.Remove_Package('BULLETIN_BOARD_USER_LEVEL_API', TRUE);
  14.425 +   Installation_SYS.Remove_Package('CACHE_MANAGEMENT_API', TRUE);
  14.426 +   Installation_SYS.Remove_Package('CACHED_ARTIFACT_API', TRUE);
  14.427 +   Installation_SYS.Remove_Package('CACHED_ARTIFACT_ELEMENT_API', TRUE);
  14.428 +   Installation_SYS.Remove_Package('CARDINALITY_API', TRUE);
  14.429 +   Installation_SYS.Remove_Package('CLIENT_DIAGRAM_API', TRUE);
  14.430 +   Installation_SYS.Remove_Package('CLIENT_PACKAGE_API', TRUE);
  14.431 +   Installation_SYS.Remove_Package('CLIENT_PACKAGE_TYPE_API', TRUE);
  14.432 +   Installation_SYS.Remove_Package('CLIENT_PLUG_IN_ACTIVITY_API', TRUE);
  14.433 +   Installation_SYS.Remove_Package('CLIENT_PLUG_IN_API', TRUE);
  14.434 +   Installation_SYS.Remove_Package('CLIENT_PLUG_IN_TYPE_API', TRUE);
  14.435 +   Installation_SYS.Remove_Package('CLIENT_PROFILE_API', TRUE);
  14.436 +   Installation_SYS.Remove_Package('CLIENT_PROFILE_VALUE_API', TRUE);
  14.437 +   Installation_SYS.Remove_Package('CLIENT_SYS', TRUE);
  14.438 +   Installation_SYS.Remove_Package('COLUMN_FLAGS_API', TRUE);
  14.439 +   Installation_SYS.Remove_Package('COMMAND_SYS', TRUE);
  14.440 +   Installation_SYS.Remove_Package('COMMON_MESSAGES_API', TRUE);
  14.441 +   Installation_SYS.Remove_Package('COMPONENT_DEPENDENCY_API', TRUE);
  14.442 +   Installation_SYS.Remove_Package('COMPONENT_DEPENDENCY_TYPE_API', TRUE);
  14.443 +   Installation_SYS.Remove_Package('COMPONENT_FILE_TYPE_API', TRUE);
  14.444 +   Installation_SYS.Remove_Package('COMPONENT_PATCH_API', TRUE);
  14.445 +   Installation_SYS.Remove_Package('COMPONENT_PATCH_ROW_API', TRUE);
  14.446 +   Installation_SYS.Remove_Package('COMPONENT_TYPE_API', TRUE);
  14.447 +   Installation_SYS.Remove_Package('CONDITION_PART_API', TRUE);
  14.448 +   Installation_SYS.Remove_Package('CONFIG_PARAMETER_API', TRUE);
  14.449 +   Installation_SYS.Remove_Package('CONFIG_PARAMETER_AREA_API', TRUE);
  14.450 +   Installation_SYS.Remove_Package('CONFIG_PARAMETER_GROUP_API', TRUE);
  14.451 +   Installation_SYS.Remove_Package('CONFIG_PARAMETER_INSTANCE_API', TRUE);
  14.452 +   Installation_SYS.Remove_Package('CONNECT_DIRECTION_API', TRUE);
  14.453 +   Installation_SYS.Remove_Package('CONNECT_DOC_FORMAT_API', TRUE);
  14.454 +   Installation_SYS.Remove_Package('CONNECTIVITY_SYS', TRUE);
  14.455 +   Installation_SYS.Remove_Package('CONTEXT_API', TRUE);
  14.456 +   Installation_SYS.Remove_Package('CONTEXT_SUBSTITUTION_VAR_API', TRUE);
  14.457 +   Installation_SYS.Remove_Package('CRYSTAL_EXPORT_TYPES_API', TRUE);
  14.458 +   Installation_SYS.Remove_Package('CRYSTAL_WEB_UTIL_API', TRUE);
  14.459 +   Installation_SYS.Remove_Package('CURRENT_ORACLE_USER_SYS', TRUE);
  14.460 +   Installation_SYS.Remove_Package('CUSTOM_MENU_API', TRUE);
  14.461 +   Installation_SYS.Remove_Package('CUSTOM_MENU_EXP_PAR_API', TRUE);
  14.462 +   Installation_SYS.Remove_Package('CUSTOM_MENU_KEY_TRANS_API', TRUE);
  14.463 +   Installation_SYS.Remove_Package('CUSTOM_MENU_TEXT_API', TRUE);
  14.464 +   Installation_SYS.Remove_Package('CUSTOM_MENU_TYPE_API', TRUE);
  14.465 +   Installation_SYS.Remove_Package('CUSTOM_MENU_UTIL_API', TRUE);
  14.466 +   Installation_SYS.Remove_Package('CUSTOM_OBJECTS_SYS', TRUE);
  14.467 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_DESTINATION_API', TRUE);
  14.468 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_EXEC_ATTR_API', TRUE);
  14.469 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_LOG_API', TRUE);
  14.470 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_OBJECT_API', TRUE);
  14.471 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_ORDER_API', TRUE);
  14.472 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_ORDER_EXEC_API', TRUE);
  14.473 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_SOURCE_API', TRUE);
  14.474 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_SOURCE_ATTR_API', TRUE);
  14.475 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_SYS', TRUE);
  14.476 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_TYPE_API', TRUE);
  14.477 +   Installation_SYS.Remove_Package('DATA_ARCHIVE_UTIL_API', TRUE);
  14.478 +   Installation_SYS.Remove_Package('DATABASE_OBJECT_TYPE_API', TRUE);
  14.479 +   Installation_SYS.Remove_Package('DATATYPE_API', TRUE);
  14.480 +   Installation_SYS.Remove_Package('DB_SCRIPT_REGISTER_API', TRUE);
  14.481 +   Installation_SYS.Remove_Package('DB_SCRIPT_REGISTER_DETAIL_API', TRUE);
  14.482 +   Installation_SYS.Remove_Package('DEBUG_LEVELS_API', TRUE);
  14.483 +   Installation_SYS.Remove_Package('DEFERRED_JOB_API', TRUE);
  14.484 +   Installation_SYS.Remove_Package('DEFERRED_JOB_STATE_API', TRUE);
  14.485 +   Installation_SYS.Remove_Package('DEFERRED_JOB_STATUS_API', TRUE);
  14.486 +   Installation_SYS.Remove_Package('DELETE_BEHAVIOR_API', TRUE);
  14.487 +   Installation_SYS.Remove_Package('DESIGN_SYS', TRUE);
  14.488 +   Installation_SYS.Remove_Package('DETAIL_VALIDATION_API', TRUE);
  14.489 +   Installation_SYS.Remove_Package('DICTIONARY_SYS', TRUE);
  14.490 +   Installation_SYS.Remove_Package('DISTRIBUTION_GROUP_API', TRUE);
  14.491 +   Installation_SYS.Remove_Package('DISTRIBUTION_GROUP_MEMBER_API', TRUE);
  14.492 +   Installation_SYS.Remove_Package('DISTRIBUTION_GROUP_PROT_API', TRUE);
  14.493 +   Installation_SYS.Remove_Package('DOCUMENT_LIFECYCLE_API', TRUE);
  14.494 +   Installation_SYS.Remove_Package('DOMAIN_SYS', TRUE);
  14.495 +   Installation_SYS.Remove_Package('DRAFT_API', TRUE);
  14.496 +   Installation_SYS.Remove_Package('DSOD_API', TRUE);
  14.497 +   Installation_SYS.Remove_Package('DSOD_CRITERIA_API', TRUE);
  14.498 +   Installation_SYS.Remove_Package('DSOD_DISPLAY_ITEM_API', TRUE);
  14.499 +   Installation_SYS.Remove_Package('DSOD_GROUPING_API', TRUE);
  14.500 +   Installation_SYS.Remove_Package('DSOD_SET_API', TRUE);
  14.501 +   Installation_SYS.Remove_Package('DSOD_SORTING_API', TRUE);
  14.502 +   Installation_SYS.Remove_Package('DSOD_STRUCTURE_REQUEST_API', TRUE);
  14.503 +   Installation_SYS.Remove_Package('ENTITY_API', TRUE);
  14.504 +   Installation_SYS.Remove_Package('ENTITY_ASS_STATE_VALID_API', TRUE);
  14.505 +   Installation_SYS.Remove_Package('ENTITY_ASSOCIATION_API', TRUE);
  14.506 +   Installation_SYS.Remove_Package('ENTITY_ASSOCIATION_ATTR_API', TRUE);
  14.507 +   Installation_SYS.Remove_Package('ENTITY_ATTRIBUTE_API', TRUE);
  14.508 +   Installation_SYS.Remove_Package('ENTITY_CATEGORY_API', TRUE);
  14.509 +   Installation_SYS.Remove_Package('ENTITY_DIAGRAM_API', TRUE);
  14.510 +   Installation_SYS.Remove_Package('ENTITY_PACKAGE_API', TRUE);
  14.511 +   Installation_SYS.Remove_Package('ENTITY_PACKAGE_DIAGRAM_API', TRUE);
  14.512 +   Installation_SYS.Remove_Package('ENTITY_STATE_API', TRUE);
  14.513 +   Installation_SYS.Remove_Package('ENTITY_STATE_TYPE_API', TRUE);
  14.514 +   Installation_SYS.Remove_Package('ENTITY_STATES_API', TRUE);
  14.515 +   Installation_SYS.Remove_Package('ENTITY_USAGE_TYPE_API', TRUE);
  14.516 +   Installation_SYS.Remove_Package('ENUMERATION_VALUE_API', TRUE);
  14.517 +   Installation_SYS.Remove_Package('ERROR_SYS', TRUE);
  14.518 +--   Installation_SYS.Remove_Package('EVENT_SYS', TRUE);
  14.519 +   Installation_SYS.Remove_Package('EXCEL_REPORT_ARCHIVE_API', TRUE);
  14.520 +   Installation_SYS.Remove_Package('EXECUTE_AS_API', TRUE);
  14.521 +   Installation_SYS.Remove_Package('FEATURE_ACTIVITY_API', TRUE);
  14.522 +   Installation_SYS.Remove_Package('FEATURE_API', TRUE);
  14.523 +   Installation_SYS.Remove_Package('FEATURE_TYPE_API', TRUE);
  14.524 +   Installation_SYS.Remove_Package('FEATURE_WIDGET_API', TRUE);
  14.525 +   Installation_SYS.Remove_Package('FILE_CATEGORY_API', TRUE);
  14.526 +   Installation_SYS.Remove_Package('FILE_TYPE_API', TRUE);
  14.527 +   Installation_SYS.Remove_Package('FILTER_API', TRUE);
  14.528 +   Installation_SYS.Remove_Package('FILTER_PARAMETER_API', TRUE);
  14.529 +   Installation_SYS.Remove_Package('FILTER_TYPE_API', TRUE);
  14.530 +   Installation_SYS.Remove_Package('FIRST_WEEK_OF_YEAR_API', TRUE);
  14.531 +   Installation_SYS.Remove_Package('FND_BOOLEAN_API', TRUE);
  14.532 +   Installation_SYS.Remove_Package('FND_CODE_TEMPLATE_API', TRUE);
  14.533 +   Installation_SYS.Remove_Package('FND_DATA_TYPE_API', TRUE);
  14.534 +   Installation_SYS.Remove_Package('FND_EVENT_ACTION_API', TRUE);
  14.535 +   Installation_SYS.Remove_Package('FND_EVENT_ACTION_SUBSCRIBE_API', TRUE);
  14.536 +   Installation_SYS.Remove_Package('FND_EVENT_ACTION_TYPE_API', TRUE);
  14.537 +   Installation_SYS.Remove_Package('FND_EVENT_API', TRUE);
  14.538 +   Installation_SYS.Remove_Package('FND_EVENT_MY_MESSAGES_API', TRUE);
  14.539 +   Installation_SYS.Remove_Package('FND_EVENT_PARAMETER_API', TRUE);
  14.540 +   Installation_SYS.Remove_Package('FND_EVENT_TYPE_API', TRUE);
  14.541 +   Installation_SYS.Remove_Package('FND_GRANT_ROLE_API', TRUE);
  14.542 +   Installation_SYS.Remove_Package('FND_LICENSE_API', TRUE);
  14.543 +   Installation_SYS.Remove_Package('FND_MONITOR_CATEGORY_API', TRUE);
  14.544 +   Installation_SYS.Remove_Package('FND_MONITOR_ENTRY_API', TRUE);
  14.545 +   Installation_SYS.Remove_Package('FND_NODE_TYPE_API', TRUE);
  14.546 +   Installation_SYS.Remove_Package('FND_NOTE_BOOK_API', TRUE);
  14.547 +   Installation_SYS.Remove_Package('FND_NOTE_PAGE_API', TRUE);
  14.548 +   Installation_SYS.Remove_Package('FND_ROLE_API', TRUE);
  14.549 +   Installation_SYS.Remove_Package('FND_ROLE_TYPE_API', TRUE);
  14.550 +   Installation_SYS.Remove_Package('FND_SECURITY_PER_OBJECT_RPI', TRUE);
  14.551 +   Installation_SYS.Remove_Package('FND_SECURITY_PER_USER_RPI', TRUE);
  14.552 +   Installation_SYS.Remove_Package('FND_SESSION_API', TRUE);
  14.553 +   Installation_SYS.Remove_Package('FND_SESSION_RPI', TRUE);
  14.554 +   Installation_SYS.Remove_Package('FND_SESSION_UTIL_API', TRUE);
  14.555 +   Installation_SYS.Remove_Package('FND_SETTING_API', TRUE);
  14.556 +   Installation_SYS.Remove_Package('FND_TRANSLATION_API', TRUE);
  14.557 +   Installation_SYS.Remove_Package('FND_USER_API', TRUE);
  14.558 +   Installation_SYS.Remove_Package('FND_USER_PROPERTY_API', TRUE);
  14.559 +   Installation_SYS.Remove_Package('FND_USER_PROPERTY_SEC_API', TRUE);
  14.560 +   Installation_SYS.Remove_Package('FND_USER_ROLE_API', TRUE);
  14.561 +   Installation_SYS.Remove_Package('FND_WEEK_DAY_API', TRUE);
  14.562 +   Installation_SYS.Remove_Package('FND_WORKSPACE_UTIL_API', TRUE);
  14.563 +   Installation_SYS.Remove_Package('FND_YES_NO_API', TRUE);
  14.564 +   Installation_SYS.Remove_Package('FNDCN_MESSAGE_ARCHIVE_UTIL_API', TRUE);
  14.565 +   Installation_SYS.Remove_Package('FNDRR_CLIENT_PROFILE_API', TRUE);
  14.566 +   Installation_SYS.Remove_Package('FNDRR_CLIENT_PROFILE_UTIL_API', TRUE);
  14.567 +   Installation_SYS.Remove_Package('FNDRR_CLIENT_PROFILE_VALUE_API', TRUE);
  14.568 +   Installation_SYS.Remove_Package('FNDRR_USER_CLIENT_PROFILE_API', TRUE);
  14.569 +   Installation_SYS.Remove_Package('FUNC_AREA_CONFLICT_CACHE_API', TRUE);
  14.570 +   Installation_SYS.Remove_Package('FUNC_AREA_CONFLICT_TYPE_API', TRUE);
  14.571 +   Installation_SYS.Remove_Package('FUNC_AREA_SEC_CACHE_API', TRUE);
  14.572 +   Installation_SYS.Remove_Package('FUNC_AREA_SEC_OBJECT_TYPE_API', TRUE);
  14.573 +   Installation_SYS.Remove_Package('FUNCTIONAL_AREA_ACTIVITY_API', TRUE);
  14.574 +   Installation_SYS.Remove_Package('FUNCTIONAL_AREA_CONFLICT_API', TRUE);
  14.575 +   Installation_SYS.Remove_Package('FUNCTIONAL_AREA_CONFLICT_RPI', TRUE);
  14.576 +   Installation_SYS.Remove_Package('FUNCTIONAL_AREA_METHOD_API', TRUE);
  14.577 +   Installation_SYS.Remove_Package('FUNCTIONAL_AREA_VIEW_API', TRUE);
  14.578 +   Installation_SYS.Remove_Package('GENERAL_SYS', TRUE);
  14.579 +   Installation_SYS.Remove_Package('HANDLER_API', TRUE);
  14.580 +   Installation_SYS.Remove_Package('HANDLER_METHOD_API', TRUE);
  14.581 +   Installation_SYS.Remove_Package('HANDLER_TYPE_API', TRUE);
  14.582 +   Installation_SYS.Remove_Package('HINT_TYPE_API', TRUE);
  14.583 +   Installation_SYS.Remove_Package('HISTORY_LOG_API', TRUE);
  14.584 +   Installation_SYS.Remove_Package('HISTORY_LOG_ATTRIBUTE_API', TRUE);
  14.585 +   Installation_SYS.Remove_Package('HISTORY_LOG_RPI', TRUE);
  14.586 +   Installation_SYS.Remove_Package('HISTORY_LOG_UTIL_API', TRUE);
  14.587 +   Installation_SYS.Remove_Package('HISTORY_SETTING_API', TRUE);
  14.588 +   Installation_SYS.Remove_Package('HISTORY_SETTING_ATTRIBUTE_API', TRUE);
  14.589 +   Installation_SYS.Remove_Package('HISTORY_SETTING_UTIL_API', TRUE);
  14.590 +   Installation_SYS.Remove_Package('HISTORY_TYPE_API', TRUE);
  14.591 +   Installation_SYS.Remove_Package('I_FACE_CONTROL_PARAMETER_API', TRUE);
  14.592 +   Installation_SYS.Remove_Package('IAL_OBJECT_API', TRUE);
  14.593 +   Installation_SYS.Remove_Package('IAL_OBJECT_UTIL_API', TRUE);
  14.594 +   Installation_SYS.Remove_Package('IMPLEMENTATION_TYPE_API', TRUE);
  14.595 +   Installation_SYS.Remove_Package('IN_MESSAGE_API', TRUE);
  14.596 +   Installation_SYS.Remove_Package('IN_MESSAGE_LINE_API', TRUE);
  14.597 +   Installation_SYS.Remove_Package('IN_MESSAGE_LOADED_API', TRUE);
  14.598 +   Installation_SYS.Remove_Package('IN_MESSAGE_UTIL_API', TRUE);
  14.599 +   Installation_SYS.Remove_Package('INDEX_COLUMN_API', TRUE);
  14.600 +   Installation_SYS.Remove_Package('INFORMATION_OBJECT_TYPE_API', TRUE);
  14.601 +   Installation_SYS.Remove_Package('INSTALL_TEM_SYS', TRUE);
  14.602 +   Installation_SYS.Remove_Package('INSTALLATION_SITE_API', TRUE);
  14.603 +--   Installation_SYS.Remove_Package('INSTALLATION_SYS', TRUE);
  14.604 +   Installation_SYS.Remove_Package('INSTALLED_COMPONENT_SYS', TRUE);
  14.605 +   Installation_SYS.Remove_Package('INTREP_TYPES_API', TRUE);
  14.606 +   Installation_SYS.Remove_Package('ITEM_OWNER_API', TRUE);
  14.607 +   Installation_SYS.Remove_Package('J2EE_APPLICATION_API', TRUE);
  14.608 +   Installation_SYS.Remove_Package('J2EE_MODULE_API', TRUE);
  14.609 +   Installation_SYS.Remove_Package('JOB_TYPES_API', TRUE);
  14.610 +   Installation_SYS.Remove_Package('LANGUAGE_ATTRIBUTE_API', TRUE);
  14.611 +   Installation_SYS.Remove_Package('LANGUAGE_ATTRIBUTE_NAME_API', TRUE);
  14.612 +   Installation_SYS.Remove_Package('LANGUAGE_CODE_API', TRUE);
  14.613 +   Installation_SYS.Remove_Package('LANGUAGE_CODE_STATUS_API', TRUE);
  14.614 +   Installation_SYS.Remove_Package('LANGUAGE_CONNECTION_API', TRUE);
  14.615 +   Installation_SYS.Remove_Package('LANGUAGE_CONTENT_TYPE_API', TRUE);
  14.616 +   Installation_SYS.Remove_Package('LANGUAGE_CONTEXT_API', TRUE);
  14.617 +   Installation_SYS.Remove_Package('LANGUAGE_CONTEXT_MAIN_TYPE_API', TRUE);
  14.618 +   Installation_SYS.Remove_Package('LANGUAGE_CONTEXT_SUB_TYPE_API', TRUE);
  14.619 +   Installation_SYS.Remove_Package('LANGUAGE_DESTINATION_API', TRUE);
  14.620 +   Installation_SYS.Remove_Package('LANGUAGE_DRIVER_API', TRUE);
  14.621 +   Installation_SYS.Remove_Package('LANGUAGE_EXPORT_METHOD_API', TRUE);
  14.622 +   Installation_SYS.Remove_Package('LANGUAGE_FILE_EXPORT_API', TRUE);
  14.623 +   Installation_SYS.Remove_Package('LANGUAGE_FILE_IMPORT_API', TRUE);
  14.624 +   Installation_SYS.Remove_Package('LANGUAGE_FONT_MAPPING_API', TRUE);
  14.625 +   Installation_SYS.Remove_Package('LANGUAGE_IMPORT_METHOD_API', TRUE);
  14.626 +--   Installation_SYS.Remove_Package('LANGUAGE_MODULE_API', TRUE);
  14.627 +   Installation_SYS.Remove_Package('LANGUAGE_OBSOLETE_API', TRUE);
  14.628 +   Installation_SYS.Remove_Package('LANGUAGE_PROPERTY_API', TRUE);
  14.629 +   Installation_SYS.Remove_Package('LANGUAGE_SOURCE_API', TRUE);
  14.630 +   Installation_SYS.Remove_Package('LANGUAGE_SOURCE_UTIL_API', TRUE);
  14.631 +   Installation_SYS.Remove_Package('LANGUAGE_SYS', TRUE);
  14.632 +   Installation_SYS.Remove_Package('LANGUAGE_SYS_IMP_API', TRUE);
  14.633 +   Installation_SYS.Remove_Package('LANGUAGE_TR_METHOD_API', TRUE);
  14.634 +   Installation_SYS.Remove_Package('LANGUAGE_TR_STATUS_API', TRUE);
  14.635 +   Installation_SYS.Remove_Package('LANGUAGE_TRANSLATION_API', TRUE);
  14.636 +   Installation_SYS.Remove_Package('LANGUAGE_TRANSLATION_UTIL_API', TRUE);
  14.637 +   Installation_SYS.Remove_Package('LANGUAGE_WRITE_PROTECT_API', TRUE);
  14.638 +   Installation_SYS.Remove_Package('LAYOUT_TYPE_API', TRUE);
  14.639 +   Installation_SYS.Remove_Package('LDAP_CONFIGURATION_API', TRUE);
  14.640 +   Installation_SYS.Remove_Package('LDAP_DOMAIN_CONFIG_API', TRUE);
  14.641 +   Installation_SYS.Remove_Package('LDAP_MAPPING_API', TRUE);
  14.642 +   Installation_SYS.Remove_Package('LICENSE_CATEGORY_API', TRUE);
  14.643 +   Installation_SYS.Remove_Package('LOGICAL_PRINTER_API', TRUE);
  14.644 +   Installation_SYS.Remove_Package('LOGICAL_UNIT_API', TRUE);
  14.645 +   Installation_SYS.Remove_Package('LOGICAL_UNIT_DETAILS_API', TRUE);
  14.646 +   Installation_SYS.Remove_Package('LOGICAL_UNIT_TYPE_API', TRUE);
  14.647 +   Installation_SYS.Remove_Package('LOGIN_SYS', TRUE);
  14.648 +   Installation_SYS.Remove_Package('LU_ATTRIBUTE_API', TRUE);
  14.649 +   Installation_SYS.Remove_Package('LU_CATEGORY_API', TRUE);
  14.650 +   Installation_SYS.Remove_Package('LU_OPERATION_API', TRUE);
  14.651 +   Installation_SYS.Remove_Package('LU_TYPE_API', TRUE);
  14.652 +   Installation_SYS.Remove_Package('MAPPED_ENTITY_API', TRUE);
  14.653 +   Installation_SYS.Remove_Package('MESSAGE_ARCHIVE_ADDRESS_API', TRUE);
  14.654 +   Installation_SYS.Remove_Package('MESSAGE_ARCHIVE_API', TRUE);
  14.655 +   Installation_SYS.Remove_Package('MESSAGE_ARCHIVE_BODY_API', TRUE);
  14.656 +   Installation_SYS.Remove_Package('MESSAGE_ARCHIVE_SEARCH_API', TRUE);
  14.657 +   Installation_SYS.Remove_Package('MESSAGE_BODY_API', TRUE);
  14.658 +   Installation_SYS.Remove_Package('MESSAGE_CLASS_API', TRUE);
  14.659 +   Installation_SYS.Remove_Package('MESSAGE_MEDIA_API', TRUE);
  14.660 +   Installation_SYS.Remove_Package('MESSAGE_QUEUE_API', TRUE);
  14.661 +   Installation_SYS.Remove_Package('MESSAGE_RECEIVER_API', TRUE);
  14.662 +   Installation_SYS.Remove_Package('MESSAGE_STATE_TYPES_API', TRUE);
  14.663 +   Installation_SYS.Remove_Package('MESSAGE_SYS', TRUE);
  14.664 +   Installation_SYS.Remove_Package('METHOD_FILTER_API', TRUE);
  14.665 +   Installation_SYS.Remove_Package('METHOD_IMPLEMENTATION_API', TRUE);
  14.666 +   Installation_SYS.Remove_Package('METHOD_PARAMETER_API', TRUE);
  14.667 +   Installation_SYS.Remove_Package('MOBILE_CLIENT_PACKAGE_API', TRUE);
  14.668 +   Installation_SYS.Remove_Package('MOBILE_ENTITY_SYNCH_API', TRUE);
  14.669 +   Installation_SYS.Remove_Package('MOBILE_OPTIMIZER_DATA_API', TRUE);
  14.670 +   Installation_SYS.Remove_Package('MOBILE_USER_CACHE_API', TRUE);
  14.671 +   Installation_SYS.Remove_Package('MODEL_IMPORT_LOG_API', TRUE);
  14.672 +   Installation_SYS.Remove_Package('MODEL_WORKSPACE_API', TRUE);
  14.673 +--   Installation_SYS.Remove_Package('MODULE_API', TRUE);
  14.674 +   Installation_SYS.Remove_Package('MODULE_DB_PATCH_API', TRUE);
  14.675 +   Installation_SYS.Remove_Package('MODULE_DEPENDENCY_API', TRUE);
  14.676 +   Installation_SYS.Remove_Package('MODULE_DIAGRAM_API', TRUE);
  14.677 +   Installation_SYS.Remove_Package('MODULE_FNDDR_API', TRUE);
  14.678 +   Installation_SYS.Remove_Package('MODULE_RPI', TRUE);
  14.679 +   Installation_SYS.Remove_Package('MODULE_SYSTEM_DOC_API', TRUE);
  14.680 +   Installation_SYS.Remove_Package('MODULE_TRANSLATE_ATTR_UTIL_API', TRUE);
  14.681 +   Installation_SYS.Remove_Package('MOUNTPOINT_TYPE_API', TRUE);
  14.682 +   Installation_SYS.Remove_Package('MY_TODO_ITEM_API', TRUE);
  14.683 +   Installation_SYS.Remove_Package('NLS_CALENDAR_API', TRUE);
  14.684 +   Installation_SYS.Remove_Package('NOTE_API', TRUE);
  14.685 +   Installation_SYS.Remove_Package('NOTE_BOOK_API', TRUE);
  14.686 +   Installation_SYS.Remove_Package('NUM_FMT_CURR_NEG_PATTERN_API', TRUE);
  14.687 +   Installation_SYS.Remove_Package('NUM_FMT_CURR_POS_PATTERN_API', TRUE);
  14.688 +   Installation_SYS.Remove_Package('NUM_FMT_NUM_NEG_PATTERN_API', TRUE);
  14.689 +   Installation_SYS.Remove_Package('NUM_FMT_PERC_NEG_PATTERN_API', TRUE);
  14.690 +   Installation_SYS.Remove_Package('NUM_FMT_PERC_POS_PATTERN_API', TRUE);
  14.691 +   Installation_SYS.Remove_Package('OBJECT_CONNECTION_SYS', TRUE);
  14.692 +   Installation_SYS.Remove_Package('ORACLE_ACCOUNT_API', TRUE);
  14.693 +   Installation_SYS.Remove_Package('ORACLE_DATATYPE_API', TRUE);
  14.694 +   Installation_SYS.Remove_Package('ORACLE_PROFILE_API', TRUE);
  14.695 +   Installation_SYS.Remove_Package('ORACLE_PROFILE_LIMITS_API', TRUE);
  14.696 +   Installation_SYS.Remove_Package('OUT_MESSAGE_API', TRUE);
  14.697 +   Installation_SYS.Remove_Package('OUT_MESSAGE_LINE_API', TRUE);
  14.698 +   Installation_SYS.Remove_Package('OUT_MESSAGE_UTIL_API', TRUE);
  14.699 +   Installation_SYS.Remove_Package('PACKAGE_DEPENDENCY_API', TRUE);
  14.700 +   Installation_SYS.Remove_Package('PACKAGE_DIAGRAM_API', TRUE);
  14.701 +   Installation_SYS.Remove_Package('PAPER_FORMAT_API', TRUE);
  14.702 +   Installation_SYS.Remove_Package('PARAMETER_API', TRUE);
  14.703 +   Installation_SYS.Remove_Package('PARAMETER_DIRECTION_API', TRUE);
  14.704 +   Installation_SYS.Remove_Package('PARAMETER_GROUP_TYPES_API', TRUE);
  14.705 +   Installation_SYS.Remove_Package('PARAMETER_TYPES_API', TRUE);
  14.706 +   Installation_SYS.Remove_Package('PATTERN_TYPES_API', TRUE);
  14.707 +   Installation_SYS.Remove_Package('PDF_ARCHIVE_API', TRUE);
  14.708 +   Installation_SYS.Remove_Package('PERFORMANCE_ANALYZE_API', TRUE);
  14.709 +   Installation_SYS.Remove_Package('PERMISSION_SET_FILTER_API', TRUE);
  14.710 +   Installation_SYS.Remove_Package('PERMISSION_SET_FILTER_PAR_API', TRUE);
  14.711 +   Installation_SYS.Remove_Package('PIRINT_AGENT_DEBUG_LEVEL_API', TRUE);
  14.712 +   Installation_SYS.Remove_Package('PLSQL_METHOD_API', TRUE);
  14.713 +   Installation_SYS.Remove_Package('PLSQL_PACKAGE_API', TRUE);
  14.714 +   Installation_SYS.Remove_Package('PLSQL_PARAMETER_API', TRUE);
  14.715 +   Installation_SYS.Remove_Package('PLSQLAP_BUFFER_API', TRUE);
  14.716 +   Installation_SYS.Remove_Package('PLSQLAP_RECORD_API', TRUE);
  14.717 +   Installation_SYS.Remove_Package('PLSQLAP_SERVER_API', TRUE);
  14.718 +   Installation_SYS.Remove_Package('PRES_OBJECT_API', TRUE);
  14.719 +   Installation_SYS.Remove_Package('PRES_OBJECT_CHANGE_API', TRUE);
  14.720 +   Installation_SYS.Remove_Package('PRES_OBJECT_CHANGE_TYPE_API', TRUE);
  14.721 +   Installation_SYS.Remove_Package('PRES_OBJECT_DEP_CHANGE_API', TRUE);
  14.722 +   Installation_SYS.Remove_Package('PRES_OBJECT_DEP_TYPE_API', TRUE);
  14.723 +   Installation_SYS.Remove_Package('PRES_OBJECT_DEPENDENCY_API', TRUE);
  14.724 +   Installation_SYS.Remove_Package('PRES_OBJECT_DESCRIPTION_API', TRUE);
  14.725 +   Installation_SYS.Remove_Package('PRES_OBJECT_EXCLUDE_API', TRUE);
  14.726 +   Installation_SYS.Remove_Package('PRES_OBJECT_GRANT_API', TRUE);
  14.727 +   Installation_SYS.Remove_Package('PRES_OBJECT_INCLUDE_API', TRUE);
  14.728 +   Installation_SYS.Remove_Package('PRES_OBJECT_INCLUDE_SEC_API', TRUE);
  14.729 +   Installation_SYS.Remove_Package('PRES_OBJECT_SEC_CHANGE_API', TRUE);
  14.730 +   Installation_SYS.Remove_Package('PRES_OBJECT_SEC_EXPORT_API', TRUE);
  14.731 +   Installation_SYS.Remove_Package('PRES_OBJECT_SEC_SUB_TYPE_API', TRUE);
  14.732 +   Installation_SYS.Remove_Package('PRES_OBJECT_SECURITY_API', TRUE);
  14.733 +   Installation_SYS.Remove_Package('PRES_OBJECT_SECURITY_TYPE_API', TRUE);
  14.734 +   Installation_SYS.Remove_Package('PRES_OBJECT_TYPE_API', TRUE);
  14.735 +--   Installation_SYS.Remove_Package('PRES_OBJECT_UTIL_API', TRUE);
  14.736 +   Installation_SYS.Remove_Package('PRINT_JOB_API', TRUE);
  14.737 +   Installation_SYS.Remove_Package('PRINT_JOB_CONTENTS_API', TRUE);
  14.738 +   Installation_SYS.Remove_Package('PRINT_JOB_OWNER_API', TRUE);
  14.739 +   Installation_SYS.Remove_Package('PRINT_JOB_STATUS_API', TRUE);
  14.740 +   Installation_SYS.Remove_Package('PRINT_QUEUE_API', TRUE);
  14.741 +   Installation_SYS.Remove_Package('PROJECT_SETTING_API', TRUE);
  14.742 +   Installation_SYS.Remove_Package('QUERY_HINT_COL_API', TRUE);
  14.743 +   Installation_SYS.Remove_Package('QUERY_HINT_INDEX_API', TRUE);
  14.744 +   Installation_SYS.Remove_Package('QUERY_HINT_TABLE_API', TRUE);
  14.745 +   Installation_SYS.Remove_Package('QUERY_HINT_UTILITY_API', TRUE);
  14.746 +   Installation_SYS.Remove_Package('QUERY_HINT_VIEW_API', TRUE);
  14.747 +   Installation_SYS.Remove_Package('QUEUE_TYPES_API', TRUE);
  14.748 +   Installation_SYS.Remove_Package('QUICK_REPORT_API', TRUE);
  14.749 +   Installation_SYS.Remove_Package('QUICK_REPORT_TYPE_API', TRUE);
  14.750 +   Installation_SYS.Remove_Package('RECEIVE_ATTR_API', TRUE);
  14.751 +   Installation_SYS.Remove_Package('RECEIVE_ATTR_GROUP_API', TRUE);
  14.752 +   Installation_SYS.Remove_Package('RECEIVE_CONDITION_API', TRUE);
  14.753 +   Installation_SYS.Remove_Package('RECEIVE_GROUP_API', TRUE);
  14.754 +   Installation_SYS.Remove_Package('RECEIVE_OBJECT_API', TRUE);
  14.755 +   Installation_SYS.Remove_Package('RECURRENCE_AGENDA_API', TRUE);
  14.756 +   Installation_SYS.Remove_Package('RECURRENCE_PATTERN_API', TRUE);
  14.757 +   Installation_SYS.Remove_Package('REFERENCE_SYS', TRUE);
  14.758 +   Installation_SYS.Remove_Package('REMOTE_DEBUG_SYS', TRUE);
  14.759 +   Installation_SYS.Remove_Package('REMOTE_PRINTER_MAPPING_API', TRUE);
  14.760 +   Installation_SYS.Remove_Package('REMOTE_PRINTING_NODE_API', TRUE);
  14.761 +   Installation_SYS.Remove_Package('REPLICATION_ATTR_DEF_API', TRUE);
  14.762 +   Installation_SYS.Remove_Package('REPLICATION_ATTR_GROUP_API', TRUE);
  14.763 +   Installation_SYS.Remove_Package('REPLICATION_ATTR_GROUP_DEF_API', TRUE);
  14.764 +   Installation_SYS.Remove_Package('REPLICATION_CONDITION_API', TRUE);
  14.765 +   Installation_SYS.Remove_Package('REPLICATION_DESIGN_UTIL_API', TRUE);
  14.766 +   Installation_SYS.Remove_Package('REPLICATION_GROUP_API', TRUE);
  14.767 +   Installation_SYS.Remove_Package('REPLICATION_LOG_API', TRUE);
  14.768 +   Installation_SYS.Remove_Package('REPLICATION_OBJECT_API', TRUE);
  14.769 +   Installation_SYS.Remove_Package('REPLICATION_OBJECT_DEF_API', TRUE);
  14.770 +   Installation_SYS.Remove_Package('REPLICATION_QUEUE_API', TRUE);
  14.771 +   Installation_SYS.Remove_Package('REPLICATION_RECEIVER_API', TRUE);
  14.772 +   Installation_SYS.Remove_Package('REPLICATION_SENDER_API', TRUE);
  14.773 +   Installation_SYS.Remove_Package('REPLICATION_STATISTICS_API', TRUE);
  14.774 +   Installation_SYS.Remove_Package('REPLICATION_SYS', TRUE);
  14.775 +   Installation_SYS.Remove_Package('REPLICATION_UTIL_API', TRUE);
  14.776 +   Installation_SYS.Remove_Package('REPORT_ARCHIVING_API', TRUE);
  14.777 +   Installation_SYS.Remove_Package('REPORT_CATEGORY_API', TRUE);
  14.778 +   Installation_SYS.Remove_Package('REPORT_COLUMN_DEFINITION_API', TRUE);
  14.779 +   Installation_SYS.Remove_Package('REPORT_DEFINITION_API', TRUE);
  14.780 +   Installation_SYS.Remove_Package('REPORT_FONT_DEFINITION_API', TRUE);
  14.781 +   Installation_SYS.Remove_Package('REPORT_FORMAT_TYPE_API', TRUE);
  14.782 +   Installation_SYS.Remove_Package('REPORT_LAYOUT_API', TRUE);
  14.783 +   Installation_SYS.Remove_Package('REPORT_LAYOUT_DEFINITION_API', TRUE);
  14.784 +   Installation_SYS.Remove_Package('REPORT_LAYOUT_TYPE_API', TRUE);
  14.785 +   Installation_SYS.Remove_Package('REPORT_LAYOUT_TYPE_CONFIG_API', TRUE);
  14.786 +   Installation_SYS.Remove_Package('REPORT_LU_DEFINITION_API', TRUE);
  14.787 +   Installation_SYS.Remove_Package('REPORT_PARAMETER_API', TRUE);
  14.788 +   Installation_SYS.Remove_Package('REPORT_PDF_INSERT_API', TRUE);
  14.789 +   Installation_SYS.Remove_Package('REPORT_PLUGIN_API', TRUE);
  14.790 +   Installation_SYS.Remove_Package('REPORT_RESULT_GEN_CONFIG_API', TRUE);
  14.791 +   Installation_SYS.Remove_Package('REPORT_RULE_ACTION_API', TRUE);
  14.792 +   Installation_SYS.Remove_Package('REPORT_RULE_CONDITION_API', TRUE);
  14.793 +   Installation_SYS.Remove_Package('REPORT_RULE_DEFINITION_API', TRUE);
  14.794 +   Installation_SYS.Remove_Package('REPORT_RULE_LOG_API', TRUE);
  14.795 +   Installation_SYS.Remove_Package('REPORT_SCHEMA_API', TRUE);
  14.796 +--   Installation_SYS.Remove_Package('REPORT_SYS', TRUE);
  14.797 +   Installation_SYS.Remove_Package('REPORT_TEXT_API', TRUE);
  14.798 +   Installation_SYS.Remove_Package('REPORT_USER_SETTINGS_API', TRUE);
  14.799 +   Installation_SYS.Remove_Package('ROUTE_ADDRESS_API', TRUE);
  14.800 +   Installation_SYS.Remove_Package('ROUTE_ADDRESS_REFERENCE_API', TRUE);
  14.801 +   Installation_SYS.Remove_Package('ROUTE_CONDITION_API', TRUE);
  14.802 +   Installation_SYS.Remove_Package('SEARCH_CRITERIA_API', TRUE);
  14.803 +   Installation_SYS.Remove_Package('SEARCH_DOMAIN_DOCUMENT_API', TRUE);
  14.804 +   Installation_SYS.Remove_Package('SEARCH_DOMAIN_GROUP_API', TRUE);
  14.805 +   Installation_SYS.Remove_Package('SEARCH_DOMAIN_GROUP_MEMBER_API', TRUE);
  14.806 +   Installation_SYS.Remove_Package('SEARCH_DOMAIN_RUNTIME_API', TRUE);
  14.807 +   Installation_SYS.Remove_Package('SEARCH_DOMAIN_UNSYNCHED_API', TRUE);
  14.808 +   Installation_SYS.Remove_Package('SEC_CHECKPOINT_GATE_API', TRUE);
  14.809 +   Installation_SYS.Remove_Package('SEC_CHECKPOINT_GATE_PARAM_API', TRUE);
  14.810 +   Installation_SYS.Remove_Package('SEC_CHECKPOINT_LOG_API', TRUE);
  14.811 +   Installation_SYS.Remove_Package('SECURITY_CHECKPOINT_METHOD_API', TRUE);
  14.812 +   Installation_SYS.Remove_Package('SECURITY_SYS', TRUE);
  14.813 +   Installation_SYS.Remove_Package('SELECTION_API', TRUE);
  14.814 +   Installation_SYS.Remove_Package('SELECTION_ITEM_API', TRUE);
  14.815 +   Installation_SYS.Remove_Package('SERV_PACKAGE_DEPENDENCY_API', TRUE);
  14.816 +   Installation_SYS.Remove_Package('SERVER_LOG_API', TRUE);
  14.817 +   Installation_SYS.Remove_Package('SERVER_LOG_CATEGORY_API', TRUE);
  14.818 +   Installation_SYS.Remove_Package('SERVER_LOG_UTILITY_API', TRUE);
  14.819 +   Installation_SYS.Remove_Package('SERVER_PACKAGE_API', TRUE);
  14.820 +   Installation_SYS.Remove_Package('SERVER_PACKAGE_TYPE_API', TRUE);
  14.821 +   Installation_SYS.Remove_Package('SITE_TEXT_API', TRUE);
  14.822 +   Installation_SYS.Remove_Package('SOD_CACHE_API', TRUE);
  14.823 +   Installation_SYS.Remove_Package('SOX_FUNCTIONAL_AREA_API', TRUE);
  14.824 +   Installation_SYS.Remove_Package('STATE_DIAGRAM_API', TRUE);
  14.825 +   Installation_SYS.Remove_Package('STATE_EVENT_API', TRUE);
  14.826 +   Installation_SYS.Remove_Package('STEREOTYPE_API', TRUE);
  14.827 +   Installation_SYS.Remove_Package('STORAGE_ATTRIBUTE_API', TRUE);
  14.828 +   Installation_SYS.Remove_Package('STORAGE_DIAGRAM_API', TRUE);
  14.829 +   Installation_SYS.Remove_Package('STORAGE_OBJECT_API', TRUE);
  14.830 +   Installation_SYS.Remove_Package('STORAGE_OBJECT_TYPE_API', TRUE);
  14.831 +   Installation_SYS.Remove_Package('STORAGE_OPERATION_TYPE_API', TRUE);
  14.832 +   Installation_SYS.Remove_Package('STORAGE_PACKAGE_API', TRUE);
  14.833 +   Installation_SYS.Remove_Package('SUPPORT_LEVEL_API', TRUE);
  14.834 +   Installation_SYS.Remove_Package('SYSTEM_PRIVILEGE_API', TRUE);
  14.835 +   Installation_SYS.Remove_Package('SYSTEM_PRIVILEGE_GRANT_API', TRUE);
  14.836 +   Installation_SYS.Remove_Package('TABLE_INDEX_API', TRUE);
  14.837 +   Installation_SYS.Remove_Package('TARGET_API', TRUE);
  14.838 +   Installation_SYS.Remove_Package('TEMPLATE_API', TRUE);
  14.839 +   Installation_SYS.Remove_Package('TERM_ALERT_INDICATOR_API', TRUE);
  14.840 +   Installation_SYS.Remove_Package('TERM_API', TRUE);
  14.841 +   Installation_SYS.Remove_Package('TERM_BINDING_MAIN_TYPE_API', TRUE);
  14.842 +   Installation_SYS.Remove_Package('TERM_DEF_HISTORY_EVENT_API', TRUE);
  14.843 +   Installation_SYS.Remove_Package('TERM_DEFINITION_HISTORY_API', TRUE);
  14.844 +   Installation_SYS.Remove_Package('TERM_DEFINITION_TYPE_API', TRUE);
  14.845 +   Installation_SYS.Remove_Package('TERM_DISPLAY_NAME_API', TRUE);
  14.846 +   Installation_SYS.Remove_Package('TERM_DISPLAY_NAME_TYPE_API', TRUE);
  14.847 +   Installation_SYS.Remove_Package('TERM_DOMAIN_API', TRUE);
  14.848 +   Installation_SYS.Remove_Package('TERM_HISTORY_API', TRUE);
  14.849 +   Installation_SYS.Remove_Package('TERM_HISTORY_EVENT_API', TRUE);
  14.850 +   Installation_SYS.Remove_Package('TERM_OWNER_API', TRUE);
  14.851 +   Installation_SYS.Remove_Package('TERM_OWNER_MODULE_API', TRUE);
  14.852 +   Installation_SYS.Remove_Package('TERM_PROPOSAL_QUALITY_API', TRUE);
  14.853 +   Installation_SYS.Remove_Package('TERM_RELATION_API', TRUE);
  14.854 +   Installation_SYS.Remove_Package('TERM_RELATION_TYPE_API', TRUE);
  14.855 +   Installation_SYS.Remove_Package('TERM_STOP_LIST_API', TRUE);
  14.856 +   Installation_SYS.Remove_Package('TERM_STOP_LIST_REASON_API', TRUE);
  14.857 +   Installation_SYS.Remove_Package('TERM_TECHNICAL_TYPE_API', TRUE);
  14.858 +   Installation_SYS.Remove_Package('TERM_TRANSLATED_DEFINITION_API', TRUE);
  14.859 +   Installation_SYS.Remove_Package('TERM_TRANSLATED_NAME_API', TRUE);
  14.860 +   Installation_SYS.Remove_Package('TERM_TRANSLATION_APPROVAL_API', TRUE);
  14.861 +   Installation_SYS.Remove_Package('TERM_USAGE_DEFINITION_API', TRUE);
  14.862 +   Installation_SYS.Remove_Package('TERM_USAGE_IDENTIFIER_API', TRUE);
  14.863 +   Installation_SYS.Remove_Package('TODO_FLAG_API', TRUE);
  14.864 +   Installation_SYS.Remove_Package('TODO_FOLDER_API', TRUE);
  14.865 +   Installation_SYS.Remove_Package('TODO_FOLDER_TYPE_API', TRUE);
  14.866 +   Installation_SYS.Remove_Package('TODO_HISTORY_API', TRUE);
  14.867 +   Installation_SYS.Remove_Package('TODO_ITEM_API', TRUE);
  14.868 +   Installation_SYS.Remove_Package('TODO_ITEM_RECEIVER_API', TRUE);
  14.869 +   Installation_SYS.Remove_Package('TODO_ITEM_TYPE_API', TRUE);
  14.870 +   Installation_SYS.Remove_Package('TODO_PRIORITY_API', TRUE);
  14.871 +   Installation_SYS.Remove_Package('TRACE_SYS', TRUE);
  14.872 +   Installation_SYS.Remove_Package('TRANSACTION_SYS', TRUE);
  14.873 +   Installation_SYS.Remove_Package('TRANSACTIONAL_BEHAVIOR_API', TRUE);
  14.874 +   Installation_SYS.Remove_Package('TRANSFER_OPTION_ENABLED_API', TRUE);
  14.875 +   Installation_SYS.Remove_Package('UML_DIAGRAM_API', TRUE);
  14.876 +   Installation_SYS.Remove_Package('UPDATE_ACTION_TYPE_API', TRUE);
  14.877 +   Installation_SYS.Remove_Package('UPDATE_OBJECT_TYPE_API', TRUE);
  14.878 +   Installation_SYS.Remove_Package('USER_CLIENT_PROFILE_API', TRUE);
  14.879 +   Installation_SYS.Remove_Package('USER_GLOBAL_API', TRUE);
  14.880 +   Installation_SYS.Remove_Package('USER_GROUP_API', TRUE);
  14.881 +   Installation_SYS.Remove_Package('USER_GROUP_USER_API', TRUE);
  14.882 +   Installation_SYS.Remove_Package('USER_PROF_BIN_VAL_TYPE_API', TRUE);
  14.883 +   Installation_SYS.Remove_Package('USER_PROFILE_SYS', TRUE);
  14.884 +   Installation_SYS.Remove_Package('UTILITY_SYS', TRUE);
  14.885 +   Installation_SYS.Remove_Package('VALIDATION_OBJECT_API', TRUE);
  14.886 +   Installation_SYS.Remove_Package('VIEW_ASSOCIATION_API', TRUE);
  14.887 +   Installation_SYS.Remove_Package('VIEW_ATTRIBUTE_API', TRUE);
  14.888 +   Installation_SYS.Remove_Package('VIEW_FNDDR_API', TRUE);
  14.889 +   Installation_SYS.Remove_Package('VIEW_TYPE_API', TRUE);
  14.890 +   Installation_SYS.Remove_Package('VISIBILITY_API', TRUE);
  14.891 +   Installation_SYS.Remove_Package('WEB_SERVICES_UTIL_API', TRUE);
  14.892 +   Installation_SYS.Remove_Package('WIDGET_ACTIVITY_API', TRUE);
  14.893 +   Installation_SYS.Remove_Package('WIDGET_API', TRUE);
  14.894 +   Installation_SYS.Remove_Package('WORKSPACE_API', TRUE);
  14.895 +   Installation_SYS.Remove_Package('XLR_ANALYZE_RESULT_UTIL_API', TRUE);
  14.896 +   Installation_SYS.Remove_Package('XLR_BA_CLIENT_ARCHIVE_API', TRUE);
  14.897 +   Installation_SYS.Remove_Package('XLR_BA_CLIENT_ARCHIVE_DIST_API', TRUE);
  14.898 +   Installation_SYS.Remove_Package('XLR_CLOB_WRITER_API', TRUE);
  14.899 +   Installation_SYS.Remove_Package('XLR_CRITERIA_FUNCTION_API', TRUE);
  14.900 +   Installation_SYS.Remove_Package('XLR_DEF_FACT_NAV_FOLDER_API', TRUE);
  14.901 +   Installation_SYS.Remove_Package('XLR_DIM_ITEM_STRUCT_INFO_API', TRUE);
  14.902 +   Installation_SYS.Remove_Package('XLR_DIM_REF_RELATIONS_API', TRUE);
  14.903 +   Installation_SYS.Remove_Package('XLR_DIM_SOURCE_HINT_ITEM_API', TRUE);
  14.904 +   Installation_SYS.Remove_Package('XLR_DIM_SOURCE_IX_API', TRUE);
  14.905 +   Installation_SYS.Remove_Package('XLR_DIM_SOURCE_IX_ITEM_API', TRUE);
  14.906 +   Installation_SYS.Remove_Package('XLR_DIMENSION_API', TRUE);
  14.907 +   Installation_SYS.Remove_Package('XLR_DIMENSION_ITEM_API', TRUE);
  14.908 +   Installation_SYS.Remove_Package('XLR_DIMENSION_LOV_ITEM_API', TRUE);
  14.909 +   Installation_SYS.Remove_Package('XLR_DIMENSION_LOV_SORT_API', TRUE);
  14.910 +   Installation_SYS.Remove_Package('XLR_DIMENSION_PARENT_API', TRUE);
  14.911 +   Installation_SYS.Remove_Package('XLR_DIMENSION_SOURCE_API', TRUE);
  14.912 +   Installation_SYS.Remove_Package('XLR_DIMENSION_TYPE_API', TRUE);
  14.913 +   Installation_SYS.Remove_Package('XLR_DOCUMENT_CATEGORY_API', TRUE);
  14.914 +   Installation_SYS.Remove_Package('XLR_DSOD_SET_CATEGORY_API', TRUE);
  14.915 +   Installation_SYS.Remove_Package('XLR_ENABLED_SOURCE_TYPE_API', TRUE);
  14.916 +   Installation_SYS.Remove_Package('XLR_FACT_API', TRUE);
  14.917 +   Installation_SYS.Remove_Package('XLR_FACT_DETAIL_DIM_ITEM_API', TRUE);
  14.918 +   Installation_SYS.Remove_Package('XLR_FACT_DIM_ID_DEF_API', TRUE);
  14.919 +   Installation_SYS.Remove_Package('XLR_FACT_DIM_JOIN_API', TRUE);
  14.920 +   Installation_SYS.Remove_Package('XLR_FACT_DIM_JOIN_ITEM_API', TRUE);
  14.921 +   Installation_SYS.Remove_Package('XLR_FACT_DIM_SRC_INDICATE_API', TRUE);
  14.922 +   Installation_SYS.Remove_Package('XLR_FACT_DIMENSION_API', TRUE);
  14.923 +   Installation_SYS.Remove_Package('XLR_FACT_ITEM_API', TRUE);
  14.924 +   Installation_SYS.Remove_Package('XLR_FACT_PARENT_API', TRUE);
  14.925 +   Installation_SYS.Remove_Package('XLR_FACT_SOURCE_API', TRUE);
  14.926 +   Installation_SYS.Remove_Package('XLR_FACT_SOURCE_HINT_ITEM_API', TRUE);
  14.927 +   Installation_SYS.Remove_Package('XLR_FACT_SOURCE_IX_API', TRUE);
  14.928 +   Installation_SYS.Remove_Package('XLR_FACT_SOURCE_IX_ITEM_API', TRUE);
  14.929 +   Installation_SYS.Remove_Package('XLR_FACT_URL_API', TRUE);
  14.930 +   Installation_SYS.Remove_Package('XLR_FACT_URL_ITEM_API', TRUE);
  14.931 +   Installation_SYS.Remove_Package('XLR_FACT_WB_DIM_ITEM_API', TRUE);
  14.932 +   Installation_SYS.Remove_Package('XLR_FACT_WRITE_BACK_INFO_API', TRUE);
  14.933 +   Installation_SYS.Remove_Package('XLR_FORMAT_UTIL_API', TRUE);
  14.934 +   Installation_SYS.Remove_Package('XLR_IMPORT_LOG_UTIL_API', TRUE);
  14.935 +   Installation_SYS.Remove_Package('XLR_INSTANCE_PARAM_VALUE_API', TRUE);
  14.936 +   Installation_SYS.Remove_Package('XLR_ITEM_HINT_TYPE_API', TRUE);
  14.937 +   Installation_SYS.Remove_Package('XLR_LOG_UTIL_API', TRUE);
  14.938 +   Installation_SYS.Remove_Package('XLR_META_DATA_FILE_API', TRUE);
  14.939 +   Installation_SYS.Remove_Package('XLR_META_DATA_FILE_ENTITY_API', TRUE);
  14.940 +--   Installation_SYS.Remove_Package('XLR_META_UTIL_API', TRUE);
  14.941 +   Installation_SYS.Remove_Package('XLR_MV_CRITERIA_API', TRUE);
  14.942 +   Installation_SYS.Remove_Package('XLR_MV_PER_REFRESH_CAT_API', TRUE);
  14.943 +   Installation_SYS.Remove_Package('XLR_MV_REFRESH_CATEGORY_API', TRUE);
  14.944 +   Installation_SYS.Remove_Package('XLR_MV_UTIL_API', TRUE);
  14.945 +   Installation_SYS.Remove_Package('XLR_OPERATOR_API', TRUE);
  14.946 +   Installation_SYS.Remove_Package('XLR_PARAMETER_TYPE_API', TRUE);
  14.947 +   Installation_SYS.Remove_Package('XLR_PERFORMANCE_INDICATOR_API', TRUE);
  14.948 +   Installation_SYS.Remove_Package('XLR_REPORT_INSTANCE_API', TRUE);
  14.949 +   Installation_SYS.Remove_Package('XLR_REPORT_INSTANCE_UTIL_API', TRUE);
  14.950 +   Installation_SYS.Remove_Package('XLR_REPORT_RESULT_API', TRUE);
  14.951 +   Installation_SYS.Remove_Package('XLR_REPORT_UPG_UTILITY_API', TRUE);
  14.952 +   Installation_SYS.Remove_Package('XLR_RESULT_UTIL_API', TRUE);
  14.953 +   Installation_SYS.Remove_Package('XLR_SOURCE_NAVIGATOR_API', TRUE);
  14.954 +   Installation_SYS.Remove_Package('XLR_SOURCE_TYPE_API', TRUE);
  14.955 +   Installation_SYS.Remove_Package('XLR_STMT_BUILDER_API', TRUE);
  14.956 +   Installation_SYS.Remove_Package('XLR_STMT_EXECUTOR_API', TRUE);
  14.957 +   Installation_SYS.Remove_Package('XLR_STRUCT_REQUEST_API', TRUE);
  14.958 +   Installation_SYS.Remove_Package('XLR_STRUCT_REQUEST_PARENT_API', TRUE);
  14.959 +   Installation_SYS.Remove_Package('XLR_STRUCT_RESPONSE_API', TRUE);
  14.960 +   Installation_SYS.Remove_Package('XLR_STRUCT_RESPONSE_LEAF_API', TRUE);
  14.961 +   Installation_SYS.Remove_Package('XLR_STRUCT_RESPONSE_LEVEL_API', TRUE);
  14.962 +   Installation_SYS.Remove_Package('XLR_STRUCT_RESPONSE_NODE_API', TRUE);
  14.963 +   Installation_SYS.Remove_Package('XLR_STRUCTURE_ITEM_TYPE_API', TRUE);
  14.964 +   Installation_SYS.Remove_Package('XLR_STRUCTURE_UTIL_API', TRUE);
  14.965 +   Installation_SYS.Remove_Package('XLR_SYS_PARAM_DATA_TYPE_API', TRUE);
  14.966 +   Installation_SYS.Remove_Package('XLR_SYSTEM_PARAMETER_API', TRUE);
  14.967 +   Installation_SYS.Remove_Package('XLR_SYSTEM_PARAMETER_UTIL_API', TRUE);
  14.968 +   Installation_SYS.Remove_Package('XLR_TEMPLATE_API', TRUE);
  14.969 +   Installation_SYS.Remove_Package('XLR_TEMPLATE_FILE_API', TRUE);
  14.970 +   Installation_SYS.Remove_Package('XLR_TEMPLATE_PARAMETER_API', TRUE);
  14.971 +   Installation_SYS.Remove_Package('XLR_TEMPLATE_UTIL_API', TRUE);
  14.972 +   Installation_SYS.Remove_Package('XLR_TRANSLATION_UTIL_API', TRUE);
  14.973 +   Installation_SYS.Remove_Package('XLR_VIEW_HANDLING_TYPE_API', TRUE);
  14.974 +   Installation_SYS.Remove_Package('XLR_WB_COLLECTION_API', TRUE);
  14.975 +   Installation_SYS.Remove_Package('XLR_WB_CONTENT_API', TRUE);
  14.976 +   Installation_SYS.Remove_Package('XLR_WB_FACT_API', TRUE);
  14.977 +   Installation_SYS.Remove_Package('XLR_WB_ITEM_API', TRUE);
  14.978 +   Installation_SYS.Remove_Package('XLR_WB_ROW_API', TRUE);
  14.979 +   Installation_SYS.Remove_Package('XLR_WB_SET_API', TRUE);
  14.980 +   Installation_SYS.Remove_Package('XLR_WB_UTIL_API', TRUE);
  14.981 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_CATEGORY_API', TRUE);
  14.982 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_COLLECTION_API', TRUE);
  14.983 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_ITEM_DETAIL_API', TRUE);
  14.984 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_MASTER_API', TRUE);
  14.985 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_ROW_API', TRUE);
  14.986 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_SET_API', TRUE);
  14.987 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_SET_UQ_API', TRUE);
  14.988 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_STATUS_API', TRUE);
  14.989 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_TYPE_API', TRUE);
  14.990 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_UTIL_API', TRUE);
  14.991 +   Installation_SYS.Remove_Package('XLR_WRITE_BACK_VALUE_API', TRUE);
  14.992 +   Installation_SYS.Remove_Package('XML_RECORD_WRITER_SYS', TRUE);
  14.993 +   Installation_SYS.Remove_Package('XML_REPORT_DATA_API', TRUE);
  14.994 +   Installation_SYS.Remove_Package('XML_SYS', TRUE);
  14.995 +   Installation_SYS.Remove_Package('XML_TEXT_WRITER_API', TRUE);
  14.996 +   /* uncomment only the packages corresponding to the installed components 
  14.997 +   Installation_SYS.Remove_Package('COMPONENT_ACCRUL_SYS', TRUE);
  14.998 +   Installation_SYS.Remove_Package('COMPONENT_ACCRUW_SYS', TRUE);
  14.999 +   Installation_SYS.Remove_Package('COMPONENT_AIIM_SYS', TRUE);
 14.1000 +   Installation_SYS.Remove_Package('COMPONENT_APPPAY_SYS', TRUE);
 14.1001 +   Installation_SYS.Remove_Package('COMPONENT_APPSRV_SYS', TRUE);
 14.1002 +   Installation_SYS.Remove_Package('COMPONENT_BACLI_SYS', TRUE);
 14.1003 +   Installation_SYS.Remove_Package('COMPONENT_BENADM_SYS', TRUE);
 14.1004 +   Installation_SYS.Remove_Package('COMPONENT_BENADW_SYS', TRUE);
 14.1005 +   Installation_SYS.Remove_Package('COMPONENT_BOEXP_SYS', TRUE);
 14.1006 +   Installation_SYS.Remove_Package('COMPONENT_BUDPRO_SYS', TRUE);
 14.1007 +   Installation_SYS.Remove_Package('COMPONENT_BUDPRW_SYS', TRUE);
 14.1008 +   Installation_SYS.Remove_Package('COMPONENT_CALBBW_SYS', TRUE);
 14.1009 +   Installation_SYS.Remove_Package('COMPONENT_CALLC_SYS', TRUE);
 14.1010 +   Installation_SYS.Remove_Package('COMPONENT_CALLCW_SYS', TRUE);
 14.1011 +   Installation_SYS.Remove_Package('COMPONENT_CAREER_SYS', TRUE);
 14.1012 +   Installation_SYS.Remove_Package('COMPONENT_CAREEW_SYS', TRUE);
 14.1013 +   Installation_SYS.Remove_Package('COMPONENT_CBS_SYS', TRUE);
 14.1014 +   Installation_SYS.Remove_Package('COMPONENT_CBSW_SYS', TRUE);
 14.1015 +   Installation_SYS.Remove_Package('COMPONENT_CFGBKO_SYS', TRUE);
 14.1016 +   Installation_SYS.Remove_Package('COMPONENT_CFGCHR_SYS', TRUE);
 14.1017 +   Installation_SYS.Remove_Package('COMPONENT_CFGRUL_SYS', TRUE);
 14.1018 +   Installation_SYS.Remove_Package('COMPONENT_CHMGMT_SYS', TRUE);
 14.1019 +   Installation_SYS.Remove_Package('COMPONENT_CONACC_SYS', TRUE);
 14.1020 +   Installation_SYS.Remove_Package('COMPONENT_CONMGT_SYS', TRUE);
 14.1021 +   Installation_SYS.Remove_Package('COMPONENT_COST_SYS', TRUE);
 14.1022 +   Installation_SYS.Remove_Package('COMPONENT_CROMFG_SYS', TRUE);
 14.1023 +   Installation_SYS.Remove_Package('COMPONENT_CRP_SYS', TRUE);
 14.1024 +   Installation_SYS.Remove_Package('COMPONENT_CUSSCH_SYS', TRUE);
 14.1025 +   Installation_SYS.Remove_Package('COMPONENT_DEMAND_SYS', TRUE);
 14.1026 +   Installation_SYS.Remove_Package('COMPONENT_DISCOM_SYS', TRUE);
 14.1027 +   Installation_SYS.Remove_Package('COMPONENT_DISORD_SYS', TRUE);
 14.1028 +   Installation_SYS.Remove_Package('COMPONENT_DOCBB_SYS', TRUE);
 14.1029 +   Installation_SYS.Remove_Package('COMPONENT_DOCBBW_SYS', TRUE);
 14.1030 +   Installation_SYS.Remove_Package('COMPONENT_DOCMAN_SYS', TRUE);
 14.1031 +   Installation_SYS.Remove_Package('COMPONENT_DOCMAW_SYS', TRUE);
 14.1032 +   Installation_SYS.Remove_Package('COMPONENT_DOCVUE_SYS', TRUE);
 14.1033 +   Installation_SYS.Remove_Package('COMPONENT_DOP_SYS', TRUE);
 14.1034 +   Installation_SYS.Remove_Package('COMPONENT_ECOMAN_SYS', TRUE);
 14.1035 +   Installation_SYS.Remove_Package('COMPONENT_EMPINT_SYS', TRUE);
 14.1036 +   Installation_SYS.Remove_Package('COMPONENT_EMPPAW_SYS', TRUE);
 14.1037 +   Installation_SYS.Remove_Package('COMPONENT_EMPPAY_SYS', TRUE);
 14.1038 +   Installation_SYS.Remove_Package('COMPONENT_EMPSRV_SYS', TRUE);
 14.1039 +   Installation_SYS.Remove_Package('COMPONENT_EMPSRW_SYS', TRUE);
 14.1040 +   Installation_SYS.Remove_Package('COMPONENT_ENTERP_SYS', TRUE);
 14.1041 +   Installation_SYS.Remove_Package('COMPONENT_ENTERW_SYS', TRUE);
 14.1042 +   Installation_SYS.Remove_Package('COMPONENT_EQUBB_SYS', TRUE);
 14.1043 +   Installation_SYS.Remove_Package('COMPONENT_EQUBBW_SYS', TRUE);
 14.1044 +   Installation_SYS.Remove_Package('COMPONENT_EQUIP_SYS', TRUE);
 14.1045 +   Installation_SYS.Remove_Package('COMPONENT_EQUIPW_SYS', TRUE);
 14.1046 +   Installation_SYS.Remove_Package('COMPONENT_ESCHND_SYS', TRUE);
 14.1047 +   Installation_SYS.Remove_Package('COMPONENT_FINCFA_SYS', TRUE);
 14.1048 +   Installation_SYS.Remove_Package('COMPONENT_FINCFW_SYS', TRUE);
 14.1049 +   Installation_SYS.Remove_Package('COMPONENT_FINCON_SYS', TRUE);
 14.1050 +   Installation_SYS.Remove_Package('COMPONENT_FINREP_SYS', TRUE);
 14.1051 +   Installation_SYS.Remove_Package('COMPONENT_FIXASS_SYS', TRUE);
 14.1052 +   Installation_SYS.Remove_Package('COMPONENT_FMEA_SYS', TRUE);
 14.1053 +   Installation_SYS.Remove_Package('COMPONENT_FNDADM_SYS', TRUE);
 14.1054 +   Installation_SYS.Remove_Package('COMPONENT_FNDADS_SYS', TRUE);
 14.1055 +   Installation_SYS.Remove_Package('COMPONENT_FNDBAS_SYS', TRUE);
 14.1056 +   Installation_SYS.Remove_Package('COMPONENT_FNDCOB_SYS', TRUE);
 14.1057 +   Installation_SYS.Remove_Package('COMPONENT_FNDDEV_SYS', TRUE);
 14.1058 +   Installation_SYS.Remove_Package('COMPONENT_FNDJBS_SYS', TRUE);
 14.1059 +   Installation_SYS.Remove_Package('COMPONENT_FNDMIG_SYS', TRUE);
 14.1060 +   Installation_SYS.Remove_Package('COMPONENT_FNDRRE_SYS', TRUE);
 14.1061 +   Installation_SYS.Remove_Package('COMPONENT_FNDWEB_SYS', TRUE);
 14.1062 +   Installation_SYS.Remove_Package('COMPONENT_GENLED_SYS', TRUE);
 14.1063 +   Installation_SYS.Remove_Package('COMPONENT_GENLEW_SYS', TRUE);
 14.1064 +   Installation_SYS.Remove_Package('COMPONENT_HRBASW_SYS', TRUE);
 14.1065 +   Installation_SYS.Remove_Package('COMPONENT_IFSBI_SYS', TRUE);
 14.1066 +   Installation_SYS.Remove_Package('COMPONENT_INTLED_SYS', TRUE);
 14.1067 +   Installation_SYS.Remove_Package('COMPONENT_INVENT_SYS', TRUE);
 14.1068 +   Installation_SYS.Remove_Package('COMPONENT_INVENW_SYS', TRUE);
 14.1069 +   Installation_SYS.Remove_Package('COMPONENT_INVOIC_SYS', TRUE);
 14.1070 +   Installation_SYS.Remove_Package('COMPONENT_INVOIW_SYS', TRUE);
 14.1071 +   Installation_SYS.Remove_Package('COMPONENT_INVPLA_SYS', TRUE);
 14.1072 +   Installation_SYS.Remove_Package('COMPONENT_ISTOOL_SYS', TRUE);
 14.1073 +   Installation_SYS.Remove_Package('COMPONENT_ITS_SYS', TRUE);
 14.1074 +   Installation_SYS.Remove_Package('COMPONENT_JINSUI_SYS', TRUE);
 14.1075 +   Installation_SYS.Remove_Package('COMPONENT_KANBAN_SYS', TRUE);
 14.1076 +   Installation_SYS.Remove_Package('COMPONENT_KANBAW_SYS', TRUE);
 14.1077 +   Installation_SYS.Remove_Package('COMPONENT_MASSCH_SYS', TRUE);
 14.1078 +   Installation_SYS.Remove_Package('COMPONENT_MASSCW_SYS', TRUE);
 14.1079 +   Installation_SYS.Remove_Package('COMPONENT_MATCCO_SYS', TRUE);
 14.1080 +   Installation_SYS.Remove_Package('COMPONENT_MATCCW_SYS', TRUE);
 14.1081 +   Installation_SYS.Remove_Package('COMPONENT_METINV_SYS', TRUE);
 14.1082 +   Installation_SYS.Remove_Package('COMPONENT_MFGSTD_SYS', TRUE);
 14.1083 +   Installation_SYS.Remove_Package('COMPONENT_MFGSTW_SYS', TRUE);
 14.1084 +   Installation_SYS.Remove_Package('COMPONENT_MPCCOM_SYS', TRUE);
 14.1085 +   Installation_SYS.Remove_Package('COMPONENT_MROMFG_SYS', TRUE);
 14.1086 +   Installation_SYS.Remove_Package('COMPONENT_MRP_SYS', TRUE);
 14.1087 +   Installation_SYS.Remove_Package('COMPONENT_MRPW_SYS', TRUE);
 14.1088 +   Installation_SYS.Remove_Package('COMPONENT_MSCOM_SYS', TRUE);
 14.1089 +   Installation_SYS.Remove_Package('COMPONENT_MSCOMW_SYS', TRUE);
 14.1090 +   Installation_SYS.Remove_Package('COMPONENT_NAINFE_SYS', TRUE);
 14.1091 +   Installation_SYS.Remove_Package('COMPONENT_NATSTD_SYS', TRUE);
 14.1092 +   Installation_SYS.Remove_Package('COMPONENT_ODOCRT_SYS', TRUE);
 14.1093 +   Installation_SYS.Remove_Package('COMPONENT_ODOCTL_SYS', TRUE);
 14.1094 +   Installation_SYS.Remove_Package('COMPONENT_OEE_SYS', TRUE);
 14.1095 +   Installation_SYS.Remove_Package('COMPONENT_ONLDOC_SYS', TRUE);
 14.1096 +   Installation_SYS.Remove_Package('COMPONENT_ONLPM_SYS', TRUE);
 14.1097 +   Installation_SYS.Remove_Package('COMPONENT_ONLTM_SYS', TRUE);
 14.1098 +   Installation_SYS.Remove_Package('COMPONENT_ORDBBW_SYS', TRUE);
 14.1099 +   Installation_SYS.Remove_Package('COMPONENT_ORDER_SYS', TRUE);
 14.1100 +   Installation_SYS.Remove_Package('COMPONENT_ORDERW_SYS', TRUE);
 14.1101 +   Installation_SYS.Remove_Package('COMPONENT_ORDSTR_SYS', TRUE);
 14.1102 +   Installation_SYS.Remove_Package('COMPONENT_OSHA_SYS', TRUE);
 14.1103 +   Installation_SYS.Remove_Package('COMPONENT_OSHAW_SYS', TRUE);
 14.1104 +   Installation_SYS.Remove_Package('COMPONENT_PARTCA_SYS', TRUE);
 14.1105 +   Installation_SYS.Remove_Package('COMPONENT_PAYINT_SYS', TRUE);
 14.1106 +   Installation_SYS.Remove_Package('COMPONENT_PAYLED_SYS', TRUE);
 14.1107 +   Installation_SYS.Remove_Package('COMPONENT_PAYLEW_SYS', TRUE);
 14.1108 +   Installation_SYS.Remove_Package('COMPONENT_PAYROL_SYS', TRUE);
 14.1109 +   Installation_SYS.Remove_Package('COMPONENT_PCERT_SYS', TRUE);
 14.1110 +   Installation_SYS.Remove_Package('COMPONENT_PCM_SYS', TRUE);
 14.1111 +   Installation_SYS.Remove_Package('COMPONENT_PCMBB_SYS', TRUE);
 14.1112 +   Installation_SYS.Remove_Package('COMPONENT_PCMBBW_SYS', TRUE);
 14.1113 +   Installation_SYS.Remove_Package('COMPONENT_PCMSCI_SYS', TRUE);
 14.1114 +   Installation_SYS.Remove_Package('COMPONENT_PCMW_SYS', TRUE);
 14.1115 +   Installation_SYS.Remove_Package('COMPONENT_PDBCW_SYS', TRUE);
 14.1116 +   Installation_SYS.Remove_Package('COMPONENT_PDMCON_SYS', TRUE);
 14.1117 +   Installation_SYS.Remove_Package('COMPONENT_PDMCOW_SYS', TRUE);
 14.1118 +   Installation_SYS.Remove_Package('COMPONENT_PDMPRO_SYS', TRUE);
 14.1119 +   Installation_SYS.Remove_Package('COMPONENT_PERCOS_SYS', TRUE);
 14.1120 +   Installation_SYS.Remove_Package('COMPONENT_PERSON_SYS', TRUE);
 14.1121 +   Installation_SYS.Remove_Package('COMPONENT_PERSOW_SYS', TRUE);
 14.1122 +   Installation_SYS.Remove_Package('COMPONENT_PLADES_SYS', TRUE);
 14.1123 +   Installation_SYS.Remove_Package('COMPONENT_PLANAV_SYS', TRUE);
 14.1124 +   Installation_SYS.Remove_Package('COMPONENT_PLIST_SYS', TRUE);
 14.1125 +   Installation_SYS.Remove_Package('COMPONENT_PMRP_SYS', TRUE);
 14.1126 +   Installation_SYS.Remove_Package('COMPONENT_PMRPW_SYS', TRUE);
 14.1127 +   Installation_SYS.Remove_Package('COMPONENT_PRBI_SYS', TRUE);
 14.1128 +   Installation_SYS.Remove_Package('COMPONENT_PRBSLN_SYS', TRUE);
 14.1129 +   Installation_SYS.Remove_Package('COMPONENT_PRDIST_SYS', TRUE);
 14.1130 +   Installation_SYS.Remove_Package('COMPONENT_PRDM_SYS', TRUE);
 14.1131 +   Installation_SYS.Remove_Package('COMPONENT_PREPLA_SYS', TRUE);
 14.1132 +   Installation_SYS.Remove_Package('COMPONENT_PRFIN_SYS', TRUE);
 14.1133 +   Installation_SYS.Remove_Package('COMPONENT_PRFND_SYS', TRUE);
 14.1134 +   Installation_SYS.Remove_Package('COMPONENT_PRHR_SYS', TRUE);
 14.1135 +   Installation_SYS.Remove_Package('COMPONENT_PRIFS_SYS', TRUE);
 14.1136 +   Installation_SYS.Remove_Package('COMPONENT_PRJBBW_SYS', TRUE);
 14.1137 +   Installation_SYS.Remove_Package('COMPONENT_PRJMSP_SYS', TRUE);
 14.1138 +   Installation_SYS.Remove_Package('COMPONENT_PRJREP_SYS', TRUE);
 14.1139 +   Installation_SYS.Remove_Package('COMPONENT_PRJREW_SYS', TRUE);
 14.1140 +   Installation_SYS.Remove_Package('COMPONENT_PRMANU_SYS', TRUE);
 14.1141 +   Installation_SYS.Remove_Package('COMPONENT_PRMS_SYS', TRUE);
 14.1142 +   Installation_SYS.Remove_Package('COMPONENT_PROAUT_SYS', TRUE);
 14.1143 +   Installation_SYS.Remove_Package('COMPONENT_PROJ_SYS', TRUE);
 14.1144 +   Installation_SYS.Remove_Package('COMPONENT_PROJW_SYS', TRUE);
 14.1145 +   Installation_SYS.Remove_Package('COMPONENT_PROJX_SYS', TRUE);
 14.1146 +   Installation_SYS.Remove_Package('COMPONENT_PROSCH_SYS', TRUE);
 14.1147 +   Installation_SYS.Remove_Package('COMPONENT_PROSCW_SYS', TRUE);
 14.1148 +   Installation_SYS.Remove_Package('COMPONENT_PRSALS_SYS', TRUE);
 14.1149 +   Installation_SYS.Remove_Package('COMPONENT_PRVIM_SYS', TRUE);
 14.1150 +   Installation_SYS.Remove_Package('COMPONENT_PURBBW_SYS', TRUE);
 14.1151 +   Installation_SYS.Remove_Package('COMPONENT_PURCH_SYS', TRUE);
 14.1152 +   Installation_SYS.Remove_Package('COMPONENT_PURCHW_SYS', TRUE);
 14.1153 +   Installation_SYS.Remove_Package('COMPONENT_QUAAUD_SYS', TRUE);
 14.1154 +   Installation_SYS.Remove_Package('COMPONENT_QUAMAN_SYS', TRUE);
 14.1155 +   Installation_SYS.Remove_Package('COMPONENT_QUANCR_SYS', TRUE);
 14.1156 +   Installation_SYS.Remove_Package('COMPONENT_RCCP_SYS', TRUE);
 14.1157 +   Installation_SYS.Remove_Package('COMPONENT_RCRUIT_SYS', TRUE);
 14.1158 +   Installation_SYS.Remove_Package('COMPONENT_RCRUIW_SYS', TRUE);
 14.1159 +   Installation_SYS.Remove_Package('COMPONENT_RISK_SYS', TRUE);
 14.1160 +   Installation_SYS.Remove_Package('COMPONENT_RRP_SYS', TRUE);
 14.1161 +   Installation_SYS.Remove_Package('COMPONENT_SAMGSS_SYS', TRUE);
 14.1162 +   Installation_SYS.Remove_Package('COMPONENT_SAMIMI_SYS', TRUE);
 14.1163 +   Installation_SYS.Remove_Package('COMPONENT_SAMWIN_SYS', TRUE);
 14.1164 +   Installation_SYS.Remove_Package('COMPONENT_SCEBBW_SYS', TRUE);
 14.1165 +   Installation_SYS.Remove_Package('COMPONENT_SCENTR_SYS', TRUE);
 14.1166 +   Installation_SYS.Remove_Package('COMPONENT_SCENTW_SYS', TRUE);
 14.1167 +   Installation_SYS.Remove_Package('COMPONENT_SCH360_SYS', TRUE);
 14.1168 +   Installation_SYS.Remove_Package('COMPONENT_SDMAN_SYS', TRUE);
 14.1169 +   Installation_SYS.Remove_Package('COMPONENT_SHPBBW_SYS', TRUE);
 14.1170 +   Installation_SYS.Remove_Package('COMPONENT_SHPORD_SYS', TRUE);
 14.1171 +   Installation_SYS.Remove_Package('COMPONENT_SHPORW_SYS', TRUE);
 14.1172 +   Installation_SYS.Remove_Package('COMPONENT_SINWOF_SYS', TRUE);
 14.1173 +   Installation_SYS.Remove_Package('COMPONENT_SINWOW_SYS', TRUE);
 14.1174 +   Installation_SYS.Remove_Package('COMPONENT_SRVAGR_SYS', TRUE);
 14.1175 +   Installation_SYS.Remove_Package('COMPONENT_SRVCON_SYS', TRUE);
 14.1176 +   Installation_SYS.Remove_Package('COMPONENT_SRVINV_SYS', TRUE);
 14.1177 +   Installation_SYS.Remove_Package('COMPONENT_SRVQUO_SYS', TRUE);
 14.1178 +   Installation_SYS.Remove_Package('COMPONENT_STRACO_SYS', TRUE);
 14.1179 +   Installation_SYS.Remove_Package('COMPONENT_STRACW_SYS', TRUE);
 14.1180 +   Installation_SYS.Remove_Package('COMPONENT_SUBCON_SYS', TRUE);
 14.1181 +   Installation_SYS.Remove_Package('COMPONENT_SUBVAL_SYS', TRUE);
 14.1182 +   Installation_SYS.Remove_Package('COMPONENT_SUPBBW_SYS', TRUE);
 14.1183 +   Installation_SYS.Remove_Package('COMPONENT_SUPKEY_SYS', TRUE);
 14.1184 +   Installation_SYS.Remove_Package('COMPONENT_SUPSCH_SYS', TRUE);
 14.1185 +   Installation_SYS.Remove_Package('COMPONENT_TAXLED_SYS', TRUE);
 14.1186 +   Installation_SYS.Remove_Package('COMPONENT_TERMS_SYS', TRUE);
 14.1187 +   Installation_SYS.Remove_Package('COMPONENT_TIMCLO_SYS', TRUE);
 14.1188 +   Installation_SYS.Remove_Package('COMPONENT_TIMMAN_SYS', TRUE);
 14.1189 +   Installation_SYS.Remove_Package('COMPONENT_TIMMAW_SYS', TRUE);
 14.1190 +   Installation_SYS.Remove_Package('COMPONENT_TIMREP_SYS', TRUE);
 14.1191 +   Installation_SYS.Remove_Package('COMPONENT_TIMREW_SYS', TRUE);
 14.1192 +   Installation_SYS.Remove_Package('COMPONENT_TRNADM_SYS', TRUE);
 14.1193 +   Installation_SYS.Remove_Package('COMPONENT_TRNADW_SYS', TRUE);
 14.1194 +   Installation_SYS.Remove_Package('COMPONENT_TRNDEV_SYS', TRUE);
 14.1195 +   Installation_SYS.Remove_Package('COMPONENT_TRNDEW_SYS', TRUE);
 14.1196 +   Installation_SYS.Remove_Package('COMPONENT_TRVALL_SYS', TRUE);
 14.1197 +   Installation_SYS.Remove_Package('COMPONENT_TRVALW_SYS', TRUE);
 14.1198 +   Installation_SYS.Remove_Package('COMPONENT_TRVEXP_SYS', TRUE);
 14.1199 +   Installation_SYS.Remove_Package('COMPONENT_TRVEXW_SYS', TRUE);
 14.1200 +   Installation_SYS.Remove_Package('COMPONENT_VIM_SYS', TRUE);
 14.1201 +   Installation_SYS.Remove_Package('COMPONENT_VIMFCA_SYS', TRUE);
 14.1202 +   Installation_SYS.Remove_Package('COMPONENT_VIMMRO_SYS', TRUE);
 14.1203 +   Installation_SYS.Remove_Package('COMPONENT_VRTMAP_SYS', TRUE);
 14.1204 +   Installation_SYS.Remove_Package('COMPONENT_WRKSCH_SYS', TRUE);
 14.1205 +   Installation_SYS.Remove_Package('COMPONENT_WRKSCW_SYS', TRUE);
 14.1206 +   Installation_SYS.Remove_Package('COMPONENT_WSCOPE_SYS', TRUE);
 14.1207 +   Installation_SYS.Remove_Package('COMPONENT_WSTORE_SYS', TRUE);
 14.1208 +   */
 14.1209 +END;
 14.1210 +/
 14.1211 +
 14.1212 +----------------------------------------------------------------
 14.1213 +-- Drop views
 14.1214 +----------------------------------------------------------------
 14.1215 +
 14.1216 +BEGIN
 14.1217 +   dbms_output.put_line('Removing Views for the Module...');
 14.1218 +   Installation_SYS.Remove_View('ACTIVITY_ENTITY_FILTER', TRUE);
 14.1219 +   Installation_SYS.Remove_View('ACTIVITY_ENTITY_USAGE', TRUE);
 14.1220 +   Installation_SYS.Remove_View('ACTIVITY_FNDDR', TRUE);
 14.1221 +   Installation_SYS.Remove_View('ACTIVITY_GRANT', TRUE);
 14.1222 +   Installation_SYS.Remove_View('ACTIVITY_GRANT_FILTER', TRUE);
 14.1223 +   Installation_SYS.Remove_View('ACTIVITY_PACKAGE', TRUE);
 14.1224 +   Installation_SYS.Remove_View('ACTIVITY_PACKAGE_DIAGRAM', TRUE);
 14.1225 +   Installation_SYS.Remove_View('ADDRESS_LABEL', TRUE);
 14.1226 +   Installation_SYS.Remove_View('ALL_DB_LINKS_LOV', TRUE);
 14.1227 +   Installation_SYS.Remove_View('ALLOWED_REPORT', TRUE);
 14.1228 +   Installation_SYS.Remove_View('APPLICATION_MESSAGE', TRUE);
 14.1229 +   Installation_SYS.Remove_View('ARCHIVE', TRUE);
 14.1230 +   Installation_SYS.Remove_View('ARCHIVE_DISTRIBUTION', TRUE);
 14.1231 +   Installation_SYS.Remove_View('ARCHIVE_FILE_NAME', TRUE);
 14.1232 +   Installation_SYS.Remove_View('ARCHIVE_PARAMETER', TRUE);
 14.1233 +   Installation_SYS.Remove_View('ARCHIVE_VARIABLE', TRUE);
 14.1234 +   Installation_SYS.Remove_View('ATTRIBUTE_STATE_VALIDATION', TRUE);
 14.1235 +   Installation_SYS.Remove_View('ATTRIBUTE_VALIDATION_RULE', TRUE);
 14.1236 +   Installation_SYS.Remove_View('AVAILABLE_SEARCH_DOMAINS', TRUE);
 14.1237 +   Installation_SYS.Remove_View('BASIC_DATA_TRANSLATION', TRUE);
 14.1238 +   Installation_SYS.Remove_View('BASIC_DATA_TRANSLATION_HEAD', TRUE);
 14.1239 +   Installation_SYS.Remove_View('BASIC_DATA_TRANSLATION_LOV', TRUE);
 14.1240 +   Installation_SYS.Remove_View('BATCH_JOB', TRUE);
 14.1241 +   Installation_SYS.Remove_View('BATCH_JOB_LOG', TRUE);
 14.1242 +   Installation_SYS.Remove_View('BATCH_QUEUE', TRUE);
 14.1243 +   Installation_SYS.Remove_View('BATCH_QUEUE_METHOD', TRUE);
 14.1244 +   Installation_SYS.Remove_View('BATCH_SCHEDULE', TRUE);
 14.1245 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_CHAIN', TRUE);
 14.1246 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_CHAIN_PAR', TRUE);
 14.1247 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_CHAIN_STEP', TRUE);
 14.1248 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_METHOD', TRUE);
 14.1249 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_METHOD_ALL_PUB', TRUE);
 14.1250 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_METHOD_PAR', TRUE);
 14.1251 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_METHOD_PAR_PUB', TRUE);
 14.1252 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_METHOD_PUB', TRUE);
 14.1253 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_PAR', TRUE);
 14.1254 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_PAR_PUB', TRUE);
 14.1255 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_PUB', TRUE);
 14.1256 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_REPORT', TRUE);
 14.1257 +   Installation_SYS.Remove_View('BATCH_SCHEDULE_REPORT_METHOD', TRUE);
 14.1258 +   Installation_SYS.Remove_View('BI_TIME_DIMENSION', TRUE);
 14.1259 +   Installation_SYS.Remove_View('BINARY_OBJECT', TRUE);
 14.1260 +   Installation_SYS.Remove_View('BINARY_OBJECT_DATA_BLOCK', TRUE);
 14.1261 +   Installation_SYS.Remove_View('BULLETIN_BOARD_MESSAGES', TRUE);
 14.1262 +   Installation_SYS.Remove_View('BULLETIN_BOARD_TOPIC_USERS', TRUE);
 14.1263 +   Installation_SYS.Remove_View('BULLETIN_BOARD_TOPICS', TRUE);
 14.1264 +   Installation_SYS.Remove_View('CACHE_MANAGEMENT', TRUE);
 14.1265 +   Installation_SYS.Remove_View('CACHED_ARTIFACT', TRUE);
 14.1266 +   Installation_SYS.Remove_View('CACHED_ARTIFACT_ELEMENT', TRUE);
 14.1267 +   Installation_SYS.Remove_View('CLIENT_DIAGRAM', TRUE);
 14.1268 +   Installation_SYS.Remove_View('CLIENT_PACKAGE', TRUE);
 14.1269 +   Installation_SYS.Remove_View('CLIENT_PLUG_IN', TRUE);
 14.1270 +   Installation_SYS.Remove_View('CLIENT_PLUG_IN_ACTIVITY', TRUE);
 14.1271 +   Installation_SYS.Remove_View('CLIENT_PROFILE', TRUE);
 14.1272 +   Installation_SYS.Remove_View('CLIENT_PROFILE_VALUE', TRUE);
 14.1273 +   Installation_SYS.Remove_View('COMMON_MESSAGES', TRUE);
 14.1274 +   Installation_SYS.Remove_View('COMPONENT_DEPENDENCY', TRUE);
 14.1275 +   Installation_SYS.Remove_View('COMPONENT_FILE_TYPE', TRUE);
 14.1276 +   Installation_SYS.Remove_View('COMPONENT_PATCH', TRUE);
 14.1277 +   Installation_SYS.Remove_View('COMPONENT_PATCH_ROW', TRUE);
 14.1278 +   Installation_SYS.Remove_View('CONDITION_PART', TRUE);
 14.1279 +   Installation_SYS.Remove_View('CONFIG_PARAMETER', TRUE);
 14.1280 +   Installation_SYS.Remove_View('CONFIG_PARAMETER_AREA', TRUE);
 14.1281 +   Installation_SYS.Remove_View('CONFIG_PARAMETER_GROUP', TRUE);
 14.1282 +   Installation_SYS.Remove_View('CONFIG_PARAMETER_INSTANCE', TRUE);
 14.1283 +   Installation_SYS.Remove_View('CONTEXT_SUBSTITUTION_VAR', TRUE);
 14.1284 +   Installation_SYS.Remove_View('CUSTOM_MENU', TRUE);
 14.1285 +   Installation_SYS.Remove_View('CUSTOM_MENU_EXP_PAR', TRUE);
 14.1286 +   Installation_SYS.Remove_View('CUSTOM_MENU_KEY_TRANS', TRUE);
 14.1287 +   Installation_SYS.Remove_View('CUSTOM_MENU_TEXT', TRUE);
 14.1288 +   Installation_SYS.Remove_View('DATA_ARCHIVE_COLUMNS_LOV', TRUE);
 14.1289 +   Installation_SYS.Remove_View('DATA_ARCHIVE_DBLINK_LOV', TRUE);
 14.1290 +   Installation_SYS.Remove_View('DATA_ARCHIVE_EXEC_ATTR', TRUE);
 14.1291 +   Installation_SYS.Remove_View('DATA_ARCHIVE_LOG', TRUE);
 14.1292 +   Installation_SYS.Remove_View('DATA_ARCHIVE_OBJECT', TRUE);
 14.1293 +   Installation_SYS.Remove_View('DATA_ARCHIVE_OBJECT_COLUMNS', TRUE);
 14.1294 +   Installation_SYS.Remove_View('DATA_ARCHIVE_ORDER', TRUE);
 14.1295 +   Installation_SYS.Remove_View('DATA_ARCHIVE_ORDER_EXEC', TRUE);
 14.1296 +   Installation_SYS.Remove_View('DATA_ARCHIVE_RESTORE', TRUE);
 14.1297 +   Installation_SYS.Remove_View('DATA_ARCHIVE_SOURCE', TRUE);
 14.1298 +   Installation_SYS.Remove_View('DATA_ARCHIVE_SOURCE_ATTR', TRUE);
 14.1299 +   Installation_SYS.Remove_View('DATA_ARCHIVE_TABLES_LOV', TRUE);
 14.1300 +   Installation_SYS.Remove_View('DB_SCRIPT_REGISTER', TRUE);
 14.1301 +   Installation_SYS.Remove_View('DB_SCRIPT_REGISTER_DETAIL', TRUE);
 14.1302 +   Installation_SYS.Remove_View('DEFERRED_JOB', TRUE);
 14.1303 +   Installation_SYS.Remove_View('DEFERRED_JOB_STATUS', TRUE);
 14.1304 +   Installation_SYS.Remove_View('DETAIL_VALIDATION', TRUE);
 14.1305 +   Installation_SYS.Remove_View('DICTIONARY_SYS_ARGUMENT', TRUE);
 14.1306 +   Installation_SYS.Remove_View('DICTIONARY_SYS_CONSTRAINTS', TRUE);
 14.1307 +   Installation_SYS.Remove_View('DICTIONARY_SYS_DOMAIN', TRUE);
 14.1308 +   Installation_SYS.Remove_View('DICTIONARY_SYS_IND_COLUMNS', TRUE);
 14.1309 +   Installation_SYS.Remove_View('DICTIONARY_SYS_INDEXES', TRUE);
 14.1310 +   Installation_SYS.Remove_View('DICTIONARY_SYS_LU', TRUE);
 14.1311 +   Installation_SYS.Remove_View('DICTIONARY_SYS_METHOD', TRUE);
 14.1312 +   Installation_SYS.Remove_View('DICTIONARY_SYS_METHOD_LOV', TRUE);
 14.1313 +   Installation_SYS.Remove_View('DICTIONARY_SYS_PACKAGE', TRUE);
 14.1314 +   Installation_SYS.Remove_View('DICTIONARY_SYS_STATE', TRUE);
 14.1315 +   Installation_SYS.Remove_View('DICTIONARY_SYS_STATE_EVENT', TRUE);
 14.1316 +   Installation_SYS.Remove_View('DICTIONARY_SYS_STATE_MACH', TRUE);
 14.1317 +   Installation_SYS.Remove_View('DICTIONARY_SYS_STATE_TRANS', TRUE);
 14.1318 +   Installation_SYS.Remove_View('DICTIONARY_SYS_TAB_COLUMNS', TRUE);
 14.1319 +   Installation_SYS.Remove_View('DICTIONARY_SYS_TABLES', TRUE);
 14.1320 +   Installation_SYS.Remove_View('DICTIONARY_SYS_VIEW', TRUE);
 14.1321 +   Installation_SYS.Remove_View('DICTIONARY_SYS_VIEW_COLUMN', TRUE);
 14.1322 +   Installation_SYS.Remove_View('DIM_BI_TIME_DM', TRUE);
 14.1323 +   Installation_SYS.Remove_View('DIM_BI_TIME_OL', TRUE);
 14.1324 +   Installation_SYS.Remove_View('DISTRIBUTION_GROUP', TRUE);
 14.1325 +   Installation_SYS.Remove_View('DISTRIBUTION_GROUP_MEMBER', TRUE);
 14.1326 +   Installation_SYS.Remove_View('DOCUMENT_LIFECYCLE', TRUE);
 14.1327 +   Installation_SYS.Remove_View('DRAFT', TRUE);
 14.1328 +   Installation_SYS.Remove_View('DSOD', TRUE);
 14.1329 +   Installation_SYS.Remove_View('DSOD_CRITERIA', TRUE);
 14.1330 +   Installation_SYS.Remove_View('DSOD_DISPLAY_ITEM', TRUE);
 14.1331 +   Installation_SYS.Remove_View('DSOD_GROUPING', TRUE);
 14.1332 +   Installation_SYS.Remove_View('DSOD_SET', TRUE);
 14.1333 +   Installation_SYS.Remove_View('DSOD_SORTING', TRUE);
 14.1334 +   Installation_SYS.Remove_View('DSOD_STRUCTURE_REQUEST', TRUE);
 14.1335 +   Installation_SYS.Remove_View('ENTITY', TRUE);
 14.1336 +   Installation_SYS.Remove_View('ENTITY_ASS_STATE_VALID', TRUE);
 14.1337 +   Installation_SYS.Remove_View('ENTITY_ASSOCIATION', TRUE);
 14.1338 +   Installation_SYS.Remove_View('ENTITY_ASSOCIATION_ATTR', TRUE);
 14.1339 +   Installation_SYS.Remove_View('ENTITY_ATTRIBUTE', TRUE);
 14.1340 +   Installation_SYS.Remove_View('ENTITY_DIAGRAM', TRUE);
 14.1341 +   Installation_SYS.Remove_View('ENTITY_PACKAGE', TRUE);
 14.1342 +   Installation_SYS.Remove_View('ENTITY_PACKAGE_DIAGRAM', TRUE);
 14.1343 +   Installation_SYS.Remove_View('ENTITY_STATE', TRUE);
 14.1344 +   Installation_SYS.Remove_View('ENUMERATION_VALUE', TRUE);
 14.1345 +   Installation_SYS.Remove_View('EXCEL_REPORT_ARCHIVE', TRUE);
 14.1346 +   Installation_SYS.Remove_View('FEATURE', TRUE);
 14.1347 +   Installation_SYS.Remove_View('FEATURE_ACTIVITY', TRUE);
 14.1348 +   Installation_SYS.Remove_View('FEATURE_WIDGET', TRUE);
 14.1349 +   Installation_SYS.Remove_View('FILTER', TRUE);
 14.1350 +   Installation_SYS.Remove_View('FILTER_PARAMETER', TRUE);
 14.1351 +   Installation_SYS.Remove_View('FND_CODE_TEMPLATE', TRUE);
 14.1352 +   Installation_SYS.Remove_View('FND_COL_COMMENTS', TRUE);
 14.1353 +   Installation_SYS.Remove_View('FND_COMBINED_PDF_ARCHIVE', TRUE);
 14.1354 +   Installation_SYS.Remove_View('FND_EVENT', TRUE);
 14.1355 +   Installation_SYS.Remove_View('FND_EVENT_ACTION', TRUE);
 14.1356 +   Installation_SYS.Remove_View('FND_EVENT_ACTION_SUBSCRIBABLE', TRUE);
 14.1357 +   Installation_SYS.Remove_View('FND_EVENT_ACTION_SUBSCRIBE', TRUE);
 14.1358 +   Installation_SYS.Remove_View('FND_EVENT_MY_MESSAGES', TRUE);
 14.1359 +   Installation_SYS.Remove_View('FND_EVENT_PARAMETER', TRUE);
 14.1360 +   Installation_SYS.Remove_View('FND_EVENT_PARAMETER_SPECIAL', TRUE);
 14.1361 +   Installation_SYS.Remove_View('FND_GRANT_ROLE', TRUE);
 14.1362 +   Installation_SYS.Remove_View('FND_LICENSE', TRUE);
 14.1363 +   Installation_SYS.Remove_View('FND_MONITOR_CATEGORY', TRUE);
 14.1364 +   Installation_SYS.Remove_View('FND_MONITOR_ENTRY', TRUE);
 14.1365 +   Installation_SYS.Remove_View('FND_NOTE_BOOK', TRUE);
 14.1366 +   Installation_SYS.Remove_View('FND_NOTE_PAGE', TRUE);
 14.1367 +   Installation_SYS.Remove_View('FND_ROLE', TRUE);
 14.1368 +   Installation_SYS.Remove_View('FND_ROLE_ROLE', TRUE);
 14.1369 +   Installation_SYS.Remove_View('FND_SECURITY_PER_OBJECT_REP', TRUE);
 14.1370 +   Installation_SYS.Remove_View('FND_SECURITY_PER_USER_REP', TRUE);
 14.1371 +   Installation_SYS.Remove_View('FND_SESSION', TRUE);
 14.1372 +   Installation_SYS.Remove_View('FND_SESSION_REP', TRUE);
 14.1373 +   Installation_SYS.Remove_View('FND_SESSION_RUNTIME', TRUE);
 14.1374 +   Installation_SYS.Remove_View('FND_SETTING', TRUE);
 14.1375 +   Installation_SYS.Remove_View('FND_TAB_COMMENTS', TRUE);
 14.1376 +   Installation_SYS.Remove_View('FND_TRANSLATION', TRUE);
 14.1377 +   Installation_SYS.Remove_View('FND_USER', TRUE);
 14.1378 +   Installation_SYS.Remove_View('FND_USER_ERRORS', TRUE);
 14.1379 +   Installation_SYS.Remove_View('FND_USER_OBJECTS', TRUE);
 14.1380 +   Installation_SYS.Remove_View('FND_USER_ORALOV', TRUE);
 14.1381 +   Installation_SYS.Remove_View('FND_USER_PROPERTY', TRUE);
 14.1382 +   Installation_SYS.Remove_View('FND_USER_ROLE', TRUE);
 14.1383 +   Installation_SYS.Remove_View('FND_USER_ROLE_RUNTIME', TRUE);
 14.1384 +   Installation_SYS.Remove_View('FND_USER_SOURCE', TRUE);
 14.1385 +   Installation_SYS.Remove_View('FNDCN_MESSAGE_QUEUE', TRUE);
 14.1386 +   Installation_SYS.Remove_View('FNDRPL_BO_LU_NAMES', TRUE);
 14.1387 +   Installation_SYS.Remove_View('FNDRPL_BO_OBJECT', TRUE);
 14.1388 +   Installation_SYS.Remove_View('FNDRPL_BO_PACKAGE', TRUE);
 14.1389 +   Installation_SYS.Remove_View('FNDRPL_BO_TRIGGER', TRUE);
 14.1390 +   Installation_SYS.Remove_View('FNDRPL_BUSINESS_OBJECT', TRUE);
 14.1391 +   Installation_SYS.Remove_View('FNDRPL_COMPONENTS', TRUE);
 14.1392 +   Installation_SYS.Remove_View('FNDRPL_LU_NAMES', TRUE);
 14.1393 +   Installation_SYS.Remove_View('FNDRPL_RECEIVER', TRUE);
 14.1394 +   Installation_SYS.Remove_View('FNDRPL_RG_COLUMN_NAME', TRUE);
 14.1395 +   Installation_SYS.Remove_View('FNDRPL_RG_TABLE_NAME', TRUE);
 14.1396 +   Installation_SYS.Remove_View('FNDRPL_RO_LU_NAMES', TRUE);
 14.1397 +   Installation_SYS.Remove_View('FNDRR_CLIENT_PROFILE', TRUE);
 14.1398 +   Installation_SYS.Remove_View('FNDRR_CLIENT_PROFILE_VALUE', TRUE);
 14.1399 +   Installation_SYS.Remove_View('FNDRR_USER_CLIENT_PROFILE', TRUE);
 14.1400 +   Installation_SYS.Remove_View('FUNC_AREA_CONFLICT_CACHE', TRUE);
 14.1401 +   Installation_SYS.Remove_View('FUNC_AREA_CONFLICT_PERMISSIONS', TRUE);
 14.1402 +   Installation_SYS.Remove_View('FUNC_AREA_SEC_CACHE', TRUE);
 14.1403 +   Installation_SYS.Remove_View('FUNC_AREA_USER_PERMISSIONS', TRUE);
 14.1404 +   Installation_SYS.Remove_View('FUNCTIONAL_AREA_ACTIVITY', TRUE);
 14.1405 +   Installation_SYS.Remove_View('FUNCTIONAL_AREA_CONFLICT', TRUE);
 14.1406 +   Installation_SYS.Remove_View('FUNCTIONAL_AREA_CONFLICT_REP', TRUE);
 14.1407 +   Installation_SYS.Remove_View('FUNCTIONAL_AREA_METHOD', TRUE);
 14.1408 +   Installation_SYS.Remove_View('FUNCTIONAL_AREA_VIEW', TRUE);
 14.1409 +   Installation_SYS.Remove_View('HANDLER', TRUE);
 14.1410 +   Installation_SYS.Remove_View('HANDLER_METHOD', TRUE);
 14.1411 +   Installation_SYS.Remove_View('HISTORY_LOG', TRUE);
 14.1412 +   Installation_SYS.Remove_View('HISTORY_LOG_ADMIN', TRUE);
 14.1413 +   Installation_SYS.Remove_View('HISTORY_LOG_ATTRIBUTE', TRUE);
 14.1414 +   Installation_SYS.Remove_View('HISTORY_LOG_REP', TRUE);
 14.1415 +   Installation_SYS.Remove_View('HISTORY_SETTING', TRUE);
 14.1416 +   Installation_SYS.Remove_View('HISTORY_SETTING_ATTRIBUTE', TRUE);
 14.1417 +   Installation_SYS.Remove_View('I_FACE_CONTROL_PARAMETER', TRUE);
 14.1418 +   Installation_SYS.Remove_View('IAL_OBJECT', TRUE);
 14.1419 +   Installation_SYS.Remove_View('IN_MESSAGE', TRUE);
 14.1420 +   Installation_SYS.Remove_View('IN_MESSAGE_LINE', TRUE);
 14.1421 +   Installation_SYS.Remove_View('IN_MESSAGE_LOADED', TRUE);
 14.1422 +   Installation_SYS.Remove_View('INDEX_COLUMN', TRUE);
 14.1423 +   Installation_SYS.Remove_View('INFO_SERVICES_RPV', TRUE);
 14.1424 +   Installation_SYS.Remove_View('INSTALLATION_SITE', TRUE);
 14.1425 +   Installation_SYS.Remove_View('ITEM_OWNER', TRUE);
 14.1426 +   Installation_SYS.Remove_View('J2EE_APPLICATION', TRUE);
 14.1427 +   Installation_SYS.Remove_View('J2EE_MODULE', TRUE);
 14.1428 +   Installation_SYS.Remove_View('LANG_CODE_RFC3066', TRUE);
 14.1429 +   Installation_SYS.Remove_View('LANGUAGE_ATTRIBUTE', TRUE);
 14.1430 +   Installation_SYS.Remove_View('LANGUAGE_CODE', TRUE);
 14.1431 +   Installation_SYS.Remove_View('LANGUAGE_CODE_DISTINCT', TRUE);
 14.1432 +   Installation_SYS.Remove_View('LANGUAGE_CONNECTION', TRUE);
 14.1433 +   Installation_SYS.Remove_View('LANGUAGE_CONTENT_TYPE', TRUE);
 14.1434 +   Installation_SYS.Remove_View('LANGUAGE_CONTEXT', TRUE);
 14.1435 +   Installation_SYS.Remove_View('LANGUAGE_DESTINATION', TRUE);
 14.1436 +   Installation_SYS.Remove_View('LANGUAGE_FILE_EXPORT', TRUE);
 14.1437 +   Installation_SYS.Remove_View('LANGUAGE_FILE_IMPORT', TRUE);
 14.1438 +   Installation_SYS.Remove_View('LANGUAGE_FONT_MAPPING', TRUE);
 14.1439 +   Installation_SYS.Remove_View('LANGUAGE_MODULE', TRUE);
 14.1440 +   Installation_SYS.Remove_View('LANGUAGE_PROPERTY', TRUE);
 14.1441 +   Installation_SYS.Remove_View('LANGUAGE_SOURCE', TRUE);
 14.1442 +   Installation_SYS.Remove_View('LANGUAGE_SYS_IMP', TRUE);
 14.1443 +   Installation_SYS.Remove_View('LANGUAGE_TR_STAT_CTX', TRUE);
 14.1444 +   Installation_SYS.Remove_View('LANGUAGE_TR_STAT_OVERVIEW', TRUE);
 14.1445 +   Installation_SYS.Remove_View('LANGUAGE_TRANSLATION', TRUE);
 14.1446 +   Installation_SYS.Remove_View('LANGUAGE_TRANSLATION_EXP', TRUE);
 14.1447 +   Installation_SYS.Remove_View('LANGUAGE_TRANSLATION_LOC', TRUE);
 14.1448 +   Installation_SYS.Remove_View('LDAP_CONFIGURATION', TRUE);
 14.1449 +   Installation_SYS.Remove_View('LDAP_DOMAIN_CONFIG', TRUE);
 14.1450 +   Installation_SYS.Remove_View('LDAP_MAPPING', TRUE);
 14.1451 +   Installation_SYS.Remove_View('LOGICAL_PRINTER', TRUE);
 14.1452 +   Installation_SYS.Remove_View('LOGICAL_UNIT', TRUE);
 14.1453 +   Installation_SYS.Remove_View('LOGICAL_UNIT_DETAILS', TRUE);
 14.1454 +   Installation_SYS.Remove_View('LU_ATTRIBUTE', TRUE);
 14.1455 +   Installation_SYS.Remove_View('LU_OPERATION', TRUE);
 14.1456 +   Installation_SYS.Remove_View('MAPPED_ENTITY', TRUE);
 14.1457 +   Installation_SYS.Remove_View('MESSAGE_ARCHIVE', TRUE);
 14.1458 +   Installation_SYS.Remove_View('MESSAGE_ARCHIVE_ADDRESS', TRUE);
 14.1459 +   Installation_SYS.Remove_View('MESSAGE_ARCHIVE_BODY', TRUE);
 14.1460 +   Installation_SYS.Remove_View('MESSAGE_ARCHIVE_SEARCH', TRUE);
 14.1461 +   Installation_SYS.Remove_View('MESSAGE_BODY', TRUE);
 14.1462 +   Installation_SYS.Remove_View('MESSAGE_CLASS', TRUE);
 14.1463 +   Installation_SYS.Remove_View('MESSAGE_MEDIA', TRUE);
 14.1464 +   Installation_SYS.Remove_View('MESSAGE_QUEUE', TRUE);
 14.1465 +   Installation_SYS.Remove_View('MESSAGE_RECEIVER', TRUE);
 14.1466 +   Installation_SYS.Remove_View('METHOD_FILTER', TRUE);
 14.1467 +   Installation_SYS.Remove_View('METHOD_PARAMETER', TRUE);
 14.1468 +   Installation_SYS.Remove_View('MOBILE_CLIENT_PACKAGE', TRUE);
 14.1469 +   Installation_SYS.Remove_View('MOBILE_ENTITY_SYNCH', TRUE);
 14.1470 +   Installation_SYS.Remove_View('MOBILE_OPTIMIZER_DATA', TRUE);
 14.1471 +   Installation_SYS.Remove_View('MOBILE_USER_CACHE', TRUE);
 14.1472 +   Installation_SYS.Remove_View('MODEL_IMPORT_LOG', TRUE);
 14.1473 +   Installation_SYS.Remove_View('MODEL_WORKSPACE', TRUE);
 14.1474 +   Installation_SYS.Remove_View('MODULE', TRUE);
 14.1475 +   Installation_SYS.Remove_View('MODULE_DB_PATCH', TRUE);
 14.1476 +   Installation_SYS.Remove_View('MODULE_DEPENDENCY', TRUE);
 14.1477 +   Installation_SYS.Remove_View('MODULE_DIAGRAM', TRUE);
 14.1478 +   Installation_SYS.Remove_View('MODULE_FNDDR', TRUE);
 14.1479 +   Installation_SYS.Remove_View('MODULE_INSTALLED', TRUE);
 14.1480 +   Installation_SYS.Remove_View('MODULE_LU_LOV', TRUE);
 14.1481 +   Installation_SYS.Remove_View('MODULE_REP', TRUE);
 14.1482 +   Installation_SYS.Remove_View('MODULE_SYSTEM_DOC', TRUE);
 14.1483 +   Installation_SYS.Remove_View('MODULE_TRANSLATION_PUB', TRUE);
 14.1484 +   Installation_SYS.Remove_View('MY_TODO_ITEM', TRUE);
 14.1485 +   Installation_SYS.Remove_View('NOTE', TRUE);
 14.1486 +   Installation_SYS.Remove_View('NOTE_BOOK', TRUE);
 14.1487 +   Installation_SYS.Remove_View('OBJECT_CONNECTION', TRUE);
 14.1488 +   Installation_SYS.Remove_View('ORACLE_ACCOUNT', TRUE);
 14.1489 +   Installation_SYS.Remove_View('ORACLE_ACCOUNT_TABLESPACE', TRUE);
 14.1490 +   Installation_SYS.Remove_View('ORACLE_ALERT_LOG', TRUE);
 14.1491 +   Installation_SYS.Remove_View('ORACLE_CHARACTER_SET_LOV', TRUE);
 14.1492 +   Installation_SYS.Remove_View('ORACLE_INDEXES', TRUE);
 14.1493 +   Installation_SYS.Remove_View('ORACLE_LOB_EXTENTS', TRUE);
 14.1494 +   Installation_SYS.Remove_View('ORACLE_PROFILE', TRUE);
 14.1495 +   Installation_SYS.Remove_View('ORACLE_PROFILE_LIMITS', TRUE);
 14.1496 +   Installation_SYS.Remove_View('ORACLE_USER_ERRORS', TRUE);
 14.1497 +   Installation_SYS.Remove_View('ORACLE_USER_INDEXES', TRUE);
 14.1498 +   Installation_SYS.Remove_View('ORACLE_USER_OBJECTS', TRUE);
 14.1499 +   Installation_SYS.Remove_View('ORACLE_USER_SOURCE', TRUE);
 14.1500 +   Installation_SYS.Remove_View('ORACLE_USER_TABLES', TRUE);
 14.1501 +   Installation_SYS.Remove_View('OUT_MESSAGE', TRUE);
 14.1502 +   Installation_SYS.Remove_View('OUT_MESSAGE_LINE', TRUE);
 14.1503 +   Installation_SYS.Remove_View('PACKAGE_DEPENDENCY', TRUE);
 14.1504 +   Installation_SYS.Remove_View('PACKAGE_DIAGRAM', TRUE);
 14.1505 +   Installation_SYS.Remove_View('PARAMETER', TRUE);
 14.1506 +   Installation_SYS.Remove_View('PDF_ARCHIVE', TRUE);
 14.1507 +   Installation_SYS.Remove_View('PERFORMANCE_ANALYZE_SAVED_SRC', TRUE);
 14.1508 +   Installation_SYS.Remove_View('PERFORMANCE_ANALYZE_SOURCE', TRUE);
 14.1509 +   Installation_SYS.Remove_View('PERMISSION_SET_FILTER', TRUE);
 14.1510 +   Installation_SYS.Remove_View('PERMISSION_SET_FILTER_PAR', TRUE);
 14.1511 +   Installation_SYS.Remove_View('PLSQL_METHOD', TRUE);
 14.1512 +   Installation_SYS.Remove_View('PLSQL_PACKAGE', TRUE);
 14.1513 +   Installation_SYS.Remove_View('PLSQL_PARAMETER', TRUE);
 14.1514 +   Installation_SYS.Remove_View('PRES_OBJECT', TRUE);
 14.1515 +   Installation_SYS.Remove_View('PRES_OBJECT_BUILD', TRUE);
 14.1516 +   Installation_SYS.Remove_View('PRES_OBJECT_CHANGE', TRUE);
 14.1517 +   Installation_SYS.Remove_View('PRES_OBJECT_DEP_CHANGE', TRUE);
 14.1518 +   Installation_SYS.Remove_View('PRES_OBJECT_DEPENDENCY', TRUE);
 14.1519 +   Installation_SYS.Remove_View('PRES_OBJECT_DESCRIPTION', TRUE);
 14.1520 +   Installation_SYS.Remove_View('PRES_OBJECT_DIC_SECURITY', TRUE);
 14.1521 +   Installation_SYS.Remove_View('PRES_OBJECT_EXCLUDE', TRUE);
 14.1522 +   Installation_SYS.Remove_View('PRES_OBJECT_GRANT', TRUE);
 14.1523 +   Installation_SYS.Remove_View('PRES_OBJECT_INCLUDE', TRUE);
 14.1524 +   Installation_SYS.Remove_View('PRES_OBJECT_INCLUDE_SEC', TRUE);
 14.1525 +   Installation_SYS.Remove_View('PRES_OBJECT_SEC_CHANGE', TRUE);
 14.1526 +   Installation_SYS.Remove_View('PRES_OBJECT_SEC_EXPORT', TRUE);
 14.1527 +   Installation_SYS.Remove_View('PRES_OBJECT_SECURITY', TRUE);
 14.1528 +   Installation_SYS.Remove_View('PRES_OBJECT_SECURITY_AVAIL', TRUE);
 14.1529 +   Installation_SYS.Remove_View('PRES_OBJECT_SECURITY_BUILD', TRUE);
 14.1530 +   Installation_SYS.Remove_View('PRES_OBJECT_SECURITY_TYPE', TRUE);
 14.1531 +   Installation_SYS.Remove_View('PRES_OBJECT_TYPE', TRUE);
 14.1532 +   Installation_SYS.Remove_View('PRINT_JOB', TRUE);
 14.1533 +   Installation_SYS.Remove_View('PRINT_JOB_CONTENTS', TRUE);
 14.1534 +   Installation_SYS.Remove_View('PRINT_QUEUE', TRUE);
 14.1535 +   Installation_SYS.Remove_View('PROJECT_SETTING', TRUE);
 14.1536 +   Installation_SYS.Remove_View('QUERY_HINT_COL', TRUE);
 14.1537 +   Installation_SYS.Remove_View('QUERY_HINT_INDEX', TRUE);
 14.1538 +   Installation_SYS.Remove_View('QUERY_HINT_INDEX_LOV', TRUE);
 14.1539 +   Installation_SYS.Remove_View('QUERY_HINT_TABLE', TRUE);
 14.1540 +   Installation_SYS.Remove_View('QUERY_HINT_VIEW', TRUE);
 14.1541 +   Installation_SYS.Remove_View('QUICK_REPORT', TRUE);
 14.1542 +   Installation_SYS.Remove_View('QUICK_REPORT_NON_BI', TRUE);
 14.1543 +   Installation_SYS.Remove_View('RECEIVE_ATTR', TRUE);
 14.1544 +   Installation_SYS.Remove_View('RECEIVE_ATTR_GROUP', TRUE);
 14.1545 +   Installation_SYS.Remove_View('RECEIVE_CONDITION', TRUE);
 14.1546 +   Installation_SYS.Remove_View('RECEIVE_GROUP', TRUE);
 14.1547 +   Installation_SYS.Remove_View('RECEIVE_OBJECT', TRUE);
 14.1548 +   Installation_SYS.Remove_View('RECURRENCE_AGENDA', TRUE);
 14.1549 +   Installation_SYS.Remove_View('RECURRENCE_PATTERN', TRUE);
 14.1550 +   Installation_SYS.Remove_View('REMOTE_PRINTER_MAPPING', TRUE);
 14.1551 +   Installation_SYS.Remove_View('REMOTE_PRINTING_NODE', TRUE);
 14.1552 +   Installation_SYS.Remove_View('REPLICATION_ATTR_DEF', TRUE);
 14.1553 +   Installation_SYS.Remove_View('REPLICATION_ATTR_GROUP', TRUE);
 14.1554 +   Installation_SYS.Remove_View('REPLICATION_ATTR_GROUP_DEF', TRUE);
 14.1555 +   Installation_SYS.Remove_View('REPLICATION_CONDITION', TRUE);
 14.1556 +   Installation_SYS.Remove_View('REPLICATION_GROUP', TRUE);
 14.1557 +   Installation_SYS.Remove_View('REPLICATION_LOG', TRUE);
 14.1558 +   Installation_SYS.Remove_View('REPLICATION_OBJECT', TRUE);
 14.1559 +   Installation_SYS.Remove_View('REPLICATION_OBJECT_DEF', TRUE);
 14.1560 +   Installation_SYS.Remove_View('REPLICATION_QUEUE', TRUE);
 14.1561 +   Installation_SYS.Remove_View('REPLICATION_RECEIVER', TRUE);
 14.1562 +   Installation_SYS.Remove_View('REPLICATION_SENDER', TRUE);
 14.1563 +   Installation_SYS.Remove_View('REPLICATION_STATISTICS', TRUE);
 14.1564 +   Installation_SYS.Remove_View('REPORT_CATEGORY', TRUE);
 14.1565 +   Installation_SYS.Remove_View('REPORT_CATEGORY_LOV', TRUE);
 14.1566 +   Installation_SYS.Remove_View('REPORT_COLUMN_DEFINITION', TRUE);
 14.1567 +   Installation_SYS.Remove_View('REPORT_DEFINITION', TRUE);
 14.1568 +   Installation_SYS.Remove_View('REPORT_DEFINITION_USER', TRUE);
 14.1569 +   Installation_SYS.Remove_View('REPORT_FONT_DEFINITION', TRUE);
 14.1570 +   Installation_SYS.Remove_View('REPORT_LAYOUT', TRUE);
 14.1571 +   Installation_SYS.Remove_View('REPORT_LAYOUT_DEFINITION', TRUE);
 14.1572 +   Installation_SYS.Remove_View('REPORT_LAYOUT_TYPE_CONFIG', TRUE);
 14.1573 +   Installation_SYS.Remove_View('REPORT_LU_DEFINITION', TRUE);
 14.1574 +   Installation_SYS.Remove_View('REPORT_PARAMETER', TRUE);
 14.1575 +   Installation_SYS.Remove_View('REPORT_PDF_INSERT', TRUE);
 14.1576 +   Installation_SYS.Remove_View('REPORT_PLUGIN', TRUE);
 14.1577 +   Installation_SYS.Remove_View('REPORT_RESULT_GEN_CONFIG', TRUE);
 14.1578 +   Installation_SYS.Remove_View('REPORT_RULE_ACTION', TRUE);
 14.1579 +   Installation_SYS.Remove_View('REPORT_RULE_CONDITION', TRUE);
 14.1580 +   Installation_SYS.Remove_View('REPORT_RULE_DEFINITION', TRUE);
 14.1581 +   Installation_SYS.Remove_View('REPORT_RULE_LOG', TRUE);
 14.1582 +   Installation_SYS.Remove_View('REPORT_SCHEMA', TRUE);
 14.1583 +   Installation_SYS.Remove_View('REPORT_TEXT', TRUE);
 14.1584 +   Installation_SYS.Remove_View('REPORT_USER_SETTINGS', TRUE);
 14.1585 +   Installation_SYS.Remove_View('ROUTE_ADDRESS', TRUE);
 14.1586 +   Installation_SYS.Remove_View('ROUTE_ADDRESS_REFERENCE', TRUE);
 14.1587 +   Installation_SYS.Remove_View('ROUTE_CONDITION', TRUE);
 14.1588 +   Installation_SYS.Remove_View('RUNTIME_TRANSLATIONS', TRUE);
 14.1589 +   Installation_SYS.Remove_View('SEARCH_DOMAIN_DOCUMENT', TRUE);
 14.1590 +   Installation_SYS.Remove_View('SEARCH_DOMAIN_ERRORS', TRUE);
 14.1591 +   Installation_SYS.Remove_View('SEARCH_DOMAIN_GROUP', TRUE);
 14.1592 +   Installation_SYS.Remove_View('SEARCH_DOMAIN_GROUP_MEMBER', TRUE);
 14.1593 +   Installation_SYS.Remove_View('SEARCH_DOMAIN_PENDING_DOCUMENT', TRUE);
 14.1594 +   Installation_SYS.Remove_View('SEARCH_DOMAIN_RUNTIME', TRUE);
 14.1595 +   Installation_SYS.Remove_View('SEARCH_DOMAIN_UNSYNCHED', TRUE);
 14.1596 +   Installation_SYS.Remove_View('SEC_CHECKPOINT_GATE', TRUE);
 14.1597 +   Installation_SYS.Remove_View('SEC_CHECKPOINT_GATE_PARAM', TRUE);
 14.1598 +   Installation_SYS.Remove_View('SEC_CHECKPOINT_LOG', TRUE);
 14.1599 +   Installation_SYS.Remove_View('SECURITY_SYS_DIC_GRANTED_OBJ', TRUE);
 14.1600 +   Installation_SYS.Remove_View('SECURITY_SYS_GRANTED_IALS', TRUE);
 14.1601 +   Installation_SYS.Remove_View('SECURITY_SYS_GRANTED_OBJECTS', TRUE);
 14.1602 +   Installation_SYS.Remove_View('SECURITY_SYS_REVOKED_METHODS', TRUE);
 14.1603 +   Installation_SYS.Remove_View('SECURITY_SYS_ROLE_TREE', TRUE);
 14.1604 +   Installation_SYS.Remove_View('SECURITY_SYS_USER_ROLE_LIST', TRUE);
 14.1605 +   Installation_SYS.Remove_View('SECURITY_SYS_USER_ROLE_TMP', TRUE);
 14.1606 +   Installation_SYS.Remove_View('SELECTION', TRUE);
 14.1607 +   Installation_SYS.Remove_View('SELECTION_ITEM', TRUE);
 14.1608 +   Installation_SYS.Remove_View('SERV_PACKAGE_DEPENDENCY', TRUE);
 14.1609 +   Installation_SYS.Remove_View('SERVER_LOG', TRUE);
 14.1610 +   Installation_SYS.Remove_View('SERVER_LOG_CATEGORY', TRUE);
 14.1611 +   Installation_SYS.Remove_View('SERVER_PACKAGE', TRUE);
 14.1612 +   Installation_SYS.Remove_View('SITE_TEXT', TRUE);
 14.1613 +   Installation_SYS.Remove_View('SOD_CACHE', TRUE);
 14.1614 +   Installation_SYS.Remove_View('SOX_FUNCTIONAL_AREA', TRUE);
 14.1615 +   Installation_SYS.Remove_View('STATE_DIAGRAM', TRUE);
 14.1616 +   Installation_SYS.Remove_View('STATE_EVENT', TRUE);
 14.1617 +   Installation_SYS.Remove_View('STEREOTYPE', TRUE);
 14.1618 +   Installation_SYS.Remove_View('STORAGE_ATTRIBUTE', TRUE);
 14.1619 +   Installation_SYS.Remove_View('STORAGE_DIAGRAM', TRUE);
 14.1620 +   Installation_SYS.Remove_View('STORAGE_OBJECT', TRUE);
 14.1621 +   Installation_SYS.Remove_View('STORAGE_PACKAGE', TRUE);
 14.1622 +   Installation_SYS.Remove_View('SYSTEM_PRIVILEGE', TRUE);
 14.1623 +   Installation_SYS.Remove_View('SYSTEM_PRIVILEGE_GRANT', TRUE);
 14.1624 +   Installation_SYS.Remove_View('TABLE_INDEX', TRUE);
 14.1625 +   Installation_SYS.Remove_View('TARGET', TRUE);
 14.1626 +   Installation_SYS.Remove_View('TEMPLATE', TRUE);
 14.1627 +   Installation_SYS.Remove_View('TERM', TRUE);
 14.1628 +   Installation_SYS.Remove_View('TERM_ALERT_INDICATOR', TRUE);
 14.1629 +   Installation_SYS.Remove_View('TERM_DEFINITION_HISTORY', TRUE);
 14.1630 +   Installation_SYS.Remove_View('TERM_DISPLAY_NAME', TRUE);
 14.1631 +   Installation_SYS.Remove_View('TERM_DOMAIN', TRUE);
 14.1632 +   Installation_SYS.Remove_View('TERM_HISTORY', TRUE);
 14.1633 +   Installation_SYS.Remove_View('TERM_OWNER', TRUE);
 14.1634 +   Installation_SYS.Remove_View('TERM_OWNER_MODULE', TRUE);
 14.1635 +   Installation_SYS.Remove_View('TERM_RELATION', TRUE);
 14.1636 +   Installation_SYS.Remove_View('TERM_STOP_LIST', TRUE);
 14.1637 +   Installation_SYS.Remove_View('TERM_TRANSLATED_DEFINITION', TRUE);
 14.1638 +   Installation_SYS.Remove_View('TERM_TRANSLATED_NAME', TRUE);
 14.1639 +   Installation_SYS.Remove_View('TERM_USAGE_DEFINITION', TRUE);
 14.1640 +   Installation_SYS.Remove_View('TERM_USAGE_GET_ALL_TEXTS', TRUE);
 14.1641 +   Installation_SYS.Remove_View('TERM_USAGE_IDENTIFIER', TRUE);
 14.1642 +   Installation_SYS.Remove_View('TODO_FOLDER', TRUE);
 14.1643 +   Installation_SYS.Remove_View('TODO_HISTORY', TRUE);
 14.1644 +   Installation_SYS.Remove_View('TODO_ITEM', TRUE);
 14.1645 +   Installation_SYS.Remove_View('TODO_ITEM_RECEIVER', TRUE);
 14.1646 +   Installation_SYS.Remove_View('UML_DIAGRAM', TRUE);
 14.1647 +   Installation_SYS.Remove_View('USER_AREA_ALL_PERMISSIONS', TRUE);
 14.1648 +   Installation_SYS.Remove_View('USER_CLIENT_PROFILE', TRUE);
 14.1649 +   Installation_SYS.Remove_View('USER_DB_LINKS_LOV', TRUE);
 14.1650 +   Installation_SYS.Remove_View('USER_FUNC_NO_CONFLICT_AREAS', TRUE);
 14.1651 +   Installation_SYS.Remove_View('USER_FUNCTIONAL_AREA_CONFLICTS', TRUE);
 14.1652 +   Installation_SYS.Remove_View('USER_GROUP', TRUE);
 14.1653 +   Installation_SYS.Remove_View('USER_GROUP_USER', TRUE);
 14.1654 +   Installation_SYS.Remove_View('USER_PROFILE', TRUE);
 14.1655 +   Installation_SYS.Remove_View('USER_PROFILE_ENTRY', TRUE);
 14.1656 +   Installation_SYS.Remove_View('VALIDATION_OBJECT', TRUE);
 14.1657 +   Installation_SYS.Remove_View('VIEW_ASSOCIATION', TRUE);
 14.1658 +   Installation_SYS.Remove_View('VIEW_ATTRIBUTE', TRUE);
 14.1659 +   Installation_SYS.Remove_View('VIEW_FNDDR', TRUE);
 14.1660 +   Installation_SYS.Remove_View('WIDGET', TRUE);
 14.1661 +   Installation_SYS.Remove_View('WIDGET_ACTIVITY', TRUE);
 14.1662 +   Installation_SYS.Remove_View('WORKSPACE', TRUE);
 14.1663 +   Installation_SYS.Remove_View('XLR_ANALYZE_RESULT_UTIL', TRUE);
 14.1664 +   Installation_SYS.Remove_View('XLR_BA_CLIENT_ARCHIVE', TRUE);
 14.1665 +   Installation_SYS.Remove_View('XLR_BA_CLIENT_ARCHIVE_DIST', TRUE);
 14.1666 +   Installation_SYS.Remove_View('XLR_BI_USED_MVIEWS', TRUE);
 14.1667 +   Installation_SYS.Remove_View('XLR_CONNECTED_MVIEWS', TRUE);
 14.1668 +   Installation_SYS.Remove_View('XLR_DATA_MART_VIEWS', TRUE);
 14.1669 +   Installation_SYS.Remove_View('XLR_DEF_FACT_NAV_FOLDER', TRUE);
 14.1670 +   Installation_SYS.Remove_View('XLR_DIM_FACT_DIRECT_REF_MVIEWS', TRUE);
 14.1671 +   Installation_SYS.Remove_View('XLR_DIM_ITEM_STRUCT_INFO', TRUE);
 14.1672 +   Installation_SYS.Remove_View('XLR_DIM_REF_RELATIONS', TRUE);
 14.1673 +   Installation_SYS.Remove_View('XLR_DIM_SOURCE_HINT_ITEM', TRUE);
 14.1674 +   Installation_SYS.Remove_View('XLR_DIM_SOURCE_HINT_ITEM_VIEW', TRUE);
 14.1675 +   Installation_SYS.Remove_View('XLR_DIM_SOURCE_IX', TRUE);
 14.1676 +   Installation_SYS.Remove_View('XLR_DIM_SOURCE_IX_ITEM', TRUE);
 14.1677 +   Installation_SYS.Remove_View('XLR_DIM_VIEW_INFO', TRUE);
 14.1678 +   Installation_SYS.Remove_View('XLR_DIMENSION', TRUE);
 14.1679 +   Installation_SYS.Remove_View('XLR_DIMENSION_ITEM', TRUE);
 14.1680 +   Installation_SYS.Remove_View('XLR_DIMENSION_LOV_ITEM', TRUE);
 14.1681 +   Installation_SYS.Remove_View('XLR_DIMENSION_LOV_SORT', TRUE);
 14.1682 +   Installation_SYS.Remove_View('XLR_DIMENSION_PARENT', TRUE);
 14.1683 +   Installation_SYS.Remove_View('XLR_DIMENSION_SOURCE', TRUE);
 14.1684 +   Installation_SYS.Remove_View('XLR_DIMENSIONS', TRUE);
 14.1685 +   Installation_SYS.Remove_View('XLR_DIRECT_REF_MVIEWS', TRUE);
 14.1686 +   Installation_SYS.Remove_View('XLR_EXEC_ORDERABLE_TEMPLATE', TRUE);
 14.1687 +   Installation_SYS.Remove_View('XLR_FACT', TRUE);
 14.1688 +   Installation_SYS.Remove_View('XLR_FACT_DETAIL_DIM_ITEM', TRUE);
 14.1689 +   Installation_SYS.Remove_View('XLR_FACT_DIM_ID_DEF', TRUE);
 14.1690 +   Installation_SYS.Remove_View('XLR_FACT_DIM_JOIN', TRUE);
 14.1691 +   Installation_SYS.Remove_View('XLR_FACT_DIM_JOIN_ITEM', TRUE);
 14.1692 +   Installation_SYS.Remove_View('XLR_FACT_DIM_SRC_INDICATE', TRUE);
 14.1693 +   Installation_SYS.Remove_View('XLR_FACT_DIMENSION', TRUE);
 14.1694 +   Installation_SYS.Remove_View('XLR_FACT_ITEM', TRUE);
 14.1695 +   Installation_SYS.Remove_View('XLR_FACT_PARENT', TRUE);
 14.1696 +   Installation_SYS.Remove_View('XLR_FACT_PUB', TRUE);
 14.1697 +   Installation_SYS.Remove_View('XLR_FACT_SOURCE', TRUE);
 14.1698 +   Installation_SYS.Remove_View('XLR_FACT_SOURCE_HINT_ITEM', TRUE);
 14.1699 +   Installation_SYS.Remove_View('XLR_FACT_SOURCE_IX', TRUE);
 14.1700 +   Installation_SYS.Remove_View('XLR_FACT_SOURCE_IX_ITEM', TRUE);
 14.1701 +   Installation_SYS.Remove_View('XLR_FACT_URL', TRUE);
 14.1702 +   Installation_SYS.Remove_View('XLR_FACT_URL_ITEM', TRUE);
 14.1703 +   Installation_SYS.Remove_View('XLR_FACT_WB_DIM_ITEM', TRUE);
 14.1704 +   Installation_SYS.Remove_View('XLR_FACT_WRITE_BACK_INFO', TRUE);
 14.1705 +   Installation_SYS.Remove_View('XLR_FACTS', TRUE);
 14.1706 +   Installation_SYS.Remove_View('XLR_IMPORT_LOG', TRUE);
 14.1707 +   Installation_SYS.Remove_View('XLR_INSTANCE_PARAM_VALUE', TRUE);
 14.1708 +   Installation_SYS.Remove_View('XLR_META_DATA_FILE_ENTITY', TRUE);
 14.1709 +   Installation_SYS.Remove_View('XLR_MODULES', TRUE);
 14.1710 +   Installation_SYS.Remove_View('XLR_MV_CRITERIA', TRUE);
 14.1711 +   Installation_SYS.Remove_View('XLR_MV_INFO', TRUE);
 14.1712 +   Installation_SYS.Remove_View('XLR_MV_PER_REFRESH_CAT', TRUE);
 14.1713 +   Installation_SYS.Remove_View('XLR_MV_REFRESH_CATEGORY', TRUE);
 14.1714 +   Installation_SYS.Remove_View('XLR_MVIEW_LOGS', TRUE);
 14.1715 +   Installation_SYS.Remove_View('XLR_MVIEWS', TRUE);
 14.1716 +   Installation_SYS.Remove_View('XLR_REFERENCED_MVIEWS', TRUE);
 14.1717 +   Installation_SYS.Remove_View('XLR_REPORT_INSTANCE', TRUE);
 14.1718 +   Installation_SYS.Remove_View('XLR_REPORT_INSTANCE_UTIL', TRUE);
 14.1719 +   Installation_SYS.Remove_View('XLR_REPORT_RESULT', TRUE);
 14.1720 +   Installation_SYS.Remove_View('XLR_REPORT_UPG_UTILITY', TRUE);
 14.1721 +   Installation_SYS.Remove_View('XLR_REPORT_UPG_UTILITY_BASE', TRUE);
 14.1722 +   Installation_SYS.Remove_View('XLR_RUNTIME_LOG', TRUE);
 14.1723 +   Installation_SYS.Remove_View('XLR_SOURCE_NAVIGATOR', TRUE);
 14.1724 +   Installation_SYS.Remove_View('XLR_SOURCES', TRUE);
 14.1725 +   Installation_SYS.Remove_View('XLR_STRUCT_REQUEST', TRUE);
 14.1726 +   Installation_SYS.Remove_View('XLR_STRUCT_REQUEST_PARENT', TRUE);
 14.1727 +   Installation_SYS.Remove_View('XLR_STRUCT_RESPONSE', TRUE);
 14.1728 +   Installation_SYS.Remove_View('XLR_STRUCT_RESPONSE_LEAF', TRUE);
 14.1729 +   Installation_SYS.Remove_View('XLR_STRUCT_RESPONSE_LEVEL', TRUE);
 14.1730 +   Installation_SYS.Remove_View('XLR_STRUCT_RESPONSE_NODE', TRUE);
 14.1731 +   Installation_SYS.Remove_View('XLR_STRUCTURE_UTIL', TRUE);
 14.1732 +   Installation_SYS.Remove_View('XLR_SYSTEM_PARAMETER', TRUE);
 14.1733 +   Installation_SYS.Remove_View('XLR_TABLE_COLUMNS', TRUE);
 14.1734 +   Installation_SYS.Remove_View('XLR_TEMPLATE', TRUE);
 14.1735 +   Installation_SYS.Remove_View('XLR_TEMPLATE_FILE', TRUE);
 14.1736 +   Installation_SYS.Remove_View('XLR_TEMPLATE_PARAMETER', TRUE);
 14.1737 +   Installation_SYS.Remove_View('XLR_TEMPLATE_UTIL', TRUE);
 14.1738 +   Installation_SYS.Remove_View('XLR_TRANSLATION_SOURCE', TRUE);
 14.1739 +   Installation_SYS.Remove_View('XLR_USED_DIMENSIONS', TRUE);
 14.1740 +   Installation_SYS.Remove_View('XLR_USER_MVIEWS', TRUE);
 14.1741 +   Installation_SYS.Remove_View('XLR_WB_COLLECTION', TRUE);
 14.1742 +   Installation_SYS.Remove_View('XLR_WB_COLLECTION_PUB', TRUE);
 14.1743 +   Installation_SYS.Remove_View('XLR_WB_CONTENT', TRUE);
 14.1744 +   Installation_SYS.Remove_View('XLR_WB_FACT', TRUE);
 14.1745 +   Installation_SYS.Remove_View('XLR_WB_ITEM', TRUE);
 14.1746 +   Installation_SYS.Remove_View('XLR_WB_ITEM_PUB', TRUE);
 14.1747 +   Installation_SYS.Remove_View('XLR_WB_ROW', TRUE);
 14.1748 +   Installation_SYS.Remove_View('XLR_WB_ROW_PUB', TRUE);
 14.1749 +   Installation_SYS.Remove_View('XLR_WB_SECURITY_PUB', TRUE);
 14.1750 +   Installation_SYS.Remove_View('XLR_WB_SET', TRUE);
 14.1751 +   Installation_SYS.Remove_View('XLR_WB_SET_PUB', TRUE);
 14.1752 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_COLLECTION', TRUE);
 14.1753 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_DETAIL_PUB', TRUE);
 14.1754 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_ITEM_DETAIL', TRUE);
 14.1755 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_ITEM_DETAIL_PUB', TRUE);
 14.1756 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_MASTER', TRUE);
 14.1757 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_MASTER_PUB', TRUE);
 14.1758 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_ROW', TRUE);
 14.1759 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_ROW_PUB', TRUE);
 14.1760 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_SECURITY_PUB', TRUE);
 14.1761 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_SET', TRUE);
 14.1762 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_SET_PUB', TRUE);
 14.1763 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_SET_UQ', TRUE);
 14.1764 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_SET_UQ_PUB', TRUE);
 14.1765 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_UTIL', TRUE);
 14.1766 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_VALUE', TRUE);
 14.1767 +   Installation_SYS.Remove_View('XLR_WRITE_BACK_VALUE_PUB', TRUE);
 14.1768 +   Installation_SYS.Remove_View('XML_REPORT_DATA', TRUE);
 14.1769 +END;
 14.1770 +/
 14.1771 +
 14.1772 +----------------------------------------------------------------
 14.1773 +-- Drop triggers
 14.1774 +----------------------------------------------------------------
 14.1775 +
 14.1776 +BEGIN
 14.1777 +   dbms_output.put_line('Removing Triggers for the Module...');
 14.1778 +   Installation_SYS.Remove_Trigger('FND_USER_SDD1', TRUE);
 14.1779 +   Installation_SYS.Remove_Trigger('FND_USER_SDD2', TRUE);
 14.1780 +   Installation_SYS.Remove_Trigger('FND_USER_SDI1', TRUE);
 14.1781 +   Installation_SYS.Remove_Trigger('FND_USER_SDI2', TRUE);
 14.1782 +   Installation_SYS.Remove_Trigger('FND_USER_SDU', TRUE);
 14.1783 +   Installation_SYS.Remove_Trigger('FND_USER_SDU1', TRUE);
 14.1784 +   Installation_SYS.Remove_Trigger('Message_Archive_Util_RBT', TRUE);
 14.1785 +   Installation_SYS.Remove_Trigger('TERM_SDD1', TRUE);
 14.1786 +   Installation_SYS.Remove_Trigger('TERM_SDI1', TRUE);
 14.1787 +   Installation_SYS.Remove_Trigger('TERM_SDU', TRUE);
 14.1788 +   Installation_SYS.Remove_Trigger('USER_PROFILE_SDD1', TRUE);
 14.1789 +   Installation_SYS.Remove_Trigger('USER_PROFILE_SDI1', TRUE);
 14.1790 +   Installation_SYS.Remove_Trigger('USER_PROFILE_SDU', TRUE);
 14.1791 +   Installation_SYS.Remove_Trigger('USER_PROFILE_SDU1', TRUE);
 14.1792 +END;
 14.1793 +/
 14.1794 +
 14.1795 +----------------------------------------------------------------
 14.1796 +-- Drop sequences
 14.1797 +----------------------------------------------------------------
 14.1798 +
 14.1799 +BEGIN
 14.1800 +   dbms_output.put_line('Removing Sequences Refered only by the current Module...');
 14.1801 +   Installation_SYS.Remove_Sequence('BINARY_OBJECT_SEQ', TRUE);
 14.1802 +   Installation_SYS.Remove_Sequence('BULLETIN_BOARD_TOPIC_ID_SEQ', TRUE);
 14.1803 +   Installation_SYS.Remove_Sequence('COMMON_MESSAGES_ID_SEQUENCE', TRUE);
 14.1804 +   Installation_SYS.Remove_Sequence('COMPONENT_DEPENDENCY_SEQ', TRUE);
 14.1805 +   Installation_SYS.Remove_Sequence('CUSTOM_MENU_SEQ', TRUE);
 14.1806 +   Installation_SYS.Remove_Sequence('FNDCN_MESSAGE_SEQ', TRUE);
 14.1807 +   Installation_SYS.Remove_Sequence('FND_EVENT_MY_MESSAGES_SEQ', TRUE);
 14.1808 +   Installation_SYS.Remove_Sequence('HISTORY_LOG_SEQ', TRUE);
 14.1809 +   Installation_SYS.Remove_Sequence('IN_MESSAGE_ID_SEQ', TRUE);
 14.1810 +   Installation_SYS.Remove_Sequence('JOBSEQ', TRUE);
 14.1811 +   Installation_SYS.Remove_Sequence('LANGUAGE_ATTRIBUTE_SEQ', TRUE);
 14.1812 +   Installation_SYS.Remove_Sequence('LANGUAGE_CONTEXT_SEQ', TRUE);
 14.1813 +   Installation_SYS.Remove_Sequence('OUT_MESSAGE_ID_SEQ', TRUE);
 14.1814 +   Installation_SYS.Remove_Sequence('PLSQLAP_BUFFER_SEQ', TRUE);
 14.1815 +   Installation_SYS.Remove_Sequence('PRES_OBJECT_SEQ', TRUE);
 14.1816 +   Installation_SYS.Remove_Sequence('PRINT_JOB_SEQ', TRUE);
 14.1817 +   Installation_SYS.Remove_Sequence('REPLICATION_LOG_SEQ', TRUE);
 14.1818 +   Installation_SYS.Remove_Sequence('REPLICATION_SEQ', TRUE);
 14.1819 +   Installation_SYS.Remove_Sequence('REPORT_CATEGORY_SEQ', TRUE);
 14.1820 +   Installation_SYS.Remove_Sequence('REPORT_RULE_CONDITION_SEQ', TRUE);
 14.1821 +   Installation_SYS.Remove_Sequence('SCHEDULE_ID_SEQ', TRUE);
 14.1822 +   Installation_SYS.Remove_Sequence('SCHEDULE_METHOD_ID_SEQ', TRUE);
 14.1823 +   Installation_SYS.Remove_Sequence('SEC_CHECKPOINT_LOG_SEQ', TRUE);
 14.1824 +   Installation_SYS.Remove_Sequence('TRANSACTION_SYS_SEQ', TRUE);
 14.1825 +   Installation_SYS.Remove_Sequence('XLR_BA_CLIENT_ARCHIVE_SEQ', TRUE);
 14.1826 +   Installation_SYS.Remove_Sequence('XLR_IMPORT_LOG_ID_SEQ', TRUE);
 14.1827 +   Installation_SYS.Remove_Sequence('XLR_LOG_ID_SEQ', TRUE);
 14.1828 +   Installation_SYS.Remove_Sequence('XLR_METADATA_CONF_LOG_ID_SEQ', TRUE);
 14.1829 +   Installation_SYS.Remove_Sequence('XLR_REPORT_RESULT_ID_SEQ', TRUE);
 14.1830 +   Installation_SYS.Remove_Sequence('XLR_REPORT_RESULT_INST_ID_SEQ', TRUE);
 14.1831 +   Installation_SYS.Remove_Sequence('XLR_SOURCE_NAVIGATOR_SEQ', TRUE);
 14.1832 +   Installation_SYS.Remove_Sequence('XLR_STRUCTURE_REQUEST_ID_SEQ', TRUE);
 14.1833 +   Installation_SYS.Remove_Sequence('XLR_STRUCTURE_RESPONSE_ID_SEQ', TRUE);
 14.1834 +   Installation_SYS.Remove_Sequence('XLR_TEMPLATE_ID_SEQ', TRUE);
 14.1835 +   Installation_SYS.Remove_Sequence('XLR_WB_COLLECTION_ID_SEQ', TRUE);
 14.1836 +   Installation_SYS.Remove_Sequence('XLR_WB_MASTER_ID_SEQ', TRUE);
 14.1837 +   Installation_SYS.Remove_Sequence('XLR_WRITE_BACK_MASTER_ID_SEQ', TRUE);
 14.1838 +END;
 14.1839 +/
 14.1840 +
 14.1841 +----------------------------------------------------------------
 14.1842 +-- NOTE: Sequences below are refered by current module but are also
 14.1843 +--       referred by other packages in other modules
 14.1844 +----------------------------------------------------------------
 14.1845 +
 14.1846 +BEGIN
 14.1847 +   dbms_output.put_line('Removing Sequences that are referred by other Modules as well...');
 14.1848 +   NULL;
 14.1849 +END;
 14.1850 +/
 14.1851 +
 14.1852 +----------------------------------------------------------------
 14.1853 +-- Drop Materialized Views
 14.1854 +----------------------------------------------------------------
 14.1855 +
 14.1856 +BEGIN
 14.1857 +   dbms_output.put_line('Removing Materialized Views for the Module...');
 14.1858 +   NULL;
 14.1859 +END;
 14.1860 +/
 14.1861 +
 14.1862 +----------------------------------------------------------------
 14.1863 +-- Drop tables
 14.1864 +----------------------------------------------------------------
 14.1865 +-- NOTE: Tables below are referred only by current module...
 14.1866 +
 14.1867 +BEGIN
 14.1868 +   dbms_output.put_line('Removing Tables refered only by current Module...');
 14.1869 +   Installation_SYS.Remove_Table('ACTIVITY_GRANT_FILTER_TAB', TRUE);
 14.1870 +   Installation_SYS.Remove_Table('ACTIVITY_GRANT_TAB', TRUE);
 14.1871 +   Installation_SYS.Remove_Table('ARCHIVE_DISTRIBUTION_TAB', TRUE);
 14.1872 +   Installation_SYS.Remove_Table('ARCHIVE_FILE_NAME_TAB', TRUE);
 14.1873 +   Installation_SYS.Remove_Table('ARCHIVE_PARAMETER_TAB', TRUE);
 14.1874 +   Installation_SYS.Remove_Table('ARCHIVE_VARIABLE_TAB', TRUE);
 14.1875 +   Installation_SYS.Remove_Table('BATCH_QUEUE_METHOD_TAB', TRUE);
 14.1876 +   Installation_SYS.Remove_Table('BATCH_QUEUE_TAB', TRUE);
 14.1877 +   Installation_SYS.Remove_Table('BATCH_SCHEDULE_CHAIN_PAR_TAB', TRUE);
 14.1878 +   Installation_SYS.Remove_Table('BATCH_SCHEDULE_CHAIN_STEP_TAB', TRUE);
 14.1879 +   Installation_SYS.Remove_Table('BATCH_SCHEDULE_CHAIN_TAB', TRUE);
 14.1880 +   Installation_SYS.Remove_Table('BATCH_SCHEDULE_METHOD_PAR_TAB', TRUE);
 14.1881 +   Installation_SYS.Remove_Table('BATCH_SYS_TAB', TRUE);
 14.1882 +   Installation_SYS.Remove_Table('BATCH_SCHEDULE_TAB', TRUE);
 14.1883 +   Installation_SYS.Remove_Table('BINARY_OBJECT_DATA_BLOCK_TAB', TRUE);
 14.1884 +   Installation_SYS.Remove_Table('BINARY_OBJECT_TAB', TRUE);
 14.1885 +   Installation_SYS.Remove_Table('BULLETIN_BOARD_MESSAGES_TAB', TRUE);
 14.1886 +   Installation_SYS.Remove_Table('BULLETIN_BOARD_TOPIC_USERS_TAB', TRUE);
 14.1887 +   Installation_SYS.Remove_Table('BULLETIN_BOARD_TOPICS_TAB', TRUE);
 14.1888 +   Installation_SYS.Remove_Table('CACHE_MANAGEMENT_TAB', TRUE);
 14.1889 +   Installation_SYS.Remove_Table('CLEANUP_REPORT_DATA_TEMP', TRUE);
 14.1890 +   Installation_SYS.Remove_Table('CLEANUP_TEMPLATE_DATA_TEMP', TRUE);
 14.1891 +   Installation_SYS.Remove_Table('COMMON_MESSAGES_TAB', TRUE);
 14.1892 +   Installation_SYS.Remove_Table('COMPONENT_DEPENDENCY_TAB', TRUE);
 14.1893 +   Installation_SYS.Remove_Table('COMPONENT_FILE_TYPE_TAB', TRUE);
 14.1894 +   Installation_SYS.Remove_Table('COMPONENT_PATCH_ROW_TAB', TRUE);
 14.1895 +   Installation_SYS.Remove_Table('COMPONENT_PATCH_TAB', TRUE);
 14.1896 +   Installation_SYS.Remove_Table('CONTEXT_SUBSTITUTION_VAR_TAB', TRUE);
 14.1897 +   Installation_SYS.Remove_Table('CUSTOM_MENU_EXP_PAR_TAB', TRUE);
 14.1898 +   Installation_SYS.Remove_Table('CUSTOM_MENU_KEY_TRANS_TAB', TRUE);
 14.1899 +   Installation_SYS.Remove_Table('CUSTOM_MENU_TAB', TRUE);
 14.1900 +   Installation_SYS.Remove_Table('CUSTOM_MENU_TEXT_TAB', TRUE);
 14.1901 +   Installation_SYS.Remove_Table('DATA_ARCHIVE_EXEC_ATTR_TAB', TRUE);
 14.1902 +   Installation_SYS.Remove_Table('DATA_ARCHIVE_LOG_TAB', TRUE);
 14.1903 +   Installation_SYS.Remove_Table('DATA_ARCHIVE_OBJECT_TAB', TRUE);
 14.1904 +   Installation_SYS.Remove_Table('DATA_ARCHIVE_ORDER_EXEC_TAB', TRUE);
 14.1905 +   Installation_SYS.Remove_Table('DATA_ARCHIVE_ORDER_TAB', TRUE);
 14.1906 +   Installation_SYS.Remove_Table('DATA_ARCHIVE_SOURCE_ATTR_TAB', TRUE);
 14.1907 +   Installation_SYS.Remove_Table('DATA_ARCHIVE_SOURCE_TAB', TRUE);
 14.1908 +   Installation_SYS.Remove_Table('DB_SCRIPT_REGISTER_DETAIL_TAB', TRUE);
 14.1909 +   Installation_SYS.Remove_Table('DB_SCRIPT_REGISTER_TAB', TRUE);
 14.1910 +   Installation_SYS.Remove_Table('DICTIONARY_SYS_DOMAIN_TAB', TRUE);
 14.1911 +   Installation_SYS.Remove_Table('DICTIONARY_SYS_STATE_EVENT_TAB', TRUE);
 14.1912 +   Installation_SYS.Remove_Table('DICTIONARY_SYS_STATE_MACH_TAB', TRUE);
 14.1913 +   Installation_SYS.Remove_Table('DICTIONARY_SYS_STATE_TAB', TRUE);
 14.1914 +   Installation_SYS.Remove_Table('DICTIONARY_SYS_STATE_TRANS_TAB', TRUE);
 14.1915 +   Installation_SYS.Remove_Table('DICTIONARY_SYS_VIEW_TAB', TRUE);
 14.1916 +   Installation_SYS.Remove_Table('DISTRIBUTION_GROUP_MEMBER_TAB', TRUE);
 14.1917 +   Installation_SYS.Remove_Table('DISTRIBUTION_GROUP_TAB', TRUE);
 14.1918 +   Installation_SYS.Remove_Table('DRAFT_TAB', TRUE);
 14.1919 +   Installation_SYS.Remove_Table('DSOD_CRITERIA_TAB', TRUE);
 14.1920 +   Installation_SYS.Remove_Table('DSOD_DISPLAY_ITEM_TAB', TRUE);
 14.1921 +   Installation_SYS.Remove_Table('DSOD_GROUPING_TAB', TRUE);
 14.1922 +   Installation_SYS.Remove_Table('DSOD_SET_TAB', TRUE);
 14.1923 +   Installation_SYS.Remove_Table('DSOD_SORTING_TAB', TRUE);
 14.1924 +   Installation_SYS.Remove_Table('DSOD_STRUCTURE_REQUEST_TAB', TRUE);
 14.1925 +   Installation_SYS.Remove_Table('DSOD_TAB', TRUE);
 14.1926 +   Installation_SYS.Remove_Table('EXCEL_REPORT_ARCHIVE_TAB', TRUE);
 14.1927 +   Installation_SYS.Remove_Table('FND_CODE_TEMPLATE_TAB', TRUE);
 14.1928 +   Installation_SYS.Remove_Table('FND_EVENT_ACTION_SUBSCRIBE_TAB', TRUE);
 14.1929 +   Installation_SYS.Remove_Table('FND_EVENT_MY_MESSAGES_TAB', TRUE);
 14.1930 +   Installation_SYS.Remove_Table('FND_EVENT_PARAMETER_TAB', TRUE);
 14.1931 +   Installation_SYS.Remove_Table('FND_GRANT_ROLE_TAB', TRUE);
 14.1932 +   Installation_SYS.Remove_Table('FND_GRANT_ROLE_TMP', TRUE);
 14.1933 +   Installation_SYS.Remove_Table('FND_LICENSE_TAB', TRUE);
 14.1934 +   Installation_SYS.Remove_Table('FND_MONITOR_CATEGORY_TAB', TRUE);
 14.1935 +   Installation_SYS.Remove_Table('FND_MONITOR_ENTRY_TAB', TRUE);
 14.1936 +   Installation_SYS.Remove_Table('FND_NOTE_BOOK_TAB', TRUE);
 14.1937 +   Installation_SYS.Remove_Table('FND_NOTE_PAGE_TAB', TRUE);
 14.1938 +   Installation_SYS.Remove_Table('FND_SETTING_TAB', TRUE);
 14.1939 +   Installation_SYS.Remove_Table('FND_USER_ROLE_RUNTIME_TAB', TRUE);
 14.1940 +   Installation_SYS.Remove_Table('FND_USER_ROLE_TAB', TRUE);
 14.1941 +   Installation_SYS.Remove_Table('FNDCN_ADDRESS_LABEL_TAB', TRUE);
 14.1942 +   Installation_SYS.Remove_Table('FNDCN_APPLICATION_MESSAGE_TAB', TRUE);
 14.1943 +   Installation_SYS.Remove_Table('FNDCN_CACHED_ARTIFACT_ELEM_TAB', TRUE);
 14.1944 +   Installation_SYS.Remove_Table('FNDCN_CACHED_ARTIFACT_TAB', TRUE);
 14.1945 +   Installation_SYS.Remove_Table('FNDCN_CONDITION_PART_TAB', TRUE);
 14.1946 +   Installation_SYS.Remove_Table('FNDCN_CONFIG_PARAM_AREA_TAB', TRUE);
 14.1947 +   Installation_SYS.Remove_Table('FNDCN_CONFIG_PARAM_GROUP_TAB', TRUE);
 14.1948 +   Installation_SYS.Remove_Table('FNDCN_CONFIG_PARAM_INST_TAB', TRUE);
 14.1949 +   Installation_SYS.Remove_Table('FNDCN_CONFIG_PARAM_TAB', TRUE);
 14.1950 +   Installation_SYS.Remove_Table('FNDCN_IFACE_CONTROL_PARAM_TAB', TRUE);
 14.1951 +   Installation_SYS.Remove_Table('FNDCN_LOGICAL_UNIT_TAB', TRUE);
 14.1952 +   Installation_SYS.Remove_Table('FNDCN_LUATTRIBUTE_TAB', TRUE);
 14.1953 +   Installation_SYS.Remove_Table('FNDCN_LUOPERATION_TAB', TRUE);
 14.1954 +   Installation_SYS.Remove_Table('FNDCN_MESSAGE_BODY_TAB', TRUE);
 14.1955 +   Installation_SYS.Remove_Table('FNDCN_MOD_SYS_DOCUMENT_TAB', TRUE);
 14.1956 +   Installation_SYS.Remove_Table('FNDCN_MSG_ARCHIVE_ADDR_TAB', TRUE);
 14.1957 +   Installation_SYS.Remove_Table('FNDCN_MSG_ARCHIVE_BODY_TAB', TRUE);
 14.1958 +   Installation_SYS.Remove_Table('FNDCN_MSG_ARCHIVE_SEARCH_TAB', TRUE);
 14.1959 +   Installation_SYS.Remove_Table('FNDCN_MSG_ARCHIVE_TAB', TRUE);
 14.1960 +   Installation_SYS.Remove_Table('FNDCN_RECURRENCE_AGENDA_TAB', TRUE);
 14.1961 +   Installation_SYS.Remove_Table('FNDCN_RECURRENCE_PATTERN_TAB', TRUE);
 14.1962 +   Installation_SYS.Remove_Table('FNDCN_ROUTE_ADDRESS_REF_TAB', TRUE);
 14.1963 +   Installation_SYS.Remove_Table('FNDCN_ROUTE_ADDRESS_TAB', TRUE);
 14.1964 +   Installation_SYS.Remove_Table('FNDCN_ROUTE_CONDITION_TAB', TRUE);
 14.1965 +   Installation_SYS.Remove_Table('FNDCN_TARGET_TAB', TRUE);
 14.1966 +   Installation_SYS.Remove_Table('FNDCN_UML_DIAGRAM_TAB', TRUE);
 14.1967 +   Installation_SYS.Remove_Table('FNDDR_ACTIVITY_ENT_FILTR_TAB', TRUE);
 14.1968 +   Installation_SYS.Remove_Table('FNDDR_ACTIVITY_PKG_DIAG_TAB', TRUE);
 14.1969 +   Installation_SYS.Remove_Table('FNDDR_ASSOC_STATE_VALID_TAB', TRUE);
 14.1970 +   Installation_SYS.Remove_Table('FNDDR_ATTR_STAT_VALIDATION_TAB', TRUE);
 14.1971 +   Installation_SYS.Remove_Table('FNDDR_ATTR_VALIDATION_RULE_TAB', TRUE);
 14.1972 +   Installation_SYS.Remove_Table('FNDDR_CLIENT_DIAGRAM_TAB', TRUE);
 14.1973 +   Installation_SYS.Remove_Table('FNDDR_CLIENTPLUGIN_ACT_TAB', TRUE);
 14.1974 +   Installation_SYS.Remove_Table('FNDDR_CLIENTPLUGIN_TAB', TRUE);
 14.1975 +   Installation_SYS.Remove_Table('FNDDR_DETAIL_VALIDATION_TAB', TRUE);
 14.1976 +   Installation_SYS.Remove_Table('FNDDR_ENTITY_DIAGRAM_TAB', TRUE);
 14.1977 +   Installation_SYS.Remove_Table('FNDDR_ENTITY_PACKAGE_TAB', TRUE);
 14.1978 +   Installation_SYS.Remove_Table('FNDDR_ENTITY_PKG_DIAGRAM_TAB', TRUE);
 14.1979 +   Installation_SYS.Remove_Table('FNDDR_FEATURE_WIDGET_TAB', TRUE);
 14.1980 +   Installation_SYS.Remove_Table('FNDDR_FILTER_PARAMETER_TAB', TRUE);
 14.1981 +   Installation_SYS.Remove_Table('FNDDR_HANDLER_METHOD_TAB', TRUE);
 14.1982 +   Installation_SYS.Remove_Table('FNDDR_HANDLER_TAB', TRUE);
 14.1983 +   Installation_SYS.Remove_Table('FNDDR_INDEX_COLUMN_TAB', TRUE);
 14.1984 +   Installation_SYS.Remove_Table('FNDDR_J2EE_APPLICATION_TAB', TRUE);
 14.1985 +   Installation_SYS.Remove_Table('FNDDR_J2EE_MODULE_TAB', TRUE);
 14.1986 +   Installation_SYS.Remove_Table('FNDDR_LOGICAL_UNIT_TAB', TRUE);
 14.1987 +   Installation_SYS.Remove_Table('FNDDR_MAPPED_ENTITY_TAB', TRUE);
 14.1988 +   Installation_SYS.Remove_Table('FNDDR_METHOD_FILTER_TAB', TRUE);
 14.1989 +   Installation_SYS.Remove_Table('FNDDR_METHOD_PARAMETER_TAB', TRUE);
 14.1990 +   Installation_SYS.Remove_Table('FNDDR_MODEL_IMPORT_LOG_TAB', TRUE);
 14.1991 +   Installation_SYS.Remove_Table('FNDDR_MODEL_WORKSPACE_TAB', TRUE);
 14.1992 +   Installation_SYS.Remove_Table('FNDDR_MODULE_DIAGRAM_TAB', TRUE);
 14.1993 +   Installation_SYS.Remove_Table('FNDDR_PACKAGE_DEPENDENCY_TAB', TRUE);
 14.1994 +   Installation_SYS.Remove_Table('FNDDR_PACKAGE_DIAGRAM_TAB', TRUE);
 14.1995 +   Installation_SYS.Remove_Table('FNDDR_PARAMETER_TAB', TRUE);
 14.1996 +   Installation_SYS.Remove_Table('FNDDR_PLSQL_METHOD_TAB', TRUE);
 14.1997 +   Installation_SYS.Remove_Table('FNDDR_PLSQL_PACKAGE_TAB', TRUE);
 14.1998 +   Installation_SYS.Remove_Table('FNDDR_PLSQL_PARAMETER_TAB', TRUE);
 14.1999 +   Installation_SYS.Remove_Table('FNDDR_PROJECT_SETTING_TAB', TRUE);
 14.2000 +   Installation_SYS.Remove_Table('FNDDR_REPORT_PARAMETER_TAB', TRUE);
 14.2001 +   Installation_SYS.Remove_Table('FNDDR_REPORT_TEXT_TAB', TRUE);
 14.2002 +   Installation_SYS.Remove_Table('FNDDR_SERV_PKG_DEPENDENCY_TAB', TRUE);
 14.2003 +   Installation_SYS.Remove_Table('FNDDR_STATE_DIAGRAM_TAB', TRUE);
 14.2004 +   Installation_SYS.Remove_Table('FNDDR_STATE_EVENT_TAB', TRUE);
 14.2005 +   Installation_SYS.Remove_Table('FNDDR_STORAGE_ATTRIBUTE_TAB', TRUE);
 14.2006 +   Installation_SYS.Remove_Table('FNDDR_STORAGE_DIAGRAM_TAB', TRUE);
 14.2007 +   Installation_SYS.Remove_Table('FNDDR_STORAGE_PACKAGE_TAB', TRUE);
 14.2008 +   Installation_SYS.Remove_Table('FNDDR_TABLE_INDEX_TAB', TRUE);
 14.2009 +   Installation_SYS.Remove_Table('FNDDR_VALIDATION_OBJECT_TAB', TRUE);
 14.2010 +   Installation_SYS.Remove_Table('FNDDR_WIDGET_ACTIVITY_TAB', TRUE);
 14.2011 +   Installation_SYS.Remove_Table('FNDDR_WIDGET_TAB', TRUE);
 14.2012 +   Installation_SYS.Remove_Table('FNDMOB_ENTITY_SYNCH_TAB', TRUE);
 14.2013 +   Installation_SYS.Remove_Table('FNDMOB_OPTIMIZER_DATA_TAB', TRUE);
 14.2014 +   Installation_SYS.Remove_Table('FNDMOB_USER_CACHE_TAB', TRUE);
 14.2015 +   Installation_SYS.Remove_Table('FNDRR_USER_CLIENT_PROFILE_TAB', TRUE);
 14.2016 +   Installation_SYS.Remove_Table('FUNC_AREA_CONFLICT_CACHE_TAB', TRUE);
 14.2017 +   Installation_SYS.Remove_Table('FUNC_AREA_SEC_CACHE_TAB', TRUE);
 14.2018 +   Installation_SYS.Remove_Table('FUNCTIONAL_AREA_ACTIVITY_TAB', TRUE);
 14.2019 +   Installation_SYS.Remove_Table('FUNCTIONAL_AREA_CONFLICT_TAB', TRUE);
 14.2020 +   Installation_SYS.Remove_Table('FUNCTIONAL_AREA_METHOD_TAB', TRUE);
 14.2021 +   Installation_SYS.Remove_Table('FUNCTIONAL_AREA_VIEW_TAB', TRUE);
 14.2022 +   Installation_SYS.Remove_Table('HISTORY_LOG_ATTRIBUTE_TAB', TRUE);
 14.2023 +   Installation_SYS.Remove_Table('HISTORY_SETTING_ATTRIBUTE_TAB', TRUE);
 14.2024 +   Installation_SYS.Remove_Table('HISTORY_SETTING_TAB', TRUE);
 14.2025 +   Installation_SYS.Remove_Table('IAL_OBJECT_TAB', TRUE);
 14.2026 +   Installation_SYS.Remove_Table('IN_MESSAGE_LOADED_TAB', TRUE);
 14.2027 +   Installation_SYS.Remove_Table('INSTALL_TEM_SYS_TAB', TRUE);
 14.2028 +   Installation_SYS.Remove_Table('INSTALLATION_SITE_TAB', TRUE);
 14.2029 +   Installation_SYS.Remove_Table('LANGUAGE_CONNECTION_TAB', TRUE);
 14.2030 +   Installation_SYS.Remove_Table('LANGUAGE_CONTENT_TYPE_TAB', TRUE);
 14.2031 +   Installation_SYS.Remove_Table('LANGUAGE_DESTINATION_TAB', TRUE);
 14.2032 +   Installation_SYS.Remove_Table('LANGUAGE_FILE_EXPORT_TAB', TRUE);
 14.2033 +   Installation_SYS.Remove_Table('LANGUAGE_FILE_IMPORT_TAB', TRUE);
 14.2034 +   Installation_SYS.Remove_Table('LANGUAGE_FONT_MAPPING_TAB', TRUE);
 14.2035 +   Installation_SYS.Remove_Table('LANGUAGE_PROPERTY_TAB', TRUE);
 14.2036 +   Installation_SYS.Remove_Table('LANGUAGE_SOURCE_TAB', TRUE);
 14.2037 +   Installation_SYS.Remove_Table('LANGUAGE_SYS_IMP_TAB', TRUE);
 14.2038 +   Installation_SYS.Remove_Table('LDAP_CONFIGURATION_TAB', TRUE);
 14.2039 +   Installation_SYS.Remove_Table('LDAP_DOMAIN_CONFIG_TAB', TRUE);
 14.2040 +   Installation_SYS.Remove_Table('LDAP_MAPPING_TAB', TRUE);
 14.2041 +   Installation_SYS.Remove_Table('LOGICAL_PRINTER_TAB', TRUE);
 14.2042 +   Installation_SYS.Remove_Table('MESSAGE_CLASS_TAB', TRUE);
 14.2043 +   Installation_SYS.Remove_Table('MESSAGE_MEDIA_TAB', TRUE);
 14.2044 +   Installation_SYS.Remove_Table('MESSAGE_RECEIVER_TAB', TRUE);
 14.2045 +   Installation_SYS.Remove_Table('MODULE_DB_PATCH_TAB', TRUE);
 14.2046 +   Installation_SYS.Remove_Table('MODULE_DEPENDENCY_TAB', TRUE);
 14.2047 +   Installation_SYS.Remove_Table('MY_TODO_ITEM_TAB', TRUE);
 14.2048 +   Installation_SYS.Remove_Table('NOTE_BOOK_TAB', TRUE);
 14.2049 +   Installation_SYS.Remove_Table('NOTE_TAB', TRUE);
 14.2050 +   Installation_SYS.Remove_Table('OUT_MESSAGE_LINE_TAB', TRUE);
 14.2051 +   Installation_SYS.Remove_Table('OUT_MESSAGE_TAB', TRUE);
 14.2052 +   Installation_SYS.Remove_Table('PDF_ARCHIVE_TAB', TRUE);
 14.2053 +   Installation_SYS.Remove_Table('PERFORMANCE_ANALYZE_SOURCE_TAB', TRUE);
 14.2054 +   Installation_SYS.Remove_Table('PERMISSION_SET_FILTER_PAR_TAB', TRUE);
 14.2055 +   Installation_SYS.Remove_Table('PERMISSION_SET_FILTER_TAB', TRUE);
 14.2056 +   Installation_SYS.Remove_Table('PLSQLAP_BUFFER_TMP', TRUE);
 14.2057 +   Installation_SYS.Remove_Table('PLSQLAP_ENVIRONMENT_TAB', TRUE);
 14.2058 +   Installation_SYS.Remove_Table('PRES_OBJECT_BUILD_TAB', TRUE);
 14.2059 +   Installation_SYS.Remove_Table('PRES_OBJECT_CHANGE_TAB', TRUE);
 14.2060 +   Installation_SYS.Remove_Table('PRES_OBJECT_DEP_BUILD_TAB', TRUE);
 14.2061 +   Installation_SYS.Remove_Table('PRES_OBJECT_DEP_CHANGE_TAB', TRUE);
 14.2062 +   Installation_SYS.Remove_Table('PRES_OBJECT_DEPENDENCY_TAB', TRUE);
 14.2063 +   Installation_SYS.Remove_Table('PRES_OBJECT_DESCRIPTION_TAB', TRUE);
 14.2064 +   Installation_SYS.Remove_Table('PRES_OBJECT_EXCLUDE_TAB', TRUE);
 14.2065 +   Installation_SYS.Remove_Table('PRES_OBJECT_INCLUDE_SEC_TAB', TRUE);
 14.2066 +   Installation_SYS.Remove_Table('PRES_OBJECT_INCLUDE_TAB', TRUE);
 14.2067 +   Installation_SYS.Remove_Table('PRES_OBJECT_SEC_CHANGE_TAB', TRUE);
 14.2068 +   Installation_SYS.Remove_Table('PRES_OBJECT_SEC_EXPORT_TAB', TRUE);
 14.2069 +   Installation_SYS.Remove_Table('PRES_OBJECT_SECURITY_BUILD_TAB', TRUE);
 14.2070 +   Installation_SYS.Remove_Table('PRES_OBJECT_SECURITY_TAB', TRUE);
 14.2071 +   Installation_SYS.Remove_Table('PRES_OBJECT_SECURITY_TYPE_TAB', TRUE);
 14.2072 +   Installation_SYS.Remove_Table('PRES_OBJECT_TYPE_TAB', TRUE);
 14.2073 +   Installation_SYS.Remove_Table('PRINT_JOB_TAB', TRUE);
 14.2074 +   Installation_SYS.Remove_Table('PRINT_QUEUE_TAB', TRUE);
 14.2075 +   Installation_SYS.Remove_Table('QUERY_HINT_COL_TAB', TRUE);
 14.2076 +   Installation_SYS.Remove_Table('QUERY_HINT_INDEX_TAB', TRUE);
 14.2077 +   Installation_SYS.Remove_Table('QUERY_HINT_TABLE_TAB', TRUE);
 14.2078 +   Installation_SYS.Remove_Table('QUERY_HINT_VIEW_TAB', TRUE);
 14.2079 +   Installation_SYS.Remove_Table('QUICK_REPORT_TAB', TRUE);
 14.2080 +   Installation_SYS.Remove_Table('RECEIVE_ATTR_GROUP_TAB', TRUE);
 14.2081 +   Installation_SYS.Remove_Table('RECEIVE_ATTR_TAB', TRUE);
 14.2082 +   Installation_SYS.Remove_Table('RECEIVE_CONDITION_TAB', TRUE);
 14.2083 +   Installation_SYS.Remove_Table('RECEIVE_GROUP_TAB', TRUE);
 14.2084 +   Installation_SYS.Remove_Table('RECEIVE_OBJECT_TAB', TRUE);
 14.2085 +   Installation_SYS.Remove_Table('REFERENCE_SYS_TAB', TRUE);
 14.2086 +   Installation_SYS.Remove_Table('REMOTE_PRINTER_MAPPING_TAB', TRUE);
 14.2087 +   Installation_SYS.Remove_Table('REMOTE_PRINTING_NODE_TAB', TRUE);
 14.2088 +   Installation_SYS.Remove_Table('REPLICATION_ATTR_DEF_TAB', TRUE);
 14.2089 +   Installation_SYS.Remove_Table('REPLICATION_ATTR_GROUP_DEF_TAB', TRUE);
 14.2090 +   Installation_SYS.Remove_Table('REPLICATION_ATTR_GROUP_TAB', TRUE);
 14.2091 +   Installation_SYS.Remove_Table('REPLICATION_CONDITION_TAB', TRUE);
 14.2092 +   Installation_SYS.Remove_Table('REPLICATION_GROUP_TAB', TRUE);
 14.2093 +   Installation_SYS.Remove_Table('REPLICATION_LOG_TAB', TRUE);
 14.2094 +   Installation_SYS.Remove_Table('REPLICATION_OBJECT_DEF_TAB', TRUE);
 14.2095 +   Installation_SYS.Remove_Table('REPLICATION_OBJECT_TAB', TRUE);
 14.2096 +   Installation_SYS.Remove_Table('REPLICATION_QUEUE_TAB', TRUE);
 14.2097 +   Installation_SYS.Remove_Table('REPLICATION_RECEIVER_TAB', TRUE);
 14.2098 +   Installation_SYS.Remove_Table('REPLICATION_SENDER_TAB', TRUE);
 14.2099 +   Installation_SYS.Remove_Table('REPLICATION_STATISTICS_TAB', TRUE);
 14.2100 +   Installation_SYS.Remove_Table('REPORT_CATEGORY_TAB', TRUE);
 14.2101 +   Installation_SYS.Remove_Table('REPORT_FONT_DEFINITION_TAB', TRUE);
 14.2102 +   Installation_SYS.Remove_Table('REPORT_IN_PROGRESS_TMP', TRUE);
 14.2103 +   Installation_SYS.Remove_Table('REPORT_LAYOUT_TAB', TRUE);
 14.2104 +   Installation_SYS.Remove_Table('REPORT_LAYOUT_TYPE_CONFIG_TAB', TRUE);
 14.2105 +   Installation_SYS.Remove_Table('REPORT_LU_DEFINITION_TAB', TRUE);
 14.2106 +   Installation_SYS.Remove_Table('REPORT_PDF_INSERT_TAB', TRUE);
 14.2107 +   Installation_SYS.Remove_Table('REPORT_PLUGIN_TAB', TRUE);
 14.2108 +   Installation_SYS.Remove_Table('REPORT_RESULT_GEN_CONFIG_TAB', TRUE);
 14.2109 +   Installation_SYS.Remove_Table('REPORT_RULE_ACTION_TAB', TRUE);
 14.2110 +   Installation_SYS.Remove_Table('REPORT_RULE_CONDITION_TAB', TRUE);
 14.2111 +   Installation_SYS.Remove_Table('REPORT_RULE_DEFINITION_TAB', TRUE);
 14.2112 +   Installation_SYS.Remove_Table('REPORT_RULE_LOG_TAB', TRUE);
 14.2113 +   Installation_SYS.Remove_Table('REPORT_SCHEMA_TAB', TRUE);
 14.2114 +   Installation_SYS.Remove_Table('REPORT_SYS_COLUMN_TAB', TRUE);
 14.2115 +   Installation_SYS.Remove_Table('REPORT_SYS_GROUP_COLUMN_TAB', TRUE);
 14.2116 +   Installation_SYS.Remove_Table('REPORT_SYS_GROUP_TAB', TRUE);
 14.2117 +   Installation_SYS.Remove_Table('REPORT_SYS_TEXT_TAB', TRUE);
 14.2118 +   Installation_SYS.Remove_Table('REPORT_USER_SETTINGS_TAB', TRUE);
 14.2119 +   Installation_SYS.Remove_Table('SEARCH_DOMAIN_GROUP_MEMBER_TAB', TRUE);
 14.2120 +   Installation_SYS.Remove_Table('SEARCH_DOMAIN_GROUP_TAB', TRUE);
 14.2121 +   Installation_SYS.Remove_Table('SEARCH_DOMAIN_UNSYNCHED_TAB', TRUE);
 14.2122 +   Installation_SYS.Remove_Table('SEC_CHECKPOINT_GATE_PARAM_TAB', TRUE);
 14.2123 +   Installation_SYS.Remove_Table('SEC_CHECKPOINT_GATE_TAB', TRUE);
 14.2124 +   Installation_SYS.Remove_Table('SEC_CHECKPOINT_LOG_TAB', TRUE);
 14.2125 +   Installation_SYS.Remove_Table('SECURITY_SYS_EXPANDED_ROLE_TAB', TRUE);
 14.2126 +   Installation_SYS.Remove_Table('SECURITY_SYS_PRIVS_TAB', TRUE);
 14.2127 +   Installation_SYS.Remove_Table('SECURITY_SYS_REFRESH_USER_TAB', TRUE);
 14.2128 +   Installation_SYS.Remove_Table('SECURITY_SYS_ROLE_TREE_TAB', TRUE);
 14.2129 +   Installation_SYS.Remove_Table('SECURITY_SYS_TAB', TRUE);
 14.2130 +   Installation_SYS.Remove_Table('SELECTION_ITEM_TAB', TRUE);
 14.2131 +   Installation_SYS.Remove_Table('SELECTION_TAB', TRUE);
 14.2132 +   Installation_SYS.Remove_Table('SERVER_LOG_CATEGORY_TAB', TRUE);
 14.2133 +   Installation_SYS.Remove_Table('SERVER_LOG_TAB', TRUE);
 14.2134 +   Installation_SYS.Remove_Table('SITE_TEXT_TAB', TRUE);
 14.2135 +   Installation_SYS.Remove_Table('SOD_CACHE_TAB', TRUE);
 14.2136 +   Installation_SYS.Remove_Table('SOX_FUNCTIONAL_AREA_TAB', TRUE);
 14.2137 +   Installation_SYS.Remove_Table('SYSTEM_PRIVILEGE_GRANT_TAB', TRUE);
 14.2138 +   Installation_SYS.Remove_Table('SYSTEM_PRIVILEGE_TAB', TRUE);
 14.2139 +   Installation_SYS.Remove_Table('TEMPLATE_TAB', TRUE);
 14.2140 +   Installation_SYS.Remove_Table('TERM_DEFINITION_HISTORY_TAB', TRUE);
 14.2141 +   Installation_SYS.Remove_Table('TERM_HISTORY_TAB', TRUE);
 14.2142 +   Installation_SYS.Remove_Table('TERM_RELATION_TAB', TRUE);
 14.2143 +   Installation_SYS.Remove_Table('TERM_STOP_LIST_TAB', TRUE);
 14.2144 +   Installation_SYS.Remove_Table('TERM_USAGE_IDENTIFIER_TAB', TRUE);
 14.2145 +   Installation_SYS.Remove_Table('TODO_FOLDER_TAB', TRUE);
 14.2146 +   Installation_SYS.Remove_Table('TODO_HISTORY_TAB', TRUE);
 14.2147 +   Installation_SYS.Remove_Table('TODO_ITEM_OWNER', TRUE);
 14.2148 +   Installation_SYS.Remove_Table('TODO_ITEM_RECEIVER_TAB', TRUE);
 14.2149 +   Installation_SYS.Remove_Table('TODO_ITEM_TAB', TRUE);
 14.2150 +   Installation_SYS.Remove_Table('TRANSACTION_SYS_STATUS_TAB', TRUE);
 14.2151 +   Installation_SYS.Remove_Table('USER_PROFILE_SYS_TAB', TRUE);
 14.2152 +   Installation_SYS.Remove_Table('WORKSPACE_TAB', TRUE);
 14.2153 +   Installation_SYS.Remove_Table('XLR_BA_CLIENT_ARCHIVE_DIST_TAB', TRUE);
 14.2154 +   Installation_SYS.Remove_Table('XLR_BA_CLIENT_ARCHIVE_TAB', TRUE);
 14.2155 +   Installation_SYS.Remove_Table('XLR_DEF_FACT_NAV_FOLDER_TAB', TRUE);
 14.2156 +   Installation_SYS.Remove_Table('XLR_DIM_ITEM_STRUCT_INFO_TAB', TRUE);
 14.2157 +   Installation_SYS.Remove_Table('XLR_DIM_SOURCE_HINT_ITEM_TAB', TRUE);
 14.2158 +   Installation_SYS.Remove_Table('XLR_DIM_SOURCE_IX_ITEM_TAB', TRUE);
 14.2159 +   Installation_SYS.Remove_Table('XLR_DIM_SOURCE_IX_TAB', TRUE);
 14.2160 +   Installation_SYS.Remove_Table('XLR_DIMENSION_ITEM_TAB', TRUE);
 14.2161 +   Installation_SYS.Remove_Table('XLR_DIMENSION_LOV_ITEM_TAB', TRUE);
 14.2162 +   Installation_SYS.Remove_Table('XLR_DIMENSION_LOV_SORT_TAB', TRUE);
 14.2163 +   Installation_SYS.Remove_Table('XLR_DIMENSION_PARENT_TAB', TRUE);
 14.2164 +   Installation_SYS.Remove_Table('XLR_DIMENSION_SOURCE_TAB', TRUE);
 14.2165 +   Installation_SYS.Remove_Table('XLR_FACT_DETAIL_DIM_ITEM_TAB', TRUE);
 14.2166 +   Installation_SYS.Remove_Table('XLR_FACT_DIM_ID_DEF_TAB', TRUE);
 14.2167 +   Installation_SYS.Remove_Table('XLR_FACT_DIM_JOIN_ITEM_TAB', TRUE);
 14.2168 +   Installation_SYS.Remove_Table('XLR_FACT_DIM_JOIN_TAB', TRUE);
 14.2169 +   Installation_SYS.Remove_Table('XLR_FACT_DIM_SRC_INDICATE_TAB', TRUE);
 14.2170 +   Installation_SYS.Remove_Table('XLR_FACT_DIMENSION_TAB', TRUE);
 14.2171 +   Installation_SYS.Remove_Table('XLR_FACT_ITEM_TAB', TRUE);
 14.2172 +   Installation_SYS.Remove_Table('XLR_FACT_PARENT_TAB', TRUE);
 14.2173 +   Installation_SYS.Remove_Table('XLR_FACT_SOURCE_HINT_ITEM_TAB', TRUE);
 14.2174 +   Installation_SYS.Remove_Table('XLR_FACT_SOURCE_IX_ITEM_TAB', TRUE);
 14.2175 +   Installation_SYS.Remove_Table('XLR_FACT_SOURCE_IX_TAB', TRUE);
 14.2176 +   Installation_SYS.Remove_Table('XLR_FACT_SOURCE_TAB', TRUE);
 14.2177 +   Installation_SYS.Remove_Table('XLR_FACT_URL_ITEM_TAB', TRUE);
 14.2178 +   Installation_SYS.Remove_Table('XLR_FACT_URL_TAB', TRUE);
 14.2179 +   Installation_SYS.Remove_Table('XLR_FACT_WB_DIM_ITEM_TAB', TRUE);
 14.2180 +   Installation_SYS.Remove_Table('XLR_FACT_WRITE_BACK_INFO_TAB', TRUE);
 14.2181 +   Installation_SYS.Remove_Table('XLR_IMPORT_LOG_GLOB_ID_TAB', TRUE);
 14.2182 +   Installation_SYS.Remove_Table('XLR_IMPORT_LOG_TAB', TRUE);
 14.2183 +   Installation_SYS.Remove_Table('XLR_INSTANCE_PARAM_VALUE_TAB', TRUE);
 14.2184 +   Installation_SYS.Remove_Table('XLR_LOG_LARGE_STORE_TAB', TRUE);
 14.2185 +   Installation_SYS.Remove_Table('XLR_LOG_TAB', TRUE);
 14.2186 +   Installation_SYS.Remove_Table('XLR_META_DATA_FILE_ENTITY_TAB', TRUE);
 14.2187 +   Installation_SYS.Remove_Table('XLR_MV_CRITERIA_TAB', TRUE);
 14.2188 +   Installation_SYS.Remove_Table('XLR_MV_HELP_TAB', TRUE);
 14.2189 +   Installation_SYS.Remove_Table('XLR_MV_INFO_TAB', TRUE);
 14.2190 +   Installation_SYS.Remove_Table('XLR_MV_LIST_TAB', TRUE);
 14.2191 +   Installation_SYS.Remove_Table('XLR_MV_PER_REFRESH_CAT_TAB', TRUE);
 14.2192 +   Installation_SYS.Remove_Table('XLR_MV_REF_ALL_TAB', TRUE);
 14.2193 +   Installation_SYS.Remove_Table('XLR_MV_REF_HELP_TAB', TRUE);
 14.2194 +   Installation_SYS.Remove_Table('XLR_MV_REF_TAB', TRUE);
 14.2195 +   Installation_SYS.Remove_Table('XLR_MV_REF_TEMP_TAB', TRUE);
 14.2196 +   Installation_SYS.Remove_Table('XLR_MV_REFRESH_CATEGORY_TAB', TRUE);
 14.2197 +   Installation_SYS.Remove_Table('XLR_REPORT_INSTANCE_TAB', TRUE);
 14.2198 +   Installation_SYS.Remove_Table('XLR_REPORT_RENDERING_INFO_TAB', TRUE);
 14.2199 +   Installation_SYS.Remove_Table('XLR_REPORT_RESULT_TAB', TRUE);
 14.2200 +   Installation_SYS.Remove_Table('XLR_REPORT_UPG_UTILITY_TAB', TRUE);
 14.2201 +   Installation_SYS.Remove_Table('XLR_SESSION_PARAM_VALUE_TAB', TRUE);
 14.2202 +   Installation_SYS.Remove_Table('XLR_SOURCE_NAVIGATOR_TAB', TRUE);
 14.2203 +   Installation_SYS.Remove_Table('XLR_STRUCT_REQUEST_PARENT_TAB', TRUE);
 14.2204 +   Installation_SYS.Remove_Table('XLR_STRUCT_REQUEST_TAB', TRUE);
 14.2205 +   Installation_SYS.Remove_Table('XLR_STRUCT_RESPONSE_LEAF_TAB', TRUE);
 14.2206 +   Installation_SYS.Remove_Table('XLR_STRUCT_RESPONSE_LEVEL_TAB', TRUE);
 14.2207 +   Installation_SYS.Remove_Table('XLR_STRUCT_RESPONSE_NODE_TAB', TRUE);
 14.2208 +   Installation_SYS.Remove_Table('XLR_STRUCT_RESPONSE_TAB', TRUE);
 14.2209 +   Installation_SYS.Remove_Table('XLR_SYSTEM_PARAMETER_TAB', TRUE);
 14.2210 +   Installation_SYS.Remove_Table('XLR_TEMPLATE_FILE_TAB', TRUE);
 14.2211 +   Installation_SYS.Remove_Table('XLR_TEMPLATE_PARAMETER_TAB', TRUE);
 14.2212 +   Installation_SYS.Remove_Table('XLR_TEMPLATE_TAB', TRUE);
 14.2213 +   Installation_SYS.Remove_Table('XLR_USER_DEP_TAB', TRUE);
 14.2214 +   Installation_SYS.Remove_Table('XLR_WB_COLLECTION_TAB', TRUE);
 14.2215 +   Installation_SYS.Remove_Table('XLR_WB_CONTENT_TAB', TRUE);
 14.2216 +   Installation_SYS.Remove_Table('XLR_WB_FACT_TAB', TRUE);
 14.2217 +   Installation_SYS.Remove_Table('XLR_WB_ITEM_TAB', TRUE);
 14.2218 +   Installation_SYS.Remove_Table('XLR_WB_ROW_TAB', TRUE);
 14.2219 +   Installation_SYS.Remove_Table('XLR_WB_SET_TAB', TRUE);
 14.2220 +   Installation_SYS.Remove_Table('XLR_WRITE_BACK_COLLECTION_TAB', TRUE);
 14.2221 +   Installation_SYS.Remove_Table('XLR_WRITE_BACK_ITEM_DETAIL_TAB', TRUE);
 14.2222 +   Installation_SYS.Remove_Table('XLR_WRITE_BACK_MASTER_TAB', TRUE);
 14.2223 +   Installation_SYS.Remove_Table('XLR_WRITE_BACK_ROW_TAB', TRUE);
 14.2224 +   Installation_SYS.Remove_Table('XLR_WRITE_BACK_SET_TAB', TRUE);
 14.2225 +   Installation_SYS.Remove_Table('XLR_WRITE_BACK_SET_UQ_TAB', TRUE);
 14.2226 +   Installation_SYS.Remove_Table('XLR_WRITE_BACK_VALUE_TAB', TRUE);
 14.2227 +
 14.2228 +END;
 14.2229 +/
 14.2230 +
 14.2231 +----------------------------------------------------------------
 14.2232 +-- NOTE: Tables below are belongs to the current module but are also
 14.2233 +--       referred by other objects in other modules
 14.2234 +--       These tables should be dropped BUT all the references will be
 14.2235 +--       Invalidated
 14.2236 +----------------------------------------------------------------
 14.2237 +
 14.2238 +BEGIN
 14.2239 +   dbms_output.put_line('Removing Tables for the current module but also referred by other Modules as well...');
 14.2240 +   Installation_SYS.Remove_Table('ARCHIVE_TAB', TRUE);
 14.2241 +   Installation_SYS.Remove_Table('BATCH_SCHEDULE_METHOD_TAB', TRUE);
 14.2242 +   Installation_SYS.Remove_Table('BATCH_SCHEDULE_PAR_TAB', TRUE);
 14.2243 +   Installation_SYS.Remove_Table('BATCH_SCHEDULE_TAB', TRUE);
 14.2244 +   Installation_SYS.Remove_Table('BI_TIME_DIMENSION_TAB', TRUE);
 14.2245 +   Installation_SYS.Remove_Table('DOCUMENT_LIFECYCLE_TAB', TRUE);
 14.2246 +   Installation_SYS.Remove_Table('FND_EVENT_ACTION_TAB', TRUE);
 14.2247 +   Installation_SYS.Remove_Table('FND_EVENT_TAB', TRUE);
 14.2248 +   Installation_SYS.Remove_Table('FND_ROLE_TAB', TRUE);
 14.2249 +   Installation_SYS.Remove_Table('FND_SESSION_TAB', TRUE);
 14.2250 +   Installation_SYS.Remove_Table('FND_TRANSLATION_TAB', TRUE);
 14.2251 +   Installation_SYS.Remove_Table('FND_USER_PROPERTY_TAB', TRUE);
 14.2252 +   Installation_SYS.Remove_Table('FND_USER_TAB', TRUE);
 14.2253 +   Installation_SYS.Remove_Table('FNDRR_CLIENT_PROFILE_TAB', TRUE);
 14.2254 +   Installation_SYS.Remove_Table('FNDRR_CLIENT_PROFILE_VALUE_TAB', TRUE);
 14.2255 +   Installation_SYS.Remove_Table('HISTORY_LOG_TAB', TRUE);
 14.2256 +   Installation_SYS.Remove_Table('IN_MESSAGE_LINE_TAB', TRUE);
 14.2257 +   Installation_SYS.Remove_Table('IN_MESSAGE_TAB', TRUE);
 14.2258 +   Installation_SYS.Remove_Table('LANGUAGE_ATTRIBUTE_TAB', TRUE);
 14.2259 +   Installation_SYS.Remove_Table('LANGUAGE_CODE_TAB', TRUE);
 14.2260 +   Installation_SYS.Remove_Table('LANGUAGE_CONTEXT_TAB', TRUE);
 14.2261 +   Installation_SYS.Remove_Table('LANGUAGE_TRANSLATION_TAB', TRUE);
 14.2262 +   Installation_SYS.Remove_Table('MODULE_TAB', TRUE);
 14.2263 +   Installation_SYS.Remove_Table('PRES_OBJECT_GRANT_TAB', TRUE);
 14.2264 +   Installation_SYS.Remove_Table('PRES_OBJECT_TAB', TRUE);
 14.2265 +   Installation_SYS.Remove_Table('PRINT_JOB_CONTENTS_TAB', TRUE);
 14.2266 +   Installation_SYS.Remove_Table('SEARCH_DOMAIN_DOCUMENT_TAB', TRUE);
 14.2267 +   Installation_SYS.Remove_Table('SEARCH_DOMAIN_RUNTIME_TAB', TRUE);
 14.2268 +   Installation_SYS.Remove_Table('TERM_ALERT_INDICATOR_TAB', TRUE);
 14.2269 +   Installation_SYS.Remove_Table('TERM_DISPLAY_NAME_TAB', TRUE);
 14.2270 +   Installation_SYS.Remove_Table('TERM_DOMAIN_TAB', TRUE);
 14.2271 +   Installation_SYS.Remove_Table('TERM_OWNER_MODULE_TAB', TRUE);
 14.2272 +   Installation_SYS.Remove_Table('TERM_OWNER_TAB', TRUE);
 14.2273 +   Installation_SYS.Remove_Table('TERM_TAB', TRUE);
 14.2274 +   Installation_SYS.Remove_Table('TERM_TRANSLATED_DEFINITION_TAB', TRUE);
 14.2275 +   Installation_SYS.Remove_Table('TERM_TRANSLATED_NAME_TAB', TRUE);
 14.2276 +   Installation_SYS.Remove_Table('TERM_USAGE_DEFINITION_TAB', TRUE);
 14.2277 +   Installation_SYS.Remove_Table('USER_GROUP_TAB', TRUE);
 14.2278 +   Installation_SYS.Remove_Table('USER_GROUP_USER_TAB', TRUE);
 14.2279 +   Installation_SYS.Remove_Table('XLR_DIM_REF_RELATIONS_TAB', TRUE);
 14.2280 +   Installation_SYS.Remove_Table('XLR_DIMENSION_TAB', TRUE);
 14.2281 +   Installation_SYS.Remove_Table('XLR_FACT_TAB', TRUE);
 14.2282 +   Installation_SYS.Remove_Table('XML_REPORT_DATA_TAB', TRUE);
 14.2283 +END;
 14.2284 +/
 14.2285 +
 14.2286 +
 14.2287 +----------------------------------------------------------------
 14.2288 +-- Removing patch registrations for this module
 14.2289 +----------------------------------------------------------------
 14.2290 +BEGIN
 14.2291 +   dbms_output.put_line('Removing Patch Registrations for the Module...');
 14.2292 +   Installation_SYS.Clear_Db_Patch_Registration('FNDBAS');
 14.2293 +END;
 14.2294 +/
 14.2295 +
 14.2296 +----------------------------------------------------------------
 14.2297 +-- Removing module version information
 14.2298 +----------------------------------------------------------------
 14.2299 +BEGIN
 14.2300 +   dbms_output.put_line('Removing Module Version Information for the Module...');
 14.2301 +   Module_Api.Clear('FNDBAS');
 14.2302 +END;
 14.2303 +/
 14.2304 +
 14.2305 +
 14.2306 +
 14.2307 +
 14.2308 +COMMIT;
 14.2309 +
 14.2310 +
 14.2311 +----------------------------------------------------------------
 14.2312 +--Re Compiling All Invalid Objects
 14.2313 +----------------------------------------------------------------
 14.2314 +PROMPT Re Compiling All Invalid Objects
 14.2315 +EXEC Database_SYS.Compile_All_Invalid_Objects;
 14.2316 +
 14.2317 +----------------------------------------------------------------
 14.2318 +-- End
 14.2319 +----------------------------------------------------------------
 14.2320 +
 14.2321 +
 14.2322 +SPOOL OFF
 14.2323 +
 14.2324 +
 14.2325 +SET SERVEROUTPUT OFF
 14.2326 +
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/PLSQL/Execution/test/unit/src/org/netbeans/modules/plsql/execution/FileExecutionUtilTest.java	Tue Jul 02 10:38:00 2013 +0530
    15.3 @@ -0,0 +1,193 @@
    15.4 +/*
    15.5 + * To change this template, choose Tools | Templates
    15.6 + * and open the template in the editor.
    15.7 + */
    15.8 +package org.netbeans.modules.plsql.execution;
    15.9 +
   15.10 +import java.io.BufferedReader;
   15.11 +import java.io.File;
   15.12 +import java.io.FileInputStream;
   15.13 +import java.io.IOException;
   15.14 +import java.io.InputStream;
   15.15 +import java.io.InputStreamReader;
   15.16 +import java.io.OutputStream;
   15.17 +import java.util.ArrayList;
   15.18 +import java.util.List;
   15.19 +import javax.swing.text.BadLocationException;
   15.20 +import javax.swing.text.Document;
   15.21 +import org.junit.Test;
   15.22 +import static org.junit.Assert.*;
   15.23 +import org.junit.Before;
   15.24 +import org.netbeans.api.lexer.Language;
   15.25 +import org.netbeans.api.lexer.Token;
   15.26 +import org.netbeans.api.lexer.TokenHierarchy;
   15.27 +import org.netbeans.api.lexer.TokenSequence;
   15.28 +import org.netbeans.junit.NbTestCase;
   15.29 +import org.netbeans.modules.plsql.lexer.PlsqlBlockFactory;
   15.30 +import org.netbeans.modules.plsql.lexer.PlsqlTokenId;
   15.31 +import org.openide.cookies.EditorCookie;
   15.32 +import org.openide.filesystems.FileObject;
   15.33 +import org.openide.filesystems.FileSystem;
   15.34 +import org.openide.filesystems.FileUtil;
   15.35 +import org.openide.loaders.DataFolder;
   15.36 +import org.openide.loaders.DataObject;
   15.37 +import org.openide.util.Exceptions;
   15.38 +import org.openide.util.Task;
   15.39 +
   15.40 +/**
   15.41 + *
   15.42 + * @author subslk
   15.43 + */
   15.44 +public class FileExecutionUtilTest extends NbTestCase {
   15.45 +
   15.46 +    private static FileSystem fs = null;
   15.47 +
   15.48 +    public FileExecutionUtilTest(String name) {
   15.49 +        super(name);
   15.50 +    }
   15.51 +
   15.52 +    @Before
   15.53 +    public void setUp() {
   15.54 +        fs = FileUtil.createMemoryFileSystem();
   15.55 +        assertNotNull(fs);
   15.56 +    }
   15.57 +
   15.58 +    /**
   15.59 +     * Test of splitStringToVector method, of class FileExecutionUtil.
   15.60 +     */
   15.61 +    @Test
   15.62 +    public void testSplitStringToVector() {
   15.63 +        System.out.println("Split String To Vector");
   15.64 +
   15.65 +        String stmt = "DECLARE \n"
   15.66 +                + "   action_enable_ VARCHAR2 := &action_enable_; \n"
   15.67 +                + " \n"
   15.68 +                + "BEGIN \n"
   15.69 +                + "   SELECT * \n"
   15.70 +                + "   FROM fnd_event_action eventAcc \n"
   15.71 +                + "   WHERE eventAcc.action_enable = &action_enable_; \n"
   15.72 +                + " \n"
   15.73 +                + "END;\n";
   15.74 +
   15.75 +        List<String> expResult = new ArrayList<String>();
   15.76 +        expResult.add("DECLARE ");
   15.77 +        expResult.add("   action_enable_ VARCHAR2 := &action_enable_; ");
   15.78 +        expResult.add(" ");
   15.79 +        expResult.add("BEGIN ");
   15.80 +        expResult.add("   SELECT * ");
   15.81 +        expResult.add("   FROM fnd_event_action eventAcc ");
   15.82 +        expResult.add("   WHERE eventAcc.action_enable = &action_enable_; ");
   15.83 +        expResult.add(" ");
   15.84 +        expResult.add("END;");
   15.85 +
   15.86 +        List result = FileExecutionUtil.splitStringToVector(stmt);
   15.87 +        assertEquals(expResult, result);
   15.88 +
   15.89 +    }
   15.90 +
   15.91 +    /**
   15.92 +     * Test of getLineNoForOffset method, of class FileExecutionUtil.
   15.93 +     */
   15.94 +    @Test
   15.95 +    public void testGetLineNoForOffset() throws IOException {
   15.96 +        System.out.println("Get Line No For Offset");
   15.97 +
   15.98 +        final String plsqlFileName = "Actor.apy";
   15.99 +        Document doc = null;
  15.100 +        FileObject fileObject = null;
  15.101 +        try {
  15.102 +            fileObject = fs.getRoot().createData(plsqlFileName);
  15.103 +            doc = getDocument(fileObject, plsqlFileName);
  15.104 +
  15.105 +            //879 - begining of "PROMPT Creating &VIEW VIEW"
  15.106 +            int offset = 879;
  15.107 +            int expResult = 27;
  15.108 +            int result = FileExecutionUtil.getLineNoForOffset(doc, offset);
  15.109 +            assertEquals(expResult, result);
  15.110 +        } catch (BadLocationException ex) {
  15.111 +            Exceptions.printStackTrace(ex);
  15.112 +        } catch (IOException ex) {
  15.113 +            Exceptions.printStackTrace(ex);
  15.114 +        } finally {
  15.115 +            if (fileObject != null) {
  15.116 +                fileObject.delete();
  15.117 +            }
  15.118 +        }
  15.119 +    }
  15.120 +
  15.121 +    /**
  15.122 +     * Test of readLine method, of class FileExecutionUtil.
  15.123 +     */
  15.124 +    @Test
  15.125 +    public void testReadLine() throws IOException {
  15.126 +        System.out.println("Read Line");
  15.127 +
  15.128 +        final String plsqlFileName = "Actor.apy";
  15.129 +        Document doc = null;
  15.130 +        FileObject fileObject = null;
  15.131 +        try {
  15.132 +            fileObject = fs.getRoot().createData(plsqlFileName);
  15.133 +            doc = getDocument(fileObject, plsqlFileName);
  15.134 +
  15.135 +            TokenHierarchy tokenHierarchy = TokenHierarchy.get(doc);
  15.136 +            @SuppressWarnings("unchecked")
  15.137 +            TokenSequence<PlsqlTokenId> ts = tokenHierarchy.tokenSequence(PlsqlTokenId.language());
  15.138 +
  15.139 +            ts.move(907); // CREATE
  15.140 +            ts.moveNext();
  15.141 +            Token<PlsqlTokenId> token = ts.token();
  15.142 +
  15.143 +            String expResult = "CREATE OR REPLACE VIEW &VIEW AS";
  15.144 +            String result = FileExecutionUtil.readLine(ts, token);
  15.145 +            assertEquals(expResult, result);
  15.146 +        } catch (BadLocationException ex) {
  15.147 +            Exceptions.printStackTrace(ex);
  15.148 +        } catch (IOException ex) {
  15.149 +            Exceptions.printStackTrace(ex);
  15.150 +        } finally {
  15.151 +            if (fileObject != null) {
  15.152 +                fileObject.delete();
  15.153 +            }
  15.154 +        }
  15.155 +    }
  15.156 +
  15.157 +    private Document getDocument(FileObject fileObj, String fileName) throws IOException, BadLocationException {
  15.158 +        InputStream inputStream = new FileInputStream(new File(getDataDir(), fileName));
  15.159 +        InputStreamReader indexReader = new InputStreamReader(inputStream);
  15.160 +        BufferedReader input = new BufferedReader(indexReader);
  15.161 +        String content = "";
  15.162 +        while (input.ready()) {
  15.163 +            content = content + input.readLine() + "\n";
  15.164 +        }
  15.165 +        input.close();
  15.166 +        inputStream.close();
  15.167 +        indexReader.close();
  15.168 +        writeFile(content, fileObj);
  15.169 +
  15.170 +        DataObject dataObj = DataFolder.find(fileObj);
  15.171 +        EditorCookie ec = dataObj.getLookup().lookup(EditorCookie.class);
  15.172 +        assertNotNull(ec);
  15.173 +        Task task = ec.prepareDocument();
  15.174 +        task.waitFinished();
  15.175 +        PlsqlBlockFactory blockFac = dataObj.getLookup().lookup(PlsqlBlockFactory.class);
  15.176 +        assertNotNull(blockFac);
  15.177 +        Document doc = ec.getDocument();
  15.178 +        assertNotNull(doc);
  15.179 +        doc.putProperty(Language.class, PlsqlTokenId.language());
  15.180 +
  15.181 +        TokenHierarchy tokenHier = TokenHierarchy.get(doc);
  15.182 +        assertNotNull(tokenHier);
  15.183 +        TokenSequence<PlsqlTokenId> ts = tokenHier.tokenSequence(PlsqlTokenId.language());
  15.184 +        assertNotNull(ts);
  15.185 +        blockFac.initHierarchy(doc);
  15.186 +
  15.187 +        return doc;
  15.188 +
  15.189 +    }
  15.190 +
  15.191 +    private void writeFile(String content, FileObject file) throws IOException {
  15.192 +        OutputStream os = file.getOutputStream();
  15.193 +        os.write(content.getBytes("UTF-8"));
  15.194 +        os.close();
  15.195 +    }
  15.196 +}
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/PLSQL/Execution/test/unit/src/org/netbeans/modules/plsql/execution/PlsqlExecutableBlocksMakerTest.java	Tue Jul 02 10:38:00 2013 +0530
    16.3 @@ -0,0 +1,306 @@
    16.4 +/*
    16.5 + * To change this template, choose Tools | Templates
    16.6 + * and open the template in the editor.
    16.7 + */
    16.8 +package org.netbeans.modules.plsql.execution;
    16.9 +
   16.10 +import java.io.BufferedReader;
   16.11 +import java.io.File;
   16.12 +import java.io.FileInputStream;
   16.13 +import java.io.IOException;
   16.14 +import java.io.InputStream;
   16.15 +import java.io.InputStreamReader;
   16.16 +import java.io.OutputStream;
   16.17 +import java.util.List;
   16.18 +import javax.swing.text.BadLocationException;
   16.19 +import javax.swing.text.Document;
   16.20 +import org.junit.Test;
   16.21 +import static org.junit.Assert.*;
   16.22 +import org.junit.Before;
   16.23 +import org.netbeans.api.lexer.Language;
   16.24 +import org.netbeans.api.lexer.TokenHierarchy;
   16.25 +import org.netbeans.api.lexer.TokenSequence;
   16.26 +import org.netbeans.junit.NbTestCase;
   16.27 +import org.netbeans.modules.plsql.lexer.PlsqlBlockFactory;
   16.28 +import org.netbeans.modules.plsql.lexer.PlsqlTokenId;
   16.29 +import org.netbeans.modules.plsqlsupport.db.PlsqlExecutableObject;
   16.30 +import org.openide.cookies.EditorCookie;
   16.31 +import org.openide.filesystems.FileObject;
   16.32 +import org.openide.filesystems.FileSystem;
   16.33 +import org.openide.filesystems.FileUtil;
   16.34 +import org.openide.loaders.DataFolder;
   16.35 +import org.openide.loaders.DataObject;
   16.36 +import org.openide.util.Exceptions;
   16.37 +import org.openide.util.Task;
   16.38 +
   16.39 +/**
   16.40 + *
   16.41 + * @author subslk
   16.42 + */
   16.43 +public class PlsqlExecutableBlocksMakerTest extends TestRecordPlayer {
   16.44 +
   16.45 +    private static FileSystem fs = null;
   16.46 +
   16.47 +    public PlsqlExecutableBlocksMakerTest(String name) {
   16.48 +        super(name);
   16.49 +    }
   16.50 +    
   16.51 +    @Before
   16.52 +    public void setUp() {
   16.53 +        fs = FileUtil.createMemoryFileSystem();
   16.54 +        assertNotNull(fs);
   16.55 +    }
   16.56 +
   16.57 +    /**
   16.58 +     * Test of makeExceutableObjects method, of class PlsqlExecutableBlocksMaker.
   16.59 +     */
   16.60 +    @Test
   16.61 +    public void testMakeExceutableObjects() throws IOException {
   16.62 +
   16.63 +        System.out.println(" Test Exceutable Objects creation");
   16.64 +
   16.65 +        final String plsqlFileName = "Actor.apy";
   16.66 +        Document doc = null;
   16.67 +        FileObject fileObject = null;
   16.68 +        try {
   16.69 +            fileObject = fs.getRoot().createData(plsqlFileName);
   16.70 +            doc = getDocument(fileObject, plsqlFileName);
   16.71 +
   16.72 +            PlsqlExecutableBlocksMaker instance = new PlsqlExecutableBlocksMaker(doc);
   16.73 +            List<PlsqlExecutableObject> makeExceutableObjects = instance.makeExceutableObjects();
   16.74 +            
   16.75 +            int size = makeExceutableObjects.size();           
   16.76 +            assertEquals(31, size);
   16.77 +            processExecutableBLocksBlocks(plsqlFileName,makeExceutableObjects);
   16.78 +            
   16.79 +        } catch (BadLocationException ex) {
   16.80 +            Exceptions.printStackTrace(ex);
   16.81 +        } catch (IOException ex) {
   16.82 +            Exceptions.printStackTrace(ex);
   16.83 +        } finally {
   16.84 +            if (fileObject != null) {
   16.85 +                fileObject.delete();
   16.86 +            }
   16.87 +        }
   16.88 +    }
   16.89 +    
   16.90 +    @Test
   16.91 +    public void test1() throws IOException {
   16.92 +
   16.93 +        System.out.println("test 1 - api file");
   16.94 +
   16.95 +        final String plsqlFileName = "FndEvent.api";
   16.96 +        Document doc = null;
   16.97 +        FileObject fileObject = null;
   16.98 +        try {
   16.99 +            fileObject = fs.getRoot().createData(plsqlFileName);
  16.100 +            doc = getDocument(fileObject, plsqlFileName);
  16.101 +
  16.102 +            PlsqlExecutableBlocksMaker instance = new PlsqlExecutableBlocksMaker(doc);
  16.103 +            List<PlsqlExecutableObject> makeExceutableObjects = instance.makeExceutableObjects();
  16.104 +            
  16.105 +            int size = makeExceutableObjects.size();           
  16.106 +            assertEquals(12, size);
  16.107 +            processExecutableBLocksBlocks(plsqlFileName,makeExceutableObjects);
  16.108 +            
  16.109 +        } catch (BadLocationException ex) {
  16.110 +            Exceptions.printStackTrace(ex);
  16.111 +        } catch (IOException ex) {
  16.112 +            Exceptions.printStackTrace(ex);
  16.113 +        } finally {
  16.114 +            if (fileObject != null) {
  16.115 +                fileObject.delete();
  16.116 +            }
  16.117 +        }
  16.118 +    }
  16.119 +
  16.120 +    @Test
  16.121 +    public void test2() throws IOException {
  16.122 +
  16.123 +        System.out.println("test 2 - apy file");
  16.124 +
  16.125 +        final String plsqlFileName = "FndEvent.apy";
  16.126 +        Document doc = null;
  16.127 +        FileObject fileObject = null;
  16.128 +        try {
  16.129 +            fileObject = fs.getRoot().createData(plsqlFileName);
  16.130 +            doc = getDocument(fileObject, plsqlFileName);
  16.131 +
  16.132 +            PlsqlExecutableBlocksMaker instance = new PlsqlExecutableBlocksMaker(doc);
  16.133 +            List<PlsqlExecutableObject> makeExceutableObjects = instance.makeExceutableObjects();
  16.134 +            
  16.135 +            int size = makeExceutableObjects.size();           
  16.136 +            assertEquals(41, size);
  16.137 +            processExecutableBLocksBlocks(plsqlFileName,makeExceutableObjects);
  16.138 +            
  16.139 +        } catch (BadLocationException ex) {
  16.140 +            Exceptions.printStackTrace(ex);
  16.141 +        } catch (IOException ex) {
  16.142 +            Exceptions.printStackTrace(ex);
  16.143 +        } finally {
  16.144 +            if (fileObject != null) {
  16.145 +                fileObject.delete();
  16.146 +            }
  16.147 +        }
  16.148 +    }
  16.149 +    
  16.150 +    @Test
  16.151 +    public void test3() throws IOException {
  16.152 +
  16.153 +        System.out.println("test 3 - rdf file");
  16.154 +
  16.155 +        final String plsqlFileName = "FndSecurityPerObject.rdf";
  16.156 +        Document doc = null;
  16.157 +        FileObject fileObject = null;
  16.158 +        try {
  16.159 +            fileObject = fs.getRoot().createData(plsqlFileName);
  16.160 +            doc = getDocument(fileObject, plsqlFileName);
  16.161 +
  16.162 +            PlsqlExecutableBlocksMaker instance = new PlsqlExecutableBlocksMaker(doc);
  16.163 +            List<PlsqlExecutableObject> makeExceutableObjects = instance.makeExceutableObjects();
  16.164 +            
  16.165 +            int size = makeExceutableObjects.size();           
  16.166 +            assertEquals(37, size);
  16.167 +            processExecutableBLocksBlocks(plsqlFileName,makeExceutableObjects);
  16.168 +            
  16.169 +        } catch (BadLocationException ex) {
  16.170 +            Exceptions.printStackTrace(ex);
  16.171 +        } catch (IOException ex) {
  16.172 +            Exceptions.printStackTrace(ex);
  16.173 +        } finally {
  16.174 +            if (fileObject != null) {
  16.175 +                fileObject.delete();
  16.176 +            }
  16.177 +        }
  16.178 +    }
  16.179 +    
  16.180 +    @Test
  16.181 +    public void test4() throws IOException {
  16.182 +
  16.183 +        System.out.println("test 4 - ins file");
  16.184 +
  16.185 +        final String plsqlFileName = "FndSetting.ins";
  16.186 +        Document doc = null;
  16.187 +        FileObject fileObject = null;
  16.188 +        try {
  16.189 +            fileObject = fs.getRoot().createData(plsqlFileName);
  16.190 +            doc = getDocument(fileObject, plsqlFileName);
  16.191 +
  16.192 +            PlsqlExecutableBlocksMaker instance = new PlsqlExecutableBlocksMaker(doc);
  16.193 +            List<PlsqlExecutableObject> makeExceutableObjects = instance.makeExceutableObjects();
  16.194 +            
  16.195 +            int size = makeExceutableObjects.size();           
  16.196 +            assertEquals(7, size);
  16.197 +            processExecutableBLocksBlocks(plsqlFileName,makeExceutableObjects);
  16.198 +            
  16.199 +        } catch (BadLocationException ex) {
  16.200 +            Exceptions.printStackTrace(ex);
  16.201 +        } catch (IOException ex) {
  16.202 +            Exceptions.printStackTrace(ex);
  16.203 +        } finally {
  16.204 +            if (fileObject != null) {
  16.205 +                fileObject.delete();
  16.206 +            }
  16.207 +        }
  16.208 +    }
  16.209 +    
  16.210 +    @Test
  16.211 +    public void test5() throws IOException {
  16.212 +
  16.213 +        System.out.println("test 5 - sql file");
  16.214 +
  16.215 +        final String plsqlFileName = "fndbasdr.sql";
  16.216 +        Document doc = null;
  16.217 +        FileObject fileObject = null;
  16.218 +        try {
  16.219 +            fileObject = fs.getRoot().createData(plsqlFileName);
  16.220 +            doc = getDocument(fileObject, plsqlFileName);
  16.221 +
  16.222 +            PlsqlExecutableBlocksMaker instance = new PlsqlExecutableBlocksMaker(doc);
  16.223 +            List<PlsqlExecutableObject> makeExceutableObjects = instance.makeExceutableObjects();
  16.224 +            
  16.225 +            int size = makeExceutableObjects.size();           
  16.226 +            assertEquals(83, size);
  16.227 +            processExecutableBLocksBlocks(plsqlFileName,makeExceutableObjects);
  16.228 +            
  16.229 +        } catch (BadLocationException ex) {
  16.230 +            Exceptions.printStackTrace(ex);
  16.231 +        } catch (IOException ex) {
  16.232 +            Exceptions.printStackTrace(ex);
  16.233 +        } finally {
  16.234 +            if (fileObject != null) {
  16.235 +                fileObject.delete();
  16.236 +            }
  16.237 +        }
  16.238 +    }
  16.239 +    
  16.240 +    @Test
  16.241 +    public void test6() throws IOException {
  16.242 +
  16.243 +        System.out.println("test 6 - cdb file");
  16.244 +
  16.245 +        final String plsqlFileName = "event.cdb";
  16.246 +        Document doc = null;
  16.247 +        FileObject fileObject = null;
  16.248 +        try {
  16.249 +            fileObject = fs.getRoot().createData(plsqlFileName);
  16.250 +            doc = getDocument(fileObject, plsqlFileName);
  16.251 +
  16.252 +            PlsqlExecutableBlocksMaker instance = new PlsqlExecutableBlocksMaker(doc);
  16.253 +            List<PlsqlExecutableObject> makeExceutableObjects = instance.makeExceutableObjects();
  16.254 +            
  16.255 +            int size = makeExceutableObjects.size();           
  16.256 +            assertEquals(9, size);
  16.257 +            processExecutableBLocksBlocks(plsqlFileName,makeExceutableObjects);
  16.258 +            
  16.259 +        } catch (BadLocationException ex) {
  16.260 +            Exceptions.printStackTrace(ex);
  16.261 +        } catch (IOException ex) {
  16.262 +            Exceptions.printStackTrace(ex);
  16.263 +        } finally {
  16.264 +            if (fileObject != null) {
  16.265 +                fileObject.delete();
  16.266 +            }
  16.267 +        }
  16.268 +    }
  16.269 +    
  16.270 +    private Document getDocument(FileObject fileObj, String fileName) throws IOException, BadLocationException {
  16.271 +        InputStream inputStream = new FileInputStream(new File(getDataDir(), fileName));
  16.272 +        InputStreamReader indexReader = new InputStreamReader(inputStream);
  16.273 +        BufferedReader input = new BufferedReader(indexReader);
  16.274 +        String content = "";
  16.275 +        while (input.ready()) {
  16.276 +            content = content + input.readLine() + "\n";
  16.277 +        }
  16.278 +        input.close();
  16.279 +        inputStream.close();
  16.280 +        indexReader.close();
  16.281 +        writeFile(content, fileObj);
  16.282 +
  16.283 +        DataObject dataObj = DataFolder.find(fileObj);
  16.284 +        EditorCookie ec = dataObj.getLookup().lookup(EditorCookie.class);
  16.285 +        assertNotNull(ec);
  16.286 +        Task task = ec.prepareDocument();
  16.287 +        task.waitFinished();
  16.288 +        PlsqlBlockFactory blockFac = dataObj.getLookup().lookup(PlsqlBlockFactory.class);
  16.289 +        assertNotNull(blockFac);
  16.290 +        Document doc = ec.getDocument();
  16.291 +        assertNotNull(doc);
  16.292 +        doc.putProperty(Language.class, PlsqlTokenId.language());
  16.293 +
  16.294 +        TokenHierarchy tokenHier = TokenHierarchy.get(doc);
  16.295 +        assertNotNull(tokenHier);
  16.296 +        TokenSequence<PlsqlTokenId> ts = tokenHier.tokenSequence(PlsqlTokenId.language());
  16.297 +        assertNotNull(ts);
  16.298 +        blockFac.initHierarchy(doc);
  16.299 +
  16.300 +        return doc;
  16.301 +
  16.302 +    }
  16.303 +
  16.304 +    private void writeFile(String content, FileObject file) throws IOException {
  16.305 +        OutputStream os = file.getOutputStream();
  16.306 +        os.write(content.getBytes("UTF-8"));
  16.307 +        os.close();
  16.308 +    }
  16.309 +}
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/PLSQL/Execution/test/unit/src/org/netbeans/modules/plsql/execution/TestRecordPlayer.java	Tue Jul 02 10:38:00 2013 +0530
    17.3 @@ -0,0 +1,132 @@
    17.4 +package org.netbeans.modules.plsql.execution;
    17.5 +
    17.6 +import java.io.File;
    17.7 +import java.io.IOException;
    17.8 +import java.util.ArrayList;
    17.9 +import java.util.List;
   17.10 +import static junit.framework.Assert.assertEquals;
   17.11 +import org.apache.commons.io.FileUtils;
   17.12 +import org.netbeans.junit.NbTestCase;
   17.13 +import org.netbeans.modules.plsqlsupport.db.PlsqlExecutableObject;
   17.14 +import org.netbeans.modules.plsqlsupport.db.PlsqlExecutableObjectType;
   17.15 +
   17.16 +/**
   17.17 + * This class contains both the framework for template testing and the test settings.
   17.18 + *
   17.19 + * RUN_LAYER_TEST map states if tests for that particular layer should be run or not. true = all tests for this layer
   17.20 + * are executed, both for test data collection and for test output verification false = the layer is ignored completely,
   17.21 + * both for testing and data collection
   17.22 + *
   17.23 + * RecordTestData is a switch for testing mode true = record test data and write expected data files to their correct
   17.24 + * folders. those files should then be committed to the SVN repository NOTE: this flag should only be set when
   17.25 + * collecting data and the be reset again. Never commit this class to SVN with this flag set to true !!! false = run the
   17.26 + * test as normal
   17.27 + */
   17.28 +public class TestRecordPlayer extends NbTestCase {
   17.29 +
   17.30 +    private boolean recordTestData = false; //NOTE: Must be false when committed  !!!
   17.31 +
   17.32 +    public TestRecordPlayer(String name) {
   17.33 +        super(name);
   17.34 +    }
   17.35 +
   17.36 +    public void processExecutableBLocksBlocks(String plsqlFileName, List<PlsqlExecutableObject> exceutableObjects) throws IOException {
   17.37 +        List<String> expectedExceutableObjTypes = new ArrayList<String>();
   17.38 +        populateListOfExceutableObjects(exceutableObjects, expectedExceutableObjTypes);
   17.39 +        if (recordTestData) {
   17.40 +            final File expectedDir = new File(getExpectedDir().replace(File.separator + "build" + File.separator, File.separator));
   17.41 +            expectedDir.mkdirs();
   17.42 +            FileUtils.writeLines(new File(expectedDir, plsqlFileName + ".structure"), expectedExceutableObjTypes);
   17.43 +        } else {
   17.44 +            File expectedFile = new File(getExpectedDir(), plsqlFileName + ".structure");
   17.45 +            final File actualFile = new File(getWorkDir(), plsqlFileName + ".structure");
   17.46 +            FileUtils.writeLines(actualFile, expectedExceutableObjTypes);
   17.47 +            assertStructure(expectedFile, actualFile);
   17.48 +        }
   17.49 +    }
   17.50 +
   17.51 +    private void populateListOfExceutableObjects(List<PlsqlExecutableObject> exceutableObjects, List<String> expectedExceutableObjTypes) {
   17.52 +
   17.53 +        for (PlsqlExecutableObject exceutableObject : exceutableObjects) {
   17.54 +            PlsqlExecutableObjectType type = exceutableObject.getType();
   17.55 +            if(type == PlsqlExecutableObjectType.BEGINEND) {
   17.56 +                expectedExceutableObjTypes.add("BEGINEND");
   17.57 +            }
   17.58 +            if(type == PlsqlExecutableObjectType.COLUMNCOMMENT) {
   17.59 +                expectedExceutableObjTypes.add("COLUMNCOMMENT");
   17.60 +            }
   17.61 +            if(type == PlsqlExecutableObjectType.COMMENT) {
   17.62 +                expectedExceutableObjTypes.add("COMMENT");
   17.63 +            }
   17.64 +            if(type == PlsqlExecutableObjectType.DECLAREEND) {
   17.65 +                expectedExceutableObjTypes.add("DECLAREEND");
   17.66 +            }
   17.67 +            if(type == PlsqlExecutableObjectType.FUNCTION) {
   17.68 +                expectedExceutableObjTypes.add("FUNCTION");
   17.69 +            }
   17.70 +            if(type == PlsqlExecutableObjectType.JAVASOURCE) {
   17.71 +                expectedExceutableObjTypes.add("JAVASOURCE");
   17.72 +            }
   17.73 +            if(type == PlsqlExecutableObjectType.PACKAGE) {
   17.74 +                expectedExceutableObjTypes.add("PACKAGE");
   17.75 +            }
   17.76 +            if(type == PlsqlExecutableObjectType.PACKAGEBODY) {
   17.77 +                expectedExceutableObjTypes.add("PACKAGEBODY");
   17.78 +            }
   17.79 +            if(type == PlsqlExecutableObjectType.PROCEDURE) {
   17.80 +                expectedExceutableObjTypes.add("PROCEDURE");
   17.81 +            }
   17.82 +            if(type == PlsqlExecutableObjectType.STATEMENT) {
   17.83 +                expectedExceutableObjTypes.add("STATEMENT");
   17.84 +            }
   17.85 +            if(type == PlsqlExecutableObjectType.TABLECOMMENT) {
   17.86 +                expectedExceutableObjTypes.add("TABLECOMMENT");
   17.87 +            }
   17.88 +            if(type == PlsqlExecutableObjectType.TRIGGER) {
   17.89 +                expectedExceutableObjTypes.add("TRIGGER");
   17.90 +            }
   17.91 +            if(type == PlsqlExecutableObjectType.UNKNOWN) {
   17.92 +                expectedExceutableObjTypes.add("UNKNOWN");
   17.93 +            }
   17.94 +            if(type == PlsqlExecutableObjectType.VIEW) {
   17.95 +                expectedExceutableObjTypes.add("VIEW");
   17.96 +            }
   17.97 +        }
   17.98 +        
   17.99 +    }
  17.100 +
  17.101 +    public void assertStructure(File expectedFile, File actualFile) throws IOException {
  17.102 +        assertLines(FileUtils.readFileToString(expectedFile, "utf-8"), FileUtils.readFileToString(actualFile, "utf-8"));
  17.103 +    }
  17.104 +
  17.105 +    protected String getExpectedDir() {
  17.106 +        return getDataDir().getAbsolutePath() + File.separator + "expected" + File.separator;
  17.107 +    }
  17.108 +
  17.109 +    public static void assertLines(String expResult, String result) {
  17.110 +        String[] expectedLine = expResult.replace("\r", "").split("[\\r\\n]");
  17.111 +        String[] resultLine = result.replace("\r", "").split("[\\r\\n]");
  17.112 +        for (int i = 0; i < resultLine.length && i < expectedLine.length; i++) {
  17.113 +            try {
  17.114 +                assertEquals(expectedLine[i].replaceAll("\\s+", " ").trim(), resultLine[i].replaceAll("\\s+", " ").trim());
  17.115 +            } catch (AssertionError e) {
  17.116 +                System.out.println("failed on line " + i);
  17.117 +                System.out.println("EXPECTED==========================================================");
  17.118 +                for (int j = -5; j < 8; j++) {
  17.119 +                    if (i < expectedLine.length - j && i + j >= 0) {
  17.120 +                        System.out.println((j == 0 ? "--> " : "    ") + expectedLine[i + j]);
  17.121 +                    }
  17.122 +                }
  17.123 +                System.out.println("RESULT============================================================");
  17.124 +                for (int j = -5; j < 8; j++) {
  17.125 +                    if (i < resultLine.length - j && i + j >= 0) {
  17.126 +                        System.out.println((j == 0 ? "--> " : "    ") + resultLine[i + j]);
  17.127 +                    }
  17.128 +                }
  17.129 +                System.out.println("==================================================================");
  17.130 +                throw e;
  17.131 +            }
  17.132 +        }
  17.133 +        assertEquals(expectedLine.length, resultLine.length);
  17.134 +    }
  17.135 +}