121: );
122:
123: PROCEDURE validate_lookup (
124: p_column IN VARCHAR2,
125: p_lookup_table IN VARCHAR2 DEFAULT 'AR_LOOKUPS',
126: p_lookup_type IN VARCHAR2,
127: p_column_value IN VARCHAR2,
128: x_return_status IN OUT NOCOPY VARCHAR2
129: );
3151: p_customer_profile_rec.review_cycle <> NVL( l_review_cycle, FND_API.G_MISS_CHAR ) ) )
3152: THEN
3153: validate_lookup (
3154: p_column => 'review_cycle',
3155: p_lookup_table => 'AR_LOOKUPS',
3156: p_lookup_type => 'PERIODIC_REVIEW_CYCLE',
3157: p_column_value => p_customer_profile_rec.review_cycle,
3158: x_return_status => x_return_status );
3159:
3157: p_column_value => p_customer_profile_rec.review_cycle,
3158: x_return_status => x_return_status );
3159:
3160: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
3161: hz_utility_v2pub.debug(p_message=>'review_cycle is lookup code in lookup type PERIODIC_REVIEW_CYCLE in ar_lookups. ' ||
3162: 'x_return_status = ' || x_return_status,
3163: p_prefix =>l_debug_prefix,
3164: p_msg_level=>fnd_log.level_statement);
3165: END IF;
5197: p_customer_profile_rec.credit_classification <> NVL( l_credit_classification, FND_API.G_MISS_CHAR ) ) )
5198: THEN
5199: validate_lookup (
5200: p_column => 'credit_classification',
5201: p_lookup_table => 'AR_LOOKUPS',
5202: p_lookup_type => 'AR_CMGT_CREDIT_CLASSIFICATION',
5203: p_column_value => p_customer_profile_rec.credit_classification,
5204: x_return_status => x_return_status );
5205:
5203: p_column_value => p_customer_profile_rec.credit_classification,
5204: x_return_status => x_return_status );
5205:
5206: IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
5207: hz_utility_v2pub.debug(p_message=>'credit_classification is lookup code in lookup type AR_CMGT_CREDIT_CLASSIFICATION in ar_lookups. ' ||
5208: 'x_return_status = ' || x_return_status,
5209: p_prefix =>l_debug_prefix,
5210: p_msg_level=>fnd_log.level_statement);
5211: END IF;
6172: p_cust_profile_amt_rec.min_fc_invoice_overdue_type <> NVL( l_min_fc_invoice_overdue_type, FND_API.G_MISS_CHAR ) ) )
6173: THEN
6174: validate_lookup (
6175: p_column => 'min_fc_invoice_overdue_type',
6176: p_lookup_table => 'AR_LOOKUPS',
6177: p_lookup_type => 'AR_AMOUNT_PERCENT',
6178: p_column_value => p_cust_profile_amt_rec.min_fc_invoice_overdue_type,
6179: x_return_status => x_return_status );
6180:
6206: p_cust_profile_amt_rec.min_fc_balance_overdue_type <> NVL( l_min_fc_balance_overdue_type, FND_API.G_MISS_CHAR ) ) )
6207: THEN
6208: validate_lookup (
6209: p_column => 'min_fc_balance_overdue_type',
6210: p_lookup_table => 'AR_LOOKUPS',
6211: p_lookup_type => 'AR_AMOUNT_PERCENT',
6212: p_column_value => p_cust_profile_amt_rec.min_fc_balance_overdue_type,
6213: x_return_status => x_return_status );
6214:
6240: p_cust_profile_amt_rec.interest_type <> NVL( l_interest_type, FND_API.G_MISS_CHAR ) ) )
6241: THEN
6242: validate_lookup (
6243: p_column => 'interest_type',
6244: p_lookup_table => 'AR_LOOKUPS',
6245: p_lookup_type => 'AR_INTEREST_PENALTY_TYPE',
6246: p_column_value => p_cust_profile_amt_rec.interest_type,
6247: x_return_status => x_return_status );
6248:
6274: p_cust_profile_amt_rec.penalty_type <> NVL( l_penalty_type, FND_API.G_MISS_CHAR ) ) )
6275: THEN
6276: validate_lookup (
6277: p_column => 'penalty_type',
6278: p_lookup_table => 'AR_LOOKUPS',
6279: p_lookup_type => 'AR_INTEREST_PENALTY_TYPE',
6280: p_column_value => p_cust_profile_amt_rec.penalty_type,
6281: x_return_status => x_return_status );
6282:
12195: l_position1 NUMBER;
12196: l_position2 NUMBER;
12197:
12198: l_lookup_table VARCHAR2(30);
12199: l_lookup_type AR_LOOKUPS.lookup_type%TYPE;
12200: l_lookup_code AR_LOOKUPS.lookup_code%TYPE;
12201:
12202: BEGIN
12203:
12196: l_position2 NUMBER;
12197:
12198: l_lookup_table VARCHAR2(30);
12199: l_lookup_type AR_LOOKUPS.lookup_type%TYPE;
12200: l_lookup_code AR_LOOKUPS.lookup_code%TYPE;
12201:
12202: BEGIN
12203:
12204: -- search for the value
12216: l_lookup_type := SUBSTRB( p_val, l_position1 + G_LENGTH,
12217: l_position2 - l_position1 - G_LENGTH );
12218: l_lookup_code := SUBSTRB( p_val, l_position2 + G_LENGTH );
12219:
12220: IF UPPER( l_lookup_table ) = 'AR_LOOKUPS' THEN
12221: BEGIN
12222: SELECT 'Y' INTO l_dummy
12223: FROM AR_LOOKUPS
12224: WHERE LOOKUP_TYPE = l_lookup_type
12219:
12220: IF UPPER( l_lookup_table ) = 'AR_LOOKUPS' THEN
12221: BEGIN
12222: SELECT 'Y' INTO l_dummy
12223: FROM AR_LOOKUPS
12224: WHERE LOOKUP_TYPE = l_lookup_type
12225: AND LOOKUP_CODE = l_lookup_code
12226: AND ( ENABLED_FLAG = 'Y' AND
12227: TRUNC( SYSDATE ) BETWEEN
12695: END validate_cannot_update_to_null;
12696:
12697: PROCEDURE validate_lookup (
12698: p_column IN VARCHAR2,
12699: p_lookup_table IN VARCHAR2 DEFAULT 'AR_LOOKUPS',
12700: p_lookup_type IN VARCHAR2,
12701: p_column_value IN VARCHAR2,
12702: x_return_status IN OUT NOCOPY VARCHAR2
12703: ) IS
12922: else
12923: if p_customer_profile_rec.cons_bill_level IS NOT NULL then
12924: SELECT COUNT(*)
12925: INTO l_bill_level_count
12926: FROM ar_lookups
12927: WHERE lookup_type = 'HZ_CONS_BILL_LEVEL'
12928: AND lookup_code = p_customer_profile_rec.cons_bill_level
12929: AND TRUNC(SYSDATE) BETWEEN NVL(start_date_active,SYSDATE) AND NVL(end_date_active, SYSDATE+1)
12930: AND enabled_flag = 'Y';
12940: -- For Account use bill level, use Summary or Detail as bill type.
12941: if p_customer_profile_rec.cons_bill_level = 'ACCOUNT' THEN
12942: SELECT COUNT(*)
12943: INTO l_bill_type_count
12944: FROM ar_lookups
12945: WHERE lookup_type = 'HZ_CONS_INV_TYPE'
12946: AND lookup_code = p_customer_profile_rec.cons_inv_type
12947: AND TRUNC(SYSDATE) BETWEEN NVL(start_date_active,SYSDATE) AND NVL(end_date_active, SYSDATE+1)
12948: AND enabled_flag = 'Y'
12956: -- For Site use bill level, use Summary, Detail, or Imported as bill type.
12957: else
12958: SELECT COUNT(*)
12959: INTO l_bill_type_count
12960: FROM ar_lookups
12961: WHERE lookup_type = 'HZ_CONS_INV_TYPE'
12962: AND lookup_code = p_customer_profile_rec.cons_inv_type
12963: AND TRUNC(SYSDATE) BETWEEN NVL(start_date_active,SYSDATE) AND NVL(end_date_active, SYSDATE+1)
12964: AND enabled_flag = 'Y';