GGB0/OB28/OKC7/GGB1/OBBH/OKC9 FICO增强(转)

(FICO增强的统一规划

FICO的增强通常包括替代和有效性检查,替代的目的是根据自定义逻辑替换凭证的字段内容,而有效性检查顾名思义就是对凭证的内容进行检查,常用Tcode包括:

GGB0/OB28/OKC7:全部/FI/CO有效性检查

GGB1/OBBH/OKC9:全部/FI/CO替代

GGB4:ALL Rule Class

GS01:配置集

http://wenku.baidu.com/view/043ea6fb700abb68a982fb41.html

*以下增强均包括替代和有效性检查。

以凭证有效性检查为例,目前,很多企业在不同的项目为不同的模块满足不同的校验需求建立了大量的检查步骤,有的竟多达上百个步骤,给后续维护带来很大不便, 常见的问题有:在检查的先决条件中比如写死会计科目/成本中心等条件造成新增科目或成本中心遗漏检查;由于有效性检查(或替代)是覆盖性传输,造成后续增加步骤由于难于找到和生产机同步的配置而不得不直接在生产系统中操作, 在集中ERP服务器中该问题尤其突出。

那么,如何避免过多的FICO增强步骤? 本人觉得可以通过规范使用增强达到目的,参考做法如下:

(1).事先规划好有效性检查步骤,每个步骤的检查使用Exit(Exit被译为1的”退出”)例程,例程可按集团公用还是企业私有划分,如集中服务器分”企业有效性检查例程”U800和”公用有效性检查例程”U900俩例程,将所有的有效性检查逻辑全部放在此两例程,如集团BCS项目相关会计科目过帐合并事务类型必输校验,实际上对所有企业逻辑是一样的,可以放在公用例程U900中;再如集团会计基础项目的自动会计凭证根据不同凭证类型的自动行文本摘要替代,也可放在公用例程U900,也就是说每个企业的FICO凭证检查和替代,将只能看到对应公共和私有例程的2个步骤,这样在后续的校验或替代逻辑增加中,只需修改例程就行。

或者,按不同主题划分增强步骤,例如,有的企业为了给ERP自动集成凭证替代行项目文本,每种凭证类型1个替代步骤,造成了一大堆的替代步骤,实际上只需建立1个比如叫”行文本替代”的主题步骤+1个行文本替代例程就可,可以非常方便地将其他企业的逻辑复制过来使用。

(2).禁止企业随意新增步骤,避免凭证检查和凭证替代的使用混乱和后续维护的困难。

下面以BCS项目检查相关科目合并事务类型必输为例说明如何增强的规划使用,步骤如下:

().首先,如1,建立1个科目“合并事务类型必输”主题步骤, 当然,为了避免增强步骤过多,可以建立1个更大的如叫”科目记帐检查”的主题步骤,注意1检查使用的是U900例程。

().在例程中尽量使用可配置的逻辑代码,我们应该从可配置性的SAP系统中学习并应用好这点。

(三).科目设置可使用Tcode:KDH1或GS01建立科目集,以应交税费科目必须输入合并事务类型C00(税金-年初未交(退)数)、C01(税金-本期应交(退)数)、C11(税金-本期已交数-本年)或C12(税金-本期已交数-非本年)为例,首先KDH1建立科目组ZSWLX_YJSF,该科目组的科目由用户自行定义,接下来只需要在U900编写以下参考代码就可检查应交税费科目的合并事务类型必须输入且必须以C开头。

FORM U900  USING B_RESULT.

Data: i_hkont like bseg-hkont,

i_swlx1(1),

i_setname like setleaf-setname .

*检查科目在相关科目集合中才做校验

select  single setname into  i_setname

from   setleaf

where  valfrom =  bseg-hkont

and setname like 'ZSWLX%' .

check sy-subrc eq 0 .

i_swlx1 = bseg-bewar+0(1).

case i_setname .

*应交税费类科目过帐时其事务类型必须是C开头

when 'ZSWLX_YJSF' .

if i_swlx1 = 'C'.

b_result = b_true.

else.

b_result = b_false.

endif.

*  When …

endcase .

ENDFORM .

同样,如果需要判断应付职工薪酬科目必须输入I开头的事务类型,只需要增加如下代码就可。

*职工薪酬类科目事务类型必须是I开头

when 'ZSWLX_ZGXC'.

if i_swlx1 = 'I'.

b_result = b_true.

else.

b_result = b_false.

endif.

endcase .

这种使用例程的增强好处非常明显,按主题管理的增强步骤非常明晰;新增检查逻辑时只需修改例程就行,方便维护;可配置的科目在科目发生变化时无需重传请求等,遗憾的是,目前我们很多企业在实施ERP时并未在意FICO增强的统一规划,多数企业的FICO增强使用都比较混乱,说白了,就是随时随意增加步骤,给后续维护带来不小麻烦。

例程的增强有个小小的缺点,就是需具备基本的ABAP知识,这不是什么问题,作为顾问和关键用户,了解基本的ABAP知识应是必须的,况且,在多数增强中,我们往往只是简单复制代码稍事修改。

---------------------------------------------------------------------------------------------------------------

目前BCS项目中需进行合并事务类型必输检查的完整的代码如下表:

FORM U900  USING B_RESULT.

Data: i_hkont like bseg-hkont,

i_swlx1(1),

i_setname like setleaf-setname .

select  single setname into  i_setname

from   setleaf

where  valfrom =  bseg-hkont

and setname like 'ZSWLX%' .

check sy-subrc eq 0 .

i_swlx1 = bseg-bewar+0(1).

case i_setname .

*资产减值类科目事务类型必须是A开头,注意AM集成类科目

when 'ZSWLX_ZCJZ'.

if i_swlx1 = 'A'.

b_result = b_true.

else.

b_result = b_false.

endif.

*应交税费类科目事务类型必须是C开头

when 'ZSWLX_YJSF' .

if i_swlx1 = 'C'.

b_result = b_true.

else.

b_result = b_false.

endif.

*长期借款类科目事务类型必须是F开头

when 'ZSWLX_CQJQ'.

if i_swlx1 = 'F'.

b_result = b_true.

else.

b_result = b_false.

endif.

*长期应付款科目事务类型必须是G开头

when 'ZSWLX_CQYF'.

if i_swlx1 = 'G'.

b_result = b_true.

else.

b_result = b_false.

endif.

when 'ZSWLX_DYSY'.

*递延收益类科目事务类型必须是H开头

if i_swlx1 = 'H'.

b_result = b_true.

else.

b_result = b_false.

endif.

*职工薪酬类科目事务类型必须是I开头

when 'ZSWLX_ZGXC'.

if i_swlx1 = 'I'.

b_result = b_true.

else.

b_result = b_false.

endif.

endcase .

ENDFORM .

******************************************************************************************************************************************************************************

SAP的确认与替代

文/SAP方丈

1.确认与替代的作用

确认(Validation):在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头、行项目或完全凭证来判断,然后再根据Validation设置的消息类型决定凭证是否允许保存。

替代(Substitution):在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头、行项目或完全凭证来判断,然后根据替代规则把原有字段替换当前字段。

确认和替代的区别: 确认是在按条件判断的时候直接做校验,举个例子说,如果一个凭证不符合确认的校验规则,那么就出现提示。而替代,是直接替换成新值。讲到这里还是不得不举个例子来说明一下。

例子:发票校验时如果凭证无文本则系统提示“请输入合同号码”。确认功能,系统按字段是否为空为检查条件,如为空校验后在凭证保存时出现上述信息。替代功能,同上,只是在凭证保存时直接把文本字段换成相应的信息。但不是所有的替代都可以用(比如凭证预制)这些可以通过GB01来查看。

2.确认与替代的操作

常用T-code:OB28:AP/AR/GL| OAZ1:AM|GCVW:Global Validation

下面以一个凭证校验必须输入0-9999之间的数字的实例来解释一下确认的与替代的操作。

【图】1 是可以对文档抬头控制。其只可选BKPF字段和只在凭证头回车或保存凭证触发。

【图】2 是可以对行项目进行控制。校验的时候是校验行项目。其先决条件可选BKPF和BSEG,但是Check只能选BSEG字段,否则不被触发。

【图】3 是完全控制。其回车和保存都触发。

RULE:就是说可以建立一个规则,那么这个规则可以任意被任意调用,有一点像公用的意思。

【图】1,先决条件选择分配字段不能为空。

【图】2 这就是让选字段,同时看【图】4,不光是可以选TABLE还可以选RULES,还记得RULES吧,我前面已经讲过的,当然有EXIT就更好了(T-code:CMOD可以建立)

【图】3 各种选择条件,阿拉最喜欢的。

先决条件:Reference <> ''

检查:Reference >= '0' AND Reference <= '9999'

信息:输入号码。

MESSAGE TYPE,我们可以控制是警告还是报错。MESSAGE NUMBER是输入信息是什么? 要记得激活哦。来看看效果吧~~~

【图】1输入了超出0-9999的范围【图】2报错“SAP方丈”。

替代操作和确认完全一样,下面把常用事务代码写一下。大家再去自己摸索摸索吧。

GGB0: All Validations. GGB1: All Substitutions GGB2: All Rule ClassGGB4: 激活

******

检查案例:mb1a 记账时检查成本中心是否属于公司 (可以 跨公司用成本中心 ) 。

GGB0 :确认和替代 。

*****************************************

SAP的校验和替代

(2016-12-02 10:39:42)

转载▼

标签:

sap

替代

校验

分类: ERP、MES与企业信息化
1.校验与替代的作用
校验(Validation):在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头、行项目或完全凭证来判断,然后再根据Validation设置的消息类型决定凭证是否允许保存。
SAP校验是对在系统输入的数据按照规则设定检验是否正确,可以按抬头、行项目或完全凭证来判断,然后根据Validation设置的消息类型决定凭证是否允许保存(取消、错误、警告、信息),通过事物码OB28和GGB0实现。
校验步骤:
1、事务代码SE38,将程序 RGGBR000复制为ZRGGBR000
2、事务代码GCX2,维护应用区域GBLR退出程序ZRGGBR000
3、事务代码GGB0,维护有效性验证。
4、事务代码GGB4/OB28,激活有效性验证。
替代Substitution):在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头、行项目或完全凭证来判断,然后根据替代规则把原有字段替换当前字段。
SAP替代是指对某个字段或某个内容根据一定的条件判断后替代设定的值,该替代值可以为一个常量值,也可以为变量,根据实际业务而定,替代通过事物码OBBH和GGB1实现,其中可以按抬头、行项目或完全凭证来替换。
替代步骤:
1、事务代码SE38,将程序 RGGBR000复制为ZRGGBR000
2、事务代码GCX2,维护应用区域GBLS退出程序ZRGGBR000
3、事务代码GGB1,维护替代。
4、事务代码GGB4/OBBH,激活替代。
校验和替代的区别: 确认是在按条件判断的时候直接做校验,举个例子说,如果一个凭证不符合确认的校验规则,那么就出现提示。而替代,是直接替换成新值。讲到这里还是不得不举个例子来说明一下。

总结:

  • SAP标准并不是所有字段都能用与替代或验证;
  • SE11(GB01)可以查看那些字段可以用与凭证抬头、行项目、完全凭证替代或验证;
  • 如果SAP标准不能用于替代或验证字段可以通过SM30(V_GB01C)修改该字段,使其可以用于替代或验证;
  • 验证或替代激活后,SA38运行程序RGUGBR00生成替代和验证程序代码;
  • SE11(GB31)可以查看不同应用范围有那些验证或替代调用点可用;
  • RGUGBR00生成替代和验证程序代码包含在程序GBTAAFI0中;

OKB9默认设置优先权大于替代GGB1,替代优先权大于手工输入。

例子:发票校验时如果凭证无文本则系统提示“请输入合同号码”。确认功能,系统按字段是否为空为检查条件,如为空校验后在凭证保存时出现上述信息。替代功能,同上,只是在凭证保存时直接把文本字段换成相应的信息。但不是所有的替代都可以用(比如凭证预制)这些可以通过GB01来查看。
2.确认与替代的操作
常用T-code:OB28:AP/AR/GL| OAZ1:AM|GCVW:Global Validation
下面以一个凭证校验必须输入0-9999之间的数字的实例来解释一下确认的与替代的操作。
【图】1 是可以对文档抬头控制。其只可选BKPF字段和只在凭证头回车或保存凭证触发。
【图】2 是可以对行项目进行控制。校验的时候是校验行项目。其先决条件可选BKPF和BSEG,但是Check只能选BSEG字段,否则不被触发。
【图】3 是完全控制。其回车和保存都触发。
RULE就是说可以建立一个规则,那么这个规则可以任意被任意调用,有一点像公用的意思。
【图】1,先决条件选择分配字段不能为空。
【图】2 这就是让选字段,同时看【图】4,不光是可以选TABLE还可以选RULES,还记得RULES吧,我前面已经讲过的,当然有EXIT就更好了(T-code:CMOD可以建立)
【图】3 各种选择条件,阿拉最喜欢的。
先决条件:Reference <> ""
检查:Reference >= "0" AND Reference <= "9999"
信息:输入号码。
MESSAGE TYPE我们可以控制是警告还是报错。MESSAGE NUMBER是输入信息是什么? 要记得激活哦。来看看效果吧~~~
【图】1输入了超出0-9999的范围【图】2报错“SAP方丈”。

