SAP: Generate Excel Upload to SAP Server(Al11)

*&---------------------------------------------------------------------*
*& Report  ZTEST140
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

report  ztest140.


data: begin of itab occurs 0 ,
      matnr like mara-matnr,
      maktx like makt-maktx,
      meins like mara-meins,
      ntgew like mara-ntgew,
      gewei like mara-gewei,
      end of itab.

data: lv_ntgew type length 17,
 w_rc type i.
data: gv_file like rlgrap-filename.
data: begin of it_down occurs 0,
          line(1000type c,
end of it_down .

selection-screen begin of block with frame title text-001.
parameters: pr_error like rlgrap-filename obligatory default '/usr/sap/tmp'.
selection-screen end of block 1.


perform get_data.
if itab[] is not  initial.
  perform get_file.
  perform download_server.
endif.
*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form get_data .

  select distinct a~matnr b~maktx a~meins a~ntgew a~gewei into corresponding fields of table itab
    from mara as a
    inner join makt as on b~matnr a~matnr
    where a~ntgew '99999'.

  sort itab by matnr.

  concatenate 'Material Number' 'Material Description '
              'Unit' 'Net Weight' 'Weight Unit'
              into it_down
              separated by cl_abap_char_utilities=>horizontal_tab.
  append it_down .

  loop at itab.
    clear: lv_ntgew.
    lv_ntgew itab-ntgew.
    condense lv_ntgew.
    concatenate itab-matnr itab-maktx  itab-meins  lv_ntgew itab-gewei
                into it_down
                separated by cl_abap_char_utilities=>horizontal_tab.
    append it_down .
  endloop.
endform.                    " GET_DATA
*&---------------------------------------------------------------------*
*&      Form  GET_FILE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form get_file.
*  data: wa_key(30) type c.
*  data: lv_i type i.
*  data: lv_c(1) type c.
*  data: wa_date(8) type c.
*  data: wa_time like sy-uzeit.
*  data: lv_char type c.
*  wa_date = sy-datum.
*  wa_time =  sy-uzeit.
*  concatenate 'ztest104' wa_date wa_time  into wa_key.
*  concatenate wa_key '.CSV' into wa_key.
*
*  lv_i = strlen( pr_error ).
*  lv_i = lv_i - 1 .
*  if lv_i > 1.
*    lv_c = pr_error+lv_i(1).
*  endif.
**  if P_TEST = 'X'.
**    LV_CHAR = '\' .
**  else.
*  lv_char = '/' .
**  endif.
*  if lv_c eq lv_char.
*    concatenate pr_error wa_key into gv_file.
*  else.
*    concatenate pr_error lv_char wa_key into gv_file.
*  endif.
  gv_file '/usr/sap/tmp/ZTEST104.XLS'.

endform.  "  get_file
*&---------------------------------------------------------------------*
*&      Form  DOWNLOAD_SERVER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form download_server .
  open dataset gv_file for output in text mode encoding default.
  if sy-subrc eq 0.
    loop at it_down .
      transfer it_down-line to gv_file.
    endloop.
  endif.
  close dataset gv_file.
endform.                    " DOWNLOAD_SERVER
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值