Focal Point
[SOLVED] webfocus is rounding off value to 100 where focus is printing correct 99.99

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/3557005786

August 14, 2017, 12:41 PM
Genius
[SOLVED] webfocus is rounding off value to 100 where focus is printing correct 99.99
Hi i have below code .

where we are not rounding any values but some how webfocus is printing 100 in user_COL_PCT where in focus its only 99.99

If someone can help me resolve the issue

SET MSG=ON
SET PANEL=200
-*
-*---------------* Define the input and output file names *------------*
-SET &ECHO=ALL;
-SET EXT_NAME = FGETENV(19,'EF01_EXT_SHORT_NAME',14,'A14');
-SET LAY_NAME = FGETENV(19,'EF01_LAY_SHORT_NAME',14,'A14');
-* Linux Migration Start Change
-SET &WORKDIR=FGETENV(128,'TLG_SHORTNAME_DIR',128,'A128');
-SET &UNAME_RESULT = FGETENV(12,'UNAME_RESULT',20,'A20');
-* Linux Migration End Change

-* Linux Migration Start Change
-SET EXT_FILE = (&WORKDIR || '/'||&EXT_NAME);
-IF &UNAME_RESULT EQ 'Linux' THEN GOTO L1687931 ;
-SET EXT_FILE = ('../'||&EXT_NAME);
-L1687931

-* Linux Migration End Change

-* Linux Migration Start Change
-SET &&REP_FILE = (&WORKDIR || '/'||&LAY_NAME);
-IF &UNAME_RESULT EQ 'Linux' THEN GOTO L1688011 ;
-SET &&REP_FILE = ('../'||&LAY_NAME);
-L1688011

