Spool to Word

Hello,
I need to export a spool to a MSWord document.
The spool contains some text and a logo.
Thanks.

U need to to use OLE (but i dont have much idea on how to do it exactly)
this will help u
check this document on how to write to word.
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/204d1bb8-489d-2910-d0b5-cdddb3227820
check this document on how to write to word.
also check this thread
Re: Convert Smartform to WORD by OLE
кu03B1ятu03B9к

Similar Messages

  • Spool to Word Document

    Can sometell me how can we convert the Spool to the Word Document?
    Please give me the detailed procedure.
    Thanks,
    Sirisha Matta.

    Hi Archana,
    you can find the solution here: Spool output as Text
    Regards,
      Karol

  • Spool to word file

    I need a report ,transaction or something like that .The question is create a copy of a spool's order in word.
    I have a report who leaves me copy the spool's order into a word file

    Hi Rane,
    SAP have created a standard program <b>RSTXPDFT4</b> to convert your Sapscripts spools into a PDF format.
    Specify the spool number and you will be able to download the sapscripts spool into your local harddisk.
    It look exactly like what you see during a spool display.
    Please note that it is not restricted to sapsciprts spool only.  Any reports in the spool can be converted using the program 'RSTXPDFT4'.
    Hope it helps u.
    Thanks&Regards,
    Ruthra

  • Convert Spool to Word

    Hello!!.
    I want to know if there's a function similar to CONVERT_OTFSPOOLJOB_2_PDF, that can convert an OTF to Microsoft Word??.
    Thank you.

    You can use the function CONVERT_TEXT.
    See help.sap.com:
    http://help.sap.com/saphelp_erp2004/helpdata/en/d6/0dba8f494511d182b70000e829fbfe/frameset.htm
    cheers,
    Marilyn

  • Download SAP Script as MS word format

    Can we download SAP Script in MS word format? If so Please suggest me the way.

    I'm not very sure on how it can be achieved, but this can help you.
    Spool to word -> http://sap4.com/codigofuente/102/396.html

  • Exporting smartform into word document

    how to export smartform into word document . i tried converting into pdf and then download but it showing run time error that conversion is not possible and also it tells that otf command // missing. is it not possible to export directly to word document instead of pdf.plz give clear description of what to be done exactly with sample codes.
    marks will be rewarded.

    Hi Lavanya,
    Converting the output from Spool to Word is possible.
    Here is the sample code.
    I cut pasted a code from a link i got in the website, see if it helps.
    ZSPOOL2WORD
    Genera un fichero Word a partir de una orden de spool
    MÓDULO : FI *
    TIPO : Listado *
    TITULO : Generación fichero Word
    DESCRIPCION : Genera un fichero Word a partir de una orden de spool
    AUTOR: Andres Picazo FECHA: 24/03/2003 *
    MODIFICACIONES *
    FECHA NOMBRE DESCRIPCION *
    REPORT ZSPOOL2WORD
    NO STANDARD PAGE HEADING
    LINE-COUNT 065
    LINE-SIZE 080.
    INCLUDE OLE2INCL.
    *----TABLAS/ESTRUCTURAS--
    *----TABLAS INTERNAS--
    DATA I_BUFFER(132) OCCURS 1000000 WITH HEADER LINE.
    *----VARIABLES--
    *----PARAMETER/SELECT-OPTIONS EN PANTALLA--
    SELECTION-SCREEN BEGIN OF BLOCK BLK_PAR WITH FRAME TITLE TEXT-SEL. "Pará
    PARAMETERS: P_SPOOL LIKE TSP01-RQIDENT OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK BLK_PAR.
    SELECTION-SCREEN BEGIN OF BLOCK BLK_WOR WITH FRAME TITLE TEXT-WOR.
    PARAMETERS: P_WORD AS CHECKBOX DEFAULT 'X'.
    PARAMETERS: P_FWOR LIKE RLGRAP-FILENAME DEFAULT 'C:MAYOR.DOC'.
    PARAMETERS: P_PLAN LIKE RLGRAP-FILENAME
    DEFAULT 'D:DATOSAPISMAYORPLANTILLA LIBRO MAYOR.DOC'.
    SELECTION-SCREEN END OF BLOCK BLK_WOR.
    SELECTION-SCREEN BEGIN OF BLOCK BLK_FIC WITH FRAME TITLE TEXT-FIC.
    PARAMETERS: P_CTXT AS CHECKBOX DEFAULT ''.
    PARAMETERS: P_FTXT LIKE RLGRAP-FILENAME DEFAULT 'C:MAYOR.TXT'.
    SELECTION-SCREEN END OF BLOCK BLK_FIC.
    LOGICA DEL PROGRAMA
    INITIALIZATION
    INITIALIZATION.
    START-OF-SELECTION.
    START-OF-SELECTION.
    PERFORM LEER_SPOOL.
    IF NOT P_CTXT IS INITIAL.
    PERFORM GRABA_FICHERO.
    ENDIF.
    IF NOT P_WORD IS INITIAL.
    PERFORM LANZA_WORD.
    ENDIF.
    FORMS ADICIONALES
    *& Form LEER_SPOOL
    Lee la orden de spool en el buffer
    FORM LEER_SPOOL.
    CALL FUNCTION 'RSPO_RETURN_ABAP_SPOOLJOB'
    EXPORTING
    RQIDENT = P_SPOOL
    FIRST_LINE = 1
    LAST_LINE = 9999999
    TABLES
    BUFFER = I_BUFFER
    EXCEPTIONS
    NO_SUCH_JOB = 1
    NOT_ABAP_LIST = 2
    JOB_CONTAINS_NO_DATA = 3
    SELECTION_EMPTY = 4
    NO_PERMISSION = 5
    CAN_NOT_ACCESS = 6
    READ_ERROR = 7
    OTHERS = 8.
    IF SY-SUBRC NE 0.
    MESSAGE E398(00) WITH 'Error' SY-SUBRC
    'al leer la orden de spool' P_SPOOL.
    ENDIF.
    ENDFORM. " LEER_SPOOL
    *& Form GRABA_FICHERO
    Graba el contenido del spool a fichero de texto.
    FORM GRABA_FICHERO.
    CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
    BIN_FILESIZE = ' '
    CODEPAGE = ' '
    FILENAME = P_FTXT
    FILETYPE = 'ASC'
    MODE = ' '
    WK1_N_FORMAT = ' '
    WK1_N_SIZE = ' '
    WK1_T_FORMAT = ' '
    WK1_T_SIZE = ' '
    COL_SELECT = ' '
    COL_SELECTMASK = ' '
    NO_AUTH_CHECK = ' '
    IMPORTING
    FILELENGTH =
    TABLES
    DATA_TAB = I_BUFFER
    FIELDNAMES =
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_WRITE_ERROR = 2
    INVALID_FILESIZE = 3
    INVALID_TABLE_WIDTH = 4
    INVALID_TYPE = 5
    NO_BATCH = 6
    UNKNOWN_ERROR = 7
    GUI_REFUSE_FILETRANSFER = 8
    OTHERS = 9.
    IF SY-SUBRC NE 0.
    MESSAGE E398(00) WITH 'Error' SY-SUBRC
    'al grabar el fichero' P_FTXT.
    ENDIF.
    ENDFORM. " GRABA_FICHERO
    *& Form LANZA_WORD
    Abre la plantilla de Word y pega el contenido del portapapeles.
    FORM LANZA_WORD.
    DATA: WORDAPP TYPE OLE2_OBJECT,
    DOCUMENT TYPE OLE2_OBJECT,
    SELECTION TYPE OLE2_OBJECT.
    Copia el contenido del buffer en el portapeles
    CALL FUNCTION 'CLPB_EXPORT'
    TABLES
    DATA_TAB = I_BUFFER
    EXCEPTIONS
    CLPB_ERROR = 1
    OTHERS = 2.
    Abre Word
    CREATE OBJECT WORDAPP 'word.application'.
    IF SY-SUBRC NE 0.
    MESSAGE E398(00) WITH 'No se ha podido abrir el Word'.
    ENDIF.
    Lo pone en visible
    SET PROPERTY OF WORDAPP 'Visible' = 1.
    Cogemes el objeto documento
    CALL METHOD OF WORDAPP 'Documents' = DOCUMENT.
    Abrimos el fichero plantilla
    IF P_PLAN IS INITIAL.
    CALL METHOD OF DOCUMENT 'Add'.
    ELSE.
    CALL METHOD OF DOCUMENT 'Open' EXPORTING #1 = P_PLAN.
    IF SY-SUBRC NE 0.
    MESSAGE E398(00) WITH 'Error al leer el fichero plantilla'.
    ENDIF.
    ENDIF.
    Coge el objeto selección
    CALL METHOD OF WORDAPP 'Selection' = SELECTION.
    Pega el contenido del portapapeles
    CALL METHOD OF SELECTION 'Paste'.
    IF SY-SUBRC NE 0.
    MESSAGE E398(00) WITH 'Error al pegar contenido del portapapeles'.
    ENDIF.
    Graba el fichero
    CALL METHOD OF WORDAPP 'ActiveDocument' = DOCUMENT.
    CALL METHOD OF DOCUMENT 'SaveAs' EXPORTING #1 = P_FWOR.
    IF SY-SUBRC NE 0.
    MESSAGE E398(00) WITH 'Error al grabar el nuevo documento'.
    ENDIF.
    Cierra Word
    CALL METHOD OF WORDAPP 'Quit'.
    IF SY-SUBRC NE 0.
    MESSAGE E398(00) WITH 'Error al cerrar Word'.
    ENDIF.
    ENDFORM. " LANZA_WORD
    check this also.................
    By using FM RSPO_RETURN_ABAP_SPOOLJOB you will be able to get the ASCII text of your Spool, which you can download to your local HD and open with M$ Word.
    Check the function module
    CALL FUNCTION 'RSPO_DOWNLOAD_SPOOLJOB'
         EXPORTING
              id    = p_spool
              fname = p_file.
    Give the file extn as .DOC. it will downlaod it as a
    Word doc.But I fear you wont get the table formats and
    all.
    ~~Guduri

  • Convert data to MSWORD, MSEXCEL or PDF

    Hi,
    I have a requirement of sending SAP std report output as an attachment via email. I am thinking of using SUBMIT TO MEMORY or SPOOL and then get the data from there and convert and send as file attachment using SO_DOCUMENT_SEND_API1 or class CL_BCS. The file is required to be sent as MSWORD or MSEXCEL or PDF which can be decided by having a parameter on selection screen..
    But I am not sure on how to convert data after retrieving it back from Memory or spool. There are a few function modules to convert. Can anyone give me the names please in each case like
    For Spool to PDF function CONVERT_ABAPSPOOLJOB_2_PDF can be used
    For Spool to Excel ?
    For Spool to Word ?
    For memory to PDF ?
    For memory to Word ?
    For memory to Excel ?
    Regards,
    Vin

    Hi,
    I just had the same reuirement and i did it few days back . here is the code ...juz modify it accordingly.
    The program will send my ABAP report as a PDF attachment to the USER>
    REPORT  ZRMM0055  NO STANDARD PAGE HEADING
                      MESSAGE-ID ZZ
                      LINE-SIZE 255
                      LINE-COUNT 65.
                        TABLES DECLARATION                               *
    TABLES : MARD,          " Storage Location Data for Material
             MARC,          " Plant Data for Material
             MSEG,
             SSCRFIELDS.    " Fields on selection screens
                       Internal Tables declaration.                      *
    *---Internal Table to hold the MARD table data
    DATA : BEGIN OF IT_MARD OCCURS 0,
           MATNR LIKE MARD-MATNR,          " Material Number
           WERKS LIKE MARD-WERKS,          " Plant
           LGORT LIKE MARD-LGORT,          " Storage Location
           LMINB LIKE MARD-LMINB,          " Reorder Point
           LABST LIKE MARD-LABST,          " Stock at storage loc
           END OF IT_MARD.
    *---Internal table to hold data from MSEG, MKPF, MAKT
    DATA : BEGIN OF IT_MSEG OCCURS 0,
           MATNR LIKE MARD-MATNR,          " Material Number
           WERKS LIKE MARD-WERKS,          " Plant
           LGORT LIKE MARD-LGORT,          " Storage Location
           MENGE LIKE MSEG-MENGE,          " Quantity
           MEINS LIKE MSEG-MEINS,          " UOM
           LIFNR LIKE MSEG-LIFNR,          " Account Number of Vendor
           SHKZG LIKE MSEG-SHKZG,          " Credit/Debit Indicator
           EBELN LIKE EKPO-EBELN,
           MENGE1 LIKE EKPO-MENGE,         " Open PO qty
           EINDT LIKE EKET-EINDT,
           DISPO LIKE MARC-DISPO,          " MRP controller
           EKGRP LIKE MARC-EKGRP,          " Purchasing Group
           MAKTX LIKE MAKT-MAKTX,
           END OF IT_MSEG.
    *----Internal table to hold the data from EKPO and EKET table
    DATA : BEGIN OF IT_EKPO OCCURS 0,
           EBELN LIKE EKPO-EBELN,          " PO document
           EBELP LIKE EKPO-EBELP,          " Item
           MATNR LIKE MARD-MATNR,          " Material Number
           WERKS LIKE MARD-WERKS,          " Plant
           LGORT LIKE MARD-LGORT,          " Storage Location
           MENGE LIKE EKPO-MENGE,          " Quantity
           EINDT LIKE EKET-EINDT,          " Delivery Date
           END OF IT_EKPO.
    *--Internal Table to hold the final data
    DATA : BEGIN OF IT_FINAL OCCURS 0,
           MATNR LIKE MARD-MATNR,          " Material Number
           MAKTX LIKE MAKT-MAKTX,          " Material Description
           LMINB LIKE MARD-LMINB,          " Reorder Point
           MEINS LIKE MSEG-MEINS,          " UOM
           LABST LIKE MARD-LABST,          " On hand inventory at storageloc
           TOT_LABST LIKE MARD-LABST,      " Total On hand at plant
           ISSUE LIKE MSEG-MENGE,          " YTD issue
           RECEIPT LIKE MSEG-MENGE,        " YTD receipts
           DISPO LIKE MARC-DISPO,          " MRP controller
           EKGRP LIKE MARC-EKGRP,          " Purchasing Group
           MENGE LIKE EKPO-MENGE,          " Open PO Quantity
           EINDT LIKE EKET-EINDT,          " Next Delivery Date
           LIFNR LIKE MSEG-LIFNR,          " Vendor
           EBELN LIKE MSEG-EBELN,          " PO number
           END OF IT_FINAL.
    *----Internal table to hold YTD data
    DATA : BEGIN OF IT_YTD OCCURS 0,
           MENGE LIKE MSEG-MENGE,
           MEINS LIKE MSEG-MEINS,
           SHKZG LIKE MSEG-SHKZG,
           END OF IT_YTD.
    DATA : BEGIN OF X_MSEG,
           MBLNR LIKE MSEG-MBLNR,
           MJAHR LIKE MSEG-MJAHR,
           MATNR LIKE MARD-MATNR,          " Material Number
           WERKS LIKE MARD-WERKS,          " Plant
           LGORT LIKE MARD-LGORT,          " Storage Location
           MENGE LIKE MSEG-MENGE,          " Quantity
           MEINS LIKE MSEG-MEINS,          " UOM
           LIFNR LIKE MSEG-LIFNR,          " Account Number of Vendor
           SHKZG LIKE MSEG-SHKZG,          " Credit/Debit Indicator
           EBELN LIKE EKPO-EBELN,
           MENGE1 LIKE EKPO-MENGE,         " Open PO Qty
           EINDT LIKE EKET-EINDT,
           DISPO LIKE MARC-DISPO,          " MRP controller
           EKGRP LIKE MARC-EKGRP,          " Purchasing Group
           MAKTX LIKE MAKT-MAKTX,
           END OF X_MSEG.
    DATA: V_LMINB(16) TYPE C,
          S_LABST(16) TYPE C,
          V_TOT_LABST(16) TYPE C,
          S_ISSUE(16) TYPE C,
          S_RECEIPT(16) TYPE C,
          V_MENGE(16) TYPE C,
          V_EINDT(8) TYPE C.
    DATA: T_PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
                    VARIABLES DECLARATION                                *
    DATA : V_SUM TYPE MSEG-MENGE,      " Variable for adding GI's to Stock
           V_TEMP TYPE MSEG-MENGE,      " Variable for adding GI's to Stock
           V_TABIX TYPE SY-TABIX,      " Loop count
           V_ISSUE LIKE MSEG-MENGE,    " Variable for calculating YTD issues
           V_RECEIPT LIKE MSEG-MENGE,  " Var for Calculating YTD Receipts
           V_LABST LIKE MARD-LABST,    " Var for Total On hand inv at plant
           V_MJAHR LIKE MSEG-MJAHR,    " Variable for holding the Year
           f_color.
    *----Declaration to send Email
    DATA: IT_PDF          LIKE TLINE      OCCURS 10 WITH HEADER LINE,
          IT_XI_PDF       LIKE TLINE      OCCURS 0  WITH HEADER LINE,
          IT_HTML         LIKE SOLISTI1   OCCURS 0  WITH HEADER LINE,
          IT_XI_TEMP      LIKE BAPIQCMIME OCCURS 0  WITH HEADER LINE,
          IT_XI_MIME(255) TYPE C          OCCURS 0  WITH HEADER LINE.
    DATA:
       LS_DOCDATA    TYPE SODOCCHGI1,
       LT_OBJPACK    TYPE TABLE OF SOPCKLSTI1 WITH HEADER LINE,
       LT_OBJHEAD    TYPE TABLE OF SOLISTI1   WITH HEADER LINE,
       LT_OBJTXT     TYPE TABLE OF SOLISTI1   WITH HEADER LINE,
       LT_OBJBIN     TYPE TABLE OF SOLISTI1   WITH HEADER LINE,
       LT_RECLIST    TYPE TABLE OF SOMLRECI1  WITH HEADER LINE,
       LT_LISTOBJECT TYPE TABLE OF ABAPLIST   WITH HEADER LINE,
       LT_LISTOBJECTLN(1000) TYPE C,
       L_TAB_LINES TYPE I,
       L_ATT_TYPE  LIKE SOODK-OBJTP.
    DATA: IT_OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
    Internal table for Single List with Column Length 255
    DATA : IT_OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
    Internal table for Single List with Column Length 255
    DATA : IT_OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
    Internal table for Structure of the API Recipient List
    DATA : IT_RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
    Structure of the API Recipient List
    DATA: X_DOC_CHNG LIKE SODOCCHGI1.
                            SELECTION-SCREEN                             *
    SELECTION-SCREEN BEGIN OF BLOCK S1 WITH FRAME TITLE TEXT-001.
    PARAMETERS:
    P_WERKS  LIKE MARD-WERKS OBLIGATORY.     " Plant
    SELECT-OPTIONS:
    S_BUKRS  for mseg-bukrs,                 " Company  code
    S_LGORT  FOR MARD-LGORT OBLIGATORY,      " Storage Location
    S_MATNR  FOR MARD-MATNR,                 " Material Number
    S_DISPO  FOR MARC-DISPO,                 " MRP Controller
    S_DATE   FOR SY-DATUM DEFAULT SY-DATUM OBLIGATORY.  " Date Range
    SELECTION-SCREEN END OF BLOCK S1.
    SELECTION-SCREEN BEGIN OF BLOCK S2 WITH FRAME TITLE TEXT-002.
    PARAMETERS:
    P_MAIL  TYPE C AS CHECKBOX.                " Mail to user Group
    SELECT-OPTIONS:
    S_UNAME FOR SY-UNAME NO INTERVALS.         " Usergroup id
    SELECTION-SCREEN END OF BLOCK S2.
                         Initialization
    INITIALIZATION.
    AT S E L E C T I O N - S C R E E N
    AT SELECTION-SCREEN.
      CHECK SSCRFIELDS-UCOMM EQ 'ONLI'.
      PERFORM VALIDATE_MAIL.
      PERFORM VALIDATE_DATA.
                        START-OF-SELECTION                               *
    START-OF-SELECTION.
      PERFORM FETCH_DATA.
                         END-OF-SELECTION                                *
    END-OF-SELECTION.
      IF NOT IT_FINAL[] IS INITIAL.
        PERFORM DOWNLOAD_DISPLAY_REPORT.
      ENDIF.
                         TOP-OF-PAGE                                *
    TOP-OF-PAGE.
    PERFORM PAGE_HEADER.
    *&      Form  Fetch_DATA
          Pick data
    FORM FETCH_DATA .
      DATA : V_EBELN LIKE EKPO-EBELN,
             V_EBELP LIKE EKPO-EBELP,
             V_MENGE LIKE EKPO-MENGE,
             V_EINDT LIKE EKET-EINDT,
             V_DISPO LIKE MARC-DISPO,
             V_EKGRP LIKE MARC-EKGRP,
             V_MAKTX LIKE MAKT-MAKTX.
    *----Select data from MARD Table
      SELECT MATNR                  " Material Number
             WERKS                  " Plant
             LGORT                  " Storage Location
             LMINB                  " Reorder Point Level
             LABST                  " Stock with unrestricted use
             INTO TABLE IT_MARD
             FROM MARD
             WHERE MATNR  IN S_MATNR AND
                   WERKS  = P_WERKS . "AND
                  LGORT  IN S_LGORT.
                   D~LMINB <> SPACE .
      IF SY-SUBRC = 0.
        LOOP AT IT_MARD.
          CLEAR : V_EBELN, V_EBELP, V_MENGE, V_EINDT.
    *---select data from EKPO table
          SELECT EBELN
                 EBELP
                 MENGE
                 UP TO 1 ROWS
                 FROM EKPO
                 INTO (V_EBELN, V_EBELP, V_MENGE)
                 WHERE MATNR = IT_MARD-MATNR AND
                       WERKS = IT_MARD-WERKS AND
                       LGORT = IT_MARD-LGORT AND
                       BUKRS IN S_BUKRS AND
                       ELIKZ = SPACE.
          ENDSELECT.
          IF SY-SUBRC = 0.
            X_MSEG-EBELN = V_EBELN.
            X_MSEG-MENGE1 = V_MENGE.
            SELECT EINDT
                   UP TO 1 ROWS
                   FROM EKET
                   INTO V_EINDT
                   WHERE EBELN = V_EBELN AND
                         EBELP = V_EBELP.
            ENDSELECT.
            IF SY-SUBRC = 0.
              X_MSEG-EINDT = V_EINDT.
            ENDIF.
          ENDIF.
    *---Select Data from MARC table.
          CLEAR : V_DISPO, V_EKGRP.
          SELECT DISPO
                 EKGRP
                 UP TO 1 ROWS
                 FROM MARC
                 INTO (V_DISPO, V_EKGRP)
                 WHERE MATNR = IT_MARD-MATNR AND
                       WERKS = IT_MARD-WERKS AND
                       DISPO IN S_DISPO.
          ENDSELECT.
          IF SY-SUBRC = 0.
            X_MSEG-DISPO = V_DISPO.
            X_MSEG-EKGRP = V_EKGRP.
          else.
          continue.
          ENDIF.
    *---select Material Description from MAKT
          CLEAR V_MAKTX.
          SELECT SINGLE MAKTX
                 FROM MAKT
                 INTO V_MAKTX
                 WHERE MATNR = IT_MARD-MATNR AND
                       SPRAS = SY-LANGU.
          IF SY-SUBRC = 0.
            X_MSEG-MAKTX = V_MAKTX.
          ENDIF.
    *----Select data from MSEG Table
          SELECT MBLNR
                 MJAHR
                 MATNR                  " Material Number
                 WERKS                  " Plant
                 LGORT                  " Storage Location
                 MENGE                  " Quantity
                 MEINS                  " UOM
                 LIFNR                  " Account No of Vendor
                 SHKZG                  " Credit/Debit Indicator
                 FROM MSEG
                 INTO X_MSEG
                 WHERE MATNR = IT_MARD-MATNR AND
                       WERKS = IT_MARD-WERKS AND
                       LGORT = IT_MARD-LGORT AND
                       BUKRS IN S_BUKRS.
    *---Subroutine to check whether the document is in the given date range
            PERFORM CHECK_DATE.
          ENDSELECT.
        ENDLOOP.
      ELSE.
        STOP.
      ENDIF.
    *----Select YTD receipts and Issues to date from MSEG
      CLEAR : V_MJAHR, V_ISSUE, V_RECEIPT.
      IF S_DATE[] IS NOT INITIAL.
        V_MJAHR = S_DATE+3(4).
      ELSE.
        V_MJAHR = SY-DATUM+0(4).
      ENDIF.
      SELECT MENGE
             MEINS
             SHKZG
             FROM MSEG
             INTO TABLE IT_YTD
             WHERE WERKS = P_WERKS AND
                   MJAHR = V_MJAHR.
    *--Calculating YTD receipts and Issues
      IF SY-SUBRC = 0.
        LOOP AT IT_YTD.
          IF IT_YTD-SHKZG = 'S'.
            V_ISSUE = V_ISSUE + IT_YTD-MENGE.
          ELSE.
            V_RECEIPT = V_RECEIPT + IT_YTD-MENGE.
          ENDIF.
        ENDLOOP.
        IT_FINAL-ISSUE = V_ISSUE.
        IT_FINAL-RECEIPT = V_RECEIPT.
      ENDIF.
    *-----Logic for printing the material
      LOOP AT IT_MSEG.
        V_TABIX = SY-TABIX.
        AT NEW MATNR.
    *----Logic for calculation of Total On hand inv at plant.
    *---Sum of all MARD-LABST.
          CLEAR V_LABST.
          LOOP AT IT_MARD WHERE MATNR = IT_MSEG-MATNR.
            V_LABST = V_LABST + IT_MARD-LABST.
          ENDLOOP.
          IT_FINAL-TOT_LABST = V_LABST.
        ENDAT.
        AT NEW LGORT.
          CLEAR : V_SUM.
        ENDAT.
        READ TABLE IT_MARD WITH KEY MATNR = IT_MSEG-MATNR
                                    WERKS = IT_MSEG-WERKS
                                    LGORT = IT_MSEG-LGORT.
        IF SY-SUBRC = 0 AND IT_MARD-LMINB > 0.
    *---Logic for adding/Subtracting GR/GI
          IF V_TABIX = 1.
            IF IT_MSEG-SHKZG = 'S'.
              V_TEMP = IT_MARD-LABST + IT_MSEG-MENGE.
            ELSE.
              V_TEMP = IT_MARD-LABST - IT_MSEG-MENGE.
            ENDIF.
          ENDIF.
          IF IT_MARD-LABST < IT_MARD-LMINB.  "Stock < Reorder Point
    *---Check for any goods receipts on the given day. SHKZG = 'S'
            IF IT_MSEG-SHKZG = 'S' .
              IF V_TABIX = 1.
                V_SUM = V_TEMP.
              ELSE.
                V_SUM = V_SUM + IT_MSEG-MENGE.
              ENDIF.
              IF V_SUM < IT_MARD-LMINB.
                IT_FINAL-MATNR = IT_MARD-MATNR.
                IT_FINAL-MAKTX = IT_MSEG-MAKTX.
                IT_FINAL-LMINB = IT_MARD-LMINB.
                IT_FINAL-MEINS = IT_MSEG-MEINS.
                IT_FINAL-LABST = IT_MARD-LABST.
                IT_FINAL-DISPO = IT_MSEG-DISPO.
                IT_FINAL-EKGRP = IT_MSEG-EKGRP.
                IT_FINAL-LIFNR = IT_MSEG-LIFNR.
                IT_FINAL-ISSUE = V_ISSUE.
                IT_FINAL-RECEIPT = V_RECEIPT.
                IT_FINAL-TOT_LABST = V_LABST.
                IT_FINAL-EBELN = IT_MSEG-EBELN.
                IT_FINAL-MENGE = IT_MSEG-MENGE1.
                IT_FINAL-EINDT = IT_MSEG-EINDT.
                APPEND IT_FINAL.
                CLEAR IT_FINAL.
              ENDIF.
            ELSE.
    *--- If there is no Goods receipt mov't type on the given day, then
    *---add all the goods issues to the storage location stock.
    *---Goos Receipt = 'S' , Goods Issue = 'H'.
              IF V_TABIX = 1.
                V_SUM = V_TEMP.
              ELSE.
                V_SUM = V_SUM - IT_MSEG-MENGE.
              ENDIF.
              IF V_SUM < IT_MARD-LMINB.
                IT_FINAL-MATNR = IT_MARD-MATNR.
                IT_FINAL-MAKTX = IT_MSEG-MAKTX.
                IT_FINAL-LMINB = IT_MARD-LMINB.
                IT_FINAL-MEINS = IT_MSEG-MEINS.
                IT_FINAL-LABST = IT_MARD-LABST.
                IT_FINAL-DISPO = IT_MSEG-DISPO.
                IT_FINAL-EKGRP = IT_MSEG-EKGRP.
                IT_FINAL-LIFNR = IT_MSEG-LIFNR.
                IT_FINAL-ISSUE = V_ISSUE.
                IT_FINAL-RECEIPT = V_RECEIPT.
                IT_FINAL-TOT_LABST = V_LABST.
                IT_FINAL-EBELN = IT_MSEG-EBELN.
                IT_FINAL-MENGE = IT_MSEG-MENGE1.
                IT_FINAL-EINDT = IT_MSEG-EINDT.
                APPEND IT_FINAL.
                CLEAR IT_FINAL.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " Fetch_DATA
    *&      Form  check_date
          text
    FORM CHECK_DATE .
      DATA: LV_BLDAT LIKE MKPF-BLDAT.
      SELECT SINGLE BLDAT
             FROM MKPF
             INTO LV_BLDAT
             WHERE MBLNR = X_MSEG-MBLNR AND
                   MJAHR = X_MSEG-MJAHR AND
                   BLDAT IN S_DATE.
      IF SY-SUBRC = 0.
        MOVE : X_MSEG-MATNR TO IT_MSEG-MATNR,
               X_MSEG-WERKS TO IT_MSEG-WERKS,
               X_MSEG-LGORT TO IT_MSEG-LGORT,
               X_MSEG-MENGE TO IT_MSEG-MENGE,
               X_MSEG-MEINS TO IT_MSEG-MEINS,
               X_MSEG-LIFNR TO IT_MSEG-LIFNR,
               X_MSEG-SHKZG TO IT_MSEG-SHKZG,
               X_MSEG-EBELN TO IT_MSEG-EBELN,
               X_MSEG-MENGE1 TO IT_MSEG-MENGE1,
               X_MSEG-EINDT TO IT_MSEG-EINDT,
               X_MSEG-DISPO TO IT_MSEG-DISPO,
               X_MSEG-EKGRP TO IT_MSEG-EKGRP,
               X_MSEG-MAKTX TO IT_MSEG-MAKTX.
        APPEND IT_MSEG.
        CLEAR IT_MSEG.
      ENDIF.
    ENDFORM.                    " check_date
    *&      Form  PAGE_HEADER
         To Print page header and other details
    FORM PAGE_HEADER .                                          "#EC CALLED
    *---Page header
      ULINE AT /1(150).
      FORMAT COLOR COL_BACKGROUND INTENSIFIED ON .
      WRITE:/ 'Run Date:'(t08), SY-DATUM, 50 'Stanley Works'(t07),
             110 'Page No:'(t09), SY-PAGNO LEFT-JUSTIFIED.
      WRITE:/ 'Run Time:'(t10), SY-UZEIT, 47 SY-TITLE, 110 SY-UNAME.
      WRITE:/ 'Source  :'(t11), SY-SYSID, 110 SY-CPROG .
      ULINE AT /1(150).
      WRITE :/1 'Safety Stock Report for Plant :'(t13),P_WERKS.
    ENDFORM.                    "PAGE_HEADER
    *&      Form  VALIDATE_DATA
          Subroutine to Validate selection screen data
    FORM VALIDATE_DATA .
      DATA V_TEMP(20) TYPE C.                                   "#EC NEEDED
    *--Validation for Plant.
      CLEAR V_TEMP.
      SELECT SINGLE WERKS
             INTO V_TEMP
             FROM T001W
             WHERE WERKS = P_WERKS.
      IF SY-SUBRC NE 0.
        MESSAGE E001(ZZ) WITH 'Invalid Plant'(t03).             "#EC *
      ENDIF.
    *--Validation for Storage Location.
      CLEAR V_TEMP.
      IF NOT S_LGORT[] IS INITIAL.
        SELECT LGORT INTO V_TEMP UP TO 1 ROWS
               FROM T001L
               WHERE LGORT IN  S_LGORT.
        ENDSELECT.
        IF SY-SUBRC NE 0.
          MESSAGE E001(ZZ) WITH 'Invalid Storage Location'(t04).
        ENDIF.
      ENDIF.
    *--Validation for Material Number.
      CLEAR V_TEMP.
      IF NOT S_MATNR[] IS INITIAL.
        SELECT MATNR
               INTO V_TEMP
               UP TO 1 ROWS
               FROM MARA
               WHERE MATNR IN S_MATNR.
        ENDSELECT.
        IF SY-SUBRC NE 0.
          MESSAGE E001(ZZ) WITH 'Invalid Material Number'(t05).
        ENDIF.
      ENDIF.
    *--Validation for MRP controller.
      CLEAR V_TEMP.
      IF NOT S_DISPO[] IS INITIAL.
        SELECT  DISPO INTO V_TEMP UP TO 1 ROWS
                FROM T024D
                WHERE DISPO IN S_DISPO.
        ENDSELECT.
        IF SY-SUBRC NE 0.
          MESSAGE E001(ZZ) WITH 'Invalid MRP Controller'(t06).
        ENDIF.
      ENDIF.
    ENDFORM.                    " VALIDATE_DATA
    *&      Form  validate_mail
          Validate user id
    FORM VALIDATE_MAIL .
      IF P_MAIL = 'X' AND S_UNAME[] IS INITIAL.
        MESSAGE E001(ZZ) WITH 'Enter User Mail id'(t01).
      ENDIF.
    ENDFORM.                    " validate_mail
    *&      Form  SEND_MAIL
         Send email to SAP inbox
    FORM SEND_MAIL .
    Structures and internal tables for the send data
      DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2  WITH HEADER LINE,
            OBJHEAD LIKE SOLISTI1   OCCURS 1  WITH HEADER LINE,
            OBJBIN  LIKE SOLISTI1   OCCURS 0  WITH HEADER LINE,
            OBJTXT  LIKE SOLISTI1   OCCURS 10 WITH HEADER LINE,
            RECLIST LIKE SOMLRECI1  OCCURS 5  WITH HEADER LINE.
      DATA: DOC_CHNG LIKE SODOCCHGI1,
            TAB_LINES LIKE SY-TABIX.
    Data for the status output after sending
      DATA: SENT_TO_ALL LIKE SONV-FLAG.
      CLEAR: IT_RECLIST, IT_RECLIST[],
             IT_OBJTXT , IT_OBJTXT[],
             IT_OBJPACK, IT_OBJPACK[],
             IT_OBJBIN , IT_OBJBIN[],X_DOC_CHNG.
      LOOP AT IT_HTML.
        OBJBIN-LINE = IT_HTML-LINE.
        APPEND OBJBIN.
        CLEAR OBJBIN.
      ENDLOOP.
    Create the document which is to be sent
      DOC_CHNG-OBJ_NAME  = 'List'(012).
      DOC_CHNG-OBJ_DESCR = 'Mail'(m05).
    Heading
      OBJTXT-LINE = 'Safety Stock Report attached'(014).
      APPEND OBJTXT.
      CLEAR OBJTXT.
    Size
      DESCRIBE TABLE OBJTXT LINES TAB_LINES.
      READ TABLE OBJTXT INDEX TAB_LINES.
      DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).
    Fill the fields of the packing_list for the main document:
      CLEAR OBJPACK-TRANSF_BIN.
    The document needs no header (head_num = 0)
      OBJPACK-HEAD_START = 1.
      OBJPACK-HEAD_NUM = 0.
    Body
      OBJPACK-BODY_START = 1.
      OBJPACK-BODY_NUM = TAB_LINES.
      OBJPACK-DOC_TYPE = 'RAW'(m02).
      APPEND OBJPACK.
    Create the attachment (the list itself)
      DESCRIBE TABLE OBJBIN LINES TAB_LINES.
    Fill the fields of the packing_list for the attachment:
      OBJPACK-TRANSF_BIN = 'X'.
    Header
      OBJPACK-HEAD_START = 1.
      OBJPACK-HEAD_NUM = 0.
    Body
      OBJPACK-BODY_START = 1.
      OBJPACK-BODY_NUM = TAB_LINES.
      OBJPACK-DOC_TYPE = 'PDF'(m01).
      OBJPACK-OBJ_NAME = 'Attachment'(m03).
      OBJPACK-OBJ_DESCR = 'Mail with pdf Attachment'(018).
      OBJPACK-DOC_SIZE = TAB_LINES * 255.
      APPEND OBJPACK.
    *-Fill the mail recipient list
      LOOP AT S_UNAME.
        RECLIST-RECEIVER = S_UNAME-LOW.
        RECLIST-REC_TYPE = 'B'.
        APPEND RECLIST.
        CLEAR: RECLIST.
      ENDLOOP.
    *-Send the document by calling the SAPoffice API1 module for sending
    *-documents with attachments
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          DOCUMENT_DATA              = DOC_CHNG
          PUT_IN_OUTBOX              = 'X'
          COMMIT_WORK                = 'X'
        IMPORTING
          SENT_TO_ALL                = SENT_TO_ALL
        TABLES
          PACKING_LIST               = OBJPACK
          OBJECT_HEADER              = OBJHEAD
          CONTENTS_BIN               = OBJBIN
          CONTENTS_TXT               = OBJTXT
          RECEIVERS                  = RECLIST
        EXCEPTIONS
          TOO_MANY_RECEIVERS         = 1
          DOCUMENT_NOT_SENT          = 2
          OPERATION_NO_AUTHORIZATION = 4
          OTHERS                     = 99.
      CASE SY-SUBRC .
        WHEN 0.
          MESSAGE s001 WITH 'Mail has been sent successfully'(003).
        WHEN OTHERS.
          MESSAGE s001 WITH 'Problem in sending the mail'(004).
      ENDCASE.
    ENDFORM.                    " SEND_MAIL
    *&      Form  download_display_report
          Download and dispaly report
    FORM DOWNLOAD_DISPLAY_REPORT .
      DATA: X_PARAMS TYPE PRI_PARAMS,
            V_VALID.
      CALL FUNCTION 'GET_PRINT_PARAMETERS'
        EXPORTING
          IMMEDIATELY    = ' '
          LAYOUT         = 'X_65_255'
          NO_DIALOG      = 'X'
        IMPORTING
          OUT_PARAMETERS = X_PARAMS
          VALID          = V_VALID.
      IF V_VALID <> SPACE.
        NEW-PAGE PRINT ON PARAMETERS X_PARAMS NO DIALOG.
        PERFORM DISPLAY_REPORT.
        NEW-PAGE PRINT OFF.
        PERFORM CONV_TO_PDF_DOWNLOAD.
      ENDIF.
      PERFORM DISPLAY_REPORT.
    ENDFORM.                    " download_display_report
    *&      Form  DISPLAY_REPORT
          Display the report
    FORM DISPLAY_REPORT .
    ULINE AT /0(204).
      write:/1 sy-vline no-gap, (10)'Material'(032),
             sy-vline no-gap, (40)'Description'(031),
             sy-vline no-gap, (15)'Reorder pt'(030),
             sy-vline no-gap, (03)'BUn'(029),
             sy-vline no-gap, (13)'OnHandQty'(023),
             sy-vline no-gap, (13)'OnHandPlnt'(024),
             sy-vline no-gap, (13)'YTD issues'(025),
             sy-vline no-gap, (13)'YTD Receipts'(026),
             sy-vline no-gap, (08)'MRPcntrl'(027),
             sy-vline no-gap, (04)'POgrp'(028),
             sy-vline no-gap, (13)'POqty'(019),
             sy-vline no-gap, (10)'NextDelvDt'(020),
             sy-vline no-gap, (10)'Vendor'(021),
             sy-vline no-gap, (10)'PO#'(022),
             sy-vline no-gap.
    ULINE AT /0(204).
    loop at it_final.
      PERFORM COLOR_SWAP.
      write:/1 sy-vline no-gap, (10)it_final-matnr,
             sy-vline no-gap, (40)it_final-maktx,
             sy-vline no-gap, (15)it_final-lminb,     "#EC UOM_IN_MES
             sy-vline no-gap, (03)it_final-meins,
             sy-vline no-gap, (13)it_final-labst,     "#EC UOM_IN_MES
             sy-vline no-gap, (13)it_final-tot_labst, "#EC UOM_IN_MES
             sy-vline no-gap, (13)it_final-issue,     "#EC UOM_IN_MES
             sy-vline no-gap, (13)it_final-receipt,   "#EC UOM_IN_MES
             sy-vline no-gap, (08)it_final-dispo,
             sy-vline no-gap, (04)it_final-ekgrp,
             sy-vline no-gap, (13)it_final-menge,     "#EC UOM_IN_MES
             sy-vline no-gap, (10)it_final-eindt,
             sy-vline no-gap, (10)it_final-lifnr,
             sy-vline no-gap, (10)it_final-ebeln,
             sy-vline no-gap.
    endloop.
    ULINE AT /0(204).
    skip 2.
    WRITE:/ '******End of Report*******'.
    ENDFORM.                    " DISPLAY_REPORT
    *&      Form  CONV_TO_PDF_DOWNLOAD
          Convert to PDF
    FORM CONV_TO_PDF_DOWNLOAD .
      DATA: V_NUMBYTES TYPE I,
            V_SPOOLNO TYPE TSP01-RQIDENT.
      CLEAR   IT_PDF.
      REFRESH IT_PDF.
      WAIT UP TO 2 SECONDS.
      V_SPOOLNO = SY-SPONO.
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
        EXPORTING
          SRC_SPOOLID   = V_SPOOLNO
          NO_DIALOG     = ' '
        IMPORTING
          PDF_BYTECOUNT = V_NUMBYTES
        TABLES
          PDF           = IT_PDF.
      IF SY-SUBRC = 0.    "#EC *
        PERFORM PAGE_FORMAT.
      ENDIF.
    ENDFORM.                    " CONV_TO_PDF_DOWNLOAD
    *&      Form  page_format
       Format the page
    FORM PAGE_FORMAT .
      DATA : L_LINES       TYPE I,
             L_TEMP(500)   TYPE C,
             L_OFFSET      TYPE P,
             L_LINESLEN(2) TYPE P,
             L_MIMELEN(2)  TYPE P,
             L_TABIX       LIKE SY-TABIX.
      CLEAR : IT_XI_PDF,
              IT_XI_TEMP.
      REFRESH : IT_XI_PDF,
                IT_XI_TEMP.
      IT_XI_PDF[] = IT_PDF[].
    Reformat the line to 255 characters wide (code from SAP)
      CLEAR: L_TEMP, L_OFFSET, IT_XI_TEMP.
      DESCRIBE TABLE IT_XI_PDF   LINES  L_LINES.
      DESCRIBE FIELD IT_XI_PDF   LENGTH L_LINESLEN IN CHARACTER MODE.
      DESCRIBE FIELD IT_XI_TEMP  LENGTH L_MIMELEN IN CHARACTER MODE.
      LOOP AT IT_XI_PDF.
        L_TABIX = SY-TABIX.
        MOVE IT_XI_PDF TO L_TEMP+L_OFFSET.
        IF L_TABIX = L_LINES.
          L_LINESLEN = STRLEN( IT_XI_PDF ).
        ENDIF.
        L_OFFSET = L_OFFSET + L_LINESLEN.
        IF L_OFFSET GE L_MIMELEN.
          CLEAR IT_XI_TEMP.
          IT_XI_TEMP = L_TEMP(L_MIMELEN).
          APPEND IT_XI_TEMP.
          SHIFT L_TEMP BY L_MIMELEN PLACES.
          L_OFFSET = L_OFFSET - L_MIMELEN.
        ENDIF.
        IF L_TABIX = L_LINES.
          IF L_OFFSET GT 0.
            CLEAR IT_XI_TEMP.
            IT_XI_TEMP = L_TEMP(L_OFFSET).
            APPEND IT_XI_TEMP.
          ENDIF.
        ENDIF.
      ENDLOOP.
      CLEAR : IT_XI_MIME,
              IT_XI_MIME[].
      LOOP AT IT_XI_TEMP.
        IT_XI_MIME(255) = IT_XI_TEMP-LINE.
        APPEND IT_XI_MIME.
        CLEAR  IT_XI_MIME.
      ENDLOOP.
    Final Data
      CLEAR : IT_HTML,
              IT_HTML[].
      IT_HTML[] = IT_XI_MIME[].
    For sending mail
      PERFORM SEND_MAIL .
    ENDFORM.                    " page_format
    Form        : color_swap
    Description : Subroutine for color
    form color_swap.
    if flag is set
      if f_color eq 'X'.
        clear f_color.
    switch off the intensity
        format color col_normal intensified off.
      else.
    if flag is not set.
        f_color = 'X'.
    switch on the intensity
        format color col_normal intensified on.
      endif.
    endform.                    " color_swap

  • Bizarre solution for OfficeJet Pro K5300 problem when Word docs hang in the print queue spooling

    A bizarre solution to a spooling problem.
    Problem:
    Word documents sent to an HP Officejet Pro K5300 Series printer hang in the print queue, saying “spooling”. They do not print, and cannot even be cancelled.
    Solution (Bizarre Solution).
    The solution that worked for me was to rename the printer by removing the first space after “HP” in the printer’s name. When I did this, Word could then print to the printer. If the space is then re-inserted back into the printer-name then Word is still able to print!! I don’t know how, but it worked, and it worked on two separate installations! The full explanation is below with more options for testing that still need to be explored, or preferably explained by HP and or Microsoft.
    First here is some background. My computer is an IBM NetVista 2.4GHz, P4. It has a 250GB HDD with lots of room and 2GB of RAM. My operating system is Win XP Pro with Service Pack 3. My anti-Virus in Trend Micro Internet Security 2009, updated regularly, (I turned it off while installing the printer software). I use Office Professional 97, with Office SP2b).
    I bought a new HP Officejet Pro K5300 printer.
    I installed the printer software, and followed HP’s directions strictly. I used the installation CD that was supplied by HP. My connection to the printer was USB.
    The installation proceeded uneventfully and I printed a test page after it finished.
    After that I printed a configuration page, then I printed a couple of photographs using Irfan View. The quality was great and I was pleased.
    Then I tried to print a 2-page Word document, using Word 97, but nothing happened. No response from the printer, no error messages, just silence. I clicked on the printer icon on the task bar to look at the print queue and saw that my document was listed as “Spooling”, but it was not making any progress. I waited a couple of minutes but still no progress. I tried canceling it but it would not cancel/delete. The job on the queue would not respond to anything. I could not print it and I could not cancel it. The only way I could recover was to shut down Word, which flushed the queue and lost the job.
    I tried this a few more times but with no success.
    I did a Google search for this problem, and I found a few solutions. I tried them, but none worked. I checked HP’s website and found this problem listed, with some solutions from HP. I tried HP’s solutions, but they did not work either. In fact, when there was a Word document stuck “spooling” in the queue, HP’s diagnostic utility said that it could not even communicate with the printer, and suggested that my USB connection was bad. However, when I flushed the queue by shutting down Word, I could successfully send a Test Page to the printer, and I could print a detailed PDF from Adobe. So Word was the problem, not my USB connection.
    After a pondering this problem over the next few days, and keeping in mind the fact that the default HP printer-name was “HP Officejet Pro K5300 Series”, I remembered that many years ago I could not get an Excel VB macro to select a printer, and print to it, if the printer-name had any spaces in it. I had noticed that the HP default printer name had 4 spaces in it, so I wondered what would happen if I renamed the printer by removing the spaces from its name.
    So I renamed the printer to “HPOfficejetProK5300Series” (no spaces), and voila! Word could now print to it!
    Then I wondered, if it was necessary to remove all of the spaces from the name, or just some of them, to get the printer to work, so I renamed the printer back to it’s default name in 4 stages, at each stage re-inserting one of the original spaces, and testing the printing. At each stage the printer kept successfully printing from Word, until I had re-inserted all four spaces and the printer’s name was back to being identical to the default name that it was installed with, but now it would print from Word on command.
    So why was it that Word could not get the printer to print with the printer’s default installed name, but if I removed all of the spaces from the printer’s name, then re-inserted them, the printer would print from Word every time?
    So I did another test.
    I uninstalled the entire printer software package and installed the updated Full Feature software package, filename “OJProK5X00_Full_8_3.exe”, 159MB download from HP.
    After the package was installed, Word could NOT print to the printer, but other programs like Adobe PDF reader, and Irfan View, could print to it. I tried each software package about three times each, with consistent results.
    I then renamed the printer, but this time I just removed the first space after the letters “HP”, i.e., I changed the printer’s name from “HP Officejet Pro K5300 Series” to “HPOfficejet Pro K5300 Series”. After I did that Word could then print to it. I then changed the printer’s name back to “HP Officejet Pro K5300 Series” by re-inserting the first space, and Word could still print to it now.
    I challenge someone from HP to read this and explain why Word won’t print to this printer until I rename the printer by removing a space, but can still print to it after the space is re-inserted!
    Of course, there is another alternative. Perhaps I could have renamed the printer by removing or changing any of the other characters, instead of the spaces. But each test involves completely uninstalling and re-installing the software, and I have better things to do with my time.
    This question was solved.
    View Solution.

    What an amazing solution!
    I recently purchased an HP Deskjet F4580 and had discovered that when using Word 97, it would print OK when using the Print icon but when trying to print using File->Print->choose page number or current page, Word would crash. Excel, Adobe etc would all print fine. I have spend many hours removing and then reloading the HP software and Office Professional software but this solution fixed the problem in a few minutes. PC is running XP Home SP3.
    Just one thing I would add is that my computer has two accounts - one is the Computer Administrator account and the other is a Limited account. When I took out the space between HP and Deskjet so the printer became HPDeskjet F4500 series, I could then print from the Administrator account using either  the print icon or File->Print->choose page number or current page. When I switched to the Limited account, I would get the same crash when I tried File->Print->choose page number or current page (OK with icon). The Limited account mode does not allow the printer to be re-named.
    I went back to Admin mode, re-classified the Limited account as a Computer Administrator account, logged on to this account and re-named the printer (in this case I took out another space so it became HPDeskjetF4500 series. Then it printed fine using the print icon or using File->Print->choose page number or current page. I then went back to the Computer Administrator account, re-named the printer to HPDeskjet F4500 and re-classified the second account back to Limited account mode. Now printing OK in both Computer Administrator account mode and Limited account mode.
    Thanks again!

  • Converting spool ouput into ms word format

    Dear experts,
    I need to convert a spool request into MS WORD format.
    Can any one show me the right way to do this ?
    With Regards
    Ravishankar Vembu.

    Unfortunately SAP only provide ASCII and PDF conversion from OTF. (look CONVERT_OTF)
    You may check the function module
    CALL FUNCTION 'RSPO_DOWNLOAD_SPOOLJOB'
         EXPORTING
              id    =  id " spool id
              fname = fname " filename with .doc
    But some formatting will be loss.
    Regards

  • 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

  • Converting spool output to MS Word format

    Is there any way to convert the SAP Script output to MS word format (like how we convert it into PDF) ?
    Regards,
    Dinu

    Hi,
      Try with fm CONVERT_TEXT, you may go thro' the following link,
    http://help.sap.com/saphelp_erp2004/helpdata/en/d6/0dba8f494511d182b70000e829fbfe/frameset.htm
    Hope this helps,
    Rgds,

  • Send Word / Excel / PPF to Spool

    Hy there,
    I need to create a Smartform to send via email with the PO as an attachement in PDF format, and that, i can do. No problem.
    But.....in the EBP system you can add attachements to the PO in Word, Excel, PPF format, and i need to send this files as an attachement too, i have the name and url of file but i can´t add them.
    Thanks..

    Dear Nuno:
    Is very dificult to make and Excel or Word File to send by e-mail. You just have to test and develop, take any of these function module's:
    SX_OBJECT_CONVERT_ALI_HTM
    SX_OBJECT_CONVERT_ALI_PRT
    SX_OBJECT_CONVERT_ALI_RAW
    SX_OBJECT_CONVERT_INT_RAW
    SX_OBJECT_CONVERT_OBJ_R3O
    SX_OBJECT_CONVERT_OTF_PDF
    SX_OBJECT_CONVERT_OTF_PRT
    SX_OBJECT_CONVERT_OTF_RAW
    SX_OBJECT_CONVERT_RAW_SCR
    SX_OBJECT_CONVERT_SCR_OTF
    SX_OBJECT_CONVERT_TO_AFX 
    SX_OBJECT_CONVERT_TXT_INT
    Good luck.
    Saludos,
    Mariano.

  • HP Laserjet Pro CM 1415fn crashes and spooler service stops

    Hi Guys, 
    Please assist. I have an HP Laserjet Pro CM1415fn multifunction printer installed on an XP OS. Recently the printer started to print giberish when I tried to print from any application (word, notepad, wordpad, image and fax viewer etc). I also noticed a popoup error message - Run a DLL as an App error. I unistalled the printer software and drivers and restarted, this after running a scan with malware bytes (no detections), and I was unable to get the printer to re-installed after. I keep getting a RPC service not found and Spooler subsystem App has encountered a problem and needs to close. I have checked that all services are running, but nothing is working. After much prodding and poking, I eventually noticed that all errors are directly associated with hppccompio.dll. Even explorer crashes when I try to access printer properties. What should I do? I hope ifnormation was sufficient enough. Also, printer is connected via USB.

    Hi Opp1,
    Welcome to the HP Forums, I hope you enjoy your experience!
    I understand you are unable to reinstall the printer software.
    I will be happy to help you.
    The print spooler is part of the Windows operating system and if it doesn't stay running the printer software won't install or print.
    You could try the following steps to see if this will resolve the issue.
    Normally with spooler problems the first thing to do is to clear the print queue.
    Open a Run window (Windows Logo key+R), type cmd and press Enter.
    Now type these commands, which are in capitals for clarity:
    NET STOP SPOOLER and press Enter
    DEL %SYSTEMROOT%\SYSTEM32\SPOOL\PRINTERS\*.* and press Enter
    NET START SPOOLER and press Enter
    EXIT and press Enter
    If you are still having issues with the print spooler stopped then right click on the start button, left click on explore, open the windows folder, open system32 folder, open the spool folder, open the printer's folder, then delete everything on the right window.
    Then go back and try and start the print spooler again.
    Run a full uninstall of the printer software. Disconnect the USB cable.
    To uninstall from CD:
    Go start and select computer.
    Right click on the CD for the printer and left click open in a new window.
    Double click on uninstall.
    Uninstall printer from the C Drive.
    Go to start, computer, c:, windows, program files or program files x86, HP, printer name. Double click uninstall. Restart the computer.
    Check to make sure the print spooler is running.
    Ran the installation again. Don't connect the USB cable until prompted.
    If the print spooler stops again you will need to contact the computer manufacturer to resolve this issue.
    Hope this helps.
    Thank you for posting on the HP Forums.
    Have a great weekend!
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    Click the “Kudos Thumbs Up" on the right to say “Thanks” for helping!
    Gemini02
    I work on behalf of HP

  • How to run report in background, save output to word or excel

    Hello all,
    I have a huge report that needs to be run in background and I need the report in word. When running in Dialog it takes too long and SAP times out. How do you get something to run in background and have the output in excel. I know you can go into SM37, find the spool and then forward the spool request to a local file, is there an easier way to do it? Maybe setting up some kind of to text printer since the background job always asks for the output printer. Any suggestions?
    Thanks a lot,
    Sergiy

    Hi,
    Please check the article below:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f048c590-31a4-2c10-8599-bd01fabb93d4?quicklink=index&overridelayout=true
    -Vikram

  • Print the job from the spool in abtch mode

    I want to be able to print a job from the spool in batch mode. In other words a job currently exists that creates a report that currently goes to a printer.
    The user wants the report to print on two different printers. This extra printer cannot be placed in the job, since SAP only allows one printer per output. What I would like is to find a SAP program that would accept a spool name and a printer destination. It necessary we can write a program that might execute a SAP function to do the same.
    SP01, the spool transaction, does not easily adapt itself to batch execution. I donu2019t want to create a bdc session using it.

    Hi,
    If the domain of these fields are of type SYTIME, then adding the fields like a numeric value should suffice.

Maybe you are looking for

  • Material wise bifurcation in FBL5N

    Dear All Our Requirement: We want the report FBL5N (open item) to be displayed on the basis of Materials (on the basis of the open item as on date and customer provide in the initial screen). We are able to pull the material no against the each custo

  • View track title in collapsed track in Premiere Pro CC

    Premiere Pro CC on a Mac. Is there a way to be able to view the title of a track when it's collapsed?  Right now the only thing i can figure out is to expand it enough to be able to see the title I've given it which kind of stinks when there are a bu

  • Can't sync after effects cc

    Hello, on my PC, when i sync, i upload paramters. on my mac, i download parameters, and then he ask me to reload app. But when i start up after again, nothing change. There is no sync whith new parameters. It's working with media enc, but not with af

  • No keylight in Adobe After Effects CS4 ?

    hey I can't find the keylight in Adobe After Effects CS4.  not under "keying" and not when I search for it in the effects search input. where can I find it? or how and where can download the plugin in order to install it ? thnaks

  • HT1369 dO I HAVE TO RUN THE WIFI CONFIGUATION BEFORE SYNCING MY IPAD TO ITUNES ON THE PC?

    I cannot setup my wifi connection at my home. Therefore instillation cannot complete. Does that mean i cant sync it with my pc.