Vai al contenuto

COGUA4 - Impianto da commessa

Posizione nel menu Programma non a menu Linkage section

Tipo Dato Formato Contenuto
INPUT COGUA4-OPE x(20) Vedi argomenti successivi
COGUA4-COMMESSA x(10) Commessa da elaborare
OUTPUT COGUA4-ESITO x(01) Esito dell'operazione:



COGUA4-MSG x(160) Eventuale messaggio restituito dalla routine al programma chiamante
FILLER x(500)

Logica generale Questo programma nasce principalemente con lo scopo di centralizzare le operazioni di collegamento tra una commessa e un impianto, quando previsto. Configurazioni possibili

Gruppo Parametro Note
ass-mtr tipo-impianto
commesse codifica-automatica
assist gestione-scheda-matricole
ass-mtr tipologia-crm

Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta.

Operazione: AGG-DA-ORDINI

Descrizione Riceve in input una commessa da elaborare ed esegue l'aggiornamento dell'impianto: * Crea la matricola di assistenza se non esiste * Crea/aggiorna la distinta base collegata alla matricola, usando gli ordini di vendita collegati alla commessa (tutta la quantità in ordine, anche se evasa) Chiamata standard

Dato Contenuto
COGUA4-OPE "AGG-DA-ORDINI"
COGUA4-COMMESSA Commessa da elaborare

Elaborazione All'inizio impostare COGUA4-ESITO = "S" Se la configurazione codifica-automatica vale "B", la prima commessa creata per un determinato cliente/destinazione avrà codice "xxxx/1". In questo caso, la matricola da creare dovrà essere agganciata ad una matricola "padre" (es. "xxxx"). Per maggiori informazioni vedi Collegamento commesse/impianti Quindi, se la configurazione citata vale: * "B": * Se la commessa non termina per "/nnn": * Eseguire A - Aggiornamento matricola usando come s/n il codice commessa senza "/n" (es. "1234") * Se il codice commessa termina per "/1": * Eseguire A - Aggiornamento matricola usando come s/n il codice commessa senza "/n" (es. "1234") (se non esiste) * Eseguire A - Aggiornamento matricola usando come s/n il codice commessa completo (es. "1234/1") * Eseguire B - Collegamento matricola a impianto * Eseguire C - Aggiornamento distinta * Se il codice commessa non termina per "/1": * Eseguire A - Aggiornamento matricola usando come s/n il codice commessa completo (es. "1234/1") * Eseguire B - Collegamento matricola a impianto * Eseguire C - Aggiornamento distinta * <> "B": * Eseguire A - Aggiornamento matricola usando come s/n il codice commessa completo (es. "XYZ12") * Eseguire C - Aggiornamento distinta A - Aggiornamento matricola Cercare su ASNMATRI l'esistenza di una matricola attiva con il s/n uguale al codice commessa; quindi ricerca attraverso AMTR-CHIA2; sarà valida la matricola che ha AMTR-VAL <> "C". Se la matricola non viene trovata, eseguire A.1 - Inserimento matricola A.1 - Inserimento matricola Inserimento di un record su ASNMATRI:

Dato Contenuto
AMTR-ID Nuovo ID matricola
AMTR-SN S/N matricola, come spiegato sopra
AMTR-TIP tipo-impianto
AMTR-DES " "
AMTR-MERCE vuoto
AMTR-MAT vuoto
AMTR-CLI-TIP "C"
AMTR-CLI-COD Se sulla commessa il campo TSCA-CLI-ASS:


AMTR-DST Destinazione indicata sulla commessa
AMTR-DES Descrizione estesa commessa (da COGDESCR)

A.2 - Creazione scheda CRM matricola Se previsto dall'apposita configurazione: gestione-scheda-matricole = "S", verificare la configurazione tipologia-crm: se = " ", segnalare errore informativo, e passare al punto successivo, altrimenti si dovrà creare una scheda CRM collegata alla matricola appena creata, e popolarla con i dati equivalenti della scheda CRM del preventivo abbinato alla commessa. Eseguire una chiamata a CRMS07, con parametri:

Tipo Dato Contenuto
Input CRMS07-OPE "SCRIVI"
CRMS07-ID 0
CRM06-TCL tipologia-crm
CRMS07-RAGSOC "Impianto " COGUA4-COMMESSA
CRMS07-NOM-ORIGINE Codice nominativo della scheda da cui partire per duplicare i dati:



TPRA-ID-CRM
Output CRMS07-NOM Codice nominativo creato

A.2.1 - Collegamento scheda CRM alla matricola Si aggiorna ASNMATRI:

Dato Contenuto
AMTR-COD-NOM CRMS07-NOM

B - Collegamento matricola a impianto Eseguire una chiamata a ASN049:

Dato Contenuto
ASN049-CALLER Nome programma chiamante
ASN049-CALLED "ASN049"
ASN049-OPE "AGGIUNGI-MATR-BKG"
ASN049-ID-IMPIANTO Codice commessa senza "/n": ad esempio "10041"
ASN049-ID-MTR Codice commessa completo: ad esempio "10041/2"

C - Aggiornamento distinta ba Come prima cosa, eseguire la pulizia della distinta base rimuovendo il contenuto di ASNMTRDB per la matricola collegata alla commessa. Poi, ricreare la distinta base con la sommatoria per merce di tutti gli ordini di vendita collegati alla commessa: * Scansione di COGRIGCM usando la chiave principale per commessa * Considerare solo i record dove * RGC-TIP = "OR" * L'ordine collegato (RGC-CHIAVE) è cliente (tipo "C") * Per ciascun record valido creare un record su ASNMTRDB sommando le quantità trovate a parità di merce. * Usare ROR-QTAORD

Operazione: AGG-DA-GIACENZA

Descrizione Riceve in input una commessa da elaborare ed esegue l'aggiornamento dell'impianto: * Crea la matricola di assistenza se non esiste * Crea/aggiorna la distinta base collegata alla matricola, usando la giacenza attuale dell'impianto NB: questa funzione è utile se eseguita al momento della chiusura commessa, prima di eseguire lo scarico per chiusura. Chiamata standard

Dato Contenuto
COGUA4-OPE "AGG-DA-GIACENZA"
COGUA4-COMMESSA Commessa da elaborare

Elaborazione L'elaborazione è identica a Operazione: AGG-DA-ORDINI: si differenzia solo per il punto B - Aggiornamento distinta base, che qui descrivo B - Aggiornamento distinta base Come prima cosa, eseguire la pulizia della distinta base rimuovendo il contenuto di ASNMTRDB per la matricola collegata alla commessa. Poi, ricreare la distinta base usando la giacenza attuale della commessa: * Estrarre le giacenze, con lo stesso metodo usato da COGX06 per visualizzare le giacenze di una commessa. * Creare la distinta base, sommando la giacenza a parità di merce.


Estratto da documentazione interna ClickUp