2021/02/01

Tiptop ERP 给程序增加重要信息提醒

 一些程序由于其特殊性,需要在特定条件下给用户以提醒,避免不当使用。


如下是我的范例,供参考。

思路:在系统重要资料修改记录档(azo_file)中增加一条记录用于辨识是否提醒用户,可以根据移动日期azo03跟运行程序的日期对比来决定是否再次提醒,再根据cl_prompt()返回的「是」或「否」来决定下次是否提醒。

简略步骤 :

1. 检查azo_file的函数

FUNCTION i100_chk_azo()

 DEFINE  l_date     LIKE  type_file.dat

   LET l_date = g_today - 30
   LET g_i = 0

   SELECT COUNT(*) INTO g_i
     FROM azo_file
    WHERE azo01 = g_prog
      AND azo02 = g_user
      AND azo03 >= l_date
      AND azo06 = 'DO NOT REMIND IN 30 DAYS.'

   RETURN g_i
END FUNCTION

 2. 在程序加载时调用

   IF i100_chk_azo() THEN
      #有「最近30天不提醒」记录
   ELSE
      LET g_msg = '这个程序产出的结果有很多坑,使用时要特别注意。\n\n最近30天还要提醒吗?'
      #此处也可将提醒文字写入ze_file,再用cl_getmsg(p_code, p_lang)调用。
      IF cl_prompt(20,20,g_msg) THEN
         #下次继续提醒
      ELSE
         INSERT INTO azo_file VALUES (g_prog, g_user, g_today, g_time, '', 'DO NOT REMIND IN 30 DAYS.', g_plant, g_legal)
         IF SQLCA.sqlcode OR SQLCA.sqlerrd[3] = 0 THEN
            CALL cl_err('insert azo', SQLCA.sqlcode, 1)
            EXIT PROGRAM
         END IF
      END IF
   END IF

没有评论: