SELECT RTRIM(BYPART) AS bypart, RTRIM(BYLOT) AS bylot, RTRIM(BYSTOK) AS bystok, RTRIM(BYACTN) AS byactn, BYQTY AS byqty, CASE WHEN BYTDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE BYTDAT END AS bytdat, RTRIM(BYJREF) AS byjref, RTRIM(BYIREF) AS byiref, RTRIM(BYLREF) AS bylref, RTRIM(BYPREF) AS bypref, RTRIM(BYTRST) AS bytrst, BYTRAN AS bytran, RTRIM(BYSRC) AS bysrc, RTRIM(BYREAS) AS byreas, RTRIM(BYDREF) AS bydref, "BYSEQ#" AS "byseq#", RTRIM(BYBUNT) AS bybunt, BYTQTY AS bytqty, RTRIM(BYTUNT) AS bytunt, RTRIM(BYA1) AS bya1, BYPGQT AS bypgqt, BYPSQT AS bypsqt, CASE WHEN BYSDAT IN (DATE('0001-01-01'), DATE('9999-12-31')) THEN NULL ELSE BYSDAT END AS bysdat, BYSTIM AS bystim, RTRIM(BYUSER) AS byuser, BYFSYY AS byfsyy, BYFSPR AS byfspr, RTRIM(BYPLNT) AS byplnt, RTRIM(BYTAG) AS bytag, RTRIM(BYBDEP) AS bybdep, RTRIM(BYRPNT) AS byrpnt, RTRIM(BYTMZN) AS bytmzn, RTRIM(BYREFF) AS byreff, RTRIM(BYFUT1A) AS byfut1a, RTRIM(BYFUT2A) AS byfut2a, RTRIM(BYFUT3A) AS byfut3a, RTRIM(BYFUT4A) AS byfut4a, RTRIM(BYFUT5A) AS byfut5a, RTRIM(BYFUT6A) AS byfut6a, BYFUT1N AS byfut1n, BYFUT2N AS byfut2n, BYFUT3N AS byfut3n FROM LGDAT.STKT WHERE BYFSYY BETWEEN 2000 AND 2030 -- drop corrupt out-of-range fiscal years AND (BYFSYY > {stkt_period} / 100 -- split YYYYPP so the predicate stays OR (BYFSYY = {stkt_period} / 100 -- sargable against STKTX10, whose AND BYFSPR >= MOD({stkt_period}, 100))) -- leading key is FiscalYearPd