COGE35 -- Tabella Agenti¶
Sorgente: cbl/coge35.cbl | Program-ID: COGE35 | Tipo: Interattivo (gestione tabella)
Menu: Contabilita' > Archivi & Tabelle > Tabelle > Agenti > Agenti / Contabilita' > Documenti Iva > Tabulato di Controllo
Scopo¶
Gestione della tabella agenti della contabilita'. Presenta una griglia con l'elenco di tutti gli agenti (COGTABEL tipo 21), permettendo inserimento, modifica e cancellazione. I dati anagrafici (nome, indirizzo, localita') vengono letti dall'anagrafica fornitori (COGGEANA con tipo "F"). Le modifiche a ritenute d'acconto e previdenziali vengono propagate alla scheda anagrafica fornitore.
Puo' essere richiamato in modalita' "Selezione" da altri programmi tramite la copybook utile35.cpy.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB (COGTABEL) | Indicizzato | I-O | Tabella generica: tipo 21 = agenti, tipo 46 = rit. acconto, tipo 39 = rit. previd., tipo "AZ" = tipi provvigione, tipo "BV" = aree zona |
| COGGEANA | Indicizzato | I-O | Anagrafica generale (tipo "F" = fornitori), lettura dati nome/indirizzo e aggiornamento ritac/rit-prev |
| COGANCAP | Indicizzato | I-O | Marker anagrafica per esportazione KPN |
| FLSTA | Sequenziale | Output | File di stampa |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
| feurtab.fd | SELECT della tabella COGTABEL |
| coge35.select | SELECT generati da Screens |
| coge35.fd | FD generata da Screens |
| coge35.wrk | Working-storage generata da Screens (include k-program-id, strutture griglia) |
| coge35.decla | Declaratives per gestione errori I/O |
| coge35-01.scr | Screen principale |
| flsta.fd / flsta.cpy | File di stampa |
| cogfiles.cpy | Definizione record COGTABEL (euta-*) |
| wstato.cpy | Variabili di stato |
| wgrave.cpy | Variabili messaggi gravi |
| wgrid.cpy | Variabili gestione griglia |
| wopenf.cpy | Variabili apertura file |
| wnscr.cpy | Variabili screen |
| cogazien.cpy | Dati azienda corrente |
| utilgdad.cpy | Utility per GRIDADMN |
| utils54.cpy | Utility stampa (COGS54) |
| utils65.cpy | Utility ricerca codice (COGS65) |
| utilu20.cpy | Utility input numerico (COGU20W) |
| utile16.cpy | Parametri per COGE16 (selezione ritenute acconto) |
| utilw80.cpy | Parametri per WIN080 (lookup tabelle generiche) |
| utilcap270.cpy | Parametri per CAP270 (selezione aree zona, consorzi) |
| utilagprg.cpy | Utility programma agenti |
| wcont.cpy / wcont1.cpy | Struttura linkage standard |
| utila68.cpy | Parametri per COGA68 (selezione tipi provvigione) |
| utile35.cpy | Parametri di linkage per chiamata esterna (e35-called, e35-caller, e35-out-cod, e35-out-des) |
Struttura del programma¶
Flusso principale¶
-
apri: inizializzazione, apertura file, lettura azienda. Se richiamato come called (e35-called = k-program-id), imposta modalita' "S" (Selezione), altrimenti "A" (Aggiornamento).
-
a4: reset griglia e maschera.
-
a10 / a10-loop: caricamento agenti da COGTABEL (tipo 21). Per ogni agente:
- Legge euta-codr, euta-fl-prv, euta-tratt-sind, euta-fl-tipo-pro, euta-area-zona, euta-fl-paga-prov
- Se euta-fl-paga-prov = spaces, lo inizializza a "N" e fa rwr-cogtabel
-
Legge anagrafica fornitore (COGGEANA tipo "F") per nome, indirizzo, localita', ritac, rit-prev
-
a30: per ogni agente caricato, risolve le descrizioni delle ritenute (tipo 46, 39), tipo provvigione (tipo "AZ"), area zona (tipo "BV"), poi costruisce la griglia.
-
a-grid / a-accept-grid: ciclo griglia:
- Invio in modalita' Aggiornamento: apre dettaglio riga (a-riga-dettaglio) in modifica
- Invio in modalita' Selezione: restituisce e35-out-cod e e35-out-des
- F3 in modalita' Aggiornamento: se called, passa a Selezione
- F3 in modalita' Selezione: passa ad Aggiornamento
- Ctrl+A: inserimento nuovo agente
- Ctrl+E: cancellazione agente con conferma (c1-ctrl-canc, c-cancella)
- F9: stampa (st-stampa)
- Shift+F4: GRIDADMN
Dettaglio riga (a-riga-dettaglio)¶
Sequenza di accept:
- a-tm-cod: codice agente (con COGS65 per validazione/lookup)
- a-tm-tratt-sind: trattenuta sindacale (con COGU20W)
- a-tm-ana-ritac: ritenuta acconto (F8 chiama COGE16)
- a-tm-ana-rit-prev: ritenuta previdenziale (F8 chiama WIN080 tipo 39)
- a-tm-fl-tipo-pro: tipo provvigione (F8 chiama COGA68)
- a-tm-area-zona: area zona agente (visibile se consorzi, F8 chiama CAP270)
- a-tm-fl-paga-prov: flag pagamento provvigioni partite scadute +6 mesi
Salvataggio (a-riga-dettaglio-fine)¶
- Se inserimento: scrive nuovo record COGTABEL (tipo 21) con wr-cogtabel
- Se modifica: aggiorna con rwr-cogtabel
- Aggiorna COGGEANA (ana-ritac, ana-rit-prev) con rwr-coggeana
- Aggiorna COGANCAP come marker per esportazione KPN
Chiamate esterne¶
| Programma | Modalita' | Scopo |
|---|---|---|
| COGS65 | CALL (via perform z-s65-*) | Validazione/lookup codice agente |
| COGU20W | CALL (via perform z-u20-*) | Input campo numerico (tratt. sindacale) |
| COGE16 | CALL | Selezione ritenuta acconto |
| WIN080 | CALL (via perform send-w80) | Lookup tabelle generiche (rit. previdenziale) |
| COGA68 | CALL | Selezione tipo provvigione |
| CAP270 | CALL | Selezione area zona agente (consorzi) |
| COGS54 | CALL | Gestione stampa |
| GRIDADMN | CALL | Gestione avanzata griglia |
| COGS95 | CALL (via perform z-s95-*) | Gestione check-box |
Variabili principali¶
| Variabile | Tipo | Descrizione |
|---|---|---|
| tab-maschera | 01 | Struttura griglia: tm-ele-sav (backup riga), tm-pnt (contatore righe), tm-tab (fino a 900 righe) |
| tm-righe (i) | Riga griglia | Contiene: tm-cod, tm-nome, tm-indi, tm-loca, tm-flprv, tm-tratt-sind, tm-ana-ritac, tm-ritac-des, tm-ana-rit-prev, tm-rit-prev-des, tm-fl-tipo-pro, tm-des-tipo-pro, tm-area-zona, tm-area-zona-d, tm-fl-paga-prov |
| grid-record | 01 | Record di interscambio con griglia |
| a-modalita | 77 | "S" = Selezione, "A" = Aggiornamento |
| a-operazione | 77 | "I" = Inserimento, "M" = Modifica |
| k-euta-tipo | 78 | 21 (tipo tabella agenti) |
| k-euta-tipo-az | 78 | "AZ" (tipo tabella provvigioni) |
Note¶
- Gli agenti sono memorizzati come record COGTABEL con euta-tipo = 21 e euta-codr = codice numerico.
- Il collegamento all'anagrafica e' tramite COGGEANA tipo "F" (fornitori), con ana-cod = tm-cod.
- Le ritenute d'acconto e previdenziali vengono salvate sia nella tabella agente sia nell'anagrafica fornitore.
- Il campo euta-fl-paga-prov viene inizializzato a "N" automaticamente se trovato vuoto (migrazione dati).
- L'area zona e' visibile solo per installazioni con consorzi (az-consorzi = "S").