COGV11 - Inserimento/Gestione Prima Nota Magazzino¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGV11 |
| Titolo | Inserimento/Gestione prima nota magazzino |
| Posizione menu | Magazzino > P.N. Magazzino > Inserimento/Gestione; Magazzino > P.N. Magazzino |
Scopo e logica generale¶
COGV11 e' il programma principale per la creazione e modifica di documenti di prima nota di magazzino (tipo "P"). Supporta inserimento, modifica e cancellazione di testate e righe. Gestisce lotti, ubicazioni, reparti, commesse, barcode e integrazione con Modula. Puo' essere invocato standalone o da altri programmi (COGU30, COGV47, COGV54) tramite la linkage section utilv11.cpy.
La logica e' strutturata in due macro-sezioni: la gestione della testata (dati documento) e la gestione delle righe (griglia). L'aggiornamento dei saldi magazzino avviene alla conferma (F3) tramite le subroutine COGD51, COGD53, COGD61.
Flusso principale¶
- Inizializzazione (
apri): check argomenti (C$NARG), init linkage U30, lettura azienda, apertura file, configurazione RNEWCONF (x99-confi), configurazione tasti funzione, caricamento bitmap custom, data sistema, divisa conto (COGU10W), consolidato (COGU30 check), creazione file transito COGTRANS e TRAN-S16 - Accept chiave documento (
a4→a-tm-doc-mag→a-tm-doc-ann→a-tm-doc-num): - Magazzino (
tm-doc-mag): con aiuto WIN036 (F8), con configurazione (F1) - Anno (
tm-doc-ann): con calendario COGS52W (F8) - Numero (
tm-doc-num): numerazione manuale o zero per nuovo - Se chiamato con
v11-called = "COGV11-CALLED"e operazione "SCARICA-MERCE": precarica magazzino e causale di scarico, salta aa-fine-chiave - Controllo documento (
a-fine-chiave): verifica chiave, check su COGU30 per documenti collegati a RMA/ordini, caricamento dati se esistente o proposta inserimento - Accept testata (
a-tm-data→a-tm-cau-cod→a-tm-ana-tip→a-tm-ana-cod→a-tm-scarico→a-tm-note): - Data documento: con calendario COGS52W (F8)
- Causale: con aiuto WIN001 (F8), tramite COGPCAUZ
- Tipo anagrafico: combo COGS60
- Codice anagrafico: con aiuto COGS65 (F8)
- Scarico magazzino: checkbox COGS95
- Note: testo libero
- Conferma testata (
a-fine-testata): validazione, recupero divisa conto (COGU10W), eventuali modalita' speciali (slave U30, download magazzino, barcode) - Griglia righe (
a-grid→a-accept-grid): - Invio/doppio click: modifica riga
- Ctrl+Ins / CTA: aggiunge riga (
a-operazione = "I") - Ctrl+Canc / CTE: elimina riga (
a-operazione = "D") - F3: aggiornamento documento (testata + righe) tramite
x-aggiornamenti - F4: cancellazione documento
- F9: stampa / ricerca avanzata
- SF4: personalizzazione griglia (GRIDADMN)
- SF6: esplosione distinta base
- F8: aiuto su riga corrente
- Dettaglio riga (
a-riga-dettaglio): accept di tutti i campi della riga (merce, segno, qta', conf, pezzi, prezzo, importo, reparto, commessa, lotto, ubicazione, supporto, ...) - Aggiornamento (
x-aggiornamenti): scrittura testata su COGVOLBO (tramite COGD51/COGD61), scrittura righe su COGVOLRI, aggiornamento saldi (COGD53), gestione lotti, supporti, commesse - Chiusura (
fine): chiusura file, eliminazione transiti,z-99-exit-program
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| COGVOLBO | - | I-O | Testate bolle prima nota magazzino (tipo "P") |
| COGVOLRI | - | I-O | Righe bolle prima nota magazzino |
| COGMERCI | - | Input | Anagrafica merci (validazione riga) |
| COGPCAUZ | pcau-rec | Input | Causali di magazzino |
| COGMAGAZ | magz-rec | Input | Anagrafica magazzini |
| COGGEANA | ana-rec | Input | Anagrafica generale (fornitore/cliente) |
| TRAN-S16 | trs16-rec | I-O | File transito COGS16 (barcode) |
| TRAN-U30 | trsu30-rec | I-O | File transito COGU30 (commesse) |
| COGTRANS | trs-rec | I-O | File transito griglia righe |
| COGMW10 | seq-rec | Input | File sequenziale EAN/quantita' (Modula) |
| FEURTAB | feurtab | Input | Tabella generica Eurosystem |
Struttura chiave COGTRANS (transito righe)¶
trs-chia1:
trs-testa:
trs-mag1 pic x(01) Magazzino
trs-anno pic 9(04) Anno
trs-tipob1 pic x(01) Tipo bolla
trs-bolla1 pic 9(06) Numero bolla
trs-prog pic 9(04) Progressivo riga
trs-tipo pic x(01) (evita chiave duplicata)
trs-chia2 (alternata): trs-entrusc + trs-chia1
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
cogv11-01.scr |
Maschera principale (screen section) |
cogv11.select |
SELECT dei file |
cogv11.fd |
FD dei file |
cogv11.wrk |
Working storage maschera |
cogv11.decla |
Declaratives (include dichiarazioni per tran-s16, tran-u30, cogtrans, cogmw10) |
Strutture dati e utility¶
| Copybook | Contenuto |
|---|---|
k-personal.cpy |
Costanti personalizzazione |
costanti-modula.cpy |
Costanti integrazione Modula |
tran-s16.cpy |
Record file transito barcode |
tran-u30.cpy |
Record file transito commesse |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
Working storage comuni |
cogazien.cpy |
Dati azienda |
wgrid.cpy / utilgdad.cpy |
Gestione griglie |
utildlg.cpy |
Utility dialogs |
utilncnf.cpy |
Struttura parametri RNEWCONF |
utilcogw72.cpy |
Interfaccia COGW72 |
utilcogl61.cpy |
Interfaccia COGL61 |
utild51.cpy / utild53.cpy / utild61.cpy |
Interfacce COGD51/D53/D61 |
utilf23.cpy |
Interfaccia COGF23 |
utilg31.cpy |
Interfaccia COGG31 |
utils25.cpy / utils52.cpy / utils65.cpy / utils66.cpy / utils68.cpy |
Utility data e anagrafiche |
utilu10.cpy / utilu12.cpy / utilu20.cpy / utilu30.cpy / utilu35w.cpy / utilu11.cpy / utilu18.cpy / utilu38.cpy / utilu07.cpy |
Utility varie |
utilw01.cpy / utilw36.cpy / utilw80.cpy / utilw97.cpy |
Interfacce WIN* |
wrk-u30.cpy / linku30.cpy |
Working e linkage COGU30 |
Linkage section¶
| Copybook | Contenuto |
|---|---|
wcont.cpy / wcont1.cpy |
Linkage standard |
utilv31.cpy / utilu30b.cpy / utill14.cpy / utils16.cpy / utilu61.cpy |
Interfacce moduli chiamanti |
utilv11.cpy |
Struttura di chiamata (v11-called, v11-doc, v11-operazione, v11-merce, v11-magazzino) |
utilv94.cpy / utilr26.cpy / utils08.cpy / utils10.cpy |
Ulteriori interfacce linkage |
linku30.cpy |
Linkage COGU30 (secondo parametro procedure division) |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| C$NARG | Conta argomenti linkage |
| COGU10W | Recupero divisa conto per data |
| COGU30 | Gestione commesse / check documenti collegati |
| COGD51 | Scrittura/aggiornamento testata bolla magazzino |
| COGD53 | Aggiornamento saldi (con integrazione Modula DB Frontiera se configurato) |
| COGD61 | Gestione righe bolla magazzino |
| COGS16 | Gestione barcode/scanner |
| COGS52W | Calendario date |
| COGS65 | Ricerca anagrafica |
| COGS66 | Utility ricerca merce |
| COGS68 | Utility gestione merce (campo composito) |
| COGS95 | Checkbox COBOL |
| WIN001 | Selezione causale magazzino (F8 su tm-cau-cod) |
| WIN036 | Selezione magazzino (F8 su tm-doc-mag) |
| WIN080 | Aiuto ubicazioni |
| WIN097 | Gestione supporti/pallet |
| COGL61 | Gestione lotti |
| COGW72 | Utility working |
| COGF23 | Utility formattazione |
| COGG31 | Utility gestione giacenze |
| COGU30 | Gestione ordini/RMA (check e slave) |
| GRIDADMN | Amministrazione griglia |
| RNEWCONF | Lettura configurazione |
Configurazione (RNEWCONF)¶
| Parametro | Campo | Utilizzo |
|---|---|---|
| Magazzino clavoro | tm-cfg-mag-clavoro |
Abilita gestione magazzino clavoro |
| Gestione commesse | tm-cfg-mag-commesse |
Abilita colonne commessa in griglia |
| Scarico merci | tm-cfg-sca-me |
Controllo scarico merci |
| Controllo giacenza | tm-cfg-ctr-gia |
Abilita controllo disponibilita' |
| Causale carico latte | tm-cfg-cau-car-latte (9(02)) |
Causale specifica per carichi latte |
| Tipo numerazione TSC | tm-cfg-tip-num-tsc |
Tipo numerazione commessa |
| Tipo numerazione SOT | tm-cfg-tip-num-sot |
Tipo numerazione sottoscorta |
| Causale clavoro | tm-cfg-cau-clavoro (9(02)) |
Causale per movimenti clavoro |
| Gestione reparti | tm-cfg-gestione-reparti |
Abilita colonna reparto in griglia |
| Causale produzione manuale | tm-cfg-cau-prod-manuale (9(02)) |
Causale produzione manuale |
| Aggiornamento saldi | tm-cfg-agg-saldi |
Modalita' aggiornamento saldi |
| Gestione anagrafica | tm-cfg-gest-ana |
Abilita campo anagrafica in testata |
| Completa carico COGD51 | tm-cfg-completa-carico-cogd51 |
Completamento automatico carico |
| Causale scarico | tm-cfg-causale-scarico (9(02)) |
Causale preimpostata per scarico merce da COGV47 |
| Controllo giacenza sblocco password | tm-cfg-ctr-gia-sblocco-password |
Abilita sblocco con password |
| Modula DB Frontiera | tm-cfg-modula-db-frontiera |
Integrazione con magazzino automatico Modula |
| Causale adeguamento inventario | tm-cfg-cau-adegua-inventario (9(02)) |
Causale per adeguamento inventario |
Logica di business¶
Gestione documento¶
Se tm-doc-num = zeroes alla conferma chiave: il programma e' in modalita' inserimento (fl-ins = "S"), viene assegnato un nuovo numero progressivo.
Se tm-doc-num <> zeroes: il programma carica i dati esistenti da COGVOLBO e COGVOLRI nel transito COGTRANS. Prima di aprire in modifica, esegue check-doc su COGU30 per verificare se il documento e' collegato a un RMA o ordine: in caso affermativo mostra le coordinate del documento collegato.
Avviso consolidato¶
Se la data del documento caricato e' antecedente o uguale alla data di consolidato (dt-cons), viene mostrato un avviso: solo le modifiche ai lotti sono consentite su movimenti precedenti al consolidato.
Modalita' chiamata (v11-called)¶
Quando il programma viene invocato con v11-called = "COGV11-CALLED":
- Operazione "SCARICA-MERCE": precarica magazzino (v11-magazzino), merce (v11-merce) e causale di scarico configurata (tm-cfg-causale-scarico), imposta tm-scarico = "S", salta direttamente alla testata
- Altre operazioni: precarica le coordinate del documento (mag/ann/num) da v11-doc
Integrazione Modula¶
Se tm-doc-mag = az-mag-modula e tm-cfg-modula-db-frontiera = "S" e la causale non e' quella di adeguamento inventario: alla modifica di un documento esistente viene invocato COGD53 con operazione "DOC-PRECEDENTE" per recuperare i movimenti Modula precedenti.
Slave COGU30¶
Se il programma e' avviato come slave di COGU30 (u30-slave = true): alla conferma della testata viene mostrata la dialog di conferma e poi eseguita inserisci-bolla-da-u30 che delega la scrittura a COGU30, poi termina.
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
tm-doc |
Chiave documento (mag + ann + tip + num) |
tm-cau-cod |
Codice causale magazzino |
tm-cau-segno |
Segno causale (E/U) |
tm-scarico |
"S" = modalita' scarico magazzino |
fl-ins |
"S" = inserimento nuovo, "N" = modifica esistente |
fl-prec-consolidato |
"S" = documento precedente al consolidato |
tm-pnt |
Numero righe nel documento corrente |
a-operazione |
"I" = inserimento riga, "M" = modifica, "D" = cancellazione |
w-called |
Se <> spaces: programma e' stato chiamato (non standalone) |
fl-u30 |
"S" = chiamato da COGU30 come slave |
fl-esc-agg |
"S" = in fase di aggiornamento (evita uscita accidentale) |
data-consolidato |
Data consolidato (aamm) da cui dipende la modalita' di modifica |