DBA Data[Home] [Help]

APPS.HZ_ACCOUNT_VALIDATE_V2PUB SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 47

    p_create_update_flag                    IN     VARCHAR2,
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     VARCHAR2,
    p_restricted                            IN     VARCHAR2 DEFAULT 'N',
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 55

    p_create_update_flag                    IN     VARCHAR2,
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     NUMBER,
    p_restricted                            IN     VARCHAR2 DEFAULT 'N',
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 63

    p_create_update_flag                    IN     VARCHAR2,
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     DATE,
    p_restricted                            IN     VARCHAR2 DEFAULT 'N',
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 70

PROCEDURE validate_nonupdateable (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     VARCHAR2,
    p_old_column_value                      IN     VARCHAR2,
    p_restricted                            IN     VARCHAR2 DEFAULT 'Y',
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 78

PROCEDURE validate_nonupdateable (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     NUMBER,
    p_old_column_value                      IN     NUMBER,
    p_restricted                            IN     VARCHAR2 DEFAULT 'Y',
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 86

PROCEDURE validate_nonupdateable (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     DATE,
    p_old_column_value                      IN     DATE,
    p_restricted                            IN     VARCHAR2 DEFAULT 'Y',
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 95

    p_create_update_flag                    IN     VARCHAR2,
    p_start_date_column_name                IN     VARCHAR2,
    p_start_date                            IN     DATE,
    p_old_start_date                        IN     DATE,
    p_end_date_column_name                  IN     VARCHAR2,
    p_end_date                              IN     DATE,
    p_old_end_date                          IN     DATE,
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 105

PROCEDURE validate_cannot_update_to_null (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     VARCHAR2,
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 111

PROCEDURE validate_cannot_update_to_null (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     NUMBER,
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 117

PROCEDURE validate_cannot_update_to_null (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     DATE,
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 348

    p_create_update_flag          IN     VARCHAR2,
    p_created_by_module           IN     VARCHAR2,
    p_old_created_by_module       IN     VARCHAR2,
    x_return_status               IN OUT NOCOPY VARCHAR2
);
Line: 355

    p_create_update_flag          IN     VARCHAR2,
    p_application_id              IN     NUMBER,
    p_old_application_id          IN     NUMBER,
    x_return_status               IN OUT NOCOPY VARCHAR2
);
Line: 363

    p_create_update_flag                    IN     VARCHAR2,
    p_customer_profile_rec                  IN     HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE,
    x_return_status                         IN OUT NOCOPY VARCHAR2
);
Line: 380

 *         non-updateable fields
 *         foreign key validations
 *         other validations
 *
 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
 *
 * ARGUMENTS
 *   IN:
 *     p_create_update_flag           Create update flag. 'C' = create. 'U' = update.
 *     p_cust_account_rec             Customer account record.
 *     p_rowid                        Rowid of the record (used only in update mode).
 *   IN/OUT:
 *     x_return_status                Return status after the call. The status can
 *                                    be FND_API.G_RET_STS_SUCCESS (success),
 *                                    FND_API.G_RET_STS_ERROR (error),
 *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
 *
 * NOTES
 *
 * MODIFICATION HISTORY
 *
 *   07-23-2001    Jianying Huang      o Created.
 *   11-08-2001    Rajeshwari P        Included the validation for fields, tax_code,
 *                                     invoice_quantity_rule,customer_class_code,
 *                                     tax_rounding_rule,primary_salesrep_id,
 *                                     order_type_id,price_list_id,ship_partial,fob_point ,
 *                                     item_cross_ref_pref,warehouse_id,date_type_preference,
 *                                     ship_sets_include_lines_flag and
 *                                     arrivalsets_include_lines_flag in  procedure
 *                                     VALIDATE_CUST_ACCOUNT.
 *  21-05-2002   Rajeshwari P          Bug fix 2311760.Commented the code which validates the
 *                                     Obsolete column ship_partial.
 *
 *  05-26-2003   Ramesh Ch               Bug No:2441276. Added Validation to make
 *                                       account_number as non updateable.
 *  12-MAY-2005  Rajib Ranjan Borah   o TCA SSA Uptake (Bug 3456489)
 *                                      ~ HZ Cache will be used instead of querying from
 *                                        AR System Parameters.
 *                                      ~ Tax Code, Order Type and Sales Rep are no longer set
 *                                        at the Cust Account level.
 */

PROCEDURE validate_cust_account (
    p_create_update_flag                    IN     VARCHAR2,
    p_cust_account_rec                      IN     HZ_CUST_ACCOUNT_V2PUB.CUST_ACCOUNT_REC_TYPE,
    p_rowid                                 IN     ROWID,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_debug_prefix                          VARCHAR2(30) := ''; -- 'validate_cust_account'
Line: 485

    IF p_create_update_flag = 'U' THEN
        SELECT ACCOUNT_NUMBER,ORIG_SYSTEM_REFERENCE, ACCOUNT_ESTABLISHED_DATE,
               -- ACCOUNT_TERMINATION_DATE, --ACCOUNT_ACTIVATION_DATE,
               CREATED_BY_MODULE, APPLICATION_ID,
               STATUS, CUSTOMER_TYPE, SALES_CHANNEL_CODE, FREIGHT_TERM,
               SHIP_VIA,SHIP_SETS_INCLUDE_LINES_FLAG,ARRIVALSETS_INCLUDE_LINES_FLAG,
               TAX_CODE,INVOICE_QUANTITY_RULE,--PRIMARY_SALESREP_ID,
               ORDER_TYPE_ID,PRICE_LIST_ID,FOB_POINT,
               ITEM_CROSS_REF_PREF,WAREHOUSE_ID,DATE_TYPE_PREFERENCE,
               CUSTOMER_CLASS_CODE,TAX_ROUNDING_RULE
        INTO l_account_number,l_orig_system_reference, l_account_established_date,
             -- l_account_termination_date, --l_account_activation_date,
             l_created_by_module, l_application_id,
             l_status, l_customer_type, l_sales_channel_code, l_freight_term,
             l_ship_via,l_ship_sets_inc_lines_f,l_arrivalsets_inc_lines_f,
             l_tax_code,l_invoice_quantity_rule,--l_primary_salesrep_id,
             l_order_type_id,l_price_list_id,l_fob_point,
             l_item_cross_ref_pref,l_warehouse_id,l_date_type_preference,
             l_customer_class_code,l_tax_rounding_rule
        FROM HZ_CUST_ACCOUNTS
        WHERE ROWID = p_rowid;
Line: 513

    IF p_create_update_flag = 'C' THEN

        -- If primary key value is passed, check for uniqueness.
        -- If primary key value is not passed, it will be generated
        -- from sequence by table handler.

        IF p_cust_account_rec.cust_account_id IS NOT NULL AND
           p_cust_account_rec.cust_account_id <> FND_API.G_MISS_NUM
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCOUNTS
            WHERE CUST_ACCOUNT_ID = p_cust_account_rec.cust_account_id;
Line: 596

    IF p_create_update_flag = 'C' THEN

        -- If autonumbering is on, if user has passed in an account_number,
        -- error out. If autonumbering is off, if user has not passed in
        -- value, error out;
Line: 651

    ELSE -- in update
        IF p_cust_account_rec.account_number IS NOT NULL THEN
            validate_cannot_update_to_null (
                p_column                                => 'account_number',
                p_column_value                          => p_cust_account_rec.account_number,
                x_return_status                         => x_return_status );
Line: 660

                    'account_number cannot be updated to null. ' ||
                    'x_return_status = ' || x_return_status, l_debug_prefix );
Line: 665

                hz_utility_v2pub.debug(p_prefix=>l_debug_prefix,p_message=>'account_number cannot be updated to null. ' ||
                                                'x_return_status = ' || x_return_status,
                                       p_msg_level=>fnd_log.level_statement);
Line: 682

                validate_nonupdateable (
                    p_column                                => 'account_number',
                    p_column_value                          => p_cust_account_rec.account_number,
                    p_old_column_value                      => l_account_number,
                    x_return_status                         => x_return_status );
Line: 690

                        'account_number is non-updateable. ' ||
                        'x_return_status = ' || x_return_status, l_debug_prefix );
Line: 695

                        hz_utility_v2pub.debug(p_prefix=>l_debug_prefix,p_message=>'account_number is non-updateable. ' ||
                                                         'x_return_status = ' || x_return_status,
                                               p_msg_level=>fnd_log.level_statement);
Line: 711

        SELECT ROWID INTO l_rowid
        FROM HZ_CUST_ACCOUNTS
        WHERE ACCOUNT_NUMBER = p_cust_account_rec.account_number;
Line: 715

        IF p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U' AND l_rowid <> p_rowid )
        THEN
            FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_DUPLICATE_COLUMN' );
Line: 770

    IF p_create_update_flag = 'C' AND
       p_cust_account_rec.orig_system_reference IS NOT NULL AND
       p_cust_account_rec.orig_system_reference <> FND_API.G_MISS_CHAR
    THEN
    BEGIN
        SELECT 'Y' INTO l_dummy
        FROM HZ_CUST_ACCOUNTS
        WHERE ORIG_SYSTEM_REFERENCE = p_cust_account_rec.orig_system_reference;
Line: 816

    and p_create_update_flag = 'U'
   then
        hz_orig_system_ref_pub.get_owner_table_id
        (p_orig_system => p_cust_account_rec.orig_system,
        p_orig_system_reference => p_cust_account_rec.orig_system_reference,
        p_owner_table_name => 'HZ_CUST_ACCOUNTS',
        x_owner_table_id => l_mosr_owner_table_id,
        x_return_status => l_temp_return_status);
Line: 841

    IF p_create_update_flag = 'U' AND
       p_cust_account_rec.orig_system_reference IS NOT NULL
       and l_validate_flag = 'Y'
    THEN

        validate_nonupdateable (
            p_column                                => 'orig_system_reference',
            p_column_value                          => l_orig_system_reference1,
            p_old_column_value                      => l_orig_system_reference,
            x_return_status                         => x_return_status );
Line: 854

                'orig_system_reference is non-updateable. ' ||
                'x_return_status = ' || x_return_status, l_debug_prefix );
Line: 859

           hz_utility_v2pub.debug(p_prefix=>l_debug_prefix,p_message=>'orig_system_reference is non-updateable. ' ||
                                        'x_return_status = ' || x_return_status,
                                  p_msg_level=>fnd_log.level_statement);
Line: 887

    IF p_create_update_flag = 'U' AND
       p_cust_account_rec.status IS NOT NULL
    THEN
        validate_cannot_update_to_null (
            p_column                                => 'status',
            p_column_value                          => p_cust_account_rec.status,
            x_return_status                         => x_return_status );
Line: 897

                'status cannot be updated to null. ' ||
                'x_return_status = ' || x_return_status, l_debug_prefix );
Line: 902

           hz_utility_v2pub.debug(p_prefix=>l_debug_prefix,p_message=>'status cannot be updated to null. ' ||
                                        'x_return_status = ' || x_return_status,
                                   p_msg_level=>fnd_log.level_statement);
Line: 914

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.status <> NVL( l_status, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'status',
            p_lookup_type                           => 'CODE_STATUS',
            p_column_value                          => p_cust_account_rec.status,
            x_return_status                         => x_return_status );
Line: 961

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.customer_type <> NVL( l_customer_type, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'customer_type',
            p_lookup_type                           => 'CUSTOMER_TYPE',
            p_column_value                          => p_cust_account_rec.customer_type,
            x_return_status                         => x_return_status );
Line: 1005

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.sales_channel_code <> NVL( l_sales_channel_code, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'sales_channel_code',
            p_lookup_table                          => 'SO_LOOKUPS',
            p_lookup_type                           => 'SALES_CHANNEL',
            p_column_value                          => p_cust_account_rec.sales_channel_code,
            x_return_status                         => x_return_status );
Line: 1050

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.freight_term <> NVL( l_freight_term, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'freight_term',
            p_lookup_table                          => 'SO_LOOKUPS',
            p_lookup_type                           => 'FREIGHT_TERMS',
            p_column_value                          => p_cust_account_rec.freight_term,
            x_return_status                         => x_return_status );
Line: 1151

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.tax_code <> NVL( l_tax_code, FND_API.G_MISS_CHAR ) ) )
      THEN
          check_tax_code(
               p_column                                => 'tax_code',
               p_column_value                          => p_cust_account_rec.tax_code,
	       p_called_from                           => 'validate_cust_account',
               x_return_status                         => x_return_status );
Line: 1196

    |   ( p_create_update_flag = 'C' OR
    |     ( p_create_update_flag = 'U'  AND
    |       p_cust_account_rec.order_type_id <> NVL( l_order_type_id, FND_API.G_MISS_NUM ) ) )
    |  THEN
    |      check_ord_type(
    |            p_column                                => 'order_type_id',
    |            p_column_value                          => p_cust_account_rec.order_type_id,
    |            x_return_status                         => x_return_status );
Line: 1251

   |      AND ( p_create_update_flag = 'C' OR
   |      ( p_create_update_flag = 'U'  AND
   |        p_cust_account_rec.primary_salesrep_id <> NVL( l_primary_salesrep_id, FND_API.G_MISS_NUM ) ) )
   |    THEN
   |        check_prim_salesrep(
   |                      p_column                                => 'primary_salesrep_id',
   |              p_column_value                          => p_cust_account_rec.primary_salesrep_id,
   |               x_return_status                         => x_return_status );
Line: 1295

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.ship_partial <> NVL( l_ship_partial, FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup (
                p_column                                => 'ship_partial',
                p_lookup_type                           => 'YES/NO',
                p_column_value                          => p_cust_account_rec.ship_partial,
                x_return_status                         => x_return_status );
Line: 1328

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.tax_rounding_rule <> NVL( l_tax_rounding_rule, FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup(
                p_column        =>'tax_rounding_rule',
                p_lookup_type   =>'TAX_ROUNDING_RULE',
                p_column_value  =>p_cust_account_rec.tax_rounding_rule,
                x_return_status =>x_return_status  );
Line: 1372

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.customer_class_code <> NVL( l_customer_class_code, FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup(
                p_column        =>'customer_class_code',
                p_lookup_type   =>'CUSTOMER CLASS',
                p_column_value  =>p_cust_account_rec.customer_class_code,
                x_return_status =>x_return_status  );
Line: 1414

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.invoice_quantity_rule <> NVL( l_invoice_quantity_rule, FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup(
                p_column        =>'invoice_quantity_rule',
                p_lookup_table  =>'OE_LOOKUPS',
                p_lookup_type   =>'INVOICE_BASIS',
                p_column_value  =>p_cust_account_rec.invoice_quantity_rule,
                x_return_status =>x_return_status  );
Line: 1459

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.price_list_id <> NVL( l_price_list_id, FND_API.G_MISS_NUM) ) )
        THEN
            check_price_list_fk(
                 p_column                           => 'price_list_id',
                 p_column_value                     => p_cust_account_rec.price_list_id,
                 x_return_status                    => x_return_status );
Line: 1500

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.fob_point <> NVL( l_fob_point, FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup(
                p_column        =>'fob_point',
                p_lookup_type   =>'FOB',
                p_column_value  =>p_cust_account_rec.fob_point,
                x_return_status =>x_return_status  );
Line: 1543

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.item_cross_ref_pref <> NVL( l_item_cross_ref_pref, FND_API.G_MISS_CHAR) ) )
        THEN
            IF p_cust_account_rec.item_cross_ref_pref NOT IN('INT','CUST')
            THEN
                check_item_cross_ref(
                     p_column                           => 'item_cross_ref_pref',
                     p_column_value                     => p_cust_account_rec.item_cross_ref_pref,
                     x_return_status                    => x_return_status );
Line: 1588

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.warehouse_id <> NVL( l_warehouse_id, FND_API.G_MISS_NUM) ) )
        THEN
            check_warehouse(
                 p_column                           => 'warehouse_id',
                 p_column_value                     => p_cust_account_rec.warehouse_id,
                 x_return_status                    => x_return_status );
Line: 1631

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.date_type_preference <> NVL( l_date_type_preference, FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup(
                 p_column               =>'date_type_preference',
                 p_lookup_table         =>'OE_LOOKUPS',
                 p_lookup_type          =>'REQUEST_DATE_TYPE',
                 p_column_value         =>p_cust_account_rec.date_type_preference,
                 x_return_status        =>x_return_status   );
Line: 1851

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.ship_sets_include_lines_flag <> NVL( l_ship_sets_inc_lines_f, FND_API.G_MISS_CHAR) ) )
    THEN
        validate_lookup (
            p_column                                => 'ship_sets_include_lines_flag',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_cust_account_rec.ship_sets_include_lines_flag,
            x_return_status                         => x_return_status );
Line: 1879

IF (p_create_update_flag = 'C' or
   (p_create_update_flag ='U' and
    p_cust_account_rec.ship_sets_include_lines_flag <> NVL(l_ship_sets_inc_lines_f,FND_API.G_MISS_CHAR)))
THEN
   IF p_cust_account_rec.ship_sets_include_lines_flag = 'Y'
   THEN
     BEGIN
       SELECT decode(p_cust_account_rec.ship_sets_include_lines_flag,p_cust_account_rec.arrivalsets_include_lines_flag,
                     'N',l_arrivalsets_inc_lines_f,
                                         decode(p_cust_account_rec.arrivalsets_include_lines_flag,l_ship_sets_inc_lines_f,                                                'Y','N'),'Y')
       INTO l_dummy
       FROM DUAL;
