SAP ABAP 中有关数据查询与计算问题

(1)关联表EKKO、EKPO、EKETMAKT,取出采购订单号、物料、物料描述、采购订单下单量、下单日期、交期、请购部门。(2)计算已收货量:根据采购订单号、项目号关联... (1) 关联表EKKO、EKPO、EKET MAKT,取出采购订单号、物料、物料描述、采购订单下单量、下单日期、交期、请购部门。
(2) 计算已收货量:根据采购订单号、项目号关联采购订单历史表EKBE,首先根据借贷标识EKBE-SHKZG将EKBE-MENGE(数量)赋予正负号,SHKZG为S时为正数,SHKZG为H时为负数。再将相同采购订单号、项目号、EKBE-VGABE=1的数量(EKBE-MENGE)汇总,计算出已收货量
(3) 计算未清量:用采购订单行项目的数量减去已收货量得出未清量.
(4) 供应商描述:根据EKKO-LIFNR供应商账号关联表LFA1- NAME1取出描述.
(5) 物料描述:根据料号关联表MAKT-MAKTX,取出物料描述.
(6) 选择界面有”未清采购订单”的参数,控制显示的范围,如果选中,则仅显示未清的采购订单(未清量不等于0的),默认为选中状态. At select screen on
(7) 表格执行的结果分表头信息和项目信息,详见“消息输出界面”。输出的结果需要直接打印,打印内容宽度要适合页面。
给我指明 如何查询数据库 并且计算就可以了
SELECT
EKKO~BEDAT EKKO~EBELN EKPO~EBELP EKPO~AFNAM EKPO~MENGE EKPO~MEINS EKET~EINDT MAKT~MATNR MAKT~MAKTX LFA1~ LIFNR
LFA1~ NAME1
INTO CORRESPONDING FIELDS OF TABLE ITAB
From LFAL inner join EKKO on LFAL~LIFNR = EKKO~LIFNR
Inner join EKET on EKKO ~EBELN = EKET ~EBELN
Inner join EKPO on EKET~EBELN = EKPO~EBELN
AND EKET~EBELP = EKPO~EBELP
inner join MARK on EKKO~MATNR = MARK ~ MATNR.
Where LFA1~ NAME1in NAME1 .
Select EKBE-SHKZG EKBE-MENGE EKBE-VGABE from EKBE
INTO EKBE
From LFAL inner join EKKO on LFAL~LIFNR = EKKO~LIFNR
Inner join EKET on EKKO ~EBELN = EKET ~EBELN
Inner join EKBE on EKET~EBELN = EKBE~EBELN
AND EKET~EBELP = EKBE~EBELP
Where LFA1~ NAME1in NAME1 .
If EKBE-SHKZG = S.
EKBE -MENGE = EKBE -MENGE.
Else.
EKBE -MENGE = - EKBE -MENGE.
Endif.
loop at itab into wa.
Wa-yijiao = EKBE –MENGE.
Append wa to itab.
If EKBE-VGABE=1.
Collect itab.
Endloop.

Endselect.
ENDFORM.
展开
 我来答
1柳梦狂1
2011-10-27 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:65.2万
展开全部
代码你自己都贴出来了...
建议:
SELECT
EKKO~BEDAT EKKO~EBELN EKPO~EBELP EKPO~AFNAM EKPO~MENGE EKPO~MEINS EKET~EINDT MAKT~MATNR MAKT~MAKTX LFA1~ LIFNR
LFA1~ NAME1
INTO CORRESPONDING FIELDS OF TABLE ITAB
From LFAL inner join EKKO on LFAL~LIFNR = EKKO~LIFNR
Inner join EKET on EKKO ~EBELN = EKET ~EBELN
Inner join EKPO on EKET~EBELN = EKPO~EBELN
AND EKET~EBELP = EKPO~EBELP
inner join MARK on EKKO~MATNR = MARK ~ MATNR.
Where LFA1~ NAME1in NAME1 .
"这里已经取出订单数量了.LOOP去查交货数量就好了.
LOOP AT ITAB.
Select EKBE-SHKZG EKBE-MENGE EKBE-VGABE from EKBE
INTO CORRESPONDING FIELDS OF TABLE WA_EKBE
From LFAL inner join EKKO on LFAL~LIFNR = EKKO~LIFNR
Inner join EKET on EKKO ~EBELN = EKET ~EBELN
Inner join EKBE on EKET~EBELN = EKBE~EBELN
AND EKET~EBELP = EKBE~EBELP
Where LFA1~ NAME1in NAME1
AND EKET~EBELN = ITAB-EBELN
AND EKET~EBELP = ITAB-EBELP .
LOOP AT WA_EKBE.
If WA_EKBE-SHKZG = S.
WA_EKBE -MENGE = WA_EKBE -MENGE.
Else.
WA_EKBE -MENGE = WA_EKBE -MENGE * -1.
Endif.
交货数量ITAB = 交货数量ITAB + WA_EKBE -MENGE.
ENDLOOP.
"汇总
If EKBE-VGABE=1.
Collect itab.
endif.

ENDLOOP.

未经测试!!!
景联文科技
2024-06-11 广告
一、什么是数据标注?1. 数据标注定义数据标注是对未经处理的语音、图片、文本、视频等数据进行加工处理, 并转换为机器可识别信息的过程。原始数据一般通过数据采集获得, 随后的数据标注相当于对数据进行加工, 然后输送到人工智能算法和模型里完成调... 点击进入详情页
本回答由景联文科技提供
休X闲X海
2012-06-08 · TA获得超过163个赞
知道答主
回答量:237
采纳率:0%
帮助的人:46.9万
展开全部
本来需要做一个PO统计,正好兄台给了解释,多谢多谢,很详细,很需要!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玄皖静06m
2011-10-27 · TA获得超过979个赞
知道答主
回答量:224
采纳率:0%
帮助的人:77.6万
展开全部
你不是都写清楚了吗? 还想知道什么?
追问
我要的是代码
追答
要代码的话,没人能帮你了。写这段代码得半天时间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑看人间冷暖C
2011-10-27
知道答主
回答量:29
采纳率:0%
帮助的人:12.2万
展开全部
adasdasd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式