-
栏位隐藏
本次需求是当参数为 D-MFG C017则隐藏栏位,反之显示,且查询以及制单都能实现
本含数能够透过订单来获取单据编号
CALL s_aooi200_get_slip(g_pmda_m.pmdadocno) RETURNING l_success,g_slip
本函数能透过单据编号来获取参数编号
CALL cl_get_doc_para(g_enterprise,g_site,g_slip,'D-MFGC-017') RETURNING g_mfgc017
本函数能够隐藏/显示栏位
CALL cl_set_comp_visible("pmdbud002_desc",FALSE)
录单时的逻辑我是写在bfill里,foreach之前的g_sql,本来是写在订单trigger,但没办法触发
如果有更好的写法欢迎交流
CALL s_aooi200_get_slip(g_pmda_m.pmdadocno) RETURNING l_success,g_slip
LET g_mfgc017 = ''
CALL cl_get_doc_para(g_enterprise,g_site,g_slip,'D-MFGC-017') RETURNING g_mfgc017
IF cl_null(g_mfgc017) THEN LET g_mfgc017 = 'N' END IF
CALL apmt400_am_hide_mold()
DISPLAY '按下按鈕後'
################################################################################
# Descriptions...: 隱藏模具欄位
# Memo...........:
# Usage..........: CALL apmt400_am_hide_mold()
# RETURNING 回传参数
# Input parameter:
# :
# Return code....:
# :
# Date & Author..: 2025 03 28 xhc
# Modify.........:
################################################################################
PRIVATE FUNCTION apmt400_am_hide_mold()
DEFINE l_mfgc017 LIKE ooac_t.ooac004
LET l_mfgc017 = ''
CALL cl_get_doc_para(g_enterprise,g_site,g_slip,'D-MFGC-017') RETURNING l_mfgc017
IF cl_null(l_mfgc017) THEN LET l_mfgc017 = 'N' END IF
IF l_mfgc017 = 'N' THEN
DISPLAY '隱藏,',l_mfgc017,g_slip
CALL cl_set_comp_visible("pmdbud001",FALSE)
CALL cl_set_comp_visible("pmdbud002",FALSE)
CALL cl_set_comp_visible("pmdbud002_desc",FALSE)
IF g_pmda_m.pmdadocno LIKE %"P1DA" THEN
CALL cl_set_comp_visible("pmdbud001",TRUE)
CALL cl_set_comp_visible("pmdbud002",TRUE)
CALL cl_set_comp_visible("pmdbud002_desc",TRUE)
END IF
ELSE
DISPLAY '顯示,',l_mfgc017
CALL cl_set_comp_visible("pmdbud001",TRUE)
CALL cl_set_comp_visible("pmdbud002",TRUE)
CALL cl_set_comp_visible("pmdbud002_desc",TRUE)
END IF
再来切换页面的逻辑我是写在detail_show,代码如b_fill照搬就行了呢