Vai al contenuto

COGL09 - Valorizzazione Pre-Distinte

Panoramica

Programma interattivo che calcola il valore economico di una pre-distinta, determinando il prezzo di ogni componente attraverso diverse fonti (ordini attivi, PUA, imputazione manuale) e producendo una visualizzazione a video con possibilita' di stampa. Supporta l'esplosione ricorsiva delle sotto-distinte e il calcolo di merci percentuali. La maschera e' in formato testo (non Screens). Circa 1.736 righe.

Posizioni nel menu

Menu Percorso
Magazzino Produzione > Distinte-Preventivo > Valorizzazione Pre-Distinte

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema
COGTABEL Input Tabelle di configurazione
COGMERCI Input Anagrafica merci ufficiale
COGMERTP I-O Anagrafica merci temporanee
COGDBPRE Input Pre-distinta base
COGTESOR Input Testata ordini (per ricerca prezzo su ordini attivi)
COGRIGOR Input Righe ordini (per ricerca prezzo su ordini attivi)
TRAN-S16 I-O File di transito per esplosione distinta (generato da COGS30)
COGDBAGG Input Distinta base aggregata
COGTRANS I-O File di transito temporaneo per stampa
FLSTA I-O File di stampa

Copybook principali

Copybook Descrizione
cogmerci.cpy Record anagrafica merci
cogmertp.cpy Record merci temporanee
cogdbpre.cpy Record pre-distinta
cogtesor.cpy Record testata ordini
cogrigor.cpy Record righe ordini
tran-s16.cpy Record file transito distinta
cogdbagg.cpy Record distinta base aggregata
cogtabel.cpy Record tabelle
utils21.cpy Utility gestione tabelle
utils22.cpy Accept merce con ricerca (COGS22)
utils28.cpy Utility varie
utils54.cpy Utility stampa
utils64.cpy Utility COGS64
utilncnf.cpy Configurazioni RNEWCONF
utilcogl61.cpy Interfaccia COGL61 (ricerca prezzo)

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGS22 Accept merce con ricerca e validazione
COGS12 Ricerca merce temporanea (F4)
COGU10 Gestione divise: conversione valuta, arrotondamento, accept/display prezzo
COGS30 Esplosione distinta base (genera TRAN-S16 con i componenti esplosi)
COGS64 Gestione configurazione merci percentuali (apertura/chiusura file)
RNEWCONF Lettura configurazioni (merci percentuali, ordinamento)
COGL61 Ricerca prezzo (PUA, ordini attivi)

Logica di elaborazione

Flusso principale

  1. Inizializzazione (inizio): apre file (7 file), crea file di transito temporanei (#$COGS30.{oper} e #$COGL09.{oper}). Legge configurazione merci percentuali da RNEWCONF (fino a 10 merci con relative percentuali).
  2. Input padre (a7): accept del codice merce temporanea padre (COGS22). Verifica che esista in COGMERTP e che abbia flag mtp-padre = 'P'.
  3. Esplosione e valorizzazione (a9):
  4. Chiama calc-val con la merce padre e livello 0: questo chiama COGS30 per esplodere la distinta e ottenere i componenti nel file TRAN-S16
  5. Per ogni componente: se e' padre (sotto-distinta), chiama ricorsivamente calc-val con livello 1
  6. Il valore calcolato viene salvato in tm-valore
  7. Caricamento griglia (a10-a15): legge TRAN-S16 e carica la tabella con i componenti. Per ogni componente:
  8. Filtra le merci percentuali: se trovata nella tabella merci percentuali, la riga viene gestita separatamente (quantita' e prezzo calcolati come percentuale del valore base)
  9. Se la merce e' temporanea: usa il prezzo da COGMERTP, con conversione valuta se necessario
  10. Se la merce e' ufficiale con sotto-distinta: chiama calc-val per calcolarne il valore
  11. Se la merce e' ufficiale senza sotto-distinta: chiama cerca-prmed (COGL61) per trovare il prezzo (PUA o ordini)
  12. Calcola l'importo riga = prezzo x quantita', arrotondato secondo la divisa di conto
  13. Accumula nel valore totale
  14. Gestione righe (a31): griglia paginata con navigazione. L'operatore puo' modificare il prezzo di ogni riga. Dopo la modifica, il valore riga e il totale vengono ricalcolati.
  15. Stampa (x1-stampa THRU ex-x1-stampa): alla conferma (F3), produce una stampa con testata (prodotto, descrizione, quantita') e righe (merce, descrizione, flag distinta, quantita', prezzo, quantita' calcolata, prezzo calcolato).

Merci percentuali

Le merci percentuali sono configurate in RNEWCONF (gruppo "progdist", chiavi "merce" e "percentuale", fino a 10). Rappresentano voci di costo calcolate come percentuale del valore base della pre-distinta (es. spese generali, margine). Le merci percentuali che sono anche semilavorati presenti nella distinta vengono trattate in modo speciale: la quantita' viene forzata a 1 e il valore corrisponde all'importo calcolato.

Configurazioni RNEWCONF

Gruppo Chiave Descrizione
progdist euta-c029-ord Ordinamento
progdist merce (idx 1-10) Codice merce percentuale
progdist percentuale (idx 1-10) Percentuale da applicare al valore base

Ricerca prezzo (cerca-prmed)

Per le merci ufficiali non padre, il prezzo viene determinato tramite COGL61 con la seguente priorita': 1. Ricerca su ordini attivi con calcolo variazione valuta 2. Prezzo Ultimo Acquisto (P.U.A.) 3. Imputazione manuale da parte dell'operatore

Struttura della stampa

  • Testata: codice prodotto, descrizione, quantita'
  • Colonne righe: codice merce, descrizione, flag distinta, quantita' da pre-distinta, prezzo, quantita' calcolata, prezzo calcolato
  • Totale valore: in fondo al report

Note tecniche

  • L'esplosione delle sotto-distinte avviene tramite COGS30, che genera il file TRAN-S16 con tutti i componenti al primo livello. Il livello passato come parametro controlla se COGS30 deve anche calcolare le merci percentuali (livello 0 = calcola, livello 1 = salta).
  • Il file COGS64 gestisce l'apertura/chiusura dei file di configurazione merci percentuali (tm-cfg-files: "O" = open, "C" = close).
  • La griglia supporta fino a 400 componenti con spaginamento (14 righe visibili).
  • I prezzi sono in formato 9(12)v9(6), gli importi pure.
  • Il file di transito COGTRANS viene usato solo per la stampa finale.
  • Il programma usa PERFORM ... THRU per varie sezioni (stampa, navigazione, elaborazione).