COGE31N - Gestione Distinta Base ad Albero (BETA)¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGE31N |
| Titolo | Gestione Distinta Base ad Albero (BETA) |
| Posizione menu | Magazzino -> Produzione -> Distinta Base -> Gestione ad albero (BETA) |
| Posizione menu alternativa | Assist 2.0 -> Archivi -> Distinte Tutorial |
| Sorgente | cbl/coge31n.cbl |
| Tipo | Programma GUI interattivo (Screen Designer) |
Scopo e logica generale¶
COGE31N e' il nuovo modulo di gestione della distinta base in stile albero, destinato a sostituire in futuro COGE31. Espone in una sola maschera:
- un tree-view (a sinistra) con la struttura gerarchica completa dei semilavorati a partire dal padre,
- una griglia (a destra) con i componenti del livello selezionato.
L'utente puo' navigare l'albero, modificare quantita' e note in griglia, aggiungere/eliminare componenti, copiare/spostare interi rami (Ctrl+C/X/V/P/G) e creare al volo nuovi semilavorati (F5).
Tutte le modifiche vengono accumulate in una tabella di transito indicizzata (t-rami-db) e applicate sul DB reale (cogdbase) solo al salvataggio (F3) tramite conferma esplicita.
Il programma puo' essere richiamato da COGE31 passando in linkage il codice del padre da aprire (coge31n-called = "COGE31-CALLED", coge31n-db = <codice>).
File e tabelle acceduti¶
| File logico | Modalita' | Uso |
|---|---|---|
| COGMERCI | I-O | Anagrafica articoli - lettura padre/componenti, creazione nuovi semilavorati |
| COGDBASE | I-O | Righe distinta base - lettura/inserimento/cancellazione componenti |
| COGGEANA | Input | Anagrafica generale - descrizioni |
| COGTABEL | Input | Tabelle parametriche |
| COGRACMC | Input | Raccordi codici merce |
| COGMERA3 | Input | Anagrafica merci estesa |
| COGMERNT | Input | Note merce |
| CLNDBASE (copy di COGDBASE) | Input | Letture incrociate distinta in altra istanza (replacing dba- -> cln-dba-) |
| T-RAMI-DB | I-O (transito) | Tabella temporanea indicizzata che memorizza i rami caricati e le operazioni pendenti |
| T-GRID-DET | I-O (transito) | Tabella di transito griglia componenti (Screens) |
| T-SEL / WIN159 | I-O (transito) | Tabella selezione multipla (Shift+F8) |
| FEURTAB | Input | Tabella euro |
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
coge31n.select |
SELECT dei file (genera anche CLNDBASE replacing) |
coge31n.fd |
FD dei file |
coge31n.wrk |
Working storage maschera |
coge31n.tm |
Campi maschera modificabili |
coge31n-01.scr |
Screen section principale |
coge31n.decla |
Declaratives |
coge31n.prc |
Procedure division Screens |
coge31n.imppredf-wrk / coge31n.imppredf |
Import predefiniti |
Working storage¶
| Copybook | Ruolo |
|---|---|
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy |
Errori, schermo, apertura, stato file |
cogazien.cpy |
Dati azienda |
wgrid.cpy |
Gestione griglia |
utilgdad.cpy |
Interfaccia GRIDADMN |
utilcogd40.cpy |
Interfaccia COGD40 (gestione galleria immagini) |
utils52.cpy |
Interfaccia COGS52 (calendario) |
utils68.cpy |
Interfaccia COGS68W (ricerca merci) |
utils93.cpy |
Interfaccia COGS93 (lookup distinta) |
utilu10.cpy, utilu20.cpy |
Utility comuni |
utilimppredf.cpy |
Utility import predefiniti |
utilncnf.cpy |
Struttura parametri RNEWCONF |
utils31.cpy |
Interfaccia COGS31 (ricerca avanzata) |
utilcogx40.cpy |
Interfaccia COGX40 (selezione multipla merci) |
Linkage¶
| Copybook | Contenuto |
|---|---|
wcont.cpy, wcont1.cpy |
Dati operatore / dati azienda linkage |
utilcoge31n.cpy |
Interfaccia chiamante: coge31n-called, coge31n-db |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGD40 | Galleria immagini articolo (F1) |
| COGU20W | Utility (apertura documenti / lookup) |
| COGS31 | Ricerca avanzata (F9) |
| COGX40 | Selezione multipla merci (Shift+F8) |
| GRIDADMN | Amministrazione griglia (Shift+F4) |
| RNEWCONF | Lettura configurazione |
| W$BITMAP | Caricamento bitmap custom per pulsanti tool-bar |
| W$MENU | Pop-up menu in griglia |
Strutture dati chiave¶
Tabella di transito t-rami-db¶
Indicizzata su t-rdb-chia1 (codice distinta padre) + chiave alternativa su t-rdb-ramo-esaminato + t-rdb-chia1. Mantiene per ogni ramo gia' caricato:
- codice distinta padre (gru/sot/cod),
- flag "ramo esaminato",
- codice nuova merce (per rami appena creati),
- pointer al nodo tree-view.
Tabella in memoria tab-elementi¶
Fino a 9999 elementi (te-max), traccia tutti i nodi dell'albero gia' caricati con pointer + codice merce + codice distinta.
Hidden info nodo tree¶
Struttura hidden-info agganciata a ciascun nodo: livello, flag distinta/foglia, codice merce, codice padre, progressivo DBA, quantita', descrizione.
Logica di elaborazione¶
Avvio (apri -> main)¶
z-99-init-program, controllo abilitazione operatore.- Lettura linkage
utilcoge31n.cpy: secoge31n-called = "COGE31-CALLED"precarica il codice padre dacoge31n-db. - Lettura configurazione (RNEWCONF) in
tm-cfg. - Apertura file, creazione transito griglia.
- Configurazione tasti funzione standard + custom (F1 galleria, F5 nuovo ramo, F2 ricarica, Ctrl+G/P/V/X/C, Shift+F8).
- Caricamento bitmap custom (
load-bitmap-custom) per pulsanti tool-bar. - Display maschera, attesa accept padre.
Caricamento albero¶
- Espande ricorsivamente i rami leggendo
cogdbaseper ciascun semilavorato. - Inserisce i nodi nel tree-view tramite pointer e popola
tab-elementiet-rami-db.
Operazioni di edit¶
- Aggiungi/elimina componente in griglia: aggiorna
t-grid-det(transito griglia). - Copia/taglia ramo: marca operazione in
tm-ope-copiacon sorgente intm-merce-copia/tm-db-copia. - Incolla (dopo, prima, figlio): valida la destinazione (mai sulla radice; "figlio" solo su semilavorati) e produce un nuovo blocco di righe in transito.
- Nuovo ramo (F5): chiede descrizione, crea automaticamente l'articolo padre in COGMERCI e la prima riga di distinta in COGDBASE (paragrafo dedicato).
Salvataggio (F3)¶
Chiede conferma; quindi riversa il contenuto del transito su cogdbase e cogmerci, gestendo inserimenti e cancellazioni.
Limiti e regole di business¶
- Non e' consentito copiare/spostare la radice della distinta.
- "Incolla come figlio" valido solo su elementi che sono distinte.
- Massimo 9999 elementi nell'albero in memoria.
- Programma marcato BETA: destinato a sostituire COGE31.
Menu¶
- Magazzino > Produzione > Distinta Base > Gestione ad albero (BETA)
- Assist 2.0 > Archivi > Distinte Tutorial
Vedi anche¶
- COGE31 - Gestione distinta base - versione tradizionale
- COGE26 - Costi su Distinta