1: PACKAGE BODY HZ_CUST_PROF_CLASS_AMTS_PKG AS
2: /*$Header: ARHPCMTB.pls 120.3 2006/02/24 00:26:37 baianand ship $ */
3:
4: PROCEDURE Insert_Row (
5: X_PROFILE_CLASS_AMOUNT_ID IN OUT NOCOPY NUMBER,
89: BEGIN
90:
91: WHILE l_success = 'N' LOOP
92: BEGIN
93: INSERT INTO HZ_CUST_PROF_CLASS_AMTS (
94: PROFILE_CLASS_AMOUNT_ID,
95: LAST_UPDATED_BY,
96: LAST_UPDATE_DATE,
97: CREATED_BY,
181: PENALTY_FIXED_AMOUNT,
182: PENALTY_SCHEDULE_ID
183: )
184: VALUES (
185: DECODE( X_PROFILE_CLASS_AMOUNT_ID, FND_API.G_MISS_NUM, HZ_CUST_PROF_CLASS_AMTS_S.NEXTVAL, NULL, HZ_CUST_PROF_CLASS_AMTS_S.NEXTVAL, X_PROFILE_CLASS_AMOUNT_ID ),
186: HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
187: HZ_UTILITY_V2PUB.LAST_UPDATE_DATE,
188: HZ_UTILITY_V2PUB.CREATED_BY,
189: HZ_UTILITY_V2PUB.CREATION_DATE,
279: l_success := 'Y';
280:
281: EXCEPTION
282: WHEN DUP_VAL_ON_INDEX THEN
283: IF INSTRB( SQLERRM, 'HZ_CUST_PROF_CLASS_AMTS_U1' ) <> 0 OR
284: INSTRB( SQLERRM, 'HZ_CUST_PROF_CLASS_AMTS_PK' ) <> 0
285: THEN
286: DECLARE
287: l_count NUMBER;
280:
281: EXCEPTION
282: WHEN DUP_VAL_ON_INDEX THEN
283: IF INSTRB( SQLERRM, 'HZ_CUST_PROF_CLASS_AMTS_U1' ) <> 0 OR
284: INSTRB( SQLERRM, 'HZ_CUST_PROF_CLASS_AMTS_PK' ) <> 0
285: THEN
286: DECLARE
287: l_count NUMBER;
288: l_dummy VARCHAR2(1);
288: l_dummy VARCHAR2(1);
289: BEGIN
290: l_count := 1;
291: WHILE l_count > 0 LOOP
292: SELECT HZ_CUST_PROF_CLASS_AMTS_S.NEXTVAL
293: INTO X_PROFILE_CLASS_AMOUNT_ID FROM dual;
294: BEGIN
295: SELECT 'Y' INTO l_dummy
296: FROM HZ_CUST_PROF_CLASS_AMTS
292: SELECT HZ_CUST_PROF_CLASS_AMTS_S.NEXTVAL
293: INTO X_PROFILE_CLASS_AMOUNT_ID FROM dual;
294: BEGIN
295: SELECT 'Y' INTO l_dummy
296: FROM HZ_CUST_PROF_CLASS_AMTS
297: WHERE PROFILE_CLASS_AMOUNT_ID = X_PROFILE_CLASS_AMOUNT_ID;
298: l_count := 1;
299: EXCEPTION
300: WHEN NO_DATA_FOUND THEN
396: ) IS
397:
398: BEGIN
399:
400: UPDATE HZ_CUST_PROF_CLASS_AMTS SET
401: PROFILE_CLASS_AMOUNT_ID = DECODE( X_PROFILE_CLASS_AMOUNT_ID, NULL, PROFILE_CLASS_AMOUNT_ID, FND_API.G_MISS_NUM, NULL, X_PROFILE_CLASS_AMOUNT_ID ),
402: LAST_UPDATED_BY = HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
403: LAST_UPDATE_DATE = HZ_UTILITY_V2PUB.LAST_UPDATE_DATE,
404: CREATED_BY = CREATED_BY,
589: X_PENALTY_SCHEDULE_ID IN NUMBER
590: ) IS
591:
592: CURSOR C IS
593: SELECT * FROM HZ_CUST_PROF_CLASS_AMTS
594: WHERE ROWID = x_Rowid
595: FOR UPDATE NOWAIT;
596: Recinfo C%ROWTYPE;
597:
1129: X_PENALTY_RATE,
1130: X_MIN_INTEREST_CHARGE,
1131: X_PENALTY_FIXED_AMOUNT,
1132: X_PENALTY_SCHEDULE_ID
1133: FROM HZ_CUST_PROF_CLASS_AMTS
1134: WHERE PROFILE_CLASS_AMOUNT_ID = X_PROFILE_CLASS_AMOUNT_ID;
1135:
1136: EXCEPTION
1137: WHEN NO_DATA_FOUND THEN
1148: ) IS
1149:
1150: BEGIN
1151:
1152: DELETE FROM HZ_CUST_PROF_CLASS_AMTS
1153: WHERE PROFILE_CLASS_AMOUNT_ID = X_PROFILE_CLASS_AMOUNT_ID;
1154:
1155: IF ( SQL%NOTFOUND ) THEN
1156: RAISE NO_DATA_FOUND;
1157: END IF;
1158:
1159: END Delete_Row;
1160:
1161: END HZ_CUST_PROF_CLASS_AMTS_PKG;