Data Conversion from Petra to Openpetra

From OpenPetra Wiki
Jump to navigation Jump to search

see also

This page is about data conversion / migration from Petra to OpenPetra.

Standard and System Accounts

The Converter has to create the new set of account properties

In the code you can reference TAccountPropertyEnum.

This data shall be stored in a_account_property. Therefore new key of a_property_code_c is defined:

  1. Is_Special_Account

The primary key of a_account_property is:

CONSTRAINT a_account_property_pk PRIMARY KEY (a_ledger_number_i, a_account_code_c, a_property_code_c, a_property_value_c),

and so more than one value can be assigned to a key.

Standard Accounts

&GLOBAL-DEFINE EARNINGS-BF-ACCT 9700
&GLOBAL-DEFINE DIRECT-XFER-ACCT 5501
&GLOBAL-DEFINE ICH-SETTLEMENT-ACCT 5601
&GLOBAL-DEFINE ICH-ACCT 8500
&GLOBAL-DEFINE INTERNAL-XFER-ACCT 9800
&GLOBAL-DEFINE ADMIN-FEE-INCOME-ACCT 3400
&GLOBAL-DEFINE ADMIN-FEE-EXPENSE-ACCT 4900
&GLOBAL-DEFINE FUND-TRANSFER-INCOME-ACCT 3300
&GLOBAL-DEFINE FUND-TRANSFER-EXPENSE-ACCT 4800

Actually in use are ...

&GLOBAL-DEFINE ICH-ACCT 8500

In this case we set:

a_property_code_c = "Is_Special_Account";
a_property_value_c = "EARNINGS_BF_ACCT"

There is only one standard account for each of the types above. So the first value which is found shall be used.

Hint: The characters "-" and "_" are replaced in order to get a proper enum set in c#.

And furthermore there is another hard coded account

IF a_ledger.a_ilt_processing_centre_l THEN DO:  
    FOR EACH a_account
    WHERE a_account.a_ledger_number_i EQ pv_ledger_number_i
    AND   a_account.a_posting_status_l
    AND   a_account.a_account_code_c BEGINS "85" ...

But this is ICH-ACCT

System Accounts

&GLOBAL-DEFINE GIFT-HEADING GIFT
&GLOBAL-DEFINE INTER-LEDGER-HEADING ILT
&GLOBAL-DEFINE BANK-HEADING CASH
&GLOBAL-DEFINE BALANCE-SHEET-HEADING BAL SHT
&GLOBAL-DEFINE PROFIT-AND-LOSS-HEADING PL
&GLOBAL-DEFINE INCOME-HEADING INC
&GLOBAL-DEFINE EXPENSE-HEADING EXP
&GLOBAL-DEFINE DEBTOR-HEADING DRS
&GLOBAL-DEFINE CREDITOR-HEADING CRS
&GLOBAL-DEFINE TOTAL-ASSET-HEADING ASSETS
&GLOBAL-DEFINE TOTAL-LIABILITY-HEADING LIABS
&GLOBAL-DEFINE EQUITY-HEADING RET EARN

In this case we set:

a_property_code_c = "Is_Special_Account";
a_property_value_c = "GIFT_HEADING"

In this case we get a unique summation account.

Change of Personnel Module Data

Personal Data Link

The following fields have been moved from table p_person to table pm_personal_data. During conversion the values need to be taken across.

p_believer_since_year_i
p_believer_since_comment_c

Driving Licence Information

This information will no longer be available from the "Personal Data" (now "Miscellaneous") link in the Personnel Data Screen but should now be entered as a new record under "Personal Documents" (Document Type "DRIVING-LICENCE" with Category "GENERAL").

Data conversion needs to move data from pm_personal_data.pm_driving_license_number_c and create a new record in pm_document for this. Same needs to be done by data import from 2.x file format.

Language Levels

In Petra 2.x the list of language levels contains entries 01 to 10 and 99. This makes it too difficult for users to choose the appropriate level. A simplified model needs to be put in place and data conversion as well as import from previous file formats need to take this into account.

Therefore less levels are suggested:

  • 01 Basic (Replaces 00, 01, 02, 03): "Uses a narrow range of language, adequate for basic needs and simple situations. Does not really have sufficient language to cope with normal day-to-day, real-life communication, but basic communication is possible with adequate opportunities for assistance."
  • 02 Intermediate (Replaces 04, 05, 06, 07): "Uses the language independently and effectively in familiar situations. Rather frequent lapses in accuracy, fluency, appropriateness and organisation, but usually succeeds in communication and comprehending the general message."
  • 03 Advanced (Replaces 08, 09): "Uses a full range of language with proficiency approaching that in the learner's own mother tongue. Copes well even with demanding and complex language situations. Makes minor lapses in accuracy, fluency, appropriateness and organisation which do not affect communication."
  • 99 Unknown: "Speaks the language to some extent, level unknown."

Removing unused data items

The following fields have been removed from tables used in the personnel module:

TODO