问题提出:
一资料表存档时,要检查资料是否可以保存,若不可以,要出现对话框,让用户自己选择是否存档.
问题分析:
一)在存档脚本里,加对话框判断,根据用户选择执行相应的动作
PS: 此种方法,需要修改ORACLE PLSQL的存档脚本文件,我没有找到相关的资料可以实现加对话框,然后再执行相应动作。
二)在IFS客户化介面的存档前,加一过程执行相应的检查动作,
若能保存,则直接存档
若否:则出现对话框,让用户自己选择是否存档,再执行相应动作
PS: 此方法可行.以下采用此方法实现
一)在存档脚本里,加对话框判断,根据用户选择执行相应的动作
PS: 此种方法,需要修改ORACLE PLSQL的存档脚本文件,我没有找到相关的资料可以实现加对话框,然后再执行相应动作。
二)在IFS客户化介面的存档前,加一过程执行相应的检查动作,
若能保存,则直接存档
若否:则出现对话框,让用户自己选择是否存档,再执行相应动作
PS: 此方法可行.以下采用此方法实现
问题解决:
一):定义相关变量
在Windows Variables
Boolean: nReturn
String: sFullName
String: sBwCode
Number: nResult
二):修改PM_DataSourceSave消息
On PM_DataSourceSave
一):定义相关变量
在Windows Variables
Boolean: nReturn
String: sFullName
String: sBwCode
Number: nResult
二):修改PM_DataSourceSave消息
On PM_DataSourceSave
Select Case ( wParam )
Case METHOD_Inquire
Return SalSendClassMessage( PM_DataSourceSave, wParam, lParam )
Case METHOD_Execute
Set sFullName = ':hWndForm.' || QualifiedItemNameGet( hWndForm )
--执行相关检查动作(两次)
--执行相关检查动作(两次)
Call DbPLSQLBlock( c_hSql,sFullName||'.nReturn := &AO.HPUB_ITEM_API.Check_Gf('||sFullName||'.colsGlassFabric,'||sFullName||'.colsBwCode)')
If nReturn <1
Call DbPLSQLBlock( c_hSql,sFullName||'.nReturn := &AO.HPUB_ITEM_API.Check_Gf('||sFullName||'.colsGfCode,'||sFullName||'.colsBwCode)')
检查结果OK,能保存,则直接存档
If nReturn <1
If nReturn <1
Return SalSendClassMessage( PM_DataSourceSave, wParam, lParam )
-- 检查结果需出现对话框,点“否”时,不存档
-- 检查结果需出现对话框,点“否”时,不存档
Else If AlertBox( ' Gf_Code or BW_CODE is error,Will Save Record?' , CAPTION_Warning , QUESTION_YesNo ) = IDNO
Return FALSE
-- 检查结果需出现对话框,点“是”时,存档
-- 检查结果需出现对话框,点“是”时,存档
Else
Return SalSendClassMessage( PM_DataSourceSave, wParam, lParam )
By foreveryday007 20061025
http://blog.csdn.net/foreveryday007
http://blog.csdn.net/foreveryday007