COGV77 - Movimenti Provvigioni da Pagare¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGV77 |
| Titolo | Selezione/Fleggatura movimenti da pagare a rappresentante |
| Posizione menu | Vendite > Provvigioni > Movimenti da Pagare |
Scopo e logica generale¶
COGV77 e' un programma interattivo per la selezione e contrassegno dei movimenti di provvigione da corrispondere a un agente. Partendo dalle fatture emesse in un periodo, il programma:
- Cerca le bolle collegate tramite il raccordo fattura-bolla
- Individua la provvigione specifica per la combinazione merce/cliente
- Popola un file di transito con i dettagli delle provvigioni calcolate
- Presenta una griglia paginata con i movimenti trovati
- Permette la selezione/deselezione dei movimenti da pagare
La griglia include anche i dati della "forbice" prezzi: prezzo applicato, prezzo obbligatorio, minimo, massimo e le relative percentuali di scostamento.
Flusso principale¶
- Inizializzazione (
apri): controllo abilitazione, lettura azienda, apertura file, lettura divisa conto, caricamento tipi documento (u-tipidoc), lettura configurazione RNEWCONF (x99-src-cfg), configurazione tasti funzione (SF4, F3 conferma/aggiorna, F8, Invio selezione, SF5 export Excel) - Accept parametri (
a4/a-tm-age/a-tm-mov/a-tm-data-da/a-tm-data-a): - Agente (
tm-age): con ricerca COGE35 (F8), validazione su anagrafica + tabella agenti (euta tipo 21) - Tipo movimento (
tm-mov): N=da pagare, T=tutti - Data da (
tm-data-da) e Data a (tm-data-a): con calendario COGS52W - Conferma (
a-richiesta-conferma): validazione parametri, apertura file transito, elaborazione - Elaborazione (
b-src-movthruex-b): ricerca fatture per agente e periodo, calcolo provvigioni - Calcolo provvigioni (
b1-cmp-prvthruex-b1): elaborazione dettaglio provvigioni per riga fattura - Griglia paginata (
a-grid): - Invio: selezione/deselezione movimento (
c1-sel-fat) - F3: aggiornamento contrassegni su file (
d-agg-tes) - SF4: amministrazione griglia
- SF5: esporta in Excel
- PgUp/PgDn: navigazione pagine
- Chiusura (
fine): chiusura e cancellazione file transito,z-99-exit-program
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| COGTABEL | euta-rec | Input | Tabelle generiche (agenti tipo 21, vettori tipo 47, ecc.) |
| COGGEANA | ana-rec | Input | Anagrafica generale (validazione agente come fornitore) |
| COGTRANS | trs-rec | I-O | File transito provvigioni (temporaneo, per operatore) |
| FEURTAB | feurtab | Input | Tabella generica Eurosystem |
+ file da cogv77.select |
vari | Input | File fatture, bolle, raccordi, listini provvigioni |
File di transito COGTRANS¶
File indicizzato temporaneo, chiave unica trs-chia1:
- trs-age (5): codice agente
- trs-fattura (12): anno + tipo + numero fattura
- trs-fat-div (2): divisa fattura
- trs-dettaglio (10): codice merce (oppure conto COGE redefines)
- trs-prezzo (18): prezzo di vendita
- trs-tip-prv (1): tipo provvigione
- trs-ordine (13): ordine di riferimento
Dati aggiuntivi: data, cliente, quantita', importo, provvigione base, provvigione calcolata, flag "da pagare", flag "gia' pagato", flag agente, dati forbice prezzi.
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
cogv77-01.scr |
Maschera principale |
cogv77.select |
SELECT dei file |
cogv77.fd |
FD dei file |
cogv77.wrk |
Working storage maschera |
cogv77.decla |
Declaratives (cogtrans) |
Strutture dati e utility¶
| Copybook | Contenuto |
|---|---|
COGFILES.CPY |
FD feurtab |
k-personal.cpy |
Costanti personalizzazioni |
wstato.cpy, wgrave.cpy, wgrid.cpy, wopenf.cpy, wnscr.cpy |
Standard working storage |
cogazien.cpy |
Dati azienda |
wtipidoc.cpy |
Tipi documento |
utilgdad.cpy |
Utility grid admin |
utilncnf.cpy |
Parametri RNEWCONF |
utils52.cpy, utils68.cpy, utils20.cpy |
Utility varie |
utile35.cpy |
Interfaccia COGE35 (ricerca agente) |
utilu09.cpy, utilu10.cpy |
Utility U09/U10 |
k-u10.cpy |
Costanti U10 |
wcont.cpy, wcont1.cpy |
Linkage section |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS52W | Calendario per selezione date |
| COGE35 | Ricerca agente/fornitore (F8) |
| COGU10W | Gestione importi, divise, formattazione |
| GRIDADMN | Amministrazione griglia |
| RNEWCONF | Lettura configurazione |
| COGS20 | Utility (cancellato a fine programma) |
Configurazione (RNEWCONF)¶
| Parametro | Campo | Utilizzo |
|---|---|---|
| Tipo calcolo provvigioni | tm-cfg-tipo-calcolo |
Determina il metodo di calcolo delle provvigioni |
Logica di business¶
Ricerca movimenti¶
Il programma cerca le fatture nel periodo indicato per l'agente selezionato. Per ogni fattura, risale alle bolle tramite il raccordo, individua le righe merce e cerca la provvigione specifica nella tabella provvigioni agente.
Calcolo provvigioni¶
Per ogni riga, la provvigione puo' essere:
- Percentuale: trs-prv-bas contiene la percentuale, applicata a trs-importo
- Forfettaria: trs-prv-bas contiene il valore forfettario
Il campo trs-tip-prv identifica il tipo (4 char nella griglia).
Forbice prezzi¶
Per ogni riga viene calcolata la "forbice" con:
- trs-f-pre-app: prezzo applicato nella vendita
- trs-f-pre-obb: prezzo obbligatorio da listino
- trs-f-pre-min / trs-f-pre-max: range prezzi consentito
- trs-f-perc-obb / trs-f-perc-min / trs-f-perc-max: percentuali riferimento
- trs-f-perc-calc: percentuale calcolata effettiva
- trs-f-perc-scost: scostamento percentuale (con segno)
Selezione e aggiornamento¶
Invio sulla griglia alterna il flag tmr-pag del movimento. Alla conferma F3, il paragrafo d-agg-tes scorre il file transito e aggiorna lo stato dei movimenti contrassegnati.
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
tm-age |
Codice agente |
tm-age-des |
Descrizione agente |
tm-age-div |
Divisa agente |
tm-mov |
Tipo movimento: N=da pagare, T=tutti |
tm-data-da / tm-data-a |
Range date fatture |
tm-totale |
Totale importi visualizzati |
tm-totale-prov |
Totale provvigioni calcolate |
w-totale / w-totale-prov |
Accumulatori totali (comp-4) |
n-m |
Numero movimenti trovati |
fl-read |
Stato lettura paginata: "E"=fine, "B"=inizio |
name-trs |
Path file transito operatore |