select nvl(OM15_JAN.JAN_AMOUNT,0),
nvl(OM15_OUT.TOT_AMOUNT,0)
into V_JJan_Amt,
V_Tot_Amount
From (Select ITEM,
JAN_CNT,
JAN_AMOUNT
From OM15_SHP_TAIL
Where ILJA = (Select Max(ILJA)
From OM15_SHP_TAIL
Where ILJA < L_OM15_SHP_TAIL.ILJA
And CAR_GBN = L_OM15_SHP_TAIL.CAR_GBN
And ITEM = L_OM15_SHP_TAIL.ITEM)
And CAR_GBN = L_OM15_SHP_TAIL.CAR_GBN
And ITEM = L_OM15_SHP_TAIL.ITEM) OM15_JAN,
(Select ITEM,
OUT_TOT,
TOT_AMOUNT
From OM15_SHP_TAIL
Where ILJA = (Select Max(ILJA)
From OM15_SHP_TAIL
Where ILJA < L_OM15_SHP_TAIL.ILJA
And ILJA >= I_SDATE
And CAR_GBN = L_OM15_SHP_TAIL.CAR_GBN
And ITEM = L_OM15_SHP_TAIL.ITEM)
And CAR_GBN = L_OM15_SHP_TAIL.CAR_GBN
And ITEM = L_OM15_SHP_TAIL.ITEM) OM15_OUT
Where OM15_JAN.ITEM = OM15_OUT.ITEM(+);
이렇게 데이타를 가져오는 프로시져를 짰는데 'And ILJA >= I_SDAT'에서 형식이 맞지 않는다는 에러가 납니다.
참고로
L_OM15_SHP_TAIL.ILJA
L_OM15_SHP_TAIL.CAR_GBN
L_OM15_SHP_TAIL.ITEM
이것들은 'L_OM15_SHP_TAIL OM15_SHP_TAIL%ROWTYPE;'이렇게 테이블의 spec을 그대로 가져온 거구요.
I_SDATE는 파라메터로 넘긴 날짜랍니다.
자료형은 모두 날짜형으로 일치하구요.
'L_OM15_SHP_TAIL OM15_SHP_TAIL%ROWTYPE;'를 사용하지 않고 그냥 I_SDATE만 사용하면 에러가 나지 않습니다.
제가 보기엔 별루 이상한건 없는데.. 쩝~
별다른건 없구요..
조건문 양쪽 필드들에 대한 형변환을 시켜보시죠?
WHERE TO_CHAR(ILJA, 'YYYYMMDD') < TO_CHAR(L_OM15_SHP_TAIL.ILJA, 'YYYYMMDD')
변변한 대답 못드려 죄송합니다.
꾸뻑~
이희정 wrote:
> select nvl(OM15_JAN.JAN_AMOUNT,0),
> nvl(OM15_OUT.TOT_AMOUNT,0)
> into V_JJan_Amt,
> V_Tot_Amount
> From (Select ITEM,
> JAN_CNT,
> JAN_AMOUNT
> From OM15_SHP_TAIL
> Where ILJA = (Select Max(ILJA)
> From OM15_SHP_TAIL
> Where ILJA < L_OM15_SHP_TAIL.ILJA
> And CAR_GBN = L_OM15_SHP_TAIL.CAR_GBN
> And ITEM = L_OM15_SHP_TAIL.ITEM)
> And CAR_GBN = L_OM15_SHP_TAIL.CAR_GBN
> And ITEM = L_OM15_SHP_TAIL.ITEM) OM15_JAN,
> (Select ITEM,
> OUT_TOT,
> TOT_AMOUNT
> From OM15_SHP_TAIL
> Where ILJA = (Select Max(ILJA)
> From OM15_SHP_TAIL
> Where ILJA < L_OM15_SHP_TAIL.ILJA
> And ILJA >= I_SDATE
> And CAR_GBN = L_OM15_SHP_TAIL.CAR_GBN
> And ITEM = L_OM15_SHP_TAIL.ITEM)
> And CAR_GBN = L_OM15_SHP_TAIL.CAR_GBN
> And ITEM = L_OM15_SHP_TAIL.ITEM) OM15_OUT
> Where OM15_JAN.ITEM = OM15_OUT.ITEM(+);
>
>
> 이렇게 데이타를 가져오는 프로시져를 짰는데 'And ILJA >= I_SDAT'에서 형식이 맞지 않는다는 에러가 납니다.
>
> 참고로
> L_OM15_SHP_TAIL.ILJA
> L_OM15_SHP_TAIL.CAR_GBN
> L_OM15_SHP_TAIL.ITEM
> 이것들은 'L_OM15_SHP_TAIL OM15_SHP_TAIL%ROWTYPE;'이렇게 테이블의 spec을 그대로 가져온 거구요.
> I_SDATE는 파라메터로 넘긴 날짜랍니다.
> 자료형은 모두 날짜형으로 일치하구요.
> 'L_OM15_SHP_TAIL OM15_SHP_TAIL%ROWTYPE;'를 사용하지 않고 그냥 I_SDATE만 사용하면 에러가 나지 않습니다.