cancel
Showing results for 
Search instead for 
Did you mean: 

Sending the adobe form to SAP inbox with data (on submit action)

Former Member
0 Kudos

Hi,

I am fectching the data from the database table in WDDOINIT method and displaying it on the form. Now my requirement is that, on the action SUBMIT, I have to send this Form to SAP user inbox.

I wrote a code to send the form as pdf attachment by giving the form name.. but the data are not passed. only the form goes to the sap inbox.

My question is, how to send the form as pdf attachment with the data that are fetched...?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

create the parameter FP_FORMOUTPUT as IMPORT parameter structure FPFORMOUTPUT and t_att_content_hex parameter is as XSTRING.

CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING
      BUFFER                = FP_FORMOUTPUT-pdf
*   APPEND_TO_TABLE       = ' '
* IMPORTING
*   OUTPUT_LENGTH         =
    TABLES
      BINARY_TAB            = t_att_content_hex

For sending code as PDF attachment to SAP Inbox

CLASS cl_bcs DEFINITION LOAD.
  DATA:
  lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.
  lo_send_request = cl_bcs=>create_persistent( ).
* Message body and subject
  DATA:
  lt_message_body TYPE bcsy_text VALUE IS INITIAL,
  lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.
  APPEND 'Dear,' TO lt_message_body.
  append ' ' to lt_message_body.
  APPEND 'Please fill the attached form and send it back to us.'
  TO lt_message_body.
  append ' ' to lt_message_body.
  APPEND 'Thank You,' TO lt_message_body.

  lo_document = cl_document_bcs=>create_document(
  i_type = 'RAW'
  i_text = lt_message_body
  i_subject = 'Personnel Information Form' ).
  DATA: lx_document_bcs TYPE REF TO cx_document_bcs VALUE IS INITIAL.

  TRY.
      lo_document->add_attachment(
      EXPORTING
      i_attachment_type = 'PDF'
      i_attachment_subject = 'Personnel Information Form'
* I_ATTACHMENT_SIZE =
* I_ATTACHMENT_LANGUAGE = SPACE
* I_ATT_CONTENT_TEXT =
* I_ATTACHMENT_HEADER =
      i_att_content_hex = t_att_content_hex ).
    CATCH cx_document_bcs INTO lx_document_bcs.
  ENDTRY.
* Add attachment
* Pass the document to send request
  lo_send_request->set_document( lo_document ).

* Create sender
  DATA:
  lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL,
  l_send type ADR6-SMTP_ADDR value 'provide Email id here'.
  lo_sender = cl_cam_address_bcs=>create_internet_address( l_send ).

* Set sender
  lo_send_request->set_sender(
  EXPORTING
  i_sender = lo_sender ).

* Create recipient
  DATA:
  lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.
  lo_recipient = cl_sapuser_bcs=>create( sy-uname ).
  
* Set recipient
  lo_send_request->add_recipient(
  EXPORTING
  i_recipient = lo_recipient
  i_express = 'X' ).
*  lo_send_request->add_recipient(
*  EXPORTING
*  i_recipient = lo_recipient
*  i_express = 'X' ).

* Send email
  DATA: lv_sent_to_all(1) TYPE c VALUE IS INITIAL.
  lo_send_request->send(
  EXPORTING
  i_with_error_screen = 'X'
  RECEIVING
  result = lv_sent_to_all ).

Thanks.

Former Member
0 Kudos

Hi,

You need to convert the PDFSOURCE fro xstring to binary ( using the FM something like 'SCMS_XSTRING_TO_BINARY' )

, Then append this binary data to the contents table of the FM 'SO_API_SEND' ( dont remember the name properly ) which can be used for sending the email.