COGD53 - Invio liste a Modula

Navigation:  »No topics above this level«

COGD53 - Invio liste a Modula

Return to chapter overview

Posizione nel menu

Programma non a menu

 

Linkage section

Tipo

Dato

Formato

Contenuto

INPUT

D53-OPE

x(20)

Operazione da eseguire (vedi oltre)

 

D53-DOCUMENTO

tes-chia3

Documento da elaborare (dipende dalla operazione)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OUTPUT

 

 

 

 

 

 

 

 

Logica generale

Questo programma centralizza le operazioni di invio di una lista di versamento/prelievo a Modula, a fronte dell'aggiornamento di un documento di magazzino.

 

Configurazioni                

 

Gruppo

Parametro

Note

 

 

 

 

Elaborazione

 

L'elaborazione cambia a seconda dell'operazione richiesta.

 

Nuova logica di funzionamento

 

In tutti i casi di aggiornamento di un documento (inserimento/variazione/cancellazione), se previsto è necessario inviare una lista di prelievo/versamento a Modula. quando ci sono variazioni rispetto al documento precedente.

 

In sintesi, a seconda del segno del movimento e della variazione effettuata, si dovrà effettuare la seguente operazione, a parità di merce:

 

Documento precedente

Documento attuale

Operazione

Effetto su Modula

Regola

Documenti di entrata

Si calcola la differenza tra precedente e attuale

0   -> Non si fa nulla

>0 -> Versamento (E)

<0 -> Prelievo (U)

" "

E(1)

Inserimento entrata di 1

Lista di versamento di 1 (1 - 0)

E(1)

E(1)

Documento variato senza nessuna modifica

Nessuna lista

E(1)

E(3)

L'entrata viene variata e portata a 3

Lista di versamento di 2 (3 - 1)

E(3)

E(2)

L'entrata viene variata e portata a 2

Lista di prelievo di 1 (2 - 3)

E(2)

" "

L'entrata viene cancellata

Lista di prelievo di 2 (0 - 2)

Documenti di uscita

Si calcola la differenza tra precedente e attuale

0   -> Non si fa nulla

>0 -> Prelievo (U)

<0 -> Versamento (U)

" "

U(1)

Inserimento uscita di 1

Lista di prelievo di 1 (1 - 0)

U(1)

U(1)

Documento variato senza nessuna modifica

Nessuna lista

U(1)

U(3)

L'uscita viene variata e portata a 3

Lista di prelievo di 2 (3 - 1)

U(3)

U(2)

L'uscita viene variata e portata a 2

Lista di versamento di 1 (2 - 3)

U(2)

" "

L'uscita viene cancellata

Lista di versamento di 2 (0 - 2)

 

Questa elaborazione sarà effettuata tramite 3 chiamate successive a COGD53 da parte di un programma chiamante:

 

 

 

DOC-PRECEDENTE

 

Sequenza

Operazione

Inserimento?

Variazione

Cancellazione?

Modalità

1

DOC-PRECEDENTE

" "

"12018I000100"

"12018I000100"

Si effettua la chiamata passando il documento prima della modifica o cancellazione del documento

Inserirà nel file di transito il contenuto precedente del documento

In caso di Inserimento, D53-DOCUMENTO sarà vuoto

2

DOC-ATTUALE

"12018I000100"

"12018I000100"

" "

Si effettua la chiamata passando il riferimento al documento dopo la modifica

Aggiornerà il file di transito con il contenuto attuale del documento (vedi schema precedente)

Questa chiamata non viene effettuata in caso di cancellazione

3

DOC-ESEGUI

" "

" "

" "

Scorre quello che rimane del file di transito, a parità di segno, riempe l'area D53-RIGHE ed esegue l'operazione standard per la creazione della lista di prelievo

 

 

 

File di transito

 

Il programma usa un file di transito per alcune operazioni spiegate successivamente, strutturato come segue:

 

FILE-CONTROL

          select cogtrans4 assign to random w-trs4-name

            organization          is indexed

            access                is dynamic

            record key            is trs4-chia1

            alternate record key  is trs4-chia2 = trs4-entrusc,

                                     trs4-chia1

            file status stato.

 

FILE SECTION

      fd  cogtrans4

          label record standard.

      01 trs4-rec.

        02 trs4-chia1.

          03 trs4-chiap.

            04 trs4-testa.

              05 trs4-mag1             pic x(01).

              05 trs4-anno             pic 9(04).

              05 trs4-tipob1           pic x(01).

              05 trs4-bolla1           pic 9(06).

            04 trs4-prog               pic 9(04).

     * serve solo per evitare la chiave doppia

          03 trs4-tipo                 pic x(01).

        02 trs4-dati.

          03 trs4-merce.

            04 trs4-gru                pic x(02).

            04 trs4-sot                pic x(02).

            04 trs4-cod                pic 9(05).

          03 trs4-entrusc              pic x(01).

          03 trs4-qtamagaz             pic 9(07)v9(03).

          03 trs4-riga-canc            pic x(01).

          03 trs4-fl-var               pic x(01).