Points d'entrée > Module Superviseur > Script standard AIMP3 

IMPRIME

Le point d’entrée IMPRIME est appelé juste avant le choix de l’imprimante. La seule chose qu'il est possible de faire est de positionner la variable GPE qui, si elle différente de 0, inhibe la saisie de l'imprimante.

Contexte et mode de fonctionnement

Les tables suivantes sont en ligne :

Table

Contenu significatif

Intitulé Table

AREPORT [ARP]

Oui

Dictionnaire des Etats

Les paramètres sont stockés dans la variable PARAMETRE aux indices 1 à NBPAR. Chaque valeur est une chaîne de la forme 'paramètre=valeur' sans aucun autre séparateur. Les paramètres de l’état sont répartis en 4 classes :

Ceux qui commencent par un double underscore. Ce sont les paramètres à destination d'X3, ils ne sont pas transmis à l'état (ou tout au moins pas tel quel)

Ceux qui commencent par un simple underscore. Ce sont des paramètres à destination de Crystal Reports, ils ne sont pas transmis à l’état. Les valeurs de ces paramètres sont obligatoirement préfixés par chr$(1).

Ceux qui commencent par 'X3'. Ce sont des paramètres de contexte transmis à l’état et initialisés automatiquement par le superviseur.

Ceux qui sont décrits dans le dictionnaire des états. Lorsque le dictionnaire comporte un paramètre se terminant par 'deb' ou 'str' un autre paramètre de même racine se terminant par 'fin' ou 'end' est automatiquement ajouté.

Le nom du serveur d’impression n’est pas un paramètre. Il est défini dans la variable locale SERVEUR(char(30)).


Liste des paramètres :

__REPORT                          Nom de l’état crystal reports

__DESTINATION                 0=prévisu, 1=imprimante, 2=messagerie, 3=fichier

__TYPDBA                           Type de base de données (menu local 23)

__DBSERVER                    Nom de l’ODBC

__DBDATABASE                     Nom base de données

__DBUSER                          Utilisateur base de données

__DBPASSWORD             Mot de passe

__WSTATION    (*140)              N° du port pour le serveur d'impression

__CDUSER         (*140)            Code utilisateur

__APPLICATION                 Dossier ; Machine ; Service (de là où on lance l’impression)

__APPRPT                          Dossier ; Machine ; Service (de là où se trouve l’état)

__REQUETE                       No de requête

 

_PreVisuOptions                 Options de pré-visualisation (non opérationnel)

_PrinterName                       Nom de l'imprimante

_Orientation                          0=portrait, 1=paysage

_PrinterDriver (*)                  Nom du driver imprimante

_PrinterPort (*)                     Port imprimante

_PrinterDescription (*)        Caractéristiques de l’imprimante

_FormatExport                     Format du fichier d’export (menu local 91)

_FormatDelString                Délimiteur de chaîne si format CSV

_FormatDelRecord              Séparateur de champ si format CSV

_ExportFile                           Nom du fichier exporté

 

X3DOS                                 Dossier ;machine ;service;version;langue (*140 version + langue)

X3CLI                                    Raison sociale client

X3EDT                                  Copyright

X3ETA                                  Code de l’état

X3TIT                                    Nom de l’état

X3USR          (*130)             Code utilisateur

X3LAN         (*140)                Répertoire langue de l'état

X3FCY       (*Warehousing)            Site

X3DEP     (*Warehousing)              Déposant

X3OPE                                 Nom utilisateur

X3SIT1          (*120)             Sites autorisés

X3SIT2          (*120)             Sites interdits

X3PRF          (*130)             Profil fonction

X3FCT           (*130)             Fonction associée à l’état

X3SIT            (*130)             Liste des sites interdits

(*)                   Ces paramètres sont dépendants de l’imprimante et ne peuvent être décrits. Ils sont normalement récupérés par l’instruction selimp (faire un essai sur une imprimante donnée et noter les valeurs de ces paramètres).

(*120)Disponible en V110 et V120, ne le sera plus en V130

(*130)Disponible à partir de la V130

 

Tables ouvertes

Seule la table AREPORT contenant l’état en cours d’impression est significative.

 

Exemple d'utilisation

 

####################################################################

## Exemple d'utilisation des points d'entrée du traitement AIMP3

