方法一,通过取项目状态的系统函数BAPI_BUS2001_GET_STATUS来过滤项目列表。
方法二,找到相关的状态表直接与项目表关联,经过查看BAPI_BUS2001_GET_STATUS的代码,得到这个表为 tj30t , 于是有以下代码:
SELECT DISTINCT proj~pspid proj~post1 INTO CORRESPONDING FIELDS OF TABLE it_proj
FROM proj
INNER JOIN tj30t ON tj30t~stsma = proj~stspd
AND tj30t~txt04 <> 'CLSD'
AND tj30t~spras = 'E'.
方法二效率应该要高一些,毕竟我们在数据库端过滤项目号,而不用象方法一那样每次都要处理所有的项目号,再过滤。