Opvragen JSON van Loket loonstroken via PayrollPeriodResults By EmploymentId And Year

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: