Vai al contenuto

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-padre vuoto
  • M (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

  1. apri: open files, lettura configurazione (x99-confi), decisione modalita'. Se chiamato da ASN010 o ASN013 la modalita' viene forzata ad A anche con caller.
  2. a4: se asn081-called valorizzato, carica direttamente tm-tip/tm-padre dai parametri di linkage e fa lookup descrizione modello (rd-asnmodel) o tipo matricola (rd-asnmtrtp); poi salta in a-ok-inizio.
  3. 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).
  4. a-ok-inizioa-ini-creoa10-loop: scan ASNMTRCM con st-asnmtrcm-notmin partendo da (tm-tip, tm-padre), break alla prima riga con amcm-tip <> tm-tip o amcm-padre <> tm-padre. Carica tm-cod/tm-des.
  5. a-grid / a-accept-grid: accept griglia.
  6. F3 aggiornamento: b-aggiorna standard con b1-inserisci / b2-modifica / b3-cancella su ASNMTRCM (chiave composta).
  7. Invio o F3 in modalita' selezione: ritorna tm-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-canc controlla solo che la griglia non sia vuota.
  • Quando aperto da ASN013 via F7 il caller viene riconosciuto e la maschera di selezione iniziale e' bypassata.