Creating a PDF attachment and send it via Email

Hi,
I have following problem.
I want to send a Purchase Order via Mail to email inbox.
I already read in the forum that I should use the FM 'SO_NEW_DOCUMENT_ATT_SEND_API1'.
Could anyone please provide me with some information about that. So how can I insert my PO into this function module (PO-Document is based on smartform and not stored in the database as a pdf-file so far)  -  so do I need to use another FM first to create a PDF file or how is it working?
Thanks for your help,
Christoph

this code will help you
*& Report  YSMARTFORM_EMAIL
REPORT  YSMARTFORM_EMAIL.
TABLES: VBAK.
Constants                                                            *
CONSTANTS:
  C_X        TYPE C VALUE 'X',         " Value X
  C_0        TYPE C VALUE '0',                              " Value 0
  C_1        TYPE C VALUE '1'.                              " Value 1
Work Variables declaration                                           *
DATA:
   W_UCOMM  LIKE SY-UCOMM,             " Function code
   W_TABLN  TYPE I,                    " Lines
   W_LINE   TYPE SO_TEXT255,           " Line of text
   W_EADDR(60) TYPE C.                 " FieldLength for Email
DATA: VBAP_TAB LIKE VBAP OCCURS 0 WITH HEADER LINE.
DATA: W_FUNMOD TYPE RS38L_FNAM.
Structure to hold the Attributes of new Document
DATA: FS_DOCDATA TYPE SODOCCHGI1.
Internal table for storing OTF data form Smart-Form
DATA: BEGIN OF FS_OTF_DATA.
        INCLUDE STRUCTURE ITCOO.
DATA: END OF FS_OTF_DATA,
      T_OTF_DATA LIKE STANDARD TABLE OF FS_OTF_DATA.
Internal table for storing PDF data form Smart-Form
DATA: BEGIN OF FS_PDF_DATA.
        INCLUDE STRUCTURE TLINE.
DATA: END OF FS_PDF_DATA,
      T_PDF_DATA LIKE STANDARD TABLE OF FS_PDF_DATA.
Internal table to hold the attachment data text of the email
DATA: BEGIN OF FS_ATTACH_DATA.
        INCLUDE STRUCTURE SOLISTI1.
DATA: END OF FS_ATTACH_DATA,
      T_ATTACH_DATA LIKE STANDARD TABLE OF FS_ATTACH_DATA.
Internal table to hold Message body of the email
DATA: BEGIN OF FS_MESSBODY.
        INCLUDE STRUCTURE SOLISTI1.
DATA: END OF FS_MESSBODY,
      T_MESSBODY LIKE STANDARD TABLE OF FS_MESSBODY.
Internal table for packing list for main document
DATA: BEGIN OF FS_OBJPACK.
        INCLUDE STRUCTURE SOPCKLSTI1.
DATA: END OF FS_OBJPACK,
      T_OBJPACK LIKE STANDARD TABLE OF FS_OBJPACK.
Internal table for header text of the attachment
DATA: BEGIN OF FS_OBJHEAD.
        INCLUDE STRUCTURE SOLISTI1.
DATA: END OF FS_OBJHEAD,
      T_OBJHEAD LIKE STANDARD TABLE OF FS_OBJHEAD.
Internal table receiver information
DATA: BEGIN OF FS_RECEIVER.
        INCLUDE STRUCTURE SOMLRECI1.
DATA: END OF FS_RECEIVER,
      T_RECEIVER LIKE STANDARD TABLE OF FS_RECEIVER.
*Internal table to store data upto 255 lines
DATA: BEGIN OF FS_OBJCONT.
        INCLUDE STRUCTURE SOLI.
DATA: END OF FS_OBJCONT,
      T_OBJCONT LIKE STANDARD TABLE OF FS_OBJCONT.
*DATA : P_VBELN LIKE VBAK-VBELN.
DATA: P_EADDR(60) TYPE C
     VALUE '[email protected]'.
PARAMETERS : P_VBELN LIKE VBAK-VBELN.
*PARAMETERS:
P_EADDR(60) TYPE C.     " Email address
SELECT SINGLE *
  FROM VBAK
WHERE VBELN EQ P_VBELN.
SELECT *
  FROM VBAP
  INTO TABLE VBAP_TAB
WHERE VBELN EQ P_VBELN.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  EXPORTING
    FORMNAME                 = 'YSMARTFORM_EMAIL'
   VARIANT                  = ' '
   DIRECT_CALL              = ' '
IMPORTING
   FM_NAME                  = W_FUNMOD
EXCEPTIONS
   NO_FORM                  = 1
   NO_FUNCTION_MODULE       = 2
   OTHERS                   = 3      .
IF SY-SUBRC <> 0.
Do nothing
ENDIF.
DATA: FS_CONT_PARM TYPE SSFCTRLOP,
      T_JOB_INFO    TYPE SSFCRESCL.
