SAP将客户化字段输入获利分析.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一.客户化字段传输至获利分析: 企业只实施SAP FI模块,为了体现出不同的销售方式,财务模块自定义客户化字段”销售方式”,希望同时将该字段内容传输如CO-PA获利分析模块。 使用CO-PA增强COPA0005 (实际数据更新优化) ZXKKEU07程序,参考代码如下表: *CE1FRPC为获利分析的组织架构经营范围 DATA:iwa_item type CE1FRPC . MOVE I_ITEM TO IWA_ITEM . iwa_item-ZFXFS = T_ACCIT-ZZ0001 . iwa_item-ABSMG = T_ACCIT-MENGE .”将FI数量传输如CO-PA E_ITEM = iwa_item . 代码非常简单,就是首先将进来的获利分析段内表数据I_ITEM赋予临时行变量IWA_ITEM, T_ACCIT代表FI行项目内容,将值赋给临时变量IWA_ITEM,最后输出到获利分析输出行变量E_ITEM,所谓的增强无非都是这个思路。 强调: 如果FI记帐目时数量输入错误,FB02将无法变更,需红冲原凭证再做,同样,任何客户化字段内容输入错误,原则上也要求红冲再重做分录,否则,即使通过一定技术手段勉强在财务层面FB02修改了相关客户化字段,也只能传输到CO凭证,该客户化字段的新内容可能无法传输到获利分析模块,因此将造成FI和PA的数据不一致,因此,最好的方法就是出现记帐错误,推倒重来。 二.客户化字段不能修改问题: 问题背景:自定义的客户化coding block字段无法修改, 分析一下, 如下图,自定义字段ZZ0001,Tcode FB02进入,按F1帮助,可以看到其对应的程序名/屏幕号为SAPLKACB/9999。 双击程序名SAPLKACB,选择”显示对象清单”按钮,如下图。 找到屏幕9999,所有客户化字段都在该屏幕上,选择屏幕号9999,可看到逻辑流有对BEFORE OUTPUT和AFTER INPUT的处理,客户化字段之所以会不可修改,主要受程序控制。 技术分析: 为什么后台配置只能将如文本和参考等字段拉出允许修改而客户化字段不能? 本人来分析一下,首先字段状态组大家都会很熟悉,下图为Tcode:OBC4科目字段状态组的一个定义画面,你会发现能被设置修改的文本和参考字段在”一般数据”选择组,能被修改的到期日字段在”支付业务”选择组, 自定义客户化字段在什么组? “附加科目设置”选择组, 附加科目设置是什么意思,英文叫Coding block,类似国内所谓的辅助核算字段,辅助核算字段什么概念,类似会计科目也,可以修改凭证的会计科目吗?显然不可以,所以,FB02基本上严禁修改任何客户化字段是正确的,如果需要修改如何办?如此看来,只有冲销再做。 现在,如果确实需修改内容如何办?只要找到SAPLKACB/9999的BEFORE OUTPUT的控制显示的代码修正一下就可,看粗体注释。 FORM feldmodifikation_normal. DATA: l_table(10) TYPE c, l_fdnam TYPE cobl_fdnam, l_coblf TYPE ty_coblf. LOOP AT SCREEN. “Loop屏幕字段 screen-required = mod_off. “screen-required表示屏幕字段必输 screen-input = mod_off. “screen-input=mod_on(即1)允许修改 screen-output = mod_off. “screen-input=mod_off(0)禁止修改 screen-intensified = mod_off. screen-invisible = mod_off. screen-active = mod_off. SPLIT screen-name AT - INTO l_table l_fdnam. … MODIFY SCREEN. ENDLOOP. ENDFORM. 所以只要在子例程feldmodifikation_normal的MODIFY SCREEN前加入如下4行参考代码就可: … if sy-tcode = FB02 and screen-name+0(7) = COBL-ZZ. screen-input = mod_on. screen-output = mod_on. endif. MODIFY SCREEN. ENDLOOP. END

您可能关注的文档

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档