Stock 150 

Generalità

Questo documento è un help destinato all'utilizzo degli stock nel flusso di produzione e commerciale.

Presenta i legami tra i documenti, movimenti e regole (di allocazione/uscita e di gestione).

Descrive gli elementi necessari all'inserimento degli stock a partire da un documento:

  • I campi videata da definire
  • Le azioni sui campi da utilizzare
  • Le azioni oggetto da indicare
  • I sotto programmi della libreria stock

Descrive gli elementi necessari all'aggiornamento degli stock a partire da un documento:

  • Parametri dell'interfaccia tra l'inserimento e l'aggiornamento
  • Parametri dell'aggiornamento

Contiene anche diverse documentazioni utili alla comprensione di alcune funzionalità.

Parametrizzazione

Allocazioni

 

Documento

Condizione

Regola di allocazione

Regola di gestione

2 - Ordine

Altri ordini

Ordine

Consegna

Ordine di prestito

Ordine

Consegna di prestito

10 - Ordine di produzione

Altre operazioni

Ordine di produzione

Uscita OP

Operazione di conto lavoro

Consolidamento c/lavoro

Uscita ordine c/lavoro

36 - Ordine di c/lavoro

 

Consolidamento c/lavoro

Uscita ordine c/lavoro

Nota

La regola di gestione è utilizzata soltanto per determinare le ubicazioni da utilizzare.

Entrate

 

Movimento

Documento

Condizione

Regola di gestione

1 - Entrata diversa

19 - Entrata diversa

 

Entrata diversa

1 - Entrata diversa

31 - Assemblaggio

Composto

Entrata diversa

1 - Entrata diversa

32 - Disassemblaggio

Componente

Entrata diversa

3 - Ricevimento

6 - Ricevimento

 

Ricevimento

5 - Entrata OP

15 - Dichiarazione produzione

 

Entrata OP

7 - Cambio ubicazione

29 - Cambio stock

 Ubic c/lavoro & mov +

Entrata trasferimento

 Altre ubi & mov +

Cambio stock

8 - Controllo qualità

28 - Controllo qualità

 

Controllo qualità

9 - Cambio stato

29 - Cambio stock

 Mov +

Cambio stock

12 - Reso consegna

13 - Reso cliente

 

Reso consegna

12 - Reso consegna

18 - Nota credito cliente

 

Reso consegna

13 - Inventario 

19 - Entrata diversa

 

 

14 - Trasferimento intra-siti

29 - Cambio stock

 Mov +

Entrata trasferimento

16 - Ricevimento c/lavoro

6 - Ricevimento

 

Ricevimento per c/lavoro

18 - Reso consegna di prestito

13 - Reso cliente

 

Reso consegna di prestito

19 - Reintegrazione stock

12 - Avanzamento materiale

 

Reintegrazione stock

21 - Rifrazionamento

29 - Cambio stock

 Mov +

Cambio stock

22 - Piano di sistemazione

Documento origine

 

Documento origine

33 - Reso cons c/lavoro

13 - Reso cliente

 

Reso consegna

34- Richiesta di analisi

29 - Cambio stock

 

Uscite

Movimento

Documento

Condizione

Regole di uscita

Regola di gestione

2 - Uscita diversa

20 - Uscita diversa

 

Mov interno

Uscita diversa

2 - Uscita diversa

31 - Assemblaggio

Componente

Mov interno

Uscita diversa

2 - Uscita diversa

32 - Disassemblaggio

Composto

Mov interno

Uscita diversa

4 - Consegna

4 - Consegna

 

Spedizione

Consegna

4 - Consegna

5 - Fattura

 

Spedizione

Consegna

6 - Uscita OP

12 - Avanzamento materiale

Operazione c/lav

Consolid c/lav

Uscita ordine c/lavoro

Altre operaz

Consolid materiale

Uscita OP

7 - Cambio ubicazione

29 - Cambio stock

 Ubic c/lavoro & mov -

 

 Uscita trasferimento interno

 Altre ubi & mov -

 

  

9 - Cambio stato

29 - Cambio stock

Mov -

 

 

11 - Reso ricevimento

8 - Reso fornitore

 

Spedizione

Reso ricevimento

13 - Inventario 

20 - Uscita diversa

 

 

 

14 - Trasferimento intra-sito

29 - Cambio stock

Mov -

 

 Uscita trasferimento interno

17 - Consegna prestito

4 - Consegna

 

Spedizione

Consegna di prestito

20 - Consegna per c/lav

4 - Consegna

 

Spedizione c/lav

Consegna per c/lav

21 - Rifrazionamento

29 - Cambio stock

Mov -

 

 

24 - Richiesta servizio

33 - Richiesta servizio

 

Mov interno

Richiesta servizio

25 - Riapprovv

34 - Piano di riapprovv

Ubic terzista

Spedizione c/lav

Riapprov

Altre ubic

Mov interno

Riapprov

29 - Uscita c/lavoro

6 - Ricevimento

 

Consolid c/lav

Uscita ordine c/lavoro

32 - Reso ric per c/lav

8 - Reso fornitore

 

Reso ric per c/lav

Allocazioni

Programmi di tipo 'Oggetto'

Prerequisiti

Nella videata delle righe documento definire (in nascosto) i campi che permettono di gestire il filtro allocazione nella riga con i seguenti nomi:

  • LOT Filtro lotto (tipo di dato: LOT)
  • LOC Filtro ubicazione (tipo di dato: EMP)
  • STA Filtro stato (tipo: Char(12))

Azioni campi

  • Variabile di fondo riquadro (NBLIG)

Attivatore

Azione

Descrizione

Bottone

SAISTOALL

Inserimento delle allocazioni

- su una riga già creata

- deve essere richiamata su una situazione stabile

  • Quantità

Attivatore

Azione

Descrizione

Bottone

SAIALLFIL

Inserimento del filtro di allocazioni

Scambi tra una riga documento e il dettaglio allocazioni

Programma TRTSTOALLA (complemento di TRTSTOALL: Inserimento delle allocazioni)

Permette di gestire l'interazione tra una riga documento e l'inserimento manuale delle allocazioni.

L'aggiornamento di questo programma è a carico dello sviluppatore della funzione origine. Il riconoscimento di questo programma viene effettuato con l'abbreviazione della videata (LABR) passato a parametro all'azione SAISTOALL (Inserimento delle allocazioni)

Permette:

- di alimentare la videata di inserimento STOALL :                                          CHARG_PARAM

- di effettuare dei controlli prima della registrazione dell'inserimento:        AVANT_ENR

- di effettuare degli aggiornamenti a seguito della registrazione dell'inserimento:  APRES_ENR

Altri programmi

Componenti disponibili

I componenti da utilizzare si trovano nel programma STKALL

  • Per creare un'allocazione globale                                   GENSTOALL
  • Per eliminare un'allocazione di una riga documento    DELALL
  • Per diminuire la quantità di un'allocazione                         DIMALL
  • Per trasferire l'allocazione di un pezzo su un'altro    CHGALL
  • Per creare un'allocazione                                                    CREALL
  • Per eliminare un'allocazione                                                    SUPALL
  • Per modificare un'allocazione                                               MODALL
  • Per consumare delle prenotazioni cliente                           CSOALL

Flussi di entrata

Programmi di tipo 'Oggetto'

Prerequisiti

Nelle tabelle ‘testate documento'

  • Definire un campo TRSCOD (Codice movimento) controllato dalla tabella diversa 14.
    Durante la creazione di un documento, occorre memorizzare il codice movimento della transazione di questo campo per riutilizzarlo durante una modifica/cancellazione (indipendentemente dalla transazione scelta)
  • Definire un campo ENTCOD (Codice movimento automatico stock).
  • Definire un campo TRSFAM (Famiglia movimento) controllato dalla tabella diversa 9.

Nelle transazioni che effettuano delle entrate

  • Definire un campo TRSCOD (Codice movimento) controllato dalla tabella diversa 14 e che permette di perfezionare la determinazione della regola di entrata da utilizzare.
  • Definire un campo ENTCOD (Codice movimento automatico stock).
  • Definire un campo TRSFAMDEF (Famiglia movimento) controllato dalla tabella diversa 9.

Nella videata delle righe documento

  • Campi visibili (ordine e descrizione)

I campi segnati come sottolineati vengono obbligatoriamente indicati nel documento. Gli altri, anche modificabili e che necessitano di un valore a seconda dell'articolo, saranno obbligatori solo nella finestra 'Dettaglio'

I campi segnati in grassetto sono modificabili ma possono essere resi nascosti da transazione

I campi segnati in corsivo sono visualizzati e possono essere resi nascosti da transazione

    • ITMREF: Riferimento dell'articolo
    • PCU o UOM : Unità di confezionamento
    • QTYPCU o QTYUOM: Quantità da far entrare
    • PCUSTUCOE : Rapporto tra l'unità di confezionamento e l'unità di magazzino
    • STU: Unità di magazzino definita a livello della categoria articolo
    • QTYSTU: Quantità in unità di magazzino
    • STA: Stato qualità
    • LOCTYP: Tipo ubicazione
    • LOC: Numero ubicazione
    • BPSLOT : Lotto fornitore
    • LOT: Numero di lotto
    • NBSLO : Numero di sotto-lotti
    • SLO: Primo numero di sotto-lotto
    • SLOF: Ultimo numero di s/lotto
    • SERNUM: Primo numero matricola
    • SERNUMF : Ultimo numero matricola
    • PRIORD : Valore dell'ordine (equiv. Prezzo reale)
    • MVTDES: Descrizione del movimento

  • Campi nascosti
    • GESLOT :       Origine lotto = "B" se lotto nullo, = "C" se lotto gestito da contatore, = "" se lotto inserito. Aggiornamento su controllo del lotto. Valore di default: "" eccetto se contatore su lotto ("C").
    • WSTOSEQ: Numero collegamento tra le righe di dettaglio e una riga del documento.
    • WLOCSEQ :   Numero collegamento tra le righe di dettaglio e una prenotazione di ubicazione.
    • WSTOFLG :   Flag che permette di conoscere, sia per il documento che per il motore di stock, se la riga è completa o no rispetto a dei campi stock (0=incompleto, 1=completo).
    • WSRUFLG : Flag che serve per conoscere a che livello viene definita la regola di gestione dell'articolo della riga.
    • WSTOSAI :    Flag dei campi stock da inserire.

Azioni campi

  • Ubicazione 'in attesa di sistemazione' di default (SRGLOCDEF)

Attivatore

Azione

Descrizione

Selezione

STKSELQUA

Selezione di un'ubicazione di tipo 'in attesa di sistemazione'

Controllo

STKCTRSRG

Controlla l'esistenza e il tipo ubicazione

Post-modif

STKMODSRG

Propone la sostituzione delle ubicazioni di dettaglio con quella inserita

  • Variabile di fondo riquadro (NBLIG)

Attivatore

Azione

Richiamo programma/Descrizione

Iniz-Bottone

STD

Call STKINIBTN From STKENT

per visualizzazione a seconda dei bottoni

- dettaglio o modifica

- Info lotto

- complemento lotto

Controllo

STD

Call STKCTRNBLIG From STKENT

per gestire l'eliminazione delle righe

Pre-Riga

LECFICENT

Lettura delle tabelle stock

Post-Riga

SAISTOENT

Apertura della finestra 'dettaglio stock'

SAIENTLOT

Apertura della finestra 'complemento lotto'

Bottone 2

ENTRCLI

Autorizzazione apertura finestra dettaglio: GOUVENT = 16384

SAISTOENT

Apertura della finestra 'dettaglio stock'

Bottone 3

STKINFLOT

Informazioni lotti

Bottone 4

STD

GOUVLOT = GOUVLOT-mod(GOUVLOT,2) 

GOUVENT = 1

SAIENTLOT

Apertura della finestra 'complemento lotto'

Bottone5

SAISTOENTM

Apertura della finestra 'modifica stock'

Vedere l'azione oggetto 'Pre-Bottone' $AB5_NBLIG

Attivatore

Azione

Descrizione

Post-modif

INIZONENT

- Lettura delle tabelle articolo e stock

- Assegnazione dei valori di default

- Disattivazione dei campi non significativi

Attivatore

Azione

Descrizione

Selezione

STKSELUOM

Selezione dell'unità

Post-modif

STD

- Agg del coef UC/UM

- Agg della quantità UM

- Attivazione coef PCUSTUCOE se modificabile

Attivatore

Azione

Descrizione

Post-Modif

STD

- Agg della quantità in UM

Attivatore

Azione

Descrizione

Post-Modif

STD

- Agg della quantità in UM

Attivatore

Azione

Descrizione

Selezione

STKSELSTA

- Selezione dello stato

Controllo

STKCTRSTA

- Controllo dello stato

Attivatore

Azione

Descrizione

Pre-Inserimento

STKSUGTLO

- Proposta di un tipo ubicazione

Il parametro LOCSEQ = [M]WLOCSEQ(nolign-1)

Selezione

STKSELTLO1

- Selezione di un tipo ubicazione

Controllo

STKCTRTLO

- Controllo del tipo ubicazione

Post-Modif

RAZLOC

- Cancella il contenuto del campo LOC

Attivatore

Azione

Descrizione

Pre-Inserimento

STKSUGEMP

- Proposta di un'ubicazione

Il parametro LOCSEQ = [M]WLOCSEQ(nolign-1)

Selezione

SAIEMPLIB

- Selezione di un'ubicazione

Controllo

STKCTREMP

- Controllo dell'ubicazione

Attivatore

Azione

Descrizione

Selezione

STKSELBPLN

- Selezione lotto fornitore

Post-Modif

STKAMLOF

- Assegnazione del lotto se ripristino lotto fornitore

Attivatore

Azione

Descrizione

Iniz-Bottone

STKIBLOT

A seconda delle condizioni, aggiunta dei bottoni

- Lotto nullo

- Info lotto

Controllo

STKCTRLOT

- Verifica se il lotto nullo è autorizzato

- Verifica se l'unicità del lotto è obbligatoria

Post-Modif

STKAMLOT

- Ricalcola il sotto-lotto

Bottone 1

STKSELLOT

- Selezione di un lotto

Bottone 2

LOTNUMCPT

- Numero lotto (contatore) successivo

Bottone 3

LOTBLANC

- Lotto nullo: assegna il campo 'GESLOT' con "B"

Bottone 4

STKINFLOT

