ASNS03 - Ricerca prezzi su merce e contratto

Navigation:  »No topics above this level«

ASNS03 - Ricerca prezzi su merce e contratto

Return to chapter overview

Posizione nel menu

Programma non a menu

 

Linkage section

Tipo

Dato

Formato

Contenuto

INPUT

ASNS03-I-ID-CONTRATTO

9(12)

Id contratto da esaminare

 

ASNS03-I-CLI

9(05)

Riferimento cliente di cui cercare il listino

Quando presente conterrà sempre il cliente di fatturazione

 

ASNS03-I-LISTINO

9(02)

Riferimento listino

 

ASNS03-I-FASCIA

9(02)

Fascia di listino assegnata al cliente

 

ASNS03-I-MERCE

merce

Codice merce di cui cercare la condizione

 

ASNS03-I-DATA

data

Data di ricerca listino

 

ASNS03-I-QTA

s9(07)v999

Quantità su cui calcolare il prezzo

 

ASNS03-I-CREA-TRS

x(01)

Se "S", verrà prodotto un file di transito che contiene i movimenti usati per determinare la quantità residua

 

ASNS03-I-CHIAMATA

9(12)

Codice chiamata in elaborazione

Se fornito, serve per cercare le condizioni presenti sul preventivo selezionato

OUTPUT

ASNS03-O-PREZZO-LORDO

valore

Prezzo lordo trovato

 

ASNS03-O-SCONTO-1

s9(03)v99

Sconto 1

 

ASNS03-O-SCONTO-2

s9(03)v99

Sconto 2

 

ASNS03-O-PREZZO-NETTO

valore

Prezzo netto trovato

 

ASNS03-O-QTA-RES

s9(07)v999

Se la prestazione è collegata da contratto ad una quantità limite, qui viene riportata la quantità residua

 

ASNS03-O-L-PREZZO-LORDO

valore

Dati corrispondenti a quelli sopra, ma considerando solo il listino; potranno essere usati dal prg chiamante, se necessario, quando la quantità residua non è sufficiente

 

ASNS03-O-L-SCONTO-1

s9(03)v99

 

ASNS03-O-L-SCONTO-2

s9(03)v99

 

ASNS03-O-L-PREZZO-NETTO

valore

 

FILLER

x(441)

 

 

Logica generale

Questo programma ha due scopi principali

Ricerca di un prezzo da applicare ad una merce su un intervento; rispetto alla semplice ricerca del listino applica, quando trovate, le condizioni del contratto indicato

Ricerca della quantità residua rispetto alla quantità prevista dal contratto

 

Se richiesta la creazione del file di transito, il nome del file di transito dovrà essere "ASNS03_wo-oper".

 

Elaborazione

 

A - Ricerca prezzo

 

La priorità di ricerca segue questa logica:

 

a)Se ASNS03-I-CHIAMATA è significativo, ricerca prezzo sul preventivo selezionato

b)Se ASNS03-I-ID-CONTRATTO è significativo, verrà eseguito A.1 Ricerca condizioni contratto

c)In assenza di una condizione particolare trovata in precedenza, verrà cercato il prezzo di listino per la merce richiesta in input, usando COGS01; in questo caso i dati saranno esportati direttamente.

 

I dati trovati sul listino standard con la chiamata a COGS01 saranno anche esportati direttamente nei campi ASNS03-O-L-*

 

Particolarità

Per la gestione del listino parametrico dovrà essere passata a COGS01 anche la zona (COGS01-I-ZONA).

Questa dovrà essere cercata in funzione della provenzienza della ricerca, e degli elementi presenti:

Chiamata di assistenza (è possibile che sia presente anche un nominativo CRM)

oSe presente il nominativo CRM, prelevare la zona da qui (informazione configurata "ass-chiam"-"info-crm-zona")

oSe presente una destinazione, prelevare la zona da qui, se trovata

oSe presente un cliente assistito, prelevare la zona da qui

oSe presente un cliente di fatturazione, prelevare la zona da qui

Documento standard

oSe presente una destinazione, prelevare la zona da qui, se trovata

oSe presente un cliente assistito, prelevare la zona da qui

oSe presente un cliente di fatturazione, prelevare la zona da qui

 

 

