Developing Legislation for Sage Payroll
Developing Legislation for Sage Payroll
Enterprise Management
02 2016
1.0 …develo
The actors 6
Installation 9
Locale management 13
Documentation 18
General purpose 20
Service support 20
General purpose 22
Development support 23
Patch creation 31
How to patch developments and settings 31
How to patch authoring and administration settings 34
How to patch documentation 36
How to patch translation 36
Patch delivery 37
First delivery 37
Update of an existing installation 39
Examples 45
Patch process 47
Upgrade process 48
Workload 50
Commitment 50
Approach 50
If you are reading this documentation, it means that you have decided to work with Sage
to distribute and localize Enterprise Management.
We are very pleased to welcome you to the Enterprise Management partner community.
The contractual agreement you have signed with Sage has defined your first steps in the
Enterprise Management world, along with the different training courses that you will have
to follow to learn what the product is doing and what can be done using the settings
capabilities and the development platform.
The aim of this document is to give you concrete information and to help you during your
first steps using the product in your own premises. To fully understand the concepts, you
need to have attended the various training sessions.
This document will complete your information and highlight legislation and Add-on
development compared to a general development.
This document will refer to other documents stored in the Online Help Center. To be
authorized to access these documents, you need to have an Enterprise Management
connection active on your computer (except for installation instructions and some
documents stored on a public zone).
Some topics presented in this document could be detailed during online Webex sessions,
if needed.
As any documentation related to a product, things may evolve with new releases and we
will keep the online documents up-to-date. We advise you to periodically check the
availability of new documents or new versions of existing ones.
The list of all referenced documents, and the link to access, is provided on the last
chapter.
• by Sage, and in this case they are delivered with the standard and are called ‘core’
Note: Some legislations developed by Sage are not yet in the standard and are still
delivered as ‘Add-on’)
• by partners, in this case they are classified as ‘Add-ons’ and delivered on request.
• How to start if you want to develop a new legislation or localization according to Add-
ons rules;
• The process to follow, the different Sage actors that will help you;
• The different web sites where you can find help, and how to obtain access credentials;
• How to develop and define settings;
• How to package and distribute your development, what collaterals to deliver;
• Advises on the methodology to adopt to test your development;
• How to maintain it;
and to gather in a single point, information referring to various online sources.
Collaboration between our companies is one of the keys of success for your project.
• From a technical point of view, there are obvious links towards R&D;
• From a marketing and commercial point of view it is highly recommended in order to
promote your legislation through the Enterprise Management ecosystem.
The actors
During your journey with Sage you will meet people coming from different functions.
It is important to understand the roles of these people and who globally coordinates the
project.
Function Mission
They will represent the link with the technical teams and they will
provide you with the license key you will need to use the
product.
We also advise you to seek their help for your first patch
They will also be the contact to recruit you in one of our ‘early
adopter programs’ that are submitted to partners a few months
before the GA of each version.
Each of them has a web site to offer you the services needed to
update the product and post requests.
Support The support service you will be provided will depend on your
agreement and on the Partner or Developer support package
you have subscribed with Sage.
Access is granted by the marketing team. Information on how to require credentials can
be found on the login page.
You will find general information about Enterprise Management. You will have access to a
knowledge base and information on the early adopter programs that are submitted to
partners on each product Update.
Note: Each region also publishes its own Website for support and knowledge base in
addition to the global Knowledge base.
For North America you will find the following:
- Customer Portal:
[Link]
- Knowledge base:
[Link]
eSelection=SG_SAGEX3_1
It is the place where you will find all the product documentation, how to guides and videos.
The pages explaining how to install Enterprise Management are free of access. To access
the other pages, you need to be connected to an Enterprise Management solution.
Social networks
On some social networks, there are communities related to or focused on Enterprise
Management.
This will probably change in the future since social networks evolution is rich and fast.
At this time, the most important communities where you could find people with useful and
similar experience you can share, is Linkedin ([Link]
Installation
After the ‘installation training’, you will be provided with the DVD or the access to
download the latest available version of Enterprise Management.
Enterprise Management can be installed in different ways, depending on the needs, the
number of users, the network constraints.
You will have to follow the installation procedure specified in the document
You can choose your favorite system configuration and database (Oracle or SQL).
Important! To install the product, you need to have a license key that will allow you to
use the product, and that will define the number of concurrent users that you will have
for each module (called ‘badges’).
The license key should be retrieved through your Sage sales contact or alliance manager.
We usually provide partners with a NFR (Not For Resale) license. Please validate with
your Sage contact that the number of badges granted (especially for developers)
correspond to the size of your team.
On the DVD, you will also have an application folder (usually SEED) that you must install.
It is mandatory to perform all your developments in an application folder and not in the
root folder.
You will have to create this folder using the folder management function GESADS.
Important! Pay attention that in your development folder you will have to activate all
the Activity codes in order to install all the (free) options. This is done to avoid copy
problems when installing your patch on a folder where optional modules are installed
and not on yours.
• Work at 2 levels:
o root folder, usually X3 (different name for Enterprise Management HR)
o your development folder, with a name of your choice, for example MYFOLDER,
that will be at the same level as SEED and so a child of X3
• Work at 3 levels:
o root folder, usually X3 (different name for Enterprise Management HR)
o SEED folder which is the reference application folder, and which derives from X3,
or your own reference application folder at the same level of SEED and a child of
X3
o your application folder, with a name of your choice, for example MYFOLDER, that
will be a child of SEED (or of your own reference level 2 folder),
Our recommendation, if you are not skilled yet with Enterprise Management, is to work at
2 levels as the management is simplified.
Working with 3 levels may involve complications when deploying your developments at
customer sites.
Define languages and legislations that you want to activate in this folder
Using the ‘Deferred validation’ save time as it postpones some operation that can be done
while using the folder.
When your folder is created, you will have to add an endpoint to access to it with your
browser.
Starting from now without further notice we consider you are working in this folder.
You have to request for code assignment. See the document How to add a non standard
language.
Miscellaneous table 909 contains the list of legislations. On your local folders, you will
need to add your legislation code in this table.
Note: The update of Miscellaneous table 909 must be done in the Enterprise
Management folder and in your folder.
As we require a coordination with Enterprise Management R&D, the code will be
included in the standard in the next updates.
In a large number of cases, localization also needs to take into account language
requirements and specific ways to manage local data (telephone number, address,
currency).
Enterprise Management provides a platform that is able to host new legislations and
localization.
Any new language could be hosted and managed (refer to the relevant chapter).
Any new local data management is supported via the ‘Locales’ Settings in the
Administration pages.
A powerful set of preliminary settings can be delivered to define common practice, fiscal
rules, market expectations, local reference settings etc. adapted to the new legislation.
The Safe X3 platform provides all the necessary features to develop new features and to
safely adapt existing ones, to manage the documentation, the translations and the
delivery and maintenance of any added function.
Each legislation has its own specificities, and the goal of this document is to provide a
methodology.
Specifications will be performed using gap analysis, starting from the ‘closest’ existing
legislation.
To help you in this task, this document lists all the setting functions that could impact your
legislation.
• To facilitate the integration with other legislations, you have to provide the setting
descriptions in ENG language too. In Enterprise Management terms, you must provide
the ATEXTRA texts in ENG and the local language. The last column of the document
states these particular rules.
• The legislation code belongs to the key of many tables and functions. It means you are
free to choose codes that suit you. When the legislation code is not part of the key,
please follow the instructions.
• About the automatic journals, two points need to be underlined:
o Never modify the standard automatic journals. Duplicate them when you need to
perform a personalization. Use the newly created one and set it up in the related
‘GAUxxx’ general parameters
o Note that the standard automatic journals evolve on a regular basis, because of
correction or new features. So, you need to plan to apply these evolutions to your
local version of the automatic journals.
To meet these market or legal expectations, and once you have checked they are outside
of the standard Enterprise Management scope, you will need to develop these features
using the technological platform (SAFE X3).
Documentation
Once the reference settings and the localization addons are completed, documentation
needs to be provided.
About documentation tools & processes, and about cartography, please refer to the
relevant chapters in this document.
• The translation of the user interfaces into local languages. In Enterprise Management
terms, this refers to the ATEXTE (texts) and APLSTD (messages) tables.
• The translation of the online documentation into local languages. Obviously, this would
be a huge workload, probably only relevant for some important how to guides or
function help.
• Translation into ENG (American-English) of local reference setting (ATEXTRA), local
texts and messages, and local documentation. This is the only mandatory point related
to translation.
General purpose
You need to identify the country requirements, and compared to what Enterprise
Management already offers, you will have to provide some specifications to develop
localization add-ons.
Within the Sage organization, Product Managers (PM) are in charge of the first task
(identification of country requirements). Product Business Analysts (PBA) are responsible
for the second task (specification). The result of this process is the Product Requirement
Document (PRD) that describes the scope of a feature and the development performed.
This link above provides access to our PRD template. Even if this document is related to
our own organization (PM, PBA, approval process), it should be helpful since it lists the
specification phase, and all the Enterprise Management elements to think about and
review.
Service support
Sage support your effort in legislation creation and specification steps process.
We invite you to ask your account manager to make the link with the team and to define
with you the best way to collaborate according to your needs.
During this particular specification step, when required, we will analyze and estimate if a
standard action can be run in order to facilitate your localizations.
This could vary from simple advices to entry point creation or, in some cases, standard
evolutions that should be planned for future updates.
The Fixed asset module offers a large range of asset calculation modes.
Sometimes, for legal purposes, a new mode is required in a country.
General purpose
Safe X3 is the platform that you will use to develop your specifications.
It integrates all the tools to develop, document, maintain, protect and deliver your
software.
The development platform includes settings, coding (with the Safe X3 studio platform
using Eclipse), an interactive debugger.
Documentation is integrated in the tooling, and there is a native way to isolate any text in
order to manage multi-language.
The platform also provides a set of functions to create and to install patches (APATCH).
It also allows to create partner licenses to protect what you have developed.
To manage the international target of Enterprise Management, don’t forget that you will
have to deliver what you develop also in English (ENG language). This applies to your
product and to the documentation you will create.
Different platform trainings and a set of e-learning conferences are available (see with the
training team) to help you learn how to develop with Enterprise Management. As with any
product, you will need some practice to become efficient with the tools.
This is why Sage has created the Add-on methodology. Its goal is to try to avoid potential
conflicts between verticals.
It will provide
• Naming rules
• Development rules
The naming rules will consist of a unique Add-on identifier. It is generally a 4-character
string.
Any element you create in the Enterprise Management dictionary (screens, tables,
classes) should start with those characters.
A range of local menus and miscellaneous tables, according to your needs, will also be
reserved for your Add-on.
The identifiers will be supplied by Sage R&D when you’ll request them via your Sage
Partner Account Manager (or Alliance manager).
Respecting the rules is mandatory if you intend to minimize the risks of conflict when you
install your development with other Add-ons.
Do not hesitate to ask your Sage account manager (or Alliance manager) for a dedicated
session.
Development support
Throughout your development you will be supported by Sage:
• Through the Global Partner Program which includes a Developer Support plan for
issues falling within the Developer Support scope. Please review all the facilities
offered in this plan with your Sage account manager (or Alliance manager).
• Through ad-hoc expertise provided by the Sage Development or Functional Experts,
to be discussed as needed with your Sage Partner Account Manager, for issues
requiring closer support from Sage.
The distribution process of these source files has been provided since February 2016.
If you join the legislation development group please contact your alliance manager or
Sage Product Management marketing contact to be integrated.
Note: Source code will be delivered only if the localization contract is signed
Note: These sources are not delivered in the standard patches and if you are not very
cautious you may encounter a mismatch between source code (src) and precompiled
code (adx) if one of them is delivered in a patch and the source has not been updated.
To avoid this issue we will deliver the source code in an external tool that will help you to
highlight all differences between versions and patches, and avoid mismatch issue.
After it is your responsibility if, for debugging purpose, you copy a source file on an
Enterprise Management folder and forget to delete it after the debugging operation.
CPTAUTO
TRTPCE
Automatic journal
CPTINIVAR
CPTBATCH
FICMAG
PAYCPTA
Payments
PAYPROPAL
PAYPROPAL2
RTZCALREG
RTZCALFAC
Ritenzione
RTZCALCOM
RTZPROFAC
INVDEPLIB
PAYDEPLIB
Discount/Charges management
PAYDEPLIB2
PAYDEPLIB3
GLOBIMM
Fixed assets depreciation rules (Setting
GLOBI*
and Engine)
GLOBB*
You can use the same system and in this case we provide you with a package called
‘partner license tool’. It is available starting Update 8.
You can download this package like a patch or ask the R&D Partner team for it via your
Partner Account Manager (or Alliance manager).
It will give you an interface that will enable to describe and protect your development.
To activate the product and be able to create your own partner licenses, you will first need
to create a ‘partner file’, to sign it with your private key and to send it to Sage (this topic is
explained in the Add-on rules document).
Note: The Add-on identifier is a compulsory element of the partner license file. You
need to request one if you want to use the license tool for your Add-on (See Add-on
development rules)
Within Enterprise Management, all the texts are isolated in different tables.
This is the case for the product and for the online documentation.
This document details the process that you should follow to translate the product.
The initial translation of all texts (application and documentation) is a significant task.
As a first step, it may be reasonable to consider translating elements that are critical for
demonstrating the product, that is, functions you will demonstrate, and visual processes.
This document provides the method we recommend for translating the product.
Each field and each function of Enterprise Management can be documented using the
GESADO function.
Here you will find the link to the Online help center for the GESADO function.
A partner who wants to translate the documentation can extract it using this function
(GESADO) and directly translate in the generated html file.
There are number of translation tools in the market. They will help in operational
translation, will hold your translation memory and will highlight differences so you only
need to review changes. For your information, the Sage translation team use TRADOS.
The first function is the Documentation workbench (ADOCTRA function). Starting from a
reference language it will calculate the completion percentage of the translations
according to various criteria. It can also be used to extract the list of elements which you
have created.
The documentation can also be exported and imported using the ADOCEXT and
ADOCIMP functions.
For this you will need to use the Generation action in the GESADO function.
You will have to choose the documentation you want to generate (you can also filter the
documentation based on given activity codes).
The documentation will be written in the directory corresponding to the value in the
DIRDOC general parameter.
When the documentation is generated, if you want to use it with your Enterprise
Management client, you have to add a setting in the endpoint definition and populate the
Help base URL field.
• Check if the documentation is available locally, and, if this is the case, display it
• Otherwise, use the documentation on the server.
This is why it is in your interest to only generate what you need locally (documentation in
a new language, new documentation, documentation which you have added chapters to).
Important! In this case, it can be different from the documentation available in the
server if modifications have been made to the standard.
To avoid, this you should regenerate the local documentation with each Enterprise
Management Update.
For the future, we are thinking of a global documentation platform for Sage and partners.
Patch creation
Enterprise Management includes a set of functionalities enabling the creation and
distribution of patches.
As seen in the chapter on development, the development tool includes the concept of
‘Activity code’, which should be used to mark all your development.
Creating the patch of your legislation will consist of collecting all the distributable files:
This function selects and extract a set of elements developed with the technological
platform. Each element is associated with a ‘type’ (simple or complex) and you will have to
provide the key associated (name of the element). All that is developed with Enterprise
Management can be patched.
The online documentation gives the necessary information on how to use this function.
You will notice that there are different types of patches, corresponding to different
behaviors that will be applied when you integrate your patch list on a customer site.
In your case, we recommend that you use the ‘Add-on’ type. It will protect any vertical
development that is already installed.
A patch list creation is declarative process. To use it, you will have to give a list of
elements to patch. The Automatic patch creation function will help you draw up the list.
You can define a minimum version to which the patch can be integrated. If you complete
the VERSION field, the version will be controlled on patch integration.
• A time range;
• A list of Activity codes.
This function allows all the legislation settings to be grouped in a single place.
It uses ‘data models‘ (GESAWM function) which define groups of tables working together
[Link]
For each data model, a legislation field can be defined. This makes it possible to avoid
having to redefine the condition when you need to select the settings linked to your
legislation.
For those tables that are not linked to a legislation, you can define a condition (here is an
example).
To use this function, we advise you to duplicate the settings of an existing legislation and
to adapt them to your own legislation (LEGBEL is a good starting point).
The Set up copy function ACOPAPH can help you test a patch creation or a copy of your
legislation settings.
It is important to notice that starting with Update 8, the concept of ‘factory owner’ makes it
possible to identify all your customizations in the Syracuse administration. We advise you
to use this concept which is also interesting because it protects your standard delivery
and forces customizations to be saved separately.
As you have seen in the training course and in the Add-on development rules, the Factory
ID is defined in the security profile function in the Syracuse administration pages.
Note: To activate this option, a special setting must be defined in the [Link] file
enablePartnerFeatures: true,
To have the translation available for each new folder that you will create, you will have to
patch ATEXTE and APLSTD tables on the Application folder as well. It is an exception to
the principle that you should never work in the application folder which is reserved for the
standard.
Patch delivery
When you’ll have created your patches for legislation and translations it is important to
define the integration methodology on a customer site.
First delivery
You need first to check if the customer environment is at the right version and patch that
you are expecting.
Starting with Update 9, in the Syracuse administration pages you will find an ‘About’
features in the Utilities menu that will let you see what is installed on each end-point.
After this verification we will advise you to check the presence of the locales associated
with your legislation and localization:
Step 2 : In the application folder and in the applicable folder add the new language code
in the GESTLA function
Step 3 : Update the application folder with the patch of the ATEXTE and APLSTD table
(see Add language documentation)
Note: Updating the Enterprise Management folder with the texts in the new language
enables you to create new folders in the same solution to be able to directly set the
new language without manipulations.
As for a first delivery you need first to check if the customer environment is at the right
version and patch that you are expecting.
Now you will have to follow the generation steps that are explained in the language
management documentation. It includes a VALDICO operation that could be long (several
hours).
At this stage, check that Miscellaneous table 909 includes your legislation code. If not add
it manually.
Go to the folder management (GESADS), add the new legislation in the folder.
At this stage normally you shoud validate the folder to include the legislation, but as you
have installed all that is needed, and because it is a very long operation, there is a
shortcut.
You must update the DOSLEG parameter to add the new legislation. You can use the
table maintenance (GMAINT function).
DOSLEG= FRA~ENG~YTU
Now you have completed the tasks on the application folder. You need to install your
Syracuse patch containing the authorings, and dashboards you have patched.
If you have used the partner license key tool, you must also load your license.
First, you need to create a patch. Then, you need to install this patch outside of your
development environment.
This will guarantee that nothing in the patch has been forbidden/excluded.
Usually this is an interactive process and we recommend that you take advantage of it to
write a detailed installation procedure, especially if manual actions are necessary.
The new legislation should work installed as standalone (the only legislation in the folder)
and also with other legislations installed in the same folder. Your tests should aim at
checking the behavior in these various cases.
The functional and legal tests that you have to run on the new legislation have to be
defined according to the specifications.
Note: The document ‘How to test a new legislation’ provides guidelines on how to
proceed according to Sage experience with standard legislations. It may be adapted
according to your context.
Independently of whether those features are core or additional to core, cartography also
gives a basic description of the solution provided to the end user.
According to the frequency of Updates, the various patch lists will include only bug fixes
and no evolution (except legal requirements).
A global maintenance policy has been defined to specify the rules for those versions that
are maintained, depending on the lifecycle maintenance and support stage for that
version as specified by Sage marketing and product documentation.
To facilitate the adoption of this policy, Sage is investing in an ‘Easy patching’ program to
facilitate patch integration and version upgrade. As you have seen in the Add-on
development rules, Sage provides a control program that checks the compatibility of your
customization with automatic patching.
Patch process
For each Update, patches are regularly produced.
As explained in the versioning policy, these patches only contain bug fixes (evolutions
only in some particular cases).
For example, in France, patches are available for download when connecting to the
French knowledge base at the following address [Link]
All Enterprise Management patches are located here and a post indicates the last
updated elements. Access to this Website is granted by the French support team.
Your alliance manager will establish the link for you on request.
Patches are not (for the moment) cumulative. They should be installed following their
sequence number, one after the other.
For each patch, you will have to test your Add-on and determine if it is compatible with it.
You may have changes to complete, according to compliance or bug fixing that you have
performed. Consequently, you can deliver these changes as an Add-on patch in addition
to the standard patch.
Normally, patches do not include enhancements, but only fixed bugs. The risk that a
feature working before patch integration, and not working afterwards, is low, if you comply
with the Add-on development rules. Yet this risk cannot be completely ignored.
Upgrade process
Every 6 months, Sage delivers a new Update of the product.
The partner’s mission developing an Add-on, especially a global Add-on like a legislation,
is to check the compatibility and, if necessary, to adapt its legislation and its localization
(there will probably be new texts to translate!) as quickly as possible.
Each upgrade contains functional enhancements that can affect your developments.
This is why upgrades cannot be fully automatic, unlike patches (this will be done with the
Easy udpdate tooling coming with the product).
• For you:
o You are trained earlier than everybody else;
o You have all the information about new features before everybody else;
o If any problem arises in the migration process, you get help from Sage;
o You can migrate your Add-on sooner and be ready when the version is launched.
• For Sage and globally for everyone else:
o it is a good additional test for the version before GA.
It is your responsibility, when you have tested your legislation with the new updated
version, to certify that your legislation is working, to deliver the patch associated with the
version, and to update any technical or marketing document linked to this operation.
Workload
It is very difficult to estimate the total workload of the whole operation. The drawing-up of
specifications and the development of add-ons are obviously closely related to the
complexity of each legislation, the requirements of fiscal authorities, the expectations of
local markets and so on. We cannot provide figures for this workload.
Concerning the product translation (screens, messages, multi-language reports etc.), and
based on our previous experience in 11 standard languages, we know that achieving a
good quality requires at least 200 working days (of course, this workload has to be
phased).
Also, do not forget that training, mastering all the aspects of the software, writing
documentation for local add-ons etc. can also be very time-consuming. Be careful not to
underestimate all these tasks.
Commitment
Creating a new approved legislation is a first step.
Approach
At last, we want to highlight that creation of a new legislation will be quite challenging for
you.
All the documents referenced in this guide are stored in the Enterprise Management
Online help center. They may be updated with new versions or changes in Enterprise
Management. We invite you to regularly check these documents if you need them.
The online documentation for prerequisites can be accesses at the following urls
• Example of Product requirement
• Business partner licence tool
• How to write the documentation
• How to add a non standard language
• How to personalize landing pages