Probelm mit Klassenmethode cl_gui_frontend_services=>execute

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Probelm mit Klassenmethode cl_gui_frontend_services=>execute

Beitrag von harry1991 (ForumUser / 52 / 2 / 1 ) »
Hallo Zusammen,

ich ahbe ein Probelm mit der im Betreff genannten Methode.

Ich möchte mit dieser eine Batchdatei im Netzwertaufrufen und dieser dann über Parameter einen weiteren befehl mitgeben:

So sieht der aktuelle aufruf aus

Code: Alles auswählen.

CALL METHOD cl_gui_frontend_services=>execute
    EXPORTING
*     document               = document
      application            = lc_application " \\IP-Adresse\Ordner\Applikation
      parameter              = lc_parameter   " Zusatzparameter z.B. Dateipfad für Druck
*     default_directory      = default_directory
*     maximized              = maximized
      minimized              = 'X'
*     synchronous            = synchronous
*     operation              = 'OPEN'
    EXCEPTIONS
      cntl_error             = 1
      error_no_gui           = 2
      bad_parameter          = 3
      file_not_found         = 4
      path_not_found         = 5
      file_extension_unknown = 6
      error_execute_failed   = 7
      synchronous_failed     = 8
      not_supported_by_gui   = 9
      OTHERS                 = 10.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
Die Batchdatei wird geöffnet und auch mein Adobe Reader der ein Dokument Drucken soll. Allerdigs werden die Parameter nicht mitgegeben, so dass der Reader "leer" geöffnet wird und nichts weiter passiert. Wenn ich allerdings den Dateipfad für das zu druckende Dokument in die Batchdatei reinschreibe funktioniert es einwandfrei.

Vielleicht könnt ihr mir da weiterhelfen.


Danke und Gruß Julian

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Probelm mit Klassenmethode cl_gui_frontend_services=>exe

Beitrag von black_adept (Top Expert / 4159 / 136 / 960 ) »
Hallo Julian,

gib doch bitte folgende 2 Informationen an.

1.) Die beim Aufruf aktuelle Belegung der beiden Variablen lc_application und lc_parameter ( aber mach die Serveradressen/IPs unkenntlich ).
2.) Führe den Befehl mal manuell aus der DOS-Box heraus aus, so dass er das macht was du möchtest und mach von dort einen Screenshot der Befehlszeile.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Probelm mit Klassenmethode cl_gui_frontend_services=>exe

Beitrag von harry1991 (ForumUser / 52 / 2 / 1 ) »
Hallo vielen Dank für die schnelle Antwort:

hier nochmals der Aufruf mit Dateipfad und zusätzliche Parameter

Code: Alles auswählen.

  CALL METHOD cl_gui_frontend_services=>execute
    EXPORTING
*     document               = document
      application            = lc_application " \\xxx.xxx.xxx.xxx\ftp_data\print.bat
      parameter              = lc_parameter   "\\xxx.xxx.xxx.xxx\ftp_data\Warenbegleitschein.pdf" "PDFCreator" "PDFCreator" "pdfcmon"
*     default_directory      = default_directory
*     maximized              = maximized
      minimized              = 'X'
     synchronous            = 'X'
*     operation              = 'OPEN'
    EXCEPTIONS
      cntl_error             = 1
      error_no_gui           = 2
      bad_parameter          = 3
      file_not_found         = 4
      path_not_found         = 5
      file_extension_unknown = 6
      error_execute_failed   = 7
      synchronous_failed     = 8
      not_supported_by_gui   = 9
      OTHERS                 = 10.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
Die print.bat beinhaltet folgendes:
@echo off
echo Drucke PDF
"\\xxx.xxx.xxx.xxx\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t /p /h


Also zur Erklärung:
Die print.bat soll den Adobe Reader öffnen, das Dokument Warenbegleitschein.pdf laden und anschließen auf dem PDF Creator Drucken

Der Komplette Befehl lautet also
"\\xxx.xxx.xxx.xxx\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t /p /h "\\xxx.xxx.xxx.xxx\ftp_data\Warenbegleitschein.pdf" "PDFCreator" "PDFCreator" "pdfcmon"

Re: Probelm mit Klassenmethode cl_gui_frontend_services=>exe

Beitrag von black_adept (Top Expert / 4159 / 136 / 960 ) »
Hallo Julian,

leider kenne ich mich mit der Parameterübergabe an Batch-Dateien nicht aus.
Aber folgendermaßen funktioniert das bei mir - allerdings ohne Batchdatei sondern einfach direkt über die Commandline auf den Standarddrucker.

Code: Alles auswählen.

REPORT .

CALL METHOD cl_gui_frontend_services=>execute
  EXPORTING
    application = 'CMD'
    parameter   = '/C ""C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"" /h /p c:\temp\Doku.pdf'
    minimized   = 'X'
    synchronous = 'X'
  EXCEPTIONS
    OTHERS      = 10.
Man muss halt nur mit den ganzen Hochkommata aufpassen ( siehe Doku zu CMD )
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Probelm mit Klassenmethode cl_gui_frontend_services=>exe

Beitrag von harry1991 (ForumUser / 52 / 2 / 1 ) »
Hmm ok vielen Dank,

ich werde es dann mal ausprobieren und bescheidgeben, wenn es erfolgreich war

Gruß Julian

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3067
Views
Klasse CL GUI FRONTEND SERVICES, Methode GUI DOWNLOAD
von L0w-RiDer » 27.08.2019 12:58 • Verfasst in ABAP® für Anfänger
2
Antw.
2173
Views
Probelm bei der List ausgabe
von Guinnes » 13.03.2008 18:23 • Verfasst in ABAP® für Anfänger
2
Antw.
8448
Views
SelectOption interne Tabelle eine Klassenmethode übergeben
von em.tie » 26.02.2007 13:09 • Verfasst in ABAP Objects®
1
Antw.
1438
Views
execute procedure
von autohandel7 » 20.07.2018 10:52 • Verfasst in ABAP® für Anfänger
2
Antw.
3052
Views
Acf Execute + Problem mit Whitelist
von jonny_1st » 24.10.2013 11:03 • Verfasst in Web-Dynpro, BSP + BHTML

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.