밑을 보시면 알수 있듯이 많은 에러를 가지고 있는 프로시져입니다.
제가 할려고 한것은 g.ac_a04가 1이거나 1이 아닐때 a.ya_a03 혹은 a.ya_a04의 값을 음수로 줘서
그 두 값을 더해 하나로 나오게 하고 싶습니다.
sum 부분도 이상하고 그리고 밑에 나올때 제가
if (rtrim(:rac_a04) = '1') then
ya_a04 ='-' + ya_a04;
if (rtrim(:rac_a04) <> '1') then
ya_a03 ='-' + ya_a03;
이부분을 첨가를 했거든요. 물론 into :acc_code, :j_kum, :bunho 여기 바로 밑으로염
당연히 에러는 났구염..
이걸 해결해야 다음 프로시져를 짤수 있는데...계속 해메고 있습니다. 도와주세요
CREATE PROCEDURE DACC_SUPP_01 (
YYMMDD1 CHAR(8) CHARACTER SET NONE,
CODE1 CHAR(6) CHARACTER SET NONE,
CODE2 CHAR(6) CHARACTER SET NONE)
RETURNS (
ACC_CODE CHAR(6) CHARACTER SET NONE,
J_KUM NUMERIC(15,2),
BUNHO CHAR(1) CHARACTER SET NONE)
AS
DECLARE VARIABLE RAC_A04 CHAR(1);
begin
for
select a.ya_a02 acc_code, (sum(a.ya_a03) + sum(a.ya_a04)) j_kum, g.ac_a04 bunho
from year_acccode a
left outer join acccode g on a.ya_a02 = g.ac_a01
where a.ya_a01 = substr(:yymmdd1,1,4) and
(a.ya_a02 between :code1 and :code2) and
(a.ya_a03 <> 0) and (a.ya_a04 <> 0)
group by a.ya_a02
into :acc_code, :j_kum, :bunho
do
suspend;
end
|