BILLING REPORT5

form. output_excel.


  loop at invoiceheader.
    loop at invoicedetail2 where vbeln = invoiceheader-vbelnf.
      move-corresponding invoicedetail2 to invoicedetail3.
      append invoicedetail3.
    endloop.

    describe table invoicedetail3 lines r.


    sheet = 'P1'.
    perform. openxls.

    perform. headerxls using invoiceheader-vbelnf.


    p = r / 15.
    do_r = ceil( p ).
    from = to = do_location = 0.
    i = 1.
    j = do_r - 1.
    if j > 0.
      do j times.
        call method of h_excel 'ROWS' = row
      exporting
            #1 = '1:45'.

        call method of row 'AutoFit'.
        call method of row 'COPY' no flush.
        call method of row 'INSERT' no flush.
        call method of row 'AutoFit'.
      enddo.
    endif.

    do do_r times.
      from = to + 1.
      to = i * 15.
      do_location = ( i - 1 ) * 45 + 22.
      perform. itemxls using from to do_location invoiceheader-vbelnf.
      i = i + 1.
      perform. total_amount using do_location invoiceheader-vbelnf.
    enddo.

    clear:p,r,do_r,from,to,do_location,i,j.
    free: invoicedetail3[].
  endloop.

  free: invoicedetail[],invoicedetail2[], invoiceheader[]
,invoicedetail3[],invoicedetail1[].
  free object h_excel.
  free object h_mapl.
  free object h_zl.
  free object h_f.
  free object h_sheet.
  free object row.

endform.                    " output_EXCEL
*&---------------------------------------------------------------------*
*&      Form  CALL_SMARTFORMS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&gt  p1        text
*  *----------------------------------------------------------------------*
form. call_smartforms.
*call smartforms
*************************
  call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
      formname                 = 'ZFSD_PCE_0009'
*   VARIANT                  = ' '
*   DIRECT_CALL              = ' '
   importing
     fm_name                  = fm_name
* EXCEPTIONS
*   NO_FORM                  = 1
*   NO_FUNCTION_MODULE       = 2
*   OTHERS                   = 3
            .
  if sy-subrc eq 0.
    w_ctrlop-langu = 'M'.
    call function fm_name
         exporting
              control_parameters = w_ctrlop
              output_options     = w_compop
              user_settings      = 'X'
         importing
              job_output_info    = w_return
         tables
              itab_header        = invoiceheader
              itab_detail        = invoicedetail2
         exceptions
              formatting_error   = 1
              internal_error     = 2
              send_error         = 3
              user_canceled      = 4.
    if sy-subrc eq 0.
      clear:pwoconpnent[],pwoconpnent[],invoiceheader,invoiceheader[],
            invoicedetail,invoicedetail[],invoicedetail2[].
    endif.
*    w_ctrlop-getotf = 'X'.
*    w_ctrlop-no_dialog = 'X'.
*    CALL FUNCTION fm_name
*         EXPORTING
*              control_parameters = w_ctrlop
*              output_options     = w_compop
*              user_settings      = 'X'
*         IMPORTING
*              job_output_info    = w_return
*         TABLES
*              itab_header        = invoiceheader
*              itab_detail        = invoicedetail
*         EXCEPTIONS
*              formatting_error   = 1
*              internal_error     = 2
*              send_error         = 3
*              user_canceled      = 4.

*    CALL FUNCTION 'CONVERT_OTF_2_PDF'
*         IMPORTING
*              bin_filesize           = len
*         TABLES
*              otf                    = w_return-otfdata[]
*              doctab_archive         = l_docs[]
*              lines                  = l_lines[]
*         EXCEPTIONS
*              err_conv_not_possible  = 1
*              err_otf_mc_noendmarker = 2
*              OTHERS                 = 3.
*
*    CALL METHOD cl_gui_frontend_services=>gui_download
*      EXPORTING
*        bin_filesize = len
*        filename     = 'D:\InvoiceNumber.pdf'
*        filetype     = 'BIN'
*      CHANGING
*        data_tab     = l_lines[]       "i_objbin[]
*      EXCEPTIONS
*        OTHERS       = 1
*        .
  endif.
*************************

endform.                    " CALL_SMARTFORMS
*&---------------------------------------------------------------------*
*&      Form  openxls
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&gt  p1        text
*  *----------------------------------------------------------------------*
form. openxls.
  create object h_excel 'EXCEL.APPLICATION'.
  set property of h_excel  'Visible' = 1.
  call method of h_excel 'Workbooks' = h_mapl.

  call method of h_mapl 'OPEN'
    exporting
      #1 = filename.
  if sy-subrc <> 0 .
    message i000 with filename.
    call method of h_excel 'QUIT'.
    free object h_excel.
    free object h_mapl.
    free object h_zl.
    free object h_f.
    free object h_sheet.
    exit .
  endif .
  call method of h_excel 'WORKSHEETS' = h_sheet
    exporting
       #1 = sheet .
endform.                    " openxls

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14397246/viewspace-666225/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14397246/viewspace-666225/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值