Skip to Content
avatar image
Former Member

Email Functionality:How to create Email Subject w/ more than 50 CHAR Length

Hi All,

I have a requirement that will send email, currently using FM SO_DOCUMENT_SEND_API1

  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
    EXPORTING
      document_data              = w_doc_data  "Email Subj
      put_in_outbox              = 'X'
      sender_address             = w_username  "FROM EMAIL
      sender_address_type        = 'SMTP'
      commit_work                = 'X'
    TABLES
      packing_list               = t_objpack
      contents_txt               = t_text     "Email Body
      receivers                  = t_users    "TO EMAIL
    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.

The email subject is being populated at parameter t_packing_list under structure SODOCCHGI1-OBJ_DESCR that can hold only up to 50 characters.

In my requirement, the email subject is up to 50+ characters.

Thanks All.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Mar 03, 2010 at 10:44 AM

    Hello,

    Dont think you can use the FM SO_DOCUMENT_SEND_API1 to set the subject line with more than 50 characters. You will have to use the BCS classes.

    Check my reply here for the correct note No

    Vikranth

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Vikranth Reddy

      Hi Vikranth,

      Thanks, problem solved - 10pts. rewarded.

      Answer: Use class CL_BCS, method create_document

      *     -------- create and set document -------------------------------
      *     create document from internal table with text
            APPEND 'Hello world!' TO text.
            document = cl_document_bcs=>create_document(
                            i_type    = 'RAW'
                            i_text    = text
                            i_length  = '12'
                            i_subject = 'test created by BCS_EXAMPLE_1' ).
      

      For more details, see sample program: BCS_EXAMPLE_1 to BCS_EXAMPLE_6.

  • avatar image
    Former Member
    Mar 03, 2010 at 11:29 AM

    Hi,

    Try below code:

    DATA: X_OBJECT_TYPE LIKE SOOD-OBJTP.

    DATA: BEGIN OF X_OBJECT_HD_CHANGE.

    INCLUDE STRUCTURE SOOD1.

    DATA: END OF X_OBJECT_HD_CHANGE.

    DATA: BEGIN OF X_OBJCONT OCCURS 10.

    INCLUDE STRUCTURE SOLI.

    DATA: END OF X_OBJCONT.

    DATA: BEGIN OF X_OBJHEAD OCCURS 0.

    INCLUDE STRUCTURE SOLI.

    DATA: END OF X_OBJHEAD.

    DATA: BEGIN OF RAW_HEAD.

    INCLUDE STRUCTURE SORH.

    DATA: END OF RAW_HEAD.

    DATA: BEGIN OF X_RECEIVERS OCCURS 0.

    INCLUDE STRUCTURE SOOS1.

    DATA: END OF X_RECEIVERS.

    PARAMETERS: RECEIVER LIKE X_RECEIVERS-RECNAM. " Name

    *BUILD MESSAGE HEADER

    MOVE 'Sort field goes here' TO X_OBJECT_HD_CHANGE-OBJSRT. " Sort field

    MOVE 'Name of the object goes here' TO X_OBJECT_HD_CHANGE-OBJNAM. " Name

    MOVE 'Document title goes here' TO X_OBJECT_HD_CHANGE-OBJDES. " Title

    MOVE 'F' TO X_OBJECT_HD_CHANGE-OBJSNS. " Functional OBJECT

    MOVE 'E' TO X_OBJECT_HD_CHANGE-OBJLA. " Language

    • Object type of the new document

    MOVE 'RAW' TO X_OBJECT_TYPE.

    CLEAR X_OBJCONT.

    MOVE 'Contents of mail' TO X_OBJCONT-LINE.

    APPEND X_OBJCONT.

    CLEAR X_OBJCONT-LINE. APPEND X_OBJCONT.

    MOVE 'More contents' TO X_OBJCONT-LINE.

    APPEND X_OBJCONT.

    MOVE 'Still more contents'

    to x_objcont-line.

    APPEND X_OBJCONT.

    MOVE ' ' TO X_OBJCONT-LINE.

    APPEND X_OBJCONT.

    • Specific header (Dependent on the object type, here RAW)

    REFRESH X_OBJHEAD.

    DESCRIBE TABLE X_OBJCONT LINES RAW_HEAD-RAWSIZ.

    MOVE RAW_HEAD TO X_OBJHEAD.

    APPEND X_OBJHEAD.

    *RECEIVERS table

    CLEAR X_RECEIVERS.

    REFRESH X_RECEIVERS.

    MOVE RECEIVER TO X_RECEIVERS-RECNAM. " Name

    MOVE 'B' TO X_RECEIVERS-RECESC. " Receiver type

    MOVE 'X' TO X_RECEIVERS-SNDCP. " Send as a copy

    MOVE 'X' TO X_RECEIVERS-SNDEX. " EXPRESS DOCUMENT

    APPEND X_RECEIVERS.

    CALL FUNCTION 'SO_OBJECT_SEND'

    EXPORTING

    • folder_id = 'OUTBOX'

    • forwarder = x_forwarder

    • object_fl_change = x_object_fl_change

    OBJECT_HD_CHANGE = X_OBJECT_HD_CHANGE

    • object_id = x_object_id

    OBJECT_TYPE = X_OBJECT_TYPE

    OUTBOX_FLAG = 'X'

    OWNER = SY-UNAME

    • store_flag = x_store_flag

    • importing

    • object_id_new = x_object_id_new

    • sent_to_all = x_sent_to_all "May need to use

    TABLES

    OBJCONT = X_OBJCONT

    OBJHEAD = X_OBJHEAD

    • objpara = x_objpara

    • objparb = x_objparb

    RECEIVERS = X_RECEIVERS.

    Regards,

    venkat.

    Add comment
    10|10000 characters needed characters exceeded