范例(cxmt631),单档,通过车辆报道单单头表的派车单号,获取派车单单头表的派车单状态、车辆类型;
1)先在单档——车辆报道单单头的 派车单号 控件上置入程序,当派车单号开窗选择完成后,执行程序,根据派车单号获取派车单状态和车辆类型;
在input领域中置入,资料(派车单号)输入完触发;
#應用 a02 樣板自動產生(Version:2)
AFTER FIELD xmabuc009
#add-point:AFTER FIELD xmabuc009 name="input.a.xmabuc009"
IF NOT cl_null(g_xmabuc_m.xmabuc009) THEN
#應用 a17 樣板自動產生(Version:3)
#欄位存在檢查
#設定g_chkparam.*的參數前,先將其初始化,避免之前設定遺留的參數值造成影響。
INITIALIZE g_chkparam.* TO NULL
#設定g_chkparam.*的參數
LET g_chkparam.arg1 = g_xmabuc_m.xmabuc009
#呼叫檢查存在並帶值的library
IF cl_chk_exist("v_xmendocno") THEN
#檢查成功時後續處理
ELSE
#檢查失敗時後續處理
NEXT FIELD CURRENT
END IF
#调用自定义函数
call cxmt631_test_xmabuc009()
END IF
#END add-point
AFTER FIELD xmabuc009 表示 在输入完xmabuc009字段后会执行下面的程序段;
此处客制是call cxmt631_test_xmabuc009()
2)自定义函数 cxmt631_test_xmabuc009()
PRIVATE FUNCTION cxmt631_test_xmabuc009() define l_xmenstus like xmen_t.xmenstus define l_gzcbl004 like gzcbl_t.gzcbl004 define l_xmenua010 like xmen_t.xmenua010 select xmenstus,xmenua010 into l_xmenstus,l_xmenua010 from xmen_t where xmenent=g_enterprise and xmendocno=g_xmabuc_m.xmabuc009 SELECT gzcbl004 into l_gzcbl004 FROM gzcbl_t where gzcbl001='50' AND gzcbl002=l_xmenstus AND gzcbl003=g_dlang LET g_xmabuc_m.xmabuc010=l_gzcbl004 LET g_xmabuc_m.xmabuc011=l_xmenua010 DISPLAY BY NAME g_xmabuc_m.xmabuc010,g_xmabuc_m.xmabuc011 END FUNCTION
以上,先根据派车单号从派车单单头档获取到派车单状态码、车辆类型;再通过系统分类值多语言档获取派车单状态码说明;