COGX12 - Gestione Tabella Tipologie Veicoli¶
Scopo¶
Gestione CRUD della tabella delle tipologie di veicolo (Bercar). Le tipologie sono memorizzate in BCTABEL con bct-tipo = "A1". Il programma presenta la lista in griglia editabile e supporta inserimento, modifica e cancellazione. Puo' essere richiamato da altri programmi (es. COGX15) in modalita' selezione, restituendo codice e descrizione della tipologia scelta.
Posizioni menu¶
- Magazzino > Gestione Veicoli > Archivi & Tabelle > Tipologie
File e Tabelle¶
| File | Copybook | Utilizzo |
|---|---|---|
| FEURTAB | cogfiles.cpy | Tabella file di sistema |
| BCTABEL | bctabel.cpy | Tabella codici Bercar; record selezionati con bct-tipo = "A1" |
Copybook¶
Working storage¶
cogx12.wrk(working specifica generata da Screens)wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpywgrid.cpy,utilgdad.cpy(supporto griglia GRIDADMN)
Linkage¶
wcont.cpy,wcont1.cpyutilx12.cpy(parametri chiamata esterna)
Procedure¶
grave.cpy,mmmask.cpy,util1.cpy,stato.cpy,stato1.cpy,winmsg.cpycogx12.prc(procedure I/O generate)openpers.cpy,utilgrid.cpy- Chiave:
bctabel.k01
CALL¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Amministrazione griglia (personalizzazione colonne, gestione record) |
Parametri di chiamata (linkage)¶
util-x12 (utilx12.cpy):
x12-caller: programma chiamantex12-called: se =k-program-id, e' chiamata esterna in modalita' selezionex12-in-cod: codice in input (opzionale)x12-out-cod: codice selezionato (output)x12-out-des: descrizione selezionata (output)
Logica di elaborazione¶
Costante chiave¶
k-bct-tipo = "A1"— filtro su BCTABEL per leggere/scrivere solo i record delle tipologie veicolo
Modalita' di lavoro¶
Determinata da a-modalita e da chiamata esterna (w-dc-called):
- "A" Aggiornamento (default da menu): abilita inserimento, modifica, cancellazione
- "S" Selezione (quando richiamato da altro programma): solo selezione, restituisce codice/descrizione
F3 commuta tra le due modalita' (se chiamato esternamente).
Flusso principale¶
apri: init, apertura file, lettura azienda, configurazione pulsantia10: caricamento della tabella esistente in memoria scansionando BCTABEL suk-bct-tipoa-grid/a-accept-grid: loop griglia con gestione tastia-riga-dettaglio: input/modifica della singola riga (codice + descrizione)a-riga-dettaglio-fine: conferma, validazione, scrittura su BCTABEL (wr-bctabelorwr-bctabel)
Limiti¶
- Massimo 900 elementi in griglia (
k-max-ele-tab) - Se superato in caricamento: messaggio "Tabella Piena! Ulteriori elementi scartati"
Note tecniche¶
- GUI standalone con screen
cogx12-01.scr - Lettura sequenziale di BCTABEL con
st-bctabel-notmin+rdnxt-bctabel, break subct-tipo not = "A1" - Conferma esplicita richiesta per cancellazione (
acc-conf-custom) - Gestione "race condition": se in inserimento il codice esiste gia', cambia operazione in M; se in modifica il codice e' stato cancellato, reinserisce