Line: 1939

         AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.arrivalsets_include_lines_flag <> NVL( l_arrivalsets_inc_lines_f, FND_API.G_MISS_CHAR) ) )
    THEN
        validate_lookup (
            p_column                                => 'arrivalsets_include_lines_flag',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_cust_account_rec.arrivalsets_include_lines_flag,
            x_return_status                         => x_return_status );
Line: 1967

IF (p_create_update_flag ='C' or
        (p_create_update_flag ='U' and
         p_cust_account_rec.arrivalsets_include_lines_flag <> NVL(l_arrivalsets_inc_lines_f,FND_API.G_MISS_CHAR)))
THEN
        IF p_cust_account_rec.arrivalsets_include_lines_flag = 'Y'
        THEN
          BEGIN
            SELECT decode(p_cust_account_rec.arrivalsets_include_lines_flag,p_cust_account_rec.ship_sets_include_lines_flag,
                          'N',l_ship_sets_inc_lines_f,
                                        decode(p_cust_account_rec.ship_sets_include_lines_flag,l_arrivalsets_inc_lines_f,
                                               'Y','N'),'Y')
            INTO l_dummy
            FROM DUAL;
Line: 2071

        p_create_update_flag                    => p_create_update_flag,
        p_start_date_column_name                => 'account_established_date',
        p_start_date                            => p_cust_account_rec.account_established_date,
        p_old_start_date                        => l_account_established_date,
        p_end_date_column_name                  => 'account_termination_date',
        p_end_date                              => p_cust_account_rec.account_termination_date,
        p_old_end_date                          => l_account_termination_date,
        x_return_status                         => x_return_status );
Line: 2092

        p_create_update_flag                    => p_create_update_flag,
        p_start_date_column_name                => 'account_established_date',
        p_start_date                            => p_cust_account_rec.account_established_date,
        p_old_start_date                        => l_account_established_date,
        p_end_date_column_name                  => 'account_activation_date',
        p_end_date                              => p_cust_account_rec.account_activation_date,
        p_old_end_date                          => l_account_activation_date,
        x_return_status                         => x_return_status );
Line: 2114

        p_create_update_flag                    => p_create_update_flag,
        p_start_date_column_name                => 'account_activation_date',
        p_start_date                            => p_cust_account_rec.account_activation_date,
        p_old_start_date                        => l_account_activation_date,
        p_end_date_column_name                  => 'account_termination_date',
        p_end_date                              => p_cust_account_rec.account_termination_date,
        p_old_end_date                          => l_account_termination_date,
        x_return_status                         => x_return_status );
Line: 2212

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_account_rec.ship_via <> NVL( l_ship_via, FND_API.G_MISS_CHAR ) ) )
    THEN
        check_oe_ship_methods_v_fk (
            p_entity                                 => 'ACCOUNT',
            p_column                                 => 'ship_via',
            p_column_value                           => p_cust_account_rec.ship_via,
            x_return_status                          => x_return_status );
Line: 2289

      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_cust_account_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 2299

      p_create_update_flag     => p_create_update_flag,
      p_application_id         => p_cust_account_rec.application_id,
      p_old_application_id     => l_application_id,
      x_return_status          => x_return_status);
Line: 2319

 *         non-updateable fields
 *         foreign key validations
 *         other validations
 *
 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
 *
 * ARGUMENTS
 *   IN:
 *     p_create_update_flag           Create update flag. 'C' = create. 'U' = update.
 *     p_cust_account_rec             Customer account relate record.
 *     p_rowid                        Rowid of the record (used only in update mode).
 *   IN/OUT:
 *     x_return_status                Return status after the call. The status can
 *                                    be FND_API.G_RET_STS_SUCCESS (success),
 *                                    FND_API.G_RET_STS_ERROR (error),
 *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
 *
 * NOTES
 *
 * MODIFICATION HISTORY
 *
 *   07-23-2001    Jianying Huang      o Created.
 *   10-04-2003    Rajib Ranjan Borah  o Bug 2985448.Only active relationships will be considered
 *                                       while checking for duplicates.
 *   12-MAY-2005   Rajib Ranjan Borah  o TCA SSA Uptake (Bug 3456489)
 *   12-AUG-2205   Idris Ali           o Bug 4529413:Replaced p_rowid with p_cust_acct_relate_id.
 */

PROCEDURE validate_cust_acct_relate (
    p_create_update_flag                    IN     VARCHAR2,
    p_cust_acct_relate_rec                  IN     HZ_CUST_ACCOUNT_V2PUB.CUST_ACCT_RELATE_REC_TYPE,
    p_cust_acct_relate_id                   IN     NUMBER,      -- Bug 4529413
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_debug_prefix                          VARCHAR2(30) := '';
Line: 2377

    IF p_create_update_flag = 'U' THEN
        SELECT CUSTOMER_RECIPROCAL_FLAG, CREATED_BY_MODULE, APPLICATION_ID,
               RELATIONSHIP_TYPE, STATUS
        INTO l_customer_reciprocal_flag, l_created_by_module, l_application_id,
             l_relationship_type, l_status
        FROM HZ_CUST_ACCT_RELATE_ALL  -- Bug 3456489
        WHERE CUST_ACCT_RELATE_ID = p_cust_acct_relate_id;
Line: 2392

   IF  (p_create_update_flag <> 'U') OR
       (p_cust_acct_relate_rec.cust_acct_relate_id is NULL)  -- Bug 4529413
   THEN
    validate_mandatory (
        p_create_update_flag                    => p_create_update_flag,
        p_column                                => 'cust_account_id',
        p_column_value                          => p_cust_acct_relate_rec.cust_account_id,
        p_restricted                            => 'Y',
        x_return_status                         => x_return_status );
Line: 2413

    IF p_create_update_flag = 'C' AND
       p_cust_acct_relate_rec.cust_account_id IS NOT NULL AND
       p_cust_acct_relate_rec.cust_account_id <> FND_API.G_MISS_NUM
    THEN
        check_cust_account_fk (
            p_column                                 => 'cust_account_id',
            p_column_value                           => p_cust_acct_relate_rec.cust_account_id,
            x_return_status                          => x_return_status );
Line: 2443

   IF  (p_create_update_flag <> 'U') OR
       (p_cust_acct_relate_rec.cust_acct_relate_id is NULL)     -- Bug 4529413
   THEN
    validate_mandatory (
        p_create_update_flag                    => p_create_update_flag,
        p_column                                => 'related_cust_account_id',
        p_column_value                          => p_cust_acct_relate_rec.related_cust_account_id,
        p_restricted                            => 'Y',
        x_return_status                         => x_return_status );
Line: 2464

    IF p_create_update_flag = 'C' AND
       p_cust_acct_relate_rec.related_cust_account_id IS NOT NULL AND
       p_cust_acct_relate_rec.related_cust_account_id <> FND_API.G_MISS_NUM
    THEN
        check_cust_account_fk (
            p_column                                 => 'related_cust_account_id',
            p_column_value                           => p_cust_acct_relate_rec.related_cust_account_id,
            x_return_status                          => x_return_status );
Line: 2485

    IF p_create_update_flag = 'C' THEN
    BEGIN
        SELECT 'Y' INTO l_dummy
        FROM HZ_CUST_ACCT_RELATE_ALL    -- Bug 3456489
        WHERE CUST_ACCOUNT_ID = p_cust_acct_relate_rec.cust_account_id
        AND RELATED_CUST_ACCOUNT_ID = p_cust_acct_relate_rec.related_cust_account_id
        --Bug 2985448
        AND STATUS='A'
        AND ORG_ID = p_cust_acct_relate_rec.org_id; -- Bug 3456489
Line: 2530

    IF p_create_update_flag = 'U' AND
       p_cust_acct_relate_rec.customer_reciprocal_flag IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'customer_reciprocal_flag',
            p_column_value                          => p_cust_acct_relate_rec.customer_reciprocal_flag,
            p_old_column_value                      => l_customer_reciprocal_flag,
            x_return_status                         => x_return_status );
Line: 2540

           hz_utility_v2pub.debug(p_message=>'customer_reciprocal_flag is non-updateable. ' ||
                                 'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 2552

    IF p_create_update_flag = 'C' AND
       p_cust_acct_relate_rec.customer_reciprocal_flag IS NOT NULL AND
       p_cust_acct_relate_rec.customer_reciprocal_flag <> FND_API.G_MISS_CHAR
    THEN
        validate_lookup (
            p_column                                => 'customer_reciprocal_flag',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_cust_acct_relate_rec.customer_reciprocal_flag,
            x_return_status                         => x_return_status );
Line: 2586

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_cust_acct_relate_rec.relationship_type <> NVL( l_relationship_type, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'relationship_type',
            p_lookup_type                           => 'RELATIONSHIP_TYPE',
            p_column_value                          => p_cust_acct_relate_rec.relationship_type,
            x_return_status                         => x_return_status );
Line: 2617

    IF p_create_update_flag = 'U' AND
       p_cust_acct_relate_rec.status IS NOT NULL
    THEN
        validate_cannot_update_to_null (
            p_column                                => 'status',
            p_column_value                          => p_cust_acct_relate_rec.status,
            x_return_status                         => x_return_status );
Line: 2626

           hz_utility_v2pub.debug(p_message=>'status cannot be updated to null. ' ||
                                             'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 2638

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_cust_acct_relate_rec.status <> NVL( l_status, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'status',
            p_lookup_type                           => 'CODE_STATUS',
            p_column_value                          => p_cust_acct_relate_rec.status,
            x_return_status                         => x_return_status );
Line: 2669

      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_cust_acct_relate_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 2679

      p_create_update_flag     => p_create_update_flag,
      p_application_id         => p_cust_acct_relate_rec.application_id,
      p_old_application_id     => l_application_id,
      x_return_status          => x_return_status);
Line: 2702

 *         non-updateable fields
 *         foreign key validations
 *         other validations
 *
 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
 *
 * ARGUMENTS
 *   IN:
 *     p_create_update_flag           Create update flag. 'C' = create. 'U' = update.
 *     p_customer_profile_rec         Customer profile record.
 *     p_rowid                        Rowid of the record (used only in update mode).
 *   IN/OUT:
 *     x_return_status                Return status after the call. The status can
 *                                    be FND_API.G_RET_STS_SUCCESS (success),
 *                                    FND_API.G_RET_STS_ERROR (error),
 *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
 *
 * NOTES
 *
 * MODIFICATION HISTORY
 *
 *   07-23-2001    Jianying Huang      o Created.
 *   11-08-2001    P.Suresh            * Bug No : 1999532. Added validations as present in
 *                                       customer standard form and interface.
 *   12-05-2001    P.Suresh            * Bug No : 2125994. Commented the mandatory check
 *                                       on charge_on_finance_charge_flag when interest
 *                                       charge is 'Y'.
 *   16-09-2002    P.Suresh            * Bug No : 2441092. Added a condition that the
 *                                       discount_terms should be 'Y' when defaulting the
 *                                       discount_grace_days from the hz_cust_profile_classes.
 *   05-30-2003   Ramesh Ch            * Bug No : 2884220. Added a condition that the
 *                                       interest_charges should be 'Y' when initializing
 *                                       the interest_period_days from the hz_cust_profile_classes.
 *  06-23-2003  Ramesh Ch                Bug No : 2884220. Added a condition that the dunning_letters,send_statements
 *                                       should be 'Y' when initializing the dunning_letter_set_id,statement_cycle_id resp
 *                                       from the hz_cust_profile_classes.
 *
 */

PROCEDURE validate_customer_profile (
    p_create_update_flag                    IN     VARCHAR2,
    p_customer_profile_rec                  IN     HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE,
    p_rowid                                 IN     ROWID,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_debug_prefix                          VARCHAR2(30) := ''; -- 'validate_customer_profile'
Line: 2828

    IF p_create_update_flag = 'U'
    THEN

        SELECT CUST_ACCOUNT_ID, SITE_USE_ID, CREATED_BY_MODULE, APPLICATION_ID,
               CREDIT_RATING, RISK_CODE, STATUS,DISCOUNT_TERMS,
               DISCOUNT_GRACE_DAYS,DUNNING_LETTERS,DUNNING_LETTER_SET_ID,
               SEND_STATEMENTS,STATEMENT_CYCLE_ID,CREDIT_BALANCE_STATEMENTS,
               INTEREST_CHARGES,CHARGE_ON_FINANCE_CHARGE_FLAG,
               INTEREST_PERIOD_DAYS,ACCOUNT_STATUS,TOLERANCE,PERCENT_COLLECTABLE,
               STANDARD_TERMS,OVERRIDE_TERMS,LOCKBOX_MATCHING_OPTION,
               AUTOCASH_HIERARCHY_ID,AUTOCASH_HIERARCHY_ID_FOR_ADR,
               CLEARING_DAYS,PAYMENT_GRACE_DAYS,GROUPING_RULE_ID,
               TAX_PRINTING_OPTION,
               REVIEW_CYCLE,LAST_CREDIT_REVIEW_DATE,NEXT_CREDIT_REVIEW_DATE,PARTY_ID,
               CREDIT_CLASSIFICATION, LATE_CHARGE_CALCULATION_TRX, CREDIT_ITEMS_FLAG,
               DISPUTED_TRANSACTIONS_FLAG, LATE_CHARGE_TYPE, LATE_CHARGE_TERM_ID,
               INTEREST_CALCULATION_PERIOD, HOLD_CHARGED_INVOICES_FLAG, MESSAGE_TEXT_ID,
               MULTIPLE_INTEREST_RATES_FLAG, CHARGE_BEGIN_DATE
        INTO l_cust_account_id, l_site_use_id, l_created_by_module, l_application_id,
             l_credit_rating, l_risk_code, l_status,l_discount_terms,
             l_discount_grace_days,l_dunning_letters,l_dunning_letter_set_id,
             l_send_statements,l_statement_cycle_id,l_credit_balance_statements,
             l_interest_charges,l_finance_charge_flag,
             l_interest_period_days,l_account_status,l_tolerance,l_percent_collectable,
             l_standard_terms,l_override_terms,l_lockbox_matching_option,
             l_autocash_hierarchy_id,l_autocash_hierarchy_id_for_ad,
             l_clearing_days,l_payment_grace_days,l_grouping_rule_id,
             l_tax_printing_option,
             l_review_cycle,l_last_credit_review_date,l_next_credit_review_date,l_party_id,
             l_credit_classification, l_late_charge_calculation_trx, l_credit_items_flag,
             l_disputed_transactions_flag, l_late_charge_type, l_late_charge_term_id,
             l_interest_calculation_period, l_hold_charged_invoices_flag, l_message_text_id,
             l_multiple_interest_rates_flag, l_charge_begin_date
        FROM HZ_CUSTOMER_PROFILES
        WHERE ROWID = p_rowid;
Line: 2870

    IF p_create_update_flag = 'C' THEN

        -- If primary key value is passed, check for uniqueness.
        -- If primary key value is not passed, it will be generated
        -- from sequence by table handler.

        IF p_customer_profile_rec.cust_account_profile_id IS NOT NULL AND
           p_customer_profile_rec.cust_account_profile_id <> FND_API.G_MISS_NUM
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM   HZ_CUSTOMER_PROFILES
            WHERE  CUST_ACCOUNT_PROFILE_ID = p_customer_profile_rec.cust_account_profile_id;
Line: 2933

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'cust_account_id',
            p_column_value                          => p_customer_profile_rec.cust_account_id,
            x_return_status                         => x_return_status );
Line: 2950

    IF p_create_update_flag = 'C'
    THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'party_id',
            p_column_value                          => p_customer_profile_rec.party_id,
            x_return_status                         => x_return_status );
Line: 2968

    IF p_create_update_flag = 'U' AND
       p_customer_profile_rec.cust_account_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'cust_account_id',
            p_column_value                          => p_customer_profile_rec.cust_account_id,
            p_old_column_value                      => l_cust_account_id,
            x_return_status                         => x_return_status );
Line: 2978

           hz_utility_v2pub.debug(p_message=>'cust_account_id is non-updateable. ' ||
                                                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 2989

    IF p_create_update_flag = 'U' AND
       p_customer_profile_rec.party_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'party_id',
            p_column_value                          => p_customer_profile_rec.party_id,
            p_old_column_value                      => l_party_id,
            x_return_status                         => x_return_status );
