Vai al contenuto

COGD14 - Collegamento Codici Pagamento

Intestazione

Campo Valore
Programma COGD14
Titolo Collegamento Codici Pagamento
Modulo Sistema
Posizione menu Sistema > Utility > Collegamenti > Codici Pagamento

Scopo e logica generale

COGD14 gestisce il collegamento (mapping) dei codici di pagamento verso codici alternativi utilizzati da altre procedure. Per ogni combinazione di condizione di pagamento (tipo pagamento) e codice di pagamento il programma consente di associare un codice alternativo libero; le associazioni sono memorizzate nella tabella dei raccordi generici COGGENER con tipo gnr-tip = "cp".

Le informazioni sono lette da due tipi di COGTABEL:

  • euta-tipo = 22 - condizioni di pagamento (tipi pagamento), caricate in memoria nell'array tab-tipi-pag (max 20 elementi, k-max-tr-rb); ogni condizione e' identificata da un carattere tr-rb (euta-cod);
  • euta-tipo = 14 - codici di pagamento (euta-cod, descrizione euta-pg-des).

La griglia GUI (e-tm-tab, gestita da GRIDADMN) presenta una riga per ogni coppia condizione/codice: il campo chiave tacodice e' composto da tarb (condizione, 1 char) + tacod (codice, 2 char), e il codice visualizzato tm-cod e' formattato come condizione/codice. Ogni riga espone il codice alternativo modificabile (tm-codalt, 50 char).

Il collegamento corrente di ciascuna riga viene letto da COGGENER (gnr-tip = "cp", gnr-parte-1 = tacodice, gnr-parte-2 = spaces, gnr-prog = 0); la descrizione (gnr-des) e' il codice alternativo.

L'aggiornamento (F3) e' massivo e distruttivo: tutte le righe COGGENER di tipo "cp" vengono cancellate e riscritte da capo con i valori correnti della griglia.


Flusso principale

  1. apri (main): imposta prog-err/w-nome-hlp, esegue ctr-abil, z-99-init-program, rd-azi, open-files. Definisce i tasti funzione (Invio = modifica, F3 = aggiorna, F9 = stampa, SF4 = personalizza griglia), imposta titolo "Collegamento Codici Pagamento", modalita' a-modalita = "A", prepara i controlli e la griglia (z-costruisci-controlli, z-prepara-tm-grid).
  2. a4: svuota la griglia, inizializza tab-maschera, esegue a1-cerca-tipi-pag (carica le condizioni di pagamento tipo 22) e carica-griglia (costruisce le righe condizione/codice con i collegamenti esistenti). Se nessun codice trovato, esce con messaggio.
  3. a1-cerca-tipi-pag: scorre COGTABEL tipo 22 con st-cogtabel-notmin + rdnxt-cogtabel, accumulando le condizioni in tr-rb (n-tr-rb); oltre k-max-tr-rb = 20 segnala di aumentare la tabella.
  4. carica-griglia: scorre COGTABEL tipo 14; per ogni codice, per ogni condizione caricata, compone la riga (tarb/tacod, tm-cod = condizione/codice, descrizione da euta-pg-des) e legge il collegamento corrente da COGGENER (rd-coggener); il codice alternativo (gnr-des) va in tm-codalt. Oltre k-max-ele-tab = 900 gli elementi eccedenti sono scartati.
  5. a-grid / a-accept-grid: ciclo di accettazione griglia. Gestisce ESC (esce), doppio-click/Invio (in "A" apre la modifica riga, soggetta a w-abi-agg), SF4 (personalizzazione griglia via GRIDADMN), F9 (stampa), F3 (aggiornamento massivo).
  6. a-riga-dettaglio / a-tm-codalt: pannello dettaglio della riga; accept del codice alternativo (tm-codalt). Controllo via x-controlla-tm-codalt.
  7. a-riga-dettaglio-fine: conferma; aggiorna la griglia via GRIDADMN (Add-Record/Modify-Record) e torna al ciclo griglia. La riga aggiornata resta in memoria; la scrittura su COGGENER avviene solo alla conferma finale F3.
  8. a-aggiorna (F3): elaborazione massiva -
  9. st-coggener-notmin su gnr-tip = "cp" + del-coggener su tutte le righe di tipo "cp" (svuotamento completo);
  10. scorre l'array tm-... (fino a k-max-ele-tab) e, per ogni riga con tm-codalt valorizzato, scrive un nuovo record COGGENER (gnr-tip = "cp", gnr-parte-1 = tacodice, gnr-parte-2 = spaces, gnr-prog = 0, gnr-des = tm-codalt) con wr-coggener.
  11. st-stampa (F9): stampa dell'elenco condizione/codice/codice-alternativo; configura la stampante via COGS54 (id FORML1) e scrive le righe su flsta.
  12. fine / z-chiudi: z-close-files, chiude window, z-99-exit-program, exit program.

