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'arraytab-tipi-pag(max 20 elementi,k-max-tr-rb); ogni condizione e' identificata da un caratteretr-rb(euta-cod);euta-tipo = 14- codici di pagamento (euta-cod, descrizioneeuta-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¶
apri(main): impostaprog-err/w-nome-hlp, eseguectr-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).a4: svuota la griglia, inizializzatab-maschera, eseguea1-cerca-tipi-pag(carica le condizioni di pagamento tipo 22) ecarica-griglia(costruisce le righe condizione/codice con i collegamenti esistenti). Se nessun codice trovato, esce con messaggio.a1-cerca-tipi-pag: scorreCOGTABELtipo 22 const-cogtabel-notmin+rdnxt-cogtabel, accumulando le condizioni intr-rb (n-tr-rb); oltrek-max-tr-rb = 20segnala di aumentare la tabella.carica-griglia: scorreCOGTABELtipo 14; per ogni codice, per ogni condizione caricata, compone la riga (tarb/tacod,tm-cod=condizione/codice, descrizione daeuta-pg-des) e legge il collegamento corrente daCOGGENER(rd-coggener); il codice alternativo (gnr-des) va intm-codalt. Oltrek-max-ele-tab = 900gli elementi eccedenti sono scartati.a-grid/a-accept-grid: ciclo di accettazione griglia. Gestisce ESC (esce), doppio-click/Invio (in "A" apre la modifica riga, soggetta aw-abi-agg), SF4 (personalizzazione griglia via GRIDADMN), F9 (stampa), F3 (aggiornamento massivo).a-riga-dettaglio/a-tm-codalt: pannello dettaglio della riga; accept del codice alternativo (tm-codalt). Controllo viax-controlla-tm-codalt.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 suCOGGENERavviene solo alla conferma finale F3.a-aggiorna(F3): elaborazione massiva -st-coggener-notminsugnr-tip = "cp"+del-coggenersu tutte le righe di tipo"cp"(svuotamento completo);- scorre l'array
tm-...(fino ak-max-ele-tab) e, per ogni riga contm-codaltvalorizzato, scrive un nuovo recordCOGGENER(gnr-tip = "cp",gnr-parte-1 = tacodice,gnr-parte-2 = spaces,gnr-prog = 0,gnr-des = tm-codalt) conwr-coggener. st-stampa(F9): stampa dell'elenco condizione/codice/codice-alternativo; configura la stampante viaCOGS54(idFORML1) e scrive le righe suflsta.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
COGGENERdi 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' formattatocondizione/codice. - I collegamenti sono memorizzati in
COGGENERcongnr-tip = "cp"(raccordo "codice pagamento"): vediinterno/tabelle/coggener.md. I codici e le condizioni di pagamento provengono daCOGTABELtipi 14 e 22 (vediinterno/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 toeperform ... thru(stile legacy del sorgente originale). - Nessuna configurazione RNEWCONF letta.
Documentazione tecnica -- creata 2026-08-06