The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE insert_into_snapshot_pub(
p_api_version IN NUMBER ,
p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
p_commit IN VARCHAR2:= FND_API.G_FALSE,
p_validation_level IN NUMBER:= FND_API.G_VALID_LEVEL_FULL,
p_wip_entity_id IN NUMBER,
p_object_type IN NUMBER,
p_parent_object_type IN NUMBER,
x_group_id OUT NOCOPY NUMBER,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER ,
x_msg_data OUT NOCOPY VARCHAR2 ,
p_org_id IN NUMBER,
p_relationship_type IN NUMBER :=3)
IS
l_api_name CONSTANT VARCHAR2(30) := 'insert_into_snapshot_pub';
SELECT
l_group_id,
CHILD_OBJECT_ID,
p_object_type child_object_type,
PARENT_OBJECT_ID,
p_parent_object_type parent_object_type,
level,
sysdate last_update_date,
FND_GLOBAL.USER_ID last_updated_by,
sysdate creation_date,
FND_GLOBAL.USER_ID created_by,
null request_id,
FND_GLOBAL.PROG_APPL_ID prog_appl_id ,
null last_update_login
FROM EAM_WO_RELATIONSHIPS ewr
WHERE
ewr.parent_relationship_type = p_relationship_type
START WITH ewr.parent_object_id = p_wip_entity_id AND ewr.parent_relationship_type = p_relationship_type
CONNECT BY ewr.parent_object_id = PRIOR ewr.child_object_id AND ewr.parent_relationship_type = p_relationship_type ;
SAVEPOINT insert_into_snapshot_pub;
-- Insert the data into the cst_eam_hierarchy_snapshot table
SELECT MTL_EAM_ASSET_ACTIVITIES_S.nextval INTO x_group_id
FROM DUAL;
-- Insert only the top level workorder in questin as level 0 for rollup cost.
INSERT INTO CST_EAM_HIERARCHY_SNAPSHOT(
GROUP_ID,
OBJECT_ID,
OBJECT_TYPE,
PARENT_OBJECT_ID,
PARENT_OBJECT_TYPE ,
LEVEL_NUM,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
REQUEST_ID,
PROGRAM_APPLICATION_ID,
LAST_UPDATE_LOGIN)
SELECT
x_group_id,
p_wip_entity_id AS object_id, -- the starting parent needs to be its child with level 0
p_object_type,
p_wip_entity_id AS parent_object_id,
p_parent_object_type,
0, -- top level parent should be at level 0
sysdate,
FND_GLOBAL.USER_ID,
sysdate,
FND_GLOBAL.USER_ID,
null,
FND_GLOBAL.PROG_APPL_ID,
null
FROM DUAL;
-- Insert the child WO and the relation with levels 1,2,3...
FOR c_hierarchy_row IN c_hierarchy(x_group_id)
LOOP
/* CHECK TO AVOID DUPLICATION OF THE SAME WORKORDER.
* IF NOT ALREADY INSERTED THEN ONLY IT SHOULD BE INSERTED
*/
INSERT INTO CST_EAM_HIERARCHY_SNAPSHOT(
GROUP_ID,
OBJECT_ID,
OBJECT_TYPE,
PARENT_OBJECT_ID,
PARENT_OBJECT_TYPE ,
LEVEL_NUM,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
REQUEST_ID,
PROGRAM_APPLICATION_ID,
LAST_UPDATE_LOGIN)
VALUES
(
c_hierarchy_row.l_group_id,
c_hierarchy_row.CHILD_OBJECT_ID,
c_hierarchy_row.child_object_type,
c_hierarchy_row.PARENT_OBJECT_ID,
c_hierarchy_row.parent_object_type,
c_hierarchy_row.level,
c_hierarchy_row.last_update_date,
c_hierarchy_row.last_updated_by,
c_hierarchy_row.creation_date,
c_hierarchy_row.created_by,
c_hierarchy_row.request_id,
c_hierarchy_row.prog_appl_id ,
c_hierarchy_row.last_update_login
);
p_error_text => 'Inserted data into snapshot table. Calling the API for rollup'
);
ROLLBACK TO insert_into_snapshot_pub;
ROLLBACK TO insert_into_snapshot_pub;
END insert_into_snapshot_pub;