The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT *
FROM CSM_ORDER_LINES_INQ l
WHERE l.tranid$$ = b_tranid
AND l.clid$$cs = b_user_name;
select distinct hdr.source_type,
hdr.source_organization_id ,
hdr.source_subinventory,
hdr.destination_organization_id ,
hdr.destination_subinventory,
hdr.header_id,
line.line_id,
line.inventory_item_id,
line.revision,
line.uom_code,
line.serial_number,
line.order_quantity,
line.req_line_detail_id,
line.shipment_number,
line.shipment_line_id
from csp_receiving_headers_v hdr,
csp_receiving_lines_v line
where line.line_id = p_line_id
and line.header_id = hdr.header_id
and rownum
'CSM_ORDERS_PKG.APPLY_UPDATE',FND_LOG.LEVEL_STATEMENT ); -- put PK column here
FOR rec IN (SELECT USER_ID FROM CSP_REQ_LINE_DETAILS rld ,CSM_REQ_LINE_DETAILS_ACC acc
WHERE rld.SOURCE_TYPE='IO' AND rld.SOURCE_ID=p_line_id AND acc.REQ_LINE_DETAIL_ID=rld.REQ_LINE_DETAIL_ID)
LOOP --to update received qty
l_dummy := asg_download.mark_dirty(
p_pub_item => 'CSM_ORDER_LINES'
, p_accessid => p_line_id
, p_userid => rec.user_id
, p_dml => 'U'
, p_timestamp => sysdate
);
PROCEDURE APPLY_UPDATE
(
p_record IN c_order_lines%ROWTYPE,
p_error_msg OUT NOCOPY VARCHAR2,
x_return_status IN OUT NOCOPY VARCHAR2,
x_reject_row OUT NOCOPY BOOLEAN
) IS
l_result CLOB;
( 'Entering CSM_ORDERS_PKG.APPLY_UPDATE'|| 'for PK '||p_record.line_id ,
'CSM_ORDERS_PKG.APPLY_UPDATE',
FND_LOG.LEVEL_STATEMENT ); -- put PK column here
( 'Leaving CSM_ORDERS_PKG.APPLY_UPDATE'|| 'for PK '||p_record.line_id ,
'CSM_ORDERS_PKG.APPLY_UPDATE',
FND_LOG.LEVEL_STATEMENT ); -- put PK column here
( 'Exception occurred in CSM_ORDERS_PKG.APPLY_UPDATE'|| 'for PK '||p_record.line_id || FND_GLOBAL.LOCAL_CHR(10) || sqlerrm,
'CSM_ORDERS_PKG.APPLY_UPDATE',
FND_LOG.LEVEL_EXCEPTION); -- put PK column here
fnd_msg_pub.Add_Exc_Msg( 'CSM_ORDERS_PKG', 'APPLY_UPDATE', sqlerrm);
END APPLY_UPDATE;
APPLY_UPDATE
(
p_record,
p_error_msg,
x_return_status,
x_reject_row
);
a fast sync. This procedure will insert the data that came from mobile into the backend tables using
public APIs.
***/
PROCEDURE APPLY_CLIENT_CHANGES
(
p_user_name IN VARCHAR2,
p_tranid IN NUMBER,
p_debug_level IN NUMBER,
x_return_status IN OUT NOCOPY VARCHAR2
) IS
l_process_status VARCHAR2(1);
/*** If Yes -> delete record from inqueue ***/
IF l_reject_row THEN
CSM_UTIL_PKG.REJECT_RECORD
(
p_user_name,
p_tranid,
r_order_lines.seqno$$,
r_order_lines.line_id,
g_object_name,
g_pub_name,
l_error_msg,
l_return_status
);
CSM_UTIL_PKG.DELETE_RECORD
(
p_user_name,
p_tranid,
r_order_lines.seqno$$,
r_order_lines.line_id,
g_object_name,
g_pub_name,
l_error_msg,
l_return_status --Introduced new variable l_return_status since Defer
); --process doesn't depend on this delete_record API
/*** was delete/reject successful? ***/
IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
/*** If No -> rollback ***/
CSM_UTIL_PKG.LOG
( 'Deleting from inqueue failed, rolling back to savepoint'
|| ' for PK ' || r_order_lines.line_id ,
g_object_name || '.APPLY_CLIENT_CHANGES',
FND_LOG.LEVEL_ERROR); -- put PK column here
/*** Record was not processed successfully or delete failed
-> defer and reject record ***/
CSM_UTIL_PKG.LOG
( 'Record not processed successfully, deferring and rejecting record'
|| ' for PK ' || r_order_lines.line_id ,
g_object_name || '.APPLY_CLIENT_CHANGES',
FND_LOG.LEVEL_ERROR); -- put PK column here