COGF71 — Scadenzario Per Agente¶
Sorgente: cbl/cogf71.cbl | Program-ID: COGF71 | Tipo: Consultazione/stampa con parametri di selezione e griglia risultati
Menu: Contabilita' > Clienti a Part.Aperte > Scadenzario Per Agente
Scopo¶
Estrae e visualizza lo scadenzario delle partite aperte raggruppato per agente (o sub-agente). Elabora i dati dalla prima nota contabile (via COGS77), li carica su file di transito indicizzati e li presenta in griglia con totali per cliente e per agente. Supporta stampa e esportazione Excel.
Struttura della maschera¶
Screen definita in cogf71-01.scr. Due fasi:
Fase parametri (campi tab-maschera.tm-dati)¶
tm-tipo-estr: tipo estrazione — "A" (per agente) o altro (per sub-agente)tm-agente/tm-desc-age: codice e descrizione agente (COGS65W)tm-age2/tm-desc-age2: sub-agente (COGS65W)tm-tipo-divisa: "C" (divisa conto) o "I" (divisa originale)tm-stato-partite: "T" (tutte), "A" (aperte), "C" (chiuse)tm-codice/tm-raso: codice e ragione sociale anagrafica (COGS65W)tm-fat-tip/tm-fat-tip-des: tipo partita/documentotm-no-tipo-partita: "S" esclude, "N" include il tipo selezionatotm-datada/tm-dataa: intervallo date (COGS52)tm-tipag: tipo pagamento (COGU22)tm-attiva-escl/tm-data-escl: esclusione Ri.Ba. con data limite
Fase risultati (griglia e-tm-tab)¶
Array tm-righe (max 100 elementi) con campi: codice cliente, nome, tipo pagamento, fattura (anno/tipo/numero/scadenza), data fattura, data scadenza, importo, segno, sospensione, note, agente, sub-agente, divisa.
Griglia read-only (begin-entry -> fail-terminate).
Pulsanti custom bitmap: agente precedente (F5), agente successivo (F6), visualizza immagine (F4).
Logica di elaborazione¶
Inizializzazione¶
- Apre files, legge azienda. Se consorzi, legge configurazione consorzi e agente operatore.
- Apre file Ri.Ba. (
nutariba,nutsriba); se non esistono impostasw-rb = "NO RB". - Legge esercizio contabile da COGTABEL tipo 66.
- Crea file temporanei
cogtrans2,cogtrans,cogtrans3nella directory temp. - Se richiamato da altro programma (
w45-caller), preimposta i parametri dal linkageutil-w45. - Imposta tipo "C" (clienti) come default, tipo pagamento "T" (tutti).
Sequenza accept parametri¶
a-tm-tipo-estr > a-tm-agente > a-tm-age2 > a-tm-tipo-divisa > a-tm-stato-partite > a-tm-codice > a-tm-fat-tip > a-tm-no-tipo-partita > a-tm-datada > a-tm-dataa > a-tm-tipag > a-tm-attiva-escl > a-tm-data-escl > a-inizio-dati.
Estrazione dati (a-inizio-dati-ok e seguenti)¶
- Cerca parametri partite (
acce-24a): legge COGTABEL tipo 45 per configurazione partite aperte. - Chiama COGS77 (
una-pre-0): con funzione "R-VAL-ANA", calcola partite aperte e le scrive su file COGWPNO. - Legge COGWPNO (
una-20b): per ogni partita aperta: - Legge anagrafica cliente (
rd-coggeana). - Cerca raccordo fattura/DDT (
cogracco) per determinare il sub-agente (tes-age2). - Filtra per agente/sub-agente, tipo documento, personalizzazioni consorzio/agenzia, tipo pagamento.
- Cerca Ri.Ba. se il pagamento e' di tipo "I" o "R".
- Risolve nomi agente e sub-agente.
-
Scrive su
cogtrans2(file di transito ordinato per agente/nome/codice/data). -
Costruzione griglia (
ela-10,ela-20,par-00): - Legge
cogtrans2in ordine chiave secondaria (agente/nome/codice/data). - Chiama COGS51 per stato sospensione di ogni partita.
- Gestisce rotture per cliente (
rot-nome) e per agente (rot-agente) con righe di totale. - Scrive su
cogtrans(file ordinato per visualizzazione in griglia) ecogtrans3(totali per agente). - Sottrae importi di ritenuta d'acconto non a pagare (da
cogritac).
Navigazione griglia (a-grid)¶
- F5/F6: navigazione agente precedente/successivo (tramite
cogtrans3). - F9: stampa report (via
st-stampa). - F8: dettaglio partita.
- Shift+F5: esporta in Excel.
File utilizzati¶
| File | Tipo | Descrizione |
|---|---|---|
COGTABEL (feurtab) |
Input | Tabella generica (tipo 45 = config partite, tipo 66 = esercizio) |
| COGWPNO | Input | File partite calcolate da COGS77 |
| COGGEANA | Input | Anagrafica clienti/fornitori |
| COGRACCO | Input | Raccordo fattura/DDT |
| COGTESBO | Input | Testate bolle (per sub-agente) |
| COGRITAC | Input | Ritenute d'acconto |
| COGAGZON | Input | Zone agente (per filtro consorzi) |
| NUTARIBA | Input | Archivio Ri.Ba. (opzionale) |
| NUTSRIBA | Input | Archivio Ri.Ba. storico (opzionale) |
| PRNTOPER | Input | Operatore/agente (per consorzi) |
| cogtrans2 | Temp I-O | File di transito partite ordinato per agente |
| cogtrans | Temp I-O | File di transito per visualizzazione griglia |
| cogtrans3 | Temp I-O | File totali per agente |
| FLSTA | Temp | File di stampa |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGS77 | Calcolo partite aperte (funzione "R-VAL-ANA") |
| COGS51 | Stato sospensione partita |
| COGS65W | Accept codice anagrafico (clienti, fornitori, agenti) |
| COGS52W | Accept campo data |
| COGS60W | Accept combo-box (tipo estrazione, tipo divisa, stato partite) |
| COGS95W | Accept check-box (esclusione Ri.Ba., escludi tipo partita) |
| COGU10W | Gestione divisa di conto |
| COGU22 | Accept tipo pagamento |
| WIN067 | Selezione tipo documento |
| COGU06 | Visualizzazione immagine (F4) |
| GRIDADMN | Gestione griglia |
Copybook principali¶
| Copybook | Contenuto |
|---|---|
cogf71.select |
Select del programma |
cogf71.fd |
FD file aggiuntivi |
cogf71.wrk |
Working-storage generata |
cogf71-01.scr |
Screen section |
cogf71.decla |
Declaratives |
cogfiles.cpy |
FD COGTABEL |
cogwpno.cpy |
Record COGWPNO (partite) |
cogconta.cpy |
Record esercizio contabile |
cogmovpa.cpy |
Record movimenti partite |
capazien.cpy |
Dati azienda consorzi |
utilw45.cpy |
Linkage per chiamata esterna |
utilncnf.cpy |
Configurazioni |
wgrid.cpy |
Variabili gestione griglia |
utilgdad.cpy |
Interfaccia GRIDADMN |
Note tecniche¶
- Il programma gestisce tre file di transito temporanei nella directory temp, con nome che include operatore e timestamp per evitare conflitti.
- Il codice agente per la riga totale e' "TTTTT" (non piu' 99999, per evitare conflitti con agenti reali — TASK-993).
- In ambiente consorzi (AgriCenter, ecc.), vengono applicati filtri aggiuntivi per agenzia/polo/sede basati su
az-personal,az-main-age,w-ptop-age. - L'estrazione sottrae le ritenute d'acconto non a pagare (
rit-totritac - rit-ritac) dall'importo della partita. - La griglia e' completamente read-only.