ASN021 - Parti¶
Sorgente: cbl/asn021.cbl | Program-ID: ASN021 | Tipo: Programma interattivo (maschera con griglia, modalita' aggiornamento/selezione)
Menu: Assist 2.0 > Archivi > Strumenti > Parti
Scopo¶
Gestisce l'anagrafica delle parti (componenti/ricambi) per la procedura strumenti del modulo Assist 2.0. Ogni parte e' identificata da categoria + codice (chiave composta) e contiene descrizione e descrizione breve. Strettamente collegato ad ASN020 (Categorie parti): la categoria selezionata in apertura determina il sottoinsieme di parti visualizzate.
Puo' essere richiamato da altri programmi in modalita' selezione tramite linkage utilasn021.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda |
| ASNCATPA | ISAM | Input | Anagrafica categorie parti (decodifica tm-des-cat) |
| ASNPARTI | ISAM | I-O | Anagrafica parti (chiave: categoria + codice) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
asn021.select, asn021.fd, asn021.wrk, asn021-01.scr, asn021.prc, asn021.decla |
Screen Designer: select, FD, working, screen, procedure, declaratives |
cogfiles.cpy |
Layout FEURTAB |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard + dati azienda |
wgrid.cpy, utilgdad.cpy |
Working griglia + linkage GRIDADMN |
utilasn020.cpy |
Linkage ASN020 (selezione categoria via F8) |
utilasn021.cpy |
Linkage del programma (per chiamata esterna) |
wcont.cpy, wcont1.cpy |
Linkage standard |
Logica di elaborazione¶
Apertura (apri): init, apertura file, valutazione utilasn021 per modalita'. Tasti funzione: F3 conferma, F8 aiuto, S-F4 griglia, Ctrl+A aggiungi, Ctrl+E elimina.
Modalita':
- Se asn021-called = k-program-id e asn021-caller valorizzato -> modo "S" (selezione).
- Altrimenti modo "A" (aggiornamento).
Accept categoria (a-tm-cat): se asn021-in-cat arriva valorizzato e trovato in ASNCATPA, salta a a-avanti con la categoria gia' impostata. Altrimenti chiede categoria con F8 -> chiama ASN020 (selezione categoria).
Caricamento griglia (a-avanti / a10-loop): start su ASNPARTI con chiave cat = asn021-in-cat, scan fino a k-max-ele-tab = 500 o cambio chiave (rottura apar-cat != asn021-in-cat). Per ogni record copia apar-cod, apar-des, apar-des-breve nella griglia. Memorizza tm-cod-prec per tracciamento.
Gestione griglia (a-grid / a-accept-grid):
- F3 (modo A): valida e salva -> a1-aggiorna -> b-aggiorna. Pattern: confronto tm-cod vs tm-cod-prec per inserisce/modifica/cancella su ASNPARTI.
- F3 (modo S): conferma selezione (asn021-out-cod) e ritorna al chiamante.
- Invio (modo S): conferma parte selezionata e ritorna.
- Ctrl+A / Ctrl+E: aggiungi / elimina riga.
- S-F4: GRIDADMN per personalizzazione griglia.
Chiamate a sottoprogrammi¶
| Programma | Utilizzo |
|---|---|
ASN020 |
Aiuto/selezione categoria parti (F8 su campo categoria) |
GRIDADMN |
Personalizzazione griglia (S-F4) |
Linkage di chiamata (utilasn021)¶
| Campo | Direzione | Descrizione |
|---|---|---|
asn021-called |
in | Se uguale a "ASN021" indica chiamata in modalita' selezione |
asn021-caller |
in | Identificativo del chiamante |
asn021-in-cat |
in | Categoria parti su cui posizionarsi |
asn021-in-cod |
in | (eventuale) codice parte di partenza |
asn021-out-cod |
out | Codice parte selezionato |
asn021-out-des |
out | Descrizione parte selezionata |
Note implementative¶
- Strutturalmente analogo ad ASN020 (stesso pattern "anagrafica con griglia"), ma con chiave composta categoria+codice e accept iniziale della categoria.
- Massimo righe griglia:
k-max-ele-tab = 500. - Pattern di aggiornamento standard (
tm-codvstm-cod-prec): modifica/inserisci/cancella su ASNPARTI. - Permessi
w-abi-ins,w-abi-agg,w-abi-delcontrollano abilitazioni; messaggi specifici m-asn021-* per i blocchi. - L'autore originale e' Daniele (annotato nei commenti); il programma e' parte della "Procedura strumenti x Endonova".
- Coppia ASN020/ASN021 implementa la classica gerarchia "categoria -> elementi" con aiuto reciproco (F8 su categoria, F5 su parti).