Simple mail functionality

Hi,
I am testing the simple mail functionality in transaction VA01.
In customizing (output determination – processing routines) for simple mail is being used a program and a smartform. It was not me who developed them.
The problem is that when I try to test this through VA01 (I choose simple mail, etc), I get a dump saying: ‘Invalid commit work in an update function module. Termination occurred in the ABAP program ‘SAPLSOI1’ – in “SO_DOCUMENT_SEND_API1”. The main program was “RSM13000’’.
My problem now is how can I try to debug this when I am in transaction VA02? I am not able to execute the program I have in customizing…
How can I found more information about this?
Thanks a lot

Weird..
I am working with SAP ECC 6.0 - release 700
In version history no one has modified the program...
function so_document_send_api1.
""Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(DOCUMENT_DATA) LIKE  SODOCCHGI1 STRUCTURE  SODOCCHGI1
*"     VALUE(PUT_IN_OUTBOX) LIKE  SONV-FLAG DEFAULT SPACE
*"     VALUE(SENDER_ADDRESS) LIKE  SOEXTRECI1-RECEIVER DEFAULT SY-UNAME
*"     VALUE(SENDER_ADDRESS_TYPE) LIKE  SOEXTRECI1-ADR_TYP DEFAULT 'B'
*"     VALUE(COMMIT_WORK) LIKE  SONV-FLAG DEFAULT SPACE
*"  EXPORTING
*"     VALUE(SENT_TO_ALL) LIKE  SONV-FLAG
*"     VALUE(NEW_OBJECT_ID) LIKE  SOFOLENTI1-OBJECT_ID
*"     VALUE(SENDER_ID) LIKE  SOUDK STRUCTURE  SOUDK
*"  TABLES
*"      PACKING_LIST STRUCTURE  SOPCKLSTI1
*"      OBJECT_HEADER STRUCTURE  SOLISTI1 OPTIONAL
*"      CONTENTS_BIN STRUCTURE  SOLISTI1 OPTIONAL
*"      CONTENTS_TXT STRUCTURE  SOLISTI1 OPTIONAL
*"      CONTENTS_HEX STRUCTURE  SOLIX OPTIONAL
*"      OBJECT_PARA STRUCTURE  SOPARAI1 OPTIONAL
*"      OBJECT_PARB STRUCTURE  SOPARBI1 OPTIONAL
*"      RECEIVERS STRUCTURE  SOMLRECI1
*"  EXCEPTIONS
*"      TOO_MANY_RECEIVERS
*"      DOCUMENT_NOT_SENT
*"      DOCUMENT_TYPE_NOT_EXIST
*"      OPERATION_NO_AUTHORIZATION
*"      PARAMETER_ERROR
*"      X_ERROR
*"      ENQUEUE_ERROR
data begin of object_hd_change.
        include structure sood1.
data end of object_hd_change.
data begin of attach_hd_change.
        include structure sood1.
data end of attach_hd_change.
data begin of object_data.
        include structure soodd.
data end of object_data.
data begin of objhead occurs 1.
        include structure soli.
data end of objhead.
data begin of objcont occurs 100.
        include structure soli.
data end of objcont.
data begin of atthead_tab occurs 1.
        include structure soli.
data end of atthead_tab.
data begin of attcont_tab occurs 10.
        include structure soli.
data end of attcont_tab.
data begin of atthead occurs 1.
        include structure soli.
data end of atthead.
data begin of attcont occurs 10.
        include structure soli.
data end of attcont.
data begin of new_pack_list occurs 10.
        include structure soxpl.
data end of new_pack_list.
data begin of rec_table occurs 10.
        include structure soos1.
data end of rec_table.
data begin of object_fl_change.
        include structure sofm1.
data end of object_fl_change.
data rcode like sonv-rcode.
data object_type like sood-objtp.
data object_id_new like soodk.
data file_format(3).
data: originator      like soos1-recextnam,
      originator_type like soos1-recesc.
data: hex_size like sy-tabix.
data: old_object like swotobjid,
    * sh070900 5.0A reconvert R30 into OBJ Docs is possible.
      sood_id like soodk.
data: old_folder_id like soodk,
      old_object_id like soodk,
      old_forwarder like soud-usrnam,
      old_object_data like sood2.
data hex_mode type sonv-flag value space.
data dummy_hex type solix_tab.
**data i.
**if sy-uname = ''
while i ne 1.
endwhile.
**endif.
describe table contents_bin lines hex_size.
if hex_size gt 0.
   call function 'SO_CONVERT_CONTENTS_BIN'
    exporting
      it_contents_bin = contents_bin[]
    importing
      et_contents_bin = contents_bin[].
   data l_new_size     type i.
   data l_line_size    type i.
   data l_new_doc_size type i.
   describe table contents_bin lines l_new_size.
   if l_new_size <> hex_size.
     describe field contents_bin-line length l_line_size in character mode.
     loop at packing_list where transf_bin = on.
       packing_list-body_start = packing_list-body_start * 2 - 1.
       packing_list-body_num = packing_list-body_num * 2.
       l_new_doc_size = packing_list-body_num * l_line_size / 2.
       if packing_list-doc_size <= l_new_doc_size.
         packing_list-doc_size = l_new_doc_size * 2.
       endif.
       modify packing_list.
     endloop.
   endif.
endif.
describe table contents_hex lines hex_size.
if hex_size gt 0.
   refresh contents_bin.
  MOVE CONTENTS_HEX[] TO CONTENTS_BIN[].
   hex_to_cont contents_hex contents_bin.
endif.
* transfer document data
  perform transfer_objdat_to_obj using document_data
                                       object_hd_change
                                       object_fl_change.
  perform set_default_object_data using object_hd_change.
* read object out of table
* take API1, so no receiver conversion is necessary here
  read table packing_list index 1.   "first object is document
  if sy-subrc ne ok.   "no packing list
    raise parameter_error.
  endif.
  perform read_object_out_of_tables tables object_header
                                           contents_txt
                                           contents_bin
                                           objhead
                                           objcont
                                  using    packing_list
                                           object_data
                                           rcode.
* parameters    for tracing
  LOOP AT OBJHEAD.
    PERFORM  TRACE(RSSOEXTR) USING 'OBJHEAD'  OBJHEAD-LINE.
  ENDLOOP.
  if rcode ne ok.   "no object found
    raise parameter_error.
  endif.
* out of object data use only extern content flag and perhaps the size
  move object_data-extct to object_hd_change-extct.
  if object_hd_change-objlen = 0       or
     object_hd_change-objlen is initial.
    move object_data-objlen to object_hd_change-objlen.
  endif.
  perform format_prepare_for_insert in program sapfssoa          "873845
       using packing_list-transf_bin
             dummy_hex
    changing objhead[]
             objcont[]
             packing_list-doc_type
             object_hd_change-file_ext
             rcode.
  move packing_list-doc_type to object_type.
