Vai al contenuto

COGUA8 - Movimentazione kit su documento

Posizione nel menu Programma non a menu Linkage section

Tipo Dato Formato Contenuto
INPUT COGUA8-OPE x(20) Operazione da eseguire
Campo per ora non usato
COGUA8-BOLLA Documento "padre" interessato all'operazione

x(01)

9(04)

x(01)

9(06)
FILLER x(500)

Logica generale Questa routine serve per eseguire la movimentazione necessaria per la "produzione" di kit che vengono movimentati al volo. Il programma esegue l'elaborazione su un intero documento di magazzino passato in input, ed esamina solo i prodotti "Distinta base" di tipo "K:KIT". NB: la distinta viene sempre considerata ad un livello. Configurazioni possibili

Gruppo Parametro Note
causali movimentazione-kit

Elaborazione Questo programma non esegue operazioni specifiche, ma una sequenza di operazioni sempre identica. B - Analisi Analisi documento del magazzino del magazzino da elaborare, allo scopo di preparare una tabella di transito che permette di capire come elaborare successivamente. La tabella contiene un elenco di righe formato da:

Dato Formato Note
TD-RIGA 9(04) Progressivo di riga del documento padre
TD-MERCE-DA-ESP merce Codice merce presente sulla riga
TD-QTA-DA-ESP 9(06)v999 Quantità da esplodere per il documento (quella presente attualmente sul documento)
TD-SEGNO-DA-ESP x(01) Segno del documento da esplodere
TD-MERCE-ESP merce Codice merce esploso
TD-QTA-ESP 9(06)v999 Quantità già esplosa per il documento (nel caso in cui il documento sia già stato elaborato)
TD-SEGNO-ESP x(01) Segno del documento esploso
TD-PN tes-chia3 Chiave del documento "figlio" di prima nota magazzino utilizzato per l'esplosione del kit
TD-DATA data Data movimento

B.1 - Documento attuale Quindi in questa fase si dovrà scorrere COGMOMAG per il documento padre, e considerare solo le righe contenenti kit: la merce MAG-MERCE deve avere: * MER-PADRE = 'P' * MER-TIPO-DISTINTA = 'K' L'aggiornamento della riga tabella sarà come segue:

Dato Note
TD-RIGA MAG-PROG
TD-MERCE-DA-ESP MAG-MERCE3
TD-QTA-DA-ESP MAG-QTAMAGAZ
TD-SEGNO-DA-ESP MAG-ENTRUSC
TD-MERCE-ESP k-merce-null
TD-QTA-ESP 0
TD-SEGNO-ESP " "
TD-PN " "
TD-DATA 0

Al termine di questa fase potrei ottenere una tabella come questa

TD-RIGA TD-MERCE-DA-ESP TD-QTA-DA-ESP TD-SEGNO-DA-ESP TD-MERCE-ESP TD-QTA-ESP TD-SEGNO-ESP TD-PN TD-DATA
1 DBKT00001 5 U 0
5 DBKT00010 2 U 0
6 DBKT00021 1 U 0
7 DBKT00022 1 E 0

B.2 - Esplosioni presenti Ora cercare la presenza di documenti figli, scorrendo COGRACDM per tutti i record aventi:

Dato Contenuto
RDM-TIP "00"
RDM-P-TESTATA La testata del documento passato in input

Ciascun record trovato corrisponde ad un documento di esplosione presente per una riga; quindi aggiornare la tabella a parità di riga: RDM-P-RIGA corrisponde a TD-RIGA. E' possibile anche trovare un record dove non esiste già una riga corrispondente sulla tabella: significa che sul documento originale è stata cancellata una riga con un kit. L'aggiornamento della riga tabella quindi sarà come segue:

Dato Note
TD-RIGA RDP-P-RIGA
TD-MERCE-DA-ESP invariato
TD-QTA-DA-ESP invariato
TD-SEGNO-DA-ESP invariato
TD-MERCE-ESP RDP-MERCE
TD-QTA-ESP RDP-QTA
TD-SEGNO-ESP RDP-SEGNO
TD-PN RDP-F-TESTATA
TD-DATA RDP-DATA

