만사가귀찮아

SAP HANA SQL WITH ROW_NUMBER

만사가 귀찮아 2022. 3. 25. 09:00

SAP HANA SQL WITH ROW_NUMBER

 

예제) 특정월 이후의 가장 최근 월 Data 구하기

with 절에  +를 사용

 

DATA: lv_bwkey LIKE t001w-bwkey VALUE '1000'.
DATA: iv_spmon TYPE spmon  VALUE '202203',
      it_matnr LIKE range_matnr OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF lt_mbew OCCURS 0,
        matnr LIKE mbew-matnr,
        bwtar LIKE mbew-bwtar,
        salk3 LIKE mbew-salk3,
        lbkum LIKE mbew-lbkum,
        lfgja LIKE mbew-lfgja,
        lfmon LIKE mbew-lfmon,
      END   OF lt_mbew.
DATA: lt_mbewh LIKE lt_mbew OCCURS 0 WITH HEADER LINE.

WITH
  +mbewh AS (
    SELECT matnr, salk3, lbkum, lfgja, lfmon,
           ROW_NUMBER( ) OVER( PARTITION BY matnr
                               ORDER BY matnr, lfgja DESCENDING, lfmon DESCENDING ) AS rnum
           FROM mbewh
           WHERE bwkey EQ @lv_bwkey   
             AND matnr IN @it_matnr   
             AND bwtar EQ ' '         
             AND ( lfgja  < @iv_spmon(4) OR
                 ( lfgja EQ @iv_spmon(4) AND
                   lfmon <= @iv_spmon+4(2) ) )
           ORDER BY matnr )
  SELECT matnr, salk3, lbkum, lfgja, lfmon FROM +mbewh
         WHERE rnum = 1
  INTO CORRESPONDING FIELDS OF TABLE @lt_mbewh.

 

'만사가귀찮아' 카테고리의 다른 글

ABAP Excel Write  (0) 2022.05.31
ALV Underline  (1) 2022.05.31
Shadow Stack 비활성화(2021.10.31)  (0) 2021.10.31
Oracle bind variable values  (0) 2018.10.01
Oracle Partition table - high_value 읽기  (0) 2018.09.10