Vai al contenuto

COGG65 - Raggruppamento commesse in economia

Panoramica

Programma interattivo che raggruppa le prestazioni giornaliere (righe tipo "RR") delle commesse "in economia" e genera automaticamente i documenti (bolle) corrispondenti. Le prestazioni vengono accorpate per merce e prezzo in un file di transito temporaneo, poi trasformate in documenti di magazzino. Supporta filtro per singola commessa o elaborazione di tutte le commesse. Circa 1.213 righe.

Posizioni nel menu

Menu Percorso
Vendite Commesse > Funzioni Documenti > Raggruppamento prestazioni

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema
COGTESCM Input Anagrafica commesse (testata)
COGRIGCM Input Righe commessa (prestazioni giornaliere)
COGDMRIG Input Righe dettaglio documenti
COGDMTES Input Testata documenti
COGTABEL Input Tabella tipi commessa (tipo "A1", flag economia)
COGMERCI Input Anagrafica merci
COGTRANS I-O File di transito temporaneo (chiave: tsc-cod + merce + prezzo, dato: qta)

Copybook principali

Copybook Descrizione
cogg65.select SELECT dei file
cogg65.fd File Description
cogg65.wrk Working storage generata
cogg65-01.scr Screen section
cogg65.decla Declaratives
cogg65.prc Procedure generate da Screens
capazien.cpy Dati azienda
utilu35w.cpy Interfaccia utility U35 (accept commessa)
utils52.cpy Gestione date (calendario)
utils25.cpy Utility documenti

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGU10 Gestione divise/valute: conversione, arrotondamento, GetDivisaConto
RNEWCONF Lettura configurazioni
DTPRG / PRGDT Conversione data/progressivo giorni (per calcolo data estrazione + 1)

Logica di elaborazione

Flusso principale

  1. Inizializzazione (apri): apre file, legge configurazione (tipo numerazione commessa, causale raggruppamento giornalieri). Crea file di transito temporaneo #$COGG65.{operatore}.
  2. Input parametri (a4 e seguenti): accept di commessa (tramite utility U35), da-data, a-data, data-documento, flag ricalcolo. La commessa puo' essere vuota (= tutte).
  3. Validazione (a-fine-dati): verifica completezza dati, controlla che la causale sia configurata (tm-cfg-cau-raggr-giornalieri). Chiede conferma all'utente.
  4. Fase 1 - Elaborazione (tratta-dati THRU ex-tratta-dati):
  5. Scorre le commesse (tutte o la singola selezionata) su COGTESCM
  6. Per ogni commessa, chiama tratta-commessa: scorre le righe COGRIGCM filtrate per tipo "RR"
  7. Esclude righe con rgc-acid-id non vuoto (righe collegate a prestazioni Assist)
  8. Se ricalcolo = "N", salta le righe con data <= data estrazione commessa
  9. Filtra per intervallo date (da-data / a-data)
  10. Verifica che il tipo commessa (COGTABEL tipo "A1") abbia flag economia = "S"
  11. Per ogni riga valida, chiama tratta-dmrig: scorre le righe COGDMRIG collegate e accumula quantita' nel file di transito per chiave (commessa + merce + prezzo)
  12. Fase 2 - Creazione documenti (tratta-cogtrans THRU ex-tratta-cogtrans): legge il file di transito e genera i documenti con la causale configurata.
  13. Chiusura (fine): chiude e cancella il file di transito, esce dal programma.

Configurazioni RNEWCONF

Gruppo Chiave Descrizione
(da verificare) tip-num-tsc Tipo numerazione commessa: "N" = numerico
(da verificare) cau-raggr-giornalieri Causale da utilizzare per le bolle generate

Filtri applicati sulle righe

  • rgc-tip = "RR" (solo righe di tipo prestazione)
  • rgc-acid-id = spaces (escluse righe collegate ad Assist)
  • Intervallo date: tm-da-data <= rgc-data <= tm-a-data
  • Se ricalcolo = "N": rgc-data > tsc-data-estr
  • Tipo commessa con flag economia = "S" (da COGTABEL)
  • Personalizzazione "ID": solo documenti tipo "G"
  • Personalizzazione "EE": escluse merci con flag consumo = "S"

Note tecniche

  • Il file di transito e' un file indicizzato temporaneo creato nella directory temporanea dell'operatore, con chiave composta da codice commessa + merce + prezzo.
  • Il programma usa PERFORM ... THRU per le sezioni di elaborazione principale (tratta-dati, tratta-cogtrans, tratta-commessa, tratta-dmrig).
  • La data "da" viene proposta automaticamente come giorno successivo alla data di estrazione della commessa (se presente).