Vai al contenuto

COGL08 - Gestione Pre-Distinte

Panoramica

Programma interattivo per la gestione delle pre-distinte (tabella COGDBPRE). Una pre-distinta e' associata a una merce temporanea "padre" e contiene un elenco di componenti (merci ufficiali o temporanee) con le relative quantita'. Supporta inserimento, modifica e cancellazione dei componenti, duplicazione della pre-distinta, copia da distinte base ufficiali, e gestione note. La maschera e' in formato testo (non Screens). Circa 1.276 righe.

Posizioni nel menu

Menu Percorso
Magazzino Produzione > Distinte-Preventivo > Gestione Pre-Distinte

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema
COGMERCI Input Anagrafica merci ufficiale
COGMERTP I-O Anagrafica merci temporanee
COGDBPRE I-O Pre-distinta base (tabella principale)
COGDBAGG Input Distinta base aggregata (per copia con F10)
COGDBASE Input Distinta base ufficiale (per copia con F10)

Copybook principali

Copybook Descrizione
cogdbpre.cpy Record pre-distinta
cogmerci.cpy Record anagrafica merci
cogmertp.cpy Record merci temporanee
cogdbagg.cpy Record distinta base aggregata
cogdbase.cpy Record distinta base ufficiale
utils21.cpy Utility gestione tabelle/griglie
utils22.cpy Accept merce con ricerca (COGS22)
utilu10.cpy Interfaccia COGU10 per divise

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGS22 Accept merce con ricerca e validazione (per padre e componenti)
COGS12 Ricerca merce temporanea (F4)
COGU10 Gestione divise

Logica di elaborazione

Flusso principale

  1. Inizializzazione (a000): apre file (5 file: COGMERCI, COGDBPRE, COGMERTP, COGDBAGG, COGDBASE), prepara maschera testo (22 righe x 58 colonne, griglia da 15 righe di componenti).
  2. Input padre (a7): accept del codice merce temporanea padre tramite COGS22. Verifica che esista in COGMERTP. Mostra descrizione.
  3. Caricamento componenti (a10): legge i record COGDBPRE con chiave padre (gru+sot+cod) e carica nella tabella tab-maschera (max 400 elementi). Per ogni componente:
  4. Cerca prima in COGMERTP: se trovato e anche in COGMERCI, segnala anomalia
  5. Se solo in COGMERTP: tipo = "T" (temporanea)
  6. Se solo in COGMERCI e padre = "P": tipo = "D" (distinta)
  7. tm-fl-mt: "T" = temporanea, "M" = merce ufficiale
  8. Gestione righe (a30 e seguenti): griglia paginata con navigazione standard (su/giu', PgUp/PgDown):
  9. Accept codice merce componente (COGS22), quantita' (intera + decimale)
  10. F4: ricerca tra merci temporanee (COGS12)
  11. F5: cancella riga corrente
  12. F6: apre l'anagrafica della merce selezionata
  13. F7: duplica pre-distinta (dup-com)
  14. F9: gestione note (fino a 50 righe in una finestra 6 righe x 62 colonne)
  15. F10: copia da distinta base ufficiale (cop-db)
  16. Salvataggio (a90): alla conferma (F3), cancella tutti i record COGDBPRE esistenti per il padre, poi riscrive tutti i componenti della tabella.

Struttura del record COGDBPRE

Campo Tipo Descrizione
dbp-chia (chiave) gru(2) + sot(2) + cod(5) + prog(4) del padre
dbp-gru-f / dbp-sot-f / dbp-cod-f Codice merce componente
dbp-fl-mt x(1) "T" = temporanea, "M" = merce ufficiale
dbp-qta 9(6)v999 Quantita'

Funzioni speciali

  • Duplicazione (F7): chiama dup-com, crea una copia della pre-distinta su un nuovo codice merce temporanea
  • Copia da distinta (F10): chiama cop-db, importa i componenti da COGDBAGG/COGDBASE
  • Note (F9): gestione note testuali tramite finestra overlay (screen-3, 5 righe da 60 caratteri visibili alla volta, max 50 totali)

Note tecniche

  • La maschera e' in formato testo classico con griglia di 15 righe di componenti visibili (spaginamento su max 400).
  • Il programma usa PERFORM ... THRU per diverse sezioni (visualizzazione, duplicazione, copia distinta, note, navigazione).
  • Alla conferma, il salvataggio e' distruttivo: cancella tutti i record del padre e li riscrive. Non c'e' gestione transazionale.
  • La quantita' ha 3 decimali (9(6)v999).
  • Il programma distingue visivamente i componenti: "D" = ha sotto-distinta, "T" = temporanea, vuoto = merce ufficiale senza sotto-distinta.