Vai al contenuto

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

  1. 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
  2. Accept chiave documento (a4a-tm-doc-maga-tm-doc-anna-tm-doc-num):
  3. Magazzino (tm-doc-mag): con aiuto WIN036 (F8), con configurazione (F1)
  4. Anno (tm-doc-ann): con calendario COGS52W (F8)
  5. Numero (tm-doc-num): numerazione manuale o zero per nuovo
  6. Se chiamato con v11-called = "COGV11-CALLED" e operazione "SCARICA-MERCE": precarica magazzino e causale di scarico, salta a a-fine-chiave
  7. Controllo documento (a-fine-chiave): verifica chiave, check su COGU30 per documenti collegati a RMA/ordini, caricamento dati se esistente o proposta inserimento
  8. Accept testata (a-tm-dataa-tm-cau-coda-tm-ana-tipa-tm-ana-coda-tm-scaricoa-tm-note):
  9. Data documento: con calendario COGS52W (F8)
  10. Causale: con aiuto WIN001 (F8), tramite COGPCAUZ
  11. Tipo anagrafico: combo COGS60
  12. Codice anagrafico: con aiuto COGS65 (F8)
  13. Scarico magazzino: checkbox COGS95
  14. Note: testo libero
  15. Conferma testata (a-fine-testata): validazione, recupero divisa conto (COGU10W), eventuali modalita' speciali (slave U30, download magazzino, barcode)
  16. Griglia righe (a-grida-accept-grid):
  17. Invio/doppio click: modifica riga
  18. Ctrl+Ins / CTA: aggiunge riga (a-operazione = "I")
  19. Ctrl+Canc / CTE: elimina riga (a-operazione = "D")
  20. F3: aggiornamento documento (testata + righe) tramite x-aggiornamenti
  21. F4: cancellazione documento
  22. F9: stampa / ricerca avanzata
  23. SF4: personalizzazione griglia (GRIDADMN)
  24. SF6: esplosione distinta base
  25. F8: aiuto su riga corrente
  26. Dettaglio riga (a-riga-dettaglio): accept di tutti i campi della riga (merce, segno, qta', conf, pezzi, prezzo, importo, reparto, commessa, lotto, ubicazione, supporto, ...)
  27. Aggiornamento (x-aggiornamenti): scrittura testata su COGVOLBO (tramite COGD51/COGD61), scrittura righe su COGVOLRI, aggiornamento saldi (COGD53), gestione lotti, supporti, commesse
  28. 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