A.1 - Ricerca condizioni contratto

 

Se richiesto, per la merce richiesta verrà eseguita una ricerca tra le condizioni del contratto (ASNCNTAR), con la seguente priorità:

 

1.Ricerca del codice merce esatto (es. GG/SS/12345)

2.Ricerca del gruppo/sottogruppo (es. GG/SS/0)

3.Ricerca del gruppo (es. GG/  /)

4.Ricerca del raggruppamento a cui appartiene la merce

5.Ricerca su classe merce (Merce/Servizio)

6.Ricerca generale (ACNR-MERCE = k-merce-null)

 

Alla prima condizione trovata, il sistema restituirà il prezzo trovato alla linkage, eseguirà A.2 Ricerca residuo e uscirà.

 

A.2 - Ricerca residuo

 

Questa parte serve per determinare la quantità movimentata su un determinato contratto per una merce. Questa analisi verrà fatta nei seguenti casi:

Se la quantità prevista è significativa (ACNR-QTA > 0)

Se è stata richiesta la produzione del file di transito (ASNS03-I-CREA-TRS = "S") -> questa modalità viene richiesta per poter effettuare un report dei dati elaborati, e non serve negli altri casi

Di conseguenza questa parte non sarà eseguita se non c'è quantità prevista e non è richiesta la produzione del file di transito.

 

Quindi, in questo caso il sistema dovrà esaminare:

A.2.1 - Dettaglio interventi

A.2.2 - Movimenti collegati

 

La quantità trovata in queste funzioni sarà detratta da ACNR-QTA e restituita in ASNS03-O-QTA-RES

NB:

se la riga contratto non prevede una quantità predefinita, verrà restituito "9999999,999". Se invece la quantità predefinita è presente, sarà restituita l'effettiva quantità residua (0 se la quantità "usata" è superiore).

Le condizioni prezzo/sconto trovato saranno comunque quelle indicate dal contratto: è pericoloso che questa routine restituisca, quando non c'è più quantità, il prezzo di listino, perchè se viene usata solo in consultazione potrebbe dare risultati diversi a seconda di quando viene innescata: dovrà essere il programma chiamante a occuparsi di questo problema.

oIl programma chiamante in questo caso dovrà usare i dati specifici restituiti in ASNS03-O-L-*

 

A.2.1 - Ricerca dettaglio interventi

 

Ricerca di tutti i dettagli intervento per contratto e merce: ricerca su ASNINDET con ACID-CHIA6, impostando:

Tipo

Dato

ACID-ID-CONTRATTO

Contratto in input

ACID-MERCE

ACNR-MERCE

 

La quantità ACID-QTA verrà sommata al totale usato.

 

Scrittura file di transito

 

Se richiesto dal parametro ASNS03-I-CREA-TRS, per ciascun movimento considerato scrivere un record sul file di transito:

 

Nome campo

Note

T-ASNS03-T-TIP

"I"

T-ASNS03-T-MOV

ACID-ID

T-ASNS03-T-QTA

ACID-QTA

T-ASNS03-T-DATA

ACID-DATA-INT se significativo, altrimenti ACIT-INT-DATA

 

A.2.2 - Ricerca dettaglio movimenti collegati

 

In questa fase si esaminano i ddt collegati direttamente a contratto: sono quelli collegati al contratto attraverso la tabella ASNCNDDT. Ogni record trovato corrisponde ad un ddt (ACNV-DDT).

 

Per ciascuno si esegue la ricerca delle righe del documento (COGMOMAG), considerando solo quelle con MAG-MERCE3 = merce in esame. Si sommerà MAG-QTAMAGAZ al totale usato.

 

NB: in questo momento si considerano tutti i documenti collegati al contratto come documenti di uscita.

 

Scrittura file di transito

 

Se richiesto dal parametro ASNS03-I-CREA-TRS, per ciascun movimento considerato scrivere un record sul file di transito:

 

Nome campo

Note

T-ASNS03-T-TIP

"D"

T-ASNS03-T-MOV

MAG-TESTA

T-ASNS03-T-QTA

MAG-QTAMAGAZ

T-ASNS03-T-DATA

MAG-DA3