Vai al contenuto

COGX33 - Assegnazione Vettura Venduta

Scopo

Wrapper interattivo che concatena la creazione di una proposta (COGX26) e di un ordine (COGX30) per una singola vettura venduta. A partire da matricola/targa e cliente, costruisce i parametri di linkage e chiama in sequenza COGX26 con operazione "I" e poi COGX30 con operazione "I". Offre infine la stampa di proposta/ordine via DIALOGS.

Posizioni menu

  • Magazzino > Gestione Veicoli > Commerciale > Assegnazione Vettura Venduta

File e Tabelle

File Copybook Utilizzo
FEURTAB cogfiles.cpy Tabella file di sistema
cogx33.select (generato da Screens) SELECT
cogx33.fd (generato da Screens) FD
BCVETTUR (da cogx33.fd) Anagrafica vetture (lookup)
BCTESPRO (da cogx33.fd) Testate proposte (controlli)
BCRIGPRO (da cogx33.fd) Righe proposte (controllo presenza in ordine)
COGGEANA (da cogx33.fd) Anagrafica clienti
COGRACMT (da cogx33.fd) Raccolta mezzi (recupero merce da targa)
BCVEICOL (da cogx33.fd) Anagrafica veicoli (controllo amministrativo)
BCMOVIM (da cogx33.fd) Movimenti veicoli (controllo uscita amministrativa)
BCCONTRA (da cogx33.fd) Contratti vendita (controllo amministrativo)

Copybook

Working storage

  • cogx33.wrk (generato da Screens)
  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy
  • utildlg.cpy, utils52.cpy, utils65.cpy
  • utilx24.cpy, utilx26.cpy, utilx27.cpy, utilx30.cpy, utilx31.cpy, utilx35.cpy

Linkage

  • wcont.cpy, wcont1.cpy

Procedure

  • Standard (grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy)
  • cogx33.prc
  • Chiavi: bcvettur.k02, bcvettur.k03, bcrigpro.k02

CALL

Programma Scopo
COGS65W Lookup cliente (anagrafica)
COGS52 Input data con calendario
COGX24 Lookup vetture assegnate (F8 su matricola/targa)
COGX26 Creazione proposta
COGX30 Creazione ordine
COGX27 Stampa proposta (dialog finale F8)
COGX31 Stampa ordine (dialog finale F9)
COGX35 Edit dati cliente non codificato (codice 99999)
DIALOGS Dialog finale post-conferma

Parametri di chiamata (linkage)

Nessuno specifico oltre alle stringhe standard.

Logica di elaborazione

Flusso principale

  1. a-tm-random / a-tm-targa: input matricola o targa (F8 chiama COGX24 con x24-in-tip = "A")
  2. a-inizio-dati: controlli di disponibilita' (ctrl-random, ctrl-ammin)
  3. a-tm-cli-cod: cliente acquirente (con eventuale edit cliente non codificato via COGX35)
  4. a-tm-data: data
  5. a-fine-dati: chiamata a COGX26 (inserimento proposta) + COGX30 (inserimento ordine)
  6. a-fine-dlg-acc: dialog post-conferma con stampa opzionale

Controlli (paragrafo ctrl-random)

Scorre BCRIGPRO con chiave 2 (random) per la matricola scelta: - Se trova una riga con brp-ord-rig not = 0: "Autoveicolo in ordine" - Se trova una riga su testata con btp-fl-stock = "S": "Autoveicolo in proposta stock"

In entrambi i casi blocca il flusso.

Controlli (paragrafo ctrl-ammin)

Cerca COGRACMT con tipo "TA" + targa, ricava il codice merce, legge BCVEICOL, scorre BCMOVIM con chiave 1 (merce): - Se trova BCCONTRA con stessa chiave (bcm-mer-chia + bcm-prog): "Contratto di Vendita in procedura amministrativa" - Se trova bcm-cau-usc not = 0: "Veicolo Uscito in procedura amministrativa"

Chiamata COGX26 (inserimento proposta)

move "COGX26"     to x26-called
move k-program-id to x26-caller   *> "COGX33"
move tm-random    to x26-random
move tm-cli-cod   to x26-cli
move tm-data      to x26-data
if tm-cli-cod = 99999
   move tm-nome, tm-ind, ... to x26-nome, x26-ind, ...
end-if
move "I" to x26-operazione
call "COGX26"

COGX26 quando riceve x26-random non zero da COGX33 salta i parametri iniziali e va direttamente all'editing della proposta.

Chiamata COGX30 (inserimento ordine)

move "COGX30"      to x30-called
move k-program-id  to x30-caller
move "I"           to x30-operazione
move tm-prop-anno  to x30-anno
move tm-prop-numero to x30-numero
move tm-data       to x30-data-ord
call "COGX30"

Se COGX30 fallisce, resta la sola proposta: viene mostrato un messaggio e il flusso continua con tm-ord-anno = 0.

Dialog finale

Costruita con utildlg.cpy + DIALOGS: - Esc -> uscita - F8 -> stampa proposta (chiama COGX27 con x27-btp-anno/x27-btp-numero) - F9 -> stampa ordine (solo se generato, chiama COGX31 con x31-btp-ord-ann/x31-btp-ord-num)

Note tecniche

  • GUI (screen section con cogx33-01.scr)
  • Non scrive dati direttamente: delega tutto a COGX26 e COGX30
  • I controlli pre-chiamata evitano la creazione di proposte su vetture non vendibili