SAP替代逻辑被广泛应用于各模块,分为抬头,行项目和完全凭证替代. 
替代substitution,使用事务码:OBBH /GGB1

1)替代指用户在集成凭证或手工输入数据到SAP系统时用另一个值代替某值.

2)替代在验证/校验前执行GGB0/OB28.

3)替代没有错误信息,直接写入替换值,可写出口程序.

4)替代可以在用户输入数据时方便地使用 确认与替代的操作

最后记住激活替代GGB4/OBBH

OKB9默认设置优先权大于替代 GGB1,替代优先权大于手工输入

对于新增的需要在替代中运用的字段,必须将表GB01中此字段激活(BEXCLUDE排除去掉选择),并且再次运行程序RGUGBR00激活!

内容详解:

SAP所有模块的替代字段都由表GB01控制。
所谓releasefields for substitution,就是在对应的BOOLCLASS中添加该字段,或者将该字段的GB01-BEXCLUDE= 'X'改为GB01-BEXCLUDE = ' '。
BOOLCLASS(Boolean class)对于FI/CO,BOOLCLASS对应的是调用点:
BOOLCLASS = 008 at callup point 1 凭证抬头替代
BOOLCLASS = 009 at callup point 2 凭证行项目替代

BOOLCLASS = 015 at callup point 3 完全凭证替代