CLEAR FS_CONT_PARM.
FS_CONT_PARM-GETOTF    = 'X'.
FS_CONT_PARM-NO_DIALOG = 'X'.
FS_CONT_PARM-PREVIEW   = ''.
CALL FUNCTION W_FUNMOD
  EXPORTING
   ARCHIVE_INDEX              =
   ARCHIVE_INDEX_TAB          =
   ARCHIVE_PARAMETERS         =
     CONTROL_PARAMETERS         = FS_CONT_PARM
   MAIL_APPL_OBJ              =
   MAIL_RECIPIENT             =
   MAIL_SENDER                =
   OUTPUT_OPTIONS             =
   USER_SETTINGS              = 'X'
    VBAK                       = VBAK
  IMPORTING
   DOCUMENT_OUTPUT_INFO       =
    JOB_OUTPUT_INFO            = T_JOB_INFO
   JOB_OUTPUT_OPTIONS         =
  TABLES
    VBAP                       = VBAP_TAB
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.
PERFORM CONVERT_OTF_TO_PDF.
*&      Form  convert_otf_to_pdf
      text
-->  p1        text
<--  p2        text
FORM CONVERT_OTF_TO_PDF .
  DATA: LV_BYTES TYPE P.
  IF FS_CONT_PARM-GETOTF EQ 'X'.
    REFRESH T_OTF_DATA.
    CLEAR FS_OTF_DATA.
    LOOP AT T_JOB_INFO-OTFDATA INTO FS_OTF_DATA.
      APPEND FS_OTF_DATA TO T_OTF_DATA.
      CLEAR FS_OTF_DATA.
    ENDLOOP.                           " LOOP AT t_outtab-otfdata
    CALL FUNCTION 'CONVERT_OTF'
      EXPORTING
        FORMAT                = 'PDF'
        MAX_LINEWIDTH         = 255
      IMPORTING
        BIN_FILESIZE          = LV_BYTES
      TABLES
        OTF                   = T_OTF_DATA
        LINES                 = T_PDF_DATA
      EXCEPTIONS
        ERR_MAX_LINEWIDTH     = 1
        ERR_FORMAT            = 2
        ERR_CONV_NOT_POSSIBLE = 3
        OTHERS                = 4.
    IF SY-SUBRC EQ 0 AND LV_BYTES IS NOT INITIAL.
      PERFORM TABLE_SHIFT.
To send the output by email
      PERFORM SET_UP_EMAIL.
      PERFORM SEND_MAIL.
    ENDIF.                             " IF sy-subrc EQ space.
  ENDIF.                               " IF gs_control_pars-getotf
ENDFORM.                               " convert_otf_to_pdf
Form  set_up_email                                                   *
This subroutine is used to set mail attributes                       *
There are no interface parameters to be passed to this subroutine.   *
FORM SET_UP_EMAIL .
To setup attributes of the document
  PERFORM SET_EMAIL_HEADER.
To set body of email
  PERFORM SET_EMAILBODY.
To convert output table data with tab delimiter
  PERFORM PREPARE_OUTPUT_DATA_FOR_ATTACH.
To set the Receipents
  PERFORM SET_RECEIPENTS.
ENDFORM.                               " Set_up_email
Form  set_email_header                                               *
This subroutine is used to Setup the attributes of the Document      *
There are no interface parameters to be passed to this subroutine.   *
FORM SET_EMAIL_HEADER.
  CONSTANTS :
    LC_P TYPE C   VALUE 'P',             " Production system name
    LC_F TYPE C   VALUE 'F',             " Sensitivity
    LC_OBJNAME(6) TYPE C                 " Object name
                  VALUE 'SAPRPT'.
  CLEAR FS_DOCDATA.
Populate the subject/generic message attributes
  FS_DOCDATA-DOC_SIZE   = 1.
  FS_DOCDATA-OBJ_LANGU  = SY-LANGU.
  FS_DOCDATA-OBJ_NAME   = LC_OBJNAME.
  FS_DOCDATA-SENSITIVTY = LC_F.
  IF SY-SYSID+0(1) NE LC_P.
    CONCATENATE 'Test mail'(003)
                'Sales Order Details'(002)
           INTO FS_DOCDATA-OBJ_DESCR
      SEPARATED BY SPACE.
  ELSE.
    MOVE TEXT-002 TO FS_DOCDATA-OBJ_DESCR.
  ENDIF.                               " IF sy-sysid+0(1)...
ENDFORM.                               " Set_email_header
Form  set_emailbody                                                  *
This subroutine is used to set body of an email                      *
There are no interface parameters to be passed to this subroutine.   *
FORM SET_EMAILBODY.
  CONSTANTS:
    LC_DOC_TYPE(3) TYPE C VALUE 'RAW'. " Document type
  REFRESH : T_OBJPACK,
            T_MESSBODY.
  CLEAR : FS_OBJPACK,
          FS_MESSBODY.
  MOVE:
    'Hi,'(004) TO FS_MESSBODY-LINE.
  APPEND FS_MESSBODY TO T_MESSBODY.
  CLEAR FS_MESSBODY.
  MOVE:
  'The attachment contains sales order details.'(005)
   'www.google.com'
    TO FS_MESSBODY-LINE.
  APPEND FS_MESSBODY TO T_MESSBODY.
  CLEAR W_TABLN.
  DESCRIBE TABLE T_MESSBODY LINES W_TABLN.
  CLEAR FS_MESSBODY.
  READ TABLE T_MESSBODY INTO FS_MESSBODY INDEX W_TABLN.
  FS_DOCDATA-DOC_SIZE = ( W_TABLN - 1 ) * 255 + STRLEN( W_LINE ).
  MOVE:
    SPACE    TO FS_OBJPACK-TRANSF_BIN,
    C_1      TO FS_OBJPACK-HEAD_START,
    C_0      TO FS_OBJPACK-HEAD_NUM,
    C_1      TO FS_OBJPACK-BODY_START,
    W_TABLN  TO FS_OBJPACK-BODY_NUM,
    LC_DOC_TYPE TO FS_OBJPACK-DOC_TYPE.
  APPEND FS_OBJPACK TO T_OBJPACK.
