SAP ABAP VK11/VK12 創建銷售物料價格(附源碼)

需求:

通過接口批量創建銷售物料的價格(含階梯價),對應事務碼VK11/VK12

方法:(會在下面源碼寫出各個方法的優缺點,僅供參考)

  1. 通過函數 RV_CONDITION_COPY創建(目前最優)
  2. 通過函數 BAPI_PRICES_CONDITIONS
  3. 通過BDC錄屏使用VK11事務碼進行創建

分析:

通過測試可發現,VK11不僅可以創建,還可以修改,存在期間沖突還可以自動切割有效期間,如:

正常有效期:2025-05-01~2025-05-20

修改有效期:2025-05-10~2025-05-15

使用VK11修改后應該會生成三個有效期間,分別是:

  • 2025-05-01~2025-05-09
  • 2025-05-10~2025-05-15
  • 2025-05-16~2025-05-20

VK12不會自行切割區間,只能根據某個日期的基準值對單個區間進行修改,如

基準值為2025-05-10

對應的正常有效期:2025-05-01~2025-05-20

修改有效期:2025-05-10~2025-05-15

使用VK12修改后應該只在原基礎上修改,結果是:

2025-05-10~2025-05-15

通過上述測試后,所以對我們此次需求來說VK12無法滿足,所以只能使用VK11的錄屏

方法一:使用BDC錄屏創建(VK11)

DATA:   GT_BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
DATA:   GT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE. DATA:LS_OPTIONS TYPE CTU_PARAMS.
DATA: LV_KPEIN  TYPE CHAR20.
DATA: LV_KSTBM  TYPE CHAR20.
DATA: LV_KBETR  TYPE CHAR20."利用BDC 錄屏方法創建階梯價"---- 屏幕1錄屏PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0100'.PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'RV13A-KSCHL'.PERFORM BDC_FIELD       USING 'BDC_OKCODE' '/00'.PERFORM BDC_FIELD       USING 'RV13A-KSCHL' LS_INPUT-KSCHL."條件類型IF LS_INPUT-KSTBM01 IS INITIAL AND LS_INPUT-KBETR01 IS INITIAL."銷售價不含階梯價"---- 屏幕2錄屏PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1005'.PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.PERFORM BDC_FIELD       USING 'BDC_OKCODE' '=SICH'.PERFORM BDC_FIELD       USING 'KOMG-VKORG' LS_INPUT-VKORG."銷售組織PERFORM BDC_FIELD       USING 'KOMG-VTWEG' LS_INPUT-VTWEG."分銷PERFORM BDC_FIELD       USING 'KOMG-KUNNR' LS_INPUT-KUNNR."客戶PERFORM BDC_FIELD       USING 'KOMG-MATNR(01)' LS_INPUT-MATNR."物料WRITE LS_INPUT-KBETR TO LV_KBETR.CONDENSE LV_KBETR NO-GAPS.PERFORM BDC_FIELD       USING 'KONP-KBETR(01)' LV_KBETR."金額CLEAR LV_KBETR.PERFORM BDC_FIELD       USING 'KONP-KONWA(01)' LS_INPUT-KONWA."幣別"---類型轉換WRITE LS_INPUT-KPEIN TO LV_KPEIN.CONDENSE LV_KPEIN NO-GAPS.PERFORM BDC_FIELD       USING 'KONP-KPEIN(01)' LV_KPEIN."價格單位CLEAR LV_KPEIN.
*      PERFORM BDC_FIELD       USING 'RV13A-KRECH(01)' 'C'."有效期自PERFORM BDC_FIELD       USING 'RV13A-DATAB(01)' LS_INPUT-DATAB."有效期自PERFORM BDC_FIELD       USING 'RV13A-DATBI(01)' LS_INPUT-DATBI."截止日期ELSE.                 "銷售價含階梯價"---- 屏幕2錄屏PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1005'.
*      PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'RV13A-KRECH(01)'.PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'RV13A-DATBI(01)'.PERFORM BDC_FIELD       USING 'BDC_OKCODE' '/00'.PERFORM BDC_FIELD       USING 'KOMG-VKORG' LS_INPUT-VKORG."銷售組織PERFORM BDC_FIELD       USING 'KOMG-VTWEG' LS_INPUT-VTWEG."分銷PERFORM BDC_FIELD       USING 'KOMG-KUNNR' LS_INPUT-KUNNR."客戶PERFORM BDC_FIELD       USING 'KOMG-MATNR(01)' LS_INPUT-MATNR."物料WRITE LS_INPUT-KBETR TO LV_KBETR.CONDENSE LV_KBETR NO-GAPS.PERFORM BDC_FIELD       USING 'KONP-KBETR(01)' LV_KBETR."金額CLEAR LV_KBETR.PERFORM BDC_FIELD       USING 'KONP-KONWA(01)' LS_INPUT-KONWA."幣別"---類型轉換WRITE LS_INPUT-KPEIN TO LV_KPEIN.CONDENSE LV_KPEIN NO-GAPS.PERFORM BDC_FIELD       USING 'KONP-KPEIN(01)' LV_KPEIN."價格單位CLEAR LV_KPEIN.PERFORM BDC_FIELD       USING 'RV13A-DATAB(01)' LS_INPUT-DATAB."有效期自PERFORM BDC_FIELD       USING 'RV13A-DATBI(01)' LS_INPUT-DATBI."截止日期"---- 屏幕3錄屏PERFORM BDC_DYNPRO      USING 'SAPMV13A' '1005'.PERFORM BDC_FIELD       USING 'BDC_CURSOR' 'KOMG-MATNR(01)'.PERFORM BDC_FIELD       USING 'BDC_OKCODE' '=PSTF'.
*      PERFORM BDC_FIELD       USING 'KOMG-KUNNR' LS_INPUT-KUNNR."客戶
*      PERFORM BDC_FIELD       USING 'KOMG-MATNR(01)' LS_INPUT-MATNR."物料
*    PERFORM BDC_FIELD       USING 'KONP-KBETR(01)' LS_INPUT-KBETR."金額"---- 屏幕4錄屏PERFORM BDC_DYNPRO      USING 'SAPMV13A' '0303'.PERFORM FILD_VALUE USING LV_FIELD LS_INPUT.PERFORM BDC_FIELD      

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84558.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84558.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84558.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

