How to send generated Spool file through e-mail

Hi,
We have a ABAP report which generates a spool file. Now there is a requirement to send this spool file to our clients external mail boxes.
Also we would like to automate this so that whenever a spool file is generated, the system should automatically send it as an attachment to user mail inboxes.
Any idea how I can achieve this. Thanks is advance!
Regards,
Vikrant.

Hi Vikrant,
   Have a look at this code...
z_send_email_fax_global
FUNCTION-POOL z_gfaian_mail_fax.            "MESSAGE-ID ..
WORK TABLE AREAS
TABLES: tsp01.
INTERNAL TABLES
DATA: lt_rec_tab LIKE STANDARD TABLE OF soos1 WITH HEADER LINE,
      lt_note_text   LIKE STANDARD TABLE OF soli  WITH HEADER LINE,
      lt_attachments LIKE STANDARD TABLE OF sood5 WITH HEADER LINE.
DATA: lt_objcont LIKE STANDARD TABLE OF soli WITH HEADER LINE,
      lt_objhead LIKE STANDARD TABLE OF soli WITH HEADER LINE.
DATA: pdf_format LIKE STANDARD TABLE OF tline WITH HEADER LINE.
TYPES: BEGIN OF y_files,
       file(60) TYPE c,
       END OF y_files.
DATA: lt_files TYPE STANDARD TABLE OF y_files WITH HEADER LINE.
DATA: l_objcont     LIKE soli OCCURS 0 WITH HEADER LINE.
DATA: l_objhead     LIKE soli OCCURS 0 WITH HEADER LINE.
STRUCTURES
DATA: folder_id      LIKE soodk,
      object_id      LIKE soodk,
      link_folder_id LIKE soodk,
      g_document     LIKE sood4,
     g_header_data  LIKE sood2,
      g_folmem_data  LIKE sofm2,
      g_header_data  LIKE sood2,
      g_receive_data LIKE soos6,
      g_ref_document LIKE sood4,
      g_new_parent   LIKE soodk,
      l_folder_id    LIKE sofdk,
      v_email(50).
DATA: hd_dat  like sood1.
VARIABLES
DATA: client  LIKE tst01-dclient,
      name    LIKE tst01-dname,
      objtype LIKE rststype-type,
      type    LIKE rststype-type.
DATA: numbytes TYPE i,
      arc_idx LIKE toa_dara,
      pdfspoolid LIKE tsp01-rqident,
      jobname LIKE tbtcjob-jobname,
      jobcount LIKE tbtcjob-jobcount,
      is_otf.
DATA: outbox_flag LIKE sonv-flag VALUE 'X',
      store_flag  LIKE sonv-flag,
      delete_flag LIKE sonv-flag,
      owner       LIKE soud-usrnam,
      on          LIKE sonv-flag VALUE 'X',
      sent_to_all LIKE sonv-flag,
      g_authority LIKE sofa-usracc,
      w_objdes    LIKE sood4-objdes.
DATA: c_file LIKE rlgrap-filename,
      n_spool(6) TYPE n.
DATA: cancel.
DATA: desired_type  LIKE sood-objtp,
      real_type LIKE sood-objtp,
      attach_type LIKE sood-objtp,
      otf LIKE sood-objtp VALUE 'OTF', " SAPscript Ausgabeformat
      ali LIKE sood-objtp VALUE 'ALI'. " ABAP lists
CONSTANTS
CONSTANTS: ou_fol LIKE sofh-folrg              VALUE 'O',
           c_objtp    LIKE g_document-objtp    VALUE 'RAW',
           c_file_ext LIKE g_document-file_ext VALUE 'TXT'.
