SAP: ABAP How to send email that can have underline bold text, table and pictures using html via class CL_BCS

8:26 PM
snippet..

FORM SEND_EMAIL_OFFLN  TABLES   PT_PDF_BIN
                       
USING    PV_SENDER
                                PV_RECIPIENT
                                PV_SUBJECT
.

  CONSTANTSLC_TYPE TYPE SO_OBJ_TP VALUE 'HTM'.
  DATALO_MESSENGER TYPE REF TO CL_BCS,
        LO_DOCUMENT  
TYPE REF TO CL_DOCUMENT_BCS,
        LO_SENDER    
TYPE REF TO CL_SAPUSER_BCS,
        LO_RECIPIENT 
TYPE REF TO IF_RECIPIENT_BCS,
        LO_DELIVERY  
TYPE        OS_BOOLEAN,
        LO_ERR_MSG   
TYPE        SY-MSGV1.

  DATALT_SOLIX     TYPE SOLIX_TAB,
        LS_SOLIX     
LIKE LINE OF LT_SOLIX.

  
DATALV_ATTCH_SUBJECT    TYPE SOOD-OBJDES.

  "LOOP AT PT_PDF_BIN.
  "  CLEAR LS_SOLIX.
  "  LS_SOLIX-LINE PT_PDF_BIN.
  "  APPEND LS_SOLIX TO LT_SOLIX.
  "ENDLOOP.

  "THIS IS THE PART WHICH YOU CAN DO HTML CODINGS ß----------------------------------------------------------------PART TO PLAY AROUND
  CLEAR LS_MESSAGELS_MESSAGE '<html>'APPEND LS_MESSAGE TO LT_DOCUMENT.
  
CLEAR LS_MESSAGELS_MESSAGE '<body>'APPEND LS_MESSAGE TO LT_DOCUMENT.
  CLEAR LS_MESSAGELS_MESSAGE 'Dear Sir/Madam,<br>'.   APPEND LS_MESSAGE TO LT_DOCUMENT.
  
CLEAR LS_MESSAGELS_MESSAGE '<u><b>Underline and bold</b></u> <br><br>'.         APPEND LS_MESSAGE TO LT_DOCUMENT. " underline and bold
  CLEAR LS_MESSAGELS_MESSAGE '</body>'.   APPEND LS_MESSAGE TO LT_DOCUMENT.
  
CLEAR LS_MESSAGELS_MESSAGE '</html>'.   APPEND LS_MESSAGE TO LT_DOCUMENT.
  "-----PDF RSU-----"
  
"LV_ATTCH_SUBJECT 'Notification of Vesting.pdf'.
TRY .
      "-------- create persistent send request ------------------------
      LO_MESSENGER 
CL_BCS=>CREATE_PERSISTENT( ).
      “ Create Document Object
      LO_DOCUMENT 
CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
                      I_TYPE    
LC_TYPE
                      I_SUBJECT 
PV_SUBJECT
                      I_TEXT    
LT_DOCUMENT ).
      " Add attachment
      "CALL METHOD LO_DOCUMENT->ADD_ATTACHMENT
      "     EXPORTING
      "        I_ATTACHMENT_TYPE    'BIN'
      "        I_ATTACHMENT_SUBJECT LV_ATTCH_SUBJECT
      "        I_ATT_CONTENT_HEX    LT_SOLIX.
      "****** Create Sender
      "     note: this is necessary only if you want to set the sender
      "     different from actual user (SY-UNAME). Otherwise sender is
      “     set automatically with actual user.
      LO_SENDER 
CL_SAPUSER_BCS=>CREATEPV_SENDER ).

     "Create Recipient
      LO_RECIPIENT 
CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESSPV_RECIPIENT ).

      "Setup BCS Object
      LO_MESSENGER
->SET_DOCUMENTLO_DOCUMENT ).
      LO_MESSENGER
->SET_SENDERLO_SENDER ).
      LO_MESSENGER
->ADD_RECIPIENTLO_RECIPIENT ).

      "Send the Mail via BCS Object
      LO_DELIVERY 
LO_MESSENGER->SENDI_WITH_ERROR_SCREEN 'X' ).

      
IF NOT LO_DELIVERY IS INITIAL.
        LV_MSG 
'SUCCESS: Email successfully send.'.
        
COMMIT WORK.
      
ELSE.
        LO_ERR_MSG 
'ERROR: Failed to send email.'.
      
ENDIF.

    
CATCH CX_DOCUMENT_BCS.  " cl_document_bcs=>create_document()
      
"LV_MSG 'ERROR: Failed to create BCS document.'.

    
CATCH CX_ADDRESS_BCS.   " cl_sapuser_bcs=>create()
      
