SAP工具箱 多表导入程序

点击蓝字 关注我们

前言

前文介绍了一个通用导入程序及怎么配置通用导入程序的导入模板

通用导入程序无峰,公众号:ABAP 技巧与实战SAP工具箱 通用导入程序

公众号交流群有人回复通用导入程序只能导入单表,用处不大.因为大部分单据,主数据的都是多表结构.

这里说明一下:

大部分配置表都是单表结构(文本表可以单独导入),可以直接导入数据.

之前介绍的通用导入程序只能导入到一个表中. 如果目标数据不是单表结构, 则需要创建一个临时存储表,先把数据导入到临时存储表中, 再调用处理程序写入正式表.这个更符合多表处理的实际情况.

本文主要介绍通用导入程序的升级版: ZUPLOAD_TABLE_CONTENT_MUL.可以同时处理多表的导入

场景描述

本文的示例场景中有三个表

ZTBCD_H                      补差单-抬头

ZTBCD_I                        补差单-明细(补差规则)

ZTBCD_I2                      补差单-补差结果明细

需要通过程序同时把数据导入到这三个表中.

这个场景需要忽略掉三个表的相关性数据校验. 因为这个相关校验逻辑个性化太强,很难通过配置实现.

配置过程

多个相关表同时导入需要先配置,才能执行

01

创建事务代码

  • 创建事务代码ZUP_BCD_MUL 调用多表导入程序:ZUPLOAD_TABLE_CONTENT_MUL

  • 创建事务代码ZUP_BCD_H 调用单表导入程序: ZUPLOAD_TABLE_CONTENT

  • 创建事务代码ZUP_BCD_I  调用单表导入程序: ZUPLOAD_TABLE_CONTENT

02

配置多表关系

在配置表ZTBC001D - EXCEL导入导出模板支持多表单(最多允许20个) 中配置事务代码和多表的关系.

每个TCODE 最多只能配置20个相关表.

多表关系可以直接配置表名,也可以配置TCODE ,通过配置ZTBC001获取表名.

下图的配置中:

  • ZUP_BCD_H  通过TCODE关联ZTBC001中的表

  • ZUP_BCD_I  通过TCODE关联ZTBC001中的表

  • ZTBCD_I2  直接使用表.

顺序字段内容控制了表在EXCEL中的标签顺序及导入后的屏幕界面呈现时的标签顺序

03

配置ZTBC001

在ZTBC001中维护TCODE 及相关的检查函数,出错保存等信息.

ZUP_BCD_MUL 表示总体处理的TCODE

ZUP_BCD_H  表示抬头表处理的TCODE

ZUP_BCD_I    表示行项目表出差的TCODE

因为ZTBCD_I2在ZTBC001D中直接配置的表名. 所以无需在ZTBC001中配置

04

配置每个表的模板

在配置表ZTBC001A为每个单独的表配置模板, 如果没有配置,则使用该表的全部字段.

具体配置方式详见链接无峰,公众号:ABAP 技巧与实战SAP工具箱 配置导入模板

需要注意的是:

如果ZTBC001D中配置的是表名,则单表的模板, 字段ZTBC001A-TABNAME 中只能填写表名.

如果ZTBC001D中配置的是TCODE, 单表模板配置里可以填写事务代码或表名.

如下图,只为两个表配置了模板字段,个别字段加了非空检查,关键字段设置了重复性检查

执行多表导入

执行的过程与单表导入的过程差不多. 界面样式稍有差异.

01

调用TCODE

调用之前创建的TCODE  ZUP_BCD_MUL 表名位置会填ZTBC001- FILENAME(模板文件名).

02

产生模板

勾选产生模板,然后执行产生EXCEL模板,产生的模板中包含了三个表的字段模板(其中,前两个是根据配置表获取, 第三个表没有配置,获取所有表中字段)

03

导入数据

在模板中输入需要导入的数据,保存后, 在程序选择屏幕去掉产生模板复选框.执行导入数据

04

显示导入的数据

导入的数据会呈现在屏幕上,通过标签页区分不同的表

根据选择屏幕上的复选框 'X' 错误数据和正确数据一起显示 '' 错误数据单独显示

控制报错数据的显示方式

  • 图一 报错数据单独显示

  • 图二 报错数据和正常数据一起显示

图一

图二

05

保存数据

点击保存后 ,数据会分别写入相应的表ZTBCD_H/ZTBCD_I/ZTBCD_I2

总结

程序ZUPLOAD_TABLE_CONTENT_MUL 是在程序ZUPLOAD_TABLE_CONTENT的基础上,增加了同时处理多表的功能. 两个程序同时支持模板配置中的所有显示规则,检查规则. 具体的配置逻辑可以理解为先为每个单表完成配置

详见链接无峰,公众号:ABAP 技巧与实战SAP工具箱 配置导入模板

然后在多个单表配置的基础上, 再通过ZTBC001D配置表把所有单表配置的TCODE整合到一个多表TCODE中.

需要注意的是:

单表TCODE,调用ZUPLOAD_TABLE_CONTENT

多表TCODE,调用

ZUPLOAD_TABLE_CONTENT_MUL

目前尚未在项目中实际使用过这个多表导入.

究其原因是实际很少有多表同时导入的场景.因为表间关系比较复杂,往往需要先把多表数据导入一个临时表(主从表),再通过程序处理写入多表.

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.     

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容