abap 程式的bdc录屏在哪需要增加填写的信息,可以直接修改代码不重新录屏在哪吗?

1)输入TCode:SHDB进入BDC录制初始界面该堺面可以实现已创建BDC Session信息的查看、删除及锁定等操作


2)  单击工具栏 Newrecording 按钮创建一个新的BDC,系统将弹出Create Recording对话框要求输入记录名称(此名称可以鈈用Y或Z开头来定义)和录制程序的事务码,本例以创建物料主数据MM01为例


4)  输入自定义的物料名和行业领域,物料类型后按工具栏的继续按钮,系统将弹出Select View列表要求选择物料主档中所维护的具体视图,我们选“基本数据1”,单击继续


5)  进入物料信息维护界面,维护物料主檔数据我们这里选填了4项。

物料名称基本计量单位,物料组及普通项目类别组

6)完成后点保存,界面自动跳转到如下图界面红色圈住的地方就是我们需要填值的。


7)  点保存后点返回,如下图:


8) 点击工具栏按钮:Program,出现下图对话框输入程序名称,注意这里的名称一定偠按Z或Y开头命名


9)点继续,在下方的对话框中插入标题然后点击 源代码


10)输入开发类,本例是以STMP开发类点击:本地对象


11)界面转到abap編辑界面


12)我们对生成的代码稍稍做下修改。如下


13)激活运行单选:调用事务,然后执行


14)有10个物料成功创建


15)用Tcode:se12到MARA表里就可以查看剛批量添加的数据了。

加载中请稍候......

以上网友发言只代表其个人观点,不代表新浪网的观点或立场

}

公司今年计划大批扩建门店需偠自动化维护相关主数据,其中就有一步通过调用 WB01的BDC录屏在哪来自动创建地点前台跑没有问题,但后台JOB死活不行屏幕是以前同事录好嘚,只能硬着头皮修改

用ST22进去跟踪出错的代码:

结合前台调式,发现了出错屏幕:

解决办法:后台时跳过该屏幕但处理逻辑不能省。甴于屏幕只是个交互过程可以在后台代码直接将有用户输入的值给赋值上,屏幕自然就可以不要了具体实现就是将原屏幕PAI与PBO相关的代碼抠出来直接调用,而不再Call 屏幕

 查找该屏幕被调用的地方:

 然后断点调试看是哪个地方SM37进去:

勾上出错的JOB,输入JDBG事务码回车:

但先不偠去解决这个问题,本人就因为去解决这个问题耗费了大量时间这个问题的本质还是因为OO方式的ALV在后台无法构建出的问题,与前面的问題其实是同一问题只是运行方式不一样:前面的RAISE_EXCEPTION异常是直接通过任务跑出来的,这个OBJECTS_OBJREF_NOT_ASSIGNED异常是通过再一次调试该任务出来的可以ST22查看出錯点:

下面就继续修改代码,但代码是标准的程序一般是不让改的,但我司是老的SAP系统都不会再升级或打补丁了,再说SAP出来了新的S/4产品都明确说过,以后不再对老的SAP产品进行维护就像Windows XP一样,所以想维护想修改BUG的话就自己来吧

在修改标准程序前,还需要破解程序鈈然是修改不了的,我想搞过的人都知道吧这里就不说破解的事了

但要注意的是,修改标准程序不要影响其他的程序所以最好在主调程序调用WB01录屏在哪之前,设置一些标记将这些标记传到标准程序中,然后在修改标准程序的地方读取这些标记,能读到则修改,否則还是走原来的逻辑

下面是自己的程序,就是该程序调用WB01录屏在哪的:

下面是已修改的标准程序:

 (注:ok_code = 'BSTV'.因为从后面可以看出该Code还要繼续传到外面去,调用它的程序应该需要用到)

上面红框中的代码就是 SAPLPLANT_DISPLAY_CUSTOMIZING的1000屏幕 的处理逻辑我们可以打开1000屏幕,将它的PBO以前PAI抠出来,再這里进行直接进行调用这样虽然去掉了1000屏幕的交互过程,但后台逻辑我们并没有省略这样数据就不会出问题。

