library(rlist)
#----
#^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^
#
# LIVESTOCK PRODUCTION COLUMNS ----
# table J
#^-^-^-^-^-^-^-^-^-^^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^
# FIELDS:
# code.num=the numeric code of the animal (not numeric for aggregated categories)
# code.str= The letter code of the animal
# column= The column (CV,OV,SS, etc.). See the 'dictionary_secondary.xslx' for further explanations
# valuetype= What type of value is contained? {N=number, V=value, A=average number},
# total= Is it an aggregate category? If "", no, otherwise yes
# special= Is it a special category? If "", no, otherwise yes (e.g. LBOV1 is further distinguished to LBOV1_2F,LBOV1_2M, etc. special="2F","2M", etc.)
# comments= any comments (mostly the units))
#columns: COMMON name, name from 2014, DESCRIPTION, Comment
#regexp: ^(.*?)_([a-zA-Z0-9]*?)(_?)([a-zA-Z0-9]*?)\t([a-zA-Z0-9]*?)_([a-zA-Z0-9]*?)_?([a-zA-Z]*?)([0-9]*?)_?([a-zA-Z0-9]*?)\t(.*?)\t(.*?)$
#replacement: "\1_\2\3\4"=list(\ncode.num="\8",\ncode.str="\1",\ncolumn="\6",\nvaluetype="\9",\ntotal="\7",\nspecial="\2",\ncomments="\11"),\n
col.codes.livestock.list = list(
"LANIMOTH_FCV"=list(
code.num="900",
code.str="LANIMOTH",
column="FC",
valuetype="V",
total="",
special="",
comments="in EUR"),
"LANIMOTH_FUV"=list(
code.num="900",
code.str="LANIMOTH",
column="FU",
valuetype="V",
total="",
special="",
comments="in EUR"),
"LANIMOTH_NO"=list(
code.num="900",
code.str="LANIMOTH",
column="NO",
valuetype="V",
total="",
special="",
comments="in EUR Net output = sales + farmhouse consumption - purchases"),
"LANIMOTH_PI"=list(
code.num="900",
code.str="LANIMOTH",
column="PI",
valuetype="V",
total="",
special="",
comments="in EUR"),
"LANIMOTH_TO"=list(
code.num="900",
code.str="LANIMOTH",
column="TO",
valuetype="V",
total="",
special="",
comments="in EUR"),
"LANIMOTH868_AN"=list(
code.num="50",
code.str="LANIMOTH868",
column="",
valuetype="OTHAV",
total="",
special="",
comments="Average number"),
"LANIMOTH868_CN"=list(
code.num="50",
code.str="LANIMOTH868",
column="",
valuetype="OTHCN",
total="",
special="",
comments="number of animals"),
"LANIMOTH868_CV"=list(
code.num="50",
code.str="LANIMOTH868",
column="",
valuetype="OTHCV",
total="",
special="",
comments="in EUR. As per regulation 868"),
"LANIMOTH868_GSC"=list(
code.num="50",
code.str="LANIMOTH868",
column="",
valuetype="OTHDG",
total="",
special="",
comments="in EUR. As per regulation 868.Gross stock change (CV - OV)"),
"LANIMOTH868_ON"=list(
code.num="50",
code.str="LANIMOTH868",
column="",
valuetype="OTHBN",
total="",
special="",
comments="number of animals"),
"LANIMOTH868_OV"=list(
code.num="50",
code.str="LANIMOTH868",
column="",
valuetype="OTHBV",
total="",
special="",
comments="in EUR"),
"LANIMOTH868_PN"=list(
code.num="50",
code.str="LANIMOTH868",
column="PN",
valuetype="OTHPN",
total="",
special="",
comments="number of animals purchased"),
"LANIMOTH868_PV"=list(
code.num="50",
code.str="LANIMOTH868",
column="PV",
valuetype="OTHPV",
total="",
special="",
comments="value (EUR) of animals purchased"),
"LANIMOTH868_RSC"=list(
code.num="50",
code.str="LANIMOTH868",
column="",
valuetype="OTHDR",
total="",
special="",
comments="in EUR. Stock change after revaluation (= DG for non breeding livestock, = LVVAL for breeding livestock) refer to RICC 1750"),
"LANIMOTH868_SN"=list(
code.num="50",
code.str="LANIMOTH868",
column="50",
valuetype="OTHSN",
total="",
special="",
comments="number of animals sold"),
"LANIMOTH868_SV"=list(
code.num="50",
code.str="LANIMOTH868",
column="",
valuetype="OTHSV",
total="",
special="",
comments="value (EUR) of animals sold"),
"LBEERABB_CV"=list(
code.num="",
code.str="LBEERABB",
column="CV",
valuetype="V",
total="OTH",
special="",
comments="in EUR. From 2014"),
"LBEERABB_FCV"=list(
code.num="",
code.str="LBEERABB",
column="FC",
valuetype="V",
total="OTH",
special="",
comments="Farmhouse consumption"),
"LBEERABB_FUV"=list(
code.num="",
code.str="LBEERABB",
column="FU",
valuetype="V",
total="OTH",
special="",
comments="in EUR. From 2014"),
"LBEERABB_NO"=list(