Entry Points > Modulo Modulo base > Script standard TRTWIP 

MAJITMMVT: Aggiornamento complementare di file dopo un aggiornamento di incorso

Presentazione

Questo entry point riguarda la gestione degli incorso di stock.

Permette di eseguire degli aggiornamenti complementari di file dopo ogni operazione su un in corso di stock.

Contesto e modalità di funzionamento

Transazione

C'è una transazione in corso. La variabile GOK è posizionata a 1.

Vari casi di chiamata

Questo entry point è chiamato nel programma TRTWIP che è a sua volta chiamato dopo ogni elaborazione (Stock, Acquisto, Vendita, Produzione) che permette la creazione, modifica o cancellazione di un incorso di stock.

 

Variabili significative

WMAJCOD contiene:         " C " se si scrive un record ORDERS

         " M " se si riscrive un record ORDERS

         " A " se si cancella un record ORDERS

Se WMAJCOD = « M »

               WRMNEXTQTY contiente la quantità restante prima della riscrittura dell'Incorso con la sua nuova quantità.

               WOLDWIPSTA contiente il vecchio stato dell’incorso (1 = « Confermato », 2 = « Pianificato », 3= « Suggerito», 4 = « Chiuso »).

 

 
Tabelle aperte 

Nel riquadro sottostante, il flag contenuto significativo significa che il contenuto è allineato al contesto (la consegna corrente è caricata... ma le righe).

Tabella

Contenuto significativo

Descrizione Tabella

ORDERS

SI

In corso di stock [F:ORDW]

 

 

 

 

Videate aperte

Videata

Contenuto significativo

Descrizione Videata

ORDK

SI

Parametri incorso di stock

 

 

 

 
Caso particolare

Pour alimentare un totale fabbisogno (BESSTO ad esempio) nella tabella Totali articoli-siti (ITMMVT), occorre procedere nella seguente maniera:

Per gli ordini

- SOF          (Ordine di vendita)                ( [M:ORDK]WIPTYP=1 e [M:ORDK]WIPSTA=1 )

- MWF         (Materiali produzione)             ( [M:ORDK]WIPTYP=6 e [M:ORDK]WIPSTA=1 )

- TPF           (Richiesta inter-sito)              ( [M:ORDK]WIPTYP=8 e [M:ORDK]WIPSTA=1 )

Se WMAJCOD = " C "

[F :ITV]BESSTO += [F:ORDW]RMNEXTQTY

Se WMAJCOD = " M "

               Se WOLSWIPSTA = 2 o WOLDWIPSTA = 3 e [F :ORD]WIPSTA = 1 (si passa da « Pianificato/Suggerito » a « Confermato)

                                [F :ITV]BESSTO += [F :ORDW]RMNEXTQTY

               Altrimenti

                               [F :ITV]BESSTO += [F:ORDW]RMNEXTQTY - WRMNEXTQTY

Se WMAJCOD = " A "

[F :ITV]BESSTO -= [F:ORDW]EXTQTY – [F :ORDW]CPLQTY

ORDMAJ: Aggiornamento di campi specifici del file incorso ORDERS

Questo entry point riguarda la gestione degli incorso di stock.

Permette di assumere il controllo subito prima della creazione o della modifica del record incorso (ciò permette, ad esempio, di inizializzare dei campi specifici o di ricalcolare le quantità in unità attiva).

Contesto e modalità di funzionamento

Transazione

C'è una transazione in corso. La variabile GOK è posizionata a 1.

Vari casi di chiamata

Questo entry point è chiamato in creazione e modifica nel programma TRTWIP che è a sua volta chiamato dopo ogni elaborazione (Stock, Acquisto, Vendita, Produzione) che permette la creazione di un incorso di stock.

Bisognerà quindi testare eventualmente le variabili GFONCTION e WMAJCOD per conoscere il contesto di chiamata.

 

Variabili significative

WMAJCOD contiene:

         " C " se si scrive un record ORDERS

         " M " se si riscrive un record ORDERS

Si noti che per il ricalcolo delle quantità in unità attiva, solo gli ordini generati dagli acquisti sono interessati.

Qui di seguito, un esempio di programma specifico per gestire questa esigenza:

$ACTION

Case ACTION

  When "ORDMAJ" :  Gosub ORDMAJ

  When Default

Endcase

Return

 

#-----------------------------------#

# Conversione qtà in unità attiva   #

# per gli ordini generati dagli acquisti  # 

#   - [F:ORD]RMNEXTQTY              #

#   - [F:ORD]CPLQTY                 #

#   - [F:ORD]EXTQTY                 #

#-----------------------------------#

$ORDMAJ

If find([F:ORD]WIPTYP,2,7) & left$([M:ORDK]ABBFIL,1)="P"

    If [F:ITM]ITMREF<>[F:ORD]ITMREF

       Read [ITM] ITM0=[F:ORD]ITMREF : If fstat  Raz [F:ITM] : Endif

    Endif

    If [F:ITM]STOMGTCOD=3 & [F:ITM]DEFPOT<>0

       [F:ORD]RMNEXTQTY=[F:ORD]RMNEXTQTY*[F:ITM]DEFPOT/100

       Call QTEARR ([F:ORD]RMNEXTQTY,[F:ITM]STU) From TRTDIV

       If [F:ORD]CPLQTY <> 0

           [F:ORD]CPLQTY=[F:ORD]CPLQTY*[F:ITM]DEFPOT/100

           Call QTEARR ([F:ORD]CPLQTY,[F:ITM]STU) From TRTDIV

       Endif

       If [F:ORD]EXTQTY <> 0

           [F:ORD]EXTQTY=[F:ORD]EXTQTY*[F:ITM]DEFPOT/100

           Call QTEARR ([F:ORD]EXTQTY,[F:ITM]STU) From TRTDIV

       Endif

    Endif

Endif

Return

 

 

 

Tabelle aperte 

Nel riquadro sottostante, il flag contenuto significativo indica che il contenuto è allineato al contesto.

Tabella

Contenuto significativo

Descrizione Tabella

ORDERS

SI

Incorso di stock

 

 

 

 

Videate aperte

Videata

Contenuto significativo

Descrizione Videata

ORDK

SI

Parametri incorso di stock