cancel
Showing results for 
Search instead for 
Did you mean: 

SRM 7.0 Offline approval: Outlook 2010 the buttons approve/reject missing

Former Member
0 Kudos

Hello!

we are using SRM 7.0 and the offline approval process.

The report /SAPSRM/OFFLINEAPPROVALSEND is used to send e-mails to the approvers.

With outlook 2003 SP3 the user gets an e-mail containing two pushbuttons for offline approval (Approve by e- mail / Reject by e-mail).

When e.g. the accept pushbutton is used an e-mail containing a "Postdata.att" attachement is created and sent back to the SRM system.

With outlook 2010 I get the same e-mail except the two pushbuttons are missing.

Only the text of the pushbuttons "Approve by e-mail" "Reject by e-mail" is shown.

Therefore it is not possible to send an offline approval mail.

On top of the e-mail is a message of outlook 2010: "If there are problems to display the message, click here to show the message in the Web-Broswer"

When I click on this message the Internet Explorer 8 is opened and the original message with the two pushbuttons is shown. But no effect when clicking on the pushbuttons.

Is someone using Outlook 2010 with the offline approval process and the pushbuttons are shown correctly?

Thanks in advance for your help!

Stefan

Edited by: Stefan.F on Mar 16, 2011 9:33 AM

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Symptom

You are using the offline approval scenario

When opening an approval mail in Outlook 2007 you can not click on Approve/Reject buttons

Environment

SAP SRM 7.0

/SAPSRM/OFFLINEAPPROVALSEND is used

Cause

The report /SAPSRM/OFFLINEAPPROVALSEND uses buttons instead of links for Approve/Reject.

Microsoft Outlook 2007 don't use a browser product to display HTML content, but Word - which is not able to interpret these buttons.

If you switch to "Display in Browser" with a right mouse click, then you can click on the buttons.

Use Following code:

The following code (Line 2888-2917 of /sapsrm/offlineapprovalsend)

  • add table around buttons

CONCATENATE c_start_form lv_email_adress c_subject '">' INTO contents-line.

APPEND contents.

contents = ''. "#EC NOTEXT
APPEND contents.
contents = ''. "#EC NOTEXT
APPEND contents.
contents = '

'. "#EC NOTEXT
APPEND contents.
PERFORM decision_buttons TABLES contents
USING lv_email_adress
lv_wi_id
lv_object_type
lv_langu
lv_sc_change_accept.

contents-line = c_style_end. APPEND contents.
READ TABLE text_el_tab WITH KEY id = 'I' key = 'T37'. "#EC NOTEXT
CONCATENATE '

' text_el_tab-entry ':


' INTO contents-line. "#EC NOTEXT
APPEND contents.
CONCATENATE c_text_area 'NOTM_OUT">' c_end_text_area INTO contents-line. "#EC NOTEXT
APPEND contents.
contents-line = ''. "#EC NOTEXT
APPEND contents.
contents = '

'. "#EC NOTEXT

APPEND contents.

contents-line = c_end_form.

APPEND contents.

ENDIF.

-

-


Should be replaced with this code:

  • add table around buttons

contents = ''. "#EC NOTEXT
APPEND contents.
contents = ''. "#EC NOTEXT
APPEND contents.
contents = '

'. "#EC NOTEXT
APPEND contents.
PERFORM decision_buttons TABLES contents
USING lv_email_adress
lv_wi_id
lv_object_type
lv_langu
lv_sc_change_accept.

contents-line = c_style_end. APPEND contents.
READ TABLE text_el_tab WITH KEY id = 'I' key = 'T37'. "#EC NOTEXT
CONCATENATE '

' text_el_tab-entry ':


' INTO contents-line. "#EC NOTEXT
APPEND contents.
CONCATENATE c_text_area 'NOTM_OUT">' c_end_text_area INTO contents-line. "#EC NOTEXT
APPEND contents.
contents-line = ''. "#EC NOTEXT
APPEND contents.
contents = '

'. "#EC NOTEXT

APPEND contents.

ENDIF.

-

-


The following code (Line 4355-4464 of /sapsrm/offlineapprovalsend)

  • ------------------- mail body part 3 -------------------------

