采购等变更单变更前数据显示
需求:采购变更单增加栏位“运送方式”
数据库:
pmdl_t 采购单头档 对应 apmt500,记录采购单各栏位内容 pmee_t 采购变更单头档 对应 apmt510,记录采购单变更后各个栏位的具体内容
pmek_t 采购变更历程档 主要记录记录采购单变更字段,变更前内容,变更后内容(单身同理,此处略去)
颜色变更:
将变更的栏位颜色改为红色的函数为:PRIVATE FUNCTION apmt510_head_color()函数功能为检测栏位是否发生更改,则更改栏位颜色,里面关键的语句为: CALL cl_set_comp_font_color(l_pmek002,”red”) ,
现 颜 色 变 更 关 键 是 pmdl_t 和 plee_t 上 对 应 栏 位 的 流 水 号 相 同 , 因 为
LET l_pmek002 = cl_replace_str(l_pmek002,‘pmdl’,‘pmee’) 语句会将 pmdl 替换成 pmee,流水号不同会导致变量 l_pmek002 出错。
程式添加部分:
在 PRIVATE FUNCTION apmt510_head_init_color() 中 添 加 以 下 代 码 , 目 的 是 初 始 化 栏 位 单 头 颜 色 CALL cl_set_comp_font_color(“pmeeua004”,“black”)
显示旧值:
apmt510 中,显示变更前的值是 CALL s_hint_show() 这个元件,这个元件会根据传入的参数找到对应栏位变更前记录的值,在鼠标移上去之后,显示出来
客制栏位的变更记录需写入变更历程档 pmek_t ,单头栏位在 AFTER INPUT 之后,会更加采购单号抓取采购单上值,与当前画面上的值比较,是否有做变更,若有变更,则写入 pmek 档中,具体可参考单头其他栏位
将下面程式增加到 PRIVATE FUNCTION apmt510_upd_pmee901()中(参考其他栏位),目的是检测栏位是否发生变更,如果发生变更并写到 pmek_t 档中去:
#运送方式
IF (NOT cl_null(g_pmee_m.pmeeua004) AND (g_pmee_m.pmeeua004 != l_pmdl_m.pmdlua004 OR cl_null(l_pmdl_m.p mdlua004))) OR
(cl_null(g_pmee_m.pmeeua004) AND NOT cl_null(l_pmdl_m.pmdlua004)) THEN
#其說明的 SQL
LET g_pmek007 =”
#新增資料到變更歷程檔
IF NOT s_apmt510_ins_pmek(0,0,0,“pmdlua004”,‘1’,l_pmdl_m.pmdlua004,g_pmee_m.pmeeua004,g_pmee_m.pmeed ocno,g_pmee_m.pmee900,g_pmek007) THEN
LET r_success = FALSE RETURN r_success
ELSE
LET l_flag = TRUE #有欄位變更,則更新為’Y’
END IF
ELSE
#資料一樣,表示無變更,將變更歷程檔刪除
IF NOT s_apmt510_del_pmek(0,0,0,“pmdlua004”,g_pmee_m.pmeedocno,g_pmee_m.pmee900) THEN
LET r_success = FALSE
RETURN r_success
END IF
END IF
转载请注明:赫非域 » T100采购等变更单变更前数据显示