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).
Menu¶
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.cpycoga13.select,coga13.fd,coga13.wrk,coga13-01.scr,coga13.decla,coga13.prc(screen designer, incbl/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 (marcato200624)utilncnf.cpy-- lettura configurazioniutildlg.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¶
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.a4: azzeratab-mascheraericordante, imposta intervallo date di default (dal 1 del mese di sistema a data odierna) e tipo elaborazioneN(simulazione); carica i controlli.- Accept dei filtri:
a-tm-old-cau(vecchia causale, aiuto F8 viasend-w01, validazione su COGTABEL tipo 15 che salva anche i parametri della causale inricordante),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). a-inizio-dati/x-imposta-conferma: verifica la completezza dei campi obbligatori.a-ddt-fatturati: dialog DIALOGS per scegliere se includere i DDT gia' fatturati (impostatm-ddt-fatturati).a-fine-richieste: conferma finale (acc-conf); riapre il log in modalita' principale, scrive l'inizio elaborazione ed esegueb-elabora.b-elabora/b-start/b-10-loop: posizionaCOGTESBOsulla chiavechia2alla 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.controlli-su-raccordi: se non si devono toccare i DDT fatturati, verifica suCOGRACCO(chiavechia2) se la bolla e' gia' raccordata a fattura; in tal caso impostari-flag-skip = 'S'e la salta.- 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...", sostituiscetm-new-cauintes-causalee riscrive conrwr-cogtesbo, incrementando i contatori (tm-m-ccandidati,tm-m-mmodificati). - Fine: scrive fine elaborazione nel log, lo chiude e lo apre in consultazione con GESLPRC;
z-chiudichiude file e finestra.
Note tecniche¶
- Costante
k-euta-tipo-causale = 15: tipo tabella causali su COGTABEL. - La scansione usa la chiave secondaria
chia2di COGTESBO e COGRACCO; le copybook chiavecogtesbo.k02ecogracco.k02sono 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
200624nel sorgente.