Vai al contenuto

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

  1. Inizializzazione (apri): crea file di transito temporaneo (#COGF04<operatore>). Se gia' in uso, segnala errore e esce.
  2. Selezione parametri (a4 ... a-tm-pd): accept cliente (con ricerca S65), date da/a, flag sostituzione, flag provvigione, modalita' prova/definitivo.
  3. Conferma (a-richiesta-conferma): valida i campi, inizializza COGS54 per la stampa.

Fase 1 -- Caricamento dati (carica-dati ... ex-carica-dati)

  1. Ciclo clienti : scorre COGGEANA (un solo cliente se indicato, altrimenti tutti i clienti).
  2. Ciclo bolle (carica-bolle ... ex-carica-bolle): per ogni cliente, scorre COGTESBO con start su chiave 3 (tes-tipocf + tes-nonno). Filtra per:
  3. tm-sost = "N": solo bolle senza agente (tes-agente = 0)
  4. Intervallo date (tm-da-data / tm-a-data)
  5. Scrittura transito : per ogni bolla valida, scrive un record con vecchio agente (tes-agente), nuovo agente (ana-agente) e secondo agente (ana-age2).
  6. 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)

  1. 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.
  2. Intestazione (stampa-testa): indica se la stampa e' di prova o definitiva, con data e paginazione.
  3. 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-age2 da ana-age2), funzionalita' aggiunta il 13/11/2017 (marcatura 131117 nel sorgente).
  • Il flag provvigione/quantita' (tm-pq) viene copiato su tes-fl-prv della bolla in modalita' definitiva.
  • Formato stampa: 100 colonne.
  • Il programma usa PERFORM ... THRU in vari punti (carica-dati thru ex-carica-dati, stampa-dati thru ex-stampa-dati, ecc.).