Vai al contenuto

COGA13 - Modifica Causali su Bolle

Scopo

Procedura batch (con maschera di impostazione) per la variazione massiva della causale sui documenti di trasporto (bolle/DDT). L'operatore indica una causale "vecchia", una causale "nuova", un intervallo di date, opzionalmente il tipo documento, e sceglie se elaborare in simulazione o in definitiva. Il programma scandisce le testate bolla (COGTESBO), individua quelle con la causale vecchia nel periodo e, in modalita' definitiva, sostituisce la causale con quella nuova. Puo' escludere i DDT gia' legati a fattura e produce un log di elaborazione consultabile tramite il gestore log (GESLPRC).

Magazzino > Archivi & Tabelle > Varie > Modifica Causali su Bolle

File e tabelle

File Tipo Descrizione
FEURTAB Parametri File parametri di ambiente (cogfiles.cpy)
COGTESBO Indicizzato Testate bolle/DDT. Scandito sulla chiave secondaria chia2 (st-cogtesbo-notmin-chia2), a partire da tes-data/tes-chia3; campi usati tes-data, tes-tipob, tes-causale, tes-tipocf, tes-nonno, tes-mag, tes-anno, tes-bolla3. Aggiornato con rwr-cogtesbo
COGRACCO Indicizzato Raccordi bolla/fattura. Scandito sulla chiave secondaria chia2 per verificare se la bolla e' gia' fatturata (rac-mag, rac-anno1, rac-tipo1, rac-bolla)
COGTABEL Indicizzato Tabelle codificate; letta con tipo 15 (k-euta-tipo-causale) per validare vecchia e nuova causale e recuperarne i parametri (euta-cb-fl-eu, euta-cb-cli-for, euta-cb-con-gia, euta-cb-con-fat, euta-cb-des)
COGGEANA Indicizzato Anagrafiche generiche; letta per il nome cliente/fornitore (ana-nome) nel log

Copybook

File e select

  • feurtab.fd, cogfiles.cpy
  • coga13.select, coga13.fd, coga13.wrk, coga13-01.scr, coga13.decla, coga13.prc (screen designer, in cbl/screens/)
  • Chiavi secondarie aggiunte manualmente: cogtesbo.k02, cogracco.k02

Working-storage standard

  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy

Utilita'

  • utils52.cpy (data/calendario), utilw01.cpy (aiuto causali)
  • utilgesdebug.cpy + gesdebug.cpy -- log di procedura (marcato 200624)
  • utilncnf.cpy -- lettura configurazioni
  • utildlg.cpy -- dialog a scelta multipla (DDT fatturati)

Linkage

  • wcont.cpy, wcont1.cpy

Procedure

  • stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy, sendw01.cpy

CALL

Programma Descrizione
DIALOGS Dialog a scelta multipla (util-dlg) per decidere se aggiornare anche i DDT gia' fatturati (F5 solo da fatturare / F8 anche fatturati)
GESLPRC Consultazione del log di procedura al termine dell'elaborazione (geslprc-ope = "CONSULTA-PROCEDURA")

Il logging (gesdebug-apri-principale, gesdebug-write, gesdebug-chiudi) e' fornito dai copybook gesdebug.cpy/utilgesdebug.cpy (marcatori 200624).

Logica di elaborazione

  1. apri: program-id, controllo abilitazioni, apertura file, lettura azienda; carica configurazione debug e apre il log (gesdebug-loadconf, gesdebug-apri-principale); imposta i tasti (F3 aggiorna, F8 aiuto) e prepara la maschera.
  2. a4: azzera tab-maschera e ricordante, imposta intervallo date di default (dal 1 del mese di sistema a data odierna) e tipo elaborazione N (simulazione); carica i controlli.
  3. Accept dei filtri: a-tm-old-cau (vecchia causale, aiuto F8 via send-w01, validazione su COGTABEL tipo 15 che salva anche i parametri della causale in ricordante), a-tm-new-cau (nuova causale, con avviso se i parametri differiscono e blocco se uguale alla vecchia), a-tm-da-data/a-tm-a-data (date con S52), a-tm-tip (tipo documento, opzionale), a-tm-tipo-elab (S/N via S60).
  4. a-inizio-dati / x-imposta-conferma: verifica la completezza dei campi obbligatori.
  5. a-ddt-fatturati: dialog DIALOGS per scegliere se includere i DDT gia' fatturati (imposta tm-ddt-fatturati).
  6. a-fine-richieste: conferma finale (acc-conf); riapre il log in modalita' principale, scrive l'inizio elaborazione ed esegue b-elabora.
  7. b-elabora / b-start / b-10-loop: posiziona COGTESBO sulla chiave chia2 alla data iniziale e scandisce in avanti; conta i letti (tm-m-l), salta i record fuori periodo (rifacendo la start se la data e' precedente, poiche' il magazzino e' capotesta), fuori dal tipo documento richiesto o con causale diversa dalla vecchia.
  8. controlli-su-raccordi: se non si devono toccare i DDT fatturati, verifica su COGRACCO (chiave chia2) se la bolla e' gia' raccordata a fattura; in tal caso imposta ri-flag-skip = 'S' e la salta.
  9. Elaborazione riga: legge l'anagrafica (COGGEANA) per il nome; in modalita' simulazione (tm-tipo-elab = "N") scrive nel log "Trovato ddt..."; in modalita' definitiva scrive "Modificato ddt...", sostituisce tm-new-cau in tes-causale e riscrive con rwr-cogtesbo, incrementando i contatori (tm-m-c candidati, tm-m-m modificati).
  10. Fine: scrive fine elaborazione nel log, lo chiude e lo apre in consultazione con GESLPRC; z-chiudi chiude file e finestra.

Note tecniche

  • Costante k-euta-tipo-causale = 15: tipo tabella causali su COGTABEL.
  • La scansione usa la chiave secondaria chia2 di COGTESBO e COGRACCO; le copybook chiave cogtesbo.k02 e cogracco.k02 sono incluse manualmente a fine procedure (Screens genera solo la chiave primaria).
  • Modalita' simulazione vs definitiva pilotata da tm-tipo-elab (N/S): in simulazione nessuna scrittura, solo log.
  • I ricordante.ri-old-* conservano i parametri della vecchia causale (fine mese, tipo anagrafico, gestione giacenza, fatturazione) per confrontarli con quelli della nuova e avvisare l'operatore in caso di discordanza.
  • Il blocco di logging e la scelta DDT fatturati sono stati introdotti nella revisione marcata 200624 nel sorgente.