*text for offline approval

CONCATENATE '<!' unicoderhombus_ 'EBP_GEN_MAILTO_BEGIN' unicoderhombus_ '>'

INTO lt_contents-line.

APPEND lt_contents.

CLEAR lt_text_el_tab. REFRESH lt_text_el_tab.

READ TEXTPOOL sy-repid INTO lt_text_el_tab LANGUAGE lv_langu.

IF lv_sc_change_accept NE c_on.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T30'.

ELSE.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T32'.

ENDIF.

  • Zum Genehmigen bzw. Ablehnen direkt aus dieser E-Mail klicken Sie auf

  • einen der folgenden Links und dann auf 'Senden' :

lt_contents-line = lt_text_el_tab-entry.

CONDENSE lt_contents-line. APPEND lt_contents.

lt_contents-line = c_style_start. APPEND lt_contents.

lt_contents = c_new_line. APPEND lt_contents.

  • -------------------- approve via email link ----------------------*

CLEAR: lv_text_t17, lv_text_t18, lv_text_t11, lv_text_t19,

lv_text_send_mail, lv_text_t12, ls_mail_string.

IF lv_sc_change_accept NE c_on.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T18'.

  • text-t18 = Genehmigung des Workitems

CLEAR lv_string. "672504

lv_string = lt_text_el_tab-entry. "672504

PERFORM replace_blanks USING blank_pattern "672504

CHANGING lv_string. "672504

lt_text_el_tab-entry = lv_string. "672504

ELSE.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T33'.

  • text-t18 = Akzeptieren der Änderung

ENDIF.

MOVE lt_text_el_tab-entry TO lv_text_t18.

CONCATENATE c_hidden_ele 'name="TECH_INFO_A" value="' INTO ls_mail_string-line1 SEPARATED BY space. "#EC NOTEXT

CONCATENATE ls_mail_string-line1 lv_approve '">' INTO ls_mail_string-line1. "#EC NOTEXT

IF lv_sc_change_accept NE c_on.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T11'.

ELSE.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T35'.

ENDIF.

  • text-t11 = Genehmigen per Email bzw. Akzeptieren per e-mail

  • CONCATENATE c_submit_button lt_text_el_tab-entry '"' INTO ls_mail_string-line2.

  • MAOH: evaluate user decision from the name of submit input field instead of value.

IF lv_sc_change_accept = c_on.

CONCATENATE c_submit_accept_button lt_text_el_tab-entry '"' INTO ls_mail_string-line2.

ELSE.

CONCATENATE c_submit_approval_button lt_text_el_tab-entry '"' INTO ls_mail_string-line2.

ENDIF.

CONCATENATE ls_mail_string-line2 c_link_button '>' INTO ls_mail_string-line2 SEPARATED BY space.

  • condense mail subject and body

PERFORM condense_string TABLES lt_contents

USING ls_mail_string.

*space between the decision links

lt_contents-line = c_space. APPEND lt_contents.

CLEAR lv_text_send_mail.

CLEAR ls_mail_string.

IF lv_sc_change_accept NE c_on.

*---- Create Reject By E-mail Button----


*

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T12'.

  • text-t12 = Ablehnen per Email

  • MOVE lt_text_el_tab-entry TO ls_mail_string-line3.

  • ls_mail_string-line6 = c_mailto_end.

  • CONCATENATE c_submit_button lt_text_el_tab-entry '"' INTO ls_mail_string-line1.

  • MAOH: evaluate user decision from the name of submit input field instead of value.

CONCATENATE c_submit_rejection_button lt_text_el_tab-entry '"' INTO ls_mail_string-line1.

CONCATENATE ls_mail_string-line1 c_link_button '>' INTO ls_mail_string-line1 SEPARATED BY space.

  • ---------------- Create hidden field for rejection information ---------------------------*

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T17'.

  • text-t17 = Ablehnung des Workitems

CLEAR lv_string. "672504

lv_string = lt_text_el_tab-entry. "672504

PERFORM replace_blanks USING blank_pattern "672504

CHANGING lv_string. "672504

lt_text_el_tab-entry = lv_string. "672504

MOVE lt_text_el_tab-entry TO lv_text_t17.