- Info lotto ('Lotto nullo', 'Contatore', N° pezzo')

Attivatore

Azione

Richiamo programma

Controllo

STD

- Call STKCTRNBSLO From STKACT

Controlla la validità del numero di sotto-lotto

Attivatore

Azione

Richiamo programma

Bottone 2

STD

- Call RECLASTLO From STKLIB

Calcolo dell'ultimo numero di sotto-lotto

Controllo

STD

- Call STKCTRSLO From STKACT

Controllo e assegnazione del sotto-lotto fine

Attivatore

Azione

Descrizione

Controllo

STKCTRSER

- Controllo matricola

Selezione

STKSELSERN

- Selezione matricola

Azioni oggetti

  • $OUVRE
    • Apre la videata STOENTW

If !clalev[ENTW] Local Mask STOENTW [ENTW]

    • Assegna i nomi dei campi 'unità' e 'quantità' nei campi corrispondenti.

[M:ENTW]WZONPCU = "PCU"

[M:ENTW]WZONQUC = "QTYPCU"

[M:ENTW]WZONCCS = "PCUSTUCOE"

[M:ENTW]WZONQUS = "QTYSTU"

Non effettua " Raz [ENTW] ". In effetti, i documenti di entrata sono in grado di essere aperti via tunnel a partire dal piano di sistemazione, che può aver già delle informazioni in STOENTW.

    • Aprire la videata STOWORK

If !clalev[STW] Local Mask STOWORK [STW]

    • Inizializzazione delle videate e file per la gestione delle ubicazioni:

Gosub STK_INILOC From STKLOC

  • $SETBOUT
    • Quando esistono delle righe nel documento, disattiva il bottone "Elimina":

Call VIREBOUT(CHAINE,"XXX") From GOBJET

  • $LIENS 
    • Reset della videata STOENTW

Call DELSTOENTW (-1,-1,"XXX",1) From STKENT

    • Disattiva tutte le colonne successive lasciando attiva l'ultima riga (vergine)

Call STKDISCOL From STKECR

  • $LIENS_LIG
    • Al caricamento della riga documento, occorre conoscere se tutti i dati possono essere visualizzati o no.

Call RECSTO_F From STKECR

Se un dato non è significativo per la riga documento, è sostituito dal carattere '$'

  • $FIN_PICK
    • Se il picking è OK:

Call STJSTOENTW From STKENT

  • $RAZCRE
    • Reset della videata STOENTW

Call DELSTOENTW (-1, -1, "XXX", 1) From STKENT

  • $RAZDUP
    • Reset della videata STOENTW:

Call DELSTOENTW (-1, -1, "XXX", 1) From STKENT

    • Reset dei campi stock:

STA, LOCTYP, LOC, BPSLOT, LOT, NBSLO, SLO, SLOF, GESLOT, SERNUM, SERNUMF, PALNUM, CTRNUM, PRIORD, MVTDES, WSTOSEQ

e reinizializzazione.

    • Apertura automatica della finestra "Dettagli" se necessario

Call OUVENT From STKENT

  • $AAPRES_NBLIG
    • Apertura automatica della finestra "Dettagli" se necessario

Call OUVENT From STKENT

  • $ABn_NBLIG

n = numero del bottone "Modifica del dettaglio"

    • Indica che l'apertura del dettaglio viene richiesta:

GOUVENT=2

  • $BBn_NBLIG

n = numero del bottone "Modifica del dettaglio"

    • Se la riga è stata modificata

mkstat = 4

    • Controlla che tutte le righe possano essere registrate.

Call CTLSTOENT From STKECR

  • $VERIF_MOD
    • Controlla che tutte le righe possano essere registrate.

Call CTLSTOENT From STKECR

  • $VALLIG
    • Se creazione riga, alimenta la videata STOWORK, poi richiama aggiornamento Stock:

If SIGN=1

Call ALISTOWORK(2,[M:XXX]WSTOSEQ(NOL),LQTA,LSHT,LRET) From STKINT

Call MAJ_STOCK From STKMAJ

Endif

  • $APRES_CRE
    • Se la stampa delle etichette viene richiesta dalla transazione (PRNCOD>1)

Local Char PARAM(GLONVCR)(1..4) , VALEUR(10)

PARAM(1) = [M:XXX]STOFCY

PARAM(2) = num$([M:XXX]VCRTYP)

PARAM(3) = [M:XXX]VCRNUM

PARAM(4) = [M:XXX]VCRNUM2

Call TRAITE_CHAR(VALEUR,PARAM,"ISTOLBE","SUBSLP","",4,"SPESLP") From GTRAITE

    • Lancio della regolarizzazione dei mancanti

Call REGFROMENT (0,"XXX","[M:XXX]CREFLG(I)=0","ITMREF",[M:XXX]STOFCY) From TRTSHTCOM

  • $APRES_MOD
    • Se la stampa delle etichette viene richiesta dalla transazione (PRNCOD>1)

Local Char PARAM(GLONVCR)(1..4) , VALEUR(10)

PARAM(1) = [M:XXX]STOFCY

PARAM(2) = num$([M:XXX]VCRTYP)

PARAM(3) = [M:XXX]VCRNUM

PARAM(4) = [M:XXX]VCRNUM2

Call TRAITE_CHAR(VALEUR,PARAM,"ISTOLBE","SUBSLP","",4,"SPESLP") From GTRAITE

    • Lancio della regolarizzazione dei mancanti

Call REGFROMENT (0,"XXX","[M:XXX]CREFLG(I)=0","ITMREF",[M:XXX]STOFCY) From TRTSHTCOM

  • $ABANDON
    • Reset della videata STOENTW

Call DELSTOENTW (-1,-1,"XXX",1) From STKECR

Scambi tra una riga documento e il dettaglio stock

Programma TRTSTOENTA (complemento di TRTSTOENT: Inserimento delle entrate)

Permette di gestire l'interazione tra una riga documento e l'inserimento dettagliato delle entrate.

L'aggiornamento di questo programma è in carico allo sviluppatore della funzione origine. Il riconoscimento di quest'ultimo viene effettuato con il tipo movimento (LTYP) e l'abbreviazione della videata (LABR) presente nel parametro nell'azione SAISTOENT (Inserimento delle entrate)

Permette:

  • Di alimentare la videata di inserimento STOENT nell'etichetta $CHARG_PARAM_STOENT
  • Di effettuare degli aggiornamenti a seguito della registrazione dell'inserimento nell'etichetta $MAJ_LIGNE_DOCUMENT

Complementi

Variabili globali

  • GOUVENT

Variabile costruita così nel sotto-programma CTR_COHERENCE_LIG

    • bit  1          (1) = complemento lotto non OK
    • bit  2          (2) = numero lotto da indicare
    • bit  3          (4) = numero sotto-lotto da indicare
    • bit  4          (8) = numero matricola da indicare
    • bit  5        (16) = ubicazione da indicare
    • bit  6        (32) = stato da indicare
    • bit  7        (64) = quantità dettaglio da confermare a seguito di modifica quantità documento
    • bit  8      (128) = etichetta erroneamente assente
    • bit  9      (256) = numero sotto-lotto
    • bit 10     (512) = unità <> UC e UM
    • bit 15 (16384) = apertura tramite clic destro

Se il valore di GOUVENT è > di 2, la riga non è completa, nel documento ciò si traduce con l'apertura della finestra dettaglio.

Se il valore di GOUVENT est = a 1, il complemento lotto deve essere aperto, poiché le informazioni necessarie non sono indicate.

  • GOUVLOT

Variabile costruita così nel sotto-programma INIT_GOUVLOT

    • bit 1     (1) = apertura: 0=clic destro, 1=auto
    • bit 2   (2) = campo utente 1  da inserire
    • bit 3   (4) = campo utente 2  da inserire
    • bit 4   (8) = campo utente 3  da inserire
    • bit 5   (16) = campo utente 4  da inserire
    • bit  6  (32) = titolo da inserire
    • bit 7   (64) = inutilizzato
    • bit 8 (128) = data scadenza da inserire

Se il bit1 = 0, significa che l'apertura del complemento lotto è forzata, e quindi la finestra è aperta, salvo se nessun campo del complemento lotto non sia modificabile.

Se il bit1 = 1, la finestra complemento lotto sarà aperta soltanto se necessario: lotto inesistente o complemento non indicato.

Flusso delle uscite

Programmi di tipo 'Oggetto'

Prerequisiti

Nelle tabelle `testate documento'

  • Definire un campo TRSCOD (Codice movimento) controllato dalla tabella diversa 14.
    Durante la creazione di un documento, occorre memorizzare il codice movimento della transazione di questo campo per riutilizzarlo durante una modifica/cancellazione (indipendentemente dalla transazione scelta)
  • Definire un campo ENTCOD (Codice movimento automatico stock).
  • Definire un campo TRSFAM (Famiglia movimento) controllato dalla tabella diversa 9.

Nelle transazioni che effettuano delle uscite

  • Definire un parametro STKFLG (Determinazione automatica delle righe stock da evadere).
  • Definire un campo TRSCOD (Codice movimento) controllato dalla tabella diversa 14 e che permette di perfezionare la determinazione della regola di uscita da utilizzare.
  • Definire un campo ENTCOD (Codice movimento automatico stock).
  • Definire un campo TRSFAM (Famiglia movimento) controllato dalla tabella diversa 9.

Nell'oggetto chiamante

Nell'azione OUVRE

  • Aprire la tabella delle regole di allocazione TABALLRUL [TRU]
  • Aprire la tabella delle regole di gestione TABSTORUL [SRU]
  • Aprire la tabella delle quantità in corso di elaborazione STOWIPW [SWW]
  • Aprire la videata di parametrizzazione ALLPAR [ALP] e resettarla prima di ogni chiamata di un componente stock in cui è utilizzata
  • Aprire la videata di stoccaggio STOSORW [SOW]
  • Aprire la videata d'interfaccia stock STOWORK [STW]

Nella videata delle righe documento

  • Definire un campo WSTOSEQ (intero lungo) al fine di gestire il legame tra la riga documento e le righe stock della videata di stoccaggio (STOSORW)
  • Definire il campo STOMGTCOD (menù locale 215) specificando la gestione in stock dell'articolo
  • Definire i campi stock modificabili nella riga con i seguenti nomi:
    LOT, SLO, LOC, STA, SERNUM, SERNUMF, MVTDES
    Questi campi dovranno essere disattivati (con un grizo, ovvero un mkstat=2) in funzione delle caratteristiche dell'articolo

Richiamo

Riga inserita ma non creata: [M]CREFLG(nolign-1)=0

Riga già creata:                  [M]CREFLG(nolign-1)<>0

Attenzione

Non appena sia stata inserita una riga movimento (si è passati dalla fine riga), i campi lotto, sotto-lotto, matricola, ubicazione, stato, ... non sono più modificabili. Soltanto la quantità lo è.

Azioni campo

  • Variabile di fondo riquadro (NBLIG)

Attivatore

Azione

Richiamo programma/Descrizione

Pre-Riga

STD

Call INIZONSOR From STKECR

Controllo

STD

Call DELSTOSORW From STKSOR

 

 

- se eliminazione di una riga in corso di creazione

Iniz-Bottone

STD

GOUVSOR=1

Bottone

SAISTOSOR

Inserimento delle uscite

 

 

- sulla riga inserita ma non creata

 

 

- sulla riga già creata se documento con validazione, non validato

Bottone

SAISTOSORM

Modifica delle uscite

 

 

- sulla riga già creata se documento senza validazione

 

 

- sulla riga già creata se documento con validazione, non validato

 

 

Quest'azione deve essere richiamata soltanto con una situazione stabile

Post-Riga

SAISTOSOR

Inserimento delle uscite

 

 

Vedere l'azione oggetto 'Pre-Campo' $AAPRES_NBLIG

  • Articolo (ITMREF)

Attivatore

Azione

Richiamo programma

Post-Modif

STD

Call INIZONSOR From STKECR

 

 

Call STKINIEMPS From STKLOC

  • Stato qualità (STA)

Attivatore

Azione

Descrizione

Selezione

STKSELSTA

Selezione stato

Controllo

STKCTRSTA

Controllo stato

  • Ubicazione(LOC)

Attivatore

Azione

Descrizione

Selezione

STKSELEMP

Selezione ubicazione

Controllo

STKCTREMPS

Controllo ubicazione

  • Lot (LOT)

Attivatore

Azione

Descrizione

Selezione

STKSELLOT

Selezione lotto

Controllo

STKCTRLOTS

Controllo lotto

  • Sotto-Lotto (SLO)

Attivatore

Azione

Descrizione

Controllo

STKCTRSLOS

Controllo sotto-lotto

  • Matricola (SER)

Attivatore

Azione

Richiamo programma/Descrizione

Post-Modif

STD

Call CTLSORSER From STKSOR

 

 

Controllo n° matricola e calcolo n° matricola fine

Azioni oggetto

  • $OUVRE
    • Aprire la videata ALLPAR

If !clalev[ALP] Local Mask ALLPAR [ALP]

    • Aprire la videata STOSORW

If !clalev[SOW] Local Mask STOSORW [SOW]

    • Aprire la videata STOWORK

If !clalev[STW] Local Mask STOWORK [STW]

  • $LIENS 

Prima Gosub LIENS From TABLEAUX

    • Reset della videata di lavoro STOSORW

Call RAZSTOSORW From STKSOR

Dopo Gosub LIENS From TABLEAUX

    • Disattivazione dei campi stock

Call CTLSTOENT From STKECR

  • $LIENS_LIG
    • Al caricamento della riga documento, occorre conoscere se tutti i dati possono essere visualizzati o no. Se un dato non è significativo per la riga documento, è sostituito dal carattere '$'

Call RECSTOSOR From STKECR

  • $RAZCRE
    • Reset della videata di lavoro STOSORW

Call RAZSTOSORW From STKSOR

  • $RAZDUP
    • Reset della videata di lavoro STOSORW

Call RAZSTOSORW From STKSOR

  • $AAPRES_NBLIG
    • Determina l'azione da effettuare per identificare lo stock da evadere

se riga inserita ma non creata o se riga già creata (documento con validazione, non validato)

Call OUVSOR From STKSOR

    • Questo attiva
      • la scrittura in STOSORW
      • o il lancio del sotto-programma GENSTOSORW
      • o l'esecuzione dell'azione SAISTOSOR
  • $VERIF_CRE
    • Controlla che tutte le righe possano essere registrate.

Call CTLSTOSOR From STKECR

  • $VERIF_MOD
    • Controlla che tutte le righe possano essere registrate.

Call CTLSTOSOR From STKECR

  • $VALLIG
    • Documento con validazione e non validato:
      • se nuova riga: TRTLIG=‘C‘
      • o riga modificata (prima della transclasse [M]-->[F]): TRTLIG=‘M‘ & SIGN=-1
      • o riga eliminata: TRTLIG=‘A‘

Call ENRSTOALL From STKALL

    • Documento senza validazione:
      • se nuova riga: TRTLIG=‘C‘

Call ALISTOWORK From STKINT (origine = videata STOSORW)

  • $ABANDON
    • Reset della videata STOSORW

Call DELSTOSORW From STKECR (con n° riga =-1)

Picking

  • Picking di ordine o di OP
    • Sotto-programma CTLALL From STKALL per controllare la quantità da evadere (al momento del controllo di ciò che è selezionato)
    • Sotto-programma ALISTOSORW From STKSOR se il picking è OK
    • Sotto-programma OUVSOR From STKSOR per determinare automaticamente le righe da evadere o asserire che occorrerà sceglierle (in questo caso LRET=1, occorrerà mettere in rosso l'articolo nella riga documento)
  • Picking di ricevimento (dai resi fornitore)
    • Sotto-programma STJSTOSORW From STKSOR se il picking è OK
    • Sotto-programma OUVSOR From STKSOR per determinare automaticamente le righe da evadere o asserire che occorrerà sceglierle (in questo caso LRET=1, occorrerà mettere in rosso l'articolo nella riga documento)
  • Depicking
    • Sotto-programma DELSTOSORW From STKSOR con n° riga deselezionata per eliminare dalla videata di lavoro le righe stock selezionate

Scambi tra una riga documento e il dettaglio stock

Programma TRTSTOSORA (complemento di TRTSTOSOR: Inserimento delle uscite)

Permette di gestire l'interazione tra una riga documento e l'inserimento dettagliato degli stock.

L'aggiornamento di questo programma è in carico allo sviluppatore della funzione origine. Il riconoscimento di questo programma viene effettuato con l'abbreviazione della videata (LABR) passato a parametro all'azione SAISTOSOR (Inserimento delle uscite)

Permette:

  • Di alimentare la videata di inserimento STOSOR nell'etichetta $CHARGE_PARAM
  • Di effettuare degli aggiornamenti a seguito della registrazione dell'inserimento nell'etichetta $APRES_ENR

Altri programmi

Documento di uscita generato automaticamente (programma GTRAITE)

Documento con validazione e non validato

  • Documento origine con allocazione globale

Per eliminare le allocazioni della riga del documento origine:     DELALL From STKALL

Per diminuire le allocazioni della riga del documento origine:       DIMALL From STKALL

Per generare le allocazioni della riga del documento di destinazione: GENSTOALL From STKALL

  • Documento origine con allocazione dettagliata

Per controllare la quantità da evadere:                                              CTLALL From STKALL

Per trasferire le allocazioni della riga documento:                    CHGALL From STKALL

Documento senza validazione

  • Documento origine con allocazione globale

Per eliminare le allocazioni della riga del documento origine:     DELALL From STKALL

Per diminuire le allocazioni della riga del documento origine:       DIMALL From STKALL

Per generare le allocazioni della riga del documento di destinazione: GENSTOALL From STKALL

Per alimentare la videata di interfaccia di aggiornamento degli stock:   ALISTOWORK From STKINT

Per aggiornare gli stock :                                                      MAJ_STOCK From STKMAJ

  • Documento origine con allocazione dettagliata

Per controllare la quantità da evadere:                                              CTLALL From STKALL

Per trasferire le allocazioni della riga documento:                   CHGALL From STKALL

Per alimentare la videata d'interfaccia di aggiornamento degli stock:   ALISTOWORK From STKINT

Per aggiornare gli stock :                                                      MAJ_STOCK From STKMAJ

Validazione

Validazione delle uscite

La validazione di un documento può essere realizzata a partire da un bottone sul documento di uscita, o automaticamente da un programma.

Per questo è sufficiente richiamare i seguenti sottoprogrammi:

  • Alimentazione della videata di interfaccia per l'aggiornamento degli stock

Call ALISTOWORK From STKINT (origine = tabella STOALL)

  • Aggiornamento degli stock

Call MAJ_STOCK From STKMAJ

Aggiornamento degli stock

Interfaccia tra inserimento e aggiornamento

Interfaccia tra inserimento e aggiornamento

L'aggiornamento degli stock è effettuato a partire da una videata di stoccaggio univoca STOWORK [STW]. Necessita di conseguenza di passare da un'interfaccia di alimentazione di questa videata.

Le diverse origini di dati gestite nel programma di interfaccia sono le seguenti:

  • Tabella STOALL (Allocazioni)
  • Videata STOENTW (Videata stoccaggio delle entrate)
  • Videata STOSORW (Videata stoccaggio delle uscite)
  • Videata STOENTM (Videata modifica delle entrate)
  • Videata STOSORM (Videata modifica delle uscite)
  • Videata STKSHTREG (Videata regolarizzazione delle uscite)
  • Videata STOCHGW (Videata cambio stock)
  • Tabella CUNLISDET (Inventari)
  • Tabella STOJOU (Movimenti di stock)

Le informazioni necessarie all'aggiornamento degli stock sono alimentate nella videata STOWORK.

  • Alimentazione della videata di interfaccia per l'aggiornamento degli stock

Call ALISTOWORK From STKINT

Aggiornamento

Aggiornamento degli stock

  • L'aggiornamento viene realizzato per una riga documento a partire dalla videata STOWORK [STW]

Call MAJ_STOCK From STKMAJ

 

Contenuto della videata STOWORK a seconda dei diversi flussi
  • FLUSSO DI ENTRATA

Entrate

    • Entrata diversa
    • Ricevimento
    • Ricevimento conto lavoro
    • Dichiarazione produzione

Uscite negative

    • Reso cliente
    • Reintegrazione in stock

Cambi di ubicazione

    • Reso di prestito
    • Reso consegna c/lavoro

- Creazione

Movimento

MAJTYP

MAJCOD

Quantità

STOCOU

LOC

LOCDES

Altri campi

Entrata

 C

+

 

Entrata

 

Entrata

Uscita -

S

 C

-

 

Entrata

 

Entrata

Cambio ubic

 C

 C

+

Uscita

Uscita

Entrata

Entrata

Cambio ubicazione --> movimento negativo su LOC e positivo su LOCDES

- Annullamento

E' relativo ai movimenti di origine

Movimento

MAJTYP

MAJCOD

Quantità

STOCOU

LOC

LOCDES

Altri campi

Entrata

 A

+

 

Entrata

 

Entrata

Uscita -

S

 A

-

 

Entrata

 

Entrata

Cambio ubic

 C

 A

+

Entrata

Uscita

 

Uscita

Cambio ubicazione --> movimento positivo su LOC e negativo sull'ubicazione trovata a partire dallo stock entrato

  • FLUSSO DI USCITA

Uscite

    • Uscita diversa
    • Consegna
    • Uscita OP
    • Uscita ordine di c/lavoro
    • Richiesta di servizio

Entrate negative

    • Reso ricevimento
    • Reso ricevimento c/lavoro

Cambi di ubicazione

    • Consegna di prestito
    • Consegna di conto lavoro

- Creazione

Movimento

MAJTYP

MAJCOD

Quantità

STOCOU

LOC

LOCDES

Altri campi

Uscita

S

 C

+

Uscita

Uscita

 

Uscita

Entrata -

 C

-

Uscita

Uscita

 

Uscita

Cambio ubic

 C

 C

+

Uscita

Uscita

Entrata

Entrata

Cambio ubicazione --> movimento negativo su LOC e positivo su LOCDES

- Annullamento

E' relativo ai movimenti di origine

Movimento

MAJTYP

MAJCOD

Quantità

STOCOU

LOC

LOCDES

Altri campi

Uscita

S

 A

+

 

Uscita

 

Uscita

Entrata -

 A

-

 

Uscita

 

Uscita

Cambio ubic

 C

 A

+

Entrata

Uscita

 

Uscita

Cambio ubicazione --> movimento positivo su LOC e negativo sull'ubicazione trovata a partire dallo stock entrato

  • REGOLARIZZAZIONE DI STOCK

Sono gli stessi tipi movimento di quelli nei flussi di uscita.

WAIFLG = 1

Movimento

MAJTYP

MAJCOD

Quantità

Uscita

S

 A

+

Entrata -

 A

+

Cambio ubic

 C

 A

-

Poi programma di tipo classico con WAIFLG = 0 (Regolarizzazione dei movimenti in attesa)

Documentazioni diverse

Algoritmo di allocazioni e uscite

Algoritmo di allocazione e uscita stock

Caratteristiche tecniche

Sotto-programma STOCKALG del programma STKALL

Il risultato è salvato nella videtata di lavoro ALLPAR nel formato di un riquadro contenente le righe stock da allocare o evadere.

Contesto

Questo algoritmo gestisce in modo complementare le regole di allocazione e le regole di gestione.

Esistono delle differenze che riguardano gli stati tra i documenti che effettuano solo l'allocazione (Ordini, OP e Ordini di c/lavoro) e gli altri:

  • Ordine, OP e Ordine di c/lavoro

Gli stati autorizzati sono quelli definiti nella regola di allocazione, in caso di assenza di regola, soltanto gli stati 'A' vengono presi in considerazione

  • Altri documenti

Gli stati/sotto-stati autorizzati sono quelli definiti nella regola di gestione

Regola di allocazione e uscita

La regola di allocazione o uscita utilizzata è quella che viene definita nella categoria-sito o categoria dell'articolo a seconda delle corrispondenze definite nelle documentazioni 'Parametrizzazione allocazioni' e 'Parametrizzazione uscite' 

Se non è presente regola di allocazione per la coppia articolo-documento, verranno applicati i seguenti principi

  • Ordinamento FIFO
  • Stato 'A'
  • Tutte le unità senza limitazioni

Regola di gestione

La regola di gestione utilizzata è quella che viene definita nella categoria-sito o categoria dell'articolo per il tipo movimento da elaborare e il codice movimento indicato (se ne è presente uno).

Se non esiste regola di gestione particolare, si utilizzerà la regola di gestione standard per il tipo movimento da elaborare.

Non esiste regola di gestione per i documenti che non effettuano uscita, quest'ultimi saranno quindi assimilati ad un tipo movimento a seconda della corrispondenza definita nella documentazione 'Parametrizzazione allocazioni' 

Unità gestite

Le unità delle righe stock utilizzate sono le seguenti:

  • Unità di magazzino
  • Unità di confezionamento dell'articolo

Se ordine, consegna o fattura:

  • Unità di vendita
  • Unità di vendita dell'aricolo cliente
  • Unità di confezionamento dell'articolo cliente

Se reso fornitore:

  • Unità di acquisto
  • Unità di acquisto dell'articolo fornitore
  • Unità di confezionamento dell'articolo fornitore
Funzionamento

Il principio è il seguente

Si caricano nel riquadro della videata ALLPAR tutte le righe stock eleggibili a seconda della regola di allocazione e della regola di gestione.

Si esegue il programma generato associato alla regola di allocazione. Questo seleziona e ordina le righe stock del riquadro di ALLPAR

Si consuma la quantità delle righe stock del riquadro a raggiungimento della quantità da allocare o evadere

Caricamento delle righe stock eleggibili

  • Alimentazione dei filtri
    • Lotto

Se viene indicato il lotto nel filtro allocazione, filtro esclusivo su quest'ultimo o sul suo prefisso (se *) e salvataggio come lotto di rottura.

Filtro su lotti non scaduti alla data del fabbisogno prendendo in carico il margine di allarme per la scadenza, eccetto se lotto scaduto autorizzato dalla regola di gestione.

    • Stato

Se stati indicati nel filtro allocazione, filtro esclusivo su questi ultimi o sui loro prefissi (se *)

Altrimenti se documento diverso dall'ordine, OP o ordine c/lavoro, filtro sui sotto-stati autorizzati dalla regola di gestione.

A questo livello, se non esistono filtri sugli stati,

se ordine, OP o ordine c/lavoro e regola di allocazione, filtro sugli stati autorizzati da quest'ultimo

Altrimenti se ordine, OP o ordine c/lavoro senza regola di allocazione, filtro sugli stati 'A'

    • Unità

Se regola di allocazione, filtro sulle unità e coefficienti autorizzati dalla regola di allocazione

Altrimenti nessun filtro.

    • Ubicazioni

Filtro sulle ubicazioni interne

A seconda dei parametri dell'algoritmo, presa in carico delle ubicazioni in attesa di sistemazione e delle ubicazioni terzisti.

Se ubicazione indicata nel filtro allocazione, filtro su quest'ultima o sul suo prefisso (se *)

Se regola di allocazione

Se in quest'ultima, esiste sempre un filtro sull'ubicazione

Se OP o avanzamento d'OP e ubicazione centro di lavoro, la si aggiunge nel filtro e se questa ubicazione è esclusiva, la si memorizza nell'ubicazione di rottura

Se ubicazione articolo, la si aggiunge nel filtro e se questa ubicazione è esclusiva, la si memorizza nell'ubicazione di rottura

Altrimenti eliminazione del filtro

Altrimenti eliminazione del filtro.

A seconda del parametro dell'algoritmo, presa in carico delle ubicazioni in corso d'inventario.

  • Caricamento delle righe stock

Se regola di allocazione, lettura dei lotti a seconda dell'ordine definito in quest'ultima (per lotto, FIFO, FEFO, LIFO)

Altrimenti lettura dei lotti in FIFO.

Per ogni lotto, avente dello stock disponibile negli stati autorizzati, lettura delle righe stock utilizzando i filtri stati, unità e ubicazioni.

Per ogni riga stock che ha del disponibile, alimentazione delle caratteristiche della riga nel riquadro delle righe eleggibili.

Selezione e ordinamento delle righe stock eleggibili

Se regola di allocazione, esecuzione del programma generato associato ad essa

Altrimenti esecuzione del programma standard definito nell'algoritmo stesso.

Questo programma verifica l'adeguamento di ogni riga stock eleggibile con le righe di regole di allocazione e assegna di conseguenza alla riga un codice ordinamento.

Queste righe sono successivamente ordinate a seconda del codice ordinamento.

Consumo di queste righe stock

Si consuma la quantità delle righe stock del riquadro al raggiungimento della quantità da allocare o evadere

Gestione di campi supplementari

Gestione di nuovi campi nelle tabelle STOJOU e STOCK

Questo documento è un aiuto per l'implementazione di campi supplementari nelle tabelle STOJOU e/o STOCK, dal loro inserimento nelle diverse videate fino al relativo salvataggio nelle tabelle.

Gli entry point associati ad un flusso di entrata permettono la gestione di nuovi campi nelle tabelle STOJOU e STOCK.

Gli entry point associati agli altri flussi (uscita, cambio stock) permettono la gestione di nuovi campi nella tabella STOJOU.

Flusso di entrata

Le videate interessate sono:

  • Riga documento ([SMR1] per le entrate diverse, [PTH1] per i ricevimenti, …)
  • Inserimento dettaglio entrata (per una riga documento): STOENT [ENT]
  • Modifica dettaglio entrata (per una riga documento): STOENTM [ENM]
  • Salvataggio dettaglio entrata: STOENTW [ENTW]
  • Salvataggio per aggiornamento delle entrate: STOWORK [STW]

I nuovi campi devono essere aggiunti nelle diverse videate, e nelle tabelle STOJOU e/o STOCK (con lo stesso nome).

Gli entry point da utilizzare sono:

  • Nel programma STKENT (se inserimento del campo nella riga documento)

DOC_ENTW  =  Videata riga documento  -->  Videata STOENTW

  • Nel programma TRTSTOENMA (se accesso al campo nella modifica dei movimenti)

STJ_ENM  =  Tabella STOJOU  -->  Videata STOENTM

  • Nel programma TRTSTOENTA (se inserimento del campo nel dettaglio entrata)

ENTW_ENT  =  Videata STOENTW  -->  Videata STOENT

ENT_ENTW  =  Videata STOENT  -->  Videata STOENTW

  • Nel programma STKINT (per aggiornamento del campo delle tabelle)

ENTW_STW  =  Videata STOENTW  -->  Videata STOWORK

                     e  Videata STOENTM  -->  Videata STOWORK

Flusso di uscita

Le videate interessate sono:

  • Riga documento ([SMO1] per le uscite diverse, [SDH1] per le consegne, …)
  • Inserimento dettaglio uscita (per una riga documento): STOSOR [SOR]
  • Modifica dettaglio uscita (per una riga documento): STOSORM [SOM]
  • Salvataggio dettaglio uscita: STOSORW [SOW]
  • Salvataggio per aggiornamento delle uscite: STOWORK [STW]

I nuovi campi devono essere aggiunti nelle diverse videate, e nella tabella STOJOU (con lo stesso nome).

Gli entry point da utilizzare sono:

  • Nel programma STKSOR (se inserimento del campo nella riga documento)

DOC_SOW  =  Videata riga documento  -->  Videata STOSORW

  • Nel programma TRTSTOSOR (se inserimento del campo nel dettaglio entrata)

SOW_SOR  = Videata STOSORW  -->  Videata STOSOR

SOR_SOW  =  Videata STOSOR  -->  Videata STOSORW

  • Nel programma STKINT (per aggiornamento del campo delle tabelle)

SOW_STW  = Videata STOSORW  -->  Videata STOWORK

                   e  Videata STOSORM  -->  Videata STOWORK

Cambio stock

Le videate interessate sono:

  • Inserimento dettaglio cambio stock (per una riga documento): STOCHG [SCD]
  • Inserimento dettaglio controllo qualità (per una riga documento): STOQUA [SQD]
  • Salvataggio dettaglio cambio stock: STOCHGW [SGW]
  • Salvataggio per aggiornamento dei cambi stock: STOWORK [STW]

I nuovi campi devono essere aggiunti nelle diverse videate, e nella tabella STOJOU (con lo stesso nome).

Gli entry point da utilizzare sono:

  • Nel programma SUBSCSB (se inserimento del campo nei dettagli cambio stock o controllo qualità)

SCDSQD_SGW  =  Videata STOCHG  -->  Videata STOCHGW

                       e Videata STOQUA  -->  Videata STOCHGW

  • Nel programma TRTSTOCHGB (se inserimento del campo nel dettaglio cambio stock)

SGW_SCD  =  Videata STOCHGW  -->  Videata STOCHG

  • Nel programma TRTSTOQUAB (se inserimento del campo nel dettaglio controllo qualità)

SGW_SQD =  Videata STOCHGW  -->  Videata STOQUA

  • Nel programma STKINT (per aggiornamento del campo delle tabelle)

SGW_STW =  Videata STOCHGW  -->  Videata STOWORK