Line: 2999

           hz_utility_v2pub.debug(p_message=>'cust_account_id is non-updateable. ' ||
                                        'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 3012

    IF p_create_update_flag = 'C' AND
       p_customer_profile_rec.cust_account_id IS NOT NULL AND
       p_customer_profile_rec.cust_account_id <> FND_API.G_MISS_NUM
    THEN
        check_cust_account_fk (
            p_column                                 => 'cust_account_id',
            p_column_value                           => p_customer_profile_rec.cust_account_id,
            x_return_status                          => x_return_status );
Line: 3040

    IF p_create_update_flag = 'C' AND
       ( p_customer_profile_rec.site_use_id IS NULL OR
         p_customer_profile_rec.site_use_id = FND_API.G_MISS_NUM ) AND
       p_customer_profile_rec.cust_account_id <> -1
    THEN
      BEGIN
          SELECT 'Y' INTO l_dummy
          FROM HZ_CUSTOMER_PROFILES
          WHERE CUST_ACCOUNT_ID = p_customer_profile_rec.cust_account_id
          AND SITE_USE_ID IS NULL
          AND ROWNUM = 1;
Line: 3070

    ELSIF p_create_update_flag = 'C' AND
         ( p_customer_profile_rec.site_use_id IS NULL OR
           p_customer_profile_rec.site_use_id = FND_API.G_MISS_NUM ) AND
          p_customer_profile_rec.cust_account_id = -1
    THEN
      -- 2310474 in this case we are creating a customer profile for party
      -- One party can only have 1 and only 1 profile directly attachment to the party
      -- At party level
      BEGIN
         SELECT 'Y' INTO l_dummy
         FROM HZ_CUSTOMER_PROFILES
         WHERE PARTY_ID = p_customer_profile_rec.party_id
         AND CUST_ACCOUNT_ID = -1;
Line: 3122

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.review_cycle <> NVL( l_review_cycle, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'review_cycle',
            p_lookup_table                          => 'AR_LOOKUPS',
            p_lookup_type                           => 'PERIODIC_REVIEW_CYCLE',
            p_column_value                          => p_customer_profile_rec.review_cycle,
            x_return_status                         => x_return_status );
Line: 3275

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.discount_terms <> NVL( l_discount_terms, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'discount_terms',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_customer_profile_rec.discount_terms,
            x_return_status                         => x_return_status );
Line: 3342

            SELECT STATUS, NAME INTO l_class_status, l_profile_class_name
            FROM HZ_CUST_PROFILE_CLASSES
            WHERE PROFILE_CLASS_ID = p_customer_profile_rec.profile_class_id;
Line: 3373

    IF p_create_update_flag = 'U' AND
       p_customer_profile_rec.profile_class_id IS NOT NULL
    THEN
        validate_cannot_update_to_null (
            p_column                                => 'profile_class_id',
            p_column_value                          => p_customer_profile_rec.profile_class_id,
            x_return_status                         => x_return_status );
Line: 3383

           hz_utility_v2pub.debug(p_message=>'profile_class_id cannot be updated to null. ' ||
                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 3404

    IF p_create_update_flag = 'U' AND
       p_customer_profile_rec.site_use_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'site_use_id',
            p_column_value                          => p_customer_profile_rec.site_use_id,
            p_old_column_value                      => l_site_use_id,
            x_return_status                         => x_return_status );
Line: 3415

           hz_utility_v2pub.debug(p_message=>'site_use_id is non-updateable. ' ||
                                         'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 3435

    IF p_create_update_flag = 'C' AND
       p_customer_profile_rec.site_use_id IS NOT NULL AND
       p_customer_profile_rec.site_use_id <> FND_API.G_MISS_NUM AND
       p_customer_profile_rec.cust_account_id <> -1
    THEN
        BEGIN

            SELECT CUST_ACCT_SITE_ID,SITE_USE_CODE,ORG_ID
            INTO l_cust_acct_site_id,l_cust_acct_site_use_code,l_org_id
            FROM HZ_CUST_SITE_USES_ALL
            WHERE SITE_USE_ID = p_customer_profile_rec.site_use_id;
Line: 3457

            SELECT CUST_ACCOUNT_ID INTO l_cust_account_id
            FROM HZ_CUST_ACCT_SITES_ALL
            WHERE CUST_ACCT_SITE_ID = l_cust_acct_site_id;
Line: 3493

            SELECT 'Y' INTO l_dummy
            FROM HZ_CUSTOMER_PROFILES
            WHERE CUST_ACCOUNT_ID = p_customer_profile_rec.cust_account_id
            AND SITE_USE_ID = p_customer_profile_rec.site_use_id
            AND ROWNUM = 1;
Line: 3518

    ELSIF p_create_update_flag = 'C' AND
          p_customer_profile_rec.site_use_id IS NOT NULL AND
          p_customer_profile_rec.site_use_id <> FND_API.G_MISS_NUM AND
          p_customer_profile_rec.cust_account_id = -1
    THEN
          FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NO_SITE_PROF_AT_PTY_LEV' );
Line: 3563

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_customer_profile_rec.credit_rating <> NVL( l_credit_rating, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'credit_rating',
            p_lookup_type                           => 'CREDIT_RATING',
            p_column_value                          => p_customer_profile_rec.credit_rating,
            x_return_status                         => x_return_status );
Line: 3598

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_customer_profile_rec.risk_code <> NVL( l_risk_code, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'risk_code',
            p_lookup_type                           => 'RISK_CODE',
            p_column_value                          => p_customer_profile_rec.risk_code,
            x_return_status                         => x_return_status );
Line: 3752

            p_create_update_flag         => p_create_update_flag,
            p_customer_profile_rec       => p_customer_profile_rec,
            x_return_status              => x_return_status );
Line: 3769

    IF p_create_update_flag = 'U' AND
       p_customer_profile_rec.status IS NOT NULL
    THEN
        validate_cannot_update_to_null (
            p_column                                => 'status',
            p_column_value                          => p_customer_profile_rec.status,
            x_return_status                         => x_return_status );
Line: 3778

           hz_utility_v2pub.debug(p_message=>'status cannot be updated to null. ' ||
                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 3791

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_customer_profile_rec.status <> NVL( l_status, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'status',
            p_lookup_type                           => 'CODE_STATUS',
            p_column_value                          => p_customer_profile_rec.status,
            x_return_status                         => x_return_status );
Line: 3846

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.dunning_letters <> NVL( l_dunning_letters, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'dunning_letters',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_customer_profile_rec.dunning_letters,
            x_return_status                         => x_return_status );
Line: 3901

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.interest_charges <> NVL( l_interest_charges, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'interest_charges',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_customer_profile_rec.interest_charges,
            x_return_status                         => x_return_status );
Line: 3958

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.send_statements <> NVL( l_send_statements, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'send_statements',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_customer_profile_rec.send_statements,
            x_return_status                         => x_return_status );
Line: 4100

      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_customer_profile_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 4110

      p_create_update_flag     => p_create_update_flag,
      p_application_id         => p_customer_profile_rec.application_id,
      p_old_application_id     => l_application_id,
      x_return_status          => x_return_status);
Line: 4122

          SELECT * INTO l_profile_class_rec
          FROM     HZ_CUST_PROFILE_CLASSES
          WHERE    PROFILE_CLASS_ID = p_customer_profile_rec.profile_class_id;
Line: 4133

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.account_status <> NVL( l_account_status, FND_API.G_MISS_CHAR ) ) )
   THEN
        validate_lookup (
            p_column                   => 'account_status',
            p_lookup_type              => 'ACCOUNT_STATUS',
            p_column_value             => p_customer_profile_rec.account_status,
            x_return_status            => x_return_status );
Line: 4165

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.tolerance <> NVL( l_tolerance, FND_API.G_MISS_NUM ) ) )
   THEN
       IF p_customer_profile_rec.tolerance > 100  OR
          p_customer_profile_rec.tolerance < -100
       THEN
            FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_VALUE_BETWEEN' );
Line: 4201

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.percent_collectable <> NVL( l_percent_collectable, FND_API.G_MISS_NUM ) ) )
   THEN
       IF p_customer_profile_rec.percent_collectable > 100 OR
          p_customer_profile_rec.percent_collectable < 0
       THEN
            FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_VALUE_BETWEEN' );
Line: 4239

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.override_terms <> NVL( l_override_terms, FND_API.G_MISS_CHAR) ) )
    THEN
        validate_lookup (
            p_column                   => 'override_terms',
            p_lookup_type              => 'YES/NO',
            p_column_value             => p_customer_profile_rec.override_terms,
            x_return_status            => x_return_status );
Line: 4272

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.lockbox_matching_option <> NVL( l_lockbox_matching_option, FND_API.G_MISS_CHAR) ) )
     THEN
        validate_lookup (
            p_column          => 'lockbox_matching_option',
            p_lookup_type     => 'ARLPLB_MATCHING_OPTION',
            p_column_value    => p_customer_profile_rec.lockbox_matching_option,
            x_return_status   => x_return_status );
Line: 4305

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.autocash_hierarchy_id <> NVL( l_autocash_hierarchy_id, FND_API.G_MISS_NUM) ) )
    THEN
        check_auto_hierid_fk (
           p_column             => 'autocash_hierarchy_id',
           p_column_value       => p_customer_profile_rec.autocash_hierarchy_id,
           x_return_status      => x_return_status );
Line: 4337

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.autocash_hierarchy_id_for_adr<> NVL( l_autocash_hierarchy_id_for_ad, FND_API.G_MISS_NUM) ) )
   THEN
     check_auto_hierid_fk (
        p_column       => 'autocash_hierarchy_id_for_adr',
        p_column_value => p_customer_profile_rec.autocash_hierarchy_id_for_adr,
        x_return_status=> x_return_status );
Line: 4368

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.statement_cycle_id <> NVL( l_statement_cycle_id, FND_API.G_MISS_NUM) ) )
     THEN
          check_stat_cycid_fk (
           p_column             => 'statement_cycle_id',
           p_column_value       => p_customer_profile_rec.statement_cycle_id,
           x_return_status      => x_return_status );
Line: 4400

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.clearing_days <> NVL( l_clearing_days, FND_API.G_MISS_NUM) ) )
   THEN
     -- Error
       check_positive_value (
           p_column             => 'clearing_days',
           p_column_value       => p_customer_profile_rec.clearing_days,
           x_return_status      => x_return_status );
Line: 4431

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.payment_grace_days <> NVL( l_payment_grace_days, FND_API.G_MISS_NUM) ) )
   THEN
       check_positive_value (
           p_column             => 'payment_grace_days',
           p_column_value       => p_customer_profile_rec.payment_grace_days,
           x_return_status      => x_return_status );
Line: 4529

        AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
         p_customer_profile_rec.tax_printing_option <> NVL( l_tax_printing_option, FND_API.G_MISS_CHAR ) ))
     THEN
        validate_lookup (
            p_column          => 'tax_printing_option',
            p_lookup_type     => 'TAX_PRINTING_OPTION',
            p_column_value    => p_customer_profile_rec.tax_printing_option,
            x_return_status   => x_return_status );
Line: 4562

        AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
         p_customer_profile_rec.standard_terms <> NVL( l_standard_terms, FND_API.G_MISS_NUM ) ))
 THEN
    l_ckeck_acc_bfb_enabled := 'N';
Line: 4574

        and p_create_update_flag = 'U' )then
      l_ckeck_acc_bfb_enabled := 'Y';
Line: 4578

          select cons_inv_flag
          into   ll_cons_inv_flag
          from   hz_customer_profiles
          where  cust_account_id = p_customer_profile_rec.cust_account_id
          and    site_use_id is NULL;
Line: 4600

          select cons_inv_flag
          into   ll_cons_inv_flag
          from   hz_customer_profiles
          where  cust_account_id = p_customer_profile_rec.cust_account_id
          and    site_use_id is NULL;
Line: 4647

        AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
         p_customer_profile_rec.grouping_rule_id <> NVL( l_grouping_rule_id, FND_API.G_MISS_NUM ) ))

 THEN
     check_grouping_ruleid_fk (
           p_column             => 'grouping_rule_id',
           p_column_value       => p_customer_profile_rec.grouping_rule_id,
           x_return_status      => x_return_status );
Line: 4678

        AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
         p_customer_profile_rec.discount_grace_days <> NVL( l_discount_grace_days, FND_API.G_MISS_NUM ) ))
THEN
    check_positive_value (
           p_column             => 'discount_grace_days',
           p_column_value       => v_customer_profile_rec.discount_grace_days,
           x_return_status      => x_return_status );
Line: 4696

IF p_create_update_flag = 'C' OR
   (p_create_update_flag = 'U' AND
   v_customer_profile_rec.profile_class_id IS NOT NULL AND
   v_customer_profile_rec.profile_class_id <> FND_API.G_MISS_NUM)
THEN

   IF v_customer_profile_rec.discount_terms IS  NULL THEN
      v_customer_profile_rec.discount_terms :=
      l_profile_class_rec.discount_terms;
Line: 4716

IF p_create_update_flag = 'U' AND
   v_customer_profile_rec.profile_class_id  IS NULL THEN
   IF v_customer_profile_rec.discount_terms IS NULL
   THEN
      v_customer_profile_rec.discount_terms := l_discount_terms;
Line: 4764

IF p_create_update_flag = 'C' OR
   (p_create_update_flag = 'U' AND
   v_customer_profile_rec.profile_class_id IS NOT NULL AND
   v_customer_profile_rec.profile_class_id <> FND_API.G_MISS_NUM)
THEN
   IF v_customer_profile_rec.dunning_letters IS NULL THEN
      v_customer_profile_rec.dunning_letters :=
      l_profile_class_rec.dunning_letters;
Line: 4784

IF p_create_update_flag = 'U' AND
   v_customer_profile_rec.profile_class_id IS NULL
THEN
   IF v_customer_profile_rec.dunning_letters IS NULL THEN
      v_customer_profile_rec.dunning_letters := l_dunning_letters;
Line: 4854

IF p_create_update_flag = 'C' OR
   ( p_create_update_flag = 'U' AND
   v_customer_profile_rec.profile_class_id is not null AND
   v_customer_profile_rec.profile_class_id <> FND_API.G_MISS_NUM )
THEN

   IF v_customer_profile_rec.send_statements IS  NULL   THEN
      v_customer_profile_rec.send_statements :=
      l_profile_class_rec.statements;
Line: 4885

IF p_create_update_flag = 'U' AND
   v_customer_profile_rec.profile_class_id is null
THEN
   IF v_customer_profile_rec.send_statements IS NULL   THEN
      v_customer_profile_rec.send_statements := l_send_statements;
Line: 4993

IF p_create_update_flag = 'C' OR
   ( p_create_update_flag = 'U' AND
     v_customer_profile_rec.profile_class_id is not null AND
     v_customer_profile_rec.profile_class_id <> FND_API.G_MISS_NUM )
THEN

   IF v_customer_profile_rec.interest_charges  IS NULL   THEN
      v_customer_profile_rec.interest_charges :=
      l_profile_class_rec.interest_charges;
Line: 5024

IF p_create_update_flag = 'U' AND
   v_customer_profile_rec.profile_class_id is null
THEN
   IF v_customer_profile_rec.interest_charges  IS NULL  THEN
      v_customer_profile_rec.interest_charges := l_interest_charges;
Line: 5065

            p_create_update_flag     => p_create_update_flag,
            p_column                 => 'charge_on_finance_charge_flag',
            p_column_value           => v_customer_profile_rec.charge_on_finance_charge_flag,
            x_return_status          => x_return_status );
Line: 5138

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.credit_classification <> NVL( l_credit_classification, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'credit_classification',
            p_lookup_table                          => 'AR_LOOKUPS',
            p_lookup_type                           => 'AR_CMGT_CREDIT_CLASSIFICATION',
            p_column_value                          => p_customer_profile_rec.credit_classification,
            x_return_status                         => x_return_status );
Line: 5176

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_customer_profile_rec.late_charge_calculation_trx <> NVL( l_late_charge_calculation_trx, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'late_charge_calculation_trx',
            p_lookup_type                           => 'AR_MANDATORY_LATE_CHARGES',
            p_column_value                          => p_customer_profile_rec.late_charge_calculation_trx,
            x_return_status                         => x_return_status );
Line: 5209

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.credit_items_flag <> NVL( l_credit_items_flag, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'credit_items_flag',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_customer_profile_rec.credit_items_flag,
            x_return_status                         => x_return_status );
Line: 5243

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.disputed_transactions_flag <> NVL( l_disputed_transactions_flag, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'disputed_transactions_flag',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_customer_profile_rec.disputed_transactions_flag,
            x_return_status                         => x_return_status );
Line: 5277

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_customer_profile_rec.late_charge_type <> NVL( l_late_charge_type, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'late_charge_type',
            p_lookup_type                           => 'AR_LATE_CHARGE_TYPE',
            p_column_value                          => p_customer_profile_rec.late_charge_type,
            x_return_status                         => x_return_status );
Line: 5310

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_customer_profile_rec.interest_calculation_period <> NVL( l_interest_calculation_period, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'interest_calculation_period',
            p_lookup_type                           => 'AR_CALCULATION_PERIOD',
            p_column_value                          => p_customer_profile_rec.interest_calculation_period,
            x_return_status                         => x_return_status );
Line: 5343

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.hold_charged_invoices_flag <> NVL( l_hold_charged_invoices_flag, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'hold_charged_invoices_flag',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_customer_profile_rec.hold_charged_invoices_flag,
            x_return_status                         => x_return_status );
Line: 5377

       AND ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_customer_profile_rec.multiple_interest_rates_flag <> NVL( l_multiple_interest_rates_flag, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'multiple_interest_rates_flag',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_customer_profile_rec.multiple_interest_rates_flag,
            x_return_status                         => x_return_status );
Line: 5424

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_customer_profile_rec.late_charge_term_id <> NVL( l_late_charge_term_id, FND_API.G_MISS_NUM ) ) )
        THEN
            check_late_charge_term_id_fk(
                    p_column                                => 'payment_term_id',
                    p_column_value                          => p_customer_profile_rec.late_charge_term_id,
                    p_cons_inv_flag                         => p_customer_profile_rec.cons_inv_flag,
                    x_return_status                         => x_return_status );
