Vai al contenuto

COGD20 — Gestione note post-it

Sorgente: cbl/cogd20.cbl | Tipo: Programma interattivo a griglia (gestione tabella) | Program-ID: COGD20

Menu: Contabilita' > Archivi & Tabelle > Varie > Post-it ; Contabilita' > Unione soci/clienti > Archivi & Tabelle > Tabelle > Post-it ; Magazzino > Archivi & Tabelle > Varie > Post-It


Scopo

Gestisce in griglia i post-it (note libere colorate) associati a un'anagrafica (cliente/fornitore), a un prodotto o a un'area generica. L'operatore filtra per tipo/codice anagrafico o per prodotto e vede la lista dei post-it esistenti; puo' aggiungerne di nuovi (CTRL-A), cancellarli logicamente (CTRL-E), ripristinarli (F9), modificarne testo e colore, e sincronizzarli verso l'APP (KPN). I dati sono persistiti sulla tabella COGPOSTT. La visualizzazione di dettaglio del singolo post-it e' delegata al sottoprogramma POSTIT, richiamato dai gestori di aiuto anagrafica/prodotto (COGS65W/COGS68W).


File e tabelle principali

File/Tabella Copybook Uso
COGPOSTT cogpostt.cpy (.k01, .k02) Tabella post-it: chiave ptt-chia1 (ana-tip + ana-cod + merce + area + progressivo); chiave secondaria .k02 per la ricerca su area generica
COGGEANA (in feurtab) Anagrafica cliente/fornitore, per risolvere il nome (rd-coggeana)
COGMERCI (in feurtab) Anagrafica prodotto, per validare la merce (rd-cogmerci)
T-GRID-DET wgrid.cpy / cogd20.select File indicizzato di transito per la griglia di dettaglio (t-gor-r-rec)
feurtab cogfiles.cpy Contenitore file indicizzati standard

I record post-it sono classificati per area (ptt-area, es. "C" = Contabilita') e per un progressivo (ptt-prog) univoco all'interno della chiave anagrafica/merce/area.


Parametri di linkage (chiamata da altri programmi)

procedure division using stringhe wd20-util. L'area wd20-util (definita inline nella linkage) permette ad altri programmi di aprire COGD20 gia' posizionato:

  • wd20-chiamante — codice del programma chiamante (es. COGE08C, COGE08F, COGE06UN, COGV06NO);
  • wd20-ana-tip / wd20-ana-cod — anagrafica su cui posizionarsi;
  • wd20-merce — prodotto (gruppo/sotto/codice) per la chiamata da anagrafica merce.

Quando wd20-chiamante e' uno dei valori noti, il programma imposta w-dc-called = "S" e salta la fase di selezione dei filtri andando direttamente al caricamento dati (a-leggi-dati); all'uscita torna al chiamante anziche' ripresentare la maschera di selezione.


Flusso principale

  1. apri (main): init programma, lettura configurazioni (x99-confi), apertura file, mappatura dei parametri di linkage in w-dati-called, costruzione maschera/griglia, creazione del pulsante custom "Ripristina Postit (F9)" e del menu contestuale della griglia.
  2. a4: reset della griglia e impostazione dei filtri (tipo anagrafico predefinito "C"). Se chiamato da COGE08*/COGV06NO, precarica anagrafica/merce dal linkage.
  3. Accept dei filtri: a-tm-ana-tip (tipo, gestito via COGS60), a-tm-ana-cod (codice, aiuto via COGS65W), a-tm-merce (prodotto, aiuto via COGS68W).
  4. a-leggi-datiz-grid-det-crea-transitocarica-dati: legge COGPOSTT con st-cogpostt-notmin (chiave primaria per cliente/fornitore) oppure st-cogpostt-notmin-chia2 (chiave secondaria per area generica) e riempie il file di transito, saltando i cancellati salvo configurazione "visualizza cancellati".
  5. a-grid: gestione interattiva della griglia (aggiunta/cancellazione/ripristino righe, modifica note e colore, menu pop-up, export Excel via s-f5).
  6. Su F3 con conferma: b-aggiorna scrive/riscrive i post-it su COGPOSTT.

Aggiornamento e sincronizzazione

Il paragrafo b-aggiorna (chiamato con perform b-aggiorna thru ex-b-aggiorna) scorre il file di transito e per ogni riga significativa:

  • se manca il progressivo, lo calcola come massimo+1 sulla chiave (scansione st-cogpostt-notmin / rdnxt-cogpostt);
  • inserisce (wr-cogpostt) il record se non esiste, altrimenti lo aggiorna (rwr-cogpostt) solo se cambiano testo, colore, flag di cancellazione o flag di sincronizzazione;
  • dopo ogni scrittura chiama x-sincronizza-kpn, che invoca SWN115 con operazione ESPORTA-KEY per allineare il post-it verso l'APP/KPN.

Clonazione su altri ambienti

Se il post-it e' aggiornato per un cliente e la configurazione copiaana e' attiva, clona-anagrafica-su-altri-ambienti propaga la modifica sugli altri ambienti chiamando ripetutamente la subroutine copiaana (operazioni clone / close-files) sulle destinazioni configurate. Esiste anche il paragrafo cancella-anagrafica-su-altri-ambienti (operazione delete).


Configurazioni (RNEWCONF)

Il paragrafo x99-confi legge (via RNEWCONF):

  • ASSIST / post-it-assist;
  • abilita / copiaana, copiaana-conf, copiaana-source-name, copiaana-destination-name (fino a 10 destinazioni per la clonazione su altri ambienti);
  • POSTIT / COLORE-DEFAULT (colore predefinito dei nuovi post-it);
  • postit / cogd20-visualizza-cancellati (se "S", mostra anche i post-it cancellati logicamente, abilitando il ripristino con F9).

Sottoprogrammi chiamati

Programma Ruolo
COGS65W Aiuto/ricerca codice anagrafico; richiama internamente il viewer POSTIT
COGS68W Aiuto/ricerca prodotto; richiama internamente il viewer POSTIT
COGS60 Gestione combo/radio dei tipi (tipo anagrafico)
GRIDADMN Configurazione/personalizzazione griglia
SWN115 Sincronizzazione post-it verso APP/KPN (ESPORTA-KEY)
copiaana Clonazione/cancellazione anagrafica su altri ambienti
COGI58 / GETCOLOR Scelta colore (COGI58 per l'ambiente Unione Agrit.-Bologna, altrimenti GETCOLOR standard)
COGU10W Divisa di conto

Il viewer di dettaglio del singolo post-it e' POSTIT: non e' chiamato direttamente da COGD20 ma dai gestori COGS65W/COGS68W. Per forzare l'uscita da POSTIT gli entry-point di COGD20 impostano s65-area/s68-area a 'X'.


Note

  • La griglia lavora sempre su un file di transito indicizzato (T-GRID-DET), che viene chiuso e cancellato (delete file t-grid-det) alla chiusura del programma (fine/z-chiudi).
  • Il flag dst-fl-canc/ptt-fl-canc gestisce la cancellazione logica (valore "C"); il record rimane fisicamente presente.
  • I controlli impediscono di inserire post-it su area "Contabilita'" quando e' selezionato un prodotto, e segnalano post-it duplicati per la stessa combinazione area+progressivo.