【ABAP系列】SAP ABAP MRKO增强

公众号:SAP Technical

本文作者:matinal

原文出处:http://www.cnblogs.com/SAPmatinal/

原文链接:【ABAP系列】SAP ABAP MRKO增强

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

MRKO其实是个报表程序

这个报表程序存在着很多问题

很多时候满足不了使用

1:做增强

2:拷贝重写

我现在暂时做了增强

1:出口RMVKON00

2:隐士增强

出口增强借鉴了网上的例子

寄售记录表:
rkwa , "Consignment Withdrawals
rkwa-stauts = ‘00‘ 为未结算
rkwa-status = ‘01‘为己结算
寄售结算时相关信息从这张表取得,包括价格、税码等信息。
如果需要在过账时更改相应的取数逻辑,比如:过账日期,税码等可以使用RMVKON00这个增强。
具体由两个EXIT:
EXIT_RMVKON00_001  : 财务凭证(发票),BKPF,BSEG中信息
EXIT_RMVKON00_002  : RKWA中信息
另外寄售结算冲销时比较麻烦,应为没有物料凭证所以不能用FB08或者MR8M冲销,必须先冲销寄售消耗(入库凭证),然后用MRKO把这张冲销的入库结算掉,再去FI使用F-03或者F.13等做清帐。(具体参考NOTES: Note 356130)

Summary

Symptom

A consignment withdrawal is settled with Transaction MRKO. Only an FI Financial Accounting document is posted. If you try to reverse this document in FI, the system displays error message F5673 ‘Not possible to reverse the document in financial accounting‘.

Additional key words

Reversal, MRKO, consignment, F5673, 673

Cause and prerequisites

This works as designed.

Solution

The consignment document should be cancelled in inventory management. The reversal document should then be settled using Transaction MRKO. As a result, a credit memo is posted. The FI document and this credit memo should then be cleared against each other in FI.

Header Data

?
增强范例(改抬头参考):
*&---------------------------------------------------------------------*
*&  包括                ZXM08U11
*&---------------------------------------------------------------------*

IF sy-tcode = ‘MRKO‘." AND i_bukrs = ‘1400‘.
  LOOP AT t_bkpf.
    CONCATENATE sy-datum sy-uzeit INTO t_bkpf-xblnr SEPARATED BY ‘-‘.
    MODIFY t_bkpf TRANSPORTING xblnr.
  ENDLOOP.
ENDIF.

?
?
增强范例(改过账日期):
*&---------------------------------------------------------------------*
*&  包括                ZXM08U11
*&---------------------------------------------------------------------*
DATA: wa_rkwa TYPE rkwa,
      wa_bseg TYPE bseg,
      wa_bkpf TYPE bkpf,
      fieldname(80),
      myidx TYPE i,
      ex_poper LIKE t009b-poper,
      ex_gjahr LIKE t009b-bdatj.
FIELD-SYMBOLS: <fs_date> TYPE rkwa-bldat.

  MOVE ‘(RMVKON00)SO_BUDAT-HIGH‘ TO fieldname.  "<fs_bkpf>-budat.
  ASSIGN (fieldname) TO <fs_date>.

  LOOP AT t_rkwa INTO wa_rkwa.

*    CALL FUNCTION ‘DATE_TO_PERIOD_CONVERT‘
*      EXPORTING
*        i_date         = <fs_date>
*        i_periv        = ‘V3‘
*      IMPORTING
*        e_buper        = ex_poper
*        e_gjahr        = ex_gjahr
*      EXCEPTIONS
*        input_false    = 1
*        t009_notfound  = 2
*        t009b_notfound = 3
*        OTHERS         = 4.
    ex_gjahr = <fs_date>+0(4).
    ex_poper+0(1) = ‘0‘.
    ex_poper+1(2) = <fs_date>+4(2).

    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

    READ TABLE t_bkpf INTO wa_bkpf
                  WITH KEY bukrs = ‘‘
                           belnr = wa_rkwa-belnr
                           gjahr = wa_rkwa-mjahr.
    IF sy-subrc EQ 0.
      myidx = sy-tabix.
      wa_bkpf-monat = ex_poper.
      wa_bkpf-gjahr = ex_gjahr.
      wa_bkpf-budat = <fs_date>.
      wa_bkpf-bldat = <fs_date>.
      MODIFY t_bkpf FROM wa_bkpf INDEX myidx. " TRANSPORTING bldat budat.
    ENDIF.
  ENDLOOP.

?

原文地址:https://www.cnblogs.com/SAPmatinal/p/11183238.html

时间: 2024-11-05 00:04:06

【ABAP系列】SAP ABAP MRKO增强的相关文章

【ABAP系列】SAP ABAP 工单增强

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 工单增强 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 工单增强:工单——工序——外部BADI:MRO_CONTRACT    实现功能:外部中填入的物料组和维护的物料组是否一致,不一致则报错BADI:WORKORDER_UPDATE  工单的很多判断都在这个里面来实现工单——组件

【ABAP系列】SAP ABAP 物料凭证增强

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 物料凭证增强 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 BADI:MB_DOCUMENT_BADI USER-EXIT:MBCF0002 实现功能1.当参照预留过帐时,检查填入数量是否小于预留数量 2.移动类型是***的时候,查看RSNUM是否为空 3.检查原始单据工厂和库存地

【ABAP系列】SAP ABAP7.40新语法简介第一篇

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP7.40新语法简介第一篇 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 SAP的系统不断的更新 7.40已经出来很久了,一直忙着没有更新7.40新语法内容 慢慢写点新语法的相关内容 首先说一下7.40的特点及简介 1.ABAP 7.40是AS ABAP 7.31(也称为ABAP 7.

【ABAP系列】SAP Web Dynpro 技术简介

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP Web Dynpro 技术简介 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 AP webdynpro是为SAP NetWeaver战略UI编程模型. 它是用于创建平台并独立于语言,基于WEB的用户界面. Web Dynpro可用于SAP NetWeaver Application Serv

【ABAP系列】SAP ABAP 如何控制Dialog中的键盘(回车)功能

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 如何控制Dialog中的键盘(回车)功能 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 MODULE USER_COMMAND_2100 INPUT. CLEAR SAVE_OK. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WH

【ABAP系列】SAP 的逻辑数据库解析

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 的逻辑数据库解析 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 T-CODE:SE36 逻辑数据库好像是HR模块用的比较多 如果谁有HR350,可以分享一下,非常感谢 当数据量很大,而且很耗时间的时候 用逻辑数据库,可以提高数据读取速度 理解上应该是把数据集放到一块 不用我们平时写OPENS

【ABAP系列】SAP ABAP MIR7预制凭证BAPI

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP MIR7预制凭证BAPI 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 做预制凭证有两个BAPI: BAPI_INCOMINGINVOICE_PARK 和 BAPI_INCOMINGINVOICE_CREATE 连个的区别是:第一个只做发票预制,第二个是发票和过账一块做. 下面简单

【ABAP系列】SAP ABAP 开发中的SMARTFORMS 参数

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 开发中的SMARTFORMS 参数 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 &symbol& (括号中,小写字母为变量)&symbol&  屏蔽从第一位开始的N位&symbol (n)&   只显示前N位&symbol (S)&a

【ABAP系列】SAP ABAP DOI展示EXCEL或WORD

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP DOI展示EXCEL或WORD 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 DOI技术算是比较老的技术了 用来直接调用office展示结果 可以是EXCEL也可以是WORD ? data: begin of s_fal. include structure faglflext.