Printing ZPL (Zebra) data to printer spooler without character conversion

Hi all,
We are printing shipping labels from UPS, with a process where we recive the ZPL label code directly from UPS, and we just need to pass the data to the printer to get the labels. We have already implemented this with Fedex and some custom labels, and it works perfectly. The problem with the UPS label data is that it contains non-printable characters (in the MaxiCode data field). When passed to the SAP printer spooler (see code example below), the data gets corrupted because SAP interprets these non-printable characters as printer control codes.
I have verified this by saving the ZPL data to a local file, before printing it through the SAP spooler. I then print this raw data and compare the output with the labels printed from the spooler. The MaxiCode (the big 2D barcode) is different in these labels. UPS has also tested the labels, and rejected them because of incorrect data in the barcode.
For printing, we are using printers defined as type "PLAIN", but I also tried using the "LZEB2" device type with the same result. The error we see in the spooler entry is this:
Print ctrl S_0D_ is not defined for this printer. Page 1, line 2, col. 2201
Print output may not be as intended
The printer ctrl code differs, depending om the label. I have examined the spooler data in "raw" mode, and there is always an ASCII character 28 (hex 1C) in front of the characters that SAP think are control codes, and this is why I think these non-printable characters are the reason for the problems.
This is the function module I use to print the ZPL data (and as stated above, this works fine for Fedex and custom labels). The ZPL data is converted to binary format before passed to the function module, but I also tried to send the data in text format with another FM, but the result is the same. I have experimented with the "codepage" parameter, and this one gives the least amount of errors, and some labels actually get through without errors. But still at least 50% of the labels gets corrupted, with log entries like above.
CALL FUNCTION 'RSPO_SR_WRITE_BINARY'
      EXPORTING
        handle           = lv_spool_handle
        data             = lv_label_line_bin
        length           = lv_len
        codepage         = '2010'
      EXCEPTIONS
        handle_not_valid = 1
        operation_failed = 2
        OTHERS           = 3.
Does anyone know if there is a way to send data to the spooler without character conversion or interpretation of printer control codes? Or is there any other smart way to get around this problem?
/Leif

I do a more direct output to the spooler, to avoid any issues with the WRITE statement and SAP's report output processing. At the same time, I insert line breaks so that the output is easy to debug in the spooler if needed. Also included is the code to to detect the escape code (ASCII #28) and to insert a control code ZZUPS in its place (you can skip this for Fedex). Here's a simplified example, but please note this is for a Unicode system, some minor changes is required in a non-Unicode system.
CONSTANTS: lc_spcode TYPE c LENGTH 5 VALUE 'ZZUPS',
           lc_xlen TYPE i VALUE 5.
   DATA: lv_print_params TYPE pri_params,
         lv_spool_handle TYPE sy-tabix,
         lv_name TYPE tsp01-rq0name,
         lv_spool_id TYPE rspoid,
         lv_crlf(2) TYPE c,
         lv_lf TYPE c,
         lstr_label_data TYPE zship_label_data_s,
         lv_label_line TYPE char512,
         lv_label_line_bin TYPE x LENGTH 1024,
         lv_len TYPE i,
         ltab_label_data_255 TYPE TABLE OF char512,
         ltab_label_data TYPE TABLE OF x,
         lv_c1 TYPE i,
         lv_c2 TYPE i,
         lv_cnt1 TYPE i,
         lv_cnt2 TYPE i,
         lv_x(2) TYPE x.
   FIELD-SYMBOLS: <n> TYPE x.
   lv_crlf = cl_abap_char_utilities=>cr_lf.
   lv_lf = lv_crlf+1(1).
   lv_name = 'ZPLLBL'.
CALL FUNCTION 'RSPO_SR_OPEN'
     EXPORTING
       dest                   = i_dest
       name                   = lv_name
       prio                   = '5'
       immediate_print        = 'X'
       titleline              = i_title
       receiver               = sy-uname
*      lifetime               = '0'
       doctype                = ''
     IMPORTING
       handle                 = lv_spool_handle
       spoolid                = lv_spool_id
     EXCEPTIONS
       device_missing         = 1
       name_twice             = 2
       no_such_device         = 3
       operation_failed       = 4
       OTHERS                 = 5.
   IF sy-subrc <> 0.
     RAISE spool_open_failed.
   ENDIF.
LOOP AT i_label_data INTO lstr_label_data.
     CLEAR ltab_label_data_255.
     SPLIT lstr_label_data-label_data AT lv_lf INTO TABLE ltab_label_data_255.
     LOOP AT ltab_label_data_255 INTO lv_label_line.
       IF lv_label_line NE ''.
         lv_len = STRLEN( lv_label_line ).
*       Convert character to hex type
         lv_c1 = 0.
         lv_c2 = 0.
         DO lv_len TIMES.
           ASSIGN lv_label_line+lv_c1(1) TO <n> CASTING.
           MOVE <n> TO lv_x.
           IF lv_x = 28.
             lv_cnt1 = 0.
             lv_label_line_bin+lv_c2(1) = lv_x.
             lv_c2 = lv_c2 + 1.
             DO lc_xlen TIMES.
               ASSIGN lc_spcode+lv_cnt1(1) TO <n> CASTING.
               MOVE <n> TO lv_x.
               lv_cnt2 = lv_c2 + lv_cnt1.
               lv_label_line_bin+lv_c2(2) = lv_x.
               lv_c2 = lv_c2 + 2.
               lv_cnt1 = lv_cnt1 + 1.
               lv_len = lv_len + 1.
             ENDDO.
           ELSE.
             lv_label_line_bin+lv_c2(2) = lv_x.
             lv_c2 = lv_c2 + 2.
           ENDIF.
           lv_c1 = lv_c1 + 1.
         ENDDO.
*       Print binary data to spool
         lv_len = lv_len * 2. "Unicode is 2 bytes per character
         CALL FUNCTION 'RSPO_SR_WRITE_BINARY'
           EXPORTING
             handle                 = lv_spool_handle
             data                   = lv_label_line_bin
             LENGTH                 = lv_len
           EXCEPTIONS
             handle_not_valid       = 1
             operation_failed       = 2
             OTHERS                 = 3.
         IF sy-subrc <> 0.
           RAISE spool_write_failed.
         ENDIF.
       ENDIF.
     ENDLOOP.
   ENDLOOP.
   CALL FUNCTION 'RSPO_SR_CLOSE'
     EXPORTING
       handle = lv_spool_handle.
   IF sy-subrc <> 0.
     RAISE spool_close_failed.
   ENDIF.

