Chinaunix首页 | 论坛 | 博客
  • 博客访问: 668310
  • 博文数量: 194
  • 博客积分: 7067
  • 博客等级: 少将
  • 技术积分: 2008
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 14:48
个人简介

我很好

文章分类

全部博文(194)

文章存档

2019年(1)

2018年(1)

2017年(3)

2015年(2)

2012年(2)

2011年(1)

2010年(27)

2009年(15)

2008年(142)

分类: WINDOWS

2008-05-24 11:19:01

递归在ABAP应用中的一个实例:递归爆BOM的一个简单应用。

FORM GET_BOM USING VALUE(MATNR) TYPE C.
DATA:LINE LIKE ZMAST_STPO-IDNRK.
SELECT * FROM ZMAST_STPO WHERE MATNR = MATNR
ORDER BY MATNR DATUV DESCENDING.
IF ZMAST_STPO-REKRS = 'X'.
CONTINUE.
ENDIF.
IF ( ZMAST_STPO-MATNR = AFPO-MATNR ) AND
( AFKO-STLAL <> ZMAST_STPO-STLAL ).
CONTINUE.
ENDIF.
SELECT * FROM STKO WHERE STLNR = ZMAST_STPO-STLNR
ORDER BY DATUV DESCENDING.
RATE = RATE * ZMAST_STPO-MENGE / STKO-BMENG .
EXIT.
ENDSELECT.
PERFORM GET_BOM USING ZMAST_STPO-IDNRK.
ENDSELECT.

IF SY-SUBRC = 4 OR ZMAST_STPO-REKRS = 'X'.
ITABBOM-MATNR = ZMAST_STPO-IDNRK.
READ TABLE ITABBOM INTO LINE.
IF SY-SUBRC = 4.
ITABBOM-MATNR = ZMAST_STPO-IDNRK.
ITABBOM-RATE = RATE.
APPEND ITABBOM.
ENDIF.
RATE = 1.
ENDIF.
ENDFORM.

阅读(1187) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~