=================================================================================
z_send_email_fax2
FUNCTION z_faian_mail_fax2.
""Interface local:
*"  IMPORTING
*"     REFERENCE(SRC_SPOOLID) LIKE  TSP01-RQIDENT
*"     REFERENCE(FAX_MAIL_NUMBER) TYPE  SO_NAME
*"     REFERENCE(HEADER_MAIL) TYPE  SO_OBJ_DES
*"     REFERENCE(OBJECT_TYPE) TYPE  SO_ESCAPE
*"  TABLES
*"      LT_BODY_EMAIL STRUCTURE  SOLI
*"  EXCEPTIONS
*"      ERR_NO_ABAP_SPOOLJOB
Fist part: Verify if the spool really exists
  SELECT SINGLE * FROM tsp01 WHERE rqident = src_spoolid.
  IF sy-subrc NE 0.
    RAISE err_no_abap_spooljob. "doesn't exist
  ELSE.
    client = tsp01-rqclient.
    name   = tsp01-rqo1name.
    CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
         EXPORTING
              authority     = 'SP01'
              client        = client
              name          = name
              part          = 1
         IMPORTING
              type          = type
              objtype       = objtype
         EXCEPTIONS
              fb_error      = 1
              fb_rsts_other = 2
              no_object     = 3
              no_permission = 4
              OTHERS        = 5.
    IF objtype(3) = 'OTF'.
      desired_type = otf.
    ELSE.
      desired_type = ali.
    ENDIF.
    CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
         EXPORTING
              rqident              = src_spoolid
              desired_type         = desired_type
         IMPORTING
              real_type            = real_type
         TABLES
              buffer               = l_objcont
         EXCEPTIONS
              no_such_job          = 14
              type_no_match        = 94
              job_contains_no_data = 54
              no_permission        = 21
              can_not_access       = 21
              read_error           = 54.
    IF sy-subrc EQ 0.
      attach_type = real_type.
    ENDIF.
    CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
         EXPORTING
              owner     = sy-uname
              region    = ou_fol
         IMPORTING
              folder_id = l_folder_id
         EXCEPTIONS
              OTHERS    = 5.
fill out informations about the header of the email
    CLEAR: g_document.
    g_document-foltp     = l_folder_id-foltp.
    g_document-folyr     = l_folder_id-folyr.
    g_document-folno     = l_folder_id-folno.
    g_document-objtp     = c_objtp.
    g_document-objdes    = header_mail.
    g_document-file_ext  = c_file_ext.
    g_header_data-objdes    = header_mail.
    CALL FUNCTION 'SO_DOCUMENT_REPOSITORY_MANAGER'
         EXPORTING
              method      = 'SAVE'
              office_user = sy-uname
         IMPORTING
              authority   = g_authority
         TABLES
              objcont     = lt_body_email
              attachments = lt_attachments
         CHANGING
              document    = g_document
              header_data = g_header_data
         EXCEPTIONS
              OTHERS      = 1.
    folder_id-objtp = l_folder_id-foltp.
    folder_id-objyr = l_folder_id-folyr.
    folder_id-objno = l_folder_id-folno.
    object_id-objtp = c_objtp.
    object_id-objyr = g_document-objyr.
    object_id-objno = g_document-objno.
    link_folder_id-objtp = l_folder_id-foltp.
    link_folder_id-objyr = l_folder_id-folyr.
    link_folder_id-objno = l_folder_id-folno.
    REFRESH lt_rec_tab.
   CLEAR lt_rec_tab.
   lt_rec_tab-sel        = 'X'.
   lt_rec_tab-recesc     = object_type.   "This field for FAX/MAIL
   lt_rec_tab-recnam     = 'U-'.
   lt_rec_tab-deliver    = 'X'.
   lt_rec_tab-not_deli   = 'X'.
   lt_rec_tab-read       = 'X'.
   lt_rec_tab-mailstatus = 'E'.
   lt_rec_tab-adr_name   = fax_mail_number.
   lt_rec_tab-sortfield  = fax_mail_number.
   lt_rec_tab-recextnam  = fax_mail_number.
   lt_rec_tab-sortclass  = '5'.
   APPEND lt_rec_tab.
      lt_rec_tab-recextnam = fax_mail_number.
      lt_rec_tab-recesc = object_type.
      lt_rec_tab-sndart = 'INT'.
      lt_rec_tab-sndpri = 1.
      APPEND lt_rec_tab.
    lt_files-file = c_file.
    APPEND lt_files.
begin of insertion by faianf01
    hd_dat-objdes = header_mail.
    CALL FUNCTION 'SO_ATTACHMENT_INSERT'
         EXPORTING
              object_id                  = object_id
              attach_type                = attach_type
              object_hd_change           = hd_dat
              owner                      = sy-uname
         TABLES
              objcont                    = l_objcont
              objhead                    = l_objhead
         EXCEPTIONS
              active_user_not_exist      = 35
              communication_failure      = 71
              object_type_not_exist      = 17
              operation_no_authorization = 21
              owner_not_exist            = 22
              parameter_error            = 23
              substitute_not_active      = 31
              substitute_not_defined     = 32
              system_failure             = 72
              x_error                    = 1000.
    IF sy-subrc > 0.
    ENDIF.
