This code is what i use to get the 6 months of the month. Including the parameter of February where we sometimes have a 28th or 29th day.
Just in case this code helps you, please drop us a line
Coffee Cup
/* 2-16-2023 - CREATE SUMMARY */ VYEAR = EXTRACT(YEAR FROM VDATEFROM); VMONTH = EXTRACT(MONTH FROM VDATEFROM); SAFROM1 = VYEAR || '-' || VMONTH || '-1'; IF (VMONTH = 12) THEN BEGIN VMONTH = 1; VYEAR = VYEAR + 1; SATO1 = VYEAR || '-' || VMONTH || '-1'; END ELSE BEGIN VMONTH = VMONTH + 1; SATO1 = VYEAR || '-' || VMONTH || '-1'; END SATO1 = SATO1 - 1; SAMONTH1 = 0; VDATE = SATO1 + 1; VYEAR = EXTRACT(YEAR FROM VDATE); VMONTH = EXTRACT(MONTH FROM VDATE); SAFROM2 = VYEAR || '-' || VMONTH || '-1'; IF (VMONTH = 12) THEN BEGIN VMONTH = 1; VYEAR = VYEAR + 1; SATO2 = VYEAR || '-' || VMONTH || '-1'; END ELSE BEGIN VMONTH = VMONTH + 1; SATO2 = VYEAR || '-' || VMONTH || '-1'; END SATO2 = SATO2 - 1; SAMONTH2 = 0; VDATE = SATO2 + 1; VYEAR = EXTRACT(YEAR FROM VDATE); VMONTH = EXTRACT(MONTH FROM VDATE); SAFROM3 = VYEAR || '-' || VMONTH || '-1'; IF (VMONTH = 12) THEN BEGIN VMONTH = 1; VYEAR = VYEAR + 1; SATO3 = VYEAR || '-' || VMONTH || '-1'; END ELSE BEGIN VMONTH = VMONTH + 1; SATO3 = VYEAR || '-' || VMONTH || '-1'; END SATO3 = SATO3 - 1; SAMONTH3 = 0; VDATE = SATO3 + 1; VYEAR = EXTRACT(YEAR FROM VDATE); VMONTH = EXTRACT(MONTH FROM VDATE); SAFROM4 = VYEAR || '-' || VMONTH || '-1'; IF (VMONTH = 12) THEN BEGIN VMONTH = 1; VYEAR = VYEAR + 1; SATO4 = VYEAR || '-' || VMONTH || '-1'; END ELSE BEGIN VMONTH = VMONTH + 1; SATO4 = VYEAR || '-' || VMONTH || '-1'; END SATO4 = SATO4 - 1; SAMONTH4 = 0; VDATE = SATO4 + 1; VYEAR = EXTRACT(YEAR FROM VDATE); VMONTH = EXTRACT(MONTH FROM VDATE); SAFROM5 = VYEAR || '-' || VMONTH || '-1'; IF (VMONTH = 12) THEN BEGIN VMONTH = 1; VYEAR = VYEAR + 1; SATO5 = VYEAR || '-' || VMONTH || '-1'; END ELSE BEGIN VMONTH = VMONTH + 1; SATO5 = VYEAR || '-' || VMONTH || '-1'; END SATO5 = SATO5 - 1; SAMONTH5 = 0; VDATE = SATO5 + 1; VYEAR = EXTRACT(YEAR FROM VDATE); VMONTH = EXTRACT(MONTH FROM VDATE); SAFROM6 = VYEAR || '-' || VMONTH || '-1'; IF (VMONTH = 12) THEN BEGIN VMONTH = 1; VYEAR = VYEAR + 1; SATO6 = VYEAR || '-' || VMONTH || '-1'; END ELSE BEGIN VMONTH = VMONTH + 1; SATO6 = VYEAR || '-' || VMONTH || '-1'; END SATO6 = SATO6 - 1; SAMONTH6 = 0; SAOTHERS = 0; SAUNPAID = 0; SUSPEND; /* 2-16-2023 - CREATE SUMMARY */ /* 2-16-2023 - CREATE SUMMARY */ VDATE = NULL; IF (OCCHECK_DATE IS NOT NULL) THEN BEGIN VDATE = OCCHECK_DATE; END IF (OMDATE IS NOT NULL) THEN BEGIN VDATE = OMDATE; END IF (VDATE IS NOT NULL) THEN BEGIN IF ((VDATE >= SAFROM1) AND (VDATE <= SATO1)) THEN SAMONTH1 = SAMONTH1 + CP_INVAMT; ELSE IF ((VDATE >= SAFROM2) AND (VDATE <= SATO2)) THEN SAMONTH2 = SAMONTH2 + CP_INVAMT; ELSE IF ((VDATE >= SAFROM3) AND (VDATE <= SATO3)) THEN SAMONTH3 = SAMONTH3 + CP_INVAMT; ELSE IF ((VDATE >= SAFROM4) AND (VDATE <= SATO4)) THEN SAMONTH4 = SAMONTH4 + CP_INVAMT; ELSE IF ((VDATE >= SAFROM5) AND (VDATE <= SATO5)) THEN SAMONTH5 = SAMONTH5 + CP_INVAMT; ELSE IF ((VDATE >= SAFROM6) AND (VDATE <= SATO6)) THEN SAMONTH6 = SAMONTH6 + CP_INVAMT; ELSE SAOTHERS = SAOTHERS + CP_INVAMT; END