这次的范例是(cxmq100);
目的:实现报表数据自动刷新,双击明细数据打开相关的查询作业;
1)在MAIN前进行客制变量定义:
#add-point:自定義模組變數-客製(Module Variable) name="global.variable_customerization" TYPE type_g_input RECORD refresh LIKE type_t.num10, autoRefresh LIKE type_t.chr1 END RECORD DEFINE g_input type_g_input #INPUT條件 DEFINE g_seconds LIKE type_t.num10 DEFINE g_time1 DATETIME YEAR TO SECOND DEFINE g_time2 STRING DEFINE g_time3 STRING DEFINE l_hhmmss STRING DEFINE g_total LIKE type_t.num10 #end add-point
2)在cxmq100_init()中将客制变量进行初始化赋值:
#add-point:畫面資料初始化 name="init.init" LET g_input.refresh = 1 LET g_input.autoRefresh = 'Y' LET g_total = g_input.refresh * 60 LET g_seconds = 0 #end add-point
3)在 cxmq100_ui_dialog() 中DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)下置入INPUT指令,让用户输入数据,并在此实现自动刷新数据的功能:
DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM) #add-point:input段落 name="ui_dialog.input" INPUT g_input.refresh,g_input.autoRefresh FROM refresh,autoRefresh ATTRIBUTE(WITHOUT DEFAULTS) BEFORE INPUT ON idle 5 if g_input.autoRefresh = "Y" then IF g_time1 IS NULL THEN LET g_time1 = cl_get_current() END IF #