SAP 工具箱配置导入模板

作者:ABAP技巧与实战 约 13 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, CO, Data Engineering, FI, SD, WM, 仓库管理, 开发, 数据工程, 财务, 销售分销

# SAP工具箱 配置导入模板

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

__ _ _ _ _

**点击蓝字** 关注我们

一

前言

前文介绍了通用导入程序

> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP工具箱 通用导入程序

> ](http://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247486562&idx=1&sn=c128d7ca1cef276fa214d09f13ec7c43&chksm=cf5dd154f82a5842d6a8ed74f03135e82681c34097fca1df711c553226808291aba92a0fa5e6#rd)

**本文主要介绍怎么给特定表的导入配置模板及数据检查**

为了讲解的更清楚,更有条理,本文以数据导入临时表ZTUP_MB(商品凭证导入)为例.

二

导入表定义

ZTUP_MB表是用来临时存储需要产生商品凭证的数据.为了让商品凭证产生的过程可记录,可重试. 所以创建一个特定结构的表来记录导入的数据

• UPLID: 生成的序号,用来记录上传的文件ID

• LINEID: 行号,记录数据在原文件中的序号

• MBLNR_CR/MJAHR_CR: 用来记录后续成功创建的商品凭证号

• ZSUP_MB: 商品凭证需要的业务数据,字段不再赘述. 详见图二.

• ZSMATNR_IDENTIFY: 额外的商品识别方式

• ZSSIZE: 尺码作为列的导入(允许一般商品+多尺码信息在一行中同时导入单据,形成单据中的一般商品及下层的变式商品. 该逻辑后续专门撰文说明.

• ZSBC008: 后续处理产生商品凭证的程序实用,记录相关日期,时间,操作者等内容,详见图三

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

图一

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

图二

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

图三

三

辅助表定义

ZTUP_HEADER 是一个辅助表, 主要用来记录上传文件ID的一些特殊属性.

这是一个通用辅助表, 所有临时保存数据的表ZTUP_*都会把文件ID写入ZTUP_HEADER 中.

主要用于记录文件ID对应的文件名(FILENAME),导入日期,导入人员等信息.

当然,如果导入的表是数据最终要进入的表, 则无需这个辅助表.

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

四

创建TCODE

为通用导入程序ZUPLOAD_TABLE_CONTENT 创建一个TCODE: ZUP_MB . 具体产生模板或导入时,会通过TCODE读取配置信息.

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

五

配置表ZTBC001

ZTBC001中主要配置TCODE 与表的对应及一些通常的控制信息

大部分字段的描述已经足以说明字段含义了. 个别字段会在后面重点介绍一下.

• **TCODE** 事务代码

• **TABNAME** 表名

• **FUNCNAME** 函数名:配置调用的数据校验函数

• **PROGNAMEABAP** 程序名 :配置数据导入后跳转的处理程序

• **TYPENAME** 字典类型的名称 (废弃)

• **SEPARATOR** 分隔符 :如果是文本文件导入, 指定分割符号.如果没有指定, 实用制表符分割

• **BAPI_NO_AUTHCHECK** 跳过BAPI执行中的授权检查(需要BAPI函数支持)

• **CMFLG** 尺码横向显示功能标记

• **SELSC** 跳转到处理程序时,留在选择屏幕上

• **ERRSAVE** 带错误保存标记: 勾选: 文件存在错误的情况下,允许保存处理正确的部分. 未勾选,文件存在错误就不允许保存.

• **DISPT** 显示特定字段的文本(字段必须有码表检查标记才能显示),数据导入显示时,补充编码的描述

• **ERR_IN_DATA** 检查出错的数据也保存在上传表中(标记为A).

• **WITH_DATA** 允许附加数据产生模板: 勾选后,允许产生带有数据的模板.

• **UPD_NUM** 更新表时分包处理的每个包的条目数(个别表发现无法一次性更新,需要按指定条目数多次写入数据库)

• **FILENAME** 模板文件名(如果为空,使用表名)

• **KEEP_LINEID** 保留文件中的行号(如果存在报错并允许保存:勾选,保留文件中的行号,不勾选,正确内容重写行号)

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

_**01** _

**FUNCNAME**

函数名:配置调用的数据校验函数

通过定义并配置一个固定结构的函数,在函数中执行商品凭证导入的特殊逻辑(校验或数据补偿). 可以配置通用检查函数Z_BC_UP_COMM_CHECK.

也可以用这个函数复制一个函数

Z_BC_UP_MB_CHECK,在基本检查的基础上,再补充商品凭证导入的特殊检查逻辑

下面是两个基本检查逻辑

• Z_BC_UP_FIELD_EMPTY_CHECK 基于配置的检查

• Z_BC_UP_COMMON_DATUM_CHECK 日期检查

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

_**02** _

**PROGNAME**

ABAP 程序名 :配置数据导入后跳转的处理程序

• 如果导入数据记录的表是最终目标表, 则无需配置处理程序.

• 如果记录的表是临时表, 还需要通过特定的程序执行写入正式表(或者调用BAPI产生主数据或单据). 则需要配置一个处理程序.

处理程序大致需要一个相对固定的选择屏幕

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

_**03** _

**ERR_IN_DATA**

检查出错的数据也保存在上传表中(标记为VPROC=A).

• 勾选后:错误部分的数据与正确的数据一起显示并写入目标表(附加错误标记).此时视同ERRSAVE='X'.

• 未勾选:错误数据单独显示. 此时如果允许出错保存(ERRSAVE='X'). 保存后,会丢弃错误部分的数据. .如果ERRSAVE=''. 如果有错误的数据,则不允许保存

SAP 工具箱配置导入模板 - 封面图
SAP 工具箱配置导入模板 - 封面图

六

配置ZTBC001后的效果