zoukankan      html  css  js  c++  java
  • SMARTFORM 点击打印后,将打印次数或者是最后的打印时间添加到数据表中

       REFRESH gtd_out,gtd_prps.
          gtd_prps gtd_list.
          LOOP AT gtd_list INTO gth_list WHERE flag 'X'.
            MOVE-CORRESPONDING gth_list TO gth_header.
            SELECT SINGLE PRINTDATE INTO gth_header-PRINTDATE  FROM  ZTZRPS002_N1
                              WHERE RSNUM gth_header-RSNUM AND AUFNR gth_header-AUFNR AND VORNR gth_header-VORNR AND PSPID gth_header-PSPID AND POSID =  gth_header-POSID .  

     "自定义表ZTZRPS002_N1读取是否上次存储过打印之后的数据
            IF SY-SUBRC <> 0.
              gth_header-PRINTDATE SY-DATUM."没有被打印过,设置为当前日期
            ENDIF.

     
     
            DATA:v_output_info TYPE ssfcrescl,
            v_output_options TYPE ssfcompop,
            v_PRINT_COUNT(3TYPE c.
            v_output_options-tdiexit 'X'."(这个参数一定要传,这样在smartform预览界面点后退按钮后,下面的传出参数v_output_info-outputdone不会被赋值)


            CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
              EXPORTING
                FORMNAME 'ZPSF002_N1'
              IMPORTING
                FM_NAME  GWK_FNAME.

            CALL FUNCTION GWK_FNAME
              EXPORTING
                OUTPUT_OPTIONS   v_output_options
              IMPORTING
                JOB_OUTPUT_INFO  v_output_info
              EXCEPTIONS
                FORMATTING_ERROR 1
                INTERNAL_ERROR   2
                SEND_ERROR       3
                USER_CANCELED    4
                OTHERS           5.

            IF SY-SUBRC 0.  "SMARTFORM执行之后,执行此处代码
              IF v_output_info-outputdone 'X'.“判断是否是真正的进行过打印,是的话将数据存储到数据表中
                LOOP AT   gtd_header INTO gth_header .
                  SELECT SINGLE PRINTDATE INTO gth_header-PRINTDATE  FROM  ZTZRPS002_N1
                 WHERE RSNUM gth_header-RSNUM AND AUFNR gth_header-AUFNR AND VORNR gth_header-VORNR AND PSPID gth_header-PSPID AND POSID =  gth_header-POSID .
                  IF SY-SUBRC <> 0.
                    ITAB_WA-RSNUM gth_header-RSNUM.
                    ITAB_WA-AUFNR gth_header-AUFNR.
                    ITAB_WA-VORNR gth_header-VORNR.
                    ITAB_WA-PSPID gth_header-PSPID.
                    ITAB_WA-POSID gth_header-POSID.
                    ITAB_WA-PRINTDATE SY-DATUM.
                    MODIFY ZTZRPS002_N1  FROM ITAB_WA.
                  ENDIF.

                ENDLOOP.


  • 相关阅读:
    boost::asio 连接管理11 如何关闭连接
    boost::asio async_write也不能保证一次发完所有数据 二
    boost::asio async_write也不能保证一次发完所有数据 一
    boost参考博客
    C++ 多线程编程总结
    Boost::asio io_service 实现分析
    使用boost io_service时,需要注意的东西
    Boost::Thread 多线程的基础知识
    boost::thread类
    Boost::thread库的使用
  • 原文地址:https://www.cnblogs.com/weichuo/p/2658852.html
Copyright © 2011-2022 走看看