merge osgi branch

This commit is contained in:
Heng Sin Low 2010-07-05 17:00:27 +08:00
commit 5b7f513937
497 changed files with 17399 additions and 411 deletions

View File

@ -10,6 +10,6 @@
<classpathentry kind="lib" path="/tools/lib/ojdbc6.jar"/>
<classpathentry kind="lib" path="/tools/lib/barbecue-1.5-beta1.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/serverApps"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="build"/>
</classpath>

View File

@ -23,7 +23,12 @@
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
@ -33,5 +38,6 @@
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: JasperReports
Bundle-SymbolicName: JasperReports
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: JasperReports.jar,
lib/postgresql.jar,
lib/ocrs12.jar,
lib/ojdbc14.jar,
lib/barbecue-1.5-beta1.jar
Export-Package: org.compiere.interfaces,
org.compiere.report,
org.compiere.utils
Require-Bundle: org.adempiere.base;bundle-version="0.0.0",
org.adempiere.JasperReportsTools;bundle-version="1.0.0",
org.adempiere.client;bundle-version="0.0.0"

View File

@ -0,0 +1,7 @@
source.JasperReports.jar = src/, build/
bin.includes = META-INF/,\
lib/postgresql.jar,\
lib/ocrs12.jar,\
lib/ojdbc14.jar,\
lib/barbecue-1.5-beta1.jar,\
JasperReports.jar

View File

@ -69,6 +69,7 @@ import org.compiere.db.CConnection;
import org.compiere.interfaces.MD5;
import org.compiere.model.MAttachment;
import org.compiere.model.MAttachmentEntry;
import org.compiere.model.MBPartner;
import org.compiere.model.MProcess;
import org.compiere.model.PrintInfo;
import org.compiere.model.X_AD_PInstance_Para;

View File

@ -28,5 +28,6 @@
</classpathentry>
<classpathentry combineaccessrules="false" kind="src" path="/tools"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -16,7 +16,12 @@
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
@ -26,5 +31,6 @@
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,199 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: JasperReportsTools
Bundle-SymbolicName: org.adempiere.JasperReportsTools
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: lib/commons-beanutils-1.7.jar,
lib/commons-digester-1.7.jar,
lib/iReport.jar,
lib/jasperreports-3.5.3.jar,
lib/jfreechart-1.0.3.jar
Export-Package: .,
be.savat.components,
it.businesslogic.ireport,
it.businesslogic.ireport.barcode,
it.businesslogic.ireport.chart,
it.businesslogic.ireport.chart.gui,
it.businesslogic.ireport.compiler,
it.businesslogic.ireport.compiler.xml,
it.businesslogic.ireport.connection,
it.businesslogic.ireport.connection.gui,
it.businesslogic.ireport.crosstab,
it.businesslogic.ireport.crosstab.gui,
it.businesslogic.ireport.data,
it.businesslogic.ireport.data.ejbql,
it.businesslogic.ireport.data.hibernate,
it.businesslogic.ireport.data.olap,
it.businesslogic.ireport.data.xml,
it.businesslogic.ireport.dtds,
it.businesslogic.ireport.examples,
it.businesslogic.ireport.examples.beans,
it.businesslogic.ireport.examples.chart,
it.businesslogic.ireport.examples.queryexecuter,
it.businesslogic.ireport.export,
it.businesslogic.ireport.gui,
it.businesslogic.ireport.gui.actions,
it.businesslogic.ireport.gui.box,
it.businesslogic.ireport.gui.command,
it.businesslogic.ireport.gui.dnd,
it.businesslogic.ireport.gui.docking,
it.businesslogic.ireport.gui.documentstructure,
it.businesslogic.ireport.gui.event,
it.businesslogic.ireport.gui.expbuilder,
it.businesslogic.ireport.gui.export,
it.businesslogic.ireport.gui.fonts,
it.businesslogic.ireport.gui.library,
it.businesslogic.ireport.gui.library.objects,
it.businesslogic.ireport.gui.listview,
it.businesslogic.ireport.gui.locale,
it.businesslogic.ireport.gui.logpane,
it.businesslogic.ireport.gui.prompt,
it.businesslogic.ireport.gui.queryexecuters,
it.businesslogic.ireport.gui.sheet,
it.businesslogic.ireport.gui.style,
it.businesslogic.ireport.gui.subdataset,
it.businesslogic.ireport.gui.syntax,
it.businesslogic.ireport.gui.table,
it.businesslogic.ireport.gui.wizard,
it.businesslogic.ireport.icons,
it.businesslogic.ireport.icons.charts,
it.businesslogic.ireport.icons.crosstab,
it.businesslogic.ireport.icons.datasource,
it.businesslogic.ireport.icons.docking,
it.businesslogic.ireport.icons.layout,
it.businesslogic.ireport.icons.library,
it.businesslogic.ireport.icons.log,
it.businesslogic.ireport.icons.menu,
it.businesslogic.ireport.icons.newtoolbar,
it.businesslogic.ireport.icons.olap,
it.businesslogic.ireport.icons.palette,
it.businesslogic.ireport.icons.problems,
it.businesslogic.ireport.icons.sheet,
it.businesslogic.ireport.icons.styles,
it.businesslogic.ireport.icons.toolbars,
it.businesslogic.ireport.icons.toolbars.format,
it.businesslogic.ireport.icons.toolbars.text,
it.businesslogic.ireport.icons.tree,
it.businesslogic.ireport.icons.tree.editor,
it.businesslogic.ireport.icons.tree.elements,
it.businesslogic.ireport.icons.tree.javabean,
it.businesslogic.ireport.icons.xml,
it.businesslogic.ireport.locale,
it.businesslogic.ireport.plugin,
it.businesslogic.ireport.plugin.checkupdate,
it.businesslogic.ireport.plugin.examples,
it.businesslogic.ireport.plugin.jforg,
it.businesslogic.ireport.plugin.jrx,
it.businesslogic.ireport.plugin.locale,
it.businesslogic.ireport.plugin.massivecompiler,
it.businesslogic.ireport.plugin.oracle,
it.businesslogic.ireport.plugin.textwizard,
it.businesslogic.ireport.refactoring,
it.businesslogic.ireport.res,
it.businesslogic.ireport.rmi,
it.businesslogic.ireport.undo,
it.businesslogic.ireport.util,
net.sf.jasperreports.ant,
net.sf.jasperreports.charts,
net.sf.jasperreports.charts.base,
net.sf.jasperreports.charts.design,
net.sf.jasperreports.charts.fill,
net.sf.jasperreports.charts.util,
net.sf.jasperreports.charts.xml,
net.sf.jasperreports.compilers,
net.sf.jasperreports.components,
net.sf.jasperreports.components.barbecue,
net.sf.jasperreports.components.barcode4j,
net.sf.jasperreports.components.list,
net.sf.jasperreports.crosstabs,
net.sf.jasperreports.crosstabs.base,
net.sf.jasperreports.crosstabs.design,
net.sf.jasperreports.crosstabs.fill,
net.sf.jasperreports.crosstabs.fill.calculation,
net.sf.jasperreports.crosstabs.xml,
net.sf.jasperreports.engine,
net.sf.jasperreports.engine.base,
net.sf.jasperreports.engine.component,
net.sf.jasperreports.engine.convert,
net.sf.jasperreports.engine.data,
net.sf.jasperreports.engine.design,
net.sf.jasperreports.engine.design.events,
net.sf.jasperreports.engine.dtds,
net.sf.jasperreports.engine.export,
net.sf.jasperreports.engine.export.data,
net.sf.jasperreports.engine.export.draw,
net.sf.jasperreports.engine.export.legacy,
net.sf.jasperreports.engine.export.oasis,
net.sf.jasperreports.engine.export.ooxml,
net.sf.jasperreports.engine.export.xmlss,
net.sf.jasperreports.engine.export.zip,
net.sf.jasperreports.engine.fill,
net.sf.jasperreports.engine.fonts,
net.sf.jasperreports.engine.images,
net.sf.jasperreports.engine.print,
net.sf.jasperreports.engine.query,
net.sf.jasperreports.engine.scriptlets,
net.sf.jasperreports.engine.util,
net.sf.jasperreports.engine.util.xml,
net.sf.jasperreports.engine.xml,
net.sf.jasperreports.extensions,
net.sf.jasperreports.governors,
net.sf.jasperreports.j2ee.servlets,
net.sf.jasperreports.olap,
net.sf.jasperreports.olap.mapping,
net.sf.jasperreports.olap.mondrian,
net.sf.jasperreports.olap.result,
net.sf.jasperreports.olap.xmla,
net.sf.jasperreports.renderers,
net.sf.jasperreports.swing,
net.sf.jasperreports.view,
net.sf.jasperreports.view.images,
net.sf.jasperreports.view.save,
org.apache.commons.beanutils,
org.apache.commons.beanutils.converters,
org.apache.commons.beanutils.locale,
org.apache.commons.beanutils.locale.converters,
org.apache.commons.collections,
org.apache.commons.digester,
org.apache.commons.digester.parser,
org.apache.commons.digester.plugins,
org.apache.commons.digester.plugins.strategies,
org.apache.commons.digester.substitution,
org.apache.commons.digester.xmlrules,
org.jfree.chart,
org.jfree.chart.annotations,
org.jfree.chart.axis,
org.jfree.chart.block,
org.jfree.chart.demo,
org.jfree.chart.editor,
org.jfree.chart.encoders,
org.jfree.chart.entity,
org.jfree.chart.event,
org.jfree.chart.imagemap,
org.jfree.chart.labels,
org.jfree.chart.needle,
org.jfree.chart.plot,
org.jfree.chart.renderer,
org.jfree.chart.renderer.category,
org.jfree.chart.renderer.xy,
org.jfree.chart.resources,
org.jfree.chart.servlet,
org.jfree.chart.title,
org.jfree.chart.urls,
org.jfree.chart.util,
org.jfree.data,
org.jfree.data.category,
org.jfree.data.contour,
org.jfree.data.function,
org.jfree.data.gantt,
org.jfree.data.general,
org.jfree.data.io,
org.jfree.data.jdbc,
org.jfree.data.resources,
org.jfree.data.statistics,
org.jfree.data.time,
org.jfree.data.xml,
org.jfree.data.xy,
org.syntax.jedit,
org.syntax.jedit.tokenmarker,
org.w3c.tools.codec

View File

@ -0,0 +1,6 @@
bin.includes = META-INF/,\
lib/commons-beanutils-1.7.jar,\
lib/commons-digester-1.7.jar,\
lib/iReport.jar,\
lib/jasperreports-3.5.3.jar,\
lib/jfreechart-1.0.3.jar

View File

@ -23,7 +23,6 @@
<attribute name="org.eclipse.jst.component.dependency" value="../"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
<classpathentry kind="lib" path="/tools/lib/junit.jar">
<attributes>
<attribute name="org.eclipse.jst.component.dependency" value="../"/>
@ -101,5 +100,6 @@
</classpathentry>
<classpathentry kind="src" path="/JasperReportsTools"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="build"/>
</classpath>

View File

@ -25,7 +25,12 @@
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
@ -34,6 +39,7 @@
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>

66
base/META-INF/MANIFEST.MF Normal file
View File

@ -0,0 +1,66 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.adempiere.base
Bundle-SymbolicName: org.adempiere.base;singleton:=true
Bundle-Version: 0.0.0.2
Bundle-ClassPath: base.jar,
lib/commons-net-1.4.0.jar,
lib/ant.jar,
lib/jpedal.jar,
lib/jnlp.jar,
lib/junit.jar,
client/jbossall-client.jar,
lib/postgresql.jar,
lib/ocrs12.jar,
lib/ojdbc14.jar,
lib/c3p0-0.9.1.2.jar,
lib/script-api.jar,
lib/barbecue-1.5-beta1.jar,
lib/poi-3.0.1-FINAL-20070705.jar,
lib/jcommon-1.0.14.jar,
lib/jfreechart-1.0.11.jar,
lib/swingx-0.9.0.jar,
lib/looks-2.0.4.jar,
lib/commons-collections-3.1.jar,
lib/activemq-core-5.0.0.jar
Export-Package: org.adempiere.apps.graph,
org.adempiere.as,
org.adempiere.base,
org.adempiere.exceptions,
org.adempiere.impexp,
org.adempiere.model,
org.adempiere.pdf,
org.adempiere.pdf.viewer,
org.adempiere.pipo,
org.adempiere.pipo.exception,
org.adempiere.pipo.handler,
org.adempiere.plaf,
org.adempiere.print.export,
org.adempiere.process,
org.adempiere.process.rpl,
org.adempiere.process.rpl.exp,
org.adempiere.process.rpl.imp,
org.adempiere.util,
org.compiere,
org.compiere.FA,
org.compiere.acct,
org.compiere.cm,
org.compiere.db,
org.compiere.dbPort,
org.compiere.impexp,
org.compiere.interfaces,
org.compiere.model,
org.compiere.plaf,
org.compiere.print,
org.compiere.print.layout,
org.compiere.process,
org.compiere.report,
org.compiere.report.core,
org.compiere.sla,
org.compiere.swing,
org.compiere.tools,
org.compiere.util,
org.compiere.wf
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
org.adempiere.tools;bundle-version="0.0.0",
org.adempiere.jboss;bundle-version="0.0.0"

54
base/build.properties Normal file
View File

@ -0,0 +1,54 @@
source.base.jar = src/,build/
bin.includes = META-INF/,\
base.jar,\
plugin.xml
jars.extra.classpath = platform:/plugin/org.adempiere.tools/lib/activation.jar,\
platform:/plugin/org.adempiere.tools/lib/activemq-core-5.0.0.jar,\
platform:/plugin/org.adempiere.tools/lib/ant-commons-net.jar,\
platform:/plugin/org.adempiere.tools/lib/ant-contrib-1.0b1.jar,\
platform:/plugin/org.adempiere.tools/lib/ant-launcher.jar,\
platform:/plugin/org.adempiere.tools/lib/ant.jar,\
platform:/plugin/org.adempiere.tools/lib/barbecue-1.5-beta1.jar,\
platform:/plugin/org.adempiere.tools/lib/bsh-2.0b5.jar,\
platform:/plugin/org.adempiere.tools/lib/bsh-engine.jar,\
platform:/plugin/org.adempiere.tools/lib/c3p0-0.9.1.2.jar,\
platform:/plugin/org.adempiere.tools/lib/c3p0-oracle-thin-extras-0.9.1.2.jar,\
platform:/plugin/org.adempiere.tools/lib/cglib.jar,\
platform:/plugin/org.adempiere.tools/lib/commons-codec.jar,\
platform:/plugin/org.adempiere.tools/lib/commons-collections-3.1.jar,\
platform:/plugin/org.adempiere.tools/lib/commons-logging.jar,\
platform:/plugin/org.adempiere.tools/lib/commons-net-1.4.0.jar,\
platform:/plugin/org.adempiere.tools/lib/groovy-all-1.5.1.jar,\
platform:/plugin/org.adempiere.tools/lib/groovy-engine.jar,\
platform:/plugin/org.adempiere.tools/lib/iText-2.1.7.jar,\
platform:/plugin/org.adempiere.tools/lib/javaee.jar,\
platform:/plugin/org.adempiere.tools/lib/jcommon-1.0.14.jar,\
platform:/plugin/org.adempiere.tools/lib/jfreechart-1.0.11.jar,\
platform:/plugin/org.adempiere.tools/lib/jgraph.jar,\
platform:/plugin/org.adempiere.tools/lib/jnlp.jar,\
platform:/plugin/org.adempiere.tools/lib/jpayment.jar,\
platform:/plugin/org.adempiere.tools/lib/jpedal.jar,\
platform:/plugin/org.adempiere.tools/lib/jsp-api.jar,\
platform:/plugin/org.adempiere.tools/lib/jstl.jar,\
platform:/plugin/org.adempiere.tools/lib/junit.jar,\
platform:/plugin/org.adempiere.tools/lib/jython-engine.jar,\
platform:/plugin/org.adempiere.tools/lib/jython.jar,\
platform:/plugin/org.adempiere.tools/lib/log4j.jar,\
platform:/plugin/org.adempiere.tools/lib/logkit.jar,\
platform:/plugin/org.adempiere.tools/lib/looks-2.0.4.jar,\
platform:/plugin/org.adempiere.tools/lib/mail.jar,\
platform:/plugin/org.adempiere.tools/lib/miglayout-3.7.1-swing.jar,\
platform:/plugin/org.adempiere.tools/lib/ocrs12.jar,\
platform:/plugin/org.adempiere.tools/lib/ojdbc14.jar,\
platform:/plugin/org.adempiere.tools/lib/poi-3.0.1-FINAL-20070705.jar,\
platform:/plugin/org.adempiere.tools/lib/postgresql.jar,\
platform:/plugin/org.adempiere.tools/lib/script-api.jar,\
platform:/plugin/org.adempiere.tools/lib/servlet-api.jar,\
platform:/plugin/org.adempiere.tools/lib/standard.jar,\
platform:/plugin/org.adempiere.tools/lib/swingx-0.9.0.jar,\
platform:/plugin/org.adempiere.tools/lib/Verisign.jar,\
platform:/plugin/org.adempiere.tools/lib/wizard.jar,\
platform:/plugin/org.adempiere.tools/lib/xercesImpl.jar,\
platform:/plugin/org.adempiere.tools/lib/xjavadoc-1.1.jar,\
platform:/plugin/org.adempiere.tools/lib/xml-apis.jar

View File

@ -18,6 +18,7 @@
<property name="dist.dir" value="."/>
<property name="jar.path" value="../lib"/>
<property name="jar.name" value="Base"/>
<import file="../utils_dev/properties.xml"/>
<!-- set path to include the necessary jar files for javac -->
<path id="project.class.path">
@ -106,6 +107,29 @@
<jar jarfile="${dist.dir}/${jar.name}.jar" basedir="${build.dir}"/>
</target>
<target name="plugin">
<buildPlugin workspaceDirectory=".."
projectName="base"
targetPlatformId="target.platform"
destination="../lib"
buildSourceJar="false"
clean="no"/>
</target>
<target name="plugin-dist">
<buildPlugin workspaceDirectory=".."
projectName="base"
targetPlatformId="target.platform"
destination="${env.ADEMPIERE_ROOT}/Adempiere/osgi"
buildSourceJar="false"
clean="no"/>
</target>
<target name="dist-standalone" depends="plugin">
<copy file="${dist.dir}/${bundle.name}_${bundle.version}.jar"
todir="${equinox.target}/dist/standalone/plugins"/>
</target>
<path id="class.path.test">
<pathelement path="${build.dir}"/>
<pathelement path="${classpath}"/>

10
base/plugin.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension-point id="org.adempiere.base.IResourceFinder" name="ResourceFinder" schema="schema/ResourceFinder.exsd"/>
<extension-point id="org.adempiere.base.IColumnCallout" name="Callout" schema="schema/org.adempiere.base.Callout.exsd"/>
<extension-point id="org.adempiere.base.IDictionaryService" name="DictionaryService" schema="schema/org.adempiere.base.IDictionaryService.exsd"/>
<extension-point id="org.compiere.apps.form.FormPanel" name="FormPanel" schema="schema/org.compiere.apps.form.FormPanel.exsd"/>
<extension-point id="org.adempiere.as.IApplicationServer" name="ApplicationServer" schema="schema/org.adempiere.as.IApplicationServer.exsd"/>
</plugin>

View File

@ -0,0 +1,102 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.adempiere.base" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.adempiere.base" id="ResourceFinder" name="ResourceFinder"/>
</appinfo>
<documentation>
[Enter description of this extension point.]
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="client"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="client">
<complexType>
<attribute name="class" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.compiere.util.IResourceFinder"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

View File

@ -0,0 +1,102 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.adempiere.base" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.adempiere.base" id="org.adempiere.as.IApplicationServer" name="ApplicationServer"/>
</appinfo>
<documentation>
[Enter description of this extension point.]
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="client"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="client">
<complexType>
<attribute name="class" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.adempiere.as.IApplicationServer"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

View File

@ -0,0 +1,119 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.adempiere.base" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.adempiere.base" id="org.adempiere.base.Callout" name="Callout"/>
</appinfo>
<documentation>
This is the ADempiere Call extension point.
Callouts provided by plugins are not entered into the application dictionary.
Instead, you specify Table and Column in the extension declaration.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="client" minOccurs="1" maxOccurs="unbounded"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="client">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.adempiere.base.IColumnCallout"/>
</appinfo>
</annotation>
</attribute>
<attribute name="tableName" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="columnName" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

View File

@ -0,0 +1,102 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.adempiere.base" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.adempiere.base" id="org.adempiere.base.IDictionaryService" name="DictionaryService"/>
</appinfo>
<documentation>
[Enter description of this extension point.]
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="client"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="client">
<complexType>
<attribute name="class" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.adempiere.base.IDictionaryService"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

View File

@ -0,0 +1,102 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.adempiere.base" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.adempiere.base" id="org.compiere.apps.form.FormPanel" name="FormPanel"/>
</appinfo>
<documentation>
[Enter description of this extension point.]
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="client"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="client">
<complexType>
<attribute name="class" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.compiere.apps.form.FormPanel"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

View File

