Vai al contenuto

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.cpy
  • utillogo.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

  1. a-tm-data: input data limite
  2. a-inizio-dati: conferma dell'operatore
  3. tratta-ordini: scansione BCTESPRO con chiave 3 (ord-num) per cancellazione delle testate con ordine
  4. ciclo-tespro: passata finale per eliminare le testate (anche proposte) rimaste senza righe
  5. 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