Manuale Teseo

Funzioni

Nascondi pannello di navigazione

Funzioni

Argomento precedente Prossimo argomento Nessuna directory per questo argomento Nessuna espansione tesuale in questo argomento  

Funzioni

Argomento precedente Prossimo argomento Topic directory requires JavaScript JavaScriptrichiesto per espandere il testo JavaScript richiesto per la funzione di stampa Inviaci un feedback su questo argomento!  

Funzioni

 

Le funzioni si possono utilizzare in normali query. Normalmente richiedono uno o più parametri di input e restituiscono un risultato.

 

Giacenza di magazzino

FN_GIACENZA_ARTICOLO (ARTICOLI.ID_ARTICOLI) GIACENZA

Restituisce la giacenza di magazzino all'ultimo movimento

FN_GIACENZA_ART_MAG( Campo id articolo , Campo id magazzino , campo data )

Restituisce la giacenza di magazzino su un magazzino ad una data

NULL nel campo data determina il calcolo all'ultimo movimento

 

 

Ultimo prezzo d'acquisto

FN_ACQ_ULTIMO (ID_ARTICOLO, ID_MAGAZZINO , DAL , AL)

Restituisce l'ultimo prezzo di acquisto considerando i movimenti di magazzino da una data ad una data

Il formato delle date deve essere es. '01/GEN/2008'

 

Residuo ordini clienti

FN_RESIDUO_ORDINI_ART( ARTICOLI.ID_ARTICOLI , 'C','Q')

Restituisce la quantità residua ordini clienti

FN_RESIDUO_ORDINI_ART( ARTICOLI.ID_ARTICOLI , 'C','V')

Restituisce la quantità residua ordini fornitori

FN_RESIDUO_ORDINI_ART( ARTICOLI.ID_ARTICOLI , 'C','Q','01/GEN/2002')

Restituisce la quantità residua ordini clienti dalla data indicata

FN_RESIDUO_ORDINI_ART( ARTICOLI.ID_ARTICOLI , 'C','Q','01/GEN/2002','01/FEB/2002')

Restituisce la quantità residua ordini clienti per il periodo indicato

'F' invece di 'C' restituisce gli stessi valori per gli ordini fornitori

 

Quantità evadibile

FN_QTA_EVADIBILE( ID_ARTICOLO , ID_ORDDCLI_RIEP , FLAG , ID_MAGAZZINO )

FLAG: 0 esprime il valore assoluto 1 esprime il valore %

ID_MAGAZZINO se NULL considera tutti i magazzini

 

Campi aggiuntivi articoli

FN_CAMPI_AGG_BY_COD( ARTICOLI.ID_ARTICOLI, 'CODICE_INTERNO1' )

restituisce il valore del campo aggiuntivo con codice interno specificato

FN_CAMPI_AGG_BY_COD restituisce il contenuto della stringa

FN_CAMPI_AGG_BY_CODT restituisce il contenuto della data

FN_CAMPI_AGG_BY_CODI restituisce il contenuto del numero

Accetta come parametro l' id dell' articolo

il codice interno del campo aggiuntivo e, in caso di campo aggiuntivo tipo lista

un parametro che indica se farsi restituire il codice , la descrizione o entrambi

'C' restituisce il codice, 'D' la descrizione, NULL restituisce CODICE-DESCRIZIONE

 

Campi aggiuntivi documenti

FN_CAMPI_AGG_DOC( ID_ORDTCLI , 'CA_PROVA' ,'OT' ,'NESSUNO' )

se non è gestito il campo o se il valore è NULL restituisce 'NESSUNO'

 

Campi aggiuntivi clienti e fornitori

FN_CAMPI_AGG_CF( CLIFOR.ID_CLIFOR, 'NOME CAMPO AGGIUNTIVO1' )

restituisce il valore del campo aggiuntivo di cui è specificato il nome

 

Relazione articoli clienti e fornitori

FN_CODART_CLIFOR ( ID_ARTICOLO  , ID_CLIFOR  , TIPO  , CAMPO )

TIPO -- 0 = CLIENTE , 1 = Fornitore

CAMPO  -- C = CODICE , N = NOTE

Restituisce il codice articolo cliente/fornitore o le relative note per l'id articolo e l'id cliente o fornitore indicati

es: FN_CODART_CLIFOR( ORDDCLI_RIEP.ID_ART , ORDTCLI.ID_CLI ,0,'C' )

restituisce il codice articolo attribuito dal cliente relativamente alla riga di ordine attiva

 

Per eseguire divisioni in cui il divisore può essere 0

FN_DIV0(Campo dividendo,Campo divisore)

 

Per ridurre a numerico un campo alfabetico

FN_TO_NUM (nome campo)

 

Per ottenere il valore della settimana da un campo data

TO_CHAR ( :CAMPO_DATA , 'WW')

restituisce 01, 02....

 

Per ottenere il valore del mese da un campo data

FN_MESE ( TO_CHAR ( :CAMPO_DATA , 'MM') , 1 )

restituisce 01-gen, 02-feb.....

FN_MESE ( TO_CHAR ( :CAMPO_DATA, 'MM' ) , 0 )

restituisce Gennaio, Febbraio....

TO_CHAR ( :CAMPO_DATA , 'MM')

restituisce 01, 02......

 

Per ottenere il valore dell'anno da un campo data

TO_CHAR ( :DATA_SCAD , 'YYYY')

 

Per riempire a sinistra una stringa

UPDATE CLIFOR T SET

