ASN029 - Schede di stima (modelli)¶
Sorgente: cbl/asn029.cbl | Program-ID: ASN029 | Tipo: Programma interattivo (griglia editabile con top menu, modalita' aggiornamento/selezione)
Menu: Assist 2.0 > Archivi > Strumenti > Schede di stima
Scopo¶
Gestisce l'anagrafica dei modelli di scheda di stima (checklist) per le riparazioni: interne (legate al modello matricola) o esterne acquisite dall'app Assist (legate a matricola, tipo matricola o tipo attivita'). Programma standalone con griglia editabile; supporta anche modalita' "selezione" via utilasn029.cpy. Un top menu "Aggancio a" permette di collegare il modello selezionato alle diverse casistiche.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda (cogfiles.cpy) |
| ASNSKMOD | ISAM | I-O | Modelli scheda di stima (askm-cod, askm-des, askm-val; askm-chia1). Tabella principale gestita dalla griglia |
| ASNSKPAG | ISAM | Input | Pagine tematiche della scheda (chiave 2 asnskpag.k02, askp-mod-nome). Verifica collegamenti prima di variare/cancellare |
| ASNSKINF | ISAM | Input | Informazioni della scheda (aski-mod-nome). Verifica collegamenti |
| ASNSKLNK | ISAM | I-O | Collegamenti scheda (chiave 2 asnsklnk.k02, askl-modello-cl). Cancellati con il modello (b3-cancella) |
| ASNSKPA1 / ASNSKIN1 | ISAM | Input | Pagine/informazioni sorgente per la duplicazione (vuoi-duplicare) |
| ASNMODEL, ASNMATRI, ASNMTRTP, ASNTPATT | ISAM | Input | Sorgenti degli agganci: modelli matricola (amod-mod-scheda), matricole (amtr-modello-cert), tipi matricola (amtp-modello-cert), tipi attivita' (atpa-modello-cert). Scanditi in carica-cogtrans-w per marcare le colonne "associato" |
Le chiavi secondarie ASNSKPAG/ASNSKLNK sono incluse manualmente in fondo (asnskpag.k02, asnsklnk.k02); e' presente anche uno start esplicito locale st-asnskpa1-notmin-chia2.
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
asn029.select, asn029.fd, asn029.wrk, asn029-01.scr, asn029.prc, asn029.decla |
Screen Designer |
cogfiles.cpy |
Layout FEURTAB |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard + dati azienda |
wgrid.cpy, utilgdad.cpy |
Griglia + linkage GRIDADMN |
utilncnf.cpy |
Linkage RNEWCONF |
utilasn029.cpy |
Linkage di chiamata esterna (in linkage section) |
utilasn025, utilasn028, utilasn597, utilasn013, utilasn200, utilasn010, utilasn016 |
Linkage dei programmi chiamati (pagine, stampa, export, agganci) |
utilagprg.cpy |
Linkage sincronizzazione KPN (SWN024) |
wcont, wcont1 |
Contesto chiamata (linkage) |
grave, mmmask, opengen, stato, stato1, winmsg |
Copybook fine procedure |
Struttura dati e griglia¶
La griglia e-tm-tab (max 500 righe, k-max-ele-tab) e' gestita col framework grid standard (colonne generate, tm-cod, tm-cod-prec, tm-des, tm-val, tm-assoc-1..4, tm-cod-orig, tm-fl-riga-mod). Le colonne tm-assoc-1..4 mostrano "associato" (m-associato) se il modello risulta agganciato rispettivamente a modelli matricola / matricole / tipi matricola / tipi attivita'. La corrispondenza e' precalcolata in memoria in w-trs-rec (occurs 300, coppie tipo+modello) da carica-cogtrans-w, letto da rd-cogtrans-w.
Logica (flusso, paragrafi principali)¶
- apri: init; determina se richiamato (
asn029-called = k-program-ideasn029-callervalorizzato) ->w-dc-called="S", modalita' iniziale "S" (selezione), altrimenti "A" (aggiornamento). Crea pulsanti custom F5/F1/F7, legge configurazione (x99-src-cfg), prepara la griglia. - a4 / a10-loop / a30: carica la griglia scandendo ASNSKMOD (
st-asnskmod-notmin+rdnxt-asnskmod, max 500). In modalita' called salta i modelli cancellati (askm-val="C"). Per ogni riga marca le 4 colonne "associato" viard-cogtrans-w. Costruisce il top menu (x-crea-menu, W$MENU) con "File", "Aggancio a" (Stima / Certificazioni) e "?". - a-accept-grid: loop eventi:
- F3: se aggiornamento salva (
a1-aggiorna) e, se called, alterna A<->S; se non called e ok esce. - F5: chiama ASN025 (pagine tematiche del modello selezionato).
- F9: chiama ASN597 (export informazioni scheda su Word).
- F7: chiama ASN028 (aggancio a modello Word per la stampa); bloccato se servizio stampa = "W".
- S-F4: GRIDADMN (configurazione griglia).
- Invio: in modalita' selezione ritorna
asn029-out-cod/asn029-out-desal chiamante. - Ctrl+A / F1: aggiunge riga (
z-aggiungi-riga-tm-tab). F1 duplica: registratm-cod-origper riportare pagine/informazioni dal modello sorgente. - Ctrl+E: elimina riga (previo
c1-ctrl-canc). - Voci top menu (
k-menu-id-*): chiamano ASN013 (modelli matricola), ASN200 (matricole), ASN010 (tipi matricola), ASN016 (tipi attivita'); dopo ogni aggancio ricalcolano le colonne associato (carica-cogtrans-w+aggiorna-associato). - a1-aggiorna / b-aggiorna: valida tutte le righe (
x-controlla-tm-tab-tutto) poi confrontatm-codvstm-cod-precper ogni riga e decide: modifica (b2-modifica), inserimento (b1-inserisci), cancellazione (b3-cancella) o cancella+inserisci. Ogni operazione su ASNSKMOD e' seguita dax-sincronizza-kpn. - b3-cancella: cancella il modello da ASNSKMOD e i relativi collegamenti in ASNSKLNK.
- vuoi-duplicare: se richiesto, copia pagine (ASNSKPA1 -> ASNSKPAG) e informazioni (ASNSKIN1 -> ASNSKINF) dal modello origine al nuovo modello.
- fine/z-chiudi: chiude file/finestra, exit program.
Controlli e regole¶
- Codice (
x-controlla-tm-cod): in inserimento non deve esistere gia' (m-cod-gia-pres). Non modificabile se il modello e' gia' collegato a pagine (ASNSKPAG, pcase-89) o a informazioni (ASNSKINF, pcase-354). - Descrizione (
x-controlla-tm-des): obbligatoria se il codice e' valorizzato. - Validita' (
x-controlla-tm-val): ammessi solo spazio o "C" (modello cancellato). - Cancellazione (
c1-ctrl-canc): bloccata se esistono pagine collegate (ASNSKPAG).
Configurazione (RNEWCONF)¶
x99-src-cfg legge gruppo areaapp, chiave swa005-servizio-stampa-intervento -> tm-cfg-servizio-stampa-int (default "G"; "W" = servizio stampa Web, che disabilita F7).
CALL¶
| Programma | Scopo |
|---|---|
| ASN025 | Pagine tematiche del modello (F5) |
| ASN597 | Export informazioni scheda su Word (F9) |
| ASN028 | Aggancio modello Word per la stampa (F7) |
| ASN013 | Aggancio a modelli matricola |
| ASN200 | Aggancio a matricole |
| ASN010 | Aggancio a tipi matricola |
| ASN016 | Aggancio a tipi attivita' |
| SWN024 | Sincronizzazione chiave verso KPN (x-sincronizza-kpn) |
| GRIDADMN | Gestione griglia |
| W$MENU | Costruzione top menu a tendina |
| RNEWCONF | Lettura configurazione servizio stampa |
Linkage (utilasn029)¶
| Campo | Direzione | Descrizione |
|---|---|---|
asn029-called |
in | Uguale a k-program-id attiva modalita' selezione |
asn029-caller |
in | Identificativo del chiamante |
asn029-out-cod |
out | Codice modello scheda selezionato |
asn029-out-des |
out | Descrizione modello selezionato |
Note¶
- Massimo righe griglia: 500 (
k-max-ele-tab). - In modalita' chiamata ("called") i modelli cancellati (
askm-val="C") non vengono mostrati. - Le colonne "associato" sono di sola lettura: gli agganci si gestiscono dal top menu "Aggancio a".
- Ogni scrittura/cancellazione su ASNSKMOD e' propagata a KPN via SWN024 (
AGPRG-CALLED, opeESPORTA-KEY).