Error in the standard htmlb.jar from EP6 SP9 (HTMLx)
I've successfully migrated my custom developed applications from EP5 SP5 to EP6 SP9. I've used the well known 3rd party
HTMLxframework for the DatePicker and Locale corrections only (I am a brazilian developer).
In the org.sapportals.htmlb.rendering there is a class named RenderUtil.
This class has two places with this specific code:
ResourceBundle r = ResourceBundle.getBundle("java.text.resources.LocaleElements", locale);
Which is very wrong as the "java.text.resources.LocaleElements" is available only until j2sdk 1.3. In the EP5 that runs under 1.3 there's no problem but EP6 uses j2sdk 1.4 and this packages has been relocated from the standard package to a "ext" (extension) package and been renamed as "sun.text.resources.LocaleElements".
So, as HTMLx uses this RenderUtil class, I had to decompile the original from the htmlb.jar using JAD and corrected the above line with the following new line or code:
ResourceBundle r = ResourceBundle.getBundle("sun.text.resources.LocaleElements", locale);
More than that, I had to change several places of the HTMLx's HxInputFieldRenderer to reflect the class name changes made to the CSSs of the EP6. In the new version SAP does not open a pop-up window for the DatePicker. Instead they chose to rewrite it as a dynamic layer. So the HTMLx code has to change to reflect that.
Here follows the workaround version of HxInputFieldRenderer.java (notice that some strings are not internationalized, I just copied and pasted the parts I needed, so it's not a definitive version, but will help you get a clue of what to do):
* HxInputFieldRenderer.java
* Copyright (C) 2003 Alan Hobbs
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
package org.open.sapportals.htmlx.rendering;
import javax.servlet.jsp.PageContext;
import org.open.sapportals.htmlx.HxField;
import org.open.sapportals.htmlx.HxInputField;
import org.open.sapportals.htmlx.HxLocaleUtil;
import com.sapportals.htmlb.Component;
import com.sapportals.htmlb.Form;
import com.sapportals.htmlb.InputField;
import com.sapportals.htmlb.enum.DataType;
import com.sapportals.htmlb.enum.InputFieldDesign;
import com.sapportals.htmlb.enum.ResourceType;
import com.sapportals.htmlb.rendering.DefaultInputFieldRenderer;
import com.sapportals.htmlb.rendering.IPageContext;
import com.sapportals.htmlb.type.AbstractDataType;
import com.sapportals.htmlb.type.DataDate;
import com.sapportals.htmlb.type.DataString;
import com.sapportals.htmlb.type.Date;
import com.sapportals.portal.prt.component.IPortalComponentRequest;
import com.sapportals.portal.prt.component.IPortalComponentResponse;
import com.sapportals.portal.prt.logger.ILogger;
import com.sapportals.portal.prt.runtime.PortalRuntime;
import com.sapportals.portal.prt.service.urlgenerator.IUrlGeneratorService;
import com.sapportals.portal.prt.service.urlgenerator.specialized.IPortalUrlGenerator;
import com.sapportals.portal.prt.service.urlgenerator.specialized.ISpecializedUrlGenerator;
* @author Alan.Hobbs
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
* Render the HxInputField.
* Version Date Author Description
* 0.1.0 1-Aug-2003 AHobbs Origional
* 0.1.0 4-Aug-2003 AHobbs Added resource bundle
* 0.1.1 6-Aug-2003 AHobbs Write hidden fields to store the locale
* 0.1.1 8-Aug-2003 AHobbs Don't show the date picker button if the field is disabled
* 0.1.2 10-Aug-2003 AHobbs Only generate the month and day name javascript once per form
* 1.1.0 1-Apr-2004 AHobbs Added render methods to allow a HTMLB InputField
* to be used instead of a HxInputField
* 1.1.0 6-Apr-2004 AHobbs Changed the names for the hidden fields to "_HTMLX_xxxxx"
* 1.1.0 20-Apr-2004 AHobbs Allow debug code to be written to the console with System.out.println()
* 1.3.0 4-May-2004 AHobbs Added PopUp rendering
public class HxInputFieldRenderer extends DefaultInputFieldRenderer {
protected ILogger m_logger = PortalRuntime.getLogger("htmlx");
private static boolean writingDebugToConsole;
public HxInputFieldRenderer() {
super();
public void render(Component component, IPageContext pc)
m_logger.info("Entry: HxInputFieldRenderer.render()");
if (!(component instanceof HxInputField)) {
m_logger.warning(
"HxInputFieldRenderer.render() component is not instanceof HxInputField " +
"(component.getClass().getName()='" + component.getClass().getName() + "')");
return;
HxInputField inf = (HxInputField)component;
DataType type = inf.getType();
if (writingDebugToConsole) {
System.out.println("Start rendering HxInputField (id='" + inf.getId() + "') ...");
m_logger.info(" id='" + inf.getId() + "'");
m_logger.info(inf.toString());
/* Only include for PDK version 5.0.5.0 and above - may not be required ???
// m_logger.info(" VersionInfo.getVersion()='" + VersionInfo.getVersion() + "'");
// if (VersionInfo.?????) {
// if (pc.isUsingSession() && !inf.isVisible() && inf.getParkInSession()) {
// String uniqueName = pc.getParamIdForComponent(inf);
// Object value = inf.getValue();
// String valueString = null;
// if (value != null) {
// if (value instanceof AbstractDataType) {
// AbstractDataType dataValue = (AbstractDataType)value;
// if (dataValue != null)
// if (dataValue.isValid())
// valueString = dataValue.toString(pc);
// else
// if (dataValue instanceof DataString)
// valueString = dataValue.toString(pc);
// else
// valueString = dataValue.getValueAsString();
// else {
// valueString = value.toString();
// else {
// valueString = "";
// pc.getParamList().put(uniqueName, valueString);
// return;
boolean showDateHelp = false;
if (DataType.DATE.equals(type)
&& inf.isShowHelp()
&& !inf.isDisabled()) {
showDateHelp = true;
boolean showPatternHint = false;
if (inf.isShowPatternHint()
&& (DataType.DATE.equals(type)
|| DataType.TIME.equals(type))
|| ((inf.getPatternHint() != null) && (inf.getPatternHint().length() > 0))) {
showPatternHint = true;
boolean showStatusMsg = false;
if (inf.isShowStatusMsg() && (inf.getStatusMsg() != null) && (inf.getStatusMsg().length() > 0)) {
showStatusMsg = true;
if (showDateHelp || showPatternHint || showStatusMsg) {
pc.write("<table cellspacing="0" cellpadding="0" border="0" id="");
pc.write(""><tr><td>");
String uniqueName = pc.getParamIdForComponent(inf);
if (inf.isVisible()) {
pc.write("<span id="");
pc.write(uniqueName);
pc.write("-r" class="urEdfHelpWhl">");
if (inf.isPassword())
pc.write("<input type="password" class="sapEdf");
else
pc.write("<input type="text" class="sapEdf");
if (inf.isInvalid())
pc.write("i");
if (inf.isRequired())
pc.write("Req");
else
pc.write("Txt");
if (inf.isDisabled())
pc.write("Dsbl");
else
pc.write("Enbl");
if (inf.getDesign() == InputFieldDesign.SMALL)
pc.write("Sml");
pc.write("" autocomplete="off");
int mySize = inf.getSize();
if (mySize > 0) {
pc.write("" size="");
pc.write(mySize);
int maxlength = inf.getMaxlength();
if (maxlength > 0) {
pc.write("" maxlength ="");
pc.write(maxlength);
java.lang.String value = inf.getWidth();
if (value != null && !"".equals(value)) {
pc.write("" style="width:");
pc.write(value);
pc.write(";");
java.lang.String tooltip = inf.getTooltip();
if (tooltip != null) {
pc.write("" title="");
pc.writeEncoded(tooltip);
pc.write(" onchange="return htmlbDoEvent(this,'TV','onchange','0','");
pc.write(uniqueName);
pc.write("',1,1,'',0);" ");
pc.write(" onblur="return htmlbDoEvent(this,'TV','onblur','0','");
pc.write(uniqueName);
pc.write("',1,1,'',0);" ");
if(inf.isDisabled())
pc.write("" readonly="");
else {
pc.write("<input type="hidden");
pc.write("" name="");
pc.write(uniqueName);
if (inf.isLabeled()) {
pc.write("" id="");
pc.write(uniqueName);
Object value = inf.getValue();
pc.write("" value="");
if (value != null) {
String valueString = null;
if (value instanceof AbstractDataType) {
m_logger.info("-- Abstract Data Type");
AbstractDataType dataValue = (AbstractDataType)value;
if (dataValue != null) {
m_logger.info("-- dataValue != null");
if (dataValue.isValid()) {
m_logger.info("-- dataValue.isValid()");
if (dataValue instanceof DataDate) {
m_logger.info("-- dataValue instanceof DataDate");
Date date = ((DataDate)dataValue).getValue();
valueString = HxLocaleUtil.formatDate(date, pc.getLocale());
else {
m_logger.info("-- NOT dataValue instanceof DataDate");
valueString = dataValue.toString(pc);
else if (dataValue instanceof DataString) {
m_logger.info("-- dataValue instanceof DataString");
valueString = dataValue.toString(pc);
else {
m_logger.info("-- dataValue.getValueAsString()");
valueString = dataValue.getValueAsString();
else {
// Not Abstract Data Type
m_logger.info("-- Not Abstract Data Type");
valueString = value.toString();
pc.writeEncoded(valueString);
pc.write(""/>");
if (showDateHelp) {
String dateFormat = HxLocaleUtil.getSapDatePatternNumber(pc.getLocale());
pc.write("</td><td align='left'><button id='");
pc.write(uniqueName);
pc.write("-btn' type="button" tabindex="-1" ti="-1" class="urEdfHlpDate" onclick="htmlb_showDateHelp(event,'");
pc.write(uniqueName);
pc.write("','");
pc.write(dateFormat);
pc.write("','1')"></button>");
pc.write("<script>htmlb_addTexts('pt_BR',{SAPUR_OCTOBER:"Outubro",SAPUR_MSG_LOADING:"Processo de carga em andamento"," +
"SAPUR_SUNDAY_ABBREV:"Do",SAPUR_F4FIELD_TUTOR:"Pressionar F4 para exibir as entradas possíveis"," +
"SAPUR_INVALID:"Não válido",SAPUR_FEBRUARY:"Fevereiro",SAPUR_F4FIELD:"F4- campo de entrada"," +
"SAPUR_FRIDAY_ABBREV:"6ª",SAPUR_WEDNESDAY_ABBREV:"4ª",SAPUR_MAY:"Maio",SAPUR_MSG_WARNING:"Advertência"," +
"SAPUR_DECEMBER:"Dezembro",SAPUR_SEPARATOR:"-",SAPUR_MSG_SUCCESS:"Com êxito",SAPUR_SATURDAY_ABBREV:"Sa"," +
"SAPUR_THURSDAY_ABBREV:"5ª",SAPUR_MSG:"{0} {1} {2}",SAPUR_BUTTON_WHL:"{0} - {1} - {2} - {3}",SAPUR_JULY:"Julho"," +
"SAPUR_APRIL:"Abril",SAPUR_FIELD_TIME:"Hora",SAPUR_MSG_ERROR:"Erro",SAPUR_REQUIRED:"Necessário"," +
"SAPUR_BUTTON_WHL3:"{0} - {1} - {2}",SAPUR_SEPTEMBER:"Setembro",SAPUR_NOVEMBER:"Novembro",SAPUR_AUGUST:"Agosto"," +
"SAPUR_JANUARY:"Janeiro",SAPUR_BUTTON:"Botão",SAPUR_FIELD_PW:"Senha",SAPUR_FIELD:"Texto editável"," +
"SAPUR_DISABLED:"Não disponível",SAPUR_FIELD_DATE:"Data",SAPUR_MARCH:"Março",SAPUR_FIELD_NUMBER:"N°"," +
"SAPUR_MSG_STOP:"Stop",SAPUR_BUTTON_WHL4:"{0} - {1} - {2} - {3}"," +
"SAPUR_BUTTON_ENABLED:"Para ativar, utilizar a barra de espaço",SAPUR_TUESDAY_ABBREV:"3ª",SAPUR_READOLNY:""," +
"SAPUR_MSG_JUMPKEY:"Pressionar a barra de espaço para navegar para o campo correspondente",SAPUR_JUNE:"Junho"," +
"SAPUR_MONDAY_ABBREV:"2ª"});</script>");
if (showPatternHint) {
String pattern = "";
String patternTooltip = "";
if (DataType.DATE.equals(type)) {
pattern = HxLocaleUtil.getDatePatternInLocaleLanguage(pc.getLocale());
patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.DatePatternTooltip", pattern);
else if (DataType.TIME.equals(type)) {
pattern = HxLocaleUtil.getTimePatternInLocaleLanguage(pc.getLocale());
patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.TimePatternTooltip", pattern);
pattern = " " + pattern;
else if ((inf.getPatternHint() != null) && (inf.getPatternHint().length() > 0)) {
pattern = " " + inf.getPatternHint();
patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.PatternTooltip", pattern);
pc.write("</td><td align='left'>");
pc.write("<span class='sapTxtLeg' title='" + patternTooltip + "'><nobr>");
pc.write("<font color='666666' face='Microsoft Sans Serif' style='vertical-align:super' size='1'><b>" + pattern + "</b></font>");
pc.write("</nobr></span>");
if (showStatusMsg) {
if (inf.getStatusMsgPosition().equalsIgnoreCase("RIGHT")) {
pc.write("</td><td align='left'>");
pc.write("<font color='990000' face='Microsoft Sans Serif' size='1'>");
else if (inf.getStatusMsgPosition().equalsIgnoreCase("BELOW")) {
pc.write("</td></tr><tr>");
if (showDateHelp && showPatternHint) {
pc.write("<td align='left' colspan='3'>");
else if (showDateHelp ^ showPatternHint) { // '^' is Exclusive OR (XOR)
pc.write("<td align='left' colspan='2'>");
else {
pc.write("<td align='left'>");
pc.write("<font color='990000' face='Microsoft Sans Serif' style='verticle-align:super' size='1'>");
pc.write("<nobr>" + inf.getStatusMsg() + "</nobr>");
pc.write("</font>");
if (showDateHelp || showPatternHint || showStatusMsg) {
pc.write("</td></tr></table>");
// Generate code to store the current Locale in the HTML form,
// and make the month and day names available in javascript arrays.
// The form's Language attribute is used as a flag so that this is only
// done once for each form.
Form form = pc.getCurrentForm();
if ((form.getLanguage() == null)
|| (!form.getLanguage().equals(pc.getLocale().toString()))) {
// Save the locale in the html form as hidden fields so that the
// same locale can be used to parse returned data.
pc.write("<input type="hidden" name="_HTMLX_LANGUAGE_" value="" + pc.getLocale().getLanguage() + "">");
pc.write("<input type="hidden" name="_HTMLX_COUNTRY_" value="" + pc.getLocale().getCountry() + "">");
pc.write("<input type="hidden" name="_HTMLX_VARIANT_" value="" + pc.getLocale().getVariant() + "">");
// Write javascript arrays of month and day names in the locale language
StringBuffer sb = new StringBuffer(250);
String javaScriptPath = pc.getJavascriptPath();
sb.append("var javaScriptPath='");
sb.append(javaScriptPath);
sb.append("';");
java.lang.String dayNames[] = RenderUtil.getDayAbbreviations(pc.getLocale());
if (dayNames.length != 7) {
throw new IllegalStateException("Only locales with 7 days are supported!");
sb.append("var htmlbDayNames = new Array('");
for (int i = 0; i < 6; i++) {
sb.append(dayNames<i>);
sb.append("','");
sb.append(dayNames[6]);
sb.append("');n");
sb.append("var htmlbMonthNames = new Array('");
java.lang.String monthNames[] = RenderUtil.getMonthNames(pc.getLocale());
for (int i = 0; i < 11; i++) {
sb.append(monthNames<i>);
sb.append("','");
sb.append(monthNames[11]);
sb.append("');n");
java.lang.String jscript = sb.toString();
pc.getDocument().getIncludes().addBodyEndResource(ResourceType.DIRECTJSCRIPT, "HTMLB_INPUTFIELD_DATEHELP", jscript);
// Set the language in the form so we don't do this again
form.setLanguage(pc.getLocale().toString());
if (writingDebugToConsole) {
System.out.println("Finished rendering HxInputField (id='" + inf.getId() + "')");
m_logger.info("Exit: HxInputFieldRenderer.render()");
// Methods to allow the Standard HTMLB InputField to Mimic HxInputField
// The key idea here is to use the standard InputField ONLY as a String
// field (never Date) so that we have total control over the display format
// and then HTMLX looks after ofrmating the string, abd displaying the
// help icons, status messages etc.
* Render the HTML placed before a HTMLB InputField, an InputField,
* and the code placed after the InputFIeld, so that it behaves like a
* HTMLX HxInputField
* @param field
* @param pc
public static InputField mimicRender(HxField hxField, IPageContext pc) {
HxInputField hxInputField = new HxInputField(hxField, pc.getLocale());
return mimicRender(hxInputField, pc);
* Render the HTML placed before a HTMLB InputField, an InputField,
* and the code placed after the InputFIeld, so that it behaves like a
* HTMLX HxInputField
* @param field
* @param pc
public static InputField mimicRender(HxInputField hxInputField, IPageContext pc) {
// Render stuff before InputField
renderBeforeInputTag(hxInputField, pc);
// Render InputField
InputField inputField = new InputField(hxInputField.getId());
setUpInputField(hxInputField, inputField, pc);
// This is a kludge to make a field read only. It is achieved by
// adding the flag to the 'width' attribute. HTMLB then unknowingly
// adds the flag when it renders the 'width' attribute.
if (hxInputField.isReadOnly()) {
inputField.setWidth( inputField.getWidth() + ";" readonly="");
inputField.render(pc);
String uniqueName = pc.getParamIdForComponent(inputField);
String popUpKeyUniqueName = "";
// If the field has a Pop Up add a hidden field for the Key populated by the Pop Up
if (hxInputField.isShowPopUp()) {
InputField keyInputField = new InputField(hxInputField.getId() + "PopUpKey");
keyInputField.setVisible(false);
keyInputField.setValue(hxInputField.getPopUpKeyValue());
keyInputField.render(pc);
popUpKeyUniqueName = pc.getParamIdForComponent(keyInputField);
// Render stuff after InputField
renderAfterInputTag(hxInputField, pc, uniqueName, popUpKeyUniqueName);
return inputField;
* Render the HTML to be placed before a HTMLB InputField so that it
* behaves like a HTMLX HxInputField
* @param field
* @param pc
public static void renderBeforeInputTag(HxField field, IPageContext pc) {
renderBeforeInputTag(new HxInputField(field), pc);
* Render the HTML to be placed before a HTMLB InputField so that it
* behaves like a HTMLX HxInputField
* @param inf
* @param pc
public static void renderBeforeInputTag(HxInputField inf, IPageContext pc)
if (writingDebugToConsole) {
System.out.println("Start rendering mimic HxInputField (id='" + inf.getId() + "') ...");
if (showDateHelp(inf) || showPopUp(inf) || showPatternHint(inf) || showStatusMsg(inf)) {
pc.write("<table cellspacing="0" cellpadding="0" border="0" id="");
pc.write(""><tr><td>");
* Set a HMTLB InputField with the values stored in the HxField.
* This makes for less code in the JSP, and some versions of the PDK/EP
* do not support some paramters in the TAG (e.g. Tooltip)
* @param hxField
* @param myContext
* @param pageContext
public static InputField setUpInputField(HxField hxField, IPageContext pc, PageContext pageContext) {
Component component = (Component)pageContext.getAttribute(hxField.getId());
if (!(component instanceof InputField)) {
String msg =
"HxInputFieldRenderer.setUpInputTag() component is not instanceof InputField " +
"(hxField.getId()='" + hxField.getId() + "' " +
" component.getClass().getName()='" + component.getClass().getName() + "')";
PortalRuntime.getLogger("htmlx").severe(msg);
throw new IllegalArgumentException(msg);
InputField inf = (InputField)pageContext.getAttribute(hxField.getId());
setUpInputField(hxField, inf, pc);
return inf;
* Set a HMTLB InputField with the values in the HxField.
* This makes for less code in the JSP, and some versions of the PDK/EP
* do not allow you to set some paramters in the TAG (e.g. Tooltip)
* @param hxField
* @param myContext
* @param pageContext
public static void setUpInputField(HxField hxField, InputField inf, IPageContext pc) {
inf.setDisabled(hxField.isDisabled());
inf.setInvalid(hxField.isInvalid());
inf.setMaxlength(hxField.getMaxLength());
inf.setRequired(hxField.isRequired());
inf.setShowHelp(false);
inf.setTooltip(hxField.getTooltip());
inf.setType(DataType.STRING);
inf.setValue(hxField.getValueAsString(pc.getLocale()));
inf.setVisible(hxField.isVisible());
inf.setSize(hxField.getMaxLength());
* Set a HMTLB InputField with the values stored in the HxField.
* This makes for less code in the JSP, and some versions of the PDK/EP
* do not support some paramters in the TAG (e.g. Tooltip)
* @param hxField
* @param myContext
* @param pageContext
public static void setUpInputField(HxInputField hxInputField, InputField inf, IPageContext pc) {
inf.setDisabled(hxInputField.isDisabled());
inf.setInvalid(hxInputField.isInvalid());
inf.setMaxlength(hxInputField.getMaxlength());
inf.setRequired(hxInputField.isRequired());
inf.setShowHelp(false);
inf.setTooltip(hxInputField.getTooltip());
inf.setType(DataType.STRING);
inf.setValue(hxInputField.getPreformattedValueAsString());
inf.setVisible(hxInputField.isVisible());
inf.setSize(hxInputField.getSize());
* Render the HTML to be placed after a HTMLB InputField so that it
* behaves like a HTMLX HxInputField
* @param field
* @param myContext
* @param pageContext
public static void renderAfterInputTag(HxField field, IPageContext pc, PageContext pageContext) {
renderAfterInputTag(new HxInputField(field), pc, pageContext);
* Render the HTML to be placed after a HTMLB InputField so that it
* behaves like a HTMLX HxInputField
* @param inf
* @param myContext
* @param pageContext
public static void renderAfterInputTag(HxInputField inf, IPageContext pc, PageContext pageContext) {
Component component = (Component)pageContext.getAttribute(inf.getId());
String uniqueName = pc.getParamIdForComponent(component);
String popUpKeyUniqueName = "";
if (inf.isShowPopUp()) {
component = (Component)pageContext.getAttribute(inf.getId() + "PopUpKey");
popUpKeyUniqueName = pc.getParamIdForComponent(component);
renderAfterInputTag(inf, pc, uniqueName, popUpKeyUniqueName);
* Render the HTML to be placed after a HTMLB InputField so that it
* behaves like a HTMLX HxInputField
* @param inf
* @param pc
* @param uniqueName
* @param popUpKeyUniqueName
public static void renderAfterInputTag(
HxInputField inf,
IPageContext pc,
String uniqueName,
String popUpKeyUniqueName)
if (showDateHelp(inf)) {
String dateFormat = HxLocaleUtil.getSapDatePatternNumber(pc.getLocale());
pc.write("</td><td align='left'><button id='");
pc.write(uniqueName);
pc.write("-btn' type="button" tabindex="-1" ti="-1" class="urEdfHlpDate" onclick="htmlb_showDateHelp(event,'");
pc.write(uniqueName);
pc.write("','");
pc.write(dateFormat);
pc.write("','1')"></button>");
pc.write("<script>htmlb_addTexts('pt_BR',{SAPUR_OCTOBER:"Outubro",SAPUR_MSG_LOADING:"Processo de carga em andamento"," +
"SAPUR_SUNDAY_ABBREV:"Do",SAPUR_F4FIELD_TUTOR:"Pressionar F4 para exibir as entradas possíveis"," +
"SAPUR_INVALID:"Não válido",SAPUR_FEBRUARY:"Fevereiro",SAPUR_F4FIELD:"F4- campo de entrada"," +
"SAPUR_FRIDAY_ABBREV:"6ª",SAPUR_WEDNESDAY_ABBREV:"4ª",SAPUR_MAY:"Maio",SAPUR_MSG_WARNING:"Advertência"," +
"SAPUR_DECEMBER:"Dezembro",SAPUR_SEPARATOR:"-",SAPUR_MSG_SUCCESS:"Com êxito",SAPUR_SATURDAY_ABBREV:"Sa"," +
"SAPUR_THURSDAY_ABBREV:"5ª",SAPUR_MSG:"{0} {1} {2}",SAPUR_BUTTON_WHL:"{0} - {1} - {2} - {3}",SAPUR_JULY:"Julho"," +
"SAPUR_APRIL:"Abril",SAPUR_FIELD_TIME:"Hora",SAPUR_MSG_ERROR:"Erro",SAPUR_REQUIRED:"Necessário"," +
"SAPUR_BUTTON_WHL3:"{0} - {1} - {2}",SAPUR_SEPTEMBER:"Setembro",SAPUR_NOVEMBER:"Novembro",SAPUR_AUGUST:"Agosto"," +
"SAPUR_JANUARY:"Janeiro",SAPUR_BUTTON:"Botão",SAPUR_FIELD_PW:"Senha",SAPUR_FIELD:"Texto editável"," +
"SAPUR_DISABLED:"Não disponível",SAPUR_FIELD_DATE:"Data",SAPUR_MARCH:"Março",SAPUR_FIELD_NUMBER:"N°"," +
"SAPUR_MSG_STOP:"Stop",SAPUR_BUTTON_WHL4:"{0} - {1} - {2} - {3}"," +
"SAPUR_BUTTON_ENABLED:"Para ativar, utilizar a barra de espaço",SAPUR_TUESDAY_ABBREV:"3ª",SAPUR_READOLNY:""," +
"SAPUR_MSG_JUMPKEY:"Pressionar a barra de espaço para navegar para o campo correspondente",SAPUR_JUNE:"Junho"," +
"SAPUR_MONDAY_ABBREV:"2ª"});</script>");
if (showPopUp(inf)) {
String dateFormat = HxLocaleUtil.getSapDatePatternNumber(pc.getLocale());
pc.write("</td><td align='left'><div class="urEdfHlpSml" onClick="");
pc.write("htmlxPopUp('");
pc.write(getPopUpUrl(pc, inf.getPopUpPage()));
pc.write("', '");
pc.write(uniqueName);
pc.write("', '");
pc.write(popUpKeyUniqueName);
pc.write("', ");
pc.write(inf.getPopUpWidth());
pc.write(", ");
pc.write(inf.getPopUpHeight());
pc.write(", '");
pc.write(inf.getPopUpAttributes());
pc.write("')">");
pc.write(" </div>");
if (showPatternHint(inf)) {
String pattern = "";
String patternTooltip = "";
if (DataType.DATE.equals(inf.getType())) {
pattern = HxLocaleUtil.getDatePatternInLocaleLanguage(pc.getLocale());
patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.DatePatternTooltip", pattern);
else if (DataType.TIME.equals(inf.getType())) {
pattern = HxLocaleUtil.getTimePatternInLocaleLanguage(pc.getLocale());
patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.TimePatternTooltip", pattern);
pattern = " " + pattern;
else if ((inf.getPatternHint() != null) && (inf.getPatternHint().length() > 0)) {
pattern = " " + inf.getPatternHint();
patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.PatternTooltip", pattern);
pc.write("</td><td align='left'>");
pc.write("<span class='sapTxtLeg' title='" + patternTooltip + "'><nobr>");
pc.write("<font color='666666' face='Microsoft Sans Serif' style='vertical-align:super' size='1'><b>" + pattern + "</b></font>");
pc.write("</nobr></span>");
if (showStatusMsg(inf)) {
if (inf.getStatusMsgPosition().equalsIgnoreCase("RIGHT")) {
pc.write("</td><td align='left'>");
pc.write("<font color='990000' face='Microsoft Sans Serif' size='1'>");
else if (inf.getStatusMsgPosition().equalsIgnoreCase("BELOW")) {
pc.write("</td></tr><tr>");
if (showDateHelp(inf) && showPatternHint(inf)) {
pc.write("<td align='left' colspan='3'>");
else if (showDateHelp(inf) ^ showPatternHint(inf)) { // '^' is Exclusive OR (XOR)
pc.write("<td align='left' colspan='2'>");
else {
pc.write("<td align='left'>");
pc.write("<font color='990000' face='Microsoft Sans Serif' style='verticle-align:super' size='1'>");
pc.write("<nobr>" + inf.getStatusMsg() + "</nobr>");
pc.write("</font>");
if (showDateHelp(inf) || showPopUp(inf) || showPatternHint(inf) || showStatusMsg(inf)) {
pc.write("</span></td></tr></table>");
// Generate code to store the current Locale in the HTML form,
// and make the month and day names available in javascript arrays.
// The form's Language attribute is used as a flag so that this is only
// done once for each form.
Form form = pc.getCurrentForm();
if ((form.getLanguage() == null)
|| (!form.getLanguage().equals(pc.getLocale().toString()))) {
// Save the locale in the html form as hidden fields so that the
// same locale can be used to parse returned data.
pc.write("<input type="hidden" name="_HTMLX_LANGUAGE_" value="" + pc.getLocale().getLanguage() + "">");
pc.write("<input type="hidden" name="_HTMLX_COUNTRY_" value="" + pc.getLocale().getCountry() + "">");
pc.write("<input type="hidden" name="_HTMLX_VARIANT_" value="" + pc.getLocale().getVariant() + "">");
// Write javascript arrays of month and day names in the locale language
StringBuffer sb = new StringBuffer(250);
String javaScriptPath = pc.getJavascriptPath();
sb.append("var javaScriptPath='");
sb.append(javaScriptPath);
sb.append("';");
java.lang.String dayNames[] = RenderUtil.getDayAbbreviations(pc.getLocale());
if (dayNames.length != 7) {
throw new IllegalStateException("Only locales with 7 days are supported!");
sb.append("var htmlbDayNames = new Array('");
for (int i = 0; i < 6; i++) {
sb.append(dayNames<i>);
sb.append("','");
sb.append(dayNames[6]);
sb.append("');n");
sb.append("var htmlbMonthNames = new Array('");
java.lang.String monthNames[] = RenderUtil.getMonthNames(pc.getLocale());
for (int i = 0; i < 11; i++) {
sb.append(monthNames<i>);
sb.append("','");
sb.append(monthNames[11]);
sb.append("');n");
String jscript = sb.toString();
pc.getDocument().getIncludes().addBodyEndResource(ResourceType.DIRECTJSCRIPT, "HTMLB_INPUTFIELD_DATEHELP", jscript);
pc.getDocument().getIncludes().addBodyEndResource(ResourceType.DIRECTJSCRIPT, "HTMLX", getHtmlxJavascript());
// Set the language in the form so we don't do this again
form.setLanguage(pc.getLocale().toString());
if (writingDebugToConsole) {
System.out.println("Finished rendering mimic HxInputField (id='" + inf.getId() + "')");
private static boolean showDateHelp(HxInputField inf) {
if (DataType.DATE.equals(inf.getType())
&& inf.isShowHelp()
&& !inf.isDisabled()) {
return true;
return false;
private static boolean showPopUp(HxInputField inf) {
if (!showDateHelp(inf)
&& !inf.isDisabled()
&& inf.isShowPopUp()) {
return true;
return false;
private static boolean showPatternHint(HxInputField inf) {
boolean isDateOrTime = DataType.DATE.equals(inf.getType()) || DataType.TIME.equals(inf.getType());
boolean patternHintSet = (inf.getPatternHint() != null) && (inf.getPatternHint().length() > 0);
if (inf.isShowPatternHint()
&& (isDateOrTime || patternHintSet)) {
return true;
return false;
private static boolean showStatusMsg(HxInputField inf) {
if (inf.isShowStatusMsg()
&& (inf.getStatusMsg() != null)
&& (inf.getStatusMsg().length() > 0)) {
return true;
return false;
private static String getPopUpUrl(IPageContext pc, String pageName) {
IPortalComponentRequest request = (IPortalComponentRequest)pc.getRequest();
IPortalComponentResponse response = (IPortalComponentResponse)pc.getResponse();
IPortalUrlGenerator portalGen = null;
IUrlGeneratorService urlGen = (IUrlGeneratorService)request.getService(IUrlGeneratorService.KEY);
ISpecializedUrlGenerator specUrlGen2 = urlGen.getSpecializedUrlGenerator(IPortalUrlGenerator.KEY);
if (specUrlGen2 instanceof IPortalUrlGenerator) {
portalGen = (IPortalUrlGenerator) specUrlGen2;
// Create the url to the iView
String url = "";
if (portalGen != null) {
// Create the parameters passed to SAP transaction for mesima
url = portalGen.generatePortalComponentUrl(request, pageName); // "htmlxJarMimicExample.default");
return url;
protected static String getHtmlxJavascript() {
return "n" +
" if(window.document.domain == window.location.hostname) { n" +
" document.domain = document.domain.substring(document.domain.indexOf('.')+1); n" +
" } n" +
" var popUpTextId; n" +
" var popUpKeyId; n" +
" var myPopUp; n" +
" function setTextField(text) { n" +
" field = document.getElementById(popUpTextId); n" +
" if (field) { n" +
" field.value = text; n" +
" } n" +
" else { n" +
" alert('Text target field for pop up not found (' + popUpTextId + ')'); n" +
" } n" +
" } n" +
" function setKeyField(key) { n" +
" field = document.getElementById(popUpKeyId); n" +
" if (field) { n" +
" field.value = key; n" +
" } n" +
" } n" +
" function setFields(text, key, close) { n" +
" setTextField(text); n" +
" setKeyField(key); n" +
" if (close) { n" +
" myPopUp.close(); n" +
" } n" +
" return false; n" +
" } n" +
" function htmlxPopUp(url, textId, keyId, width, height, attributes) { n" +
" popUpTextId = textId; n" +
" popUpKeyId = keyId; n" +
" if (myPopUp) { n" +
" myPopUp.close(); n" +
" } n" +
" if (event!=null){ n" +
" xPos = event.screenX-event.offsetX; n" +
" yPos = event.screenY-event.offsetY; n" +
" } n" +
" if ((xPos+width) > screen.availWidth) { n" +
" xPos=screen.availWidth - width - 10; n" +
" } n" +
" if ((yPos+height) > screen.availHeight) { n" +
" yPos=screen.availHeight - height - 10; n" +
" } n" +
" sizeAndPos = 'width=' + width + ', height=' + height + ', top=' + yPos + ', left=' + xPos; n" +
" myPopUp = window.open(url, 'PopUp', sizeAndPos + ', ' + attributes); n" +
" if (!myPopUp) { n" +
" alert('You may have unrequested popup blocking on.'); n" +
" } n" +
" }n";
// Methods to assist dubugging JSP pages
* @return True if debug messages are being written to the console
public static boolean isWritingDebugToConsole() {
return writingDebugToConsole;
* When an error occurs in a JSP page the line number given in the stack
* trace is rarely the line that caused the error. This can make traking
* down errors in a JSP page can be very difficult. By writing debug messages
* to the console every time a field is rendered, it can be much easier to
* identify the area of code causing a problem.<p>
* <b>Do NOT set this in the production release of your application.</b>
* @param b
public static void setWritingDebugToConsole(boolean b) {
writingDebugToConsole = b;
* Initialise to NOT write debug to the console
static {
writingDebugToConsole = false;
Try these
[http://help.sap.com/saphelp_nwmobile71/helpdata/en/45/65ad4ee0531aa8e10000000a114a6b/content.htm]
[http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5c6a85b11d6b28500508b5d5211/content.htm]
[http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01381.0120/doc/html/koh1278435126915.html]
Reagards,
Mouli
Similar Messages
-
Error reading the standard sequence from the document tables
Hi PM Experts,
Please help!
Recently SAP patching is carried out in our R/3 environments. Before patching, all our customized RFCs were working correctly.
We are using BAPI ''BAPI_ALM_ORDER_GET_DETAIL' in a RFC. After the patching, the version date of the BAPI ''BAPI_ALM_ORDER_GET_DETAIL' is changed to new date of patching.
Now, when we are calling the customized RFC, ''BAPI_ALM_ORDER_GET_DETAIL' is returning an error 'Error reading the standard sequence from the document tables'.
This comes when we are pasiing any order with Order type 'ZM02' ( Maintenance Order - Preventative). It is working absolutely fine with Order Type ZM01(Maintenance Order - In Hours Opex).
Sometime, when RFC is run individually, it works fine with same data and sometime it is throwing this error with the same data. Very Inconsistent.
Please advice whether patching is the reason.
Any advice..is welcomed.
Many Thanks,
Rohit
Edited by: Rohit Kumar on Jan 14, 2009 3:50 PMThanks a lot.
We found that the flow of the code(RFC) was making a situation where even correct order id was passed to this BAPI, the result was an error 'Error reading the standard sequence from the document tables'. we reverted the RFC to it's earlier version. now that problem is not there. -
SAP Patch :'Error reading the standard sequence from the document tables
Hi Experts,
Please help!
Recently SAP patching is carried out in our R/3 environments. Before patching, all our customized RFCs were working correctly.
We are using BAPI ''BAPI_ALM_ORDER_GET_DETAIL' in a RFC. After the patching, the version date of the BAPI ''BAPI_ALM_ORDER_GET_DETAIL' is changed to new date of patching.
Now, when we are calling the customized RFC, ''BAPI_ALM_ORDER_GET_DETAIL' is returning an error 'Error reading the standard sequence from the document tables'.
This comes when we are pasiing any order with Order type 'ZM02' ( Maintenance Order - Preventative). It is working absolutely fine with Order Type ZM01(Maintenance Order - In Hours Opex).
Sometime, when RFC is run individually, it works fine with same data and sometime it is throwing this error with the same data. Very Inconsistent.
Please advice whether patching is the reason.
Any advice..is welcomed.
Many Thanks,
RohitWe found that the flow of the code(RFC) was making a situation where even correct order id was passed to this BAPI, the result was an error 'Error reading the standard sequence from the document tables'. we reverted the RFC to it's earlier version. now that problem is not there.
-
Error in the macro 'rp-provide-from-last'
Hi, experts!
Can anyone please help me address an error regarding the macro rp-provide-from last? During activation, this error is returned: "Unable to interpret SPACE. Possible causes: Incorrect spelling or comma error". The line in question is this: rp-provide-from-last p0000 SPACE pn-begda pn-endda This is the only error standing between me and activation. Please help
Thanks in advance.
Regards,
brentHI Brent,
Use this sample example :
REPORT ZTEST_94TEST.
TABLES :pernr.
INFOTYPES :0000.
GET PERNR.
rp-provide-from-last p0000 SPACE pn-begda pn-endda.
No syntax errors and activated. hope it will be helpful. -
Hi I've noticed many of the standard video transitions from CC didn't carry over to 2014 can these be imported? 3D,2D its very much bare bones now and I was fairly used to using several of those. The ones I purchased carried over. Thanks
Ok, I'll leave keep connected to the test socket then, current router stats are as follows
DSL Line (Wire Pair):
Line 1 (inner pair)
Protocol:
G.DMT
Downstream Rate:
1184 kbps
Upstream Rate:
448 kbps
Channel:
Interleaved
Current Noise Margin:
24.0 dB (Downstream), 24.0 dB (Upstream)
Current Attenuation:
21.1 dB (Downstream), 12.0 dB (Upstream)
Current Output Power:
17.2 dB (Downstream), 11.9 dB (Upstream)
DSLAM Vendor Information:
Country: {F} Vendor: {ALCB} Specific: {0}
PVC Info:
0/38
Speedtester is reporting
Download speedachieved during the test was - 355 Kbps
For your connection, the acceptable range of speeds is 50-500 Kbps.
Additional Information:
Your DSL Connection Rate :1184 Kbps(DOWN-STREAM), 448 Kbps(UP-STREAM)
IP Profile for your line is - 500 Kbps
Kitz reports that my IP profile should be at 1 mbps (http://www.kitz.co.uk/adsl/IPprofile.htm) but I was syncing at about 600 kbps earlier today before I accidently reset my router (pulled a wire I didn't mean to pull. ) After the reset my sync jumped to the current 1184 so it's probably still readjusting, noise started at 9 dB but rose to about 20, before rising to 24 later tonight. I'm pretty sure my house doesn't have any internal wiring issues, but I suppose it's better safe than sorry. Regarding why my noise margin is currently so high, I don't know for sure but when I was first having issues I'm pretty sure I remember my IP profile being stuck at 135 kbps while I was syncing at about 1 mbps, I don't know if this could have contributed. My IP profile seems to be behaving fine now, though.
Anyway, thanks once again,
carrotworks -
Hiya,
I have my application running on Jdeveloper 10.1.3.0. When I am upgrading the jsf-impl.jar file from 10.1.3.1 to my 10.1.3.0 , the application started giving javascript warning errors on every pages, although the functionality is working fine.
Any suggestion or idea is welcome.
Thanks in advance,
AmitabhTwo things.
First I suppose you mean you are upgrading from 101.3.0 to 10.1.3.1 and not downgrading it? Secondly, most web browsers allow you to show what JavaScript error exactly is being given. That info might also help. And when it is being given.
Jan Kettenis
null -
Error while calling standard OAF page from custom Oracle Form
Hi,
I am calling standard OAF page from custom oracle form using the following code.
FND_FUNCTION.EXECUTE(FUNCTION_NAME=>'FUN_TRX_ENTRY_OUT_VIEW_BATCH',
OPEN_FLAG =>'Y',
SESSION_FLAG =>'N' ,
OTHER_PARAMS =>'&ViewBatchID = "' || NAME_IN('FUN_AGIS_LINE_D.BATCH_ID') ||
'&CallingFunction = "' || 'MANEXPINQ' ||'"');
But I am getting this error.
oracle.apps.fnd.framework.OAException: This request was not processed as the request URL %2FOA_HTML%2FOA.jsp%3Fpage%3D%2Foracle%2Fapps%2Ffun%2Ftransaction%2Fentry%2Fwebui%2FViewOutBatchPG%26OAPB%3DFUN_PRODUCT_BRAND%26OAHP%3DFUN_SSWA_MENU%26OASF%3DFUN_TRX_ENTRY_OUT_SEARCH%26_ti%3D1217029204%26language_code%3DUS%26%26ViewBatchID%20%3D%20%22203148%26CallingFunction%20%3D%20%22MANEXPINQ%22%26CallFromForm%3D%27Y%27%26oas%3DqZqg3tmdEdUNyw_HtskVow.. contained potentially illegal or un-encoded characters. Please try again by submitting a valid URL or contact your systems administrator for assistance.
Please let me know any thing I missed out here.
Any suggestion will highly appreciated.
Thanks & Regards,
SunitaI am using FND_FUNCTION.EXECUTE to call a OAF page from PLSQL in R12. I am getting following error"Error(9,23): PLS-00302: component 'EXECUTE' must be declared"
-
"error obtaining the list of methods" from Sun deploytool, "security" pane
I'm trying to apply security features to a web application in a .ear file. Following the J2EE tutorial I try to play with the Security tabbed pane in deploytool. Well, all the time I do get
Error obtaining the list of methods on MyService
java.lang.RuntimeException: my.package.MyService
The thing is, I could sucessfully deploy and use my web service ...
Maybe someone @sun.com could have a look at this stacktrace I got from deploytool (-verbose switch)
Jan 27, 2005 1:36:27 PM com.sun.enterprise.deployment.EjbDescriptor getMethodDescriptors
SEVERE: "DPL8008: method/class loading failure : method/class name - (EjbDescrip
tor.getMethods())"
---------------- Exception -----------------------------------------------------
[EjbComponentSecurityInspector.refresh:595]
Getting method descriptors
java.lang.RuntimeException: de.rochade.srap.ws.RoSrapScriptExecService
java.lang.RuntimeException: de.rochade.srap.ws.RoSrapScriptExecService
at com.sun.enterprise.deployment.EjbDescriptor.getMethodDescriptors(EjbD
escriptor.java:1318)
at com.sun.enterprise.tools.deployment.ui.ejb.EjbComponentSecurityInspec
tor.refresh(EjbComponentSecurityInspector.java:593)
at com.sun.enterprise.tools.deployment.ui.utils.InspectorPane.privateRef
resh(InspectorPane.java:880)
at com.sun.enterprise.tools.deployment.ui.utils.InspectorPane._refresh(I
nspectorPane.java:1012)
at com.sun.enterprise.tools.deployment.ui.utils.InspectorPane.access$100
(InspectorPane.java:38)
at com.sun.enterprise.tools.deployment.ui.utils.InspectorPane$DeferredRe
fresh.run(InspectorPane.java:864)
at com.sun.enterprise.tools.deployment.ui.utils.UIInvocationEvent.dispat
ch(UIInvocationEvent.java:53)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at com.sun.enterprise.tools.deployment.ui.utils.UIEventQueue.dispatchEve
nt(UIEventQueue.java:168)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Any known bug in deploytool or so?
Asked this first at
http://forum.java.sun.com/thread.jspa?threadID=590706&tstart=0
there are some more problems mentioned ...
Thanx!
MertenHi Merten,
I'm not sure if the Security tab will add the basic
auth that you mentioned in your email. You might
have a look at the Login Config on the Endpoint tab
and see if that gives you what you want.
http://docs.sun.com/source/819-0079/dgdesc.html#wp1366
64
JHi J,
I tried this Login Config stuff, but it worked for me only in the servlet (JAX-RPC) world, not for my EJB web service. In the J2EE tutorial I found the steps described for servlet based web services (this security-contraints stuff), I could protect my HTTP POST method successfully. But for an EJB web service, what are the required steps to add HTTP Basic auth? It seems to be way different, is it supported in deploytool the same way as for servlets?
I'll send another copy of my .ear to you ([email protected]). Sorry, I know this is not an dt (deploytool) related issue, but perhaps you can help me anyway. :-) I think I did the right stuff in my deployment descriptors, but it's not working. And I saw a NPE in my server's log file (will send you the stack trace too).
cu
Merten -
Dear All,
i cant able to activate the Std HR forms " SAP_TIM_99_0001". its throwing the error in the HR forms generated Print program like "P_IPVIEW" is unknown.
if you have come across the same situation please provide me the solution.
Thanks
YogeshNo child found in WebDynproContext with name "mss~hras "
check the code where you define that.
see the thhread below which is similar issue
Description attribute of PCD element
Points are welcome if it is helpful
Koti Reddy -
How do I fix errors in the document I converted from PDF to Word?
It converted easily but it has all kinds of strange lettters and numbers making it difficul to read.
Hi Bogdana,
Thank you for reaching out!
Depending on the state of the original document the PDF was created from, this may be of assistance:
OCR
Let me know if it worked for you.
Kindest regards, Stacy -
Error with the standard ESS, Travel & Expenses
Hi All,
We have deployed a ESS package in the portal. And we are able to view some services.
We are getting the following error, with the Travel and Expense(All My Trips). Actually all the services under Travel and Expenses are giving some kind of errors. But i want to check the My Trips and Expenses one. It is giving the following error.
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: no jcoMetadata found for RFC function 'PTRM_WEB_CCNUM_MASKING'! Please verify, that your model is consistent with the ABAP backend: 'RDX'.
Our HR SP is 34 and EPortal 7(NW 7) and ECC6 is SP 14.
Can anybody suggest us in correcting this error.
Thanks & Regards,
RaviHi Ravi,
The problem may be due to versions mismatch or you may need to apply SAP notes,
check these
Regarding Leave & Team calender
/thread/824753 [original link is broken]
Regards,
Siva -
Error while calling standards OAF page from Custom page
Hi,
Using personalization, from a custom page, I am trying to open a standard Iexpense page using the following inthe Destincation URI in messagestyledtext as
OA.jsp?OAFunc=OIEMAINPAGE&startFrom=ActiveSubmitted&ReportHeaderId=380705855&OIERefreshAM=Y
The original page has OA.jsp?OAFunc=OIEMAINPAGE&startFrom=ActiveSubmitted&ReportHeaderId={!ReportHeaderId}&OIERefreshAM=Y in the message styled text
But when click on this from the custom page, the page opens with tabbed regions above and then gives error as below. Please let me know how to resovle this issue.
Profiles 1) FND_VALIDATION_LEVEL and 2) FND_FUNCTION_VALIDATION_LEVEL are already set to None.
Error is:
Page Security cannot be asserted. The page has either expired or has been tampered. Please contact your System Administrator for help.
Thanks,
SrikanthHi,
R u still facing the issue?
If So can you please tell me:
Have u added your called function to the current user? That means by navigating to the responsibility you can access the same page directly, with out doing any transaction? If so then create your custom function with your required URL and attach to a menu ; then check if you are able to view that page from the menu navigation?If these thing is not working then I think you need to create a custom page that will extend the std region , that time hopefully it will work.
Please post your result/thought!!
Regards
Apurba K Saha -
Syntax check error in the standard include
Hi,
I have modified one standard include using access key to insert one logic as per businness requirements.Now after inserting that code iam getting syntax error but while activating it is not showing the error and getting activated.
The include is V05XZZMO in that i have inserted code is as follows
FORM MOVE_USERFIELDS USING ZP.
CASE ZP.
WHEN 'VBRK'.
header
MOVE LVBRK-XXXXX TO LFAMTV-ZZXXXXX.
*{ INSERT GDVK934083 1
MOVE LVBRK-ZUONR TO LFAMTV-ZZZUONR.
*} INSERT
WHEN 'VBRP'.
item
MOVE LVBRP-XXXXX TO LFAMTV-ZZXXXXX.
*{ INSERT GDVK934083 2
MOVE LVBRP-MATWA TO LFAMTV-ZZMATWA.
*} INSERT
ENDCASE.
ENDFORM.
now it is throwing error saying that LFAMTV doesn't exist...when I double click on that it is taking me to the FM RV_INVOICE_VIEW_2 where it is defined....
Can anyone know the reason why it is throwing the error when we go for the syntax check but when u activate the program it is getting activated.. so can this error can be neglected?
Any help on this will be appreciated..
Regards,
Rohan.Hi,
First comment ur code and then activate the include.
Now put a break point in the form and then in the debug mode check the structre LFAMTV is visible or not.
if yes then once again add ur code and then activate the whole program.
and now once again debug it and see...., whether the values are updated to the strurure LFAMTV.
Regards,
Nagaraj -
Error in the Standard MSS iview?
Hi,
I am using "startprocess" mss iview from Content Provided By Sap,when click on preview it shows bellow error.But same iview is working in my Development System.
Error
com.sapportals.portal.prt.runtime.PortalRuntimeException: Failed in WD JNDI lookup. javax.naming.NameNotFoundException: No child found in WebDynproContext with name mss~hras
at com.sap.portal.pcm.iview.admin.AdminBaseiView.createAttrSetLayersList(AdminBaseiView.java:357)
at com.sap.portal.pcm.iview.admin.AdminBaseiView.getAttrSetLayersList(AdminBaseiView.java:205)
at com.sap.portal.pcm.iview.admin.AdminBaseiView.getCustomImplementation(AdminBaseiView.java:148)
at com.sap.portal.pcm.admin.PcmAdminBase.getImplementation(PcmAdminBase.java:530)
at com.sapportals.portal.ivs.iviews.IviewServiceObjectFactory.getObjectInstance(IviewServiceObjectFactory.java:442)
... 40 more
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to load page
at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:528)
at com.sap.portal.pb.PageBuilder.wdDoInit(PageBuilder.java:192)
at com.sap.portal.pb.wdp.InternalPageBuilder.wdDoInit(InternalPageBuilder.java:150)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:756)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:291)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
Caused by: javax.naming.NamingException: Failed in WD JNDI lookup. javax.naming.NameNotFoundException: No child found in WebDynproContext with name msshras [Root exception is com.sapportals.portal.prt.runtime.PortalRuntimeException: Failed in WD JNDI lookup. javax.naming.NameNotFoundException: No child found in WebDynproContext with name msshras]
at com.sapportals.portal.pcd.gl.JndiProxy.getObjectInstance(JndiProxy.java:51)
at com.sapportals.portal.pcd.gl.PcdGlContext.getSemanticObject(PcdGlContext.java:919)
at com.sapportals.portal.pcd.gl.PcdGlContext.getSemanticObject(PcdGlContext.java:692)
at com.sapportals.portal.pcd.gl.PcdGlContext.lookup(PcdGlContext.java:69)
at com.sapportals.portal.pcd.gl.PcdURLContext.lookup(PcdURLContext.java:238)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.sap.portal.pb.data.PcdManager.doInit(PcdManager.java:72)
at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:526)
... 31 more
Caused by: com.sapportals.portal.prt.runtime.PortalRuntimeException: Failed in WD JNDI lookup. javax.naming.NameNotFoundException: No child found in WebDynproContext with name mss~hras
at com.sap.portal.pcm.iview.admin.AdminBaseiView.createAttrSetLayersList(AdminBaseiView.java:357)
at com.sap.portal.pcm.iview.admin.AdminBaseiView.getAttrSetLayersList(AdminBaseiView.java:205)
at com.sap.portal.pcm.iview.admin.AdminBaseiView.getCustomImplementation(AdminBaseiView.java:148)
at com.sap.portal.pcm.admin.PcmAdminBase.getImplementation(PcmAdminBase.java:530)
at com.sapportals.portal.ivs.iviews.IviewServiceObjectFactory.getObjectInstance(IviewServiceObjectFactory.java:442)
at com.sapportals.portal.prt.jndisupport.DirectoryManager.getObjectInstance(DirectoryManager.java:56)
at com.sapportals.portal.pcd.gl.JndiProxy.getObjectInstance(JndiProxy.java:47)
... 38 more
Please guide me to solve the problem
Thanks
SrikanthNo child found in WebDynproContext with name "mss~hras "
check the code where you define that.
see the thhread below which is similar issue
Description attribute of PCD element
Points are welcome if it is helpful
Koti Reddy -
Error during the work with KPI from MSAS 2012.
Good afternoon. You couldn't help me.
At me it is established on the Sharepoint 2013 SP1 Enterprise Trial server. On other MS SQL 2012 SP2 and MSAS Multidimensional server.
I configure Sharepoint 2013 BI features and PerformancePoint Services.
Also it was connected to the cube. All dimensions and measures are visible and I can work with them and create reports and dashboards.
But I can create in Scorecards only new KPI on the basis of my measures. In attempt of import already existing in Analysis services KPI's there is a mistake : (from system log)
There was an unforeseen error: 13365.
System.IO.FileNotFoundException:
It is impossible to load the file or assembly "Microsoft.AnalysisServices, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
or one of components, dependent on them. It isn't possible to find the specified file.
File name: "Microsoft.AnalysisServices, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
in Microsoft.PerformancePoint.Scorecards.Server.ImportExportHelper.GetImportableAsKpis(DataSource asDataSource)
in Microsoft.PerformancePoint.Scorecards.Server.PmServer.GetImportableAsKpis(DataSource dataSource)Hi,
Please try following the note 206168. which tells you to change the r3trans.
If you have changed the r3trans earlier, then try using the same r3trans as provided in the kernel CD.
Hope this helps
Regards,
Imran
Maybe you are looking for
-
How can I get my itunes playlist to sync with ipad?
I have created a few playlists in iTunes. When I attempt to drag and drop the playlist or sync the playlist with my iPad 2 I can see the playlist and songs on my iPad HOWEVER, they are greyed out with a dotted circle to the left of the song title.
-
HP 8150N Printer still not working with Snow Leopard
I went to the Hewlett Packard page for a new driver and was told the new driver for my printer was included in the Snow Leopard update. I'm sure it is, but my computer can't find the printer. I've used advice from other discussions and tried what I c
-
Labview 2009 SP1 - Create exe option does not appear
Hello everyone, I'm using Labview 2009 SP1 and I want to create a simple exe file (to run in the same computer that has labview or in any other computer with the appropiate labview run time engine). I create a project with project explorer with the
-
My iPHONE 4S quits on me and says the battery needs to be recharged (it is in the "red zone"). As soon as I plug it in, it shows it is at least 60% charged. The software automatically updates and now I have IOS 6.1.3. Any suggestions?
-
In iTunes heb ik afspeellijsten met muziekvideo's. Na synchronisatie komen de namen van deze afspeellijsten op mijn iPod met de mededeling dat de inhoud bestaat uit 0 nummers. Alle muziekvideo's komen wel onder de app "Video". Het probleem is ontstaa