The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE insert_row (
x_rowid IN OUT NOCOPY VARCHAR2
,x_CI_TRANSACTION_ID IN OUT NOCOPY NUMBER
,p_CI_TYPE_ID IN NUMBER
,p_CI_ID IN NUMBER
,p_CI_IMPACT_ID IN NUMBER
,p_VENDOR_ID IN NUMBER
,p_PO_HEADER_ID IN NUMBER
,p_PO_LINE_ID IN NUMBER
,p_ADJUSTED_TRANSACTION_ID IN NUMBER
,p_CURRENCY_CODE IN VARCHAR2
,p_CHANGE_AMOUNT IN NUMBER
,p_CHANGE_TYPE IN VARCHAR2
,p_CHANGE_DESCRIPTION IN VARCHAR2
,p_CREATED_BY IN NUMBER
,p_CREATION_DATE IN DATE
,p_LAST_UPDATED_BY IN NUMBER
,p_LAST_UPDATE_DATE IN DATE
,p_LAST_UPDATE_LOGIN IN NUMBER
,p_ci_status IN VARCHAR2
,x_return_status OUT NOCOPY VARCHAR2
,x_error_msg_code OUT NOCOPY VARCHAR2
)IS
cursor return_rowid is
select rowid
from pa_ci_supplier_details
where ci_transaction_id = x_ci_transaction_id;
select pa_ci_supplier_details_s.nextval
from sys.dual;
INSERT into pa_ci_supplier_details
( CI_TRANSACTION_ID
,CI_TYPE_ID
,CI_ID
,CI_IMPACT_ID
,VENDOR_ID
,PO_HEADER_ID
,PO_LINE_ID
,ADJUSTED_CI_TRANSACTION_ID
,CURRENCY_CODE
,CHANGE_AMOUNT
,CHANGE_TYPE
,CHANGE_DESCRIPTION
,CREATED_BY
,CREATION_DATE
,LAST_UPDATED_BY
,LAST_UPDATE_DATE
,LAST_UPDATE_LOGIN
) VALUES
( x_CI_TRANSACTION_ID
,p_CI_TYPE_ID
,p_CI_ID
,p_CI_IMPACT_ID
,p_VENDOR_ID
,p_PO_HEADER_ID
,p_PO_LINE_ID
,p_ADJUSTED_TRANSACTION_ID
,p_CURRENCY_CODE
,pa_currency.round_trans_currency_amt
(decode(p_CHANGE_AMOUNT,null,0,p_CHANGE_AMOUNT),p_CURRENCY_CODE)
,p_CHANGE_TYPE
,p_CHANGE_DESCRIPTION
,p_CREATED_BY
,p_CREATION_DATE
,p_LAST_UPDATED_BY
,p_LAST_UPDATE_DATE
,p_LAST_UPDATE_LOGIN
);
print_msg('rowid not found raise insert failed');
print_msg('Insert success');
END insert_row;
PROCEDURE update_row
(p_rowid IN VARCHAR2
,p_ci_transaction_id IN NUMBER
,p_CI_TYPE_ID IN NUMBER
,p_CI_ID IN NUMBER
,p_CI_IMPACT_ID IN NUMBER
,p_VENDOR_ID IN NUMBER
,p_PO_HEADER_ID IN NUMBER
,p_PO_LINE_ID IN NUMBER
,p_ADJUSTED_TRANSACTION_ID IN NUMBER
,p_CURRENCY_CODE IN VARCHAR2
,p_CHANGE_AMOUNT IN NUMBER
,p_CHANGE_TYPE IN VARCHAR2
,p_CHANGE_DESCRIPTION IN VARCHAR2
,p_LAST_UPDATED_BY IN NUMBER
,p_LAST_UPDATE_DATE IN DATE
,p_LAST_UPDATE_LOGIN IN NUMBER
,p_ci_status IN VARCHAR2
,x_return_status OUT NOCOPY VARCHAR2
,x_error_msg_code OUT NOCOPY VARCHAR2
)IS
CURSOR cur_row is
SELECT CI_TYPE_ID
,CI_ID
,CI_IMPACT_ID
,VENDOR_ID
,PO_HEADER_ID
,PO_LINE_ID
,ADJUSTED_CI_TRANSACTION_ID
,CURRENCY_CODE
,CHANGE_AMOUNT
,CHANGE_TYPE
,CHANGE_DESCRIPTION
FROM pa_ci_supplier_details
WHERE ci_transaction_id = p_ci_transaction_id
FOR UPDATE OF ci_transaction_id NOWAIT;
print_msg('Inside update row.');
/** check if any of the attributes changed then update else donot **/
IF Nvl(recinfo.vendor_id,0) <> nvl(p_vendor_id,0) OR
Nvl(recinfo.po_header_id,0) <> nvl(p_po_header_id,0) OR
Nvl(recinfo.po_line_id,0) <> nvl(p_po_line_id,0) OR
Nvl(recinfo.currency_code,'X') <> nvl(p_currency_code,'X') OR
Nvl(recinfo.change_amount,0) <> nvl(p_change_amount,0) OR
nvl(recinfo.change_type,'X') <> nvl(p_change_type,'X') OR
Nvl(recinfo.change_description,'X') <> nvl(p_change_description,'X') THEN
If l_debug_mode = 'Y' Then
print_msg('firing update query');
UPDATE pa_ci_supplier_details SET
VENDOR_ID = p_vendor_id
,PO_HEADER_ID = p_po_header_id
,PO_LINE_ID = p_po_line_id
,ADJUSTED_CI_TRANSACTION_ID = p_adjusted_transaction_id
,CURRENCY_CODE = p_currency_code
,CHANGE_AMOUNT = pa_currency.round_trans_currency_amt
(decode(p_CHANGE_AMOUNT,null,0,p_CHANGE_AMOUNT),p_CURRENCY_CODE)
,CHANGE_TYPE = p_change_type
,CHANGE_DESCRIPTION = p_change_description
,LAST_UPDATED_BY = p_last_updated_by
,LAST_UPDATE_DATE = p_last_update_date
,LAST_UPDATE_LOGIN = p_last_update_login
WHERE ci_transaction_id = p_ci_transaction_id;
print_msg('Update failure:'||x_error_msg_code);
END update_row;
PROCEDURE delete_row (p_ci_transaction_id in NUMBER)IS
l_debug_mode varchar2(1) := 'N';
DELETE FROM PA_CI_SUPPLIER_DETAILS
WHERE CI_TRANSACTION_ID = P_CI_TRANSACTION_ID;
print_msg('Delete Success');
print_msg('Delete Failure');
END delete_row;
PROCEDURE delete_row (x_rowid in VARCHAR2)IS
cursor get_itemid is
select ci_transaction_id
from pa_ci_supplier_details
where rowid = x_rowid;
delete_row (l_ci_transaction_id);
END delete_row;