ENDFORM.                               " Set_emailbody
Form  prepare_output_data_for_attach                                 *
To convert the output table data with comma delimiter                *
There are no interface parameters to be passed to this subroutine.   *
FORM PREPARE_OUTPUT_DATA_FOR_ATTACH.
  CONSTANTS:
    LC_DOC_TYPE(3) TYPE C VALUE 'PDF', " Document type
    LC_OBJNAME(6)  TYPE C VALUE 'SAPRPT'. " Object name
  REFRESH T_OBJHEAD.
  REFRESH T_ATTACH_DATA[].
  CLEAR   FS_ATTACH_DATA.
  T_ATTACH_DATA[] = T_OBJCONT[].
  DESCRIBE TABLE T_ATTACH_DATA LINES W_TABLN.
  FS_DOCDATA-DOC_SIZE   = ( W_TABLN - 1 ) * 255 + STRLEN( W_LINE ).
  FS_OBJPACK-BODY_NUM   = W_TABLN.
  FS_OBJPACK-DOC_SIZE   = W_TABLN * 255.
  FS_OBJPACK-TRANSF_BIN = C_X.
  FS_OBJPACK-HEAD_START = C_1.
  FS_OBJPACK-HEAD_NUM   = C_1.
  FS_OBJPACK-BODY_START = C_1.
  FS_OBJPACK-DOC_TYPE   = LC_DOC_TYPE.
  FS_OBJPACK-OBJ_NAME   = 'Attachment'.
  FS_OBJPACK-OBJ_DESCR  = 'Sales Order Details.PDF'(007).
  APPEND FS_OBJPACK TO T_OBJPACK.
ENDFORM.                               " Prepare_output_data_for_attach
Form  set_receipents                                                 *
This subroutine is used to set the Receipents                        *
There are no interface parameters to be passed to this subroutine.   *
FORM SET_RECEIPENTS .
  CONSTANTS
   LC_REC_TYPE TYPE C VALUE 'U'.      " Receipent type
  REFRESH T_RECEIVER.
  IF P_EADDR IS NOT INITIAL.
    MOVE:
      P_EADDR TO FS_RECEIVER-RECEIVER,
      LC_REC_TYPE TO FS_RECEIVER-REC_TYPE.
    APPEND FS_RECEIVER TO T_RECEIVER.
  ENDIF.                               " IF P_EMAIL IS NOT.....
ENDFORM.                               " Set_receipents
Form  send_mail                                                      *
This subroutine is used to send output by email                      *
There are no interface parameters to be passed to this subroutine.   *
FORM SEND_MAIL.
  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
    EXPORTING
      DOCUMENT_DATA                   = FS_DOCDATA
      PUT_IN_OUTBOX                   = C_X
    SENDER_ADDRESS                   = SY-UNAME
    SENDER_ADDRESS_TYPE              = 'B'
      COMMIT_WORK                     = C_X
    TABLES
      PACKING_LIST                    = T_OBJPACK
      OBJECT_HEADER                   = T_OBJHEAD
      CONTENTS_BIN                    = T_ATTACH_DATA
      CONTENTS_TXT                    = T_MESSBODY
      RECEIVERS                       = T_RECEIVER
   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 NE 0.
    MESSAGE I007(CLAIM).
  ELSE.
    MESSAGE S592(EI).
  ENDIF.                               " IF sy-subrc NE 0.
ENDFORM.                               " Send_mail
*&      Form  table_shift
The PDF file that is generated out of the above function module
cannot be transported as it needs to be of 255 chars.Hence
converting the file to get a 255 char single line,internal table.
*There are no interface parameters to be passed to this subroutine
FORM TABLE_SHIFT .
  CONSTANTS:
    CNV_HEXCONST_ZERO TYPE X VALUE '00'.
  DATA:
    LV_BIG_LINES(268) TYPE C
                      OCCURS 0 WITH HEADER LINE.
  DATA:
    LFL_FLAG          TYPE C,
    LV_LEFT_T(268)    TYPE C,
    LV_LEFT_I         TYPE I,
    TV_LEFT_I         TYPE I,
    LV_CURR_I         TYPE I.
  FIELD-SYMBOLS: <F>.
Get the lines into a table of 268 char as the first step to put it in
the pdf file of 255 chars
  CLEAR LFL_FLAG.
  LOOP AT T_PDF_DATA INTO FS_PDF_DATA.
    IF LFL_FLAG EQ ' '.
      CLEAR LV_BIG_LINES WITH CNV_HEXCONST_ZERO.
      ASSIGN LV_BIG_LINES(134) TO <F>.
      <F> = FS_PDF_DATA.
      LFL_FLAG = 'X'.
    ELSE.
      LV_BIG_LINES+134 = FS_PDF_DATA.
      APPEND LV_BIG_LINES.
      CLEAR: LFL_FLAG.
    ENDIF.                             " If lfl_flag = ''..
  ENDLOOP.                             " Loop at t_pdf
  IF LFL_FLAG EQ 'X'.
    APPEND LV_BIG_LINES.
  ENDIF.                               " If lflf_flag eq 'X'..
