         @(#)readme.lpd         20.4.14.1     SAP     96/11/14
 README File for SAPLPD Version 2.46
____________________________________

To be used with SAP R/3 Release 3.1x, 3.0x, 2.2x, 2.1x and 2.0x.

  +Version 2.46

  - Windows bug? when printing bitmaps (Win95 / Win 3.11) fixed.

  +Version 2.45:

  - Defaults to LPT1 if no default printer defined
    (runtime error in older versions)

  - Tray selection and duplex printing

  - 32 bit only: Icons printable as bitmaps and in color
    (to switch back to font for icons set 
    variable "IconMode" to "IconsFromFont" in WIN.INI section SAPLPD)

  - 32 bit only: When choosing the bitmap mode for icon printing, all 
    icons are printable with R/3 release 3.1G.
    (run report ZICONS00 on 3.0X systems to enable this and
     do a R3TR TABU TCP07/1134* to transport the new definitions)

  +Version 2.44:

  - Much faster line drawing algorithm (also saves space in
                                        windows spooler)

  - DEFAULT now also works with Win3.11

  - __DEFAULT as alternativ name for %DEFAULT% possible
    (makes it compatible to UNIX spoolers)

  - Printers in 16 bit version can be accessed by their
    real names (as in the 32 bit version)
    Variable: use_real_names=1 (default=0)

  - Color mode of printers is detected automatically

  - Bug in replacement characters for lines fixed.

  +Version 2.43:

  - Error -1 from NEWFRAME fixed.
    (Was in 32-Bit SAPLPD Versions 2.41 and 2.42)

  - Empty pages can be suppressed with the variable
    no_empty_pages (default = 1) 

  - Jobs are completed when they leave the WINDOWS spooler
    not when they leave SAPLPD (32 Bit version only)

  - Switching between RAW and TEXT mode possible
    Variable: DataType (RAW = default)
    TEXT mode solves CR/LF problem when printing from UNIX
    but PCL-output is no longer possible then.

  - Default for NiRead/WriteTimeout is blocking I/O

  +Version 2.42:

  - Improved error feedback for access method 'S' and device
    type non-SAPWIN

  - New interface for Fax support (FaxStartJob)

  - Windows default printer can be used by entering
    %DEFAULT% as printer name in SPAD

  - Executable is named SAPLPD.EXE on all platforms

  - Windows 95 and 32-Bit-SAPLPD works for non-SAPWIN devices

  - SAPFAX aborts when Telenum can not be transmitted to FAX software
    Variable: AbortOnManualDial (1=default)

  - SAPLPD can search for remote printers with are not locally defined
    Variable: EnableRemotePrinters (0=default)

  - 32-Bit executable is secured against virus attacks

  +Version 2.41:

  - NEW NEW NEW!!!
    Use lpdnt.exe for Windows 95 (use lpdso.exe, if you use fax or barcode)

  - Version Information updated

  - Faster Output to Window

  - GDI resources released after output (not as late as before next printout)

  - SAPLPD continous even if Hostname can not be found
    (may cause SNC or barcode problems!)

  - Fix for bug introduced in Version 2.37
    (resulted in Error: controlfile missing)

  +Version 2.40:

  - Works again with NT version 3.5

  - Support for proportional fonts with R/3 3.0D device type SAPWIN

  - Selection of fontsizes in Windows NT fixed

  - LOAD LETTER when changing from portrait to landscape mode eliminated
    (WINDOWS bug!)

  - Added SNC support

  +Version 2.39:

  - Character spacing for SAPscript output fixed (was wrong in Versions
    2.37 and 2.38)

    *******************************************************************
    * ATTENTION: You need to modify the Device Initialization         *
    * (Deutsch: Aufbereitung für Gerätetyp) for device type SAPWIN    *
    * according to Note 35797 or you need the new SAPscript driver    *
    * which is shipped with R/3 Version 3.0D.                         *
    *                                                                 *
    * Contents of note 35797:                                         *
    * Please insert \eOs1 (that is Letter O)                          *
    * in all SAPscript device initializations for device type SAPWIN  *
    *                                                                 *
    * Bitte \eOs1 (Buchstabe O) in alle Druckerinitialisierungen fuer *
    * SAPscript-Aufbereitungen des Geraetetyps SAPWIN eintragen       *
    *******************************************************************

  - Printing with proportional fonts (font replacement) improved.

  +Version 2.38:

  - Bug in printing colored icons/dings fixed.

  - Local printing with non SAPWIN-Files allowed.

  - Background queue management repaired (somtimes jobs in the background queue
    were forgotten by the SAPLPD).

  - Bug when answering multi-option request (resulted in broken connection
    ESHUTDOWN: Can't send after socket schutdown) fixed.

  - THAI-Language support
		
  - Queue status messages repaired (4th was missing)

+Version 2.37:

  Works with faulty lpd's which do not open a separate connection
  for each spool request.

  Can print icons with colored backgrounds.

  List formatting is changed, so that columns are o.k.


+Version 2.35:

  Bugfix:  FAX Number was sometimes deleted
  
  Bugfix:  Job_IDs > SAP_9999 caused problems with DOS Filenames

   
+Bugfix 2.33
 
 - LPDNT can use all printernames
 
 - spourious error with doublebyte characters fixed
 
+New Features in 2.32

 - Workaround for the ResetDC problem
 
   Switching between portrait and landscapemode should be working now
   for more printertypes.

 - Support for SWIN driver in SAPscript (3.0B)
   (with proportinal fonts [yes, really!] )
      
+Bugfix 2.31

 - set margin for SAPWIN didnt work. fixed.

+Bugfix 2.30

 - SAPLPD on NT: Networkconnects were sometimes ignored (fixed)

 
+Bugfix 2.29

 - errenous errormessage fixed when using method S with raw data.
 
 - errenous errormessage at connectproblem fixed.
   This happened when the PC was too busy to answer a connectrequest
   from R/3 in time.
   
+New Features in 2.28
 
 - support for SAPicons and SAPdings (R/3 Release 3.0)

 - size of jobqueue can be configured:

   file      WIN.INI 
   section   [SAPLPD]
   parameter background_q_size  
             default Windows 3.1 is now 150 ( was 50 fixed on older releases)
             maximum Windows 3.1 is 172 due to system limitations
             default Windows/NT  is now 300 ( was 50 fixed on older releases)
             maximun Windows/NT  is 10000.

 - query unknown jobs from R/3

   If jobs not known to saplpd are queried from R/3 the reaction is now selectable.

   file      WIN.INI
   section   [SAPLPD]
   parameter report_unknown_status
             1  (default) report the problem 'status unknown' to R/3
             0            report the status 'done' to R/3

  
 - fixed bug:

   doublebyte characters were sometimes corrupted


+New Features in 2.27

 - Compatible to SNI Spool 4 and Windows/NT IP printing
 
 
+New Features in 2.25

 - Attention FAX users:
   ====================
   Some FAX software (esp. WinFAX) must be loaded before 
   starting SAPLPD or SAPGUI !!!
   Otherwise WINFAX will get confused!
 
 - known problem:
   if you send a fax without a faxnumber set, WINFAX will get confused.
   
 - known problem:
   output via WINFAX is slow. This will be improved in one of the next
   SAPLPD. Check the SAP support server for newer versions.
   
 - bugfix: faxinterface use the right faxnumber now

+New features in 2.24

 - improved network speed
 
+New features in 2.23
 
 - internationalisation
   File LPD.MSG contains the messages.
   This release comes with english (build in) and german messages.
 
 - complete control over case sensitivity for portnames.
   Controled via WIN.INI, section "SAPLPD".
   Set "ignore_printer_case" to 1 (default for LPDSO) for
   case insensitivity.
   Set "ignore_printer_case" to 0 (default for future LPDNT versions)
   for case senitivity.

-  LPDMS and LPDNOV are no longer supported as the new SAPLPD
   requiers functions which are only avaible from the WINSOCK interface.  
   
   Recent versions of LAN Manager and Lan Workplace are compatible with 
   the WINSOCK interface.      

-  SAPFAX Bug corrected. 
 
+New features in 2.21

 - sapwin data recognition via berkeley protokoll
 
+New features in 2.20
 
 - doublebyte fontnames in fontsubstitution menu

+New features in 2.19

 - Support for doublebyte charactersets 

 - windows character set can be set via profile parameter:
   File WIN.INI, Section SAPLPD, 
     WinCharSet=0    for ANSI_CHARSET (default)
               =1    for no charset assumption
               =2    for SYMBOL_CHARSET
               =128  for SHIFTJIS_CHARSET
               =255  for OEM_CHARSET

+New features in SAPLPD 2.17

 - improved network library, esp. Wfw 3.11 will not consume so much memory

 - Userselectable options, how to handle with color and listgraphics

 - If printing to the port, where the windows defaultprinter is defined
    then this printertype will be used by SAPLPD/SAPWIN.

 -  ATTENTION: Output to some printers in landscapemode can be awfully
    slow. This seem to be true esp. for the HP DeskJet.
    Try to print in portrait mode whenever possible.

 -  ATTENTION: Colorprintig with HP DeskJet: Do not use the driver V4.0!
    It is VERY SLOW. Try it with driver V3.2 ( the one without "ColorSmart" ).
    This one is "only" slow. sorry about this, but other drivers with 
    the same date perform 10+ times faster.

+New features in SAPLPD 2.15

 - SAPWIN: Supports color printers
   ( requires SAP Release 2.1G+ or 2.2A)

 - SAPWIN: Translates colors for monochrome printers
   ( requires SAP Release 2.1G+ or 2.2A)

 - SAPWIN is much faster now but the speed depends also on 
   the printerdriver for your patricular model.
   ( about 10 pages/min for HP LaserJet on a 486/33,
     but only 0,6 pages/min for HP DeskjetC )

 - Bug fix: SAPWIN: SAPscript output fixed.

 - More detailed errormessages in case of problems

 - Errormessages from SAP network library (nilib) are routed
   to the standard SAPLPD window.

 - Bug fix: In case of network problems the connection is now
   closed properly and the SAPLPD will continue working.

 - Known to work in an OS/2 2.1 Windowsbox.
   ( Tested with IBM TCP/IP 2.0 and winsock DLL., not supported )

+New features in SAPLPD 2.10

 - Winsocket TCP/IP is supported (executable LPDSO.EXE) .

 - Better user interface

 - Printer type "SAPWIN" now prints MUCH faster!
   You can select printer fonts for SAPFontnames, which means 
   that SAPWIN can use printer fonts rather than TrueType fonts 
   for output.  This allows much faster printing.

   The default mapping is "Courier New" to printerfont "Courier".  If your
   printer does not support "Courier" or if you want a TrueType font, you
   should change this mapping ( Menu: Optionen/Fontersetzung (Options/Replace font ).

 - Bug fix: Multiple copies for printertype SAPWIN.


+new features in SAPLPD 2.07 (not released)

 - Connect to SAPFAX.DLL (from SAP).
   This library is used to dial the fax number which is supplied with the
   job.  Ask the SAPcomm-Group for details.  Currently WinFax Pro
   3.0 is supported.

 - Bugfix: Koppelart 'S' works now with all printer types
   (2.06 worked only with 'SAPWIN')




+new features in SAPLPD 2.06

 - SAPWIN print requests are queued inside SAPLPD.
   This shortens the connection time between SAPLPD and rspoget2. This
   was necessary because printing larger jobs with TrueType fonts was
   too slow to be done while the connection was established. The jobs
   will be processed in a background queue, while SAPLPD is listening
   for new requests.




+new features in SAPLPD 2.05

 - The connection method 'S' (german 'Koppelart',
   english 'print process?') allows direct communication between the
   SAP-system and the SAPLPD program without the limitations of the
   berkeley-protocol ( method 'U').

 - All Windows-compatible printers can be used to print report
   and SAPscript output. The SAP-system formats all output for a
   virtual printer type which is implemented by the windows driver for the
   individual printer.






+ 3 Executables:

  LPDNOV.EXE : SAPLPD for Novell Lan Workplace 4.01  and 4.1 LPDMS.EXE
  :  SAPLPD for Microsoft Lan Manager 2.1 LPDSO.EXE :  SAPLPD for
  Winsocket interface.

  Windows Spool must be activated.  Printer can be locally attached to
  the PC or a network printer.





+ Installation:

  Run the EXE from Windows.
  (You may put it into the autostart folder.)
  Make sure that the working directory is writable!!
  If you install the executable on a server, you must supply a
  working directory which is local and writable.
  You should therefore set the working directory at the lpd icon.

  If you get a 'bind error', you already have a version of SAPLPD 
  running. If you are sure that this is not the case, you will have to
  reboot the PC because some TCP packets didn't release the TCP ports,
  when a process died.

  Hint for LAN Manager 2.1:  You must invoke SOCKETS.EXE before you
  start Windows.  If you do not do so, LPDMS ends with the error
  message:  TCP/IP protocol not installed.

  If the SAPLPD does not work as expected: Please test it on a plain
  Windows 3.1 only with the TCP/IP package installed. 
  Novell Netware and Windows for Workgroups are known to cause problems
  in some installations.



+ Configuration in SAP

  Transaction SPAD - Printer names Create or Change Device

  Change Output Device Screen:

  - If you have a HP-LaserJet, Kyocera Prescribe, Postscript printer or
    any other printer that you want to use in its own native printing modes,
    you can send raw printer data to this printer. That allows full use
    of all printer features from SAPscript, as long as the printer has
    its own driver (HP-LJ, postscript, prescribe). The printer type must
    to be known in detail to the SAP System. There must be a device type
    for the printer ( see transaction SPAD in R/3).  Some networks are
    not able to catch catch?raw printer data on the interface that they use to
    GDI.  If you have trouble, try using printer type SAPWIN (see
    below).

    Printer type:           <physical printertype>  e.g. HPLJIIID

    Aufbereitungsrechner:  real hostname           where the spool work process 
               runs.
    Vermittlungsrechner:   <PC-Name>               PC on which SAPLPD runs.

    Host printer:          LPT1                    printer's port.  

    Print process:         S                       print via SAPLPD protocol   
               ( 'U' is still OK ) 
    LPQ format : B

  - If you have a printer which is not supported by SAP, you can
    use the printer type SAPWIN. This defines a virtual printer type
    that uses the Windows-API for printing.  Windows will use its own
    printer driver to access your printer, so it need not to be known to
    the SAP System in detail. Because evetything is done through the
    Windows-API, all network printers should be usable.


    Printertype:           SAPWIN

    Aufbereitungsrechner:  real hostname           where the spool work process 
               runs.
    Vermittlungsrechner:   <PC-Name>               PCon which SAPLPD runs.

    Host printer:          LPT1                    printer port.  

    Print process:         S                       print via SAPLPD protocol   

    LPQ format : B


+ Networks

  Some networks cannot redirect printer outputthat is supplied on the
  GDI-Spool interface.  In these networks, you can only use the
  printer type 'SAPWIN'.  SAPWIN uses the graphical interface, which
  should be redirectable on all networks.

  SAPLPD needs a writable working directory. If you install SAPLPD on a
  network disk, you should always start it with a local writable
  working directory (Windows program property).


   
+ Barcodes

  You can print barcodes on all windowsprinters if an apropriate
  BARCODE.DLL is installed on your system. It converts the data into
  graphics, so the printer does not need any fontcartridge. To be
  usable, the DLL must export the following two functions:

    --  int BarcodeInit( char * buff, int buff_len)

  Initialize the barcodesystem and put a message in the buffer.
  Return 0 if OK.


    --  int BarcodePrint( HDC * hdc, struct bcinfo * bci )

  Print a barcode to the printer. This structure must contain the
  following fields:

      int xpos;           /* Startposition */ 
      int ypos; 
      int hsize;          /* Size */
      int vsize; 
      char * str;         /* Data */ 
      int strlength; 
      int check;          /* compute checksum */ 
      int beschrift;      /* annotate the barcode */ 
      enum codeid = {     /* which Barcode to use */
    BC25INDU,             2 of 5 industrial
    BC25MATRIX,           2 of 5 matrix
    BC25INTER,            2 of 5 interleave
    BCCODE39,             Code 39 
    BCCODE39EXT,          Code 39 Extended 
    BCCODE93,             Code 93
    BCCODE93EXT,          Code 93 Extended
    BCCODE128,            Code 128 
    BCEAN8,               EAN 8
    BCEAN8P2,             EAN 8 + 2 
    BCEAN8P5,             EAN 8 + 5 
    BCEAN13,              EAN 13
    BCEAN13P2,            EAN 13 + 2 
    BCEAN13P5,            EAN 13 + 5
    BCUPCE,               UPC-E
    BCUPCEP2,             UPC-E + 2 
    BCUPCEP5,             UPC-E + 5 }; 
      int scale_s1; /* Size of lines and spaces */
      int scale_s2; 
      int scale_s3;
      int scale_s4; 
      int scale_l1;
      int scale_l2; 
      int scale_l3; 
      int scale_l4;

      char * errmsg;       /* Possible Errormessage */

   The BARCODE.DLL is searched for in the current directory, windows
   and windows/system directory and in the origin of SAPLPD.EXE. PATH
   is not used.

   We know about one DLL, which meets this specification. It is avaible
   from 'Birger Rauh Systemtechnik, Pillauer Strasse 48a, 
   D-22047 Hamburg'.  Phone and FAX number is +49-40-6951089.  They also
   have a demo version, so you can check, that the printresult from
   your printer can be read by your scanner.  Other compatible DLL's
   for barcodeprinting with windows are not known to us.  If any other
   barcode DLL shows up, we will check, if they can be used with
   SAPLPD. For detils, please have a look at notes 14561, 19699 and 25344.

   There is one barcodeexample defined for the printertype SAPWIN
   (SAPscript and printcontrol).  There is more information comming
   with the DLL.