Line: 5467

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_customer_profile_rec.message_text_id <> NVL( l_message_text_id, FND_API.G_MISS_NUM ) ) )
        THEN

            check_message_text_id_fk(
                    p_column                                => 'message_text_id',
                    p_column_value                          => p_customer_profile_rec.message_text_id,
                    x_return_status                         => x_return_status );
Line: 5506

 *         non-updateable fields
 *         foreign key validations
 *         other validations
 *
 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
 *
 * ARGUMENTS
 *   IN:
 *     p_create_update_flag           Create update flag. 'C' = create. 'U' = update.
 *     p_check_foreign_key            If do foreign key checking on cust_account_id
 *                                    and cust_account_profile_id or not.
 *     p_cust_profile_amt_rec         Customer profile amount record.
 *     p_rowid                        Rowid of the record (used only in update mode).
 *   IN/OUT:
 *     x_return_status                Return status after the call. The status can
 *                                    be FND_API.G_RET_STS_SUCCESS (success),
 *                                    FND_API.G_RET_STS_ERROR (error),
 *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
 *
 * NOTES
 *
 * MODIFICATION HISTORY
 *
 *   07-23-2001    Jianying Huang      o Created.
 *   11-08-2001    P.Suresh            * Bug Fix : 2001573. Validated overall_credit_limit.
 *                                       It should be greater or equal to trx_credit_limit.
 *
 */

PROCEDURE validate_cust_profile_amt (
    p_create_update_flag                    IN     VARCHAR2,
    p_check_foreign_key                     IN     VARCHAR2,
    p_cust_profile_amt_rec                  IN     HZ_CUSTOMER_PROFILE_V2PUB.CUST_PROFILE_AMT_REC_TYPE,
    p_rowid                                 IN     ROWID,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_debug_prefix                          VARCHAR2(30) := ''; -- 'validate_cust_profile_amt'
Line: 5592

    IF p_create_update_flag = 'U' THEN
        SELECT CUST_ACCOUNT_ID, SITE_USE_ID,
               CUST_ACCOUNT_PROFILE_ID, CURRENCY_CODE,
               CREATED_BY_MODULE, APPLICATION_ID,
               OVERALL_CREDIT_LIMIT,TRX_CREDIT_LIMIT,
               MIN_FC_INVOICE_OVERDUE_TYPE, MIN_FC_BALANCE_OVERDUE_TYPE,
               INTEREST_TYPE, PENALTY_TYPE, EXCHANGE_RATE_TYPE,
               MIN_FC_INVOICE_AMOUNT, MIN_FC_INVOICE_PERCENT,
               MIN_FC_BALANCE_AMOUNT, MIN_FC_BALANCE_PERCENT,
               INTEREST_RATE, INTEREST_FIXED_AMOUNT, INTEREST_SCHEDULE_ID,
               PENALTY_RATE, PENALTY_FIXED_AMOUNT, PENALTY_SCHEDULE_ID
        INTO l_cust_account_id, l_site_use_id,
             l_cust_account_profile_id, l_currency_code,
             l_created_by_module, l_application_id,
             l_overall_credit_limit,l_trx_credit_limit,
             l_min_fc_invoice_overdue_type, l_min_fc_balance_overdue_type,
             l_interest_type, l_penalty_type, l_exchange_rate_type,
             l_min_fc_invoice_amount, l_min_fc_invoice_percent,
             l_min_fc_balance_amount, l_min_fc_balance_percent,
             l_interest_rate, l_interest_fixed_amount, l_interest_schedule_id,
             l_penalty_rate, l_penalty_fixed_amount, l_penalty_schedule_id
        FROM HZ_CUST_PROFILE_AMTS
        WHERE ROWID = p_rowid;
Line: 5622

    IF p_create_update_flag = 'C' THEN

        -- If primary key value is passed, check for uniqueness.
        -- If primary key value is not passed, it will be generated
        -- from sequence by table handler.

        IF p_cust_profile_amt_rec.cust_acct_profile_amt_id IS NOT NULL AND
           p_cust_profile_amt_rec.cust_acct_profile_amt_id <> FND_API.G_MISS_NUM
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_PROFILE_AMTS
            WHERE CUST_ACCT_PROFILE_AMT_ID = p_cust_profile_amt_rec.cust_acct_profile_amt_id;
Line: 5671

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'cust_account_profile_id',
            p_column_value                          => p_cust_profile_amt_rec.cust_account_profile_id,
            x_return_status                         => x_return_status );
Line: 5687

    IF p_create_update_flag = 'U' AND
       p_cust_profile_amt_rec.cust_account_profile_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'cust_account_profile_id',
            p_column_value                          => p_cust_profile_amt_rec.cust_account_profile_id,
            p_old_column_value                      => l_cust_account_profile_id,
            x_return_status                         => x_return_status );
Line: 5697

           hz_utility_v2pub.debug(p_message=>'cust_account_profile_id is non-updateable. ' ||
                                  'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 5716

    IF p_create_update_flag = 'C' AND
       p_check_foreign_key = FND_API.G_TRUE AND
       p_cust_profile_amt_rec.cust_account_profile_id IS NOT NULL AND
       p_cust_profile_amt_rec.cust_account_profile_id <> FND_API.G_MISS_NUM
    THEN
    BEGIN
        -- select cust_account_id, site_use_id for later cross reference checking
        --  Bug 4770111 : select created_by_module also

        SELECT CUST_ACCOUNT_ID, SITE_USE_ID, CREATED_BY_MODULE
        INTO l_cust_account_id, l_site_use_id, l_prof_cbm
        FROM HZ_CUSTOMER_PROFILES
        WHERE CUST_ACCOUNT_PROFILE_ID = p_cust_profile_amt_rec.cust_account_profile_id;
Line: 5766

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'cust_account_id',
            p_column_value                          => p_cust_profile_amt_rec.cust_account_id,
            x_return_status                         => x_return_status );
Line: 5782

    IF p_create_update_flag = 'U' AND
       p_cust_profile_amt_rec.cust_account_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'cust_account_id',
            p_column_value                          => p_cust_profile_amt_rec.cust_account_id,
            p_old_column_value                      => l_cust_account_id,
            x_return_status                         => x_return_status );
Line: 5792

           hz_utility_v2pub.debug(p_message=>'cust_account_id is non-updateable. ' ||
                                                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 5810

    IF p_create_update_flag = 'C' AND
       p_check_foreign_key = FND_API.G_TRUE AND
       p_cust_profile_amt_rec.cust_account_id IS NOT NULL AND
       p_cust_profile_amt_rec.cust_account_id <> FND_API.G_MISS_NUM
    THEN
        check_cust_account_fk (
            p_column                                 => 'cust_account_id',
            p_column_value                           => p_cust_profile_amt_rec.cust_account_id,
            x_return_status                          => x_return_status );
Line: 5861

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'currency_code',
            p_column_value                          => p_cust_profile_amt_rec.currency_code,
            x_return_status                         => x_return_status );
Line: 5877

    IF p_create_update_flag = 'U' AND
       p_cust_profile_amt_rec.currency_code IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'currency_code',
            p_column_value                          => p_cust_profile_amt_rec.currency_code,
            p_old_column_value                      => l_currency_code,
            x_return_status                         => x_return_status );
Line: 5887

            hz_utility_v2pub.debug(p_message=>'currency_code is non-updateable. ' ||
                                                 'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 5898

    IF p_create_update_flag = 'C' AND
       p_cust_profile_amt_rec.currency_code IS NOT NULL AND
       p_cust_profile_amt_rec.currency_code <> FND_API.G_MISS_CHAR
    THEN
        check_currency_fk (
            p_column                                => 'currency_code',
            p_column_value                          => p_cust_profile_amt_rec.currency_code,
            x_return_status                         => x_return_status );
Line: 5921

    IF p_create_update_flag = 'C' THEN
    BEGIN
        SELECT 'Y' INTO l_dummy
        FROM HZ_CUST_PROFILE_AMTS
        WHERE CUST_ACCOUNT_PROFILE_ID = p_cust_profile_amt_rec.cust_account_profile_id
        AND CURRENCY_CODE = p_cust_profile_amt_rec.currency_code
        AND ROWNUM = 1;
Line: 5959

    IF p_create_update_flag = 'U' AND
       p_cust_profile_amt_rec.site_use_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'site_use_id',
            p_column_value                          => p_cust_profile_amt_rec.site_use_id,
            p_old_column_value                      => l_site_use_id,
            x_return_status                         => x_return_status );
Line: 5969

           hz_utility_v2pub.debug(p_message=>'site_use_id is non-updateable. ' ||
                                             'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 5980

    IF p_create_update_flag = 'C' AND
       p_check_foreign_key = FND_API.G_TRUE
    THEN
        IF p_cust_profile_amt_rec.site_use_id IS NOT NULL AND
           p_cust_profile_amt_rec.site_use_id <> FND_API.G_MISS_NUM
        THEN
            check_cust_site_use_fk (
                p_column                                 => 'site_use_id',
                p_column_value                           => p_cust_profile_amt_rec.site_use_id,
                x_return_status                          => x_return_status );
Line: 6036

    IF p_create_update_flag = 'C' THEN
      IF p_cust_profile_amt_rec.created_by_module <> nvl(l_prof_cbm, 'TCA_V2_API') THEN
      validate_created_by_module(
      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_cust_profile_amt_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 6046

      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_cust_profile_amt_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 6057

      p_create_update_flag     => p_create_update_flag,
      p_application_id         => p_cust_profile_amt_rec.application_id,
      p_old_application_id     => l_application_id,
      x_return_status          => x_return_status);
Line: 6073

        IF ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            (
             (p_cust_profile_amt_rec.overall_credit_limit <> NVL( l_overall_credit_limit, FND_API.G_MISS_NUM ))
             OR
             (p_cust_profile_amt_rec.trx_credit_limit <> NVL(l_trx_credit_limit,FND_API.G_MISS_NUM))
            )
           )
           )
        THEN
           IF p_cust_profile_amt_rec.overall_credit_limit < p_cust_profile_amt_rec.trx_credit_limit
           THEN
              FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_VAL_OVERALL_CREDIT' );
Line: 6113

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_cust_profile_amt_rec.min_fc_invoice_overdue_type <> NVL( l_min_fc_invoice_overdue_type, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'min_fc_invoice_overdue_type',
            p_lookup_table                          => 'AR_LOOKUPS',
            p_lookup_type                           => 'AR_AMOUNT_PERCENT',
            p_column_value                          => p_cust_profile_amt_rec.min_fc_invoice_overdue_type,
            x_return_status                         => x_return_status );
Line: 6147

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_cust_profile_amt_rec.min_fc_balance_overdue_type <> NVL( l_min_fc_balance_overdue_type, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'min_fc_balance_overdue_type',
            p_lookup_table                          => 'AR_LOOKUPS',
            p_lookup_type                           => 'AR_AMOUNT_PERCENT',
            p_column_value                          => p_cust_profile_amt_rec.min_fc_balance_overdue_type,
            x_return_status                         => x_return_status );
Line: 6181

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_cust_profile_amt_rec.interest_type <> NVL( l_interest_type, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'interest_type',
            p_lookup_table                          => 'AR_LOOKUPS',
            p_lookup_type                           => 'AR_INTEREST_PENALTY_TYPE',
            p_column_value                          => p_cust_profile_amt_rec.interest_type,
            x_return_status                         => x_return_status );
Line: 6215

        ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_cust_profile_amt_rec.penalty_type <> NVL( l_penalty_type, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'penalty_type',
            p_lookup_table                          => 'AR_LOOKUPS',
            p_lookup_type                           => 'AR_INTEREST_PENALTY_TYPE',
            p_column_value                          => p_cust_profile_amt_rec.penalty_type,
            x_return_status                         => x_return_status );
Line: 6258

      AND ( p_create_update_flag = 'C' OR
          ( p_create_update_flag = 'U'  AND
            p_cust_profile_amt_rec.exchange_rate_type <> NVL( l_exchange_rate_type, FND_API.G_MISS_CHAR ) ) )
    THEN

        check_exchange_rate_type_fk(
                p_column                                => 'exchange_rate_type',
                p_column_value                          => p_cust_profile_amt_rec.exchange_rate_type,
                x_return_status                         => x_return_status );
Line: 6295

    IF p_create_update_flag = 'U' THEN
       IF p_cust_profile_amt_rec.min_fc_invoice_overdue_type is NULL THEN
          v_cust_profile_amt_rec.min_fc_invoice_overdue_type := l_min_fc_invoice_overdue_type;
Line: 6311

    IF p_create_update_flag = 'C' THEN
       IF p_cust_profile_amt_rec.min_fc_invoice_overdue_type = FND_API.G_MISS_CHAR THEN
          v_cust_profile_amt_rec.min_fc_invoice_overdue_type := NULL;
Line: 6376

    IF p_create_update_flag = 'U' THEN
       IF p_cust_profile_amt_rec.min_fc_balance_overdue_type is NULL THEN
          v_cust_profile_amt_rec.min_fc_balance_overdue_type := l_min_fc_balance_overdue_type;
Line: 6392

    IF p_create_update_flag = 'C' THEN
       IF p_cust_profile_amt_rec.min_fc_balance_overdue_type = FND_API.G_MISS_CHAR THEN
          v_cust_profile_amt_rec.min_fc_balance_overdue_type := NULL;
Line: 6456

    IF p_create_update_flag = 'U' THEN
       IF p_cust_profile_amt_rec.interest_type is NULL THEN
          v_cust_profile_amt_rec.interest_type := l_interest_type;
Line: 6477

    IF p_create_update_flag = 'C' THEN
       IF p_cust_profile_amt_rec.interest_type = FND_API.G_MISS_CHAR THEN
          v_cust_profile_amt_rec.interest_type := NULL;
Line: 6568

    IF p_create_update_flag = 'U' THEN
       IF p_cust_profile_amt_rec.penalty_type is NULL THEN
          v_cust_profile_amt_rec.penalty_type := l_penalty_type;
Line: 6589

    IF p_create_update_flag = 'C' THEN
       IF p_cust_profile_amt_rec.penalty_type = FND_API.G_MISS_CHAR THEN
          v_cust_profile_amt_rec.penalty_type := NULL;
Line: 6680

 *         non-updateable fields
 *         foreign key validations
 *         other validations
 *
 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
 *
 * ARGUMENTS
 *   IN:
 *     p_create_update_flag           Create update flag. 'C' = create. 'U' = update.
 *     p_cust_acct_site_rec           Customer account site record.
 *     p_rowid                        Rowid of the record (used only in update mode).
 *   IN/OUT:
 *     x_return_status                Return status after the call. The status can
 *                                    be FND_API.G_RET_STS_SUCCESS (success),
 *                                    FND_API.G_RET_STS_ERROR (error),
 *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
 *
 * NOTES
 *
 * MODIFICATION HISTORY
 *
 *   07-23-2001    Jianying Huang      o Created.
 *   10-25-2002    P.Suresh            o Bug No : 2528119. Added validation for ece_tp_location_code
 *                                       in validate_cust_acct_site procedure.
 *   12-MAY-2005   Rajib Ranjan Borah  o TCA SSA Uptake (Bug 3456489)
 */

PROCEDURE validate_cust_acct_site (
    p_create_update_flag                    IN     VARCHAR2,
    p_cust_acct_site_rec                    IN     HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_ACCT_SITE_REC_TYPE,
    p_rowid                                 IN     ROWID,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_debug_prefix                          VARCHAR2(30) := ''; -- 'validate_cust_acct_site'
Line: 6750

    IF p_create_update_flag = 'U' THEN
        SELECT CUST_ACCOUNT_ID, PARTY_SITE_ID, ORIG_SYSTEM_REFERENCE,
               CREATED_BY_MODULE, APPLICATION_ID, STATUS, CUSTOMER_CATEGORY_CODE
        INTO l_cust_account_id, l_party_site_id, l_orig_system_reference,
             l_created_by_module, l_application_id, l_status, l_customer_category_code
        FROM HZ_CUST_ACCT_SITES_ALL   -- Bug 3456489
        WHERE ROWID = p_rowid;
Line: 6764

    IF p_create_update_flag = 'C' THEN

        -- If primary key value is passed, check for uniqueness.
        -- If primary key value is not passed, it will be generated
        -- from sequence by table handler.

        IF p_cust_acct_site_rec.cust_acct_site_id IS NOT NULL AND
           p_cust_acct_site_rec.cust_acct_site_id <> FND_API.G_MISS_NUM
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCT_SITES_ALL   -- Bug 3456489
            WHERE CUST_ACCT_SITE_ID = p_cust_acct_site_rec.cust_acct_site_id;
Line: 6815

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'cust_account_id',
            p_column_value                          => p_cust_acct_site_rec.cust_account_id,
            x_return_status                         => x_return_status );
Line: 6833

    IF p_create_update_flag = 'U' AND
       p_cust_acct_site_rec.cust_account_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'cust_account_id',
            p_column_value                          => p_cust_acct_site_rec.cust_account_id,
            p_old_column_value                      => l_cust_account_id,
            x_return_status                         => x_return_status );
