GUI_UPLOAD 和ALSM_EXCEL_TO_INTERNAL_TABLE函数的区别和用法

1 Introduction

In the sap I need upload data to sap. Now I know two function. One is TXT format and
The other is excel format. GUI_UPLOAD is TXT formart. The other function is ALSM_EXCEL_TO_INTERNAL_TABLE.we can use EXCEL format data.
The differen is field length. The excel function is less lenth 50. The txt function is not limited.

2 usage

GUI_UPLOAD

data: filename type string.
  types:begin of ty_up_data,

zslbh  like ztfi083b-zslbh ,    "    实例号
zlcbh  like ztfi083b-zlcbh ,    "     订单编号
vkbur  like ztfi083b-vkbur  ,   "      办事处编码
bscmc  like ztfi083b-bscmc  ,    "     办事处名称
skunnr  like  ztfi083b-skunnr   , "    受达方
zcpxh   like  ztfi083b-zcpxh    ,  "   产品型号
cpmc   like  ztfi083b-cpmc    ,    "   产品名称
cpfx   like  ztfi083b-cpfx     ,    "   方向
cpys   like  ztfi083b-cpys    ,     "    颜色
cpgg   like  ztfi083b-cpgg     ,     "   要货规格
cpsm    type string ,            "   整体说明
zgynm like  ztfi083b-zgynm    ,     "    供应商工厂名称
wgynm like    ztfi083b-wgynm    ,   "    供应商(卫俗)
bmatnr   like  ztfi083b-bmatnr       ,  "  新产品编码
bmaktx  like  ztfi083b-bmaktx    ,       "  新产品名称
menge  like  ztfi083b-menge    ,      "   订货数量
bkbetr   like  ztfi083b-bkbetr     ,   "    成本

datbi   like  ztfi083b-datbi       ,    "   有效期
datna  like  ztfi083b-datna    ,         " 导入日期
xblnr  like  ztfi083b-xblnr    ,         "  备注
  end of ty_up_data.
  data: lw_up_data type ty_up_data,
     
        lt_up_data type standard table of ty_up_data .

at selection-screen on value-request for p_file.
  perform frm_getpath changing p_file.
   filename = p_file.
 call function 'GUI_UPLOAD'
    exporting
      filename                =  filename
      filetype                = 'DAT'
      has_field_separator     = '#'
    tables
      data_tab                = lt_up_data[]
    exceptions
      file_open_error         = 1
      file_read_error         = 2
      no_batch                = 3
      gui_refuse_filetransfer = 4
      invalid_type            = 5
      no_authority            = 6
      unknown_error           = 7
      bad_data_format         = 8
      header_not_allowed      = 9
      separator_not_allowed   = 10
      header_too_long         = 11
      unknown_dp_error        = 12
      access_denied           = 13
      dp_out_of_memory        = 14
      disk_full               = 15
      dp_timeout              = 16
      others                  = 17.
  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.

form frm_getpath changing p_file.
*限制文件格式为xls
call function ‘F4_FILENAME’
exporting
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = ’ ’
importing
file_name = p_file.
endform.

ALSM_EXCEL_TO_INTERNAL_TABLE

data: filename type rlgrap-filename.

 types:begin of ty_up_data,

zslbh  like ztfi083b-zslbh ,    "    实例号
zlcbh  like ztfi083b-zlcbh ,    "     订单编号
vkbur  like ztfi083b-vkbur  ,   "      办事处编码
bscmc  like ztfi083b-bscmc  ,    "     办事处名称
skunnr  like  ztfi083b-skunnr   , "    受达方
zcpxh   like  ztfi083b-zcpxh    ,  "   产品型号
cpmc   like  ztfi083b-cpmc    ,    "   产品名称
cpfx   like  ztfi083b-cpfx     ,    "   方向
cpys   like  ztfi083b-cpys    ,     "    颜色
cpgg   like  ztfi083b-cpgg     ,     "   要货规格
cpsm    type string ,            "   整体说明
zgynm like  ztfi083b-zgynm    ,     "    供应商工厂名称
wgynm like    ztfi083b-wgynm    ,   "    供应商(卫俗)
bmatnr   like  ztfi083b-bmatnr       ,  "  新产品编码
bmaktx  like  ztfi083b-bmaktx    ,       "  新产品名称
menge  like  ztfi083b-menge    ,      "   订货数量
bkbetr   like  ztfi083b-bkbetr     ,   "    成本

datbi   like  ztfi083b-datbi       ,    "   有效期
datna  like  ztfi083b-datna    ,         " 导入日期
xblnr  like  ztfi083b-xblnr    ,         "  备注
  end of ty_up_data.
  data: lw_up_data type ty_up_data,     
        lt_up_data type standard table of ty_up_data .
  data: lt_tab type standard table of zxlsmex_tabline,
       ls_tab type zxlsmex_tabline.
 field-symbols: <cell> type any.

 call function 'ZALSM_EXCEL_TO_INTERNAL_TABLE'
    exporting
     filename                = filename
    i_begin_col             = 1
    i_begin_row             = 2
     i_end_col               = 20
     i_end_row               = 65536
   tables
    intern                  = lt_tab
    exceptions
     inconsistent_parameters = 1
      upload_ole              = 2
    others                  = 3.
     if sy-subrc <> 0.
   if sy-msgty is initial.
      message '数据导入,消息类型为空' type 'E'.
   else.
      message id sy-msgid type sy-msgty number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
   endif.
 endif.

  sort lt_tab by row.

 loop at lt_tab into ls_tab.


    assign component ls_tab-col of structure lw_up_data to <cell>.
    <cell> = ls_tab-value.
   at end of row.

      move-corresponding ls_tab to lw_up_data.

      append lw_up_data to lt_up_data.
    clear lw_up_data.
   endat.
 endloop.
 form frm_getpath  changing p_file.
*限制文件格式为xls


  call function 'WS_FILENAME_GET'
    exporting
     mask             = ',EXCEL FILE,*.XLS;*.XLSX;'
     mode             = 'O' "S为保存,O为打开
    importing
     filename         = filename
    exceptions
      inv_winsys       = 1
     no_batch         = 2
     selection_cancel = 3
      selection_error  = 4
      others           = 5.

endform.  
3 Summary

1.The format file is used by gui_upload.
在这里插入图片描述
2. In the field I don’t use blank about ALSM_EXCEL_TO_INTERNAL_TABLE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值