ASN081 - Componenti¶
Sorgente: cbl/asn081.cbl | Program-ID: ASN081 | Tipo: Programma interattivo (gestore tabella anagrafica filtrata)
Menu: Assist 2.0 > Archivi > Tabelle > Matricole > Componenti
Scopo¶
Gestisce la tabella dei componenti ASNMTRCM usata dalla griglia "Guasti/Soluzioni" degli interventi. La tabella e' divisa logicamente in tre sezioni tramite la coppia (amcm-tip, amcm-padre):
G(Generici):amcm-padrevuotoM(per Modello matricola):amcm-padre= id modello (amod-id)T(per Tipo matricola):amcm-padre= codice tipo matricola
Supporta modalita' "selezione" via utilasn081 (i chiamanti ASN010 e ASN013 forzano modalita' aggiornamento sul filtro pertinente).
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione | Chiave |
|---|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda | std |
| ASNMTRCM | ISAM | I-O | Componenti (chiave: tip+padre+cod) | amcm-chia1 |
| ASNMODEL | ISAM | Input | Modelli matricola (lookup descrizione) | amod-id |
| ASNMTRTP | ISAM | Input | Tipi matricola (lookup descrizione) | amtp-tip |
Copybook utilizzate¶
| Copybook | Ruolo |
|---|---|
asn081.select, asn081.fd, asn081.wrk, asn081-01.scr, asn081.prc, asn081.decla |
Screen Designer |
cogfiles.cpy |
Layout FEURTAB |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard |
wgrid.cpy, utilgdad.cpy |
Working griglia + linkage GRIDADMN |
utilg67, utilu20, utils52, utilncnf, utilagprg |
Utility |
utilasn010, utilasn013, utilasn040 |
Linkage chiamate (lookup tipo matricola, modello) |
utilasn081.cpy |
Linkage di chiamata esterna |
Logica di elaborazione¶
apri: open files, lettura configurazione (x99-confi), decisione modalita'. Se chiamato daASN010oASN013la modalita' viene forzata adAanche concaller.a4: seasn081-calledvalorizzato, carica direttamentetm-tip/tm-padredai parametri di linkage e fa lookup descrizione modello (rd-asnmodel) o tipo matricola (rd-asnmtrtp); poi salta ina-ok-inizio.a-tm-modello/a-tm-tipo-mat: accept campi per impostare il filtro quando il programma e' lanciato dal menu (F8 chiama ASN013 per il modello o ASN010 per il tipo matricola).a-ok-inizio→a-ini-creo→a10-loop: scanASNMTRCMconst-asnmtrcm-notminpartendo da (tm-tip,tm-padre), break alla prima riga conamcm-tip <> tm-tipoamcm-padre <> tm-padre. Caricatm-cod/tm-des.a-grid/a-accept-grid: accept griglia.F3aggiornamento:b-aggiornastandard conb1-inserisci/b2-modifica/b3-cancellasu ASNMTRCM (chiave composta).InviooF3in modalita' selezione: ritornatm-cod(solo codice).
Programmi richiamati: GRIDADMN, ASN010, ASN013.
Linkage (utilasn081.cpy)¶
| Campo | Direzione | Descrizione |
|---|---|---|
asn081-called |
in | "ASN081" attiva modalita' selezione |
asn081-caller |
in | Identificativo del chiamante (ASN010/ASN013 forzano modalita' A) |
asn081-in-tip |
in | "G" / "M" / "T" - tipo componente |
asn081-in-padre |
in | Id modello (M) o codice tipo matricola (T); vuoto per generici |
asn081-out-cod |
out | Codice componente selezionato |
Note¶
- Massimo righe griglia:
k-max-ele-tab = 500. - Filtro intrinseco: la chiave primaria di ASNMTRCM e' (tip+padre+cod), quindi la scan parte sempre dall'inizio della sezione e si ferma al primo break.
- Cancellazione:
c1-ctrl-canccontrolla solo che la griglia non sia vuota. - Quando aperto da ASN013 via F7 il
callerviene riconosciuto e la maschera di selezione iniziale e' bypassata.