Etikettendrucker anbinden (SPAD)

Alle Fragen rund um Basisthemen
15 Beiträge Seite 1 von 1
15 Beiträge Seite 1 von 1

Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 27. Nov 2019 23:40

Guten Tag,

ich versuche seit Ewigkeiten einen Etikettendrucker ans SAP anzubinden.

Wenn ich mein ZProgamm laufen lasse, wird ein Spool-Auftrag erstellt (TC: SP01).
Schon mal schön und gut.
Wenn ich dort in der PDF Vorschau den Netzwerkdrucker auswähle, das Seitenformat anpasse und auf drucken klicke, kommt das Etikett so raus wie ich das mir vorstelle.

Nun möchte ich aber direkt von meinem Programm aus drucken.

Informationen:
Bilder: https://share-your-photo.com/5e2a43ef69/album
Drucker: GoDex RT700I
Typ: Netzwerkdrucker
Herstellerseite: https://www.godexprinters.co.uk/desktop/rt700i
Seitenformat: 77 x 52 mm
Etikett: siehe Anhang
Gerätetyp: siehe Anhang

Das Etikett/Vorlage wurde mit Adobe Forms erstellt. (TC: SFP).

Programm:

Code: Alles auswählen.

"Aufruf
zcl_pm_qr_print=>print( iv_form = 'ZPM_FORM_QR_PRINT_EQUI' it_data = lt_horizontal ).

*Methode

"Signatur
"IV_FORM	TYPE FPWBFORMNAME OPTIONAL	PDF-basierte Formulare: Formularname
"IT_DATA	TYPE ZPM_T_EQUI_LIST	Tab Equipment List for QR Print


METHOD print.

*-------------------------------------------------------------------------------*
* Definition
*-------------------------------------------------------------------------------*
    DATA:
      lv_fm_name        TYPE rs38l_fnam,
      lv_interface_type TYPE fpinterfacetype.

    DATA:
          ls_fp_outputparams TYPE sfpoutputparams.

    DATA:
      ls_fp_docparams TYPE sfpdocparams,
      ls_fp_result    TYPE fpformoutput.


*-------------------------------------------------------------------------------*
* Preparation
*-------------------------------------------------------------------------------*

*--------------------------------*
* Printer setup
*--------------------------------*
    ls_fp_outputparams-nodialog = ''.
    ls_fp_outputparams-preview = ''.
*    ls_fp_outputparams-dest = 'LOKL'.  
    ls_fp_outputparams-dest = 'ZGQR'. "Eigener Gerätetyp 
    ls_fp_outputparams-reqnew = 'X'.
    ls_fp_outputparams-nopdf = ''.
*    ls_fp_outputparams-getpdf = 'X'.
    ls_fp_outputparams-reqimm = ''.
*    ls_fp_outputparams-device = ''.
*    ls_fp_docparams-langu = ''  .
*    ls_fp_docparams-country = ''  .

*--------------------------------*
* 1. Data acquisition
*--------------------------------*
    DATA(lt_select_equi) = it_data.

*--------------------------------*
* 2. Identify FB name
*--------------------------------*
    CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
      EXPORTING
        i_name           = iv_form
      IMPORTING
        e_funcname       = lv_fm_name
        e_interface_type = lv_interface_type
*       EV_FUNCNAME_INBOUND        =
      .

    LOOP AT lt_select_equi INTO DATA(ls_select_equi).

*Number of copies
      ls_fp_outputparams-copies = ls_select_equi-count_print.

*--------------------------------*
* 3. Starting Form Processing
*--------------------------------*
      CALL FUNCTION 'FP_JOB_OPEN'
        CHANGING
          ie_outputparams = ls_fp_outputparams
        EXCEPTIONS
          cancel          = 1
          usage_error     = 2
          system_error    = 3
          internal_error  = 4
          OTHERS          = 5.
      IF sy-subrc <> 0.
* Implement suitable error handling here
      ENDIF.


*--------------------------------*
* 4. Dynamic FB call
*--------------------------------*
      CALL FUNCTION lv_fm_name
        EXPORTING
          /1bcdwb/docparams  = ls_fp_docparams
          is_select_equi     = ls_select_equi
        IMPORTING
          /1bcdwb/formoutput = ls_fp_result
        EXCEPTIONS
          usage_error        = 1
          system_error       = 2
          internal_error     = 3
          OTHERS             = 4.
      IF sy-subrc <> 0.
* Implement suitable error handling here
      ENDIF.

*--------------------------------*
* 5. Ending Form Processing
*--------------------------------*
      CALL FUNCTION 'FP_JOB_CLOSE'