Line: 6845

            hz_utility_v2pub.debug(p_message=>'cust_account_id is non-updateable. ' ||
                                           'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 6855

    IF p_create_update_flag = 'C' THEN
        IF p_cust_acct_site_rec.cust_account_id <> -1 AND
           p_cust_acct_site_rec.cust_account_id IS NOT NULL AND
           p_cust_acct_site_rec.cust_account_id <> FND_API.G_MISS_NUM
        THEN
            check_cust_account_fk (
                p_column                                 => 'cust_account_id',
                p_column_value                           => p_cust_acct_site_rec.cust_account_id,
                x_return_status                          => x_return_status );
Line: 6893

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'party_site_id',
            p_column_value                          => p_cust_acct_site_rec.party_site_id,
            x_return_status                         => x_return_status );
Line: 6911

    IF p_create_update_flag = 'U' AND
       p_cust_acct_site_rec.party_site_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'party_site_id',
            p_column_value                          => p_cust_acct_site_rec.party_site_id,
            p_old_column_value                      => l_party_site_id,
            x_return_status                         => x_return_status );
Line: 6923

           hz_utility_v2pub.debug(p_message=>'party_site_id is non-updateable. ' ||
                                             'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 6933

    IF p_create_update_flag = 'C' AND
       p_cust_acct_site_rec.party_site_id IS NOT NULL AND
       p_cust_acct_site_rec.party_site_id <> FND_API.G_MISS_NUM
    THEN
        check_party_site_fk (
            p_column                                => 'party_site_id',
            p_column_value                          => p_cust_acct_site_rec.party_site_id,
            x_return_status                         => x_return_status );
Line: 6961

            SELECT 'Y' INTO l_dummy
            FROM HZ_LOCATIONS
            WHERE LOCATION_ID = (
                SELECT LOCATION_ID
                FROM HZ_PARTY_SITES
                WHERE PARTY_SITE_ID = p_cust_acct_site_rec.party_site_id )
            AND CONTENT_SOURCE_TYPE = HZ_PARTY_V2PUB.G_MISS_CONTENT_SOURCE_TYPE;
Line: 6989

            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCT_SITES_ALL   -- Bug 3456489
            WHERE CUST_ACCOUNT_ID = p_cust_acct_site_rec.cust_account_id
            AND PARTY_SITE_ID = p_cust_acct_site_rec.party_site_id
            AND ORG_ID = p_cust_acct_site_rec.org_id   -- Bug 3456489
            AND ROWNUM = 1;
Line: 7035

    IF p_create_update_flag = 'C' AND
       p_cust_acct_site_rec.orig_system_reference IS NOT NULL AND
       p_cust_acct_site_rec.orig_system_reference <> FND_API.G_MISS_CHAR
    THEN
    BEGIN
        SELECT 'Y' INTO l_dummy
        FROM HZ_CUST_ACCT_SITES_ALL
        WHERE ORIG_SYSTEM_REFERENCE = p_cust_acct_site_rec.orig_system_reference
        AND   ORG_ID = p_cust_acct_site_rec.org_id;
Line: 7080

    and p_create_update_flag = 'U'
   then
        hz_orig_system_ref_pub.get_owner_table_id
        (p_orig_system => p_cust_acct_site_rec.orig_system,
        p_orig_system_reference => p_cust_acct_site_rec.orig_system_reference,
        p_owner_table_name => 'HZ_CUST_ACCT_SITES_ALL',
        x_owner_table_id => l_mosr_owner_table_id,
        x_return_status => l_temp_return_status);
Line: 7105

    IF p_create_update_flag = 'U' AND
       p_cust_acct_site_rec.orig_system_reference IS NOT NULL
       and l_validate_flag = 'Y'
    THEN
        validate_nonupdateable (
            p_column                                => 'orig_system_reference',
            p_column_value                          => p_cust_acct_site_rec.orig_system_reference,
            p_old_column_value                      => l_orig_system_reference,
            x_return_status                         => x_return_status );
Line: 7118

           hz_utility_v2pub.debug(p_message=>'orig_system_reference is non-updateable. ' ||
                           'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 7143

        SELECT ROWID INTO l_rowid
        FROM HZ_CUST_ACCT_SITES_ALL
        WHERE TP_HEADER_ID = p_cust_acct_site_rec.tp_header_id
          AND ORG_ID = p_cust_acct_site_rec.org_id;  -- Bug 3456489
Line: 7148

        IF p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U' AND l_rowid <> p_rowid )
        THEN
            FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_DUPLICATE_COLUMN' );
Line: 7182

    IF p_create_update_flag = 'U' AND
       p_cust_acct_site_rec.status IS NOT NULL
    THEN
        validate_cannot_update_to_null (
            p_column                                => 'status',
            p_column_value                          => p_cust_acct_site_rec.status,
            x_return_status                         => x_return_status );
Line: 7191

           hz_utility_v2pub.debug(p_message=>'status cannot be updated to null. ' ||
                                                 'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 7203

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_acct_site_rec.status <> NVL( l_status, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'status',
            p_lookup_type                           => 'CODE_STATUS',
            p_column_value                          => p_cust_acct_site_rec.status,
            x_return_status                         => x_return_status );
Line: 7237

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_acct_site_rec.customer_category_code <> NVL( l_customer_category_code, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'customer_category_code',
            p_lookup_type                           => 'ADDRESS_CATEGORY',
            p_column_value                          => p_cust_acct_site_rec.customer_category_code,
            x_return_status                         => x_return_status );
Line: 7272

        SELECT 'Y' INTO l_dummy
        FROM FND_LANGUAGES
        WHERE LANGUAGE_CODE = p_cust_acct_site_rec.language
        AND INSTALLED_FLAG IN ('B', 'I')
        AND ROWNUM = 1;
Line: 7369

      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_cust_acct_site_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 7379

      p_create_update_flag     => p_create_update_flag,
      p_application_id         => p_cust_acct_site_rec.application_id,
      p_old_application_id     => l_application_id,
      x_return_status          => x_return_status);
Line: 7387

     IF p_create_update_flag = 'C' THEN
        IF p_cust_acct_site_rec.cust_account_id <> -1 AND
           p_cust_acct_site_rec.cust_account_id IS NOT NULL AND
           p_cust_acct_site_rec.cust_account_id <> FND_API.G_MISS_NUM
        THEN
          IF p_cust_acct_site_rec.ece_tp_location_code IS NOT NULL AND
             p_cust_acct_site_rec.ece_tp_location_code <> FND_API.G_MISS_CHAR
          THEN
             select  count(1)
             into    l_count
             from    hz_cust_acct_sites_all addr  -- Bug 3456489
             where   addr.cust_account_id        = p_cust_acct_site_rec.cust_account_id
             and     addr.ece_tp_location_code   = p_cust_acct_site_rec.ece_tp_location_code
             and     org_id                      = p_cust_acct_site_rec.org_id; -- Bug 3456489
Line: 7409

     ELSIF p_create_update_flag = 'U' THEN
        IF p_cust_acct_site_rec.ece_tp_location_code IS NOT NULL AND
           p_cust_acct_site_rec.ece_tp_location_code <> FND_API.G_MISS_CHAR
        THEN
             select  count(1)
             into    l_count
             from    hz_cust_acct_sites_all addr   -- Bug 3456489
             where   addr.cust_account_id        = l_cust_account_id
             and     addr.ece_tp_location_code   = p_cust_acct_site_rec.ece_tp_location_code
             and     addr.cust_acct_site_id      <> p_cust_acct_site_rec.cust_acct_site_id
             and     org_id                      = p_cust_acct_site_rec.org_id;  -- Bug 3456489
Line: 7457

 *         non-updateable fields
 *         foreign key validations
 *         other validations
 *
 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
 *
 * ARGUMENTS
 *   IN:
 *     p_create_update_flag           Create update flag. 'C' = create. 'U' = update.
 *     p_cust_site_use_rec            Customer account site use record.
 *     p_rowid                        Rowid of the record (used only in update mode).
 *   IN/OUT:
 *     x_return_status                Return status after the call. The status can
 *                                    be FND_API.G_RET_STS_SUCCESS (success),
 *                                    FND_API.G_RET_STS_ERROR (error),
 *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
 *
 * NOTES
 *
 * MODIFICATION HISTORY
 *
 *   07-23-2001    Jianying Huang      o Created.
 *   11-08-2001    Rajeshwari P          Added validations  for fields, tax_code,payment_term_id,
 *                                       demand_class_codeprimary_salesrep_id,finchrg_receivables_trx_id,
 *                                       order_type_id,order_type_id,ship_partial,item_cross_ref_pref,
 *                                       warehouse_id,date_type_preference,
 *                                       ship_sets_include_lines_flag and arrivalsets_include_lines_flag
 *                                       in procedure VALIDATE_CUST_SITE_USE.
 *   03-26-2002    P.Suresh              Bug No : 2266165. Added the check that bill_to_flag of
 *                                       hz_cust_acct_relate_all table should be Y when validating
 *                                       bill_to_site_use_id.
 *   04-11-2002    P.Suresh              Bug No : 2260832. Added the check for the status
 *                                       when validating that only one primary is allowed for
 *                                       one site use type per account in the procedure
 *                                       validate_cust_site_use.
 *   21-05-2002   Rajeshwari P           Bug fix 2311760.Commented the code which validates the
 *                                       Obsolete column ship_partial.
 *   06-13-2002    P.Suresh              Bug No : 2403263. Added validation that the contact_id
 *                                       should be a foreign key to hz_cust_account_roles.
 *                                       cust_account_role_id.
 *   06-19-2002   Rajeshwari P           Bug 2399491.Validating site_use_id for duplicates
 *                                       against hz_cust_site_uses_all table instead of the
 *                                       org stripped view, hz_cust_site_uses.
 *   03-May-3004 Venkata Sowjanya S      Bug No : 3609601. Commented the statements which sets tokens Column1,Column2
 *                                        for message HZ_API_INACTIVE_CANNOT_PRIM
 *   12-MAY-2005   Rajib Ranjan Borah  o TCA SSA Uptake (Bug 3456489)
 */

PROCEDURE validate_cust_site_use (
    p_create_update_flag                    IN     VARCHAR2,
    p_cust_site_use_rec                     IN     HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_SITE_USE_REC_TYPE,
    p_rowid                                 IN     ROWID,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_debug_prefix                          VARCHAR2(30) := ''; -- 'validate_cust_site_use'
Line: 7566

    IF p_create_update_flag = 'U' THEN
        SELECT CUST_ACCT_SITE_ID, SITE_USE_CODE, ORIG_SYSTEM_REFERENCE,
               CREATED_BY_MODULE, APPLICATION_ID, STATUS, SHIP_VIA, FREIGHT_TERM,
               SHIP_SETS_INCLUDE_LINES_FLAG,ARRIVALSETS_INCLUDE_LINES_FLAG,
               TAX_CODE,DEMAND_CLASS_CODE,PRIMARY_SALESREP_ID,FINCHRG_RECEIVABLES_TRX_ID,
               ORDER_TYPE_ID,PRICE_LIST_ID,FOB_POINT,ITEM_CROSS_REF_PREF,
               WAREHOUSE_ID,DATE_TYPE_PREFERENCE
        INTO l_cust_acct_site_id, l_site_use_code, l_orig_system_reference,
             l_created_by_module, l_application_id, l_status, l_ship_via, l_freight_term,
             l_ship_sets_inc_lines_f,l_arrivalsets_inc_lines_f,l_tax_code,l_demand_class_code,
             l_primary_salesrep_id,l_finchrg_receivables_trx_id,l_order_type_id,l_price_list_id,
             l_fob_point,l_item_cross_ref_pref,l_warehouse_id,l_date_type_preference
             FROM HZ_CUST_SITE_USES_ALL    -- Bug 3456489
        WHERE ROWID = p_rowid;
Line: 7587

    IF p_create_update_flag = 'C' THEN

        -- If primary key value is passed, check for uniqueness.
        -- If primary key value is not passed, it will be generated
        -- from sequence by table handler.

--Bug Fix 2399491, Checking for duplicates in the _all table.

        IF p_cust_site_use_rec.site_use_id IS NOT NULL AND
           p_cust_site_use_rec.site_use_id <> FND_API.G_MISS_NUM
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_SITE_USES_ALL
            WHERE SITE_USE_ID = p_cust_site_use_rec.site_use_id;
Line: 7641

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'cust_acct_site_id',
            p_column_value                          => p_cust_site_use_rec.cust_acct_site_id,
            x_return_status                         => x_return_status );
Line: 7660

    IF p_create_update_flag = 'U' AND
       p_cust_site_use_rec.cust_acct_site_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'cust_acct_site_id',
            p_column_value                          => p_cust_site_use_rec.cust_acct_site_id,
            p_old_column_value                      => l_cust_acct_site_id,
            x_return_status                         => x_return_status );
Line: 7670

           hz_utility_v2pub.debug(p_message=>'cust_acct_site_id is non-updateable. ' ||
                                                 'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 7681

    IF p_create_update_flag = 'C' AND
       p_cust_site_use_rec.cust_acct_site_id IS NOT NULL AND
       p_cust_site_use_rec.cust_acct_site_id <> FND_API.G_MISS_NUM
    THEN
        check_cust_acct_site_fk (
            p_column                                 => 'cust_acct_site_id',
            p_column_value                           => p_cust_site_use_rec.cust_acct_site_id,
            p_org_id                                 => p_cust_site_use_rec.org_id,   -- Bug 3456489
            x_return_status                          => x_return_status );
Line: 7702

    SELECT CUST_ACCOUNT_ID INTO l_cust_account_id
    FROM HZ_CUST_ACCT_SITES_ALL  -- Bug 3456489
    WHERE CUST_ACCT_SITE_ID = l_cust_acct_site_id;
Line: 7719

    IF p_create_update_flag = 'U' AND
       p_cust_site_use_rec.status IS NOT NULL
    THEN
        validate_cannot_update_to_null (
            p_column                                => 'status',
            p_column_value                          => p_cust_site_use_rec.status,
            x_return_status                         => x_return_status );
Line: 7728

           hz_utility_v2pub.debug(p_message=>'status cannot be updated to null. ' ||
                                                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 7740

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_site_use_rec.status <> NVL( l_status, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'status',
            p_lookup_type                           => 'CODE_STATUS',
            p_column_value                          => p_cust_site_use_rec.status,
            x_return_status                         => x_return_status );
Line: 7774

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'site_use_code',
            p_column_value                          => p_cust_site_use_rec.site_use_code,
            x_return_status                         => x_return_status );
Line: 7793

    IF p_create_update_flag = 'U' AND
       p_cust_site_use_rec.site_use_code IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'site_use_code',
            p_column_value                          => p_cust_site_use_rec.site_use_code,
            p_old_column_value                      => l_site_use_code,
            x_return_status                         => x_return_status );
Line: 7803

           hz_utility_v2pub.debug(p_message=>'site_use_code is non-updateable. ' ||
                                           'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 7814

    IF p_create_update_flag = 'C' AND
       p_cust_site_use_rec.site_use_code IS NOT NULL AND
       p_cust_site_use_rec.site_use_code <> FND_API.G_MISS_CHAR
    THEN
        validate_lookup (
            p_column                                => 'site_use_code',
            p_lookup_type                           => 'SITE_USE_CODE',
            p_column_value                          => p_cust_site_use_rec.site_use_code,
            x_return_status                         => x_return_status );
Line: 7835

       ( p_create_update_flag = 'C' AND
         ( p_cust_site_use_rec.status IS NULL OR
           p_cust_site_use_rec.status = FND_API.G_MISS_CHAR ) ) OR
       ( p_create_update_flag = 'U' AND
         p_cust_site_use_rec.status IS NULL AND
         l_status = 'A' )
    THEN

        -- A customer can have only one active DUN, STMTS, LEGAL site use

        IF l_site_use_code IN ( 'DUN', 'STMTS', 'LEGAL' ) THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCT_SITES_ALL site,
                 HZ_CUST_SITE_USES_ALL su
            WHERE site.CUST_ACCOUNT_ID = l_cust_account_id
            AND site.CUST_ACCT_SITE_ID = su.CUST_ACCT_SITE_ID
            AND su.SITE_USE_CODE = l_site_use_code
            AND su.STATUS = 'A'
            AND ( p_create_update_flag = 'C' OR
                  p_create_update_flag = 'U' AND su.ROWID <> p_rowid )
            AND site.org_id = p_cust_site_use_rec.org_id   -- Bug 3456489
            AND su.org_id   = p_cust_site_use_rec.org_id   -- Bug 3456489
            AND ROWNUM = 1;
Line: 7889

        SELECT 'Y' INTO l_dummy
        FROM HZ_CUST_SITE_USES_ALL    -- Bug 3456489
        WHERE CUST_ACCT_SITE_ID = nvl(p_cust_site_use_rec.cust_acct_site_id,l_cust_acct_site_id)
        AND SITE_USE_CODE = nvl(p_cust_site_use_rec.site_use_code,l_site_use_code)
        AND SITE_USE_ID <> nvl(p_cust_site_use_rec.site_use_id,fnd_api.g_miss_num)
        AND STATUS = 'A'
        AND ORG_ID = p_cust_site_use_rec.org_id  -- Bug 3456489
        AND ROWNUM = 1;
Line: 7934

        IF (p_create_update_flag = 'C') THEN
                l_profile := HZ_MO_GLOBAL_CACHE.get_auto_site_numbering(
                                        p_cust_site_use_rec.org_id);
Line: 7944

    IF p_create_update_flag = 'C' THEN
        IF p_cust_site_use_rec.location IS NULL OR
           p_cust_site_use_rec.location = FND_API.G_MISS_CHAR
        THEN
            IF l_profile = 'N' THEN
                FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
Line: 7963

    ELSIF p_create_update_flag = 'U' AND
          p_cust_site_use_rec.location IS NOT NULL
    THEN
        -- location cannot be set to null during update
        validate_cannot_update_to_null (
            p_column                                => 'location',
            p_column_value                          => p_cust_site_use_rec.location,
            x_return_status                         => x_return_status );
Line: 7973

           hz_utility_v2pub.debug(p_message=>'location cannot be updated to null. ' ||
                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 7990

        SELECT 'Y' INTO l_dummy
        FROM HZ_CUST_ACCT_SITES_ALL site,
             HZ_CUST_SITE_USES_ALL su
        WHERE site.CUST_ACCOUNT_ID = l_cust_account_id
        AND site.CUST_ACCT_SITE_ID = su.CUST_ACCT_SITE_ID
        AND su.SITE_USE_CODE = l_site_use_code
        AND su.LOCATION = p_cust_site_use_rec.location
        AND ( p_create_update_flag = 'C' OR
              p_create_update_flag = 'U' AND su.ROWID <> p_rowid )
        AND su.STATUS = 'A'
        AND site.org_id     = p_cust_site_use_rec.org_id  -- Bug 3456489
        AND su.org_id       = p_cust_site_use_rec.org_id  -- Bug 3456489
        AND ROWNUM = 1;
Line: 8063

            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCT_SITES_ALL site,
                 HZ_CUST_SITE_USES_ALL su
            WHERE su.SITE_USE_ID = p_cust_site_use_rec.bill_to_site_use_id
            AND su.SITE_USE_CODE = 'BILL_TO'
            AND su.STATUS = 'A'
            AND site.CUST_ACCT_SITE_ID = su.CUST_ACCT_SITE_ID
            AND site.STATUS = 'A'
            AND site.org_id = p_cust_site_use_rec.org_id  -- Bug 3456489
            AND su.org_id   = p_cust_site_use_rec.org_id  -- Bug 3456489
            AND site.CUST_ACCOUNT_ID IN (
                SELECT l_cust_account_id
                FROM DUAL
                UNION
                SELECT CUST_ACCOUNT_ID
                FROM HZ_CUST_ACCT_RELATE_ALL
                WHERE RELATED_CUST_ACCOUNT_ID = l_cust_account_id
                AND   BILL_TO_FLAG            = 'Y' );
Line: 8108

    IF p_create_update_flag = 'U'
    and p_cust_site_use_rec.status = 'I'
    and l_status = 'A'
    and nvl(p_cust_site_use_rec.site_use_code,l_site_use_code)='BILL_TO'
    THEN
       BEGIN
       SELECT 'Y'
       INTO l_exist_flag
       FROM hz_cust_site_uses_all hsu
       WHERE hsu.site_use_code = 'SHIP_TO'
       AND hsu.status = 'A'
       AND hsu.bill_to_site_use_id = p_cust_site_use_rec.site_use_id
       AND rownum = 1;
Line: 8155

     and p_create_update_flag = 'U'
    THEN

        hz_orig_system_ref_pub.get_owner_table_id
        (p_orig_system => p_cust_site_use_rec.orig_system,
        p_orig_system_reference => p_cust_site_use_rec.orig_system_reference,
        p_owner_table_name =>'HZ_CUST_SITE_USES_ALL',
        x_owner_table_id => l_mosr_owner_table_id,
        x_return_status => l_temp_return_status);
Line: 8181

    IF p_create_update_flag = 'U' AND
       p_cust_site_use_rec.orig_system_reference IS NOT NULL
       and l_validate_flag = 'Y'
    THEN
        validate_nonupdateable (
            p_column                                => 'orig_system_reference',
            p_column_value                          => p_cust_site_use_rec.orig_system_reference,
            p_old_column_value                      => l_orig_system_reference,
            x_return_status                         => x_return_status );
Line: 8192

           hz_utility_v2pub.debug(p_message=>'orig_system_reference is non-updateable. ' ||
                                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 8214

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_site_use_rec.freight_term <> NVL( l_freight_term, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'freight_term',
            p_lookup_table                          => 'SO_LOOKUPS',
            p_lookup_type                           => 'FREIGHT_TERMS',
            p_column_value                          => p_cust_site_use_rec.freight_term,
            x_return_status                         => x_return_status );
Line: 8245

    IF p_create_update_flag = 'U' AND
       p_cust_site_use_rec.primary_flag IS NOT NULL
    THEN
        validate_cannot_update_to_null (
            p_column                                => 'primary_flag',
            p_column_value                          => p_cust_site_use_rec.primary_flag,
            x_return_status                         => x_return_status );
Line: 8254

           hz_utility_v2pub.debug(p_message=>'primary_flag cannot be updated to NULL. ' ||
                         'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 8293

        SELECT 'Y'  INTO l_dummy
        FROM HZ_CUST_ACCT_SITES site,
             HZ_CUST_SITE_USES su
        WHERE site.CUST_ACCOUNT_ID = l_cust_account_id
        AND su.CUST_ACCT_SITE_ID = site.CUST_ACCT_SITE_ID
        AND su.SITE_USE_CODE = l_site_use_code
        AND su.PRIMARY_FLAG = 'Y'
--Bug 2792589        AND su.STATUS       = 'Y'
        AND su.STATUS       = 'A'
        AND ( p_create_update_flag = 'C' OR
              (p_create_update_flag = 'U' AND su.ROWID <> p_rowid ))
        AND ROWNUM = 1;
Line: 8328

    IF p_create_update_flag = 'C' THEN
      IF p_cust_site_use_rec.primary_flag IS NULL OR
         p_cust_site_use_rec.primary_flag = fnd_api.g_miss_char
      THEN
        l_primary_flag := 'N';
Line: 8446

IF (p_create_update_flag = 'C' or
   (p_create_update_flag ='U' and
    p_cust_site_use_rec.ship_sets_include_lines_flag <> NVL(l_ship_sets_inc_lines_f,FND_API.G_MISS_CHAR)))
THEN
   IF p_cust_site_use_rec.ship_sets_include_lines_flag = 'Y'
   THEN
    BEGIN
       SELECT decode(p_cust_site_use_rec.ship_sets_include_lines_flag,p_cust_site_use_rec.arrivalsets_include_lines_flag,
                     'N',l_arrivalsets_inc_lines_f,
                                        decode(p_cust_site_use_rec.arrivalsets_include_lines_flag,l_ship_sets_inc_lines_f,
                                               'Y','N'),'Y')
       INTO l_dummy
       FROM DUAL;
Line: 8515

IF (p_create_update_flag ='C' or
    (p_create_update_flag ='U' and
    p_cust_site_use_rec.arrivalsets_include_lines_flag <> NVL(l_arrivalsets_inc_lines_f,FND_API.G_MISS_CHAR)))
THEN
 IF p_cust_site_use_rec.arrivalsets_include_lines_flag = 'Y'
 THEN
   BEGIN
     SELECT decode(p_cust_site_use_rec.arrivalsets_include_lines_flag,p_cust_site_use_rec.ship_sets_include_lines_flag,
                   'N',l_ship_sets_inc_lines_f,
                                       decode(p_cust_site_use_rec.ship_sets_include_lines_flag,l_arrivalsets_inc_lines_f,
                                               'Y','N'),'Y')
     INTO l_dummy
     FROM DUAL;
Line: 8563

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.tax_code <> NVL( l_tax_code, FND_API.G_MISS_CHAR ) ) )
        THEN
           check_tax_code(
               p_column                                => 'tax_code',
               p_column_value                          => p_cust_site_use_rec.tax_code,
	       -- Bug 4713150
               -- p_org_id                                => p_cust_site_use_rec.org_id,  -- Bug 3456489
	       p_called_from                           => 'validate_cust_site_use',
               x_return_status                         => x_return_status );
Line: 8597

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.payment_term_id <> NVL( l_payment_term_id, FND_API.G_MISS_NUM ) ) )
        THEN
            check_payterm_id_fk(
                    p_column                                => 'payment_term_id',
                    p_column_value                          => p_cust_site_use_rec.payment_term_id,
                    x_return_status                         => x_return_status );
Line: 8628

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.demand_class_code <> NVL(l_demand_class_code,FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup(
                p_column               =>'demand_class_code',
                p_lookup_table         =>'FND_COMMON_LOOKUPS',
                p_lookup_type           =>'DEMAND_CLASS',
                p_column_value         =>p_cust_site_use_rec.demand_class_code,
                x_return_status        =>x_return_status   );
Line: 8660

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.primary_salesrep_id <> NVL(l_primary_salesrep_id,FND_API.G_MISS_NUM) ) )
        THEN
            check_prim_salesrep(
                   p_column                                => 'primary_salesrep_id',
                   p_column_value                          => p_cust_site_use_rec.primary_salesrep_id,
                   p_org_id                                => p_cust_site_use_rec.org_id,  -- Bug 3456489
                   x_return_status                         => x_return_status );
