SAP FICO

SAP FICO module financial and controlling, covering general ledger, accounts receivable and payable, asset management, and cost control, optimizing financial processes and reporting. SAP FICO模块财务与控制,涵盖总账、应收应付、资产管理与成本控制,优化财务流程和报表

SAP F-44 BTE ENHANCEMENT:Check with Error.00000940

Purpose: Check BSEG-XREF2 IF THE same when in TCODE F-44, If not , thorow error message. Solution:Do SAP ABAP enhancement in BTE event 00000940. Config: ***** TABLES TPS01. TPS01-PROCS = ‘00000940’. MODIFY TPS01. *** TABLES TPS01T. TPS01T-SPRAS = ‘1’. TPS01T-PROCS = ‘00000940’. MODIFY TPS01T. ***** TABLES TBE24. TBE34-AKTIV = ‘X’. TBE34-PRDKT = ‘ZF_44’. MODIFY TBE34.

SAP ABAP TCODE MR8M Enhancement Cancel Invoice Save

Demo Souce About: SAP ABAP TCODE MR8M Enhancement Cancel Invoice Save. Enhancement Point: CMOD-LMR1M001 , Function Module: EXIT_SAPLMRMP_010 Purpose: After Click Save Button on tcode MR8M, modify the cancel flag in customer table.   Demo Source Code: Learn More Enhancement IF sy-tcode = ‘MR8M’ AND e_trbkpv-bukrs+0(2) = ’83’. *  根据冲销发票凭证,更新自建表冲销标记 IF e_trbkpv-stblg IS NOT INITIAL. *    先从单物料发票子件表中找 SELECT COUNT(*) FROM zd_cancel_log WHERE belnr_id = e_trbkpv-stblg AND   gjahr    = e_trbkpv-stjah . IF sy-subrc = 0. UPDATE zd_cancel_log SET    cxbz = ‘X’ WHERE  belnr_id = e_trbkpv-stblg

BADI-FI_HEADER_SUB_1300-F-02 FB01 addCustomer field

Purpose: add customer fields in tcode FB01,F-02 for postting document in SAP ABAP. enhancement:BADI-FI_HEADER_SUB_1300-F-02 会计凭证抬头增加字段。 T-code: SE19 BADI:FI_HEADER_SUB_1300     Step1: add a customer structure in TABLE BKPF. 首先在BKPF添加一个结构, RMTYP CHAR 2 Step2:然后创建一个函数组,包含一个子屏幕,TOP中添加定义。add field BKPF-RMTYP in dynpro. Step3:add below PBO code for function-group. MODULE pbo_process OUTPUT.   * 获取实例 IF go_exit IS INITIAL. CALL METHOD

Enhancement:FMRESERV、FB01/FBV0/FBV1/FBVB财务利润中心新增增强

Purpose:使用TCODE:FB01直接创建凭证,或者使用TCODE:FBV0、FBV1、FBVB预制凭证时:对于客户发票凭证, 需要将50行的利润中心赋值给01行;对于客户付款凭证,需要将19行利润中心赋值给09行。   T-code: CMOD 项目:ZFI001 增强:FMRESERV Enhancement sample code: Function:EXIT_SAPLFMR4_002   *&—————————————————————–* *&  包含                ZXFMCU08 *&—————————————————————–* DATA L_ACCIT LIKE LINE OF T_ACCIT. CLEAR L_ACCIT. LOOP AT T_ACCIT. *&—————————————————————* *&  开票利润中心,将50行的利润中心赋值给01行,根据业务约定, *& 随意一张50行赋值给所有的01行 *&—————————————————————* IF ( SY-TCODE = ‘FB01’ “直接创建凭证 “预制凭证 OR SY-TCODE = ‘FBV0’ OR SY-TCODE = ‘FBV1’ OR SY-TCODE = ‘FBVB’ ) AND T_ACCIT-BUKRS = ‘8300’ AND T_ACCIT-BLART = ‘DR’ AND T_ACCIT-BSCHL = ’01’. READ TABLE T_ACCIT INTO L_ACCIT WITH KEY BSCHL = ’50’. IF L_ACCIT IS NOT INITIAL. T_ACCIT-PRCTR = L_ACCIT-PRCTR. CLEAR L_ACCIT. ENDIF. MODIFY T_ACCIT FROM T_ACCIT TRANSPORTING PRCTR PPRCTR. ENDIF. *&—————————————————————* *&   将ZFI_006_08 生成的DW 凭证19行利润中心赋值给 09行 *&—————————————————————* DATA: L_FLAG_FI00608. “指定FI_006_08 调用生效 IMPORT FLAG = L_FLAG_FI00608 FROM MEMORY ID ‘ZFI00608’. IF L_FLAG_FI00608 = ‘X’. IF SY-TCODE = ‘FB01’ AND T_ACCIT-BUKRS = ‘8300’ AND T_ACCIT-BLART = ‘DW’ AND T_ACCIT-BSCHL = ’09’. READ TABLE T_ACCIT INTO L_ACCIT WITH KEY BSCHL = ’19’. IF L_ACCIT IS NOT INITIAL. T_ACCIT-PRCTR = L_ACCIT-PRCTR. CLEAR L_ACCIT. MODIFY T_ACCIT FROM T_ACCIT TRANSPORTING PRCTR PPRCTR. CONTINUE. ENDIF. ENDIF. FREE MEMORY ID ‘ZFI00608’. ENDIF.

