COGE17 -- Percentuali Provvigioni¶
Sorgente: cbl/coge17.cbl | Program-ID: COGE17 | Tipo: Gestione tabella interattiva con griglia
Menu: Vendite > Provvigioni > Perc. Provvigioni
Scopo¶
Gestione delle percentuali di provvigione degli agenti di vendita. Per ogni agente permette di definire, modificare e cancellare le associazioni merce/cliente -> percentuale provvigione. Supporta due modalita' di visualizzazione (per merce o per cliente), copia provvigioni da un agente all'altro, e gestione provvigioni a fasce (percentuale minima/massima). I dati sono memorizzati in COGPROVV. Per l'installazione "LO" viene delegato a COGE17R.
Struttura della maschera¶
Parametri di selezione (pagina 1)¶
| Campo | Variabile | Descrizione |
|---|---|---|
| Agente | tm-agente |
Codice agente (fornitore). F8 -> COGE35 per help. Validato su COGGEANA tipo "F" e COGTABEL tipo 21. |
| Copia da altro | tm-copia-da-altro |
"S"/"N" -- attiva copia provvigioni |
| Agente da copia | tm-agente-da-copia |
Codice agente sorgente per copia. F8 -> COGE35. Visibile se tm-copia-da-altro = "S". |
| Ricerca | tm-ricerca |
"M" = per merce, "C" = per cliente. Controlla layout griglia e visibilita' colonne. |
| Cliente | tm-r-cli |
Filtro per cliente (visibile se tm-ricerca = "M"). 0 = tutti i clienti. |
| Merce | tm-r-merce (gru/sot/cod) |
Filtro per merce (visibile se tm-ricerca = "M"). Gestione tramite z-s68-tm-r-merce. |
Griglia provvigioni (pagina 2 -- dettaglio)¶
| Campo | Variabile | Descrizione |
|---|---|---|
| Cliente | tm-cliente |
Codice cliente (visibile se tm-ricerca = "M") |
| Descrizione | tm-desc |
Descrizione cliente (visibile se tm-ricerca = "M") |
| Merce | tm-merce (gru/sot/cod) |
Codice merce (visibile se tm-ricerca = "C") |
| Descrizione merce | tm-merce-des |
Descrizione articolo |
| Percentuale | tm-perc |
Percentuale provvigione (9(2)v9(02)) |
| Divisa | tm-currency |
Divisa di riferimento |
| Valore | tm-val |
Importo fisso provvigione (9(12)v9(06)) |
| % Minima | tm-perc-min |
Percentuale minima (visibile se tm-cfg-tipo-calcolo = "F") |
| % Massima | tm-perc-max |
Percentuale massima (visibile se tm-cfg-tipo-calcolo = "F") |
Logica di elaborazione¶
Flusso principale¶
apri: lettura azienda; seaz-personal = "LO", chiamaCOGE17Re esce. Altrimenti: inizializzazione, apertura file, lettura configurazione RNEWCONF (x99-src-cfg), preparazione componente merce (z-s68-tm-r-merce), display maschera, preparazione griglia.a4: reinizializzazione, apertura COGTRANS (apri-cogtrans), display.- Accept parametri:
a-tm-agente->a-tm-copia-da-altro->a-tm-agente-da-copia->a-tm-ricerca->a-tm-r-cli->a-tm-r-merce. a-inizio-dati: validazione, caricamento dati (fill-file), visualizzazione griglia (vis-tabella).- Griglia: accept con gestione invio/doppio click (modifica riga), Ctrl+A (inserimento), Ctrl+E (cancellazione), F3 (aggiornamento), SF4 (personalizzazione), SF5 (export Excel).
Caricamento dati (fill-file)¶
Lettura sequenziale di COGPROVV filtrata per agente, con scrittura su COGTRANS. La chiave di COGTRANS e' composta da merce (gru/sot/cod) + cliente, con chiave alternata su cliente + merce.
Copia agente (copia-agente)¶
Se tm-copia-da-altro = "S" e l'agente sorgente e' valido:
- Lettura COGPROVV per l'agente sorgente
- Copia record su COGPROVV per l'agente destinazione
- Ricaricamento griglia
Configurazione griglia dinamica (z-gridadmn-prepara)¶
La visibilita' delle colonne dipende dalla modalita' di ricerca e dalla configurazione:
tm-ricerca = "M": colonne cliente, descrizione, percentuale, divisa, valore visibili; codice merce nascostatm-ricerca = "C": colonne codice merce, percentuale, divisa, valore visibili; cliente e descrizione nascostetm-cfg-tipo-calcolo = "F": colonne % minima e % massima visibilitm-cfg-tipo-calcolo = "S": colonne % minima e % massima nascoste
Aggiornamento record¶
L'aggiornamento (F3 dalla griglia) salva i dati modificati su COGPROVV. Le operazioni disponibili sono inserimento (wr-cogprovv), modifica (rwr-cogprovv) e cancellazione (del-cogprovv).
File utilizzati¶
| File | Accesso | Scopo |
|---|---|---|
| COGPROVV | I-O | Tabella provvigioni agenti |
| COGGEANA | Lettura | Anagrafica generale (validazione agente/cliente, nome) |
| COGTABEL | Lettura | Tabella agenti (tipo 21, validazione codice agente) |
| COGMERCE | Lettura | Anagrafica merce (descrizione) |
| COGTRANS | I-O | File transito temporaneo per griglia (in ext-tmp-dir, nome #$COGE17.{operatore}) |
Struttura COGTRANS¶
trs-chia1:
trs-merce:
trs-gru pic x(02) Gruppo merce
trs-sot pic x(02) Sottogruppo merce
trs-cod pic 9(05) Codice merce
trs-cli pic 9(05) Codice cliente
trs-chia2 = trs-cli + trs-merce (chiave alternata con duplicati)
trs-desc pic x(60) Descrizione
trs-currency pic x(02) Divisa
trs-prezzo pic 9(12)v9(06) Prezzo
trs-perc pic 9(02)v99 Percentuale provvigione
trs-val pic 9(12)v999999 Valore provvigione
trs-perc-min pic 9(02)v99 Percentuale minima
trs-perc-max pic 9(02)v99 Percentuale massima
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGE17R | Programma alternativo per installazione "LO" |
| COGE35 | Ricerca agente (F8 su campo agente) |
| COGS52W | Calendario (date picker) |
| COGS65W | Ricerca anagrafica (F8 su campo cliente) |
| GRIDADMN | Gestione griglia (prepara, svuota, add-record, personalizzazione SF4) |
| RNEWCONF | Lettura configurazione |
| COGU10W | Formattazione importi |
Copybook principali¶
coge17.wrk, coge17.select, coge17.fd, coge17.decla, coge17-01.scr, k-u10.cpy, wrk-u10.cpy, cogfiles.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utildlg.cpy, utilncnf.cpy, utils52.cpy, utils54.cpy, utilu20.cpy, utilu10.cpy, utils68.cpy, utils65.cpy, utile35.cpy
Configurazione (RNEWCONF)¶
Il programma legge la configurazione tramite x99-src-cfg:
tm-cfg-tipo-calcolo: tipo calcolo provvigioni."F"= fasce (mostra % min/max),"S"= standard (nasconde % min/max)
Note¶
- Il programma gestisce la visibilita' dinamica dei campi nella maschera e delle colonne nella griglia in base alla modalita' di ricerca (
tm-ricerca) e alla configurazione (tm-cfg-tipo-calcolo). - La griglia supporta massimo
k-max-ele-tab = 200elementi per pagina con spaginamento. - Per l'installazione "LO" (
az-personal = "LO"), il programma delega immediatamente a COGE17R e non esegue la propria logica. - La divisa dell'agente viene recuperata da
ana-divisadell'anagrafica; se vuota, usa la divisa di conto (w-currency-conto).