147: l_calendar_index := shift_date_tbl.NEXT(l_calendar_index);
148: END LOOP;
149:
150: EXCEPTION WHEN OUT_OF_CAL_EXC THEN
151: x_return_status := fnd_api.g_ret_sts_error;
152: x_error_message := 'DATE OUT OF CALENDAR';
153: IF EAM_PROCESS_WO_PVT. Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Exception raised.No entry found for this date, calendar and exception_set_id combination'||p_shift_num||'in'||p_curr_date) ; END IF ;
154:
155: END;
794:
795: begin
796: -- bug no 3444091
797: if l_res_start_date > l_res_completion_date then
798: x_return_status := fnd_api.g_ret_sts_error;
799: fnd_message.set_name('EAM','EAM_WO_RES_DT_ERR');
800: fnd_message.set_token('RESNO', op_res_info_tbl(i).res_seq_num);
801: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Negative resource duration') ; END IF ;
802: return;
872:
873:
874: EXCEPTION
875: WHEN NO_SFT_EXC THEN
876: x_return_status := fnd_api.g_ret_sts_error;
877: x_error_message := 'NO SHIFT ASSOCIATED TO A RESOURCE';
878: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('No shift found for the resource') ; END IF ;
879:
880: END; /*SCHEDULE_RESOURCES */
1467: l_op_seq_num := op_scd_seq_tbl(l_op_index).op_seq_num;
1468:
1469: -- bug no 3444091
1470: if l_op_start_date > l_op_completion_date then
1471: x_return_status := fnd_api.g_ret_sts_error;
1472: fnd_message.set_name('EAM','EAM_WO_OP_DT_TK_ERR');
1473: fnd_message.set_token('OPNO', l_op_seq_num);
1474: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Negative operation duration') ; END IF ;
1475: return;
1502: p_start_date := NVL(l_min_start_date,NVL(p_start_date,p_completion_date)); --will be Null when there are no operations
1503: p_completion_date := NVL(l_max_completion_date, p_start_date);
1504:
1505: if p_start_date > p_completion_date then
1506: x_return_status := fnd_api.g_ret_sts_error;
1507: fnd_message.set_name('EAM','EAM_WO_DT_TK_ERR');
1508: fnd_message.set_token('WONO', p_wip_entity_id);
1509: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Negative workorder duration') ; END IF ;
1510: return;
1531: p_wip_entity_id IN NUMBER,
1532: p_start_date IN OUT NOCOPY DATE,
1533: p_completion_date IN OUT NOCOPY DATE,
1534: p_validation_level IN NUMBER,
1535: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1536: x_error_message OUT NOCOPY VARCHAR2,
1537: x_return_status OUT NOCOPY VARCHAR2
1538: )
1539: IS
1603: BEGIN
1604:
1605: SAVEPOINT SCHEDULE_WO;
1606:
1607: x_return_status := FND_API.G_RET_STS_SUCCESS;
1608:
1609: l_stmt_num := 10;
1610:
1611: /* For identifying Hour UOM for resource scheduling */
1612: l_hour_uom := fnd_profile.value('BOM:HOUR_UOM_CODE');
1613:
1614: IF l_hour_uom IS NULL THEN
1615: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Value of Profile BOM: Hour UOM is null') ; END IF ;
1616: x_return_status := FND_API.G_RET_STS_ERROR;
1617: l_token_tbl.DELETE;
1618: l_token_tbl(1).token_name := 'PROFILE';
1619: l_token_tbl(1).token_value := 'BOM: Hour UOM';
1620: l_out_mesg_token_tbl := l_mesg_token_tbl;
1895: where wip_entity_id = p_wip_entity_id
1896: and organization_id = p_organization_id;
1897:
1898: if l_wo_start_date > l_wo_end_date then
1899: x_return_status := fnd_api.g_ret_sts_error;
1900: fnd_message.set_name('EAM','EAM_WO_DT_ERR');
1901: fnd_message.set_token('RESNO', p_wip_entity_id);
1902: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Negative workorder duration') ; END IF ;
1903: return;
1907:
1908: --########## Commented out
1909:
1910:
1911: x_return_status := FND_API.G_RET_STS_SUCCESS;
1912:
1913: EXCEPTION
1914: WHEN INVALID_PARAM_EXC THEN
1915: ROLLBACK TO SCHEDULE_WO;
1912:
1913: EXCEPTION
1914: WHEN INVALID_PARAM_EXC THEN
1915: ROLLBACK TO SCHEDULE_WO;
1916: x_return_status := fnd_api.g_ret_sts_error;
1917: x_error_message := ' EAM_RTG_GET_INFO : Statement - '||l_stmt_num||' Invalid parameter - '||l_error_msg;
1918: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Invalid parameter exception') ; END IF ;
1919: WHEN NO_DATA_FOUND THEN
1920: ROLLBACK TO SCHEDULE_WO;
1920: ROLLBACK TO SCHEDULE_WO;
1921:
1922: IF ( l_stmt_num = 60 ) THEN -- change for bug # 16229398 start
1923: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('UOM conversion for base UOM being set for profile BOM: UOM for Hour is end-dated : ' || l_uom_conv) ; END IF ;
1924: x_return_status := FND_API.G_RET_STS_ERROR;
1925: l_token_tbl.DELETE;
1926: l_token_tbl(1).token_name := 'PROFILE';
1927: l_token_tbl(1).token_value := 'BOM: Hour UOM';
1928: l_out_mesg_token_tbl := l_mesg_token_tbl;
1944:
1945: RETURN;
1946:
1947: ELSE -- change for bug # 16229398 end
1948: x_return_status := fnd_api.g_ret_sts_error;
1949: x_error_message := ' EAM_RTG_GET_INFO : Statement - '||l_stmt_num||'No Calendar associated in Org parameters';
1950: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('No calendar associated in Org parameters') ; END IF ;
1951: END IF;
1952: WHEN OTHERS THEN
1950: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('No calendar associated in Org parameters') ; END IF ;
1951: END IF;
1952: WHEN OTHERS THEN
1953: ROLLBACK TO SCHEDULE_WO;
1954: x_return_status := fnd_api.g_ret_sts_unexp_error;
1955: x_error_message := ' EAM_RTG_GET_INFO : Statement - '||l_stmt_num||' Error Message - '||SQLERRM;
1956: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Enters when others exception') ; END IF ;
1957: END;
1958: