가 나는 내가 단지를 붙여 넣은악성 끝 DB2의 SP 코드의 경우에는 여전히
WHILE (SQLSTATE = '00000') DO
IF (SELECT C5STID FROM OS025F WHERE C5OMID = V_OMID) = 30 THEN
IF (SELECT COUNT (*) FROM OS085F WHERE J5DLR = P_DLR
AND J5OMID =
V_OMID AND J5DSID > 0) = 0 THEN
INSERT INTO OS108F (L8RGID , L8DLR , L8DESC , L8GOAL , L8TOT)
SELECT V_RGID , P_DLR , C5DESC , E2GOAL , 0
FROM OS025F AS ORDERMASTER
INNER JOIN OS042F AS GOALS ON GOALS . E2OMID = ORDERMASTER . C5OMID
WHERE E2DLR = P_DLR
AND E2OMID = V_OMID
GROUP BY 1 , 2 , C5DESC , E2GOAL ;
ELSE IF P_NET = 'Y' THEN
INSERT INTO OS108F (L8RGID , L8DLR , L8DESC , L8GOAL , L8TOT )
SELECT V_RGID , P_DLR , C5DESC , E2GOAL , SUM(J5TNDC)
FROM OS025F AS ORDERMASTER
INNER JOIN OS042F AS GOALS ON GOALS.E2OMID = ORDERMASTER.C5OMID
INNER JOIN OS085F AS DEALERORDER ON DEALERORDER.J5OMID =
ORDERMASTER.C5OMID AND DEALERORDER.J5DLR = GOALS.E2DLR
WHERE E2DLR = P_DLR
AND E2OMID = V_OMID
AND J5DSID > 0
GROUP BY 1, 2, C5DESC, E2GOAL;
ELSE
INSERT INTO OS108F (L8RGID , L8DLR , L8DESC , L8GOAL , L8TOT)
SELECT V_RGID, P_DLR, C5DESC, E2GOAL, SUM(J5TOT)
FROM OS025F AS ORDERMASTER
INNER JOIN OS042F AS GOALS ON GOALS.E2OMID = ORDERMASTER.C5OMID
INNER JOIN OS085F AS DEALERORDER ON DEALERORDER.J5OMID =
ORDERMASTER.C5OMID AND DEALERORDER.J5DLR = GOALS.E2DLR
WHERE E2DLR = P_DLR
AND E2OMID = V_OMID
AND J5DSID > 0
GROUP BY 1, 2, C5DESC, E2GOAL;
END IF ;
END IF ;
ELSE....
경우 해당이없는 종료하는 경우, 내가 장소에서 참조하십시오 DB2의 SP 코드를 가로 질러 온 작동 관련 코드 조각은 여기에 있습니다. 맨 마지막에 Else가 나오기 바로 전에, End If가 2 개 있는데 그 중 1 개가 불필요한 것으로 보입니다. while (첫 번째 줄) 이전의 코드는 커서의 몇 가지 선언 등으로 그다지 중요하지 않습니다. i 탐색기에서 전체 SP 코드를 실행하면 SP가 보석처럼 만들어집니다. End if 때문에 오류가 발생할 것으로 예상됩니다. 하지만 여기에 문제가 내가 이에 상응하는 RPG 코드로 변환하려고하고 컴파일이 실패 ... Endy 자리 작동 오류. 누군가가 왜 컴파일이 실패하지 않는지를 이해할 수 있는지 말해 줄 수 있습니까?