Use/Purpose:

To overcome the URL Length limitations in Outlook and Internet Explorer

Technical Explanation from Microsoft expert:

  1. 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.
  2. 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.
  3. The only
    option at this stage I can think of is
    1. Whenever the
      mail is being posted, program should generate a key value pair, key an unique
      ID and value being all the purchase groups.
    2. This gets
      stored on web server in a temp database, or XML file
    3. The url
      posted for email only has the unique ID in the query string
    4. 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)

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:

http://adhn5338.na.pg.com:9000/sap/bw/BEx?CMD=LDOC&TEMPLATE_ID=GPUP_TEMPLATE_SC_SCRD&BOOKMARK_ID=72VRKM1RI2I7U05UHZAWE2ON2&VAR_NAME_1=GPU_CREG&VAR_NAME_2=GPUSUBRE&VAR_NAME_3=GPU_CTRY&VAR_NAME_4=GPUBWSIT&VAR_NAME_5=GPU_PLNT&VAR_NAME_6=GPUSPHI&VAR_NAME_7=GPUSPMED&VAR_NAME_8=GPU_MTGP&VAR_NAME_9=GPU_MATM&VAR_NAME_10=GPU_SUPG&VAR_NAME_11=GPU_GBU&VAR_NAME_12=ZMGUSN&VAR_NAME_13=GPU_VEND&VAR_NAME_14=GPU_SRCS&VAR_NAME_15=GPU_COMP&VAR_NAME_16=GPU_PORG&VAR_NAME_17=GPUP_PGRP3&VAR_NAME_18=GPUPRCMT&VAR_NAME_19=GPUACSTP&VAR_NAME_20=0I_CMNTH&VAR_NAME_21=GPU_CURR&VAR_NAME_22=ZMPLORGS&VAR_NAME_23=GPU_ZFREGN&VAR_NAME_24=GPU_ZFSUBRGN&VAR_NAME_25=GPUP_OS_COUNT&VAR_NAME_26=GPU_ZGBSCENT&VAR_NAME_27=GPUP_ZFREGN&VAR_NAME_28=GPUP_ZFSUBRGN&VAR_NAME_29=GPUP_ZCOCODE&VAR_NAME_30=GPUP_ORG&VAR_NAME_31=GPUP_PLANT&VAR_NAME_32=GPUP_PURORG&VAR_NAME_33=GPUP_PURORD&VAR_NAME_34=GPUP_POORIG&VAR_NAME_35=GPUP_APPROC&VAR_NAME_36=GPUP_INVTY&VAR_NAME_37=GPUP_VENDOR&VAR_NAME_38=GPUP_ZFDUNNS&VAR_NAME_39=GPUP_VENCNTRY&VAR_NAME_40=GPUP_ZMININD&VAR_NAME_41=GPUP_VENACTGR&VAR_NAME_42=GPUP_ZFAMTCLS&VAR_NAME_43=GPUP_PTCLS&VAR_NAME_44=GPUP_DGLAT&VAR_NAME_45=GPUP_SYSID&VAR_NAME_46=GPUP_DOCMNT&VAR_NAME_47=GPUP_DSCIN&VAR_NAME_48=GPUP_ZNBSCOUN&VAR_NAME_49=GPUP_PDCLS&VAR_NAME_50=GPUP_ZNBAUPOS&VAR_NAME_51=GPUP_PDFIL&VAR_NAME_52=GPUP_EXPED&VAR_NAME_53=GPUP_CPIND&VAR_NAME_54=GPUP_PTFIL&VAR_NAME_55=GPUP_DPTFI&VAR_NAME_56=GPUP_ZFCLRDT&VAR_NAME_57=GPUP_SPHI&VAR_NAME_58=GPUP_SPLO&VAR_NAME_59=GPUP_SPMED&VAR_NAME_60=GPUP_DPTCL&VAR_NAME_61=ZSC_FPER&VAR_NAME_62=GPUP_MIRPERO&VAR_NAME_63=GPUP_ZMF&VAR_OPERATOR_1=EQ&VAR_OPERATOR_20=BT&VAR_OPERATOR_27=EQ&VAR_OPERATOR_61=EQ&VAR_OPERATOR_62=EQ&VAR_SIGN_1=I&VAR_SIGN_27=I&VAR_SIGN_61=I&VAR_SIGN_62=I&VAR_VALUE_EXT_21=USD&VAR_VALUE_HIGH_EXT_20=01%2e2012&VAR_VALUE_LOW_EXT_1=ASIA&VAR_VALUE_LOW_EXT_20=01%2e2012&VAR_VALUE_LOW_EXT_27=ASIA&VAR_VALUE_LOW_EXT_61=001%2e2012&VAR_VALUE_LOW_EXT_62=001%2e2012

Outlook limitation:

S1.png

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 

S2.png

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.

To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply