客户和供应商预制凭证扩充WBS字段

2021-06-24  本文已影响0人  拓跋猫儿

参考文献

1.扩充字段

VBSEGK,VBSEGD

附加接口,ZAS_*,注意这里添加的字段是ps_psp_pnr,为什么用ps_psp_pnr具体原因在参考文献中有介绍。


image

2.复制屏幕

事务码SE80进入函数组F040,复制0301到9901,0302到9902屏幕。
屏幕9901和9902中添加bseg-projk到界面上。

image

3.配置屏幕

事务码SM30输入T019,找现在所有的301,302的屏幕,将它们修改为9901和9902.


配置T019

4.隐式增强

增强修改标准程序BDC_DATA
具体位置如下图所示


程序:LFIPIF00大约1794行

将BDC_DATA中的BSEG-PROJK行从内表中删除,行数据和行号(BSEG-VOZEI)通过内存抛出。

image
image

5.凭证过账

在凭证行增强(ZIF_EX_BD_SUBSTITUTION~LINEITEM)中接收内存数据并赋值。


image

遇到的问题

1) FB03报错

修改完成后,查看其它凭证,提示屏幕找不到


image

事务码FB03,开始进入程序SAPMF05L,750屏幕,双击行会按照逻辑跳转屏幕,屏幕确认代码大约在如下显示。

程序:MF05LFD0 大约 39行

同理,事务码FBV0确定预制凭证屏幕

程序:LF040F00 大约 5908 行

观察T019-dyncl='V',判断预制凭证在T019中的配置应该是V,SM30修改T019中的记录,只留下V的9901和9902屏幕。如果还发现类似的问题,再次修改屏幕。

2) 事务码FBV0报错

在完成步骤1,2,3后,直接调用bapiBAPI_ACC_DOCUMENT_POST生成的凭证是带有WBS的,事务码FBV0过账会提示消息号00344,"dynpro&&无批输入数据"的错误,对应的程序为SAPMF05A。这种错误一般为调用BDC程序报错的,具体报错的地方如下。

程序:LFIPIF00大约1868行

为了避免扩大修改范围,决定通过修改BDC_DATA,在凭证行增强赋值WBS。通过步骤4的隐式增强,获取WBS相关的信息并赋值。

上一篇 下一篇

猜你喜欢

热点阅读