The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT
ID,
OBJECT_VERSION_NUMBER,
NAME,
VERSION,
DATE_START,
NVL(DATE_END,OKL_API.G_MISS_DATE) DATE_END,
NVL(DESCRIPTION,G_MISS_CHAR) DESCRIPTION,
SPS_CODE,
DYP_CODE,
ARRAY_YN,
NVL(ATTRIBUTE_CATEGORY,G_MISS_CHAR) ATTRIBUTE_CATEGORY,
NVL(ATTRIBUTE1,G_MISS_CHAR) ATTRIBUTE1,
NVL(ATTRIBUTE2,G_MISS_CHAR) ATTRIBUTE2,
NVL(ATTRIBUTE3,G_MISS_CHAR) ATTRIBUTE3,
NVL(ATTRIBUTE4,G_MISS_CHAR) ATTRIBUTE4,
NVL(ATTRIBUTE5,G_MISS_CHAR) ATTRIBUTE5,
NVL(ATTRIBUTE6,G_MISS_CHAR) ATTRIBUTE6,
NVL(ATTRIBUTE7,G_MISS_CHAR) ATTRIBUTE7,
NVL(ATTRIBUTE8,G_MISS_CHAR) ATTRIBUTE8,
NVL(ATTRIBUTE9,G_MISS_CHAR) ATTRIBUTE9,
NVL(ATTRIBUTE10,G_MISS_CHAR) ATTRIBUTE10,
NVL(ATTRIBUTE11,G_MISS_CHAR) ATTRIBUTE11,
NVL(ATTRIBUTE12,G_MISS_CHAR) ATTRIBUTE12,
NVL(ATTRIBUTE13,G_MISS_CHAR) ATTRIBUTE13,
NVL(ATTRIBUTE14,G_MISS_CHAR) ATTRIBUTE14,
NVL(ATTRIBUTE15,G_MISS_CHAR) ATTRIBUTE15,
CREATED_BY,
LAST_UPDATED_BY,
CREATION_DATE,
LAST_UPDATE_DATE,
NVL(LAST_UPDATE_LOGIN,G_MISS_NUM) LAST_UPDATE_LOGIN
-- start change smahapat 01/11/02 - replace OKL_SIF_PRICE_PARMS_V by OKL_SIF_PRICE_PARMS
FROM OKL_SIF_PRICE_PARMS
WHERE OKL_SIF_PRICE_PARMS.id = p_id;
l_sppv_rec.LAST_UPDATED_BY,
l_sppv_rec.CREATION_DATE,
l_sppv_rec.LAST_UPDATE_DATE,
l_sppv_rec.LAST_UPDATE_LOGIN;
/* Scenario 2: The Changed Field-Values include that needs Validation and Update
* but does not require a new vresion to be created
*/
-- 1) Only End_Date is Changed
ELSIF (p_upd_sppv_rec.date_start = G_MISS_DATE AND
(p_upd_sppv_rec.date_end <> G_MISS_DATE OR
-- IS NULL Condition has been added in case end_date was updated to NULL
p_upd_sppv_rec.date_end IS NULL ) AND
p_upd_sppv_rec.sps_code = G_MISS_CHAR AND
p_upd_sppv_rec.dyp_code = G_MISS_CHAR AND
p_upd_sppv_rec.array_yn = G_MISS_CHAR) OR
-- 2) Critical Attributes are Changed but Start_Date is Today or Future
(p_upd_sppv_rec.date_start = G_MISS_DATE AND
p_db_sppv_rec.date_start >= p_date AND
(p_upd_sppv_rec.sps_code <> G_MISS_CHAR OR
p_upd_sppv_rec.dyp_code <> G_MISS_CHAR OR
p_upd_sppv_rec.array_yn <> G_MISS_CHAR)) OR
-- 3) Start_Date is Changed , but in Future
(p_upd_sppv_rec.date_start <> G_MISS_DATE AND
p_db_sppv_rec.date_start > p_date AND
p_upd_sppv_rec.date_start >= p_date) THEN
l_action := '2';
PROCEDURE check_updates (
p_sppv_rec IN sppv_rec_type,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_data OUT NOCOPY VARCHAR2
) IS
l_sppv_rec sppv_rec_type;
END check_updates;
/* public api to insert_sif_price_parms */
okl_sif_price_parms_pub.insert_sif_price_parms(p_api_version => p_api_version,
p_init_msg_list => p_init_msg_list,
x_return_status => l_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_sppv_rec => l_sppv_rec,
x_sppv_rec => x_sppv_rec);
PROCEDURE update_price_parm(p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE,
p_sppv_rec IN sppv_rec_type,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
x_sppv_rec OUT NOCOPY sppv_rec_type
)
IS
CURSOR l_okl_sppv_pk_csr (p_id IN NUMBER) IS
SELECT
DATE_START,
DATE_END
FROM OKL_SIF_PRICE_PARMS
WHERE OKL_SIF_PRICE_PARMS.id = p_id;
l_api_name CONSTANT VARCHAR2(30) := 'update_price_parm';
okl_sif_price_parms_pub.update_sif_price_parms(p_api_version => p_api_version,
p_init_msg_list => p_init_msg_list,
x_return_status => l_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_sppv_rec => l_sppv_rec,
x_sppv_rec => x_sppv_rec);
-- public api to update_price_parm *
okl_sif_price_parms_pub.update_sif_price_parms(p_api_version => p_api_version,
p_init_msg_list => p_init_msg_list,
x_return_status => l_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_sppv_rec => l_upd_sppv_rec,
x_sppv_rec => x_sppv_rec);
-- Scenario 2: The Changed Field-Values include that needs Validation and Update
ELSIF l_action = '2' THEN
-- create a temporary record with all relevant details from db and upd records
-- removed call to defaults_to_actuals() by smahapat 01-16-2002
l_sppv_rec := p_sppv_rec;
check_updates(p_sppv_rec => l_sppv_rec,
x_return_status => l_return_status,
x_msg_data => x_msg_data);
-- public api to update price parms
okl_sif_price_parms_pub.update_sif_price_parms(p_api_version => p_api_version,
p_init_msg_list => p_init_msg_list,
x_return_status => l_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_sppv_rec => l_upd_sppv_rec,
x_sppv_rec => x_sppv_rec);
-- DO NOT Update Old-record if new Start_Date is after Old End_Date
IF l_upd_sppv_rec.date_start <> G_MISS_DATE
AND l_db_sppv_rec.date_end IS NOT NULL
AND l_upd_sppv_rec.date_start > l_db_sppv_rec.date_end
THEN
NULL;
-- call verify changes to update the database
IF l_oldversion_enddate > l_db_sppv_rec.date_end THEN
check_updates(p_sppv_rec => l_sppv_rec,
x_return_status => l_return_status,
x_msg_data => x_msg_data);
-- public api to update formulae
okl_sif_price_parms_pub.update_sif_price_parms(p_api_version => p_api_version,
p_init_msg_list => p_init_msg_list,
x_return_status => l_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_sppv_rec => l_sppv_rec,
x_sppv_rec => x_sppv_rec);
-- The earliest START_DATE, when Update, can be TOMORROW only
IF l_upd_sppv_rec.date_start = G_MISS_DATE THEN
--l_sppv_rec.date_start := l_sysdate ;
-- call verify changes to update the database
IF l_sppv_rec.date_end > l_db_sppv_rec.date_end THEN
check_updates(p_sppv_rec => l_sppv_rec,
x_return_status => l_return_status,
x_msg_data => x_msg_data);
-- public api to insert price parms
okl_sif_price_parms_pub.insert_sif_price_parms(p_api_version => p_api_version,
p_init_msg_list => p_init_msg_list,
x_return_status => l_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_sppv_rec => l_sppv_rec,
x_sppv_rec => x_sppv_rec);
END update_price_parm;
PROCEDURE update_price_parm(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE,
p_sppv_tbl IN sppv_tbl_type,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
x_sppv_tbl OUT NOCOPY sppv_tbl_type)
IS
l_api_name CONSTANT VARCHAR2(30) := 'update_price_parm_tbl';
update_price_parm(
p_api_version => p_api_version,
p_init_msg_list => p_init_msg_list,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_sppv_rec => p_sppv_tbl(rec_num),
x_sppv_rec => x_sppv_tbl(rec_num) );
END update_price_parm;