Vai al contenuto

COGP68 - Stampa Entrate da Camionista Esterno

Scopo

Stampa entrate da buoni di prelievo i cui riferimenti contengono il marker Px/giornata/codice (camionista esterno). Tre modalita' di output: x Giornata (G), x Cliente (C), x Riferimento (R). Genera un file di transito indicizzato cogtrans con tre chiavi alternative per scorrere i dati in funzione della modalita'.

Posizioni menu

  • Magazzino > Entrate > Buoni di Prelievo > Stampa Entrate da Camionista Esterno

File e Tabelle

File Copybook Utilizzo
FEURTAB cogfiles.cpy Tabella file di sistema
COGTESBP cogp68.fd Testata buoni di prelievo (chiave 2: data)
COGRIGBP cogp68.fd Righe buoni di prelievo
COGMERCI cogp68.fd Anagrafica merci (descrizione)
COGGEANA cogp68.fd Anagrafica clienti
COGTABEL cogp68.fd Tabelle
COGTRANS (definito inline) File di transito indicizzato con tre chiavi: chia1=data+rif+merce+num+prog, chia2=cod-ext+merce+giornata, chia3=rif+merce
STA - File di stampa (PRINTER)

Copybook

  • cogfiles.cpy, cogp68.select, cogp68.fd, cogp68.wrk, cogp68-01.scr, cogp68.decla, cogp68.prc
  • wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy
  • utils52.cpy, utils54.cpy, utilu10.cpy, utilncnf.cpy, cogazien.cpy, k-u10.cpy
  • wcont.cpy, wcont1.cpy
  • GetDCont.cpy, cogtesbp.k02, cogtrans.k01, cogtrans.k02, cogtrans.k03
  • stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, mmmask.cpy, opengen.cpy
  • printer.cpy

CALL

Programma Scopo
COGS52 Input data con calendario
COGS54 Parametri stampante
COGU10W Conversione divisa, arrotondamento, edit numerico
RNEWCONF Lettura configurazione GESTBUONIP (chiavi euta-c053-*)

Logica di elaborazione

Parametri input (tab-maschera)

  • tm-tipo-sta: G/C/R
  • tm-tipo: T/C/A (tutti/chiusi/aperti)
  • tm-da-data, tm-a-data: range date
  • tm-copie: numero copie

Configurazione (tab-cfg)

Letta da RNEWCONF percorso GESTBUONIP, padre C:

  • tm-cfg-tip-num, tm-cfg-ges-lav, tm-cfg-inf-tip, tm-cfg-tip-alb
  • tm-cfg-inf-cam, tm-cfg-inf-cid
  • tm-cfg-perc-ce: percentuale di scorporo per il calcolo "Da Avere" nella stampa per giornata

Flusso

  1. apri/a4: open files, lettura configurazione, default date (mese corrente).
  2. Maschera: accept campi (a-tm-tipo-sta, a-tm-tipo, a-tm-da-data, a-tm-a-data, a-tm-copie).
  3. a222: chiamata COGS54 per stampante.
  4. b_elabora - generazione transito:
  5. Open output cogtrans in mass-update
  6. Posizionamento su COGTESBP chiave 2 (data) >= tm-da-data, scan sequenziale
  7. Filtri: range date, tm-tipo su tbp-fl-cls (T/A/C)
  8. Validazione tbp-rif: deve contenere "P1/".. "P6/" (uno solo)
  9. Unstring tbp-rif su "/" -> w-giornata, w-cod-ext
  10. Per ogni riga COGRIGBP correlata: conversione prezzo/importo via COGU10W "Cambio" su divisa del conto, scrittura record in cogtrans
  11. Stampa (in base a tm-tipo-sta, ripetuta tm-copie volte):
  12. g_stampa (Giornata): scan COGTRANS chiave 1 (data+rif+merce+num+prog), rottura su data, totali per giornata
  13. c_stampa (Cliente): scan COGTRANS chiave 2 (cod-ext+merce+giornata), rotture su cod-ext e merce, totali per merce + per cliente
  14. r_stampa (Riferimento): scan COGTRANS chiave 3 (rif+merce), rottura su riferimento e merce, calcolo prezzo medio = (sum(prez*qta)) / sum(qta)
  15. totale_gen: per modalita' G, calcola Da Avere = totale - (totale * perc-ce / 100)
  16. fine/z-chiudi: close files (cogtrans non viene cancellato in chiusura, viene riaperto nelle stampe successive).

Strutture dati di accumulo

  • wt_parziali.wtp_imp: parziale per data o riferimento
  • wt_merce.wtm_qta/imp/pre: parziale per merce
  • wt_cod_ext.wtc_imp: parziale per cliente
  • wt_totali.wtt_imp: totale generale
  • ricordante (ri_cod_ext, ri_merce, ri_data, ri_rif): chiavi correnti per rilevare le rotture

Gestione salto pagina

  • bool_new_pg1 (62 righe), bool_new_pg2 (61), bool_new_pg4 (59): controllano spazio prima di scrivere e in caso ristampano la testata di pagina + testata corrente (data o cliente).

Note tecniche

  • GUI screen section (cogp68-01.scr)
  • Larghezza riga di stampa: 200 caratteri
  • Caratteri di controllo emulazione s54-emu-att/s54-emu-dis scritti all'inizio/fine
  • Supporta az-sys = 'D' (chiusura close sta standard) altrimenti with no rewind
  • Nome file di transito: <ext-tmp-dir><slash>#$TRSP68.<wo-oper> (specifico per istanza utente)
  • Il file di transito non viene cancellato in chiusura (resta sul disco a seconda della convenzione di gestione)