对于调用点3 完全凭证替代,SAP缺省的是未激活即release所有的字段,因为GB01有如下行项目内容:
BOOLCLASS CLASSTYPE BCLTAB BCLFIELD BEXCLUDE
0015 S BKPF * X
0015 S BSEG * X

所以,完全凭证替代,你会得到如此信息-"此事件可以不替换任何字段"。

解决步骤如下:
1. 确认你已经阅读并了解Note 42615-Substitution in FI和391309 - GB01Boolean class 015: FI subst. for call-up point 3。
2. 尝试你需要替代的字段是否可以在调用点1 抬头或2 行项目实现。
3. 如果第二步失败,修改表GB01,将相应记录删除或将最后字段置空:
如果是抬头字段,删除“0015 S BKPF * X”,添加所需字段;
如果是行项字段,删除“0015 S BSEG * X”,添加所需字段。
由于表GB01不可(通过配置)修改,你需要写一段小程序或有相应改表的权限。
4. 运行程序RGUGBR00重新激活替代。
5. 重新维护OBBH。

【转载】GGB0/OB28/OKC7/GGB1/OBBH/OKC9 FICO增强相关推荐

  1. 财务凭证校验(Validation) [GGB0/OB28]

    文章目录 一.校验是什么 二.如何实现校验 2.1 配置校验-GGB0 2.1.1 创建确认 2.1.2 校验中创建步骤 2.1.3 设置先决条件 2.1.4 设置检查 2.1.5 设置消息 2.2 ...

  2. MariaDB AX开源分析解决方案

    版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. https://blog.csdn.net/chszs/article/details/78623986 MariaDB AX开源分析 ...

  3. iOS 9官方文档(翻译)

    iOS9已经发布一段时间了,我也在最近升级了Xcdoe 7.0正式版,升级后才发现又有了很多奇妙的变化,于是查看官方文档的一些解释,顺便做了一些翻译,和大家分享一下(转载请注明出处). iPad多任务 ...

  4. FAPbI/CsPbI3/QD钙钛矿量子点

    FAPbI/CsPbI3/QD钙钛矿量子点 当发布新的记录效率时,QDSC的稳定性测试在某种程度上被搁置了.相对而言,很少有出版物直接涉及QDSC稳定性的主题,并提出了增强QDSC稳定性的策略.图 1 ...

  5. 在sap系统新建财务BTE OBBH OB28替代

    财务替代中常用到的两种替代和一种检验,BTE与OBBH替代与OB28校验.在新系统里这些替代和校验调用的程序都要自己新建并且通过配置来分配,才能实现在标准程序运行的时候调用这些替代或者校验.以下是其建 ...

  6. 转载 sap FI-CO总账科目简析

    浅谈SAP FICO-总账科目 一.总账科目的概述 总账科目,它起到统驭整个财务的作用.不同的会计科目在总账主数据中创建会应用到不同的"字段"(field),通过这些不同" ...

  7. 转载-【美国FICO评分系统简介】

    美国的个人信用评分系统,主要是Fair IsaacCompany 推出的 FICO,评分系统也由此得名.一般来讲, 美国人经常谈到的你的得分 ,通常指的是你目前的FICO分数.而实际上, Fair I ...

  8. SAP FICO MM SD后台配置-汇总篇

    写在前言: 陆陆续续接触SAP快5年了,从最初的懵懵懂懂,到现在的大概了解,期间辛苦难以言表,但是收货很大. 所谓预学SAP,首通财务.财务通,完事通. 其实整个SAP都是围绕财务来转的,如果财务基本 ...

  9. FICO 里面的替代和校验 以及调试

    执行顺序:先行项目替代后完全凭证替代然后执行校验. 区别      :F-02回车即执行行项目替代,保存凭证触发完全凭证替代 . VF01/MIRO/AFAB BADI AC_DOCUMENT VF0 ...

  10. SAP FICO hande汉得培训资料---II 应收模块篇 PDF 电子版

    SAP FICO hande汉得培训资料---II 应收模块篇 PDF 电子版 https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-5741239 ...

