【实习之T100开发】T100 P处理开发流程

【实习】T100开发学习笔记

很多步骤前面做过很多次了,就写的很省略,具体可以参见:

1. azzi900建立程序代号cxmp666

在这里插入图片描述

2. azzi910建立作业代号cxmp666

在这里插入图片描述

3. 设计器 - 规格 - 下载规格 - 同时签出规格和程序

4. 设计器 - 常用工具 - r.a画面产生器 - 产生规格

在这里插入图片描述
P批次作业是个空框架,直接保存底稿,生成画面即可。

5. 设计器 - 规格 - 下载规格

6. 设计器 - 档案 - 开启档案,修改规格

直接将之前做的 cmxq666 画面上的东西复制过来了。。
在这里插入图片描述
注意不要漏了查询条件,给每一个都添加上:
在这里插入图片描述

7. 设计器 - 程序 - 下载程序,修改程序

开窗

xxxx_ui_dialog 中补全开窗代码…(略,参考之前文章)

实现功能:批次将cxmt666状态变为审核

xxxx_process 中调用函数 cxmp666_conf(g_master.wc)
在这里插入图片描述
cxmt666_conf(p_arg1) 函数:

PRIVATE FUNCTION cxmp666_conf(p_arg1)
   DEFINE p_arg1     STRING
   DEFINE l_sql      STRING
   DEFINE l_xmzyuc   DYNAMIC ARRAY OF RECORD
      xmzyucdocno LIKE xmzyuc_t.xmzyucdocno,
      xmzyucstus  LIKE xmzyuc_t.xmzyucstus
   END RECORD
   DEFINE l_ac    LIKE type_t.num5
   DEFINE l_n     LIKE type_t.num5
   DEFINE l_success LIKE type_t.num5
   
   CALL s_transaction_begin() #开启事务
   CALL l_xmzyuc.clear()
      
   LET l_success = TRUE
   LET l_ac = 1
   LET l_sql = "SELECT xmzyucdocno,xmzyucstus FROM xmzyuc_t WHERE xmzyucent=",g_enterprise,
               " AND ", p_arg1
               
   PREPARE cxmp666_pre  FROM l_sql
   DECLARE cxmp666_cs   CURSOR FOR cxmp666_pre
   FOREACH cxmp666_cs   INTO l_xmzyuc[l_ac].xmzyucdocno, l_xmzyuc[l_ac].xmzyucstus
      IF SQLCA.sqlcode THEN
         INITIALIZE g_errparam TO NULL 
         LET g_errparam.extend = "FOREACH:",SQLERRMESSAGE
         LET g_errparam.code   = SQLCA.SQLCODE 
         LET g_errparam.popup  = TRUE 
         CALL cl_err()
         EXIT FOREACH
      END IF
      #判断状态码是否为N, 如果不为N则不执行这笔
      IF l_xmzyuc[l_ac].xmzyucstus <> 'N' THEN
         CONTINUE FOREACH
      END IF
      #判断此笔单号对应的单身有无数据,如果对应的这个单身没有数据需要报错
      LET l_n = 0
      SELECT COUNT(*) INTO l_n FROM xmzyuc_t
      WHERE xmzyucent = g_enterprise
      AND xmzyucdocno = l_xmzyuc[l_ac].xmzyucdocno
      IF cl_null(l_n) THEN LET l_n = 0 END IF
      IF l_n = 0 THEN
         CONTINUE FOREACH
      END IF
      UPDATE xmzyuc_t SET xmzyucstus = 'Y'
      WHERE xmzyucent = g_enterprise
      AND xmzyucdocno = l_xmzyuc[l_ac].xmzyucdocno
      IF SQLCA.sqlcode THEN
         INITIALIZE g_errparam TO NULL 
         LET g_errparam.extend = "FOREACH:",SQLERRMESSAGE
         LET g_errparam.code   = SQLCA.SQLCODE 
         LET g_errparam.popup  = TRUE 
         CALL cl_err()
         LET l_success = FALSE
         EXIT FOREACH
      END IF
   END FOREACH
   
   IF NOT l_success THEN
      CALL s_transaction_end('N', '0')
      INITIALIZE g_errparam TO NULL 
      LET g_errparam.extend = ""
      LET g_errparam.code   = '' #执行错误的代码
      LET g_errparam.popup  = TRUE 
      CALL cl_err()
   ELSE    
      CALL s_transaction_end('Y', '0')
      LET g_errparam.extend = ""
      LET g_errparam.code   = '' #执行成功的代码
      LET g_errparam.popup  = TRUE 
      CALL cl_err()
   END IF
END FUNCTION

总结

点击【执行】后会进入 ON ACTION batch_execute
然后又会跳到 xxxx_process,实际上在这里写逻辑

初始化基本都在 xxxx_init 中进行

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌宅鹿同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值