diff --git a/KettleJobs/Stage1/products/savingproducts.ktr b/KettleJobs/Stage1/products/savingproducts.ktr
index 4ef6909..0a08d7e 100644
--- a/KettleJobs/Stage1/products/savingproducts.ktr
+++ b/KettleJobs/Stage1/products/savingproducts.ktr
@@ -6,7 +6,7 @@
Normal
- /
+ /
@@ -16,7 +16,7 @@
-ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELD
+ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERCLIENTNCLIENT
@@ -33,6 +33,11 @@
ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD
+
+
+
+
+ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEMETRICS_DATEYMETRICS_DATEMETRICS_CODEYMETRICS_CODEMETRICS_DESCRIPTIONYMETRICS_DESCRIPTIONMETRICS_SUBJECTYMETRICS_SUBJECTMETRICS_TYPEYMETRICS_TYPEMETRICS_VALUEYMETRICS_VALUE
@@ -61,9 +66,9 @@
-
- 2014/03/23 13:36:41.567
+ 2014/03/23 13:36:41.567
-
- 2014/03/23 13:36:41.567
+ 2014/03/23 13:36:41.567
@@ -92,7 +97,7 @@
DestinationDB
localhost
MYSQL
- JNDI
+ ,
DestinationDB
3306
@@ -117,7 +122,7 @@
SourceDB
localhost
MYSQL
- JNDI
+ ,
SourceDB
3306
@@ -139,50 +144,22 @@
- Input Saving Productsinterest calculation type mappingY interest calculation type mappingOutput Savings ProductY
+ Input Saving Productsinterest calculation type mappingY
+ interest calculation type mappingOutput Savings ProductY
+
Input Saving Products
TableInput
Y
+
1
none
SourceDB
- SELECT
-po.PRD_OFFERING_ID As id
-, po.PRD_OFFERING_NAME As name
-, po.PRD_OFFERING_SHORT_NAME As short_name
-, IFNULL( IF(po.DESCRIPTION = '' ,po.PRD_OFFERING_NAME , po.DESCRIPTION ) , po.PRD_OFFERING_NAME ) As description
-, 'INR' As currency_code
-, 2 As currency_digits
-, 0 As currency_multiplesof
-, so.interest_rate As nominal_annual_interest_rate
-, CASE
- WHEN ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) = 1 THEN 1 -- Daily
- WHEN ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) > 1 THEN 4 -- Monthly
- ELSE 1 -- Defualted to Monthly
- END AS interest_compounding_period_enum -- recur after and RECURRENCE_ID [ 1 Week(s) 2 / Month(s) 3 / Day(s) ]
-, CASE
- WHEN 31 >= (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) AND (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) > 27 THEN 4 -- Monthly
- WHEN 100 >= (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) AND (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) > 80 THEN 5 -- Quarterly
- WHEN 370 >= (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) AND (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) > 350 THEN 7 -- Annually
- ELSE 7 -- Defualt to yearly
- END AS interest_posting_period_enum -- -- recur after and RECURRENCE_ID [ 1 Week(s) 2 / Month(s) 3 / Day(s) ]
-, so.interest_calculation_type_id AS interest_calculation_type_enum -- 1 = Daily balance 2 = Daily average balance
-, 360 AS interest_calculation_days_in_year__type_enum
-, so.recommended_amount AS min_required_opening_balance
-, ${ACCT_TYPE} AS accounting_type
-FROM prd_offering po
-INNER JOIN savings_offering so ON so.PRD_OFFERING_ID = po.PRD_OFFERING_ID
-INNER JOIN prd_offering_meeting pom_ip ON pom_ip.prd_offering_id = po.PRD_OFFERING_ID AND pom_ip.prd_offering_meeting_type_id = 3 -- Savings Frequency of Interest Posting to Accounts
-INNER JOIN meeting mt_ip ON mt_ip.meeting_id = pom_ip.prd_meeting_id AND mt_ip.meeting_type_id = 3 -- Savings Frequency of Interest Posting to Accounts
-INNER JOIN recurrence_detail rd_ip ON rd_ip.meeting_id = mt_ip.meeting_id
-INNER JOIN prd_offering_meeting pom_ic ON pom_ic.prd_offering_id = po.PRD_OFFERING_ID AND pom_ic.prd_offering_meeting_type_id = 2 -- Savings Time Period for Interest Calculation
-INNER JOIN meeting mt_ic ON mt_ic.meeting_id = pom_ic.prd_meeting_id AND mt_ic.meeting_type_id = 2 -- Savings Time Period for Interest Calculation
-INNER JOIN recurrence_detail rd_ic ON rd_ic.meeting_id = mt_ic.meeting_id
+ SELECT
po.PRD_OFFERING_ID As id
, po.PRD_OFFERING_NAME As name
, po.PRD_OFFERING_SHORT_NAME As short_name
, IFNULL( IF(po.DESCRIPTION = '' ,po.PRD_OFFERING_NAME , po.DESCRIPTION ) , po.PRD_OFFERING_NAME ) As description
, 'INR' As currency_code
, 2 As currency_digits
, 0 As currency_multiplesof
, so.interest_rate As nominal_annual_interest_rate
, CASE
WHEN ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) = 1 THEN 1 -- Daily
WHEN ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) > 27 AND ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) < 31 THEN 4 -- Monthly
WHEN ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) > 80 AND ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) < 100 THEN 5 -- Quaterly
WHEN ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) > 170 AND ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) < 190 THEN 6 -- Bi-annualy
WHEN ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) > 350 AND ( rd_ip.recur_after * IF( rd_ip.RECURRENCE_ID = 1 , 7 , IF( rd_ip.RECURRENCE_ID = 2 , 30 , 1))) < 370 THEN 7 -- Annualy
ELSE 1 -- Defualted to Monthly
END AS interest_compounding_period_enum -- recur after and RECURRENCE_ID [ 1 Week(s) 2 / Month(s) 3 / Day(s) ]
, CASE
WHEN 31 >= (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) AND (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) > 27 THEN 4 -- Monthly
WHEN 100 >= (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) AND (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) > 80 THEN 5 -- Quarterly
WHEN 190 >= (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) AND (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) > 170 THEN 5 -- Bi-Annually
WHEN 370 >= (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) AND (rd_ic.recur_after * IF( rd_ic.RECURRENCE_ID = 1 , 7 , IF( rd_ic.RECURRENCE_ID = 2 , 30 , 1))) > 350 THEN 7 -- Annually
ELSE 7 -- Defualt to yearly
END AS interest_posting_period_enum -- -- recur after and RECURRENCE_ID [ 1 Week(s) 2 / Month(s) 3 / Day(s) ]
, so.interest_calculation_type_id AS interest_calculation_type_enum -- 1 = Daily balance 2 = Daily average balance
, 360 AS interest_calculation_days_in_year__type_enum
, so.recommended_amount AS min_required_opening_balance
, ${ACCT_TYPE} AS accounting_type
FROM prd_offering po
INNER JOIN savings_offering so ON so.PRD_OFFERING_ID = po.PRD_OFFERING_ID
INNER JOIN prd_offering_meeting pom_ip ON pom_ip.prd_offering_id = po.PRD_OFFERING_ID AND pom_ip.prd_offering_meeting_type_id = 3 -- Savings Frequency of Interest Posting to Accounts
INNER JOIN meeting mt_ip ON mt_ip.meeting_id = pom_ip.prd_meeting_id AND mt_ip.meeting_type_id = 3 -- Savings Frequency of Interest Posting to Accounts
INNER JOIN recurrence_detail rd_ip ON rd_ip.meeting_id = mt_ip.meeting_id
INNER JOIN prd_offering_meeting pom_ic ON pom_ic.prd_offering_id = po.PRD_OFFERING_ID AND pom_ic.prd_offering_meeting_type_id = 2 -- Savings Time Period for Interest Calculation
INNER JOIN meeting mt_ic ON mt_ic.meeting_id = pom_ic.prd_meeting_id AND mt_ic.meeting_type_id = 2 -- Savings Time Period for Interest Calculation
INNER JOIN recurrence_detail rd_ic ON rd_ic.meeting_id = mt_ic.meeting_id
0
N
@@ -190,8 +167,8 @@ INNER JOIN recurrence_detail rd_ic ON rd_ic.meeting_id = mt_ic.meeting_id
N
- 351
- 210
+ 220
+ 239
Y
@@ -201,6 +178,7 @@ INNER JOIN recurrence_detail rd_ic ON rd_ic.meeting_id = mt_ic.meeting_id
TableOutput
Y
+
1
none
@@ -283,8 +261,8 @@ INNER JOIN recurrence_detail rd_ic ON rd_ic.meeting_id = mt_ic.meeting_id
- 504
- 342
+ 681
+ 240
Y
@@ -294,6 +272,7 @@ INNER JOIN recurrence_detail rd_ic ON rd_ic.meeting_id = mt_ic.meeting_id
ValueMapper
Y
+
1
none
@@ -314,8 +293,8 @@ INNER JOIN recurrence_detail rd_ic ON rd_ic.meeting_id = mt_ic.meeting_id
- 504
- 86
+ 457
+ 240
Y
@@ -325,4 +304,5 @@ INNER JOIN recurrence_detail rd_ic ON rd_ic.meeting_id = mt_ic.meeting_id
N
+
diff --git a/MappingDocs/acc_product_mapping.xls b/MappingDocs/acc_product_mapping.xls
index 643a833..8ea9448 100644
Binary files a/MappingDocs/acc_product_mapping.xls and b/MappingDocs/acc_product_mapping.xls differ
diff --git a/MappingDocs/ref_MIfos_Mifos_X_mapping.xls b/MappingDocs/ref_MIfos_Mifos_X_mapping.xls
new file mode 100644
index 0000000..d2c668d
Binary files /dev/null and b/MappingDocs/ref_MIfos_Mifos_X_mapping.xls differ
diff --git a/MappingDocs/sample_docs/CoA.xls b/MappingDocs/sample_docs/CoA.xls
new file mode 100644
index 0000000..7aed3d1
Binary files /dev/null and b/MappingDocs/sample_docs/CoA.xls differ
diff --git a/MappingDocs/sample_docs/acc_product_mapping.xls b/MappingDocs/sample_docs/acc_product_mapping.xls
new file mode 100644
index 0000000..aebfaeb
Binary files /dev/null and b/MappingDocs/sample_docs/acc_product_mapping.xls differ