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