下面是我尝试过的示例,但不知道如何检查智能字段。请看看并提供无可挑剔的答案。
DEFINE VARIABLE de_part_obj AS DECIMAL NO-UNDO.
DEFINE VARIABLE de_product_family_obj AS DECIMAL NO-UNDO.
DEFINE VARIABLE de_shipping_info_obj AS DECIMAL NO-UNDO.
DEFINE VARIABLE dt_sched_date_from AS DATE NO-UNDO.
DEFINE VARIABLE dt_sched_date_to AS DATE NO-UNDO.
DEFINE VARIABLE de_word_obj AS DECIMAL NO-UNDO.
DEFINE VARIABLE de_seq_no AS DECIMAL NO-UNDO.
DEFINE VARIABLE de_intseq AS DECIMAL NO-UNDO.
DEFINE VARIABLE de_ordno_obj AS DECIMAL NO-UNDO.
DEFINE VARIABLE de_wolv_obj AS DECIMAL NO-UNDO.
DEFINE VARIABLE cPipeLinekey AS CHARACTER NO-UNDO.
DEFINE VARIABLE cPipeLinestatus AS CHARACTER NO-UNDO.
ASSIGN de_part_obj = DYNAMIC-FUNCTION('getKeyFieldValue' IN h_dynlookup_part)
cPipeLinekey = fi_PipeLineKey:SCREEN-VALUE IN FRAME {&FRAME-NAME}
cPipeLinestatus = fi_PipeLineStatus:SCREEN-VALUE IN FRAME {&FRAME-NAME}
de_word_obj = DYNAMIC-FUNCTION('getKeyFieldValue' IN h_dynlookup_worderid)
de_seq_no = DYNAMIC-FUNCTION('getKeyFieldValue' IN h_dynlookup_Seq)
.
.
.
.
/* AND SO ON*/
IF de_part_obj <> 0.0 AND de_product_family_obj = 0.0 AND de_shipping_info_obj = 0.0 AND de_word_obj = 0.0 AND de_seq_no = 0.0 AND de_intseq = 0.0 AND de_ordno_obj = 0.0
AND de_wolv_obj = 0.0 AND cPipeLinekey = ? AND cPipeLinestatus = ? THEN TRUE /* Allow only de_part_obj <> 0.0 */
.
.
.
/* up to cPipeLinestatus <> ? */
我在移动设备上,因此我会尽量为您提供标准的代码段,您可以将其放置在所需的任何位置。这将响应您框架中的填充内容(如果不是,请从{&frame-name}进行更改,或者根据需要将其更改为{&frame-name}。它会显示一条消息,告诉您是否未输入任何内容它。
DEFINE VARIABLE hField AS HANDLE NO-UNDO.
ASSIGN hField = FRAME {&frame-name}:FIRST-CHILD:FIRST-CHILD.
DO WHILE VALID-HANDLE(hField) :
IF hField:TYPE = "Fill-in" THEN
MESSAGE "Name: " hField:NAME
SKIP "Type: " hField:TYPE
SKIP "Is it empty? " hField:SCREEN-VALUE = ""
VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
ASSIGN hField = hField:NEXT-SIBLING.
END.