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)¶
- Inizializza il programma, verifica abilitazioni, apre i file, legge dati azienda.
- Se richiamato come CALLED (
cogc66-called = k-program-idecogc66-callernon vuoto), copia i dati del cespite dalla struttura di linkageutil-cogc66inw-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). - 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.
- Prepara griglia con ordinamento predefinito per ID (
gcn-r-id, ascendente). - 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):
- Se la riga ha data di riconsegna, il dialogo (DIALOGS) propone sia "Modulo Consegna" (F1) sia "Modulo Riconsegna" (F6).
- Se la riga non ha data di riconsegna, propone solo "Modulo Consegna" (F1).
- 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:
- 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. - 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
k02di COGCESCR (tipo + codice) per filtrare i record del cespite corrente. - L'ID progressivo viene cercato partendo dal massimo (
999999999999) e decrementando conrdprv, poi incrementa per trovare il primo libero. - La struttura di linkage
util-cogc66include anchecogc66-rif-nomeecogc66-ubicaz, che vengono usati come valori predefiniti per le nuove righe.
Documentazione tecnica aggiornata -- 2026-04-16