Zou je de exacte query kunnen toevoegen?
De volgende query geeft de JSON van de loonstroken van de dienstverbanden en jaren:
select ppr.document
from PayrollAdministrationPayrollRunPeriodResults pat
join PayrollPeriodResultsByEmploymentIdAndYear(pat.prt_employmentId, pat.prn_payrollPeriod_year) ppr
limit 10
De JSON kun je dan exporteren via bijvoorbeeld:
local export documents in DOCUMENT to "c:\temp" filename automatic
Let op: blindelings bovenstaande query draaien op een Loket-omgeving met 5.000 werkgevers en veel meer werknemers en dienstverbanden duurt heel lang. Daarom is een limit 10
toegevoegd.
Net zoals bij de loonaangiftes richting de BelastingDienst zit er een structuur in de JSON. Hier doet Invantive SQL op dit moment niks; de query moet zelf alles opknippen nadat de specificaties opgevraagd zijn. Bij terugkerende vraag kunnen we overwegen dit opknippen van het document (de “payload”) toe te voegen als een aparte view.
Een klein voorbeeld met minimale informatie vanwege privacy toont het soort loonstrook en de periode (want alleen het jaar wordt meegegeven en daar komen 0 of meer periodes op terug):
select pat.prt_employmentId
, pat.prn_payrollPeriod_year
, j.*
from PayrollAdministrationPayrollRunPeriodResults pat
join PayrollPeriodResultsByEmploymentIdAndYear(pat.prt_employmentId, pat.prn_payrollPeriod_year) ppr
join jsontable
( 'content.payrollPeriods[*].payslipTypes[*]'
passing ppr.document
columns payslip_type_value varchar2 path 'payslipType.value'
, payroll_period varchar2 path '::ancestor.payrollPeriod.periodNumber'
)
j
limit 100
met als resultaat: