ASNS23 - Gestione dati produzione¶
Posizione nel menu Programma non a menu Linkage section
| Tipo | Dato | Formato | Contenuto |
|---|---|---|---|
| INPUT | ASNS23-CALLER | x(20) | Programma chiamante |
| ASNS23-OPE | x(20) | Vedi argomenti successivi | |
| ASNS23-INTERVENTO | 9(12) | ID Intervento da elaborare | |
| OUTPUT | ASNS23-ESITO | x(01) | Esito dell'operazione |
| ASNS23-MSG | x(160) | Messaggio di esito | |
| FILLER | x(500) |
Logica generale Programma che esegue la gestione della tabella ASNPRODT (dati produzione per tecnico), in funzione di un determinato intervento. All'interno del programma eseguire la gestione del log di procedura, subordinata alla configurazione. Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta. Le regole di calcolo della produzione e che sono applicate in questo programma sono quelle evidenziate nella apposita procedura Produzione per tecnico
Operazione: CALCOLA¶
Descrizione Riceve in input un intervento, e ricalcola i dati di produzione per tecnico relativi all'intervento stesso. Se l'intervento passato in input non esiste, i dati relativi saranno cancellati (vedi operazione "CANCELLA") Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | ASNS23-CALLER | Programma chiamante |
| ASNS23-OPE | "CALCOLA" | |
| ASNS23-INTERVENTO | ID Intervento da elaborare | |
| OUTPUT | ASNS23-ESITO | Esito dell'operazione |
| ASNS23-MSG | Messaggio di esito |
Elaborazione Le regole di calcolo della produzione e che sono applicate in questo programma sono quelle evidenziate nella apposita procedura Produzione per tecnico A - Dati chiamata/intervento Come prima cosa effettuare la cancellazione dei dati dell'intervento, richiamando la funzione presente in Operazione: CANCELLA Poi verificare l'esistenza dell'intervento passato in input: se non esiste uscire direttamente dalla funzione, restituendo un errore nell'esito e un messaggio A.1 - Tecnici interessati I tecnici interessati sono tutti quelli coinvolti nell'intervento, eccetto quelli in affiancamento alla data dell'intervento; creare quindi una tabella interna al programma che li contiene. Le informazioni del tecnico si trovano usando ASNS21 - Ricerca dati tecnico Nella tabella inserire anche l'azienda a cui apparteneva il tecnico alla data dell'intervento: cercare il codice azienda gruppo a cui è collegato il fornitore, con una ricerca su COGAZGRP, usando AZG-CHIA3:
| Dato | Contenuto |
|---|---|
| AZG-RIF-FORNITORE | ASNS21-FOR-LISTINO |
AZG-COD corrisponde al codice azienda relativo al tecnico A.2 - Intervento in garanzia? Se l'intervento è in garanzia (ACHT-FL-GARANZIA = "S" e ACHT-ID-GARANZIA > 0), creare una seconda tabella di tecnici interna, che comprende tutti i tecnici relativi agli interventi collegati alla chiamata ACHT-ID-GARANZIA, escludendo quelli in affiancamento alla data dell'intervento. Anche in questo caso usare ASNS21 per la ricerca dei dati tecnico, da cui recuperare l'azienda collegata al tecnico come spiegato sopra. B - Ricerca movimenti interessati I movimenti interessati sono tutte le prestazioni dell'intervento in esame (prestazioni e materiali). Scorrere quindi ASNINDET per l'intervento:
| Dato | Contenuto |
|---|---|
| ACID-ID | ASNS23-INTERVENTO |
Per ciascun movimento valido: B.1 - Elaborazione movimento B.1.1 - Importo e coefficente totale Come prima cosa determiniamo: * Importo totale movimento: * Prestazioni: ACID-IMPORTO * Materiali: Vedi B.1.1.1 * Coefficente: * Prelevare MER-COE-LAV dalla prestazione ACID-MERCE * Coefficente totale movimento = ACID-QTA * MER-COE-LAV B.1.1.1 - Importo materiali Per i materiali, non possiamo usare ACID-IMPORTO: il prezzo va prelevato dal trasferimento precedente sul magazzino del tecnico (che dovrebbe essere valorizzato con un trasferimento il cui cliente è l'azienda a cui appartiene). *QUI* B.1.2 - Ripartizione dati sui tecnici intervento Ora dobbiamo ripartire in modo uguale importo e coefficente per il numero di tecnici dell'intervento trovati al punto A.1, e inserire un movimento per ciascun tecnico nella tabella:
| Dato | Contenuto (ACID-TIP = "P") |
Contenuto (ACID-TIP = "M") |
|---|---|---|
| APTN-ID | Id intervento | Id intervento |
| APTN-PROG | Progressivo di dettaglio sull'intervento | Progressivo di dettaglio sull'intervento |
| APTN-DATA | ACIT-INT-DATA | ACIT-INT-DATA |
| APTN-ACID-PROG | ACID-PROG | ACID-PROG |
| APTN-ID-CHIAMATA-ORIG | ACHT-ID-GARANZIA | ACHT-ID-GARANZIA |
| APTN-TIP | ACID-TIP | ACID-TIP |
| APTN-MERCE | ACID-MERCE | ACID-MERCE |
| APTN-SEGNO | "A" ("Avere", riga attiva) | "D" ("Dare", riga di storno) |
| APTN-QTA | ACID-QTA | ACID-QTA |
| APTN-PRE | ACID-PRE-NET | ACID-PRE-NET |
| APTN-IMPORTO | ACID-IMPORTO | Importo materiali (vedi B.1.1.1) |
| APTN-FATTORE | Numero di tecnici considerati nella ripartizione | Numero di tecnici considerati nella ripartizione |
| APTN-COEFF | ACID-QTA * MER-COE-LAV | ACID-QTA * MER-COE-LAV |
| APTN-PRD-IMPORTO | APTN-IMPORTO / APTN-FATTORE | APTN-IMPORTO / APTN-FATTORE |
| APTN-PRD-COEFF | APTN-COEFF / APTN-FATTORE | APTN-COEFF / APTN-FATTORE |
| APTN-TECNICO | Tecnico in esame | Tecnico in esame |
| APTN-CLI-FAT | Cliente di fatturazione della chiamata | Cliente di fatturazione della chiamata |
| APTN-BRAND | ACHT-BRAND | ACHT-BRAND |
| APTN-GRP-AZ-INT | ACHT-GRP-AZ-ESE | ACHT-GRP-AZ-ESE |
| APTN-GRP-AZ-TEC | Il codice azienda collegato al tecnico | Il codice azienda collegato al tecnico |
| APTN-FL-PRODUZIONE | "S" | "S" |
B.1.3 - Storno dati sui tecnici chiamata precedente Se l'intervento è di garanzia, come spiegato in precedenza, e abbiamo quindi trovato la tabella tecnici al punto A.2, dobbiamo inserire un movimento di storno per ciascun tecnico nella tabella: (tutte le informazioni relative all'intervento sono riferito a quello in esame, non a quello precedente) NB: Lo storno viene fatto solo sulle prestazioni (ACID-TIP = "P")
| Dato | Contenuto |
|---|---|
| APTN-ID | Id intervento |
| APTN-PROG | Progressivo di dettaglio sull'intervento |
| APTN-DATA | ACIT-INT-DATA |
| APTN-ACID-PROG | ACID-PROG |
| APTN-ID-CHIAMATA-ORIG | ACHT-ID-GARANZIA |
| APTN-TIP | ACID-TIP |
| APTN-MERCE | ACID-MERCE |
| APTN-SEGNO | "D" ("Dare", riga di storno) |
| APTN-QTA | ACID-QTA |
| APTN-PRE | ACID-PRE-NET |
| APTN-IMPORTO | ACID-IMPORTO |
| APTN-FATTORE | Numero di tecnici considerati nella ripartizione |
| APTN-COEFF | ACID-QTA * MER-COE-LAV |
| APTN-PRD-IMPORTO | APTN-IMPORTO / APTN-FATTORE |
| APTN-PRD-COEFF | APTN-COEFF / APTN-FATTORE |
| APTN-TECNICO | Tecnico in esame |
| APTN-CLI-FAT | Cliente di fatturazione della chiamata |
| APTN-BRAND | ACHT-BRAND |
| APTN-GRP-AZ-INT | ACHT-GRP-AZ-ESE |
| APTN-GRP-AZ-TEC | Il codice azienda collegato al tecnico |
| APTN-FL-PRODUZIONE | "S" |
C - Aggiornamento flag esportazione intervento Aggiornare la testata intervento ASNINTES, modificando il flag di esportazione:
| Dato | Contenuto |
|---|---|
| ACIT-FL-WEB-CHIUSE | " " |
In questo modo ci assicuriamo che un eventuale ricalcolo dei dati forzi la riesportazione sul web dell'intervento.
Operazione: CANCELLA¶
Descrizione Riceve in input un intervento, che è stato cancellato o dovrà esserlo, ed elimina i dati di produzione per tecnico trovati. Chiamata standard
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | ASNS23-CALLER | Programma chiamante |
| ASNS23-OPE | "CANCELLA" | |
| ASNS23-INTERVENTO | ID Intervento da elaborare | |
| OUTPUT | ASNS23-ESITO | Esito dell'operazione |
| ASNS23-MSG | Messaggio di esito |
Elaborazione Scorrere i record di ASNPRODT per l'iintervento:
| Dato | Contenuto |
|---|---|
| APTN-ID | ASNS23-INTERVENTO |
e cancellare i record trovati.
Estratto da documentazione interna ClickUp