* for old types move size to header
  perform size_to_header tables objhead
                         using  object_type
                                document_data-doc_size.
get    now all attachments, decreibed in packing list
  refresh new_pack_list.
  refresh atthead_tab.
  refresh attcont_tab.
  loop at packing_list from 2.
    clear new_pack_list.
    perform read_object_out_of_tables tables object_header
                                             contents_txt
                                             contents_bin
                                             atthead
                                             attcont
                                    using    packing_list
                                             object_data
                                             rcode.
    check rcode = ok.
  * sh240899 46C check for executable mail attachment (MAPI)
    if packing_list-doc_type = 'R3O'.
      read table attcont index 21 into old_object.
      if old_object-objtype = 'SOFM'.
        read table attcont index 22.
        if attcont = 'PROCESS'.
        * it's an attachment created by MAPI because of an executable
        * mail
        * read old mail and fill new one with process parameters
          move: old_object-objkey(17) to old_folder_id,
                old_object-objkey+17(17) to old_object_id,
                old_object-objkey+34(12) to old_forwarder.
          call function 'SO_OBJECT_READ'
               exporting
                    folder_id                  = old_folder_id
                    forwarder                  = old_forwarder
                    object_id                  = old_object_id
               importing
                    object_hd_display          = old_object_data
               tables
                    objpara                    = object_para
                    objparb                    = object_parb
               exceptions
                    folder_not_exist           = 4
                    folder_no_authorization    = 5
                    object_not_exist           = 6
                    object_no_authorization    = 7
                    operation_no_authorization = 8
                    owner_not_exist            = 9
                    parameter_error            = 10
                    others                     = 15.
          if sy-subrc = 0.
            move: old_object_data-vmtyp to object_hd_change-vmtyp,
                  old_object_data-skips to object_hd_change-skips,
                  old_object_data-acnam to object_hd_change-acnam,
                  old_object_data-acmem to object_hd_change-acmem.
          endif.
          continue.
        elseif attcont = 'DISPLAYATTACHMENT'.
        * sh070900 5.0A reconvert R30 into OBJ Docs is possible.
        * get object instance and method into attachment body
          refresh: attcont, atthead.
          move old_object-objkey+17(17) to sood_id.
          perform socx_select(sapfsso0) tables atthead
                                               attcont
                                               object_para
                                               object_parb
                                        using  sood_id
                                               hex_mode
                                               rcode.
          move atthead[] to attcont[].
        * fill new packing list parameter
          describe table atthead lines packing_list-head_num.
          describe table attcont lines packing_list-body_num.
          packing_list-doc_size = '255'.
          packing_list-doc_type = obj.
        endif.
      endif.
    endif.
    move-corresponding packing_list to new_pack_list.
    move: packing_list-obj_descr     to new_pack_list-objdes,
          packing_list-obj_name      to new_pack_list-objnam,
          packing_list-doc_size      to new_pack_list-objlen,
          packing_list-obj_langu     to new_pack_list-objla,
          packing_list-mess_type     to new_pack_list-extct,
          packing_list-doc_type      to new_pack_list-objtp,
          packing_list-transf_bin    to new_pack_list-transf_bin."873845
    describe table atthead_tab lines new_pack_list-head_start.
    add 1 to new_pack_list-head_start.
    describe table attcont_tab lines new_pack_list-body_start.
    add 1 to new_pack_list-body_start.
    perform format_prepare_for_insert in program sapfssoa        "873845
         using packing_list-transf_bin
               dummy_hex
      changing atthead[]
               attcont[]
               new_pack_list-objtp
               new_pack_list-file_ext
               rcode.
  get new sizes (also for attcont, someone forgot this...)
    describe table atthead lines new_pack_list-head_num.
    describe table attcont lines new_pack_list-body_num.
    loop at atthead.
      clear atthead_tab.
      move atthead to atthead_tab.
      append atthead_tab.
    endloop.
    loop at attcont.
      clear attcont_tab.
      move attcont to attcont_tab.
      append attcont_tab.
    endloop.
    append new_pack_list.
  endloop.
* transfer receiver data
  perform transfer_rec_to_tab tables receivers
                                     rec_table.
* sender in right format
  move sender_address to originator.
  perform convert_sndart_esc using sender_address_type
                                   originator_type.
  call function 'SO_OBJECT_SEND'
       exporting
          EXTERN_ADDRESS             = ' '
          FOLDER_ID                  = ' '
          FORWARDER                  = ' '
            object_fl_change           = object_fl_change
            object_hd_change           = object_hd_change
          OBJECT_ID                  = ' '
            object_type                = object_type
            outbox_flag                = put_in_outbox
            originator                 = originator
            originator_type            = originator_type
          OWNER                      = ' '
          STORE_FLAG                 = ' '
       importing
            object_id_new              = object_id_new
            sent_to_all                = sent_to_all
            originator_id              = sender_id
       tables
            objcont                    = objcont
            objhead                    = objhead
            objpara                    = object_para
            objparb                    = object_parb
            packing_list               = new_pack_list
            att_head                   = atthead_tab
            att_cont                   = attcont_tab
            receivers                  = rec_table
       exceptions
            object_not_sent            = 15
            object_type_not_exist      = 17
            operation_no_authorization = 21
            parameter_error            = 23
            too_much_receivers         = 73
            others                     = 1000.
  case sy-subrc.
    when ok.
      move object_id_new to new_object_id.
    when object_not_sent.
      perform transfer_tab_to_rec tables rec_table
                                         receivers.
      raise document_not_sent.
    when too_much_receivers.
      raise too_many_receivers.
    when object_type_not_exist.
      raise document_type_not_exist.
    when operation_no_authorization.
      raise operation_no_authorization.
    when parameter_error.
      raise parameter_error.
    when others.
      raise x_error.
  endcase.
MOVE OBJECT_ID TO NEW_OBJECT_ID.
  perform transfer_tab_to_rec tables rec_table
                                     receivers.
set commit work
  if commit_work = on.
    commit work.
  endif.
endfunction.

