How to Copy Any User Favourite Menu to Other User Favourite Menu?

If you want to copy any user favourite menu to other user favourite menu, first use the donwload function;

MENU_FAVORITES_DOWNLOAD

Fill the parameter uname with the name you want to copy.

Run the function and copy the file to your PC.

Then use the upload funciton with the username and the file you have already downloaded.

MENU_FAVORITES_UPLOAD

If you want to check your funciton’s result, control the table SMEN_BUFFC.

How to Create Area Menu in SAP?

Use SE43 Transaction Code.

Click Create Button. Then give name to your area menu.

Select your Area Menu Description Line and click Add Entry as Subnote button.

If you want to collect tcodes under a package first create subnotes without transaction code. Don’t forget to select the box (Reference to a Menu)

Then select the Menu Reference (It is Package1 in our example) and click Add Entry as Subnote button to add tcodes under this package.

Write the transaction codes that you want to add under Package 1.

Then make the same operation for Package 2.

After you save, your area menu is ready.

How to Send E-Mail from SAP ABAP code?

DATA: receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,
         contents  LIKE solisti1  OCCURS 0 WITH HEADER LINE,
         subject   TYPE so_obj_des,
dl_receiver TYPE so_recname.

Subject
subject = ‘Mail Header’.

Receivers
“If receivers are distribution list from SAP (SO15)
dl_receiver = ‘Distrubiton_List_Name’.
receivers-receiver = dl_receiver.
receivers-rec_type = ‘C’.
APPEND receivers.

“Else if receiver is a single Mail address
dl_receiver = ‘singlemailaddress@blabla.com’.
receivers-receiver = dl_receiver.
receivers-rec_type = ‘U’.
APPEND receivers.

Content
contents-line = ‘This is first line of e-mail’.
APPEND contents.
contents-line = ‘This is second line of e-mail’.
APPEND contents.
contents-line = ‘This is third line of e-mail’.
APPEND contents.
contents-line = ”.
APPEND contents.
contents-line = ‘This mail is send by SAP automatically’.
APPEND contents.

Call Function
CALL FUNCTION ‘Z_SEND_MAIL_REPORT’
    EXPORTING
      subject                    = subject
      attach_req                 = ”
    TABLES
      receivers                  = receivers
      contents                   = contents
    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.
*      Implement suitable error handling here
  ENDIF.

Function
FUNCTION z_send_mail_report.
*”———————————————————————-
*”*”Local Interface:
*”  IMPORTING
*”     VALUE(PROG) TYPE  REPID OPTIONAL
*”     VALUE(VARIANT) TYPE  RALDB_VARI OPTIONAL
*”     VALUE(SUBJECT) TYPE  SO_OBJ_DES DEFAULT ‘No subject’
*”     VALUE(ATTACH_NAME) TYPE  SO_TEXT255 OPTIONAL
*”     VALUE(ATTACH_REQ) TYPE  CHAR1 DEFAULT ‘X’
*”  TABLES
*”      PARAMS STRUCTURE  RSPARAMS OPTIONAL
*”      USERLIST STRUCTURE  SLS_UNAMES OPTIONAL
*”      RECEIVERS STRUCTURE  SOMLRECI1 OPTIONAL
*”      CONTENTS STRUCTURE  SOLISTI1 OPTIONAL
*”  EXCEPTIONS
*”      TOO_MANY_RECEIVERS
*”      DOCUMENT_NOT_SENT
*”      DOCUMENT_TYPE_NOT_EXIST
*”      OPERATION_NO_AUTHORIZATION
*”      PARAMETER_ERROR
*”      X_ERROR
*”      ENQUEUE_ERROR
*”———————————————————————-
* INCLUDES                                                             *
*———————————————————————-*
  INCLUDE rssocons.
*———————————————————————-*
* CONSTANTS                                                            *
*———————————————————————-*
  CONSTANTS: htm_ext(4)  TYPE c VALUE ‘.htm’,
             htm_type(3) TYPE c VALUE ‘HTM’,
             internet(1) TYPE c VALUE ‘U’,
             dist_list(1) TYPE c VALUE ‘C’.

*———————————————————————-*
* VARIABLES                                                            *
*———————————————————————-*
  DATA: length TYPE i.
  DATA: doc_chng         LIKE sodocchgi1.
  DATA: tab_lines        LIKE sy-tabix.
  DATA: raw_lines        LIKE sy-tabix.
