10. marts 2006 - 15:12Der er
5 kommentarer og 1 løsning
Hvordan hænger databasen rationelt sammen ved udtræk gennem ODBC?
Kære eksperter,
Jeg skal lave et udtræk fra vores XAL gennem en ODBC, men er kommet i tvivl om hvad der reelt er muligt at udtrække. Vores XAL er ver. 2.80, med en bagvedliggende Oracle - databasen er på dansk.
Jeg ønsker at lave en debitor analyse, hvor jeg kan se:
Kundenummer Kundenavn Varegruppe Varenummer Varenavn Afsætning i en periode Omsætning i samme periode Dækningsbidrag i samme periode
Er det muligt at trække denne data ud af databasen og hvordan gør jeg?
PS. Jeg har med en querydesigner (software), til at hjælpe mig.
Jeg vil mene at du kan kan finde de fleste af de ønskede informationer i en tabel som i en dansk version vil hedde noget i stil med LagerPost.
På nær kundenavn og varenavn indeholder den de felter der skal til for at beregne de ønskede værdier.
Varenavn kan du finde ved at "joine" LagKart tabellen på og kundenavnet ved at "joine" Debkart på. Join af Lagkart skal ske på feltet Varenummer og join af Debkart på feltet Kontonummer.
Desuden skal du afgrænse ("where") på feltet DKType med værdien 1 (DCType i den engelske version) når du spørger på LagPost, altså "Where DKType = 1". Herudover skal du afgrænse på feltet Reference hvor værdien skal være 0 (ordre). Herudover skal du afgrænse på feltet Afgangsstatus og værdien skal være 1 (solgt). Herudvoer skal du evt. afgrænse på DatoØkonomisk for at få den rette periode.
Dette vil give dig alle lagerposter der har med salgsordrer at gøre, som er faktureret og i den rigtige periode.
Her udover skal du definere en sum på Antals-feltet. Dette skulle give dig Afsætningen.
Du skal definere en sum på Feltet "Posteringen beløb i DKK" som vil give dig omsætningen
Du skal definere en sum på felterne "Værdi" + "Regulering" (den bogførte værdi + regulering) som vil give dig kostprisen. Denne kan du så trække fra Omsætningen for at få DB.
Phew. En ordentlig smøre.
Synes godt om
Slettet bruger
12. marts 2006 - 06:48#2
Et alternativt foreslag er at bruge fakturajournalen. Et join i mellem DebFakJour og DebFakPost. Man skal dog være opmærksom på at feltet KostVærdi på DebFakPost ikke altid inderholder den korrekte kostværdi. Det afhænger af om man svarer Ja til at opdatere fakturajournalen ved efterberegning af kostpriser.
M.h.t. kostværdi er det ligegyldigt om man anvender det ene eller det andet.
Forudsætningen for en korrekt kostværdi er selvfølgelig at man periodisk (og inden man vil lave sin rapportering) har kørt efterberegning af kostværdi på lageret, da denne funktionen både regulerer lageret men også regulerer kostværdien på fakturajournalen (vel at mærke hvis man beder systemet om det som rahp ganske rigtigt skriver).
Jasman tak for dt prompte svar, du er jo genial! Undskyld jeg har været så lang tid om at komme tilbage, men min querydesigner har været meget ustabil - det skulle være rettet nu. Jeg kan umiddelbart trække dataen, dog er alle værdier negative er det forventeligt? Ligeledes er jeg kommet lidt i tvivl om kolonnenavnene i tabellerne. F.eks. har LagerPost følgende felter med værdi:
Genial ligefrem, det ved jeg nu ikke. Jeg prøver da :).
Det er forventeligt at værdierne er negative, da en solgt vare jo påvirker lageret negativt.
I SQL-versionen af XAL gør "kernen" det at når den oprettet felter i SQL-databasen så skifter den de danske tegn æøå ud med et X. Det er sandsynligvis fordi man ikke kan navngive felter i databasen med danske tegn.
Jeg vil mene at feltet "LINIEBELXBDKR" vil give dig omsætningen (hvad er ordrelinien solgt for eksl. moms).
Omkostningerne vil være summen af BOGFXRTVXRDI, VXRDIREGULERING og sandsynligvis også FLGOMKOSTNINGER. FLGOMKOSTNINGER tror jeg ikke er et standardfelt, men højst sandsynligt et I har fået tilføjet i jeres løsning.
For at få DB skal du så trække Omkostninger fra Omsætningen, så DB vil være noget i stil med: LINIEBEXBDKR - (BOGFXRTVXRDI + VXRDIREGULERING + FLGOMKOSTNINGER)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.