COGO65 — Ristampa Ordini Clienti¶
Sorgente: cbl/cogo65.cbl | Program-ID: COGO65 | Tipo: Subroutine GUI (maschera + stampa)
Menu: Ordini > Clienti > Stampe > Ristampa
Scopo¶
Ristampa di un singolo ordine cliente. Riceve anno/numero/progressivo dall'operatore (o dalla linkage section se chiamato come subroutine), verifica l'esistenza dell'ordine su COGTESOR, controlla le restrizioni operatore via CRMS12, e delega la stampa al modulo COGO65NO (o alla versione personalizzata COGO65xx, dove xx = az-personal).
Struttura della maschera¶
Screen: cogo65-01.scr
| Campo | Variabile | Tipo | Note |
|---|---|---|---|
| Anno | tm-anno |
9(04) | Obbligatorio |
| Numero ordine | tm-numero |
9(07) | Obbligatorio |
| Progressivo | tm-progr |
9(01) | Facoltativo |
La maschera e' minimale: 3 campi di filtro piu' status bar.
Logica di elaborazione¶
Inizializzazione (apri)¶
z-99-init-program,ctr-abil,open-files,rd-azi- Legge la configurazione stampa da COGTABEL (tipo 70, chiave
PRNT/ORDN00) per determinare il formato di stampa (tm-cfg-prn:A= standard,B= alternativo). - Inizializza CRMS12 (restrizioni operatore) con operazione
"PREPARA".
Modalita' di chiamata¶
- Da menu (
o65-nome <> 'COGO65'): mostra la maschera e attende l'input. - Come subroutine (
o65-nome = 'COGO65'): i dati arrivano dalla linkage (o65-anno,o65-numero,o65-progr), viene eseguita la validazione e si salta direttamente alla stampa (st-70-accept).
Validazione e stampa (st-70-accept)¶
- Legge la testata ordine da COGTESOR con tipo
'C'(cliente). - Se attive restrizioni (
w-crms12-fl-restrizioni <> "N"), chiama CRMS12 con operazione"CONTROLLA-NOM"per verificare che il cliente dell'ordine sia abilitato per l'operatore. - Tenta la stampa personalizzata:
CALL 'COGO65' || az-personal. Se la CALL va in overflow, esegue la stampa standard. - Stampa standard:
CALL 'COGO65NO' USING stringhe tab-maschera w-altri-dati. - Al ritorno, se Esc/F2 chiude; altrimenti torna alla maschera.
Area linkage (w-altri-dati)¶
Passata a COGO65NO per configurazioni aggiuntive:
| Campo | Pic | Uso |
|---|---|---|
w-prf |
x(01) | Flag profilo |
w-forza-prf |
9(05) | Profilo forzato |
File utilizzati¶
| File logico | Copybook | Uso |
|---|---|---|
| FEURTAB (COGTABEL) | cogfiles.cpy |
Configurazione stampa (tipo 70) |
| COGTESOR | via cogo65.select/.fd |
Testata ordini |
| COGGEANA | via copy finali | Anagrafica clienti (per CRMS12) |
Programmi chiamati¶
| Programma | Modalita' | Scopo |
|---|---|---|
| CRMS12 | CALL | Gestione restrizioni operatore su clienti |
| COGN05 | CALL | Configurazione stampa (F1) |
| COGO65NO | CALL (standard) | Modulo di stampa ordine standard |
| COGO65xx | CALL (personalizzato) | Modulo di stampa personalizzato per azienda |
Copybook principali¶
| Copybook | Contenuto |
|---|---|
k-personal.cpy |
Costanti personalizzazione azienda |
utilcrms12.cpy |
Area di comunicazione CRMS12 |
utilo65.cpy |
Linkage specifica COGO65 (parametri di chiamata) |
utils52.cpy |
Subroutine calendario/data |
UTILN05.CPY |
Subroutine configurazione stampa |
cogazien.cpy |
Dati azienda corrente |
wcont.cpy / wcont1.cpy |
Area di comunicazione standard (stringhe) |