"LV_MSG 'ERROR: Failed to create BCS sender'.
    
CATCH CX_SEND_REQ_BCS.  " cl_bcs=>create_persistent(), cl_bcs->set_sender(), etc.
      
"LV_MSG 'ERROR: Failed while setting up BCS object.'.
  ENDTRY.

ENDFORM.                    " SEND_EMAIL_OFFLN





"---------------------
just incase you want to add pdf 
FORM DOWNLOAD_PDF_n_send.

  
DATALS_OUTPUTPARAMS           TYPE SFPOUTPUTPARAMS.
  
DATALS_FORMOUTPUT             TYPE FPFORMOUTPUT.
  
DATALV_FM_NAME                TYPE RS38L_FNAM.
  
DATALS_DOCPARAMS              TYPE SFPDOCPARAMS.
  
DATALS_ZESOS_RSUGL_PDF        TYPE ZESOS_RSUGL_PDF.

  
DATALV_MSG                    TYPE STRING.


  
CLEAR LS_ZESOS_RSUGL_PDF.
  LS_ZESOS_RSUGL_PDF
-PERNR PERNR-PERNR.
  LS_ZESOS_RSUGL_PDF
-BEGDA PN-BEGDA.
  LS_ZESOS_RSUGL_PDF
-ENDDA PN-ENDDA.
  LS_ZESOS_RSUGL_PDF
-CPLAN P_CPLAN.
  LS_ZESOS_RSUGL_PDF
-CITEM P_CITEM.

  
"Get name of the generated function module
  
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
    
EXPORTING
      I_NAME     
'Z_PDF_FROM_TCODE_SFP'
    
IMPORTING
      E_FUNCNAME 
LV_FM_NAME.

  
"Set the output parameters.
  LS_OUTPUTPARAMS
-NODIALOG 'X'.
  LS_OUTPUTPARAMS
-PREVIEW  ''.
  LS_OUTPUTPARAMS
-GETPDF   'X'.

  
"Open print job
  
CALL FUNCTION 'FP_JOB_OPEN'
    
CHANGING
      IE_OUTPUTPARAMS 
LS_OUTPUTPARAMS
    
EXCEPTIONS
      
OTHERS          1.

  
"Set the PDF to be dynamic and interactive.
  LS_DOCPARAMS
-FILLABLE ''.
  LS_DOCPARAMS
-DYNAMIC 'X'.

  
"Generate the PDF.
  
CLEAR LS_FORMOUTPUT.
  
CALL FUNCTION LV_FM_NAME
    
EXPORTING
      /1BCDWB/DOCPARAMS  
LS_DOCPARAMS
      ZESOS_RSUGL_PDF    
LS_ZESOS_RSUGL_PDF
    
IMPORTING
      /1BCDWB/FORMOUTPUT 
LS_FORMOUTPUT
    
EXCEPTIONS
      USAGE_ERROR        
1
      SYSTEM_ERROR       
2
      INTERNAL_ERROR     
3
      
OTHERS             4.

  
IF SY-SUBRC NE 0.
    LV_MSG 
'Failed to generate PDF.'.
    
PERFORM FILL_MSG  USING     LV_MSG
                      
CHANGING GS_OUTREP.
    
MODIFY GT_OUTREP FROM GS_OUTREP INDEX GV_TABIX.
  
ENDIF.
  
CHECK SY-SUBRC 0.

  
"Close print job.
  
CALL FUNCTION 'FP_JOB_CLOSE'.

*--------------------------------------------------------------------*
  
DATALT_PDF_BIN            TYPE TABLE OF X255.
  
DATALV_PDF_NAME           TYPE STRING.

  
CONCATENATE P_FOLDER '\PDF_TITLE'.pdf' INTO LV_PDF_NAME.


  
REFRESHLT_PDF_BIN.
  
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    
EXPORTING
      
BUFFER     LS_FORMOUTPUT-PDF
    
TABLES
      BINARY_TAB 
LT_PDF_BIN.

IF P_OFFLN IS NOT INITIAL AND P_FOLDER IS NOT INITIAL AND P_TEST IS INITIAL." AND P_ATTCH IS INITIAL.
  
CALL FUNCTION 'GUI_DOWNLOAD'
    
EXPORTING
      FILENAME                
LV_PDF_NAME
      FILETYPE                
'BIN'
    
TABLES
      DATA_TAB                
LT_PDF_BIN
    
EXCEPTIONS
      FILE_WRITE_ERROR        
1
      NO_BATCH                
2
      GUI_REFUSE_FILETRANSFER 
3
      INVALID_TYPE            
4
      NO_AUTHORITY            
5
      UNKNOWN_ERROR           
6
      HEADER_NOT_ALLOWED      