CONCATENATE c_hidden_ele 'name="TECH_INFO_R" value="' INTO ls_mail_string-line2 SEPARATED BY space. "#EC NOTEXT

CONCATENATE ls_mail_string-line2 lv_reject '">' INTO ls_mail_string-line2. "#EC NOTEXT

  • condense mail subject and body

PERFORM condense_string TABLES lt_contents

USING ls_mail_string.

ENDIF. " lv_sc_change_accept NE c_on.

CONCATENATE '<!' unicoderhombus_ 'EBP_GEN_MAILTO_END' unicoderhombus_ '>'

INTO lt_contents-line.

APPEND lt_contents.

-

-


Should be replaced with this code:

  • ------------------- mail body part 3 -------------------------

*text for offline approval

CONCATENATE '<!' unicoderhombus_ 'EBP_GEN_MAILTO_BEGIN' unicoderhombus_ '>'

INTO lt_contents-line.

APPEND lt_contents.

CLEAR lt_text_el_tab. REFRESH lt_text_el_tab.

READ TEXTPOOL sy-repid INTO lt_text_el_tab LANGUAGE lv_langu.

IF lv_sc_change_accept NE c_on.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T30'.

ELSE.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T32'.

ENDIF.

  • Zum Genehmigen bzw. Ablehnen direkt aus dieser E-Mail klicken Sie auf

  • einen der folgenden Links und dann auf 'Senden' :

lt_contents-line = lt_text_el_tab-entry.

CONDENSE lt_contents-line. APPEND lt_contents.

lt_contents-line = c_style_start. APPEND lt_contents.

lt_contents = c_new_line. APPEND lt_contents.

  • -------------------- approve via email link ----------------------*

CLEAR: lv_text_t17, lv_text_t18, lv_text_t11, lv_text_t19,

lv_text_send_mail, lv_text_t12, ls_mail_string.

IF lv_sc_change_accept NE c_on.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T18'.

  • text-t18 = Genehmigung des Workitems

CLEAR lv_string. "672504

lv_string = lt_text_el_tab-entry. "672504

PERFORM replace_blanks USING blank_pattern "672504

CHANGING lv_string. "672504

lt_text_el_tab-entry = lv_string. "672504

ELSE.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T33'.

  • text-t18 = Akzeptieren der Änderung

ENDIF.

MOVE lt_text_el_tab-entry TO lv_text_t18.

  • start to compose the MailTo link

CONCATENATE '<a href="mailto:' lv_receiving_email_adress '?subject=%23EBP_GEN_REPLY%23' lv_string '&body=' INTO ls_mail_string-line1.

  • create body part of the decision email

CONCATENATE ls_mail_string-line1 'TECH_INFO_A=' lv_approve '%0D%0A' INTO ls_mail_string-line1.

IF lv_sc_change_accept NE c_on.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T11'.

ELSE.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T35'.

ENDIF.

  • text-t11 = Genehmigen per Email bzw. Akzeptieren per e-mail

IF lv_sc_change_accept = c_on.

CONCATENATE 'submit_a=' lt_text_el_tab-entry '%0D%0A' INTO ls_mail_string-line2.

ELSE.

CONCATENATE 'submit_accept=' lt_text_el_tab-entry '%0D%0A' INTO ls_mail_string-line2.

ENDIF.

CONCATENATE 'TECH_INFO_R=' lv_reject '%0D%0A' INTO ls_mail_string-line3.

CONCATENATE 'NOTM_OUT=' '%0D%0A' INTO ls_mail_string-line4.

CONCATENATE 'EOM=1' '%0D%0A">' INTO ls_mail_string-line5.

CONCATENATE ls_mail_string-line5 lt_text_el_tab-entry c_mailto_end INTO ls_mail_string-line5.

  • condense mail subject and body

PERFORM condense_string TABLES lt_contents

USING ls_mail_string.

*space between the decision links

lt_contents-line = c_space. APPEND lt_contents.

CLEAR lv_text_send_mail.

CLEAR ls_mail_string.

IF lv_sc_change_accept NE c_on.

*---- Create Reject By E-mail Button----


*

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T17'.

  • text-t17 = Ablehnung des Workitems

