Vai al contenuto

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)

  1. z-99-init-program, ctr-abil, open-files, rd-azi
  2. Legge la configurazione stampa da COGTABEL (tipo 70, chiave PRNT/ORDN00) per determinare il formato di stampa (tm-cfg-prn: A = standard, B = alternativo).
  3. 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)

  1. Legge la testata ordine da COGTESOR con tipo 'C' (cliente).
  2. 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.
  3. Tenta la stampa personalizzata: CALL 'COGO65' || az-personal. Se la CALL va in overflow, esegue la stampa standard.
  4. Stampa standard: CALL 'COGO65NO' USING stringhe tab-maschera w-altri-dati.
  5. 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)