Vai al contenuto

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

  1. apri: inizializzazione, apertura file, lettura azienda. Se richiamato come called (e35-called = k-program-id), imposta modalita' "S" (Selezione), altrimenti "A" (Aggiornamento).

  2. a4: reset griglia e maschera.

  3. a10 / a10-loop: caricamento agenti da COGTABEL (tipo 21). Per ogni agente:

  4. Legge euta-codr, euta-fl-prv, euta-tratt-sind, euta-fl-tipo-pro, euta-area-zona, euta-fl-paga-prov
  5. Se euta-fl-paga-prov = spaces, lo inizializza a "N" e fa rwr-cogtabel
  6. Legge anagrafica fornitore (COGGEANA tipo "F") per nome, indirizzo, localita', ritac, rit-prev

  7. 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.

  8. a-grid / a-accept-grid: ciclo griglia:

  9. Invio in modalita' Aggiornamento: apre dettaglio riga (a-riga-dettaglio) in modifica
  10. Invio in modalita' Selezione: restituisce e35-out-cod e e35-out-des
  11. F3 in modalita' Aggiornamento: se called, passa a Selezione
  12. F3 in modalita' Selezione: passa ad Aggiornamento
  13. Ctrl+A: inserimento nuovo agente
  14. Ctrl+E: cancellazione agente con conferma (c1-ctrl-canc, c-cancella)
  15. F9: stampa (st-stampa)
  16. 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").