SAP Smartform转成PDF方法汇总

本文详细介绍了在SAP中将Smartform转换为PDF的四种方法:通过代码开发、打印池假脱机请求、打印预览界面直接保存以及使用PDF虚拟打印机。每种方法都提供了具体的步骤和示例,帮助用户实现Smartform到PDF的转换。

SAP里常常要画各种smartform,并且用户还希望保存至本地PDF文件,下面就详细说明smartform转成PDF的四种方法,如果还有其他方法欢迎留言补充。

一、代码开发

1)先调用smartform函数获取OTF格式数据

2)后调用函数CONVERT_OTF转换成PDF格式数据

3)再调用GUI_DOWNLOAD函数下载

示例代码如下(本示例中需下载四个smartform对应的四个PDF文件)

  METHOD DOWNLOAD_PDF.
    DATA: LT_FORMNAME           TYPE STANDARD TABLE OF /PICM/ADOBEFORM_STR,
          LT_OTF                TYPE STANDARD TABLE OF ITCOO,
          LT_LINES              TYPE STANDARD TABLE OF TLINE,
          LT_DATA               TYPE STANDARD TABLE OF ZSSD042,
          LS_DATA               TYPE ZSSD042,
          LS_CONTROL_PARAMETERS TYPE SSFCTRLOP,
          LS_OUTPUT_OPTIONS     TYPE SSFCOMPOP,
          LS_JOB_OUTPUT_INFO    TYPE SSFCRESCL,
          LV_FILENAME           TYPE STRING,
          LV_PATH               TYPE STRING.

    DATA(LV_TIME) = SY-DATUM && SY-UZEIT.

    DATA(LT_VBELN) = T_ALV[].
    DELETE LT_VBELN WHERE CHOOSE IS INITIAL.
    SORT LT_VBELN BY VBELN.
    DELETE ADJACENT DUPLICATES FROM LT_VBELN COMPARING VBELN.
    IF LT_VBELN[] IS INITIAL.
      MESSAGE TEXT-E03 TYPE 'E'.
    ENDIF.

    CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
      CHANGING
        SELECTED_FOLDER      = LV_PATH
      EXCEPTIONS
        CNTL_ERROR           = 1
        ERROR_NO_GUI         = 2
        NOT_SUPPORTED_BY_GUI = 3
        OTHERS               = 4.
    IF SY-SUBRC <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    IF LV_PATH IS INITIAL.
      RETURN.
    ENDIF.

    "  LS_OUTPUT_OPTIONS-TDDEST   = 'LP01'.
    LS_OUTPUT_OPTIONS-TDIMMED  = 'X'.
    LS_OUTPUT_OPTIONS-TDDELETE = 'X'.
    L
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值