COGO55 - Inserimento Ordini Fornitori¶
Panoramica¶
Programma di lancio per l'inserimento ordini fornitori. Legge la configurazione per determinare la versione dell'interfaccia (grafica o carattere) e l'eventuale abilitazione del "taglio lamiere". In base a queste impostazioni, richiama il programma operativo corretto.
Posizioni nel menu¶
| Menu | Percorso |
|---|---|
| Ordini | Fornitori > Inserimento |
Struttura del programma¶
File e tabelle utilizzati¶
Nessun file dati proprio. Il programma e' un puro lanciatore.
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| wgrave.cpy | Variabili gestione errori gravi |
| wnscr.cpy | Variabili screen |
| wopenf.cpy | Variabili apertura file |
| wstato.cpy | Variabili stato file |
| cogazien.cpy | Dati azienda corrente |
| utildlg.cpy | Interfaccia DIALOGS (finestra dialogo) |
| utilncnf.cpy | Interfaccia RNEWCONF (configurazione) |
| wcont.cpy | Area contesto (linkage) |
| utilu30b.cpy | Interfaccia COGU30 (linkage, parametri called) |
| wcont1.cpy | Area contesto estesa (linkage) |
| linku30.cpy | Linkage per passaggio parametri da COGU30 |
| stato.cpy | Routine gestione stato file |
| stato1.cpy | Routine gestione stato file (estesa) |
| winmsg.cpy | Routine messaggistica |
| util1.cpy | Utilita' generiche |
Chiamate a sottoprogrammi (CALL)¶
| Programma | Scopo |
|---|---|
| RNEWCONF | Lettura configurazioni (versione programmi OF e taglio lamiere) |
| DIALOGS | Finestra di dialogo per scelta tipo ordine (solo se taglio-lamiere = "S") |
| COGO55W | Inserimento ordine fornitore - versione grafica |
| COGO55C | Inserimento ordine fornitore - versione carattere |
| TGL100 | Gestione ordini materie prime (taglio lamiere) |
| TGL101 | Gestione ordini profilati (taglio lamiere) |
Logica di elaborazione¶
Flusso principale¶
- Inizializzazione (
apro): carica configurazioni RNEWCONF: ordini / versione-programmi-of->tm-cfg-versione-
abilita / taglio-lamiere->tm-cfg-taglio-lamiere -
Scelta tipo ordine (
ela-00): setm-cfg-taglio-lamiere = "S", presenta dialogo a 3 opzioni: - F5: chiama TGL100 (materie prime) e termina
- F6: chiama TGL101 (profilati) e termina
-
F7: prosegue con l'inserimento ordine standard
-
Lancio programma operativo: in base a
tm-cfg-versione: - "GRAFICA" -> chiama COGO55W
- altrimenti -> chiama COGO55C
Se richiamato come "called" da COGU30 (
u30b-caller = "COGU30"eu30b-called = "COGO55"), passa anchelink-u30come parametro.
Variabili chiave¶
| Variabile | Tipo | Descrizione |
|---|---|---|
| w-nome-programma | x(12) | Nome del programma da lanciare (COGO55W o COGO55C) |
| tm-cfg-versione | x(10) | Versione interfaccia ("GRAFICA" o altro) |
| tm-cfg-taglio-lamiere | x(01) | Flag abilitazione taglio lamiere ("S"/"N") |
Linkage¶
Il programma riceve stringhe e link-u30 in linkage. Se richiamato da COGU30, passa link-u30 al programma operativo per consentire il ritorno dei dati.
Configurazioni RNEWCONF¶
| Pacchetto | Gruppo | Chiave | Variabile |
|---|---|---|---|
| C | ordini | versione-programmi-of | tm-cfg-versione |
| C | abilita | taglio-lamiere | tm-cfg-taglio-lamiere |
Note sul programma operativo COGO55W¶
L'inserimento vero e proprio dell'ordine fornitore (versione grafica) e' svolto da COGO55W (cbl/cogo55w.cbl).
Manutenzione codice merce fornitore (COGMERFO) e stringhe di ricerca (2026-07-13)¶
Alla conferma delle righe (paragrafo agg-prezzi), COGO55W allinea la tabella COGMERFO (mfr-, codice merce del fornitore) e le stringhe di ricerca COGRACMF/COGSTCMF tramite i sottoprogrammi COGS38 (COGRACMF) e COGS39 (COGSTCMF).
| Situazione COGMERFO | Operazione | Chiamate |
|---|---|---|
| Record inserito ex novo | s38-ope = "I", s39-ope = "I" |
COGS38 (I) + COGS39 (I) |
| Record esistente con codice fornitore modificato | s39-ope = "V", vecchio codice in s39-cmf-c |
COGS39 (V) solo se mfr-cod-for e' cambiato |
Prima di questa modifica le stringhe di ricerca venivano ricostruite solo all'inserimento del record COGMERFO. Ora, quando il codice merce fornitore di un record esistente viene modificato, COGS39 viene richiamato in variazione ("V") passando il nuovo codice (s39-cmf-i) e quello precedente (s39-cmf-c), mantenendo coerente l'indice di ricerca per codice fornitore. Logica identica a quella del programma bolle di entrata COGV14W. Nessun impatto sull'interfaccia utente.