Bijwerken artikelen in Exact Online vanuit Excel-bestand met curl

Met Invantive Cloud is het mogelijk om artikelen massaal bij te werken conform een spreadsheet. Dit kon al via bijvoorbeeld met:

Vanaf versie 24.0.238 is het ook mogelijk om zonder webforms door een directe upload van een bestand mutaties te maken in Exact Online.

Excel-bestand met artikelmutaties voor Exact Online

Maak een Excel-bestand zoals:

image

met in de eerste kolom de divisiecode (zodat laden in meerdere administraties mogelijk is), in de tweede kolom de artikelcode en in de laatste kolom de gewenste omschrijving.

Applicatiemodule voor inlezen

Maak een applicatie op Invantive Cloud met daarin een uitvoerbare module met de volgende code:

declare
  l_payload blob;
begin
  --
  -- Get uploaded file.
  --
  l_payload := cloud_http.get_request_body_binary();
  --
  if l_payload is null
  then
    raise_application_error('sample001', 'The file payload is empty.');
  end if;
  --
  -- Update items.
  --
  for r
  in 
  ( select *
    from   exceltable
           ( worksheet 'Blad1'
             passing l_payload
             skip empty rows
             skip first 1 rows
             columns division    int64    not null position next
             ,       itemcode    varchar2 not null position next
             ,       description varchar2 not null position next
           ) xlsx
    order
    by     itemcode
  )
  loop
    update ExactOnlineREST..Items@eol
    set    Description  = r.description
    where  code         = r.itemcode
    and    division     = r.division
    ;
    if sqlrowcount != 1
    then
      raise_application_error
      ( 'sample002'
      , 'Artikel ' || r.itemcode || ' does not exist.'
      );
    end if;
  end loop;
end;

Start daarna de applicatie en kies “Kopieer link” bij het kaartje van de applicatiemodule:

Artikelen voor Verwerking

Maak artikelen aan zoals:

image

Start Verwerking

Maak een batch- of ksh-script met inhoud:

curl -X POST --upload-file c:\path\items.xlsx --user john.doe@acme.com:secret@ https://app-online.cloud/apps/dd281455-0055-4466-9972-7c186ce74682/databases/acme-exact-online/modules/eeee0cb2-7777-47c8-8c23-512b32772963/

en voer dit uit.

Artikelen na Verwerking

Het resultaat is na enkele seconden zichtbaar:

image

Monitoring

De voortgang van de verwerking is in te zien via de Invantive App Online Monitoring (zie Meer inzicht met nieuwe Bridge Online Monitoring).