COGX06 - Giacenza Commessa/Cantiere¶
Panoramica¶
Programma interattivo per la visualizzazione delle giacenze di magazzino associate a una commessa o a un cantiere. Accetta come filtro una commessa (COGTESCM) o un cantiere (tabella MGP), con opzione di filtrare per articolo e gruppo. Costruisce un file di transito (#$trscogx06.operatore) con i dati di giacenza, lo carica in griglia e supporta navigazione verso movimenti, componenti e dettagli per lavorante/anagrafico. Supporta personalizzazioni per il cliente "EX" (Seals) con listini multipli. Puo' essere richiamato come called passando direttamente il codice commessa. Massimo 900 elementi in griglia.
Posizione nel menu¶
| Menu | Percorso |
|---|---|
| Vendite | Commesse > Visualizzazioni > Giacenza Commessa/Cantiere |
Struttura del programma¶
File e tabelle utilizzati¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Input | Tabella di sistema |
| COGTESCM | Input | Testate commesse |
| COGMOMAG | Input | Movimenti di magazzino |
| COGMERCI | Input | Anagrafica merci |
| COGTRANS (temp) | I-O | File di transito per griglia (due chiavi: chia1 e chia2 con duplicati) |
| COGRACMC | Input | Raccolta c.m.a. (per personalizzazione "EX", ricerca per gruppo ava) |
Ulteriori file aperti tramite le copybook di supporto (COGL61, COGW54, utils66, utilu16, utilu20, utilu23, utilw113 ecc.): la lista completa e' determinata dalle copybook incluse.
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| cogx06.select | SELECT dei file |
| cogx06.fd | File Description |
| cogx06.wrk | Working storage generata |
| cogx06-01.scr | Screen section |
| utilcogx06.cpy | Interfaccia called (cogx06-called, cogx06-caller, cogx06-commessa) |
| k-personal.cpy | Personalizzazioni clienti |
| wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy | Standard working storage |
| cogazien.cpy | Dati azienda |
| wgrid.cpy, utilgdad.cpy | Gestione griglia |
| utilf59.cpy | Interfaccia COGF59 |
| utilncnf.cpy | Lettura configurazioni RNEWCONF |
| utils65.cpy | Ricerca anagrafica |
| utils68.cpy | Ricerca merce (COGS68W) |
| utilu10.cpy | Formattazione importi (COGU10W) |
| utilu20.cpy | Utilita' varie |
| utilu16.cpy | Interfaccia COGU16W (gestione listini) |
| utilu23.cpy | Interfaccia COGU23W |
| utilw113.cpy | Interfaccia WIN113 (selezione gruppo ava) |
| utilcogl61.cpy | Interfaccia COGL61 |
| utilu35w.cpy | Interfaccia COGU35W (ricerca commessa) |
| utils66.cpy | Interfaccia COGS66W (ricerca cantiere MGP) |
| utilcogw54.cpy | Interfaccia COGW54 |
| wcont.cpy, utils01.cpy, utilv30.cpy, wcont1.cpy | Linkage section standard |
Record griglia (grid-record)¶
Le colonne della griglia dipendono dalla configurazione:
| Campo | Condizione di visibilita' |
|---|---|
| grd-merce | Sempre |
| grd-um | Sempre |
| grd-qta-gia | Sempre |
| grd-pez-gia | az-ges-qta-2 = "S" |
| grd-qta-imp | imp non differenziato e az-ges-qta-2 <> "S" |
| grd-qta-ord | imp non differenziato e az-ges-qta-2 <> "S" |
| grd-imp-vend | Importo differenziato |
| grd-imp-prod | Importo differenziato |
| grd-imp-ord | Importo differenziato |
| grd-qta-gia-col / grd-qta-imp-col / grd-qta-ord-col | az-imballi = "SI" |
| grd-pua / grd-pma | abi-val-acq = "S" |
| grd-qta-disp | az-personal = "EX" e w-abi-val = "S" e w-abi-val-acq <> "S" |
| grd-qta-pren | az-personal <> "EX" |
| grd-lisuno / grd-lisdue / grd-listre | az-personal = "EX" |
Costanti e configurazioni¶
| Costante | Valore | Significato |
|---|---|---|
| k-f10-giac-comp | 1 | Pulsante custom F10 "Giacenze Componenti" |
| k-sf7-vis-supporti | 2 | Pulsante custom S-F7 "Visualizza Supporti" |
| k-f11-dett-lavorante | 3 | Pulsante custom F11 "Dettaglio x lavorante" |
| k-f11-dett-anagrafico | 4 | Pulsante custom F11 "Dettaglio x anagrafico" |
| k-slk-tip-mag | "A" | Tipo SLK magazzino |
| k-slk-tip-mgp | "M" | Tipo SLK cantiere |
| k-slk-tip-tsc | "C" | Tipo SLK commessa |
| k-slk-tip-tsc-mgp | "O" | Tipo SLK commessa+cantiere |
| k-mgp-tip-cantiere | "C" | Tipo cantiere in MGP |
tab-config: tm-cfg-vis-null, tm-cfg-mod-imp, tm-cfg-fl-mag, tm-cfg-filtro-forn, tm-cfg-mag-clavoro.
Chiamate a sottoprogrammi (CALL)¶
| Programma | Scopo |
|---|---|
| COGU10W | Formattazione importi / Divisa conto (GetDivisaConto) |
| GRIDADMN | Gestione griglia (personalizzazione colonne S-F4) |
| COGU16W | Gestione listini (utilu16) |
| COGU35W | Ricerca/accettazione commessa (utilu35w) |
| COGS66W | Ricerca cantiere MGP |
| COGS68W | Ricerca/selezione merce |
| WIN113 | Selezione gruppo ava (F8 su campo tm-gru-ava) |
| RNEWCONF | Lettura configurazioni (x99-confi) |
Logica di elaborazione¶
Flusso principale¶
-
Inizializzazione (
apri): legge divisa conto (GetDivisaConto→w-currency-conto). Carica configurazioni RNEWCONF (x99-confi). Crea pulsanti custom (F10 giacenze componenti, S-F7 supporti, F11 lavorante, F11 anagrafico). Per personalizzazione "EX" carica listini (w-lis-uno/due/tre). Se called (cogx06-called = k-program-id), valida la commessa passata: se non trovata in COGTESCM, mostra errore e chiude. -
Filtri (
a4): inizializzatab-mascheracon tipo "C" (commessa) e ordinamento dau16-fl-sel. Disattiva pulsante F10. Se called e prima volta (flag-prima-volta), preimposta la commessa e salta aa-fine-dati. -
Accept campi: sequenza
a-tm-tipo(tipo: commessa/cantiere) →a-tm-tsc-cod(commessa, tramite COGU35W) →a-tm-mgp-cod(cantiere, tramite COGS66W) →a-tm-ord(ordinamento) →a-tm-gru-ava(gruppo ava, visibile solo per "EX") →a-tm-merce(articolo facoltativo). Visibilita' dei campi commessa/cantiere alternata in base al tipo selezionato. -
Costruzione transito (
a-inizio-grid): crea/apre COGTRANS con nome#$trscogx06.operatore. Se lo stato e' "93" (file gia' in uso dallo stesso operatore), mostra errore e torna ai filtri. Chiamascrivi-cogtrans-bis thru ex-scrivi-cogtrans-bisper costruire il transito. Riapre il file in input. -
Griglia (
a-grid-ini,a-grid): carica la griglia concarica-tab thru ex-carica-tab. Se n-m = 0, mostra messaggio "Non esiste nessuna elemento!" e torna ai filtri (o chiude se called). Supporta paginazione (PgUp/PgDn), S-F4 (GRIDADMN), S-F5 (export Excel), F5 (importi vendita/gruppi), F6 (importi produzione per non-Seals), F7 (ordinato), F8 (movimenti), F10 (giacenze componenti), F11 (dettaglio lavorante/anagrafico), S-F7 (supporti).
Personalizzazione "EX" (Seals)¶
Per az-personal = "EX":
- Listini w-lis-uno (L,3,1), w-lis-due (L,3,2), w-lis-tre (L,4,0) nella griglia
- Campo ordinamento inizializzato a "A"
- Se presente tm-gru-ava, usa COGRACMC per posizionarsi sul primo articolo del gruppo
Gestione tipo ricerca¶
Il campo tm-tipo determina quale chiave usare per il transito:
- k-slk-tip-tsc = "C": ricerca per commessa (COGTESCM, campo tm-tsc-cod)
- k-slk-tip-mgp = "M": ricerca per cantiere MGP (campo tm-mgp-tip/cod)
- k-slk-tip-tsc-mgp = "O" e k-slk-tip-mag = "A": varianti combinate
Note tecniche¶
- Il file di transito usa due chiavi:
trs-chia1(9 byte, chiave primaria per la griglia) etrs-chia2(50 byte, con duplicati, per ordinamenti alternativi). - La chiamata a COGU35W per l'accept della commessa usa la struttura
util-u35con flagu35-fl-passa-non-validati = "N"eu35-fl-tsc-vuoto-is-ok = "N"(commessa obbligatoria). - Il pulsante F10 (giacenze componenti) e' disattivato all'ingresso nei filtri e viene attivato dalla logica di griglia quando opportuno.
- Il programma usa
PERFORM ... THRUin diversi punti:carica-tab thru ex-carica-tab,scrivi-cogtrans-bis thru ex-scrivi-cogtrans-bis,c1-ctrl-canc thru ex-c1. Caratteristica preesistente del codice legacy. k-max-ele-tab = 900.- Il campo
w-old-cfg-mod-imptiene traccia delle modifiche alla configurazionetm-cfg-mod-impdurante la sessione per rilevare cambiamenti.