Next fill it into a 255 char table
  CLEAR: LV_LEFT_T, LV_LEFT_I, TV_LEFT_I.
  LV_CURR_I = 255.
  LOOP AT LV_BIG_LINES.
    IF LV_LEFT_I NE 0.
      IF LV_CURR_I NE 0.
        FS_OBJCONT(LV_LEFT_I)           = LV_LEFT_T(LV_LEFT_I).
        FS_OBJCONT+LV_LEFT_I(LV_CURR_I) = LV_BIG_LINES(LV_CURR_I).
      ELSE.
        FS_OBJCONT = LV_LEFT_T(LV_LEFT_I).
      ENDIF.                           " IF lv_curr_i NE 0
    ELSE.
      FS_OBJCONT = LV_BIG_LINES(LV_CURR_I).
    ENDIF.                             " IF lv_left_i NE 0
    APPEND FS_OBJCONT TO T_OBJCONT.
    TV_LEFT_I = 268 - LV_CURR_I.
    IF TV_LEFT_I > 255.
      FS_OBJCONT = LV_BIG_LINES+LV_CURR_I(255).
      APPEND FS_OBJCONT TO T_OBJCONT.
      LV_LEFT_I = TV_LEFT_I - 255.
      TV_LEFT_I = 255 + LV_CURR_I.
      LV_CURR_I = 255 - LV_LEFT_I.
      LV_LEFT_T = LV_BIG_LINES+TV_LEFT_I.
    ELSE.
      LV_LEFT_T = LV_BIG_LINES+LV_CURR_I.
      LV_LEFT_I = 268 - LV_CURR_I.
      LV_CURR_I = 255 - LV_LEFT_I.
    ENDIF.                             " IF tv_left_i > 255
  ENDLOOP.                             " LOOP AT lv_big_lines.
  CLEAR FS_OBJCONT WITH CNV_HEXCONST_ZERO.
  ASSIGN FS_OBJCONT(LV_LEFT_I) TO <F>.
  <F> = LV_LEFT_T(LV_LEFT_I).
  APPEND FS_OBJCONT TO T_OBJCONT.
ENDFORM.                               " Table_shift

