ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 解决FORM 6I 问题记实

解决FORM 6I 问题记实

原创 Linux操作系统 作者:xilangxiangwa 时间:2008-06-05 19:47:31 0 删除 编辑

解决FORM. 6I 问题记实

FORM-40102

操作及问题:

向数据块的某两条记录之间创建(插入)一条新的记录,创建后不做任何项的编辑输入操作(即保持FORM状态不变),然后做离开该记录的操作,如:去到同数据块的其它记录或别的数据块。此时发现并不能离开该记录,且FORM将显示“FORM-40102  记录必须首先被输入或删除”

原因:

FORM. 特性。

解决方法:

    为块中的任一项赋值后,即可。

FORM-40405

操作及问题:

采用FORM间的相互调用方式进入一个新的FORM,调用语句为:OPEN_FORM(‘form_name’)。在新的FORM中修改数据并保存(commit),此时发现虽然能够保存成功,但FORM会显示信息“FORM-40405  没有修改要应用”

原因:

由于采用OPEN_FORM(‘form_name’)这种方式调用出来的新FORM与原FORM是同一个会话,当新FORM发出提交(commit)操作时,原FORM也会被提交,而此时很有可能原FORM并未做过任何修改。(可参见FORM帮助文档)

解决方法:

采用调用语句:OPEN_FORM('form_name',ACTIVATE , SESSION);

 

FRM-30100

生成编译文件时若出现“FRM-30100: 块必须至少有一个主键项.”错误信息,则原因有可能有如下两个:

1、数据源类型为表,但查询数据源名称与DML数据目标名称不一致。

2、数据源类型为FROM 子查询。但块中没有任何项的“主键”属性设为“是”(而在这种情况下,设一项的“主键”属性为“是”是必须的)。

 

关于日期控件

设置日期控件的日期时,日期控件必须是所在画布显示时聚焦的第一个项.

关于子程序

RAISE FORM_TRIGGER_FAILURE

使用子程序 RAISE FORM_TRIGGER_FAILURE 应注意以下两点:

1、  RAISE FORM_TRIGGER_FAILURE 引发了异常,因此若想通过此子程序来终止程序,那么应避免所引发的异常被处理掉,此时要慎用WHEN OTHERS THEN … 的异常处理语句。

2、  在验证某项时,当发现该项的内容与要求不相符合时,我们通常使用RAISE FORM_TRIGGER_FAILURE来终止程序,只有当用户按要求填好该项时我们才能让其通过。这时我们应注意,在使用RAISE FORM_TRIGGER_FAILURE前(就整个验证触发器的内容而言)不要对其它数据库项进行改动(如赋值操作),否则你将看不到有终止程序的效果。

 

关于画布间的切换

当使用go_block 或 go_item语句切换两个分别属于不同窗口的画布时。要想切换成功的前提是为窗口设置过主画布

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10595277/viewspace-332631/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-18

  • 博文量
    71
  • 访问量
    411422