所见即所得的ALSM_EXCEL_TO_INTERNAL_TABLE和忠实于表格的TEXT_CONVERT_XLS_TO_SAP

使用ABAP导入Excel到SAP内表时,常用的两个函数是ALSM_EXCEL_TO_INTERNAL_TABLE和TEXT_CONVERT_XLS_TO_SAP。

两个函数,两种性格,两种风情,两种小脾气:

  1. ALSM_EXCEL_TO_INTERNAL_TABLE是你看见的Excel是啥样导入就是啥样,TEXT_CONVERT_XLS_TO_SAP是Excel实质上是啥样导入就是啥样。
  2. ALSM_EXCEL_TO_INTERNAL_TABLE的表参数关联的类型ALSMEX_TABLINE里的ROW、COL和VALUE通常都无法满足我国“大数据”导入的需求,所以这个小小的“坑”通常是需要我们自建函数来填的。
  3. TEXT_CONVERT_XLS_TO_SAP由于底层逻辑是转换TXT,因此比较依赖本地环境,可能会经常出现运行完但数据没有上SAP的情况,而且上传数据也是慢吞吞的。
  4. 选择了开朗的ALSM_EXCEL_TO_INTERNAL_TABLE,那么你就要严格要求自己和用户,Excel导入前格式一定要严格和程序里的数据结构保持一致;选择了内敛但默默对你好的TEXT_CONVERT_XLS_TO_SAP,你就要忍受它时不时爆发的小脾气。
  5. 使用ALSM_EXCEL_TO_INTERNAL_TABLE,用户经常会让你告诉TA:“你数据错列了”。
  6. 使用TEXT_CONVERT_XLS_TO_SAP,模板可以随意掩藏列,对于列很多但实际上只需要其中某几列的用户来说,很开心;但它发脾气的时候你往往也找不到原因。

大部分现代的程序应该用的是ALSM_EXCEL_TO_INTERNAL_TABLE,下面举一例子展示一下TEXT_CONVERT_XLS_TO_SAP的美丽动人之处。

所见即所得的ALSM_EXCEL_TO_INTERNAL_TABLE和忠实于表格的TEXT_CONVERT_XLS_TO_SAP
所见即所得的ALSM_EXCEL_TO_INTERNAL_TABLE和忠实于表格的TEXT_CONVERT_XLS_TO_SAP
所见即所得的ALSM_EXCEL_TO_INTERNAL_TABLE和忠实于表格的TEXT_CONVERT_XLS_TO_SAP

可以看到,我们上载的Excel模板中掩藏了C列,但数据上载并未错列,此谓 TEXT_CONVERT_XLS_TO_SAP的美丽动人之处。

这种情况你要是用ALSM_EXCEL_TO_INTERNAL_TABLE,TA的暴脾气必然要发作了。

以上,经历过这两位的同学都懂!

本文作者: GavinDong

版权属于: GavinDong博客

文章链接: https://www.gavindong.com/9223.html

如果使用过程中遇到问题,可 **点击此处** 交流沟通。

版权所有,转载时必须以链接形式注明作者和原始出处及本声明。

email