如何从DRAD和DRAW表中筛选各文档的关联物料信息?
SAP DRAD&DRAW表筛选文档关联物料的方法
核心思路
要拿到文档对应的关联物料,关键是只保留DRAD表中关联对象为物料主数据(dokob = 'MARA')的记录——因为MARA是SAP物料主数据的表名,DRAD里这个字段值对应的objky就是物料编号。
具体操作
方式1:直接筛选DRAD表(最快)
不管用ABAP代码查询,还是用SE16N/SE11这类事务码查,直接执行以下筛选逻辑:
SELECT doknr, objky FROM drad WHERE dokob = 'MARA' ORDER BY doknr, objky.
执行后就能得到你要的结果,完全匹配需求里的输出格式。
方式2:关联DRAW表做校验(可选)
如果要确保这些文档编号是真实存在的(避免DRAD里有无效的文档记录),可以关联DRAW表做内连接:
SELECT d.doknr, d.objky FROM drad AS d INNER JOIN draw AS dw ON d.doknr = dw.doknr WHERE d.dokob = 'MARA' ORDER BY d.doknr, d.objky.
这个查询会先确认DRAD里的文档在DRAW中存在,再输出对应的物料编号,结果和方式1一致,但多了一层合法性校验。
最终结果示例
| doknr | objky |
|---|---|
| 1 | 1234 |
| 1 | 5678 |
| 2 | 5678 |
内容的提问来源于stack exchange,提问作者christhebliss
相关产品推荐
相关产品推荐