*———————————————————————-*
* INTERNAL TABLES                                                      *
*———————————————————————-*
  DATA: BEGIN OF html_tab OCCURS 0.
          INCLUDE STRUCTURE w3html.
  DATA: END OF html_tab.
  DATA: itab             LIKE abaplist OCCURS   0 WITH HEADER LINE.
  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.
*———————————————————————-*
* FUNCTION CODE                                                        *
*———————————————————————-*
* Submit prog and create .htm attachment
  IF prog IS NOT INITIAL.
    IF variant IS NOT INITIAL.
      SUBMIT (prog) AND RETURN
                    EXPORTING LIST TO MEMORY
                    USING SELECTION-SET variant.
    ELSEIF params[] IS NOT INITIAL.
      SUBMIT (prog) AND RETURN
                    EXPORTING LIST TO MEMORY
                    WITH SELECTION-TABLE params.
    ENDIF.

    CALL FUNCTION ‘LIST_FROM_MEMORY’
      TABLES
        listobject = itab
      EXCEPTIONS
        not_found  = 1.
    IF sy-subrc NE 0.
      LEAVE PROGRAM.
    ENDIF.

    CALL FUNCTION ‘WWW_HTML_FROM_LISTOBJECT’
      EXPORTING
        template_name = ‘WEBREPORTING_REPORT’
      TABLES
        html          = html_tab
        listobject    = itab.

  ENDIF.

* Mail subject
  CONCATENATE text-010 subject text-011
                INTO doc_chng-obj_descr
                SEPARATED BY space.

* Mail content
  MOVE contents[] TO objtxt[].

  DESCRIBE TABLE objtxt LINES raw_lines.
  DESCRIBE TABLE objtxt LINES tab_lines.
  READ TABLE objtxt INDEX tab_lines.
  doc_chng-doc_size = ( tab_lines – 1 ) * 255 + STRLEN( objtxt ).
  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.

* Attachment header
  IF attach_req IS NOT INITIAL.
    DESCRIBE TABLE html_tab LINES tab_lines.
    IF attach_name IS INITIAL.
      attach_name = subject.
    ENDIF.
    CONCATENATE attach_name htm_ext
                INTO objhead.
    APPEND objhead.

*    objpack-transf_bin = ‘X’.
    objpack-head_start = 1.
    objpack-head_num   = 1.
    objpack-body_start = raw_lines.
    objpack-body_num   = tab_lines.
    objpack-doc_type   = htm_type.
    objpack-obj_name   = subject.
    CONCATENATE text-019 subject
                INTO objpack-obj_descr
                SEPARATED BY space.

    objpack-doc_size   = tab_lines * 255.
    APPEND objpack.
  ENDIF.

* Email address of users in userlist[]
  DATA: iaddsmtp TYPE bapiadsmtp OCCURS 0 WITH HEADER LINE.
  DATA: ireturn TYPE bapiret2 OCCURS 0 WITH HEADER LINE.

  LOOP AT userlist.
    CLEAR : iaddsmtp.
    REFRESH iaddsmtp.

    CALL FUNCTION ‘BAPI_USER_GET_DETAIL’
      EXPORTING
        username = userlist-uname
      TABLES
        return   = ireturn
        addsmtp  = iaddsmtp.

    LOOP AT iaddsmtp WHERE std_no = ‘X’.
      MOVE iaddsmtp-e_mail TO receivers-receiver.
      MOVE internet TO receivers-rec_type.
      APPEND receivers.
    ENDLOOP.

  ENDLOOP.

* Send mail
  CHECK receivers IS NOT INITIAL.
  CALL FUNCTION ‘SO_NEW_DOCUMENT_ATT_SEND_API1’
    EXPORTING
      document_data              = doc_chng
      put_in_outbox              = ‘X’
      commit_work                = ‘X’
    TABLES
      packing_list               = objpack
      object_header              = objhead
      contents_bin               = html_tab
      contents_txt               = objtxt
      receivers                  = 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.

  CASE sy-subrc.
    WHEN object_not_sent.
      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 x_error.
      RAISE x_error.
    WHEN enqueue_error.
      RAISE enqueue_error.
  ENDCASE.

ENDFUNCTION.

WordPress.com ile böyle bir site tasarlayın
Başlayın