最新文章

  1. 阿里云linux下修改mysql默认密码(xampp环境)- 原创
  2. 备份集中的数据库备份与现有的 '***' 数据库不同 RESTORE DATABASEnbs
  3. step 3 socket
  4. 微课|中学生可以这样学Python(2.3.3节):filter()函数
  5. oracle 查看白名单,oracle配置访问白名单教程
  6. 刚来公司时我却做了一件最傻的事
  7. dicom文件的后缀_dcm文件扩展名,dcm文件怎么打开?
  8. JS面向对象之封装自定义构造函数
  9. linux下安装与部署redis
  10. H264封装为FLV
  11. 蓝桥杯c语言程序题题库,蓝桥杯c语言试题
  12. 表单及阿里巴巴矢量图
  13. CAJ转WORD的方法(原创方法,仅用于学习记录,免费但是很麻烦)
  14. FZU 2158 数字密码
  15. react 中样式写法
  16. 标准Lipschitz连续函数与伪Lipschitz连续函数
  17. eNSP:实现不同网段不同vlan主机之间的互访(配置单臂路由)
  18. MySQL——索引与EXPLAIN
  19. 项目中常用的github库集合
  20. 2021,还能无脑冲计算机专业么?

热门文章

  1. Notes V11内存不足?
  2. 使用LSTM模型进行产品销售额的预测产品订单效益最大化
  3. .lib不是有效的Win32应用程序
  4. C++ Templates中文版 p61页的一个问题
  5. C# winform下的OxyPlot(安装2.0版本!!!!)
  6. 动态规划求最大工作价值(java实现)
  7. 安卓修改linux开机画面,Android——修改开机画面
  8. 中国诗歌艺术7诗的魅惑:中国诗歌的几个基本元素之诗的语词及构句特点
  9. 神经网络分类效果评价——多元分类交叉熵
  10. No service of type FactoryLoggingManagerInternal available in ProjectScopeServices.