h copyright('2012 Relational Data Corporation') nomain //----------------------------------------------------------------- // copy members //----------------------------------------------------------------- /copy *libl/qrpglesrc,xrpt100#1 /copy *libl/qrpglesrc,rdcsrapi#1 /copy *libl/qrpglesrc,rdrptapi#1 /copy *libl/qrpglesrc,rdwtnapi#1 /copy *libl/qrpglesrc,rdfmtapi#1 /copy *libl/qsissrc,sisssch#1 //----------------------------------------------------------------- // module level variables //----------------------------------------------------------------- d ytmlink ds import qualified d district 10a d school 10a d fyr 4a d term 4a d dept ds qualified dim(3) d id 10a d c1 s * inz(*null) d r1 s * inz(*null) d filter s 128a varying d odd s n d str s 256a varying d ext s 10a varying d squote c '''' //----------------------------------------------------------------- // write popup variables to header //----------------------------------------------------------------- p rptxPop b export /free wtnRecWrt('POP01'); wtnRecSet('POP02'); wtnFldSet('var':'district'); wtnFldSet('val':%trimr(ytmlink.district)); wtnRecWrt('POP02'); wtnRecSet('POP02'); wtnFldSet('var':'school'); wtnFldSet('val':%trimr(ytmlink.school)); wtnRecWrt('POP02'); wtnRecWrt('POP03'); /end-free p rptxPop e //----------------------------------------------------------------- // initialization //----------------------------------------------------------------- p rptxInit b export /free csrInit(); c1 = csrNew('SCRS100P'); /end-free p rptxInit e //----------------------------------------------------------------- // generate report //----------------------------------------------------------------- p rptxGen b export d rptxGen pi n /free clear dept; r1 = rptOpen('SCRS100A'); csrSetInst(c1); csrSetOrder('DEPT, TITLL, COURSE, EXTENSION'); dept(1).id = wtnFldGet('DEPT'); filter = 'DISTRICT = ' + squote + ytmlink.district + squote + ' AND SCHOOL = ' + squote + ytmlink.school + squote; if dept(1).id <> *blanks; filter = filter + ' AND DEPT = ' + squote + %trimr(dept(1).id) + squote; endif; filter = filter + ' AND SCRUB <> ' + squote + '1' + squote; csrSetFilter(filter); csrRefresh(); if csrGoto(csr_next); rptRecWrt('BEGRPT'); exsr page_head; else; return *on; endif; csrGoto(csr_bof); dow csrGoto(csr_next); exsr report_detail; enddo; rptRecWrt('ENDCRS'); rptRecWrt('ENDRPT'); return *on; //----------------------------------------------------------------- // output detail lines //----------------------------------------------------------------- begsr report_detail; dept(3).id = csrColStr('DEPT'); if dept(2) <> dept(3); rptRecWrt('ENDCRS'); rptPageBreak(); exsr page_head; endif; dept(2) = dept(3); rptRecSet('DETAIL'); if odd; rptVarSet('cls':'odd'); else; rptVarSet('cls':'even'); endif; odd = not odd; ext = %trimr(csrColStr('EXTENSION')); str = %trimr(csrColStr('TITLL')) + ' (' + %trimr(csrColStr('COURSE')); if ext <> ''; str = str + '-' + ext; endif; str = str + ')'; str = str + ' [' + %trimr(csrColStr('GRADESCL')) + ']'; rptVarSet('crs':str); rptVarSet('fr':%char(csrColInt('TERMFROM'))); rptVarSet('to':%char(csrColInt('TERMTO'))); rptVarSet('tm':%char(csrColInt('TERMS'))); rptVarSet('cd':%editc(%dech(csrColFloat('CREDITS'):4:2):'2')); rptVarSet('pt':%char(csrColInt('PARTCRED'))); rptVarSet('gp':%editc(%dech(csrColFloat('GRDPNTADJ'):4:2):'2')); rptVarSet('nl':%char(csrColInt('MINLEVEL'))); rptVarSet('xl':%char(csrColInt('MAXLEVEL'))); rptVarSet('na':%editc(%dech(csrColFloat('MINAGE'):3:1):'2')); rptVarSet('xa':%editc(%dech(csrColFloat('MAXAGE'):3:1):'2')); rptVarSet('gn':%trimr(csrColStr('GENDERS'))); rptVarSet('ps':%editc(%dech(csrColFloat('PASSPCT'):4:1):'2')); rptVarSet('ap':%trimr(csrColStr('APPROVAL'))); rptRecWrt('DETAIL'); endsr; //----------------------------------------------------------------- // output page headers //----------------------------------------------------------------- begsr page_head; odd = *on; csrGoto(csr_relative:0); dept(3).id = csrColStr('DEPT'); dept(2) = dept(3); rptRecSet('PAGEHEAD'); rptVarSet('school':sschDesc(ytmlink.school)); rptVarSet('date':fmtDate(%date():4)); rptVarSet('dept' :%trimr(dept(3).id)); rptRecWrt('PAGEHEAD'); rptRecWrt('BEGCRS'); endsr; /end-free p rptxGen e //----------------------------------------------------------------- // generate PDF and return file name //----------------------------------------------------------------- p rptxCrtPdf b export d rptxCrtPdf pi n /free return rptToPdf(600); /end-free p rptxCrtPdf e //----------------------------------------------------------------- // return name of report //----------------------------------------------------------------- p rptxGetName b export d rptxGetName pi 128a varying /free return 'sch_crs_catlg'; /end-free p rptxGetName e //----------------------------------------------------------------- // close report //----------------------------------------------------------------- p rptxClose b export /free if r1 <> *null; csrClose(); rptClose(*off); r1 = *null; endif; /end-free p rptxClose e