ABAP-SMARTFORM打印控制

DATA: L_WA_EKPO       TYPE  EKPO,
           L_ITAB_EKPO     LIKE  L_WA_EKPO OCCURS 0.
DATA: L_WA_SSFCOMPOP  TYPE  SSFCOMPOP,
           L_WA_SSFCTRLOP    TYPE  SSFCTRLOP.

DATA: L_FM_NAME TYPE RS38L_FNAM.

***获取SMARTFORMS的Function Module***
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      FORMNAME = 'ZTEST_XJL002'
    IMPORTING
      FM_NAME  = L_FM_NAME.

***以下设置将不再显示打印对话框,没有预览直接打印***
****Smart Forms: 控制结构*****
*  L_WA_SSFCTRLOP-PREVIEW       = ' '.            "不打印预览
*  L_WA_SSFCTRLOP-NO_OPEN       = 'X'.            "没有新的假脱机请求
*  L_WA_SSFCTRLOP-NO_CLOSE      = 'X'.            "不关闭假脱机请求
***NO_OPEN和NO_CLOSE运行增加几个FORM到一个假脱机请求中。
*  L_WA_SSFCTRLOP-NO_DIALOG     = 'X'.            "没有对话窗口打开
*  L_WA_SSFCTRLOP-DEVICE        = 'PRINTER'.      "PRINTER\MAIL\TELEFAX,缺省是PRINTER

****SAP Smart Forms: 智能写作器 (传输) 选项*****
*  L_WA_SSFCOMPOP-TDNOPREV  = 'X'.                      "是否打印预览,X是不预览。
*  L_WA_SSFCOMPOP-TDNOPRINT = 'X'.                      "没有打印预览的打印输出,设置X。
*  L_WA_SSFCOMPOP-TDIMMED   = 'X'.                      "立即打印标志。
*  L_WA_SSFCOMPOP-TDDEST    = 'RED_LOCAL'.              "假脱机,输出设备。
*  L_WA_SSFCOMPOP-RQPOSNAME = 'Microsoft Office Document Image Writer'.
*                                      "假托机:主假脱机打印机的长名称,即打印机名。


***以下设置打印预览功能***
****Smart Forms: 控制结构*****
  L_WA_SSFCTRLOP-PREVIEW       = 'X'.            "打印预览
  L_WA_SSFCTRLOP-NO_OPEN       = 'X'.            "新的假脱机请求
*  L_WA_SSFCTRLOP-NO_CLOSE      = 'X'.
  L_WA_SSFCTRLOP-NO_DIALOG     = 'X'.            "必须设置
*  L_WA_SSFCTRLOP-DEVICE        = 'PRINTER'.

****SAP Smart Forms: 智能写作器 (传输) 选项*****
  L_WA_SSFCOMPOP-TDNOPREV  = ' '.                      "是否打印预览,X是不预览。
  L_WA_SSFCOMPOP-TDNOPRINT = ' '.                      "没有打印预览的打印输出,设置X。
  L_WA_SSFCOMPOP-TDIMMED   = ' '.                      "立即打印标志。
  L_WA_SSFCOMPOP-TDDEST    = 'RED_LOCAL'.              "假脱机,输出设备。

***调用SSF_OPEN函数设置打印机,打开输出请求,使用用户打印设置必须调用SSF_OPEN***
  CALL FUNCTION 'SSF_OPEN'
    EXPORTING
      OUTPUT_OPTIONS     = L_WA_SSFCOMPOP
      CONTROL_PARAMETERS = L_WA_SSFCTRLOP
      USER_SETTINGS      = ' '
    EXCEPTIONS
      FORMATTING_ERROR   = 1
      INTERNAL_ERROR     = 2
      SEND_ERROR         = 3
      USER_CANCELED      = 4
      OTHERS             = 5.

***调用Smartforms的Function Module打印***
  CALL FUNCTION L_FM_NAME
    EXPORTING
      CONTROL_PARAMETERS = L_WA_SSFCTRLOP
      OUTPUT_OPTIONS     = L_WA_SSFCOMPOP
      USER_SETTINGS      = 'X'
      P_VALUE            = 'OK'
    TABLES
      G_ITAB_EKPO1       = L_ITAB_EKPO.


***关闭打印机设置***
  CALL FUNCTION 'SSF_CLOSE'
*     IMPORTING
*       JOB_OUTPUT_INFO       =
   EXCEPTIONS
     FORMATTING_ERROR       = 1
     INTERNAL_ERROR         = 2
     SEND_ERROR             = 3
     OTHERS                 = 4.

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值