2: -- $Header: PARRESVB.pls 120.8.12010000.5 2009/07/03 11:14:08 nisinha ship $
3: g_profile_id NUMBER := 0;
4: g_person_id NUMBER := 0;
5:
6: l_profile varchar2(30) := NVL(FND_PROFILE.value('PA_AVAILABILITY_CAL_PERIOD'), 'DAILY'); /* Added the global profile call for bug 4930256 */
7:
8: Procedure Set_No_of_Days
9: (p_no_of_days IN NUMBER)
10: IS
27: IS
28: l_start_date DATE := '';
29: l_end_date DATE := '';
30: l_available_date DATE := '';
31: l_avl_profile VARCHAR2(240) := FND_NUMBER.CANONICAL_TO_NUMBER(fnd_profile.value('PA_RES_CAPACITY_PERCENTAGE'));
32:
33: -- new cursor to get available from date using pa_res_availability
34: -- table (PA.K enhancements)
35: CURSOR get_available_from IS
1209: , p_program_id
1210: , sysdate
1211: , sysdate
1212: /*----- Bug 1992257 commented
1213: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1214: , sysdate
1215: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1216: , TO_NUMBER(FND_PROFILE.VALUE('LOGIN_ID'))
1217: End of Comment, added next 4 lines */
1211: , sysdate
1212: /*----- Bug 1992257 commented
1213: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1214: , sysdate
1215: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1216: , TO_NUMBER(FND_PROFILE.VALUE('LOGIN_ID'))
1217: End of Comment, added next 4 lines */
1218: , TO_NUMBER(FND_GLOBAL.USER_ID)
1219: , sysdate
1212: /*----- Bug 1992257 commented
1213: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1214: , sysdate
1215: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1216: , TO_NUMBER(FND_PROFILE.VALUE('LOGIN_ID'))
1217: End of Comment, added next 4 lines */
1218: , TO_NUMBER(FND_GLOBAL.USER_ID)
1219: , sysdate
1220: , TO_NUMBER(FND_GLOBAL.USER_ID)
1330: , p_program_id
1331: , sysdate
1332: , sysdate
1333: /*----- Bug 1992257 commented
1334: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1335: , sysdate
1336: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1337: , TO_NUMBER(FND_PROFILE.VALUE('LOGIN_ID'))
1338: End of Comment, added next 4 lines */
1332: , sysdate
1333: /*----- Bug 1992257 commented
1334: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1335: , sysdate
1336: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1337: , TO_NUMBER(FND_PROFILE.VALUE('LOGIN_ID'))
1338: End of Comment, added next 4 lines */
1339: , TO_NUMBER(FND_GLOBAL.USER_ID)
1340: , sysdate
1333: /*----- Bug 1992257 commented
1334: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1335: , sysdate
1336: , TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))
1337: , TO_NUMBER(FND_PROFILE.VALUE('LOGIN_ID'))
1338: End of Comment, added next 4 lines */
1339: , TO_NUMBER(FND_GLOBAL.USER_ID)
1340: , sysdate
1341: , TO_NUMBER(FND_GLOBAL.USER_ID)
1514: p_avl_from_date IN DATE)
1515: RETURN DATE
1516: IS
1517: l_avl_to_date DATE;
1518: l_avl_profile NUMBER := FND_NUMBER.CANONICAL_TO_NUMBER(fnd_profile.value('PA_RES_CAPACITY_PERCENTAGE')); -- 4725606
1519: BEGIN
1520:
1521: IF p_avl_from_date is not null THEN
1522:
1525: from pa_res_availability
1526: where resource_id = p_resource_id
1527: and record_type = 'C'
1528: and start_date > p_avl_from_date
1529: -- Commented for 4725606 and percent < FND_NUMBER.CANONICAL_TO_NUMBER(fnd_profile.value('PA_RES_CAPACITY_PERCENTAGE'));
1530: and percent < l_avl_profile ; -- 4725606
1531:
1532: ELSE
1533: l_avl_to_date := null;
1561: p_ovc_from_date IN DATE)
1562: RETURN DATE
1563: IS
1564: l_ovc_to_date DATE;
1565: l_ovc_profile NUMBER := FND_NUMBER.CANONICAL_TO_NUMBER(fnd_profile.value('PA_OVERCOMMITMENT_PERCENTAGE')); -- 4725606
1566: BEGIN
1567:
1568: IF p_ovc_from_date is not null THEN
1569: select min(start_date)-1
1571: from pa_res_availability
1572: where resource_id = p_resource_id
1573: and record_type = 'C'
1574: and start_date > p_ovc_from_date
1575: -- Commented for 4725606 and -1 * percent < FND_NUMBER.CANONICAL_TO_NUMBER(fnd_profile.value('PA_OVERCOMMITMENT_PERCENTAGE'));
1576: and -1 * percent < l_ovc_profile ; -- 4725606
1577: ELSE
1578: l_ovc_to_date := null;
1579: END IF;
1836: l_last_updated_by := fnd_global.user_id;
1837: l_last_update_login := fnd_global.login_id;
1838:
1839: -- commented out for perf bug 4930256
1840: -- l_profile := FND_PROFILE.VALUE_SPECIFIC('PA_AVAILABILITY_CAL_PERIOD');
1841:
1842: --Dynamic SQL is being used as Oracle 8i PL/SQL does not support
1843: --Analytic functions
1844:
2997:
2998: END LOOP;
2999:
3000: -- commented out for perf bug 4930256
3001: -- l_profile := FND_PROFILE.VALUE_SPECIFIC('PA_AVAILABILITY_CAL_PERIOD');
3002:
3003: delete
3004: from PA_RES_AVAILABILITY where RESOURCE_ID = -1; --Added for bug 4928773
3005:
3069: l_return_status VARCHAR2(1);
3070: l_error_message_code fnd_new_messages.message_name%TYPE;
3071: BEGIN
3072:
3073: l_org_id := fnd_profile.value_specific(
3074: name => 'PA_STAFF_HOME_DEF_ORG',
3075: user_id => p_user_id);
3076:
3077: IF l_org_id IS NULL THEN