Copy con REPLACE

A partire dalla versione 2017 ptf 1, vengono aggiunte alla COPYPATH di compilazione le cartelle:

questo permette di includere un intero programma come copy, modificandone il comportamento attraverso il costrutto REPLACE. In tal modo, quando si sviluppa una personalizzazione, è possibile evitare di intervenire sul programma originale.

Si supponga ad esempio di dover modificare il "calcolo riga" nella gestione documenti: occorre intervenire nel paragrafo calcRow di bo_05mmt.

Nella cartella sou della personalizzazione è possibile creare un sorgente bo_05mmt.cbl così congegnato:

  REPLACE   == perform  calcRow == by == perform  this-calcRow == .
       copy  "bo_05mmt.cbl".              
  REPLACE OFF.
       
 this-calcRow. 
      perform  calcRow  | super ()     
      compute  mmr-prezzo-netto = mmr-prezzo-netto * 3,14
< EM >     
      .......

Il verbo REPLACE imposta tutte le replace dichiarate per le copy successive. Il verbo REPLACE OFF fa cessare la replace. Nell'esempio abbiamo sostituito la procedura calcRow con la procedura this-calcRow, la quale:


Zucchetti S.p.A.  Gestionale 2  versione 2025