Imprimer un PDF depuis SAP

Imprimer un PDF depuis SAP

Messagede Kevinsmith74 » 09 Février 2010, 10:55

Bonjour,

L’objectif serait de pouvoir imprimer un fichier PDF en arrière plan depuis SAP quand on lance un ordre de process. Pour le moment, on arrive à afficher le PDF stocké sur un serveur Documentum et les utilisateurs doivent l’imprimer manuellement. Il faudrait pouvoir l’imprimer sans avoir à l’ouvrir. Ce fichier PDF n’est pas référencé dans SAP DMS, on va le chercher dans Documentum (système d’archivage sur un content serveur) via des liens RFC. Pour les retrouver, on lit une table SAP qui nous donne les références dans le serveur du fichier à imprimer. Documentum copie le fichier du content serveur vers C:\TEMP sur le PC, peut-être le répertoire temporaire par défaut du poste. Dans notre cas, c’est un programme ABAP qui gère l’impression, il ira chercher le fichier là où il se trouve. On demande de pouvoir imprimer en arrière plan un fichier PDF sans avoir à l’ouvrir sur une imprimante réseau. Donc, il faudrait avoir un exécutable à qui on passe les paramètres suivants :
1/ Nom du fichier à imprimer - Obligatoire - En fonction du type de fichier (dans un 1er temps PDF) le traitement ne sera pas le même
2/ Adresse de l'imprimante réseau - Obligatoire
3/ Affichage du document avant impression (optionnel), utile pour les tests
4/ Suppression après impression (optionnel)

Je pensais à une commande DOS mais étant très limité techniquement dans ce domaine je me tourne vers vous.

Merci
Kevinsmith74
Posteur débutant
Posteur débutant
 
Messages: 1
Inscription: 09 Février 2010, 10:52

Re: Imprimer un PDF depuis SAP

Messagede ghosteur » 10 Février 2010, 10:36

Bonjour,
Avant tout, pas de faux espoirs, la solution que j'ai trouvée ne fonctionne pas encore avec les fichiers PDF. Mais je poursuis les investigations...
En attendant, voilà où j'en suis.
L'idée est de créer en ABAP un fichier .BAT contenant les bonnes commandes DOS, puis dans la foulée, d'exécuter le fichier .BAT.

Dans l'exemple suivant, j'arrive à imprimer un fichier 'DEBUG.TXT' (situé sur le bureau) sur une imprimante 'C000812' dont le nom de partage est 'hp'.
A noter, ce programme test n'a pas d'écran de sélection, les paramètres sont en dur (je te laisse le soin de peaufiner).

Code: Tout sélectionner
REPORT ZIMPRIM.

DATA: BEGIN OF ITAB OCCURS 0,
         DOSCMD LIKE RLGRAP-FILENAME,
      END OF ITAB.

*Commande permettant de rediriger l'imprimante sur le port LPT1
*(il semble que quelquefois, cette commande ne soit pas nécessaire)
ITAB-DOSCMD = 'net use LPT1 \\c000812\hp'. APPEND ITAB. 
*Commande permettant de se positionner sur le dossier dans lequel se trouve le fichier à imprimer
ITAB-DOSCMD = 'cd C:\Documents and Settings\E000177\Desktop'. APPEND ITAB.
*Commande permettant d'Imprimer le fichier
ITAB-DOSCMD = 'PRINT /D:lpt1 debug.txt'.
APPEND ITAB.

*Création d'un dossier .BAT en local
CALL FUNCTION 'WS_DOWNLOAD'
  EXPORTING
    FILENAME                      = 'C:\DOSCMD.BAT'
    FILETYPE                      = 'DAT'
  TABLES
    DATA_TAB                      = ITAB
  EXCEPTIONS
    FILE_OPEN_ERROR               = 1
    FILE_WRITE_ERROR              = 2
    INVALID_FILESIZE              = 3
    INVALID_TYPE                  = 4
    NO_BATCH                      = 5
    UNKNOWN_ERROR                 = 6
    INVALID_TABLE_WIDTH           = 7
    GUI_REFUSE_FILETRANSFER       = 8
    CUSTOMER_ERROR                = 9
    OTHERS                        = 10.

*Exécute le dossier .BAT
CALL FUNCTION 'WS_EXECUTE'
   EXPORTING
     PROGRAM         = 'C:\DOSCMD.BAT'.


Lorsque j'essaie avec un PDF, l'impression se lance bien, mais avec une succession '??????' en guise de texte. Il semble que la commande 'print' ne tienne pas compte du driver nécessaire pour imprimer en PDF.
Désolé donc pour cette solution incomplète... C'est peut-être un début de piste... Je poursuis les investigations lorsque j'aurai un peu de temps (bah oui ! je travaille aussi !). Surtout, si tu trouves la solution, n'oublie pas de la mettre en ligne...

Cdt.
ghosteur
Posteur débutant
Posteur débutant
 
Messages: 8
Inscription: 01 Février 2010, 11:12

Re: Imprimer un PDF depuis SAP

Messagede philippe.tang » 25 Janvier 2011, 14:17

Bonjour,
Je cherche à comprendre le mécanisme des impressions dans SAP:
- est-ce qu'il faut être habilité à une transaction ? si oui laquelle ou lesquelles ?

J'ai un soucis avec quelques utilisateurs dans mon entreprise :
- quand les gens se connectent via CITRIX, la fenêtre de liste d'imprimante ne s'affiche pas.
Alors que s'ils se connectent via un client lourd SAP GUI, tout se passe bien, on peut sélectionner l'imprimante qu'on veut.

J'ai testé une application Windows ( notepad ) dans ma session CITRIX, j'ai bien la liste des imprimantes qui s'affiche.

Tout semble vouloir dire que le problème vient de SAP mais je sais pas où exactement ?

Merci d'avance pour votre aide,
Philippe
philippe.tang
Posteur débutant
Posteur débutant
 
Messages: 1
Inscription: 25 Janvier 2011, 14:07


Retourner vers ABAP

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron