CodingBlock客户化自定义新字段(必读)

2020-05-07 09:21

SAP系统是个各个模块高度集成、无缝衔接的系统,特别是财务模块与各个业务模块的集成程度,是比较高的。因此,财务核算时,会涉及的大量的辅助核算问题,像WBS元素、采购定单、内部定单、成本中心等辅助核算对象。我们把这些辅助字段称为帐户分配字段(Account assignment field),放置这些字段的屏幕我们称之为帐户分配(Account assignment),控制这些字段可选输入、必输、隐藏等功能的,我们称为字段状态变式(Field status)。但是由于某些企业核算程度和方法的不一致,SAP自带的标准的字段,并不能满足核算的需求,存在新增字段的需求。如制造费用,需要分车间进行核算,需要按费用类别进行核算,还需要分配费用明细进行核算,SAP中科目与国内系统软件的区别之一就是科目设置的明细程度是不一样的,国内系统往往将科目设置至业务层,但是SAP并不是这样。现将新增字段的方法介绍如下: 1、Coding Block新字段

财务会计(新)-财务会计基本设置(新)-分类帐-字段-客户字段-编辑编码块(OXK3);

维护客户化字段

OXK3 添加客户化字段如图(摘自SAP屠夫文章:Maintain Coding Block);

T-code:OXK1|OXK2|OXK3 什么是Coding block?

为了让读者彻底理解它举一个简单的例子,假设你设计了一个学生成绩管理系统,其中记录学生成绩表XSCJ有这些字段XhID(学号),Name(姓名),grade(年级),Class(班级),Chinesescore(语文成绩),Mathscore(数学成绩) 等,现在需要在填写学生成绩同时输入学生的年纪身高信息 (在此姑且不讨论设计范式,因为按设计范式,XSCJ表保留XhID就足够,Name,Grade,Class你通常会建立另一学生资料表XSZL,如果你看SAP的物料主数据设置,就是物料描述都建立MAKT表,已经是第N范式).

这时需要的是更改XSCJ加入这些字段或在XSCL表中加入一个结构,这结构包含年纪身高字段. 然后在记录学生成绩时定义一个子屏幕弹出(或默认带出,SAP

第 1 页 共 12 页

管这叫Account Assginment coding block screen)一个窗口让用户维护学生信息,在保存学生成绩时将这些信息也一并保存.

SAP Codig block一般原理基本如下,它允许增加字段,自动将增加的字段加入各模块的相关表中,并且动态产生一些支持程序.

各模块的相关表究竟是哪些表?下面将继续详细阐述coding block的设置. OXK3 Maintain coding block fields进入后界面如图2.

[1]专家模式

如果读者对ABAP很熟悉,使用此模式,你将一步步建立domain, data element,structure(CI_COBL,CI_COBL_BI),然后是将增加的field加入表BSEG(当然还有其它模块的表和Structure),如果读者觉得自己还不是专家,就使用默认的Light mode(简易模式)吧,它自动完成这些操作.你按F6键Add自定义Field,选择开发类(47后是Package),输入字段类型和长度. [2]coding block subscreen OXK1

你想在记帐的account assignment屏幕自动加入刚才自定义字段(本例是ZZCB1),请使用它 [3]产生一些程序

[4]SAP标准的科目分配字段,这些字段使用SE16:TCOBF可看到,ZZCB1也在此中.

第 2 页 共 12 页

[5]自定的ZZCB1,需要指出的是如果使用的是include structure, 这字段将假如COBL,TCOBF,BSEG等表

[6]只是将此结构Append到COBL中,OXK1并不可见,它将被用在一些用户自定义程序中.

激活字段ZZCB1的Log

coding block field ZZCB1激活过程由于修改了大量标准表和结构(即要将这字段插到各模块可能设计的表中),你可能需要Access Key.

读者必须耐心等待整个激活过程,在此过程中,读者可发现所有的记帐操作都可能会错误,毕竟连BSEG表都正在更新.那个著名的记帐总程序SAPMF05A需要重新编译(不知读者对半解释型的ABAP的运行速度反应如何?).

图3读者可看到激活field ZZCB1更新了的ABAP对象,包括CO用到的一些ABAP对象,典型的比如CO Line item表COEP和SPL 共用的Send table ACCIT_GLX(结构)等,SE11你看到有了ZZCB1 .

1.在等待激活时你唯一要做的就是耐心等待,如果过程中断意味Cancel, 这将

第 3 页 共 12 页

有一定风险,你可能会发现记帐出了问题,这就意味大多数会产生财务凭证的交易失败,开PO出了问题….你可根据ABAP错误使用SE11直接去激活ABAP对象. 如果需要,可执行这些程序重新生成程序或排错,SE38:RGUGBR18|RGUGBR00| RGUGBR26| RSINCL00. . 2. 为什么激活过程会如此长?

很容易理解,SAP是一个庞大的集成系统,但是会计凭证的产生(表BSEG)就有个模块Post过来的相关数据,你在BSEG加了一个字段,这些模块的相关程序或程序中使用的结构肯定要做相应调整 . 至于激活内部的设计逻辑如何, SAP AG的设计人员应该最清楚.

3.什么时候要自定义Coding block字段?

一企业希望费用能按多种用途分析,Internal Order,Cost center,

Functional area等还是不能满足其需求,Line item Text已做它用,财务部依旧要求费用区分能By类,By个人,By区域,By..,总之,似乎你已经没辙,这样的情况下,你就字定义coding block字段,上面已经知道这些字段是可用于Account assignment的(OXK1).

一般的财务软件都会提供一个类似功能,就是允许用户自由定义Account assignment字段.

4. SAP允许定义最多7个coding block fields,这些自定义字段也可用在SPL中,因为在SPL Send table ACCIT_GLX(结构)你能看到它(前提是你必须将ZZCB1加入你定义的SPL 表,请看接下来的相关配置).

CO相关表比如COEP你可看到ZZCB1,这意味自定义字段的数据也能传到CO模块,很不幸的是,你不能将自定义字段ZZCB1内容传到CO-PCA模块,因为似乎没有相关配置允许你更改Ledger 8A的表GLPCA/GLPAP/GLPCT(比如你可将Ledger L0的GLT1改成你自定义的table,而这table你包含了ZZCB1).

关于如何使用OXK1定义Account assignment subscreen请看例2 维护coding block screen

另附两篇SAP屠夫关于客户化字段文章:

客户化核算字段.doField cstatus和Coding block

2、安装新字段到新总账汇总表FAGLFLEXT中

财务会计(新)-财务会计基本设置(新)-分类帐-字段-客户字段-包括总计表中的字段(FAGL_GINS);

第 4 页 共 12 页

FAGL_GINS

输入表FAGLFLEXT,修改进入,

输入表:FAGLFLEXT

将自定义字段加入,

输入“自定义字段” 第 5 页 共 12 页


CodingBlock客户化自定义新字段(必读).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:制剂学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: