cancel
Showing results for 
Search instead for 
Did you mean: 

Login and Password fields are not shown when password is typed incorrectly

Former Member
0 Kudos

Hello,

we are working with a modified login.html on our ITS 6.20 (stand alone) for the Employee Self Service. We have copied the service PZM3 to ZPZM3 and PZLE to ZPZLE. The login page looks like the PZM2 login page. All works fine, except when the user mistypes his password and clicks on "log on". The page created then shows the log on and log off buttons, but the fields login and password are gone. If the user clicks on the log on button the another two times his user gets locked. Where does the ITS create those fields once the user has mispelled his password ? The login.html is in the template folder zpzle. Copying it into the system folder didn't help. Can anybody give me a hint as to where to find the problem ? I would very much appreciate any help !

Vera

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Dear Henning,

I did read the Howto customize the login screen before posting my cry for help - but it didn't help. The login.html can be located in the system pm folders and we still have the problem. I guess it is not a matter of where the login.html is but rather some mistake in the coding somewhere - I don't think it´s a problem of missing service parameters (although -who knows?). Like I said, if you type in your password correctly, the login.html works fine. I just don´t understand why the fields login and password disappear when you mistype your password. I'll be glad to add comments to the HowTo once I understand where our problem is.

Regards,

Vera

Former Member
0 Kudos

Hi Vera,

would you please post the contents of the login template here?

regards

Tobias

Former Member
0 Kudos

Hi Tobias,

sure, here it is:

<!-- International > `Text_Client= "Client"` `Text_User = "Benutzer"` `Text_PasWrd= "Passwort"` `Text_Language= "Language"` `Text_LogOn = "Log on"` `Text_LogOff= "Log off"` `Text_NewPas= "Neues Passwort"` `Text_PasRem= "Anmeldeprobleme?"` <! Deutsch > `if( ~language== "de" )` `Text_Client= "Mandant"` `Text_User = "Benutzer"` `Text_PasWrd= "Kennwort"` `Text_Language= "Sprache"` `Text_LogOn = "Anmelden"` `Text_LogOff= "Abmelden"` `Text_NewPas= "Neues Kennwort"` `Text_PasRem= "Anmeldeprobleme?"` `end` <! English > `if( language== "en" )` `Text_Client= "Client"` `Text_User = "Login"` `Text_PasWrd= "Password"` `Text_Language= "Language"` `Text_LogOn = "Log on"` `Text_LogOff= "Log off"` `Text_NewPas= "New Password"` `Text_PasRem= "Trouble logging-in ?"` `end` <script> if(parent.parent.frames[0]) { top.location = this.location; } function loginLogoff() { if (window.opener) { window.close(); } else { window.location="`exitURL`"; } } </script> <! logo and top > <table cellspacing="0" cellpadding="0" border="0"width="780"> <tr> <td width="616" height="30" background="`mimeURL(~service="ess_global", ~language="", name="images/topnav/blue_back.gif")`" border="0"> </td> <td width="50" height="30" background="`mimeURL(service="ess_global", ~language="", ~name="images/topnav/blue_back.gif")`" align="right" border="0"> </td> <td width="125"> </td> </tr> </table> <! end logo and top > <! SAP ESS Title -->

Lafarge Roofing
Employee Self-Service


<!-- ==================================== > <table cellspacing="0" cellpadding="0" border="0"> <tr> <td> <form name="LoginForm" method="post" action="`wgateURL()`"> <input type="hidden" name="OkCode" value=""> `declare fieldEcho, getLanguages in "SAPXJutil.dll"; fieldEcho()` <table cellspacing="2" cellpadding="2" border="0"> `if (client=="")`<tr><td class="justBold">`Text_Client`</td><td><input name="~client" value="bla1 `RSYST-MANDT`"></td></tr>`end` <! '?' im Benutzernamenfeld durch p00 ersetzt (Ruben Steinman, 16.02.2005): Am 01.06.2005 wieder deaktiviert, da nicht mit Passwort-Erinnerung kompatibel. > <! `if (client=="")`<tr><td class="justBold">`Text_Client`</td><td><input name="client" value="bla2 `RSYST-MANDT`"></td></tr>`end` `if (clientCert != "2")` `if (login=="")`

