IFS前台资料检查写法
来源:互联网 发布:matlab 优化算子 编辑:程序博客网 时间:2024/05/13 19:08
源代码文件: SplitReservedLot.apl
相关窗口: frmSplitReservedLot2
问题描述: 批号拆分时,可任意拆分批号,会导致拆分后批号资料不正确
例子: 批号(1900-1) 有5道工序(10/20../50) 数量为20
若批号1900-1未做到20工序,就在20工序拆分会导致资料不正确;
PS: 目前2K4/SP4版本未能做到在工序上拆分,这是我们后来客户化的地方
也就是在RESERVED_LOT_BATCH_TAB表里增加一新FIELD:
Parent_Operation_No表示此子批号从父批号的某道工序开始拆分的资料
后续会讲WIP的部分,基本上来说按批号管理的IFS'S WIP资料都不准确;
解决方法:
在拆分批号APPLY时检查此批号在此道工序上的WIP是否够用?
接上例,假设拆分前资料
OPERATION_NO LOT_NO OUTPUT WIP
10 1900-1 20 0 =>表示第10工序已经完工
20 1900-1 15 5 =>表示第20工序上有WIP数量为5
30 1900-1 0 15 =>表示第30工序上有WIP数量为15
此时在此10工序应该不允许拆分批号,
20工序至多只能拆分5个数量;
30工序至多只能拆分15个数量;
具体实现:
1) 写一CheckQty函数:检查WIP数量是否够,不通过nCheck=1;否则nCheck=0;
Function: CheckQty
Description:
Returns
Parameters
Static Variables
Local variables
Number: nRowI
Number: nRowJ
Number: nSum
Number: nOpNoI
Number: nOpNoJ
Number: nWip
Actions
Set nSum= 0
Set nRowI = TBL_MinRow
--两层LOOP,此处为外LOOP
While SalTblFindNextRow(hWndTbl, nRowI, 0, ROW_MarkDeleted)
Call SalTblSetContext(hWndTbl, nRowI)
Set nSum= 0
Set nOpNoI = hWndTbl.colnParentOperationNo
Set nWip = hWndTbl.colnWipQty
Set nRowJ = TBL_MinRow
--此处为内LOOP
While SalTblFindNextRow(hWndTbl, nRowJ, 0, ROW_MarkDeleted)
Call SalTblSetContext(hWndTbl, nRowJ)
Set nOpNoJ = hWndTbl.colnParentOperationNo
--相同OPERATION_NO,统计拆分数量
If nOpNoI = nOpNoJ
Set nSum = nSum + hWndTbl.colnReservedQty
--拆分数量超过WIP数量,返回1
If nSum > nWip
Set nCheck = 1
Return TRUE
Set nCheck = 0
Return FALSE
2)修改PM_DataSourceSave
On PM_DataSourceSave
If wParam =METHOD_Execute
If dfnQtySplit > nOrigReservedQty
Call AlertBox(TranslateConstant(TEXT_SplitResLot_QtySplit) , CAPTION_Error, INFO_Ok )
Return FALSE
--增加此处调用
Call CheckQty()
--检查不通过,错误对话框
If nCheck = 1
Call AlertBox(TranslateConstant(TEXT_SplitResLot_QtyWip) , CAPTION_Error, INFO_Ok )
Return FALSE
..以下省略
- IFS前台资料检查写法
- IFS系统成本资料来源
- IFS 新增资料时 修改缺省值
- IFS
- $IFS
- IFS
- $IFS
- jquery 前台常见登陆写法
- 前台技术--页面只读JS写法
- IFS or Crystal Report里的Oracle视图脚本文件写法注意
- 【资料】ISAP写法--最大流
- mysql 只检查日期的sql写法
- IFS討論區
- IFS筆記
- IFS Message
- IFS FAQ
- IFS例子
- shell IFS
- boost::condition 使用的注意点
- 郁闷好久的问题,解决,爽
- 优秀团队建设--美国式团队(ppt)
- 两条腿的瘸子:技术高手VS行业专家[原创]
- 软件开发经验浅谈
- IFS前台资料检查写法
- ASP.NET 2.0 中实现 Treeview 与数据库的绑定(含代码)
- 个人常用网站
- 我所做的一切都是正确的
- 数据库开发——精典
- 我安装的流媒体服务器helix
- 看下你的空间值多少money!
- vmware使用
- C#连接到MySql数据库