[{TableOfContents }]

! Le procedure semplificano la vita ;->
Ci sono alcune /COPY molto utilizzate che scritte tramite procedure riducono la complessità di scrittura e la dimensione(in righe) occupata nei sorgenti RPG. Tali procedure si trovano in SMEDEV/QPROGEN. Un esempio è la DA8 che nella versione "procedurale" si chiama DA8P. Tramite procedure per trasformare una data è sufficiente: 
* Inserire nelle specifiche D la riga
%%prettify 
{{{ 
D/COPY QPROGEN,£DA8PD 
}}}
/%
* Inserire in fondo al programma prima delle schiere la riga
%%prettify 
{{{
C/COPY QPROGEN,£DA8P 
}}}
/%
* Utilizzare la procedura 
%%prettify 
{{{
EVAL      £V5TR1=£DA8P_N2A('CTE':'*YYMD':'*DMY':'/':T§DBOL:'')
}}}
/%   
   Per tradurre una data da numerica ad alfanumerica
*
%%prettify 
{{{
EVAL      £DIBDT=£DA8P_A2N('CTE':'*YYMD':'*YYMD':'':0:W$DATA)  
}}}
/%                            
Per tradurre da una data alfanumerica ad una data numerica


! Utilizzo di un file in un sorgente con due nomi diversi senza £OVR

Per utilizzare un file in un sorgente senza ricorrere all'utilizzo della £OVR
è sufficiente:
* specificare in testa al programma
%%prettify 
{{{
PRP*  OVRDBF FILE(BRARTIXL) TOFILE(BRARTI0L)
}}}
/%

* nella sezione F
%%prettify 
{{{
FBRARTIXL  IF   E           K DISK    RENAME(BRARTIR:BRARTIRX) PREFIX(AX:2) 
F                                     EXTFILE('BRARTI0L')          
}}}
/%
e troveremo il file aperto in input con i campi rinominati 
AXARTI,AXDEAR ...