///OPENRSA // //*XPRINT USES FILTER CONDITION TO PROCESS INFO. // //xPrnVars("XPRINT_SETFILTER",.T.,"SET") // //rSysOpen("PREDSYS") //PREDSYS->(rChgIndex( "PREDSYS1" ) ) // //rSysOpen("PRTABLE") //PRTABLE->(rChgIndex( "PRTABLE1" ) ) // //rSysOpen("PREDEMP") //PREDEMP->(rChgIndex( "PREDEMP1" ) ) // //rSysOpen("PREMPLY") //PREMPHST->(rChgIndex( "PREMPHS2" ) ) // //xPrnAddCond(,,,"FILTER",[(PREMPHST->PERIOD0 # 0)] ) // //xPrnVars("INIT.YEAR.", YEAR(M_DATE)-1) //xPrnVars("INIT.SUMMARY.", "N") //xPrnVars("INIT.EMPLOYER.", "Y") //xPrnVars("INIT.PLAIN.", "N") // //rBox(13,00,23,79) //xPrnMsg(14,01,"Year :",[],[N],04,"9999",".YEAR.", 1 ) // //iif(xPrnMsgData(".YEAR.")=2000,xPrnVars("INIT.MAXBOX24.", 39000, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2000,xPrnVars("INIT.MAXBOX18.", 936, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2000,xPrnVars("INIT.MAXBOX26.", 37600, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2000,xPrnVars("INIT.MAXBOX16.", 1329.90,"SET" ), "" ) // //iif(xPrnMsgData(".YEAR.")=2001,xPrnVars("INIT.MAXBOX24.", 39000, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2001,xPrnVars("INIT.MAXBOX18.", 877.50, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2001,xPrnVars("INIT.MAXBOX26.", 38300, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2001,xPrnVars("INIT.MAXBOX16.", 1496.40,"SET" ), "" ) // //iif(xPrnMsgData(".YEAR.")=2002,xPrnVars("INIT.MAXBOX24.", 39000, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2002,xPrnVars("INIT.MAXBOX18.", 858.50, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2002,xPrnVars("INIT.MAXBOX26.", 39100, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2002,xPrnVars("INIT.MAXBOX16.", 1673.20,"SET" ), "" ) // //iif(xPrnMsgData(".YEAR.")=2003,xPrnVars("INIT.MAXBOX24.", 39000, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2003,xPrnVars("INIT.MAXBOX18.", 819.50, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2003,xPrnVars("INIT.MAXBOX26.", 39900, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2003,xPrnVars("INIT.MAXBOX16.", 1801.80,"SET" ), "" ) // //iif(xPrnMsgData(".YEAR.")=2004,xPrnVars("INIT.MAXBOX24.", 39000, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2004,xPrnVars("INIT.MAXBOX18.", 772.00, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2004,xPrnVars("INIT.MAXBOX26.", 40500, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2004,xPrnVars("INIT.MAXBOX16.", 1831.50,"SET" ), "" ) // //iif(xPrnMsgData(".YEAR.")=2005,xPrnVars("INIT.MAXBOX24.", 39000, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2005,xPrnVars("INIT.MAXBOX18.", 760.00, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2005,xPrnVars("INIT.MAXBOX26.", 41100, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2005,xPrnVars("INIT.MAXBOX16.", 1861.20,"SET" ), "" ) // //iif(xPrnMsgData(".YEAR.")=2006,xPrnVars("INIT.MAXBOX24.", 39000, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2006,xPrnVars("INIT.MAXBOX18.", 729.30, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2006,xPrnVars("INIT.MAXBOX26.", 42100, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2006,xPrnVars("INIT.MAXBOX16.", 1910.70,"SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2006,xPrnVars("INIT.MAXBOX56.", 57000, "SET" ), "" ) // //iif(xPrnMsgData(".YEAR.")=2007,xPrnVars("INIT.MAXBOX24.", 40000, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2007,xPrnVars("INIT.MAXBOX18.", 720.00, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2007,xPrnVars("INIT.MAXBOX26.", 43700, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2007,xPrnVars("INIT.MAXBOX16.", 1989.90,"SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2007,xPrnVars("INIT.MAXBOX56.", 59000, "SET" ), "" ) // //iif(xPrnMsgData(".YEAR.")=2008,xPrnVars("INIT.MAXBOX24.", 41100, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2008,xPrnVars("INIT.MAXBOX18.", 571.29, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2008,xPrnVars("INIT.MAXBOX26.", 44900, "SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2008,xPrnVars("INIT.MAXBOX16.", 2049.30,"SET" ), "" ) //iif(xPrnMsgData(".YEAR.")=2008,xPrnVars("INIT.MAXBOX56.", 60500, "SET" ), "" ) // //xPrnMsg(15,01,"Max EI Insurable BOX 24 :",[],[N],10,"9999999.99",".MAXBOX24.", 1 ) //xPrnMsg(16,01,"Max EI Premium BOX 18 :",[],[N],10,"9999999.99",".MAXBOX18.", 1 ) //xPrnMsg(17,01,"Max QPP Pension BOX 26 :",[],[N],10,"9999999.99",".MAXBOX26.", 1 ) //xPrnMsg(18,01,"Max QPP Contrib BOX 16_17:",[],[N],10,"9999999.99",".MAXBOX16.", 1 ) //xPrnMsg(19,01,"Max PPIP Insurable BOX 56 :",[],[N],10,"9999999.99",".MAXBOX56.", 1 ) //xPrnMsg(20,01,"Print For Employer :",[],[C],1,"!", ".EMPLOYER.",1,,RSPRNTR->LASER) //xPrnMsg(21,01,"Print Summary List Also :",[],[L],1,"!", ".SUMMARY.", 1 ) //xPrnMsg(22,01,"Print On PDF T4 Form :",[],[L],1,"!", ".PLAIN.", 1 ) // //xPrnVars("bDataBlock", "{|nRow,nCol,nValue|aDataArray[nRow,nCol] := aDataArray[nRow,nCol] + nValue}", "SET", "B" ) //xPrnVars("bDataAssign","{|nRow,nCol,nValue|aDataArray[nRow,nCol] := nValue}", "SET", "B" ) // //IIF( RSPRNTR->LASER .and. xPrnMsgData(".EMPLOYER.")="Y", xPrnVars("PRN","E","SET"),"") //IIF( RSPRNTR->LASER .and. xPrnMsgData(".EMPLOYER.")="N", xPrnVars("PRN","L","SET"),"") //IIF(! RSPRNTR->LASER, xPrnVars("PRN","D","SET"),"") // //IIF(xPrnVars("PRN")="L",xPrnVars("CONFIG_XPRINT","{||RSA_FORMSIZE(12, 10)}","SET","B"),"") //IIF(xPrnVars("PRN")="E",xPrnVars("CONFIG_XPRINT","{||RSA_FORMSIZE(5.65 ,10)}","SET","B"),"") //IIF(xPrnVars("PRN")="D",xPrnVars("CONFIG_XPRINT","{||RSA_FORMSIZE(05, 10)}","SET","B"),"") // //xPrnVars("PLAIN",.T.,"SET") ///ENDOPENRSA ///OPENINDEX //xPrnVars("DLL", AccessDLL("L","SUMMARY"), "SET" ) //xPrnVars("DLLFUNC", AccessDLL("G","SumryLoadDll",xPrnVars("DLL") ), "SET" ) //AccessDLL( "C",,xPrnVars("DLLFUNC") ) // //DBSELECTAREA("PREMPLY") //DBGOTOP() // //&iif(.T.,M->M_TEMP := "PREMPHST->( DBSEEK( PREMPLY->NUMBER+[" + STR(xPrnMsgData("YEAR"),4) + PADR("EYTD",5) + "] ) )", "" ) // //SumryInit() //SumryInfo("FILTER", cForExpr ) //SumryInfo("LOOKUP", M_TEMP ) //SumryInfo("DISPLAY",[NUMBER+" "+LNAME+" "+FNAME]) // //SumryGroup("LNAME" ,[C],20,0) //SumryGroup("NUMBER" ,[C],10,0) //SumryBreak("LNAME+NUMBER" ) // //SumryField([0]) // //xPrnVars( "ABORT_CLOSE", ! SumryExec() ) //iif( xPrnVars( "ABORT_CLOSE" ), xPrnAbort(), .T. ) // //DBSELECTAREA("PREMPLY") //DBCLEARREL() //PREMPHST->(rChgIndex( "PREMPHS1" ) ) // //DBSELECTAREA("SUMRYDBF") // //*RECORD TO IDENTIFY SUMMARY RECORD PRINTING // //iif( xPrnMsgData(".SUMMARY."), DBAPPEND(), "" ) //iif( xPrnMsgData(".SUMMARY."), SUMRYDBF->GROUP1:=REPLICATE(CHR(255),20), "" ) //iif( xPrnMsgData(".SUMMARY."), SUMRYDBF->GROUP2:="SUM_TOTAL", "" ) // //&DBSETRELAT("PREMPLY",{||SUMRYDBF->GROUP2},"SUMRYDBF->GROUP2") //DBGOTOP() // //xPrnVars("CRITERIA_CLEAR",.T.) //xPrnVars("RECCOUNT",0,"SET") // //iif( xPrnMsgData(".SUMMARY."), DBAPPEND(), "" ) ///ENDOPENINDEX //SELECT FORM STD14X11 //SELECT FORM HEIGHT 5 WIDTH 10.0 BEGIN FILES USE SUMRYDBF END FILES PUBLIC xcYear PUBLIC xnBOX14, xnBOX16, xnBOX17, xnBOX18, xnBOX20 PUBLIC xnBOX22, xnBOX24, xnBOX26, xnBOX28, xnBOX40 PUBLIC xnBOX42, xnBOX44, xnBOX46, xnBOX50, xnBOX52 PUBLIC xnBOX55, xnBOX56 PUBLIC xcBOX28a, xcBOX28b, xcBOX28c, xcBOX54, xcBOX12 PUBLIC xcEARNBOX1,xcEARNBOX2,xcEARNBOX3,xcEARNBOX4,xcEARNBOX5,xcEARNBOX6 PUBLIC xnEARNBOX1,xnEARNBOX2,xnEARNBOX3,xnEARNBOX4,xnEARNBOX5,xnEARNBOX6 PUBLIC xlEnd PUBLIC xnPageNo := 0 BEGIN WINDOW AREA EVALUATE 00,00 TO 30,90,36,xPrnVars("PRN")="E" WINDOW TYPE PROGRAM LOCAL xxTmp, xcType, xcCode, xlFound, xlOk, xnPos, x, xnCtr, xnRow, xnCol, xnAdjRow, xnAdjCol LOCAL xnMax, xnPlain // Disable compressed print form selected printer // @ 00,00 SAY CHR(0) xcYear = STR(xPrnMsgData(".YEAR."),4) xcBOX28a = "" xcBOX28b = "" xcBOX28c = "" xcBOX12 = "" xcBOX54 = "" xnBOX14 = 0 xnBOX16 = 0 xnBOX17 = 0 xnBOX18 = 0 xnBOX20 = 0 xnBOX22 = 0 xnBOX24 = 0 xnBOX26 = 0 xnBOX28 = 0 xnBOX40 = 0 xnBOX42 = 0 xnBOX44 = 0 xnBOX46 = 0 xnBOX50 = 0 xnBOX52 = 0 xnBOX55 = 0 xnBOX56 = 0 xcEARNBOX1= "" xcEARNBOX2= "" xcEARNBOX3= "" xcEARNBOX4= "" xcEARNBOX5= "" xcEARNBOX6= "" xnEARNBOX1= 0 xnEARNBOX2= 0 xnEARNBOX3= 0 xnEARNBOX4= 0 xnEARNBOX5= 0 xnEARNBOX6= 0 if ( LEN(aDataArray) = 0 ) // 1 = EARNING CODES // 2 = EARNING VALUES // 3 = DEDUCTION VALUES // xxTmp = AADD( aDataArray, { "", "", "", "", "", "" } ) xxTmp = AADD( aDataArray, { 0, 0, 0, 0, 0, 0 } ) xxTmp = AADD( aDataArray, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } ) endif xlEnd = ( FIELD->GROUP2 = "SUM_TOTAL" ) xxTmp = PRTABLE->( RsSetScope("E" ) ) xxTmp = PRTABLE->( DBGOTOP() ) xxTmp = xPrnVars("RECCOUNT",1) xnPageNo = xnPageNo + 1 DO WHILE ( ! PRTABLE->( EOF() ) ) xcType = PADR( "EDOL", 5) xcCode = LEFT(PRTABLE->NAME,10) xxTmp = PREMPHST->( DBSEEK( PREMPLY->NUMBER + xcType + xcCode + xcYear ) ) xxTmp = PREMPHST->PERIOD0 xlFound = .F. // ONLY PROCESS BOX #'s NOT LETTERS ASSOCIATED WITH RELEVE 1 form // xlOk = ( VAL( PRTABLE->NUMBER ) # 0 ) // TOTAL INCOME // xlOk = xlOk .and. ( PRTABLE->NUMBER # "14" ) xlOk = xlOk .and. ( PRTABLE->NUMBER # "24" ) xlOk = xlOk .and. ( PRTABLE->NUMBER # "26" ) xlOk = xlOk .and. ( PRTABLE->NUMBER # "56" ) if ( PRTABLE->NUMBER = "14" ) xnBOX14 = xnBOX14 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 1, xxTmp ) endif if ( PRTABLE->NUMBER = "24" ) xxTmp = - xxTmp xnBOX24 = xnBOX24 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 7, xxTmp ) endif if ( PRTABLE->NUMBER = "26" ) xxTmp = - xxTmp xnBOX26 = xnBOX26 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 8, xxTmp ) endif if ( PRTABLE->NUMBER = "56" ) xxTmp = - xxTmp xnBOX26 = xnBOX56 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 8, xxTmp ) endif if ( xlOk .and. ! xlFound .and. ( EMPTY( xcEARNBOX1 ) .or. xcEARNBOX1 == PRTABLE->NUMBER ) ) xcEARNBOX1 = PRTABLE->NUMBER xnEARNBOX1 = xnEARNBOX1 + xxTmp xlFound = .T. endif if ( xlOk .and. ! xlFound .and. ( EMPTY( xcEARNBOX2 ) .or. xcEARNBOX2 == PRTABLE->NUMBER ) ) xcEARNBOX2 = PRTABLE->NUMBER xnEARNBOX2 = xnEARNBOX2 + xxTmp xlFound = .T. endif if ( xlOk .and. ! xlFound .and. ( EMPTY( xcEARNBOX3 ) .or. xcEARNBOX3 == PRTABLE->NUMBER ) ) xcEARNBOX3 = PRTABLE->NUMBER xnEARNBOX3 = xnEARNBOX3 + xxTmp xlFound = .T. endif if ( xlOk .and. ! xlFound .and. ( EMPTY( xcEARNBOX4 ) .or. xcEARNBOX4 == PRTABLE->NUMBER ) ) xcEARNBOX4 = PRTABLE->NUMBER xnEARNBOX4 = xnEARNBOX4 + xxTmp xlFound = .T. endif if ( xlOk .and. ! xlFound .and. ( EMPTY( xcEARNBOX5 ) .or. xcEARNBOX5 == PRTABLE->NUMBER ) ) xcEARNBOX5 = PRTABLE->NUMBER xnEARNBOX5 = xnEARNBOX5 + xxTmp xlFound = .T. endif if ( xlOk .and. ! xlFound .and. ( EMPTY( xcEARNBOX6 ) .or. xcEARNBOX6 == PRTABLE->NUMBER ) ) xcEARNBOX6 = PRTABLE->NUMBER xnEARNBOX6 = xnEARNBOX6 + xxTmp xlFound = .T. endif xnPos = 1 xlFound = .F. if ( xlOk .and. ! xlFound .and. ( EMPTY(aDataArray[1,xnPos]) .or. aDataArray[1,xnPos] == PRTABLE->NUMBER ) ) x = EVAL( xPrnVars("bDataBlock" ), 2, xnPos, xxTmp ) x = EVAL( xPrnVars("bDataAssign"), 1, xnPos, PRTABLE->NUMBER ) xlFound = .T. endif xnPos = 2 if ( xlOk .and. ! xlFound .and. ( EMPTY(aDataArray[1,xnPos]) .or. aDataArray[1,xnPos] == PRTABLE->NUMBER ) ) x = EVAL( xPrnVars("bDataBlock" ), 2, xnPos, xxTmp ) x = EVAL( xPrnVars("bDataAssign"), 1, xnPos, PRTABLE->NUMBER ) xlFound = .T. endif xnPos = 3 if ( xlOk .and. ! xlFound .and. ( EMPTY(aDataArray[1,xnPos]) .or. aDataArray[1,xnPos] == PRTABLE->NUMBER ) ) x = EVAL( xPrnVars("bDataBlock" ), 2, xnPos, xxTmp ) x = EVAL( xPrnVars("bDataAssign"), 1, xnPos, PRTABLE->NUMBER ) xlFound = .T. endif xnPos = 4 if ( xlOk .and. ! xlFound .and. ( EMPTY(aDataArray[1,xnPos]) .or. aDataArray[1,xnPos] == PRTABLE->NUMBER ) ) x = EVAL( xPrnVars("bDataBlock" ), 2, xnPos, xxTmp ) x = EVAL( xPrnVars("bDataAssign"), 1, xnPos, PRTABLE->NUMBER ) xlFound = .T. endif xnPos = 5 if ( xlOk .and. ! xlFound .and. ( EMPTY(aDataArray[1,xnPos]) .or. aDataArray[1,xnPos] == PRTABLE->NUMBER ) ) x = EVAL( xPrnVars("bDataBlock" ), 2, xnPos, xxTmp ) x = EVAL( xPrnVars("bDataAssign"), 1, xnPos, PRTABLE->NUMBER ) xlFound = .T. endif xnPos = 6 if ( xlOk .and. ! xlFound .and. ( EMPTY(aDataArray[1,xnPos]) .or. aDataArray[1,xnPos] == PRTABLE->NUMBER ) ) x = EVAL( xPrnVars("bDataBlock" ), 2, xnPos, xxTmp ) x = EVAL( xPrnVars("bDataAssign"), 1, xnPos, PRTABLE->NUMBER ) xlFound = .T. endif x = PRTABLE->( DBSKIP() ) ENDDO xxTmp = PRTABLE->( RsSetScope("U") ) xxTmp = PRTABLE->( DBGOTOP() ) DO WHILE ( ! PRTABLE->( EOF() ) ) // DEDUCTION AMOUNTS // if ( PRTABLE->NUMBER = "24" .or. PRTABLE->NUMBER = "26" .or. PRTABLE->NUMBER = "56" ) xcType = PADR( "DDOL", 5) else xcType = PADR( "D", 5) endif xcCode = LEFT(PRTABLE->NAME,10) xxTmp = PREMPHST->( DBSEEK( PREMPLY->NUMBER + xcType + xcCode + xcYear ) ) xxTmp = PREMPHST->(EmpHstSum(1,59)) if ( PRTABLE->NUMBER = "16" ) xnBOX16 = xnBOX16 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 2, xxTmp ) endif if ( PRTABLE->NUMBER = "17" ) xnBOX17 = xnBOX17 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 3, xxTmp ) endif if ( PRTABLE->NUMBER = "18" ) xnBOX18 = xnBOX18 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 4, xxTmp ) endif if ( PRTABLE->NUMBER = "20" ) xnBOX20 = xnBOX20 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 5, xxTmp ) endif if ( PRTABLE->NUMBER = "22" ) xnBOX22 = xnBOX22 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 6, xxTmp ) endif if ( PRTABLE->NUMBER = "24" ) if ( xxTmp # 0 ) .and. ; ( rIsEqual( xnBOX18, xPrnMsgData(".MAXBOX18."), ">=" ) .or. ; rIsEqual( xxTmp, xPrnMsgData(".MAXBOX24."), ">=" ) ) xxTmp = xPrnMsgData(".MAXBOX24") endif xnBOX24 = xnBOX24 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 7, xxTmp ) endif if ( PRTABLE->NUMBER = "26" ) if ( xxTmp # 0 ) .and. ; ( rIsEqual( xnBOX16 + xnBOX17, xPrnMsgData(".MAXBOX16."), ">=" ) .or. ; rIsEqual( xxTmp, xPrnMsgData(".MAXBOX26."), ">=" ) ) xxTmp = xPrnMsgData(".MAXBOX26") endif xnBOX26 = xnBOX26 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 8, xxTmp ) endif if ( PRTABLE->NUMBER = "28" ) xnBOX28 = xnBOX28 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3, 9, xxTmp ) endif if ( PRTABLE->NUMBER = "40" ) xnBOX40 = xnBOX40 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3,10, xxTmp ) endif if ( PRTABLE->NUMBER = "42" ) xnBOX42 = xnBOX42 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3,11, xxTmp ) endif if ( PRTABLE->NUMBER = "44" ) xnBOX44 = xnBOX44 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3,12, xxTmp ) endif if ( PRTABLE->NUMBER = "46" ) xnBOX46 = xnBOX46 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3,13, xxTmp ) endif if ( PRTABLE->NUMBER = "50" ) xnBOX50 = xnBOX50 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3,14, xxTmp ) endif if ( PRTABLE->NUMBER = "52" ) xnBOX52 = xnBOX52 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3,15, xxTmp ) endif if ( PRTABLE->NUMBER = "55" ) xnBOX55 = xnBOX55 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3,16, xxTmp ) endif if ( PRTABLE->NUMBER = "56" ) if ( xxTmp # 0 ) .and. ; ( rIsEqual( xxTmp, xPrnMsgData(".MAXBOX56."), ">=" ) ) xxTmp = xPrnMsgData(".MAXBOX56") endif xnBOX56 = xnBOX56 + xxTmp x = EVAL( xPrnVars("bDataBlock"), 3,17, xxTmp ) endif x = PRTABLE->( DBSKIP() ) ENDDO xxTmp = PRTABLE->( RsSetScope() ) if ( xlEnd ) xxTmp = 1 if ( LEN(aDataArray[1,xxTmp]) # 0 ) xcEARNBOX1 = aDataArray[1,xxTmp] xnEARNBOX1 = aDataArray[2,xxTmp] endif xxTmp = 2 if ( LEN(aDataArray[1,xxTmp]) # 0 ) xcEARNBOX2 = aDataArray[1,xxTmp] xnEARNBOX2 = aDataArray[2,xxTmp] endif xxTmp = 3 if ( LEN(aDataArray[1,xxTmp]) # 0 ) xcEARNBOX3 = aDataArray[1,xxTmp] xnEARNBOX3 = aDataArray[2,xxTmp] endif xxTmp = 4 if ( LEN(aDataArray[1,xxTmp]) # 0 ) xcEARNBOX4 = aDataArray[1,xxTmp] xnEARNBOX4 = aDataArray[2,xxTmp] endif xxTmp = 5 if ( LEN(aDataArray[1,xxTmp]) # 0 ) xcEARNBOX5 = aDataArray[1,xxTmp] xnEARNBOX5 = aDataArray[2,xxTmp] endif xxTmp = 6 if ( LEN(aDataArray[1,xxTmp]) # 0 ) xcEARNBOX6 = aDataArray[1,xxTmp] xnEARNBOX6 = aDataArray[2,xxTmp] endif xnBOX14 = aDataArray[3,01] xnBOX16 = aDataArray[3,02] xnBOX17 = aDataArray[3,03] xnBOX18 = aDataArray[3,04] xnBOX20 = aDataArray[3,05] xnBOX22 = aDataArray[3,06] xnBOX24 = aDataArray[3,07] xnBOX26 = aDataArray[3,08] xnBOX28 = aDataArray[3,09] xnBOX40 = aDataArray[3,10] xnBOX42 = aDataArray[3,11] xnBOX44 = aDataArray[3,12] xnBOX46 = aDataArray[3,13] xnBOX50 = aDataArray[3,14] xnBOX52 = aDataArray[3,15] xnBOX55 = aDataArray[3,16] xnBOX56 = aDataArray[3,17] endif // DEDUCTION AMOUNTS // xcBOX28a = iif(xnBOX16=0.and.xnBOX17=0,"XX","") xcBOX28b = iif(xnBOX18=0, "XX","") xcBOX28c = iif(xnBOX55=0, "XX","") xnCtr = 1 // 2 per page for employee xnMax = IIF(xPrnVars("PRN")="L", 2, 1 ) DO WHILE ( xnCtr <= xnMax ) if ( RSPRNTR->LASER ) xnRow = iif(xnCtr=1,iif( xPrnVars("PLAIN"), 03, 03),iif( xPrnVars("PLAIN"), 37, 38) ) // 2nd print on laser print for employer xnRow = xnRow + IIF(xPrnVars("PRN")="E".and.MOD(xnPageNo,2)=0, 0, 0) xnCol = iif( xPrnVars("PLAIN"), 12, 05 ) xnAdjRow = 00 xnAdjCol = 00 xnPlain = iif( xPrnVars("PLAIN"), -7, 0) IF ( xPrnVars("PLAIN") .and. xPrnVars("PRN")="E" ) xnRow = IIF( MOD(xnPageNo,2)=0, 01, 03) ENDIF IF ( xPrnVars("RECCOUNT") > 1 .and. xPrnVars("PRN")#"E" ) xnRow = iif(xnCtr=1,iif( xPrnVars("PLAIN"), 03, 03),iif( xPrnVars("PLAIN"), 37, 38) ) ENDIF IF ( xPrnVars("RECCOUNT") = 2 .and. xPrnVars("PRN")="E" ) xnRow = 04 ENDIF IF ( xPrnVars("RECCOUNT") > 2 .and. xPrnVars("PRN")="E" ) xnRow = 03 ENDIF IF ( xPrnVars("RECCOUNT") > 3 .and. xPrnVars("PRN")="E" ) xnRow = IIF( MOD(xnPageNo,2)=0, 04, 03) ENDIF else xnRow = 01 xnCol = 08 xnAdjRow = 00 xnAdjCol = 00 xnPlain = 00 endif @ xnRow+01,05+01 say CnfgGet(,001,,M_SY_CNFG) // COMPANY NAME @ xnRow+02,05+01 say CnfgGet(,002,,M_SY_CNFG) // ADDRESS1 @ xnRow+03,05+01 say CnfgGet(,003,,M_SY_CNFG) // ADDRESS2 @ xnRow+04,05+01 say CnfgGet(,004,,M_SY_CNFG) // ADDRESS3 IF ( xPrnMsgData(".YEAR.") = 2001 ) @ xnRow+01,xnCol+47 say xcYear ELSE @ xnRow+01,xnCol+xnPlain+43 say xcYear ENDIF @ xnRow+04,xnCol+xnPlain+40 say rBlankZero( xnBOX14, 15, 2 ) @ xnRow+04,xnCol+xnPlain+63 say rBlankZero( xnBOX22, 10, 2 ) @ xnRow+07,xnCol+xnPlain+03 say CnfgGet(,009,,M_PR_CNFG) // FEDERAL ID @ xnRow+07,xnCol+xnPlain+46 say rBlankZero( xnBOX16, 09, 2 ) @ xnRow+07,xnCol+xnPlain+63 say rBlankZero( xnBOX24, 10, 2 ) if ( ! xlEnd ) @ xnRow+07,xnCol+xnPlain+35 say PREMPLY->TERRITORY if ( "-" $ PREMPLY->SIN ) @ xnRow+10+xnAdjRow,xnCol+xnPlain+03 say PREMPLY->SIN else @ xnRow+10+xnAdjRow,xnCol+xnPlain+03 say SUBS(PREMPLY->SIN,1,3) +SPACE(3)+ SUBS(PREMPLY->SIN,4,3) +SPACE(3)+ SUBS(PREMPLY->SIN,7,3) endif @ xnRow+15+xnAdjRow,xnCol+xnPlain+03 say PADR(PREMPLY->LNAME,20)+" "+PREMPLY->FNAME @ xnRow+17+xnAdjRow,xnCol+xnPlain+03 say PREMPLY->ADDRESS1 @ xnRow+18+xnAdjRow,xnCol+xnPlain+03 say PREMPLY->ADDRESS2 if ( PREMPLY->( FIELDPOS("CITY") ) # 0 ) @ xnRow+21+xnAdjRow,xnCol+xnPlain+03 say TRIM(PREMPLY->CITY) +" "+ PREMPLY->STATE +" "+ PREMPLY->POSTAL else @ xnRow+21+xnAdjRow,xnCol+xnPlain+03 say PREMPLY->ADDRESS3 endif endif @ xnRow+10+xnAdjRow,xnCol+xnPlain+22 say xcBOX28a @ xnRow+10+xnAdjRow,xnCol+xnPlain+25 say xcBOX28b @ xnRow+10+xnAdjRow,xnCol+xnPlain+29 say xcBOX28c @ xnRow+10,xnCol+xnPlain+46 say rBlankZero( xnBOX17, 09, 2 ) @ xnRow+10,xnCol+xnPlain+63 say rBlankZero( xnBOX26, 10, 2 ) @ xnRow+13,xnCol+xnPlain+46 say rBlankZero( xnBOX18, 09, 2 ) @ xnRow+13,xnCol+xnPlain+63 say rBlankZero( xnBOX44, 10, 2 ) @ xnRow+16,xnCol+xnPlain+46 say rBlankZero( xnBOX20, 09, 2 ) @ xnRow+16,xnCol+xnPlain+63 say rBlankZero( xnBOX46, 10, 2 ) @ xnRow+21,xnCol+xnPlain+46 say rBlankZero( xnBOX52, 09, 2 ) @ xnRow+21,xnCol+xnPlain+63 say rBlankZero( xnBOX50, 10, 2 ) @ xnRow+23,xnCol+xnPlain+46 say rBlankZero( xnBOX55, 09, 2 ) @ xnRow+23,xnCol+xnPlain+63 say rBlankZero( xnBOX56, 10, 2 ) if ( RSPRNTR->LASER ) xnAdjRow = 1 endif // xcEARNBOX6 = "66" // xnEARNBOX6 = 6666.66 @ xnRow+25+xnAdjRow,xnCol+10+xnPlain+xnAdjCol say xcEARNBOX1 @ xnRow+25+xnAdjRow,xnCol+15+xnPlain+xnAdjCol say rBlankZero( xnEARNBOX1, 12, 2 ) xnAdjCol = 0 @ xnRow+25+xnAdjRow,xnCol+32+xnPlain+xnAdjCol say xcEARNBOX2 @ xnRow+25+xnAdjRow,xnCol+38+xnPlain+xnAdjCol say rBlankZero( xnEARNBOX2, 12, 2 ) @ xnRow+25+xnAdjRow,xnCol+55+xnPlain+xnAdjCol say xcEARNBOX3 @ xnRow+25+xnAdjRow,xnCol+63+xnPlain+xnAdjCol say rBlankZero( xnEARNBOX3, 09, 2 ) IF (xnCtr=xnMax .and. xPrnVars("PRN")="L") xnAdjRow = 0 ENDIF IF (MOD(xnPageNo,2)=0 .and. xPrnVars("PRN")="E") xnAdjRow = 0 ENDIF @ xnRow+28+xnAdjRow,xnCol+10+xnPlain+xnAdjCol say xcEARNBOX4 @ xnRow+28+xnAdjRow,xnCol+15+xnPlain+xnAdjCol say rBlankZero( xnEARNBOX4, 09, 2 ) @ xnRow+28+xnAdjRow,xnCol+32+xnPlain+xnAdjCol say xcEARNBOX5 @ xnRow+28+xnAdjRow,xnCol+38+xnPlain+xnAdjCol say rBlankZero( xnEARNBOX5, 09, 2 ) @ xnRow+28+xnAdjRow,xnCol+55+xnPlain+xnAdjCol say xcEARNBOX6 IF ( xPrnVars("PRN") = "E" ) @ xnRow+28+xnAdjRow,xnCol+xnPlain+63+xnAdjCol say rBlankZero( xnEARNBOX6, 09, 2 )+" ." IF (MOD(xnPageNo,2)=0 ) @ xnRow+29+xnAdjRow,00 say "x" ENDIF ENDIF IF ( xPrnVars("PRN") = "L" ) @ xnRow+28+xnAdjRow,xnCol+xnPlain+63+xnAdjCol say rBlankZero( xnEARNBOX6, 09, 2 )+" ." IF (xnCtr=xnMax) @ xnRow+29+xnAdjRow,00 say "x" ENDIF ENDIF IF ( xPrnVars("PRN") = "D" ) @ xnRow+28+xnAdjRow,xnCol+xnPlain+63+xnAdjCol say rBlankZero( xnEARNBOX6, 09, 2 ) @ xnRow+29+xnAdjRow,xnCol+xnPlain+00+xnAdjCol say CHR(12) ENDIF xnCtr = xnCtr + 1 ENDDO END WINDOW //------------------------ Code section ----------------------------- ///CLOSERSA //SumryErase() // //AccessDLL("F",,xPrnVars("DLL") ) //xPrnVars("DLL",-1,"SET") // //iif(.T.,M->M_TEMP := NIL, "" ) // ///ENDCLOSERSA ///OPENPRINTER //DEVOUT(IIF(RSPRNTR->LASER,CHR(27)+"&l0E"+CHR(27)+"&l7.63C",CHR(27)+CHR(67)+CHR(33)) ) ///ENDOPENPRINTER ///CLOSEPRINTER //DEVOUT(IIF(RSPRNTR->LASER,"",CHR(27)+CHR(64))) ///ENDCLOSEPRINTER