COGF04 -- Allineamento Agente su Testata Bolle¶
Sorgente: cbl/cogf04.cbl | Program-ID: COGF04 | Tipo: Elaborazione con stampa
Menu: Vendite > Provvigioni > Modifica Agente su Documento, Vendite > Provvigioni > Provvigioni ad incassato > Provvigioni Multilevel
Scopo¶
Allineamento dell'agente sulle testate bolle (COGTESBO) in base all'anagrafica del cliente (COGGEANA). Scorre le bolle dei clienti selezionati, confronta l'agente sulla bolla con quello in anagrafica e, in modalita' definitiva, aggiorna la testata bolla. Produce un report con vecchio e nuovo agente per ogni documento elaborato.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Tabella sistema | Input | Tabella di sistema |
| COGGEANA | Anagrafica | Input | Anagrafica clienti (per leggere agente corrente) |
| COGTESBO | Testata bolle | I-O | Testata bolle di vendita (lettura e aggiornamento agente) |
| COGTRANS | File di transito | I-O (temp) | File temporaneo per raccolta dati da stampare |
| FLSTA | Stampa | Output | File di stampa |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
| cogf04.select | SELECT dei file |
| cogf04.fd | File Description |
| cogf04.wrk | Working storage generata |
| cogf04.prc | Procedure generate da Screens |
| cogf04-01.scr | Screen section |
| cogf04.decla | Declaratives |
| flsta.fd / flsta.cpy | File di stampa |
| utils21.cpy | Interfaccia COGS21 |
| utils52.cpy | Interfaccia COGS52 (accept campi) |
| utils54.cpy | Interfaccia COGS54 (gestione stampa) |
| utils65.cpy | Interfaccia COGS65W (ricerca anagrafica) |
| cogconta.cpy | Dati contabilita' |
| cogtrans.k01 | Chiave primaria transito |
| cogtesbo.k03 | Chiave secondaria 3 testate bolle (per tipo/codice) |
| printer.cpy | Routine di stampa |
| cogazien.cpy | Dati azienda |
Struttura del programma¶
Variabili principali¶
tab-maschera(tm-*): parametri di selezione:tm-ana-cod(cliente),tm-da-data/tm-a-data(intervallo date),tm-sost(sostituisci agente S/N),tm-pq(flag provvigione/quantita'),tm-pd(prova/definitivo).trs-rec: record del file di transito, contiene: ordinamento, tipo/codice anagrafica, riferimento bolla (mag/anno/tipo/numero), nome, vecchio agente, nuovo agente, secondo agente, data.fl-num-dati: flag presenza dati trovati.k-chr-stampa: 100 colonne di stampa.
Flusso principale¶
- Inizializzazione (
apri): crea file di transito temporaneo (#COGF04<operatore>). Se gia' in uso, segnala errore e esce. - Selezione parametri (
a4...a-tm-pd): accept cliente (con ricerca S65), date da/a, flag sostituzione, flag provvigione, modalita' prova/definitivo. - Conferma (
a-richiesta-conferma): valida i campi, inizializza COGS54 per la stampa.
Fase 1 -- Caricamento dati (carica-dati ... ex-carica-dati)¶
- Ciclo clienti : scorre COGGEANA (un solo cliente se indicato, altrimenti tutti i clienti).
- Ciclo bolle (
carica-bolle...ex-carica-bolle): per ogni cliente, scorre COGTESBO con start su chiave 3 (tes-tipocf+tes-nonno). Filtra per: tm-sost = "N": solo bolle senza agente (tes-agente = 0)- Intervallo date (
tm-da-data/tm-a-data) - Scrittura transito : per ogni bolla valida, scrive un record con vecchio agente (
tes-agente), nuovo agente (ana-agente) e secondo agente (ana-age2). - Aggiornamento definitivo : se
tm-pd = "D", esegue REWRITE su COGTESBO con il nuovo agente dall'anagrafica e il flag provvigione (tm-pq).
Fase 2 -- Stampa (stampa-dati ... ex-stampa-dati)¶
- Lettura transito e stampa : riapre COGTRANS in input, scorre tutti i record e stampa una riga per ciascuno con: codice cliente, ragione sociale, riferimento bolla, data, vecchio agente, nuovo agente, secondo agente.
- Intestazione (
stampa-testa): indica se la stampa e' di prova o definitiva, con data e paginazione. - Chiusura (
chiudi-stampa): chiama COGS54 per completare la stampa.
Chiamate esterne¶
| Programma | Modalita' | Scopo |
|---|---|---|
| COGS54 | CALL | Gestione stampa (inizializzazione e chiusura) |
| COGS65W | CALL | Ricerca anagrafica con interfaccia grafica |
| COGS52 | CALL (via copy) | Accept campi con validazione |
Note¶
- Il file di transito e' esclusivo per operatore (
#COGF04<wo-oper>). Se gia' aperto, il programma segnala "Funzione gia' in uso dall'operatore". - La chiave secondaria 3 di COGTESBO (
cogtesbo.k03) viene usata per scorrere le bolle per tipo anagrafica e codice cliente. - Il programma aggiorna anche il secondo agente (
tes-age2daana-age2), funzionalita' aggiunta il 13/11/2017 (marcatura131117nel sorgente). - Il flag provvigione/quantita' (
tm-pq) viene copiato sutes-fl-prvdella bolla in modalita' definitiva. - Formato stampa: 100 colonne.
- Il programma usa
PERFORM ... THRUin vari punti (carica-dati thru ex-carica-dati,stampa-dati thru ex-stampa-dati, ecc.).