-* Linux Migration End Change
-*------------------* Define output file and page settings *-----------*
FILEDEF OFFLINE DISK &&REP_FILE
OFFLINE
-*------------------* Define input file *------------------------------*
FILEDEF AREF01 DISK &EXT_FILE ( RECFM F LRECL 96
-RUN
-*------------------* Define the Report Header *-----------------------*
-SET &REPCODE='AREF-01';
-SET &REPNAME='PAYMENT ARRANGEMENT - EFFECTIVENESS REPORT';
-INCLUDE gnrpdef.fex
-* --- Read dates ---
-SET &FROM_DATE = FGETENV(9,'FROM_DATE',8,'A8');
-SET &TO_DATE = FGETENV(7,'TO_DATE',8,'A8');
EX gngetpar.fex WPN
-RUN
-READ FOCPARMS &WPN.A8.
-SET &WPN= IF &WPN EQ ' ' THEN 'ALL' ELSE &WPN;
-* --- Set dates from format YYYYMMDD to format DD/MM/YYYY: ---
-SET DATE_FROM = EDIT (&FROM_DATE, '$$$$99/')|
- EDIT (&FROM_DATE, '$$$$$$99/')|
- EDIT (&FROM_DATE, '9999');
-SET DATE_TO = EDIT (&TO_DATE, '$$$$99/')|
- EDIT (&TO_DATE, '$$$$$$99/')|
- EDIT (&TO_DATE, '9999');
-* --- Set 'Report Parameters' (from applicative table) for report header. ---
-SET &REPORT_TYPE = 'User Analysis';
-SET &&APPARTXT1 = 'From' ;
-SET &&APPARVAL1 = &DATE_FROM ;
-SET &&APPARTXT2 = 'To' ;
-SET &&APPARVAL2 = &DATE_TO ;
-SET &&APPARTXT3 = 'WPN' ;
-SET &&APPARVAL3 = &WPN ;
-****
TABLE FILE AREF01
SUM CNT.BAN NOPRINT
COVERED_AMT NOPRINT
COMPUTE
TOT_REC_CNT/P12=CNT.BAN;
TOT_AT_COVERED_AMT/P14.2=COVERED_AMT;
BY PA_STATUS
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE HOLD AS AREFTOT FORMAT FOCUS INDEX PA_STATUS
END
-RUN
-*
JOIN CLEAR *
JOIN PA_STATUS IN AREF01 TO PA_STATUS IN AREFTOT AS J1
-RUN
-*
DEFINE FILE AREF01
DUM/A1=' ';
ACT_TYPE/A13=IF PA_STATUS EQ 'O' THEN 'Open (a1)' ELSE
IF PA_STATUS EQ 'X' THEN 'Canceled (a2)' ELSE
IF PA_STATUS EQ 'F' THEN 'Failed (a3)' ELSE
IF PA_STATUS EQ 'C' THEN 'Completed(a4)' ELSE
IF PA_STATUS EQ 'D' THEN 'Cmplt Dbt(a5)' ELSE
IF PA_STATUS EQ 'N' THEN 'No ACTV (a6)' ELSE PA_STATUS;

BI/A4= IF PA_STATUS EQ 'O' THEN '(b1)' ELSE
IF PA_STATUS EQ 'X' THEN '(b2)' ELSE
IF PA_STATUS EQ 'F' THEN '(b3)' ELSE
IF PA_STATUS EQ 'C' THEN '(b4)' ELSE
IF PA_STATUS EQ 'D' THEN '(b5)' ELSE
IF PA_STATUS EQ 'N' THEN '(b6)' ELSE PA_STATUS;
COV_AMT/P11.2=COVERED_AMT;
END
TABLE FILE AREF01
SUM
COMPUTE TOT_COVERED_AMT/P13.2=COV_AMT;
SUM
CNT.BAN NOPRINT
COMPUTE REC_CNT/P10=CNT.BAN;
COMPUTE ACTV_PCT/F7.2=REC_CNT/FST.TOT_REC_CNT*100;
SUM_INST_AMT
COVERED_AMT
BI
COMPUTE COL_PCT/F7.2=COVERED_AMT/SUM_INST_AMT*100;
COMPUTE U_COL_PCT/F7.2=(COVERED_AMT/FST.TOT_COVERED_AMT)*100;
BY DUM
BY PA_WORK_POSITION
BY OPEN_USER_NAME
BY BI
BY ACT_TYPE
ON TABLE HOLD AS DDEF
END
TABLE FILE DDEF
HEADING
-INCLUDE gnrphdr.fex
" "
"<45 From Date : &DATE_FROM To Date : &DATE_TO " ACTIVITY ACTIVITY ACTV <0X
AMOUNT AMOUNT COL USERS "
"WPN WPN NAME TYPE COUNT PCT <0X
EXPECTED COLLECTED PCT COL PCT"
"-------- -------------------- ------------- ---------- ------- <0X
----------- ------------------ ------ -------"
" ai/sum(ai) <0X
(A) (B) B/A bi/Rep Tot B "
"-------- -------------------- ------------- ---------- ------- <0X
----------- ------------------ ------ -------"
" "
PRINT
REC_CNT AS ''
ACTV_PCT AS ''
SUM_INST_AMT AS ''
COVERED_AMT AS ''
BI AS ''
COL_PCT AS ''
U_COL_PCT AS '' IN +4
BY DUM NOPRINT
BY PA_WORK_POSITION AS ''
BY OPEN_USER_NAME AS ''
BY BI NOPRINT
BY ACT_TYPE AS ''
ON PA_WORK_POSITION COMPUTE TW_COL_PCT/F7.2=COVERED_AMT/SUM_INST_AMT*100;
ON PA_WORK_POSITION SUBFOOT
" "
"<48 ========== <69 =========== ================== ====== ======= "
"* Total For WPN : <48 " "
ON DUM COMPUTE TT_COL_PCT/F7.2=COVERED_AMT/SUM_INST_AMT*100;
ON DUM SUBFOOT
" "
"* Report Total
<48 " "

FOOTING BOTTOM

-IF &&NOCSV GOTO NO_CSV_SET;
-WRITE DDTTL 'WPN','WPN_NAME','ACTIVITY_TYPE',,
-'ACTIVITY_COUNT','ACTV_PCT','AMOUNT_EXPECTED',,
-'AMOUNT_COLLECTED','','COL_PCT','USERS_COL_PCT'
-SET &STOP_FIELD='U_COL_PCT';
-NO_CSV_SET

-INCLUDE gnrpftr.fex
END
-RUN
-IF &FOCERRNUM NE 0 GOTO ERR;
-*----------------* Display empty report text *------------------------*
-INCLUDE gnrpempt.fex
-*-------------* Exit returning status *-------------------------------*
-* Linux Migration Start Change
-IF &UNAME_RESULT EQ 'Linux' THEN GOTO LINUX_OS;
-QUIT FOCUS 0
-* Linux Migration End Change
-*
-ERR
-* Linux Migration Start Change
-IF &UNAME_RESULT EQ 'Linux' THEN GOTO LINUX_OS;
-QUIT FOCUS &FOCERRNUM
-LINUX_OS
-EXIT
-* Linux Migration End Change

This message has been edited. Last edited by: FP Mod Chuck,


WebFOCUS, Linux
Excel, CSV
August 14, 2017, 01:31 PM
MartinY
quote:
COMPUTE U_COL_PCT/F7.2=(COVERED_AMT/FST.TOT_COVERED_AMT)*100


Have you tried to use /P7.2 instead of /F7.2 ?


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
August 14, 2017, 02:10 PM
Genius
hi ,

I tried with P7.2 and it worked

Thank u so much for ur help


WebFOCUS, Linux
Excel, CSV
August 14, 2017, 02:15 PM
Genius
hi ,

I have another issue in webfocus if u can help me with that.

Im printing below in subfoot ON SEQ_NO1 SUBFOOT
"<24 Bank: WHEN (BAN_CODE1 NE ' ') OR (ACC_NO NE ' ') OR (CHECK_NO NE ' ');
SUBFOOT
"<24 Coupon Code: WHEN (SUB_METH NE ' ') AND (GIF_NO NE ' ');
SUBFOOT
"<24 Credit Card Type: WHEN (SUB_METH NE ' ') AND (CAR_NO NE ' ');
SUBFOOT
"<41 Direct Debit Voucher: WHEN DBT_VOUC NE 0;
SUBFOOT


Where Direct Debit Voucher will be printed in report if its not 0 but in report its getting printed even if value is 0
If u can help me with this too.
thanks a lot


The code is as below just to give u a idea

SET EXT_NAME = FGETENV(19,'EP02_EXT_SHORT_NAME',14,'A14');
-SET LAY_NAME = FGETENV(19,'EP02_LAY_SHORT_NAME',14,'A14');
-* Linux Migration Start Change
-SET &WORKDIR=FGETENV(128,'TLG_SHORTNAME_DIR',128,'A128');
-SET &UNAME_RESULT = FGETENV(12,'UNAME_RESULT',20,'A20');
-* Linux Migration End Change

-* Linux Migration Start Change
-SET EXT_FILE = (&WORKDIR || '/'||&EXT_NAME);
-IF &UNAME_RESULT EQ 'Linux' THEN GOTO L1556551 ;
-SET EXT_FILE = ('..' || '/'||&EXT_NAME);
-L1556551

-* Linux Migration End Change

-* Linux Migration Start Change
-SET &&REP_FILE = (&WORKDIR || '/'||&LAY_NAME);
-IF &UNAME_RESULT EQ 'Linux' THEN GOTO L1556631 ;
-SET &&REP_FILE = ('..' || '/'||&LAY_NAME);
-L1556631

-* Linux Migration End Change


-SET &REPCODE='AREP-02-EXP';
-SET &REPNAME='E X C E P T I O N A L P A Y M E N T S R E P O R T';
SET PANEL=360
EX apcon
-RUN
-IF &FOCERRNUM NE 0 GOTO ERR;

DEFINE FILE M_PYMMTD
PMDESC/A10 = ''''|METHOD_SHORT_DESC|'''';
SPACE1/A2 = ' ';
PYMMETHOD/A4 = ''''|PYM_METHOD|'''';
END

TABLE FILE M_PYMMTD
PRINT PYMMETHOD SPACE1 PMDESC
ON TABLE SAVE AS PMSAVE
END

EX dbdis
-RUN
-IF &FOCERRNUM NE 0 GOTO ERR;

FILEDEF OFFLINE DISK &&REP_FILE
OFFLINE
-INCLUDE gnrpdef.fex

-*-----Start chnage #1
-*FILEDEF arep02 DISK &EXT_FILE (RECFM F LRECL 796
FILEDEF arep02 DISK &EXT_FILE (RECFM F LRECL 808
-*-----End change #1
DEFINE FILE AREP02
ROWID/A1=' ';
STR_NAME/A15=SUBSTR(50,STR_NAME,1,15,15,'A15');
ARE_CITY/A20=SUBSTR(26,ARE_CITY,1,20,20,'A20');
ARE_MEMO/A90=SUBSTR(180,ARE_MEMO,1,90,90,'A90');
PM_DCOD/A8=DECODE PYM_METH(PMSAVE);
PYMMETH/A11=IF PYM_METH EQ ' ' THEN ' '
ELSE PYM_METH||'-'||PM_DCOD;
-*DEP_DATE/A8YYMD=DEP_DATE;
-*DEP_DATE/MDYY=DEP_DATE;
N_DEP_DATE/A10=EDIT(DEP_DATE,'$$$$99/99/')|EDIT(DEP_DATE,'9999');


ACT_DATE/A8YYMD=ACT_DATE;
ACT_DATE/MDYY=ACT_DATE;
RSUB_NO/A10=RJUST(10,SUB_NO,'A10');
SUBSCRIB/A12=IF RSUB_NO EQ ' ' THEN ' '
ELSE RSUB_NO;
SOURCE/A10=SOU_TYPE|' '|SOU_ID;
OPE_ID/A9=EDIT(OPE_ID);
OPEID/A9=IF OPE_ID EQ '000000000' THEN ' '
ELSE OPE_ID;
-*-----Start change #1
PRT_ACTV_AMT/P15.2C=ACTV_AMT;
ORI_AMT/P14.2C = ORI_AMT;
ACTV_AMT/P14.2C = ACTV_AMT;
-*PRT_ACTV_AMT/P12.2C=ACTV_AMT;
-*ORI_AMT/P11.2C = ORI_AMT;
-*ACTV_AMT/P11.2C = ACTV_AMT
-*-----End change #1
LINEX/I7C WITH BAN = 1;
NAME/A60=IF FIR_NAME NE ' ' THEN FIR_NAME
ELSE BUS_NAME ;
ADR/A100=IF STR_NAME NE ' ' THEN HOU_NO|STR_NAME
ELSE PRI_LN ;
END

-RUN
-IF &FOCERRNUM NE 0 GOTO ERR;

TABLE FILE AREP02
HEADING
-INCLUDE gnrphdr.fex
" "<61 +----- File Information -----+"
PRINT
FST.BAN NOPRINT
SEQ_NO1 AS ' PYM ,SEQ NO' IN 1
ORI_BAN AS ' ORIGINAL, BAN' IN 12
SUBSCRIB AS ' SUBSCRIBER , ' IN 23
PYMMETH AS ' PAYMENT , METHOD' IN 37
N_DEP_DATE AS ' DEPOSIT , DATE' IN 49
SOURCE AS ' SOURCE , ' IN 61
SEQ_NO AS ' SEQ , ' IN 73
BATCH_NO AS 'BATCH, ' IN 80
LIN_NO AS 'LINE, ' IN 87
ORI_AMT AS ' ORIGINAL, AMOUNT' IN 92
-*-----Start change #1
ACTV_AMT AS ' PAYMENT , AMOUNT' IN 110
OPEID AS ' OPERATOR, ID' IN 129
-* ACTV_AMT AS ' PAYMENT , AMOUNT' IN 104
-* OPEID AS ' OPERATOR, ID' IN 120
-*-----End change #1
BY ROWID NOPRINT
BY BAN NOPRINT
BY ACT_DATE NOPRINT
BY HIGHEST ACTV_AMT NOPRINT
BY SEQ_NO1 NOPRINT

ON SEQ_NO1 SUBFOOT
"<24 Bank: WHEN (BAN_CODE1 NE ' ') OR (ACC_NO NE ' ') OR (CHECK_NO NE ' ');
SUBFOOT
"<24 Coupon Code: WHEN (SUB_METH NE ' ') AND (GIF_NO NE ' ');
SUBFOOT
"<24 Credit Card Type: WHEN (SUB_METH NE ' ') AND (CAR_NO NE ' ');
SUBFOOT
"<41 Direct Debit Voucher: WHEN DBT_VOUC NE 0;
SUBFOOT
"<24 Exception Reason: Posting date: "
SUBFOOT
"<5 NAME : STREET : <5 CITY : <74 STATE : WHEN ((NAME NE ' ') OR (ADR NE ' ')) AND (CAR_NO NE ' ');

ON ACTV_AMT NOSPLIT

ON BAN PAGE-BREAK
ON BAN SUBFOOT
"<+4 Number of Payments: <60 "
"<42 Total Amount: <55 "

ON ROWID SUBFOOT
""
"<42 Total Amount: <55 "

FOOTING BOTTOM

-IF &&NOCSV GOTO NO_CSV_SET;
-WRITE DDTTL 'Exception Control Account','PYM SEQ NO','ORIGINAL BAN',,
-'SUBSCRIBER','PAYMENT METHOD','DEPOSIT DATE','SOURCE','SEQ','BATCH',,
-'LINE','ORIGINAL AMOUNT','PAYMENT AMOUNT','OPERATOR ID'
-SET &STOP_FIELD = 'OPEID';
-NO_CSV_SET

-INCLUDE gnrpftr.fex
END

-RUN
-IF &FOCERRNUM NE 0 GOTO ERR;

-INCLUDE gnrpempt.fex

-* Linux Migration Start Change
-IF &UNAME_RESULT EQ 'Linux' THEN GOTO LINUX_OS;
-QUIT FOCUS 0
-* Linux Migration End Change

-ERR
-TYPE Report failed.

-* Linux Migration Start Change
-IF &UNAME_RESULT EQ 'Linux' THEN GOTO LINUX_OS;
-QUIT FOCUS &FOCERRNUM
-LINUX_OS
-EXIT
-* Linux Migration End Change
END


WebFOCUS, Linux
Excel, CSV
August 14, 2017, 02:50 PM
MartinY
See your post specific to that WHERE question.

Please do not duplicate question in several post.


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
August 14, 2017, 02:59 PM
Genius
sorry.. thanks a lot for ur help


WebFOCUS, Linux
Excel, CSV