webForumDet fria alternativet

SPCS API

65 svar · 15 186 visningar · startad av Zaiman

ZaimanMedlem sedan dec. 20014 239 inlägg
#1

Någon som har exempelkod för att använda SPCS API i C# ?

Helst någon som gjort anrop på api med orderläggning, bara något enkelt så att jag kommer igång och lär mig. :bire

LaspMedlem sedan juli 200012 980 inlägg
#2

SPCS tar ju ordentligt betalt för att du skall få använda APIét.
Vi har testat men förkastat deras policy.

ZaimanMedlem sedan dec. 20014 239 inlägg
#3

Vad rekomenderar du för annan lösning då?
Eftersom du inte besvarar min fråga så kanske du kan visa en anna lösning som besvarar min fråga om jag omformulerar den till:

Någon som har exempelkod för att skapa en order i SPCS Administration utan att använda deras API ?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#4

Zaiman skrev:

Vad rekomenderar du för annan lösning då?
Eftersom du inte besvarar min fråga så kanske du kan visa en anna lösning som besvarar min fråga om jag omformulerar den till:

Någon som har exempelkod för att skapa en order i SPCS Administration utan att använda deras API ?

Jag håller med lasp om att SPCS API suger, för det gör det verkligen, men att inte använda det om man ska kommunicera med deras system, det är bara korkat. Det finns ingen som rekommenderar att gå förbi ett API in i ett system på det sättet, och såvida jag vet finns det inga andra bra sätt att prata med SPCS (Administration). Det är om man går mot databasfilerna direkt och det är som sagt verkligen inte rekommenderat.

API'et suger, men det gör livet också. Det kostar också (nu vet jag inte hur mycket), men det är ju så saker och ting fungerar. Om du införskaffar API't har säkerligen Visma information hur du sedan kan gå vidare.

emissionMedlem sedan dec. 19996 721 inlägg
#5

OveRRidE skrev:

API'et suger, men det gör livet också. Det kostar också (nu vet jag inte hur mycket), men det är ju så saker och ting fungerar. Om du införskaffar API't har säkerligen Visma information hur du sedan kan gå vidare.

http://www.vismaspcs.se/statisk/integration/utv.htm

Från 4500:-

Inte särskilt dyrt, om man verkligen vill lösa en SPCS-uppgift. Att försöka hitta kringvägar kostar mycket mer i tid.

ZaimanMedlem sedan dec. 20014 239 inlägg
#6

*suck*

Det är alltså ingen som har ett exempel som jag efterfrågar? Inte vad det kostar, inte att det suger, inte att man inte ska gå direkt mot databasen..

Jag efterfrågar någon kodsnutt som jag kan lära mig av inget annat.

OveRRidEMedlem sedan feb. 200112 078 inlägg
#7

Zaiman skrev:

Det är alltså ingen som har ett exempel som jag efterfrågar? Inte vad det kostar, inte att det suger, inte att man inte ska gå direkt mot databasen..

Du frågade ju själv;

Någon som har exempelkod för att skapa en order i SPCS Administration utan att använda deras API ?

Var inte mitt inlägg svar nog på detta?

Zaiman skrev:

Jag efterfrågar någon kodsnutt som jag kan lära mig av inget annat.

Som jag sa; försöka att kontakta Visma.

PMedlem sedan jan. 20012 204 inlägg
#8

Borde inte de som gjort SPCS tillhandahålla lite kodexempel?

LaspMedlem sedan juli 200012 980 inlägg
#9

Kan bara tillägga för att förklara mig lite att vi skulle peta in data i SPCS från mitt biluthyrningssystem. Då skulle alla som körde SPCS ha avtal om API knappt en tusenlapp. Men med hundra ställen blir det många pengar varje år.

ZaimanMedlem sedan dec. 20014 239 inlägg
#10

Kontaktar VISMA i morgon. Hoppas dem har några exempel att dela med sig av.

ZaimanMedlem sedan dec. 20014 239 inlägg
#11

Kan meddela att det inte finns några exempel i c# på den skiva jag har från spcs.

Så nu blir det svårt att översätta vb kod till c# och få det fungera.

aleborgMedlem sedan jan. 20013 341 inlägg
#12

Ska du bara hämta data så gå direkt mot databasfilerna, ska du arbeta aktivt så måste du nog ha API:et. 4500 kr är ingenting, när vi köpte Mamuts API betalade vi 20 000 kr. Det värsta är att de har ändrat så mycket i API:et så att vi inte kan uppgradera utan att omprogrammera allt.

ZaimanMedlem sedan dec. 20014 239 inlägg
#13