噪聲建模在一小時:最小化準備工作的自監督低光RAW圖像去噪

論文標題: Noise Modeling in One Hour: Minimizing Preparation Efforts for Self-supervised Low-Light RAW Image Denoising發表日期: 2025年5月作者: Feiran Li, Haiyang Jiang*, Daisuke Iso發表單位: Sony Research, Tokyo University原文鏈接: https://arxiv.org/pdf/25…

Puppeteer 瀏覽器自動化操作工具

pyppeteer 是 Python 版本的 Puppeteer,而 Puppeteer 是由 Google 開發的一個 Node.js 庫,用于控制 Chrome 或 Chromium 瀏覽器。pyppeteer 允許你通過 Python 代碼自動化操作瀏覽器,實現網頁爬取、自動化測試、生成截圖或 PDF 等功能。 核心…

接口性能測試-工具JMeter的學習

接口登錄鏈接http://111.230.19.204:8080/blog_login.html 一、JMeter基本使用流程 1、啟動Jmeter 2、在“測試計劃”下添加線程組 3、在“線程組”下添加“HTTP”取樣器 4、填寫“HTTP請求”的相關請求數據 5、在“線程組”下添加“查看結果樹”監聽器 6、點擊“啟動”按鈕…

mybatis-plus與jsqlparser共用時報sql解析錯誤

手動引入jsqlparser-4.6版本,但mybatis-plus中引用為4.4版本 解決方法一: jsqlparser版本與mybatis-plus中引用版本一致。 解決方法而二: 排除掉mybatis-plus中的jsqlparser。

用MMdetection框架訓練自己的數據集(全流程實戰)

前面我們準備好了COCO格式的數據集:將YOLO格式的數據集轉換為mmdetection格式-CSDN博客https://blog.csdn.net/qq_54708219/article/details/148224187?spm1001.2014.3001.5501 下面我們使用MMdetection開始訓練。 1.創建新的數據集類 首先,在mmdet/d…

VS Code中Maven未能正確讀取`settings.xml`中配置的新路徑

在VS Code中Maven未能正確讀取settings.xml中配置的新路徑,通常是由于以下原因導致的: 一、VS Code未使用你修改的settings.xml文件 VS Code的Maven插件可能使用了默認配置或指向其他settings.xml文件。解決方法: 手動指定settings.xml路徑…

2021年認證杯SPSSPRO杯數學建模A題(第二階段)醫學圖像的配準全過程文檔及程序

2021年認證杯SPSSPRO杯數學建模 A題 醫學圖像的配準 原題再現: 圖像的配準是圖像處理領域中的一個典型問題和技術難點,其目的在于比較或融合同一對象在不同條件下獲取的圖像。例如為了更好地綜合多種信息來辨識不同組織或病變,醫生可能使用…

RPM之(1)基礎使用

