0

我必须通过 SMARTFORMS 打印帐单文档,并且我想将 PDF 存档到附件列表中,我不得不使用INCLUDE rvadtabl 中的结构 toa_dara 和 arc_params它们的,没有任何价值,所以存档不是完毕 !

我怎样才能得到这个值?

使用代码:

INCLUDE rvadtabl.
...
...
    lst_loutput_options-tdimmed = gc_x.
    lst_loutput_options-tddest = nast-ldest.
    lst_loutput_options-tdnewid = gc_x.
    lst_loutput_options-tdarmod = nast-tdarmod.

CALL FUNCTION lv_fname
      EXPORTING
        control_parameters = lst_control
        output_options     = lst_loutput_options
        user_settings      = gc_x
        archive_parameters = arc_params
        archive_index      = toa_dara
      IMPORTING
        job_output_info    = lst_info
        job_output_options = lst_output.

4

1 回答 1

0

我们还没有特别这样做,但是我们已经将智能表单转换为 PDF,然后通过邮件发送。

form convert_and_send.
  data: it_otf type standard table of itcoo,
        it_content type table of tline,
        it_data type table of solisti1,
        it_target type table of solisti1,
        wa_job_info type ssfcrescl,
        wa_content like line of it_content,
        wa_data like line of it_data,
        wa_options type ssfcompop,
        wa_params type ssfctrlop,
        func_name type rs38l_fnam,
        lv_size type sood-objlen,
        lv_buffer type string.

  call function 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname = 'ZMYSMARTFORM'
    IMPORTING
      fm_name  = func_name.

  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.

  wa_params-getotf = 'X'.
  wa_params-no_dialog = 'X'.
  wa_params-preview = 'X'.

  call function func_name
    EXPORTING
      control_parameters = wa_params
      wa_options     = wa_options
      my_parameter   = my_parameter
    IMPORTING
      job_output_info    = wa_job_info.

  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.

  it_otf[] = wa_job_info-otfdata[].

  call function 'CONVERT_OTF'
    EXPORTING
      format                = 'PDF'
      max_linewidth         = 132
    IMPORTING
      bin_filesize          = lv_size
    TABLES
      otf                   = it_otf
      lines                 = it_content
    EXCEPTIONS
      err_max_linewidth     = 1
      err_format            = 2
      err_conv_not_possible = 3
      others                = 4.
  if sy-subrc <> 0.
  endif.

  loop at it_content into wa_content.
    translate wa_content using '~'.
    concatenate lv_buffer wa_content into lv_buffer.
  endloop.

  translate lv_buffer using '~'.

  do.
    clear wa_data.
    wa_data-line = lv_buffer.
    append wa_data to it_data.
    shift lv_buffer left by 255 places.
    if lv_buffer is initial.
      exit.
    endif.
  enddo.

  it_target[] = it_data[]. " This content send to email

***  ...
***  ...
***  ...
***  call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
***    EXPORTING
***      document_data              = lv_document_data
***      put_in_outbox              = 'X'
***      commit_work                = 'X'
***    TABLES
***      packing_list               = it_packing_list
***      object_header              = it_object_header
***      contents_bin               = it_target <---------- The content
***      contents_txt               = it_contents_txt
***      receivers                  = it_receivers
***    EXCEPTIONS
***      too_many_receivers         = 1
***      document_not_sent          = 2
***      document_type_not_exist    = 3
***      operation_no_authorization = 4
***      parameter_error            = 5
***      x_error                    = 6
***      enqueue_error              = 7
***      others                     = 8.
endform.

希望能帮助到你

于 2018-06-29T18:26:25.867 回答