end of insertion by faianf01
send email from SAPOFFICE
    CALL FUNCTION 'SO_OBJECT_SEND'
         EXPORTING
              folder_id                  = folder_id
              object_id                  = object_id
              outbox_flag                = outbox_flag
              link_folder_id             = link_folder_id
              owner                      = sy-uname
             check_send_authority       = 'X'
         TABLES
              receivers                  = lt_rec_tab
             note_text                  = lt_note_text
         EXCEPTIONS
              active_user_not_exist      = 35
              communication_failure      = 71
              component_not_available    = 1
              folder_no_authorization    = 5
              folder_not_exist           = 6
              forwarder_not_exist        = 8
              object_no_authorization    = 13
              object_not_exist           = 14
              object_not_sent            = 15
              operation_no_authorization = 21
              owner_not_exist            = 22
              parameter_error            = 23
              substitute_not_active      = 31
              substitute_not_defined     = 32
              system_failure             = 72
              too_much_receivers         = 73
              user_not_exist             = 35.
  ENDIF.
ENDFUNCTION.
=================================================================================
z_send_email_fax
FUNCTION ZCBFS_SEND_MAIL.
""Interface local:
*"  IMPORTING
*"     REFERENCE(SRC_SPOOLID) LIKE  TSP01-RQIDENT
*"     REFERENCE(HEADER_MAIL) TYPE  SO_OBJ_DES
*"  TABLES
*"      LIST_FAX_MAIL_NUMBER STRUCTURE  SOLI
*"  EXCEPTIONS
*"      ERR_NO_ABAP_SPOOLJOB
  DATA: vg_achou(1) TYPE n.
Fist part: Verify if the spool really exists
  vg_achou = 1.
  DO 60 TIMES.
    SELECT SINGLE * FROM tsp01 WHERE rqident = src_spoolid.
    IF sy-subrc IS INITIAL.
      CLEAR vg_achou.
      EXIT.
    ELSE.
      WAIT UP TO 1 SECONDS.
    ENDIF.
  ENDDO.
  IF vg_achou = 1.
    RAISE err_no_abap_spooljob. "doesn't exist
  ENDIF.
  client = tsp01-rqclient.
  name   = tsp01-rqo1name.
  CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
       EXPORTING
            authority     = 'SP01'
            client        = client
            name          = name
            part          = 1
       IMPORTING
            type          = type
            objtype       = objtype
       EXCEPTIONS
            fb_error      = 1
            fb_rsts_other = 2
            no_object     = 3
            no_permission = 4
            OTHERS        = 5.
  IF objtype(3) = 'OTF'.
    desired_type = otf.
  ELSE.
    desired_type = ali.
  ENDIF.
  CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
       EXPORTING
            rqident              = src_spoolid
            desired_type         = desired_type
       IMPORTING
            real_type            = real_type
       TABLES
            buffer               = l_objcont
       EXCEPTIONS
            no_such_job          = 14
            type_no_match        = 94
            job_contains_no_data = 54
            no_permission        = 21
            can_not_access       = 21
            read_error           = 54.
  IF sy-subrc EQ 0.
    attach_type = real_type.
  ENDIF.
  CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
       EXPORTING
            owner     = sy-uname
            region    = ou_fol
       IMPORTING
            folder_id = l_folder_id
       EXCEPTIONS
            OTHERS    = 5.
fill out informations about the header of the email
  CLEAR: g_document.
  g_document-foltp     = l_folder_id-foltp.
  g_document-folyr     = l_folder_id-folyr.
  g_document-folno     = l_folder_id-folno.
  g_document-objtp     = c_objtp.
  g_document-objdes    = header_mail.
  g_document-file_ext  = c_file_ext.
  g_header_data-objdes    = header_mail.
  CALL FUNCTION 'SO_DOCUMENT_REPOSITORY_MANAGER'
       EXPORTING
            method      = 'SAVE'
            office_user = sy-uname
       IMPORTING
            authority   = g_authority
       TABLES
            attachments = lt_attachments
       CHANGING
            document    = g_document
            header_data = g_header_data
       EXCEPTIONS
            OTHERS      = 1.
  folder_id-objtp = l_folder_id-foltp.
  folder_id-objyr = l_folder_id-folyr.
  folder_id-objno = l_folder_id-folno.
  object_id-objtp = c_objtp.
  object_id-objyr = g_document-objyr.
  object_id-objno = g_document-objno.
  link_folder_id-objtp = l_folder_id-foltp.
  link_folder_id-objyr = l_folder_id-folyr.
  link_folder_id-objno = l_folder_id-folno.
  REFRESH lt_rec_tab.
  LOOP AT LIST_FAX_MAIL_NUMBER.
    lt_rec_tab-recextnam = LIST_FAX_MAIL_NUMBER-LINE.
    lt_rec_tab-recesc = 'U'.
    lt_rec_tab-sndart = 'INT'.
    lt_rec_tab-sndpri = 1.
    APPEND lt_rec_tab.
  ENDLOOP.
  lt_files-file = c_file.
  APPEND lt_files.
  hd_dat-objdes = header_mail.
  CALL FUNCTION 'SO_ATTACHMENT_INSERT'
       EXPORTING
            object_id                  = object_id
            attach_type                = attach_type
            object_hd_change           = hd_dat
            owner                      = sy-uname
       TABLES
            objcont                    = l_objcont
            objhead                    = l_objhead
       EXCEPTIONS
            active_user_not_exist      = 35
            communication_failure      = 71
            object_type_not_exist      = 17
            operation_no_authorization = 21
            owner_not_exist            = 22
            parameter_error            = 23
            substitute_not_active      = 31
            substitute_not_defined     = 32
            system_failure             = 72
            x_error                    = 1000.
  IF sy-subrc > 0.
  ENDIF.
