Focal Point
[CLOSED]NEW COMPUTED FIELD ON RECOMPUTE

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

September 07, 2009, 07:36 AM
Cati - France
[CLOSED]NEW COMPUTED FIELD ON RECOMPUTE
Hello.

Here is a part of my procedure.
DEFINE FILE TMP_STAT_LOT
QTEMES/D12S=IF LOT EQ 'ANTERIEUR' THEN 0
            ELSE IF TSC_CRIT02 EQ 'GROS DONS' THEN 0
   ELSE QTEMSG;
COUT1/D15.4S=IF LOT EQ 'ANTERIEUR' THEN 0

             ELSE COUT / QTEMES;
COUTTOT/D12.2=IF LOT EQ 'ANTERIEUR' THEN 0
              ELSE IF TSC_CRIT02 EQ 'GROS DONS' THEN 0
              ELSE COUT;
DATE1/A8=DATECVT(DTEOUV, 'YYMD', 'A8DMYY');
DATE2/A10=EDIT(DATE1,'99/99/9999');
DATEOUV/A10=IF LOT EQ 'ANTERIEUR' THEN  ' ' ELSE DATE2;
BIDON /A1 WITH LIBPROV = ' ' ;
LIBTOTAL_GRP/A70 = TSC_CRIT05 || ' : ' | LIBGRP;
END
TABLE FILE TMP_STAT_LOT
SUM
     DATEOUV AS 'Date Env'
     QTEMES AS 'Qté Env'
     COUT1/D6.3S AS 'C.Unit'
     COUTTOT/D12.2S AS 'Coût Total'
     NB/D12 AS 'Nombre'
     MONTANT/D12.2 AS 'Montant'
     COMPUTE DONMOYEN/D12.2 = MONTANT / NB; AS 'Don moyen'
     COMPUTE RDT/D12.2S% = ( NB / QTEMES ) * 100; AS '% Rdt'
     COMPUTE TAUX/D12.2S = MONTANT / COUTTOT; AS 'Tx Couv'
     COMPUTE MARGE/D12.2S = MONTANT - COUTTOT; AS 'Marge brute'
BY BIDON NOPRINT
BY TSC_CRIT02 NOPRINT
BY LIBPROV NOPRINT
BY ORDRE NOPRINT
BY TSC_CRIT01 NOPRINT AS 'Type Action'
BY LIBTYPEACT NOPRINT AS ''
BY LIBTOTAL_GRP NOPRINT
BY LOT AS 'Lot'
BY LIBLOT AS 'Libellé'

ON LIBPROV RECOMPUTE AS 'TOTAL'
ON LIBPROV PAGE-BREAK

ON TSC_CRIT01 SUBHEAD
""
"<TSC_CRIT01 : <LIBTYPEACT "
ON LIBTOTAL_GRP RECOMPUTE
     QTEMES
     COUTTOT
     NB
     MONTANT
     DONMOYEN
     RDT
     TAUX
     MARGE AS 'Total'
  WHEN (LOT NE 'ANTERIEUR' AND LOT NOT LIKE 'ZP%' AND LOT NOT LIKE 'ZF%');

ON LIBTYPEACT RECOMPUTE
     QTEMES
     COUTTOT
     NB
     MONTANT
     DONMOYEN
     RDT
     TAUX
     MARGE AS 'TOTAL'

ON BIDON RECOMPUTE
     QTEMES
     COUTTOT
     NB
     MONTANT
     DONMOYEN
     RDT
     TAUX
     MARGE AS 'TOTAL GENERAL'

ON TABLE SUBHEAD
"&LIBETAT"
"&LIBETAT2"

HEADING
" <LIBPROV "
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT EXL2K TEMPLATE 'MVE_STATLOT' SHEETNUMBER 1

What I want to do is to calculate a new field on the recompute.
I tried this but It does not work.
ON LIBTOTAL_GRP RECOMPUTE
     QTEMES
     COMPUTE COUT1B/D6.3S = COUTTOT / QTEMES;
     COUTTOT
     NB
     MONTANT
     DONMOYEN
     RDT
     TAUX
     MARGE AS 'Total'
  WHEN (LOT NE 'ANTERIEUR' AND LOT NOT LIKE 'ZP%' AND LOT NOT LIKE 'ZF%');
I also tried this but It does not work
ON LIBTOTAL_GRP RECOMPUTE
     QTEMES
     AVE.COUT1
     COUTTOT
     NB
     MONTANT
     DONMOYEN
     RDT
     TAUX
     MARGE AS 'Total'
  

If you have any idea on how to do such calculation, I would appreciate your answer.
Thanks in advance.
Catherine

This message has been edited. Last edited by: Cati - France,


7.7.02 (Html, Excel, Ahtml, Pdf,Graph,.....)
OS400 V5R3, V5R4
Windows 2000/2003/2007/2010
September 07, 2009, 08:38 AM
Danny-SRL
Cati,

You can use the SUMMARYLINES=NEW option, but I don't think it will help you:
  
-* File CatiFrance4.fex
SET SUMMARYLINES=NEW

TABLE FILE CAR
PRINT
SALES
SEATS
COMPUTE SALESPERSEAT/D9.2=SALES / SEATS;
BY COUNTRY
BY CAR
BY BODYTYPE
ON CAR RECOMPUTE
SALES
SEATS
SALESPERSEAT
ON COUNTRY RECOMPUTE
AVE. SALES
SEATS
SALESPERSEAT
END


However, if you don't mind using SUBFOOT instead of RECOMPUTE, you can do all your calculations using RECAP and then insert the results in SUBFOOT.
  
With some STYLEing, you can align the results under the respective columns.

Bonne chance!


Daniel
In Focus since 1982
wf 8.202M/Win10/IIS/SSA - WrapApp Front End for WF

September 09, 2009, 07:24 AM
Cati - France
Hi Danny,

Thanks for your answer.
I found a solution, I just changed the way of calculating the field so I don't need to recalculate it in the subtotals.

Catherine


7.7.02 (Html, Excel, Ahtml, Pdf,Graph,.....)
OS400 V5R3, V5R4
Windows 2000/2003/2007/2010