####################################################################

$ACTION

Case ACTION

When 'IMPRIME' : Gosub IMPRIME

When 'PARAM' : Gosub PARAM

Endcase

Return

$IMPRIME

If [F:ARP]RPTCOD='REPORT1', 'REPORT2','REPORT3') :                            : # Liste des états à traiter

GPE = 1 : # saute la saisie de l'imprimante

Endif

Return

$PARAM

####################################################################

## Les paramètres sont contenus dans la variable PARAMETRE(1..NBPAR)

## mais les sous-programmes GETPARAM et SETPARAM du TrT ETAT

## permettent d'y accéder plus facilement

####################################################################

Local Char XPARAM(250)(1..10) , XPAR(50) , XVAL(50) , XETAT(20)

Local Integer XNB , XK , XI

####################################################################

## Est-ce que l'impression a été demandée à l'imprimante ?

####################################################################

Call GETPARAM('__DESTINATION',NBPAR,PARAMETER,XVAL) From ETAT

If XVAL<>'1'

Return : # Non, alors on ne fait rien

Endif

####################################################################

## Détermination de l'imprimante en fonction de l'état

####################################################################

Call GETPARAM('X3ETA',NBPAR,PARAMETER,XETAT) From ETAT

Case XETAT

When 'REPORT1' : XIMP = 'my_printer'

When 'REPORT2' : XIMP = 'laser_printer'

When 'REPORT3' : XIMP = 'dot-matrix_line_printer'

When Default Return

Endcase

####################################################################

## Affectation du serveur d'imprimante

####################################################################

SERVER = 'the_machine_that_prints'

####################################################################

## Récupération des paramètres par défaut de l'imprimante

####################################################################

XNB = 0

XNB += 1 : XPARAM(XNB) = '_PrinterName=' + chr$(1) + XIMP : # Nom de l'imprimante a affecter

XNB += 1 : XPARAM(XNB) = '_Orientation=' + chr$(1) + '1' : # Mode paysage

XNB += 1 : XPARAM(XNB) = '_NoVisible=' + chr$(1) + '1' : # Pas de saisie

Selimp XPARAM = '' With XPARAM(1..XNB) : # Lecture des paramètres par défaut

XNB = stat1

For XI=1 To XNB

XK = instr(1,XPARAM(XI),'=')

If XK

XPAR = left$(XPARAM(XI),XK-1)

XVAL = right$(XPARAM(XI),XK+1)

# Si on ne veut pas des paramètres par défaut

# on peut également les réaffecter ici

# If XPAR='_PrinterPort' : XVAL = 'my_port' : Endif

Case XPAR

When '_PrinterName' , '_PrinterDriver' , '_PrinterPort'

& , '_PrinterDescription' , '_Orientation'

Call SETPARAM(XPAR,NBPAR,PARAMETRE,XVAL) From ETAT

Endcase

Endif

Next XI

Return

PARAM

Le point d’entrée PARAM permet de modifier n’importe quel paramètre de l’état.

Contexte et mode de fonctionnement

Les tables suivantes sont en ligne :

Table

Contenu significatif

Intitulé Table

AREPORT [ARP]

Oui

Dictionnaire des Etats

REPORT

Le point d’entrée REPORT permet de lancer un traitement après l'impression de l’état. Ce point d'entrée est exécuté juste après l'ordre d'impression envoyé au client (ou au serveur). Dans le cas d'une impression/fichier, il peut servir à lancer un traitement sur le fichier généré ...

Contexte et mode de fonctionnement

Les tables suivantes sont en ligne :

Table

Contenu significatif

Intitulé Table

AREPORT [ARP]

Oui

Dictionnaire des Etats

REPORT_ZPL

Le point d’entrée REPORT_ZPL permet de lancer un traitement après l'impression de l’état ZPL. Ce point d'entrée est exécuté juste après l'ordre d'impression envoyé au client (ou au serveur). Dans le cas d'une impression/fichier, il peut servir à lancer un traitement sur le fichier généré ...

Contexte et mode de fonctionnement

Les tables suivantes sont en ligne :

Table

Contenu significatif

Intitulé Table

AREPORT [ARP]

Oui

Dictionnaire des Etats

Ce point d'entrée est exécuté juste après la création de l'état ZPL.