FN_RIEMPI( RTRIM( T.CODCLI_CONTA) ,5 , '0'

WHERE T.CODCLI_CONTA IS NOT NULL

AND T.TIPOCLI = 'S'

nell'esempio  i codici cliente vengono portati a lunghezza fissa 5 riempiendo di 0 a sinistra

vecchio codice 1 nuovo codice 00001

Invece di '0' può essere indicato spazio oppure un carattere

 

Parametri globali

FN_PGN( 'DOCUMENTI CLI' ,'STAMPA FATTURE (1)' ,1 ,999 )

'DOCUMENTI CLI' è la SEZIONE

'STAMPA FATTURE (1)' è il TIPO

1 è il NUMERO DEL CAMPO

999 è il VALORE CHE MI RITORNA SE NON HA TROVATO IL PARAMETRO O SE IL SUO VALORE E' "NULL"

 

 

Calcolo del budget

FN_BUDGET_ART

(

 in_TIPO_FILTER      IN VARCHAR  , -- ART-MAGDFS , ART , ART-CLI

 in_TIPO_RANGE       IN VARCHAR  , -- DATA (YYYYMMDD) , MESE , NULL = TUTTO

 in_ID_BUDGET_TIPI   IN NUMBER   ,

 in_FILTER_1         IN VARCHAR  ,

 in_FILTER_2         IN VARCHAR  ,

 in_RANGE_1          IN VARCHAR  DEFAULT NULL  ,

 in_RANGE_2          IN VARCHAR  DEFAULT NULL

)

 

- Filtro budget :

Articolo

Articolo - Deposito

Articolo - Cliente ( standard )

 

- Range periodo :

intervallo di date ( al momento non ricalcola i dati in base al giorno del mese , ma si può fare semplicemente ... se servisse )

intervallo di mesi

tutto

 

Esempio 1

- Calcolo del Budget Articolo - Deposito , nel periodo indicato nelle statistiche , viene utilizzato un Tipo Budget convenzionale con descrizione contente (*)

Formula

FN_BUDGET_ART( 'ART-MAGDFS' ,

              'DATA' ,

              BT.ID_BUDGET_TIPI  ,

              :ID_ARTICOLO ,

              SUBSTR( :SEZIONE1,1,3) ,

              TO_CHAR( T.DATE1 ,'YYYYMMDD' ) ,

              TO_CHAR( T.DATE2 ,'YYYYMMDD' )

             )

Altre Tabelle

TTV_$PARAMS  T,

BUDGET_TIPI  BT

Filtri

WHERE BT.DESCRIZIONE LIKE '%(*)%'

 

******************************************

Esempio 2

- Calcolo del Budget Articolo - Deposito , nel mese gennaio , viene utilizzato un Tipo Budget convenzionale con descrizione contente (*)

Formula

FN_BUDGET_ART( 'ART-MAGDFS' ,

              'MESE' ,

              BT.ID_BUDGET_TIPI  ,

              :ID_ARTICOLO ,

              SUBSTR( :SEZIONE1,1,3) ,

              '1' ,

              '1'

             )

Altre Tabelle

TTV_$PARAMS  T,

BUDGET_TIPI  BT

Filtri

WHERE BT.DESCRIZIONE LIKE '%(*)%'

******************************************

Esempio 3

- Calcolo del Budget Articolo , nel mese gennaio , viene utilizzato un Tipo Budget convenzionale con descrizione contente (*)

 

Formula

FN_BUDGET_ART( 'ART' ,

              'MESE' ,

              BT.ID_BUDGET_TIPI  ,

              :ID_ARTICOLO ,

              NULL ,

              '1' ,

              '1'

             )

Altre Tabelle

TTV_$PARAMS  T,

BUDGET_TIPI  BT

Filtri

WHERE BT.DESCRIZIONE LIKE '%(*)%'

Calcolo di una data in base al calendario di TESEO

FN_DATA_LEAD_TIME( FN_TO_DATE( :DATA_PROD ,'DD/MM/YY' ) ,

FN_CAMPI_AGG_BY_CODI( :ID_ARTICOLO ,'PIPPO' ) ,

1 )

 

La funzione richiede 3 argomenti

1) data di partenza per il calcolo (nell'esempio viene utilizzato un campo della griglia quindi è necessaria la funzione FN_TO_DATE per renderlo

    utilizzabile. Se si fosse utilizzato un campo del data base la funzione non sarebbe stata necessaria)

2) il numero da aggiungere o togliere (Nell'esempio si tratta del valore di un campo aggiuntivo, tuttavia può trattarsi di un valore numerico o di un campo del data base

3) i valori 1 o -1 indicano rispettivamente che il valore numerico va aggiunto o tolto dalla data di partenza

 

Funzione per ottenere gli sconti assegnati ad un cliente

FN_SCONTI_CLI_STD

(

pID_CLI IN NUMBER,

pID_ART IN NUMBER,

pDATA IN DATE,

pQTA IN NUMBER,

pID_VALUTA IN NUMBER,

pID_AGE IN NUMBER DEFAULT 0,

pID_UM IN NUMBER DEFAULT 0,

pID_CATEGO IN NUMBER DEFAULT 0,

pFLAG_SCONTO_FISSO IN NUMBER DEFAULT 0,

pID_ID_GRUPPO_MERC IN NUMBER DEFAULT NULL ,

pID_ID_CATEGORIA_MERC IN NUMBER DEFAULT NULL ,

pID_ID_CAT_CLIENTE IN NUMBER DEFAULT NULL

)

I parametri con l'istruzione DEFAULT sono facoltativi (se non vengono passati assumono il valore di Default zero oppure null)

Restituisce una stringa con i valori di sc1,sc2,ecc. separati da ;

 

 

Calcolo differenza tra una data di griglia e la data di sistema

:DATA_CONS_DET - TRUNC (SYSDATE)

TRUNC serve ad eliminare ore minuti e secondi dalla data di sistema