Vai al contenuto

COGC66 - Gestione Dati consegna/riconsegna cespite-asset

Sorgente: cbl/cogc66.cbl | Tipo: Programma con interfaccia grafica (griglia interattiva) | Program-ID: COGC66

Menu: Non presente nel menu. Richiamato da COGC52 (Inserimento Cespiti) tramite S-F7.


Scopo

Gestisce i dati di consegna e riconsegna dei cespiti/asset aziendali. Permette di registrare a chi un bene e' stato consegnato, la data di consegna, l'ubicazione e la data di riconsegna. Supporta anche la stampa del modulo di consegna e riconsegna tramite il programma COGC65.

Il programma opera su una griglia editabile: per ogni cespite possono esistere piu' righe di consegna/riconsegna (storico consegne).


Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
COGTABEL (feurtab) Input Tabella generica
COGCESCR I-O Dati consegna/riconsegna cespite (tabella principale)

Copybook principali

Copybook Descrizione
feurtab.fd SELECT tabella COGTABEL
cogc66.select SELECT generati da Screens (include COGCESCR)
cogc66.fd FD generate da Screens
cogc66.wrk Working-storage generata da Screens
cogc66.tm Campi maschera generati da Screens
cogc66.imppredf-wrk Working per impostazioni predefinite
cogfiles.cpy Record COGTABEL
wstato.cpy Variabili di stato
wgrave.cpy Gestione errori gravi
wopenf.cpy Apertura file
wnscr.cpy Variabili screen
wgrid.cpy Variabili per gestione griglia
cogazien.cpy Dati azienda corrente
k-personal.cpy Costanti personalizzazioni
utilgdad.cpy Utility per GRIDADMN
utildlg.cpy Utility per dialogs
utilcogc65.cpy Utility COGC65 (stampa modulo consegna)
utilgcol.cpy Utility gestione colori griglia
utils52.cpy Utility COGS52W (calendario/date)
utilu10.cpy Utility COGU10W (conversione divise)
utilu20.cpy Utility COGU20W (lookup anagrafiche)
utilncnf.cpy Utility configurazione RNEWCONF
utilimppredf.cpy Utility impostazioni predefinite
utilcogc66.cpy Parametri di linkage per chiamata esterna
cogc66-01.scr Screen principale
cogc66.prc Paragrafi standard I/O
cogc66.decla Declaratives
cogcescr.k02 Chiave secondaria COGCESCR (tipo + codice)

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGU10W Recupero divisa di conto
COGC65 Stampa modulo consegna (F1) o riconsegna (F6)
GRIDADMN Gestione avanzata della griglia (S-F4)
DIALOGS Dialogo scelta stampa consegna/riconsegna (F9)

Logica di elaborazione

Inizializzazione (apri)

  1. Inizializza il programma, verifica abilitazioni, apre i file, legge dati azienda.
  2. Se richiamato come CALLED (cogc66-called = k-program-id e cogc66-caller non vuoto), copia i dati del cespite dalla struttura di linkage util-cogc66 in w-dati-called: tipo (w-dc-fl-tipo), codice (w-dc-cod), descrizione (w-dc-descr), categoria (w-dc-cat), descrizione categoria (w-dc-cat-des), riferimento nome (w-dc-rif-nome), ubicazione (w-dc-ubicaz).
  3. Imposta pulsanti: F3 aggiorna, F8 aiuto/calendario, F9 stampa, S-F4 gestione griglia, S-F5 esporta Excel, Ctrl+A aggiungi riga, Ctrl+E elimina riga.
  4. Prepara griglia con ordinamento predefinito per ID (gcn-r-id, ascendente).
  5. Titolo maschera: "Dati consegna/riconsegna Cespite-Asset".

Maschera (a4)

In modalita' CALLED, i campi testata (tipo, codice, descrizione, categoria, descrizione categoria) vengono precompilati dai dati ricevuti e non sono editabili.

Caricamento dati (carica-dati)

Scorre tutti i record COGCESCR con chiave secondaria k02 (tipo + codice) corrispondenti al cespite selezionato. Per ogni record trovato, carica una riga nella griglia di transito.

Se una riga non ha ancora la data di riconsegna compilata (cscr-data-ricons = 0), il flag fl-ok-inser viene impostato a "N" per impedire l'inserimento di nuove righe finche' tutte le consegne precedenti non sono state riconsegnate.

Griglia interattiva (a-grid)

La griglia mostra le righe di consegna/riconsegna con i seguenti campi per riga:

Campo Descrizione
tm-r-data-cons Data consegna
tm-r-rif-nome Nome del riferimento (a chi e' stato consegnato)
tm-r-ubicaz Ubicazione
tm-r-data-ricons Data riconsegna
tm-r-fl-agg Flag aggiornamento ("C" = da cancellare)

Operazioni sulla griglia

  • Ctrl+A (aggiungi riga): inserisce una nuova riga precompilata con il riferimento nome e l'ubicazione dal cespite chiamante. Bloccato se esiste una riga senza data di riconsegna o se un filtro e' attivo.
  • Ctrl+E (elimina riga): marca/smarca la riga come "da cancellare" (flag "C").
  • F3 (aggiorna): valida tutte le righe, chiede conferma e salva su COGCESCR.
  • S-F4: personalizzazione colonne griglia (GRIDADMN).
  • S-F5: esportazione Excel della griglia.

Stampa modulo (F9)

Se selezionata una riga (i > 0):

  1. Se la riga ha data di riconsegna, il dialogo (DIALOGS) propone sia "Modulo Consegna" (F1) sia "Modulo Riconsegna" (F6).
  2. Se la riga non ha data di riconsegna, propone solo "Modulo Consegna" (F1).
  3. Chiama COGC65 con il tipo di modulo ("C" per consegna, "R" per riconsegna) e i dati della riga selezionata (codice cespite, data consegna, riferimento nome, data riconsegna).

Salvataggio (b-aggiorna)

Scorre il file di transito della griglia. Per ogni riga:

  1. Se l'ID e' zero (nuova riga), cerca un ID progressivo libero (b1-cerca-id): parte dall'ultimo ID presente in COGCESCR, incrementa fino a trovare un ID libero.
  2. Scrive/riscrive il record su COGCESCR con: tipo, codice cespite, flag cancellazione, data consegna, riferimento nome, ubicazione, data riconsegna.

Note tecniche

  • Il programma utilizza la chiave secondaria k02 di COGCESCR (tipo + codice) per filtrare i record del cespite corrente.
  • L'ID progressivo viene cercato partendo dal massimo (999999999999) e decrementando con rdprv, poi incrementa per trovare il primo libero.
  • La struttura di linkage util-cogc66 include anche cogc66-rif-nome e cogc66-ubicaz, che vengono usati come valori predefiniti per le nuove righe.

Documentazione tecnica aggiornata -- 2026-04-16