您可以只定义变量like
该字段并使用其值。
DEF VAR iDefaultValue like myTable.MyField NO-UNDO.
/* Don't change the variable! */
当然,如果数据库字段的初始值发生变化,您需要重新编译,否则您将获得旧的初始值。 如果你想确保始终获得电流值,赶上在编译时错误,你可以写
DEF VAR iDefaultValue like myTable.MyField NO-UNDO.
iDefaultValue = BUFFER MyTable:BUFFER-FIELD("MyField"):DEFAULT-VALUE.
在这种情况下,当获取的字段改名,但代码不重新编译,你仍然会得到一个运行时错误。 使用以下代码,在后一种情况下启动程序时应该会出错。
DEF VAR iDefaultValue like myTable.MyField NO-UNDO.
define frame f_dummy
myTable.MyField view-as fill-in skip
with side-labels width 255 stream-io.
iDefaultValue = BUFFER MyTable:BUFFER-FIELD("MyField"):DEFAULT-VALUE.
我想你必须决定哪种行为更适合你。 所有示例都假定表和字段名称在编译时已知。