Line: 8690

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.finchrg_receivables_trx_id <> NVL(l_finchrg_receivables_trx_id,FND_API.G_MISS_NUM) ) )
THEN
              check_finchrg_trx_fk(
                   p_column                 => 'finchrg_receivables_trx_id',
                   p_column_value           => p_cust_site_use_rec.finchrg_receivables_trx_id,
                   p_org_id                 => p_cust_site_use_rec.org_id,  -- Bug 3456489
                   x_return_status          => x_return_status );
Line: 8726

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.order_type_id <> NVL(l_order_type_id,FND_API.G_MISS_NUM) ) )
        THEN
            check_ord_type(
                   p_column                                => 'order_type_id',
                   p_column_value                          => p_cust_site_use_rec.order_type_id,
                   p_org_id                                => p_cust_site_use_rec.org_id,  -- Bug 3456489
                   x_return_status                         => x_return_status );
Line: 8760

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.price_list_id <> NVL(l_price_list_id,FND_API.G_MISS_NUM) ) )
        THEN
            check_price_list_fk(
                 p_column                           => 'price_list_id',
                 p_column_value                     => p_cust_site_use_rec.price_list_id,
                 x_return_status                    => x_return_status );
Line: 8793

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.item_cross_ref_pref <> NVL(l_item_cross_ref_pref,FND_API.G_MISS_CHAR) ) )
        THEN
          IF p_cust_site_use_rec.item_cross_ref_pref NOT IN('INT','CUST')
          THEN
             check_item_cross_ref(
                    p_column                           => 'price_list_id',
                    p_column_value                     => p_cust_site_use_rec.item_cross_ref_pref,
                    x_return_status                    => x_return_status );
Line: 8828

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.warehouse_id <> NVL(l_warehouse_id,FND_API.G_MISS_NUM) ) )
        THEN
            check_warehouse(
                  p_column                           => 'warehouse_id',
                  p_column_value                     => p_cust_site_use_rec.warehouse_id,
                  x_return_status                    => x_return_status );
Line: 8862

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.fob_point <> NVL(l_fob_point,FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup(
                p_column        =>'fob_point',
                p_lookup_type   =>'FOB',
                p_column_value  =>p_cust_site_use_rec.fob_point,
                x_return_status =>x_return_status  );
Line: 8897

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.date_type_preference <> NVL(l_date_type_preference,FND_API.G_MISS_CHAR) ) )
        THEN
            validate_lookup(
                 p_column               =>'date_type_preference',
                 p_lookup_table         =>'OE_LOOKUPS',
                 p_lookup_type          =>'REQUEST_DATE_TYPE',
                 p_column_value         =>p_cust_site_use_rec.date_type_preference,
                 x_return_status        =>x_return_status   );
Line: 8933

          AND ( p_create_update_flag = 'C' OR
           ( p_create_update_flag = 'U'  AND
            p_cust_site_use_rec.ship_partial <> NVL(l_ship_partial,FND_API.G_MISS_CHAR) ) )
    THEN
        validate_lookup (
            p_column                                => 'ship_partial',
            p_lookup_type                           => 'YES/NO',
            p_column_value                          => p_cust_site_use_rec.ship_partial,
            x_return_status                         => x_return_status );
Line: 9372

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U'  AND
           p_cust_site_use_rec.ship_via <> NVL( l_ship_via, FND_API.G_MISS_CHAR ) ) )
    THEN
        check_oe_ship_methods_v_fk (
            p_entity                                 => 'SITE_USE',
            p_column                                 => 'ship_via',
            p_column_value                           => p_cust_site_use_rec.ship_via,
            x_return_status                          => x_return_status );
Line: 9404

      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_cust_site_use_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 9414

      p_create_update_flag     => p_create_update_flag,
      p_application_id         => p_cust_site_use_rec.application_id,
      p_old_application_id     => l_application_id,
      x_return_status          => x_return_status);
Line: 9437

 *         non-updateable fields
 *         foreign key validations
 *         other validations
 *
 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
 *
 * ARGUMENTS
 *   IN:
 *     p_create_update_flag           Create update flag. 'C' = create. 'U' = update.
 *     p_cust_account_role_rec        Customer account role record.
 *     p_rowid                        Rowid of the record (used only in update mode).
 *   IN/OUT:
 *     x_return_status                Return status after the call. The status can
 *                                    be FND_API.G_RET_STS_SUCCESS (success),
 *                                    FND_API.G_RET_STS_ERROR (error),
 *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
 *
 * NOTES
 *
 * MODIFICATION HISTORY
 *
 *   07-23-2001    Jianying Huang      o Created.
 *
 */

PROCEDURE validate_cust_account_role (
    p_create_update_flag                    IN     VARCHAR2,
    p_cust_account_role_rec                 IN     HZ_CUST_ACCOUNT_ROLE_V2PUB.CUST_ACCOUNT_ROLE_REC_TYPE,
    p_rowid                                 IN     ROWID,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_debug_prefix                          VARCHAR2(30) := ''; -- 'validate_cust_account_role'
Line: 9503

    IF p_create_update_flag = 'U' THEN
        SELECT PARTY_ID, CUST_ACCOUNT_ID, CUST_ACCT_SITE_ID,
               ROLE_TYPE, ORIG_SYSTEM_REFERENCE, CREATED_BY_MODULE,
               APPLICATION_ID, STATUS
        INTO l_party_id, l_cust_account_id, l_cust_acct_site_id,
             l_role_type, l_orig_system_reference, l_created_by_module,
             l_application_id, l_status
        FROM HZ_CUST_ACCOUNT_ROLES
        WHERE CUST_ACCOUNT_ROLE_ID = p_cust_account_role_rec.cust_account_role_id;
Line: 9519

    IF p_create_update_flag = 'C' THEN

        -- If primary key value is passed, check for uniqueness.
        -- If primary key value is not passed, it will be generated
        -- from sequence by table handler.

        IF p_cust_account_role_rec.cust_account_role_id IS NOT NULL AND
           p_cust_account_role_rec.cust_account_role_id <> FND_API.G_MISS_NUM
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCOUNT_ROLES
            WHERE CUST_ACCOUNT_ROLE_ID = p_cust_account_role_rec.cust_account_role_id;
Line: 9570

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'party_id',
            p_column_value                          => p_cust_account_role_rec.party_id,
            x_return_status                         => x_return_status );
Line: 9587

    IF p_create_update_flag = 'U' AND
       p_cust_account_role_rec.party_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'party_id',
            p_column_value                          => p_cust_account_role_rec.party_id,
            p_old_column_value                      => l_party_id,
            x_return_status                         => x_return_status );
Line: 9597

           hz_utility_v2pub.debug(p_message=>'party_id is non-updateable. ' ||
                                         'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 9615

    IF p_create_update_flag = 'C' AND
       p_cust_account_role_rec.party_id IS NOT NULL AND
       p_cust_account_role_rec.party_id <> FND_API.G_MISS_NUM
    THEN
        check_party_fk (
            p_column                                => 'party_id',
            p_column_value                          => p_cust_account_role_rec.party_id,
            x_return_status                         => x_return_status );
Line: 9650

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'cust_account_id',
            p_column_value                          => p_cust_account_role_rec.cust_account_id,
            x_return_status                         => x_return_status );
Line: 9667

    IF p_create_update_flag = 'U' AND
       p_cust_account_role_rec.cust_account_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'cust_account_id',
            p_column_value                          => p_cust_account_role_rec.cust_account_id,
            p_old_column_value                      => l_cust_account_id,
            x_return_status                         => x_return_status );
Line: 9677

           hz_utility_v2pub.debug(p_message=>'cust_account_id is non-updateable. ' ||
                                        'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 9689

    IF p_create_update_flag = 'C' AND
       p_cust_account_role_rec.cust_account_id IS NOT NULL AND
       p_cust_account_role_rec.cust_account_id <> FND_API.G_MISS_NUM
    THEN
        check_cust_account_fk (
            p_column                                 => 'cust_account_id',
            p_column_value                           => p_cust_account_role_rec.cust_account_id,
            x_return_status                          => x_return_status );
Line: 9721

    IF p_create_update_flag = 'U' AND
       p_cust_account_role_rec.cust_acct_site_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'cust_acct_site_id',
            p_column_value                          => p_cust_account_role_rec.cust_acct_site_id,
            p_old_column_value                      => l_cust_acct_site_id,
            x_return_status                         => x_return_status );