RPM之(1)基礎使用 Author: Once Day Date: 2025年5月26日 一位熱衷于Linux學習和開發的菜鳥,試圖譜寫一場冒險之旅,也許終點只是一場白日夢… 漫漫長路,有人對你微笑過嘛… 全系列文章可參考專欄: Linux實踐記錄_Once-Day的博客-CSDN博客 …

國內可做大批量pcb的工廠有哪些?

在電子產業升級浪潮中,PCB作為電子設備的基礎載體,其批量生產能力直接決定著終端產品的市場響應速度與品質穩定性。本文精選五家具備核心競爭力的廠商,從工藝深度、產能規模到服務模式展開剖析,為采購決策提供專業參考。 獵板PCB…

【視頻】使用海康SDK保存的MP4無法在瀏覽器(html5)中播放

1、問題描述 在使用海康 SDK 的 NET_DVR_SaveRealData 接口,將視頻流保存成MP4文件后,通過瀏覽器無法播放MP4,播放其它的MP4正常。 2、原因分析 對比可以正常播放的MP4 和 無法播放的MP4文件,比較它們的詳細信息,發…

AI時代新詞-生成對抗網絡(GAN)

一、什么是生成對抗網絡(GAN)? 生成對抗網絡(Generative Adversarial Network,簡稱GAN)是一種由生成器(Generator)和判別器(Discriminator)組成的深度學習模…

使用AutoKeras2.0的AutoModel進行結構化數據回歸預測

1、First of All: Read The Fucking Source Code import autokeras as ak import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error# 生成數據集 np.random.seed(42) x np.random.rand(1000, 10) # 生成1…

實戰設計模式之訪問者模式

概述 訪問者模式允許我們在不改變類的前提下,向已有類添加新的功能。簡單來說,就是將算法與對象的數據結構進行分離的一種方法。在實際應用中,當我們需要對一組對象執行一些操作,而這些操作又需要隨著需求的變化而不斷變化時&…

centos7.9使用docker-compose安裝kafka

docker-compose配置文件 services:zookeeper:image: confluentinc/cp-zookeeper:7.0.1hostname: zookeepercontainer_name: zookeeperports:- "2181:2181"environment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000kafka:image: confluentinc/cp-kafka:7.0…

STM32:Modbus通信協議核心解析:關鍵通信技術

知識點1【 Modbus通信】 1、Modbus的概述 Modbus是OSI模型第七層的應用層報文傳輸協議 協議:說明有組包和解包的過程 2、通信機制 Modelbus是一個請求/應答協議 通信機制:主機輪詢,從機應答的機制。每個從設備有唯一的地址,主…

LeetCode 3362.零數組變換 III:貪心+優先隊列+差分數組——清晰題解

【LetMeFly】3362.零數組變換 III:貪心優先隊列差分數組——清晰題解 力扣題目鏈接:https://leetcode.cn/problems/zero-array-transformation-iii/ 給你一個長度為 n 的整數數組 nums 和一個二維數組 queries ,其中 queries[i] [li, ri] …

ORM++ 封裝實戰指南:安全高效的 C++ MySQL 數據庫操作

ORM 封裝實戰指南:安全高效的 C MySQL 數據庫操作 一、環境準備 1.1 依賴安裝 # Ubuntu/Debian sudo apt-get install libmysqlclient-dev # CentOS sudo yum install mysql-devel# 編譯時鏈接庫 (-I 指定頭文件路徑 -L 指定庫路徑) g main.cpp -stdc17 -I/usr/i…

JESD204B 協議介紹

一、協議概述 JESD204B是由JEDEC(固態技術協會)制定的高速串行接口標準,專為模數轉換器(ADC)、數模轉換器(DAC)與邏輯器件(如FPGA、ASIC)之間的數據傳輸設計。其核心目標…

yolov8,c++案例匯總

文章目錄 引言多目標追蹤案例人體姿態估計算法手勢姿態估計算法目標分割算法 引言 以下案例,基于c,ncnn,yolov8既可以在windows10/11上部署, 也可以在安卓端部署, 也可以在嵌入式端部署, 服務器端可支持部署封裝為DLL,支持c/c#/java端調用 多目標追蹤案例 基于yolov8, ncnn,…

運動規劃實戰案例 | 圖解基于狀態晶格(State Lattice)的路徑規劃(附ROS C++/Python仿真)

目錄 1 控制采樣 vs 狀態采樣2 State Lattice路徑規劃2.1 算法流程2.2 Lattice運動基元生成2.3 幾何代價函數2.4 運動學約束啟發式 3 算法仿真3.1 ROS C仿真3.2 Python仿真 1 控制采樣 vs 狀態采樣 控制采樣的技術路線源自經典的運動學建模思想。這種方法將機器人的控制指令空…