COGX32 - Cancellazione Vetture Assegnate¶
Scopo¶
Utility batch interattiva che cancella massivamente gli ordini di vendita con data ordine <= una data limite. Cancella righe e testate ordine/proposta, vetture assegnate e marca cancellati i veicoli collegati. Esegue la compattazione finale dei file bc*.* con VUTIL32.
Posizioni menu¶
- Magazzino > Gestione Veicoli > Commerciale > Cancellazione Vetture Assegnate
File e Tabelle¶
| File | Copybook | Utilizzo |
|---|---|---|
| FEURTAB | cogfiles.cpy | Tabella file di sistema |
| cogx32.select | (generato da Screens) | SELECT |
| cogx32.fd | (generato da Screens) | FD |
| BCTESPRO | (da cogx32.fd) | Testate proposta/ordine (cancellazione) |
| BCRIGPRO | (da cogx32.fd) | Righe (cancellazione) |
| BCVETTUR | (da cogx32.fd) | Anagrafica vetture (cancellazione vetture assegnate) |
| COGRACMT | (da cogx32.fd) | Raccolta mezzi (per recuperare il veicolo da targa) |
| BCVEICOL | (da cogx32.fd) | Anagrafica veicoli (marcatura bca-fl-canc = "S") |
Copybook¶
Working storage¶
cogx32.wrk(generato da Screens)wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpyutillogo.cpy,utils52.cpy
Linkage¶
wcont.cpy,wcont1.cpy
Procedure¶
- Standard (
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy) cogx32.prc- Chiavi:
bctespro.k03,bcrigpro.k02,bcvettur.k02
CALL¶
| Programma | Scopo |
|---|---|
| C$SYSTEM | Esecuzione comando esterno (lancio VUTIL32 per compattazione) |
VUTIL32 e' l'utility di compattazione Vision (file indicizzati AcuCOBOL): viene lanciato con argomenti -re -a <arc-dir>/bc*.*.
Parametri di chiamata (linkage)¶
Nessuno specifico oltre alle stringhe standard.
Logica di elaborazione¶
Flusso principale¶
a-tm-data: input data limitea-inizio-dati: conferma dell'operatoretratta-ordini: scansione BCTESPRO con chiave 3 (ord-num) per cancellazione delle testate con ordineciclo-tespro: passata finale per eliminare le testate (anche proposte) rimaste senza righe- Avviso utenti + lancio VUTIL32
Cancellazione di un ordine (paragrafi tratta-ordini + ciclo-righe + cancella-dati)¶
Per ogni btp-ord-ann/num non zero con btp-data-ord <= tm-data:
- Scorre BCRIGPRO con brp-testa = btp-chia1
- Per ogni riga con brp-ord-rig = 0 (non in ordine): cancella direttamente
- Per ogni riga con brp-ord-rig non zero: chiama cancella-dati:
- memorizza brp-random (matricola vettura)
- cancella la riga corrente
- scorre BCRIGPRO con chiave 2 (random) cancellando tutte le altre righe della stessa vettura
- legge BCVETTUR chiave 2 (random) e cancella la vettura (memorizzando la targa)
- cerca COGRACMT con tipo "TA" + targa, recupera la merce e marca BCVEICOL come cancellato
- Cancella la testata ordine
Cancellazione testate orfane (ciclo-tespro + ctrl-rigpro)¶
Scansione di tutte le testate BCTESPRO (proposte e ordini): se non hanno alcuna riga BCRIGPRO collegata, la testata viene cancellata. Questo elimina anche le proposte vecchie senza righe residue.
Compattazione fisica¶
string ext-run-dir, "/VUTIL32.EXE", " -re -a ", ext-arc-dir, "/bc*.*"
call "C$SYSTEM" using w-comando, w-flags giving w-exit-status
Compatta fisicamente tutti i file con prefisso bc nella directory archivi.
Note tecniche¶
- GUI (screen section con
cogx32-01.scr) - Operazione distruttiva: messaggio di avviso prima della compattazione
- I file vengono chiusi (
z-close-files) prima di VUTIL32 (richiesta esclusiva sui file) - Non c'e' rollback: la conferma deve essere consapevole