Vai al contenuto

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

  1. Inizializzazione (apri): legge divisa conto (GetDivisaContow-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.

  2. Filtri (a4): inizializza tab-maschera con tipo "C" (commessa) e ordinamento da u16-fl-sel. Disattiva pulsante F10. Se called e prima volta (flag-prima-volta), preimposta la commessa e salta a a-fine-dati.

  3. 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.

  4. 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. Chiama scrivi-cogtrans-bis thru ex-scrivi-cogtrans-bis per costruire il transito. Riapre il file in input.

  5. Griglia (a-grid-ini, a-grid): carica la griglia con carica-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) e trs-chia2 (50 byte, con duplicati, per ordinamenti alternativi).
  • La chiamata a COGU35W per l'accept della commessa usa la struttura util-u35 con flag u35-fl-passa-non-validati = "N" e u35-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 ... THRU in 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-imp tiene traccia delle modifiche alla configurazione tm-cfg-mod-imp durante la sessione per rilevare cambiamenti.