数据表汇总
表名 | 说明 |
---|---|
WIP_PARAMETERS | WIP参数表 |
Wip_Accounting_Classes | WIP工单类型表 |
Wip_Shop_Floor_Status_Codes | WIP车间状态表 |
Wip_Shop_Floor_Statuses | WIP车间状态分配表 |
Wip_Schedule_Groups | WIP计划组表 |
Wip_Lines | WIP生产线表 |
Wip_Repetitive_Items | 生产线装配件关联表 |
wip_entities | WIP信息表 |
wip_discrete_jobs | WIP作业表 |
Wip_Operations | WIP工序信息表 |
WIP工单创建
类型 | API/接口 |
---|---|
Open API | wip_massload_pub.massloadjobs |
Interface | 工单任务接口表:wip_job_schedule_interface 工单组件,工序,资源接口表:wip_job_dtls_interface |
开发参考
参考点 | 内容 |
---|---|
错误信息表 | Wip_Interface_Errors |
接口表关系 | SELECT Wie.* FROM Wip_Interface_ErrorsWie,Wip_Job_Schedule_Interface WjiWHERE Wie.Interface_Id = Wji.Interface_Id; |
关键字段
wip_job_schedule_interface
字段 | 说明 |
---|---|
group_id | 一般给wip_job_schedule_interface_s.NEXTVAL |
load_type | 新建标准离散工单给1 新建非标准离散工单给4 修改离散工单给3 1 Create Standard Discrete Job 2 Create Pending Repetitive Schedule 3 Update Standard or Non-Standard Discrete Job 4 Create Non-Standard Discrete Job |
allow_explosion | Y 自动用标准BOM和Routing展开 N 需要自定义组件需求和工序,写入wip_job_dtls_interface |
process_phase | 给2 2 Validation 3 Explosion 4 Completion 5 Creation |
process_status | 给1 1 Pending 2 Running 3 Error 4 Complete 5 Warning |
status_type | 工单状态 1 UnReleased 3 Released 需要开会计期 |
wip_supply_type | 供应类型,不给的话默认是Based on Bill 1 Push 2 Assembly Pull 3 Operation Pull 4 Bulk 5 Supplier 6 Phantom 7 Based on Bill |
job_name | 任务号,不给的话系统自动生成 |
class_code | 工单类型 |
start_quantity | 计划生产量;非标可以=0,标准必须>0;只能是主单位数量 |
primary_item_id | 装配件ID |
scheduling_method | 排产方法 1 Routing-based 2 Item Lead Time 3 Mannual |
wip_job_dtls_interface
字段 | 说明 |
---|---|
load_type | 添加修改资源给1 添加修改工序给2 添加修改组件给3 |
Substitution_Type | 提交类型 删除:wip_job_details.WIP_DELETE默认为1 新增:wip_job_details.wip_add默认值为2 修改:wip_job_details.WIP_CHANGEl默认值为3 |
Standard_Rate_Flag | 成本计算 标准费率 默认值为2 |
Mrp_Net_Flag | 是否MRP净需求,默认值为1 |
Scheduled_Flag | 计划 已计划 默认值为2(否) |
Assigned_Units | 计划 分配数量 默认值为1 |
注意事项
使用 Open API 方式创建非标准工单的时候,除了需要给起始日期First_Unit_Start_Date 赋值外,还要给完成日Last_Unit_Completion_Date 赋值。
创建标准离散任务【open api】
DECLARE
l_Iface_Rec Wip.Wip_Job_Schedule_Interface%ROWTYPE;
l_Cur_Mfg_Org_Id NUMBER := 89; --Current Inv Organization
l_User_Id NUMBER := 0; --User ID, Sysadmin here
x_Return_Status VARCHAR2(30);
x_Return_Message VARCHAR2(4000);
Lv_Error VARCHAR2(4000);
Ln_Group_Id NUMBER;
BEGIN
l_Iface_Rec.Last_Update_Date := SYSDATE;
l_Iface_Rec.Last_Updated_By := l_User_Id;
l_Iface_Rec.Creation_Date := SYSDATE;
l_Iface_Rec.Created_By := l_User_Id;
l_Iface_Rec.Last_Update_Login := -1;
SELECT Wip.Wip_Job_Schedule_Interface_s.Nextval
INTO Ln_Group_Id
FROM Dual;
l_Iface_Rec.Group_Id := Ln_Group_Id; --组标识
/*================================================
WIP_LOAD_TYPE MFG_LOOKUPS
------------ --------------
1 Create Standard Job
2 Create Repetitive Schedule
3 Update Discrete Job
4 Create Non–standard Job
================================================*/
l_Iface_Rec.Load_Type := Wip_Constants.Create_Job; --导入类型
l_Iface_Rec.Allow_Explosion := 'Y'; --是否允许自定义组件需求和工序,N写入wip_job_dtls_interface Y自动用标准BOM和Routing展开
l_Iface_Rec.Process_Phase := Wip_Constants.Ml_Validation; --接口操作
l_Iface_Rec.Process_Status := Wip_Constants.Pending; --接口阶段
l_Iface_Rec.Status_Type := Wip_Constants.Released; --工单状态
l_Iface_Rec.Job_Name := 'Test_002'; --工单名称
l_Iface_Rec.Organization_Id := l_Cur_Mfg_Org_Id; --工单库存组织
l_Iface_Rec.Class_Code := '101标准'; --工单分类
l_Iface_Rec.Primary_Item_Id := 85008; --CM001 --工单装配件
l_Iface_Rec.Start_Quantity := 10; --工单起始数量
l_Iface_Rec.Scheduling_Method := '1'; --排产方法
l_Iface_Rec.First_Unit_Start_Date := SYSDATE; --第一个装配件起始时间
l_Iface_Rec.Source_Code := 'Test Only'; --来源编码
l_Iface_Rec.Source_Line_Id := 987654321; --来源行标识
INSERT INTO Wip.Wip_Job_Schedule_Interface
VALUES l_Iface_Rec;
Dbms_Output.Put_Line(l_Iface_Rec.Group_Id);
Fnd_Msg_Pub.Initialize;
x_Return_Status := Fnd_Api.g_Ret_Sts_Success;
Wip_Massload_Pub.Massloadjobs(p_Groupid => l_Iface_Rec.Group_Id
,p_Validationlevel => Fnd_Api.g_Valid_Level_Full
,p_Commitflag => 0--1 commit; 0 no commit
,x_Returnstatus => x_Return_Status
,x_Errormsg => x_Return_Message);
IF (x_Return_Status <> Fnd_Api.g_Ret_Sts_Success) THEN
SELECT Error
INTO Lv_Error
FROM Wip_Interface_Errors
WHERE Interface_Id = (SELECT Interface_Id
FROM Wip_Job_Schedule_Interface
WHERE Group_Id = Ln_Group_Id);
Dbms_Output.Put_Line('x_return_message: ' || Lv_Error);
END IF;
EXCEPTION
WHEN OTHERS THEN
x_Return_Status := Fnd_Api.g_Ret_Sts_Unexp_Error;
Dbms_Output.Put_Line('x_return_message: ' || x_Return_Message);
RAISE;
END;
标准工单创建【Interface】
DECLARE
l_Iface_Rec Wip.Wip_Job_Schedule_Interface%ROWTYPE;
l_Cur_Mfg_Org_Id NUMBER := 89; --Current Inv Organization
l_User_Id NUMBER := 0; --User ID, Sysadmin here
Ln_Group_Id NUMBER;
Ln_Request_Id NUMBER;
Lv_Error VARCHAR2(4000);
Ln_Application_Id NUMBER;
Ln_Responsibility_Id NUMBER;
Gv_Application_Code CONSTANT VARCHAR2(30) := Scux_Fnd_Log.Gv_Application_Code;
BEGIN
BEGIN
SELECT Frv.Application_Id
,Frv.Responsibility_Id
INTO Ln_Application_Id
,Ln_Responsibility_Id
FROM Fnd_Responsibility_Vl Frv
WHERE Frv.Responsibility_Name = '101制造超级用户';
Fnd_Global.Apps_Initialize(0
,Ln_Responsibility_Id
,Ln_Application_Id);
END;
l_Iface_Rec.Last_Update_Date := SYSDATE;
l_Iface_Rec.Last_Updated_By := l_User_Id;
l_Iface_Rec.Creation_Date := SYSDATE;
l_Iface_Rec.Created_By := l_User_Id;
l_Iface_Rec.Last_Update_Login := -1;
SELECT Wip.Wip_Job_Schedule_Interface_s.Nextval
INTO Ln_Group_Id
FROM Dual;
l_Iface_Rec.Group_Id := Ln_Group_Id; --组标识
l_Iface_Rec.Load_Type := 1; --导入类型
l_Iface_Rec.Allow_Explosion := 'Y'; --是否允许自定义组件需求和工序
l_Iface_Rec.Process_Phase := '2'; --接口阶段
l_Iface_Rec.Process_Status := '1'; --接口状态
l_Iface_Rec.Status_Type := '1'; --工单状态
l_Iface_Rec.Job_Name := 'Test_007'; --工单名称
l_Iface_Rec.Organization_Id := l_Cur_Mfg_Org_Id; --工单库存组织
l_Iface_Rec.Class_Code := '101标准'; --工单分类
l_Iface_Rec.Primary_Item_Id := 85008; --工单装配件
l_Iface_Rec.Start_Quantity := 20; --起始数量
l_Iface_Rec.Scheduling_Method := '1'; --排产方法
l_Iface_Rec.First_Unit_Start_Date := SYSDATE; --第一个装配件起始时间
l_Iface_Rec.Source_Code := 'Test Only'; --来源编码
l_Iface_Rec.Source_Line_Id := 987654321; --来源行标识
INSERT INTO Wip.Wip_Job_Schedule_Interface
VALUES l_Iface_Rec;
--COMMIT;
Ln_Request_Id := Fnd_Request.Submit_Request('WIP' --应用简称
,'WICMLP' --请求简称
,'WIP 成批装入' --请求说明
,To_Char(SYSDATE
,'YYYY/MM/DD HH24:MI:SS') --运行时间
,FALSE --立即提交请求
,Ln_Group_Id --Group ID
,0 --Validation Level
,'是' --Print Report
,Chr(0));
IF Nvl(Ln_Request_Id
,0) = 0 THEN
SELECT Error
INTO Lv_Error
FROM Wip_Interface_Errors
WHERE Interface_Id = (SELECT Interface_Id
FROM Wip_Job_Schedule_Interface
WHERE Group_Id = Ln_Group_Id);
ELSE
COMMIT;
END IF;
Dbms_Output.Put_Line(Ln_Request_Id);
END;