单档——控件关联查询

 范例(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

  

以上,先根据派车单号从派车单单头档获取到派车单状态码、车辆类型;再通过系统分类值多语言档获取派车单状态码说明;

  

原文地址:https://www.cnblogs.com/xiaoli9627/p/6840858.html