URL Length limitations in Outlook and Internet Explorer
Use/Purpose:
To overcome the URL Length limitations in Outlook and Internet Explorer
Technical Explanation from Microsoft expert:
- Firstly this
is not an outlook problem, it’s the web standard, may web server will return
error code 414 in case the query string or the length of the complete URL goes
above 1024, there is no work around this HTTP GET method is used. - Other way is
to use HTTP Post, that means sending a Form to mail client and all the data as
hidden fields, so whenever user presses submit the data will be posted on the
webpage and the further operation could be done there, hitch is outlook 2007
and many other mail clients does not have support for posting the form and many
mail clients give security warming message. - The only
option at this stage I can think of is- Whenever the
mail is being posted, program should generate a key value pair, key an unique
ID and value being all the purchase groups. - This gets
stored on web server in a temp database, or XML file - The url
posted for email only has the unique ID in the query string - The web page
that handles the request on click of the URL , access this list , resolves the
unique ID against the value and takes appropriates action either display /or
redirection (whatever the logic may be)
- Whenever the
Issue :URL Limitations in outlook and Internet explorer
When there are more than 50 Purchase group associated with a user then I need to
send URL for the details of all 50 Pgroups. In such cases my URL length is more
than 2500.
We came to know that there is limitation in outlook of 1024 characters for
hyperlink to work properly. If the URL crosses 1024 then hyperlink doesn’t
work.
Example link:
Outlook limitation:
http://superuser.com/questions/365667/hyperlinks-995-characters-are-not-clickable-in-outlook-2007
http://msdn.microsoft.com/en-us/library/system.web.httputility.urlencode.aspx
Procedure:
Work around 1:
We have developed a Webdynpro UI where Email link Calls Webdynpro UI and inturn it
will call BI report
Outlook Email – > Webdynpro UI -> BI Report
Internet Explorer(Browser) Limitations:
We come across another issue that when we pass URL more than 2083 length (It takes
only MAX of 2083) , it won’t work.
Work around 2
We are passing URL Via Post method (HTML Coding), But outlook doesn’t support
HTML. So we are giving one more attachment with the name URL where we have
Click here option.
Code snippet:
(HTML code which needs to be generated Via SAP ABAP Program)
<form id=”X”
method=”post” action=”http://grd.na.pg.com:8022/sap/bw/BEx“>
<input type=hidden
name=”CMD” value=”LDOC”>
<input type=hidden
name=”SAP-LANGUAGE” value=”EN”>
<input type=hidden
name=”BSPLANGUAGE” value=”EN”>
<input type=hidden
name=”TEMPLATE_ID” value=”GPUP_TEMPLATE_SC_SCRD”>
<input type=hidden
name=”GPUP_SC_SCORECARD” value=””>
<input type=hidden
name=”VARIABLE_SCREEN_1″ value=”20%”>
<input type=hidden
name=”VAR_NAME_1″ value=”GZCVCMON”>
<input type=hidden
name=”var_value_ext_1″ value=”082012″>
<input type=hidden
name=”VAR_NAME_2″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_2″ value=”0LI”>
<input type=hidden
name=”VAR_NAME_3″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_3″ value=”0LJ”>
<input type=hidden
name=”VAR_NAME_4″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_4″ value=”02F”>
<input type=hidden
name=”VAR_NAME_5″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_5″ value=”0L1″>
<input type=hidden
name=”VAR_NAME_6″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_6″ value=”0LE”>
<input type=hidden
name=”VAR_NAME_7″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_7″ value=”0LK”>
<input type=hidden
name=”VAR_NAME_8″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_8″ value=”111″>
<input type=hidden
name=”VAR_NAME_9″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_9″ value=”112″>
<input type=hidden
name=”VAR_NAME_10″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_10″ value=”113″>
<input type=hidden
name=”VAR_NAME_11″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_11″ value=”114″>
<input type=hidden name=”VAR_NAME_12″
value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_12″ value=”115″>
<input type=hidden
name=”VAR_NAME_13″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_13″ value=”116″>
<input type=hidden
name=”VAR_NAME_14″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_14″ value=”117″>
<input type=hidden
name=”VAR_NAME_15″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_15″ value=”118″>
<input type=hidden
name=”VAR_NAME_16″ value=”GPUP_POGRP”>
<input type=hidden name=”var_value_ext_16″
value=”119″>
<input type=hidden
name=”VAR_NAME_17″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_17″ value=”120″>
<input type=hidden
name=”VAR_NAME_18″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_18″ value=”121″>
<input type=hidden
name=”VAR_NAME_19″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_19″ value=”122″>
<input type=hidden
name=”VAR_NAME_20″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_20″ value=”123″>
<input type=hidden name=”VAR_NAME_21″
value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_21″ value=”124″>
<input type=hidden
name=”VAR_NAME_22″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_22″ value=”125″>
<input type=hidden
name=”VAR_NAME_23″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_23″ value=”126″>
<input type=hidden
name=”VAR_NAME_24″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_24″ value=”127″>
<input type=hidden
name=”VAR_NAME_25″ value=”GPUP_POGRP”>
<input type=hidden name=”var_value_ext_25″
value=”128″>
<input type=hidden
name=”VAR_NAME_26″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_26″ value=”129″>
<input type=hidden
name=”VAR_NAME_27″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_27″ value=”130″>
<input type=hidden
name=”VAR_NAME_28″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_28″ value=”131″>
<input type=hidden
name=”VAR_NAME_29″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_29″ value=”132″>
<input type=hidden name=”VAR_NAME_30″
value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_30″ value=”133″>
<input type=hidden
name=”VAR_NAME_31″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_31″ value=”134″>
<input type=hidden
name=”VAR_NAME_32″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_32″ value=”135″>
<input type=hidden
name=”VAR_NAME_33″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_33″ value=”136″>
<input type=hidden
name=”VAR_NAME_34″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_34″ value=”137″>
<input type=hidden
name=”VAR_NAME_35″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_35″ value=”138″>
<input type=hidden
name=”VAR_NAME_36″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_36″ value=”139″>
<input type=hidden
name=”VAR_NAME_37″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_37″ value=”140″>
<input type=hidden
name=”VAR_NAME_38″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_38″ value=”141″>
<input type=hidden
name=”VAR_NAME_39″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_39″ value=”142″>
<input type=hidden
name=”VAR_NAME_40″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_40″ value=”143″>
<input type=hidden
name=”VAR_NAME_41″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_41″ value=”144″>
<input type=hidden
name=”VAR_NAME_42″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_42″ value=”145″>
<input type=hidden
name=”VAR_NAME_43″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_43″ value=”146″>
<input type=hidden
name=”VAR_NAME_44″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_44″ value=”147″>
<input type=hidden
name=”VAR_NAME_45″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_45″ value=”148″>
<input type=hidden
name=”VAR_NAME_46″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_46″ value=”149″>
<input type=hidden
name=”VAR_NAME_47″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_47″ value=”150″>
<input type=hidden
name=”VAR_NAME_48″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_48″ value=”151″>
<input type=hidden
name=”VAR_NAME_49″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_49″ value=”152″>
<input type=hidden
name=”VAR_NAME_50″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_50″ value=”153″>
<input type=hidden
name=”VAR_NAME_51″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_51″ value=”154″>
<input type=hidden
name=”VAR_NAME_52″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_52″ value=”155″>
<input type=hidden
name=”VAR_NAME_53″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_53″ value=”156″>
<input type=hidden
name=”VAR_NAME_54″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_54″ value=”157″>
<input type=hidden
name=”VAR_NAME_55″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_55″ value=”158″>
<input type=hidden
name=”VAR_NAME_56″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_56″ value=”159″>
<input type=hidden
name=”VAR_NAME_57″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_57″ value=”163″>
<input type=hidden
name=”VAR_NAME_58″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_58″ value=”160″>
<input type=hidden
name=”VAR_NAME_59″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_59″ value=”161″>
<input type=hidden
name=”VAR_NAME_60″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_60″ value=”162″>
<input type=hidden
name=”VAR_NAME_61″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_61″ value=”164″>
<input type=hidden
name=”VAR_NAME_62″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_62″ value=”16″>
<input type=hidden
name=”VAR_NAME_63″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_63″ value=”168″>
<input type=hidden
name=”VAR_NAME_64″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_64″ value=”166″>
<input type=hidden
name=”VAR_NAME_65″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_65″ value=”167″>
<input type=hidden
name=”VAR_NAME_66″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_66″ value=”169″>
<input type=hidden
name=”VAR_NAME_67″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_67″ value=”170″>
<input type=hidden
name=”VAR_NAME_68″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_68″ value=”1L”>
<input type=hidden
name=”VAR_NAME_69″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_69″ value=”2ER”>
<input type=hidden
name=”VAR_NAME_70″ value=”GPUP_POGRP”>
<input type=hidden
name=”var_value_ext_70″ value=”GRT”>
<input type=hidden
name=”TEMPLATE_ID” value=”GPUP_TEMPLATE_SC_SCRD”>
<input type=hidden
name=”QUERY_2″ value=”GPUP_SC_IFR_MIR_BR_TEST1″>
<input type=hidden
name=”VARIABLE_SCREEN_2″ value=”20%”>
<input type=hidden
name=”VAR_NAME_71″ value=”GPUP_MIRPERIOD”>
<input type=hidden
name=”var_value_ext_71″ value=”0022013″>
<input type=hidden
name=”VAR_NAME_72″ value=”GPUP_FISPERYEAR”>
<input type=hidden
name=”var_value_ext_72″ value=”0022013″>
<a href=”http://grd.na.pg.com:8022/sap/bw/BEx“
onclick=”document.getElementById(‘X’).submit();return
false;”>Click here</a>
</form>
SSO Issue:
When we send parameters via post methods the data
gets added with ‘&’ symbols as default.
But SSO Can’t Recognize ‘&’ . so In order to
achieve that in the URL Document we would be having “Enable SSO” button. Users
need to click that then Use the “Click Here” option to use the link .
Code
snippet:
<a
href=”http://grp.mysap.pg.com:8010/sap/bw/BEx“
onclick=”xx=window.open(‘http://ssoprod.mysap.pg.com/erpsso/getsso.html’,”,’width=5,height=5′);return
false;”>Enable SSO Link </a><form id=”X”
method=”post” action=”http://grp.mysap.pg.com:8010/sap/bw/BEx“>
<input
type=hidden name=”CMD” value=”LDOC”>
<input
type=hidden name=”SAP-LANGUAGE” value=”EN”>
<input
type=hidden name=”BSPLANGUAGE” value=”EN”>
<input
type=hidden name=”TEMPLATE_ID”
value=”GPUP_PROCUEMENT_BUYERS”>
<input
type=hidden name=”Query_1″ value”GPUP_SC_PROCUR_SCRD”>
<input
type=hidden name=”VARIABLE_SCREEN_1″ value=”20%”>
<input
type=hidden name=”VAR_NAME_1″ value=”0I_CMNTH”>
<input
type=hidden name=”var_operator_1″ value=”BT”>
<input
type=hidden name=”var_sign_1″ value=”I”>
<input
type=hidden name=”var_value_low_ext_1″ value=”092012″>
<input
type=hidden name=”var_value_high_ext_1″ value=”092012″>
<input
type=hidden name=”VAR_NAME_2″ value=”GPU_CONCAT”>
<input
type=hidden name=”var_operator2″ value=”CP”>
<input
type=hidden name=”var_sign_2″ value=”E”>
<input
type=hidden name=”var_value_LOW_ext_2″ value=”EMEA*”>
<input
type=hidden name=”VAR_NAME_3″ value=”GPU_CONCAT”>
<input
type=hidden name=”var_operator3″ value=”CP”>
<input
type=hidden name=”var_sign_3″ value=”E”>
<input
type=hidden name=”var_value_LOW_ext_3″ value= “EMEA*”>
<input
type=hidden name=”VAR_NAME_4″ value=”GPU_CONCAT”>
<input
type=hidden name=”var_operator4″ value=”CP”>
<input
type=hidden name=”var_sign_4″ value=”E”>
<input
type=hidden name=”var_value_LOW_ext_4″ value= “EMEA*”>
<input
type=hidden name=”VAR_NAME_5″ value=”GPU_CONCAT”>
<input
type=hidden name=”var_operator5″ value=”CP”>
<input
type=hidden name=”var_sign_5″ value=”E”>
<input
type=hidden name=”var_value_LOW_ext_5″ value= “EMEA*”>
<input
type=hidden name=”VAR_NAME_6″ value=”GPU_CONCAT”>
<input
type=hidden name=”var_operator6″ value=”CP”>
<input
type=hidden name=”var_sign_6″ value=”E”>
<input
type=hidden name=”var_value_LOW_ext_6″ value= “GLOBAL*”>
<input
type=hidden name=”VAR_NAME_7″ value=”GPU_CONCAT”>
<input
type=hidden name=”var_operator7″ value=”CP”>
<input
type=hidden name=”var_sign_7″ value=”E”>
<input
type=hidden name=”var_value_LOW_ext_7″ value= “GLOBAL*”>
<input
type=hidden name=”VAR_NAME_8″ value=”GPU_CONCAT”>
<input
type=hidden name=”var_operator8″ value=”CP”>
<input
type=hidden name=”var_sign_8″ value=”E”>
<input
type=hidden name=”var_value_LOW_ext_8″ value= “GLOBAL*”>
<input
type=hidden name=”VAR_NAME_9″ value=”GPU_CONCAT”>
<input
type=hidden name=”var_operator9″ value=”CP”>
<input
type=hidden name=”var_sign_9″ value=”E”>
<input
type=hidden name=”var_value_LOW_ext_9″ value= “GLOBAL*”>
<a
href=”http://grp.mysap.pg.com:8010/sap/bw/BEx“
onclick=”document.getElementById(‘X’).submit();return
false;”>Click here for Direct Link </a></form>
By this way we can avoid all limitations.
Very helpful document!!
Thanks for Sharing.. Really Useful..
Good document....
Thanks Priya for this informative document 🙂