ComplianceOnline

Q7 Good Manufacturing Practice Guidance for Active Pharmaceutical Ingredients (APIs)

  • By: Staff Editor
  • Date: April 17, 2017
  • Source: http://www.fda.gov
Access Regulatory Compliance Training sessions led by expert panelists below.

Compliance Webinars | Virtual Seminars for Professionals

Q7 Good Manufacturing Practice Guidance for Active Pharmaceutical Ingredients (APIs)

The quality and the stability of Active Pharmaceutical Ingredients (APIs) are vital for the overall quality, safety and efficacy of human drug products. Thus, APIs for pharmaceutical use and those used for manufacturing drugs for clinical trials are highly regulated. The US FDA has had an extensive set of GMP requirements for APIs for several decades now and still guidelines are continually being revised.

FDA has recently published the revised GMP guidance for APIs. The revised guidance replaces the Q7A Good Manufacturing Practice Guidance for Active Pharmaceutical Ingredients and changes the ICH codification from Q7A to Q7. This guidance document addresses GMPs for managing quality for APIs including principles of quality management, responsibilities of quality unit and production activities, internal audits, and product quality review.


Related Training:

Good Manufacturing Practices (GMPs) for Phase I Investigational Drugs


Applicability

This guidance document applies to the APIs used in human drug products. It covers APIs that are manufactured by chemical synthesis, extraction, cell culture and fermentation, recovery from natural sources, or any combination of these processes. However, the regulatory document does not cover the following APIs:

  • All vaccines
  • Whole cells
  • Whole blood and plasma
  • Blood and plasma derivatives
  • Gene therapy
  • Medical gases
  • Radiopharmaceuticals

Summary of Requirements

The GMP guidance document details the requirements for:

  • Quality Management
  • Personnel
  • Building and Facilities
  • Process Equipment
  • Documentation and Records
  • Materials Management
  • Production and in-process Controls
  • Packaging and Identification Labeling of APIs and Intermediates
  • Storage and Distribution
  • Laboratory Controls
  • Validation
  • Change Control
  • Complaints and Recalls
  • Contract manufacturers including Laboratories

The guidance further addresses the recommendations for agents, brokers, traders, distributors, repackers, and relabellers to ensure clarity in adhering to the FDA GMP requirements.

Click here to download the file
Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@45660469 with arguments of types [java.lang.String,] The problematic instruction: ---------- ==> ${screens.render("component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail")} [on line 9, column 17 in component://ecommerce/webapp/ecommerce/CONew2016/bestpractices/article_detail/contentDetailMain.ftl] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateModelException: Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@45660469 with arguments of types [java.lang.String,] at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:134) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at org.ofbiz.widget.screen.MacroScreenViewHandler.render(MacroScreenViewHandler.java:104) at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:865) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:582) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) at com.metricstream.SEOServlet.dispatchEcommerceRequest(SEOServlet.java:287) at com.metricstream.SEOServlet.findPattern(SEOServlet.java:236) at com.metricstream.SEOServlet.doGet(SEOServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:409) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) ... 76 more Caused by: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:348) at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:324) at org.ofbiz.widget.ModelWidgetAction$Script.runAction(ModelWidgetAction.java:416) at org.ofbiz.widget.ModelWidgetAction.runSubActions(ModelWidgetAction.java:116) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:184) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) ... 83 more
Best Sellers
Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@45660469 with arguments of types [java.lang.String,] The problematic instruction: ---------- ==> ${screens.render("component://ecommerce/widget/CONew2016/BaseScreens.xml#recently-viewed")} [on line 28, column 1 in component://ecommerce/webapp/ecommerce/CONew2016/bestpractices/article_detail/contentDetailMain.ftl] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateModelException: Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@45660469 with arguments of types [java.lang.String,] at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:134) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at org.ofbiz.widget.screen.MacroScreenViewHandler.render(MacroScreenViewHandler.java:104) at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:865) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:582) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) at com.metricstream.SEOServlet.dispatchEcommerceRequest(SEOServlet.java:287) at com.metricstream.SEOServlet.findPattern(SEOServlet.java:236) at com.metricstream.SEOServlet.doGet(SEOServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen [component://ecommerce/widget/CONew2016/BaseScreens.xml#recently-viewed]: org.ofbiz.entity.transaction.GenericTransactionException: The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) (The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object)) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:423) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) ... 76 more Caused by: org.ofbiz.entity.transaction.GenericTransactionException: The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) at org.ofbiz.entity.transaction.TransactionUtil.begin(TransactionUtil.java:159) at org.ofbiz.entity.transaction.TransactionUtil.begin(TransactionUtil.java:127) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:388) ... 83 more Caused by: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:348) at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:324) at org.ofbiz.widget.ModelWidgetAction$Script.runAction(ModelWidgetAction.java:416) at org.ofbiz.widget.ModelWidgetAction.runSubActions(ModelWidgetAction.java:116) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:184) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) ... 83 more
Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@45660469 with arguments of types [java.lang.String,] The problematic instruction: ---------- ==> ${screens.render("component://ecommerce/widget/CONew2016/BaseScreens.xml#main-footer")} [on line 11, column 1 in component://ecommerce/webapp/ecommerce/CONew2016/templates/articleDetail.ftl] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateModelException: Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@45660469 with arguments of types [java.lang.String,] at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:134) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at org.ofbiz.widget.screen.MacroScreenViewHandler.render(MacroScreenViewHandler.java:104) at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:865) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:582) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) at com.metricstream.SEOServlet.dispatchEcommerceRequest(SEOServlet.java:287) at com.metricstream.SEOServlet.findPattern(SEOServlet.java:236) at com.metricstream.SEOServlet.doGet(SEOServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen [component://ecommerce/widget/CONew2016/BaseScreens.xml#main-footer]: org.ofbiz.entity.transaction.GenericTransactionException: The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) (The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object)) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:423) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) ... 53 more Caused by: org.ofbiz.entity.transaction.GenericTransactionException: The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) at org.ofbiz.entity.transaction.TransactionUtil.begin(TransactionUtil.java:159) at org.ofbiz.entity.transaction.TransactionUtil.begin(TransactionUtil.java:127) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:388) ... 60 more Caused by: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:348) at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:324) at org.ofbiz.widget.ModelWidgetAction$Script.runAction(ModelWidgetAction.java:416) at org.ofbiz.widget.ModelWidgetAction.runSubActions(ModelWidgetAction.java:116) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:184) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) ... 60 more