SELECT EDC.ID_EDCLASSES,EDC.CLASS_ID,EDC.COURSE_ID,EDC.SECTION_NO,EDC.BRANCH_ID,EDC.CLASS_STATUS, EDC.START_DATE,CONVERT(VARCHAR,EDC.START_DATE,101) AS STARTDATE,EDC.END_DATE,CONVERT(VARCHAR,EDC.END_DATE,101) AS ENDDATE,EDC.LOCATION_ID,EDC.GEO_AREA,EDC.FOCIS_LOC_CODE,EDC.FOCIS_CAT_CODE, EDC.HOURS,EDC.COURSE_FEE,EDC.ENROLLED,EDC.CERT_DISPS_CODE,EDC.INCOME,EDC.EXPENSE,EDC.MIN_SIZE,EDC.MAX_SIZE, EDC.COMMENTS,EDC.USER_FIELD1,EDC.USER_FIELD2,EDC.REVISED_DATE,EDC.REVISED_BY,EDC.CREATION_DATE,EDC.COMPLETED, EDC.CLASS_TYPE,EDC.TIME_CODE,EDC.CLIENT_ID,EDC.CERT_CONDUCTEDBY,EDC.RECEIPT_MESSAGE,EDC.CLASS_MODIFIED, EDC.EXPORT_DATE,EDC.EXPORT_BATCH_NUMBER,EDC.EXPORT_USER_ID,EDC.ACCOUNT_NUMBER,EDC.DT_INS,EDC.ID_INS_USER, EDC.DT_MOD,EDC.ID_MOD_USER,EDC.FL_VALID,EDC.TX_VALID_REASON,EDC.CHECKSTATUS, EDCOU.DESCRIPTION AS EDCOURSEDESC,EDCOU.SHORT_DESC AS EDCOURSEDESC_SHORT,EDCOU.LAST_SECTION,BR.BRANCH_NAME, EDCS.CLASS_STATUS_DESC,LOC.LOCATION_DESC,HGA.DESCRIPTION AS GEOAREA_DESC,EDMS.MARKET_SEGMENT_DESC, EDDS.DISTRIBUTION_DESC,EDCD.CERT_DISPS_DESC,EDTC.TIME_DESC,EDCLI.NAME AS CLIENT_NAME, EDCCB.CERT_CONDUCTEDBY_DESC,HRP.NAME_FIRST,HRP.NAME_LAST,HRP.NAME_MIDDLE,EDCOU.COURSE_TYPE,EDFCC.FOCIS_CAT_DESC,ACC.DESCRIPTION AS ACCOUNT_DESC FROM EDCLASSES EDC LEFT JOIN EDCOURSES EDCOU ON EDC.COURSE_ID = EDCOU.COURSE_ID AND EDCOU.CHECKSTATUS='Y' LEFT JOIN ED_FOCIS_COURSE_CATS EDFCC ON EDCOU.COURSE_TYPE=EDFCC.COURSE_TYPE AND EDFCC.CHECKSTATUS='Y' LEFT JOIN BRANCHES BR ON EDC.BRANCH_ID=BR.BRANCH_ID AND BR.CHECKSTATUS='Y' LEFT JOIN ED_CLASS_STATUS EDCS ON EDC.CLASS_STATUS=EDCS.CLASS_STATUS AND EDCS.CHECKSTATUS='Y' LEFT JOIN LOCATIONS LOC ON EDC.LOCATION_ID=LOC.LOCATION_ID AND LOC.CHECKSTATUS='Y' LEFT JOIN HR_GEO_AREAS HGA ON EDC.GEO_AREA=HGA.GEO_AVAIL_CODE AND HGA.CHECKSTATUS='Y' LEFT JOIN ED_MARKET_SEGMENTS EDMS ON EDC.FOCIS_LOC_CODE = EDMS.FOCIS_LOC_CODE AND EDMS.CHECKSTATUS='Y' LEFT JOIN ED_DISTRIBUTIONS EDDS ON EDC.FOCIS_CAT_CODE = EDDS.FOCIS_CAT_CODE AND EDDS.CHECKSTATUS='Y' LEFT JOIN ED_CERT_DISPS EDCD ON EDC.CERT_DISPS_CODE = EDCD.CERT_DISPS_CODE AND EDCD.CHECKSTATUS='Y' LEFT JOIN ED_TIME_CODES EDTC ON EDC.TIME_CODE = EDTC.TIME_CODE AND EDTC.CHECKSTATUS='Y' LEFT JOIN EDCLIENTS EDCLI ON EDC.CLIENT_ID = EDCLI.CLIENT_ID AND EDCLI.CHECKSTATUS='Y' LEFT JOIN ED_CERT_CONDUCTED_BY EDCCB ON EDC.CERT_CONDUCTEDBY = EDCCB.CERT_CONDUCTEDBY AND EDCCB.CHECKSTATUS='Y' LEFT JOIN HRPEOPLE HRP ON EDC.EXPORT_USER_ID = HRP.PERSON_ID AND HRP.CHECKSTATUS='Y' LEFT JOIN ACCOUNT_NUMBER ACC ON EDC.ACCOUNT_NUMBER=ACC.ACCOUNT_NUMBER AND ACC.CHECKSTATUS='Y' WHERE (@ID_EDCLASSES IS NULL OR EDC.ID_EDCLASSES = @ID_EDCLASSES) AND (@CLASS_ID IS NULL OR EDC.CLASS_ID = @CLASS_ID) AND (@START_DATE IS NULL OR EDC.START_DATE = @START_DATE) AND (@END_DATE IS NULL OR EDC.END_DATE = @END_DATE) AND (@BRANCH_ID IS NULL OR EDC.BRANCH_ID = @BRANCH_ID) AND (@CLASS_STATUS IS NULL OR EDC.CLASS_STATUS = @CLASS_STATUS) AND (@COURSE_TYPE IS NULL OR EDCOU.COURSE_TYPE = @COURSE_TYPE) AND (@COURSE_ID IS NULL OR EDC.COURSE_ID = @COURSE_ID) AND (@LOCATION_ID IS NULL OR EDC.LOCATION_ID = @LOCATION_ID) AND (@TIME_CODE IS NULL OR EDC.TIME_CODE = @TIME_CODE) AND (@CERT_DISPS_CODE IS NULL OR EDC.CERT_DISPS_CODE = @CERT_DISPS_CODE) AND (@SECTION_NO IS NULL OR EDC.SECTION_NO = @SECTION_NO) AND EDC.CHECKSTATUS='Y'