@ -14,6 +14,8 @@ package org.adempiere.as;
import java.util.Hashtable;
import org.adempiere.base.Service;
/**
*
* @author Low Heng Sin
@ -28,24 +30,10 @@ public class ASFactory {
JBOSS, GLASS_FISH
};
private final static String[] AS_Classes = new String[] {
"org.adempiere.as.jboss.JBoss",
"org.adempiere.as.glassfish.GlassFish"
};
private static IApplicationServer applicationServer;
static {
//detect the installed application server
for(String s : AS_Classes) {
try {
Class<?> c = Class.forName(s);
IApplicationServer server = (IApplicationServer) c.newInstance();
applicationServer = server;
break;
} catch (Throwable t) {
}
}
applicationServer = Service.locate(IApplicationServer.class);
if (applicationServer == null) {
applicationServer = new IApplicationServer() {

View File

@ -14,12 +14,14 @@ package org.adempiere.as;
import java.util.Hashtable;
import org.adempiere.base.IService;
/**
*
* @author Low Heng Sin
*
*/
public interface IApplicationServer {
public interface IApplicationServer extends IService {
/**
* @param AppsHost
* @param AppsPort

View File

@ -0,0 +1,44 @@
package org.adempiere.base;
import java.net.URL;
import java.util.List;
/**
* This is a facade class for the Service Locator.
* It provides simple access to all core services.
*
* @author viola
*/
public class Core {
public static final String OSGI_PREFIX = "osgi://";
public static IResourceFinder getResourceFinder() {
return new IResourceFinder() {
public URL getResource(String name) {
List<IResourceFinder> f = Service.list(IResourceFinder.class);
for (IResourceFinder finder : f) {
URL url = finder.getResource(name);
if (url!=null)
return url;
}
return null;
}
};
}
public static List<IColumnCallout> findCallout(String tableName, String columnName) {
ServiceQuery query = new ServiceQuery();
query.put("tableName", tableName);
query.put("columnName", columnName);
return Service.list(IColumnCallout.class, query);
}
public static boolean isExtension(String className) {
return className.startsWith(OSGI_PREFIX);
}
}

View File

@ -0,0 +1,48 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
package org.adempiere.base;
import java.util.Properties;
import org.compiere.model.GridField;
import org.compiere.model.GridTab;
/**
* Column Callout Interface
*/
public interface IColumnCallout extends IService
{
/**
* Start Callout.
* <p>
* Callout's are used for cross field validation and setting values in other fields
* when returning a non empty (error message) string, an exception is raised
* <p>
* When invoked, the Tab model has the new value!
*
* @param ctx Context
* @param WindowNo current Window No
* @param mTab Model Tab
* @param mField Model Field
* @param value The new value
* @param oldValue The old value
* @return Error message or ""
*/
public String start (Properties ctx, int WindowNo,
GridTab mTab, GridField mField, Object value, Object oldValue);
}

View File

@ -0,0 +1,29 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* Copyright (C) 2009 ObjectCode GmbH *
* Contributor(s): Joerg Viola www.objectcode.de *
*****************************************************************************/
package org.adempiere.base;
import java.io.InputStream;
/**
* A dictionary service provides for easy handling of dynamic Adempiere
* dictionary.
*
* @author Joerg Viola
*
*/
public interface IDictionaryService extends IService {
void merge(InputStream model) throws Exception;
}

View File

@ -0,0 +1,25 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
package org.adempiere.base;
import java.net.URL;
public interface IResourceFinder extends IService {
URL getResource(String name);
}

View File

@ -0,0 +1,5 @@
package org.adempiere.base;
public interface IService {
}

View File

@ -0,0 +1,39 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
package org.adempiere.base;
import java.util.List;
import org.compiere.model.Callout;
/**
* A service locator looks up services.
* This is the central authority for adempiere service definition,
* because each service defined has to be looked up via this interface.
*
* A service in adempiere is an interface extended from the tagging interface IService.
*
* @author viola
*
*/
public interface IServiceLocator {
<T extends IService> T locate(Class<T> type);
<T extends IService> T locate(Class<T> type, ServiceQuery query);
<T extends IService> List<T> list(Class<T> type);
<T extends IService> List<T> list(Class<T> type, ServiceQuery query);
}

View File

@ -0,0 +1,75 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
package org.adempiere.base;
import java.util.List;
/**
* This is a very simple factory for service locators
*
* @author viola
*
*/
public class Service {
private static final String LOCATOR_CLASS = "ServiceLocator";
private static final String DEFAULT_LOCATOR_CLASS = "org.adempiere.base.equinox.EquinoxServiceLocator";
private static IServiceLocator theLocator;
public static IServiceLocator locator() {
if (theLocator == null) {
synchronized (Service.class) {
if (theLocator == null) {
theLocator = createServiceLocator();
}
}
}
return theLocator;
}
private static IServiceLocator createServiceLocator() {
String className = System.getProperty(LOCATOR_CLASS);
if (className==null)
className = DEFAULT_LOCATOR_CLASS;
try {
Class<?> clazz = Class.forName(className);
IServiceLocator locator = (IServiceLocator) clazz.newInstance();
System.out.println("Started service locator: " + locator);
return locator;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static <T extends IService> T locate(Class<T> type) {
return locator().locate(type);
}
public static <T extends IService> T locate(Class<T> type, ServiceQuery query) {
return locator().locate(type, query);
}
public static <T extends IService> List<T> list(Class<T> type) {
return locator().list(type);
}
public static <T extends IService> List<T> list(Class<T> type, ServiceQuery query) {
return locator().list(type, query);
}
}

View File

@ -0,0 +1,9 @@
package org.adempiere.base;
import java.util.HashMap;
public class ServiceQuery extends HashMap<String, String> {
private static final long serialVersionUID = -3624488575106821781L;
}

View File

@ -0,0 +1,56 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
package org.adempiere.base.equinox;
import java.util.List;
import org.adempiere.base.IService;
import org.adempiere.base.IServiceLocator;
import org.adempiere.base.ServiceQuery;
/**
* This is the Equinox implementation of the ADempiere Service Locator.
* It delegates work to the ExtensionList that lookups up services as extensions.
* The ids of extension points have to correspond to the interface names of the services.
*
* @author viola
*
*/
public class EquinoxServiceLocator implements IServiceLocator {
public <T extends IService> List<T> list(Class<T> type) {
ExtensionList<T> list = new ExtensionList<T>(type, type.getName());
return list.asList();
}
public <T extends IService> List<T> list(Class<T> type, ServiceQuery query) {
ExtensionList<T> list = new ExtensionList<T>(type, type.getName(), query);
return list.asList();
}
public <T extends IService> T locate(Class<T> type) {
ExtensionList<T> list = new ExtensionList<T>(type, type.getName());
return list.first();
}
public <T extends IService> T locate(Class<T> type, ServiceQuery query) {
ExtensionList<T> list = new ExtensionList<T>(type, type.getName(), query);
return list.first();
}
}

View File

@ -0,0 +1,128 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
package org.adempiere.base.equinox;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import org.adempiere.base.ServiceQuery;
import org.compiere.model.Callout;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
/**
* This List looks up services as extensions in equinox.
* The extension point must be the class name of the service interface.
* The query attributes are checked against the attributes
* of the extension configuration element.
*
* In order to minimize equinox lookups, a filtering iterator is used.
* @author viola
*
* @param <T> The service this list holds implementations of.
*/
public class ExtensionList<T> implements Iterable<T>{
public class ExtensionIterator<T> implements Iterator<T> {
private int index = 0;
public boolean hasNext() {
iterateUntilAccepted();
return index<elements.length;
}
private void iterateUntilAccepted() {
while (index<elements.length) {
if (accept(elements[index]))
break;
index++;
}
}
private boolean accept(IConfigurationElement element) {
for (String name : filters.keySet()) {
String expected = filters.get(name);
String actual = element.getAttribute(name);
if (!expected.equals(actual))
return false;
}
return true;
}
@SuppressWarnings("unchecked")
public T next() {
iterateUntilAccepted();
IConfigurationElement e = elements[index++];
try {
return (T) e.createExecutableExtension("class");
} catch (CoreException ex) {
throw new IllegalStateException(ex);
}
}
public void remove() {
throw new UnsupportedOperationException();
}
}
private IConfigurationElement[] elements;
private HashMap<String, String> filters = new HashMap<String, String>();
public ExtensionList(Class<T> clazz, String id) {
try {
elements = Platform.getExtensionRegistry().getConfigurationElementsFor(id);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
public ExtensionList(Class<T> type, String name, ServiceQuery query) {
this(type, name);
for (String key : query.keySet()) {
addFilter(key, query.get(key));
}
}
public Iterator<T> iterator() {
return new ExtensionIterator<T>();
}
public void addFilter(String name, String value) {
filters.put(name, value);
}
public T first() {
Iterator<T> i = iterator();
if (!i.hasNext())
return null;
return i.next();
}
public List<T> asList() {
List<T> result = new ArrayList<T>();
for (T t : this) {
result.add(t);
}
return result;
}
}

View File

@ -418,14 +418,12 @@ public class ExportHelper {
if (embeddedFormat.getWhereClause() != null & !"".equals(embeddedFormat.getWhereClause()))
{
whereClause.append(" AND ").append(embeddedFormat.getWhereClause());
}
String columnName = "";
if(formatLine.getAD_Reference_ID()== DisplayType.Table | formatLine.getAD_Reference_ID()==DisplayType.Search)
{
MColumn column = MColumn.get(masterPO.getCtx(), formatLine.getAD_Column_ID());
columnName = column.getColumnName();
}
else
{
columnName = tableEmbedded.getTableName() + "_ID";

View File

@ -22,6 +22,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.List;
import java.util.Properties;
import java.util.logging.Level;
@ -30,6 +31,9 @@ import javax.jnlp.ServiceManager;
import javax.jnlp.UnavailableServiceException;
import javax.swing.ImageIcon;
import org.adempiere.base.Core;
import org.adempiere.base.IResourceFinder;
import org.adempiere.base.Service;
import org.compiere.db.CConnection;
import org.compiere.model.MClient;
import org.compiere.model.MSystem;
@ -43,7 +47,7 @@ import org.compiere.util.Ini;
import org.compiere.util.Login;
import org.compiere.util.SecureEngine;
import org.compiere.util.SecureInterface;
import org.compiere.util.Splash;
//import org.compiere.util.Splash;
import org.compiere.util.Util;
/**
@ -336,7 +340,8 @@ public final class Adempiere
if (s_imageLogo == null)
{
Toolkit tk = Toolkit.getDefaultToolkit();
URL url = org.compiere.Adempiere.class.getResource(s_file100x30);
URL url = Core.getResourceFinder().getResource(s_file100x30);
// URL url = org.compiere.Adempiere.class.getResource(s_file100x30);
// System.out.println(url);
if (url == null)
return null;
@ -579,37 +584,41 @@ public final class Adempiere
return true;
} // startupEnvironment
public static URL getResource(String name) {
return Core.getResourceFinder().getResource(name);
}
/**
* Main Method
*
* @param args optional start class
*/
public static void main (String[] args)
{
Splash.getSplash();
startup(true); // error exit and initUI
// Start with class as argument - or if nothing provided with Client
String className = "org.compiere.apps.AMenu";
for (int i = 0; i < args.length; i++)
{
if (!args[i].equals("-debug")) // ignore -debug
{
className = args[i];
break;
}
}
//
try
{
Class<?> startClass = Class.forName(className);
startClass.newInstance();
}
catch (Exception e)
{
System.err.println("ADempiere starting: " + className + " - " + e.toString());
e.printStackTrace();
}
} // main
// public static void main (String[] args)
// {
// Splash.getSplash();
// startup(true); // error exit and initUI
//
// // Start with class as argument - or if nothing provided with Client
// String className = "org.compiere.apps.AMenu";
// for (int i = 0; i < args.length; i++)
// {
// if (!args[i].equals("-debug")) // ignore -debug
// {
// className = args[i];
// break;
// }
// }
// //
// try
// {
// Class<?> startClass = Class.forName(className);
// startClass.newInstance();
// }
// catch (Exception e)
// {
// System.err.println("ADempiere starting: " + className + " - " + e.toString());
// e.printStackTrace();
// }
// } // main
} // Adempiere

View File

@ -18,6 +18,7 @@ package org.compiere.db;
import java.io.Serializable;
import java.lang.reflect.Proxy;
import java.rmi.RMISecurityManager;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
@ -1630,7 +1631,6 @@ public class CConnection implements Serializable, Cloneable
private Object lookup(String jndiName) throws NamingException {
InitialContext ctx = getInitialContext(Ini.isClient());
if (useComponentNamespace)
{
try

View File

@ -18,6 +18,8 @@ package org.compiere.model;
import java.util.Properties;
import org.adempiere.base.IService;
/**
* Callout Interface for Callout.
* Used in MTab and ImpFormatRow

View File

@ -37,6 +37,9 @@ import java.util.logging.Level;
import javax.script.ScriptEngine;
import javax.swing.event.EventListenerList;
import org.adempiere.base.Core;
import org.adempiere.base.IColumnCallout;
import org.adempiere.base.Service;
import org.compiere.util.CLogMgt;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
@ -2718,15 +2721,48 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
*/
public String processCallout (GridField field)
{
String callout = field.getCallout();
if (callout.length() == 0)
return "";
//
if (isProcessed() && !field.isAlwaysUpdateable()) // only active records
return ""; // "DocProcessed";
Object value = field.getValue();
Object oldValue = field.getOldValue();
List<IColumnCallout> callouts = Core.findCallout(getTableName(), field.getColumnName());
if (callouts != null && !callouts.isEmpty()) {
for(IColumnCallout co : callouts)
{
String retValue = "";
String cmd = co.getClass().getName();
//detect infinite loop
if (activeCallouts.contains(cmd)) continue;
try
{
activeCallouts.add(cmd);
retValue = co.start(m_vo.ctx, m_vo.WindowNo, this, field, value, oldValue);
}
catch (Exception e)
{
log.log(Level.SEVERE, "start", e);
retValue = "Callout Invalid: " + e.toString();
return retValue;
}
finally
{
activeCallouts.remove(cmd);
}
if (!Util.isEmpty(retValue)) // interrupt on first error
{
log.severe (retValue);
return retValue;
}
}
}
String callout = field.getCallout();
if (callout.length() == 0)
return "";
log.fine(field.getColumnName() + "=" + value
+ " (" + callout + ") - old=" + oldValue);

View File

@ -46,6 +46,9 @@ import javax.swing.JFrame;
import javax.swing.RepaintManager;
import javax.swing.SwingUtilities;
import org.adempiere.base.Core;
import org.adempiere.base.IResourceFinder;
import org.adempiere.base.Service;
import org.compiere.Adempiere;
import org.compiere.db.CConnection;
import org.compiere.model.MClient;
@ -54,6 +57,10 @@ import org.compiere.model.MRole;
import org.compiere.model.MSession;
import org.compiere.model.PO;
import org.compiere.swing.CFrame;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
import com.sun.xml.internal.ws.util.ServiceFinder;
/**
@ -1497,7 +1504,10 @@ public final class Env
*/
public static Image getImage (String fileNameInImageDir)
{
URL url = Adempiere.class.getResource("images/" + fileNameInImageDir);
IResourceFinder rf = Core.getResourceFinder();
URL url = rf.getResource("images/" + fileNameInImageDir);
// URL url = Adempiere.class.getResource("images/" + fileNameInImageDir);
if (url == null)
{
s_log.log(Level.SEVERE, "Not found: " + fileNameInImageDir);
@ -1515,7 +1525,9 @@ public final class Env
*/
public static ImageIcon getImageIcon (String fileNameInImageDir)
{
URL url = Adempiere.class.getResource("images/" + fileNameInImageDir);
IResourceFinder rf = Core.getResourceFinder();
URL url = rf.getResource("images/" + fileNameInImageDir);
// URL url = Adempiere.class.getResource("images/" + fileNameInImageDir);
if (url == null)
{
s_log.log(Level.INFO, "Not found: " + fileNameInImageDir);
@ -1535,9 +1547,12 @@ public final class Env
*/
public static ImageIcon getImageIcon2 (String fileName)
{
URL url = Adempiere.class.getResource("images/" + fileName+".gif");
IResourceFinder rf = Core.getResourceFinder();
URL url = rf.getResource("images/" + fileName+".gif");
// URL url = Adempiere.class.getResource("images/" + fileName+".gif");
if (url == null)
url = Adempiere.class.getResource("images/" + fileName+".png");
url = rf.getResource("images/" + fileName+".png");
// url = Adempiere.class.getResource("images/" + fileName+".png");
if (url == null)
{
s_log.log(Level.INFO, "GIF/PNG Not found: " + fileName);

View File

@ -147,10 +147,14 @@ public interface I_PP_Product_Planning
/** Column name IsMPS */
public static final String COLUMNNAME_IsMPS = "IsMPS";
/** Set Is MPS */
/** Set Is MPS.
* Determines if this product is part of the master production schedule
*/
public void setIsMPS (boolean IsMPS);
/** Get Is MPS */
/** Get Is MPS.
* Determines if this product is part of the master production schedule
*/
public boolean isMPS();
/** Column name IsPhantom */
@ -280,17 +284,6 @@ public interface I_PP_Product_Planning
/** Get Order Qty */
public BigDecimal getOrder_Qty();
/** Column name Planner_ID */
public static final String COLUMNNAME_Planner_ID = "Planner_ID";
/** Set Planner */
public void setPlanner_ID (int Planner_ID);
/** Get Planner */
public int getPlanner_ID();
public I_AD_User getPlanner() throws RuntimeException;
/** Column name PP_Product_BOM_ID */
public static final String COLUMNNAME_PP_Product_BOM_ID = "PP_Product_BOM_ID";
@ -315,18 +308,16 @@ public interface I_PP_Product_Planning
/** Get Product Planning */
public int getPP_Product_Planning_ID();
/** Column name SafetyStock */
public static final String COLUMNNAME_SafetyStock = "SafetyStock";
/** Column name Planner_ID */
public static final String COLUMNNAME_Planner_ID = "Planner_ID";
/** Set Safety Stock Qty.
* Safety stock is a term used to describe a level of stock that is maintained below the cycle stock to buffer against stock-outs
*/
public void setSafetyStock (BigDecimal SafetyStock);
/** Set Planner */
public void setPlanner_ID (int Planner_ID);
/** Get Safety Stock Qty.
* Safety stock is a term used to describe a level of stock that is maintained below the cycle stock to buffer against stock-outs
*/
public BigDecimal getSafetyStock();
/** Get Planner */
public int getPlanner_ID();
public I_AD_User getPlanner() throws RuntimeException;
/** Column name S_Resource_ID */
public static final String COLUMNNAME_S_Resource_ID = "S_Resource_ID";
@ -343,6 +334,19 @@ public interface I_PP_Product_Planning
public I_S_Resource getS_Resource() throws RuntimeException;
/** Column name SafetyStock */
public static final String COLUMNNAME_SafetyStock = "SafetyStock";
/** Set Safety Stock Qty.
* Safety stock is a term used to describe a level of stock that is maintained below the cycle stock to buffer against stock-outs
*/
public void setSafetyStock (BigDecimal SafetyStock);
/** Get Safety Stock Qty.
* Safety stock is a term used to describe a level of stock that is maintained below the cycle stock to buffer against stock-outs
*/
public BigDecimal getSafetyStock();
/** Column name TimeFence */
public static final String COLUMNNAME_TimeFence = "TimeFence";

View File

@ -9,5 +9,6 @@
<classpathentry kind="lib" path="/tools/lib/jcommon-1.0.16.jar"/>
<classpathentry kind="lib" path="/tools/lib/jfreechart-1.0.13.jar"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="build"/>
</classpath>

View File

@ -22,7 +22,12 @@
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
@ -32,5 +37,6 @@
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

204
client/META-INF/MANIFEST.MF Normal file
View File

@ -0,0 +1,204 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.adempiere.client
Bundle-SymbolicName: org.adempiere.client;singleton:=true
Bundle-Version: 0.0.0.2
Bundle-ClassPath: client.jar,
lib/swingx-0.9.0.jar,
lib/groovy-all-1.5.1.jar,
lib/jcommon-1.0.14.jar,
lib/jfreechart-1.0.11.jar
Export-Package: com.keypoint,
de.schaeffer.compiere.tools,
groovy.inspect,
groovy.inspect.swingui,
groovy.io,
groovy.lang,
groovy.mock,
groovy.mock.interceptor,
groovy.model,
groovy.security,
groovy.servlet,
groovy.sql,
groovy.swing,
groovy.swing.binding,
groovy.swing.factory,
groovy.swing.impl,
groovy.text,
groovy.time,
groovy.ui,
groovy.ui.icons,
groovy.ui.text,
groovy.ui.view,
groovy.util,
groovy.util.slurpersupport,
groovy.xml,
groovy.xml.dom,
groovy.xml.streamingmarkupsupport,
groovyjarjarantlr,
groovyjarjarantlr.ASdebug,
groovyjarjarantlr.actions.cpp,
groovyjarjarantlr.actions.csharp,
groovyjarjarantlr.actions.java,
groovyjarjarantlr.actions.python,
groovyjarjarantlr.build,
groovyjarjarantlr.collections,
groovyjarjarantlr.collections.impl,
groovyjarjarantlr.debug,
groovyjarjarantlr.debug.misc,
groovyjarjarantlr.preprocessor,
groovyjarjarasm.asm,
groovyjarjarasm.asm.signature,
groovyjarjarasm.asm.tree,
groovyjarjarcommonscli,
org.adempiere.apps.graph,
org.adempiere.osgi,
org.codehaus.groovy,
org.codehaus.groovy.ant,
org.codehaus.groovy.antlr,
org.codehaus.groovy.antlr.java,
org.codehaus.groovy.antlr.parser,
org.codehaus.groovy.antlr.treewalker,
org.codehaus.groovy.ast,
org.codehaus.groovy.ast.expr,
org.codehaus.groovy.ast.stmt,
org.codehaus.groovy.binding,
org.codehaus.groovy.bsf,
org.codehaus.groovy.classgen,
org.codehaus.groovy.control,
org.codehaus.groovy.control.io,
org.codehaus.groovy.control.messages,
org.codehaus.groovy.groovydoc,
org.codehaus.groovy.reflection,
org.codehaus.groovy.runtime,
org.codehaus.groovy.runtime.metaclass,
org.codehaus.groovy.runtime.typehandling,
org.codehaus.groovy.runtime.wrappers,
org.codehaus.groovy.syntax,
org.codehaus.groovy.tools,
org.codehaus.groovy.tools.groovydoc,
org.codehaus.groovy.tools.javac,
org.codehaus.groovy.tools.shell,
org.codehaus.groovy.tools.shell.commands,
org.codehaus.groovy.tools.shell.util,
org.codehaus.groovy.tools.xml,
org.codehaus.groovy.vmplugin,
org.codehaus.groovy.vmplugin.v4,
org.codehaus.groovy.vmplugin.v5,
org.compiere,
org.compiere.acct,
org.compiere.apps,
org.compiere.apps.form,
org.compiere.apps.search,
org.compiere.apps.wf,
org.compiere.grid,
org.compiere.grid.ed,
org.compiere.grid.tree,
org.compiere.images,
org.compiere.install,
org.compiere.minigrid,
org.compiere.pos,
org.compiere.print,
org.eevolution.form,
org.jdesktop.beans,
org.jdesktop.swingx,
org.jdesktop.swingx.action,
org.jdesktop.swingx.auth,
org.jdesktop.swingx.auth.resources,
org.jdesktop.swingx.autocomplete,
org.jdesktop.swingx.autocomplete.workarounds,
org.jdesktop.swingx.border,
org.jdesktop.swingx.calendar,
org.jdesktop.swingx.calendar.resources,
org.jdesktop.swingx.color,
org.jdesktop.swingx.combobox,
org.jdesktop.swingx.decorator,
org.jdesktop.swingx.editors,
org.jdesktop.swingx.error,
org.jdesktop.swingx.event,
org.jdesktop.swingx.geom,
org.jdesktop.swingx.graphics,
org.jdesktop.swingx.icon,
org.jdesktop.swingx.image,
org.jdesktop.swingx.multislider,
org.jdesktop.swingx.multisplitpane,
org.jdesktop.swingx.painter,
org.jdesktop.swingx.painter.effects,
org.jdesktop.swingx.plaf,
org.jdesktop.swingx.plaf.basic,
org.jdesktop.swingx.plaf.basic.resources,
org.jdesktop.swingx.plaf.linux,
org.jdesktop.swingx.plaf.macosx,
org.jdesktop.swingx.plaf.metal,
org.jdesktop.swingx.plaf.misc,
org.jdesktop.swingx.plaf.motif,
org.jdesktop.swingx.plaf.nimbus,
org.jdesktop.swingx.plaf.resources,
org.jdesktop.swingx.plaf.windows,
org.jdesktop.swingx.plaf.windows.resources,
org.jdesktop.swingx.renderer,
org.jdesktop.swingx.resources,
org.jdesktop.swingx.table,
org.jdesktop.swingx.table.resources,
org.jdesktop.swingx.tips,
org.jdesktop.swingx.tree,
org.jdesktop.swingx.treetable,
org.jdesktop.swingx.util,
org.jfree,
org.jfree.base,
org.jfree.base.config,
org.jfree.base.log,
org.jfree.base.modules,
org.jfree.chart,
org.jfree.chart.annotations,
org.jfree.chart.axis,
org.jfree.chart.block,
org.jfree.chart.demo,
org.jfree.chart.editor,
org.jfree.chart.encoders,
org.jfree.chart.entity,
org.jfree.chart.event,
org.jfree.chart.imagemap,
org.jfree.chart.labels,
org.jfree.chart.needle,
org.jfree.chart.plot,
org.jfree.chart.plot.dial,
org.jfree.chart.renderer,
org.jfree.chart.renderer.category,
org.jfree.chart.renderer.xy,
org.jfree.chart.resources,
org.jfree.chart.servlet,
org.jfree.chart.title,
org.jfree.chart.urls,
org.jfree.chart.util,
org.jfree.data,
org.jfree.data.category,
org.jfree.data.contour,
org.jfree.data.function,
org.jfree.data.gantt,
org.jfree.data.general,
org.jfree.data.io,
org.jfree.data.jdbc,
org.jfree.data.resources,
org.jfree.data.statistics,
org.jfree.data.time,
org.jfree.data.time.ohlc,
org.jfree.data.xml,
org.jfree.data.xy,
org.jfree.date,
org.jfree.io,
org.jfree.layout,
org.jfree.resources,
org.jfree.text,
org.jfree.threads,
org.jfree.ui,
org.jfree.ui.about,
org.jfree.ui.about.resources,
org.jfree.ui.action,
org.jfree.ui.tabbedui,
org.jfree.util
Require-Bundle: org.adempiere.base;bundle-version="0.0.0",
org.eclipse.core.runtime;bundle-version="3.5.0",
org.adempiere.tools;bundle-version="0.0.0",
org.adempiere.jbossfacet;bundle-version="0.0.0"
Bundle-Activator: org.adempiere.client.Activator

8
client/build.properties Normal file
View File

@ -0,0 +1,8 @@
source.client.jar = src/,build/
bin.includes = META-INF/,\
lib/swingx-0.9.0.jar,\
lib/groovy-all-1.5.1.jar,\
lib/jcommon-1.0.14.jar,\
lib/jfreechart-1.0.11.jar,\
client.jar,\
plugin.xml

View File

@ -17,13 +17,24 @@
<property name="build.dir" value="build"/>
<property name="dist.dir" value="../lib"/>
<property name="jar.path" value="../lib"/>
<property name="jar.name" value="client.jar"/>
<!--<property environment="env"/>-->
<import file="../utils_dev/properties.xml"/>
<property name="equinox.target" value="../equinox-target"/>
<property name="bundle.name" value="org.adempiere.client"/>
<property name="bundle.version" value="0.0.0.2"/>
<path id="osgi.libs">
<fileset dir="${equinox.target}/plugins">
<include name="*.jar"/>
</fileset>
</path>
<!-- set path to include the necessary jar files for javac -->
<path id="project.class.path">
<pathelement path="${classpath}"/>
<pathelement path="${jar.path}/CCTools.jar"/>
<path refid="osgi.libs"/>
<pathelement path="../base/Base.jar"/>
<pathelement path="../lib/customization.jar"/>
<pathelement path="../lib/patches.jar"/>
@ -113,6 +124,13 @@
</jar>
</target>
<target name="plugin">
<buildPlugin workspaceDirectory=".."
projectName="client"
targetPlatformId="target.platform"
destination="${dist.dir}"
buildSourceJar="false" />
</target>
<target name="clean">
<!-- Delete the ${build.dir} directory trees -->

21
client/plugin.xml Normal file
View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension-point id="org.adempiere.osgi.IMenuAction" name="MenuAction" schema="schema/org.adempiere.osgi.IMenuAction.exsd"/>
<extension
id="RF"
name="RF"
point="org.adempiere.base.IResourceFinder">
<client
class="org.compiere.util.ResourceFinder">
</client>
</extension>
<extension
id="org.adempiere.Client"
point="org.eclipse.core.runtime.applications">
<application>
<run class="org.adempiere.client.Application" />
</application>
</extension>
</plugin>

View File

@ -0,0 +1,101 @@
<?xml version='1.0' encoding='UTF-8'?>
<schema targetNamespace="org.adempiere.client" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.adempiere.client" id="org.adempiere.osgi.IMenuAction" name="MenuAction"/>
</appinfo>
<documentation>
[Enter description of this extension point.]
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="client" minOccurs="1" maxOccurs="unbounded"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="client">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.adempiere.osgi.IMenuAction"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

View File

@ -0,0 +1,35 @@
package org.adempiere.client;
import java.rmi.RMISecurityManager;
import org.compiere.util.CLogger;
import org.eclipse.core.runtime.Plugin;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
public class Activator extends Plugin {
private static final String ADMEPIERE_PREFIX = "org.adempiere";
private static CLogger log = CLogger.getCLogger(Activator.class);
@Override
public void start(BundleContext context) throws Exception {
activateAll(context.getBundles());
}
private void activateAll(Bundle[] bundles) {
for (Bundle bundle : bundles) {
if (shouldStart(bundle))
try {
bundle.start();
log.info("Started "+bundle.getSymbolicName());
} catch (BundleException e) {
log.warning("Could not start "+bundle.getSymbolicName());
}
}
}
private boolean shouldStart(Bundle bundle) {
return bundle.getSymbolicName().startsWith(ADMEPIERE_PREFIX);
}
}

View File

@ -0,0 +1,19 @@
package org.adempiere.client;
import org.compiere.util.CLogger;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
public class Application implements IApplication {
private static CLogger log = CLogger.getCLogger(Application.class);
public Object start(IApplicationContext ctx) throws Exception {
log.info("Starting client");
org.compiere.AdempiereClient.main(new String[]{});
return IApplication.EXIT_OK;
}
public void stop() {
}
}

View File

@ -0,0 +1,18 @@
package org.adempiere.client;
import org.adempiere.base.Core;
import org.adempiere.base.Service;
import org.adempiere.base.ServiceQuery;
import org.compiere.apps.form.FormPanel;
public class Client {
public static FormPanel getFormPanel(String className) {
if (Core.isExtension(className))
className = className.substring(Core.OSGI_PREFIX.length());
ServiceQuery query = new ServiceQuery();
query.put("class", className);
return Service.locate(FormPanel.class, query );
}
}

View File

@ -0,0 +1,35 @@
package org.adempiere.osgi;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import org.compiere.util.CLogger;
import org.compiere.util.Env;
import org.compiere.util.Msg;
public abstract class AbstractMenuAction implements IMenuAction {
protected CLogger log = CLogger.getCLogger(getClass());
protected JMenu getMenu(JMenuBar menuBar, String label) {
// Translated text
String text = Msg.getMsg(Env.getCtx(), label);
int pos = text.indexOf('&');
if (pos != -1) {
text = text.substring(0, pos) + text.substring(pos+1);
}
for (int i=0; i < menuBar.getMenuCount(); i++) {
JMenu menu = menuBar.getMenu(i);
if (text.equals(menu.getText())) {
return menu;
}
}
// menu not found.
log.warning("Menu " + label + " not found.");
return null;
}
}

View File

@ -0,0 +1,11 @@
package org.adempiere.osgi;
import javax.swing.JMenuBar;
import org.adempiere.base.IService;
public interface IMenuAction extends IService {
public void addAction(JMenuBar menuBar);
}

View File

@ -0,0 +1,219 @@
/******************************************************************************
* Product: Adempiere ERP & CRM Smart Business Solution *
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
package org.compiere;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Properties;
import java.util.logging.Level;
import javax.jnlp.BasicService;
import javax.jnlp.ServiceManager;
import javax.jnlp.UnavailableServiceException;
import javax.swing.ImageIcon;
import org.compiere.db.CConnection;
import org.compiere.model.MClient;
import org.compiere.model.MSystem;
import org.compiere.model.ModelValidationEngine;
import org.compiere.util.CLogFile;
import org.compiere.util.CLogMgt;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.Env;
import org.compiere.util.Ini;
import org.compiere.util.Login;
import org.compiere.util.SecureEngine;
import org.compiere.util.SecureInterface;
import org.compiere.util.Splash;
import org.compiere.util.Util;
/**
* Adempiere Control Class
*
* @author Jorg Janke
* @version $Id: Adempiere.java,v 1.8 2006/08/11 02:58:14 jjanke Exp $
*
*/
public final class AdempiereClient
{
/** Logging */
private static CLogger log = null;
/*************************************************************************
* Startup Client.
* - Print greeting,
* - Check Java version and
* - load ini parameters
* If it is a client, load/set PLAF and exit if error.
* If Client, you need to call startupEnvironment explicitly!
* For testing call method startupEnvironment
* @param isClient true for client
* @return successful startup
*/
public static synchronized boolean startup (boolean isClient)
{
// Already started
if (log != null)
return true;
// Check Version
if (!Login.isJavaOK(isClient) && isClient)
System.exit(1);
CLogMgt.initialize(isClient);
Ini.setClient (isClient); // Ini requires Logging
// Init Log
log = CLogger.getCLogger(AdempiereClient.class);
// Greeting
log.info(Adempiere.getSummaryAscii());
// log.info(getAdempiereHome() + " - " + getJavaInfo() + " - " + getOSInfo());
// Load System environment
// EnvLoader.load(Ini.ENV_PREFIX);
// System properties
Ini.loadProperties (false);
// Set up Log
CLogMgt.setLevel(Ini.getProperty(Ini.P_TRACELEVEL));
if (isClient && Ini.isPropertyBool(Ini.P_TRACEFILE)
&& CLogFile.get(false, null, isClient) == null)
CLogMgt.addHandler(CLogFile.get (true, Ini.findAdempiereHome(), isClient));
// Set UI
if (isClient)
{
if (CLogMgt.isLevelAll())
log.log(Level.FINEST, System.getProperties().toString());
}
// Set Default Database Connection from Ini
DB.setDBTarget(CConnection.get(Adempiere.getCodeBaseHost()));
if (isClient) // don't test connection
return false; // need to call
return startupEnvironment(isClient);
} // startup
/**
* Startup Adempiere Environment.
* Automatically called for Server connections
* For testing call this method.
* @param isClient true if client connection
* @return successful startup
*/
public static boolean startupEnvironment (boolean isClient)
{
startup(isClient); // returns if already initiated
if (!DB.isConnected())
{
log.severe ("No Database");
return false;
}
MSystem system = MSystem.get(Env.getCtx()); // Initializes Base Context too
if (system == null)
return false;
// Initialize main cached Singletons
ModelValidationEngine.get();
try
{
String className = system.getEncryptionKey();
if (className == null || className.length() == 0)
{
className = System.getProperty(SecureInterface.ADEMPIERE_SECURE);
if (className != null && className.length() > 0
&& !className.equals(SecureInterface.ADEMPIERE_SECURE_DEFAULT))
{
SecureEngine.init(className); // test it
system.setEncryptionKey(className);
system.save();
}
}
SecureEngine.init(className);
//
if (isClient)
MClient.get(Env.getCtx(),0); // Login Client loaded later
else
MClient.getAll(Env.getCtx());
}
catch (Exception e)
{
log.warning("Environment problems: " + e.toString());
}
// Start Workflow Document Manager (in other package) for PO
String className = null;
try
{
className = "org.compiere.wf.DocWorkflowManager";
Class.forName(className);
// Initialize Archive Engine
className = "org.compiere.print.ArchiveEngine";
Class.forName(className);
}
catch (Exception e)
{
log.warning("Not started: " + className + " - " + e.getMessage());
}
if (!isClient)
DB.updateMail();
return true;
} // startupEnvironment
/**
* Main Method
*
* @param args optional start class
*/
public static void main (String[] args)
{
Splash.getSplash();
startup(true); // error exit and initUI
// Start with class as argument - or if nothing provided with Client
String className = "org.compiere.apps.AMenu";
for (int i = 0; i < args.length; i++)
{
if (!args[i].equals("-debug")) // ignore -debug
{
className = args[i];
break;
}
}
//
try
{
Class<?> startClass = Class.forName(className);
startClass.newInstance();
}
catch (Exception e)
{
System.err.println("ADempiere starting: " + className + " - " + e.toString());
e.printStackTrace();
}
} // main
} // Adempiere

View File

@ -122,7 +122,7 @@ public class AcctViewer extends CFrame
/** State Info */
private AcctViewerData m_data = null;
/** Image Icon */
private ImageIcon m_iFind = new ImageIcon(org.compiere.Adempiere.class.getResource("images/Find16.gif"));
private ImageIcon m_iFind = new ImageIcon(org.compiere.Adempiere.getResource("images/Find16.gif"));
/** Logger */
private static CLogger log = CLogger.getCLogger(AcctViewer.class);
@ -210,7 +210,7 @@ public class AcctViewer extends CFrame
*/
private void jbInit() throws Exception
{
ImageIcon ii = new ImageIcon(org.compiere.Adempiere.class.getResource("images/InfoAccount16.gif"));
ImageIcon ii = new ImageIcon(org.compiere.Adempiere.getResource("images/InfoAccount16.gif"));
setIconImage(ii.getImage());
//
mainLayout.setHgap(5);

View File

@ -33,6 +33,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.TreeMap;
@ -59,6 +60,8 @@ import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.adempiere.base.Service;
import org.adempiere.osgi.IMenuAction;
import org.compiere.apps.form.FormFrame;
import org.compiere.apps.search.Find;
import org.compiere.grid.APanelTab;
@ -525,6 +528,12 @@ public final class APanel extends CPanel
toolBar.add(aEnd.getButton());
}
// Create OSGi menu actions..
List<IMenuAction> osgiActions = Service.list(IMenuAction.class);
for (IMenuAction action:osgiActions) {
action.addAction(menuBar);
}
//
if (CLogMgt.isLevelAll())
Util.printActionInputMap(this);

View File

@ -63,7 +63,7 @@ public class FieldRecordInfo extends CDialog
public static final String CHANGE_LOG_COMMAND = "ChangeLog";
/** The Menu Icon */
private static Icon s_icon = new ImageIcon(org.compiere.Adempiere.class.getResource("images/ChangeLog16.png"));
private static Icon s_icon = new ImageIcon(org.compiere.Adempiere.getResource("images/ChangeLog16.png"));
private int AD_Table_ID;
private int AD_Column_ID;

View File

@ -33,6 +33,8 @@ import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.KeyStroke;
import org.adempiere.base.Core;
import org.adempiere.client.Client;
import org.compiere.apps.AEnv;
import org.compiere.apps.AGlassPane;
import org.compiere.apps.AMenu;
@ -315,7 +317,10 @@ public class FormFrame extends CFrame
try
{
// Create instance w/o parameters
m_panel = (FormPanel)Class.forName(className).newInstance();
if (Core.isExtension(className))
m_panel = Client.getFormPanel(className);
else
m_panel = (FormPanel)Class.forName(className).newInstance();
}
catch (Exception e)
{

View File

@ -16,13 +16,15 @@
*****************************************************************************/
package org.compiere.apps.form;
import org.adempiere.base.IService;
/**
* Form Panel Interface.
* for communicating between FormFrame and JPanel
* @author Jorg Janke
* @version $Id: FormPanel.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $
*/
public interface FormPanel
public interface FormPanel extends IService
{
/**
* Initialize Panel

View File

@ -348,22 +348,22 @@ public final class Find extends CDialog
spaceN = Box.createVerticalStrut(8);
spaceW = Box.createHorizontalStrut(8);
spaceS = Box.createVerticalStrut(8);
bIgnore.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Ignore24.gif")));
bIgnore.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Ignore24.gif")));
bIgnore.setMargin(new Insets(2, 2, 2, 2));
bIgnore.setToolTipText(Msg.getMsg(Env.getCtx(),"Ignore"));
bIgnore.addActionListener(this);
fQueryName.setToolTipText (Msg.getMsg(Env.getCtx(),"QueryName"));
fQueryName.setEditable(true);
fQueryName.addActionListener(this);
bSave.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Save24.gif")));
bSave.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Save24.gif")));
bSave.setMargin(new Insets(2, 2, 2, 2));
bSave.setToolTipText(Msg.getMsg(Env.getCtx(),"Save"));
bSave.addActionListener(this);
bNew.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/New24.gif")));
bNew.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/New24.gif")));
bNew.setMargin(new Insets(2, 2, 2, 2));
bNew.setToolTipText(Msg.getMsg(Env.getCtx(),"New"));
bNew.addActionListener(this);
bDelete.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Delete24.gif")));
bDelete.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Delete24.gif")));
bDelete.setMargin(new Insets(2, 2, 2, 2));
bDelete.setToolTipText(Msg.getMsg(Env.getCtx(),"Delete"));
bDelete.addActionListener(this);

View File

@ -406,7 +406,7 @@ public abstract class Info extends CDialog
//
popup.add(calcMenu);
calcMenu.setText(Msg.getMsg(Env.getCtx(), "Calculator"));
calcMenu.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Calculator16.gif")));
calcMenu.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Calculator16.gif")));
calcMenu.addActionListener(this);
//
p_table.getSelectionModel().addListSelectionListener(this);

View File

@ -33,6 +33,7 @@ import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
@ -48,6 +49,8 @@ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import org.adempiere.base.Core;
import org.adempiere.base.IColumnCallout;
import org.adempiere.plaf.AdempiereLookAndFeel;
import org.adempiere.plaf.AdempierePLAF;
import org.compiere.apps.ADialog;
@ -801,11 +804,13 @@ public class GridController extends CPanel
// Process Callout
GridField mField = m_mTab.getField(col);
if (mField != null
&& (mField.getCallout().length() > 0 || m_mTab.hasDependants(mField.getColumnName())))
{
String msg = m_mTab.processFieldChange(mField); // Dependencies & Callout
if (msg.length() > 0)
ADialog.error(m_WindowNo, this, msg);
List<IColumnCallout> callouts = Core.findCallout(m_mTab.getTableName(), mField.getColumnName());
if (mField.getCallout().length() > 0 || callouts.size()>0 || m_mTab.hasDependants(mField.getColumnName()))
{
String msg = m_mTab.processFieldChange(mField); // Dependencies & Callout
if (msg.length() > 0)
ADialog.error(m_WindowNo, this, msg);
}
}
//if (col >= 0)
dynamicDisplay(col);

View File

@ -226,15 +226,15 @@ public final class VAccountDialog extends CDialog
toolBar.setRequestFocusEnabled(false);
toolBar.setBorderPainted(false);
toolBar.setMargin(new Insets(5, 5, 5, 5));
bSave.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Save24.gif")));
bSave.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Save24.gif")));
bSave.setMargin(new Insets(2, 2, 2, 2));
bSave.setToolTipText(Msg.getMsg(Env.getCtx(),"AccountNewUpdate"));
bSave.addActionListener(this);
bRefresh.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Refresh24.gif")));
bRefresh.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Refresh24.gif")));
bRefresh.setMargin(new Insets(2, 2, 2, 2));
bRefresh.setToolTipText(Msg.getMsg(Env.getCtx(),"Refresh"));
bRefresh.addActionListener(this);
bIgnore.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Ignore24.gif")));
bIgnore.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Ignore24.gif")));
bIgnore.setMargin(new Insets(2, 2, 2, 2));
bIgnore.setToolTipText(Msg.getMsg(Env.getCtx(),"Ignore"));
bIgnore.addActionListener(this);

View File

@ -144,7 +144,7 @@ public class VLocator extends JComponent
m_text.addActionListener(this);
this.add(m_text, BorderLayout.CENTER);
m_button.setIcon(new ImageIcon(org.compiere.Adempiere.class.getResource("images/Locator10.gif")));
m_button.setIcon(new ImageIcon(org.compiere.Adempiere.getResource("images/Locator10.gif")));
m_button.setMargin(new Insets(0, 0, 0, 0));
m_button.setPreferredSize(new Dimension(height, height));
m_button.addActionListener(this);

View File

@ -162,7 +162,7 @@ public class ValuePreference extends CDialog
/** The Name of the Editor */
public static final String NAME = "ValuePreference";
/** The Menu Icon */
private static Icon s_icon = new ImageIcon(org.compiere.Adempiere.class.getResource("images/VPreference16.gif"));
private static Icon s_icon = new ImageIcon(org.compiere.AdempiereClient.class.getResource("images/VPreference16.gif"));
/** Logger */
private static CLogger log = CLogger.getCLogger(ValuePreference.class);

View File

@ -337,6 +337,11 @@ public class ReportCtl
// We have a Jasper Print Format
// ==============================
if(format.getJasperProcess_ID() > 0)
if (info.isDocument()) {
ProcessInfoParameter pip = new ProcessInfoParameter("CURRENT_LANG", format.getLanguage(), null, null, null);
pi.setParameter(new ProcessInfoParameter[]{pip});
}
{
ServerReportCtl.runJasperProcess(Record_ID, re, IsDirectPrint, printerName);
}

View File

@ -0,0 +1,18 @@
package org.compiere.util;
import java.net.URL;
import org.adempiere.base.IResourceFinder;
import org.compiere.AdempiereClient;
public class ResourceFinder implements IResourceFinder {
public ResourceFinder() {
}
public URL getResource(String name) {
URL resource = AdempiereClient.class.getResource(name);
return resource;
}
}

View File

@ -36,6 +36,7 @@ import java.net.URL;
import java.util.Locale;
import org.compiere.Adempiere;
import org.compiere.AdempiereClient;
/**
* Splash Screen.
@ -94,6 +95,7 @@ public class Splash extends Frame
public Splash (String text)
{
super("Adempiere");
System.out.println(text);
message.setText(text);
try
{
@ -268,9 +270,9 @@ public class Splash extends Frame
public AImage()
{
super();
URL url = org.compiere.Adempiere.class.getResource("images/Java_anim.gif");
URL url = org.compiere.AdempiereClient.class.getResource("images/Java_anim.gif");
if (url == null)
url = org.compiere.Adempiere.class.getResource("images/Java_logo.gif");
url = org.compiere.AdempiereClient.class.getResource("images/Java_logo.gif");
if (url != null)
{
m_image = Toolkit.getDefaultToolkit().getImage(url);

11
equinox-target/.project Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>equinox-target</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

90
equinox-target/build.xml Normal file
View File

@ -0,0 +1,90 @@
<!--
The equinox target project holds the equinox framework components and has
the following responsibilities:
- acting as an equinox-target for the eclipse dev environment
- providing setup for an OSGi container for developing swing client in OSGi
- providing setup for a servlet bridge webapp for developing web clients in OSGi
- providing setup for a webstart jnlp for developing webstart clients in OSGi
- installing equinox runtime components in the ADempiere install process
-->
<project name="equinox-target" basedir="." default="all">
<property name="src" value="." />
<property name="dist" value="./dist" />
<property name="dist-standalone" value="${dist}/standalone" />
<property name="dist-web" value="${dist}/web" />
<property name="dist-webstart" value="${dist}/webstart" />
<property name="osgi-runtime" value="org.eclipse.osgi_3.5.0.v20090520.jar" />
<property name="adempiere-client" value="org.adempiere.client_0.0.0.2.jar" />
<target name="all" depends="clean,dist-standalone,dist-web,dist-webstart"/>
<target name="clean">
<delete dir="${dist}"/>
</target>
<target name="dist-standalone">
<mkdir dir="${dist-standalone}"/>
<copy overwrite="true" todir="${dist-standalone}" >
<fileset dir="${src}">
<include name="configuration/**/*"/>
<include name="plugins/**/*"/>
<include name="${osgi-runtime}"/>
<include name="org.eclipse.equinox.common_*.jar"/>
<include name="org.eclipse.update.configurator_*.jar"/>
</fileset>
</copy>
<echo message="Remember: Copy client bundle into ${dist-standalone}."/>
</target>
<target name="run-standalone">
<move failonerror="false" file="${dist-standalone}/plugins/${adempiere-client}" todir="${dist-standalone}" />
<java dir="${dist-standalone}" fork="true" jvmversion="1.6" jar="${dist-standalone}/${osgi-runtime}">
<arg value="-console"/>
<arg value="-clean"/>
</java>
</target>
<target name="debug-standalone">
<move failonerror="false" file="${dist-standalone}/plugins/${adempiere-client}" todir="${dist-standalone}" />
<java dir="${dist-standalone}" fork="true" jvmversion="1.6" jar="${dist-standalone}/${osgi-runtime}">
<arg value="-console"/>
<arg value="-clean"/>
<jvmarg value="-Xdebug"/>
<jvmarg value="-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"/>
</java>
</target>
<target name="dist-web">
<mkdir dir="${dist-web}"/>
<copy overwrite="true" todir="${dist-web}" >
<fileset dir="${src}/webapp">
<include name="**/*"/>
</fileset>
</copy>
<copy overwrite="true" todir="${dist-web}/WEB-INF/eclipse/plugins" >
<fileset dir="${src}/plugins">
<include name="**/*"/>
</fileset>
</copy>
</target>
<target name="war" depends="dist-web">
<war destfile="../lib/bridge.war">
<fileset dir="${dist-web}">
<include name="**/*"/>
</fileset>
</war>
</target>
<target name="dist-webstart">
<mkdir dir="${dist-webstart}"/>
<copy overwrite="true" todir="${dist-webstart}" >
<fileset dir="${src}/webstart">
<include name="**/*"/>
</fileset>
</copy>
</target>
</project>

View File

@ -0,0 +1,3 @@
org.osgi.framework.bootdelegation=*
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@4:start, org.adempiere.client@start

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.5"?>
<target name="Equinox Target">
<locations>
<location path="${workspace_loc}/equinox-target" type="Directory"/>
</locations>
</target>

View File

@ -0,0 +1,3 @@
#Eclipse Runtime Configuration File
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@start, org.eclipse.equinox.http.servletbridge@start, org.eclipse.equinox.http.registry@start, org.adempiere.zkwebui@start
osgi.bundles.defaultStartLevel=4

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="org.eclipse.equinox.servletbridge.feature"
label="Servletbridge Feature"
version="1.0.0"
provider-name="eclipse.org">
<description>
The Servletbridge feature is used to hold the default plugins and dependencies used to build the bridge WebARchive.
</description>
<copyright>
2006 Cognos Inc.
</copyright>
<license url="http://www.eclipse.org/legal/epl-v10.html">
ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT
</license>
<plugin
id="org.eclipse.osgi"
download-size="0"
install-size="0"
version="3.3.0.200704022148"
unpack="false"/>
<plugin
id="org.eclipse.osgi.services"
download-size="0"
install-size="0"
version="3.1.100.200704022148"
unpack="false"/>
<plugin
id="org.eclipse.equinox.common"
download-size="0"
install-size="0"
version="3.3.0.200704022148"
unpack="false"/>
<plugin
id="org.eclipse.equinox.registry"
download-size="0"
install-size="0"
version="3.3.0.v20070318"
unpack="false"/>
<plugin
id="org.eclipse.update.configurator"
download-size="0"
install-size="0"
version="3.2.100.v20070322"
unpack="false"/>
<plugin
id="org.eclipse.equinox.http.registry"
download-size="0"
install-size="0"
version="1.0.0.200704022148"
unpack="false"/>
<plugin
id="org.eclipse.equinox.http.servlet"
download-size="0"
install-size="0"
version="1.0.0.200704022148"
unpack="false"/>
<plugin
id="org.eclipse.equinox.http.servletbridge"
download-size="0"
install-size="0"
version="1.0.0.200704022148"
unpack="false"/>
</feature>

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app id="WebApp">
<servlet id="bridge">
<servlet-name>equinoxbridgeservlet</servlet-name>
<display-name>Equinox Bridge Servlet</display-name>
<description>Equinox Bridge Servlet</description>
<servlet-class>org.eclipse.equinox.servletbridge.BridgeServlet</servlet-class>
<init-param>
<param-name>commandline</param-name>
<param-value>-console -clean</param-value>
</init-param>
<init-param>
<param-name>enableFrameworkControls</param-name>
<param-value>true</param-value>
</init-param>
<!--
org.eclipse.equinox.servletbridge and the Servlet API are exported automatically to the underlying OSGi framework.
The extendedFrameworkExports parameter allows the specification of additional java package exports.
The format is a comma separated list of exports as specified by the "Export-Package" bundle manifest header.
For example: com.mycompany.exports; version=1.0.0, com.mycompany.otherexports; version=1.0.0
-->
<init-param>
<param-name>extendedFrameworkExports</param-name>
<param-value></param-value>
</init-param>
<!--
You can specify your own framework launcher here.
The default is: org.eclipse.equinox.servletbridge.FrameworkLauncher
<init-param>
<param-name>frameworkLauncherClass</param-name>
<param-value>org.eclipse.equinox.servletbridge.FrameworkLauncher</param-value>
</init-param>
-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>equinoxbridgeservlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!--
This is required if your application bundles expose JSPs.
-->
<servlet-mapping>
<servlet-name>equinoxbridgeservlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
</web-app>

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<jnlp
spec="1.0+"
codebase="http://localhost:8080/webstart"
href="adempiere-equinox.jnlp"> <!-- URL to the site containing the jnlp application. It should match the value used on export. Href, the name of this file -->
<information>
<title>Adempiere Client 3.5.4a</title>
<vendor>ADempiere, Inc.</vendor>
<homepage href = "http://www.adempiere.org"/>
<offline-allowed/>
<description>Adempiere ERP+CRM ($$context) - Smart Business Solution for Distribution and Service - globally</description>
<description kind = "short">Adempiere ERP+CRM ($$context)</description>
<description kind = "one-line">Adempiere ERP+CRM</description>
<description kind = "tooltip">Adempiere ERP+CRM ($$context)</description>
<icon kind="splash" href="splash.gif"/>
</information>
<!--request all permissions from the application. This does not change-->
<security>
<all-permissions/>
</security>
<!-- The name of the main class to execute. This does not change-->
<application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
<argument>-consoleLog</argument>
</application-desc>
<resources>
<!-- Reference to the launcher jar. The version segment must be updated to the version being used-->
<jar href="plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar"/>
<!-- Reference to all the plugins and features constituting the application -->
<!-- Here we are referring to the wrapper feature since it transitively refers to all the other plug-ins necessary -->
<extension
name="Wrapper feature"
href="features/org.adempiere.webstart_0.0.0.1.jnlp"/>
<!-- Information usually specified in the config.ini -->
<property name="osgi.noShutdown" value="true" />
<property name="eclipse.ignoreApp" value="true" />
<property name="org.osgi.framework.bootdelegation" value="*"/>
<property name="osgi.bundles"
value="org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@4:start, org.adempiere.client@5:start"/>
<property name="eclipse.product" value="adempiere"/>
</resources>
<!-- Indicate on a platform basis which JRE to use -->
<resources os="Mac">
<j2se version="1.6+"/>
</resources>
<resources os="Windows">
<j2se version="1.4+"/>
</resources>
<resources os="Linux">
<j2se version="1.4+"/>
</resources>
</jnlp>

View File

@ -13,5 +13,6 @@
<classpathentry kind="lib" path="/tools/lib/ant-launcher.jar"/>
<classpathentry kind="lib" path="/tools/lib/commons-net-1.4.0.jar"/>
<classpathentry kind="lib" path="/tools/lib/ojdbc6.jar"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="build"/>
</classpath>

View File

@ -21,8 +21,19 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View File

@ -26,7 +26,10 @@ ARGS=CONFIG
# To test the OCI driver, add -DTestOCI=Y to the command - example:
# $JAVA -classpath $CP -DADEMPIERE_HOME=$ADEMPIERE_HOME -DTestOCI=Y org.compiere.install.Setup $ARGS
$JAVA -classpath $CP -DADEMPIERE_HOME=$ADEMPIERE_HOME org.compiere.install.Setup $ARGS
# $JAVA -classpath $CP -DADEMPIERE_HOME=$ADEMPIERE_HOME org.compiere.install.Setup $ARGS
# OSGi:
$JAVA -jar osgi/org.eclipse.osgi_3.5.0.v20090520.jar -clean -console -application org.adempiere.Install
#echo ===================================
#echo Setup Adempiere Server Environment
@ -41,7 +44,7 @@ find . -name '*.sh' -exec chmod a+x '{}' \;
# Sign database build
cd utils
. ./RUN_SignDatabaseBuild.sh
#. ./RUN_SignDatabaseBuild.sh
. ./RUN_UnixEnv.sh

View File

@ -338,7 +338,7 @@
<!-- ==================================================== -->
<!-- Setup Lib -->
<!-- ==================================================== -->
<target name="setupLib" depends="setupInit, setupWin, setupNonWin, setupCLib, setupSLib, setupALib, setupWLib, signOtherJars"
<target name="setupLib" depends="setupInit, setupWin, setupNonWin"
description="Setup Adempiere Lib directory">
<!-- Filter files Overwrite -->
@ -349,7 +349,7 @@
<copy file="${basedir}/utils/adempiereDirectTemplate.jnlp"
tofile="${basedir}/lib/adempiereDirect.jnlp" filtering="yes" overwrite="yes" />
<!-- Create Client Zip -->
<!-- Create Client Zip
<zip zipfile="${basedir}/lib/AdempiereClient.zip">
<zipfileset dir="." prefix="Adempiere"
includes="*.html" />
@ -360,7 +360,7 @@
<zipfileset dir="lib" prefix="Adempiere/lib"
includes="Adempiere.exe,*.ico,customization.jar,patches.jar,CompiereJasperReqs.jar,Adempiere.jar,AdempiereCLib.jar,adempiereDirect.jnlp,index.html,*.0" />
</zip>
-->
<!-- Save properties -->
<copy file="AdempiereEnv.properties"
tofile="AdempiereEnv.properties.save" />
@ -515,10 +515,23 @@
<!-- ==================================================== -->
<!-- Setup (Main) -->
<!-- ==================================================== -->
<target name="setup" depends="setupDeploy"
<target name="setup" depends="setupInit, setupWin, setupNonWin, setupWar"
description="Setup Adempiere">
</target>
<!-- ==================================================== -->
<!-- Setup (War) -->
<!-- ==================================================== -->
<target name="setupWar"
description="Setup Adempiere ZK Webui">
<unzip src="webapp/bridge.war" dest="webapp/bridge" />
<copy todir="webapp/bridge/WEB-INF/eclipse/plugins">
<fileset dir="osgi/plugins">
<include name="**/*"/>
</fileset>
</copy>
</target>
<!-- ==================================================== -->
<!-- Test - Copy -->

View File

@ -0,0 +1,19 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: install
Bundle-SymbolicName: org.adempiere.install;singleton:=true
Bundle-Version: 0.0.0.1
Bundle-ClassPath: install.jar,
lib/ant.jar,
lib/ant-commons-net.jar,
lib/ant-launcher.jar,
lib/commons-net-1.4.0.jar,
lib/ocrs12.jar,
lib/ojdbc14.jar
Export-Package: images,
org.compiere.install
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
org.adempiere.base;bundle-version="0.0.0",
org.adempiere.client;bundle-version="0.0.0",
org.adempiere.tools;bundle-version="0.0.0"
Bundle-Activator: org.compiere.install.Activator

10
install/build.properties Normal file
View File

@ -0,0 +1,10 @@
source.install.jar = src/,build/
bin.includes = META-INF/,\
lib/ant.jar,\
lib/ant-commons-net.jar,\
lib/ant-launcher.jar,\
lib/commons-net-1.4.0.jar,\
lib/ocrs12.jar,\
lib/ojdbc14.jar,\
install.jar,\
plugin.xml

View File

@ -16,6 +16,7 @@
<property name="web.dir" value="../../adempiereWeb"/>
<property name="dbStartup.dir" value="../db/database/Startup"/>
<property name="lib.dir" value="../lib"/>
<property name="dist.dir" value="../lib"/>
<property name="utils.dir" value="../utils"/>
<property name="launch.dir" value="../launch"/>
<property name="keystore.dir" value="../keystore"/>
@ -117,7 +118,7 @@
<!-- ======================================================= -->
<!-- Update from Web Site + Clean .sh -->
<!-- ======================================================= -->
<target name="installUpdate" depends="installCompile"
<target name="installUpdate" depends=""
description="Update install directory with copies of web site">
<fixcrlf srcdir="${src.dir}"
@ -182,11 +183,31 @@
</fileset>
</copy>
<copy file="${launch.dir}/Release/Adempiere.exe" todir="${build.dir}/Adempiere/lib"/>
<copy file="CInstall.jar" todir="${build.dir}/Adempiere/lib"/>
<!-- <copy file="CInstall.jar" todir="${build.dir}/Adempiere/lib"/>
<copy file="../sqlj/sqlj.jar" todir="${build.dir}/Adempiere/lib"/>
<copy file="../JasperReports/CompiereJasperReqs.jar" todir="${build.dir}/Adempiere/lib"/>
<copy file="../JasperReports/CompiereJasperReqs.jar" todir="${build.dir}/Adempiere/lib"/> -->
<concat destfile="${build.dir}/Adempiere/lib/index.html">AdempiereHome</concat>
<!-- OSGi Container -->
<mkdir dir="${build.dir}/Adempiere/osgi"/>
<copy overwrite="true" todir="${build.dir}/Adempiere/osgi" >
<fileset dir="../equinox-target">
<include name="configuration/**/*"/>
<include name="plugins/**/*"/>
<include name="org.eclipse.*.jar"/>
</fileset>
<fileset dir="../lib">
<include name="plugins/**/*"/>
</fileset>
</copy>
<!-- Bridge webapp -->
<mkdir dir="${build.dir}/Adempiere/webapp"/>
<copy overwrite="true" todir="${build.dir}/Adempiere/webapp" >
<fileset dir="../lib">
<include name="bridge.war"/>
</fileset>
</copy>
<!-- Utils Directory -->
<mkdir dir="${build.dir}/Adempiere/utils"/>
@ -268,6 +289,13 @@
</target>
<target name="plugin">
<buildPlugin workspaceDirectory=".."
projectName="install"
targetPlatformId="target.platform"
destination="${dist.dir}"
buildSourceJar="false" />
</target>
<target name="clean" description="deletes build">
<delete dir="${build.dir}"/>

12
install/plugin.xml Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
id="org.adempiere.Install"
point="org.eclipse.core.runtime.applications">
<application>
<run class="org.compiere.install.Application" />
</application>
</extension>
</plugin>

View File

@ -0,0 +1,16 @@
package org.compiere.install;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
public class Application implements IApplication {
public Object start(IApplicationContext arg0) throws Exception {
Setup.main(new String[]{});
return null;
}
public void stop() {
}
}

View File

@ -36,6 +36,7 @@ import javax.swing.JSeparator;
import javax.swing.SwingUtilities;
import javax.swing.border.TitledBorder;
import org.adempiere.base.Core;
import org.apache.tools.ant.Main;
import org.compiere.Adempiere;
import org.compiere.swing.CButton;
@ -47,6 +48,8 @@ import org.compiere.swing.CPassword;
import org.compiere.swing.CTextField;
import org.compiere.util.CLogger;
import com.sfcommerce.jpaymentcomponent.ssl.Client;
/**
* Configuration Panel
@ -98,8 +101,8 @@ public class ConfigurationPanel extends CPanel implements ActionListener
private ConfigurationData m_data = new ConfigurationData(this);
private static ImageIcon iOpen = new ImageIcon(ConfigurationPanel.class.getResource("openFile.gif"));
private static ImageIcon iSave = new ImageIcon(Adempiere.class.getResource("images/Save16.gif"));
private static ImageIcon iHelp = new ImageIcon(Adempiere.class.getResource("images/Help16.gif"));
private static ImageIcon iSave = new ImageIcon(Core.getResourceFinder().getResource("images/Save16.gif"));
private static ImageIcon iHelp = new ImageIcon(Core.getResourceFinder().getResource("images/Help16.gif"));
// ------------- Static UI

5
interfaces/.classpath Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="lib" path="client/jbossall-client.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry exported="true" kind="lib" path="client/jboss-client.jar"/>
<classpathentry exported="true" kind="lib" path="client/jboss-common-client.jar"/>
@ -8,5 +9,6 @@
<classpathentry exported="true" kind="lib" path="client/jboss-transaction-client.jar"/>
<classpathentry exported="true" kind="lib" path="client/jnp-client.jar"/>
<classpathentry exported="true" kind="lib" path="client/jmx-invoker-adaptor-client.jar"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="lib"/>
</classpath>

View File

@ -10,8 +10,19 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

114
jboss/META-INF/MANIFEST.MF Normal file
View File

@ -0,0 +1,114 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: jboss
Bundle-SymbolicName: org.adempiere.jboss
Bundle-Version: 0.0.0.1
Bundle-ClassPath: client/jboss-client.jar,
client/jboss-common-client.jar,
client/jboss-j2ee.jar,
client/jbosssx-client.jar,
client/jboss-transaction-client.jar,
client/jnp-client.jar,
client/jmx-invoker-adaptor-client.jar,
client/jbossall-client.jar
Export-Package: EDU.oswego.cs.dl.util.concurrent,
EDU.oswego.cs.dl.util.concurrent.misc,
javax.ejb,
javax.ejb.spi,
javax.enterprise.deploy.model,
javax.enterprise.deploy.model.exceptions,
javax.enterprise.deploy.shared,
javax.enterprise.deploy.shared.factories,
javax.enterprise.deploy.spi,
javax.enterprise.deploy.spi.exceptions,
javax.enterprise.deploy.spi.factories,
javax.enterprise.deploy.spi.status,
javax.jms,
javax.management,
javax.management.loading,
javax.management.modelmbean,
javax.management.monitor,
javax.management.openmbean,
javax.management.relation,
javax.management.timer,
javax.resource,
javax.resource.cci,
javax.resource.spi,
javax.resource.spi.endpoint,
javax.resource.spi.security,
javax.resource.spi.work,
javax.security.jacc,
javax.sql,
javax.transaction,
javax.transaction.xa,
javax.xml.registry,
javax.xml.registry.infomodel,
org.apache.xerces.impl.xs,
org.jboss.corba,
org.jboss.crypto,
org.jboss.crypto.digest,
org.jboss.ejb,
org.jboss.ejb.plugins.cmp.jdbc,
org.jboss.ejb.plugins.keygenerator,
org.jboss.invocation,
org.jboss.invocation.http.interfaces,
org.jboss.invocation.jrmp.interfaces,
org.jboss.invocation.jrmp.server,
org.jboss.invocation.pooled.interfaces,
org.jboss.invocation.unified.interfaces,
org.jboss.invocation.unified.marshall,
org.jboss.jmx.adaptor.rmi,
org.jboss.jmx.connector.invoker.client,
org.jboss.logging,
org.jboss.logging.appender,
org.jboss.logging.filter,
org.jboss.logging.layout,
org.jboss.logging.util,
org.jboss.monitor.client,
org.jboss.naming,
org.jboss.naming.client.java,
org.jboss.naming.interceptors,
org.jboss.net.protocol,
org.jboss.net.protocol.file,
org.jboss.net.protocol.http,
org.jboss.net.protocol.njar,
org.jboss.net.protocol.resource,
org.jboss.net.sockets,
org.jboss.net.ssl,
org.jboss.proxy,
org.jboss.proxy.compiler,
org.jboss.proxy.ejb,
org.jboss.proxy.ejb.handle,
org.jboss.security,
org.jboss.security.auth.callback,
org.jboss.security.auth.login,
org.jboss.security.jndi,
org.jboss.security.plugins,
org.jboss.security.ssl,
org.jboss.tm,
org.jboss.tm.integrity,
org.jboss.tm.usertx.client,
org.jboss.tm.usertx.interfaces,
org.jboss.tm.usertx.server,
org.jboss.util,
org.jboss.util.coerce,
org.jboss.util.collection,
org.jboss.util.deadlock,
org.jboss.util.file,
org.jboss.util.id,
org.jboss.util.loading,
org.jboss.util.naming,
org.jboss.util.platform,
org.jboss.util.property,
org.jboss.util.property.jmx,
org.jboss.util.propertyeditor,
org.jboss.util.state,
org.jboss.util.state.xml,
org.jboss.util.stream,
org.jboss.util.threadpool,
org.jboss.util.timeout,
org.jboss.util.xml,
org.jnp.interfaces,
org.jnp.interfaces.java,
org.jnp.interfaces.jnp,
org.jnp.server

9
jboss/build.properties Normal file
View File

@ -0,0 +1,9 @@
bin.includes = META-INF/,\
client/jboss-client.jar,\
client/jboss-common-client.jar,\
client/jboss-j2ee.jar,\
client/jbosssx-client.jar,\
client/jboss-transaction-client.jar,\
client/jnp-client.jar,\
client/jmx-invoker-adaptor-client.jar,\
client/jbossall-client.jar

22
jboss/build.xml Normal file
View File

@ -0,0 +1,22 @@
<!-- ============================================= -->
<!-- JBoss -->
<!-- ============================================= -->
<project name="jboss" default="plugin" basedir="."
xmlns:ant4eclipse="antlib:org.ant4eclipse">
<description>
</description>
<property name="dist.dir" value="../lib" />
<import file="../utils_dev/properties.xml" />
<target name="plugin">
<buildPlugin workspaceDirectory=".."
projectName="jboss"
targetPlatformId="target.platform"
destination="${dist.dir}"
buildSourceJar="false" />
</target>
</project>

View File

@ -2,7 +2,6 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path="/base"/>
<classpathentry kind="src" path="/jboss"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -10,8 +10,19 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,11 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: jbossfacet
Bundle-SymbolicName: org.adempiere.jbossfacet;singleton:=true
Bundle-Version: 0.0.0.1
Bundle-ClassPath: jbossfacet.jar
Export-Package: org.adempiere.as.jboss
Require-Bundle: org.adempiere.jboss;bundle-version="0.0.0"
Import-Package: org.adempiere.as,
org.compiere.util

View File

@ -0,0 +1,7 @@
source.jbossfacet.jar = src/,\
bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
jbossfacet.jar
output.jbossfacet.jar = bin/

17
jbossfacet/build.xml Normal file
View File

@ -0,0 +1,17 @@
<!-- ============================================= -->
<!-- JBoss -->
<!-- ============================================= -->
<project name="jboss" default="plugin" basedir="." xmlns:ant4eclipse="antlib:org.ant4eclipse">
<description>
</description>
<property name="dist.dir" value="../lib" />
<import file="../utils_dev/properties.xml" />
<target name="plugin">
<buildPlugin workspaceDirectory=".." projectName="jbossfacet" targetPlatformId="target.platform" destination="${dist.dir}" buildSourceJar="false" />
</target>
</project>

11
jbossfacet/plugin.xml Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.adempiere.as.IApplicationServer">
<client
class="org.adempiere.as.jboss.JBoss">
</client>
</extension>
</plugin>

View File

@ -0,0 +1,412 @@
SET DEFINE OFF;
-- 02/10/2009 11:33:15 AM
-- Add signed amount type to fin report
INSERT INTO AD_Reference (AD_Client_ID,AD_Org_ID,AD_Reference_ID,Created,CreatedBy,EntityType,IsActive,IsOrderByValue,Name,Updated,UpdatedBy,ValidationType) VALUES (0,0,53327,TO_DATE('2009-10-02 11:33:12','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','N','PA_Report Period Type',TO_DATE('2009-10-02 11:33:12','YYYY-MM-DD HH24:MI:SS'),100,'L')
;
-- 02/10/2009 11:33:15 AM
-- Add signed amount type to fin report
INSERT INTO AD_Reference_Trl (AD_Language,AD_Reference_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Reference_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Reference t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Reference_ID=53327 AND EXISTS (SELECT * FROM AD_Reference_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Reference_ID!=t.AD_Reference_ID)
;
-- 02/10/2009 11:33:29 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53327,53536,TO_DATE('2009-10-02 11:33:28','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Total',TO_DATE('2009-10-02 11:33:28','YYYY-MM-DD HH24:MI:SS'),100,'T')
;
-- 02/10/2009 11:33:29 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53536 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:33:38 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53327,53537,TO_DATE('2009-10-02 11:33:37','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Year',TO_DATE('2009-10-02 11:33:37','YYYY-MM-DD HH24:MI:SS'),100,'Y')
;
-- 02/10/2009 11:33:38 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53537 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:33:51 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53327,53538,TO_DATE('2009-10-02 11:33:50','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Period',TO_DATE('2009-10-02 11:33:50','YYYY-MM-DD HH24:MI:SS'),100,'P')
;
-- 02/10/2009 11:33:51 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53538 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:40:15 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,Description,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53327,53540,TO_DATE('2009-10-02 11:40:14','YYYY-MM-DD HH24:MI:SS'),100,'Year for P & L account, Total for Balance Sheet account','D','Y','Natural',TO_DATE('2009-10-02 11:40:14','YYYY-MM-DD HH24:MI:SS'),100,'N')
;
-- 02/10/2009 11:40:15 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53540 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:42:57 AM
-- Add signed amount type to fin report
UPDATE AD_Reference SET IsActive='N', Name='PA_Report AmountType (deprecated)',Updated=TO_DATE('2009-10-02 11:42:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Reference_ID=235
;
-- 02/10/2009 11:42:57 AM
-- Add signed amount type to fin report
UPDATE AD_Reference_Trl SET IsTranslated='N' WHERE AD_Reference_ID=235
;
-- 02/10/2009 11:43:16 AM
-- Add signed amount type to fin report
INSERT INTO AD_Reference (AD_Client_ID,AD_Org_ID,AD_Reference_ID,Created,CreatedBy,EntityType,IsActive,IsOrderByValue,Name,Updated,UpdatedBy,ValidationType) VALUES (0,0,53328,TO_DATE('2009-10-02 11:43:15','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','N','PA_Report Amount Type',TO_DATE('2009-10-02 11:43:15','YYYY-MM-DD HH24:MI:SS'),100,'L')
;
-- 02/10/2009 11:43:16 AM
-- Add signed amount type to fin report
INSERT INTO AD_Reference_Trl (AD_Language,AD_Reference_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Reference_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Reference t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Reference_ID=53328 AND EXISTS (SELECT * FROM AD_Reference_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Reference_ID!=t.AD_Reference_ID)
;
-- 02/10/2009 11:44:10 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53328,53541,TO_DATE('2009-10-02 11:44:09','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Balance (expected sign)',TO_DATE('2009-10-02 11:44:09','YYYY-MM-DD HH24:MI:SS'),100,'B')
;
-- 02/10/2009 11:44:10 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53541 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:44:32 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53328,53542,TO_DATE('2009-10-02 11:44:30','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Credit Only',TO_DATE('2009-10-02 11:44:30','YYYY-MM-DD HH24:MI:SS'),100,'C')
;
-- 02/10/2009 11:44:32 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53542 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:44:42 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53328,53543,TO_DATE('2009-10-02 11:44:41','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Debit Only',TO_DATE('2009-10-02 11:44:41','YYYY-MM-DD HH24:MI:SS'),100,'D')
;
-- 02/10/2009 11:44:42 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53543 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:45:01 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53328,53544,TO_DATE('2009-10-02 11:45:00','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Quantity',TO_DATE('2009-10-02 11:45:00','YYYY-MM-DD HH24:MI:SS'),100,'Q')
;
-- 02/10/2009 11:45:01 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53544 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:48:32 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,Description,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53328,53545,TO_DATE('2009-10-02 11:48:31','YYYY-MM-DD HH24:MI:SS'),100,'DR - CR','D','Y','Balance (accounted sign)',TO_DATE('2009-10-02 11:48:31','YYYY-MM-DD HH24:MI:SS'),100,'S')
;
-- 02/10/2009 11:48:32 AM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53545 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 11:52:38 AM
-- Add signed amount type to fin report
INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Org_ID,ColumnName,Created,CreatedBy,Description,EntityType,Help,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,54061,0,'PAPeriodType',TO_DATE('2009-10-02 11:52:35','YYYY-MM-DD HH24:MI:SS'),100,'PA Period Type','D','The Period Type to report on: Period, Year, Total or Natural; where Natural = Year for P & L accounts, Total for Balance Sheet accounts.','Y','Period Type','Period Type',TO_DATE('2009-10-02 11:52:35','YYYY-MM-DD HH24:MI:SS'),100)
;
-- 02/10/2009 11:52:38 AM
-- Add signed amount type to fin report
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Description,Help,Name,PO_Description,PO_Help,PO_Name,PO_PrintName,PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Element_ID, t.Description,t.Help,t.Name,t.PO_Description,t.PO_Help,t.PO_Name,t.PO_PrintName,t.PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=54061 AND EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Element_ID!=t.AD_Element_ID)
;
-- 02/10/2009 11:56:47 AM
-- Add signed amount type to fin report
INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Org_ID,ColumnName,Created,CreatedBy,Description,EntityType,Help,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,54062,0,'PAAmountType',TO_DATE('2009-10-02 11:56:46','YYYY-MM-DD HH24:MI:SS'),100,'PA Amount Type for reporting','D','The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (DR-CR). Balance (expected sign) adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element.','Y','Amount Type','Amount Type',TO_DATE('2009-10-02 11:56:46','YYYY-MM-DD HH24:MI:SS'),100)
;
-- 02/10/2009 11:56:47 AM
-- Add signed amount type to fin report
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Description,Help,Name,PO_Description,PO_Help,PO_Name,PO_PrintName,PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Element_ID, t.Description,t.Help,t.Name,t.PO_Description,t.PO_Help,t.PO_Name,t.PO_PrintName,t.PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=54062 AND EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Element_ID!=t.AD_Element_ID)
;
-- 02/10/2009 11:56:58 AM
-- Add signed amount type to fin report
UPDATE AD_Element SET Help='The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.',Updated=TO_DATE('2009-10-02 11:56:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=54061
;
-- 02/10/2009 11:56:58 AM
-- Add signed amount type to fin report
UPDATE AD_Element_Trl SET IsTranslated='N' WHERE AD_Element_ID=54061
;
-- 02/10/2009 11:56:58 AM
-- Add signed amount type to fin report
UPDATE AD_Column SET ColumnName='PAPeriodType', Name='Period Type', Description='PA Period Type', Help='The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.' WHERE AD_Element_ID=54061
;
-- 02/10/2009 11:56:58 AM
-- Add signed amount type to fin report
UPDATE AD_Process_Para SET ColumnName='PAPeriodType', Name='Period Type', Description='PA Period Type', Help='The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.', AD_Element_ID=54061 WHERE UPPER(ColumnName)='PAPERIODTYPE' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
;
-- 02/10/2009 11:56:58 AM
-- Add signed amount type to fin report
UPDATE AD_Process_Para SET ColumnName='PAPeriodType', Name='Period Type', Description='PA Period Type', Help='The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.' WHERE AD_Element_ID=54061 AND IsCentrallyMaintained='Y'
;
-- 02/10/2009 11:56:58 AM
-- Add signed amount type to fin report
UPDATE AD_Field SET Name='Period Type', Description='PA Period Type', Help='The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.' WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=54061) AND IsCentrallyMaintained='Y'
;
-- 02/10/2009 11:58:09 AM
-- Add signed amount type to fin report
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,58553,54061,0,17,53327,446,'PAPeriodType',TO_DATE('2009-10-02 11:58:08','YYYY-MM-DD HH24:MI:SS'),100,'P','PA Period Type','D',1,'The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Period Type',0,TO_DATE('2009-10-02 11:58:08','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- 02/10/2009 11:58:09 AM
-- Add signed amount type to fin report
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=58553 AND EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Column_ID!=t.AD_Column_ID)
;
-- 02/10/2009 11:58:17 AM
-- Add signed amount type to fin report
ALTER TABLE PA_ReportColumn ADD PAPeriodType CHAR(1) DEFAULT 'P'
;
-- 02/10/2009 11:59:04 AM
-- Add signed amount type to fin report
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,58554,54062,0,17,53328,446,'PAAmountType',TO_DATE('2009-10-02 11:59:03','YYYY-MM-DD HH24:MI:SS'),100,'B','PA Amount Type for reporting','D',1,'The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (DR-CR). Balance (expected sign) adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element.','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Amount Type',0,TO_DATE('2009-10-02 11:59:03','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- 02/10/2009 11:59:04 AM
-- Add signed amount type to fin report
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=58554 AND EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Column_ID!=t.AD_Column_ID)
;
-- 02/10/2009 12:01:36 PM
-- Add signed amount type to fin report
UPDATE AD_Element SET Help='The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.',Updated=TO_DATE('2009-10-02 12:01:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=54062
;
-- 02/10/2009 12:01:36 PM
-- Add signed amount type to fin report
UPDATE AD_Element_Trl SET IsTranslated='N' WHERE AD_Element_ID=54062
;
-- 02/10/2009 12:01:36 PM
-- Add signed amount type to fin report
UPDATE AD_Column SET ColumnName='PAAmountType', Name='Amount Type', Description='PA Amount Type for reporting', Help='The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.' WHERE AD_Element_ID=54062
;
-- 02/10/2009 12:01:36 PM
-- Add signed amount type to fin report
UPDATE AD_Process_Para SET ColumnName='PAAmountType', Name='Amount Type', Description='PA Amount Type for reporting', Help='The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.', AD_Element_ID=54062 WHERE UPPER(ColumnName)='PAAMOUNTTYPE' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
;
-- 02/10/2009 12:01:36 PM
-- Add signed amount type to fin report
UPDATE AD_Process_Para SET ColumnName='PAAmountType', Name='Amount Type', Description='PA Amount Type for reporting', Help='The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.' WHERE AD_Element_ID=54062 AND IsCentrallyMaintained='Y'
;
-- 02/10/2009 12:01:36 PM
-- Add signed amount type to fin report
UPDATE AD_Field SET Name='Amount Type', Description='PA Amount Type for reporting', Help='The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.' WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=54062) AND IsCentrallyMaintained='Y'
;
-- 02/10/2009 12:03:11 PM
-- Add signed amount type to fin report
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,58555,54062,0,17,53328,448,'PAAmountType',TO_DATE('2009-10-02 12:03:10','YYYY-MM-DD HH24:MI:SS'),100,'PA Amount Type for reporting','D',2,'The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Amount Type',0,TO_DATE('2009-10-02 12:03:10','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- 02/10/2009 12:03:11 PM
-- Add signed amount type to fin report
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=58555 AND EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Column_ID!=t.AD_Column_ID)
;
-- 02/10/2009 12:03:20 PM
-- Add signed amount type to fin report
UPDATE AD_Column SET FieldLength=1,Updated=TO_DATE('2009-10-02 12:03:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=58555
;
-- 02/10/2009 12:03:23 PM
-- Add signed amount type to fin report
ALTER TABLE PA_ReportLine ADD PAAmountType CHAR(1) DEFAULT NULL
;
-- 02/10/2009 12:03:48 PM
-- Add signed amount type to fin report
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,58556,54061,0,17,53327,448,'PAPeriodType',TO_DATE('2009-10-02 12:03:47','YYYY-MM-DD HH24:MI:SS'),100,'PA Period Type','D',1,'The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Period Type',0,TO_DATE('2009-10-02 12:03:47','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- 02/10/2009 12:03:48 PM
-- Add signed amount type to fin report
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=58556 AND EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Column_ID!=t.AD_Column_ID)
;
-- 02/10/2009 12:03:50 PM
-- Add signed amount type to fin report
ALTER TABLE PA_ReportLine ADD PAPeriodType CHAR(1) DEFAULT NULL
;
-- 02/10/2009 12:04:03 PM
-- Add signed amount type to fin report
ALTER TABLE PA_ReportColumn ADD PAAmountType CHAR(1) DEFAULT 'B'
;
-- 02/10/2009 12:04:29 PM
-- Add signed amount type to fin report
UPDATE AD_Column SET IsActive='N',Updated=TO_DATE('2009-10-02 12:04:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=6019
;
-- 02/10/2009 12:04:39 PM
-- Add signed amount type to fin report
UPDATE AD_Column SET IsActive='N',Updated=TO_DATE('2009-10-02 12:04:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=7707
;
-- 02/10/2009 12:09:57 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,58554,58041,0,374,TO_DATE('2009-10-02 12:09:56','YYYY-MM-DD HH24:MI:SS'),100,'PA Amount Type for reporting',14,'D','The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.','Y','Y','Y','N','N','N','N','N','Amount Type',110,TO_DATE('2009-10-02 12:09:56','YYYY-MM-DD HH24:MI:SS'),100)
;
-- 02/10/2009 12:09:57 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=58041 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- 02/10/2009 12:11:17 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,58553,58042,0,374,TO_DATE('2009-10-02 12:11:16','YYYY-MM-DD HH24:MI:SS'),100,'PA Period Type',14,'D','The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.','Y','Y','Y','N','N','N','N','Y','Period Type',115,TO_DATE('2009-10-02 12:11:16','YYYY-MM-DD HH24:MI:SS'),100)
;
-- 02/10/2009 12:11:17 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=58042 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- 02/10/2009 12:11:26 PM
-- Add signed amount type to fin report
UPDATE AD_Field SET IsActive='N',Updated=TO_DATE('2009-10-02 12:11:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4760
;
-- 02/10/2009 12:13:14 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,DisplayLogic,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,58555,58043,0,376,TO_DATE('2009-10-02 12:13:13','YYYY-MM-DD HH24:MI:SS'),100,'PA Amount Type for reporting',14,'@LineType@=S','D','The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.','Y','Y','Y','N','N','N','N','N','Amount Type',180,TO_DATE('2009-10-02 12:13:13','YYYY-MM-DD HH24:MI:SS'),100)
;
-- 02/10/2009 12:13:14 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=58043 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- 02/10/2009 12:13:46 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,DisplayLogic,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,58556,58044,0,376,TO_DATE('2009-10-02 12:13:45','YYYY-MM-DD HH24:MI:SS'),100,'PA Period Type',14,'@LineType@=S','D','The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.','Y','Y','Y','N','N','N','N','Y','Period Type',185,TO_DATE('2009-10-02 12:13:45','YYYY-MM-DD HH24:MI:SS'),100)
;
-- 02/10/2009 12:13:46 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=58044 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- 02/10/2009 12:13:57 PM
-- Add signed amount type to fin report
UPDATE AD_Field SET IsActive='N',Updated=TO_DATE('2009-10-02 12:13:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5807
;
-- 02/10/2009 12:16:06 PM
-- Add signed amount type to fin report
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,58557,54062,0,17,53328,535,'PAAmountType',TO_DATE('2009-10-02 12:16:05','YYYY-MM-DD HH24:MI:SS'),100,'PA Amount Type for reporting','D',1,'The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Amount Type',0,TO_DATE('2009-10-02 12:16:05','YYYY-MM-DD HH24:MI:SS'),100,1)
;
-- 02/10/2009 12:16:06 PM
-- Add signed amount type to fin report
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=58557 AND EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Column_ID!=t.AD_Column_ID)
;
-- 02/10/2009 12:16:10 PM
-- Add signed amount type to fin report
ALTER TABLE I_ReportLine ADD PAAmountType CHAR(1) DEFAULT NULL
;
-- 02/10/2009 12:16:40 PM
-- Add signed amount type to fin report
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSelectionColumn,IsSyncDatabase,IsTranslated,IsUpdateable,Name,SeqNo,Updated,UpdatedBy,Version) VALUES (0,58558,54061,0,17,53327,535,'PAPeriodType',TO_DATE('2009-10-02 12:16:34','YYYY-MM-DD HH24:MI:SS'),100,'PA Period Type','D',1,'The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.','Y','Y','N','N','N','N','N','N','N','N','N','N','Y','Period Type',0,TO_DATE('2009-10-02 12:16:34','YYYY-MM-DD HH24:MI:SS'),100,1)
;
-- 02/10/2009 12:16:40 PM
-- Add signed amount type to fin report
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=58558 AND EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Column_ID!=t.AD_Column_ID)
;
-- 02/10/2009 12:16:43 PM
-- Add signed amount type to fin report
ALTER TABLE I_ReportLine ADD PAPeriodType CHAR(1) DEFAULT NULL
;
-- 02/10/2009 12:16:52 PM
-- Add signed amount type to fin report
UPDATE AD_Column SET IsActive='N',Updated=TO_DATE('2009-10-02 12:16:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=7954
;
-- 02/10/2009 12:18:35 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,58557,58045,0,444,TO_DATE('2009-10-02 12:18:35','YYYY-MM-DD HH24:MI:SS'),100,'PA Amount Type for reporting',14,'D','The amount type to report on: Quantity, Credit Only, Debit Only, Balance (expected sign) or Balance (accounted sign). "Expected sign" adjusts the sign of the result based on the Account Type and Expected Sign of each Account Element, whereas "accounted sign" always returns DR-CR.','Y','Y','Y','N','N','N','N','N','Amount Type',160,TO_DATE('2009-10-02 12:18:35','YYYY-MM-DD HH24:MI:SS'),100)
;
-- 02/10/2009 12:18:35 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=58045 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- 02/10/2009 12:18:56 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Org_ID,AD_Tab_ID,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,58558,58046,0,444,TO_DATE('2009-10-02 12:18:55','YYYY-MM-DD HH24:MI:SS'),100,'PA Period Type',14,'D','The Period Type to report on: Period, Year, Total or Natural. Natural = Year for P & L accounts, Total for Balance Sheet accounts.','Y','Y','Y','N','N','N','N','N','Period Type',165,TO_DATE('2009-10-02 12:18:55','YYYY-MM-DD HH24:MI:SS'),100)
;
-- 02/10/2009 12:18:56 PM
-- Add signed amount type to fin report
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Help,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Help,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=58046 AND EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Field_ID!=t.AD_Field_ID)
;
-- 02/10/2009 12:19:04 PM
-- Add signed amount type to fin report
UPDATE AD_Field SET IsActive='N',Updated=TO_DATE('2009-10-02 12:19:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=6043
;
-- 02/10/2009 1:48:32 PM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Reference_ID,AD_Ref_List_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53328,53546,TO_DATE('2009-10-02 13:48:30','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Quantity (accounted sign)',TO_DATE('2009-10-02 13:48:30','YYYY-MM-DD HH24:MI:SS'),100,'R')
;
-- 02/10/2009 1:48:32 PM
-- Add signed amount type to fin report
INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=53546 AND EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language!=l.AD_Language OR tt.AD_Ref_List_ID!=t.AD_Ref_List_ID)
;
-- 02/10/2009 1:48:43 PM
-- Add signed amount type to fin report
UPDATE AD_Ref_List SET Name='Quantity (expected sign)',Updated=TO_DATE('2009-10-02 13:48:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=53544
;
-- 02/10/2009 1:48:43 PM
-- Add signed amount type to fin report
UPDATE AD_Ref_List_Trl SET IsTranslated='N' WHERE AD_Ref_List_ID=53544
;
update pa_reportline set paamounttype = substr(amounttype, 1,1), paperiodtype = substr(amounttype,2,1);
update pa_reportcolumn set paamounttype = substr(amounttype, 1,1), paperiodtype = substr(amounttype,2,1);

View File

@ -0,0 +1,28 @@
--- BF 2944056 https://sourceforge.net/tracker/?func=detail&aid=2944056&group_id=176962&atid=879332
--- Fix Related and Substitute Inventory Quantity in the InfoProduct window
DROP VIEW M_PRODUCT_SUBSTITUTERELATED_V;
CREATE OR REPLACE VIEW M_PRODUCT_SUBSTITUTERELATED_V AS
SELECT s.ad_client_id, s.ad_org_id, s.isactive, s.created, s.createdby, s.updated, s.updatedby,
s.m_product_id, s.substitute_id, 'S' AS rowtype, mp.name, sum(ms.qtyonhand - ms.qtyreserved) AS qtyavailable, sum(ms.qtyonhand) AS qtyonhand, sum(ms.qtyreserved) AS qtyreserved,
ROUND(MAX(mpr.pricestd),0) AS pricestd, mpr.m_pricelist_version_id, mw.m_warehouse_id, org.name AS orgname
FROM m_substitute s
JOIN m_storage ms ON ms.m_product_id = s.substitute_id
JOIN m_product mp ON ms.m_product_id = mp.m_product_id
JOIN m_locator ml ON ms.m_locator_id = ml.m_locator_id
JOIN m_warehouse mw ON ml.m_warehouse_id = mw.m_warehouse_id
JOIN m_productprice mpr ON ms.m_product_id = mpr.m_product_id
JOIN ad_org org ON org.ad_org_id = mw.ad_org_id
GROUP BY s.ad_client_id, s.ad_org_id, s.isactive, s.created, s.createdby, s.updated, s.updatedby, s.m_product_id, s.substitute_id, mw.m_warehouse_id, mpr.m_pricelist_version_id, org.name, mp.name
UNION
SELECT r.ad_client_id, r.ad_org_id, r.isactive, r.created, r.createdby, r.updated, r.updatedby,
r.m_product_id, r.relatedproduct_id AS substitute_id, 'R' AS rowtype, mp.name, sum(ms.qtyonhand - ms.qtyreserved) AS qtyavailable, sum(ms.qtyonhand) AS qtyonhand, sum(ms.qtyreserved) AS qtyreserved, round(MAX(mpr.pricestd),0) AS pricestd, mpr.m_pricelist_version_id, mw.m_warehouse_id, org.name AS orgname
FROM m_relatedproduct r
JOIN m_storage ms ON ms.m_product_id = r.relatedproduct_id
JOIN m_product mp ON ms.m_product_id = mp.m_product_id
JOIN m_locator ml ON ms.m_locator_id = ml.m_locator_id
JOIN m_warehouse mw ON ml.m_warehouse_id = mw.m_warehouse_id
JOIN m_productprice mpr ON ms.m_product_id = mpr.m_product_id
JOIN ad_org org ON org.ad_org_id = mw.ad_org_id
GROUP BY r.ad_client_id, r.ad_org_id, r.isactive, r.created, r.createdby, r.updated, r.updatedby, r.m_product_id, r.relatedproduct_id, mw.m_warehouse_id, mpr.m_pricelist_version_id, org.name, mp.name;

View File

@ -0,0 +1,30 @@
-- Feb 8, 2010 3:00:56 PM EST
-- Advanced search
INSERT INTO AD_Message (AD_Client_ID,AD_Message_ID,AD_Org_ID,Created,CreatedBy,EntityType,IsActive,MsgText,MsgType,Updated,UpdatedBy,Value) VALUES (0,53092,0,TO_DATE('2010-02-08 15:00:52','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','And/Or','I',TO_DATE('2010-02-08 15:00:52','YYYY-MM-DD HH24:MI:SS'),100,'And/Or')
;
-- Feb 8, 2010 3:00:57 PM EST
-- Advanced search
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=53092 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
-- Feb 8, 2010 3:01:21 PM EST
-- Advanced search
INSERT INTO AD_Message (AD_Client_ID,AD_Message_ID,AD_Org_ID,Created,CreatedBy,EntityType,IsActive,MsgText,MsgType,Updated,UpdatedBy,Value) VALUES (0,53093,0,TO_DATE('2010-02-08 15:01:19','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','AND','I',TO_DATE('2010-02-08 15:01:19','YYYY-MM-DD HH24:MI:SS'),100,'AND')
;
-- Feb 8, 2010 3:01:21 PM EST
-- Advanced search
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=53093 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
-- Feb 8, 2010 3:01:42 PM EST
-- Advanced search
INSERT INTO AD_Message (AD_Client_ID,AD_Message_ID,AD_Org_ID,Created,CreatedBy,EntityType,IsActive,MsgText,MsgType,Updated,UpdatedBy,Value) VALUES (0,53094,0,TO_DATE('2010-02-08 15:01:34','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','OR','I',TO_DATE('2010-02-08 15:01:34','YYYY-MM-DD HH24:MI:SS'),100,'OR')
;
-- Feb 8, 2010 3:01:42 PM EST
-- Advanced search
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=53094 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;

View File

@ -0,0 +1,5 @@
-- Feb 8, 2010 4:05:08 PM EST
-- BF2944388
UPDATE AD_Column SET IsIdentifier='Y', SeqNo=1,Updated=TO_DATE('2010-02-08 16:05:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=57563
;

Some files were not shown because too many files have changed in this diff Show More