62: IS
63:
64: /* Local variable section */
65: l_api_name CONSTANT VARCHAR2(30) := 'IS_WORKING_DAY';
66: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
67:
68: CURSOR get_day_cur (c_calendar_id VARCHAR2 , c_cal_date DATE) IS
69: SELECT 1 FROM dual
70: WHERE EXISTS
103:
104: BEGIN
105:
106: /* Set the return status to success initially */
107: x_return_status := FND_API.G_RET_STS_SUCCESS;
108:
109: /* Initialize message list and count if needed */
110: IF p_init_msg_list THEN
111: fnd_msg_pub.initialize;
111: fnd_msg_pub.initialize;
112: END IF;
113:
114: /* Make sure we are call compatible */
115: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
116: ,p_api_version
117: ,'IS_WORKING_DAY'
118: ,GMP_CALENDAR_API.m_pkg_name) THEN
119: x_return_status := FND_API.G_RET_STS_ERROR;
115: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
116: ,p_api_version
117: ,'IS_WORKING_DAY'
118: ,GMP_CALENDAR_API.m_pkg_name) THEN
119: x_return_status := FND_API.G_RET_STS_ERROR;
120: RAISE INVALID_VERSION;
121: END IF;
122:
123: IF ((p_calendar_code is NOT NULL) AND (p_date is NOT NULL ))
162:
163: EXCEPTION
164: WHEN INVALID_DATA_PASSED OR invalid_version THEN
165:
166: x_return_status := FND_API.G_RET_STS_ERROR;
167: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
168: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
169: FND_MSG_PUB.ADD;
170: RETURN FALSE ;
169: FND_MSG_PUB.ADD;
170: RETURN FALSE ;
171:
172: WHEN CALENDAR_REQUIRED THEN
173: x_return_status := FND_API.G_RET_STS_ERROR;
174: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
175: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
176: FND_MSG_PUB.ADD;
177: RETURN FALSE ;
176: FND_MSG_PUB.ADD;
177: RETURN FALSE ;
178:
179: WHEN DATE_OUT_OF_CAL_RANGE THEN
180: x_return_status := FND_API.G_RET_STS_SUCCESS;
181: FND_MESSAGE.SET_NAME('GMP','GMP_DATE_OUT_OF_CAL_RANGE');
182: FND_MSG_PUB.ADD;
183: RETURN TRUE;
184:
182: FND_MSG_PUB.ADD;
183: RETURN TRUE;
184:
185: WHEN PS_INVALID_CALENDAR THEN
186: x_return_status := FND_API.G_RET_STS_ERROR;
187: FND_MESSAGE.SET_NAME('GMP','PS_INVALID_CALENDAR');
188: FND_MSG_PUB.ADD;
189: RETURN FALSE ;
190:
191: WHEN OTHERS THEN
192: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
193: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
194: FND_MSG_PUB.ADD;
195: x_return_status := FND_API.g_ret_sts_unexp_error;
196: RETURN FALSE ;
197: END is_working_day;
198:
199: /*
283:
284: /* Local variable section */
285:
286: l_api_name CONSTANT VARCHAR2(30) := 'GET_CONTIGUOUS_PERIODS';
287: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
288:
289: /* Define Exceptions */
290: CALENDAR_REQUIRED EXCEPTION;
291: CONTIG_PERIODS_FAILURE EXCEPTION;
296:
297: BEGIN
298:
299: /* Set the return status to success initially */
300: x_return_status := FND_API.G_RET_STS_SUCCESS;
301:
302: /* Initialize message list and count if needed */
303: IF p_init_msg_list THEN
304: fnd_msg_pub.initialize;
304: fnd_msg_pub.initialize;
305: END IF;
306:
307: /* Make sure we are call compatible */
308: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
309: ,p_api_version
310: ,'GET_CONTIGUOUS_PERIODS'
311: ,GMP_CALENDAR_API.m_pkg_name) THEN
312: x_return_status := FND_API.G_RET_STS_ERROR;
308: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
309: ,p_api_version
310: ,'GET_CONTIGUOUS_PERIODS'
311: ,GMP_CALENDAR_API.m_pkg_name) THEN
312: x_return_status := FND_API.G_RET_STS_ERROR;
313: RAISE INVALID_VERSION;
314: END IF;
315:
316: /* { */
536: ELSE
537: FND_MESSAGE.SET_NAME('GMP','GMP_ENTER_START_OR_END_DATE');
538: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
539: FND_MSG_PUB.ADD;
540: x_return_status := FND_API.G_RET_STS_ERROR;
541:
542: /* } */
543: END IF ;
544: /* } */
556:
557:
558: EXCEPTION
559: WHEN CONTIG_PERIODS_FAILURE OR INVALID_VERSION THEN
560: x_return_status := FND_API.G_RET_STS_ERROR;
561:
562: WHEN CALENDAR_REQUIRED THEN
563: x_return_status := FND_API.G_RET_STS_ERROR;
564: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
559: WHEN CONTIG_PERIODS_FAILURE OR INVALID_VERSION THEN
560: x_return_status := FND_API.G_RET_STS_ERROR;
561:
562: WHEN CALENDAR_REQUIRED THEN
563: x_return_status := FND_API.G_RET_STS_ERROR;
564: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
565: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
566: FND_MSG_PUB.ADD;
567:
571: WHEN OTHERS THEN
572: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
573: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
574: FND_MSG_PUB.ADD;
575: x_return_status := FND_API.G_RET_STS_ERROR;
576: END get_contiguous_periods;
577: /*
578: ==========================================================================
579: Procedure:
674:
675:
676: EXCEPTION
677: WHEN GMP_DATE_NOT_IN_CAL_RANGE THEN
678: x_return_status := FND_API.G_RET_STS_ERROR;
679: FND_FILE.PUT_LINE(FND_FILE.LOG,'Date Passed is Out of Calendar Range '||X_msg);
680: FND_MESSAGE.SET_NAME('GMP','GMP_DATE_NOT_IN_CAL_RANGE');
681: FND_MSG_PUB.ADD;
682:
680: FND_MESSAGE.SET_NAME('GMP','GMP_DATE_NOT_IN_CAL_RANGE');
681: FND_MSG_PUB.ADD;
682:
683: WHEN ENTER_START_OR_END_DATE THEN
684: x_return_status := FND_API.G_RET_STS_ERROR;
685: FND_FILE.PUT_LINE(FND_FILE.LOG,'Enter Start Or End Date '||X_msg);
686: FND_MESSAGE.SET_NAME('GMP','GMP_ENTER_START_OR_END_DATE');
687: FND_MSG_PUB.ADD;
688:
686: FND_MESSAGE.SET_NAME('GMP','GMP_ENTER_START_OR_END_DATE');
687: FND_MSG_PUB.ADD;
688:
689: WHEN PS_INVALID_CALENDAR THEN
690: x_return_status := FND_API.G_RET_STS_ERROR;
691: FND_MESSAGE.SET_NAME('GMP','PS_INVALID_CALENDAR');
692: FND_MSG_PUB.ADD;
693:
694: WHEN INVALID_VALUE THEN
691: FND_MESSAGE.SET_NAME('GMP','PS_INVALID_CALENDAR');
692: FND_MSG_PUB.ADD;
693:
694: WHEN INVALID_VALUE THEN
695: x_return_status := FND_API.G_RET_STS_ERROR;
696: FND_FILE.PUT_LINE(FND_FILE.LOG,'Invalid Value '||X_field||'-'||X_value);
697: FND_MESSAGE.SET_NAME('GMP','GMP_INVALID_VALUE');
698: FND_MESSAGE.SET_TOKEN('FIELD',X_field);
699: FND_MESSAGE.SET_TOKEN('VALUE',X_value);
748:
749: /* Local variable section */
750:
751: l_api_name CONSTANT VARCHAR2(30) := 'GET_ALL_DATES';
752: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
753:
754: /* Define Exceptions */
755: CALENDAR_REQUIRED EXCEPTION;
756: CHECK_ALL_DATES_FAILURE EXCEPTION;
764:
765: BEGIN
766:
767: /* Set the return status to success initially */
768: x_return_status := FND_API.G_RET_STS_SUCCESS;
769:
770: /* Initialize message list and count if needed */
771: IF p_init_msg_list THEN
772: fnd_msg_pub.initialize;
772: fnd_msg_pub.initialize;
773: END IF;
774:
775: /* Make sure we are call compatible */
776: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
777: ,p_api_version
778: ,'GET_ALL_DATES'
779: ,GMP_CALENDAR_API.m_pkg_name) THEN
780: x_return_status := FND_API.G_RET_STS_ERROR;
776: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
777: ,p_api_version
778: ,'GET_ALL_DATES'
779: ,GMP_CALENDAR_API.m_pkg_name) THEN
780: x_return_status := FND_API.G_RET_STS_ERROR;
781: RAISE INVALID_VERSION;
782: END IF;
783: --
784: IF p_calendar_code is NOT NULL
819: FND_FILE.PUT_LINE(FND_FILE.LOG,'Completed '||l_api_name ||to_char(sysdate,'MM/DD/YYYY HH24:MI:SS'));
820:
821: EXCEPTION
822: WHEN check_all_dates_failure OR invalid_version THEN
823: x_return_status := FND_API.G_RET_STS_ERROR;
824:
825: WHEN CALENDAR_REQUIRED OR VALUE_REQUIRED THEN
826: x_return_status := FND_API.G_RET_STS_ERROR;
827: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
822: WHEN check_all_dates_failure OR invalid_version THEN
823: x_return_status := FND_API.G_RET_STS_ERROR;
824:
825: WHEN CALENDAR_REQUIRED OR VALUE_REQUIRED THEN
826: x_return_status := FND_API.G_RET_STS_ERROR;
827: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
828: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
829: FND_MSG_PUB.ADD;
830:
828: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
829: FND_MSG_PUB.ADD;
830:
831: WHEN INVALID_CAL_RANGE THEN
832: x_return_status := FND_API.G_RET_STS_ERROR;
833: FND_MESSAGE.SET_NAME('GMP','MR_INV_CALENDAR_RANGE');
834: FND_MSG_PUB.ADD;
835:
836: WHEN OTHERS THEN
836: WHEN OTHERS THEN
837: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
838: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
839: FND_MSG_PUB.ADD;
840: x_return_status := FND_API.g_ret_sts_unexp_error;
841:
842: END get_all_dates ;
843:
844: /*
885: i INTEGER := 0 ;
886: /* Local variable section */
887:
888: l_api_name CONSTANT VARCHAR2(30) := 'GET_WORK_DAYS';
889: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
890:
891: /* Define Exceptions */
892: CALENDAR_REQUIRED EXCEPTION;
893: work_days_failure EXCEPTION;
896:
897: BEGIN
898:
899: /* Set the return status to success initially */
900: x_return_status := FND_API.G_RET_STS_SUCCESS;
901:
902: /* Initialize message list and count if needed */
903: IF p_init_msg_list THEN
904: fnd_msg_pub.initialize;
904: fnd_msg_pub.initialize;
905: END IF;
906:
907: /* Make sure we are call compatible */
908: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
909: ,p_api_version
910: ,'GET_WORK_DAYS'
911: ,GMP_CALENDAR_API.m_pkg_name) THEN
912: x_return_status := FND_API.G_RET_STS_ERROR;
908: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
909: ,p_api_version
910: ,'GET_WORK_DAYS'
911: ,GMP_CALENDAR_API.m_pkg_name) THEN
912: x_return_status := FND_API.G_RET_STS_ERROR;
913: RAISE INVALID_VERSION;
914: END IF;
915:
916: IF p_calendar_code is NOT NULL
943: FND_FILE.PUT_LINE(FND_FILE.LOG,'Completed '||l_api_name ||to_char(sysdate,'MM/DD/YYYY HH24:MI:SS'));
944:
945: EXCEPTION
946: WHEN work_days_failure OR invalid_version THEN
947: x_return_status := FND_API.G_RET_STS_ERROR;
948:
949: WHEN CALENDAR_REQUIRED THEN
950: x_return_status := FND_API.G_RET_STS_ERROR;
951: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
946: WHEN work_days_failure OR invalid_version THEN
947: x_return_status := FND_API.G_RET_STS_ERROR;
948:
949: WHEN CALENDAR_REQUIRED THEN
950: x_return_status := FND_API.G_RET_STS_ERROR;
951: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
952: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
953: FND_MSG_PUB.ADD;
954:
955: WHEN OTHERS THEN
956: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
957: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
958: FND_MSG_PUB.ADD;
959: x_return_status := FND_API.g_ret_sts_unexp_error;
960:
961: END get_work_days ;
962:
963: /* ==========================================================================
1000:
1001: /* Local variable section */
1002:
1003: l_api_name CONSTANT VARCHAR2(30) := 'GET_WORKDAY_DETAILS';
1004: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1005:
1006: /* Define Exceptions */
1007: SHOPDAY_NUMBER_REQUIRED EXCEPTION;
1008: WORKDAY_DTLS_FAILURE EXCEPTION;
1013:
1014: BEGIN
1015:
1016: /* Set the return status to success initially */
1017: x_return_status := FND_API.G_RET_STS_SUCCESS;
1018:
1019: /* Initialize message list and count if needed */
1020: IF p_init_msg_list THEN
1021: fnd_msg_pub.initialize;
1021: fnd_msg_pub.initialize;
1022: END IF;
1023:
1024: /* Make sure we are call compatible */
1025: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
1026: ,p_api_version
1027: ,'GET_WORKDAY_DETAILS'
1028: ,GMP_CALENDAR_API.m_pkg_name) THEN
1029: x_return_status := FND_API.G_RET_STS_ERROR;
1025: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
1026: ,p_api_version
1027: ,'GET_WORKDAY_DETAILS'
1028: ,GMP_CALENDAR_API.m_pkg_name) THEN
1029: x_return_status := FND_API.G_RET_STS_ERROR;
1030: RAISE INVALID_VERSION;
1031: END IF;
1032: --
1033: OPEN Cur_shop_day(p_calendar_code , p_shopday_no);
1060: FND_FILE.PUT_LINE(FND_FILE.LOG,'Completed '||l_api_name ||to_char(sysdate,'MM/DD/YYYY HH24:MI:SS'));
1061:
1062: EXCEPTION
1063: WHEN INVALID_VERSION THEN
1064: x_return_status := FND_API.G_RET_STS_ERROR;
1065:
1066: WHEN SHOPDAY_NUMBER_REQUIRED THEN
1067: x_return_status := FND_API.G_RET_STS_ERROR;
1068: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
1063: WHEN INVALID_VERSION THEN
1064: x_return_status := FND_API.G_RET_STS_ERROR;
1065:
1066: WHEN SHOPDAY_NUMBER_REQUIRED THEN
1067: x_return_status := FND_API.G_RET_STS_ERROR;
1068: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
1069: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
1070: FND_MSG_PUB.ADD;
1071:
1069: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
1070: FND_MSG_PUB.ADD;
1071:
1072: WHEN INVALID_SHOPDAY THEN
1073: x_return_status := FND_API.G_RET_STS_ERROR;
1074: FND_MESSAGE.SET_NAME('GMP','GMP_INVALID_SHOPDAY');
1075: FND_MSG_PUB.ADD;
1076:
1077: WHEN OTHERS THEN
1077: WHEN OTHERS THEN
1078: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
1079: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
1080: FND_MSG_PUB.ADD;
1081: x_return_status := FND_API.g_ret_sts_unexp_error;
1082:
1083: END get_workday_details ;
1084:
1085: /* ==========================================================================
1153:
1154:
1155: EXCEPTION
1156: WHEN GMP_SDATE_BEFORE_CAL_SDATE THEN
1157: x_return_status := FND_API.G_RET_STS_ERROR;
1158: FND_MESSAGE.SET_NAME('GMP','GMP_SDATE_BEFORE_CAL_SDATE');
1159: FND_MSG_PUB.ADD;
1160:
1161: WHEN PS_INVALID_CALENDAR THEN
1158: FND_MESSAGE.SET_NAME('GMP','GMP_SDATE_BEFORE_CAL_SDATE');
1159: FND_MSG_PUB.ADD;
1160:
1161: WHEN PS_INVALID_CALENDAR THEN
1162: x_return_status := FND_API.G_RET_STS_ERROR;
1163: FND_MESSAGE.SET_NAME('GMP','PS_INVALID_CALENDAR');
1164: FND_MSG_PUB.ADD;
1165:
1166: WHEN GMP_EDATE_AFTER_CAL_EDATE THEN
1163: FND_MESSAGE.SET_NAME('GMP','PS_INVALID_CALENDAR');
1164: FND_MSG_PUB.ADD;
1165:
1166: WHEN GMP_EDATE_AFTER_CAL_EDATE THEN
1167: x_return_status := FND_API.G_RET_STS_ERROR;
1168: FND_MESSAGE.SET_NAME('GMP','GMP_EDATE_AFTER_CAL_EDATE');
1169: FND_MSG_PUB.ADD;
1170:
1171: WHEN OTHERS THEN
1171: WHEN OTHERS THEN
1172: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
1173: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
1174: FND_MSG_PUB.ADD;
1175: x_return_status := FND_API.g_ret_sts_unexp_error;
1176: end check_cal_data;
1177: /* ==========================================================================
1178: Procedure:
1179: check_all_dates
1256: end If;
1257:
1258: EXCEPTION
1259: WHEN VALUE_REQUIRED THEN
1260: x_return_status := FND_API.G_RET_STS_ERROR;
1261: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
1262: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
1263: FND_MSG_PUB.ADD;
1264: --
1262: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
1263: FND_MSG_PUB.ADD;
1264: --
1265: WHEN INVALID_CAL_RANGE THEN
1266: x_return_status := FND_API.G_RET_STS_ERROR;
1267: FND_MESSAGE.SET_NAME('GMP','MR_INV_CALENDAR_RANGE');
1268: FND_MSG_PUB.ADD;
1269: --
1270: WHEN PS_INVALID_CALENDAR THEN
1267: FND_MESSAGE.SET_NAME('GMP','MR_INV_CALENDAR_RANGE');
1268: FND_MSG_PUB.ADD;
1269: --
1270: WHEN PS_INVALID_CALENDAR THEN
1271: x_return_status := FND_API.G_RET_STS_ERROR;
1272: FND_MESSAGE.SET_NAME('GMP','PS_INVALID_CALENDAR');
1273: FND_MSG_PUB.ADD;
1274: --
1275: WHEN OTHERS THEN
1275: WHEN OTHERS THEN
1276: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
1277: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
1278: FND_MSG_PUB.ADD;
1279: x_return_status := FND_API.g_ret_sts_unexp_error;
1280:
1281: end check_all_dates;
1282:
1283: /*
1311: /* p_ind 0 means start and 1 means end */
1312:
1313: /* Local variable section */
1314: l_api_name CONSTANT VARCHAR2(30) := 'IS_WORKING_DAYTIME';
1315: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1316:
1317: x_date date;
1318:
1319: CURSOR get_datetime_cur (c_calendar_code VARCHAR2, c_cal_date DATE) IS
1346:
1347: BEGIN
1348:
1349: /* Set the return status to success initially */
1350: x_return_status := FND_API.G_RET_STS_SUCCESS;
1351:
1352: /* Initialize message list and count if needed */
1353: IF p_init_msg_list THEN
1354: fnd_msg_pub.initialize;
1354: fnd_msg_pub.initialize;
1355: END IF;
1356:
1357: /* Make sure we are call compatible */
1358: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
1359: ,p_api_version
1360: ,'IS_WORKING_DAYTIME'
1361: ,GMP_CALENDAR_API.m_pkg_name) THEN
1362: x_return_status := FND_API.G_RET_STS_ERROR;
1358: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
1359: ,p_api_version
1360: ,'IS_WORKING_DAYTIME'
1361: ,GMP_CALENDAR_API.m_pkg_name) THEN
1362: x_return_status := FND_API.G_RET_STS_ERROR;
1363: RAISE INVALID_VERSION;
1364: END IF;
1365:
1366: /* Error Out if the Indicator passed not 0 or 1 */
1409:
1410: EXCEPTION
1411: WHEN INVALID_DATA_PASSED OR invalid_version THEN
1412:
1413: x_return_status := FND_API.G_RET_STS_ERROR;
1414: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
1415: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
1416: FND_MSG_PUB.ADD;
1417: RETURN FALSE ;
1416: FND_MSG_PUB.ADD;
1417: RETURN FALSE ;
1418:
1419: WHEN CALENDAR_REQUIRED THEN
1420: x_return_status := FND_API.G_RET_STS_ERROR;
1421: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
1422: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
1423: FND_MSG_PUB.ADD;
1424: RETURN FALSE ;
1423: FND_MSG_PUB.ADD;
1424: RETURN FALSE ;
1425:
1426: WHEN INVALID_VALUE THEN
1427: x_return_status := FND_API.G_RET_STS_ERROR;
1428: FND_FILE.PUT_LINE(FND_FILE.LOG,'Invalid Value '||X_field||'-'||X_value);
1429: FND_MESSAGE.SET_NAME('GMP','GMP_INVALID_VALUE');
1430: FND_MESSAGE.SET_TOKEN('FIELD',X_field);
1431: FND_MESSAGE.SET_TOKEN('VALUE',X_value);
1435: WHEN OTHERS THEN
1436: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
1437: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
1438: FND_MSG_PUB.ADD;
1439: x_return_status := FND_API.g_ret_sts_unexp_error;
1440: RETURN FALSE ;
1441: END IS_WORKING_DAYTIME ;
1442:
1443: -- Bug: 6265867 Kbanddyo added this procedure
1549: X_msg := '';
1550: X_field := '';
1551: X_value := '';
1552: l_date := NULL;
1553: l_return_status := FND_API.G_RET_STS_SUCCESS;
1554: x_return_status := FND_API.G_RET_STS_SUCCESS;
1555:
1556: /* Initialize message list and count if needed */
1557: IF p_init_msg_list THEN
1550: X_field := '';
1551: X_value := '';
1552: l_date := NULL;
1553: l_return_status := FND_API.G_RET_STS_SUCCESS;
1554: x_return_status := FND_API.G_RET_STS_SUCCESS;
1555:
1556: /* Initialize message list and count if needed */
1557: IF p_init_msg_list THEN
1558: fnd_msg_pub.initialize;
1558: fnd_msg_pub.initialize;
1559: END IF;
1560:
1561: /* Make sure we are call compatible */
1562: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
1563: ,p_api_version
1564: ,'GET_NEAREST_WORKDAYTIME'
1565: ,GMP_CALENDAR_API.m_pkg_name) THEN
1566: FND_FILE.PUT_LINE ( FND_FILE.LOG,'if not FND_API.compatible_api_call');
1562: IF NOT FND_API.compatible_api_call ( GMP_CALENDAR_API.m_api_version
1563: ,p_api_version
1564: ,'GET_NEAREST_WORKDAYTIME'
1565: ,GMP_CALENDAR_API.m_pkg_name) THEN
1566: FND_FILE.PUT_LINE ( FND_FILE.LOG,'if not FND_API.compatible_api_call');
1567: x_return_status := FND_API.G_RET_STS_ERROR;
1568: x_date := (sysdate - 9999 ) ;
1569: RAISE INVALID_VERSION;
1570: END IF;
1563: ,p_api_version
1564: ,'GET_NEAREST_WORKDAYTIME'
1565: ,GMP_CALENDAR_API.m_pkg_name) THEN
1566: FND_FILE.PUT_LINE ( FND_FILE.LOG,'if not FND_API.compatible_api_call');
1567: x_return_status := FND_API.G_RET_STS_ERROR;
1568: x_date := (sysdate - 9999 ) ;
1569: RAISE INVALID_VERSION;
1570: END IF;
1571:
1576: THEN
1577: X_field := 'Direction ';
1578: X_value := p_direction;
1579:
1580: x_return_status := FND_API.G_RET_STS_ERROR;
1581: x_date := (sysdate - 9999 ) ;
1582: RAISE INVALID_VALUE;
1583:
1584: END IF;
1598:
1599: IF l_return_status = 'E' THEN
1600:
1601: FND_FILE.PUT_LINE ( FND_FILE.LOG,'IF l_return_status = E');
1602: x_return_status := FND_API.G_RET_STS_ERROR;
1603: x_date := (sysdate - 9999 ) ;
1604: RAISE INVALID_DATA_PASSED;
1605: ELSE
1606: OPEN Is_WorkDayTime(p_calendar_id , p_date) ;
1607: FETCH Is_WorkdayTime INTO l_count ;
1608: CLOSE Is_WorkdayTime ;
1609:
1610: IF l_count = 1 THEN
1611: x_return_status := FND_API.G_RET_STS_SUCCESS;
1612: x_date := p_date ;
1613: ELSE
1614: IF p_direction = 1 THEN
1615: OPEN get_NextDatetime_cur(p_calendar_id , p_date) ;
1620: OPEN get_PrevDatetime_cur(p_calendar_id , p_date) ;
1621: FETCH get_PrevDatetime_cur INTO l_date ;
1622: CLOSE get_PrevDatetime_cur ;
1623: END IF ;
1624: l_return_status := FND_API.G_RET_STS_SUCCESS;
1625: x_return_status := FND_API.G_RET_STS_SUCCESS;
1626: X_date := l_date ;
1627:
1628: END IF ; /* IF l_count = 1 */
1621: FETCH get_PrevDatetime_cur INTO l_date ;
1622: CLOSE get_PrevDatetime_cur ;
1623: END IF ;
1624: l_return_status := FND_API.G_RET_STS_SUCCESS;
1625: x_return_status := FND_API.G_RET_STS_SUCCESS;
1626: X_date := l_date ;
1627:
1628: END IF ; /* IF l_count = 1 */
1629: END IF; /* IF l_return_status = 'E' */
1630: ELSE
1631:
1632:
1633: FND_FILE.PUT_LINE ( FND_FILE.LOG,'last else');
1634: x_return_status := FND_API.G_RET_STS_ERROR;
1635: x_date := (sysdate - 9999 ) ;
1636: X_msg := 'Calendar/Date ';
1637: RAISE CALENDAR_REQUIRED;
1638: END IF;
1637: RAISE CALENDAR_REQUIRED;
1638: END IF;
1639: EXCEPTION
1640: WHEN INVALID_DATA_PASSED OR invalid_version THEN
1641: x_return_status := FND_API.G_RET_STS_ERROR;
1642: x_date := (sysdate - 9999 ) ;
1643: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
1644: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
1645: FND_MSG_PUB.ADD;
1644: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
1645: FND_MSG_PUB.ADD;
1646:
1647: WHEN CALENDAR_REQUIRED THEN
1648: x_return_status := FND_API.G_RET_STS_ERROR;
1649: FND_MESSAGE.SET_NAME('GMP','GMP_VALUE_REQUIRED');
1650: FND_MESSAGE.SET_TOKEN('VALUE_REQUIRED',X_msg);
1651: FND_MSG_PUB.ADD;
1652: x_date := (sysdate - 9999 ) ;
1651: FND_MSG_PUB.ADD;
1652: x_date := (sysdate - 9999 ) ;
1653:
1654: WHEN INVALID_VALUE THEN
1655: x_return_status := FND_API.G_RET_STS_ERROR;
1656: x_date := (sysdate - 9999 ) ;
1657: FND_FILE.PUT_LINE(FND_FILE.LOG,'Invalid Value '||X_field||'-'||X_value);
1658: FND_MESSAGE.SET_NAME('GMP','GMP_INVALID_VALUE');
1659: FND_MESSAGE.SET_TOKEN('FIELD',X_field);
1660: FND_MESSAGE.SET_TOKEN('VALUE',X_value);
1661: FND_MSG_PUB.ADD;
1662:
1663: WHEN OTHERS THEN
1664: x_return_status := FND_API.g_ret_sts_unexp_error;
1665: x_date := (sysdate - 9999 ) ;
1666: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
1667: FND_MESSAGE.SET_TOKEN('ERROR', sqlerrm);
1668: FND_MSG_PUB.ADD;