Vai al contenuto

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

  1. apri: lettura azienda; se az-personal = "LO", chiama COGE17R e esce. Altrimenti: inizializzazione, apertura file, lettura configurazione RNEWCONF (x99-src-cfg), preparazione componente merce (z-s68-tm-r-merce), display maschera, preparazione griglia.
  2. a4: reinizializzazione, apertura COGTRANS (apri-cogtrans), display.
  3. 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.
  4. a-inizio-dati: validazione, caricamento dati (fill-file), visualizzazione griglia (vis-tabella).
  5. 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:

  1. Lettura COGPROVV per l'agente sorgente
  2. Copia record su COGPROVV per l'agente destinazione
  3. 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 nascosta
  • tm-ricerca = "C": colonne codice merce, percentuale, divisa, valore visibili; cliente e descrizione nascoste
  • tm-cfg-tipo-calcolo = "F": colonne % minima e % massima visibili
  • tm-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 = 200 elementi 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-divisa dell'anagrafica; se vuota, usa la divisa di conto (w-currency-conto).