其实到这里还没有完當再次定义JOB跑时,上面的1000屏幕已成功去掉但相应的数据没问题,但是出现了新的问题

那我们再进SAPLSTRD标准程序的0300屏幕,找出错原因

为什么要选择这两个Module进行断点呢?原因就是因为该屏幕出问题但不知道是PBO里,还是PAI里出问题所以两个都断点一下,再调试看看屏幕的走姠

 F8到下面断点暂定,然后F6看屏幕一步步走的轨迹:

  继续F6发现所有屏幕都退出,PAI模块根本没调用直接退到我们自己的主调程序里:

没囿屏幕 & & 的批输入数据

还是看不懂,云里雾里只能暂停............

从上面调式300屏幕仔细来看,只走了PBO模块PAI没有走,没触发PAI录屏在哪中已传OKCODE,即使這里手动设置还是不行.............

没触发PAI这问题真是难找,原来的别人的录屏在哪又那么复杂没有适当数据,重录出来的屏幕流程与原来又不一樣产品还没找出原因,干脆一不做二不休将出问题的这个300屏幕也从屏幕流中干掉,屏我也懒得重录了

通过上面可以看出问题出在SAPLSTRD的300屏幕:

 从前台调试,可以得知是300屏幕是如下传输请求屏幕:

现在要跳过300屏幕与前面跳过1000屏幕一样,先要找到调用这300屏幕的地方其实从仩面图就可以看出,是在 TRINT_ORDER

_CHOICE调用的所以打开这个函数,再次进行代码修订:

与略掉1000屏幕一样将300里PAI与PBO相应影响数据的Module调用Form扣出来,在这里矗接调用不走屏幕的PAI与PBO。

修改后继续跑后台测试,很不幸还是出问题:

 初看起来与前面 SAPLSTRD的300屏幕问题一样,也是没有什么批输入数据什么的但经过下面调试,发现还真不一样前面是没有触发PAI,这里又是什么情况呢继续调试上面出错的JOB,调试前与前面一样,在SAPMWBE3的101屏幕中的PAI与PBO各打上一个断点查看屏幕的走向逻辑:

 继续调试上面出错的JOB,F8直到上面两处断点地方继续调试JOB:

的批输入数据 的问题,泹可能引发的原因不一样以经过一段时间的思考,这里应该是屏幕没有退出因为PBO执行了第二次,问题的原因应该是在修改标准函数 TRINT_ORDER_CHOICE引起的下面那就在TRINT_ORDER_CHOICE函数里修改的地方打上断点:

 然后继续调试上面JOB,F8直到上面的断点地方:

发布了0 篇原创文章 · 获赞 12 · 访问量 6万+

}
SAP录屏在哪BDC使用—实例

1)  输入TCode:SHDB进叺BDC录制初始界面该界面可以实现已创建BDC Session信息的查看、删除及锁定等操作

 2)  单击工具栏 Newrecording 按钮创建一个新的BDC,系统将弹出Create Recording对话框要求输入記录名称(此名称可以不用Y或Z开头来定义)和录制程序的事务码,本例以创建物料主数据MM01为例

4)  输入自定义的物料名和行业领域,物料类型後按工具栏的继续按钮,系统将弹出Select View列表要求选择物料主档中所维护的具体视图,我们选“基本数据1”,单击继续

 5)  进入物料信息维護界面,维护物料主档数据我们这里选填了4项。物料名称基本计量单位,物料组及普通项目类别组

6)完成后点保存,界面自动跳转到洳下图界面红色圈住的地方就是我们需要填值的。

 8) 点击工具栏按钮:Program,出现下图对话框输入程序名称,注意这里的名称一定要按Z或Y开头命名

 9)点继续,在下方的对话框中插入标题然后点击 源代码

 10)输入开发类,本例是以STMP开发类点击:本地对象

 12)我们对生成的代码稍稍做下修改。如下

 13)激活运行单选:调用事务,然后执行

发布了0 篇原创文章 · 获赞 1 · 访问量 1万+

}

我要回帖

更多关于 怎么录屏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信