欢迎来到天天文库
浏览记录
ID:10274757
大小:100.00 KB
页数:0页
时间:2018-06-14
《sap关于客户化字段的修改》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、客户化字段不能修改:问题背景:自定义的客户化codingblock字段无法修改,分析一下,如下图,自定义字段ZZ0001,TcodeFB02进入,按F1帮助,可以看到其对应的程序名/屏幕号为SAPLKACB/9999。双击程序名SAPLKACB,选择”显示对象清单”按钮,如下图。找到屏幕9999,所有客户化字段都在该屏幕上,选择屏幕号9999,可看到逻辑流有对BEFOREOUTPUT和AFTER INPUT的处理,客户化字段之所以会不可修改,主要受程序控制。技术分析:为什么后台配置只能将如文本和参考等字段拉出允许修改而客户化字段不能?本
2、人来分析一下,首先字段状态组大家都会很熟悉,下图为Tcode:OBC4科目字段状态组的一个定义画面,你会发现能被设置修改的文本和参考字段在”一般数据”选择组,能被修改的到期日字段在”支付业务”选择组,自定义客户化字段在什么组?“附加科目设置”选择组,附加科目设置是什么意思,英文叫Codingblock,类似国内所谓的辅助核算字段,辅助核算字段什么概念,类似会计科目也,可以修改凭证的会计科目吗?显然不可以,所以,FB02基本上严禁修改任何客户化字段是正确的,如果需要修改如何办?如此看来,只有冲销再做。现在,如果确实需修改内容如何办?只要找
3、到SAPLKACB/9999的BEFOREOUTPUT的控制显示的代码修正一下就可,看粗体注释。FORMfeldmodifikation_normal.DATA:l_table(10)TYPEc,l_fdnamTYPEcobl_fdnam,l_coblfTYPEty_coblf.LOOPATSCREEN.“Loop屏幕字段screen-required=mod_off.“screen-required表示屏幕字段必输screen-input=mod_off.“screen-input=mod_on(即1)允许修改screen-outpu
4、t=mod_off.“screen-input=mod_off(0)禁止修改screen-intensified=mod_off.screen-invisible=mod_off.screen-active=mod_off.SPLITscreen-nameAT'-'INTOl_tablel_fdnam.…MODIFYSCREEN.ENDLOOP.ENDFORM.所以只要在子例程feldmodifikation_normal的MODIFYSCREEN前加入如下4行参考代码就可:…ifsy-tcode='FB02'andscreen-nam
5、e+0(7)='COBL-ZZ'.screen-input=mod_on.screen-output=mod_on.endif.MODIFYSCREEN.ENDLOOP.ENDFORM.注释:如果找不到相关配置(根据上面分析,应该是没有相关配置允许能修改)和其他方法,客户化字段可以通过增加代码实现,同时强调不要利用代码修改其他codingblock字段,将造成意外结果,如将成本中心放出修改,可能造成FB02仅仅修改了FI模块/财务凭证的成本中心,但CO模块/CO凭证的成本中心未被修改。
此文档下载收益归作者所有