* IMPORTING
*   E_RESULT             =
        EXCEPTIONS
          usage_error    = 1
          system_error   = 2
          internal_error = 3
          OTHERS         = 4.

      IF sy-subrc <> 0.
* Implement suitable error handling here
      ENDIF.

    ENDLOOP.

  ENDMETHOD.

Es gibt ein Report: RSPO0022 (SE38) wo man eine XDC-Zuordnung vornehmen kann. Keine Ahnung, was das bedeutet.... (siehe Anhang)
Mehr Infos: https://mind-forms.de/sap-formulartechn ... ive-forms/

Mein Versuch über 'LOKL' bzw. 'LOCL' über Windows zu drucken, hat auch nicht funktioniert. (Drucker im Windows 10 als Standard Drucker einstellen)

Ich bitte um Unterstützung.

Vielen Dank im Voraus : )


Re: Etikettendrucker anbinden (SPAD)

Beitrag von jocoder (ForumUser / 94 / 0 / 21 ) » 28. Nov 2019 11:44

Im Gerätetyp hast du den Treiber "spool raw data interface" gewählt.
Enthält der Report RSPO0022 hierfür eine XDC-Datei?
In meinem System (Standard) enthält er keine. Vielleicht solltest du es mal mit "Zebra Programming Language 2" versuchen. Laut Herstellerseite sollter dieser Treiber unterstützt werden.
Der Report RSPO0022 enthält hier im Regelfall bereits eine XDC-Datei.
zuordnung_sprache_xdc.png
Autor von Qualitätsmanagement in der ABAP-Entwicklung,
ABAP, Java, JavaScript, GitHub

Re: Etikettendrucker anbinden (SPAD)

Beitrag von a-dead-trousers (Top Expert / 3300 / 90 / 840 ) » 28. Nov 2019 11:49

Da der RSPO0022 schon erwähnt wurde kann ich mir sparen nach dem Namen zu suchen. 😜

Mit dem Report stellst man je Druckertyp (nicht Drucker) das für die Aufbereitung im ADS zu verwendende Format ein. Da der ADS mit XML-Konfigurationsdateien arbeitet die scheinbar nicht zu den Einstellungen in der SPAD passen hat die SAP diese Krücke vermutlich entwickelt.

Da dein Drucker offensichtlich mit PDF zu recht kommt, kannst du es mit XDC-Name "acrobat6.xdc" für deinen Druckertyp versuchen. Das sollte im Ergebnis ein reines PDF erzeugen. Ansonsten sollte der "hppcl5e.xdc" eigentlich immer funktionieren. Als Ergebnis kommt dann aber eine PCL5-Datei heraus.

Über den Knopf XDC-Admin kannst du übrigens die Konfirgurationsdateien vom ADS herunterladen und auch neue hochladen. Die bestehenden zu ändern würde ich nicht empfehlen, weil diese uU bei einem Upgrade überschrieben werden könnten.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 28. Nov 2019 15:29

Hallo zusammen,

erstmal vielen Dank für die schnelle Antworten.

Also ich habe versucht mit mit dem Zebra Programming Language Treiber sucht sowie mit allen anderen Treibern auch...

Ich habe noch vergessen zu erwähnen, dass ich reiner ABAB Entwickler bin und normalerweise nichts mit Basis Aufgaben am Hut habe. Nur leider kann mir in meiner Firma keiner weiterhelfen.

Mein Bauchgefühl sagt mir aber, dass wahrscheinlich nur einer kleine Einstellung nötig ist...

Also für mich Unerfahrenden:
- Benötige ich überhaupt einen eigenen Gerätetypen oder kann ich einen Standard nehmen?
- Im Reiter Hostspool-Kopplung habe ich "C: Direkter Betriebssystem Aufruf" ausgewählt. Ist das so richtig?
- Muss ich vielleicht in meinem Programm bei den sfpoutputparams Parametern noch was mitgeben?
- Was muss bzw. kann ich alles bei den Aufbereitungen einstellen? Gefühlt liegt es am Format. Wenn ich manuell über die PDF View drucke, dass druckt er das Etikett nur, wenn ich das Format richtig eingestellt habe.

Mein größter Erfolg war, dass ich auf drucken geklickt habe und auf dem Drucker Stand "Empfangen von Daten", jedoch ohne Druck.
Leider kann ich jetzt nicht mehr diese diesen Erfolg nachstellen.

Beste Grüße
Markus

Re: Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 28. Nov 2019 15:47

Hallo zusammen:

Ergänzung:

Mit dem Report: RSPO0022 habe ich für meinen Gerätetypen alle folgenden Variationen probiert:
- acrobat6.xdc
- acrobat7.xdc
- adobepdf.xdc
- hppcl5e.xdc
- hppcl5c.xdc

mit jeweils den Druckersprachen:
- Rohdaten
- SAPWIN
- Postscript
- PDF
- ZPL-II
- PCL

Alles ohne Erfolg.

Anbei noch der Fehler-Text in der SP01

Re: Etikettendrucker anbinden (SPAD)

Beitrag von deejey (Specialist / 270 / 73 / 20 ) » 28. Nov 2019 20:27

Glaube ABAB nennt man das erst ab HANA 😜

Re: Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 29. Nov 2019 02:17

Danke Rechtschreibfee für deinen Support :)

Schon witzig/traurig, dass man eine HANA optimierte Fiori App schreiben kann, aber keine fu****g Drucker anschließen kann...

Re: Etikettendrucker anbinden (SPAD)

Beitrag von a-dead-trousers (Top Expert / 3300 / 90 / 840 ) » 29. Nov 2019 10:04

sharkofnose hat geschrieben:
28. Nov 2019 15:29
- Benötige ich überhaupt einen eigenen Gerätetypen oder kann ich einen Standard nehmen?
Standard reicht.
sharkofnose hat geschrieben:
28. Nov 2019 15:29
- Im Reiter Hostspool-Kopplung habe ich "C: Direkter Betriebssystem Aufruf" ausgewählt. Ist das so richtig?
Keine Ahnung, ich sag mal ja. Sollte aber keine Auswirkung auf die Funktions des Druckers selbst haben, weil da nur um die Art der Datenübertragung geht. Also ob der Applikationsserver selber schickt oder ob z.B. der SAPgui beteiligt sein soll.
sharkofnose hat geschrieben:
28. Nov 2019 15:29
- Muss ich vielleicht in meinem Programm bei den sfpoutputparams Parametern noch was mitgeben?
Nein
sharkofnose hat geschrieben:
28. Nov 2019 15:29
- Was muss bzw. kann ich alles bei den Aufbereitungen einstellen?
Welche Aufbereitungen?
sharkofnose hat geschrieben:
28. Nov 2019 15:29
Gefühlt liegt es am Format. Wenn ich manuell über die PDF View drucke, dass druckt er das Etikett nur, wenn ich das Format richtig eingestellt habe.
Meinst du das Seitenformat? (A4, A3)
Das kann man im Formular einstellen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 29. Nov 2019 13:27

Hallo zusammen,
Welche Aufbereitungen?
Siehe Anhang.
Hat sich ja eigentlich eh erledigt, wenn ich einen Standard Gerätetyp verwenden kann.

Kannst du mir da einen empfehlen?
Meinst du das Seitenformat? (A4, A3)
Das kann man im Formular einstellen.
Ja das Seitenformat.
Das Formular hat natürlich das richtige Format (77x52mm).
Im PDF Viewer bei den Druckereinstellungen kann man auch das Seitenformat einstellen, dann klappt es ja. (siehe Anhang: Manuell_drucken.png)

Muss ich dann im Report: RSPO0022 für den Gerätetyp auch nochmal einen Satz anlegen?
z.B.:
SPAD -> Gerätetyp: XSF : SAP Smart Fomrs: XSF Ausgabe
RSPO0022 -> XSF|Rohdaten|acrobat6.xdc
oder:
SPAD-> Gerätetyp: XFP
RSPO0022-> XFP|Rohdaten|arcobat6.xdc
RSPO0022-> XFP|Rohdaten|hppcl5e.xdc

Funktionieren nicht...
😭

Re: Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 29. Nov 2019 14:08

Hallo Zusammen,

meine neuste Erkenntnis:
Im Reiter Schachtinfo kann ich das Seitenformat mitgeben. 😮

Jetzt fehlt hoffentlich nur der richtige Gerätetyp...

Vorschläge?

Welche ich schon versucht habe:
XSF, XFP, XDF, UTF8PRI, SWIN, SAPWIN, SAPWIN5, SCREEN, SAPGOF, SAPGOFU, PDF1

Sollte ich dann alle Schächte befüllen oder reicht da der erste Schacht? 🤔
Schacht 1
Schacht 2
Schacht 3
Einzelblatt
Umschläge
Man.Umschl.

Re: Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 29. Nov 2019 14:51

Hallo Zusammen,

