小技巧财务凭证的退代(substitution)_第1页
小技巧财务凭证的退代(substitution)_第2页
小技巧财务凭证的退代(substitution)_第3页
小技巧财务凭证的退代(substitution)_第4页
小技巧财务凭证的退代(substitution)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.:.;小技巧 财务凭证的退代Substitution和Validation不同的是,Validation只做检测,普通不做相应数据的修正,Substitution弥补了这反面的缺陷,它和user exit结合将方便用户编写更复杂的逻辑。留意的是,假设Substitution运用User exit在程序中只做检查而不替代内容,此时,Substitution可以完全取代Validation。简单地讲,替代就是在会计凭证消费时包括手工和自动过帐允许用户根据需求对凭证抬头和凭证行工程进展一定的内容修正,这种灵敏的功能可以满足一些非常变态的需求,要不怎样说SAP什么东西都能随便配置出来呢?比如国内很多

2、企业都要求会计凭证有个文本摘要可对某些自动凭证根据规那么写入一些文本摘要,或修正凭证的利润中心,功能范围等,同样,实际上讲,SAP系统几乎允许他修正会计凭证的任何内容,甚至包括会计科目,SAP不断强调科目没有级别,对自动科目设置非常严谨,所以修正会计科目通常发生在自动过帐时人工无法干涉科目的情况,典型的是MIRO时科目只能对应供应商主数据科目,假设一个供应商发票校验需求对应应付或其他应付,系统就无法自动实行,就可采用科目替代。替代Tcode:OBBH:AP/AR/GL Doc.OACS:AM Create AssetsOA02:Mass change AssetsGCVY:Global Sub

3、stitution(In SPL,Company Level)GCVX:Local Substitution(In SPL,Company code Level).GGB1:各模块全部替代按照国内很多企业的内部制度,一切的会计凭证都需求文本摘要并且多数凭证要打印出来存档,对于很多自动凭证却并不能产生文本摘要,此时可以运用替代塞一个文本进去,有的企业连ERP系统产生的特有的中间凭证也打印,真是不掀嫌浪费纸张。图1是一个文本摘要的例子,和Validation不同的是,Substitution只需两步骤,图1表示的是假设凭证类型是折旧AF,并且科目是累计折旧类科目或折旧费用科目,那么文本摘要为“计提

4、本月折旧。图1中建立Substitution和建立Validation步骤一样。到目前为止,我们发现Validation和Substitution建立都非常简单,只需有简单逻辑思想的用户不需求任何编程阅历拖拖拽拽就可以实现功能,国内的ERP设计者应该好好自创自创,ERP工程实施不容易,不要让可怜的业务顾问天天浪费时间去玩技术玩Coding 。系统允许更复杂的替代逻辑,下面举一个结合用户出口的替代简单运用实例。业务背景:假设在公司代码5100中,假设发生业务款待费,那么在其行工程文本摘要字段(BSEG-SGTXT)写入信息“业务款待费以做统计。同时,在公司代码5100的期初,会将一些调整凭证或月

