The following lines contain the word 'select', 'insert', 'update' or 'delete':
/* Select all inq records */
CURSOR c_hz_location( b_user_name VARCHAR2, b_tranid NUMBER) is
SELECT *
FROM CSM_HZ_LOCATIONS_INQ
WHERE tranid$$ = b_tranid
AND clid$$cs = b_user_name;
select address_style from fnd_territories_vl where address_style is not null
and TERRITORY_CODE=l_country
UNION ALL SELECT 'GENERIC' FROM DUAL;
SELECT user_id,responsibility_id, app_id ,org_id,resource_id
INTO l_user_id,l_resp_id,l_app_id,l_org_id,l_rs_id
FROM asg_user WHERE user_name=p_user_name;
This procedure is called by APPLY_CLIENT_CHANGES when an inserted record is to be processed.
***/
PROCEDURE APPLY_INSERT
(
p_record IN c_hz_location%ROWTYPE,
p_error_msg out nocopy VARCHAR2,
x_return_status IN out nocopy VARCHAR2
) IS
--Variable Declarations
x_ovn NUMBER := 1;
SELECT PARTY_SITE_ID FROM HZ_PARTY_SITES
WHERE LOCATION_ID = c_location_id;
SELECT PERSON_PARTY_ID
FROM ASG_USER asg,
FND_USER fnd
WHERE asg.USER_NAME = c_user
AND fnd.USER_ID = asg.USER_ID;
SELECT TASK_ASSIGNMENT_ID FROM CSM_REQ_HEADERS_INQ
WHERE tranid$$ = tid AND clid$$cs = b_uid
AND SHIP_TO_LOCATION_ID = lid AND ADDRESS_TYPE='S';
CSM_UTIL_PKG.LOG('Entering CSM_HZ_LOCATION_PKG.APPLY_INSERT for Special Location Id ' || p_record.LOCATION_ID ,
'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_PROCEDURE);
'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_EVENT);
|| ' for Location ID ' || p_record.LOCATION_ID,'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
SELECT hz_party_site_number_s.NEXTVAL INTO l_party_site_rec.party_site_number
FROM dual;
CSM_UTIL_PKG.log( 'Error in hz_party_site_v2pub.create_party_site ' || p_error_msg||' for location id ' || p_record.LOCATION_ID,'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
CSM_UTIL_PKG.log( 'New Party Site_id: ' ||l_party_site_id ,'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
--Update the Task when the Party site id
--This has to be done for all cases as Client is providing only Location id
UPDATE CSM_TASKS_INQ
SET LOCATION_ID = l_party_site_id
WHERE tranid$$ = p_record.tranid$$
AND clid$$cs = p_record.CLID$$CS
AND location_id = p_record.location_id;
'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_EVENT);
CSM_UTIL_PKG.log( 'Error in csp create_ship_to_address ' || p_error_msg||' for location id ' || p_record.LOCATION_ID,'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
CSM_UTIL_PKG.log( 'New HR Location_id: ' ||x_loc_id ,'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_ERROR);
UPDATE CSM_REQ_HEADERS_INQ --support for special address
SET SHIP_TO_LOCATION_ID = x_loc_id,
SHIP_TO_LOC_SRC='HR'
WHERE tranid$$ = p_record.tranid$$
AND clid$$cs = p_record.CLID$$CS
AND SHIP_TO_LOCATION_ID = p_record.location_id
AND ADDRESS_TYPE='S';
CSM_UTIL_PKG.LOG('Leaving CSM_HZ_LOCATION_PKG.APPLY_INSERT for Location ID ' || p_record.LOCATION_ID ,
'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_PROCEDURE);
fnd_msg_pub.Add_Exc_Msg( g_object_name, 'APPLY_INSERT', substr(sqlerrm,1,2000));
CSM_UTIL_PKG.log( 'Exception in ' || g_object_name || '.APPLY_INSERT: ' || substr(sqlerrm,1,2000)
|| ' for location_id ' || p_record.LOCATION_ID ,'CSM_HZ_LOCATION_PKG.APPLY_INSERT',FND_LOG.LEVEL_EXCEPTION);
END APPLY_INSERT;
APPLY_INSERT
(
p_record,
p_error_msg,
x_return_status
);
ELSE --Delete and update is not supported for this PI
-- invalid dml type
CSM_UTIL_PKG.LOG
( 'Invalid DML type: ' || p_record.dmltype$$ || ' is not supported for this entity'
|| ' for Locaton ID ' || p_record.LOCATION_ID ,'CSM_HZ_LOCATION_PKG.APPLY_RECORD',FND_LOG.LEVEL_ERROR);
FOR rec in (SELECT TASK_ID ,SEQNO$$,DMLTYPE$$
FROM CSM_TASKS_INQ
WHERE tranid$$ = p_tranid
AND clid$$cs = p_user_name
AND location_id = p_loc_id)
LOOP
CSM_UTIL_PKG.DEFER_RECORD
( p_user_name , p_tranid , rec.seqno$$
, rec.TASK_ID , g_object_name , 'CSM_TASKS'
, 'Creation of new Location failed :'||p_err_msg , l_ret_status , rec.dmltype$$
);
FOR rec in (SELECT REQUIREMENT_HEADER_ID ,SEQNO$$,DMLTYPE$$
FROM CSM_REQ_HEADERS_INQ
WHERE tranid$$ = p_tranid
AND clid$$cs = p_user_name
AND SHIP_TO_LOCATION_ID = p_loc_id
AND ADDRESS_TYPE='S')
LOOP
CSM_UTIL_PKG.DEFER_RECORD
( p_user_name , p_tranid , rec.seqno$$
, rec.REQUIREMENT_HEADER_ID , g_object_name , 'CSM_REQ_HEADERS'
, 'Creation of Special Ship To Location failed :'||p_err_msg , l_ret_status , rec.dmltype$$
);
FOR rec2 IN (SELECT REQUIREMENT_LINE_ID ,SEQNO$$,DMLTYPE$$
FROM CSM_REQ_LINES_INQ
WHERE tranid$$ = p_tranid
AND clid$$cs = p_user_name
AND REQUIREMENT_HEADER_ID=rec.REQUIREMENT_HEADER_ID)
LOOP
CSM_UTIL_PKG.DEFER_RECORD
( p_user_name , p_tranid , rec2.seqno$$
, rec2.REQUIREMENT_LINE_ID , g_object_name , 'CSM_REQ_LINES'
, 'Header failed on creation of special address :'||p_err_msg , l_ret_status , rec2.dmltype$$
);
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);
CSM_UTIL_PKG.DELETE_RECORD
(
p_user_name,
p_tranid,
r_hz_location_rec.seqno$$,
r_hz_location_rec.LOCATION_ID,
g_object_name,
g_pub_name,
l_error_msg,
l_process_status
);
/*** was delete successful? ***/
IF l_process_status <> FND_API.G_RET_STS_SUCCESS THEN
/*** no -> rollback ***/
CSM_UTIL_PKG.LOG
( 'Deleting from inqueue failed, rolling back to savepoint'
|| ' for Location ID ' || r_hz_location_rec.LOCATION_ID ,'CSM_HZ_LOCATION_PKG.APPLY_CLIENT_CHANGES',FND_LOG.LEVEL_ERROR); -- put PK column here