Download grootboeksaldi op MacOS naar CSV voor Google Sheets

Er zijn verschillende manieren om Exact Online grootboeksaldi (of andere queries) te gebruiken in Google Sheets (zie ook bijvoorbeeld Download Exact Online into Google Sheets).

Als maar weinig data nodig is, zoals de Exact Online grootboeksaldi, dan kunnen die eenvoudig met een kleine applicatiemodule geautomatiseerd gedownload worden zoals beschreven in Hoe kan ik openstaande posten en bankmutaties downloaden in Google Sheets vanuit Exact Online? - 2 van forums.

Gebruik de volgende code in de applicatiemodule:

declare
  l_output varchar2;
begin
  select listagg(csv, chr(13))
  into   l_output
  from   ( select /*+ result_set_name("Balances") */
                  bld.division_hid
           ,      bld.division_name
           ,      bld.periods_year_reportingyear_attr
           ,      bld.reportingperiod_attr
           ,      bld.periods_year_years_balance_code_attr
           ,      bld.periods_year_years_balance_description
           ,      bld.debit
           ,      bld.credit
           ,      bld.debit - bld.credit
                  balance
                  label '{res:itgen_eol_balance}'
           ,      bld.periods_year_open
           ,      bld.periods_year_debit
           ,      bld.periods_year_credit
           ,      bld.periods_year_close
           from   systempartitions@datadictionary spn
           join   balancelinesperperiodex@eol
                  ( spn.code
                  , to_number(2023)
                  , to_number(2023) - to_number(2022)
                  , to_number(1)
                  , to_number(12)
                  , Params_AfterEntry => true
                  )
                  bld
           on     ( bld.debit != 0 or bld.credit != 0 or bld.periods_year_open != 0 or bld.periods_year_close != 0 )
           where  spn.is_selected = true
           and    spn.provider_data_container_alias = 'eol'
           order
           by     bld.division_hid
           ,      bld.periods_year_reportingyear_attr
           ,      bld.reportingperiod_attr
           ,      bld.periods_year_years_balance_code_attr
           for csv
         );
  cloud_http.set_response_body_text(l_output);
  cloud_http.set_response_content_type('text/csv');
  cloud_http.set_response_header_value('Content-Disposition', 'attachment; filename="saldi.csv"');
end;

En maak daarna een KSH-script dat de saldi wegschrijft in een map op Google Drive voor verwerking in Google Sheets:

#!/bin/ksh
OUT_FOLDER=~"/Google Drive/Gedeelde drives/DOELMAP"
curl --output "${OUT_FOLDER}/saldi.csv" --user john.doe@acme.com:xxx https://app-online.cloud/apps/GUID/databases/acme-exact-online/modules/GUID/

Dit script kan regelmatig en automatisch gedraaid worden met crontab onder MacOS.