Line: 9731

           hz_utility_v2pub.debug(p_message=>'cust_acct_site_id is non-updateable. ' ||
                                        'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 9745

    IF p_create_update_flag = 'C' AND
       p_cust_account_role_rec.cust_acct_site_id IS NOT NULL AND
       p_cust_account_role_rec.cust_acct_site_id <> FND_API.G_MISS_NUM
    THEN
    BEGIN

        SELECT CUST_ACCOUNT_ID,ORG_ID
        INTO l_cust_account_id,l_org_id
        FROM HZ_CUST_ACCT_SITES_ALL
        WHERE CUST_ACCT_SITE_ID = p_cust_account_role_rec.cust_acct_site_id;
Line: 9806

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'role_type',
            p_column_value                          => p_cust_account_role_rec.role_type,
            x_return_status                         => x_return_status );
Line: 9823

    IF p_create_update_flag = 'U' AND
       p_cust_account_role_rec.role_type IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'role_type',
            p_column_value                          => p_cust_account_role_rec.role_type,
            p_old_column_value                      => l_role_type,
            x_return_status                         => x_return_status );
Line: 9833

           hz_utility_v2pub.debug(p_message=>'role_type is non-updateable. ' ||
                                                 'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 9845

    IF p_create_update_flag = 'C' AND
       p_cust_account_role_rec.role_type IS NOT NULL AND
       p_cust_account_role_rec.role_type <> FND_API.G_MISS_CHAR
    THEN
        validate_lookup (
            p_column                                => 'role_type',
            p_lookup_type                           => 'ACCT_ROLE_TYPE',
            p_column_value                          => p_cust_account_role_rec.role_type,
            x_return_status                         => x_return_status );
Line: 9869

    IF p_create_update_flag = 'C' THEN
        IF p_cust_account_role_rec.cust_acct_site_id IS NULL OR
           p_cust_account_role_rec.cust_acct_site_id = FND_API.G_MISS_NUM
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCOUNT_ROLES
            WHERE CUST_ACCOUNT_ID = p_cust_account_role_rec.cust_account_id
            AND PARTY_ID = p_cust_account_role_rec.party_id
            AND CUST_ACCT_SITE_ID IS NULL
            AND ROLE_TYPE = p_cust_account_role_rec.role_type
            AND STATUS='A' -- Bug 4624292
            AND ROWNUM = 1;
Line: 9901

            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCOUNT_ROLES
            WHERE CUST_ACCT_SITE_ID = p_cust_account_role_rec.cust_acct_site_id
            AND PARTY_ID = p_cust_account_role_rec.party_id
            AND ROLE_TYPE = p_cust_account_role_rec.role_type
            AND STATUS='A' -- Bug 4624292
            AND ROWNUM = 1;
Line: 9927

    ELSE -- Update case (Bug 4624292)
      IF p_cust_account_role_rec.status='A'
         AND l_status='I'
      THEN
        IF l_cust_acct_site_id IS NOT NULL
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCOUNT_ROLES
            WHERE
            CUST_ACCT_SITE_ID = nvl(p_cust_account_role_rec.cust_acct_site_id,l_cust_acct_site_id)
            AND PARTY_ID = nvl(p_cust_account_role_rec.party_id,l_party_id)
            AND ROLE_TYPE = nvl(p_cust_account_role_rec.role_type,l_role_type)
            AND STATUS='A'
            AND ROWID<>p_rowid
            AND ROWNUM = 1;
Line: 9962

            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCOUNT_ROLES
            WHERE
            CUST_ACCT_SITE_ID IS NULL
            AND CUST_ACCOUNT_ID = nvl(p_cust_account_role_rec.cust_account_id,l_cust_account_id)
            AND PARTY_ID = nvl(p_cust_account_role_rec.party_id,l_party_id)
            AND ROLE_TYPE = nvl(p_cust_account_role_rec.role_type,l_role_type)
            AND STATUS='A'
            AND ROWID<>p_rowid
            AND ROWNUM = 1;
Line: 10008

    and p_create_update_flag = 'U'
   then
        hz_orig_system_ref_pub.get_owner_table_id
        (p_orig_system => p_cust_account_role_rec.orig_system,
        p_orig_system_reference => p_cust_account_role_rec.orig_system_reference,
        p_owner_table_name =>  'HZ_CUST_ACCOUNT_ROLES',
        x_owner_table_id => l_mosr_owner_table_id,
        x_return_status => l_temp_return_status);
Line: 10033

    IF p_create_update_flag = 'U' AND
       p_cust_account_role_rec.orig_system_reference IS NOT NULL
       and l_validate_flag = 'Y'
    THEN
        validate_nonupdateable (
            p_column                                => 'orig_system_reference',
            p_column_value                          => p_cust_account_role_rec.orig_system_reference,
            p_old_column_value                      => l_orig_system_reference,
            x_return_status                         => x_return_status );
Line: 10044

           hz_utility_v2pub.debug(p_message=>'orig_system_reference is non-updateable. ' ||
                                                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 10089

        IF p_create_update_flag = 'C' THEN
            l_cust_account_id := p_cust_account_role_rec.cust_account_id;
Line: 10098

            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCOUNT_ROLES
            WHERE CUST_ACCOUNT_ID = l_cust_account_id
            AND CUST_ACCT_SITE_ID IS NULL
            AND PRIMARY_FLAG = 'Y'
            AND ( p_create_update_flag = 'C' OR
                  p_create_update_flag = 'U' AND ROWID <> p_rowid )
            AND ROWNUM = 1;
Line: 10125

            SELECT 'Y' INTO l_dummy
            FROM HZ_CUST_ACCOUNT_ROLES
            WHERE CUST_ACCOUNT_ID = l_cust_account_id
            AND CUST_ACCT_SITE_ID = l_cust_acct_site_id
            AND PRIMARY_FLAG = 'Y'
            AND ( p_create_update_flag = 'C' OR
                  p_create_update_flag = 'U' AND ROWID <> p_rowid )
            AND ROWNUM = 1;
Line: 10166

    IF p_create_update_flag = 'U' AND
       p_cust_account_role_rec.status IS NOT NULL
    THEN
        validate_cannot_update_to_null (
            p_column                                => 'status',
            p_column_value                          => p_cust_account_role_rec.status,
            x_return_status                         => x_return_status );
Line: 10175

           hz_utility_v2pub.debug(p_message=>'status cannot be updated to null. ' ||
                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 10189

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U' AND
           p_cust_account_role_rec.status <> NVL( l_status, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'status',
            p_lookup_type                           => 'REGISTRY_STATUS',
            p_column_value                          => p_cust_account_role_rec.status,
            x_return_status                         => x_return_status );
Line: 10222

      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_cust_account_role_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 10232

      p_create_update_flag     => p_create_update_flag,
      p_application_id         => p_cust_account_role_rec.application_id,
      p_old_application_id     => l_application_id,
      x_return_status          => x_return_status);
Line: 10254

 *         non-updateable fields
 *         foreign key validations
 *         other validations
 *
 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
 *
 * ARGUMENTS
 *   IN:
 *     p_create_update_flag           Create update flag. 'C' = create. 'U' = update.
 *     p_role_responsibility_rec      Customer account role responsibility record.
 *     p_rowid                        Rowid of the record (used only in update mode).
 *   IN/OUT:
 *     x_return_status                Return status after the call. The status can
 *                                    be FND_API.G_RET_STS_SUCCESS (success),
 *                                    FND_API.G_RET_STS_ERROR (error),
 *                                    FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
 *
 * NOTES
 *
 * MODIFICATION HISTORY
 *
 *   07-23-2001    Jianying Huang      o Created.
 *
 */

PROCEDURE validate_role_responsibility (
    p_create_update_flag                    IN     VARCHAR2,
    p_role_responsibility_rec               IN     HZ_CUST_ACCOUNT_ROLE_V2PUB.ROLE_RESPONSIBILITY_REC_TYPE,
    p_rowid                                 IN     ROWID,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_debug_prefix                          VARCHAR2(30) := ''; -- 'validate_role_repsonsibility'
Line: 10309

    IF p_create_update_flag = 'U' THEN
        SELECT RESPONSIBILITY_TYPE, CUST_ACCOUNT_ROLE_ID, ORIG_SYSTEM_REFERENCE ,
               CREATED_BY_MODULE, APPLICATION_ID
        INTO l_responsibility_type, l_cust_account_role_id, l_orig_system_reference,
             l_created_by_module, l_application_id
        FROM HZ_ROLE_RESPONSIBILITY
        WHERE ROWID = p_rowid;
Line: 10323

    IF p_create_update_flag = 'C' THEN

        -- If primary key value is passed, check for uniqueness.
        -- If primary key value is not passed, it will be generated
        -- from sequence by table handler.

        IF p_role_responsibility_rec.responsibility_id IS NOT NULL AND
           p_role_responsibility_rec.responsibility_id <> FND_API.G_MISS_NUM
        THEN
        BEGIN
            SELECT 'Y' INTO l_dummy
            FROM HZ_ROLE_RESPONSIBILITY
            WHERE RESPONSIBILITY_ID = p_role_responsibility_rec.responsibility_id;
Line: 10372

        p_create_update_flag                    => p_create_update_flag,
        p_column                                => 'responsibility_type',
        p_column_value                          => p_role_responsibility_rec.responsibility_type,
        x_return_status                         => x_return_status );
Line: 10389

       ( p_create_update_flag = 'C' OR
         ( p_create_update_flag = 'U' AND
           p_role_responsibility_rec.responsibility_type <> NVL( l_responsibility_type, FND_API.G_MISS_CHAR ) ) )
    THEN
        validate_lookup (
            p_column                                => 'responsibility_type',
            p_lookup_type                           => 'SITE_USE_CODE',
            p_column_value                          => p_role_responsibility_rec.responsibility_type,
            x_return_status                         => x_return_status );
Line: 10427

    IF p_create_update_flag = 'C' THEN
        validate_mandatory (
            p_create_update_flag                    => p_create_update_flag,
            p_column                                => 'cust_account_role_id',
            p_column_value                          => p_role_responsibility_rec.cust_account_role_id,
            x_return_status                         => x_return_status );
Line: 10445

    IF p_create_update_flag = 'U' AND
       p_role_responsibility_rec.cust_account_role_id IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'cust_account_role_id',
            p_column_value                          => p_role_responsibility_rec.cust_account_role_id,
            p_old_column_value                      => l_cust_account_role_id,
            x_return_status                         => x_return_status );
Line: 10455

           hz_utility_v2pub.debug(p_message=>'cust_account_role_id is non-updateable. ' ||
                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 10467

    IF p_create_update_flag = 'C' AND
       p_role_responsibility_rec.cust_account_role_id IS NOT NULL AND
       p_role_responsibility_rec.cust_account_role_id <> FND_API.G_MISS_NUM
    THEN
        check_cust_account_role_fk (
            p_column                                => 'cust_account_role_id',
            p_column_value                          => p_role_responsibility_rec.cust_account_role_id,
            x_return_status                         => x_return_status );
Line: 10491

                                    'create_update_flag = ' || p_create_update_flag || ' ' ||
                                    'p_rowid = ' || p_rowid || ' ' ||
                                    'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 10500

        SELECT 'Y' INTO l_dummy
        FROM HZ_ROLE_RESPONSIBILITY
        WHERE CUST_ACCOUNT_ROLE_ID = l_cust_account_role_id
        AND RESPONSIBILITY_TYPE = l_responsibility_type
        AND ( p_create_update_flag = 'C' OR
            ( p_create_update_flag = 'U' AND ROWID <> p_rowid ) )
        AND ROWNUM = 1;
Line: 10538

    IF p_create_update_flag = 'U' AND
       p_role_responsibility_rec.orig_system_reference IS NOT NULL
    THEN
        validate_nonupdateable (
            p_column                                => 'orig_system_reference',
            p_column_value                          => p_role_responsibility_rec.orig_system_reference,
            p_old_column_value                      => l_orig_system_reference,
            x_return_status                         => x_return_status );
Line: 10548

           hz_utility_v2pub.debug(p_message=>'orig_system_reference is non-updateable. ' ||
                'x_return_status = ' || x_return_status,
                                  p_prefix =>l_debug_prefix,
                                  p_msg_level=>fnd_log.level_statement);
Line: 10592

        IF p_create_update_flag = 'C' THEN
            l_cust_account_role_id := p_role_responsibility_rec.cust_account_role_id;
Line: 10597

            SELECT 'Y' INTO l_dummy
            FROM HZ_ROLE_RESPONSIBILITY
            WHERE CUST_ACCOUNT_ROLE_ID = l_cust_account_role_id
            AND PRIMARY_FLAG = 'Y'
            AND ( p_create_update_flag = 'C' OR
                  p_create_update_flag = 'U' AND ROWID <> p_rowid )
            AND ROWNUM = 1;
Line: 10635

      p_create_update_flag     => p_create_update_flag,
      p_created_by_module      => p_role_responsibility_rec.created_by_module,
      p_old_created_by_module  => l_created_by_module,
      x_return_status          => x_return_status);
Line: 10645

      p_create_update_flag     => p_create_update_flag,
      p_application_id         => p_role_responsibility_rec.application_id,
      p_old_application_id     => l_application_id,
      x_return_status          => x_return_status);
Line: 10678

    SELECT 'Y' INTO l_dummy
    FROM HZ_CUST_ACCOUNTS
    WHERE CUST_ACCOUNT_ID = p_column_value;
Line: 10706

    SELECT 'Y' INTO l_dummy
    FROM HZ_CUST_ACCT_SITES_ALL  -- Bug 3456489
    WHERE CUST_ACCT_SITE_ID = p_column_value
      AND ORG_ID = p_org_id;  -- Bug 3456489
Line: 10732

    SELECT org_id INTO l_org_id
    FROM HZ_CUST_SITE_USES_ALL
    WHERE SITE_USE_ID = p_column_value;
Line: 10764

    SELECT 'Y' INTO l_dummy
    FROM HZ_CUST_ACCOUNT_ROLES
    WHERE CUST_ACCOUNT_ROLE_ID = p_column_value
    AND   CUST_ACCOUNT_ID      = p_customer_id;
Line: 10789

    SELECT 'Y' INTO l_dummy
    FROM HZ_CUST_ACCOUNT_ROLES
    WHERE CUST_ACCOUNT_ROLE_ID = p_column_value;
Line: 10814

    SELECT 'Y' INTO l_dummy
    FROM PER_ALL_PEOPLE_F
    WHERE PERSON_ID = p_column_value
      /* Bug 3591694.
         Retrieve only those records, which are effective on sysdate.
         Both effective_start_date and effective_end_date are not null columns and
         as such there is no need to explicitely do a NVL.
       */
      AND EFFECTIVE_START_DATE <= SYSDATE
      AND EFFECTIVE_END_DATE >= SYSDATE
      AND ROWNUM = 1;
Line: 10847

    SELECT 'Y' INTO l_dummy
    FROM AR_COLLECTORS
    WHERE COLLECTOR_ID = p_column_value;
Line: 10872

    SELECT 'Y' INTO l_dummy
    FROM HZ_PARTIES
    WHERE PARTY_ID = p_column_value;
Line: 10898

        SELECT 'Y' INTO l_dummy
        FROM HZ_PARTY_SITES
        WHERE PARTY_SITE_ID = p_column_value;
Line: 10923

    SELECT 'Y' INTO l_dummy
    FROM FND_CURRENCIES
    WHERE CURRENCY_CODE = p_column_value
    AND   CURRENCY_FLAG = 'Y'
    AND   ENABLED_FLAG  = 'Y'
    AND   TRUNC(SYSDATE) BETWEEN TRUNC(NVL(START_DATE_ACTIVE,SYSDATE))
                         AND     TRUNC(NVL(END_DATE_ACTIVE,SYSDATE));
Line: 10958

        SELECT MIN(ORG_ID) INTO l_org_id
        FROM AR_SYSTEM_PARAMETERS;
Line: 11001

     SELECT 'Y'
     into  l_dummy
     from  ra_terms_b
     where term_id = p_column_value
--     and   billing_cycle_id is null
     and   trunc(sysdate) between
           start_date_active and nvl(end_date_active,trunc(sysdate));
Line: 11009

     SELECT 'Y' INTO l_dummy
     FROM RA_TERMS ra
     WHERE ra.term_id = p_column_value
     AND   trunc(sysdate) between START_DATE_ACTIVE and nvl(END_DATE_ACTIVE,trunc(sysdate));
Line: 11038

         SELECT 'Y'
         into  l_dummy
         from  ra_terms_b
         where term_id = p_column_value
         and   billing_cycle_id is null
         and   trunc(sysdate) between
               start_date_active and nvl(end_date_active,trunc(sysdate));
Line: 11056

         SELECT 'Y'
         into  l_dummy
         from  ra_terms_b t
         where t.term_id = p_column_value
         and   t.billing_cycle_id is not null
         and   trunc(sysdate) between
               t.start_date_active  and nvl(t.end_date_active,trunc(sysdate));
Line: 11086

     SELECT 'Y'
     into  l_dummy
     from  AR_STANDARD_TEXT
     where STANDARD_TEXT_ID = p_column_value
     and   trunc(sysdate) between
           start_date and nvl(end_date,trunc(sysdate));
Line: 11112

     SELECT 'Y'
     into  l_dummy
     from  gl_daily_conversion_types
     where conversion_type <> 'USER'
     and   conversion_type = p_column_value;
Line: 11138

     SELECT 'Y'
     into  l_dummy
     from  ar_charge_schedules
     where schedule_id = p_column_value;