SAP ABAP BAPI 50连载38-K_HIERARCHY_TABLES_READ成本要素组明细

今天我们来学习FICO模块的成本要素明细读取函数K_HIERARCHY_TABLES_READ。 一般来说,有了这个函数之后,不用自己去写SQL读取了,真是爽歪歪。部分同学说调用的时候有性能瓶颈。 我只能说是您调用的方式不对了。老顾问说,性能问题?不存在,梭哈即可~   导入参数: 参数名称 关联类型 可选的 说明 E_CLASS SETHIER-SETCLASS 必选 组类型 E_SETID SETHIER-SETID 必选 集的标识 E_KOKRS SETHIER-KOKRS 必选 控制范围 E_MANDT SY-MANDT 可选 当前用户的客户端标识 E_MASTER_DATA GRPHP1 可选 Set/Get 参数 HP1的结构 E_STRUCTURE GRPHP2 可选 Set/Get 参数 HP2 的结构 E_REPLACE_CLASS SETHIER-SETCLASS 可选 组类型 E_REPLACE_UNIT SETHIER-KOKRS 可选 控制范围 E_SUFFIX GRPDYNP-SUFFIX 可选 复制组的后缀   导出参数: 参数名称 关联类型 说明

如何解决会计凭证跳号的一点思考。NUMBER RANGE青铜钻石和王者的区分。

在SAP的FICO模块中,经常会遇到会计凭证跳号问题。 当我还是一个新手的时候,还是很害怕发生这样的恐怖事件。束手无策。 跳号问题分为三种级别:青铜、钻石、王者。   青铜: 这种跳号就是一个普通ST22的DUMP,通过跟踪函数NUMBER_GET_NEXT,设置好断点后调试, 查看到OBJECT 参数名字,然后到SNRO中和对应的表里如BKPF,BSEG找到对应的最大值,修改成MAX+1即可。   钻石: 有的时候是SCC1系统拷贝产生的大规模大批量的跳号。 挨个挨个打断点已经无法解决大集团下几百个公司的跳号囧境。这个时候就可以用到神器程序: RFVBER00 查找出跳号的会计凭证 RFBNUM00N 看是否有间隙。 有了1和2,凭证的跳号号码段都会被系统认真分析出来。免去了人工匹配各种VLOOK UP和EXCEL透视图的痛苦。   王者: 在曾经的S4/HANA升级之战中,F-02发生过奇怪的事情 出现了DUMP DBSQL_DUPLICATE_KEY_ERROR CX_SY_OPEN_SQL_DB SAPLKAUP CO-OM 出错表为COBK. 之所以是王者跳号dump是因为这个凭证的可怕之处是进行了“数值”到“字母”的转换。 调用方法:CL_FINS_ACDOC_AUXILIARY_DOCNO=》GET_AUXILIARY_DOCNO TRANSFORM_NUM12_TO_CHAR08 表COBK的凭证是A开头的。但是NUMBER RANGE里面是配置编号。 找到了这个规则之后,我们调用SNRO,查看对象ACDOCA_AUX。 修改成合理的凭证编号之后,万事大吉~成功生成了相关的凭证~ 附NUMBER RANGE报错处详细代码: METHOD get_auxiliary_docno. DATA: lv_number           TYPE num12, lv_quantity         TYPE inri-quantity, lv_returncode       TYPE inri-returncode, ls_prima_nota       TYPE gs_ty_prima_nota, ls_buffer_aux_docno TYPE gs_ty_aux_docno. *   Pre-Condition: At least AWREF in Prima Nota must be filled ASSERT iv_awref IS NOT INITIAL. *   Read Buffer ls_prima_nota-awtyp = iv_awtyp. ls_prima_nota-awsys = iv_awsys. ls_prima_nota-aworg = iv_aworg. ls_prima_nota-awref = iv_awref. READ TABLE gt_aux_docno INTO ls_buffer_aux_docno WITH TABLE KEY prima_nota = ls_prima_nota. IF sy-subrc = 0. rv_aux_docno = ls_buffer_aux_docno-aux_docno.