ABAP BAPI_ACC_DOCUMENT_POST 中 EXTENSION1的用法

news2025/3/1 4:48:48

BAPI_ACC_DOCUMENT_POST 在过账会计凭证时候,经常会发现一些标准字段在参数中并没有

可以通过CMOD/SMOD增强出口--》ACBAPI01--》EXIT_SAPLACC4_001--》ZXACCU15

示例代码:

DATA: wa_extension TYPE bapiextc,
      it_extension TYPE STANDARD TABLE OF bapiextc.
wa_extension(3) = '005'.               "ITEMNO_ACC
wa_extension+3(11) = 'Note 487722'.    "Data, not in standard interface
APPEND wa_extension TO it_extension.

传递到函数里面


然后在include中这样写
READ TABLE t_accit WITH KEY posnr = extension(3).
IF sy-subrc IS INITIAL.
* Update the line item text
  t_accit-sgtxt = extension+3(11).
  MODIFY t_accit INDEX sy-tabix.
ENDIF.

另外还可以通过BTE的增强:RWBAPI01

1.FIBF--》设置--》产品--》客户的--》然后新增一条

2.复制函数 SAMPLE_INTERFACE_RWBAPI01 示例代码

(SE37-->/SAPPCE/DPC_PROCESS_EXTENSION)

3.FIBF-->设置--》处理函数模块---》客户的-》新增条目 RWBAPI01 

另外如果字段还是没找到你要的,可以在如下结构中:append structure

示例代码:

DATA: LS_EXTEND1 TYPE BAPIACEXTC.
DATA: LT_EXTEND2 TYPE STANDARD TABLE OF BAPIACEXTC.

CLEAR:LS_EXTEND1.
LS_EXTEND1-FIELD1 = LV_BUZEI.
LS_EXTEND1-FIELD2 = 'KUNNR'.
LS_EXTEND1-FIELD3 = '0000001000'.
APPEND LS_EXTEND1 TO LT_EXTEND1.

FUNCTION /sappce/dpc_process_extension.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  TABLES
*"      IT_ACCIT STRUCTURE  ACCIT
*"      IT_ACCCR STRUCTURE  ACCCR
*"      RETURN STRUCTURE  BAPIRET2
*"      EXTENSION STRUCTURE  BAPIACEXTC
*"      IT_ACCWT STRUCTURE  ACCIT_WT
*"  CHANGING
*"     VALUE(DOCUMENT_HEADER) LIKE  ACCHD STRUCTURE  ACCHD
*"----------------------------------------------------------------------

  DATA ld_tabix TYPE sy-tabix.
  DATA ld_posnr TYPE posnr_acc.

  DATA ls_bapi_extension TYPE bapiacextc.
  DATA ls_accit    TYPE accit.
  DATA ls_acccr    TYPE acccr.
  DATA ls_accit_wt TYPE accit_wt.
  DATA ld_shkzg    TYPE shkzg.
  DATA ld_currtyp  TYPE acccr-currtyp.                       "N1282263

* process extension data
  LOOP AT extension INTO ls_bapi_extension.

    ld_posnr = ls_bapi_extension-field1.

* evaluate fieldname
    CASE ls_bapi_extension-field2.

      WHEN c_ext_document_status.
* set document Status
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-bstat = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.


      WHEN c_ext_wbs_element.
* set wbs element
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-ps_psp_pnr = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.


      WHEN c_ext_target_sp_ind.
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
* set target special G/L indicator
        ls_accit-zumsk = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.


      WHEN c_ext_tax_code.
* set tax code
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-mwskz = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.


      WHEN c_ext_tax_base_amount.
* set tax base amount
        IF ls_bapi_extension-field4 IS INITIAL.              "N1282263
          ld_currtyp = '00'.                                 "N1282263
        ELSE.                                                "N1282263
          ld_currtyp = ls_bapi_extension-field4.             "N1282263
        ENDIF.                                               "N1282263

        READ TABLE it_acccr INTO ls_acccr
             WITH KEY posnr   = ld_posnr                     "N1282263
                      curtp   = ld_currtyp.                  "N1282263