`Text_User`

<input id="loginSelection" name="login" value="bla3"></td></tr>`end` `else` `if (login=="")`

`Text_User`

<input id="loginSelection" name="login" value="bla4 *"></td></tr>`end` `end` --> `if (clientCert != "2")` `if (~login=="")``end` `end` `if (~clientCert != "2" && ~password=="")``end` `if (~language=="")``end`

`Text_User`

`Text_PasWrd`

`Text_Language`

`if (strnicmp (~xgateway, "sapxgwfc", 😎 != 0)` `end` `if (~clientCert != "2" && ~login=="" && ~password=="")`

`Text_LogOn`

`Text_LogOff`

`Text_NewPas`

<!-- Button 'FAQ' hinzugefügt, Verweis auf FAQ.html (Ruben Steinman, 16.02.2005): > <!

<a href="FAQ.html" onmouseover="window.status='FAQ'; return true" onmouseout="window.status=' '; return true">!`mimeURL(~service=|alt=|width=12 height=19 border=0 |name=images/buttons/blue_left.gif|language=|src=`mimeURL(~service=!</a></td> <td class="blueButton" height=19 background="`mimeURL(~service="ess_global", ~language="", name="images/buttons/blue_tile.gif")`" nowrap>[FAQ | FAQ.html]</td> <td width=12 height=19><a href="FAQ.html" onmouseover="window.status='FAQ'; return true" onmouseout="window.status=' '; return true">!`mimeURL(~service=|alt=|width=12 height=19 border=0 |name=images/buttons/blue_right.gif|language=|src=`mimeURL(~service=!</a></td> </tr> </table> </td> > `end` <! Password Help --> <td> `include(service="pzpr", ~theme="99", ~language="", ~name="passwordfunctions.html.");` `stylesheet();` `PasswordReminderButton(Text_PasRem);` </td> <!-- Password Help (End) > </tr> <tr> <td colspan=3 class="errorRed"> `~messageLine` </td> </tr> </table> </td> </tr> </form> </td> </tr> </table> <! ========================================== > </td></tr></table> <!Tab. mit Copyright/Mail-->


Probleme bei der Anmeldung ? Trouble logging in ? E-Mail an / to: ESSAdministration@lafarge-dachsysteme.de

Regards,

Vera

Former Member
0 Kudos

Hi Vera,

your template will not produce correct HTML. No <body>, a <td> without a table and

without a closing tag....

What did you modify? Please use a diff tool and compare this template with the

original version.

regards

Tobias

Former Member
0 Kudos

Hi,

well I even copied the PZM2 login.html into the zpzle login.html and still had the same mistake, even though the PZM2 login worked. Now I copied the original html into our modified login.html and it works. Except that the password reminder pzpr only works if you mistyped your password at least once and then clicked onto the login button. If you click on the password reminder without mistyping your password and cklicking onto the login button, you get a login window Service pzpr and "please log on to the SAP System". The login should actually function by writing a user and a password into the service pzpr. The login works as soon as you mistype your password incorrectly and clicked onto the login button, then you get the correct window asking you for your user, birthdate and zipcode. Do you have any idea why it doesn't work without clicking onto the login button ? Here's the coding, the password reminder function ist marked with "password help" and "password help end".

[code]

<!-- International -->

`Text_Client= "Client"`

`Text_User = "Benutzer"`

`Text_PasWrd= "Passwort"`

`Text_Language= "Language"`

`Text_LogOn = "Log on"`

`Text_LogOff= "Log off"`

`Text_NewPas= "Neues Passwort"`

`Text_PasRem= "Anmeldeprobleme?"`

<!-- Deutsch -->

`if( ~language== "de" )`

`Text_Client= "Mandant"`

`Text_User = "Benutzer"`

`Text_PasWrd= "Kennwort"`

`Text_Language= "Sprache"`

`Text_LogOn = "Anmelden"`

`Text_LogOff= "Abmelden"`

`Text_NewPas= "Neues Kennwort"`

`Text_PasRem= "Anmeldeprobleme?"`

`end`

<!-- English -->

`if( ~language== "en" )`

`Text_Client= "Client"`

`Text_User = "Login"`

`Text_PasWrd= "Password"`

`Text_Language= "Language"`

`Text_LogOn = "Log on"`

`Text_LogOff= "Log off"`

`Text_NewPas= "New Password"`

`Text_PasRem= "Trouble logging-in ?"`

`end`

<script>

if(parent.parent.frames[0])

{

top.location = this.location;

}

function loginLogoff()

{

if (window.opener)

{

window.close();

}

else

{

window.location="`~exitURL`";

}

}

</script>

<!-- logo and top -->

<table cellspacing="0" cellpadding="0" border="0"width="780">

<tr>

<td width="616" height="30" background="`mimeURL(~service="ess_global", ~language="", ~name="images/topnav/blue_back.gif")`" border="0">&nbsp;</td>

<td width="50" height="30" background="`mimeURL(~service="ess_global", ~language="", ~name="images/topnav/blue_back.gif")`" align="right" border="0">&nbsp;</td>

<td width="125"><img src="`mimeURL(~service="ess_global", ~language="", ~name="images/topnav/login_logo_sap.gif")`" alt="SAP" width="125" height="30" border="0"></td>

</tr>

</table>

<!-- end logo and top -->

<!-- SAP ESS Title -->

<table cellspacing="0" cellpadding="0" border="0" width="98%" height="100">

<tr>

<td class="welcome" valign="bottom" align="center" height="40" width="400"><span style="font-size:215%">Lafarge Roofing</span><br>Employee Self-Service</td>

</tr>

<tr>

<td width="370" height="225">

<img src="`mimeURL(~service="ess_global", ~language="", ~name="images/spacer.gif")`" width="370" height="1" border="0">&nbsp;

</td>

<td width="100%" align="center">

<br>

</td>

</tr>

<tr>

<td>&nbsp;</td>

<td align=left valign="top">

<!-- ==================================== -->

<table cellspacing="0" cellpadding="0" border="0">

<tr>

<td>

<form name="LoginForm" method="post" action="`wgateURL()`">

<input type="hidden" name="~OkCode" value="">

`declare fieldEcho, fieldEchoWML, getLanguages, stricmp in "sapxjutil";`

`if (~xmltype == "WML")`

<card id="init" title="Logon to SAP">

<onevent type="onenterforward">

<refresh>

<setvar name="Xclient" value="`~client`" />

<setvar name="Xlogin" value="`~login`" />

<setvar name="Xpassword" value="`~password`" />

<setvar name="Xlanguage" value="`~language`" />

<setvar name="XOkCode" value="/0" />

<setvar name="XOkCode2" value="/16" />

<setvar name="XOkCode3" value="RESE" />

</refresh>

</onevent>

<do type="accept" label="Login">

<go href="`wgateURL()`" method="post">

<postfield name="~client" value="$(Xclient)" />

<postfield name="~login" value="$(Xlogin)" />

<postfield name="~password" value="$(Xpassword)" />

<postfield name="~language" value="$(Xlanguage)" />

<postfield name="~OkCode" value="$(XOkCode)" />

`fieldEchoWML();`

</go>

</do>

<p>

`if (~client=="")`Client:

<input type="text" name="Xclient" format="NNN" value="`RSYST-MANDT`" maxlength="`RSYST-MANDT.maxsize`" size="`RSYST-MANDT.vissize`" />

`end`

<br></br>

`if (~login=="")`Login:

<input type="text" name="Xlogin" value="`RSYST-BNAME`" maxlength="`RSYST-BNAME.maxsize`" size="`RSYST-BNAME.vissize`" />

`end`

<br></br>

`if (~password=="")`Password:

<input type="password" name="Xpassword" value="*" maxlength="`RSYST-BCODE.maxsize`" size="`RSYST-BCODE.vissize`" />

`end`

<br></br>

`if (~language=="")`Language:

`if (getLanguages ("langId", "langDesc") == 21)`

<select name="Xlanguage" multiple="false">

`repeat with i from 1 to langId.dim`

<option value="`langId<i>`">`langDesc<i>`</option>

`end`

</select>

`else`

<input type="text" name="Xlanguage" format="AA" value="`RSYST-LANGU`" maxlength="2" size="2" />

`end`

`end`

</p>

`if (~messageline!="");`

<p>

`~messageline`

</p>

`end`

</card>

`else`

<script language="Javascript" src="`mimeURL(~service="webgui", ~language="", ~theme="99", ~name="scripts/wgu_utils.js")`"></script>

<!-- sw/2002/8/23/inputrequired field -->

<style type="text/css">

input.withicon {

background-image:url(`mimeURL(~service="webgui", ~theme="99", ~language="",~secure="", ~name="")`/images/checkbox/edit_input_field.gif);

background-repeat:no-repeat;

background-position:left center;

}

input.without{

bachground-image:"";

}

</style>

<script language="Javascript">

function input_icon( in_id, in_action )

{

var field = document.getElementById(in_id);

if (in_action == "1")

{

field.className = "without";

}

else if (field.value == "?" || field.value == "" || field.value == " ") {

field.className = "withicon";

}

else

field.className = "without";

return true;

}

function first_focus()

{

var field = document.getElementById("login");

if (field.value == "?" || field.value == "" || field.value == " "){

field.focus();

}

}

function setdynproareasize ()

{

var eb = document.getElementsByTagName("BODY")[0];

var ew = document.getElementsByName("~webguiuserareawidth")[0];

var eh = document.getElementsByName("~webguiuserareaheight")[0];

ew.value = parseInt( (eb.offsetWidth - 12) / 7.1 - 1);

eh.value = parseInt( (eb.offsetHeight - `if (~menu2002 == "1")` 160`; else `220`; end;`) / 20 + 1);

} // setdynproareasize()

function evthandler_onload ()

{

setdynproareasize ();

first_focus ();

evthandler_onload.old();

} // evthandler_onload()

evthandler_onload.old = null;

var isCorrectSubmit = false;

function evthandler_onunload ()

{

if (!isCorrectSubmit && (`strnicmp (~xgateway, "sapxgwfc", 😎 != 0`)) {

var turl = "`wgateURL()`?~okcode=%2F16&~exiturl=";

var closewin = window.open(turl, "ITS_TERMINATEFRAME");

if (closewin == null) {

var f = document.getElementsByName( "loginform")[0];

if (f) {

f.action = f.action + "?~okcode=%2f16";

f.submit();

}

}

}

} // evthandler_onunload ()

evthandler_onload.old = document.body.onload;

document.body.onload = evthandler_onload;

document.body.onunload = evthandler_onunload;

function disableButtons ()

{

document.getElementById("ButtonOK").disabled = true;

}

</script>

<!-- end -->

<!-- Password Help -->

<td>

`include(~service="pzpr", ~theme="99", ~language="", ~name="passwordfunctions.html.");`

`stylesheet();`

`PasswordReminderButton(Text_PasRem);`

</td>

<!-- Password Help (End) -->

<!-- Auskommentiert 11052007 Stygar

<h3>Please log on to the SAP System `if (~showsysonlogin == "1"); ~systemname; end;`</h3>

-->

<table>

<tr>

<td>

`<!--

the query string

//-->

<!--

Remove [&]parameter=value vom GET query string

IN:

in_string query string

in_parameter parameter that has to be removed

OUT:

String query string with [&]in_parameter=value removed

-->

function removeGETParameter( in_string, in_parameter)

retstr = "";

if (in_string != null && in_parameter != null && in_string != "" && in_parameter != "")

slen = strLen( in_parameter);

i1 = strstr( in_string, in_parameter & "=");

if (i1 > 0) <!-- in_parameter found in in_string -->

str = strSub( in_string, i1 + slen, 0);

i2 = strstr( str, "&");

if (i1 == 1) <!-- in_parameter first parameter in in_string -->

if (i2 == 0) retstr = "";

else retstr = strSub( str, i2 + 1, 0); end;

else

if (i1 > 2)

retstr = strSub( in_string, 1, i1 - 2); <!-- substring up to "&in_parameter=..." -->

else

retstr = "";

end;

if (i2 > 0) <!-- further parameter after in_parameter in in_string -->

retstr = retstr & strSub( str, i2, 0);

end;

end;

else

retstr = in_string;

end;

else

retstr = in_string;

end;

return( retstr);

end; <!-- removeGETParameter() -->

<!--

the original query string

//-->

if (~http_query_string != "")

querystr = removeGETParameter( http_query_string, "service");

write("\n<!-", "-\n Query: '", querystr, "' ('", ~http_query_string , "')\n-", "->\n");

querystr = "?" & querystr;

else

querystr = "";

end;

`

<form name="loginform" method="post" action="`wgateURL() & querystr`" onsubmit="isCorrectSubmit=true; setdynproareasize(); disableButtons(); return true;">

`fieldEcho()`

<input type="hidden" name="~webguiuserareawidth" value="" />

<input type="hidden" name="~webguiuserareaheight" value="" />

<table><tr><td valign="top">

<table valign="top">

<!--Auskommentiert 11052007 Stygar

<tr><td>Service:</td><td>`~Service`</td></tr>

-->

`if (~client=="")`

<tr><td>Client:</td><td><input name="~client" value="`RSYST-MANDT`"></td></tr>

<tr><td>

<input name="~clientinput" type="hidden" value= "1">

</td></tr>

`end`

`if (~clientCert != "2")`

`if (RSYST-BNAME=="?")

rsystbname = "";

loginclass = "withicon";

else

rsystbname = RSYST-BNAME;

loginclass = "without";

end;

`

<tr><td>Login:</td>

<td>

<!-- should always have an accessible login page

which is always in English

-->

<label for="login" style="display:none">Login required.</label>

<input name="~login"

class="`loginclass`"

id="login"

value="`rsystbname`"

onfocus="input_icon('login', '1');"

onblur="input_icon('login', '0');"

onChange="javascript:this.value=this.value.toUpperCase();">

</td>

</tr>

<tr><td><input name="~logininput" type="hidden" value="1"></td></tr>

`else`

`if (~login=="")`

<tr><td>Login:</td>

<td><input name="~login"

class="without"

id="login"

value="*"

onfocus="input_icon('login', '1');"

onblur="input_icon('login', '0');"

onChange="javascript:this.value=this.value.toUpperCase();"></td></tr>

`end`

`end`

`if (~clientCert != "2" && ~password=="")`

<tr><td>Password:</td><td>

<label for="password" style="display:none">Password required.</label>

<input type="password"

id="passwd"

name="~password"

value=""

class="withicon"

size=8

maxlength=8

onfocus="input_icon('passwd', '1');"

onblur="input_icon('passwd', '0');"

onchange="input_icon('passwd', '0');" ></td></tr>

<tr><td>

<input name="~passwdinput" type="hidden" value="1">

</td></tr>

`end`

`<!--/tj/2002-04-04/ show language selection in case of an error -->

if (~language=="" || ~messageline != "")`<tr><td>Language:</td>

<td>

<select name="~language" onkeydown="if(event.keyCode==13){event.cancelBubble=true;event.returnValue=false;document.getElementById('ButtonOk').click();}">

`if (getLanguages ("langId", "langDesc") == 0)

sel = "";

repeat with i from 1 to langId.dim;

if (~language != ""

&& stricmp(~language, langId<i>) == 0)

sel = "X";`

<option value="`langId<i>`" selected>`langDesc<i>`</option>

`else`

<option value="`langId<i>`">`langDesc<i>`</option>

`end;

end;

else`

<option value="en">No allowed languages specified! Using English as default.</option>

`end;

if (~language != "" && sel != "X")`

<option value="`language`" selected>`language`</option>

`end;`

</select>

</td></tr>

`end;

<!-- /tj/2002-04-04/ -->

<!-- /tj/ABP/2002-03-26/ show accessibility checkbox -->

if (~dontshowaccessibilityonlogin != "1")`

<script language="Javascript">

var gmycookie = new wguObjCookie();

var gisacc = (0`accessibility` || gmycookie.Get( "accessibility"));

function setacclabeltext( in_label )

{

var e = document.getElementById( in_label);

var isacc = document.loginform.elements["~accessibility"].checked;

e.firstChild.data = "Turn accessibility mode " + (isacc ? "off" : "on");

}

function setacccookie()

{

var isacc = document.loginform.elements["~accessibility"].checked;

if (isacc == true) {

document.loginform.elements["~accessibility"].value = "1";

var exp = gmycookie.EvalExpDays( 7);

gmycookie.Set( "~accessibility", "1", exp, "/");

}

else {

document.loginform.elements["~accessibility"].value = "0";

var exp = gmycookie.EvalExpDays( 7);

gmycookie.Set( "~accessibility", "0", exp, "/");

}

//setacclabeltext( "acclabel");

return true;

}

</script>

<tr><td>Accessibility:&nbsp;</td><td align="left">

<input id="acc" type="checkbox" name="~accessibility" value="0" onclick="return setacccookie();" />

<!-- label id="acclabel" style="display:none; visibility:hidden" for="acc">Toggle Accessibility mode</label -->

</td></tr>

<tr><td>

<input name="~accessibilityinput" type="hidden" value="1">

</td></tr>

<script language="Javascript" defer>

if (gisacc != null) {

document.loginform.elements["~accessibility"].value = gisacc;

document.loginform.elements["~accessibility"].checked = (gisacc == "1") ? true : false;

}

//setacclabeltext( "acclabel");

</script>

`end`

`<!--/tj/2002-03-26/ -->`

<tr><td></td><td `if (MessageLine != "")`tabindex=1`end;`><pre>`MessageLine`</pre></td></tr>

</table>

</td>

<td valign="top">

`if (~showcononlogin == "1")`

<table border="0" cellspacing="4" cellpadding="0" valign="top">

<tr>

<td nowrap width="80">&nbsp;</td>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

<td nowrap tabindex=2>System Name:</td>

<td nowrap tabindex=3>`~systemname`</td>

</tr>

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

`if (~messageserver)`

<tr>

<td>&nbsp;</td>

<td nowrap tabindex=4>Message Server:</td>

<td nowrap tabindex=5>`~messageserver`</td>

</tr>

`end`

`if (~logingroup)`

<tr>

<td>&nbsp;</td>

<td nowrap tabindex=6>Group:</td>

<td nowrap tabindex=7>`~logingroup`</td>

</tr>

`end`

`if (~systemnumber)`

<tr>

<td>&nbsp;</td>

<td nowrap tabindex=8>System Number:</td>

<td nowrap tabindex=9>`~systemnumber`</td>

</tr>

`end`

`if (~appserver)`

<tr>

<td>&nbsp;</td>

<td nowrap tabindex=10>Application Server:</td>

<td nowrap tabindex=11>`~appserver`</td>

</tr>

`end`

</table>

`end`

</td></tr>

</table>

</td>

</tr>

<tr>

<td>

<table align=left>

<tr>

<td>

<input type=submit id="ButtonOK" name="~OkCode=/0" value="Logon">

</td>

`if (strnicmp (~xgateway, "sapxgwfc", 😎 != 0)`

<td>

<input type=submit name="~OkCode=/16" value="Logoff">

</td>

`end`

`if (~clientCert != "2" && ~login=="" && ~password=="")`

<td>

<input type=submit name="~OkCode=RESE" value="New Password">

</td>

`end`

</tr>

</table>

</td>

</tr>

</form>

</td>

</tr>

</table>

`

<!--

URL of termination frame depends on protocol

-->

if (~http_https == "on")

termframeurl = mimeURL(~service="system", ~language="", ~theme="99", ~name="page/wgu_empty.html");

else

termframeurl = "about:blank";

end;

`

<iframe name="ITS_TERMINATEFRAME" src="`termframeurl`" style="display:none; visibility: hidden;"></iframe>

`end

`

<!Tab. mit Copyright/Mail>

<tr>

<td>

<td style="background-image:url(bg_arena3.gif)" width="565" valign="top">

<p align="center">&nbsp;Probleme bei der Anmeldung ? Trouble logging in ? E-Mail an / to: &nbsp;<a href="mailto:ESSAdministration@lafarge-dachsysteme.de" ONFOCUS="this.blur()">ESSAdministration@lafarge-dachsysteme.de<br>

</td>

</tr>

</body>

[/code]

former_member185704
Contributor
0 Kudos

Hi Vera,

Maybe it is helpful for you to read the Howto <a href="https://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=22219">How to customize the login screen?</a> in our ITS Wiki section on SDN?

Maybe you already know it? Feel free to add comments to the Howto in case you have ideas on how to improve it.

Best regards,

Henning