COGM73 - Selezione Clienti per Pirelli¶
Scopo¶
Gestione del flag multifunzione Pirelli sui clienti. Permette di scorrere un elenco di clienti (tutti, filtrati per caratteristiche anagrafiche, o filtrati per flag Pirelli pre-esistente) e impostare per ognuno il flag Pirelli (app-tip-abb) che identifica i marchi gestiti (Pirelli/Ceat/Armstrong e combinazioni).
Posizioni menu¶
- Magazzino > Archivi & Tabelle > Estrazioni Pirelli > Selezione Clienti
File e Tabelle¶
| File | Copybook | Utilizzo |
|---|---|---|
| FEURTAB | cogfiles.cpy | Tabella file di sistema |
| COGGEANA | coggeana.cpy | Anagrafica generale (clienti, ana-tipo='C') |
| COGAPPOG | cogappog.cpy | Tabella di appoggio anagrafica: campo app-tip-abb contiene il flag Pirelli |
| TRAN-E08 | tran-e08.cpy | File temporaneo di transito per estrazione clienti (chiave 1: codice; chiave 2: descrizione) |
Chiavi alternative usate: ana-chia / ana-chia1 (cod / desc) per COGGEANA; trs-e08-chia1 / trs-e08-chia2 per TRAN-E08.
Copybook¶
feurtab.fd,coggeana.fd,cogappog.fd,tran-e08.fdwgrave.cpy,wstato.cpy,wopenf.cpy,wnscr.cpyutile08r.cpy,utils21.cpy,utilw06.cpy,utilw81.cpy,utils60.cpy,utils65.cpy,cogazien.cpywcont.cpy(con redefineutil-m39),wcont1.cpy- Fine procedure:
stato1.cpy,stato.cpy,winmsg.cpy,grave.cpy,open1.cpy,mmmask.cpy,sendw06.cpy,sendw81.cpy,dtab.cpy,tstfun2.cpy,fscroll.cpy
CALL¶
| Programma | Scopo |
|---|---|
| COGS21 | Accept di un campo da lista di valori (ordinamento C/D, selezione T/R/P) |
| COGS60 | List-box selezione (filtro Pirelli, flag cliente) |
| COGE08R | Estrazione clienti per caratteristiche anagrafiche (popola TRAN-E08) |
Logica di elaborazione¶
Parametri input (tab-maschera)¶
tm-ord: C=codice / D=descrizionetm-sel: T=Tutti, R=per caratteristiche anagrafiche (apre TRAN-E08 da COGE08R), P=per flag Pirelli (tab-opt-tip2con prefiltri "I"=Pirelli, "L"=CEAT, "G"=Armstrong, oppure singoli flag)tm-tipo: filtro flag Pirelli (su selezione P)tm-cli-da,tm-cli-da-des: cliente di partenza per la scansione (solotm-sel='T')
Tabella opzioni flag¶
tab-opt-tip (8 voci): N/P/C/A/E/R/T/U (Nessuno / solo Pirelli / solo Ceat / solo Armstrong / Pirelli+Ceat / Pirelli+Armstrong / Ceat+Armstrong / Tutti).
tab-opt-tip2 (11 voci): aggiunge filtri raggruppati I/L/G (Pirelli, CEAT, Armstrong) usati nella scansione e1-cerca-tutto.
Flusso¶
- Maschera (
a4-a-40): accept ordinamento, selezione, eventuale codice cliente di partenza, eventuale filtro Pirelli. - Estrazione cliente (
tm-sel='R'): chiama COGE08R che popola TRAN-E08 con i clienti che soddisfano criteri anagrafici complessi. - Estrazione cliente (
tm-sel='P'): paragrafoe-ricercaapre TRAN-E08 in scrittura, scandisce COGAPPOG (chiaveapp-chia, tipo='C') e per ogni cliente confrontaapp-tip-abbcontm-tipo. Se la condizione e' soddisfatta scrive su TRAN-E08 (e3-aggiungi). - Visualizzazione tabella (
c-accetta->c-10): scorrimento paginato confscroll.cpy(paragrafirn-start-not-less,rn-start,rp-start-less,rp-start-equal,rp-fill-key,rp-fill-key-from-b,rd-fill-t-key,rd-fill-b-key,sn-read,sp-read,rd1-fill-tab). - Paginazione:
pg-up/pg-dwnchiamanoc1-aggiorna(salva i flag della pagina corrente) prima di cambiare pagina. - Aggiornamento (
c1-aggiorna): per ogni elemento della tabellatm-tab, fard-appsu COGAPPOG, sostituisceapp-tip-abb = tm-flag(k)erwr-app.
Note tecniche¶
- Programma legacy non-GUI (formato testo, source-computer
rmcobol). - Mappa
mm-1testuale 80x25 con cornici a caratteri grafici. - Usa keystrokes custom (
KEYSTROKE Exception=65 kl,66 kr) per intercettare frecce sx/dx come exception. - Ricerca per descrizione tramite W06 (
send-w06). - L'estrazione P non e' veramente indicizzata: scandisce tutto COGAPPOG e filtra in memoria.