spanish professional localization pack extension module webinar november 26th, 2009
Post on 26-Mar-2015
218 Views
Preview:
TRANSCRIPT
Spanish Professional Localization Pack
Extension Module Webinar
November 26th, 2009
Page 2Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Agenda
Functionality and Demo 15 min.
Process and Tools 10 min.
Development Technique 10 min.
Q & A 25 min.
Page 3Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Agenda
Functionality and Demo
Process and Tools
Development Technique
Q & A
Page 4Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
The Spanish Professional Localization Pack is a “commercial” pack
Content:
Invoice Register Books 347 Third parties transactions annual tax statement 349 Summary statement of Intra-community transactions
Spanish Community Localization Pack Spanish translation Charts of Accounts Tax ID validation Domestic bank account validation Accounting Alerts Spanish tax rates
Dependent modules -> Tax Report launcher
Content & InstallationSpanish Professional Localization Pack
Page 5Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Functional Concept:
Tax Report => List of transactions subject to taxes (VAT by example)
but NOT only that…
Key thing => Ability to setup different types of “Tax parameters”:
Input
Constant
Output -> “Tax rates”
Goal: To show you how the Tax Report Launcher allows us to generate and launch
tax reports
To show you how Spanish Tax Reports are launched
Functional HighlightsSpanish Professional Localization Pack (SPLP)
Page 6Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Functional HighlightsSpanish Professional Localization Pack (SPLP)
Openbravo Transactions
End user
Tax
Rates
Input dataTax Report
Tax Report Group
Tax Report parameters
Input
Constant
Output
TAX
REPORT
LAUNCHER
Tax Report as a “valid” file
Page 7Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
DEMO
Tax Report Launcher & 347, 349 tax reports
Functional HighlightsSpanish Professional Localization Pack – Tax Report Launcher
Page 8Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
FUNCTIONALITY AND DEMO : RECAP
Spanish Professional Localization Pack content
Spanish tax reports built by using the Tax Report Launcher framework (community framework)
Tax Report parameters as the key way to get tax report data
Tax report parameters linked to Tax Rates
Page 9Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Agenda
Functionality and Demo
Process and Tools
Development Technique
Q & A
Page 10Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.
Module version structure:
XXX.YYY.ZZZ
New major version required when:
• Dependencies modification• Added or removed dependencies• Modified first version of a dependency
• API change
Major version Minor version
Page 11Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.
Depends
on
347
Tax Rep.Launcher
• A module can depend on another module.
• 3 attributes in a dependency:
• Dependant module
• First version
• Last version (not mandatory)
• Always a dependency on core
347
core
Page 12Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.
• A pack includes modules and/or other packs• 2 attributes in an inclussion:
• Included module• Version
• In one only .obx file, all modules are included
SLP
CoA
esES
alerts valid.
CoA
valid.
tax
347
349
IRB
SPLP
Page 13Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
• 4 possible cases while installing packs / modules from file system/central repository
• Installing a pack from file system may install different versions of it’s contained module than installing from central repository
Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.
MODULE PACK
CENTRAL REPOSITORY CASE 1 CASE 2 Always most recent minor version published in CR
FILE SYSTEM CASE 3 CASE 4 Version included in the file
Page 14Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.
RECAPITULATION
• Modules have got versions
• A pack is a set of modules
• Dependencies mechanism prevents from bad installations of modules
Page 15Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Functionality and Demo
Process and Tools
Development Technique
Q & A
Agenda
Page 16Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular developmentSpanish Professional Localization Pack
TAX REPORT LAUNCHERTAX REPORT LAUNCHER
AEAT347 Report
AEAT349 Report
Sample Report
FutureReports
JAVAINTERFACE
JAVAJAVAIMPLEMENTATIONIMPLEMENTATION
Openbravo ERPOpenbravo ERP
Page 17Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular development
• Abstract type which defines a list of: - Method signatures - Constant declarations (static and final)
• The reserved word interface is used
• It can't be directly instantiated. Another class must implement the interface, i.e., it must implement all the methods
JAVA INTERFACE
public interface OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId,
String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams)
throws OBException, Exception;}
Spanish Professional Localization Pack
Page 18Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular development
package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden
public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {
HashMap<String, Object> myMap = new HashMap<String, Object>();
// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");
// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));
return myMap; }}
HELLO WORLD IMPLEMENTATION
Spanish Professional Localization Pack
Page 19Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular development
package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden
public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {
HashMap<String, Object> myMap = new HashMap<String, Object>();
// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");
// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));
return myMap; }}
HELLO WORLD IMPLEMENTATION
Spanish Professional Localization Pack
Page 20Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular development
package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden
public class HelloWorldReport implements OBTL_TaxReport_I {
public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {
HashMap<String, Object> myMap = new HashMap<String, Object>();
// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");
// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));
return myMap; }}
HELLO WORLD IMPLEMENTATION
Spanish Professional Localization Pack
Page 21Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular development
package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden
public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {
HashMap<String, Object> myMap = new HashMap<String, Object>();
// Use StringBuffer because it is safe in multi-thread
StringBuffer sb = new StringBuffer(); sb.append("Hello World!");
// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));
return myMap; }}
HELLO WORLD IMPLEMENTATION
Spanish Professional Localization Pack
Page 22Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular development
package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden
public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {
HashMap<String, Object> myMap = new HashMap<String, Object>();
// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");
// File content. Mandatory
myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory
myMap.put("fileName", inputParams.get("fileName"));
return myMap; }}
HELLO WORLD IMPLEMENTATION
Spanish Professional Localization Pack
Page 23Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
DEMO HELLO WORLD Report
Implementing Java interfaces for modular developmentSpanish Professional Localization Pack – Tax Report Launcher
Page 24Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular development
package
org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden
public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {
HashMap<String, Object> myMap = new HashMap<String, Object>();
// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");
// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));
return myMap; }}
HELLO WORLD IMPLEMENTATION
Spanish Professional Localization Pack
Page 25Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Implementing Java interfaces for modular development
package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden
public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {
HashMap<String, Object> myMap = new HashMap<String, Object>();
// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");
// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory
myMap.put("fileName", inputParams.get("fileName"));
return myMap; }}
HELLO WORLD IMPLEMENTATION
Spanish Professional Localization Pack
Page 26Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Wrap-Up
SPLP introduction. Functionality and Demo of the Tax Report Launcher:
- SPLP content
- Tax reports built from the Tax Report Launcher
- Tax Report Launcher as a community module
Modules, Packs, Dependencies and versions:
- Differences between modules and packages
- Dependencies management
- Versions management
Implementing Java Interfaces for a modular development:
- Tax Report Launcher public Java Interface
- Hello World report Java implementation
- Hello World report setup for the Tax Report Launcher and execution
Page 27Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
Q & A
Next Webinar:Quick Start
December 10th 4-5 PM (CET)
Interesting Links: http://forge.openbravo.com/projects/spainprofessionallocpack
http://forge.openbravo.com/projects/localizationpackspain
david.alsasuavictor.martinez
patricia.sanjuan
Spanish Professional Localization Pack
@openbravo.com@openbravo.com@openbravo.com
Page 28Spanish Professional Localization Pack Webinar - Openbravo, Localization Team
top related