CLEAR lv_string. "672504

lv_string = lt_text_el_tab-entry. "672504

PERFORM replace_blanks USING blank_pattern "672504

CHANGING lv_string. "672504

lt_text_el_tab-entry = lv_string. "672504

MOVE lt_text_el_tab-entry TO lv_text_t17.

  • start to compose the MailTo link

CONCATENATE '<a href="mailto:' lv_receiving_email_adress '?subject=%23EBP_GEN_REPLY%23' lv_text_t17 '&body=' INTO ls_mail_string-line1.

  • create body part of the decision email

CONCATENATE ls_mail_string-line1 'TECH_INFO_A=' lv_approve '%0D%0A' INTO ls_mail_string-line1.

READ TABLE lt_text_el_tab WITH KEY id = 'I' key = 'T12'.

  • text-t12 = Ablehnen per Email

CONCATENATE 'submit_r=' lt_text_el_tab-entry '%0D%0A' INTO ls_mail_string-line2.

CONCATENATE 'TECH_INFO_R=' lv_reject '%0D%0A' INTO ls_mail_string-line3.

CONCATENATE 'NOTM_OUT=' '%0D%0A' INTO ls_mail_string-line4.

CONCATENATE 'EOM=1' '%0D%0A">' INTO ls_mail_string-line5.

CONCATENATE ls_mail_string-line5 lt_text_el_tab-entry c_mailto_end INTO ls_mail_string-line5.

  • condense mail subject and body

PERFORM condense_string TABLES lt_contents

USING ls_mail_string.

ENDIF. " lv_sc_change_accept NE c_on.

CONCATENATE '<!' unicoderhombus_ 'EBP_GEN_MAILTO_END' unicoderhombus_ '>'

INTO lt_contents-line.

APPEND lt_contents.

********

All the best let me know if it wroks.

- Netaji Gummadi

Former Member
0 Kudos

Hi Netaji,

Is the above code for Links or Buttons? I am looking for the code for Offline approval "LINKS" not "BUTTONS".  My system version  is SRM 7.02 and Outlook 2010.  I appreciate your response.

Thanks,

Monica

Former Member
0 Kudos

Netaji,

I just looked in the offline program. Above you replied, that code for Buttons Do you have code for Links?

Thanks,

Monica

Former Member
0 Kudos

I've found an OSS Note: 1477877 - Offline Approval in SRM buttons not available in Outlook 2007

Former Member
0 Kudos

Hi Stefan,

we're facing the same issue, no offline approval butttons in outlook 2010 ( windows 7 ) & SRM 7 ( 702)

we've implemented the note 1477877 but it's not working . Did it works for you ?

and when we're trying to do ' display in Browser' , we see the buttons but no effect when clicking on it.

the process is working well with outlook 2003 ( XP ) .

Any idea will be appreciate.

thanks

Former Member
0 Kudos

Hi Sebastien,

it our system it works fine SRM 7.01.

I've copied the SAP standard report to a Z-report and made all the changes (I've added also the cost object description).

With these changes there is no button to reject/approve - there are links. These links are not active because of security reasons. We get a message on top of the e-mail and with clicking on the message the links can be activated.

When clicking in the links a new e-mail is opened which has to be sent manually (also a security issue of outlook - no background e-mail).

Hope this helps.

I could send you the code if it helps - just post a e-mail to which I can send it.

Regards

Stefan

Former Member
0 Kudos

Many thanks Stefan.

In fact, i've try to use report offline approval send after implementing note oss, and try to use the both options ( button or link ) but when clicking on button approval, nothing happened ( I've watched this time the top of mail for necessery actions )

I 'll really appreciate if you can send me your specific code to s_dessertine@hotmail.com

thanks

Former Member
0 Kudos

I've sent the code.

Hope it helps

Former Member
0 Kudos

Hi Stefan,

I have the same issue for offline approval email Version SRM 7.02 in Outlook 2010 sending via links. When clicking Approve link from Outlook Email, a new e-mail is opened which has to be sent manually. We are using offline approval program copied into Custom program. I have only logic what is available in Stanadrad program for Decission link. Can you also please send me the code ?

I appreciate your response.

Thanks,

Monica