Similar Messages

  • PHP mail() function not working

    Hello, I am having a problem sending mail with php while hosting my own website with apache on my mac. First of all I would like to note that I do not have a large background with web hosting and php. Everything that I did so far was just suggestions from online articles and other forums, so please include detail with any answers.
    I have apache started, and my website hosted just fine. I can also view php pages so I know php is running too. My problem is using the php mail() function.
    I have a simple form in my site who's action attribute is set to results.php. In the results.php file I have the mail() function (along with html code displaying "thank you...blah blah blah") sending info from the form to my email address. I never get an error on the php side, but my mail never gets sent.
    Is there some type of setting in a config file that need to be turned on or changed?
    Here is what I have done/modified so far from my research from online articles. i dont know what some of them mean, but followed the steps correctly:
    Edited the /etc/hostconfig file and added the line MAILSERVER=-YES-
    Edited the /etc/postfix/main.cf file and uncommented the #myhostname = ...line and made it "myhostname = localhost" (without quotes)
    Edited the php.ini file to the following - The line under where it says
    ; For unix only. You may supply arguments as well (default: "sendmail -t -i")
    Sendmail_path = usr/sbin/sendmail -t -i
    I opened the mail.log file and here are some entries from the other day:
    Code:
    Jul 9 08:16:50 new-host postfix/master[689]: daemon started -- version 2.4.3, configuration /etc/postfix
    Jul 9 08:16:50 new-host postfix/qmgr[691]: 4B4DC2E8331: from=<[email protected]>, size=323, nrcpt=1 (queue active)
    Jul 9 08:16:50 new-host postfix/qmgr[691]: 7A8242EE3C0: from=<[email protected]>, size=280, nrcpt=1 (queue active)
    Jul 9 08:16:50 new-host postfix/qmgr[691]: B1C052EE3C4: from=<[email protected]>, size=280, nrcpt=1 (queue active)
    Jul 9 08:16:50 new-host postfix/qmgr[691]: C281C2EE3C5: from=<[email protected]>, size=327, nrcpt=1 (queue active)
    Jul 9 08:16:50 new-host postfix/smtp[694]: 4B4DC2E8331: to=<[email protected]>, relay=relay.verizon.net[206.46.232.11]:25, delay=213262, delays=213261/0.05/0.86/0, dsn=4.0.0, status=deferred (host relay.verizon.net[206.46.232.11] refused to talk to me: 571 Email from 74.102.108.224 is currently blocked by Verizon Online's anti-spam system. The email sender or Email Service Provider may visit http://www.verizon.net/whitelist and request removal of the block. 100709)
    Jul 9 08:16:51 new-host postfix/pickup[690]: 0F5D22EE4DB: uid=70 from=<_www>
    Jul 9 08:16:51 new-host postfix/cleanup[692]: 0F5D22EE4DB: message-id=<20100709121651.0F5D22EE4DB@localhost>
    Jul 9 08:16:51 new-host postfix/qmgr[691]: 0F5D22EE4DB: from=<[email protected]>, size=333, nrcpt=1 (queue active)
    Jul 9 08:16:51 new-host postfix/smtp[695]: 7A8242EE3C0: to=<[email protected]>, relay=relay.verizon.net[206.46.232.11]:25, delay=27074, delays=27073/0.02/1.1/0, dsn=4.0.0, status=deferred (host relay.verizon.net[206.46.232.11] refused to talk to me: 571 Email from 74.102.108.224 is currently blocked by Verizon Online's anti-spam system. The email sender or Email Service Provider may visit http://www.verizon.net/whitelist and request removal of the block. 100709)
    Jul 9 08:16:51 new-host postfix/smtp[697]: C281C2EE3C5: to=<[email protected]>, relay=relay.verizon.net[206.46.232.11]:25, delay=26817, delays=26816/0.02/1.1/0, dsn=4.0.0, status=deferred (host relay.verizon.net[206.46.232.11] refused to talk to me: 571 Email from 74.102.108.224 is currently blocked by Verizon Online's anti-spam system. The email sender or Email Service Provider may visit http://www.verizon.net/whitelist and request removal of the block. 100709)
    Jul 9 08:16:51 new-host postfix/smtp[696]: B1C052EE3C4: to=<[email protected]>, relay=relay.verizon.net[206.46.232.11]:25, delay=27174, delays=27173/0.01/1.1/0, dsn=4.0.0, status=deferred (host relay.verizon.net[206.46.232.11] refused to talk to me: 571 Email from 74.102.108.224 is currently blocked by Verizon Online's anti-spam system. The email sender or Email Service Provider may visit http://www.verizon.net/whitelist and request removal of the block. 100709)
    Jul 9 08:17:23 new-host postfix/smtp[694]: connect to mx1.comcast.net[76.96.62.116]: Operation timed out (port 25)
    Jul 9 08:17:50 new-host postfix/master[689]: master exit time has arrived
    Any other suggestions on how to get this to work? I have also created a simple php file that sends mail without retreiving info from a form and also tried using several different email addresses to send to and from, but still nothing

    Edited the /etc/postfix/main.cf file and uncommented the #myhostname = ...line and made it "myhostname = localhost" (without quotes) Change that to mail.yourispname.com Then run sudo postfix reload and see if it sends mail. The reason being, is that you don't have a fully qualified domain name.
    And make that reflective in your mail() function file/template.
    Message was edited by: doug pennington

  • PO Output - Simple Mail.

    Hi,
    I configured new PO output type for simple mail.  I cannot get the output type to default onto the PO.  In the determination analysis screen within the PO messages screen, it finds the condition record, but also has another error:
    Message 539:  No partner was found for Partner function MP
    I assume this is the reason why the output is not defaulting.  How do i resolve this such that the output type defaults?
    Cheers,

    Hi,
    Please check customising, Check your setting for partner role MP
    in partner schema 
    IMG .> MM > Purchasing > Partner Determination
       > Partner Settings in Purchasing documents
        > Define Partner Schemas
    Check your settings for partner role MP in partner schema XXXX:
        - no change
        - mandatory
        - end     
        - higherLvl
    The recommended settings for these four parameters are yes/yes/no/yes.
    Kind regards,
    Lorraine

  • PO Output: Medim 7 (Simple Mail)

    Hi all,
    Has anyone come across with PO output with medium 7 (Simple Mail)?
    Any idea of how to configure it in the system?
    Thanks.
    Tom

    Hi Tom,
    Basically there are two mail types: Internet mail (external mail) and
    SAPOffice mail.
    Mail is sent via the output determination in both cases.
    If you use the external mail, the message for the purchasing document is
    converted into a corresponding text file which is sent to the vendor via
    the Internet.
    SAPOffice mail is sent only within the R/3 System and has mainly the
    function of providing information.
    In particular, it is not possible to attach a message (form) for a
    purchasing document to a SAPOffice mail.
    When using external mail, the following basic settings are required:
    1.  You must maintain an e-mail address in the address in the vendor
        master.
    2.  The same applies to your own user master. You also have to specify
        an e-mail address there in order to identify the sender.
        o  Note that it is not possible to change the e-mail address of the
           vendor via the SAP purchase order transaction (ME21N, ME22N, and
           so on).
        o  You can only make a permanent change using the vendor master
           transactions XK02 or MK02.
         o  You can use a temporary email address in Transaction ME21N.
    3.  For the output type for default values, a communication strategy
         needs to be maintained in the Customizing that supports the e-mail.
         You can find the definition of the communication strategy in the
         Customizing via the following path: (SPRO -> IMG -> SAP Web
         Application Server -> Basic Services -> Message Control -> Define
         Communication Strategy). As a default, communication strategy CS01
         is delivered. This already contains the necessary entry for the
         external communication. Bear in mind that without a suitable
         communication strategy it is not possible to communicate with a
         partner via Medium 5 (external sending).
    4.  Use the standard SAP environment (program 'SAPFM06P', FORM routine
         'ENTRY_NEU' and form 'MEDRUCK') as the processing routines.
    5.  In the condition records for the output type (for example,
         Transaction MN04), use medium '5' (External send).
    6.  You can use Transaction SCOT to trigger the output manually. The
         prerequisite for a correct sending is that the node is set
         correctly. This is not described here, but it must have already been
         carried out.
    7.  To be able to display, for example, the e-mail in Outlook, enter PDF
         as the format in the node.
    To use the SAPOffice mail, the following basic settings are required:
    1.  For the output type for default values, a communication strategy
        needs to be maintained in the Customizing that supports the e-mail.
        You can branch to the maintenance of the communication strategy via
        the input help.
    2.  Use the SAP standard environment (program "RSNASTSO" and FORM
        routine "SAPOFFICE_AUFRUF") as the processing routines.
    3.  In the condition records for the output type (for example,
        Transaction MN04), use medium '7' (SAPOffice) and also partner role
        'MP' (mail partner).
    - Sanjeev

  • Out put type for simple mail

    Hi Sd Gurus
                 i change the output type  medium from printout to simple-mail. i got a error( Mail partner not found or empty! Obj
    created without partner!). please give the solution.
       Thanks

    Hi Hari,
    Please Check that you assigned any  partner function to the output type.
    and  that e-mail address is maintained for your required  partner.
    Thanks
    Dasaradha

  • For users having problems with Mail functionality...

    Hello! I have been having problems with Mail functionality as well, so, I took a few steps to see if I could solve the problem on my own.
    My problems were:
    Mail would freeze when sending mail, or, when I pressed quit, it would freeze.
    If I toggled between inboxes too much it would freeze up.
    Even after trying the many techniques others offered on this board, Mail still froze up. So.. here's what I did:
    1.) Turn off the auto-retrieve mail function in the preferences/general menu. Set it to a manual check. Just check it yourself every once in awhile. It may not be as convenient, but it works, trust me.
    2.) Under the fonts and colors menu, set all three fonts to the SAME font (mines Century Schoolbook, but anything works) and turn off fixed-width font. Sometimes mail has a tough time decoding and working with texts, and causes it to freeze.
    3.) Clean our your main inbox! Place the emails that you want to keep, but don't need to be in your inbox in a new folder on your inbox bar (mines aptly named 'Saved Messages.' That way, when you open up Mail to your default account, it doesn't have 1,000+ messages to index. Also, try to keep the inboxes from having more than 100-200 messages per. It seems to frown on any more than that.
    After trying these three easy, steps, restart mail and see if things run smoother. I have had no problems since these changes, and mail runs a ton better. Plus you don't have to worry about deleting your library/mail folder anymore. Let me know if things work out so I can see if my theory is a universally proven thing. Thanks and good luck!
    iMac G5 20"   Mac OS X (10.4.5)  

    Good question. I have worked very little with IMAP other than as a testing device, so, on a daily routine I cannot say how it would function. However, I can only expect that by having the option to download all emails for offline viewing selected, you are right in it being a lag creator. Another suggestion would be, if you are running a single-computer setup, to have the account delete emails from the server after recieving them on your computer. Thus, you reduce the risk of repeat downloads or unnecessary build-up on the server end. DO NOT select this option if you run multiple computer set ups on one AppleMail account system or you will cause some discrepancies and/or data loss from system to system. Or, if you have emails redirected from a seperate server to Mail (i.e. I redirect mail from my university email account into Mail so that I don't have to go to the web-mail site to check it--> just like Gmail or Yahoo etc etc) you won't be able to check them from the web-based email system if you have the system delete them. Ok that sounded confusing. Solution: have the system remove emails from the server after a week (or any period of time, just not immediately) so that, in the off-chance you need to use the online system, you will have access, and will give you a chance to check the emails on other systems without a threat of data corruption (by corruption i mean that frustrating feeling you get when you can't find that super important email that was in your inbox just 10 seconds ago on your desktop etc.)
    I will see if I can learn anything more about IMAP Ernie. Its definitley the biggest problem source for Mail, POP and .Mac being simple and functional as long as you don't play with the settings too much. As far as the issue of Offline viewing goes, try turning it off and seeing how Mail functions.
    BEFORE you turn it off, however, I recommend saving all of your emails in your inbox as a text file or something so, in case the server burps and has a brain flatuence, you don't lose anything. Been there, done that, thrown the books against the wall in a frustrated rage.
    My only reserve about the Offline Viewing is whether or not Mail will, when you click "recieve mail," have to re-download the emails from the server each time. If so, then it may end up taking longer and lagging more. The issue here is obviously minimizing the amount of activity between Mail and the email server without jeapordizing information on the server or multiple Mail programs on the same account. When we can find that balance, I think Mail's potential will be realized. Keep the questions coming.

  • Output thro simple mail concept

    Hi
    My requirement is sending invoice output to customer. I have option of sending thro' external send(5). But i am looking to use simple mail(5) concept. Can i use this. If i can use what is the program i need mentioned in the nace and also can i use smart form.
    i had checked with my programmer, he had stdprogram RSNASTSO and form routine SAPOFFICE_AUFRUF_VX which is used to mail to SAP inbox , he tried to modify this program based on our requirement and add the smartform to it. we got the mail but the information in smartform did not come in the mail i.e program is not accessing the information.
    Please let me know your input.
    Thanks
    sriram

    Hi,
    Try the below code.
    REPORT  z_sd_multi_cust_mail.
    TABLES:nast,kna1,vbak.
    DATA : v_vbeln     LIKE vbak-vbeln,
           v_ucomm     LIKE sy-ucomm,
           v_form_name TYPE rs38l_fnam.
    START-OF-SELECTION.
    *&      Form  entry
          text
         -->RETURN_CODE  text
         -->US_SCREEN    text
    FORM entry USING return_code us_screen.
      CLEAR return_code.
      CLEAR:v_vbeln,v_form_name.
      v_vbeln = nast-objky.
      v_ucomm = 'PRNT'.
      IF v_ucomm  = 'PRNT' ."For Mail sending
        CALL FUNCTION 'Z_QUOTATION_MAIL_SEND'
          EXPORTING
            vbeln = nast-objky.
      ENDIF.
      CLEAR:v_ucomm.
    ENDFORM.                    "entry
    In FM 'Z_QUOTATION_MAIL_SEND'
    FUNCTION Z_QUOTATION_MAIL_SEND.
    ""Local Interface:
    *"  IMPORTING
    *"     REFERENCE(VBELN) TYPE  NAST-OBJKY
    Importing Parameter is
    VBELN     TYPE     NAST-OBJKY
      TABLES:  nast,
               kna1,
               vbak.
      DATA: i_otf       TYPE itcoo OCCURS 0       WITH HEADER LINE,
            i_tline     TYPE TABLE OF tline       WITH HEADER LINE,
            i_receivers TYPE TABLE OF somlreci1   WITH HEADER LINE,
            i_record    LIKE solisti1   OCCURS 0  WITH HEADER LINE,
    *---Objects to send mail.
            i_objpack   LIKE sopcklsti1 OCCURS 0  WITH HEADER LINE,
            i_objtxt    LIKE solisti1   OCCURS 0  WITH HEADER LINE,
            i_objbin    LIKE solisti1   OCCURS 0  WITH HEADER LINE,
            i_reclist   LIKE somlreci1  OCCURS 0  WITH HEADER LINE,
    *---Work Area declarations
            wa_objhead  TYPE soli_tab,
            w_ctrlop    TYPE ssfctrlop,
            w_compop    TYPE ssfcompop,
            w_return    TYPE ssfcrescl,
            wa_doc_chng TYPE sodocchgi1,
            w_data      TYPE sodocchgi1,
            wa_buffer   TYPE string, "To convert from 132 to 255
    *--- Variables declarations
            v_form_name  TYPE rs38l_fnam,
            v_len_in     LIKE sood-objlen,
            v_len_out    LIKE sood-objlen,
            v_len_outn   TYPE i,
            v_lines_txt  TYPE i,
            v_lines_bin  TYPE i,
            v_vbeln      TYPE vbak-vbeln.
      DATA:BEGIN OF i_adr6 OCCURS 0,
           addrnumber LIKE adr6-addrnumber,
           consnumber LIKE adr6-consnumber,
           smtp_addr  LIKE adr6-smtp_addr,
           END OF i_adr6.
      v_vbeln = vbeln.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = 'Z_SD_SSF_QUOTATION'
        IMPORTING
          fm_name            = v_form_name
        EXCEPTIONS
          no_form            = 1
          no_function_module = 2
          OTHERS             = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      w_ctrlop-getotf     = 'X'.
      w_ctrlop-no_dialog  = 'X'.
      w_compop-tdnoprev   = 'X'.
      CALL FUNCTION v_form_name   "'/1BCDWB/SF00000093'
        EXPORTING
          control_parameters = w_ctrlop
          output_options     = w_compop
          user_settings      = 'X'
          p_vbeln            = v_vbeln
        IMPORTING
          job_output_info    = w_return
        EXCEPTIONS
          formatting_error   = 1
          internal_error     = 2
          send_error         = 3
          user_canceled      = 4
          OTHERS             = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      i_otf[] = w_return-otfdata[].
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format                = 'PDF'
          max_linewidth         = 132
        IMPORTING
          bin_filesize          = v_len_in
        TABLES
          otf                   = i_otf
          lines                 = i_tline
        EXCEPTIONS
          err_max_linewidth     = 1
          err_format            = 2
          err_conv_not_possible = 3
          OTHERS                = 4.
      IF sy-subrc <> 0.
      ENDIF.
      LOOP AT i_tline.
        TRANSLATE i_tline USING '~'.
        CONCATENATE wa_buffer i_tline INTO wa_buffer.
      ENDLOOP.
      TRANSLATE wa_buffer USING '~'.
      DO.
        i_record = wa_buffer.
        APPEND i_record.
        SHIFT wa_buffer LEFT BY 255 PLACES.
        IF wa_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    *---Attachment
      REFRESH:i_reclist,
              i_objtxt,
              i_objbin,
              i_objpack.
      CLEAR wa_objhead.
      i_objbin[] = i_record[].
    *---Create Message Body Title and Description
      i_objtxt = 'PDF-Attachment Of Quotation!'.
      APPEND i_objtxt.
      DESCRIBE TABLE i_objtxt LINES v_lines_txt.
      READ TABLE i_objtxt INDEX v_lines_txt.
      DATA: v_str1 TYPE char12,
            v_str2 TYPE char50.
      CONCATENATE 'Quotation' '-' v_vbeln INTO v_str2 SEPARATED BY space.
      wa_doc_chng-obj_name   = 'smartform'.
      wa_doc_chng-expiry_dat = sy-datum + 10.
      wa_doc_chng-obj_descr  = v_str2.
      wa_doc_chng-sensitivty = 'F'.
      wa_doc_chng-doc_size   = v_lines_txt * 255.
    *---Main Text
      CLEAR i_objpack-transf_bin.
      i_objpack-head_start = 1.
      i_objpack-head_num   = 0.
      i_objpack-body_start = 1.
      i_objpack-body_num   = v_lines_txt.
    i_objpack-doc_type   = 'RAW'.
      APPEND i_objpack.
    *---Attachment (pdf-Attachment)
      i_objpack-transf_bin = 'X'.
      i_objpack-head_start = 1.
      i_objpack-head_num   = 0.
      i_objpack-body_start = 1.
      DESCRIBE TABLE i_objbin LINES v_lines_bin.
      READ TABLE i_objbin INDEX v_lines_bin.
      i_objpack-doc_size  = v_lines_bin * 255 .
      i_objpack-body_num  = v_lines_bin.
      i_objpack-doc_type  = 'PDF'.
      i_objpack-obj_name  = 'smart'.
      i_objpack-obj_descr = 'Quotation'.
      APPEND i_objpack.
      SELECT SINGLE * FROM vbak WHERE vbeln = v_vbeln.
      SELECT SINGLE * FROM kna1 WHERE kunnr = vbak-kunnr.
    *---Getting the Multiple MAIL ID'S in this Vendor
      SELECT addrnumber
             consnumber
             smtp_addr
             FROM adr6 INTO TABLE i_adr6
             WHERE addrnumber = kna1-adrnr
             AND   flg_nouse  = space.
    *---Adding the Multiple mail id into Receiptant list
      LOOP AT i_adr6.
        i_reclist-receiver = i_adr6-smtp_addr.
        i_reclist-rec_type = 'U'.
        APPEND i_reclist.
        CLEAR: i_reclist,i_adr6.
      ENDLOOP.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = wa_doc_chng
          put_in_outbox              = 'X'
          commit_work                = 'X'
        TABLES
          packing_list               = i_objpack
          object_header              = wa_objhead
          contents_bin               = i_objbin
          contents_txt               = i_objtxt
          receivers                  = i_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.
    ENDFUNCTION.

  • Creating a simple mail form

    Hi,
    I want to create a simple mail form using portal. The form must not use the HTML "mailto:", cause this requires a mail client to be installed at the customers computer. So I want to use the UTL_SMTP package. I managed to send mails with this package, but the problem is: how do I build my form with lets say 3 fields, so that i can pass the entered values to the SendMail-Funtion? I tried to create a form based on a table, then add new items and delete the table-based-items, but that doesnt work. I cant access the not table-based-items and found the reasons for that in the forums here. Then I tried to do it with a dynamic page, but I didnt succeed in calling my send-mail-function from the dynamic page. How can I do it?
    Bye,
    Pascal
    null

    Pascal,
    You can use something like this:
    Create two tables:
    1) Table1
    (id NUMBER PRIMARY KEY, sender varchar2(100),
    recipient varchar2(100) ,message varchar2(3000) ,subject varchar2(200))
    2) Table2
    (id NUMBER , sender varchar2(100),
    recipient varchar2(100) ,message varchar2(3000) ,subject varchar2(200))
    Here Table2 & Table1 are identical. You can use only one table if you do not want to maintain the history of the mails sent.
    Base your form on "Table1".
    Now pass whatever values you want to pass you can base it through this form to the table1(I mean INSERT).
    Calling utl_smtp directly from here won't be a good idea because your form will hang unless the mail is sent.
    So create a procedure for sending mails:
    it should be something like this:
    create or replace procedure send_email (sender IN varchar2, recipient IN varchar2,
    message IN varchar2, subject IN varchar2)
    is
    mailhost varchar2(30) := 'your mail host';
    mail_conn utl_smtp.connection;
    Vhelo utl_smtp.reply;
    Vvrfy utl_smtp.reply;
    Vmail utl_smtp.reply;
    Vrcpt utl_smtp.reply;
    Vdata utl_smtp.reply;
    Vquit utl_smtp.reply;
    Vtemp number;
    VMsg varchar2(4000);
    begin
    VMsg := 'Subject:'&#0124; &#0124;subject&#0124; &#0124;chr(10)&#0124; &#0124;message;
    mail_conn := utl_smtp.open_connection(mailhost,25);
    Vhelo := utl_smtp.helo(mail_conn, mailhost);
    Vvrfy := utl_smtp.vrfy(mail_conn, recipient);
    Vmail := utl_smtp.mail(mail_conn, sender);
    Vrcpt := utl_smtp.rcpt(mail_conn, recipient);
    vdata := utl_smtp.data(mail_conn, VMsg);
    Vquit := utl_smtp.quit(mail_conn);
    -- Handle the error
    end;
    create or replace procedure call_send_email
    cursor Cur1 is
    select * from table1;
    is
    for vcur1 in cur1
    loop
    send_email(vcur1.sender, cur1.recipient, vcur1.message, vcur1.subject);
    insert into table2 values(vcur1.id,vcur1.sender, vcur.recipient,
    vcur1.message, vcur1.subject);
    delete from table1 where id = vcur1.id;
    End Loop;
    commit;
    exception
    --handle exception
    end;
    now call this procedure (call_send_mail) from dbms_job
    Hope this helps,
    Chetan.

  • Using Simple Mail option In VL03n

    In VL03N, in the output, there is a option of Simple Mail ( nast-nacha = 7), wherein we can directly specify the email Id of the receiver of the delivery note.
    Can anybody guide me so as what coding needs to be done,if any,  in the smartfrom print program so as the mail can be sent to the specified email Id.
    Any other pointers to solve this issue are also welcome.
    Useful Replies will be highly appreciated and rewarded
    Thanks in advance
    Krishna

    Hi Krishna,
    I am not aware of smartfomrs. it can be done through scripts by using two function module, one is for converting the output into pdf and another is for send mail.
    Regards,
    Kumar.

  • Create a simple mail form

    Hi,
    I want to create a simple mail form using portal. The form must not use the HTML "mailto:", cause this requires a mail client to be installed at the customers computer. So I want to use the UTL_SMTP package. I managed to send mails with this package, but the problem is: how do I build my form with lets say 3 fields, so that i can pass the entered values to the SendMail-Funtion? I tried to create a form based on a table, then add new items and delete the table-based-items, but that doesnt work. I cant access the not table-based-items and found the reasons for that in the forums here. Then I tried to do it with a dynamic page, but I didnt succeed in calling my send-mail-function from the dynamic page. How can I do it?
    Bye,
    Pascal

    This question is best suited to the Oracle9iAS Portal Applications forum. But, have you tried a form based on a procedure?

  • E-mail functionality using so_new_document_att_send_api1

    Hi
    We Implemented E-mail functionality in our tool useing "so_new_document_att_send_api1" standard FM but here im unable to attach excel document .How to attach a excel document in this standard FM plz help.
    Asif

    hi try this code
    *& Report  ZTEST_2                                                     *
    *& Report  ZTEST_2                                                     *
    REPORT  ztest_2                                 .
    TYPES : BEGIN OF t_email_update_iw32,
             aufnr LIKE viaufks-aufnr,
             vornr LIKE afvc-vornr,
             text(220),
            END OF t_email_update_iw32.
    DATA : gt_email_update_iw32 TYPE STANDARD TABLE OF t_email_update_iw32,
           gw_email_update_iw32 TYPE t_email_update_iw32.
    TYPES : BEGIN OF t_email_date_error,
             aufnr LIKE viaufks-aufnr,
             prueflos LIKE qamr-prueflos,
             merknr  LIKE qamr-merknr,
             text(220),
            END OF t_email_date_error.
    DATA : gt_email_date_error TYPE STANDARD TABLE OF t_email_date_error,
           gw_email_date_error TYPE t_email_date_error.
    TYPES : BEGIN OF t_email_conf_doc_error,
             aufnr LIKE viaufks-aufnr,
             vornr LIKE afvc-vornr,
             text(220),
            END OF t_email_conf_doc_error.
    DATA : gt_email_conf_doc_error TYPE STANDARD TABLE OF
    t_email_conf_doc_error,
           gw_email_conf_doc_error TYPE t_email_conf_doc_error.
    SELECTION-SCREEN : BEGIN OF BLOCK b4 WITH FRAME TITLE text-004.
    PARAMETERS : cb_email AS CHECKBOX DEFAULT 'X'.
    *SELECTION-SCREEN BEGIN OF LINE.
    *SELECTION-SCREEN COMMENT (16) text-007 FOR FIELD p_email1.
    PARAMETERS : p_email LIKE somlreci1-receiver,
                 p_email1 LIKE adr6-smtp_addr.
    PARAMETERS : p_table1 AS CHECKBOX,
                 p_table2 AS CHECKBOX,
                 p_table3 AS CHECKBOX.
    SELECTION-SCREEN : END OF BLOCK b4.
    CLEAR gw_email_update_iw32.
    REFRESH gt_email_update_iw32.
    gw_email_update_iw32-aufnr = '1234567'.
    gw_email_update_iw32-vornr = '0010'.
    gw_email_update_iw32-text = 'This is table1'.
    APPEND  gw_email_update_iw32 TO gt_email_update_iw32.
    CLEAR gw_email_update_iw32.
    gw_email_update_iw32-aufnr = '4564578'.
    gw_email_update_iw32-vornr = '0020'.
    gw_email_update_iw32-text = 'This is table1'.
    APPEND  gw_email_update_iw32 TO gt_email_update_iw32.
    gw_email_date_error-aufnr = '222615'.
    gw_email_date_error-prueflos = '1111'.
    gw_email_date_error-merknr = '2222'.
    gw_email_date_error-text = 'This is table2'.
    APPEND gw_email_date_error TO gt_email_date_error.
    gw_email_date_error-aufnr = '222615'.
    gw_email_date_error-prueflos = '3333'.
    gw_email_date_error-merknr = '4444'.
    gw_email_date_error-text = 'This is table2'.
    APPEND gw_email_date_error TO gt_email_date_error.
    gw_email_conf_doc_error-aufnr = '9900107987'.
    gw_email_conf_doc_error-vornr = '999999'.
    gw_email_conf_doc_error-text  = 'This is table3'.
    APPEND gw_email_conf_doc_error TO gt_email_conf_doc_error.
    gw_email_conf_doc_error-aufnr = '9900107987'.
    gw_email_conf_doc_error-vornr = '999999'.
    gw_email_conf_doc_error-text  = 'This is table3'.
    APPEND gw_email_conf_doc_error TO gt_email_conf_doc_error.
    DATA : lw_space VALUE ''.
    SET PARAMETER ID 'ZPDF' FIELD lw_space.
    DATA : pripar LIKE pri_params.
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING
        in_parameters          = pripar
        line_size              = 255
        layout                 = 'X_65_132'
        no_dialog              = 'X'
      IMPORTING
        out_parameters         = pripar
      EXCEPTIONS
        archive_info_not_found = 1
        invalid_print_params   = 2
        invalid_archive_params = 3
        OTHERS                 = 4.
    NEW-PAGE PRINT ON PARAMETERS pripar NO DIALOG .
    RESERVE 5 LINES.
    DATA : text1(10) TYPE c  VALUE 'AUFNR',
           text2(10) TYPE c VALUE 'VORNR',
           text3(50) TYPE c VALUE 'TEXT'.
    IF p_table1 = 'X'.
      WRITE  AT 10   text1. WRITE AT 30  text2 . WRITE AT 30 text3.
      LOOP AT  gt_email_update_iw32 INTO  gw_email_update_iw32.
        WRITE : /  gw_email_update_iw32-aufnr , gw_email_update_iw32-vornr ,
    gw_email_update_iw32-text.
      ENDLOOP.
    ENDIF.
    WRITE : / sy-uline .
    IF p_table2 = 'X'.
      WRITE : / 'AUFNR' , 'PRUEFLOS' ,  'MERKNR', 'TEXT' .
      LOOP AT gt_email_date_error INTO gw_email_date_error.
        WRITE : / gw_email_date_error-aufnr, gw_email_date_error-prueflos,
    gw_email_date_error-merknr,gw_email_date_error-text.
      ENDLOOP.
    ENDIF.
    WRITE : / sy-uline .
    IF p_table3 = 'X'.
      WRITE : / 'AUFNR' , 'VORNR' , 'TEXT' .
      LOOP AT gt_email_conf_doc_error INTO gw_email_conf_doc_error.
        WRITE : / gw_email_conf_doc_error-aufnr,
    gw_email_conf_doc_error-vornr, gw_email_conf_doc_error-text.
      ENDLOOP.
    ENDIF.
    NEW-PAGE PRINT OFF.
    DATA : mtab_pdf LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA : rqident LIKE tsp01-rqident ,
           rqcretime LIKE tsp01-rqcretime .
    SELECT  rqident  rqcretime FROM tsp01
           INTO (rqident,rqcretime)
           WHERE rqowner = sy-uname
           ORDER BY rqcretime DESCENDING.
      EXIT.
    ENDSELECT.
    DATA: spool_id LIKE tsp01-rqident.
    MOVE  rqident TO spool_id.
    DATA : p_file LIKE rlgrap-filename VALUE 'C:\file.pdf' ,
           numbytes TYPE i,
           cancel.
    CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
      EXPORTING
        src_spoolid = spool_id
          NO_DIALOG =
          DST_DEVICE =
          PDF_DESTINATION =
    IMPORTING
        pdf_bytecount = numbytes
          PDF_SPOOLID =
          LIST_PAGECOUNT =
          BTC_JOBNAME =
          BTC_JOBCOUNT =
      TABLES
        pdf = mtab_pdf
    EXCEPTIONS
       err_no_abap_spooljob = 1
       err_no_spooljob = 2
       err_no_permission = 3
       err_conv_not_possible = 4
       err_bad_destdevice = 5
       user_cancelled = 6
       err_spoolerror = 7
       err_temseerror = 8
       err_btcjob_open_failed = 9
       err_btcjob_submit_failed = 10
       err_btcjob_close_failed = 11
       OTHERS = 12
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    end
    DATA :  w_buffer TYPE string. "To convert from 132 to 255
    DATA : i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE.
    LOOP AT mtab_pdf.
    Replacing space by ~
      TRANSLATE mtab_pdf USING ' ~'.
      CONCATENATE w_buffer mtab_pdf INTO w_buffer.
    ENDLOOP.
    Replacing ~ by space
    TRANSLATE w_buffer USING '~ ' .
    DO.
      i_record = w_buffer.
    Appending 255 characters as a record
      APPEND i_record.
      SHIFT w_buffer LEFT BY 255 PLACES.
      IF w_buffer IS INITIAL.
        EXIT.
      ENDIF.
    ENDDO.
    *start try
    DATA: objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
    DATA: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
    DATA: objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE.
    DATA: doc_chng LIKE sodocchgi1.
    DATA : tab_lines TYPE c.
    doc_chng-obj_name = 'TEST'.
    doc_chng-obj_descr = 'Mail came successfully'.
    objtxt = 'Regards'.
    APPEND objtxt.
    objtxt = 'Nitin'.
    APPEND objtxt.
    objtxt = 'hahaha'.
    APPEND objtxt.
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    * ERSTELLEN DES EINTRAGS ZUM KOMPRIMIERTEN DOKUMENT
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'RAW'.
    APPEND objpack.
    * ERSTELLEN DER ANLAGE FUR DAS DOKUMENT
    **OBJBIN = '\O/ '. APPEND OBJBIN.
    **OBJBIN = ' '. APPEND OBJBIN.
    **OBJBIN = ' / \ '. APPEND OBJBIN.
    LOOP AT i_record.
      objbin[] =  i_record[].
    ENDLOOP.
    DESCRIBE TABLE objbin LINES tab_lines.
    *objhead = 'picasso.txt'. APPEND objhead.
    * Erstellen des Eintrags zur komprimierten Anlage
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num = 1.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'PDF'.
    objpack-obj_name = 'PDF File received '.
    objpack-obj_descr = 'PDF File received '.
    *objpack-doc_size = ( tab_lines ) * 255 .
    APPEND objpack.
    * Fullen der Empfangerliste
    refresh reclist.
    reclist-rec_type = 'U'.
    reclist-receiver = p_email1.
    APPEND reclist.
    reclist-rec_type = 'B'.
    reclist-receiver = sy-uname.
    APPEND reclist.
    reclist-rec_type = 'U'.
    reclist-receiver = p_email.
    APPEND reclist.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
      EXPORTING
        document_data              = doc_chng
        put_in_outbox              = 'X'
      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.

  • E-Mail Functionality

    This might turn into an open letter to RIM, so please bear with me.
    I have been a BlackBerry user for 4 years now and, as a non-enterprise user, I am running into too many limitations to e-mail functionality.
    1. Truncated Email
    This is the first aspect in which other platforms exceed in e-mail and can draw me away from BlackBerry. I understand the need for truncated messages in other parts of the world where 3G/4G are not as prevalent as here in the States, but where unlimited data plans are required for many smartphones, this limitation is not needed. I vote to make these at the very least, optional for users to select whether to view the entire message or not. I can't tell you how many emails I've received only to find the "Truncated XXXXkb." It is very frustrating.
    2. Email Attachment Size Limitations
    The email attachment size limitations via BIS are very unpleasant. If I shoot a video of a couple seconds, it is already too big to be email to send via E-mail and I am forced to have to be near a computer before I can send the video. This is another limitation that I'm looking to move away from BlackBerry for.
    This goes even deeper with the browser on OS6. Today, I tried accessing the new Twitter Mobile site only to receive an error that the site is too large to view. This needs to change.
    3. Exchange/Folder Integration
    The only way for BIS users to access exchange is either through OWA (without PUSH) or through BES. Other platforms allow exchange functionality with the same data plans for the same prices that BIS users pay for their data plans. Unfortunately, BIS users need to pay extra to access Exchange with Activesync capabilities through BES. If the company does not deploy BES, then we are stuck with OWA. 
    Folder Integration is very unintuitive. If I have rules that skip my Inbox and have e-mail automatically placed in folders, I have to go to the folder to see that there are unread emails in there. The iPhone for instance shows a folder listing for only that account and, at a quick glance, I can view unread emails associated directly with the folder. 
    4. Gmail Plugin
    This may be a bug, but in the event that it is by design, I'd like to bring it up to your attention. Gmail has the 'All Mail' category and the 'Inbox' Category. The plugin checks the ALL MAIL folder for new email, however, by default, the Gmail plugin shows the Inbox. If I have filters that skip the inbox and go to ALL MAIL (aka. ARCHIVED), I get notification of new email, but opening the Gmail mailbox does not display new messages, unless I go to filter and ALL MAIL. Maybe a quick little count next to the folder name of unread messages in that folder would go a LONG way in alleviating this issue.
    I hope someone takes the time to read this and pass it on to the appropriate individuals.
    Thanks.

    mahen915 wrote:
    This might turn into an open letter to RIM, so please bear with me.
    I hope someone takes the time to read this and pass it on to the appropriate individuals.
    Thanks.
    You should know, this forum is the last place you ought to drop a open letter to RIM, and actually expect someone of note to read it. This is a user to user community forum. There's a CONTACT link at the bottom of the Blackberry.com page with all the addresses relevant to sending RIM a letter.
    1. This is part of the miracle of how RIM's email push and compressed data works with RIM and BlackBerrys. Only the first chuck of 2k of an email is initially transmittted and only when you open the email and scroll down does it begin to grab the next 2k chuck. It's how BIS and BES were designed and you will rave reviews from users on how RIM push email uses about 15% of the bandwidth of users data than other smartphone technologies.
    2. Ditto, but your numbers are way off. A couple seconds video and even double, triple and 10x that is not too large to send via email. I think the cap currently is 6mb? I need to check.
    3. Yep, you're not alone.
    4. Don't use it.
    Good luck.
    1. If any post helps you please click the below the post(s) that helped you.
    2. Please resolve your thread by marking the post "Solution?" which solved it for you!
    3. Install free BlackBerry Protect today for backups of contacts and data.
    4. Guide to Unlocking your BlackBerry & Unlock Codes
    Join our BBM Channels (Beta)
    BlackBerry Support Forums Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Attach GOS attachments with a standard send mail functionality

    Hi Folks,
    I am here after long time and need your help.
    I have a requirement where I need to attach document with a standard send mail functionality.
    Below is the details:
    From Quality notification 'Action Box', if the user select a perticular action (it is similar to web link), the system is sending a mail to an external mail id provided by the user (In a popup). This mail send is happening through a SAP standard functionality.
    Now the requirement is, I need to attach selected file from GOS (generic Object Services) and attach them to the mail. Sending mail should happen through standard functionality.
    I want to know below two points:
    1) How to get selected files from GOS attachment?
    2) How to attach them to mail? (only attach, sending will be done by standard functionality)
    Hope I am clear with the requirement.
    Please help me to get it resolved.
    thanks,
    Surajit

    1st - analyse fm SO_ATTACHMENT_LIST_READ and table SOOD
    and function groups sgos* and SOB2
    hope that helps
    Andreas

  • How to use Mail functionality OPTT in the Schema

    Dear All,
        We have a requirement where we need to send a mail to the Time Administrator if Time Evalution ends in Error.  We have implemented the functionality OPTT MAIL option in the schema, but it is not sending the mail to Time Administrator. We have maintained the Time Administrator table T526 with the SAP ID.
    Could anybody tell us, we have to do anyother configuration to enable the mail function
    Thanks in Advance
    Rajesh.S

    Hello Folks,
        Can anyone please let me know How to send a mail notification to the Time Administrator.
    In the Schema, OPTT MAIL 1 has declared.
    The Time Administrator is maintained in T526 table.
    Do we need to do other than above to send mail.
    Kindly let me know.
    Note. The COLER function is not used in the Schema.

  • How can I restore the Mail function on my iPhone 5c?

    In the past week, the Mail function on my iPhone 5c has gone completely blank. I had the Mail settings set to get mail from two Gmail accounts. In the few months that I've had the phone, I never had a problem with the Mail function. However, one day last week, the screen just went blank and has been blank every time I open the app. This is the native Mail function/app. I have tried deleting both accounts and re-adding them. That did not work. I tried resetting the phone to factory settings and that did not work either. Does anyone have any ideas?
    Thanks in advance.

    It can't be deleted.
    Have you double-checked every home screen and in every folder on each home screen?

Maybe you are looking for