使用LSMW的标准BATCH INPUT程序批量导入BOM全功略
作者:ZCHARMING
作者的博克:
ZCHARMING的SAP实务与研究QQ群:7733372
(这个是真正自己写的全功略哦,不像那个ECC6 IDES安装全功略只是我给原作加上附注,尽管如此,功劳还是不小的,呵呵)
要批量导入BOM确实是有很多方法,但是:如果用BDC程序,要求助于ABAP程序员,这个有点令人气馁!按照SAP的推荐,最佳选择是用LSMW的标准程序。
我就根据这一点,去弄我擅长的LSMW。
但这次碰上了很莫名的问题,首先是在SPECIFY FILES时,CONVERTED FILE那里一定要给出逻辑文件路径和逻辑文件名(可以用TC:FILE 配置),因为以前没弄过BATCH INPUT的,只弄过DERECT INPUT和RECORDING方法,所以不知道,查了资料才知道,在双击CONVERTED FILE文件名,随便填上逻辑文件路径和名称后,LSMW可以创建他们,不需要用FILE去配置的。
这一关过了,然后到CREATE BATCH INPUT SESSION FOR BOMS这一步时,就提示E29 811 TRANSACTION NOT SURPORT 这样的错误信息,无法生成批导入任务。
这个问题消耗了我不少时间,查了很多SAP NOTE,问了几个SAP顾问,都不明所以。
奇怪的是,连我们顾问公司的ABAPER高手JIM也不知道,郁闷啊!好了,今天突然想到一个SAP NOTE里面不是提到TC不支持小写字母么?呵呵,一试真的是这个问题啊。
终于解决啦!为了显摆一下,所以弄这个文档出来供大家参考,以后也不用为了BOM求人于ABAPER 了,呵呵!
第一幅图,这个简单,不用说明了。
图1
第二幅图,
图2
这个是BOM的结构,看到是上下两层啦,很好理解的。
第三幅图,这个是导入BOM所用的字段,但是注意,BOMHEAD应该有个识别符H,BOMITEM应该有个识别符I。
双击这两个字段就可以设置了。
这两个字段是自己额外加的,在录相时是录不到的。
其他字段都可以先用录相得到。
基本操作可以看LSMW魔鬼功略或
业务手册。
图3
第四幅图,结构关系,注意第一层和第二层都对应BOMHEAD,第三层对应BOMITEM。
第四层则空着,因为我的BOM没有用到组件的子项目。
图4
第五幅图,这个是很要命的一张图,就是这里没有弄对,害我几天没睡好觉!在弄这步时,可以先按CHANGE后,可以在菜单EXTRA下面找到AUTOFIELD MAPPING,按一下这个就可以自动MAPPING好字段了。
但是注意,大家用这个功能时,可能会发现有些源字段找不到对应的,这是标准程序的限制,请改一下源字段。
另外如果录相时得到“字段_01"这样的字段,肯定在标准程序结构里找不到对应的,这可能是字段有重复了,可以直接删除这个带尾巴的字段,如果没有重复的,则可以把尾巴去掉,一般应该找到对应的了。
但是,还是有可能找不到对应字段的,例如我想把对象相关性也一次带进去,这时就发现,对象相关性字段是没有的。
这就是程序的限制了。
好,关键问题还不是AUTOFIELD MAPPING ,而是我在图上打了的两个圈圈,必须光标点在TCODE上,然后去菜单EDIT下面按CONSTANT(常数),把大写的CS01这四个字老老实实的打进去。
切记啊,切记!
图5
第六幅图,是必须给出逻辑路径和逻辑文件名。
如以下图6. 图7是SPECIFY FILE时的参数。
图7
第8幅图,ASSIGN FILE 这个自动就分配好了。
图8.
第9幅图,在第5幅图时老实一点,这里就不要命了,不然就会死在这里的。
另外,如果原数据文件有错位等错误,则在这里也会提示错误。
对了,READ FILE 和CONVERT FILE这两步是很容易的,也没有什么技术含量,所以就略过了(后面附了一张READ FILE后的图,可以明显看到BOM的两层结构)。
图中那个逻辑文件名是自动出来的,肯定是你在前面给的那个,呵呵。
另外可以把下面那个勾打上。
图9.
图10,看到这个图该庆祝一下哦。
图11,开始运行批处理任务了,如下图
图12 请按PROCESS
图13. 这张图是补充说明一下READ FILE后的结果,可以看到BOM的两层结构被正确识别。
到这个图就是大功告成啦!呵呵,怎么样,读者应该感谢一下作者么?
如果还有问题,可以加入我的SAP实务与研究QQ群:7733372 我看到会给予解答的。
加入群的第一个要做的就是把自己的名片弄一下,当做是最简单的自我介绍啦。
(在名字前加上模块名)。