Similar Messages

  • How to print main window data in second page without header

    hi friends.,,,,,,,,,,,,,,,,,,,,
    I am printing billing docu details in main window ,the data is coming in two pages but there is problem in printing as the tables is continuing in second page the line is not coming for the table for first row,space is also coming for second page for header .
    my issue is to remove space before printing table and line should come for the table for 1st row in second page.
    please help .
    thanks in  advance.

    Hi Raghukumar,
    1. For the line not coming on the top row of the second page, check if the rowtype u have used in the table has been given a border on the upper side.
    2.For the space issue in the second page, I assume you might have used only a single Page in your smartform and the same page is called again.Hence as per the main window size and length data will be displayed in all pages of the smartform.
    You may need to create a second page with the Main window length occupying the compete page so that data display starts from the top of the page. next Page attributes of the smartforms should be entered accordingly.
    Please try to elaborate your query to help us understand your issue.
    Regards,
    Rijuraj

  • How can I set FireFox to print URLs and Dates on printed pages

    I expected this function to be listed in "Options" but....
    Or does this happen inherently?
    Thanks, Martila

    File > Page Setup > Margins & Headers/Footers tab<br />
    See: http://support.mozilla.com/kn/kb/Printing+a+web+page#Margins_and_Header_Footer
    You need to update your plug-ins. It is important to keep them updated due to continuing security fixes and improvements in those plug-ins:
    * Adobe PDF Plug-In For Firefox and Netscape 8.2.3
    * Java Plug-in 1.6.0_07 for Netscape Navigator
    #'''Check your plugin versions''': http://www.mozilla.com/en-US/plugincheck/
    #*'''Note: plugin check page does not have information on all plugin versions'''
    #'''Update Adobe Reader (PDF plugin):'''
    #*From within your existing Adobe Reader ('''<u>if you have it already installed</u>'''):
    #**Open the Adobe Reader program from your Programs list
    #**Click Help > Check for Updates
    #**Follow the prompts for updating
    #**If this method works for you, skip the "Download complete installer" section below and proceed to "After the installation" below
    #*Download complete installer ('''if you do <u>NOT</u> have Adobe Reader installed'''):
    #**Use Firefox to download and SAVE the installer to your hard drive from the link in the article below
    #**On the Adobe page, un-check any extra items (i.e. Free McAfee® Security Scan Plus) then click Download button
    #**If you see message just under tabs, DO NOT click the Allow button, instead click below that where it says "click here to download".
    #**Click "Save to File"; save to your Desktop (so you can find it)
    #**After download completes, close Firefox
    #**Click the installer you just downloaded and allow the install to continue
    #***Note: Vista and Win7 users may need to right-click the installer and choose "Run as Administrator"
    #**'''<u>Download link and more information</u>''': https://support.mozilla.com/en-US/kb/Using+the+Adobe+Reader+plugin+with+Firefox#Installing_and_updating_Adobe_Reader
    #*After the installation, start Firefox and check your version again.
    #'''Update Java:''' https://support.mozilla.com/en-US/kb/Using+the+Java+plugin+with+Firefox
    #*NOTE: Firefox 3.6 and above requires Java 1.6.0.10 or higher; see: http://support.mozilla.com/en-US/kb/Java-related+issues#Java_does_not_work_in_Firefox_3_6

  • SQL - Can u print all the dates between two given dates (Without PL/SQL)

    Hi Friends,
    I want to know if u can print all the dates between two given dates without using pl/sql.
    date1,date2 are given
    write a sql statement to display all the dates lying between those two dates.
    An earlier will be appreciated.
    Thanks in Advance
    Sriram
    null

    Sriram,
    Try this....
    select to_date('01-JAN-00')+to_number(rownum)
    from all_tables
    where rownum < to_date('10-JAN-00')-to_date('01-JAN-00')
    TO_DATE('
    02-JAN-00
    03-JAN-00
    04-JAN-00
    05-JAN-00
    06-JAN-00
    07-JAN-00
    08-JAN-00
    09-JAN-00

  • SmartForms w/ Printronix SL4M RFID printer in Zebra emulation mode

    Trying to get a basic Smartform to print using a new printer. It is a Printronix SL4M RFID printer that emulates several printer modes, including Zebra.
    The printer was changed to Zebra mode, device type in SAP is LZEB2. Configuration printout on the printer shows it in Zebra mode and using a 203 dpi printer head. Configuration is all defaults (command prefix, label prefix, etc).
    Output generates in SAP. Spool is ok. Print preview is ok. Completes with no errors in SAP. Physical printer is giving intermittent results. Usually, no output at all. One time, we got half a label that actually contained valid data. Sometimes we get "invalid data" messages on the printer. Last test spit out two blank labels.
    Unfortunately the printer is in Germany and I am in the US. Going to try to change the printer to "ZGL QUIET". This is supposed to print out the ZPL code as text. Want to see if any control characters are getting changed. Also checking settings that are code page/language specific.
    Looking for any suggestions. Thanks.
    Norm

    Gave up with SmartForms using the Zebra device type LZEB2. It was going to a Printronix printer that emulates a Zebra. Was not sure if it would work and had to move on. Will go back later and attempt.
    Also, Printronix provides SAP device types for use through SmartForms. Others have used successfully. We had problems installing at our current release level.
    Switched to SAPscript. Had issues with ZPL control characters being substituted in the default European configuration on the physical printer. Made changes and had some success.
    Using one of the international character sets seems to be working.
    European character set #300 - Latin 2 8859-2.
    It does not replace the Zebra control characters for caret and tilda.
    It also does not seem to replace the Printronix control characters caret, left and right curly brackets.
    Added commands to the SAPscript layout set. Still need to perform some additional testing, but last tests were successful.
    ZPL II command
    ^CI300
    Printronix PGL command
    ^i300^-

  • SmartForms printing  on ZEBRA S4M doesn't work!

    I heard that we can use SmartForms to design label. We would prefer to use SmartForms instead of Bar-One if possible.
    I've read the following OSS notes very carefully :
    750772 - Information on the ZPL-2 printer driver for SF
    750002 - SmartForms: Support Zebra label printer (ZPL2)
    We are using Zebra S4M printer.
    Basis installed the Zebra S4M driver. I did a print configuration test and it works well, so I suppose the printer has been installed correctly.
    SAP installation info
    SAP_BASIS     620     0058     SAPKB62058
    SAP_ABA             620     0058     SAPKA62058
    SAP_APPL     470     0026     SAPKH47026
    Kernel release: 640
    Patch level: 109
    According to the OSS notes, our system should be capable to work.
    1. I create the device type ZLZEB2 using program RSTXSCRP.
    This create the device type with the following parameters:
    Version: 3
    Driver: LZPL Zebra Programming Language 2
    Printer driver: Do not use printer driver for ABAP list...
    Argument: R203
    Character set: 1162 Printer LB_ZEB IBM 850(internal fonts)
    2. I create an output device ZEBRA_S4M with parameters:
    Device Type: ZLZEB2 Zebra label printer 203dpi
    Device Class: Standard printer
    Host Spool Access Method: C
    Host printer:
    svr25node2prd.jacob.grpPrinter-EtiquetteTI
    Host Name: svr20dev
    3. I create a SmartStyle.
    In the Header Data section, I put the font Helve 12 and I create one paragraph with a left-alignment, very simple.
    4. I create a SmartForm
    Page Format: LETTER
    Style: SmartStyle created in step 3
    Then I create a secondary window with one text where
    I wrote "Test on Zebra S4M"
    Also, in the main window, I change the left margin and upper margin to 0.
    5. Printing
    After activating the SmartForm & SmartStyle
    From SmartForm, F8-F8-F8 then I choose my output device, check print immediatly but nothing comes out???
    Does anybody no why? or could help me??
    Thanks!
    Message was edited by: Alexandre Giguère

    Hi Alexander,
    I have a question. I have designed my smartform with a style which is a label. I am able to get the data from the application program.  I should print it on a zebra printer. I can see the print preview too.
    When I give a print in the spool requests it shows me <b>Completed</b>.
    In the printer it is not printing . should I go for ZPL language and do that or is there any other way...
    Please help me out..
    with regards,
    chaithanya.

  • Assistance with Printing to Zebra QL220 using the LabVIEW report VI

    I currently am trying to use the LabVIEW report VI to output a formatted set of strings to the above mentioned printer.
    The UMPC hardware that runs the developed application is bare bones XP box and doesn't' have MS office installed
    I use the LV new report set to a standard report and  successfully set orientation to portrait or Landscape, set margins and set report fonts and headers.. However  in sending the text strings to this label printer (labels are 45mm X 60mm) I find that that two issues arise.
    1. Printing out double labels. The pagination fails and prints a blank label after each print when text is output.  However if I disable all headers and body text (i.e blank label print). This pagination works fine.?
    2. The formatting of the information on the page reliably, I currently use inserted blank spaces, is there a better way?
    I thought, perhaps I should try using the ZLP programming language, but then not sure how to I send it to a USB printer? Has any one had any experience with this and these label printers ?  
    Thanks
    Greg Nicholls

    hi all
    i am C sharp programer
    and i have zebra QL 220 plus
    and roll type is 42X20mm
    and i have the zebra sdk
    and i create mobile application in C# smart device
    and i tring to connect to printer from my application by bluetooth
    in sdk i got this and use
    using System;
    using ZSDK_API.Comm;
    using System.Text;
    using System.Threading;
    // This example prints "This is a ZPL test." near the top of the label.
    private void SendZplOverBluetooth(String theBtMacAddress) {
    try {
    // Instantiate a connection for given Bluetooth(R) MAC Address.
    ZebraPrinterConnection thePrinterConn = new BluetoothPrinterConnection(theBtMacAddress);
    // Open the connection - physical connection is established here.
    thePrinterConn.Open();
    // Defines the ZPL data to be sent.
    String zplData = "^XA^FO20,20^A0N,25,25^FDThis is a ZPL test.^FS^XZ";
    // Send the data to the printer as a byte array.
    thePrinterConn.Write(Encoding.Default.GetBytes(zplData));
    // Make sure the data got to the printer before closing the connection
    Thread.Sleep(500);
    // Close the connection to release resources.
    thePrinterConn.Close();
    } catch (Exception e) {
    // Handle communications error here.
    Console.Write(e.StackTrace);
    // This example prints "This is a CPCL test." near the top of the label.
    private void SendCpclOverBluetooth(String theBtMacAddress) {
    try {
    // Instantiate a connection for given Bluetooth(R) MAC Address.
    ZebraPrinterConnection thePrinterConn = new BluetoothPrinterConnection(theBtMacAddress);
    // Open the connection - physical connection is established here.
    thePrinterConn.Open();
    // Defines the CPCL data to be sent.
    String cpclData = "! 0 200 200 210 1\r\n"
    + "TEXT 4 0 30 40 This is a CPCL test.\r\n"
    + "FORM\r\n"
    + "PRINT\r\n";
    // Send the data to the printer as a byte array.
    thePrinterConn.Write(Encoding.Default.GetBytes(cpclData));
    // Make sure the data got to the printer before closing the connection
    Thread.Sleep(500);
    // Close the connection to release resources.
    thePrinterConn.Close();
    } catch (Exception e) {
    // Handle communications error here.
    Console.Write(e.StackTrace);
     and once i use ZPL method it print 17 barcod always with 16 blank Patches (labels)
    and  when i use CPCL method it print 12 BarCode always with 11 blank Patches (labels)
    and i dont know why ?
    it must print 1 Patch (label)
    what i can do  and i dont think there is eny rong with my code
    all waht i want is how i can give Length and width and how much label print coz it is always print 17 or 12 what i can do ?

  • Newbie question: Send data to printer from ABAP program

    Hello, I am a newbie.
    I do not use  SAPScript nor SmartForms.
    But I need to send a printer command stream from my ABAP to printer.
    Is it possible?
    How can this be possible? Please give me some guideline.
    I will reward you points. Promise.
    Thanks

    hi,
    u can send ur program details to printer using submit to sap-spool statement.
    SUBMIT TO SAP-SPOOL
    Basic form
    SUBMIT rep ... TO SAP-SPOOL.
    Extras:
    1.... DESTINATION dest         ... COPIES cop
            ... LIST NAME name
            ... LIST DATASET dsn
            ... COVER TEXT text
            ... LIST AUTHORITY auth
            ... IMMEDIATELY flag
            ... KEEP IN SPOOL flag
            ... NEW LIST IDENTIFICATION flag
            ... DATASET EXPIRATION days
            ... LINE-COUNT lin
            ... LINE-SIZE  col
            ... LAYOUT layout
            ... SAP COVER PAGE mode
            ... COVER PAGE flag
            ... RECEIVER rec
            ... DEPARTMENT dep
            ... ARCHIVE MODE armode
            ... ARCHIVE PARAMETERS arparams
            ... WITHOUT SPOOL DYNPRO
    2. ... SPOOL PARAMETERS params
             ... ARCHIVE PARAMETERS arparams
             ... WITHOUT SPOOL DYNPRO
    3. ... Further parameters (for passing variants)
            are described in the documentation for SUBMIT
    The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Missing print parameters with SUBMIT.
    Effect
    Calls the report rep with list output to the SAP spool database.
    Additions
    ... DESTINATION dest(output device)
    ... COPIES cop(number of copies)
    ... LIST NAME name(name of list)
    ... LIST DATASET dsn(name of spool dataset)
    ... COVER TEXT text(title of spool request)
    ... LIST AUTHORITY auth(authorization for display)
    ... IMMEDIATELY flag(print immediately ?)
    ... KEEP IN SPOOL flag(keep list after print ?)
    ... NEW LIST IDENTIFICATION flag(new spool request ?)
    ... DATASET EXPIRATION days(number of days list
    retained)
    ... LINE-COUNT lin ( lin lines per page)
    ... LINE-SIZE  col(col columns per line)
    ... LAYOUT layout(print format)
    ... SAP COVER PAGE mode(SAP cover sheet ?)
    ... COVER PAGE flag(selection cover sheet ?)
    ... RECEIVER rec(SAP user name of
    recipient)
    ... DEPARTMENT dep(name of department)
    ... ARCHIVE MODE armode(archiving mode)
    ... ARCHIVE PARAMETERS arparams(structure with archiving
    parameters)
    ... WITHOUT SPOOL DYNPRO(skip print control screen)
    With the parameters IMMEDIATELY, KEEP IN SPOOL, NEW LIST IDENTIFICATION and COVER TEXT, flag must be a literal or character field with the length 1. If flag is blank, the parameter is switched off, but any other character switches the parameter on. You can also omit any of the sub-options of PRINT ON. mode with SAP COVER PAGE can accept the values ' ', 'X' and 'D'. These values have the following meaning:
    ' ' : Do not output cover sheet
    'X' : Output cover sheet
    'D' : Cover sheet output according to printer setting
    armode with ARCHIVE MODE can accept the values '1', '2' and '3'. These values have the following meaning:
    '1' : Print only
    '2' : Archive only
    '3' : Print and archive
    arparams with ARCHIVE PARAMETERS must have the same structure as ARC_PARAMS. This parameter should only be processed with the function module GET_PRINT_PARAMETERS.
    Effect
    Output is to the SAP spool database with the specified parameters. If you omit one of the parameters, the system uses a default value. Before output to the spool, you normally see a screen where you can enter and/or modify the spool parameters. However, you can suppress this screen with the following statement:
    ... TO SAP-SPOOL WITHOUT SPOOL DYNPRO
    You could use this option if all the spool parameters have already been set!
    Note
    When specifying the LINE-SIZE, you should not give any value > 132 because most printers cannot print wider lists.
    Addition 2
    ... SPOOL PARAMETERS params(structure with print
    parameters)
    ... ARCHIVE PARAMETERS arparams(Structure with archive
    parameters)
    ... WITHOUT SPOOL DYNPRO(skip print parameters
    screen)
    Effect
    Output is to the SAP spool database with the specified parameters. The print parameters are passed by the field string params which must have the structure of PRI_PARAMS. The field string can be filled and modified with the function module GET_PRINT_PARAMETERS. The specification arparams with ARCHIVE PARAMETERS must have the structure of ARC_PARAMS. This parameter should only be processed with the function module GET_PRINT_PARAMETERS. Before output to the spool, you normally see a screen where you can enter and/or modify the spool parameters. However, you can suppress this screen with the following statement:
    ... WITHOUT SPOOL DYNPRO
    Example
    Without archiving
    DATA: PARAMS LIKE PRI_PARAMS,
          DAYS(1)  TYPE N VALUE 2,
          COUNT(3) TYPE N VALUE 1,
          VALID    TYPE C.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING DESTINATION           = 'LT50'
                COPIES                = COUNT
                LIST_NAME             = 'TEST'
                LIST_TEXT             = 'SUBMIT ... TO SAP-SPOOL'
                IMMEDIATELY           = 'X'
                RELEASE               = 'X'
                NEW_LIST_ID           = 'X'
                EXPIRATION            = DAYS
                LINE_SIZE             = 79
                LINE_COUNT            = 23
                LAYOUT                = 'X_PAPER'
                SAP_COVER_PAGE        = 'X'
                COVER_PAGE            = 'X'
                RECEIVER              = 'SAP*'
                DEPARTMENT            = 'System'
                NO_DIALOG             = ' '
      IMPORTING OUT_PARAMETERS        = PARAMS
                VALID                 = VALID.
    IF VALID <> SPACE.
      SUBMIT RSTEST00 TO SAP-SPOOL
        SPOOL PARAMETERS PARAMS
        WITHOUT SPOOL DYNPRO.
    ENDIF.
    Example
    With archiving
    DATA: PARAMS   LIKE PRI_PARAMS,
          ARPARAMS LIKE ARC_PARAMS,
          DAYS(1)  TYPE N VALUE 2,
          COUNT(3) TYPE N VALUE 1,
          VALID    TYPE C.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING DESTINATION            = 'LT50'
                COPIES                 = COUNT
                LIST_NAME              = 'TEST'
                LIST_TEXT              = 'SUBMIT ... TO SAP-SPOOL'
                IMMEDIATELY            = 'X'
                RELEASE                = 'X'
                NEW_LIST_ID            = 'X'
                EXPIRATION             = DAYS
                LINE_SIZE              = 79
                LINE_COUNT             = 23
                LAYOUT                 = 'X_PAPER'
                SAP_COVER_PAGE         = 'X'
                COVER_PAGE             = 'X'
                RECEIVER               = 'SAP*'
                DEPARTMENT             = 'System'
                SAP_OBJECT             = 'RS'
                AR_OBJECT              = 'TEST'
                ARCHIVE_ID             = 'XX'
                ARCHIVE_INFO           = 'III'
                ARCHIVE_TEXT           = 'Description'
                NO_DIALOG              = ' '
      IMPORTING OUT_PARAMETERS         = PARAMS
                OUT_ARCHIVE_PARAMETERS = ARPARAMS
                VALID                  = VALID.
    IF VALID <> SPACE.
      SUBMIT RSTEST00 TO SAP-SPOOL
        SPOOL PARAMETERS PARAMS
        ARCHIVE PARAMETERS ARPARAMS
        WITHOUT SPOOL DYNPRO.
    ENDIF.

  • Define printer for Zebra

    Hi Sapfans,
    We created one form in PDF-based forms for print in Zebra printers. This form has ZPL code.
    After we have created in SAP one output device for this printer with all steps of the note 685571, XDC file AZPL203.
    Now, when I run this form for one laser printer, we don't have any problem, if I choose the output device for zebra, I have the below error message:
    ADS: com.adobe.ProcessingException: XMLFM Exception - P(200101)
    Message no. FPRUNX001
    I have tested other forms with others printers, run without errors. So my ADS definitions and connections seems to be ok.
    Can you help me on zebra output device???
    All ideas/comments are welcome.
    Ana Moreira

    Hey
    Have you solved the problem by now???
    Please post any solution if you have one
    Thanks ahead
    Eyal

  • I can not print from Firefox, but can from all other browsers and applications (such as MS Word, notepad, etc.). I get a print error on the printing monitor like it's a spooling problem.

    This is a recent development but I can not print anything from within Firefox. The print functions open normally, it is going to the correct printer which works..I can print from other browsers and applications. It acts like it is spooling and then a print error occurs and it won't print. I closed and reopened Firefox, opened it in safe mode, cleaned out history/cache/cookies, and rebooted twice. Nothing makes any difference. Also tried printing from the print preview which had the same result. I can print from all other browsers and applications without a problem so it must be within Firefox.

    See this: <br />
    http://kb.mozillazine.org/Problems_printing_web_pages

  • How to print out time as hr:min:sec without AM/PM?

    how to print out time as hr:min:sec without AM/PM
    since hr specifies AM/PM. Thank you. My first thought
    is that there exists a formatter to do this. My second
    thought is that if not I can convert the AM/PM in the
    DateFormat.MEDIUM to the right hour.

    import java.text.*;
    import java.util.*;
    public class Test {
        public static void main (String [] args) {
            SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
            Date d = new Date();
            System.out.println( format.format(d) );
    }

  • Problem printing horizontal text in smartform with zebra Z6M label printer

    hello,
    The situation is this:
    There is a Z smartform wich prints a label to a zebra Z6M label printer with the text and barcodes vertically.
    The form have a command in the main windows with the parameter: S_LZPL_SETUP     '^FWR'
    This label works fine, but the client want to change the form, they have told me to create a new smartform and print the info horizontally, using the same printer.
    The tests i have done are the following:
    create a smartform from ground and write a template text and a barcode with a new font of system barcodes. the bardoce is shown ok(it is shown horizontally), the problem is that the template text is shown vertically, as in the original smartform.
    then i tried on another zebra ZM600 label printer, similar model, but not the same, and the smartform printed was ok (text and barcodes shown horizontally). So i think is a configuration setting problem, but i dont know where to search.
    i have checked the label printer parameters in SPAD, but didnt find anything souspicios.
    have you any idea?
    thanks in advance.

    See these if they be of any help.....
    BARCODE:
    goto smartform styles-> create a style-->
    create a character format.
    under standard settings give the bar code name
    use this style in ur smartform. select the data field which u want to barcode print and assign the character format
    Similarly
    SAPSCRIPT
    open the form and click the character format button and
    repeat the step as above....
    http://help.sap.com/saphelp_nw04/helpdata/en/68/4a0d5b74110d44b1b88d9b6aa1315b/frameset.htm
    Go to Character formate in your form.
    create a new char formate with enable BAR code AND
    you can give its type too.
    To Create a Bar code prefix:
    1) Go to T-code - SPAD -> Full Administration -> Click on Device Type -> Double click the device for which you wish to create the print control -> Click on Print Control tab ->Click on change mode -> Click the plus sign to add a row or prefix say SBP99 (Prefix must start with SBP) -> save you changes , it will ask for request -> create request and save
    2) Now when you go to SE73 if you enter SBP00 for you device it will add the newly created Prefix
    Create a character format C1.Assign a barcode to the character format.Check the check box for the barcode.
    The place where you are using the field value use like this
    <C1> &itab-field& </C1>.
    You will get the field value in the form of barcode.
    Which barcode printer are you using ? Can you download this file and see.
    http://www.servopack.de/Files/HB/ZPLcommands.pdf.
    It will give an idea about barcode commands.
    Check this link:
    http://www.sap-img.com/abap/questions-about-bar-code-printing-in-sap.htm
    Check this link:
    http://help.sap.com/saphelp_nw04/helpdata/en/d9/4a94c851ea11d189570000e829fbbd/content.htm
    Hope this link ll be useful..
    http://help.sap.com/saphelp_nw04/helpdata/en/66/1b45c136639542a83663072a74a21c/content.htm
    go through these links and cose u r previous threads,
    http://www.sap-img.com/abap/questions-about-bar-code-printing-in-sap.htm
    smartform - barcode
    http://www.erpgenie.com/abap/smartforms.htm
    http://sap.ittoolbox.com/groups/technical-functional/sap-basis/print-barcode-with-smartform-634396
    http://sap.ittoolbox.com/groups/technical-functional/sap-dev/printing-barcode-733550
    Detailed information about SAP Barcodes
    A barcode solution consists of the following:
    a barcode printer
    a barcode reader
    a mobile data collection application/program
    A barcode label is a special symbology to represent human readable information such as a material number or batch number
    in machine readable format.
    There are different symbologies for different applications and different industries. Luckily, you need not worry to much about that as the logistics supply chain has mostly standardized on 3 of 9 and 128 barcode symbologies - which all barcode readers support and which SAP support natively in it's printing protocols.
    You can print barcodes from SAP by modifying an existing output form.
    Behind every output form is a print program that collects all the data and then pass it to the form. The form contains the layout as well as the font, line and paragraph formats. These forms are designed using SAPScript (a very easy but frustratingly simplistic form format language) or SmartForms that is more of a graphical form design tool.
    Barcodes are nothing more than a font definition and is part of the style sheet associated with a particular SAPScript form. The most important aspect is to place a parameter in the line of the form that points to the data element that you want to represent as barcode on the form, i.e. material number. Next you need to set the font for that parameter value to one of the supported barcode symbologies.
    Creating Bar code:
    ) Go to T-code - SPAD -> Full Administration -> Click on Device Type -> Double click the device for which you wish to create the print control -> Click on Print Control tab ->Click on change mode -> Click the plus sign to add a row or prefix say SBP99 (Prefix must start with SBP) -> save you changes , it will ask for request -> create request and save
    2) Now when you go to SE73 if you enter SBP00 for you device it will add the newly created Prefix
    Create a character format C1.Assign a barcode to the character format.Check the check box for the barcode.
    The place where you are using the field value use like this
    <C1> &itab-field& </C1>.
    You will get the field value in the form of barcode.
    Check this thread for detail information.
    How to print Barcode in te SAP SCRIPTS?

  • Problem with text printing on ZEBRA printer

    Hi all,
    I created a label in adobe forms to print output in ZEBRA140xi series printer. In the label I am printing Delivery number,storage bin,material number,delivery date and other details along with barcodes.
    I created a header to display company name. In header I kept solid black color as background and company name in white color in foreground with Arial 8 font.
    when I print the label all runtime values are printed but the header with black background only printing. The white text on the black background is not printing.
    Kindly tell me what I should do to print white color text on black background in ZEBRA printer? 
    Note: the print is working fine with laser printer problem comes when printed on ZEBRA printer.
    regards,
    Suresh.

    Hello,
    did you find a solution? I have the same problem: print ADS forms on zebra with black background and withe text.
    Regards.
    Benjamin

  • Problem printing in Zebra from hand held device

    Hello ,
    I have a problem in a label print in Zebra  printer . I have uploaded the ZPL commands in the Smartform .
    and Iam able to print from my desktop using the SPAD option of ' Front end printing ' . But when I use the option 'L - Local printing using LP/LPR , it is not printing the barcode .
    Actually we are trying to print from a handhelp device using SAP console ( Telnet based character screen ) .

    Hi aravind,
    WELCOME TO SDN............
    Check this link.It might help you
    http://www.redbooks.ibm.com/redbooks/pdfs/sg247166.pdf
    Best of luck,
    Bhumika

  • Barcode not printing on Zebra printer

    Hi All,
    We are facing an issue while printing the barcode from ECC 5.0 using a smartform.
    The problem is that the z program creates a spool when we click the print option but does not print the barcode in the zebra printer.Also when we try to print from spool directly it doesn't  print anything.
    We are on Ecc 5.0
    zebra printer is Z4mplus.
    Any help is appreciated and will be rewarded with points.
    Thanks
    Umang

    Hi,
    Please check with your Printer Vendor, whether it supports the Barcode font which you have used.
    Also check for SAP notes. There are several sap notes on Zebra printer.
    Goto www.service.sap.com
    Best regards,
    Prashant

Maybe you are looking for