Similar to my SQL related post, I am struggling with syntax or some other misunderstanding.
EDITED POST:
Got some help from someone at work. I think I was over complicating it.
This code seems to work.
C/EXEC SQL
C+ UPDATE INVCPX00 X
C+ set WHOCPL = (select SUM(Z.WHOCPL)
C+ FROM INVCPZ00 Z
C+ WHERE Z.WHDATE = X.WHDATE and Z.WHTIME = X.WHTIME
C+ and Z.WHFLYR = X.WHFLYR and Z.WHFLQR = X.WHFLQR
C+ and Z.WHFLPD = X.WHFLPD and Z.WHFPDY = X.WHFPDY
C+ and Z.WHWHSE = X.WHWHSE and Z.WHSEQ = X.WHSEQ
C+ and Z.WHLTY = X.WHLTY
C+ AND Z.WHZONE IN ('BLD', 'FGW', 'RMW', 'FGA', 'RMA' ))
C+ where x.whseq in ('1', '2')
C/END-EXEC
END EDIT
I am trying to run an UPDATE statement.
When I run it in MS SQL Server, it works fine.
When I copy-Paste into RPG SQL, I get an error.
ERROR:
Message ID . . . . . . : SQL0199
Message . . . . : Keyword FROM not expected. Valid tokens: USE SKIP WAIT
WITH FETCH LIMIT ORDER WHERE OFFSET.
Cause . . . . . : The keyword FROM was not expected here. A syntax error
was detected at keyword FROM. The partial list of valid tokens is USE SKIP
WAIT WITH FETCH LIMIT ORDER WHERE OFFSET. This list assumes that the
statement is correct up to the unexpected keyword. The error may be earlier
in the statement but the syntax of the statement seems to be valid up to
this point.
EDITED POST:
Got some help from someone at work. I think I was over complicating it.
This code seems to work.
C/EXEC SQL
C+ UPDATE INVCPX00 X
C+ set WHOCPL = (select SUM(Z.WHOCPL)
C+ FROM INVCPZ00 Z
C+ WHERE Z.WHDATE = X.WHDATE and Z.WHTIME = X.WHTIME
C+ and Z.WHFLYR = X.WHFLYR and Z.WHFLQR = X.WHFLQR
C+ and Z.WHFLPD = X.WHFLPD and Z.WHFPDY = X.WHFPDY
C+ and Z.WHWHSE = X.WHWHSE and Z.WHSEQ = X.WHSEQ
C+ and Z.WHLTY = X.WHLTY
C+ AND Z.WHZONE IN ('BLD', 'FGW', 'RMW', 'FGA', 'RMA' ))
C+ where x.whseq in ('1', '2')
C/END-EXEC
END EDIT
I am trying to run an UPDATE statement.
When I run it in MS SQL Server, it works fine.
When I copy-Paste into RPG SQL, I get an error.
Code:
0287.02 C/EXEC SQL 0287.03 C+ UPDATE INVCPX00 0287.04 C+ SET WHOCPL = (select SUM(Z.WHOCPL) 0287.05 C+ FROM INVCPZ00 Z 0287.06 C+ WHERE Z.WHDATE = X.WHDATE and Z.WHTIME = X.WHTIME 0287.07 C+ and Z.WHFLYR = X.WHFLYR and Z.WHFLQR = X.WHFLQR 0287.08 C+ and Z.WHFLPD = X.WHFLPD and Z.WHFPDY = X.WHFPDY 0287.09 C+ and Z.WHWHSE = X.WHWHSE and Z.WHSEQ = X.WHSEQ 0287.10 C+ and Z.WHLTY = X.WHLTY AND Z.WHSEQ IN ('1', '2') 0287.11 C+ AND Z.WHZONE IN ('BLD', 'FGW', 'RMW', 'FGA', 'RMA' ) 0287.12 C+ GROUP BY Z.WHDATE, Z.WHTIME, Z.WHFLYR, Z.WHFLQR, 0287.13 C+ Z.WHFLPD, Z.WHFPDY, Z.WHWHSE, Z.WHSEQ, Z.WHLTY ) 0287.14 C+ FROM INVCPX00 X 0287.15 C+ JOIN INVCPZ00 Z on Z.WHDATE = X.WHDATE 0287.16 C+ and Z.WHTIME = X.WHTIME and Z.WHFLYR = X.WHFLYR 0287.17 C+ and Z.WHFLQR = X.WHFLQR and Z.WHFLPD = X.WHFLPD 0287.18 C+ and Z.WHFPDY = X.WHFPDY and Z.WHWHSE = X.WHWHSE 0287.19 C+ and Z.WHSEQ = X.WHSEQ and Z.WHLTY = X.WHLTY 0287.20 C+ WHERE X.WHSEQ IN ('1', '2') 0287.22 C/END-EXEC
ERROR:
Message ID . . . . . . : SQL0199
Message . . . . : Keyword FROM not expected. Valid tokens: USE SKIP WAIT
WITH FETCH LIMIT ORDER WHERE OFFSET.
Cause . . . . . : The keyword FROM was not expected here. A syntax error
was detected at keyword FROM. The partial list of valid tokens is USE SKIP
WAIT WITH FETCH LIMIT ORDER WHERE OFFSET. This list assumes that the
statement is correct up to the unexpected keyword. The error may be earlier
in the statement but the syntax of the statement seems to be valid up to
this point.
Comment