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.prcwstato.cpy,wopenf.cpy,wgrave.cpy,wnscr.cpyutils52.cpy,utils54.cpy,utilu10.cpy,utilncnf.cpy,cogazien.cpy,k-u10.cpywcont.cpy,wcont1.cpyGetDCont.cpy,cogtesbp.k02,cogtrans.k01,cogtrans.k02,cogtrans.k03stato.cpy,stato1.cpy,winmsg.cpy,grave.cpy,mmmask.cpy,opengen.cpyprinter.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/Rtm-tipo: T/C/A (tutti/chiusi/aperti)tm-da-data,tm-a-data: range datetm-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-albtm-cfg-inf-cam,tm-cfg-inf-cidtm-cfg-perc-ce: percentuale di scorporo per il calcolo "Da Avere" nella stampa per giornata
Flusso¶
- apri/a4: open files, lettura configurazione, default date (mese corrente).
- Maschera: accept campi (a-tm-tipo-sta, a-tm-tipo, a-tm-da-data, a-tm-a-data, a-tm-copie).
- a222: chiamata COGS54 per stampante.
- b_elabora - generazione transito:
- Open output
cogtransin mass-update - Posizionamento su COGTESBP chiave 2 (data) >=
tm-da-data, scan sequenziale - Filtri: range date,
tm-tiposutbp-fl-cls(T/A/C) - Validazione
tbp-rif: deve contenere "P1/".. "P6/" (uno solo) - Unstring
tbp-rifsu "/" ->w-giornata,w-cod-ext - Per ogni riga COGRIGBP correlata: conversione prezzo/importo via COGU10W "Cambio" su divisa del conto, scrittura record in
cogtrans - Stampa (in base a
tm-tipo-sta, ripetutatm-copievolte): - g_stampa (Giornata): scan COGTRANS chiave 1 (data+rif+merce+num+prog), rottura su data, totali per giornata
- c_stampa (Cliente): scan COGTRANS chiave 2 (cod-ext+merce+giornata), rotture su cod-ext e merce, totali per merce + per cliente
- r_stampa (Riferimento): scan COGTRANS chiave 3 (rif+merce), rottura su riferimento e merce, calcolo prezzo medio = (sum(prez*qta)) / sum(qta)
- totale_gen: per modalita' G, calcola
Da Avere= totale - (totale *perc-ce/ 100) - 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 riferimentowt_merce.wtm_qta/imp/pre: parziale per mercewt_cod_ext.wtc_imp: parziale per clientewt_totali.wtt_imp: totale generalericordante (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-disscritti all'inizio/fine - Supporta
az-sys = 'D'(chiusuraclose stastandard) altrimentiwith 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)