SAP ABAP:如何獲取select某個條件下的條目數


       在ABAP中,有時候我們需要取某一條件下的條目數,要如何實現呢?

       這里有程咬金的三板斧:

(1)第一板斧:系統變量sy-dbcnt

 1   DATA: L_COUNT TYPE I.
 2   SELECT EQUI~EQUNR
 3          EQKT~EQKTX
 4          ILOA~SWERK
 5     INTO TABLE GT_EQUI
 6     FROM EQUI
 7     LEFT JOIN EQKT  ON  EQUI~EQUNR = EQKT~EQUNR  AND SPRAS = SY-LANGU
 8     LEFT JOIN EQUZ  ON  EQUI~EQUNR = EQUZ~EQUNR  AND EQUZ~DATBI = '99991231'
 9     INNER JOIN ILOA  ON  EQUZ~ILOAN = ILOA~ILOAN
10     WHERE ILOA~SWERK IN S_SWERK
11     AND   EQUI~ERDAT IN S_ERDAT .
12 
13   IF SY-SUBRC = 0.
14     L_COUNT = SY-DBCNT.
15   ENDIF.

(2)第二板斧:select  count (*)

 1   DATA: L_COUNT TYPE I.
 2   SELECT COUNT( * )
 3     INTO  L_COUNT
 4     FROM EQUI
 5     LEFT JOIN EQKT  ON  EQUI~EQUNR = EQKT~EQUNR  AND SPRAS = SY-LANGU
 6     LEFT JOIN EQUZ  ON  EQUI~EQUNR = EQUZ~EQUNR  AND EQUZ~DATBI = '99991231'
 7     INNER JOIN ILOA  ON  EQUZ~ILOAN = ILOA~ILOAN
 8     WHERE ILOA~SWERK IN S_SWERK
 9     AND   EQUI~ERDAT IN S_ERDAT .
10 
11   IF SY-SUBRC = 0.
12 
13   ENDIF.

(3)第三板斧:describe table  XXX  lines  XXX

 1   DATA: L_COUNT TYPE I.
 2   SELECT EQUI~EQUNR
 3          EQKT~EQKTX
 4          ILOA~SWERK
 5     INTO TABLE GT_EQUI
 6     FROM EQUI
 7     LEFT JOIN EQKT  ON  EQUI~EQUNR = EQKT~EQUNR  AND SPRAS = SY-LANGU
 8     LEFT JOIN EQUZ  ON  EQUI~EQUNR = EQUZ~EQUNR  AND EQUZ~DATBI = '99991231'
 9     INNER JOIN ILOA  ON  EQUZ~ILOAN = ILOA~ILOAN
10     WHERE ILOA~SWERK IN S_SWERK
11     AND   EQUI~ERDAT IN S_ERDAT .
12 
13   IF SY-SUBRC = 0.
14 *    L_COUNT = SY-DBCNT.
15     DESCRIBE TABLE GT_EQUI LINES L_COUNT.
16   ENDIF.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM