>*********Monthly Backup Report by Location Code Report************** >CUR_USER=UPPER(USER_NAME) >#DEFINE CR CHR(13) > >* Determine BilledFrom. >SELECT BILLEDFROM DISTINCT FROM COMPANY WHERE COMPANY.CSR=CUR_USER AND !ISBLANK(BILLEDFROM) INTO ARRAY TEMP_BILLEDFROM >DO CASE > CASE (_TALLY=0) > =MESSAGEBOX("No billed-from for this PA!") > CANCEL > CASE (_TALLY>1) > =MESSAGEBOX("Multiple billed-froms identified for this PA!") > CANCEL >ENDCASE >THISBILLEDFROM = TEMP_BILLEDFROM[1] >IS_IJH = (THISBILLEDFROM="IJH") > >* Preprocess: Identify each record to be printed as being DOT and/or random. >WAIT WINDOW "Preprocessing RECORDS" NOWAIT >SELECT * FROM RECORDS,COMPANY ; > WHERE COMPANY.CSR=CUR_USER AND COMPANY.CO_CODE=RECORDS.LOCATION_CODE ; > AND BETWEEN(RECORDS.REPORT_DATE, {^2000-05-26}, {^2000-06-25}) ; > INTO CURSOR C2 >SCAN > THISISDOT = ISDOT(C2.ACCOUNT_NUMBER) > THISISRANDOM = (C2.REASON == "RA") > UPDATE RECORDS SET ISDOT = THISISDOT, ISRANDOM=THISISRANDOM WHERE CCN=C2.CCN >ENDSCAN > >WAIT WINDOW "Preprocessing COMBINED" NOWAIT >SELECT * FROM COMBINED,COMPANY WHERE COMPANY.CSR=CUR_USER AND COMPANY.CO_CODE=COMBINED.LOCATION_CODE ; > INTO CURSOR C2 >SCAN > THISISDOT=ISDOT(C2.ACCOUNT_NUMBER) > THISISRANDOM = (C2.REASON == "RA") > UPDATE COMBINED SET ISRANDOM=THISISRANDOM WHERE CCN=C2.CCN >ENDSCAN >UPDATE COMBINED SET ISDOT=.F. WHERE ACCOUNT_TYPE="N" >UPDATE COMBINED SET ISDOT=.T. WHERE ACCOUNT_TYPE="D" > >* Get master list of records that will be exported. >SELECT REPORT_DATE, ACCOUNT_NAME, ACCOUNT_NUMBER, LOCATION_CODE, SSN, LAST_NAME, FIRST_NAME, REASON, CCN, ; > RESULT, COLLECTION_NAME, COLLECTION_PHONE, CC_CODE, TEST_TYPE, MRO_NEG, SUP_REC, ISDOT, ISRANDOM ; > FROM COMBINED,COMPANY WHERE COMPANY.CSR=CUR_USER AND COMPANY.CO_CODE=COMBINED.LOCATION_CODE ; > UNION ; > (SELECT REPORT_DATE, ACCOUNT_NAME, ACCOUNT_NUMBER, LOCATION_CODE, SSN, LAST_NAME, FIRST_NAME, REASON, CCN, ; > RESULT, COLLECTION_NAME, COLLECTION_PHONE, CC_CODE, TESTTYPE(ACCOUNT_NUMBER) AS TEST_TYPE, MRO_NEG, SUP_REC, ISDOT, ISRANDOM ; > FROM RECORDS,COMPANY ; > WHERE COMPANY.CSR=CUR_USER AND COMPANY.CO_CODE=RECORDS.LOCATION_CODE ; > AND BETWEEN(RECORDS.REPORT_DATE, {^2000-05-26}, {^2000-06-25})) ; > INTO CURSOR BATSUMMASTER ORDER BY 4, 5 > >M.DODAILY = .T. <b>local lnI</b> >FOR <b>lnI</b> = 0 TO IIF(IS_IJH,1,3) > DO CASE > CASE THISBILLEDFROM="AMI" > * 00 = DOT randoms > * 01 = DOT non-randoms > * 10 = Non-DOT randoms > * 11 = Non-DOT non-randoms > DOTCASE = (<b>lnI</b> < 2) > RANDCASE = ((<b>lnI%2) = 0</b>) > CASESTRING = IIF(DOTCASE,"","non-")+"DOT "+IIF(RANDCASE,"","non-")+"randoms" > M.DOTSTATUS = IIF(DOTCASE,"","NON-")+"DOT TESTING" > SELECT * FROM BATSUMMASTER WHERE ISDOT=DOTCASE AND ISRANDOM=RANDCASE ; > INTO CURSOR BATSUMGROUP ORDER BY 4, 5 > WAIT WINDOW "Finding "+CASESTRING+"." NOWAIT > CASE THISBILLEDFROM="IJH" > * 0 = DOT > * 1 = DOT > DOTCASE = (<b>lnI = 0</b>) > CASESTRING = IIF(DOTCASE,"","non-")+"DOT " > M.DOTSTATUS = IIF(DOTCASE,"","NON-")+"DOT TESTING" > SELECT * FROM BATSUMMASTER WHERE ISDOT=DOTCASE ; > INTO CURSOR BATSUMGROUP ORDER BY 4, 5 > OTHERWISE > MESSAGEBOXSTRING = "Location code "+M.PARENT_CODE+CR+ ; > "has an unrecognized billed-from field."+CR+ ; > "Cannot print report for it." > =MESSAGEBOX(MESSAGEBOXSTRING) > CANCEL > ENDCASE > > IF (_TALLY>0) > M.PARENT_CODE = BATSUMGROUP.LOCATION_CODE > SELECT PARENT_CODE, BILLEDFROM, CO_NAME, SUB_LOCATION FROM COMPANY ; > WHERE COMPANY.CO_CODE=BATSUMGROUP.LOCATION_CODE INTO CURSOR C1 > M.PARENT_NAME = C1.CO_NAME > IF (C1.SUB_LOCATION) > M.PARENT_CODE = C1.PARENT_CODE > SELECT CO_NAME FROM COMPANY WHERE COMPANY.CO_CODE=M.PARENT_CODE INTO CURSOR PARENTCURSOR > M.PARENT_NAME = PARENTCURSOR.CO_NAME > ENDIF > > WAIT WINDOW "Printing "+CASESTRING+"." NOWAIT > SELECT BATSUMGROUP > DO CASE > CASE THISBILLEDFROM="AMI" > REPORT FORM BATCH_MONTHLY_AMI PREVIEW > CASE THISBILLEDFROM="IJH" > REPORT FORM BATCH_MONTHLY_IJH PREVIEW > OTHERWISE > MESSAGEBOXSTRING = "Location code "+M.PARENT_CODE+" has "+CR+ ; > "an unrecognized billed-from field."+CR+ ; > "Cannot print report for it." > =MESSAGEBOX(MESSAGEBOXSTRING) > ENDCASE > ENDIF >ENDFOR