Sunday, 18 August 2024

Work Order API Script for Single Record

 Creations of work order in oracle eam r12 using EAM_PROCESS_WO_PUB.PROCESS_WO API,

Creation of work order in oracle eam R12 using standard API.

How to create  work order in Oracle EAM R12 using API.

Sample Script To Create Work Order In Oracle EAM.

PLSQL Script To Create Work Order In Oracle EAM.

EAM Order Creation.

---------------------------------------

Create Work In Oracle EAM.

Answers:

set serveroutput on

Declare

l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;

l_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;

l_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;

l_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;

l_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;

l_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;

l_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;

l_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;

l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;

l_out_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;

l_out_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;

l_out_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;

l_out_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;

l_out_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;

l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;

l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;

l_out_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;

x_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;

x_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;

x_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;

x_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;

x_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;

x_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;

x_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;

x_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;

x_eam_direct_items_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;

X_status VARCHAR2(4000);

X_msg_cnt NUMBER;

X_msg_data VARCHAR2(4000);

Begin

fnd_global.apps_initialize (user_id => 1318,resp_id => 23118,resp_appl_id => 426);

l_eam_wo_rec := null; –Record Group need to be initialized at the beginning

l_eam_wo_rec.WIP_ENTITY_NAME := ‘WO293960’;

l_eam_wo_rec.organization_id := 3159;

l_eam_wo_rec.NOTIFICATION_REQUIRED := null;

l_eam_wo_rec.TRANSACTION_TYPE := EAM_PROCESS_WO_PVT.G_OPR_CREATE;

l_eam_wo_rec.ASSET_NUMBER := ‘FL1010’;

l_eam_wo_rec.ASSET_GROUP_ID := 7885;

l_eam_wo_rec.SCHEDULED_START_DATE := sysdate;

l_eam_wo_rec.SCHEDULED_COMPLETION_DATE := sysdate;

l_eam_wo_rec.STATUS_TYPE := wip_constants.released; —‘Unreleased’;

l_eam_wo_rec.OWNING_DEPARTMENT := 487;

l_eam_wo_rec.PRIORITY := 10 ;

l_eam_wo_rec.SHUTDOWN_TYPE := null;

l_eam_wo_rec.class_code := ‘MaintWAC’;

l_eam_wo_rec.material_issue_by_mo := ‘N’;

l_eam_wo_rec.issue_zero_cost_flag := ‘Y’;

l_eam_wo_rec.po_creation_time := 1;

l_eam_wo_rec.job_quantity := 1;

l_eam_wo_rec.notification_required := ‘N’;


/* Additional Parameters to be passed Start */


l_eam_wo_rec.ACTIVITY_TYPE := 1; –It should be the lookup code value for the activity_type

l_eam_wo_rec.maintenance_object_source := 1;

l_eam_wo_rec.maintenance_object_type := 3;

l_eam_wo_rec.maintenance_object_id := 1768219;

l_eam_wo_rec.requested_start_date := sysdate;

l_eam_wo_rec.job_quantity := 1;

l_eam_wo_rec.wip_supply_type := null;


/* Additional Parameters to be passed End */


EAM_PROCESS_WO_PUB.PROCESS_WO

( p_bo_identifier => ‘EAM’

, p_api_version_number =>1.0

, p_init_msg_list =>TRUE

, p_commit => ‘Y’

, p_eam_wo_rec =>l_eam_wo_rec

, p_eam_op_tbl =>l_eam_op_tbl

, p_eam_op_network_tbl =>l_eam_op_network_tbl

, p_eam_res_tbl =>l_eam_res_tbl

, p_eam_res_inst_tbl =>l_eam_res_inst_tbl

, p_eam_sub_res_tbl =>l_eam_sub_res_tbl

, p_eam_res_usage_tbl =>l_eam_res_usage_tbl

, p_eam_mat_req_tbl =>l_eam_mat_req_tbl

, p_eam_direct_items_tbl => l_out_eam_direct_items_tbl

, x_eam_wo_rec =>x_eam_wo_rec

, x_eam_op_tbl =>x_eam_op_tbl

, x_eam_op_network_tbl =>x_eam_op_network_tbl

, x_eam_res_tbl =>x_eam_res_tbl

, x_eam_res_inst_tbl =>x_eam_res_inst_tbl

, x_eam_sub_res_tbl =>x_eam_sub_res_tbl

, x_eam_res_usage_tbl =>x_eam_res_usage_tbl

, x_eam_mat_req_tbl =>x_eam_mat_req_tbl

, x_eam_direct_items_tbl => x_eam_direct_items_tbl

, x_return_status =>X_status

, x_msg_count =>X_msg_cnt

, p_debug =>’Y’

, p_output_dir => ‘/user/temp’

, p_debug_filename =>’EAM_WO_DEBUG.log’

, p_debug_file_mode => ‘a’

);


commit;

DBMS_OUTPUT.PUT_LINE(‘Status : ‘||X_status);


IF X_msg_cnt > 0 then

DBMS_OUTPUT.PUT_LINE(‘Error Occurred in WO Creation : ‘||SQLERRM||’ : ‘||SQLCODE);

END IF;

DBMS_OUTPUT.PUT_LINE(‘First record inserted…….’);

END;

/


Test:

Run the following query to find out whether work order has been created or not.

select * from eam_work_orders_v where wip_entity_name=’WO293960′

Share this:

No comments:

Post a Comment