Alla fine la tabella risultante potrebbe essere come la seguente:

TD-RIGA TD-MERCE-DA-ESP TD-QTA-DA-ESP TD-SEGNO-DA-ESP TD-MERCE-ESP TD-QTA-ESP TD-SEGNO-ESP TD-PN TD-DATA Note Operazione
1 DBKT00001 5 U DBKT00001 4 E 12017P000100 01/01/2017 Riga di documento già esistente, su cui è stata cambiata la quantità e/o il segno Variazione
5 DBKT00010 2 U 0 Riga di documento nuova (non è stato trovato il raccordo) Inserimento
6 DBKT00021 1 U DBKT00021 1 U 12017P000102 01/01/2017 Riga di documento esistente, e invariata /
7 DBKT00022 1 E DBKT00025 1 E 12017P000103 01/01/2017 Riga di documento già esplosa ma sulla quale è stato cambiato il codice kit Variazione
3 0 DBKT00015 3 E 12017P000101 01/01/2017 Riga di documento non presente sul documento, ma collegata ad un documento: riga cancellata dal documento Cancellazione

Nel caso in cui la data del documento originale sia diversa, è necessario procedere comunque alla Variazione di tutte le righe del documento su cui non sia già previsto l'inserimento o la cancellazione C - Elaborazione Quindi, sulla base degli esempi riportati sulla tabella qui sopra, eseguire uno dei 3 possibili procedimenti: * D - Inserimento * E - Cancellazione * F - Variazione per ciascuna riga dove è previsto. D - Inserimento Inserimento del documento di magazzino che permette il giroconto tra i componenti del kit e il codice "kit" stesso. D.1 - Inserimento testata Inserimento di un record di COGTESBO: i dati principali:

Dato Contenuto
TES-MAG Lo stesso magazzino del documento originale
TES-ANNO Lo stesso anno documento di quello originale
TES-TIPOB "P"
TES-BOLLA3 Numero progressivo documento
TES-CAUSALE movimentazione-kit
TES-DATA La stessa data del documento originale

D.2 - Inserimento raccordo Il documento originale viene raccordato con il nuovo attraverso COGRACDM

Dato Contenuto
RDM-TIP "00"
RDM-P-TESTATA Testata del documento passato in input
RDM-P-RIGA La riga in elaborazione TD-RIGA
RDM-PROG 0
RDM-DATI
RDM-F-TESTATA La chiave del documento appena creato
RDM-F-RIGA 0
RDM-MERCE TD-MERCE-DA-ESP
RDM-DATA-P La data del documento
RDM-QTA TD-QTA-DA-ESP
RDM-SEGNO TD-SEGNO

D.3 - Inserimento dettaglio documento Si scorre la distinta base relativa alla merce in elaborazione (COGDBASE) Quindi, per ciascun componente trovato, e per la distinta base stessa: D.3.1 - Inserimento COGMOMAG Inserimento della riga bolla. I dati principali:

Dato Contenuto (componente) Contenuto (DB)
MAG-TESTA Testata documento Testata documento
MAG-MERCE3 Codice componente TD-MERCE-DA-ESP
MAG-QTAMAGAZ TD-QTA-DA-ESP * DBA-QTA TD-QTA-DA-ESP
MAG-ENTRUSC TD-QTA-SEGNO Il segno opposto rispetto a TD-QTA-SEGNO
MAG-PREZZO Prezzo ultimo acquisto in data sistema Prezzo ultimo acquisto in data sistema
MAG-VALORE MAG-QTAMAGAZ * MAG-PREZZO MAG-QTAMAGAZ * MAG-PREZZO

Usando COGU12 eseguire l'aggiornamento della giacenza per ogni riga. E - Cancellazione Eseguire la cancellazione del documento TD-PN, e del raccordo: 1. Cancellazione righe documento 1. Ripristino giacenza 2. Cancellazione testata 3. Cancellazione raccordo F - Variazione La variazione consiste nell'eseguire consecutivamente: * E - Cancellazione * D - Inserimento


Estratto da documentazione interna ClickUp