*            WITH KEY posnr = ld_posnr.                      "N1282263
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_acccr-wmwst = ls_bapi_extension-field3.
* modify document item
        MODIFY it_acccr FROM ls_acccr INDEX ld_tabix.

      WHEN c_ext_stat_tax_amount.
* set statistic tax amount
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-sttax = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

      WHEN c_ext_stat_tax_amount_ccc.
* set statistic tax amount (company code currency)
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-sthtx = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

* set WT_KEY for CREDITOR, if creditor is subject to withholding tax
      WHEN c_ext_with_tax_creditor.
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-wt_key = ls_bapi_extension-field3.
        ls_accit-qsskz = 'XX'.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.


* set withholding tax
      WHEN c_ext_withholding_tax.
        CLEAR ls_accit_wt.

        ls_accit_wt-wt_key    = ls_bapi_extension-field1+0(6).
        ls_accit_wt-witht     = ls_bapi_extension-field1+6(2).
        ls_accit_wt-wt_withcd = ls_bapi_extension-field1+8(2).
        ld_shkzg              = ls_bapi_extension-field1+10(1).
        ls_accit_wt-wt_qsshb  = ls_bapi_extension-field3.
        ls_accit_wt-wt_qbuihb = ls_bapi_extension-field4.

        APPEND ls_accit_wt TO it_accwt.

      WHEN c_ext_activity.
* set activity for down payment requests
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-vorgn = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

*** header data *****************************************
      WHEN c_ext_business_transaction.
* change activity (needed for CA-JVA)
        document_header-glvor = ls_bapi_extension-field3.

      WHEN c_ext_transaction_code.
* change transaction code (needed for CA-JVA)
        document_header-tcode = ls_bapi_extension-field3.


      WHEN c_ext_invoice_reference.
* set invoice reference
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-rebzg = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

      WHEN c_ext_invoice_reference_year.
* set invoice reference year
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-rebzj = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

      WHEN c_ext_invoice_reference_item.
* set invoice reference item
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-rebzz = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

      WHEN c_ext_sub_document_type.
* set type of subsequent document
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-rebzt = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

      WHEN c_ext_invoice_reference_check.
* set invoice reference check = NO
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-rebzg_check = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

      WHEN c_ext_allocation.
* fill allocation for tax items
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-zuonr = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

* insert XAUTO for tax clearing lines
      WHEN c_xauto.
        READ TABLE it_accit INTO ls_accit
             WITH KEY posnr = ld_posnr.
        CHECK sy-subrc EQ 0.
        ld_tabix = sy-tabix.
        ls_accit-xauto = ls_bapi_extension-field3.
* modify document item
        MODIFY it_accit FROM ls_accit INDEX ld_tabix.

** insert cash discount amount                               "#976257  "N1140971
*      when c_ext_cash_discount_amount.                      "#976257  "N1140971
*        read table it_acccr into ls_acccr                   "#976257  "N1140971
*             with key posnr = ld_posnr.                     "#976257  "N1140971
*        check sy-subrc eq 0.                                "#976257  "N1140971
*        ld_tabix = sy-tabix.                                "#976257  "N1140971
*        ls_acccr-wskto = ls_bapi_extension-field3.          "#976257  "N1140971
** modify document item                                      "#976257  "N1140971
*        modify it_acccr from ls_acccr index ld_tabix.       "#976257  "N1140971

* insert posting key (requested by functionality DBM)       "#976257
      when c_ext_posting_key.                               "#976257
        read table it_accit into ls_accit                   "#976257
             with key posnr = ld_posnr.                     "#976257
        check sy-subrc eq 0.                                "#976257
        ld_tabix = sy-tabix.                                "#976257
        ls_accit-bschl = ls_bapi_extension-field3.          "#976257
* modify document item                                      "#976257
        modify it_accit from ls_accit index ld_tabix.       "#976257

