Vai al contenuto

ASN261 - Produzione sintetica

Sorgente: cbl/asn261.cbl (2.642 righe) | Tipo: Programma interattivo a due pagine (tab filtri + tab risultati) con griglia su file di transito e file di appoggio interni

Menu: Assist 2.0 > Operativo > Visualizzazioni > Produzione sintetica


Scopo

Visualizza in forma sintetica (aggregata) la produzione dei tecnici di assistenza. A differenza di ASN260 (analitica, una riga per movimento), ASN261 somma i movimenti di ASNPRODT per tecnico e per periodo di sintesi, producendo una riga di totale per ciascun tecnico. Oltre alla produzione consuntivata puo' calcolare la produzione prevista (interventi assegnati) e la produzione persa (interventi eseguiti con esito negativo), con un eventuale coefficiente di ponderazione.

E' il punto di ingresso "riepilogativo": dalla griglia sintetica, con F8 su una riga, si esplode il dettaglio analitico richiamando ASN260 con il tecnico/periodo selezionato.

Puo' essere invocato in modalita' called (asn261-called = "ASN261") ricevendo tecnico e intervallo date come pre-filtri.


Interfaccia chiamato (linkage util-asn261)

Campo Tipo Uso
asn261-called / asn261-caller x(08) Identificativi chiamato/chiamante
asn261-in-tecnico 9(10) Pre-filtro tecnico
asn261-in-data-da / asn261-in-data-a 9(08) Pre-filtro periodo

Livello di sintesi (tm-tipo-sintesi)

Valore Aggregazione Periodo memorizzato
P Totale generale per tecnico (Periodo) zero
M Totale per Mese per tecnico anno/mese (giorno = 0)
G Totale per Giorno per tecnico anno/mese/giorno

File acceduti

File Copybook Uso
FEURTAB cogfiles.cpy Features/abilitazioni utente
ASNPRODT aptn-rec Produzione per tecnico (sorgente della sintesi consuntiva). Scansione k05 (tecnico+data) o k04 (data)
ASNINTES acit-rec Interventi: k06 (stato, per produzione prevista) e k07 (data intervento, per produzione persa). Array acit-tecnico (1:5) per interventi in squadra
ASNINTE2 acit2-rec Dati aggiuntivi intervento: acit2-tipo-esito (per la produzione persa)
ASNCHTES acht-rec Chiamata: tipo attivita', responsabile, gruppo azienda esecutrice
ASNTPATT atpa-rec Tipo attivita': atpa-valore (valore usato per la quota prevista/persa)
ASNRESPO ares-rec Responsabili: descrizione (per il responsabile prevalente)
COGAZGRP azg-rec Associazione fornitore/tecnico -> gruppo azienda (k03, filtro azienda tecnico)
COGRIFER rif-rec Riferimenti tipo "C" (tecnico): nome
GRPAZIEN ao-azi-rec Descrizione gruppo/azienda
cogtrans (interno) trs-rec locale File di appoggio per determinare il responsabile prevalente per tecnico (conteggio per trs-tecn + trs-resp)
t-grid-det cogtrans.k03 rimappata t-gor-r- File di transito indicizzato che alimenta la griglia sintetica

Copybook e sottoprogrammi di supporto

Copybook Descrizione
asn261.select/.fd/.wrk/.tm/-01.scr/.decla/.prc Artefatti Screens
asn261.imppredf-wrk / asn261.imppredf Filtri predefiniti (Ctrl+S / Ctrl+F)
wgrid.cpy, utilgdad.cpy Supporto griglia (GRIDADMN)
k-personal.cpy Costanti di personalizzazione cliente (es. k-personal-consorzio-progresso)
utils52 (date), utilu10/utilu20 (numeri) Gestori campi Screens
utilncnf.cpy Linkage RNEWCONF
utilasn260.cpy Linkage ASN260 (esplosione analitica, F8)
utilgrp002.cpy Linkage GRP002 (lookup gruppo aziende, F8)
utilasns21.cpy Linkage ASNS21 (validita'/fornitore listino del tecnico alla data)
utilcogs0b.cpy Linkage COGS0B (abilitazione operatore per gruppo aziende)
utilg32.cpy Linkage COGG32 (campo tecnico)
chiavi: asnprodt.k04/.k05, asnintes.k06/.k07, cogazgrp.k03, cogtrans.k01/.k02 Chiavi secondarie

Chiamate a sottoprogrammi

Programma Utilizzo
COGG32 Campo tecnico (a-tm-tecnico) con lookup
GRP002 F8 su azienda esecutrice / azienda tecnico
ASN260 F8 su riga risultati: esplosione dettaglio analitico per il tecnico/periodo della riga
ASNS21 Verifica che il tecnico sia attivo alla data (esclude cessati, fornitore interno, affiancati); fornisce asns21-for-listino
COGS0B Abilitazione operatore al gruppo azienda (se gestione gruppo aziende attiva)
GRIDADMN Preparazione/personalizzazione griglia
RNEWCONF Lettura configurazione (x99-confi); F1 apre la configurazione

Configurazione RNEWCONF (x99-confi)

Identica ad ASN260:

Idx Gruppo Chiave Variabile
01 assist gestione-gruppo-aziende tm-cfg-gestione-gruppo-aziende
02 azienda gestione-brand-marchio tm-cfg-gestione-brand
03 assist gestione-produzione-tecnico tm-cfg-gestione-produzione-tecnico

Filtri disponibili (pagina 1)

Tecnico (COGG32), azienda esecutrice (GRP002), azienda tecnico (GRP002), data inizio/fine, tipo sintesi (P/M/G), produzione prevista (tm-fl-produzione S/N) e coefficiente (tm-coeff, per ponderare prevista/persa). Per la personalizzazione consorzio-progresso, con produzione prevista attiva e coefficiente 0, viene proposto d'ufficio 0,625.

Logica di elaborazione

1. Sintesi consuntiva (z-grid-ricerca-dati)

Scorre ASNPRODT per tecnico+data (k05) o per data (k04), applica i filtri (tecnico, azienda esecutrice, azienda tecnico, periodo) e — se gestione gruppo aziende attiva — il controllo COGS0B sull'azienda esecutrice o tecnico. Per ogni movimento valido calcola il periodo di sintesi in base a tm-tipo-sintesi e aggiorna la riga di transito del tecnico sommando/sottraendo (in base ad aptn-segno A/D) aptn-prd-importo in t-gor-r-importo e aptn-prd-coeff in t-gor-r-coeff.

2. Produzione prevista (a-produzione-prevista, solo se tm-fl-produzione = "S")

Scorre gli interventi assegnati (acit-stato = "A", k06). Per ciascun tecnico dell'intervento (array acit-tecnico, fino a 5) verifica validita' alla data (ASNS21), filtra per azienda (COGAZGRP) e somma in t-gor-r-valore la quota atpa-valore / numero-tecnici (calcolata da a11-quanti-tecnici). Aggiorna anche il file di appoggio cogtrans per determinare il responsabile prevalente.

3. Produzione persa (a-produzione-persa)

Scorre gli interventi eseguiti nel periodo (acit-stato = "P" o "C", k07) con acit2-tipo-esito = "N" (esito negativo). Con la stessa logica di ripartizione per tecnico somma la quota in t-gor-r-pro-persa.

4. Coefficiente (a-prevista-persa-coeff, se tm-coeff <> 0)

Ricalcola t-gor-r-valore-coef = valore * tm-coeff e t-gor-r-ppersa-coef = pro-persa * tm-coeff per ogni riga del transito.

5. Responsabile prevalente

Al termine delle fasi previste/perse, per ogni riga della griglia scorre il file di appoggio cogtrans (k02, per tecnico) e assegna il responsabile con piu' occorrenze (t-gor-r-respo + descrizione da ASNRESPO).

Griglia risultati (pagina 2)

Griglia read-only ordinata per tecnico+periodo. Funzioni: F8 esplode l'analitico (ASN260), F9 stampa report, SF4 personalizzazione colonne, SF5 export Excel, Ctrl+S/Ctrl+F filtri predefiniti, menu contestuale (151-199). L'etichetta del periodo viene formattata in chiaro da x-riempi-t-gor-r-periodo-ed (es. "Gennaio 2026" per la sintesi mensile).

Note implementative

  • Il file di appoggio cogtrans interno (chiave trs-tecn + trs-resp, alternativa trs-tecn + trs-nr) e' creato in tmp, usato solo per il calcolo del responsabile prevalente e cancellato in chiusura.
  • Il transito t-grid-det deriva da cogtrans.k03 rimappata; entrambi i file vengono chiusi e cancellati a fine programma.
  • L'array acit-tecnico (1:5) gestisce gli interventi in squadra: il valore previsto/perso viene ripartito per il numero di tecnici validi (w-nr-tec), escludendo cessati, fornitore interno e affiancati.
  • Se la data fine e' 0 viene forzata a 20301231 durante l'estrazione.