Hi Fatema, I have fixed a weakness in the code in 2.12, you can get it from dhis2.org/downloads in 30 min.
But the underlying problem here is some integrity problem with the category combination of that section - most likely that it has no category option combinations. You can either use the attached SQL queries for investigating the issue, or you could delete the category combination, re-create it and assign it to those data elements again. Sorry for this - I think we need to develop a better way to automatically clean up these situations. Lars On Sat, Jul 20, 2013 at 5:09 AM, Uddin Fatema <[email protected]> wrote: > > Dear All, > > I am using Dhis2 version 2.11. After completing my dataset section when i > am clicking on Dataset Section Grey Filed management, It shows error. Here > i attached the log file. Please help me. > > * INFO 2013-07-20 08:51:43,613 'admin' update > org.hisp.dhis.dataset.DataSet, na > me: NASP Quarterly form-1 (High risk group), uid: W63Swuw7l3c > (AuditLogUtil.java > [http-apr-8085-exec-1]) > * ERROR 2013-07-20 08:52:15,959 Error while executing action > (ExceptionIntercept > or.java [http-apr-8085-exec-8]) > java.lang.ArithmeticException: / by zero > at > org.hisp.dhis.dataset.action.section.GreySectionAction.execute(GreySe > ctionAction.java:200) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultA > ctionInvocation.java:453) > at > com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(Defa > ultActionInvocation.java:292) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:255) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.interc > ept(XWorkPortalUserInterceptor.java:87) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.inte > rcept(XWorkPortalModuleInterceptor.java:90) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.interc > ept(XWorkPortalMenuInterceptor.java:96) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.inte > rcept(XWorkPortalParamsInterceptor.java:118) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterce > ptor.java:81) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.UserSettingInterceptor.intercept(UserSettin > gInterceptor.java:80) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.security.intercept.LoginInterceptor.intercept(LoginInte > rceptor.java:84) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(X > WorkSecurityInterceptor.java:112) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSe > ttingInterceptor.java:103) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.j > ava:135) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept > (ParametersInterceptor.java:211) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept > (MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.inter > cept(StaticParametersInterceptor.java:190) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInt > erceptor.java:109) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.j > ava:54) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.jav > a:510) > at > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatc > her.java:432) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:330) > at > org.springframework.security.web.access.intercept.FilterSecurityInter > ceptor.invoke(FilterSecurityInterceptor.java:118) > at > org.springframework.security.web.access.intercept.FilterSecurityInter > ceptor.doFilter(FilterSecurityInterceptor.java:84) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.access.ExceptionTranslationFilter.do > Filter(ExceptionTranslationFilter.java:113) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.session.SessionManagementFilter.doFi > lter(SessionManagementFilter.java:103) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.AnonymousAuthenticati > onFilter.doFilter(AnonymousAuthenticationFilter.java:113) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwar > eRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter > .doFilter(RequestCacheAwareFilter.java:45) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.www.BasicAuthenticati > onFilter.doFilter(BasicAuthenticationFilter.java:150) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.AbstractAuthenticatio > nProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(Cus > tomAuthenticationFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.logout.LogoutFilter.d > oFilter(LogoutFilter.java:105) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(Automati > cAccessFilter.java:112) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.context.SecurityContextPersistenceFi > lter.doFilter(SecurityContextPersistenceFilter.java:87) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fi > lterChainProxy.java:192) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChai > nProxy.java:160) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(D > elegatingFilterProxy.java:346) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegat > ingFilterProxy.java:259) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.do > FilterInternal(OpenSessionInViewFilter.java:152) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR > equestFilter.java:107) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterIntern > al(CharacterEncodingFilter.java:88) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR > equestFilter.java:107) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:225) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:169) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica > torBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:168) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:98) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: > 927) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav > a:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp > 11Processor.java:999) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process( > AbstractProtocol.java:565) > at > org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoin > t.java:1812) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > at java.lang.Thread.run(Unknown Source) > > * INFO 2013-07-20 08:51:43,613 'admin' update > org.hisp.dhis.dataset.DataSet, na > me: NASP Quarterly form-1 (High risk group), uid: W63Swuw7l3c > (AuditLogUtil.java > [http-apr-8085-exec-1]) > * ERROR 2013-07-20 08:52:15,959 Error while executing action > (ExceptionIntercept > or.java [http-apr-8085-exec-8]) > java.lang.ArithmeticException: / by zero > at > org.hisp.dhis.dataset.action.section.GreySectionAction.execute(GreySe > ctionAction.java:200) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultA > ctionInvocation.java:453) > at > com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(Defa > ultActionInvocation.java:292) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:255) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.interc > ept(XWorkPortalUserInterceptor.java:87) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.inte > rcept(XWorkPortalModuleInterceptor.java:90) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.interc > ept(XWorkPortalMenuInterceptor.java:96) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.inte > rcept(XWorkPortalParamsInterceptor.java:118) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterce > ptor.java:81) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.UserSettingInterceptor.intercept(UserSettin > gInterceptor.java:80) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.security.intercept.LoginInterceptor.intercept(LoginInte > rceptor.java:84) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(X > WorkSecurityInterceptor.java:112) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSe > ttingInterceptor.java:103) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.j > ava:135) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept > (ParametersInterceptor.java:211) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept > (MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.inter > cept(StaticParametersInterceptor.java:190) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInt > erceptor.java:109) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.j > ava:54) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.jav > a:510) > at > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatc > her.java:432) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:330) > at > org.springframework.security.web.access.intercept.FilterSecurityInter > ceptor.invoke(FilterSecurityInterceptor.java:118) > at > org.springframework.security.web.access.intercept.FilterSecurityInter > ceptor.doFilter(FilterSecurityInterceptor.java:84) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.access.ExceptionTranslationFilter.do > Filter(ExceptionTranslationFilter.java:113) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.session.SessionManagementFilter.doFi > lter(SessionManagementFilter.java:103) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.AnonymousAuthenticati > onFilter.doFilter(AnonymousAuthenticationFilter.java:113) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwar > eRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter > .doFilter(RequestCacheAwareFilter.java:45) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.www.BasicAuthenticati > onFilter.doFilter(BasicAuthenticationFilter.java:150) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.AbstractAuthenticatio > nProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(Cus > tomAuthenticationFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.logout.LogoutFilter.d > oFilter(LogoutFilter.java:105) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(Automati > cAccessFilter.java:112) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.context.SecurityContextPersistenceFi > lter.doFilter(SecurityContextPersistenceFilter.java:87) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain. > doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fi > lterChainProxy.java:192) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChai > nProxy.java:160) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(D > elegatingFilterProxy.java:346) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegat > ingFilterProxy.java:259) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.do > FilterInternal(OpenSessionInViewFilter.java:152) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR > equestFilter.java:107) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterIntern > al(CharacterEncodingFilter.java:88) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR > equestFilter.java:107) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:225) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:169) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica > torBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:168) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:98) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: > 927) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav > a:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp > 11Processor.java:999) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process( > AbstractProtocol.java:565) > at > org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoin > t.java:1812) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > at java.lang.Thread.run(Unknown Source) > > -- > > *Fatema Uddin** > *---------------------------------------- > *Technical Advisor HIS* > Priority Area Health > Deutsche Gesellschaft für Internationale Zusammenarbeit (GIZ) GmbH > House10/A, Road 90, Gulshan 2, Dhaka 1212, Bangladesh > *Office location:* > Room # 304, Shshid Dr.Milan Bhavan, > Management Information System, > Directorate General of Health Services of MoHFW, > Mohakhali, Dhaka-1212, Bangladesh > > Phone: +880 2 881 64 59 > Fax: +880 2 881 38 75 > ** > > _______________________________________________ > Mailing list: https://launchpad.net/~dhis2-users > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dhis2-users > More help : https://help.launchpad.net/ListHelp > >
integrity.sql
Description: Binary data
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-users Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-users More help : https://help.launchpad.net/ListHelp