Njae.. Inte bara hämta. Jag vill ju lära mig hur jag lägger till tex en order på ett "korrekt" sätt. Att bara gå mot databaserna har jag gjort förr för att hämta data. Men tanken är ju att lära mig så att jag kan utveckla program, och med deras api. Det var främst därför jag efterfrågade exempel på implemenation av deras api i c#. Det är ju svårt som nybörjare att dels lära sig programmera och dessutom behöva översätta från ett språk som man inte använt så mycket. (man lär så länge man lever)

Jag är ingen fena på C# och håller på lära mig det. Har kommit så långt att jag kan öppna och stänga med api delen. Så jag har mycket kvar att lära mig. :-) så jag kanske gör många fel i början.

aleborgMedlem sedan jan. 20013 341 inlägg
#14

Zaiman skrev:

Så jag har mycket kvar att lära mig. :-) så jag kanske gör många fel i början.

Det är så man lär sig, genom misstag.
Tyvärr själv enbart jobbat mot deras databas, inte mot API:et så jag är inte mycket till hjälp på den delen tyvärr.

ZaimanMedlem sedan dec. 20014 239 inlägg
#15

Uj ja.. Misstag lär man sig av.

Har klurat ut att jag måste använda unsafe kod för att lösa vissa uppgifter (tror jag i alla fall). Har fått det att fungera med att öppna och stänga med api delen.

Men jag förstår inte hur jag ska få resterande att kommunicera med api:et
Jag har med störst sannolikhet gjort fel :e

Har gjort om en del kod, någon som vill rätta och kanske lösa på bättre sätt?

Public Type ADKERROR
    
    lRc As Long
    lDbTable As Long
    lField As Long
    lFunction As Long
    lProgramPart As Long
                                 
End Type

översatt till:

struct ADKERROR
{
    public long lRc;
    public long lDbTable;
    public long lField;
    public long lFunction;
    public long lProgramPart;
}

Så när jag öppnar anropar jag:

ADKERROR myErr = new ADKERROR();
            myErr = adk.AdkOpen("C:\\spcskatalogen", "c:\\Ovnbol");

Där är adk.adkOpen motsvarande kod:

 [DllImport("adk.dll", EntryPoint = "_AdkOpen@8")]
        public static extern ADKERROR AdkOpen(string pszSystemPath, string pszFtgPath);

Allt frid och fröjd till jag skickar in felaktiga värden då ska man tydligen kontrollera lRc om den är skiljt från 0 och det vet jag hur jag gör. Men sen har jag en del som är för felhanteringen. Det är här mina problem börjar. Tydligen när jag ska hämta en feltext ska jag skicka med en pekare.. och ett tomt fält som api delen ska skriva till. Här har jag kört fast.

Någon med lite ideér och tips? Mottages tacksamt ;)

ZaimanMedlem sedan dec. 20014 239 inlägg
#16

*puffar* för den sista delen.

NevynMedlem sedan nov. 20065 inlägg
#17

Det går att använda SPCS API från C#. Jag löste det genoma att bygga ett classbibliotek i C++ för att wrappa API:et, biblioteket innehåller även en massa egen funktionalitet.
Försöker emulera en SQL-databas så gått det går, iom att det andra systemet använder MySQL som backend DB.

PM:a epost så kan jag skicka koden, den är dock väldigt anpassat för att användas mot vårt säljstödssystem, men du kan nog återanvända mycket av koden. Om inte så ser du iaf upplägget.

Lånar tråden lite; Finns det något sett att söka på andra fält än t.ex. ordernummer mm (ordertabellen), exempelvis hämta alla ordrar med en viss resultatenhet, alla makulerade ordrar osv. I programmet _går det_ iaf!

Håller med om att API:et är ganska kasst, nog ett av de värsta API:er jag någonsin arbetat med i hela mitt yrkesverksamma liv! Slött, dåligt, saknad funktionalitet, dålig dokumentation, kan hålla på i en evighet!

ZaimanMedlem sedan dec. 20014 239 inlägg
#18

Nevyn:

Ser fram emot din kod. Mycket intressant att lära sig nytt även om API delen är föråldrad och dålig.
Du har fått min epost i ett PM .

OveRRidEMedlem sedan feb. 200112 078 inlägg
#19

Nevyn skrev:

Lånar tråden lite; Finns det något sett att söka på andra fält än t.ex. ordernummer mm (ordertabellen), exempelvis hämta alla ordrar med en viss resultatenhet, alla makulerade ordrar osv. I programmet _går det_ iaf!

Jag är inte 100% säker, men min gissning är att du får loopa igenom alla ordrar och kolla adk-struktarnas fält du söker på för att filtrera bort de som inte matchar..

voigtann1Medlem sedan juni 20019 519 inlägg
#20

Tips:
http://www.carlosag.net/Tools/CodeTranslator/Default.aspx

om du vill ha hjälp med convert :D

138 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)