ich habe mir mal die Standard Gerätetypen angeschaut (DB: TSP0A)
und nach "label" gefiltert:
LB_AVE STN2 00227 Avery label printer IBM850
LB_CAB STN2 00229 CAB label printer Latin-1
LB_DMX STN2 00093 Datamax label printer I-class
LB_IBM STN2 00099 IBM 4400 label printer Latin-1
LB_INT STN2 00229 Intermec IPL label printer
LB_SAT STN2 00101 SATO label printer PC 850
LB_UBI STN2 00226 Intermec label printer Latin-1
LB_ZEB STN2 00231 Zebra label printer IBM850
LB_ZEB2 STN2 00232 Zebra label printer Latin-1
LZEB2 X LZPL 00058 Zebra label printer 203dpi
LZEB3 X LZPL 00075 Zebra label printer 300dpi
LZEB6 X LZPL 00083 Zebra label printer 600dpi

Ich bekomme für LZEB2, LB_AVE, LB_SAT, LB_ZEB, LB_ZEB2 keinen Spool-Auftrag...
Den Rest teste ich noch...

Im Reiter Schachtinfo gibt es nur einen Schacht 1 und da habe ich mein Seitenformat hinterlegt.

Klappt auch alles nicht.

Re: Etikettendrucker anbinden (SPAD)

Beitrag von Tron (Top Expert / 1095 / 18 / 240 ) » 30. Nov 2019 08:46

Moin.
Soweit ich mich erinnere, ist der Zebra Drucker der einzige der von Adobe forms unterützt wird. Also Dein Barcode Drucker müßte das Zebra Format unterstützen.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 6. Dez 2019 13:49

Hallo Zusammen,

also der aktuelle Stand sieht wie folgt aus:

Gerätetyp: LB_PRI
Spool-Auftrag: grün
Hostspool-Kopplung: G. Frontend
Schachtinfo: Schacht 1 | Eigenes Format

Wenn ich auf drucken klicke, erscheint auf dem Bildschirm vom Drucker "Daten empfangen".
Es wird aber nicht gedruckt.

Ich habe fast alle LB_* Gerätetypen ausprobiert, inklusive Hostspool-Kopplungen...

Im Spool-Auftrag ist die Aufbereitungsart: G_RAW angegeben...
Wie kann ich die beeinflussen?
Könnte es daran liegen?

Im Report: RSPO0022 habe ich folgenden Datensatz angelegt:
LB_PRI|Sonstige|zpl300.xdc
Ist das so richtig?
Brauche ich das überhaupt?

Hat noch jemand eine Idee? Ich verzweifle hier dezent...

Re: Etikettendrucker anbinden (SPAD)

Beitrag von a-dead-trousers (Top Expert / 3300 / 90 / 840 ) » 6. Dez 2019 21:56

Deine Kommunikation mit dem Drucker läuft über das Frontend (G) also über den SAPgui. Hast du keine Möglichkeit einer direkten Kommunikation mit dem Drucker über das Betriebssystem des Apllikationsservers (L)?
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: Etikettendrucker anbinden (SPAD)

Beitrag von sharkofnose (ForumUser / 9 / 0 / 0 ) » 8. Dez 2019 23:32

Hallo Zusammen,
Hast du keine Möglichkeit einer direkten Kommunikation mit dem Drucker über das Betriebssystem des Apllikationsservers (L)?
Das ist mein großer Wunsch. Über das Frontend wäre nur ein Workaround gewesen... funktioniert ja auch nicht.

Wenn die Kopplungsart: (L) nehme, dann bekomme ich einen fehlerhaften Spool-Auftrag (siehe Anhang).

Wenn ich (C) wähle, dass kommt: "Interner Fehler beim Ausdruck". "Auftrag zurückgestellt". Status ist dann "wartet".

Seite 1 von 1

Aktuelle Forenbeiträge

Anzahlungsrechnung drucken
jetzt von Sebastian82 3 / 35
PopUp bei Fakturaerstellung
vor 42 Minuten von jocoder 2 / 24
Generische Objekte in der Massenverarbeitung
vor einer Stunde von TravellingEntwickler 2 / 587
Unterschiedliche Konditionen AB und Rechnungdruck
vor 7 Stunden von Sebastian82 1 / 35

Unbeantwortete Forenbeiträge

Unterschiedliche Konditionen AB und Rechnungdruck
vor 7 Stunden von Sebastian82 1 / 35
Änderungsbelege für Kundenfelder im BP
vor 4 Tagen von GerryRe 1 / 1990
Transaktionen MEIS / VE01
vor einer Woche von SAP_ENTWICKLER 1 / 2462
Cl_gui_html_viewer Problem
vor einer Woche von YoeBoy 1 / 2003