---
title: "SPCS API"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/153385-spcs-api/page4"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Zaiman"
published: "2006-11-04T20:03:40.000Z"
updated: "2007-09-13T21:01:35.000Z"
replies: 65
views: 15244
page: 4
pages: 4
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/153385-spcs-api"
---

# SPCS API

_Sida 4 av 4._

## #61 — jnx, 2007-08-27T09:37Z

Någom som kan visa en snygg kodrad för att skapa en Order i SPCS via .net

När jag gör det så får jag ErorCode 49 vilket betyder att kontakten som orden kopplas mot inte finns, men i själva verket finns den i spcs.

Permalänk: https://www.webforum.nu/p/2020119

## #62 — Dompan, 2007-09-06T13:58Z

Funkar hyfsat än så länge

Hej, har varit borta från forumet länge eftersom jag mer eller mindre blev klar med det jag skulle göra i SPCS och kastade mig över andra uppgifter. 

Det jag kan göra nu i .NET är att lägga in kunder i SPCS och lista dem, lägga in artiklar och lista dem, samt lägga in fakturor som även kan makuleras. Det är bara en delmängd av vad som är möjligt, men än så länge har jag inte behövt något mer. För detta blev det ca 2000 rader kod. Mycket av det utgörs av kod som kan härledas från exempelfilerna för Visual Basic som SPCS skickar med. Alla konstanterna tar förstås upp mycket plats.

Titta på AdkAbi.bas och frm-filerna. De flesta operationerna finns implementerade där och med lite detektivarbete kan man översätta det till .NET. Jag ska beskriva kort de svåraste momenten:

Det klurigaste är att få kopplingen mellan .NET och ADK.DLL att fungera. Där får man använda kod av typen:

```
[DllImport(@"C:\Program\SPCS\SPCS Administration\adk.dll", EntryPoint = "_AdkCreateData@4", CharSet = CharSet.Ansi)]
```

 

För att returnera värden från SPCS är det struligt också. Då behöver man en ref-variabel:

```
[DllImport(@"C:\Program\SPCS\SPCS Administration\adk.dll", EntryPoint = "_AdkGetStr@16", CharSet = CharSet.Ansi)]
        private static extern AdkError AdkGetStr(int pDb, int iFieldID, [MarshalAs(UnmanagedType.LPStr)] ref StringBuilder val, int iLen);
```

Sedan kan man få in returvärdet i en StringBuilder enligt:

```
StringBuilder val = new StringBuilder(SIZE);
error = AdkGetStr(pData, ADK_CUSTOMER_NUMBER, ref val, SIZE);
```

Slutligen gjorde jag en webservice och paketerade det hela i. Det är ett trevligt sätt att kunna komma åt funktionaliteten i SPCS från i stort sett vilken applikation som helst, oavsett om de är skrivna i Java, .NET etc.

Något som irriterar mig mycket är att det verkar som om bara en klient kan ansluta åt gången till SPCS, vilket kraftigt begränsar användningsområdet. Det lär finnas någon nätverksversion, men den har jag inte hunnit testa.

Permalänk: https://www.webforum.nu/p/2025893

## #63 — Zaiman, 2007-09-06T14:05Z

Ja du behöver nätverksversionen om du ska ha flera användare. Standard kommer nätverksversionen med 3 användare så kan du köpa till fler varterfter du behöver.

Permalänk: https://www.webforum.nu/p/2025898

## #64 — aleborg, 2007-09-13T07:46Z

Snacka om tur, vi har Mamut idag och är sjukt trötta på Mamuts totalt värdelösa och dyra API men SPCS verkar snäppet värre, och vi höll på att överväga att byta till det. Är det nån som kan rekommendera ett bra ekonomisystem med ett bra API som man kan utveckla med C# mot?

Permalänk: https://www.webforum.nu/p/2027758

## #65 — Lasp, 2007-09-13T08:07Z

Vi släppte en stor affär, tack vare kravet på koppling mot SPCS och deras API politik.

Permalänk: https://www.webforum.nu/p/2027763

## #66 — erka, 2007-09-13T21:01Z

Microsoft Dynamics AX, men det kanske är lite för stort och i fel prisklass

Permalänk: https://www.webforum.nu/p/2028012

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/153385-spcs-api/page4  
Föregående sida: https://www.webforum.nu/amne/dotnet/153385-spcs-api/page3.md