5、结凭证过帐到上期间,假设有这样的业务,无论用户输入上期间的任何一天,替代将自动将上期间的凭证的过帐日期换成上期间最后一天。参考步骤如下:(1).自定义的退代程序(Tcode:GCX2)最好Copy系统默许的程序出来修正,起码不要恳求Access Key! App. Area 选择GBLS,输入Copy出来的自定义程序ZRGGBS00,自定义的程序称号最好不超越8位,系统只能显示程序名的前8位。(2。建立退代步骤(Tcode:OBBH)建立一个替代的Step包括先决条件和退代内容,如图3,他可选择一个替代字段,表示替代这个字段的内容,在此选择Only exit,表示运用用户出口编写程序来替代。(

6、3).分析替代用户出口程序ZRGGBS00(Tcode:SE38).用户出口程序ZRGGBS00分析.终究自定义的Form例程是field exit,header exit,line exit 或complete exit有系统参数c_exit_param_none, c_exit_param_field和c_exit_param_class决议。通常用户可以看到替代出口程序如下粗体部分:exits-name = U100. exits-param = c_exit_param_none. “能用在Field exit,only exit等任何地方 exits-title = text-100

7、. APPEND exits. exits-name = U101. exits-param = c_exit_param_field.此Form只用于字段出口Field exit exits-title = text-101. APPEND exits.exits-name = U900. exits-param = c_exit_param_class.U801只能在complete doc才可运用. exits-title = text-900. APPEND exits. *.可以对着Copy添加自定义的例程 REFRESH ETAB. LOOP AT EXITS. ETAB = EX

8、ITS. APPEND ETAB. ENDLOOP.添加一个例程就5个简单步骤:1Exits-name = *表示出口例程称号。2exits-param =*只需c_exit_param_none/field/class3种,表例如程的用法.3exits-title=* 例程的抬头显示4APPEND exits.表示添加该出口例程。5.接下来定义一个例程Form * /endform .在例程中编写替代逻辑。接下来根据业务背景编写逻辑,假设运用Form 100,其类型c_exit_param_none,可用于“Only Exit,参考代码如下表:FORM U100. DATA:Z_PSTDAT

9、E TYPE SY-DATUM, Z_CURPER LIKE T009B-POPER, Z_CURYEAR LIKE T009B-BDATJ, Z_PSTPER LIKE T009B-POPER, Z_PSTYEAR LIKE T009B-BDATJ, Z_PERLSTDAY LIKE SY-DATUM.If bseg-hkont = 这填写您的业务款待费科目.BSEG-SGTXT = 业务款待费. For业务款待费用文本摘要.Endif.*假设期初发生上期的财务凭证过帐,那么自动将过帐日期一概调整为上期期末最后一天.*check posting dates period and fiscal

10、 yearCALL FUNCTION DETERMINE_PERIOD EXPORTING DATE = BKPF-BUDAT VERSION = Z1 他的会计年度变式,国内多是K4 IMPORTING PERIOD = Z_PSTPER YEAR = Z_PSTYEAR .*check sysdates period and fiscal yearCALL FUNCTION DETERMINE_PERIOD EXPORTING DATE = SY-DATUM VERSION = Z1 Fiscal Year Var. IMPORTING PERIOD = Z_CURPER YEAR = Z

11、_CURYEAR.*能否在输入的posting date记帐让系统去判别.CHECK Z_CURYEAR Z_PSTYEAR OR Z_PSTPER Z_CURPER.*如posting date不在本期间得到其期间最后一天Z_PSTPER = Z_PSTPER + 1 .CALL FUNCTION FIRST_DAY_IN_PERIOD_GET EXPORTING I_GJAHR = Z_PSTYEAR I_PERIV = Z1 I_POPER = Z_PSTPER IMPORTING E_DATE = Z_PERLSTDAY .*无论用户选择过帐到上期哪一天,都将过帐日期设置为最后一天BK

12、PF-BUDAT = Z_PERLSTDAY - 1 .BKPF-MONAT = Z_PSTPER .经过上面的业务我们可以看到,替代+用户出口能实现更复杂的业务,而这些业务通常是简单的拖拽实现不了的,再举一个典型的有用的替代实例。业务背景:在SAP中,供应商主数据的科目只需一个比如通常设置的是应付帐款,在SAP中,科目和中国传统会计不一样,其科目是不强调层级的,比如应付帐款,国内ERP能够会带供应商工程等几个核算工程,SAP采用另一种方式,它将供应商直接看成明细科目,从其主数据自动带出应付帐款,假设还需求区分是什么工程的应付,那么可采用统计内部订单或特殊总帐标志,但是,在后勤发票校验Tcod

13、e:MIRO时却不能运用特殊总帐标志。这样,比如企业从同一供应商购买消费用资料对应普通应付帐款和工程资料对应应付工程款且需求从会计科目上就直接区分时两种应付时就有点小费事。普通的思绪有这么些:I.由于同一供应商主数据中只能有一个科目又不能特殊总帐标志,建议拆分成多个虚拟供应商来对应不同科目,此法严重违反编码独一性原那么,贼笨。II.会计科目还是运用同一个应付帐款科目,附加一个字段比如文本/参考字段来区分同一供应商的不同应付,假设供应商还承包了他的在建工程有涉及应付劳务,假设仅用一个文本区分不严谨,也没有从科目上直接区分那样直观。III运用科目替代方式处理,直接从科目上区分不同应付款。参考步骤如

14、下:a.SE16:V_T053定义行文本标志,其中ZNOR:MIRO 普通应付和ZPSC:MIRO 工程应付。b.建立特殊总帐标志9表示应付工程款,并设置好应付工程款会计科目。c.运用Only exit出口替代,这样运用替代就直接从科目上就区分出了应付帐款类型,参考代码如下表参考运用,责任自傲:FORM U100 . DATA: IWA_T074 LIKE T074 , I_ANS(1) Type C . Check ( SY-Tcode = MIRO OR SY-Tcode = MR8M ) and BSEG-KOART = K . “检查能否为发票校验事务 condense bseg-sg

15、txt .*判别用户必需输入文本摘要而且MIRO/MR8M时只能是ZNOR和ZPSC if bseg-sgtxt MIRO 普通应付 and bseg-sgtxt MIRO 工程应付. message E001(00) with Choose ZNOR or ZPSC . endif.*假设文本输入应付工程款那么从特殊总帐配置中读取应付工程款工程替代应付帐款 if bseg-sgtxt = MIRO 工程应付 . I_ANS = 9 . 特殊总帐标志9表示应付工程款 SELECT SINGLE * INTO IWA_T074 FROM T074 WHERE KTOPL = INT AND KO

16、ART = K AND UMSKZ = I_ANS AND HKONT = BSEG-HKONT . IF IWA_T074-HKONT NE SPACE. BSEG-HKONT = IWA_T074-HKONT. 特殊总帐科目 BSEG-UMSKZ = I_ANS . 特别总帐标示 BSEG-UMSKS = A . 特别总帐事务类型,A,W,O*SAP高度集成替代必需思索其它模块影响,替代同时也替代特殊总帐的方案层次。 BSEG-FDLEV = IWA_T074-EBENE . 特殊总帐方案层次,假设启动CBM BSEG-BSCHL+1(1) = 9 . 记账码的第一码 ENDIF. end

17、if . endform. 为什么他的替代不起作用?替代不起作用通常有两个缘由:一系统默许不允许他替代该字段内容。SAP将一切的允许字段退代关系维护在GB01表中,假设该表中没有出现他的替代字段,他是不能替代的,比如会计科目BSEG-HKONT通常是不允许替代的,他就需求在此表添加。二替代程序需求重新自动编译。在一些特殊情况下,他发现他的Validaton和Substitution都不起作用了,SE38运转程序RGUGBR00| RGUGBR00, 将能选的工程全选上手工重新编译就行。替代如何任务?相关表格:GB01|T001Q|T80D|GB03|GB03T|GB31|GB31T|GB907|GB90|GB92|GB922|GB901|OXT_GENOBJDTL|。相关函数和程序:FI_SUBSTITUTION_ACTIVE|FI_SUBSTITUTION_DOC|FI_SUBSTITUTION_HEADER|FI_SUBSTITU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论