The following lines contain the word 'select', 'insert', 'update' or 'delete':
* can be alloed to update/delete through api. *
* *
**************************************************************/
PROCEDURE ADD_RECORD_TO_ERROR_STACK
(
p_adjustment_rec IN GMF_ACTUAL_COST_ADJUSTMENT_PUB.ADJUSTMENT_REC_TYPE
)
IS
BEGIN
IF G_header_logged = 'N'
THEN
G_header_logged := 'Y';
IF P_OPERATION IN ('INSERT', 'UPDATE', 'DELETE', 'GET') THEN
IF p_adjustment_rec.cost_adjust_id IS NOT NULL AND P_OPERATION = 'INSERT' THEN
IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
log_msg('Resetting Cost Adjust Id to NULL for Operation: ' || P_OPERATION);
IF p_adjustment_rec.cost_adjust_id IS NOT NULL AND P_OPERATION IN ('UPDATE', 'DELETE', 'GET') THEN
BEGIN
SELECT adjust_status,
period_id,
cost_Type_id,
organization_id,
inventory_item_id
INTO
l_adjust_status,
p_adjustment_rec.period_id,
p_adjustment_rec.cost_Type_id,
p_adjustment_rec.organization_id,
p_adjustment_rec.inventory_item_id
FROM cm_adjs_dtl
WHERE
cost_adjust_id = p_adjustment_rec.cost_adjust_id
AND ROWNUM = 1;
/* bug 9005515, applied adjustments can be allowwed to updated/deleted
IF l_adjust_status = 1 AND P_OPERATION IN ('UPDATE', 'DELETE') THEN
FND_MESSAGE.SET_NAME('GMF','GMF_API_ACA_APPLIED');
IF P_OPERATION IN ('INSERT', 'UPDATE') THEN
/************************
* Adjust UOM Validation *
************************/
IF (p_adjustment_rec.adjust_qty_uom <> FND_API.G_MISS_CHAR) AND (p_adjustment_rec.adjust_qty_uom IS NOT NULL)
THEN
IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
log_msg('Validating Adjust Qty UOM :' || p_adjustment_rec.adjust_qty_uom);
IF P_OPERATION IN ('UPDATE', 'INSERT') THEN
IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
log_msg('Validating Adjustment Cost');
SELECT 1
INTO l_reason_cnt
FROM cm_reas_cds
WHERE
reason_code = p_adjustment_rec.reason_code
AND delete_mark = 0
AND ROWNUM = 1;
* Delete mark Validation *
*************************/
IF (p_adjustment_rec.delete_mark <> FND_API.G_MISS_NUM) AND (p_adjustment_rec.delete_mark IS NOT NULL) THEN
IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
log_msg('Validating Delete_mark : ' || p_adjustment_rec.delete_mark);
IF p_adjustment_rec.delete_mark NOT IN (0,1) THEN
add_record_to_error_stack(p_adjustment_rec);
FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_DELETE_MARK');
FND_MESSAGE.SET_TOKEN('DELETE_MARK',p_adjustment_rec.delete_mark);
ELSIF (p_adjustment_rec.delete_mark = FND_API.G_MISS_NUM AND p_operation IN ('UPDATE', 'INSERT')) THEN
add_record_to_error_stack(p_adjustment_rec);
FND_MESSAGE.SET_NAME('GMF','GMF_API_DELETE_MARK_REQ');
IF ((p_operation IN ('UPDATE','INSERT')) AND (p_adjustment_rec.delete_mark = 1)) THEN
add_record_to_error_stack(p_adjustment_rec);
SELECT start_date
INTO p_adjustment_rec.adjustment_date
FROM gmf_period_statuses
WHERE period_id = p_adjustment_rec.period_id;
SELECT start_date, end_date
INTO l_start_date, l_end_date
FROM gmf_period_statuses
WHERE period_id = p_adjustment_rec.period_id;
IF p_operation IN ('UPDATE', 'DELETE') THEN
IF p_adjustment_rec.cost_adjust_id IS NULL
AND (p_adjustment_rec.organization_id IS NOT NULL OR p_adjustment_rec.organization_code IS NOT NULL)
AND (p_adjustment_rec.cost_type_id IS NOT NULL OR p_adjustment_rec.cost_mthd_code IS NOT NULL)
AND (p_adjustment_rec.inventory_item_id IS NOT NULL OR p_adjustment_rec.item_number IS NOT NULL)
AND (p_adjustment_rec.period_id IS NOT NULL OR (p_adjustment_rec.calendar_code IS NOT NULL AND p_adjustment_rec.period_code IS NOT NULL))
AND (p_adjustment_rec.cost_cmpntcls_id IS NOT NULL OR p_adjustment_rec.cost_cmpntcls_code IS NOT NULL)
AND p_adjustment_rec.cost_analysis_code IS NOT NULL
AND p_adjustment_rec.adjustment_ind IS NOT NULL
THEN
IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
log_msg(' Fetching Cost Adjust ID for Code Combination for ' ||
' Organization ' || p_adjustment_rec.Organization_id ||
' Cost Type Id ' || p_adjustment_rec.cost_type_id ||
' Item Id ' || p_adjustment_rec.inventory_item_id ||
' Period Id ' || p_adjustment_rec.period_id ||
' Cost Component Class Id ' || p_adjustment_rec.cost_cmpntcls_id ||
' Cost Analysis Code ' || p_adjustment_rec.cost_analysis_code ||
' Adjustment Indicator '||p_adjustment_rec.adjustment_ind ||
' for '|| p_operation);
SELECT cost_adjust_id, adjust_status
INTO p_adjustment_rec.cost_adjust_id, l_adjust_status
FROM cm_adjs_dtl
WHERE organization_id = p_adjustment_rec.organization_id
AND cost_type_id = p_adjustment_rec.cost_type_id
AND inventory_item_id = p_adjustment_rec.inventory_item_id
AND period_id = p_adjustment_rec.period_id
AND cost_cmpntcls_id = p_adjustment_rec.cost_cmpntcls_id
AND cost_analysis_code = p_adjustment_rec.cost_analysis_code
AND adjustment_ind = p_adjustment_rec.adjustment_ind
AND ROWNUM = 1;
/* Bug 9005515, Allow to update the applied adjustments
IF l_adjust_status = 1 THEN
FND_MESSAGE.SET_NAME('GMF','GMF_API_ACA_APPLIED');
/* Don't allow to update/delete GL posted adjustments */
SELECT nvl(gl_posted_ind,0) INTO l_gl_posted_ind
FROM cm_adjs_dtl
WHERE cost_adjust_id = p_adjustment_rec.cost_adjust_id
AND rownum = 1;
log_msg('Can not update/delete adjustment record, which is already posted to GL for adjustment id '
|| p_adjustment_rec.cost_adjust_id);
p_operation => 'INSERT',
x_user_id => l_user_id,
x_return_status => l_return_status
);
log_msg('Calling private API to insert record...');
* UPDATE_ACTUAL_COST_ADJUSTMENT *
* *
* TYPE *
* PUBLIC *
* *
* FUNCTION *
* Updates Actual Cost Adjustment based on the input into table *
* GMF_LOT_COST_ADJUSTMENTS *
* *
* PARAMETERS *
* IN : *
* p_api_version IN NUMBER *
* p_init_msg_list IN VARCHAR2 *
* p_adjustment_rec IN OUT NOCOPY Adjustment_Rec_Type *
* *
* OUT : *
* x_return_status OUT NOCOPY VARCHAR2 *
* x_msg_count OUT NOCOPY VARCHAR2 *
* x_msg_data OUT NOCOPY VARCHAR2 *
* *
* DESCRIPTION *
* This procedure updates Actual Cost Adjustments *
* *
* HISTORY *
* 16-Sep-2005 Anand Thiyagarajan Created *
********************************************************************/
PROCEDURE UPDATE_ACTUAL_COST_ADJUSTMENT
(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
p_commit IN VARCHAR2 := FND_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_adjustment_rec IN OUT NOCOPY GMF_ACTUAL_COST_ADJUSTMENT_PUB.ADJUSTMENT_REC_TYPE
)
IS
/******************
* Local Variables *
******************/
l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_ACTUAL_COST_ADJUSTMENT';
SAVEPOINT UPDATE_ACT_COST_ADJUSTMENT_PUB ;
log_msg('Beginning Public Update Actual Cost Adjustment API');
p_operation => 'UPDATE',
x_user_id => l_user_id,
x_return_status => l_return_status
);
log_msg('Calling private API to update record...');
GMF_ACTUAL_COST_ADJUSTMENT_PVT.UPDATE_ACTUAL_COST_ADJUSTMENT
(
p_api_version => p_api_version,
p_init_msg_list => FND_API.G_FALSE,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_adjustment_rec => p_adjustment_rec
);
ROLLBACK TO UPDATE_ACT_COST_ADJUSTMENT_PUB;
ROLLBACK TO UPDATE_ACT_COST_ADJUSTMENT_PUB;
ROLLBACK TO UPDATE_ACT_COST_ADJUSTMENT_PUB;
END UPDATE_ACTUAL_COST_ADJUSTMENT;
* DELETE_ACTUAL_COST_ADJUSTMENT *
* *
* TYPE *
* PUBLIC *
* *
* FUNCTION *
* Deletes Actual Cost Adjustment based on the input into table *
* GMF_LOT_COST_ADJUSTMENTS *
* *
* PARAMETERS *
* IN : *
* p_api_version IN NUMBER *
* p_init_msg_list IN VARCHAR2 *
* p_adjustment_rec IN OUT NOCOPY Adjustment_Rec_Type *
* *
* OUT : *
* x_return_status OUT NOCOPY VARCHAR2 *
* x_msg_count OUT NOCOPY VARCHAR2 *
* x_msg_data OUT NOCOPY VARCHAR2 *
* *
* DESCRIPTION *
* This procedure deletes Actual Cost Adjustments *
* *
* HISTORY *
* 16-Sep-2005 Anand Thiyagarajan Created *
********************************************************************/
PROCEDURE DELETE_ACTUAL_COST_ADJUSTMENT
(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
p_commit IN VARCHAR2 := FND_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_adjustment_rec IN OUT NOCOPY GMF_ACTUAL_COST_ADJUSTMENT_PUB.ADJUSTMENT_REC_TYPE
)
IS
/******************
* Local Variables *
******************/
l_api_name CONSTANT VARCHAR2(30) := 'DELETE_ACTUAL_COST_ADJUSTMENT';
SAVEPOINT DELETE_ACT_COST_ADJUSTMENT_PUB ;
log_msg('Beginning Public Delete Actual Cost Adjustment API');
p_operation => 'DELETE',
x_user_id => l_user_id,
x_return_status => l_return_status
);
log_msg('Calling private API to delete record...');
GMF_ACTUAL_COST_ADJUSTMENT_PVT.DELETE_ACTUAL_COST_ADJUSTMENT
(
p_api_version => p_api_version,
p_init_msg_list => FND_API.G_FALSE,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_adjustment_rec => p_adjustment_rec
);
ROLLBACK TO DELETE_ACT_COST_ADJUSTMENT_PUB;
ROLLBACK TO DELETE_ACT_COST_ADJUSTMENT_PUB;
ROLLBACK TO DELETE_ACT_COST_ADJUSTMENT_PUB;
END DELETE_ACTUAL_COST_ADJUSTMENT;