ASN260 - Produzione analitica¶
Sorgente: cbl/asn260.cbl (2.156 righe) | Tipo: Programma interattivo a due pagine (tab filtri + tab risultati) con griglia su file di transito
Menu: Assist 2.0 > Operativo > Visualizzazioni > Produzione analitica
Scopo¶
Visualizza in forma analitica (riga per riga) la produzione dei tecnici di assistenza, estratta dalla tabella ASNPRODT (Produzione per tecnico). L'operatore imposta una serie di filtri nella pagina "filtri"; alla conferma (F7 / F3) il programma estrae i movimenti di produzione, arricchisce ogni riga con i dati anagrafici correlati (chiamata, intervento, cliente di fatturazione, cliente assistito, destinazione, brand, aziende, tecnico, merce) e li mostra in una griglia di dettaglio ordinabile ed esportabile.
Ogni riga rappresenta un singolo movimento di produzione (aptn-rec): quantita', prezzo, importo, fattore, coefficiente, importo di produzione e coefficiente di produzione.
Puo' essere invocato in modalita' called (asn260-called = "ASN260"), in genere da ASN261 (produzione sintetica) per esplodere il dettaglio di un tecnico/periodo, ricevendo tecnico, intervallo date, chiamata e codici azienda come pre-filtri.
Interfaccia chiamato (linkage util-asn260)¶
| Campo | Tipo | Uso |
|---|---|---|
asn260-called / asn260-caller |
x(08) | Identificativi chiamato/chiamante |
asn260-in-tecnico |
9(10) | Pre-filtro tecnico |
asn260-in-data-da / asn260-in-data-a |
9(08) | Pre-filtro periodo (con redefines aa/mm/gg) |
asn260-in-chiamata |
9(12) | Pre-filtro chiamata originale |
asn260-in-azi-ese / asn260-in-azi-tec |
x(05) | Pre-filtro azienda esecutrice / azienda tecnico |
In modalita' called i pre-filtri vengono caricati nei campi maschera e, se almeno uno tra tecnico/data-da/chiamata e' valorizzato, il programma salta direttamente all'estrazione (flag-ok-salta). All'uscita dalla griglia in modalita' called torna al chiamante.
File acceduti¶
| File | Copybook | Uso |
|---|---|---|
| FEURTAB | cogfiles.cpy |
Features/abilitazioni utente |
| ASNPRODT | aptn-rec |
Produzione per tecnico (sorgente dati). Scansione per chiave: k05 (tecnico+data), k04 (data), k03 (id chiamata originale) |
| ASNINTES | acit-rec |
Testata intervento (acit-id-chiamata, acit-dst-idx). Chiave k02 per interventi di una chiamata |
| ASNCHTES | acht-rec |
Testata chiamata: data, garanzia, cliente fatturazione/assistito, destinazione, chiamata di origine garanzia |
| COGGEANA | ana-rec |
Anagrafica clienti (fatturazione / assistito): nome, indirizzo, localita', provincia |
| COGANAPP | aap-rec |
Anagrafica appoggio: localita' alternativa cliente assistito |
| CRMANAGR | cra-rec |
Anagrafica CRM (nominativo assistito quando non e' un cliente codificato) |
| COGDESTI | dst-rec |
Destinazioni: ragione sociale e indirizzo di consegna |
| COGBRAND | bra-rec |
Descrizione brand |
| COGRIFER | rif-rec |
Riferimenti tipo "C" (tecnico): nome |
| GRPAZIEN | ao-azi-rec |
Descrizione gruppo/azienda (esecutrice e tecnico) |
| cogtrans (t-grid-det) | cogtrans.k03 (rimappata t-gor-r-) |
File di transito indicizzato che alimenta la griglia di dettaglio |
Copybook e sottoprogrammi di supporto¶
| Copybook | Descrizione |
|---|---|
asn260.select/.fd/.wrk/.tm/-01.scr/.decla/.prc |
Artefatti Screens |
asn260.imppredf-wrk / asn260.imppredf |
Salvataggio/caricamento filtri predefiniti (Ctrl+S / Ctrl+F) |
wgrid.cpy, utilgdad.cpy |
Supporto griglia (GRIDADMN) |
utils52 (date), utils65 (cliente), utils68 (merce), utilu10/utilu20 (numeri) |
Gestori campi Screens |
utilncnf.cpy |
Linkage RNEWCONF |
utilcogmah.cpy |
Linkage COGMAH (lookup brand, F8) |
utilgrp002.cpy |
Linkage GRP002 (lookup gruppo aziende, F8) |
utilasn210.cpy |
Linkage ASN210 (ricerca chiamata, F9) |
utilcogma3.cpy |
Linkage COGMA3 (navigazione documento, SF12) |
utilcogs0b.cpy |
Linkage COGS0B (abilitazione operatore per gruppo aziende) |
utilg32.cpy |
Linkage COGG32 (campo tecnico con lookup) |
asnprodt.k03/.k04/.k05, asnintes.k02 |
Chiavi secondarie |
Chiamate a sottoprogrammi¶
| Programma | Utilizzo |
|---|---|
| COGG32 | Campo tecnico (a-tm-tecnico) con lookup integrato (tipo "C", param "T") |
| COGS65W | Campo cliente di fatturazione (F8) |
| COGMAH | F8 su brand: lookup marchio |
| GRP002 | F8 su azienda esecutrice / azienda tecnico: lookup gruppo aziende |
| ASN210 | F9 su chiamata originale: ricerca chiamata |
| COGMA3 | SF12 sulla riga: navigazione al documento (cogma3-doc-classe = "A", cogma3-doc-key = id chiamata) |
| COGS0B | Verifica abilitazione operatore al gruppo azienda della riga (se gestione gruppo aziende attiva) |
| GRIDADMN | Preparazione/personalizzazione griglia (Prepara, S-F4) |
| RNEWCONF | Lettura configurazione (x99-confi); F1 apre la configurazione |
Configurazione RNEWCONF (x99-confi)¶
| Idx | Gruppo | Chiave | Variabile | Effetto |
|---|---|---|---|---|
| 01 | assist |
gestione-gruppo-aziende |
tm-cfg-gestione-gruppo-aziende |
Se "S" attiva i filtri azienda esecutrice/tecnico e il controllo abilitazione operatore (COGS0B) |
| 02 | azienda |
gestione-brand-marchio |
tm-cfg-gestione-brand |
Abilita il filtro brand |
| 03 | assist |
gestione-produzione-tecnico |
tm-cfg-gestione-produzione-tecnico |
Gestione produzione per tecnico |
Filtri disponibili (pagina 1)¶
Tecnico (COGG32), cliente di fatturazione (COGS65W), brand (COGMAH), azienda esecutrice (GRP002), azienda tecnico (GRP002), data inizio/fine estrazione (calendario), chiamata originale (ASN210). Se la data fine e' 0 viene forzata internamente a 20301231. La validazione consolidata e' in x-imposta-conferma.
Logica di estrazione (z-grid-det-crea-transito -> z-grid-ricerca-dati)¶
La scelta della chiave di scansione dipende dai filtri:
- Tecnico valorizzato ->
z-grid-aptn-chia5(start suaptn-tecnico + aptn-data, rottura su tecnico diverso o data oltretm-data-a). - Chiamata originale valorizzata (senza tecnico) ->
z-grid-aptn-chia3(start suaptn-id-chiamata-orig). - Altrimenti per periodo ->
z-grid-aptn-chia4(start suaptn-data).
Per ogni record estratto, z-grid-filtri applica i filtri residui (tecnico, cliente fatturazione, brand, azienda esecutrice, azienda tecnico, periodo, chiamata) e, se gestione-gruppo-aziende = "S", verifica via COGS0B che l'operatore sia abilitato all'azienda esecutrice oppure all'azienda del tecnico; altrimenti la riga viene scartata.
Le righe superate vengono arricchite (letture su ASNINTES/ASNCHTES/COGGEANA/COGANAPP/CRMANAGR/COGDESTI/COGBRAND/GRPAZIEN/COGRIFER) e scritte sul transito t-grid-det. Per gli interventi di garanzia (acht-id-garanzia) risale alla chiamata di origine e ai relativi interventi.
Griglia risultati (pagina 2)¶
Griglia read-only alimentata dal transito, ordinata per default su id chiamata. Funzioni:
- F9 stampa report standard (
z-wordmdl-report) - SF4 personalizzazione colonne (GRIDADMN)
- SF5 esportazione Excel
- SF12 (pulsante custom
k-sf2-filiera) navigazione al documento della riga (COGMA3) - Ctrl+S / Ctrl+F salva / carica un filtro predefinito
- Menu contestuale griglia (tasto destro) con voci pop-up (range exception 151-199)
Note implementative¶
- Il file di transito e' una copia rimappata di
cogtrans.k03(prefissicogtrans/trs-sostituiti cont-grid-det/t-gor-r-); a fine programma viene chiuso e cancellato. - Gestione a tab:
w-tab-current-page-testdistingue pagina filtri (k-pag-filtri) e pagina risultati (k-pag-risultati); il cambio pagina e' pilotato da eventicmd-tabchanged. - I campi azienda esecutrice/tecnico e brand sono abilitati/disabilitati in base alle configurazioni; i relativi
x-controlla-*escono subito se il campo non e' abilitato.