使用函数BAPISDORDER_GETDETAILEDLIST读取S/4HANA中Sales Order行项目数据

事务码MM03查看物料主数据,如下图所示的行项目数据,包含物料ID,描述信息,数量,单价等等:

使用如下代码进行行项目读取:

DATA: ls_read   TYPE order_view,
lt_item   TYPE TABLE OF bapisdit,
lt_header TYPE table of sales_key.

APPEND INITIAL LINE TO lt_header ASSIGNING FIELD-SYMBOL(<header>).

" 代表读取行项目
ls_read-item = ‘X‘.
" 传入Sales Order的ID
<header>-vbeln = ‘0000000268‘.

CALL FUNCTION ‘BAPISDORDER_GETDETAILEDLIST‘
EXPORTING
i_bapi_view     = ls_read
TABLES
sales_documents = lt_header
order_items_out = lt_item.

输出的行项目信息保存在内表lt_item里:

其中字段MATL_GROUP: 物料组,类型为MATKL,value table T023,

ITEM_CATEG: item category。类型为PSTYV,value table TVPT

TAN代表standard item:

REL_FOR_BI:代表这个销售订单是否和billing有关,类型FKREL。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

原文地址:https://www.cnblogs.com/sap-jerry/p/9904554.html

时间: 2024-10-07 14:01:44

使用函数BAPISDORDER_GETDETAILEDLIST读取S/4HANA中Sales Order行项目数据的相关文章

使用java读取文件夹中文件的行数

使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个小时将代码写出(可见我的java功底还是挺烂的).虽然有很多有待改进的地方,依然有纪念意义. 本java类的核心是通过BufferedReader类的readLine()方法,间接的统计行数:通过递归遍历文件. 这个类只是写来完成任务的.结果不是很严谨,许多情况并没考虑到:比如判断想读取某一类文件怎

nl2br()与nl2p()函数,php在字符串中的新行(\n)之前插入换行符

使用情景 很多场合我们只是简单用textarea获取用户的长篇输入,而没有用编辑器.用户输入的换行以“\n”的方式入库,输出的时候有时候会没有换行,一大片文字直接出来了.这个时候可以根据库里的“\n”给文字换行.PHP有自带的函数nl2br(),我们也可以自定义函数nl2p(). 先来看看nl2br() 函数吧. 定义和用法 nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />). 一个简单的例子: 1 <?php 2   3 $str = &q

linux shell 读取for循环中出现难处理的数据之单引号错误实例

原语句: #!/bin/bash for test in I don't know if this'll work do echo "work:$test" done 结果: work:I work:dont know if thisll work:work 改成后语句: #!/bin/bash for test in I don\'t know if "this'll" work do echo "work:$test" done 结果: wo

linux下向一个文件中的某行插入数据的做法

sed -i 'ni\x' test.file        表示向test.file文件里的第n行的前面添加x内容sed -i 'na\x' test.file       表示向test.file文件里的第n行的后面添加x内容 sed -i '/m/i\x' test.file     表示向test.file文件里匹配m字符串的行的前面添加x内容sed -i '/m/a\x' test.file    表示向test.file文件里匹配m字符串的行的后面添加x内容 -i     表示in

如何让textarea中输入多行的数据在p标签中换行?

我们在用React开发Web项目的过程中,有的时候,我们需要把textarea中输入的多行字符串,在其他的标签中输出来,比如p标签.但是,往往这个时候,在p标签中输出的内容其默认情况下是不换行的.比如下面的代码: import React,{Component} from 'react'; export default class HelloWorld extends Component{ constructor(){ super(...arguments); this.state={ note

Torch-RNN运行过程中的坑 [2](Lua的string sub函数,读取中文失败,乱码?)

0.踩坑背景 仍然是torch-rnn/LanguageModel.lua文件中的一些问题,仍然是这个狗血的LM:encode_string函数: function LM:encode_string(s) local encoded = torch.LongTensor(#s) for i = 1, #s do local token = s:sub(i, i) local idx = self.token_to_idx[token] assert(idx ~= nil, 'Got invali

用javascript技术读取注册表中软件安装位置并启动本地软件

1.首先读取注册表中本地软件安装的位置,如果未安装则无就跳转到下载页面. 2.启动软件,关闭页面. 3.如报错提示. <SCRIPT language=javascript>  <!--   function killErrors(){  alert("请将您浏览器Internet选项中的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”设置为“启用”!/n/n然后刷新本页登陆!");  return true;}   window.onerror = ki

读取.dex文件中的所有字符串

import struct import os #这里定义一个读取字符串长度的函数 def DecUnsignedLEB128(file): result = struct.unpack("i", file.read(4))[0]#读取4字节中的第一个字节 result = result&0x000000ff file.seek(-3, 1) #倒退回前面的第三个字节 # 不能直接从1字节强转为4字节,所以先取4字节,再清空3字节 if (result > 0x7f):

读取文件夹中所有的文件

class Program { static double size = 2.443438914027149; static void Main(string[] args) { if (!System.IO.Directory.Exists("Img")){ System.IO.Directory.CreateDirectory("Img"); Console.WriteLine("已创建Img目录,请把需要处理的图片放到该目录下"); Con