Similar Messages

  • To convert Smart Form output to PDF format and send it via email.

    Hi Friends,
    Could any one please tell me, how to convert the Smart Forms output to PDF format and send it via email to customer. If any one have the code, kindly mail me to [email protected]
    Thanks & Regards,
    John

    Refer the links -
    how to convert smartform into pdf and send through mail
    Smartform as PDF attachment to a mail.
    smartform pdf and mail
    smartform to pdf to mail
    Regrads,
    Amit
    Reward all helpful replies.

  • To convert Sap Script output to PDF format and send it via email.

    Hi Friends,
    Could any one please tell me, how to convert the Sap Script output to PDF format and send it via email. If any one have the code, kindly mail me to [email protected]
    Thanks & Regards,
    John

    Plese check this sample code from other thread.
    REPORT zzz_jaytest .
    Types Declaration
    TYPES : BEGIN OF ty_pa0001,
    pernr TYPE pa0001-pernr,
    bukrs TYPE pa0001-bukrs,
    werks TYPE pa0001-werks,
    END OF ty_pa0001.
    Internal Table Declaration
    DATA : i_pa0001 TYPE STANDARD TABLE OF ty_pa0001, "For pa0001 Details
    i_otf TYPE STANDARD TABLE OF itcoo, "For OTF data
    i_content_txt TYPE soli_tab, "Content
    i_content_bin TYPE solix_tab, "Content
    i_objhead TYPE soli_tab,
    Work Area Declaration
    w_pa0001 TYPE ty_pa0001, "For pa0001 Details
    w_res TYPE itcpp, "SAPscript output
    "parameters
    w_otf TYPE itcoo, "For OTF
    w_pdf TYPE solisti1, "For PDF
    w_transfer_bin TYPE sx_boolean, "Content
    w_options TYPE itcpo, "SAPscript output
    "interface
    Variable Declaration
    v_len_in TYPE so_obj_len,
    v_size TYPE i.
    Constants Declaration
    CONSTANTS : c_x TYPE c VALUE 'X', "X
    c_locl(4) TYPE c VALUE 'LOCL', "Local Printer
    c_otf TYPE sx_format VALUE 'OTF', "OTF
    c_pdf TYPE sx_format VALUE 'PDF', "PDF
    c_printer TYPE sx_devtype VALUE 'PRINTER', "PRINTER
    c_bin TYPE char10 VALUE 'BIN', "BIN
    c_name TYPE string VALUE 'C:\ZZZ_JAYTEST.PDF',"Downloading
    "File Name
    c_form(11) TYPE c VALUE 'ZZZ_JAYTEST'. "Form Name
    START-OF-SELECTION.
    Selecting the records from pa0001
    SELECT pernr bukrs werks FROM pa0001
    INTO TABLE i_pa0001 UP TO 10 ROWS.
    Setting the options
    w_options-tdcopies = 1 ."Number of copies
    w_options-tdnoprev = c_x."No print preview
    w_options-tdgetotf = c_x."Return of OTF table
    w_options-tddest = c_locl."Spool: Output device
    Opening the form
    CALL FUNCTION 'OPEN_FORM'
    EXPORTING
    form = c_form
    device = c_printer
    language = sy-langu
    OPTIONS = w_options
    IMPORTING
    RESULT = w_res.
    LOOP AT i_pa0001 INTO w_pa0001.
    Writting into the form
    CALL FUNCTION 'WRITE_FORM'
    EXPORTING
    element = 'MAIN'
    window = 'MAIN'.
    ENDLOOP.
    Closing the form
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
    RESULT = w_res
    TABLES
    otfdata = i_otf
    EXCEPTIONS
    unopened = 1
    bad_pageformat_for_print = 2
    send_error = 3
    spool_error = 4
    codepage = 5
    OTHERS = 6.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Converting OTF data to single line
    LOOP AT i_otf INTO w_otf.
    CONCATENATE w_otf-tdprintcom w_otf-tdprintpar
    INTO w_pdf.
    APPEND w_pdf TO i_content_txt.
    ENDLOOP.
    Converting to PDF Format
    CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
    EXPORTING
    format_src = c_otf
    format_dst = c_pdf
    devtype = c_printer
    CHANGING
    transfer_bin = w_transfer_bin
    content_txt = i_content_txt
    content_bin = i_content_bin
    objhead = i_objhead
    len = v_len_in
    EXCEPTIONS
    err_conv_failed = 1
    OTHERS = 2.
    v_size = v_len_in.
    Downloading the PDF File
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    bin_filesize = v_size
    filename = c_name
    filetype = c_bin
    TABLES
    data_tab = i_content_bin.
    The extension is put the it_mailpack-obj_name parameter of 'SO_NEW_DOCUMENT_ATT_SEND_API1'.

  • How to create an excel report and send it via email using a BPEL process ?

    Hi Experts,
    I have a requirement to develop a xl report based the data in the DB table. I will have to query the list of records entered / processed during previous day, generated the xl based report and send to users via email.
    I talked to one the experts, he asked me to use the following Adapter and BPEL activities to accomplish it.
                   DBAdapter --> {BPEL  process} --> Java Embedding --> Email Activity.
    Can someone please help me to pass the information retrieved by DBAdapter to Java Embedding and then to email import? I have created DBAdapter and Java Embedding. I don't know, how to retrieve the data read / sent by DBAdapter using Java Embedding. Also please help me to pass the xl attachment to Email Activity.
    Thanks for your help in advance!
    Thanks,
    Harisudhan Selvaraj

    I would suggest something like:
    DBAdapter --> Bpel Process --> File Adapter --> write file to location (you can write in csv which can be imported into xls)
    Read Location --> FileAdapter --> Bpel Process --> Email Activity
    Regards,
    Anshul

  • The problem is with the new operating system  and sending photo via email when used in my iPad.   From photo I selected 3 photos to send via email. I choose the upload key and choose to send by email. Typing text on the email is very slow.

    The problem is with the new operating system  and sending photo via email when used in my iPad.
    From photo I selected 3 photos to send via email. I choose the upload key and choose to send by email. Typing text on the email is very slow. This is solved by saving the email as a draft and opening the email again from mail.
    Can you amend he system to allow emails to be sent from photo as previously.

    Have you tried restarting or resetting your iPad?
    Restart: Press On/Off button until the Slide to Power Off slider appears, select Slide to Power Off and, after the iPad shuts down, then press the On/Off button until the Apple logo appears.
    Reset: Press the Home and On/Off buttons at the same time and hold them until the Apple logo appears (about 10 seconds). Ignore the "Slide to power off"

  • When I select a photo on my iPhone and send it via email, the receipient receives it sideways. Any way to fix that?

    When I select a photo on my iPhone and send it via email, the receipient receives it sideways. Any way to fix that?

    When you took this photograph your phone was being held in that way. Sideways, try taking the photo straight on. Or it is the Picture file itself, open up the application you edit photos with and rotate it to be proper orientation. I recently had the same problem but you either have to retake or edit it at this point.

  • I have been taking photos with my Ipad for several months and sending them via email and Facebook.  Now it will transfer photos to FB but not email addresses.   What could be the problem?          email an

    Have been taking photos with my Ipad and sending them to email address and FB.  For some reason it will now send photos to FB but not my email address.  What could be the problem?

    Does your email provider have a limit on the total file size allowed on their server? It could be that emails with photos send in the past are still on your email server. They might even be in the servers trash folder. If the total MB of those emails exceeds the amount allowed then no additional emails can be received. Try using a web mail page to check and edit what's on the email server.

  • Smartform to convert as pdf attachment and sending mail.

    Program to convert smartform as PDF and send PDF as an atachment to email id.
    ********Variable Declarations ****************************
    DATA: gv_form_name TYPE rs38l_fnam, " Used to store the function module generated by Smartform
    gv_bin_filesize TYPE i, " Store the file size
    gv_pos TYPE i,
    gv_len TYPE i,
    gv_tab_lines TYPE i.
    *******Constants ******************************************
    DATA : gc_text(11) TYPE c VALUE 'Form Output',
    gc_tst(3) TYPE c VALUE 'TST',
    gc_testing(7) TYPE c VALUE 'Testing'.
    CONSTANTS : c_formname           TYPE tdsfname VALUE 'ZSMART_T'.     "Zsmart_t is the smartform name.
    ********Work Area Declarations ****************************
    DATA: gs_docdata TYPE sodocchgi1, " Data of an object which can be changed
    gs_ctrlop TYPE ssfctrlop, " Smart Forms: Control structure
    gs_outopt TYPE ssfcompop, " SAP Smart Forms: Smart Composer (transfer) options
    gs_otfdata TYPE ssfcrescl, " Smart Forms: Return value at end of form printing
    gs_reclist TYPE somlreci1, " SAPoffice: Structure of the API Recipient List
    gs_pdf_tab TYPE tline, " Workarea for SAP Script Text Lines
    gs_objbin TYPE solisti1, " SAPoffice: Single List with Column Length 255
    gs_objpack TYPE sopcklsti1. " SAPoffice: Description of Imported Object Components
    ********Internal tables Declarations ****************************
    DATA: gt_reclist TYPE TABLE OF somlreci1, " SAPoffice: Structure of the API Recipient List
    gt_pdf_tab TYPE TABLE OF tline, " SAPscript: Text Lines
    gt_otf TYPE TABLE OF itcoo, " OTF Structure
    gt_objbin TYPE TABLE OF solisti1, " SAPoffice: Single List with Column Length 255
    gt_objpack TYPE TABLE OF sopcklsti1. " SAPoffice: Description of Imported Object Components
    DATA: customer TYPE scustom,
          bookings TYPE ty_bookings,
          connections TYPE ty_connections.
    CLEAR : gv_form_name,
    gs_ctrlop,
    gs_outopt,
    gs_otfdata,
    gv_bin_filesize,
    gv_pos,
    gv_len,
    gv_tab_lines.
    START-OF-SELECTION.
    Generate Function Module name
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = c_formname
        IMPORTING
          fm_name            = gv_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.
    Assigning values to Form Control Structure and Form Composer
      gs_ctrlop-getotf = 'X'.
      gs_ctrlop-device = 'PRINTER'.
      gs_ctrlop-preview = ''.
      gs_ctrlop-no_dialog = 'X'.
      gs_outopt-tddest = 'LP01'.  "or  'LOCL'.
    Getting the OTFDATA
      CALL FUNCTION gv_form_name
        EXPORTING
          control_parameters = gs_ctrlop
          output_options     = gs_outopt
          user_settings      = ' '
          customer           = customer
          bookings           = bookings
          connections        = connections
        IMPORTING
          job_output_info    = gs_otfdata
        EXCEPTIONS
          formatting_error   = 1
          internal_error     = 2
          send_error         = 3
          user_canceled      = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Assigning the OTFDATA to OTF Structure table
      CLEAR gt_otf.
      gt_otf[] = gs_otfdata-otfdata[].
    Convert the OTF DATA to SAP Script Text lines
      CLEAR gt_pdf_tab.
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format                = 'PDF'
          max_linewidth         = 132
        IMPORTING
          bin_filesize          = gv_bin_filesize
        TABLES
          otf                   = gt_otf
          lines                 = gt_pdf_tab
        EXCEPTIONS
          err_max_linewidth     = 1
          err_format            = 2
          err_conv_not_possible = 3
          OTHERS                = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Assigning the Description of the object sent in the mail
      CLEAR gs_docdata.
      gs_docdata-obj_name = gc_tst.
      gs_docdata-obj_descr = gc_testing.
    Assigning the email id to Structure of the API Recipient List table
      CLEAR : gt_reclist, gs_reclist.
    IF internal mail id
    gs_reclist-receiver = sy-uname.
    GS_RECLIST-REC_TYPE = 'B'.
    if external mail id
      gs_reclist-receiver = mailid.com'.
      gs_reclist-rec_type = 'U'.
      APPEND gs_reclist TO gt_reclist.
    Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table
      CLEAR : gs_objbin, gs_pdf_tab.
      LOOP AT gt_pdf_tab INTO gs_pdf_tab.
        gv_pos = 255 - gv_len.
        IF gv_pos > 134. "length of pdf_table
          gv_pos = 134.
        ENDIF.
        gs_objbin+gv_len = gs_pdf_tab(gv_pos).
        gv_len = gv_len + gv_pos.
        IF gv_len = 255. "length of out (contents_bin)
          APPEND gs_objbin TO gt_objbin.
          CLEAR: gs_objbin, gv_len.
          IF gv_pos < 134.
            gs_objbin = gs_pdf_tab+gv_pos.
            gv_len = 134 - gv_pos.
          ENDIF.
        ENDIF.
      ENDLOOP.
      IF gv_len > 0.
        APPEND gs_objbin TO gt_objbin.
      ENDIF.
    Filling the details in SAPoffice: Description of Imported Object Components table
      DESCRIBE TABLE gt_objbin LINES gv_tab_lines.
      CLEAR gs_objbin.
      READ TABLE gt_objbin INTO gs_objbin INDEX gv_tab_lines.
      IF sy-subrc = 0.
        gs_objpack-doc_size = ( gv_tab_lines - 1 ) * 255 + STRLEN( gs_objbin ).
        gs_objpack-transf_bin = 'X'.
        gs_objpack-head_start = 1.
        gs_objpack-head_num = 0.
        gs_objpack-body_start = 1.
        gs_objpack-body_num = gv_tab_lines.
        gs_objpack-doc_type = 'PDF'.
        gs_objpack-obj_name = 'ATTACHMENT'.
        gs_objpack-obj_descr = 'test'.
        APPEND gs_objpack TO gt_objpack.
      ENDIF.
    Sending the Form Output in the PDF format to email
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = gs_docdata
          put_in_outbox              = 'X'
          commit_work                = 'X'
        TABLES
          packing_list               = gt_objpack
          contents_bin               = gt_objbin
          receivers                  = gt_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 sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        WRITE 'Sent Successfully'.
      ENDIF.
      SUBMIT rsconn01
      WITH mode EQ 'INT'
      AND RETURN.
    END-OF-SELECTION.

    Hi
    Use function modules
              CALL FUNCTION 'CONVERT_OTF'
    and  CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'  to convert as a pdf document
    for sending mail  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    Regards,
    Gopi

  • Is it possible to create a PDF form and send to a group of teachers and have it returned to different email recipeints

    Is it possible to create a PDF form for teachers and have it submitted by email to 3 different principals??

    Yes. As the target URL of your submit button enter something like this:
    mailto:[email protected],[email protected],[email protected]

  • How to Convert file to excel and send it via email

    Hi experts.
    Can anyone tell me how to convert a spool data in to excel format and the send it through e-mail......
    We have a function module for converting spool data to pdf and send it through mail ie FM CONVERT_ABAPSPOOLJOB_2_PDF,
    but is there any FM for Excel ....
    Kindly help me.....
    Thanks
    Naveen

    you can send a file as an exel attachment in mail,
    step 1:
       send file data to an internal table.
    step 2:
       loop through the internal table(itab).
        concatinate itab-field1
                          abap_char_utilities=>horizontal tab
                         itab-field2
                         abap_char_utilities=>horizontal tab
                        abap_char_utilities=>vertical tab
            into t_attachment-line
    append t_attachment
    step 3:
    Fill the document data and get size of attachment
      CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.  
      w_doc_data-doc_size =
      ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
    Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      APPEND t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'XLS'.
       t_packing_list-doc_size = t_packing_list-body_num * 255.
      t_packing_list-obj_name   = 'Attachment'.
      t_packing_list-obj_descr  = 'mail xls'
      APPEND t_packing_list.
    Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
        MOVE: mail id TO t_receivers-receiver,
        'U' TO t_receivers-rec_type,
        APPEND t_receivers.
      CALL  FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = w_doc_data
          put_in_outbox              = 'X'
          commit_work                = 'X'
        TABLES
          packing_list               = t_packing_list
          contents_bin               = t_attachment
          contents_txt               = it_message
          receivers                  = t_receivers
        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.
    check the FM and creat the internal table types
    by this way you can send excel as an attachment 
    but problem in sending EXCEL attachment is if the data crosses the limit of excle file the file will not open.

  • Convert PO into PDF format and send by an email to vendor

    We are using SAP version ECC 5.0. We want to convert SAP PO into PDF format and attached it in an email and send it to vendor. Please give me some tips to achieve this?
    Thanks in advance!
    Mrudula

    Hi!
    The way to achieve your goal depends on how you get PO printed - by sapscript, smartform or abap list.
    As have been mentioned you can create spool request and process it. But for sapscript and smartform you can proceed without spool request - just get back OTF data from corresponding FM and convert it to PDF.
    In case of smartform:
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = 'ZFORMNAME'
    IMPORTING
    fm_name = v_form_name
    EXCEPTIONS
    no_form = 1
    no_function_module = 2
    OTHERS = 3.
    w_ctrlop-getotf = 'X'.
    w_ctrlop-no_dialog = 'X'.
    w_compop-tdnoprev = 'X'.
    CALL FUNCTION v_form_name
    EXPORTING
    control_parameters = w_ctrlop
    output_options = w_compop
    user_settings = 'X'
    IMPORTING
    job_output_info = w_return
    EXCEPTIONS
    formatting_error = 1
    internal_error = 2
    send_error = 3
    user_canceled = 4
    OTHERS = 5.
    i_otf[] = w_return-otfdata[].
    In case of sapscript:
    options-tdgetotf = 'X'.
    CALL FUNCTION 'OPEN_FORM'
    EXPORTING
    options = options
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
    RESULT =
    RDI_RESULT =
    TABLES
    otfdata = i_otf
    EXCEPTIONS
    unopened = 1
    bad_pageformat_for_print = 2
    send_error = 3
    spool_error = 4
    OTHERS = 5.
    Then convert to PDF
    DATA:
    pdf LIKE tline OCCURS 100 WITH HEADER LINE,
    v_len_in LIKE sood-objlen.
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
       format                      = 'PDF'
       max_linewidth               = 132
      ARCHIVE_INDEX               = ' '
    IMPORTING
       bin_filesize                =  v_len_in
        TABLES
          otf                         = i_otf
          lines                       = pdf
       EXCEPTIONS
         err_max_linewidth           = 1
         err_format                  = 2
         err_conv_not_possible       = 3
         OTHERS                      = 4
    Then send as attachment as Max proposed.
    Regards,
    Maxim.

  • PDF attachment not getting sent via email. This occurs intermittently.

    Hi All,
    There is a concurrent program which sends report on Purchase Orders. The report is sent as a PDF attachment via email.
    The report is getting attached sometimes and not getting attached sometimes giving an empty email. Checked the log files and output files of the program and couldnt find any issue. There is no specific time/PO/vendor pattern wherein the program fails.
    Please let me know what needs to be done to get this resolved.
    Regards,
    Radhika.

    Hi,
    I am facing this issue with Oracle 11i - US Purchasing SuperUser responsiblity.
    There is a concurrent program which generates a report and then sends the report to printer. The report is not getting stored in a temp file in any directory. It is directly emailed as a PDF attachment.
    Sometimes the attachment is getting sent while sometimes it is not getting attached.
    Please let me know if any other information is required.
    Regards,
    Radhika.

  • Create newsletter with Pages and send out via mail (not attachement)?

    I have a question: I have created a newsletter in Iworks Pages. How can I send this out via mail as a newsletter ? So not as an attachment? I know Microsoft Publisher can do it with 1 click, but I don't want to move to MSFT. Please let me know, I also have Indesign etc. Createion of the newsletter is easy with my Apple, but then it stops....and gets worse the MSFT....

    KOENIG Yvan wrote:
    PeterBreis0807 wrote:
    +Menu > File > Print > PDF (button bottom left corner) > Mail PDF+
    As far as I know, only single page PDFs will appear directly in the mail and they will do only in some mail applications.
    No it is multipage. Can't test for all appliactions but it was both sent and received on my system/Mail as the 3 pages in the document.
    In other apps and always if the PDF contain several pages, it will be an attachment : what was rejected by the OP.
    When Helena Rubenstein arrived in Australia she first worked in David Jones, our version of Harrods.
    A woman approached another salesperson and asked "Do you have a brown cashmere top?"
    To which the salesperson replied "Sorry no madam"
    Helena stepped in and asked "Would madam like a blue or black one instead?" and made the sale to the lady who wanted a top. It seemed that was more important than none at all.
    There is a lesson to be learnt from this.
    Peter

  • Export alv to excl and send it via email

    Hi.
    My problem is not really to send an alv with xls format, the issue is that in the selection screen the user can enter a variant layout to generate the alv, so he wants the sent xls with the same layout.
    As of now, I was calling FM SO_NEW_DOCUMENT_ATT_SEND_API1 but creating the xls file using my internal table (including all fields, and without subtotals).
    Is it possible generate a xls with the same layout that user has entered?
    Thanks

    Hi Alberto,
    Are you trying to download the ALV after displaying, maybe by using a button ? Then you can try with method EXPORT_TO_SPREAD_SHEET of CL_GUI_ALV_GRID.
    And for FM you can use ALV_DATA_EXPORT.
    If you are trying to download before displaying the ALV grid then i think you might have to send the complete ALV list to XLS attachment in mail.
    Regards
    Megha

  • Online php form (inserts) in pdf form and send via email

    So first hello all.
    There are 4 PDF Forms amd 4 php forms on a website.
    The user should be able to fill out the php form, click on send and the inserts from the user should be stored in the pdf form and send to an email adress.
    I know that there are 3rd party tools, the convert it to a image, draw the inserts and convert it back.
    But i want to know, how to do it with acrobat itself.
    Is there any way to put varaibles in the pdf where php can set (fill)
    If this is impossible:
    I have heard, that there is a server version from acrobat who can manage this.
    The information about this is rarly like i dont understand how much the costs are.
    First : price x (for the server software itself)   
    Second: price y (for every processed document)
    Many thanks in advance
    IT Technik Schiedt

    You cannot use Acrobat on a server in that manner. Acrobat is licensed for one user one system at a time.
    You can create and FDF file with the form field data and use that data to fill-in a PDF. You needd to create a unique PDF that could be added to an email and then deleted. You could also accumulate the data in a database.