send email from SAPOFFICE
  CALL FUNCTION 'SO_OBJECT_SEND'
       EXPORTING
            folder_id                  = folder_id
            object_id                  = object_id
            outbox_flag                = outbox_flag
            link_folder_id             = link_folder_id
            owner                      = sy-uname
       TABLES
            receivers                  = lt_rec_tab
            note_text                  = lt_note_text
       EXCEPTIONS
            active_user_not_exist      = 35
            communication_failure      = 71
            component_not_available    = 1
            folder_no_authorization    = 5
            folder_not_exist           = 6
            forwarder_not_exist        = 8
            object_no_authorization    = 13
            object_not_exist           = 14
            object_not_sent            = 15
            operation_no_authorization = 21
            owner_not_exist            = 22
            parameter_error            = 23
            substitute_not_active      = 31
            substitute_not_defined     = 32
            system_failure             = 72
            too_much_receivers         = 73
            user_not_exist             = 35.
ENDFUNCTION.
Regards,
Santosh

Similar Messages

  • How to Send a .txt file through FTPTARGET connector of Integration Broker

    Hi,
    Is it possible to send a .txt file(infact anyfile other than xml format) to a host server using FTP Target connector of Integration Broker. If so can someone explain the steps to achieve it.
    Regards,
    Uday

    Yes, you can do that. I've done exactly that couple years ago.
    If I remember currently, below is a high level of how I did it.
    Read the file you want to send into the buffer using GetString function like:
    +/*A single string containing the entire contents of the file including line terminator.+
    +     After this method completes successfully, the temp file is deleted.*/+
    +&FileData = &FiletoRead.GetString();+
    The function deletes the file so I had to create a temp copy of what i want to send and read that copy instead of the original file. Also, IB will have issues if you are trying to send an empty file. so i did a basic check, if the file is empty then put something in it.
    rem -- IB message will fail if we are trying to send an empty file;
    If None(&FileData) Or
    +&FileData = "" Or+
    +&FileData = " " Then+
    MessageBox(0, "", 0, 0, ("File " | &sTargetFileName | " is empty."));
    +&FileData = "No Data Found!";+
    End-If;
    Next, you need to load the file data that are now in &FileData to IB:
    +&MSG = CreateMessage(@&sServiceOperation);+
    +/* Generate the XML doc. */+
    +&dFtp = CreateXmlDoc("");+
    rem -- &bReturn = &dFtp.LoadIBContent("Some text inside of a file to send through IB!");
    +&bReturn = &dFtp.LoadIBContent(&FileData);+
    Then put XML into the message and publish it:
    +/*put the XML in the message*/+
    +&MSG.SetXmlDoc(&dFtp);+
    +%IntBroker.Publish(&MSG);+
    You might need to load some IBConnectorInfo and override them using your PC. I had to do that to get the password for the FTP transmission encrypted:
    /* Encrypt the password */
    &pscipher = CreateJavaObject("com.peoplesoft.pt.integrationgateway.common.EncryptPassword");
    &encPassword = &pscipher.encryptPassword(&sPassword);
    &pscipher = Null;
    Good luck and hope this helps.

  • How to send existing excel file through mail

    Hello Friends,
    I have to send mail with Excel File attachement. i have already exist Excel file and that file i hv to send through mail. so pl help me out for sending existing excel file .
    i.e. user pickup the exist excel file and that file would be sent to particular mail id.
    thank you,
    Marmik

    Hi marmik,
    1. There is some trick involved
    in the binary files.
    2. I have made a program (and it works fantastic)
    ONLY 6 LINES FOR EMAILING
    BELIEVE ME
    ITS A FANTASTIC PROGRAM.
    IT WILL WORK LIKE OUTLOOK EXPRESS !
    3. The user is provided with
    a) file name
    b) email address to send mail
    and it sends ANY FILE (.xls,.pdf .xyz..)
    Instantaneously !
    4. Make two things first :
    1. Include with the name : ZAMI_INCLFOR_MAIL
    2. Report with the name : ZAM_TEMP147 (any name will do)
    3. Activate both and execute (2)
    4. After providing filename, email adress
    5. Code for Include :
    10.08.2005 Amit M - Created
    Include For Mail (First Req F16)
    Modification Log
    Data
    DATA: docdata LIKE sodocchgi1,
    objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
    objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
    objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objhex LIKE solix OCCURS 10 WITH HEADER LINE,
    reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
    DATA: tab_lines TYPE i,
    doc_size TYPE i,
    att_type LIKE soodk-objtp.
    DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
    FORM
    FORM ml_customize USING objname objdesc.
    Clear Variables
    CLEAR docdata.
    REFRESH objpack.
    CLEAR objpack.
    REFRESH objhead.
    REFRESH objtxt.
    CLEAR objtxt.
    REFRESH objbin.
    CLEAR objbin.
    REFRESH objhex.
    CLEAR objhex.
    REFRESH reclist.
    CLEAR reclist.
    REFRESH listobject.
    CLEAR listobject.
    CLEAR tab_lines.
    CLEAR doc_size.
    CLEAR att_type.
    Set Variables
    docdata-obj_name = objname.
    docdata-obj_descr = objdesc.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addrecp USING preceiver prec_type.
    CLEAR reclist.
    reclist-receiver = preceiver.
    reclist-rec_type = prec_type.
    APPEND reclist.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addtxt USING ptxt.
    CLEAR objtxt.
    objtxt = ptxt.
    APPEND objtxt.
    ENDFORM. "ml_customize
    FORM
    FORM ml_prepare USING bypassmemory whatatt_type whatname.
    IF bypassmemory = ''.
    Fetch List From Memory
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = listobject
    EXCEPTIONS
    OTHERS = 1.
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'LIST_FROM_MEMORY'.
    ENDIF.
    CALL FUNCTION 'TABLE_COMPRESS'
    IMPORTING
    COMPRESSED_SIZE =
    TABLES
    in = listobject
    out = objbin
    EXCEPTIONS
    OTHERS = 1
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'TABLE_COMPRESS'.
    ENDIF.
    ENDIF.
    Header Data
    Already Done Thru FM
    Main Text
    Already Done Thru FM
    Packing Info For Text Data
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'TXT'.
    APPEND objpack.
    Packing Info Attachment
    att_type = whatatt_type..
    DESCRIBE TABLE objbin LINES tab_lines.
    READ TABLE objbin INDEX tab_lines.
    objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = att_type.
    objpack-obj_name = 'ATTACHMENT'.
    objpack-obj_descr = whatname.
    APPEND objpack.
    Receiver List
    Already done thru fm
    ENDFORM. "ml_prepare
    FORM
    FORM ml_dosend.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = docdata
    put_in_outbox = 'X'
    commit_work = 'X' "used from rel. 6.10
    IMPORTING
    SENT_TO_ALL =
    NEW_OBJECT_ID =
    TABLES
    packing_list = objpack
    object_header = objhead
    contents_bin = objbin
    contents_txt = objtxt
    CONTENTS_HEX = objhex
    OBJECT_PARA =
    object_parb =
    receivers = reclist
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    OTHERS = 8
    IF sy-subrc <> 0.
    MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
    WITH docdata-obj_name.
    ENDIF.
    ENDFORM. "ml_customize
    FORM
    FORM ml_spooltopdf USING whatspoolid.
    DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.
    Call Function
    CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
    EXPORTING
    src_spoolid = whatspoolid
    TABLES
    pdf = pdf
    EXCEPTIONS
    err_no_otf_spooljob = 1
    OTHERS = 12.
    Convert
    PERFORM doconv TABLES pdf objbin.
    ENDFORM. "ml_spooltopdf
    FORM
    FORM doconv TABLES
    mypdf STRUCTURE tline
    outbin STRUCTURE solisti1.
    Data
    DATA : pos TYPE i.
    DATA : len TYPE i.
    Loop And Put Data
    LOOP AT mypdf.
    pos = 255 - len.
    IF pos > 134. "length of pdf_table
    pos = 134.
    ENDIF.
    outbin+len = mypdf(pos).
    len = len + pos.
    IF len = 255. "length of out (contents_bin)
    APPEND outbin.
    CLEAR: outbin, len.
    IF pos < 134.
    outbin = mypdf+pos.
    len = 134 - pos.
    ENDIF.
    ENDIF.
    ENDLOOP.
    IF len > 0.
    APPEND outbin.
    ENDIF.
    ENDFORM. "doconv
    CODE FOR PROGRAM
    5.
    REPORT zam_temp147 .
    INCLUDE zami_inclfor_mail.
    DATA
    DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA : file_name TYPE string.
    data : path like PCFILE-PATH.
    data : extension(5) type c.
    data : name(100) type c.
    SELECTION SCREEN
    PARAMETERS : receiver TYPE somlreci1-receiver lower case.
    PARAMETERS : p_file LIKE rlgrap-filename
    OBLIGATORY.
    AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CLEAR p_file.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    file_name = p_file.
    START-OF-SELECTION
    START-OF-SELECTION.
    PERFORM ml_customize USING 'Tst' 'Testing'.
    PERFORM ml_addrecp USING receiver 'U'.
    PERFORM upl.
    PERFORM doconv TABLES itab objbin.
    PERFORM ml_prepare USING 'X' extension name.
    PERFORM ml_dosend.
    SUBMIT rsconn01
    WITH mode EQ 'INT'
    AND RETURN.
    FORM
    FORM upl.
    file_name = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = file_name
    filetype = 'BIN'
    TABLES
    data_tab = itab
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17.
    path = file_name.
    CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
    EXPORTING
    complete_filename = path
    CHECK_DOS_FORMAT =
    IMPORTING
    DRIVE =
    EXTENSION = extension
    NAME = name
    NAME_WITH_EXT =
    PATH =
    EXCEPTIONS
    INVALID_DRIVE = 1
    INVALID_EXTENSION = 2
    INVALID_NAME = 3
    INVALID_PATH = 4
    OTHERS = 5
    ENDFORM. "upl
    regards,
    amit m.

  • How can I generate spool files in tmp extension instead of SHD and SPL ?

    Hello,
    It´s a simple question, I Have some problems with SHD and SPL files that are generated in some desktops when someone want printing something.
    In others desktops that generated TMP files, I can print quickly and without problems!
    How I make this configuration to turn the extension files? I need some configuration ?
    Thanks a bunch if someone may help me!

    It works - thanks so much! Note if others have this issue, you may think it's not working - you'll still get the same pop-up box with only two options - "open" or "save". However, when you click "save", it then gives you the option where you'd like to save it to.

  • Difficulty sending attached wProjector files through e-mail

    Does anybody know why the "exe" in wProjector.exe files are deemed to be "Illegal" by the Web Postmaster?
    I tried to send one attached to an e-mail this afternoon and it was returned. Need help!

    exe (executable) files are probably the highest on the list of files that can carry viruses or otherwise do malicious damage to the machines they land in during their travels.
    exe files generally run by doubleclicking them,  without the need for supporting software.  Years ago, people with malicious tendencies would have viral exe files attached to emails which baited/misled the recipient into opening the file (running it by simply clicking it)

  • How to send a text file to a printer?

    Hi, I'm in dark on how to send a text file to a printer through Java Stored Procedure.
    Here are what I tried so far (OS: win 2000, Oracle: 817 or 9i2):
    1, Enable DOS command in Java Stored Proc. and try to send PRINT command there:
    public static String Run(String Command){
    try{
    Runtime.getRuntime().exec(Command);
    System.out.println("Command: " + Command);
    return("0");
    catch (Exception e){
    System.out.println("Error running command: " + Command +
    "\n" + e.getMessage());
    return(e.getMessage());
    public static void main(String args[]){
    if (args.length == 1)
    Run("print /D:\\\\enterprise\\john " + args[0]);
    else System.out.println("Usage: java OSCommand filename");
    PL/SQL wrapper:
    CREATE OR REPLACE FUNCTION OSCommand_Run(p1 IN VARCHAR2) RETURN VARCHAR2 AUTHID CURRENT_USER AS LANGUAGE JAVA NAME 'OSCommand.Run(java.lang.String) return java.lang.String';
    SQL command:
    //print /D:\\machine\printer test.txt
    I loaded the Java Stored Procedure into SYSDBS account, it failed silently, even though piece of code works fine in external JVM.
    2, Use filePrinter:
    public static String print(String printString) {
    try{
    String printerUNC = "\\\\machine\\printer";
    FileWriter fw = new FileWriter(printerUNC);
    PrintWriter pw = new PrintWriter(fw);
    pw.println(printString);
    fw.close();
    return "OK";
    }catch(Exception e){
    e.printStackTrace();
    return "Exception: " + e.getMessage();
    public static void main(String[] args) {
    try{
    String printerUNC = "\\\\machine\\printer";
    String printString = "Hello World";
    FileWriter fw = new FileWriter(printerUNC);
    PrintWriter pw = new PrintWriter(fw);
    pw.println(printString);
    fw.close();
    }catch(Exception e){e.printStackTrace();}
    I loaded it into SYSDBS too, and tried with this:
    SQL> select MY_PRINT.PRINT('HELLO from Oracle') from dual;
    MY_PRINT.PRINT('HELLOFROMORACLE')
    Exception: No such file or directory
    SQL> show user
    USER is "SYS"
    It works in external JVM too.
    What's wrong with this?
    Thanks for any help in advance,
    Charles

    Avi:
    Thanks for your response!
    I put the java code in SYS, 'cause I assume that account has max privilege. If the test is successful, I will move that to some user schema and then to deal with those privilege settings... But I'm unlucky.
    I checked Ask Tom, this is what I got from http://asktom.oracle.com/pls/ask/f?p=4950:8:1619723::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:38012348052,%7Bprinter%7D:
    ... Print file from PL/SQL ...
    If you are using Oracle8i, release 8.1 -- much can be done with Java. java
    would be able to print directly from the server.
    Looks like using Java to print out file is better than PL/SQL. But there's no more hint there! And, no new question can be asked there today either...
    I'm wondering whether we can create a socket to a printer and send the characters there directly... Anyone has experience on this?
    Thanks for all the help in advance,
    Charles

  • How to send a smartform result through mail?

    How to send a smartform result through mail?

    HI,
    YOu can convert the output of Smartform into a attachment say PDF file & then send it across through mail.
    Refer following program:
    <a href="http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm">http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm</a>
    Best regards,
    Prashant

  • How to undeploy an .sda file through command line

    Hi,
    How to undeploy an .sda file through command line.send me the related command to do it.and related information and links.

    Hi
    Please find below the steps to undeploy thro command line :
    Shut down the sdm server
    1)SDM shutdown "sdmhome=D:\usr\sap\J2E\JCO1\SDM\program" "sdmguiport=50018" "sdmhostname=<hostname>" password="<password>" "shutdownmode=abort"
    2)sdm jstartup "mode=standalone" "sdmhome=c:\usr\sap\J2E\DVEBMGS00\SDM\program"
    3) sdm undeploy "sdmhome=D:\usr\sap\J2E\DVEBMGS00\SDM\program" "compname=c:\test.sda"
    4)sdm jstartup "mode=integrated" "sdmhome=c:\usr\sap\J2E\DVEBMGS00\SDM\program"
    5)start the sdm server again
    SDM server "sdmhome=D:\usr\sap\J2E\JCO1\SDM\program"
    Hope this helps. do not forget to reward points
    regards
    rajeshkr

  • How to compare two PDF files through PLSQL

    Hi,
    Can any body help that how to compare two PDF files through PLSQL programing and gives the differences as output.
    Thanks,

    Or simply apply an oracle text index on your pdf column:
    SQL>  create table t (id integer primary key, bl blob)
    Table created.
    SQL>  declare
    bf bfile := bfilename('TEMP','b32001.pdf');
    bl blob;
    begin
    dbms_lob.createtemporary(bl,true);
    dbms_lob.open(bf,dbms_lob.lob_readonly);
    DBMS_LOB.LOADFROMFILE(bl, bf,dbms_lob.getlength(bf));
    insert into t values (1,bl);
    commit;
    dbms_lob.close(bf);
    dbms_lob.freetemporary(bl);
    end;
    PL/SQL procedure successfully completed.
    SQL>  create index t_idx on t (bl) indextype is ctxsys.context parameters ('filter ctxsys.auto_filter')
    Index created.
    SQL>  declare
       mklob   clob;
    begin
       ctx_doc.filter ('t_idx', '1', mklob, true);
       dbms_output.put_line (substr (mklob, 1, 250));
       dbms_lob.freetemporary (mklob);
    end;
    Oracle® Database
    Release Notes
    11
    g
    Release 1 (11.1) for Linux
    B32001-04
    November 2007
    This document contains important information that was not included in the
    platform-specific or product-specific documentation
    PL/SQL procedure successfully completed.This generates a text only version of your pdf and standard text comparison methods can be applied ....

  • How to send the spool output to the specific user during ALE distribution

    Hi All
    In ALE internal order Configuration done by BAPI Method SAVEREPLICA Business object BUS2075whenever user changed the internal order which is moved to the destination system because of change data setting in data element fields.
    I want to know how to send the spool output of the changed internal order to the specific user during ALE distribution.
    Please help me to reslove the above issue
    Thanks & Regards
    KRISHGUNA

    Solved by myself

  • How to read a text file through pl/sql

    How to read a text file through pl/sql

    pl/sql runs inside the database. so your file also should be on the database server file system for you to be able to read.
    check out UTL_FILE package. This is the database package to read/write files on the database server.

  • How to send a PDF file as a FAX from Oracle Reports 6i

    Hi
    I want to know how to send a PDF file as a FAX from Oracle Reports 6i. Or please post any sample code in reports that sends PDF document as FAX
    Help need immediately.
    Thanks in advance. my email id is
    [email protected]
    Arun
    null

    hello,
    there is no native support for directly faxing a report. you could e.g. use a fax-software that has a printer-driver that supports this.
    regards,
    the oracle reports team

  • How to send a JSP file in a MAU patch

    Hi friends,
    We need to send a patch for enhancement, which contains classes and a JSP file also.  So, we know how to send class files, but we are not aware of how to send a JSP file in the patch.
    Please help us if anybody know this.
    Thanks & Regards,
    Ravi

    Hi Ravi,
    <b>Is is possible to update this jar file or to change some mappings?</b>--->I think you can not update the application.jar file.
    Let me know one thing, while you creating war file from NWDS/Eclipse did you compile JSP pages as Precompiled class files. If you did that, your application will not point JSP pages that you applied as patches.
    Is your application is in production phase? If yes, my first suggestion is..If you have updated application.jar file, apply the application.jar file as patch.
    If your application is not in production phase....best option is, again create a war file as pre-compiled jsp pages, and make changes in NWDS that the compiled class files should loaded as application.jar file. Then you can apply patches easily.
    Hope this helps you..
    Regards,
    Murthy

  • How to send a large file in XI ?

    How to send a large file in XI ?

    hi,
    use a splitting mechanism to convert large files into smaller files and process them as if they where independent.
    You can use the "Recordsets Per Message" parameter in the File Adapter sender comm channel by using File Content Conversion, to create a new message for each 1000,10000,etc records in the source file...this could be a way of splitting.
    If you scenario works ok for small files, maybe you can develop another scenario that runs previous the current one, that only splits files (e.g. File-XI-File) and then puts the output smaller files in the directory that your current scenario monitors.
    Check this blog for huge file processing
    /people/alessandro.guarneri/blog/2007/02/21/sap-xi-acting-as-a-huge-file-mover
    Thanks,
    Vijaya

  • Can anyone tell me how to send a PDF file so that it opens up in the body of the email itself? Thanks

    Can anyone tell me how to send a PDF file so that it opens up in the body of the email itself? Thanks

    That is a function of the recipient's e-mail software understanding what your software sent.  If it doesn't it will always show as an icon or attachment.   It is also a function of both your internet provider and their internet provider accepting messages of that size, and a function of their download attachment settings in their e-mail program.  There is no way to guarantee it will appear inline in the attachment.   The best you can do is attach with Windows Friendly format.  To do that, use the attach toolbar icon that looks like a paperclip, (View menu -> Customize toolbar if invisible) on Mac OS X Mail when composing the message.   A checkbox appears in the file dialog box's bottom to make it Windows friendly when you navigate to pick the PDF file.  That makes it as universally compatible as possible.  It still may not appear inline, but at least you are less likely to be incompatible.

Maybe you are looking for

  • Passing JDBC adapter error message back to SOAP fault message

    I have a JDBC adapter that is returning an error in the response message:   <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <!--  Inbound Message   --> - <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:

  • Win/iTunes doesn't recognize iPod + monochrome charger icon, please help

    Yesterday, my iPod was fine and now it doesn't seem to work. When I put in my iPod, it goes in, I see the Apple logo and then it goes straight to the monochrome charger icon. iTunes nor Windows recognizes it and when I take it out, the iPod doesn't w

  • Exporting projects with referenced images

    I want to import referenced images from an external hard drive, edit them and then export the project in order to archive it. Is this something that I can do now? Will I end up with a bunch of referenced previews in my library and an exported project

  • Change BSEG-STCEG (VAT number) in posted line items

    Hello, We want to change the VAT number in the vendor line items,we set the field changeable via OB32, but field is not changeable, any idea ? Thanks

  • Lenovo A806 - chinese characters problem

    Hello, i have little problem, when i try to unlock the phone screen (more exactly to slide up the wallpaper) and enter in contacts or message, chinese characters appears and when it's fully slided up, they automated get translated in the languages th