Line: 11161

    SELECT 'Y' INTO l_dummy
     FROM AR_RECEIVABLES_TRX_ALL art
     WHERE art.receivables_trx_id = p_column_value
     AND   status = 'A'
     AND   art.org_id = p_org_id;  -- Bug 3456489
Line: 11186

     SELECT 'Y' INTO l_dummy
     FROM  SO_PRICE_LISTS pl
     WHERE pl.price_list_id = p_column_value
     AND   sysdate between nvl(pl.start_date_active,sysdate) and nvl(pl.end_date_active,sysdate);
Line: 11191

     SELECT  'Y'
     INTO    l_dummy
     FROM    qp_list_headers_b lh
     WHERE   list_header_id = p_column_value
     AND     list_type_code = 'PRL'
     AND     (sysdate between nvl(lh.start_date_active,sysdate) and nvl(lh.end_date_active,sysdate)
     AND     nvl(active_flag, 'N') = 'Y');
Line: 11217

     SELECT 'Y' INTO l_dummy
     FROM MTL_CROSS_REFERENCE_TYPES mtl
     WHERE mtl.cross_reference_type = p_column_value;
Line: 11253

    SELECT 'Y' INTO l_dummy
    FROM zx_output_classifications_v
    WHERE lookup_type = 'ZX_OUTPUT_CLASSIFICATIONS'
    AND lookup_code = p_column_value
    AND trunc(sysdate) BETWEEN trunc(start_date_active) AND nvl(trunc(end_date_active),trunc(sysdate))
    AND enabled_flag = 'Y'
    -- Bug 5136396
    AND org_id IN (l_org_id, -99)
    AND ROWNUM = 1;
Line: 11267

    SELECT 'Y' INTO l_dummy
    FROM AR_VAT_TAX_ALL avt
    WHERE avt.tax_code = p_column_value
    AND trunc(SYSDATE) BETWEEN START_DATE AND NVL(END_DATE,trunc(sysdate))
    AND avt.enabled_flag = 'Y'
    AND avt.tax_class = 'O'
    AND avt.displayed_flag = 'Y'
    AND avt.set_of_books_id = l_sob_id
    AND avt.org_id = p_org_id;
Line: 11294

    SELECT 'Y' INTO l_dummy
    FROM ORG_ORGANIZATION_DEFINITIONS org
    WHERE org.organization_id = p_column_value
    AND trunc(sysdate) <= nvl(trunc(org.disable_date),trunc(sysdate));
Line: 11320

SELECT 'Y' INTO l_dummy
     -- FROM RA_SALESREPS ras   -- Bug 3456489
     FROM  JTF_RS_SALESREP ras
     WHERE ras.salesrep_id = p_column_value
     AND   ras.org_id = p_org_id
     AND sysdate between nvl(start_date_active,sysdate) and nvl(end_date_active,sysdate)
     AND nvl(status, 'A') = 'A'
     AND salesrep_id NOT IN( -1,-2);
Line: 11351

     SELECT 'Y' INTO l_dummy
     FROM   OE_ORDER_TYPES_V ot
     WHERE ot.order_type_id = p_column_value
     AND   sysdate between nvl(ot.start_date_active,sysdate) and nvl(ot.end_date_active,sysdate);
Line: 11359

        SELECT 'Y' INTO l_dummy
        FROM    OE_TRANSACTION_TYPES_ALL ot
        WHERE   ot.order_type_id = p_column_value
        AND     ot.transaction_type_code = 'ORDER'
        AND     ot.org_id = p_org_id
        AND     sysdate between nvl(ot.start_date_active,sysdate)
                and nvl(ot.end_date_active,sysdate);
Line: 11452

    SELECT 'Y' into l_dummy
        FROM   ar_autocash_hierarchies h
        WHERE  h.status = 'A'
        AND    h.autocash_hierarchy_id =
               p_column_value;
Line: 11477

    SELECT 'Y' into l_dummy
        FROM   ar_statement_cycles sc
        WHERE  sc.status = 'A'
        AND    sc.statement_cycle_id =
               p_column_value;
Line: 11502

      SELECT 'Y' into l_dummy
        FROM   ar_dunning_letter_sets dls
        WHERE  dls.status = 'A'
        AND    dls.dunning_letter_set_id =
               p_column_value;
Line: 11536

         SELECT 'Y'
         into  l_dummy
         from  ra_terms_b
         where term_id = p_column_value
--         and   billing_cycle_id is null
         and   trunc(sysdate) between
               start_date_active and nvl(end_date_active,trunc(sysdate));
Line: 11567

         SELECT 'Y'
         into  l_dummy
         from  ra_terms_b t
         where t.term_id = p_column_value
         and   t.billing_cycle_id is not null
         and   trunc(sysdate) between
               t.start_date_active  and nvl(t.end_date_active,trunc(sysdate));
Line: 11586

      SELECT   'Y' into l_dummy
        FROM     ra_terms t
        WHERE    trunc(sysdate)
        BETWEEN  t.start_date_active AND
                 nvl(t.end_date_active,trunc(sysdate))
        AND      t.term_id =
                 p_column_value;
Line: 11613

     SELECT   'Y' into l_dummy
        FROM     ra_grouping_rules gr
        WHERE    trunc(sysdate)
        BETWEEN  gr.start_date AND
                 nvl(gr.end_date,trunc(sysdate))
        AND      gr.grouping_rule_id =
                 p_column_value;
Line: 11899

                SELECT 'Y' INTO l_dummy
                FROM   AR_LOOKUPS
                WHERE  LOOKUP_TYPE = l_lookup_type
                AND    LOOKUP_CODE = l_lookup_code
                AND    ( ENABLED_FLAG = 'Y' AND
                         TRUNC( SYSDATE ) BETWEEN
                         TRUNC(NVL( START_DATE_ACTIVE,SYSDATE ) ) AND
                         TRUNC(NVL( END_DATE_ACTIVE,SYSDATE ) ) );
Line: 11915

                SELECT 'Y' INTO l_dummy
                FROM   SO_LOOKUPS
                WHERE  LOOKUP_TYPE = l_lookup_type
                AND    LOOKUP_CODE = l_lookup_code
                AND    ( ENABLED_FLAG = 'Y' AND
                         TRUNC( SYSDATE ) BETWEEN
                         TRUNC(NVL( START_DATE_ACTIVE,SYSDATE ) ) AND
                         TRUNC(NVL( END_DATE_ACTIVE,SYSDATE ) ) );
Line: 11931

                SELECT 'Y' INTO l_dummy
                FROM   OE_SHIP_METHODS_V
                WHERE  LOOKUP_TYPE = l_lookup_type
                AND    LOOKUP_CODE = l_lookup_code
                AND    ( ENABLED_FLAG = 'Y' AND
                         TRUNC( SYSDATE ) BETWEEN
                         TRUNC(NVL( START_DATE_ACTIVE,SYSDATE ) ) AND
                         TRUNC(NVL( END_DATE_ACTIVE,SYSDATE ) ) )
                AND    ROWNUM = 1;
Line: 11948

                SELECT 'Y' INTO l_dummy
                FROM   OE_LOOKUPS
                WHERE  LOOKUP_TYPE = l_lookup_type
                AND    LOOKUP_CODE = l_lookup_code
                AND    ( ENABLED_FLAG = 'Y' AND
                         TRUNC( SYSDATE ) BETWEEN
                         TRUNC(NVL( START_DATE_ACTIVE,SYSDATE ) ) AND
                         TRUNC(NVL( END_DATE_ACTIVE,SYSDATE ) ) )
                AND    ROWNUM = 1;
Line: 11965

                SELECT 'Y' INTO l_dummy
                FROM   FND_COMMON_LOOKUPS
                WHERE  LOOKUP_TYPE = l_lookup_type
                AND    LOOKUP_CODE = l_lookup_code
                AND    ( ENABLED_FLAG = 'Y' AND
                         TRUNC( SYSDATE ) BETWEEN
                         TRUNC(NVL( START_DATE_ACTIVE,SYSDATE ) ) AND
                         TRUNC(NVL( END_DATE_ACTIVE,SYSDATE ) ) )
                AND    ROWNUM = 1;
Line: 11982

                SELECT 'Y' INTO l_dummy
                FROM   FND_LOOKUP_VALUES
                WHERE  LOOKUP_TYPE = l_lookup_type
                AND    LOOKUP_CODE = l_lookup_code
                AND    ( ENABLED_FLAG = 'Y' AND
                         TRUNC( SYSDATE ) BETWEEN
                         TRUNC(NVL( START_DATE_ACTIVE,SYSDATE ) ) AND
                         TRUNC(NVL( END_DATE_ACTIVE,SYSDATE ) ) )
                AND    ROWNUM = 1;
Line: 12013

    p_create_update_flag                    IN     VARCHAR2,
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     VARCHAR2,
    p_restricted                            IN     VARCHAR2 DEFAULT 'N',
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_error                                 BOOLEAN := FALSE;
Line: 12025

        IF ( p_create_update_flag = 'C' AND
             ( p_column_value IS NULL OR
               p_column_value = FND_API.G_MISS_CHAR ) ) OR
           ( p_create_update_flag = 'U' AND
             p_column_value = FND_API.G_MISS_CHAR )
        THEN
            l_error := TRUE;
Line: 12051

    p_create_update_flag                    IN     VARCHAR2,
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     NUMBER,
    p_restricted                            IN     VARCHAR2 DEFAULT 'N',
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_error                                 BOOLEAN := FALSE;
Line: 12063

        IF ( p_create_update_flag = 'C' AND
             ( p_column_value IS NULL OR
               p_column_value = FND_API.G_MISS_NUM ) ) OR
           ( p_create_update_flag = 'U' AND
             p_column_value = FND_API.G_MISS_NUM )
        THEN
            l_error := TRUE;
Line: 12089

    p_create_update_flag                    IN     VARCHAR2,
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     DATE,
    p_restricted                            IN     VARCHAR2 DEFAULT 'N',
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_error                                 BOOLEAN := FALSE;
Line: 12101

        IF ( p_create_update_flag = 'C' AND
             ( p_column_value IS NULL OR
               p_column_value = FND_API.G_MISS_DATE ) ) OR
           ( p_create_update_flag = 'U' AND
             p_column_value = FND_API.G_MISS_DATE )
        THEN
            l_error := TRUE;
Line: 12126

PROCEDURE validate_nonupdateable (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     VARCHAR2,
    p_old_column_value                      IN     VARCHAR2,
    p_restricted                            IN     VARCHAR2 DEFAULT 'Y',
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_error                                 BOOLEAN := FALSE;
Line: 12160

        FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
Line: 12166

END validate_nonupdateable;
Line: 12168

PROCEDURE validate_nonupdateable (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     NUMBER,
    p_old_column_value                      IN     NUMBER,
    p_restricted                            IN     VARCHAR2 DEFAULT 'Y',
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_error                                 BOOLEAN := FALSE;
Line: 12202

        FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
Line: 12208

END validate_nonupdateable;
Line: 12210

PROCEDURE validate_nonupdateable (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     DATE,
    p_old_column_value                      IN     DATE,
    p_restricted                            IN     VARCHAR2 DEFAULT 'Y',
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_error                                 BOOLEAN := FALSE;
Line: 12244

        FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_COLUMN' );
Line: 12250

END validate_nonupdateable;
Line: 12253

    p_create_update_flag                    IN     VARCHAR2,
    p_start_date_column_name                IN     VARCHAR2,
    p_start_date                            IN     DATE,
    p_old_start_date                        IN     DATE,
    p_end_date_column_name                  IN     VARCHAR2,
    p_end_date                              IN     DATE,
    p_old_end_date                          IN     DATE,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_start_date                            DATE := p_old_start_date;
Line: 12268

    IF p_create_update_flag = 'C' THEN
        l_start_date := p_start_date;
Line: 12271

    ELSIF p_create_update_flag = 'U' THEN
        IF p_start_date IS NOT NULL
        THEN
            IF p_start_date = FND_API.G_MISS_DATE THEN
                l_start_date := NULL;
Line: 12306

PROCEDURE validate_cannot_update_to_null (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     VARCHAR2,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

BEGIN

    IF p_column_value = FND_API.G_MISS_CHAR THEN
        FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_TO_NULL' );
Line: 12321

END validate_cannot_update_to_null;
Line: 12323

PROCEDURE validate_cannot_update_to_null (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     NUMBER,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

BEGIN

    IF p_column_value = FND_API.G_MISS_NUM THEN
        FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_TO_NULL' );
Line: 12338

END validate_cannot_update_to_null;
Line: 12340

PROCEDURE validate_cannot_update_to_null (
    p_column                                IN     VARCHAR2,
    p_column_value                          IN     DATE,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

BEGIN

    IF p_column_value = FND_API.G_MISS_DATE THEN
        FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NONUPDATEABLE_TO_NULL' );
Line: 12355

END validate_cannot_update_to_null;
Line: 12404

 *     p_create_update_flag      create update flag
 *     p_created_by_module       created by module
 *     p_old_created_by_module   old value of created by module
 *     x_return_status           return status
 */

PROCEDURE validate_created_by_module (
    p_create_update_flag          IN     VARCHAR2,
    p_created_by_module           IN     VARCHAR2,
    p_old_created_by_module       IN     VARCHAR2,
    x_return_status               IN OUT NOCOPY VARCHAR2
) IS

    l_column                      CONSTANT VARCHAR2(30) := 'created_by_module';
Line: 12427

      IF p_create_update_flag = 'C' THEN
        validate_mandatory (
          p_create_update_flag     => p_create_update_flag,
          p_column                 => l_column,
          p_column_value           => p_created_by_module,
          x_return_status          => x_return_status);
Line: 12446

      IF p_create_update_flag = 'U' AND
         p_created_by_module IS NOT NULL
      THEN
        validate_nonupdateable (
          p_column                 => l_column,
          p_column_value           => p_created_by_module,
          p_old_column_value       => p_old_created_by_module,
          p_restricted             => 'N',
          x_return_status          => x_return_status);
Line: 12459

            p_message              => l_column || ' is non-updateable. It can be updated from NULL to a value. ' ||
                                      'x_return_status = ' || x_return_status,
            p_msg_level            => fnd_log.level_statement);
Line: 12469

       (p_create_update_flag = 'C' OR
        (p_create_update_flag = 'U' AND
         (p_old_created_by_module IS NULL OR
          p_created_by_module <> p_old_created_by_module)))
    THEN
      validate_lookup (
        p_column                   => l_column,
        p_lookup_type              => 'HZ_CREATED_BY_MODULES',
        p_column_value             => p_created_by_module,
        x_return_status            => x_return_status);
Line: 12507

 *     p_create_update_flag      create update flag
 *     p_application_id          application id
 *     p_old_application_id      old value of application id
 *     x_return_status           return status
 */

PROCEDURE validate_application_id (
    p_create_update_flag          IN     VARCHAR2,
    p_application_id              IN     NUMBER,
    p_old_application_id          IN     NUMBER,
    x_return_status               IN OUT NOCOPY VARCHAR2
) IS

    l_column                      CONSTANT VARCHAR2(30) := 'application_id';
Line: 12529

      IF p_create_update_flag = 'U' AND
         p_application_id IS NOT NULL
      THEN
        validate_nonupdateable (
          p_column                 => l_column,
          p_column_value           => p_application_id,
          p_old_column_value       => p_old_application_id,
          p_restricted             => 'N',
          x_return_status          => x_return_status);
Line: 12542

            p_message              => l_column || ' is non-updateable. It can be updated from NULL to a value. ' ||
                                      'x_return_status = ' || x_return_status,
            p_msg_level            => fnd_log.level_statement);
Line: 12560

    p_create_update_flag                    IN     VARCHAR2,
    p_customer_profile_rec                  IN     HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE,
    x_return_status                         IN OUT NOCOPY VARCHAR2
) IS

    l_profile_class_rec                     HZ_CUST_PROFILE_CLASSES%ROWTYPE;
Line: 12584

            SELECT COUNT(*)
            INTO  l_bill_level_count
            FROM  ar_lookups
            WHERE lookup_type = 'HZ_CONS_BILL_LEVEL'
            AND   lookup_code = p_customer_profile_rec.cons_bill_level
            AND   TRUNC(SYSDATE) BETWEEN NVL(start_date_active,SYSDATE) AND NVL(end_date_active, SYSDATE+1)
            AND   enabled_flag = 'Y';
Line: 12602

         SELECT COUNT(*)
         INTO  l_bill_type_count
         FROM  ar_lookups
         WHERE lookup_type = 'HZ_CONS_INV_TYPE'
         AND   lookup_code = p_customer_profile_rec.cons_inv_type
         AND   TRUNC(SYSDATE) BETWEEN NVL(start_date_active,SYSDATE) AND NVL(end_date_active, SYSDATE+1)
         AND   enabled_flag = 'Y'
         AND   lookup_code <> 'IMPORTED';
Line: 12618

         SELECT COUNT(*)
         INTO  l_bill_type_count
         FROM  ar_lookups
         WHERE lookup_type = 'HZ_CONS_INV_TYPE'
         AND   lookup_code = p_customer_profile_rec.cons_inv_type
         AND   TRUNC(SYSDATE) BETWEEN NVL(start_date_active,SYSDATE) AND NVL(end_date_active, SYSDATE+1)
         AND   enabled_flag = 'Y';