File e tabelle acceduti

File Record Modalita' Uso
COGTABEL (logico feurtab) euta-rec (tipo euta-tipo = 22 e = 14) Input Lettura condizioni di pagamento (tipo 22) e codici di pagamento (tipo 14)
COGGENER gnr-rec (tipo gnr-tip = "cp") I-O Lettura/cancellazione/scrittura dei collegamenti codici pagamento -> codici alternativi
FLSTA flsta (sequenziale) Output File di stampa dell'elenco collegamenti (F9)

Verbi di accesso (da cogd14.prc): su COGTABEL st-cogtabel-notmin, rdnxt-cogtabel; su COGGENER st-coggener-notmin, rdnxt-coggener, rd-coggener, wr-coggener, del-coggener.


Copybook principali

Strutture dati / FD: - feurtab.fd, cogfiles.cpy - file fisico generalizzato tabelle. - flsta.fd, flsta.cpy - file di stampa sequenziale. - wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy - working-storage standard. - utils54.cpy - area di interfaccia verso il modulo di stampa COGS54. - wcont.cpy (stringhe), wcont1.cpy (linkage) - aree di comunicazione comuni.

Griglia / GUI: - wgrid.cpy, utilgdad.cpy, utilgrid.cpy - gestione griglia e GRIDADMN. - mmmask.cpy - framework maschera GUI.

Screen Designer: - cogd14.select, cogd14.fd, cogd14.wrk, cogd14.decla, cogd14.prc, cogd14-01.scr - artefatti generati dallo Screen Designer. cogd14.prc fornisce i verbi di accesso a COGTABEL e COGGENER.

Routine finali: grave.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy.


Programmi chiamati (CALL)

Programma Scopo
GRIDADMN Gestione griglia GUI: Prepara, Svuota-Tutto, Add-Record, Modify-Record, personalizzazione colonne
COGS54 Configurazione stampante e stampa dell'elenco collegamenti (id modulo FORML1)

Note

  • L'aggiornamento F3 e' massivo: cancella integralmente le righe COGGENER di tipo "cp" e le riscrive dai valori correnti della griglia. Le modifiche fatte in griglia sono scritte su file solo confermando con F3.
  • La chiave del collegamento e' tacodice = condizione di pagamento (tarb, tipo 22) + codice di pagamento (tacod, tipo 14): esiste una riga per ogni coppia. Il codice mostrato in griglia e' formattato condizione/codice.
  • I collegamenti sono memorizzati in COGGENER con gnr-tip = "cp" (raccordo "codice pagamento"): vedi interno/tabelle/coggener.md. I codici e le condizioni di pagamento provengono da COGTABEL tipi 14 e 22 (vedi interno/tabelle/cogtabel-indice.md).
  • Limiti: max 20 condizioni di pagamento (k-max-tr-rb) e max 900 righe di griglia (k-max-ele-tab); gli elementi eccedenti vengono scartati con messaggio.
  • L'esportazione dei soli codici di pagamento su file di testo e' gestita dal programma "gemello" cogd06.
  • Rientra nel flusso flussi/sistema-utility.md (sezione Collegamenti).
  • Il flusso di elaborazione usa go to e perform ... thru (stile legacy del sorgente originale).
  • Nessuna configurazione RNEWCONF letta.

Documentazione tecnica -- creata 2026-08-06