narrav
asked on
WEBLOGIC STRUTS JAVA/JSP ERROR URGENT HELP PLS
Hi all,
I am sorry I am new to java/jsp/weblogic/struts. just learning as well as trying to resolve some of issues here pls..
We have an application running on weblogic 6.1
while trying to migrate on weblogic 8.1, i copied over a war file. It is on SUN 5.8.
One of my app module is not working and throwing error as below:
<BEA-101017> <[ServletContext(id=277484 07,name=is oft,contex t-path=/is oft/iSoft) ] Root cause of ServletException.
javax.servlet.jsp.JspExcep tion: (class: jsp_servlet/_jsp/_invoices /__editinv oicedetail s, method: _jspService signature: (Ljavax/servlet/http/HttpS ervletRequ est;Ljavax /servlet/h ttp/HttpSe rvletRespo nse;)V) Illegal target of jump or branch
at org.apache.struts.taglib.t emplate.In sertTag.do EndTag(Ins ertTag.jav a:164)
at jsp_servlet._jsp.__modinvo ice._jspSe rvice(__mo dinvoice.j ava:247)
at weblogic.servlet.jsp.JspBa se.service (JspBase.j ava:33)
at weblogic.servlet.internal. ServletStu bImpl$Serv letInvocat ionAction. run(Servle tStubImpl. java:996)
at weblogic.servlet.internal. ServletStu bImpl.invo keServlet( ServletStu bImpl.java :419)
at weblogic.servlet.internal. ServletStu bImpl.invo keServlet( ServletStu bImpl.java :315)
at weblogic.servlet.internal. RequestDis patcherImp l.forward( RequestDis patcherImp l.java:312 )
at org.apache.struts.action.R equestProc essor.doFo rward(Requ estProcess or.java:10 69)
at org.apache.struts.action.R equestProc essor.proc essForward Config(Req uestProces sor.java:4 55)
at org.apache.struts.action.R equestProc essor.proc ess(Reques tProcessor .java:279)
at org.apache.struts.action.A ctionServl et.process (ActionSer vlet.java: 1482)
at com.citi.soft.struts.actio n.servlet. iSoftActio nServlet.p rocess(Unk nown Source)
at org.apache.struts.action.A ctionServl et.doGet(A ctionServl et.java:50 7)
at javax.servlet.http.HttpSer vlet.servi ce(HttpSer vlet.java: 740)
at javax.servlet.http.HttpSer vlet.servi ce(HttpSer vlet.java: 853)
at weblogic.servlet.internal. ServletStu bImpl$Serv letInvocat ionAction. run(Servle tStubImpl. java:996)
at weblogic.servlet.internal. ServletStu bImpl.invo keServlet( ServletStu bImpl.java :419)
at weblogic.servlet.internal. ServletStu bImpl.invo keServlet( ServletStu bImpl.java :315)
at weblogic.servlet.internal. WebAppServ letContext $ServletIn vocationAc tion.run(W ebAppServl etContext. java:6452)
at weblogic.security.acl.inte rnal.Authe nticatedSu bject.doAs (Authentic atedSubjec t.java:321 )
at weblogic.security.service. SecurityMa nager.runA s(Security Manager.ja va:118)
at weblogic.servlet.internal. WebAppServ letContext .invokeSer vlet(WebAp pServletCo ntext.java :3661)
at weblogic.servlet.internal. ServletReq uestImpl.e xecute(Ser vletReques tImpl.java :2630)
at weblogic.kernel.ExecuteThr ead.execut e(ExecuteT hread.java :219)
at weblogic.kernel.ExecuteThr ead.run(Ex ecuteThrea d.java:178 )
any ideas pls?
I am sorry I am new to java/jsp/weblogic/struts. just learning as well as trying to resolve some of issues here pls..
We have an application running on weblogic 6.1
while trying to migrate on weblogic 8.1, i copied over a war file. It is on SUN 5.8.
One of my app module is not working and throwing error as below:
<BEA-101017> <[ServletContext(id=277484
javax.servlet.jsp.JspExcep
at org.apache.struts.taglib.t
at jsp_servlet._jsp.__modinvo
at weblogic.servlet.jsp.JspBa
at weblogic.servlet.internal.
at weblogic.servlet.internal.
at weblogic.servlet.internal.
at weblogic.servlet.internal.
at org.apache.struts.action.R
at org.apache.struts.action.R
at org.apache.struts.action.R
at org.apache.struts.action.A
at com.citi.soft.struts.actio
at org.apache.struts.action.A
at javax.servlet.http.HttpSer
at javax.servlet.http.HttpSer
at weblogic.servlet.internal.
at weblogic.servlet.internal.
at weblogic.servlet.internal.
at weblogic.servlet.internal.
at weblogic.security.acl.inte
at weblogic.security.service.
at weblogic.servlet.internal.
at weblogic.servlet.internal.
at weblogic.kernel.ExecuteThr
at weblogic.kernel.ExecuteThr
any ideas pls?
I assume you have a JSP called modinvoice? Find the .java file generated by it and post line 247 of *modinvoice.java (ends with modinvoice.java). If you can figure out the corresponding line in the JSP file (usually weblogic displays that in the browser for you) then post that too.
ASKER
I could not fine file ending with modinvoice.java .. any ideas where could it be?
kiran -- understood the cause.. what can be the solution..
according to website u gave, they say splitting the jsp -- but i don't want to do that because this jsp is working fine in WEBLOGIC 6.1.. some setting has been done my sys admin in my company on sun 5.8/weblogic 6.1 JVM, so that it works fine on 6.1
But sys admin has to let go, and everybody in company has to let go as compnay was loosing business.. now we are migrating app to weblogic 8.1 and trying to sell to client, and we will hire experts to handle this..
but to gain this project, we have to prepare prrof of concept on 8.1 which is what i am tryign to do
i don't want to change jsp since same jsp works in 6.1 env.
there might be some settikng we can do to make it work
kiran -- understood the cause.. what can be the solution..
according to website u gave, they say splitting the jsp -- but i don't want to do that because this jsp is working fine in WEBLOGIC 6.1.. some setting has been done my sys admin in my company on sun 5.8/weblogic 6.1 JVM, so that it works fine on 6.1
But sys admin has to let go, and everybody in company has to let go as compnay was loosing business.. now we are migrating app to weblogic 8.1 and trying to sell to client, and we will hire experts to handle this..
but to gain this project, we have to prepare prrof of concept on 8.1 which is what i am tryign to do
i don't want to change jsp since same jsp works in 6.1 env.
there might be some settikng we can do to make it work
can you try this out also.
petmagdy has suggested this, can you try this out
https://www.experts-exchange.com/questions/21181460/STRUTS-Branch-is-too-large-Internal-restriction.html
petmagdy has suggested this, can you try this out
https://www.experts-exchange.com/questions/21181460/STRUTS-Branch-is-too-large-Internal-restriction.html
ASKER
Do you know where to add this parameter in weblogic:
java -Dcom.sun.tools.javac.main .largebran ch=true
Does petmagdy mean in startWebLogic.sh script??
java -Dcom.sun.tools.javac.main
Does petmagdy mean in startWebLogic.sh script??
yes...
In your startWeblogic.sh check for this line and add
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NA ME% -Dweblogic.ProductionModeE nabled=%PR ODUCTION_M ODE% -Djava.security.policy="%W L_HOME%\se rver\lib\w eblogic.po licy" -Dcom.sun.tools.javac.main .largebran ch=true weblogic.Server
In your startWeblogic.sh check for this line and add
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NA
ASKER
Kiran,
I could not try this until now since start-up script is not controlled by me. it is not easy for me to change start-up script due to group politics.
all they give me is a shell script which they can invoke in their start-up script to build any additional classpath..
any ideas if i can somehow do this in this shell script?
I could not try this until now since start-up script is not controlled by me. it is not easy for me to change start-up script due to group politics.
all they give me is a shell script which they can invoke in their start-up script to build any additional classpath..
any ideas if i can somehow do this in this shell script?
what are you doing in your Shell script.
this line needs to be added when u r calling java.exe
-Dcom.sun.tools.javac.main .largebran ch=true
this line needs to be added when u r calling java.exe
-Dcom.sun.tools.javac.main
ASKER
below is shell script:
#!/bin/shib
#ident "%W%"
APPLDIR=/export/enterprise -docs
export APPLDIR
APPSHORTNAME=isoft
export APPSHORTNAME
DOCROOT=$APPLDIR/$APPSHORT NAME
export DOCROOT
WL_DOCROOT=$DOCROOT/weblog ic
export WL_DOCROOT
WL_LIB=$WL_DOCROOT/lib
export WL_LIB
########################## ########## ########## ########## ########## #########
# If you have some shell scripts/binaries in "etc" or in "bin" directory
# uncomment these lines and modify the PATH to include these directories
########################## ########## ########## ########## ########## #########
# PATH=<your path>:$PATH
# export PATH
########################## ########## ########## ########## ########## #########
# If you have some *.so files in your "lib" directory
# uncomment these lines and modify the LD_LIBRARY_PATH to include the lib directory
########################## ########## ########## ########## ########## #########
# LD_LIBRARY_PATH=<your ld lib path>:$LD_LIBRARY_PATH:
LD_LIBRARY_PATH=$WL_LIB:$L D_LIBRARY_ PATH:
export LD_LIBRARY_PATH
########################## ########## ########## ########## #########
# If you have archived java class files in your "lib" directory
# that you want to prepend to the CLASSPATH
# uncomment these lines and modify the PRECLASSPATH to include their names
########################## ########## ########## ########## #########
# WST VERSION
# use our version of jconnect since it's also included with weblogic.
# all jce jars must be included here or they won't work - not sure why??
PRECLASSPATH=$WL_DOCROOT/u ser_projec ts:$WL_DOC ROOT/confi g:$WL_LIB/ jconn2.jar :$WL_LIB/U S_export_p olicy.jar: $WL_LIB/jc e1_2_2.jar :$WL_LIB/s unjce_prov ider.jar:$ WL_LIB/loc al_policy. jar:$WL_LI B/eaeUtil. jar:$WL_LI B/jcert.ja r
# NON-WST VERSION
# PRECLASSPATH=$ROOT/config/ weblogicDo main/confi g
export PRECLASSPATH
########################## ########## ########## ########## #########
# If you have archived java class files in your "lib" directory
# that you want to append to the CLASSPATH
# uncomment these lines and modify the POSTCLASSPATH to include their names
########################## ########## ########## ########## #########
#POSTCLASSPATH=
POSTCLASSPATH=$WL_LIB/isof t-actuate. jar:$WL_LI B/log4j-1. 2.8.jar:$W L_LIB/isof t-util.jar :$WL_LIB/i soft-commo n.jar:$WL_ LIB/isoft- exception. jar:$WL_LI B/isoft-st artup.jar: $WL_LIB/is oft-classe s.jar:$WL_ LIB/xalan. jar:$WL_LI B/commons- beanutils. jar:$WL_LI B/commons- logging.ja r:$WL_LIB/ commons-co llections. jar:$WL_LI B/jsse.jar :$WL_LIB/j net.jar:$W L_LIB/acti vation.jar :$WL_LIB/m ail.jar:$W L_LIB/mail api.jar:$W L_LIB/smtp .jar:$WL_L IB/poi.jar :$WL_LIB/j axrpc.jar: $WL_LIB/ax is.jar:$WL _LIB/commo ns-discove ry.jar:$WL _LIB/saaj. jar:$WL_LI B/commons- net-1.0.0. jar
export POSTCLASSPATH
JAVA_HOME=$WL_LIB/1.4.2_06
#!/bin/shib
#ident "%W%"
APPLDIR=/export/enterprise
export APPLDIR
APPSHORTNAME=isoft
export APPSHORTNAME
DOCROOT=$APPLDIR/$APPSHORT
export DOCROOT
WL_DOCROOT=$DOCROOT/weblog
export WL_DOCROOT
WL_LIB=$WL_DOCROOT/lib
export WL_LIB
##########################
# If you have some shell scripts/binaries in "etc" or in "bin" directory
# uncomment these lines and modify the PATH to include these directories
##########################
# PATH=<your path>:$PATH
# export PATH
##########################
# If you have some *.so files in your "lib" directory
# uncomment these lines and modify the LD_LIBRARY_PATH to include the lib directory
##########################
# LD_LIBRARY_PATH=<your ld lib path>:$LD_LIBRARY_PATH:
LD_LIBRARY_PATH=$WL_LIB:$L
export LD_LIBRARY_PATH
##########################
# If you have archived java class files in your "lib" directory
# that you want to prepend to the CLASSPATH
# uncomment these lines and modify the PRECLASSPATH to include their names
##########################
# WST VERSION
# use our version of jconnect since it's also included with weblogic.
# all jce jars must be included here or they won't work - not sure why??
PRECLASSPATH=$WL_DOCROOT/u
# NON-WST VERSION
# PRECLASSPATH=$ROOT/config/
export PRECLASSPATH
##########################
# If you have archived java class files in your "lib" directory
# that you want to append to the CLASSPATH
# uncomment these lines and modify the POSTCLASSPATH to include their names
##########################
#POSTCLASSPATH=
POSTCLASSPATH=$WL_LIB/isof
export POSTCLASSPATH
JAVA_HOME=$WL_LIB/1.4.2_06
ASKER
any ideas if I can put it here?
no, this is just setting your path and classpath env variables. as i told before that line needs to be set for the JVM which is started using java.exe
so i suggest u better ask the admin guys to add that in the startWeblogic.sh and check it.
so i suggest u better ask the admin guys to add that in the startWeblogic.sh and check it.
ASKER
Kiran,
But if you look inside the start-up script:
senEnv.sh (shell script which we control), is called before they start JVM. And since this is USERSYSTEMPARAMETER (FOR LONG BRANCH),
DON'T You think we can set-up something in setEnv.sh so that they pick it up.. Just a thought.. Sorry I don't know much and due to politics here,
I want to make this a last option to change the start-up script because if they give me a solution that I can do it in setEnv.sh also,
it will be kind of big thing in my group.. so just want to make sure...
# figure out the app short name
appShortName=`echo $DOMAIN_NAME | awk '{ print( substr($1, 1, length($1) - 6)) }'`
# source env variables from the application etc and domain/etc
if [ -f $APPLDIR/$appShortName/web logic/etc/ setEnv.sh ]
then
. $APPLDIR/$appShortName/web logic/etc/ setEnv.sh
fi
# set up common environment
# Set Production Mode. When this is set to true, the server starts up in
# production mode. When set to false, the server starts up in development
# mode. If it is not set, it will default to false.
PRODUCTION_MODE=true
# Set JAVA_VENDOR to java virtual machine you want to run on server side.
JAVA_VENDOR="Sun"
LOGFILE=$DOMAIN_HOME/$DOMA IN_NAME/lo gs/$SERVER _NAME.appl .log.`date '+%y%m%d%H%M'`
# figure out the app short name
appShortName=`echo $DOMAIN_NAME | awk '{ print( substr($1, 1, length($1) - 6)) }'`
# copy the appropriate config.xml into the domain
if [ $defaultConfig"XYZ" != "defaultXYZ" ]
then
whichEnv=`hostname | awk '{ print( substr($1, length($1), 1)) }'`
if [ $whichEnv = "s" ]; then
if [ -f $APPLDIR/$appShortName/web logic/user _projects/ stg/config .xml ]; then
/usr/bin/cp -p $APPLDIR/$appShortName/web logic/user _projects/ stg/config .xml $DOMAIN_HOME/$DOMAIN_NAME
else
echo "$APPLDIR/$appShortName/we blogic/use r_projects /stg/confi g.xml does not exist"
exit 1
fi
elif [ $whichEnv = "p" ] || [ $whichEnv = "c" ]; then
if [ -f $APPLDIR/$appShortName/web logic/user _projects/ prd/config .xml ]; then
/usr/bin/cp -p $APPLDIR/$appShortName/web logic/user _projects/ prd/config .xml $DOMAIN_HOME/$DOMAIN_NAME
else
echo "$APPLDIR/$appShortName/we blogic/use r_projects /prd/confi g.xml does not exist"
exit 1
fi
elif [ $whichEnv = "r" ]; then
if [ -f $APPLDIR/$appShortName/web logic/user _projects/ dr/config. xml ]; then
/usr/bin/cp -p $APPLDIR/$appShortName/web logic/user _projects/ dr/config. xml $DOMAIN_HOME/$DOMAIN_NAME
else
echo "$APPLDIR/$appShortName/we blogic/use r_projects /dr/config .xml does not exist"
exit 1
fi
fi
fi
# Set JAVA_VM to java virtual machine you want to run on server side.
# JAVA_VM=""
# Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
# are more than one, include quotes around them. For instance:
# JAVA_OPTIONS="-Dweblogic.a ttribute=v alue -Djava.attribute=value"
# Reset number of open file descriptors in the current process
# This function is defined in commEnv.sh
resetFd
# Start WebLogic server
CLASSPATH="${WEBLOGIC_CLAS SPATH}${CL ASSPATHSEP }${JAVA_HO ME}/jre/li b/rt.jar${ CLASSPATHS EP}${WL_HO ME}/server /lib/webse rvices.jar
${CLASSPATHSEP}${CLASSPATH }"
CLASSPATH=$PRECLASSPATH:$C LASSPATH:$ POSTCLASSP ATH
export CLASSPATH
cd ${DOMAIN_HOME}/${DOMAIN_NA ME}
# Start WebLogic server
echo CLASSPATH="${CLASSPATH}"
echo
echo PATH="${PATH}"
if [ "X"$I3_ENABLED = "Xtrue" -o "X"$WLS_START_I3_ENABLED = "Xtrue" ]
then
echo "************************* ********** ********** ********** ********** *"
echo "Starting managed server using VERITAS INDEPTH monitoring"
echo "If you intended to start normally, without monitoring "
echo "please restart with I3_ENABLED=false"
echo "************************* ********** ********** ********** ********** *"
INDEPTH_JVMID=$SERVER_NAME
export INDEPTH_JVMID
$I3_START "$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} ${USERSYSTEMPARAMETER} -Dweblogic.ListenPort=$POR T_NUM
-Dweblogic.Domain=$DOMAIN_ NAME -Dweblogic.Name=$SERVER_NA ME -Dweblogic.ProductionModeE nabled=${P RODUCTION_ MODE} -Djava.securit
y.policy="$DOMAIN_HOME/$DO MAIN_NAME/ weblogic.p olicy" -Dbea.home=$LICENSE_HOME -Dwls.home=$WL_HOME weblogic.Server >> $LOGFILE
2>&1
else
"$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} ${USERSYSTEMPARAMETER} -Dweblogic.ListenPort=$POR T_NUM -Dweblogic
.Domain=$DOMAIN_NAME -Dweblogic.Name=$SERVER_NA ME -Dweblogic.ProductionModeE nabled=${P RODUCTION_ MODE} -Djava.security.policy="
$DOMAIN_HOME/$DOMAIN_NAME/ weblogic.p olicy" -Dbea.home=$LICENSE_HOME -Dwls.home=$WL_HOME weblogic.Server > $LOGFILE 2>&1
fi
echo "WebLogic server is exited"
But if you look inside the start-up script:
senEnv.sh (shell script which we control), is called before they start JVM. And since this is USERSYSTEMPARAMETER (FOR LONG BRANCH),
DON'T You think we can set-up something in setEnv.sh so that they pick it up.. Just a thought.. Sorry I don't know much and due to politics here,
I want to make this a last option to change the start-up script because if they give me a solution that I can do it in setEnv.sh also,
it will be kind of big thing in my group.. so just want to make sure...
# figure out the app short name
appShortName=`echo $DOMAIN_NAME | awk '{ print( substr($1, 1, length($1) - 6)) }'`
# source env variables from the application etc and domain/etc
if [ -f $APPLDIR/$appShortName/web
then
. $APPLDIR/$appShortName/web
fi
# set up common environment
# Set Production Mode. When this is set to true, the server starts up in
# production mode. When set to false, the server starts up in development
# mode. If it is not set, it will default to false.
PRODUCTION_MODE=true
# Set JAVA_VENDOR to java virtual machine you want to run on server side.
JAVA_VENDOR="Sun"
LOGFILE=$DOMAIN_HOME/$DOMA
# figure out the app short name
appShortName=`echo $DOMAIN_NAME | awk '{ print( substr($1, 1, length($1) - 6)) }'`
# copy the appropriate config.xml into the domain
if [ $defaultConfig"XYZ" != "defaultXYZ" ]
then
whichEnv=`hostname | awk '{ print( substr($1, length($1), 1)) }'`
if [ $whichEnv = "s" ]; then
if [ -f $APPLDIR/$appShortName/web
/usr/bin/cp -p $APPLDIR/$appShortName/web
else
echo "$APPLDIR/$appShortName/we
exit 1
fi
elif [ $whichEnv = "p" ] || [ $whichEnv = "c" ]; then
if [ -f $APPLDIR/$appShortName/web
/usr/bin/cp -p $APPLDIR/$appShortName/web
else
echo "$APPLDIR/$appShortName/we
exit 1
fi
elif [ $whichEnv = "r" ]; then
if [ -f $APPLDIR/$appShortName/web
/usr/bin/cp -p $APPLDIR/$appShortName/web
else
echo "$APPLDIR/$appShortName/we
exit 1
fi
fi
fi
# Set JAVA_VM to java virtual machine you want to run on server side.
# JAVA_VM=""
# Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
# are more than one, include quotes around them. For instance:
# JAVA_OPTIONS="-Dweblogic.a
# Reset number of open file descriptors in the current process
# This function is defined in commEnv.sh
resetFd
# Start WebLogic server
CLASSPATH="${WEBLOGIC_CLAS
${CLASSPATHSEP}${CLASSPATH
CLASSPATH=$PRECLASSPATH:$C
export CLASSPATH
cd ${DOMAIN_HOME}/${DOMAIN_NA
# Start WebLogic server
echo CLASSPATH="${CLASSPATH}"
echo
echo PATH="${PATH}"
if [ "X"$I3_ENABLED = "Xtrue" -o "X"$WLS_START_I3_ENABLED = "Xtrue" ]
then
echo "*************************
echo "Starting managed server using VERITAS INDEPTH monitoring"
echo "If you intended to start normally, without monitoring "
echo "please restart with I3_ENABLED=false"
echo "*************************
INDEPTH_JVMID=$SERVER_NAME
export INDEPTH_JVMID
$I3_START "$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} ${USERSYSTEMPARAMETER} -Dweblogic.ListenPort=$POR
-Dweblogic.Domain=$DOMAIN_
y.policy="$DOMAIN_HOME/$DO
2>&1
else
"$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} ${USERSYSTEMPARAMETER} -Dweblogic.ListenPort=$POR
.Domain=$DOMAIN_NAME -Dweblogic.Name=$SERVER_NA
$DOMAIN_HOME/$DOMAIN_NAME/
fi
echo "WebLogic server is exited"
ok, add this in your setEnv after this line
# Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
# are more than one, include quotes around them. For instance:
# JAVA_OPTIONS="-Dweblogic.a ttribute=v alue -Djava.attribute=value"
*****************
JAVA_OPTIONS="-Dcom.sun.to ols.javac. main.large branch=tru e"
try it out, it may work. i havent tried this before, but it looks like its the same as setting it in startWeblogic script
Good Luck
# Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
# are more than one, include quotes around them. For instance:
# JAVA_OPTIONS="-Dweblogic.a
*****************
JAVA_OPTIONS="-Dcom.sun.to
try it out, it may work. i havent tried this before, but it looks like its the same as setting it in startWeblogic script
Good Luck
ASKER
Kiran,
There is no line like
Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
# are more than one, include quotes around them. For instance:
# JAVA_OPTIONS="-Dweblogic.a ttribute=v alue -Djava.attribute=value"
in setEnv.sh ..This line is in start-up WL script..
But I have put
JAVA_OPTIONS="-Dcom.sun.to ols.javac. main.large branch=tru e"
in setEnv.sh
after line
JAVA_HOME=$WL_LIB/1.4.2_06
(in the end)..
anything i did wrong or something different i need to do?
how should i make sure it picked up ?
There is no line like
Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
# are more than one, include quotes around them. For instance:
# JAVA_OPTIONS="-Dweblogic.a
in setEnv.sh ..This line is in start-up WL script..
But I have put
JAVA_OPTIONS="-Dcom.sun.to
in setEnv.sh
after line
JAVA_HOME=$WL_LIB/1.4.2_06
(in the end)..
anything i did wrong or something different i need to do?
how should i make sure it picked up ?
but that is the above post what u have is from your setEnv.sh right?? and it has that line which i posted.
anyway its ok, it just need to be passed as a param while starting the JVM.
>>>>>how should i make sure it picked up ?
Just access your application which was throwing the error, then u will know!!!!!!
anyway its ok, it just need to be passed as a param while starting the JVM.
>>>>>how should i make sure it picked up ?
Just access your application which was throwing the error, then u will know!!!!!!
ASKER
I posted you 2 scripts -- firstone was setEnv.sh
second one was start-up WL SCRIPT - calling setEnv.sh
IT IS STILL throwing an error -- same error.. any other ideas on how I can put in setEnv.sh
below is my setEnv.sh currently
#!/bin/sh
#ident "%W%"
########################## ########## ########## ########## ########## #########
#
# The developers can modify these variables to include directories and files
# needed by their applications. The developers should copy this file
# into their application source tree, as part of their installed tree, and
# part of their XENV/HERMES build.
#
# However the developers have no control on these settings ( controlled by WebBank):
# - JDK
# - WebLogic Server
#
# The start script for WebLogic Server will source this application specific environment file,
# then source the domain specific environment file where the developers can view but can not
# modify.
#
########################## ########## ########## ########## ########## #########
APPLDIR=/export/enterprise -docs
export APPLDIR
APPSHORTNAME=isoft
export APPSHORTNAME
DOCROOT=$APPLDIR/$APPSHORT NAME
export DOCROOT
WL_DOCROOT=$DOCROOT/weblog ic
export WL_DOCROOT
WL_LIB=$WL_DOCROOT/lib
export WL_LIB
########################## ########## ########## ########## ########## #########
# If you have some shell scripts/binaries in "etc" or in "bin" directory
# uncomment these lines and modify the PATH to include these directories
########################## ########## ########## ########## ########## #########
# PATH=<your path>:$PATH
# export PATH
########################## ########## ########## ########## ########## #########
# If you have some *.so files in your "lib" directory
# uncomment these lines and modify the LD_LIBRARY_PATH to include the lib directory
########################## ########## ########## ########## ########## #########
# LD_LIBRARY_PATH=<your ld lib path>:$LD_LIBRARY_PATH:
LD_LIBRARY_PATH=$WL_LIB:$L D_LIBRARY_ PATH:
export LD_LIBRARY_PATH
########################## ########## ########## ########## #########
# If you have archived java class files in your "lib" directory
# that you want to prepend to the CLASSPATH
# uncomment these lines and modify the PRECLASSPATH to include their names
########################## ########## ########## ########## #########
# WST VERSION
# use our version of jconnect since it's also included with weblogic.
# all jce jars must be included here or they won't work - not sure why??
PRECLASSPATH=$WL_DOCROOT/u ser_projec ts:$WL_DOC ROOT/confi g:$WL_LIB/ jconn2.jar :$WL_LIB/U S_export_p olicy.jar: $WL_LIB/jc e1_2_2.jar
:$WL_LIB/sunjce_provider.j ar:$WL_LIB /local_pol icy.jar:$W L_LIB/eaeU til.jar:$W L_LIB/jcer t.jar
# NON-WST VERSION
# PRECLASSPATH=$ROOT/config/ weblogicDo main/confi g
export PRECLASSPATH
########################## ########## ########## ########## #########
# If you have archived java class files in your "lib" directory
# that you want to append to the CLASSPATH
# uncomment these lines and modify the POSTCLASSPATH to include their names
########################## ########## ########## ########## #########
#POSTCLASSPATH=
POSTCLASSPATH=$WL_LIB/isof t-actuate. jar:$WL_LI B/log4j-1. 2.8.jar:$W L_LIB/isof t-util.jar :$WL_LIB/i soft-commo n.jar:$WL_ LIB/isoft-
exception.jar:$WL_LIB/isof t-startup. jar:$WL_LI B/isoft-cl asses.jar: $WL_LIB/xa lan.jar:$W L_LIB/comm ons-beanut ils.jar:$W L_LIB/comm
ons-logging.jar:$WL_LIB/co mmons-coll ections.ja r:$WL_LIB/ jsse.jar:$ WL_LIB/jne t.jar:$WL_ LIB/activa tion.jar:$ WL_LIB/mai l.jar:$WL_
LIB/mailapi.jar:$WL_LIB/sm tp.jar:$WL _LIB/poi.j ar:$WL_LIB /jaxrpc.ja r:$WL_LIB/ axis.jar:$ WL_LIB/com mons-disco very.jar:$ WL_LIB/saa
j.jar:$WL_LIB/commons-net- 1.0.0.jar
export POSTCLASSPATH
JAVA_HOME=$WL_LIB/1.4.2_06
JAVA_OPTIONS="-Dcom.sun.to ols.javac. main.large branch=tru e"
second one was start-up WL SCRIPT - calling setEnv.sh
IT IS STILL throwing an error -- same error.. any other ideas on how I can put in setEnv.sh
below is my setEnv.sh currently
#!/bin/sh
#ident "%W%"
##########################
#
# The developers can modify these variables to include directories and files
# needed by their applications. The developers should copy this file
# into their application source tree, as part of their installed tree, and
# part of their XENV/HERMES build.
#
# However the developers have no control on these settings ( controlled by WebBank):
# - JDK
# - WebLogic Server
#
# The start script for WebLogic Server will source this application specific environment file,
# then source the domain specific environment file where the developers can view but can not
# modify.
#
##########################
APPLDIR=/export/enterprise
export APPLDIR
APPSHORTNAME=isoft
export APPSHORTNAME
DOCROOT=$APPLDIR/$APPSHORT
export DOCROOT
WL_DOCROOT=$DOCROOT/weblog
export WL_DOCROOT
WL_LIB=$WL_DOCROOT/lib
export WL_LIB
##########################
# If you have some shell scripts/binaries in "etc" or in "bin" directory
# uncomment these lines and modify the PATH to include these directories
##########################
# PATH=<your path>:$PATH
# export PATH
##########################
# If you have some *.so files in your "lib" directory
# uncomment these lines and modify the LD_LIBRARY_PATH to include the lib directory
##########################
# LD_LIBRARY_PATH=<your ld lib path>:$LD_LIBRARY_PATH:
LD_LIBRARY_PATH=$WL_LIB:$L
export LD_LIBRARY_PATH
##########################
# If you have archived java class files in your "lib" directory
# that you want to prepend to the CLASSPATH
# uncomment these lines and modify the PRECLASSPATH to include their names
##########################
# WST VERSION
# use our version of jconnect since it's also included with weblogic.
# all jce jars must be included here or they won't work - not sure why??
PRECLASSPATH=$WL_DOCROOT/u
:$WL_LIB/sunjce_provider.j
# NON-WST VERSION
# PRECLASSPATH=$ROOT/config/
export PRECLASSPATH
##########################
# If you have archived java class files in your "lib" directory
# that you want to append to the CLASSPATH
# uncomment these lines and modify the POSTCLASSPATH to include their names
##########################
#POSTCLASSPATH=
POSTCLASSPATH=$WL_LIB/isof
exception.jar:$WL_LIB/isof
ons-logging.jar:$WL_LIB/co
LIB/mailapi.jar:$WL_LIB/sm
j.jar:$WL_LIB/commons-net-
export POSTCLASSPATH
JAVA_HOME=$WL_LIB/1.4.2_06
JAVA_OPTIONS="-Dcom.sun.to
ASKER
Kiran,
This parameter
"-Dcom.sun.tools.javac.mai n.largebra nch=true" is an argument as a USERSYSTEMPARAMETER right???
so cannot we set USERSYSTEMPARAMETER in setEnv.sh thus it is picked up?
I am sorry if I am misunderstanding it
This parameter
"-Dcom.sun.tools.javac.mai
so cannot we set USERSYSTEMPARAMETER in setEnv.sh thus it is picked up?
I am sorry if I am misunderstanding it
yes, you need to do that
ASKER
how?
just do in setEnv.sh
USERSYSTEMPARAMETER= "-Dcom.sun.tools.javac.mai n.largebra nch=true"
??
just do in setEnv.sh
USERSYSTEMPARAMETER= "-Dcom.sun.tools.javac.mai
??
add this in setEnv.sh and try .
JAVA_OPTIONS="-Dcom.sun.to ols.javac. main.large branch=tru e"
export JAVA_OPTIONS
if still doesnt work then try the USERSYSTEMPARAMETER
JAVA_OPTIONS="-Dcom.sun.to
export JAVA_OPTIONS
if still doesnt work then try the USERSYSTEMPARAMETER
ASKER
I tried putting in my setEnv.sh
JAVA_OPTIONS="-Dcom.sun.to ols.javac. main.large branch=tru e"
export JAVA_OPTIONS
USERSYSTEMPARAMETER=="-Dco m.sun.tool s.javac.ma in.largebr anch=true"
export USERSYSTEMPARAMETER
I thought I will just put it together just to make it work.. it doesn't matter right now what excatly is making it work..
but same problem..
any other ideas?
JAVA_OPTIONS="-Dcom.sun.to
export JAVA_OPTIONS
USERSYSTEMPARAMETER=="-Dco
export USERSYSTEMPARAMETER
I thought I will just put it together just to make it work.. it doesn't matter right now what excatly is making it work..
but same problem..
any other ideas?
only this should have done the job
JAVA_OPTIONS="-Dcom.sun.to ols.javac. main.large branch=tru e"
export JAVA_OPTIONS
but if that doesnt work i am not sure what will????
JAVA_OPTIONS="-Dcom.sun.to
export JAVA_OPTIONS
but if that doesnt work i am not sure what will????
ASKER
Kiran,
Looked like this option was picked up when I tried USERSYSTEMPARAMETER.
tHE WAY i KNOW is by looking at logs it says:
<main> <<WLS Kernel>> <> <BEA-141187> <Java system properties are defined as fo
llows:
bea.home = /export/enterprise-docs/we blogic/8.1 /user_proj ects/../li cense
com.sun.tools.javac.main.l argebranch = true
file.encoding = ISO646-US
file.encoding.pkg = sun.io
file.separator = /
java.awt.graphicsenv = sun.awt.X11GraphicsEnviron ment
java.awt.printerjob = sun.print.PSPrinterJob
So i guess this is correct.
But this doesn't resolve the issue though.
I am still getting same error.
I am on SOLARIS 5.8 if it helps..
any help??
Looked like this option was picked up when I tried USERSYSTEMPARAMETER.
tHE WAY i KNOW is by looking at logs it says:
<main> <<WLS Kernel>> <> <BEA-141187> <Java system properties are defined as fo
llows:
bea.home = /export/enterprise-docs/we
com.sun.tools.javac.main.l
file.encoding = ISO646-US
file.encoding.pkg = sun.io
file.separator = /
java.awt.graphicsenv = sun.awt.X11GraphicsEnviron
java.awt.printerjob = sun.print.PSPrinterJob
So i guess this is correct.
But this doesn't resolve the issue though.
I am still getting same error.
I am on SOLARIS 5.8 if it helps..
any help??
ASKER
I don't know but whiel looking on internet this is what I got ..
We added the option to the JVM 'com.sun.tools.javac.main. largebranc h'
and set it tu 'true'.
It solves the problem on windows but not on Solaris, where the crash
occurs.
The parameter seems no tot be supported by the jvm of websphere on
Solaris.
Has anyone already solved the management of big jsp without the parameter ?
Thanks.
But there is no answer to this..
any ideas ??
We added the option to the JVM 'com.sun.tools.javac.main.
and set it tu 'true'.
It solves the problem on windows but not on Solaris, where the crash
occurs.
The parameter seems no tot be supported by the jvm of websphere on
Solaris.
Has anyone already solved the management of big jsp without the parameter ?
Thanks.
But there is no answer to this..
any ideas ??
so i think you may need to contact your Bea Weblogic Support abt this problem.
http://support.bea.com/application?namespace=askbea&origin=ask_bea.jsp&event=link.advanced_search
http://www-306.ibm.com/software/webservers/appserv/doc/v40/ae/infocenter/was/405defectlist.html
http://www-106.ibm.com/developerworks/forums/dw_expandTree.jsp?thread=12655&forum=266&cat=9&message=51594#51594
http://support.bea.com/application?namespace=askbea&origin=ask_bea.jsp&event=link.advanced_search
http://www-306.ibm.com/software/webservers/appserv/doc/v40/ae/infocenter/was/405defectlist.html
http://www-106.ibm.com/developerworks/forums/dw_expandTree.jsp?thread=12655&forum=266&cat=9&message=51594#51594
ASKER
finally i got to modInvoice.java and here are few lines of it..
Line 247 is as below:
if (_template_insert0.doEndTa g() == Tag.SKIP_PAGE) { _activeTag = null; _releaseTags(_template_ins ert0); return; } //[ /
jsp/ModInvoice.jsp; Line: 8]
========================== ========== ========== ========== ========== ========
_activeTag = _template_put1.getParent() ; _template_put1.release(); //[ /jsp/ModInvoice.jsp; Line: 7]
//end put custom tag.... //[ /jsp/ModInvoice.jsp; Line: 7]
/*** sync AT_BEGIN TagExtra Vars here ***/ //[ /jsp/ModInvoice.jsp; Line: 7]
/*** declare & sync AT_END TagExtra Vars here ***/ //[ /jsp/ModInvoice.jsp; Line: 7]
_writeText(response, out, _wl_block6, _wl_block6Bytes);
//^%$__TAG_CODEGEN //[ /jsp/ModInvoice.jsp; Line: 8]
} while (_template_insert0.doAfter Body() == IterationTag.EVAL_BODY_AGA IN); //[ /jsp/ModInvoice.jsp; Line: 8]
} // end !SKIP_BODY //[ /jsp/ModInvoice.jsp; Line: 8]
if (_template_insert0.doEndTa g() == Tag.SKIP_PAGE) { _activeTag = null; _releaseTags(_template_ins ert0); return; } //[ /
jsp/ModInvoice.jsp; Line: 8]
_activeTag = _template_insert0.getParen t(); _template_insert0.release( ); //[ /jsp/ModInvoice.jsp; Line: 8]
//end insert custom tag.... //[ /jsp/ModInvoice.jsp; Line: 8]
/*** sync AT_BEGIN TagExtra Vars here ***/ //[ /jsp/ModInvoice.jsp; Line: 8]
/*** declare & sync AT_END TagExtra Vars here ***/ //[ /jsp/ModInvoice.jsp; Line: 8]
} catch (Throwable __ee) {
while (out != null && out != _originalOut) out = pageContext.popBody();
_releaseTags(_activeTag);
((weblogic.servlet.jsp.Pag eContextIm pl)pageCon text).hand lePageExce ption((Thr owable)__e e);
}
//before final close brace...
Does it help anything to resolve the issue? greensunie ?? Kiran??
Line 247 is as below:
if (_template_insert0.doEndTa
jsp/ModInvoice.jsp; Line: 8]
==========================
_activeTag = _template_put1.getParent()
//end put custom tag.... //[ /jsp/ModInvoice.jsp; Line: 7]
/*** sync AT_BEGIN TagExtra Vars here ***/ //[ /jsp/ModInvoice.jsp; Line: 7]
/*** declare & sync AT_END TagExtra Vars here ***/ //[ /jsp/ModInvoice.jsp; Line: 7]
_writeText(response, out, _wl_block6, _wl_block6Bytes);
//^%$__TAG_CODEGEN //[ /jsp/ModInvoice.jsp; Line: 8]
} while (_template_insert0.doAfter
} // end !SKIP_BODY //[ /jsp/ModInvoice.jsp; Line: 8]
if (_template_insert0.doEndTa
jsp/ModInvoice.jsp; Line: 8]
_activeTag = _template_insert0.getParen
//end insert custom tag.... //[ /jsp/ModInvoice.jsp; Line: 8]
/*** sync AT_BEGIN TagExtra Vars here ***/ //[ /jsp/ModInvoice.jsp; Line: 8]
/*** declare & sync AT_END TagExtra Vars here ***/ //[ /jsp/ModInvoice.jsp; Line: 8]
} catch (Throwable __ee) {
while (out != null && out != _originalOut) out = pageContext.popBody();
_releaseTags(_activeTag);
((weblogic.servlet.jsp.Pag
}
//before final close brace...
Does it help anything to resolve the issue? greensunie ?? Kiran??
Not much. As i said before this happens when there are too many tags in the JSP and the compiler generates a method which is very big with all the Custom tag code. so if your JVM options setting is not working the you would be better off changing the .jsp file a little bit so that it will lessen the code generated.
Can you post that ModInvoice.jsp ?? that would help
Can you post that ModInvoice.jsp ?? that would help
ASKER
ModInvoice.jsp
<%@ taglib uri='template.tld' prefix='template' %>
<template:insert template='/jsp/templates/g bl.jsp'>
<template:put name='title' content=' Invoi ce Details ' direct="true" />
<template:put name='top' content='/jsp/html/header. htm' />
<template:put name='subtoolbar' content='/jsp/invoices/too lbar_in.js p' />
<template:put name='middle' content='/jsp/invoices/edi tInvoiceDe tails.jsp' />
<template:put name='footer' content='/jsp/html/footer. htm'/>
</template:insert>
and actually I guess you want to look at
editInvoiceDetails.jsp
which is really big as below:
<%@ page import="com.citi.soft.invo ice.Invoic eDetails,c om.citi.so ft.util.st ring.Strin gUtil,com. citi.soft. vendor.Cur rency,com. citi.soft. web.WebKey s" %>
<%@ taglib uri="struts/html" prefix ="html" %>
<%@ taglib uri="struts/logic" prefix="logic" %>
<%@ taglib uri="struts/bean" prefix="bean" %>
<%@ taglib uri='jstl/c' prefix='c' %>
<%@ taglib uri='jstl/fmt' prefix='fmt' %>
<SCRIPT language="javascript1.2" src="/docs/js/popcalendar. js"></SCRI PT>
<SCRIPT language="javascript1.2" src="/docs/js/dateCheck.js "></SCRIPT >
<logic:messagesPresent message="true" >
<hr>
<span id="errorsHeader"><bean:me ssage key="errors.validation.hea der"/></sp an>
<html:messages id="message" message="true">
<span id="errorsHeader"><li><bea n:write name="message"/></li></spa n>
</html:messages>
<hr>
</logic:messagesPresent>
<%
// Populate the Child records
int lenOfChild = 100 ;
int actualLenOfChild = 0;
String[] fromService = new String[lenOfChild];
String[] toService = new String[lenOfChild];
String[] serviceDet = new String[lenOfChild];
String[] unitCost = new String[lenOfChild];
String[] qnty = new String[lenOfChild];
String[] unitTotal = new String[lenOfChild];
for (int i = 0 ; i < lenOfChild ; i++) {
fromService[i] = "";
toService[i] = "";
serviceDet[i] = "";
unitCost[i] = "";
qnty[i] = "";
unitTotal[i] = "";
}
com.citi.soft.invoice.Invo iceDetails [] m_invoiceDets = (com.citi.soft.invoice.Inv oiceDetail s[]) request.getAttribute("InvD etails");
com.citi.soft.invoice.Invo iceDetails m_invoiceDet = null;
int sizeOfRecs = 0 ;
for ( sizeOfRecs = 0 ; sizeOfRecs < m_invoiceDets.length ; sizeOfRecs ++){
m_invoiceDet = new com.citi.soft.invoice.Invo iceDetails ();
m_invoiceDet = m_invoiceDets[ sizeOfRecs ];
fromService[sizeOfRecs ] = m_invoiceDet.getServiceFro mDt() + "";
toService[sizeOfRecs ] = m_invoiceDet.getServiceToD t()+ "";
serviceDet[sizeOfRecs ] = m_invoiceDet.getInvDesc();
unitCost[sizeOfRecs ] = StringUtil.formatNum( m_invoiceDet.getInvPrice() ) ;
qnty[sizeOfRecs ] = new Long(m_invoiceDet.getInvQt y()).toStr ing() ;
unitTotal[sizeOfRecs ] = StringUtil.formatNum(m_inv oiceDet.ge tUnitTotal ()) ;
}
int displayChildRecs = 0 ;
if (sizeOfRecs == 0) displayChildRecs = 1 ;
if (sizeOfRecs == 0) sizeOfRecs = 1 ;
int m_intChildRowNum = 0;
%>
<bean:define id="apValue" name="editInvoiceForm" property="apLocId" />
<bean:define id="invValue" name="editInvoiceForm" property="invStatus" />
<bean:define id="payValue" name="editInvoiceForm" property="status" />
<bean:define id="ccyValue" name="editInvoiceForm" property="ccy" />
<!-- Set values for view screen for select items -->
<%
// to compare the value
String apLocValue = pageContext.findAttribute( "apValue") .toString( ) ;
String invStatusValue = ( pageContext.findAttribute( "invValue" ).toString ()).trim() ;
String payStatusValue = ( pageContext.findAttribute( "payValue" ).toString ()).trim() ;
String curValue = ( pageContext.findAttribute( "ccyValue" ).toString ()).trim() ;
long actvyValue = new Long( (String)request.getAttribu te("actvyD t")).longV alue() ;
String url = "";
%>
<logic:equal name="editInvoiceForm" property="actionType" value="VIEW" ><% url = "/invoice/viewInvoice" ; %>
</logic:equal>
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" ><% url = "/invoice/updateInvoice" ; %>
</logic:equal>
<html:form action="<%= url%>" >
<logic:equal name="editInvoiceForm" property="actionType" value="VIEW" >
<html:img width="5" src="/docs/images/spacer.g if"/><span class="redbold"> View Invoice</span> <br><br>
<!-- In View Mode -->
<table cellpadding="0" cellspacing="0" border="0" width="853">
<tr align="right"><td colspan="4" align="right">
<a href="javascript:MM_openBr Window('/i soft/iSoft /invoice/u ploadInvoi ceDocs.do? methodToCa ll=viewDoc s&Id=<bean :write name="editInvoiceForm" property="invSeqId" />','','scrollbars=no,widt h=700,heig ht=500&Id= ')" style="text-decoration:non e"><font size="2">[ Uploaded Documents ]</font></a></td></tr>
<tr valign=TOP><td>
<table width="100%" class="tabTable" cellpadding="2" border="0" >
<tr><td colspan="4" class="tabtitle" height="13">Invoice Details</td></tr>
<tr><td width="17%"></td></tr>
<tr><td width="20%" class="right" height="0"><bean:message key="invoiceForm.ccNum.dis playName"/ ></td>
<td width="27%" class="left" height="0"><bean:write name="editInvoiceForm" property="ccNum" /></td>
<td width="23%" class="right" height="0"> <bean:message key="invoiceForm.vendorAPN ame.displa yName"/></ td>
<td width="30%" height="0" class="left" nowrap="true">
<bean:write name="editInvoiceForm" property="vendorAPName" /></td></tr>
<tr><td width="20%" class="right" ><bean:message key="invoiceForm.ccMNC.dis playName"/ ></td>
<td width="27%" class="left" >
<a href="/isoft/iSoft/client/ ClientBala nceAction. do?keyId=< bean:write name='editInvoiceForm' property='ccNum' />&CCMNC=<bean:write name='editInvoiceForm' property='ccMNC' />" ><bean:write name="editInvoiceForm" property="ccMNC" /></a></td>
<td width="23%" class="right" height="0"><bean:message key="invoiceForm.vendorId. displayNam e"/></td>
<td width="30%" height="0" class="left"><bean:write name="editInvoiceForm" property="vendorId" /></td>
</tr>
<tr><td width="20%" class="right" ><bean:message key="invoiceForm.ccName.di splayName" /></td>
<td width="27%" class="left" ><bean:write name="editInvoiceForm" property="ccName" /></td>
<td width="23%" class="right"><bean:messag e key="invoiceForm.vendorApN um.display Name"/></t d>
<td width="30%" class="left" >
<a href="/isoft/iSoft/VendorA ction.do?a ct=VIEW&VE NDID=<bean :write name='editInvoiceForm' property='vendorId' />" ><bean:write name="editInvoiceForm" property="vendorAccNum" /></a></td></tr>
<tr><td width="20%" class="right" ><bean:message key="invoiceForm.dealMNC.d isplayName "/></td>
<td width="27%" class="left" >
<a href="/isoft/iSoft/getbala nce.do?dis play=REP&d ealMnc=<be an:write name='editInvoiceForm' property='dealMNC' />" ><bean:write name="editInvoiceForm" property="dealMNC" /></a></td>
<td width="23%" class="right"><bean:messag e key="invoiceForm.vendorSit eCode.disp layName"/> </td>
<td width="30%" class="left"><bean:write name="editInvoiceForm" property="vendorSiteC" /></td></tr>
<tr><td width="20%" class="right" ><bean:message key="invoiceForm.dealN.dis playName"/ ></td>
<td width="27%" class="left" ><c:out value="${editInvoiceForm.m ap.dealN}" /></td>
<td width="23%" class="right"><bean:messag e key="invoiceForm.entryDt.d isplayName "/></td>
<td width="30%" class="left">
<bean:write name="editInvoiceForm" property="entryDt" />
<html:hidden property="entryDt" />
</td>
</tr>
<tr><td width="20%" class="right"><bean:messag e key="invoiceForm.planType. displayNam e"/>
<td width="27%" height="0" class="left"><bean:write name="editInvoiceForm" property="planType" /></td>
<td width="23%" class="right"><bean:messag e key="invoiceForm.vendorAcc Num.displa yName"/></ td>
<td width="30%" class="left"><bean:write name="editInvoiceForm" property="vendorAccountNo" /></td></tr>
<tr><td width="20%" class="right"><bean:messag e key="invoiceForm.invId.dis playName"/ ></td>
<td width="27%" class="left" ><bean:write name="editInvoiceForm" property="invId" /></td>
<td width="23%" class="right" > <bean:message key="invoiceForm.apRefId.d isplayName "/></td>
<td width="30%" class="left">
<logic:greaterThan name="editInvoiceForm" property="apRefId" value="0" >
<bean:write name="editInvoiceForm" property="apRefId" />
</logic:greaterThan>
</td>
</tr>
<tr>
<td width="20%" class="right"><bean:messag e key="invoiceForm.dueDt.dis playName"/ ></td>
<td width="27%" class="left" >
<logic:greaterThan name="editInvoiceForm" property="dueDt" value="0" >
<bean:write name="editInvoiceForm" property="dueDt" />
</logic:greaterThan>
</td>
<td width="23%" class="right"><bean:messag e key="invoiceForm.fromDate. displayNam e"/></td>
<td width="30%" class="left" nowrap="true" >
<c:if test="${editInvoiceForm.ma p.fromDate > 0 }" ><c:out value="${editInvoiceForm.m ap.fromDat e}" /></c:if>
<c:if test="${editInvoiceForm.ma p.toDate > 0 }" ><span class="center"> to</span><c:out value="${editInvoiceForm.m ap.toDate} " /></c:if>
</td>
</tr>
<tr>
<td width="20%" class="right"><bean:messag e key="invoiceForm.invDt.dis playName"/ ></td>
<td width="27%" class="left" >
<bean:write name="editInvoiceForm" property="invDt" />
</td>
<td class="right" height="18" width="26%"><bean:message key="invoiceForm.apLocId.d isplayName "/></td>
<td class="left" height="18" width="30%">
<bean:write name="editInvoiceForm" property="apLocId" />
</td>
</tr>
<tr>
<td width="20%" class="right"><bean:messag e key="invoiceForm.seqNo.dis playName"/ ></td>
<td width="27%" class="left">
<bean:write name="editInvoiceForm" property="invSeqId" />
</td>
<!--<td class="right" width="23%"><bean:message key="invoiceForm.forAmt.di splayName" /></td>
<td width="30%" class="left">
<logic:greaterThan name="editInvoiceForm" value="foreignAmt" value="0" >
<fmt:formatNumber value="${editInvoiceForm.m ap.foreign Amt}" pattern="${usr.appProfile. crcyFormat }" />
</logic:greaterThan>
</td> -->
</tr>
<tr>
<td width="20%" class="right"><bean:messag e key="invoiceForm.chkId.dis playName"/ ></td>
<td width="27%" class="left">
<bean:write name="editInvoiceForm" property="checkId" />
</td>
<td class="right" width="23%"><bean:message key="invoiceForm.chkDt.dis playName"/ ></td>
<td width="30%" class="left">
<logic:greaterThan name="editInvoiceForm" property="checkDt" value="0" >
<bean:write name="editInvoiceForm" property="checkDt" />
</logic:greaterThan>
</td>
</tr>
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<tr>
<td width="20%" class="right"><bean:messag e key="invoiceForm.softRatio .displayNa me"/></td>
<td width="27%" class="left">
<bean:write name="editInvoiceForm" property="softRatio" />
<logic:equal name="editInvoiceForm" property="isHardCoded" value="on" >
<span class="bio_regtext"><font color="red">(HardCoded)</f ont></span >
</logic:equal>
</td>
<td class="right" width="23%"><bean:message key="invoiceForm.softAmt.d isplayName "/></td>
<td width="30%" class="left" >
<fmt:formatNumber value="${editInvoiceForm.m ap.softAmt }" pattern="${usr.appProfile. crcyFormat }" />
</td>
</tr>
</logic:equal>
<tr>
<td width="20%" class="right"><bean:messag e key="invoiceForm.apSentDt. displayNam e"/></td>
<td width="27%" class="left">
<logic:greaterThan name="editInvoiceForm" property="apSentDt" value="0" >
<bean:write name="editInvoiceForm" property="apSentDt" />
</logic:greaterThan>
</td>
<td width="23%" class="right"><bean:messag e key="invoiceForm.effDt.dis playName"/ ></td>
<td width="30%" class="left">
<bean:write name="editInvoiceForm" property="effDt" />
</td>
</tr>
<tr>
<td class="right" height="18" width="20%"><bean:message key="invoiceForm.invStatus .displayNa me"/></td>
<td class="left" height="18" width="27%">
<logic:iterate id="invSt" name="<%= WebKeys.INV_STATUSES %>" indexId="index" >
<logic:equal name="invSt" property="statusId" value="<%= invStatusValue %>" >
<bean:write name="invSt" property="statusN" />
</logic:equal>
</logic:iterate>
<c:if test="${editInvoiceForm.ma p.invStatu s == 7 }">
<c:if test="${editInvoiceForm.ma p.appUsrI != ''}">(A)</c:if>
<c:if test="${editInvoiceForm.ma p.appUsrI == '' or editInvoiceForm.map.appUsr I == null}">(U)</c:if>
</c:if>
</td>
<td width="23%" class="right"><bean:messag e key="invoiceForm.status.di splayName" /></td>
<td width="30%" class="left">
<logic:iterate id="paySt" name="<%= WebKeys.PAY_STATUSES %>" indexId="index" >
<logic:equal name="paySt" property="statusId" value="<%= payStatusValue %>" >
<bean:write name='paySt' property='statusN' />
</logic:equal>
</logic:iterate>
</td>
</tr>
<tr>
<td width="20%" class="right"><bean:messag e key="invoiceForm.total.dis playName"/ ></td>
<td width="27%" class="left" >
<fmt:formatNumber value="${editInvoiceForm.m ap.total}" pattern="${usr.appProfile. crcyFormat }"/> &nbs p; &n bsp;
</td>
<td class="right" width="23%"><bean:message key="invoiceForm.ccy.displ ayName"/>< /td>
<td width="30%" class="left" >
<logic:iterate id="ccyList" name="<%= WebKeys.CURRENCIES %>" indexId="index" >
<logic:equal name="ccyList" property="code" value="<%= curValue %>" >
<bean:write name="ccyList" property="codeDesc" />
</logic:equal>
</logic:iterate>
</td>
</tr>
<tr>
<td width="23%" class="right" nowrap="true" ><bean:message key="invoiceForm.repCcy.di splayName" /> (< c:out value="${editInvoiceForm.m ap.repCcy} " />) : </td>
<td width="30%" class="left"> <fmt:formatNumber value="${editInvoiceForm.m ap.repGros sPay}" pattern="${usr.appProfile. crcyFormat }"/> </td>
<td width="20%" class="right"><bean:messag e key="invoiceForm.lastActvy Dt.display Name"/></t d>
<td width="27%" class="left" >
<bean:write name="editInvoiceForm" property="actvyDt" />
</td>
</tr>
<tr>
<td class="right" width="23%"><bean:message key="invoiceForm.forAmt.di splayName" /></td>
<td width="30%" class="left">
<logic:greaterThan name="editInvoiceForm" value="foreignAmt" value="0" >
<fmt:formatNumber value="${editInvoiceForm.m ap.foreign Amt}" pattern="${usr.appProfile. crcyFormat }" />
</logic:greaterThan>
</td>
<td class="right" width="23%"><bean:message key="invoiceForm.lastActvy UsrI.displ ayName"/>< /td>
<td width="30%" class="left" >
<bean:write name="editInvoiceForm" property="lastActvyUsrI" />
</td>
</tr>
<tr>
<td width="20%" class="right" height="40"><bean:message key="invoiceForm.comments. displayNam e"/></td>
<td colspan="3" width="200" wrap class="left" >
<bean:write name="editInvoiceForm" property="comments" />
</td>
</tr>
</table>
</logic:equal>
<!-- End of View Mode -->
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<br>
<html:img width="5" src="/docs/images/spacer.g if"/><span class="redbold">Edit Invoice</span> <br>
<!--------In Modify Mode -->
<table cellpadding="0" cellspacing="0" border="0" width="853" >
<tr align="right"><td colspan="4" align="right"><a href="javascript:MM_openBr Window('/i soft/iSoft /invoice/u ploadInvoi ceDocs.do? methodToCa ll=viewDoc s&Id=<bean :write name="editInvoiceForm" property="invSeqId" />','','scrollbars=no,widt h=700,heig ht=500&Id= ')" style="text-decoration:non e"><font size="2">[ Uploaded Documents ]</font></a></td></tr>
<tr valign=TOP>
<td >
<!-- ========== CONTENT (start) ========== --->
<table width="100%" class="tabTable" height="404" cellpadding="0" cellspacing="0" border="0">
<tr>
<td colspan="4" class="tabtitle" height="13">Invoice Details</td>
</tr>
<tr>
<td width="17%"></td>
</tr>
<tr height="25">
<td width="20%" class="right" height="0"> <bean:message key="invoiceForm.ccNum.dis playName"/ ></td>
<td width="25%" class="left" height="0">
<bean:write name="editInvoiceForm" property="ccNum" />
</td>
<td width="20%" class="right" height="0"> <bean:message key="invoiceForm.vendorAPN ame.displa yName"/></ td>
<td width="30%" height="0" class="left" >
<bean:write name="editInvoiceForm" property="vendorAPName" />
</td>
</tr>
<tr height="25">
<td width="17%" class="right" ><bean:message key="invoiceForm.ccMNC.dis playName"/ ></td>
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="ccMNC" />
</td>
<td width="22%" class="right" height="0"><bean:message key="invoiceForm.vendorId. displayNam e"/></td>
<td width="30%" height="0" class="left">
<bean:write name="editInvoiceForm" property="vendorId" />
<html:hidden property="vendorId" />
</td>
</tr>
<tr height="25">
<td width="20%" class="right" ><bean:message key="invoiceForm.ccName.di splayName" /></td>
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="ccName" />
</td>
<td width="22%" class="right"><bean:messag e key="invoiceForm.vendorApN um.display Name"/></t d>
<td width="30%" class="left">
<bean:write name="editInvoiceForm" property="vendorAccNum" />
</td>
</tr>
<tr height="25" >
<td width="17%" class="right" ><bean:message key="invoiceForm.dealMNC.d isplayName "/></td>
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="dealMNC" />
</td>
<td width="22%" class="right"><bean:messag e key="invoiceForm.vendorSit eCode.disp layName"/> </td>
<td width="30%" class="left" >
<bean:write name="editInvoiceForm" property="vendorSiteC" />
</td>
</tr>
<tr height="25" ><td width="20%" class="right" ><bean:message key="invoiceForm.dealN.dis playName"/ ></td>
<td width="27%" class="left" ><c:out value="${editInvoiceForm.m ap.dealN}" /></td>
<td width="22%" class="right"><bean:messag e key="invoiceForm.entryDt.d isplayName "/></td>
<td width="30%" class="left" >
<bean:write name="editInvoiceForm" property="entryDt" />
<html:hidden property="entryDt" />
</td>
</tr>
<tr height="25">
<td width="17%" class="right"><bean:messag e key="invoiceForm.planType. displayNam e"/></td>
<td width="25%" height="0" class="left" >
<bean:write name="editInvoiceForm" property="planType" />
</td>
<td width="22%" class="right"><bean:messag e key="invoiceForm.vendorAcc Num.displa yName"/></ td>
<td width="30%" class="left" >
<html:text property="vendorAccountNo" styleClass="inputtextmediu m" tabindex="9" maxlength="25" size="20" />
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag e key="invoiceForm.invId.dis playName"/ ></td>
<td width="25%" class="left" >
<% if ( !("1".equals(payStatusValu e))) { %>
<html:text property="invId" styleClass="inputtextmediu m" maxlength="50" size="15" tabindex="1"/>
<% } %>
<% if ("1".equals(payStatusValue )) { %>
<bean:write name="editInvoiceForm" property="invId" />
<html:hidden property="invId" />
<% } %>
</td>
<td width="22%" class="right" > <bean:message key="invoiceForm.apRefId.d isplayName "/></td>
<td width="30%" class="left" >
<logic:greaterThan name="editInvoiceForm" property="apRefId" value="0" >
<bean:write name="editInvoiceForm" property="apRefId" />
</logic:greaterThan>
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag e key="invoiceForm.seqNo.dis playName"/ ></td>
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="invSeqId" />
</td>
<td class="right" height="18" width="17%"><bean:message key="invoiceForm.apLocId.d isplayName "/></td>
<td class="inputtextmedium" height="18" width="25%">
<bean:write name="editInvoiceForm" property="apLocId" />
<html:hidden property="apLocId" />
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag e key="invoiceForm.chkId.dis playName"/ ></td>
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="checkId" />
<html:hidden property="checkId" />
</td>
<td class="right" width="17%"><bean:message key="invoiceForm.chkDt.dis playName"/ ></td>
<td width="30%" class="left" >
<logic:greaterThan name="editInvoiceForm" property="checkDt" value="0" >
<bean:write name="editInvoiceForm" property="checkDt" />
</logic:greaterThan>
<html:hidden property="checkDt" />
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag e key="invoiceForm.dueDt.dis playName"/ ></td>
<td width="25%">
<logic:greaterThan name="editInvoiceForm" property="dueDt" value="0" >
<html:text styleClass="inputtextmediu m" property="dueDt" size="10" maxlength="8" styleId="date4" tabindex="2" />
</logic:greaterThan>
<logic:equal name="editInvoiceForm" property="dueDt" value="0" >
<html:text styleClass="inputtextmediu m" property="dueDt" size="10" maxlength="8" styleId="date4" tabindex="1" value="" />
</logic:equal>
<img src="/docs/images/cal.gif" onclick="popUpCalendar(thi s, editInvoiceForm.dueDt , 'yyyymmdd');return false;" border="0" alt="Click Here to Select the date">
</td>
<td width="22%" class="right"><bean:messag e key="invoiceForm.fromDate. displayNam e"/></td>
<td width="30%" nowrap>
<c:if test="${editInvoiceForm.ma p.fromDate == 0 }" >
<html:text styleClass="inputtextmediu m" property="fromDate" size="10" maxlength="8" onblur="populateServiceDat es();" styleId="date2" tabindex="10" value="" />
</c:if>
<c:if test="${editInvoiceForm.ma p.fromDate > 0 }" >
<html:text styleClass="inputtextmediu m" property="fromDate" size="10" maxlength="8" onblur="populateServiceDat es();" styleId="date2" tabindex="10" />
</c:if>
<img src="/docs/images/cal.gif" onclick="popUpCalendar(thi s, editInvoiceForm.fromDate , 'yyyymmdd');return false;" border="0" alt="Click Here to Select the date">
<span class="center"> to</span>
<c:if test="${editInvoiceForm.ma p.toDate == 0 }" >
<html:text styleClass="inputtextmediu m" property="toDate" size="10" maxlength="8" onblur="populateServiceDat es();" tabindex="11" value="" />
</c:if>
<c:if test="${editInvoiceForm.ma p.toDate > 0 }" >
<html:text styleClass="inputtextmediu m" property="toDate" size="10" maxlength="8" onblur="populateServiceDat es();" tabindex="11" />
</c:if>
<img src="/docs/images/cal.gif" onclick="popUpCalendar(thi s, editInvoiceForm.toDate , 'yyyymmdd');return false;" border="0" alt="Click Here to Select the date">
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag e key="invoiceForm.invDt.dis playName"/ ></td>
<td width="25%" class="left">
<c:if test="${payValue == 1 }" >
<c:out value="${editInvoiceForm.m ap.invDt}" />
<html:hidden property="invDt" />
</c:if>
<c:if test="${payValue != 1 }" >
<html:text styleClass="inputtextmediu m" property="invDt" size="10" maxlength="8" styleId="date9" tabindex="3" />
<img src="/docs/images/cal.gif" onclick="popUpCalendar(thi s, editInvoiceForm.invDt , 'yyyymmdd');return false;" border="0" alt="Click Here to Select the date">
</c:if>
</td>
<td width="22%" class="right"><bean:messag e key="invoiceForm.effDt.dis playName"/ ></td>
<td width="30%">
<logic:greaterThan name="editInvoiceForm" property="effDt" value="0" >
<html:text styleClass="inputtextmediu m" property="effDt" size="10" maxlength="8" styleId="date5" tabindex="12" />
</logic:greaterThan>
<logic:equal name="editInvoiceForm" property="effDt" value="0" >
<html:text styleClass="inputtextmediu m" property="effDt" size="10" maxlength="8" styleId="date5" tabindex="12" value="" />
</logic:equal>
<img src="/docs/images/cal.gif" onclick="popUpCalendar(thi s, editInvoiceForm.effDt , 'yyyymmdd');return false;" border="0" alt="Click Here to Select the date">
</td>
</tr>
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<tr height="25">
<td width="17%" class="right"><bean:messag e key="invoiceForm.softRatio .displayNa me" /></td>
<td width="25%" nowrap>
<html:text styleClass="inputtextmediu m" property="softRatio" onblur="populateSoftAmt(); " size="10" tabindex="4" maxlength="6" /><html:checkbox styleClass="inputtextmediu m" property="isHardCoded" tabindex="5" /><bean:message key="invoiceForm.isHardCod ed.display Name"/>
</td>
<td class="right" width="26%"><bean:message key="invoiceForm.softAmt.d isplayName "/></td>
<td width="30%">
<div id="soft" class="left"></div>
<html:hidden property="softAmt" size="10" />
</td>
</tr>
</logic:equal>
<tr height="25" >
<td class="right" height="18" width="17%"><bean:message key="invoiceForm.invStatus .displayNa me"/></td>
<td class="left" height="18" width="25%" >
<!---- It should have only New and Cancel-->
<% if ( "1".equals(payStatusValue) ) { %>
<logic:iterate id="invSt" name="<%= WebKeys.INV_STATUSES %>" indexId="index" >
<logic:equal name="invSt" property="statusId" value="<%= invStatusValue %>" >
<bean:write name="invSt" property="statusN" />
</logic:equal>
</logic:iterate>
<html:hidden property="invStatus" />
<% } else {%>
<html:select styleClass="inputtextmediu m" property="invStatus" tabindex="6" >
<% if (!( "6".equals(invStatusValue) )) { %>
<html:option value="0" >
<logic:iterate id="invSt" name="<%= WebKeys.INV_STATUSES %>" indexId="index" >
<logic:equal name="invSt" property="statusId" value="<%= invStatusValue %>" >
<bean:write name="invSt" property="statusN" />
</logic:equal>
</logic:iterate>
</html:option>
<% } %>
<html:option value="6" >Unpaid </html:o ption>
<!-- <html:option value="5" >Cancel &n bsp;</html :option>-- >
</html:select>
<% } %>
<c:if test="${editInvoiceForm.ma p.invStatu s == 7 }">
<c:if test="${editInvoiceForm.ma p.appUsrI != ''}">(A)</c:if>
<c:if test="${editInvoiceForm.ma p.appUsrI == '' or editInvoiceForm.map.appUsr I == null}">(U)</c:if>
</c:if>
</td>
<td width="22%" class="right" ><bean:message key="invoiceForm.status.di splayName" /></td>
<td width="30%" class="left" >
<% if ( "1".equals(payStatusValue) ) { %>
<font face="arial" size="2"><b>Paid</b></font >
<html:hidden property="status" value="1" />
<% }else { %>
<logic:iterate id="paySt" name="<%= WebKeys.PAY_STATUSES %>" indexId="index" >
<logic:equal name="paySt" property="statusId" value="<%= payStatusValue %>" >
<bean:write name='paySt' property='statusN' />
</logic:equal>
</logic:iterate>
<html:hidden property="status" value="<%= payStatusValue %>" />
<% } %>
</td>
</tr>
<tr height="25">
<td width="17%" class="right"><bean:messag e key="invoiceForm.total.dis playName" /></td>
<td width="25%" class="left" nowrap="true" >
<% if ( "2".equals(payStatusValue) ) { %>
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<html:text styleClass="inputtextmediu m" property="total" onblur="populateSoftAmt(); " maxlength="10" size="15" tabindex="7"/>
</logic:equal>
<logic:notEqual name="editInvoiceForm" property="dealType" value="SOFT" >
<input type="text" class="inputtextmedium" name="total" maxlength="10" size="15" tabindex="6" value='<fmt:formatNumber value="${editInvoiceForm.m ap.total}" pattern="${usr.appProfile. crcyFormat }"/>' >
</logic:notEqual>
<% }else { %>
<fmt:formatNumber value="${editInvoiceForm.m ap.total}" pattern="${usr.appProfile. crcyFormat }"/>
<html:hidden property="total" />
<% } %>
</td>
<td class="right" width="26%"><bean:message key="invoiceForm.ccy.displ ayName"/>< /td>
<td width="30%">
<html:select styleClass="inputtextmediu m" tabindex="13" property="ccy" value="<%= curValue %>">
<%
//java.util.ArrayList cList = (java.util.ArrayList) request.getAttribute("curL ist");
//pageContext.setAttribute ("curList" , cList);
%>
<html:options collection="curList" property="code" labelProperty="codeDesc" />
</html:select>
</td>
</tr>
<tr height="25">
<td width="23%" class="right" nowrap="true" ><bean:message key="invoiceForm.repCcy.di splayName" /> (i n <c:out value="${editInvoiceForm.m ap.repCcy} " />) : </td>
<td width="30%" class="left"> <fmt:formatNumber value="${editInvoiceForm.m ap.repGros sPay}" pattern="${usr.appProfile. crcyFormat }"/> </td>
<td width="17%" class="right"><bean:messag e key="invoiceForm.apSentDt. displayNam e"/></td>
<td width="25%" class="left" >
<!----- If the status is Paid AP sent Date cannot be changed ---->
<logic:greaterThan name="editInvoiceForm" property="apSentDt" value="0" >
<bean:write name="editInvoiceForm" property="apSentDt" />
</logic:greaterThan>
<html:hidden property="apSentDt" />
</td>
</tr>
<tr height="25">
<td class="right" width="26%"><bean:message key="invoiceForm.forAmt.di splayName" /></td>
<td width="30%" class="left" >
<logic:greaterThan name="editInvoiceForm" value="foreignAmt" value="0" >
<fmt:formatNumber value="${editInvoiceForm.m ap.foreign Amt}" pattern="${usr.appProfile. crcyFormat }"/>
</logic:greaterThan>
<html:hidden name="editInvoiceForm" property="foreignAmt" />
</td>
</tr>
<tr height="22" >
<td width="17%" class="right" ><bean:message key="invoiceForm.comments. displayNam e"/></td>
<td colspan="4" height="40">
<html:textarea cols="62" rows="2" styleClass="inputtextmediu m" property="comments" tabindex="8" onkeydown="if ( document.forms[0].comments .value.len gth > 254 ) { document.forms[0].comments .value = document.forms[0].comments .value.sub string(0, 254); window.status='Length exceeded..'; } else window.status='';" onblur="window.status='';" > <bean:write name="editInvoiceForm" property="comments" /></html:textarea><br>
</td>
</tr>
<tr height="10" >
<td> </td>
</tr>
</table>
</logic:equal>
<!-- End of Edit Mode ----->
<!--- 1. Populate the parent values from Data from DB in view Mode -->
<logic:equal name="editInvoiceForm" property="actionType" value="VIEW" >
<!--- Display dynamic uneditable data using logic tags -->
<% if (displayChildRecs == 0){ %>
<logic:present name="InvDetails">
<table class="tabTable" width="100%" id="vtable">
<tr>
<td colspan="12" class="tabtitle">
<div align="left">Service Details<!-- <html:img width="400" height="9" src="/docs/images/spacer.g if"/><a href="javascript:MM_openBr Window('/i soft/iSoft /invoice/u ploadInvoi ceDocs.do? methodToCa ll=viewDoc s&Id=<bean :write name="editInvoiceForm" property="invSeqId" />','','scrollbars=no,widt h=700,heig ht=500&Id= ')" style="text-decoration:non e"><font color="#FFFFFF">View/Delet e/Upload
Details</font></a>--></div >
</td>
</tr>
<tr>
<th width="3%">
<div align="center" >No. </div>
</th>
<td> </td>
<th width="24%">
<div align="center" ><bean:message key="invoiceForm.fromServi ceDt.displ ayName"/>< /div>
</th>
<td nowrap> </td>
<th >
<div align="center"><bean:messa ge key="invoiceForm.serviceDe tails.disp layName"/> </div>
</th>
<td> </td>
<th width="10%" nowrap>
<div align="center"><bean:messa ge key="invoiceForm.unitCost. displayNam e"/><label for="contractStatusEntry" class="inputText"></label> </div>
</th>
<td> </td>
<th width="7%" nowrap>
<div align="center"><bean:messa ge key="invoiceForm.qnty.disp layName"/> </div>
</th>
<td> </td>
<th width="20%" nowrap>
<div align="center"><bean:messa ge key="invoiceForm.unitTotal .displayNa me"/></div >
</th>
<th width="20%" nowrap> </th>
</tr>
<logic:iterate id="invDet" name="InvDetails" indexId="index" scope="request" >
<tr id='a'>
<td width="3%" class="center">
<%= ++ m_intChildRowNum %>
</td>
<td width="1%" nowrap><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="24%" nowrap class="center">
<logic:greaterThan name="invDet" property="serviceFromDt" value="0" >
<bean:write name="invDet" property="serviceFromDt" />
</logic:greaterThan>
<span class="center"> to </span>
<logic:greaterThan name="invDet" property="serviceToDt" value="0" >
<bean:write name="invDet" property="serviceToDt" />
</logic:greaterThan>
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="31%" class="left" >
<bean:write name="invDet" property="invDesc" />
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="10%" class="center">
<fmt:formatNumber value="${invDet.invPrice}" pattern="${usr.appProfile. crcyFormat }"/>
</td>
<td width="1%" nowrap><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="7%" class="right">
<bean:write name="invDet" property="invQty" />
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="20%" class="right" >
<fmt:formatNumber value="${invDet.unitTotal} " pattern="${usr.appProfile. crcyFormat }"/> &nbs p; &n bsp;
</td>
<td width="20%"> </td>
</tr>
</logic:iterate>
</table>
</logic:present>
<% } %>
</logic:equal>
<!--- 2. Populate the child values in Edit Mode -->
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<table class="tabTable" width="100%" id="vtable">
<tr>
<td colspan="12" class="tabtitle">
<div align="left">Service Details <html:img width="400" height="9" src="/docs/images/spacer.g if"/><!--< a href="#" onclick="MM_openBrWindow(' /isoft/iSo ft/invoice /uploadInv oiceDocs.d o?methodTo Call=viewD ocs&Id=<be an:write name="editInvoiceForm" property="invSeqId" />','','scrollbars=yes,wid th=700,hei ght=500')" style="text-decoration:non e"><font color="#FFFFFF">View/Delet e/Upload
Details</font></a>--></div >
</td>
</tr>
<tr>
<th width="3%">
<div align="center" >No. </div>
</th>
<td nowrap></td>
<th width="24%">
<div align="center" ><bean:message key="invoiceForm.fromServi ceDt.displ ayName"/>< /div>
</th>
<td nowrap> </td>
<th >
<div align="center"><bean:messa ge key="invoiceForm.serviceDe tails.disp layName"/> </div>
</th>
<td> </td>
<th width="10%" nowrap>
<div align="center"><bean:messa ge key="invoiceForm.unitCost. displayNam e"/><label for="contractStatusEntry" class="inputText"></label> </div>
</th>
<td> </td>
<th width="7%" nowrap>
<div align="center"><bean:messa ge key="invoiceForm.qnty.disp layName"/> </div>
</th>
<td> </td>
<th width="20%" nowrap>
<div align="center"><bean:messa ge key="invoiceForm.unitTotal .displayNa me"/></div >
</th>
<th width="20%" nowrap> </th>
</tr>
<%
for (int noOfRows = 0 ; noOfRows < sizeOfRecs+1 ; noOfRows++ ) {
%>
<tr id='a'>
<td width="3%" class="bio_list">
<div align="center"><%= noOfRows+1 %></div>
</td>
<td width="1%" nowrap><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="24%" nowrap>
<div align="center">
<html:text styleClass="inputtextmediu m" property="fromServiceDt" maxlength="8" size="10"
value="<%=fromService[noOf Rows] %>" /><img src="/docs/images/cal.gif" onclick="popUpCalendar(thi s, editInvoiceForm.fromServic eDt[<%= noOfRows %>] , 'yyyymmdd');return false;" border="0" alt="Click Here to Select the date">
to
<html:text styleClass="inputtextmediu m" property="toServiceDt" maxlength="8" size="10" value="<%=toService[noOfRo ws] %>"/><img src="/docs/images/cal.gif" onclick="popUpCalendar(thi s, editInvoiceForm.toServiceD t[<%= noOfRows %>] , 'yyyymmdd');return false;" border="0" alt="Click Here to Select the date">
</div>
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="31%" >
<div align="left">
<html:text styleClass="inputtextmediu m" property="serviceDetails" value="<%=serviceDet[noOfR ows] %>" size="25" maxlength="25" />
</div>
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="10%">
<div align="center">
<html:text styleClass="inputtextmediu m" property="unitCost" size="8" value="<%= unitCost[noOfRows] %>" onblur="addTotal();"/>
</div>
</td>
<td width="1%" nowrap><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="7%">
<div align="center">
<html:text styleClass="inputtextmediu m" property="qnty" size="5" value="<%=qnty[noOfRows] %>" onblur="addTotal();"/>
</div>
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g if"/></td>
<td width="20%">
<div align="center">
<html:text styleClass="inputtextmediu m" property="unitTotal" size="10" value="<%=unitTotal[noOfRo ws]%>" />
</div>
</td>
<td width="20%"> </td>
</tr>
<% } %>
<tr id="y">
<td > </td>
<td > </td>
<td> </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td valign="bottom" align="center" > </td>
<td valign="bottom" align="center" width="120" ></td>
</tr>
<tr>
<td width="3%" class="bio_list"> </t d>
<td width="1%"> </td>
<td width="24%" align="right" class="bio_regtext"> </td>
<td width="1%" nowrap class="bio_regtext"> </td>
<td width="31%" class="bio_listMedium" align="center"><html:link href="javascript:cloneRow( 'a', 'y');">ADD
ADDL. DETAILS</html:link> </td>
<td width="1%" nowrap class="bio_regtext"> </td>
<td width="10%" nowrap class="bio_regtext"> </td>
<td width="1%"> </td>
<td width="7%" class="right">
</td>
<td width="1%" nowrap class="bio_regtext"> </td>
<td width="20%" nowrap class="right"> </td>
<td width="6%" nowrap valign="bottom"> </td>
</tr>
</table>
</logic:equal>
<br>
<logic:equal name="editInvoiceForm" property="actionType" value="VIEW" >
<c:if test="${editInvoiceForm.ma p.invStatu s == 5 }">
<html:submit styleClass="submitsmall" value="Edit" property="submit" disabled="true" />
</c:if>
<c:if test="${editInvoiceForm.ma p.invStatu s != 5 }">
<html:submit styleClass="submitsmall" value="Edit" property="submit" />
</c:if>
<c:if test="${editInvoiceForm.ma p.status == 1 or editInvoiceForm.map.invSta tus == 1 or editInvoiceForm.map.invSta tus == 2 or editInvoiceForm.map.invSta tus == 3 or editInvoiceForm.map.invSta tus == 4 or editInvoiceForm.map.invSta tus == 5 or editInvoiceForm.map.invSta tus == 7 }">
<html:button styleClass="submitsmall" value="Delete" property="button" disabled="true" />
</c:if>
<c:if test="${editInvoiceForm.ma p.status != 1 and editInvoiceForm.map.invSta tus != 1 and editInvoiceForm.map.invSta tus != 2 and editInvoiceForm.map.invSta tus != 3 and editInvoiceForm.map.invSta tus != 4 and editInvoiceForm.map.invSta tus != 5 and editInvoiceForm.map.invSta tus != 7 }">
<html:button styleClass="submitsmall" value="Delete" property="button" onclick="doDelete();" />
</c:if>
<html:button styleClass="submitsmall" value="Cancel" property="button" onclick="goToSearchPage(); "/>
<Input type="button" class="submitsmall" value="Create Invoice for Deal - <c:out value='${editInvoiceForm.m ap.dealMNC }' />" name="button" onclick="goToCreateInvoice Page();" />
<Input type="button" class="submitsmall" value="Move to Other Deal" name="button" onclick="goToSelectDealPag e();" />
</logic:equal>
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<html:button styleClass="submitsmall" value="Update" property="button" onclick="softSubmit(editIn voiceForm) "/>
</logic:equal>
<logic:notEqual name="editInvoiceForm" property="dealType" value="SOFT" >
<html:button styleClass="submitsmall" value="Update" property="button" onclick="hardSubmit(editIn voiceForm) " />
</logic:notEqual>
<html:button styleClass="submitsmall" value="Cancel" property="button" onclick="goToViewPage();"/ >
</logic:equal>
<br>
<!-- ========== CONTENT (end) ========== -->
</td>
</tr>
</table>
<html:hidden property="actionType" />
<html:hidden property="methodToCall" />
<html:hidden property="ccNum" />
<html:hidden property="ccName" />
<html:hidden property="dealMNC" />
<html:hidden property="planType" />
<html:hidden property="checkDtAsString" />
<html:hidden property="aPSentDtAsString " />
<html:hidden property="dealType" />
<html:hidden property="invSeqId" />
<html:hidden property="apRefId" />
<html:hidden property="currentDt" styleId="date3" />
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<input type="hidden" name="lastActvyDt" value="<%= actvyValue +"" %>" >
</logic:equal>
</html:form>
<html:javascript formName="editInvoiceForm" />
<script>
function doDelete(){
//alert('/jsp/delinvask.js p?Id=<bean :write name="editInvoiceForm" property="invId" />');
window.location = '/isoft/iSoft/jsp/delinvas k.jsp?Id=< bean:write name="editInvoiceForm" property="invSeqId" />&InvId=<bean:write name="editInvoiceForm" property="invId" />&CC=<bean:write name="editInvoiceForm" property="ccName" />' ;
}
function doSubmitToCancel( obj ){
document.forms[0].methodTo Call.value ='cancel';
obj.submit();
}
function goToSearchPage(){
window.location="/isoft/iS oft/jsp/Li stInvoices .jsp";
}
function goToViewPage(){
window.location='/isoft/iS oft/invoic e/viewInvo ice.do?met hodToCall= view&Id=<b ean:write name="editInvoiceForm" property="invSeqId" />';
}
function goToCreateInvoicePage(){
window.location='/isoft/iS oft/invoic e/searchDe al.do?deal MNC=<c:out value="${editInvoiceForm.m ap.dealMNC }" />&effDt='+document.forms[ 0].current Dt.value;
}
function goToSelectDealPage(){
window.location='/isoft/iS oft/invoic e/selectDe alAndViewI nvoice.do? Id=<bean:w rite name="editInvoiceForm" property="invSeqId" />';
}
function softSubmit(obj){
var result = 0;
if (validateEditInvoiceForm(o bj)){
//validateDates(document.f orms[0].fr omDate);
//validateDates(document.f orms[0].to Date);
if (document.forms[0].effDt.v alue - document.forms[0].invDt.va lue > 20000 ){
alert('Effective Date should be within 2 years of Invoice Date');
document.forms[0].effDt.fo cus();
result = 1;
}
if (((document.forms[0].fromD ate.value. length > 0 ) && (document.forms[0].fromDat e.value.le ngth != 8 ))&& (result == 0 ))
{
alert('Invalid From Date');
document.forms[0].fromDate .focus();
result = 1;
}
if (((document.forms[0].toDat e.value.le ngth > 0 ) && (document.forms[0].toDate. value.leng th != 8 )) && (result == 0 ))
{
alert('Invalid To Date');
document.forms[0].toDate.f ocus();
result = 1;
}
// check if FROM Date is greater than TO Date
if (!(compareDates( document.forms[0].fromDate , document.forms[0].toDate ))){
alert('From Date cannot be greater than To Date');
document.forms[0].fromDate .focus();
result = 1;
}
// check if the effDt is less than Today
if ((!(compareDates( document.forms[0].effDt , document.forms[0].currentD t ))) && (result == 0)) {
alert('Effective Date cannot be greater than Today\'s Date');
document.forms[0].effDt.fo cus();
result = 1;
}
if (( isNaN(document.forms[0].so ftRatio.va lue) ) && (result == 0)){
alert('SoftRatio is Numeric');
document.forms[0].softRati o.focus();
result = 1;
}
if (result == 0){
document.forms[0].submit() ;
}
}
}
function hardSubmit(obj){
var result = 0 ;
if (validateEditInvoiceForm(o bj)){
//validateDates(document.f orms[0].fr omDate);
//validateDates(document.f orms[0].to Date);
if (document.forms[0].effDt.v alue - document.forms[0].invDt.va lue > 20000 ){
alert('Effective Date should be within 2 years of Invoice Date');
document.forms[0].effDt.fo cus();
}else if (!(compareDates( document.forms[0].fromDate , document.forms[0].toDate ))){
alert('From Date cannot be greater than To Date');
document.forms[0].fromDate .focus();
}else{
if (((document.forms[0].fromD ate.value. length > 0 ) && (document.forms[0].fromDat e.value.le ngth != 8 ))&& (result == 0 ))
{
alert('Invalid From Date');
document.forms[0].fromDate .focus();
result = 1;
}
if (((document.forms[0].toDat e.value.le ngth > 0 ) && (document.forms[0].toDate. value.leng th != 8 )) && (result == 0 ))
{
alert('Invalid To Date');
document.forms[0].toDate.f ocus();
result = 1;
}
if (result == 0) document.forms[0].submit() ;
}
}
}
</script>
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<script>populateSoftAmt()< /script>
</logic:equal>
</logic:equal>
<script>window.onLoad=toda ysDate('da te3')</scr ipt>
<%@ taglib uri='template.tld' prefix='template' %>
<template:insert template='/jsp/templates/g
<template:put name='title' content=' Invoi
<template:put name='top' content='/jsp/html/header.
<template:put name='subtoolbar' content='/jsp/invoices/too
<template:put name='middle' content='/jsp/invoices/edi
<template:put name='footer' content='/jsp/html/footer.
</template:insert>
and actually I guess you want to look at
editInvoiceDetails.jsp
which is really big as below:
<%@ page import="com.citi.soft.invo
<%@ taglib uri="struts/html" prefix ="html" %>
<%@ taglib uri="struts/logic" prefix="logic" %>
<%@ taglib uri="struts/bean" prefix="bean" %>
<%@ taglib uri='jstl/c' prefix='c' %>
<%@ taglib uri='jstl/fmt' prefix='fmt' %>
<SCRIPT language="javascript1.2" src="/docs/js/popcalendar.
<SCRIPT language="javascript1.2" src="/docs/js/dateCheck.js
<logic:messagesPresent message="true" >
<hr>
<span id="errorsHeader"><bean:me
<html:messages id="message" message="true">
<span id="errorsHeader"><li><bea
</html:messages>
<hr>
</logic:messagesPresent>
<%
// Populate the Child records
int lenOfChild = 100 ;
int actualLenOfChild = 0;
String[] fromService = new String[lenOfChild];
String[] toService = new String[lenOfChild];
String[] serviceDet = new String[lenOfChild];
String[] unitCost = new String[lenOfChild];
String[] qnty = new String[lenOfChild];
String[] unitTotal = new String[lenOfChild];
for (int i = 0 ; i < lenOfChild ; i++) {
fromService[i] = "";
toService[i] = "";
serviceDet[i] = "";
unitCost[i] = "";
qnty[i] = "";
unitTotal[i] = "";
}
com.citi.soft.invoice.Invo
com.citi.soft.invoice.Invo
int sizeOfRecs = 0 ;
for ( sizeOfRecs = 0 ; sizeOfRecs < m_invoiceDets.length ; sizeOfRecs ++){
m_invoiceDet = new com.citi.soft.invoice.Invo
m_invoiceDet = m_invoiceDets[ sizeOfRecs ];
fromService[sizeOfRecs ] = m_invoiceDet.getServiceFro
toService[sizeOfRecs ] = m_invoiceDet.getServiceToD
serviceDet[sizeOfRecs ] = m_invoiceDet.getInvDesc();
unitCost[sizeOfRecs ] = StringUtil.formatNum( m_invoiceDet.getInvPrice()
qnty[sizeOfRecs ] = new Long(m_invoiceDet.getInvQt
unitTotal[sizeOfRecs ] = StringUtil.formatNum(m_inv
}
int displayChildRecs = 0 ;
if (sizeOfRecs == 0) displayChildRecs = 1 ;
if (sizeOfRecs == 0) sizeOfRecs = 1 ;
int m_intChildRowNum = 0;
%>
<bean:define id="apValue" name="editInvoiceForm" property="apLocId" />
<bean:define id="invValue" name="editInvoiceForm" property="invStatus" />
<bean:define id="payValue" name="editInvoiceForm" property="status" />
<bean:define id="ccyValue" name="editInvoiceForm" property="ccy" />
<!-- Set values for view screen for select items -->
<%
// to compare the value
String apLocValue = pageContext.findAttribute(
String invStatusValue = ( pageContext.findAttribute(
String payStatusValue = ( pageContext.findAttribute(
String curValue = ( pageContext.findAttribute(
long actvyValue = new Long( (String)request.getAttribu
String url = "";
%>
<logic:equal name="editInvoiceForm" property="actionType" value="VIEW" ><% url = "/invoice/viewInvoice" ; %>
</logic:equal>
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" ><% url = "/invoice/updateInvoice" ; %>
</logic:equal>
<html:form action="<%= url%>" >
<logic:equal name="editInvoiceForm" property="actionType" value="VIEW" >
<html:img width="5" src="/docs/images/spacer.g
<!-- In View Mode -->
<table cellpadding="0" cellspacing="0" border="0" width="853">
<tr align="right"><td colspan="4" align="right">
<a href="javascript:MM_openBr
<tr valign=TOP><td>
<table width="100%" class="tabTable" cellpadding="2" border="0" >
<tr><td colspan="4" class="tabtitle" height="13">Invoice Details</td></tr>
<tr><td width="17%"></td></tr>
<tr><td width="20%" class="right" height="0"><bean:message key="invoiceForm.ccNum.dis
<td width="27%" class="left" height="0"><bean:write name="editInvoiceForm" property="ccNum" /></td>
<td width="23%" class="right" height="0"> <bean:message key="invoiceForm.vendorAPN
<td width="30%" height="0" class="left" nowrap="true">
<bean:write name="editInvoiceForm" property="vendorAPName" /></td></tr>
<tr><td width="20%" class="right" ><bean:message key="invoiceForm.ccMNC.dis
<td width="27%" class="left" >
<a href="/isoft/iSoft/client/
<td width="23%" class="right" height="0"><bean:message key="invoiceForm.vendorId.
<td width="30%" height="0" class="left"><bean:write name="editInvoiceForm" property="vendorId" /></td>
</tr>
<tr><td width="20%" class="right" ><bean:message key="invoiceForm.ccName.di
<td width="27%" class="left" ><bean:write name="editInvoiceForm" property="ccName" /></td>
<td width="23%" class="right"><bean:messag
<td width="30%" class="left" >
<a href="/isoft/iSoft/VendorA
<tr><td width="20%" class="right" ><bean:message key="invoiceForm.dealMNC.d
<td width="27%" class="left" >
<a href="/isoft/iSoft/getbala
<td width="23%" class="right"><bean:messag
<td width="30%" class="left"><bean:write name="editInvoiceForm" property="vendorSiteC" /></td></tr>
<tr><td width="20%" class="right" ><bean:message key="invoiceForm.dealN.dis
<td width="27%" class="left" ><c:out value="${editInvoiceForm.m
<td width="23%" class="right"><bean:messag
<td width="30%" class="left">
<bean:write name="editInvoiceForm" property="entryDt" />
<html:hidden property="entryDt" />
</td>
</tr>
<tr><td width="20%" class="right"><bean:messag
<td width="27%" height="0" class="left"><bean:write name="editInvoiceForm" property="planType" /></td>
<td width="23%" class="right"><bean:messag
<td width="30%" class="left"><bean:write name="editInvoiceForm" property="vendorAccountNo"
<tr><td width="20%" class="right"><bean:messag
<td width="27%" class="left" ><bean:write name="editInvoiceForm" property="invId" /></td>
<td width="23%" class="right" > <bean:message key="invoiceForm.apRefId.d
<td width="30%" class="left">
<logic:greaterThan name="editInvoiceForm" property="apRefId" value="0" >
<bean:write name="editInvoiceForm" property="apRefId" />
</logic:greaterThan>
</td>
</tr>
<tr>
<td width="20%" class="right"><bean:messag
<td width="27%" class="left" >
<logic:greaterThan name="editInvoiceForm" property="dueDt" value="0" >
<bean:write name="editInvoiceForm" property="dueDt" />
</logic:greaterThan>
</td>
<td width="23%" class="right"><bean:messag
<td width="30%" class="left" nowrap="true" >
<c:if test="${editInvoiceForm.ma
<c:if test="${editInvoiceForm.ma
</td>
</tr>
<tr>
<td width="20%" class="right"><bean:messag
<td width="27%" class="left" >
<bean:write name="editInvoiceForm" property="invDt" />
</td>
<td class="right" height="18" width="26%"><bean:message key="invoiceForm.apLocId.d
<td class="left" height="18" width="30%">
<bean:write name="editInvoiceForm" property="apLocId" />
</td>
</tr>
<tr>
<td width="20%" class="right"><bean:messag
<td width="27%" class="left">
<bean:write name="editInvoiceForm" property="invSeqId" />
</td>
<!--<td class="right" width="23%"><bean:message key="invoiceForm.forAmt.di
<td width="30%" class="left">
<logic:greaterThan name="editInvoiceForm" value="foreignAmt" value="0" >
<fmt:formatNumber value="${editInvoiceForm.m
</logic:greaterThan>
</td> -->
</tr>
<tr>
<td width="20%" class="right"><bean:messag
<td width="27%" class="left">
<bean:write name="editInvoiceForm" property="checkId" />
</td>
<td class="right" width="23%"><bean:message key="invoiceForm.chkDt.dis
<td width="30%" class="left">
<logic:greaterThan name="editInvoiceForm" property="checkDt" value="0" >
<bean:write name="editInvoiceForm" property="checkDt" />
</logic:greaterThan>
</td>
</tr>
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<tr>
<td width="20%" class="right"><bean:messag
<td width="27%" class="left">
<bean:write name="editInvoiceForm" property="softRatio" />
<logic:equal name="editInvoiceForm" property="isHardCoded" value="on" >
<span class="bio_regtext"><font color="red">(HardCoded)</f
</logic:equal>
</td>
<td class="right" width="23%"><bean:message key="invoiceForm.softAmt.d
<td width="30%" class="left" >
<fmt:formatNumber value="${editInvoiceForm.m
</td>
</tr>
</logic:equal>
<tr>
<td width="20%" class="right"><bean:messag
<td width="27%" class="left">
<logic:greaterThan name="editInvoiceForm" property="apSentDt" value="0" >
<bean:write name="editInvoiceForm" property="apSentDt" />
</logic:greaterThan>
</td>
<td width="23%" class="right"><bean:messag
<td width="30%" class="left">
<bean:write name="editInvoiceForm" property="effDt" />
</td>
</tr>
<tr>
<td class="right" height="18" width="20%"><bean:message key="invoiceForm.invStatus
<td class="left" height="18" width="27%">
<logic:iterate id="invSt" name="<%= WebKeys.INV_STATUSES %>" indexId="index" >
<logic:equal name="invSt" property="statusId" value="<%= invStatusValue %>" >
<bean:write name="invSt" property="statusN" />
</logic:equal>
</logic:iterate>
<c:if test="${editInvoiceForm.ma
<c:if test="${editInvoiceForm.ma
<c:if test="${editInvoiceForm.ma
</c:if>
</td>
<td width="23%" class="right"><bean:messag
<td width="30%" class="left">
<logic:iterate id="paySt" name="<%= WebKeys.PAY_STATUSES %>" indexId="index" >
<logic:equal name="paySt" property="statusId" value="<%= payStatusValue %>" >
<bean:write name='paySt' property='statusN' />
</logic:equal>
</logic:iterate>
</td>
</tr>
<tr>
<td width="20%" class="right"><bean:messag
<td width="27%" class="left" >
<fmt:formatNumber value="${editInvoiceForm.m
</td>
<td class="right" width="23%"><bean:message key="invoiceForm.ccy.displ
<td width="30%" class="left" >
<logic:iterate id="ccyList" name="<%= WebKeys.CURRENCIES %>" indexId="index" >
<logic:equal name="ccyList" property="code" value="<%= curValue %>" >
<bean:write name="ccyList" property="codeDesc" />
</logic:equal>
</logic:iterate>
</td>
</tr>
<tr>
<td width="23%" class="right" nowrap="true" ><bean:message key="invoiceForm.repCcy.di
<td width="30%" class="left"> <fmt:formatNumber value="${editInvoiceForm.m
<td width="20%" class="right"><bean:messag
<td width="27%" class="left" >
<bean:write name="editInvoiceForm" property="actvyDt" />
</td>
</tr>
<tr>
<td class="right" width="23%"><bean:message key="invoiceForm.forAmt.di
<td width="30%" class="left">
<logic:greaterThan name="editInvoiceForm" value="foreignAmt" value="0" >
<fmt:formatNumber value="${editInvoiceForm.m
</logic:greaterThan>
</td>
<td class="right" width="23%"><bean:message key="invoiceForm.lastActvy
<td width="30%" class="left" >
<bean:write name="editInvoiceForm" property="lastActvyUsrI" />
</td>
</tr>
<tr>
<td width="20%" class="right" height="40"><bean:message key="invoiceForm.comments.
<td colspan="3" width="200" wrap class="left" >
<bean:write name="editInvoiceForm" property="comments" />
</td>
</tr>
</table>
</logic:equal>
<!-- End of View Mode -->
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<br>
<html:img width="5" src="/docs/images/spacer.g
<!--------In Modify Mode -->
<table cellpadding="0" cellspacing="0" border="0" width="853" >
<tr align="right"><td colspan="4" align="right"><a href="javascript:MM_openBr
<tr valign=TOP>
<td >
<!-- ========== CONTENT (start) ========== --->
<table width="100%" class="tabTable" height="404" cellpadding="0" cellspacing="0" border="0">
<tr>
<td colspan="4" class="tabtitle" height="13">Invoice Details</td>
</tr>
<tr>
<td width="17%"></td>
</tr>
<tr height="25">
<td width="20%" class="right" height="0"> <bean:message key="invoiceForm.ccNum.dis
<td width="25%" class="left" height="0">
<bean:write name="editInvoiceForm" property="ccNum" />
</td>
<td width="20%" class="right" height="0"> <bean:message key="invoiceForm.vendorAPN
<td width="30%" height="0" class="left" >
<bean:write name="editInvoiceForm" property="vendorAPName" />
</td>
</tr>
<tr height="25">
<td width="17%" class="right" ><bean:message key="invoiceForm.ccMNC.dis
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="ccMNC" />
</td>
<td width="22%" class="right" height="0"><bean:message key="invoiceForm.vendorId.
<td width="30%" height="0" class="left">
<bean:write name="editInvoiceForm" property="vendorId" />
<html:hidden property="vendorId" />
</td>
</tr>
<tr height="25">
<td width="20%" class="right" ><bean:message key="invoiceForm.ccName.di
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="ccName" />
</td>
<td width="22%" class="right"><bean:messag
<td width="30%" class="left">
<bean:write name="editInvoiceForm" property="vendorAccNum" />
</td>
</tr>
<tr height="25" >
<td width="17%" class="right" ><bean:message key="invoiceForm.dealMNC.d
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="dealMNC" />
</td>
<td width="22%" class="right"><bean:messag
<td width="30%" class="left" >
<bean:write name="editInvoiceForm" property="vendorSiteC" />
</td>
</tr>
<tr height="25" ><td width="20%" class="right" ><bean:message key="invoiceForm.dealN.dis
<td width="27%" class="left" ><c:out value="${editInvoiceForm.m
<td width="22%" class="right"><bean:messag
<td width="30%" class="left" >
<bean:write name="editInvoiceForm" property="entryDt" />
<html:hidden property="entryDt" />
</td>
</tr>
<tr height="25">
<td width="17%" class="right"><bean:messag
<td width="25%" height="0" class="left" >
<bean:write name="editInvoiceForm" property="planType" />
</td>
<td width="22%" class="right"><bean:messag
<td width="30%" class="left" >
<html:text property="vendorAccountNo"
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag
<td width="25%" class="left" >
<% if ( !("1".equals(payStatusValu
<html:text property="invId" styleClass="inputtextmediu
<% } %>
<% if ("1".equals(payStatusValue
<bean:write name="editInvoiceForm" property="invId" />
<html:hidden property="invId" />
<% } %>
</td>
<td width="22%" class="right" > <bean:message key="invoiceForm.apRefId.d
<td width="30%" class="left" >
<logic:greaterThan name="editInvoiceForm" property="apRefId" value="0" >
<bean:write name="editInvoiceForm" property="apRefId" />
</logic:greaterThan>
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="invSeqId" />
</td>
<td class="right" height="18" width="17%"><bean:message key="invoiceForm.apLocId.d
<td class="inputtextmedium" height="18" width="25%">
<bean:write name="editInvoiceForm" property="apLocId" />
<html:hidden property="apLocId" />
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag
<td width="25%" class="left" >
<bean:write name="editInvoiceForm" property="checkId" />
<html:hidden property="checkId" />
</td>
<td class="right" width="17%"><bean:message key="invoiceForm.chkDt.dis
<td width="30%" class="left" >
<logic:greaterThan name="editInvoiceForm" property="checkDt" value="0" >
<bean:write name="editInvoiceForm" property="checkDt" />
</logic:greaterThan>
<html:hidden property="checkDt" />
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag
<td width="25%">
<logic:greaterThan name="editInvoiceForm" property="dueDt" value="0" >
<html:text styleClass="inputtextmediu
</logic:greaterThan>
<logic:equal name="editInvoiceForm" property="dueDt" value="0" >
<html:text styleClass="inputtextmediu
</logic:equal>
<img src="/docs/images/cal.gif"
</td>
<td width="22%" class="right"><bean:messag
<td width="30%" nowrap>
<c:if test="${editInvoiceForm.ma
<html:text styleClass="inputtextmediu
</c:if>
<c:if test="${editInvoiceForm.ma
<html:text styleClass="inputtextmediu
</c:if>
<img src="/docs/images/cal.gif"
<span class="center"> to</span>
<c:if test="${editInvoiceForm.ma
<html:text styleClass="inputtextmediu
</c:if>
<c:if test="${editInvoiceForm.ma
<html:text styleClass="inputtextmediu
</c:if>
<img src="/docs/images/cal.gif"
</td>
</tr>
<tr height="25" >
<td width="17%" class="right"><bean:messag
<td width="25%" class="left">
<c:if test="${payValue == 1 }" >
<c:out value="${editInvoiceForm.m
<html:hidden property="invDt" />
</c:if>
<c:if test="${payValue != 1 }" >
<html:text styleClass="inputtextmediu
<img src="/docs/images/cal.gif"
</c:if>
</td>
<td width="22%" class="right"><bean:messag
<td width="30%">
<logic:greaterThan name="editInvoiceForm" property="effDt" value="0" >
<html:text styleClass="inputtextmediu
</logic:greaterThan>
<logic:equal name="editInvoiceForm" property="effDt" value="0" >
<html:text styleClass="inputtextmediu
</logic:equal>
<img src="/docs/images/cal.gif"
</td>
</tr>
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<tr height="25">
<td width="17%" class="right"><bean:messag
<td width="25%" nowrap>
<html:text styleClass="inputtextmediu
</td>
<td class="right" width="26%"><bean:message key="invoiceForm.softAmt.d
<td width="30%">
<div id="soft" class="left"></div>
<html:hidden property="softAmt" size="10" />
</td>
</tr>
</logic:equal>
<tr height="25" >
<td class="right" height="18" width="17%"><bean:message key="invoiceForm.invStatus
<td class="left" height="18" width="25%" >
<!---- It should have only New and Cancel-->
<% if ( "1".equals(payStatusValue)
<logic:iterate id="invSt" name="<%= WebKeys.INV_STATUSES %>" indexId="index" >
<logic:equal name="invSt" property="statusId" value="<%= invStatusValue %>" >
<bean:write name="invSt" property="statusN" />
</logic:equal>
</logic:iterate>
<html:hidden property="invStatus" />
<% } else {%>
<html:select styleClass="inputtextmediu
<% if (!( "6".equals(invStatusValue)
<html:option value="0" >
<logic:iterate id="invSt" name="<%= WebKeys.INV_STATUSES %>" indexId="index" >
<logic:equal name="invSt" property="statusId" value="<%= invStatusValue %>" >
<bean:write name="invSt" property="statusN" />
</logic:equal>
</logic:iterate>
</html:option>
<% } %>
<html:option value="6" >Unpaid </html:o
<!-- <html:option value="5" >Cancel &n
</html:select>
<% } %>
<c:if test="${editInvoiceForm.ma
<c:if test="${editInvoiceForm.ma
<c:if test="${editInvoiceForm.ma
</c:if>
</td>
<td width="22%" class="right" ><bean:message key="invoiceForm.status.di
<td width="30%" class="left" >
<% if ( "1".equals(payStatusValue)
<font face="arial" size="2"><b>Paid</b></font
<html:hidden property="status" value="1" />
<% }else { %>
<logic:iterate id="paySt" name="<%= WebKeys.PAY_STATUSES %>" indexId="index" >
<logic:equal name="paySt" property="statusId" value="<%= payStatusValue %>" >
<bean:write name='paySt' property='statusN' />
</logic:equal>
</logic:iterate>
<html:hidden property="status" value="<%= payStatusValue %>" />
<% } %>
</td>
</tr>
<tr height="25">
<td width="17%" class="right"><bean:messag
<td width="25%" class="left" nowrap="true" >
<% if ( "2".equals(payStatusValue)
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<html:text styleClass="inputtextmediu
</logic:equal>
<logic:notEqual name="editInvoiceForm" property="dealType" value="SOFT" >
<input type="text" class="inputtextmedium" name="total" maxlength="10" size="15" tabindex="6" value='<fmt:formatNumber value="${editInvoiceForm.m
</logic:notEqual>
<% }else { %>
<fmt:formatNumber value="${editInvoiceForm.m
<html:hidden property="total" />
<% } %>
</td>
<td class="right" width="26%"><bean:message key="invoiceForm.ccy.displ
<td width="30%">
<html:select styleClass="inputtextmediu
<%
//java.util.ArrayList cList = (java.util.ArrayList) request.getAttribute("curL
//pageContext.setAttribute
%>
<html:options collection="curList" property="code" labelProperty="codeDesc" />
</html:select>
</td>
</tr>
<tr height="25">
<td width="23%" class="right" nowrap="true" ><bean:message key="invoiceForm.repCcy.di
<td width="30%" class="left"> <fmt:formatNumber value="${editInvoiceForm.m
<td width="17%" class="right"><bean:messag
<td width="25%" class="left" >
<!----- If the status is Paid AP sent Date cannot be changed ---->
<logic:greaterThan name="editInvoiceForm" property="apSentDt" value="0" >
<bean:write name="editInvoiceForm" property="apSentDt" />
</logic:greaterThan>
<html:hidden property="apSentDt" />
</td>
</tr>
<tr height="25">
<td class="right" width="26%"><bean:message key="invoiceForm.forAmt.di
<td width="30%" class="left" >
<logic:greaterThan name="editInvoiceForm" value="foreignAmt" value="0" >
<fmt:formatNumber value="${editInvoiceForm.m
</logic:greaterThan>
<html:hidden name="editInvoiceForm" property="foreignAmt" />
</td>
</tr>
<tr height="22" >
<td width="17%" class="right" ><bean:message key="invoiceForm.comments.
<td colspan="4" height="40">
<html:textarea cols="62" rows="2" styleClass="inputtextmediu
</td>
</tr>
<tr height="10" >
<td> </td>
</tr>
</table>
</logic:equal>
<!-- End of Edit Mode ----->
<!--- 1. Populate the parent values from Data from DB in view Mode -->
<logic:equal name="editInvoiceForm" property="actionType" value="VIEW" >
<!--- Display dynamic uneditable data using logic tags -->
<% if (displayChildRecs == 0){ %>
<logic:present name="InvDetails">
<table class="tabTable" width="100%" id="vtable">
<tr>
<td colspan="12" class="tabtitle">
<div align="left">Service Details<!-- <html:img width="400" height="9" src="/docs/images/spacer.g
Details</font></a>--></div
</td>
</tr>
<tr>
<th width="3%">
<div align="center" >No. </div>
</th>
<td> </td>
<th width="24%">
<div align="center" ><bean:message key="invoiceForm.fromServi
</th>
<td nowrap> </td>
<th >
<div align="center"><bean:messa
</th>
<td> </td>
<th width="10%" nowrap>
<div align="center"><bean:messa
</th>
<td> </td>
<th width="7%" nowrap>
<div align="center"><bean:messa
</th>
<td> </td>
<th width="20%" nowrap>
<div align="center"><bean:messa
</th>
<th width="20%" nowrap> </th>
</tr>
<logic:iterate id="invDet" name="InvDetails" indexId="index" scope="request" >
<tr id='a'>
<td width="3%" class="center">
<%= ++ m_intChildRowNum %>
</td>
<td width="1%" nowrap><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="24%" nowrap class="center">
<logic:greaterThan name="invDet" property="serviceFromDt" value="0" >
<bean:write name="invDet" property="serviceFromDt" />
</logic:greaterThan>
<span class="center"> to </span>
<logic:greaterThan name="invDet" property="serviceToDt" value="0" >
<bean:write name="invDet" property="serviceToDt" />
</logic:greaterThan>
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="31%" class="left" >
<bean:write name="invDet" property="invDesc" />
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="10%" class="center">
<fmt:formatNumber value="${invDet.invPrice}"
</td>
<td width="1%" nowrap><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="7%" class="right">
<bean:write name="invDet" property="invQty" />
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="20%" class="right" >
<fmt:formatNumber value="${invDet.unitTotal}
</td>
<td width="20%"> </td>
</tr>
</logic:iterate>
</table>
</logic:present>
<% } %>
</logic:equal>
<!--- 2. Populate the child values in Edit Mode -->
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<table class="tabTable" width="100%" id="vtable">
<tr>
<td colspan="12" class="tabtitle">
<div align="left">Service Details <html:img width="400" height="9" src="/docs/images/spacer.g
Details</font></a>--></div
</td>
</tr>
<tr>
<th width="3%">
<div align="center" >No. </div>
</th>
<td nowrap></td>
<th width="24%">
<div align="center" ><bean:message key="invoiceForm.fromServi
</th>
<td nowrap> </td>
<th >
<div align="center"><bean:messa
</th>
<td> </td>
<th width="10%" nowrap>
<div align="center"><bean:messa
</th>
<td> </td>
<th width="7%" nowrap>
<div align="center"><bean:messa
</th>
<td> </td>
<th width="20%" nowrap>
<div align="center"><bean:messa
</th>
<th width="20%" nowrap> </th>
</tr>
<%
for (int noOfRows = 0 ; noOfRows < sizeOfRecs+1 ; noOfRows++ ) {
%>
<tr id='a'>
<td width="3%" class="bio_list">
<div align="center"><%= noOfRows+1 %></div>
</td>
<td width="1%" nowrap><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="24%" nowrap>
<div align="center">
<html:text styleClass="inputtextmediu
value="<%=fromService[noOf
to
<html:text styleClass="inputtextmediu
</div>
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="31%" >
<div align="left">
<html:text styleClass="inputtextmediu
</div>
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="10%">
<div align="center">
<html:text styleClass="inputtextmediu
</div>
</td>
<td width="1%" nowrap><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="7%">
<div align="center">
<html:text styleClass="inputtextmediu
</div>
</td>
<td width="1%"><html:img width="8" height="8" src="/docs/images/spacer.g
<td width="20%">
<div align="center">
<html:text styleClass="inputtextmediu
</div>
</td>
<td width="20%"> </td>
</tr>
<% } %>
<tr id="y">
<td > </td>
<td > </td>
<td> </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td > </td>
<td valign="bottom" align="center" > </td>
<td valign="bottom" align="center" width="120" ></td>
</tr>
<tr>
<td width="3%" class="bio_list"> </t
<td width="1%"> </td>
<td width="24%" align="right" class="bio_regtext">
<td width="1%" nowrap class="bio_regtext">
<td width="31%" class="bio_listMedium" align="center"><html:link href="javascript:cloneRow(
ADDL. DETAILS</html:link> </td>
<td width="1%" nowrap class="bio_regtext">
<td width="10%" nowrap class="bio_regtext">
<td width="1%"> </td>
<td width="7%" class="right">
</td>
<td width="1%" nowrap class="bio_regtext">
<td width="20%" nowrap class="right"> </td>
<td width="6%" nowrap valign="bottom"> </td>
</tr>
</table>
</logic:equal>
<br>
<logic:equal name="editInvoiceForm" property="actionType" value="VIEW" >
<c:if test="${editInvoiceForm.ma
<html:submit styleClass="submitsmall" value="Edit" property="submit" disabled="true" />
</c:if>
<c:if test="${editInvoiceForm.ma
<html:submit styleClass="submitsmall" value="Edit" property="submit" />
</c:if>
<c:if test="${editInvoiceForm.ma
<html:button styleClass="submitsmall" value="Delete" property="button" disabled="true" />
</c:if>
<c:if test="${editInvoiceForm.ma
<html:button styleClass="submitsmall" value="Delete" property="button" onclick="doDelete();" />
</c:if>
<html:button styleClass="submitsmall" value="Cancel" property="button" onclick="goToSearchPage();
<Input type="button" class="submitsmall" value="Create Invoice for Deal - <c:out value='${editInvoiceForm.m
<Input type="button" class="submitsmall" value="Move to Other Deal" name="button" onclick="goToSelectDealPag
</logic:equal>
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<html:button styleClass="submitsmall" value="Update" property="button" onclick="softSubmit(editIn
</logic:equal>
<logic:notEqual name="editInvoiceForm" property="dealType" value="SOFT" >
<html:button styleClass="submitsmall" value="Update" property="button" onclick="hardSubmit(editIn
</logic:notEqual>
<html:button styleClass="submitsmall" value="Cancel" property="button" onclick="goToViewPage();"/
</logic:equal>
<br>
<!-- ========== CONTENT (end) ========== -->
</td>
</tr>
</table>
<html:hidden property="actionType" />
<html:hidden property="methodToCall" />
<html:hidden property="ccNum" />
<html:hidden property="ccName" />
<html:hidden property="dealMNC" />
<html:hidden property="planType" />
<html:hidden property="checkDtAsString"
<html:hidden property="aPSentDtAsString
<html:hidden property="dealType" />
<html:hidden property="invSeqId" />
<html:hidden property="apRefId" />
<html:hidden property="currentDt" styleId="date3" />
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<input type="hidden" name="lastActvyDt" value="<%= actvyValue +"" %>" >
</logic:equal>
</html:form>
<html:javascript formName="editInvoiceForm"
<script>
function doDelete(){
//alert('/jsp/delinvask.js
window.location = '/isoft/iSoft/jsp/delinvas
}
function doSubmitToCancel( obj ){
document.forms[0].methodTo
obj.submit();
}
function goToSearchPage(){
window.location="/isoft/iS
}
function goToViewPage(){
window.location='/isoft/iS
}
function goToCreateInvoicePage(){
window.location='/isoft/iS
}
function goToSelectDealPage(){
window.location='/isoft/iS
}
function softSubmit(obj){
var result = 0;
if (validateEditInvoiceForm(o
//validateDates(document.f
//validateDates(document.f
if (document.forms[0].effDt.v
alert('Effective Date should be within 2 years of Invoice Date');
document.forms[0].effDt.fo
result = 1;
}
if (((document.forms[0].fromD
{
alert('Invalid From Date');
document.forms[0].fromDate
result = 1;
}
if (((document.forms[0].toDat
{
alert('Invalid To Date');
document.forms[0].toDate.f
result = 1;
}
// check if FROM Date is greater than TO Date
if (!(compareDates( document.forms[0].fromDate
alert('From Date cannot be greater than To Date');
document.forms[0].fromDate
result = 1;
}
// check if the effDt is less than Today
if ((!(compareDates( document.forms[0].effDt , document.forms[0].currentD
alert('Effective Date cannot be greater than Today\'s Date');
document.forms[0].effDt.fo
result = 1;
}
if (( isNaN(document.forms[0].so
alert('SoftRatio is Numeric');
document.forms[0].softRati
result = 1;
}
if (result == 0){
document.forms[0].submit()
}
}
}
function hardSubmit(obj){
var result = 0 ;
if (validateEditInvoiceForm(o
//validateDates(document.f
//validateDates(document.f
if (document.forms[0].effDt.v
alert('Effective Date should be within 2 years of Invoice Date');
document.forms[0].effDt.fo
}else if (!(compareDates( document.forms[0].fromDate
alert('From Date cannot be greater than To Date');
document.forms[0].fromDate
}else{
if (((document.forms[0].fromD
{
alert('Invalid From Date');
document.forms[0].fromDate
result = 1;
}
if (((document.forms[0].toDat
{
alert('Invalid To Date');
document.forms[0].toDate.f
result = 1;
}
if (result == 0) document.forms[0].submit()
}
}
}
</script>
<logic:equal name="editInvoiceForm" property="actionType" value="EDIT" >
<logic:equal name="editInvoiceForm" property="dealType" value="SOFT" >
<script>populateSoftAmt()<
</logic:equal>
</logic:equal>
<script>window.onLoad=toda
Ok, this big Jsp along with the other template inserts will make it a mammoth jsp code. that sure is the reason for throwing that error.
It will take some time for me to go thro' this jsp and suggest changes.
One more thing is dont you want to start using Struts Tiles instead of Struts Template.??? just a thought though not exactly related with your problem.
It will take some time for me to go thro' this jsp and suggest changes.
One more thing is dont you want to start using Struts Tiles instead of Struts Template.??? just a thought though not exactly related with your problem.
ASKER
Kiran,
Thanks for the catch on Tiles versus Template.. Well, first, code is not written by me. So I cannot enhance it right-away. This is a client code which I just need to migrate it to WL 8.1 and if it works without changing the code, or may be with minor changes, I am sure I will convice them to allow changing some of the code itself as well..
And also, I don't know much of Java/jsp.. just getting familiar with it while trying to accompllish this project.. But your suggestiong I am sure is excllent, I will keep this in mind and suggest it here..
Let me know if u have any ideas on how to fix this problem...
Thanks again for the help u r providing
Thanks for the catch on Tiles versus Template.. Well, first, code is not written by me. So I cannot enhance it right-away. This is a client code which I just need to migrate it to WL 8.1 and if it works without changing the code, or may be with minor changes, I am sure I will convice them to allow changing some of the code itself as well..
And also, I don't know much of Java/jsp.. just getting familiar with it while trying to accompllish this project.. But your suggestiong I am sure is excllent, I will keep this in mind and suggest it here..
Let me know if u have any ideas on how to fix this problem...
Thanks again for the help u r providing
ASKER
Kiran, I am not sure why exactly same jsp code is working on other server with 5.6 OS and WL 6.1..
Remember sys admin does prepare the servers and do some settings.. but I don't have access to sys admins here...
they are client guys and don't talk with us..
I can login into the server but cannot change their settings.. if there is something u want me to check on this server (5.8/WL 8.1 they server we have issue with), I can do that..
But since I am not sys admin, please also tell me what command to run for any info u want
Remember sys admin does prepare the servers and do some settings.. but I don't have access to sys admins here...
they are client guys and don't talk with us..
I can login into the server but cannot change their settings.. if there is something u want me to check on this server (5.8/WL 8.1 they server we have issue with), I can do that..
But since I am not sys admin, please also tell me what command to run for any info u want
ASKER
Hello??
Any help?
Kiran? Found anythng which might be of help??
Any help?
Kiran? Found anythng which might be of help??
ASKER
Kiran,
if there is no way to fix this, cud u tell me how to split the jsp page..
i just want to try this on my local instance
can i just cut contents of jsp page and make a new file and then call this file in editInovoice...jsp as <jsp:incclude tag??
i tried this, but it starts throwing error that variables not found.. i guess i cannot cut and paste the contents of jsp here and there and then include it.. i have to be careful in that too..
can u help me splitting the jsp page pls if that is the only solution left? sorry i don't know much of jsp
regards
if there is no way to fix this, cud u tell me how to split the jsp page..
i just want to try this on my local instance
can i just cut contents of jsp page and make a new file and then call this file in editInovoice...jsp as <jsp:incclude tag??
i tried this, but it starts throwing error that variables not found.. i guess i cannot cut and paste the contents of jsp here and there and then include it.. i have to be careful in that too..
can u help me splitting the jsp page pls if that is the only solution left? sorry i don't know much of jsp
regards
i had a little work load yesterday so couldnt go thro your code. i will do it today.
meanwhile in the top of your edit invoice page you can delete this line
for ( sizeOfRecs = 0 ; sizeOfRecs < m_invoiceDets.length ; sizeOfRecs ++){
---->> m_invoiceDet = new com.citi.soft.invoice.Invo iceDetails ();
m_invoiceDet = m_invoiceDets[ sizeOfRecs ];
will go thro the code and tell you.
Thanks
meanwhile in the top of your edit invoice page you can delete this line
for ( sizeOfRecs = 0 ; sizeOfRecs < m_invoiceDets.length ; sizeOfRecs ++){
---->> m_invoiceDet = new com.citi.soft.invoice.Invo
m_invoiceDet = m_invoiceDets[ sizeOfRecs ];
will go thro the code and tell you.
Thanks
ASKER
I did this as you suggested above..
same thing (same error).. i know it was not a solution to my problem.. u fixed bad code..
but just wanted to let you know
I am eagerly waiting for ur response on this because i am loosing really time on this issue..
appreciate your help
same thing (same error).. i know it was not a solution to my problem.. u fixed bad code..
but just wanted to let you know
I am eagerly waiting for ur response on this because i am loosing really time on this issue..
appreciate your help
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Ok,
I did firstly only removed EDIT MODE from my jsp and put it in new jsp (abc.jsp)
and then i included abc.jsp in editInvoice.jsp -- it throw same rror
#<Nov 16, 2004 12:48:26 PM EST> <Error> <HTTP> <webweia60d> <isoftNode1> <ExecuteThread: '22' for queue: 'default'> <<WLS K
ernel>> <> <BEA-101017> <[ServletContext(id=234292 8,name=iso ft,context -path=/iso ft/iSoft)] Root cause of ServletException.
javax.servlet.jsp.JspExcep tion: (class: jsp_servlet/_jsp/_invoices /__editinv oicedetail s, method: _jspService signature: (Ljava
x/servlet/http/HttpServlet Request;Lj avax/servl et/http/Ht tpServletR esponse;)V ) Illegal target of jump or branch
at org.apache.struts.taglib.t emplate.In sertTag.do EndTag(Ins ertTag.jav a:164)
at jsp_servlet._jsp.__modinvo ice._jspSe rvice(__mo dinvoice.j ava:247)
at weblogic.servlet.jsp.JspBa se.service (JspBase.j ava:33)
at weblogic.servlet.internal. ServletStu bImpl$Serv letInvocat ionAction
Then I removed VIEW_MODE also as you suggested.. put in def.jsp
and included def.jsp in editInvoice.jsp -- it seems to be working -- :)
no error after this..
But if I go to weblogic location where all jsp are coverted to java and compiled
i see
101274 Nov 16 12:55 __editinvoicedetails.class
724548 Nov 16 12:55 __editinvoicedetails.java
which was previously
127094 Nov 16 11:41 __editinvoicedetails.class
900230 Nov 16 11:41 __editinvoicedetails.java
so size had reduced.. looks like this is what we wanted right??
why don't is see __abc.java and __abc.class and __def.java and __def.class??
So is this the only way to resolve this?
I may have more jsp pages with same problem - will i have to split all of them like this?
how does developer make sure while writing the jsp pages that they are not crossing this limit ? and will not get this issue?
I did firstly only removed EDIT MODE from my jsp and put it in new jsp (abc.jsp)
and then i included abc.jsp in editInvoice.jsp -- it throw same rror
#<Nov 16, 2004 12:48:26 PM EST> <Error> <HTTP> <webweia60d> <isoftNode1> <ExecuteThread: '22' for queue: 'default'> <<WLS K
ernel>> <> <BEA-101017> <[ServletContext(id=234292
javax.servlet.jsp.JspExcep
x/servlet/http/HttpServlet
at org.apache.struts.taglib.t
at jsp_servlet._jsp.__modinvo
at weblogic.servlet.jsp.JspBa
at weblogic.servlet.internal.
Then I removed VIEW_MODE also as you suggested.. put in def.jsp
and included def.jsp in editInvoice.jsp -- it seems to be working -- :)
no error after this..
But if I go to weblogic location where all jsp are coverted to java and compiled
i see
101274 Nov 16 12:55 __editinvoicedetails.class
724548 Nov 16 12:55 __editinvoicedetails.java
which was previously
127094 Nov 16 11:41 __editinvoicedetails.class
900230 Nov 16 11:41 __editinvoicedetails.java
so size had reduced.. looks like this is what we wanted right??
why don't is see __abc.java and __abc.class and __def.java and __def.class??
So is this the only way to resolve this?
I may have more jsp pages with same problem - will i have to split all of them like this?
how does developer make sure while writing the jsp pages that they are not crossing this limit ? and will not get this issue?
ASKER
Also, let me know if there is any other easy way to fix this other than splitting the jsp page?
because ofcourse this is the only solution -- I will have to suggest client to split all jsp pages with problem..
Also - if there is no other way -- how should I tell all the developers of client to make all JSP within this limit.. I mean how will they check if they have crosssed this limit etc..
I appreciate all your guidance..
and really happy that this is working atleast -- not sure if this is a perfect solution -- but since splitting jsp is kind of big thing - i need to answer to client very technically everythign
because ofcourse this is the only solution -- I will have to suggest client to split all jsp pages with problem..
Also - if there is no other way -- how should I tell all the developers of client to make all JSP within this limit.. I mean how will they check if they have crosssed this limit etc..
I appreciate all your guidance..
and really happy that this is working atleast -- not sure if this is a perfect solution -- but since splitting jsp is kind of big thing - i need to answer to client very technically everythign
no.... The best way is to add the JVM option for large branch. But if that doesnt work then it might have to do with the Product JVM not implementing the Spec properly or a bug in the Product JVM.
Better still you should always give more preference for maintainability than for Great Looking code or logic.
As such if you want to modify that big a JSP anytime after you first coded it will be hell of a work!!!!
Since in our enterprise applications Code is added incrementally (When we get a CR or a new feature) its always makes sense to see if you can accomodate/refactor the new requirements into a seperate JSP since the person who is going to maintain it will curse you a lot (thats what i do everytime i get a CR. but with the new project in hand i am making sure i Design it in such a way that refactoring it into seperate files will not be a problem)
Ask your client to take a look at this very good article or better still send the contents to them in a mail
http://www.theserverside.com/news/thread.tss?thread_id=29114
Better still you should always give more preference for maintainability than for Great Looking code or logic.
As such if you want to modify that big a JSP anytime after you first coded it will be hell of a work!!!!
Since in our enterprise applications Code is added incrementally (When we get a CR or a new feature) its always makes sense to see if you can accomodate/refactor the new requirements into a seperate JSP since the person who is going to maintain it will curse you a lot (thats what i do everytime i get a CR. but with the new project in hand i am making sure i Design it in such a way that refactoring it into seperate files will not be a problem)
Ask your client to take a look at this very good article or better still send the contents to them in a mail
http://www.theserverside.com/news/thread.tss?thread_id=29114
As such there is no hand rule for checking out the limit of your JSP. but you sure will get an error when u exceed it.
The Developers will be in a better position to decide when the code is growing big and will be difficult to maintain. (This they will remember only when they have worked for some time on a very big Enterprise maintainance project!!!!!!!!!!!) otherwise nobody will bother to refactor code into seperate files, everybody will just keep on adding incrementally to the existing code.
The Developers will be in a better position to decide when the code is growing big and will be difficult to maintain. (This they will remember only when they have worked for some time on a very big Enterprise maintainance project!!!!!!!!!!!) otherwise nobody will bother to refactor code into seperate files, everybody will just keep on adding incrementally to the existing code.
ASKER
Kiran,
Understood your comments.. but not understood 2 things:
1). >>Product JVM not implementing the Spec properly or a bug in the Product JVM.
Is it possible that WEBLOGIC 8.1 (BEA) has not implemented tthe JVM correctly?
I mean it is BEA -- kind of big app server company -- and moreover same code is working in weblogic 6.1 version. why and how come they have problem in 8.1 version
I still could not get it. I opened a support TkT with BEA but they gave me option to split the jsp page
and they didn't even suggested to do this branch=true thing which you suggested..
wehn i answered them -- splitting is not an option -- they are still researching the issue (since 7 days now) with no answer..
why in 6.1 it is working -- that drives me crazy
2). you have mentioed refactor. what exaclt it means? does this mean splitting the jsp pages and keep each requirement in separate jsp page?
Understood your comments.. but not understood 2 things:
1). >>Product JVM not implementing the Spec properly or a bug in the Product JVM.
Is it possible that WEBLOGIC 8.1 (BEA) has not implemented tthe JVM correctly?
I mean it is BEA -- kind of big app server company -- and moreover same code is working in weblogic 6.1 version. why and how come they have problem in 8.1 version
I still could not get it. I opened a support TkT with BEA but they gave me option to split the jsp page
and they didn't even suggested to do this branch=true thing which you suggested..
wehn i answered them -- splitting is not an option -- they are still researching the issue (since 7 days now) with no answer..
why in 6.1 it is working -- that drives me crazy
2). you have mentioed refactor. what exaclt it means? does this mean splitting the jsp pages and keep each requirement in separate jsp page?
ASKER
Is this long branch issue something to do
JVM used from weblogic
in one of the start-up script
i found
Sun)
# JAVA_VM=-client
JAVA_VM=-server
MEM_ARGS="-Xms64m -Xmx256m -XX:MaxPermSize=128m"
;;
*)
so not sure what vendor of JVM we use -- but is it SUN JVM?
may be sun JVM has a problem or somethng..
possible?
JVM used from weblogic
in one of the start-up script
i found
Sun)
# JAVA_VM=-client
JAVA_VM=-server
MEM_ARGS="-Xms64m -Xmx256m -XX:MaxPermSize=128m"
;;
*)
so not sure what vendor of JVM we use -- but is it SUN JVM?
may be sun JVM has a problem or somethng..
possible?
ASKER
Also Kiran,
One more thing --
If they are pointing to fault JVM.. cannot I set something in my setEnv.sh so that they point to my JVM thus fixing all the bugs
If in setEnv.sh, I do
JAVA_HOME= <my JVM>
export JAVA_HOME
will not they pick it up..
I have already
JAVA_HOME=<1.4.2_06 version of jdk>
and they were picking it.. because I saw in logs java_home to be in my directory 1.4.2_06..
hope u understood what i mean
One more thing --
If they are pointing to fault JVM.. cannot I set something in my setEnv.sh so that they point to my JVM thus fixing all the bugs
If in setEnv.sh, I do
JAVA_HOME= <my JVM>
export JAVA_HOME
will not they pick it up..
I have already
JAVA_HOME=<1.4.2_06 version of jdk>
and they were picking it.. because I saw in logs java_home to be in my directory 1.4.2_06..
hope u understood what i mean
yes... basically that is the problem with JRocket JVM. it might be that when moving to Weblogic 8 there might have been some bugs introduced which might not take the JVM options!!!!
These kind of problems are there even with Webshpere.. so u cannot say anything. just by being a big company doesnt mean they have confirm 100% to the spec.
These kind of problems are there even with Webshpere.. so u cannot say anything. just by being a big company doesnt mean they have confirm 100% to the spec.
yes, it can pick it up. but i am not sure whether the other JVM doesnt have this problemss....
but you can surely try pointing to a different JVM and check your code.
The problem with product support is that they always do a search on their internal bug-solution database and whatever first thing that they come up with they will tell u to do. They really dont actually go into the code or the problem to find a solution. its just like we doing a search on google and finding some ideas from the forums if somebody has posted a similar kind of problem before.
By Refactor i meant to split the JSP/Java Code. whichever piece of related code can work independently and if there is a logical if conditions for that piece of code then you can refactor that into seperate JSP or java method....
but you can surely try pointing to a different JVM and check your code.
The problem with product support is that they always do a search on their internal bug-solution database and whatever first thing that they come up with they will tell u to do. They really dont actually go into the code or the problem to find a solution. its just like we doing a search on google and finding some ideas from the forums if somebody has posted a similar kind of problem before.
By Refactor i meant to split the JSP/Java Code. whichever piece of related code can work independently and if there is a logical if conditions for that piece of code then you can refactor that into seperate JSP or java method....
ASKER
Kiran,
If I point to 1.4.2_06 ..
who is the vendor of my JVM?
$ java -version
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
$
does it say it here?
How can i find it?
If I point to 1.4.2_06 ..
who is the vendor of my JVM?
$ java -version
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
$
does it say it here?
How can i find it?
you can point to your JVM and use this in your code to get the property to print it.
System.out.println(System. getPropert y("java.ve ndor"));
i am not sure how to get it from the command line without checking the Registry in Windows. you can just write a main method and print this !!
System.out.println(System.
i am not sure how to get it from the command line without checking the Registry in Windows. you can just write a main method and print this !!
ASKER
well,
kiran,
this is a solaris box --
and mroeover -- they don't allow me to system.out.println..
if I do system.out.println -- they somehow just ignore it.. and it never gets displayed in logs or console..
kiran,
this is a solaris box --
and mroeover -- they don't allow me to system.out.println..
if I do system.out.println -- they somehow just ignore it.. and it never gets displayed in logs or console..
it will be printed in the logs.. or you can put this directly in the jsp using out.println then it will display on your jsp page itself.
if you r using some kind of logger like Log4J or JDK logging API then you need to see what king of debug leve has been set for the logger so that it will print that to the logs.
if you r using some kind of logger like Log4J or JDK logging API then you need to see what king of debug leve has been set for the logger so that it will print that to the logs.
ASKER
oh well,
ignore my last question..
i was able to LICENSE FILE on solaris box..
it is from SUN... so probably JVM is also from SUN RIGHT?
well, I pointed to 1.4.2_06 from SUN.. same problem appears
also long brach doesn't work for this JVM also..
would u know some link or document which says long branch doesn't work for JVM 1.4.2_06 from SUN?
just curious
ignore my last question..
i was able to LICENSE FILE on solaris box..
it is from SUN... so probably JVM is also from SUN RIGHT?
well, I pointed to 1.4.2_06 from SUN.. same problem appears
also long brach doesn't work for this JVM also..
would u know some link or document which says long branch doesn't work for JVM 1.4.2_06 from SUN?
just curious
at least i am not aware of any link which says that...
but the link which i posted above show for websphere a patch fixing for this bug
but the link which i posted above show for websphere a patch fixing for this bug
ASKER
Kiran,
I appreciate all the help u have provided in this long problem.
Thanks and You have a great day..
I think no other option is there for me then to split jsp page for now
I appreciate it
I appreciate all the help u have provided in this long problem.
Thanks and You have a great day..
I think no other option is there for me then to split jsp page for now
I appreciate it
you are Welcome.
hope somebody will benefit with this thread!!!!
since there is not much info on the google for this problem..
hope somebody will benefit with this thread!!!!
since there is not much info on the google for this problem..
Also you can check out this link for some very good design patterns while refactoring your Java code.
http://www.industriallogic.com/xp/refactoring/catalog.html
This has got lotz of information for refactoring and redesigning your applications/code
http://www.industriallogic.com/xp/refactoring/catalog.html
This has got lotz of information for refactoring and redesigning your applications/code
ASKER
Kiran,
I am facing a small issue with this refactoring..
I know the question is closed now..
can u still help on this?
or do i need to open a new question..
it is a smll isssue but since i don't know struts much.. so don't know how to quickly fix it..
would appreciate help pls..
I am facing a small issue with this refactoring..
I know the question is closed now..
can u still help on this?
or do i need to open a new question..
it is a smll isssue but since i don't know struts much.. so don't know how to quickly fix it..
would appreciate help pls..
ok....i had left by the time you posted this yesterday..
sure...i can help u on that..
but i think the page editors wont let you post more than 1 question per thread..
so yes, you need to open a new question..
sure...i can help u on that..
but i think the page editors wont let you post more than 1 question per thread..
so yes, you need to open a new question..
The problem is that there is a limit on the size of a compiled method in a
Java class file, and that limit is what we're running up against. Recall
that a JSP page is compiled into a servlet, and into essentially only one
method in that servlet. Hence, if your page contains many, many tags, that
method becomes too big, and up comes the exception that you're seeing.
http://www.mail-archive.com/struts-user@jakarta.apache.org/msg04902.html
https://www.experts-exchange.com/questions/21181460/STRUTS-Branch-is-too-large-Internal-restriction.html