Mina produkter

Logga in för att följa kategorier och för att få genvägar i denna meny
avbryt
Visar resultat för 
Visa  endast  | Sök istället efter 
Menade du: 

Fd medlem
Inte tillämpbar

Sätta villkor på "selectsatser" - Integration

Hej,
Jag önskar funktionalitet för att kunna sätta villkor när man hämtar data via API:t.
Jag skulle ex. vilja kunna hämta alla uppdaterade kunder efter ett specifikt datum.
Idag måste man hämta alla kunder och sedan stega igenom samtliga för att kontrollera timestampfältet och detta är inte optimalt om man har många kunder i sitt Visma Administration.

Ett annat scenario kan vara att man ex. vill hämta en kund med en specifik e-postadress.

7 SVAR 7
Fd medlem
Inte tillämpbar

Hej!
Jag förstår din tanke här och tar den vidare till vår utvecklingsavdelning.
Tack för att du framförde den till oss och även gav exempel, det är uppskattat!
Fd medlem
Inte tillämpbar

Ja, det borde vara en sjlvklarhet för nattliga batchkörningar till andra integrationer att snabbt kunna få fram senast uppdaterad information.

Dock borde det idag gå att loopa igenom alla kunder/artiklar/fakturor och jämföra timestamp och är det över ett visst datum skapa en koppling
Fd medlem
Inte tillämpbar

Går det inte att göra en API kommando där man kan använda SQL? t.ex.

int pDataPrice2 = Api.AdkCreateData(Api.ADK_DB_PRICE);

error = Api.AdkExexcute("Select ADK_PRICE_QUANTITY, ADK_PRICE_PRICE from " + pDataPrice2 + " where ADK_PRICE_ARTICLE_NUMBER='A12345' and ADK_PRICE_BASE=0 and ADK_PRICE_PRICE_LIST='00' ORBER BY ADK_PRICE_ARTICLE_NUMBER");

While (error.lrc != Api.ADKE_EOF)
{
//Kod
AdkNext(pDataPrice2);
}

SQL används av oss alla. Den är lättanvänt, men mycket flexible och kraftig!
Fd medlem
Inte tillämpbar

Skulle vara jättebra om det också gick att köra "update" och "insert into"!
Kanske borde vara "AdkExecute" istället för "AdkExexcute", ursäkta jag slog fel..
Fd medlem
Inte tillämpbar

Hej,

Jag ber att få återkomma med hur vi resonerar kring detta när vi har vår systemarkitekt på plats efter semestern. Nu när vi ser att det finns ett intresse kring detta bör vi reda ut vilka förutsättningar vi har för en sådan funktion.

Tack för er input!
Fd medlem
Inte tillämpbar

Tack för svaret Helene
Fd medlem
Inte tillämpbar

Först vill jag klargöra hur vårt Api funkar. Vi har inga recordsets eller liknande i minnet alls. Det enda vi har är en post. När man söker och stegar framåt eller bakåt läses aktuell post in i minnet, och man kommer åt dess data via våra funktioner.

Vilka poster man kommer åt och i vilken ordning styrs genom sorteringsordningar. En sorteringsordning är alltså både en ordning och ett filter. Detta motsvarar ett index i FoxPro-databasen.

Om vi tar artikeldatabasen som exempel så finns sorteringsordningen eArticleNr som ger tillgång till alla artiklar i databasen i artikelnr-ordning. Det finns också eArticleWebshop, och den ger tillgång till alla artiklar markerade som webshopsartiklar, sorterade efter artikelnr.

Vill man leta efter en kund med ändringar efter ett specifikt datum - så går det lösa smidigare än beskrivet ovan. Däremot tex epostadress - så får man loopa igenom alla tills man hittar rätt - eftersom vi inte har index för det fältet.

Avsnittet "Arbeta med tidstämplar" i vår referensmanual visar hur man söker efter poster ändrade from en viss tidpunkt.
- Leta reda på vilket fält som är tidstämpeln med AdkGetTimestampField
- Omvandla din datumtid-sträng till en long med AdkDateTimeToLong
- Sätt tidstämpeln i med AdkSetDate
- Kör AdkFind och Loopa med AdkNext
För detaljerna läs mer i manualen på sid 88 i senaste upplagan (daterad 2013-02-22).

Slutligen - jag håller definitivt med att vårt Api har en tröskel man måste komma över, samt att det är vissa funktioner som man saknar jämfört med tex SQL.
Jag tror att vi med en rimlig insats kan komma med förbättringar kring hur man söker, men jag är tveksam till att vi abstraherar vårt Api till någon SQL-liknande syntax så länge vi har nuvarande databaslösning.