7
      SEPARATOR_NOT_ALLOWED   
8
      FILESIZE_NOT_ALLOWED    
9
      HEADER_TOO_LONG         
10
      DP_ERROR_CREATE         
11
      DP_ERROR_SEND           
12
      DP_ERROR_WRITE          
13
      UNKNOWN_DP_ERROR        
14
      ACCESS_DENIED           
15
      DP_OUT_OF_MEMORY        
16
      DISK_FULL               
17
      DP_TIMEOUT              
18
      FILE_NOT_FOUND          
19
      DATAPROVIDER_EXCEPTION  
20
      CONTROL_FLUSH_ERROR     
21
      
OTHERS                  22.

  
IF SY-SUBRC NE 0.
    LV_MSG 
'Failed to download Vesting PDF.'.
  ELSE.
    LV_MSG 
'Successfully download RSU Notification of Vesting PDF.'.
  ENDIF.
ENDIF." IF P_OFFLN IS NOT INITIAL AND P_FOLDER IS NOT INITIAL AND P_TEST IS INITIAL." AND P_ATTCH IS INITIAL.
*--------------------------------------------------------------------*
  
DATALV_RECIPIENT      TYPE AD_SMTPADR,
*        LV_SUBJECT        TYPE SO_OBJ_DES VALUE 'RSU Notification of Vesting',
        LV_SUBJECT        
TYPE SO_OBJ_DES VALUE 'Subject title',
*        LV_SUBJECT        TYPE SO_OBJ_DES VALUE 'Notification of Vesting of the First Performance-Based Restricted Share Unit Scheme ("RSU")',
        LV_SENDER         
TYPE SY-UNAME VALUE 'USERNAME'.

    LV_RECIPIENT 
'email@email.com'.
    
PERFORM SEND_EMAIL_OFFLN TABLES LT_PDF_BIN USING SY-UNAME LV_RECIPIENT LV_SUBJECT.

ENDFORM.                    " DOWNLOAD_PDF_RS_VESTING
Read On 0 comments

How to change your payslip with your customized forms for portal

12:12 AM

SPRO and path:
Personnel Management --> Employee Self_Service --> Service-specific settings --> Benefits and Payments --> Salary Statement

And edit it using smart form or put a latest design.


Read On 0 comments

Note: OTR : Online Text Repository

12:52 AM
http://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=111247369

Introduction

The Online Text Repository (OTR) is a central storage location for texts, and services for editing and administering these texts. It first appeared with Business Server Pages in SAP 6.10.
Texts are cross-client workbench objects.
They can be maintained via SOTR_EDIT transaction, and from transactions of workbench object using OTR, which comprise:
  • BSP application
  • ABAP Object Class (exception texts)
  • Enhancement Framework elements (Implementation, Spot, etc.)
  • ICF service
  • Web Dynpro elements (Application, Component, etc.)
  • Transformation
They can be translated via SE63_OTR transaction.
They are stored in tables SOTR_HEAD and SOTR_TEXT.
Here are a few function modules to access them:
  • SOTR_GET_TEXTS_WITH_KEYS
  • SOTR_GET_CONCEPT
  • SOTR_DELETE_CONCEPT
  • SOTR_OBJECT_GET_OBJECTS
  • SOTR_OBJECT_GET_OBJECTS
  • SOTR_CREATE_CONCEPT
Read On 0 comments

ABAP : how to select folder in abap selection screen?

8:05 PM
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS    P_FOLDER  TYPE STRING LOWER CASE DEFAULT 'C:\'.
SELECTION-SCREEN END OF BLOCK B1.

 


AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FOLDER.
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
    CHANGING
      SELECTED_FOLDER      P_FOLDER
    EXCEPTIONS
      CNTL_ERROR           1
      ERROR_NO_GUI         2
      NOT_SUPPORTED_BY_GUI 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.
 
Read On 0 comments

BSP: how to assign object mime to an iview? pdf , image , doc and etc

8:03 PM
Recently i was asked to how to link a pdf to the portal front.
Well It was like 4 years ago i did this and guess what i almost forget. But thanks to Chin Yoon Chan
I kind of relearn back.

Will explain in a brief and high detail way.
1. create a BSP in tcode SE80
2. create the html content (well optional)
3. import object mime (this time is a pdf)
4. create and bsp iview (you can see in the image attached)
5. link the start page to the EXACT location of your mime
6. As normal portal change
link iview to page
link pageto workset
link workset to role
configure img to reflect in the sub area (optional)


Read On 0 comments

Tcode to check authorization object and roles

3:53 AM
  S_BCE_68001425
Read On 0 comments

message

Labels

NuffNang

Search google

Blog Archive

My Blog List

Twitter

Message

Followers