Vai al contenuto

COGM98 - Visualizzazione conto lavoro esterno

Panoramica

Programma interattivo GUI che visualizza in una griglia paginata le righe di conto lavoro esterno (archivio COGCLAVO), cioe' le quantita' di prodotto affidate ai lavoranti esterni e le quantita' gia' prodotte/rientrate. La visualizzazione e' filtrata per stato del c/lavoro (Aperto/Chiuso), intervallo di date, lavorante (magazzino di tipo lavorante) e merce. E' una visualizzazione di sola consultazione: non aggiorna gli archivi.

Il commento di intestazione del sorgente ("Visualizzazione rimanenze per merce") e' un residuo del programma da cui e' stato derivato; la funzione effettiva e il titolo di maschera sono "Visualizzazione C/Lavoro".

Posizione nel menu

Menu Percorso
Magazzino Trasferimenti > Visualizzazione c/Lavoro

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema
COGMERCI Input Anagrafica merci (descrizione, help)
COGMAGAZ Input Anagrafica magazzini/lavoranti (descrizione, verifica tipo lavorante)
COGCLAVO Input Archivio conto lavoro esterno: fonte primaria dell'estrazione (scansione per chiavi secondarie .k03 e .k04)
EXP-GRID Output File sequenziale per l'export Excel della griglia

Copybook principali

Copybook Descrizione
cogm98.select / cogm98.fd SELECT e File Description (generati da Screens)
cogm98.wrk / cogm98.prc / cogm98.decla Working storage, procedure di I/O e declaratives generati
cogm98-01.scr Screen section
cogclavo.k03 / cogclavo.k04 Chiavi secondarie del conto lavoro - incluse manualmente
cogazien.cpy Dati azienda
wgrid.cpy / utilgdad.cpy / fscrol2.cpy / utilpggr.cpy Gestione griglia e paginazione (GRIDADMN)
utils52.cpy Interfaccia campo data (COGS52)
utils68.cpy Interfaccia ricerca merce (COGS68)
utilu16.cpy Interfaccia utility COGU16
utilw36.cpy / sendw36.cpy Interfaccia e chiamata all'help magazzino (COGW36)
dtab.cpy Utility tabelle
wstato / wgrave / wopenf / wnscr Working storage standard

Chiamate a sottoprogrammi (CALL)

Programma Scopo
GRIDADMN Gestione e personalizzazione della griglia paginata
COGS68 Ricerca/help merce (gruppo/sottogruppo/codice)
COGS52 Gestione/validazione campi data (via utils52)
COGS60 Selezione dello stato c/lavoro (Aperto/Chiuso)
COGW36 Help/ricerca magazzino-lavorante (via sendw36)
AZVALIDA.COB Validazione formale delle date immesse

Logica di elaborazione

1. Inizializzazione (apri)

Controlla l'abilitazione, inizializza il programma, legge i dati azienda, apre i file, attiva i tasti funzione previsti (F3 conferma, F8 aiuto, Shift-F4 griglia), imposta il titolo "Visualizzazione C/Lavoro" e prepara i controlli e la griglia (z-costruisci-controlli, z-prepara-tm-grid).

2. Reset e default (a4)

Svuota la griglia e la struttura tab-maschera, imposta i filtri di default: stato "A" (Aperto), data inizio 19900101, data fine 20991231. Carica i controlli e ricostruisce la griglia vuota, riattivando il tasto F3.

3. Accept dei filtri

Serie di paragrafi a-tm-* per l'immissione dei parametri, con navigazione F2 (indietro) / F3 (conferma diretta) / mouse (x-test-mouse):

  • a-tm-stato: stato del c/lavoro (Aperto/Chiuso), tramite COGS60;
  • a-tm-data-ini / a-tm-data-fin: intervallo di date, gestite via COGS52 con calendario (F8) e validate formalmente con AZVALIDA.COB; la data inizio non puo' superare la data fine;
  • a-tm-mag: lavorante, con help F8 tramite COGW36; se indicato deve essere un magazzino di tipo lavorante (magz-fl-tip = "L"), altrimenti errore; spazio = tutti i lavoranti;
  • a-tm-merce: merce, gestita via COGS68.

x-controlla-tm-merce impone che sia indicato almeno un lavorante o un articolo: se sia il magazzino sia la merce sono vuoti, la conferma e' bloccata.

4. Estrazione dati (a-fine-dati / x-spaginamento-start)

Dopo la validazione complessiva (x-controlla-dati) e la conferma (F3), la scansione parte da x-spaginamento-start, che imposta la chiave di ricerca su COGCLAVO con stato, data inizio, magazzino e merce e sceglie la chiave secondaria in base alla presenza del filtro lavorante:

  • se il lavorante e' vuoto usa la chiave .k04 (stato + data + merce + magazzino);
  • se il lavorante e' valorizzato usa la chiave .k03 (stato + data + magazzino + merce).

Le routine di paginazione (fscrol2 / utilpggr / GRIDADMN) scandiscono l'archivio (rdnxt-cogclavo / rdprv-cogclavo) riempiendo la struttura tab-maschera fino a riempire la pagina. Il paragrafo rd-controlli-read interrompe la lettura alla rottura dei filtri (stato diverso, data fuori intervallo, magazzino o merce diversi dai valori richiesti). Per ogni riga (rd1-ft-go) vengono salvati merce, documento di c/lavoro, lavorante, data, quantita' affidata (clv-qta) e quantita' prodotta (clv-qta-prod). Se nessuna riga viene trovata compare "Non esiste nessun c/lavoro per i dati richiesti!".

5. Caricamento griglia (carica-tab / x-riempi-grid-record)

carica-tab svuota e ricostruisce la griglia. Per ogni riga, x-riempi-grid-record formatta il record video grid-record con: merce, lavorante, tipo/anno/numero del documento di c/lavoro, data (gg/mm/aaaa), quantita' affidata e quantita' prodotta.

6. Interazione sulla griglia (a-grid)

Gestisce ESC (uscita), Shift-F4 (personalizzazione colonne via GRIDADMN), Shift-F5 (export Excel su EXP-GRID) e Pag su/giu' (paginazione avanti/indietro sull'archivio, con avvisi di fine dati).

7. Chiusura (fine / z-chiudi)

Chiude i file, chiude la finestra ed esce (goback).

Note tecniche

  • Fonte dati: l'archivio COGCLAVO ("c/lavoro esterno") registra, per ciascun documento di uscita a lavorante, la merce del prodotto finale, il lavorante, la data, la quantita' da produrre (clv-qta) e quella gia' prodotta (clv-qta-prod), con stato Aperto ("A") o Chiuso ("C"). Il programma e' una vista di sola lettura su questo archivio.
  • Scelta della chiave secondaria: la scansione usa cogclavo.k04 (stato+data+merce+magazzino) quando non c'e' filtro sul lavorante e cogclavo.k03 (stato+data+magazzino+merce) quando il lavorante e' indicato, per ottimizzare l'ordine di lettura; entrambe le chiavi sono incluse manualmente in coda alla procedure division. Le strutture w-clv-chia3 / w-clv-chia4 fungono da appoggio per le chiavi di restart della paginazione.
  • Validazione lavorante: il magazzino indicato deve avere magz-fl-tip = "L" (tipo lavorante), altrimenti viene segnalato "Devi indicare un lavorante!".
  • Filtro minimo: e' obbligatorio indicare almeno un lavorante o un articolo; non e' consentita l'estrazione totalmente non filtrata.
  • Dimensione sorgente: circa 1.162 righe (cbl/cogm98.cbl).