Generate reports in blaise

Please login to reply  Page: « < 1 of 1 > »
07 Jul 2010 - 20:00695
Generate reports in blaise

Is it possible to generate reports in blaise? I need to generate reports the same way as Crystal Reports, Rave Reports etc... Thanks



16 Jul 2010 - 14:21699
Generate Reports

We have generated basic reports usin maniplus/Manipula..
Although not designed for reports - Manipula can produce data from various BDB's in a very readable form. [nb. there is no control over fonts etc - its all rather basic]

basic manipula report:
MANIPULATE

IntFrom := PARAMETER(1)
IntTo := PARAMETER(2)
BlockNumber := PARAMETER(3)
RefWk := PARAMETER(4)
IANumber := PARAMETER(5)
Wav := PARAMETER(6)
QtrYear := PARAMETER(7)
Quartr := SUBSTRING(QtrYear,1,2)
Yer := SUBSTRING(QtrYear,3,2)
IF IntFrom = '*' THEN
Param1Chk :='y'
ENDIF
IF IntTo = '*' THEN
Param2Chk := 'y'
ENDIF
IF BlockNumber = '*' THEN
Param3Chk := 'y'
ENDIF
IF RefWk = '*' THEN
Param4Chk := 'y'
ENDIF
IF IANumber = '*' THEN
Param5Chk := 'y'
ENDIF
IF Wav = '*' THEN
Param6Chk := 'y'
ENDIF
IF (LEN(IntFrom) > 1) AND (LEN(IntFrom) < 4) THEN
IntFrom := '0'+IntFrom
ENDIF
IF (LEN(IntFrom) > 1) AND (LEN(IntTo) < 4) THEN
IntTo := '0'+IntTo
ENDIF
IF (LEN(BlockNumber) > 1) AND (LEN(BlockNumber) < 5) THEN
BlockNumber := '0'+BlockNumber
ENDIF
IF (RefWk <> '*' AND (LEN(RefWk) = 1) THEN
RefWk := '0'+RefWk
ENDIF
IF (LEN(IANumber) > 1) AND (LEN(IANumber) < 3) THEN
IANumber := '0'+IANumber
ENDIF
IF (IANumber <> '*' AND (LEN(IANumber) = 1) THEN
IANumber := '0'+IANumber
ENDIF

{All Empty}
IF (Param1Chk = 'y' AND (Param2Chk = 'y' AND (Param3Chk = 'y' AND (Param4Chk = 'y' AND (Param5Chk = 'y' AND (Param6Chk = 'y' THEN
PrevIntNo:=0
IntCount :=1

REPEAT
InputFile1.READNEXT
RecRead := RecRead+1
FOR I := 1 TO InputFile1.MainDetails.NO_LINES DO
IF PrevIntNo <> 0 THEN
IF (InputFile1.MainDetails.IntnumNo = PrevIntNo) THEN
IF (InputFile1.MainDetails.BlockNum <> EMPTY) AND (InputFile1.MainDetails.Ldu_no <> EMPTY) AND (InputFile1.MainDetails.RefWeek <> EMPTY)
AND (InputFile1.MainDetails.IntnumNo <> EMPTY) AND (InputFile1.PersonGrid.Person[I].IndDetails.Calc >35)
AND (InputFile1.PersonGrid.Person[I].Individual.Sex = F)AND(InputFile1.PersonGrid.Person[I].IndOcc.EverWork = No)
AND (InputFile1.PersonGrid.Person[I].Employ.USSIT = Home) THEN
IntCount := IntCount+1
ENDIF
ENDIF
IF (InputFile1.MainDetails.IntnumNo <> PrevIntNo)
AND (InputFile1.PersonGrid.Person[I].Individual.Sex = F) AND (InputFile1.PersonGrid.Person[I].IndOcc.EverWork = No)
AND (InputFile1.PersonGrid.Person[I].Employ.USSIT = Home) AND (InputFile1.PersonGrid.Person[I].IndDetails.Calc >35) THEN
IF (InputFile1.MainDetails.BlockNum <> EMPTY ) AND (InputFile1.MainDetails.Ldu_no <> EMPTY)
AND (InputFile1.MainDetails.RefWeek <> EMPTY) AND (InputFile1.MainDetails.IntnumNo <>EMPTY) THEN
PRINTSTRING (OutputFile1, ' '
PRINTSTRING (OutputFile1, 'Total For Interviewer Number '+STR(PrevIntNo) +' is '+STR(IntCount))
PRINTSTRING (OutputFile1, ' '
IntCount := 1
ENDIF
ENDIF
ENDIF

IF (InputFile1.MainDetails.BlockNum <> EMPTY) AND (InputFile1.MainDetails.Ldu_no <> EMPTY)
AND(InputFile1.MainDetails.RefWeek <> EMPTY) AND (InputFile1.MainDetails.IntnumNo <> EMPTY)
AND(InputFile1.PersonGrid.Person[I].IndDetails.Calc >35) AND (InputFile1.PersonGrid.Person[I].Individual.Sex = F)
AND(InputFile1.PersonGrid.Person[I].IndOcc.EverWork = No) AND (InputFile1.PersonGrid.Person[I].Employ.USSIT = Home) THEN
OutputFile1.IntvwrNo := InputFile1.MainDetails.IntvwrNo
OutputFile1.BlockNo := InputFile1.MainDetails.BlockNum
OutputFile1.IANum := InputFile1.MainDetails.IA_Num
OutputFile1.Wave := InputFile1.MainDetails.Wave
OutputFile1.RefWeek := STR(InputFile1.MainDetails.RefWeek)
OutputFile1.Ldu_No := InputFile1.MainDetails.Ldu_no

IF (LEN(OutputFile1.Ldu_No) = 1)THEN
OutputFile1.Ldu_No := '00'+OutputFile1.Ldu_No
ENDIF
IF (LEN(OutputFile1.Ldu_No) = 2)THEN
OutputFile1.Ldu_No := '0'+OutputFile1.Ldu_No
ENDIF
IF LEN (OutputFile1.RefWeek) = 1 THEN
OutputFile1.RefWeek := '0'+OutputFile1.RefWeek
ENDIF
IF (LEN(OutputFile1.IntvwrNo) = 1)THEN
OutputFile1.IntvwrNo := '000'+OutputFile1.IntvwrNo
ENDIF
IF (LEN(OutputFile1.IntvwrNo) =2)THEN
OutputFile1.IntvwrNo:= '00'+OutputFile1.Ldu_No
ENDIF
IF (LEN(OutputFile1.IntvwrNo) =3)THEN
OutputFile1.IntvwrNo := '0'+OutputFile1.IntvwrNo
ENDIF
PRINTSTRING (OutputFile1, ' ' +OutputFile1.IntvwrNo+' '+OutputFile1.BlockNo
+' '+OutputFile1.IANum + ' ' +STR(OutputFile1.Wave)
+ ' ' +OutputFile1.RefWeek+' '+OutputFile1.Ldu_No
)
RecWritten := RecWritten+1
PrevIntNo := InputFile1.MainDetails.IntnumNo

ENDIF
ENDDO
UNTIL InputFile1.LASTRECORD
ENDIF

IF (Outputfile1.intvwrno = EMPTY) THEN
PRINTSTRING(Outputfile1,' No Valid Cases for this report'
ELSE
PRINTSTRING (OutputFile1, 'Total For Interviewer Number '+STR(PrevIntNo) +' is '+STR(IntCount))
PRINTSTRING (OutputFile1,' '+' ________'
PRINTSTRING (Outputfile1,' '+ ' Grand Total: '+str(RecWritten))
ENDIF
PRINT (OutputFile1)

SETTINGS

PAGELENGTH = 50

HEADER := 'QNHS REPORTING SYSTEM -FEMALES OVER 35 ON HOME DUTIES WHO NEVER WORKED '
HEADER := 'Qtr : '+Quartr
HEADER := 'Year : 20'+Yer+ ' Block '+BlockNumber
HEADER := 'Date : '+DATETOSTR(SYSDATE) + ' Week '+RefWk
HEADER := 'Time : '+TIMETOSTR(SYSTIME) + ' Wave '+Wav
HEADER := 'Page : '+PAGENUMBER +' I.A. No '+IANumber
HEADER := '________________________________________________________________________'
HEADER := ' Intno Blockno IAno Wave RefWk. Hholdno '
HEADER := '________________________________________________________________________'



__________________
John F
Please login to reply  Page: « < 1 of 1 > »