Vai al contenuto

ASN05H — Inserimento chiamata programmata da contratto

Campo Valore
Sorgente cbl/asn05h.cbl
Program-ID asn05h
Tipo Programma GUI standalone (maschera), chiamato using stringhe
Posizione menu Nessuna (non presente in prog.txt): richiamato all'interno del flusso chiamate/contratti quando modo-programmazione = "B"

Scopo

ASN05H consente di inserire manualmente la "prossima" chiamata programmata collegata a un contratto, partendo da un intervento gia' chiuso. E' abilitato solo quando la configurazione modo-programmazione delle chiamate vale "B" (programmazione "a intervento", in cui la chiamata successiva viene generata al termine di quella precedente): all'avvio, se modo-programmazione e' diverso da "B", il programma mostra "Programma non abilitato !! modo programmazione chiamate diverso da 'B'" ed esce.

L'operatore indica l'intervento di riferimento (o lo cerca con F9); dopo i controlli di ammissibilita' e la conferma, il programma delega la creazione della nuova chiamata programmata alla subroutine ASN053 (operazione CREA-PROSSIMA) e comunica il numero e la data della chiamata generata.

Configurazione (x99-confi, RNEWCONF)

Le configurazioni sono lette via RNEWCONF (area util-ncnf, package "C"):

Gruppo Chiave Campo working Uso
ass-contr modo-programmazione tm-cfg-modo-programmazione Abilitazione del programma: deve valere "B", altrimenti il programma non parte
assist chiamate-programmate-provenienza tm-cfg-program-prov Provenienza attesa per riconoscere una "chiamata programmata" da contratto (confronto con acht-provenienza)

Il tasto F1 riapre la maschera di configurazione (RNEWCONF in modalita' Modifica).

Struttura e flusso

Programma a maschera singola (screen asn05h-01.scr), con impianto GUI standard (mmmask.cpy, z-99-init-program / z-99-exit-program).

  1. apri — controllo abilitazioni, init programma, apertura file, lettura azienda, lettura configurazioni (x99-confi) e verifica modo-programmazione = "B"; apertura log di debug (gesdebug), abilitazione tasti funzione F1/F3/F9, titolo "Inserimento chiamata da contratto".
  2. a-tm-id — accept dell'Id intervento (tm-id). Tasti: F9 = ricerca avanzata interventi (ASN230), F1 = configurazione, gestione ESC/mouse (x-test-mouse). Alla conferma esegue x-controlla-tm-id.
  3. x-controlla-tm-id — controlli di ammissibilita' dell'intervento (vedi sotto). Se validi, valorizza e visualizza contratto, chiamata, cliente assistito e cliente di fatturazione.
  4. a-richiesta-conferma — richiesta di conferma "Confermi Inserimento Chiamata Programmata per il contratto indicato?" (acc-conf-custom).
  5. a-avanti — legge la testata intervento (asnintes/acit) e la testata chiamata (asnchtes/acht), poi chiama ASN053 con asn053-operazione = "CREA-PROSSIMA", passando contratto (acht-id-contratto) e intervento (tm-id). In caso di esito negativo (asn053-esito = "N") segnala "Nuova chiamata programmata da contratto NON Inserita !!"; altrimenti legge la nuova chiamata (asn053-nuova-chiamata) e ne mostra numero e data.
  6. fine / z-chiudi — chiusura file, log, finestra, exit program.

Controlli sull'intervento (x-controlla-tm-id)

La chiamata viene ammessa solo se, in sequenza:

  • l'intervento esiste su asnintes (acit);
  • l'intervento e' in stato "Chiuso" (acit-stato = "C"), altrimenti "Intervento non e' in stato 'Chiuso'!!";
  • la chiamata collegata esiste su asnchtes (acht);
  • la chiamata e' collegata a un contratto (acht-id-contratto <> 0);
  • la chiamata e' una chiamata programmata da contratto (acht-provenienza = tm-cfg-program-prov);
  • la chiamata non e' gia' collegata a una chiamata successiva (asnchplk/acpk, acpk-id-sucessiva): in caso contrario "la chiamata e' gia' collegata ad una chiamata successiva ...".

Tabelle utilizzate

Tabella Accesso Descrizione
FEURTAB Lettura Tabella parametri (aperta via feurtab.fd / cogfiles.cpy)
ASNINTES (acit-) Lettura Testata interventi (rd-asnintes): stato, id chiamata, id contratto
ASNCHTES (acht-) Lettura Testata chiamate (rd-asnchtes): contratto, provenienza, cliente assistito/fatturazione
ASNCHPLK (acpk-) Lettura Collegamento chiamate (rd-asnchplk): verifica chiamata successiva gia' esistente
COGGEANA (ana-) Lettura Anagrafica generica (rd-coggeana): descrizione cliente assistito / cliente di fatturazione

Programmi chiamati

Programma Interfaccia Scopo
ASN053 utilasn053.cpy (util-asn053) Creazione della prossima chiamata programmata da contratto (operazione CREA-PROSSIMA); restituisce esito, id nuova chiamata e messaggio
ASN230 utilasn230.cpy (util-asn230) Ricerca avanzata interventi (F9); restituisce l'intervento selezionato (asn230-id-inter-ou)
RNEWCONF utilncnf.cpy (util-ncnf) Lettura/gestione delle configurazioni ass-contr e assist

Copybook principali

Copybook Ruolo
feurtab.fd, cogfiles.cpy FD tabella parametri
asn05h.select, asn05h.fd, asn05h.wrk, asn05h.decla, asn05h.prc, asn05h-01.scr File gestiti da Screens (select, FD, working, declaratives, procedure, screen)
k-u10.cpy, k-personal.cpy, costanti-assist.cpy Costanti controllo U10, personalizzazioni azienda, costanti Assist
utilasn230.cpy, utilasn053.cpy, utilncnf.cpy Interfacce delle subroutine chiamate
utils52.cpy Interfaccia gestione date (COGS52W)
wgrid.cpy, utilgdad.cpy, utildlg.cpy Gestione griglia/dialog GUI
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy Working-storage standard (errori, video, apertura file, stato verbi, dati azienda)
wcont.cpy, wcont1.cpy Area di contesto in linkage (stringhe)
grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, gesdebug.cpy Copybook di procedure standard

Note

  • Programma non a menu: e' un tassello del flusso "modo programmazione B" delle chiamate da contratto e per questo non ha documentazione utente dedicata. La logica di programmazione delle chiamate e la scelta del modo sono gestite altrove (cfr. ASN05A "Cambio modo programmazione").
  • La creazione vera e propria della nuova chiamata e la gestione delle regole di contratto sono delegate interamente ad ASN053; ASN05H svolge selezione, controlli di ammissibilita' e conferma.
  • I controlli richiedono che l'intervento sia chiuso e che la sua chiamata sia una chiamata programmata da contratto non ancora "proseguita": si evita cosi' di duplicare la catena di chiamate programmate.