Hovedbokføring : overføring til økonomisystem

Denne tjenesten  benyttes for overføring av hovedbok til økonomisystem, for BOTT samarbeidet for økonomi og lønn. Tilsvarende funksjonalitet finnes i rapport 208.001, som denne tjenesten kaller direkte.

Tjenesten kaller kjører direkte på rutine 208001, og returnerer det ferdig aggregerte resultatet av kjøringen tilbake i JSON format. Det kan styres via innparameter til tjeneste om FS skal oppdateres, dvs om utplukket skal oppdateres som bokført.

I tillegg kan det velges om det skal gjøres en ny beregning via innparameter til tjenesten.Dersom ny beregning velges, vil det lages et nytt bilagsnr. Dersom det er valgt at FS skal oppdateres, vil det oppdateres tabellen Firma_betal, i tillegg til å lage et nytt bilagsnr.

Et nytt buntnr vil også genereres,  og dersom det skal oppdateres, vil de respektive tabellene oppdatres med buntnr.

 

Det er også implementert funksjonalitet som validerer innholdet, som leveres som en del av svaret :

  1. Summere negative beløp i bunten/bunken og summere positive beløp i bunten/bunken

  2. Telling av antall linjer i bunten.

Tilgjengelig grensesnitt

Hent hovedbok for økonomisystem

Denne tjenesten henter og/eller oppdaterer data fra hovedbok. Dette er en POST-tjeneste som tar form-parametre(x-www-form-urlencoded) og returnerer JSON.

URL for test:  https://fs-test.uio.no/fsrest/rest/okonomi/hovedbok
URL for prod:  https://fsws.usit.no/fsrest/rest/okonomi/hovedbok

  • buntnr - Henter ut data filtrert på buntnummer. Buntnummer er på formatet "F + Dato". Dato har formatet yyyyMMdd. Null er også en lovlig verdi for buntnr.

  • dato - Dato er på formatet "yyyyMMdd". Siste dato for eksport. Ifm ny beregning
  • oppdaterFS - "J"/"N" . Oppdaterer FS. Buntnr generert returneres
  • beregning - "Ny"/"Tidligere". Ny beregning eller Tidligere beregning. Tidligere beregning er mulig å kjøre for å gjenskape en overføring som er kjørt tidligere.

Java-eksempel

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;

public class GetHentBunt {

    private static String theUrl = "https://fs-test.uio.no/fs-test.uio.no/fsrest/rest/hovedbok";
   
    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpPost post = new HttpPost(theUrl);

        List<NameValuePair> parameters = new ArrayList<NameValuePair>();
        parameters.add(new BasicNameValuePair("buntnr", "F20210803"));
        parameters.add(new BasicNameValuePair("oppdaterFS", "N"));
        parameters.add(new BasicNameValuePair("beregning", "Eksisterende"));

        post.setEntity(new UrlEncodedFormEntity(parameters));
        HttpResponse response = client.execute(post);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

"buntnr": "F20220401",
    "sumposbelop": "4570398",
    "sumnegbelop": "4570398",
    "antallrader": 35,
    "bilagliste": [
        {
            "bilagsnr": "14227",
            "dato": "20220126",
            "tekst": "1236784 Ikke-plasserte beløp",
            "belop": "-55900",
            "kdim0": "2801",
            "kdim1": null,
            "kdim5": null
        },
        {
            "bilagsnr": "14227",
            "dato": "20220126",
            "tekst": "1236784 Studentinnbet. ref.",
            "belop": "59900",
            "kdim0": "1952",
            "kdim1": null,
            "kdim5": null
        },
        {
            "bilagsnr": "14227",
            "dato": "20220126",
            "tekst": "1236784 Studentkrav ref.",
            "belop": "-4000",
            "kdim0": "2992",
            "kdim1": "36400500",
            "kdim5": "100022101"
        },
        {

 

 

Av Kjetil Vistnes
Publisert 26. feb. 2021 10:47 - Sist endret 17. mars 2023 14:01