* others
      WHEN OTHERS.

        CONTINUE.

    ENDCASE.

  ENDLOOP.


ENDFUNCTION.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/989967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Adobe Acrobat Reader界面改版 - 解决方案

问题 日期:2023年9月 Adobe Acrobat Reader下文简称Adobe PDF Reader,此软件会自动进行更新,当版本更新至2023.003.20284版本后。 软件UI界面会大改版:书签页变成了右边、工具栏变到了左边、缩放按钮变到了右下角,如…

Voxel R-CNN:基于体素的高性能 3D 目标检测

论文地址:https://arxiv.org/abs/2012.15712 论文代码:https://github.com/djiajunustc/Voxel-R-CNN 论文背景 基于点的方法具有较高的检测精度,但基于点的方法通常效率较低,因为对于点集抽象来说,使用点表示来搜索最…

Spring系列文章:Spring使用JdbcTemplate

一、简介 JdbcTemplate是Spring提供的⼀个JDBC模板类&#xff0c;是对JDBC的封装&#xff0c;简化JDBC代码。 当然&#xff0c;你也可以不⽤&#xff0c;可以让Spring集成其它的ORM框架&#xff0c;例如&#xff1a;MyBatis、Hibernate等。 第一步&#xff1a;引入依赖 <d…

Vue.js 中的路由(Route)跳转

Vue.js 中的路由 官方解释 在 Vue.js 中&#xff0c;路由是一种用于导航和页面跳转的重要概念。Vue 提供了一个名为 Vue Router 的官方插件&#xff0c;用于构建单页面应用程序&#xff08;SPA&#xff09;的路由系统。Vue Router 允许您将不同的组件映射到应用程序的不同 URL…

​重生奇迹MU弓箭手PK路线​

定位远程物理输出的弓箭手职业&#xff0c;是很多女性玩家都比较喜欢的&#xff0c;操作难度非常低&#xff0c;其持续输出以及远距离攻击特性&#xff0c;都让她表现非常不错。 一般重生奇迹弓箭手在日常副本时都是选择堆输出&#xff0c;然后就是恢复能力。但是pk完全不一样…

【Spring面试】BeanFactory与IoC容器的加载

文章目录 Q1、BeanFactory的作用是什么&#xff1f;Q2、BeanDefinition的作用是什么&#xff1f;Q3、BeanFactory和ApplicationContext有什么区别&#xff1f;Q4、BeanFactory和FactoryBean有什么区别&#xff1f;Q5、说下Spring IoC容器的加载过程&#xff08;※&#xff09;Q…

自造简易版音频进度条

最近在做音乐播放器页面, 积累了很多有趣的经验, 今天先分享播放进度条的开发过程. 效果 话不多说&#xff0c;先看效果 支持点击修改进度&#xff0c;拖拽修改进度&#xff0c;当然大家肯定都知道ui库里面有现成的&#xff0c;为何要自己造一个 首先著名的ui库中确实都要这…

flask bootstrap页面json格式化

html <!DOCTYPE html> <html lang"en"> <head><!-- 新 Bootstrap5 核心 CSS 文件 --> <link rel"stylesheet" href"static/bootstrap-5.0.0-beta1-dist/css/bootstrap.min.css"><!-- 最新的 Bootstrap5 核心 …

C++ goto 语句

goto 语句允许把控制无条件转移到同一函数内的被标记的语句。 注意&#xff1a;在任何编程语言中&#xff0c;都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪&#xff0c;使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。…

【vue3】一些关于hooks的使用经验

前言 最近接到了一个需求&#xff0c;隔壁嵌入式部门希望我们用前端解析渲染Kconfig表单。这篇文章用来记录一下本次使用hook pinia vue3的经验 hooks hooks的概念最早是在 React 中听到的&#xff0c;虽然早些时间也写过一点react&#xff0c;但也只是照葫芦画瓢&#xf…

C++多线程编程(第四章 promise和future)

promise 和future promise用于异步传输变量 std::promise提供存储异步通信的值&#xff0c;再通过其对象创建的std::future异步获得结果。 std::promise只能使用一次。void set_value(_Ty&& _Val)设置传递值&#xff0c;只能调用一次std::future提供访问异步操作结果…

最新期权开户的形式有哪些?

期权目前都有哪些开户方式? 摘对于上证50etf期权的投资者来说,最关心的就是开户的问题了,而50etf期权开户方式目前主要有券商和平台开户两种,各有优缺点&#xff0c;下文介绍最新期权开户的形式有哪些&#xff1f; 一、最新的期权开户方式有多种&#xff0c;包括在线开户、手机…

自己的碎碎念集合

自己的碎碎念集合 2023-09-07 c叠加三目运算符闰年计算法2023-08-13 一个小题目 AB problem一、问题及解答关碍 总结 2023-07-26 C的2至36进制转换函数一、itoa()函数的示例代码总结 2023-07-19 平面坐标下判断三角形以及输出周长和面积一. 基本知识总结 2023-06-25 达芬奇去除…

认识伦敦银的真相,并没有那么容易

我们进行伦敦银投资&#xff0c;其实就是想利用一定的时间在这个市场中获取盈利。对于普通人来说&#xff0c;我们获得金钱的方法就是从事一份工作努力的&#xff0c;在这个职位中&#xff0c;做好自己的本职工作&#xff0c;最后老板为我们的辛勤付出&#xff0c;支付相应的工…

快速构建基于Paddle Serving部署的Paddle Detection目标检测Docker镜像

快速构建基于Paddle Serving部署的Paddle Detection目标检测Docker镜像 项目介绍需要重点关注的几个文件构建cpu版本的docker构建gpu版本的docker&#xff08;cuda11.2cudnn8&#xff09; 阅读提示&#xff1a; &#xff08;1&#xff09;Paddle的Serving项目中&#xff0c;在t…

OpenCV 06(图像的基本变换)

一、图像的基本变换 1.1 图像的放大与缩小 - resize(src, dsize, dst, fx, fy, interpolation) - src: 要缩放的图片 - dsize: 缩放之后的图片大小, 元组和列表表示均可. - dst: 可选参数, 缩放之后的输出图片 - fx, fy: x轴和y轴的缩放比, 即宽度和高度的缩放比. - …

【React学习】React高级特性

1. 函数式组件和类组件区别 函数式组件 函数式组件是一种简单的组件定义方式&#xff0c;它是一个以JavaScript函数为基础的组件。 可以把函数式组件理解为纯函数&#xff0c;它的输入为props&#xff0c;输出为JSX。函数式组件没有状态&#xff0c;也没有生命周期。 functio…

java特殊文件 属性文件properties和XML文件

属性文件properties 后缀为.properties的文件&#xff0c;称之为属性文件&#xff0c;它可以很方便的存储一些类似于键值对的数据。经常当做软件的配置文件使用。 首先我们要掌握属性文件的格式&#xff1a; 1.属性文件后缀以.properties结尾 2.属性文件里面的每一行都是一个…

Python Opencv实践 - Shi-Tomasi角点检测

参考资料&#xff1a;Harris和Shi-tomasi角点检测笔记&#xff08;详细推导&#xff09;_harris焦点检测_亦枫Leonlew的博客-CSDN博客 cv.goodFeaturesToTrack&#xff1a;Shi-Tomasi角点检测-OpenCV-python_独憩的博客-CSDN博客 import cv2 as cv import numpy as np import …

精准定位,智慧港口:北斗技术在港口车辆智能监管中的应用

随着全球经济一体化的加速推进&#xff0c;港口作为全球物流网络中的关键节点、对外贸易货物的集散中心以及国际物流供应链的重要组成部分&#xff0c;其在区域经济发展中的作用变得越来越重要。然而&#xff0c;随着港口向大型化、专业化方向的发展&#xff0c;现有的基础设施…