Maybe you are looking for

  • Sharepoint 2010 - Cannot make field Required in Add New Item form.

    I made a fleld Required by making the proper selection in List Settings > Editing the column.  It now shows as required when I edit an existing record in the list, but is not required when adding a new item.  Why does the setting not apply to the Add

  • Connecting two ipods to the same PC

    Hello everyone, this is my first visit to the forum. I apologise if this question has already been answered, but I have had a look around and can't see it having been covered anywhere else. We are about to introduce a second ipod into our home but on

  • Envy h8-1409 Desktop-Problem Installing Catalyst Control Center on Wiindows 7 for Radeon HD 7570

    Hi, I just purchased an HP Envy h8-1409 desktop.  It came with Windows 8 but I downgraded to Windows 7 due to my unfamiliarity with the new Windows 8. Officially, HP only provides Windows 8 drivers for this particular model I bought.  However, I was

  • Unit Convertion from

    HI All, my problem is i am using the NOn cumulative keyfigure 0VALSTCKQTY key data comming from r/3 in TONNES. IN BW SIDE I HAVE CHANGED THE VALUE BUT TEXT STILL DISPLAYING HOW WE WILL CHANGE IN QUERY LEVEL EX 100 TO  200 TO I WANT LIKE 100 DC & 200

  • Speeding up Safari

    We live up in the mountains and our only internet options are dial up or sattelite. Is it possible, in order to increase download speed to use Safari without any pictures? I had a friend who used to use the internet without having any images or pictu