Validation tasks

These are the validations that the tool performs:

  • Database Version: The tool determines whether the database is DL 0 or current, so that the appropriate manifest is used and the appropriate validations are performed.
  • AccessAs: Only for a current database, the tool verifies that the custom tables use an AccessAs value. If the Enforce Prefix from Access As process default does not exist, the tool creates it and sets it to 1. The tool sets the Access As value to ue_.
    Note: In order for your customizations to be approved for the cloud, the names of your custom tables and custom columns on base tables must begin with ue_. Columns that were added through UET do not have this requirement.
  • Tables: The tool determines if tables are missing.

    For a DL 0 database, the tool determines whether there are shared tables. If so, those tables are not validated.

    For a current database, the tool marks as unapproved any custom tables that are not prefixed with the AccessAs value.

  • Columns: If a column is missing, or its data type, nullability, identity, or computed values are different from the manifest, the column and the problem are noted in the log.

    For a DL 0 database, additional columns are marked as unapproved if they are not in the manifest, are not nullable, or do not contain a default constraint record.

    For a current database, additional columns that are not in the manifest are marked as unapproved if they do not begin with the AccessAs value, are not in the UET data, are not nullable, or do not contain a default constraint record.

  • Check constraints, default constraints, foreign key constraints, and primary key/unique constraints: Missing constraints are recorded. If a constraint exists but the definition is different, the constraint is marked as incorrect. If an additional constraint exists in the database but is not in the manifest, and it exists on a table or a column that is listed in the manifest, the constraint is marked as unapproved.
  • Indexes: Missing indexes are recorded. If an index exists but the clustering or column list is different, the index is marked as incorrect. If there are additional indexes in the database that are not in the manifest, and they are unique, the index is marked as unapproved.
  • Data types: Missing data types are recorded. If a data type exists, but the system type, max length, precision or scale is different from the manifest, the data type is marked as incorrect.
  • Objects: Any views that exist in the database but are not in the manifest or generated are marked as unapproved.

    For a current database, the tool ignores any views tied to tables that are marked as approved or views tied to third party or APAR schema that is in the database.

    Also for a current database, if any stored procedures or functions exist in the database that are not in the manifest, they are marked as unapproved. If any triggers or assemblies that are not generated exist in the database but not in the manifest, they are marked as unapproved.

  • Database configuration: For a DL 0 database, the application, forms, objects, and templates databases must be merged into one database. If any of these tables do not exist, or any columns, constraints, or indexes on these tables do not exist, the tool records that the database is not merged into an all-in-one database.

    For a current database, all sites must be in the same database. If there are sites in the site table that do not exist in the parms_mst table, the tool records the site names in the log.