Avatar billede mrdj Nybegynder
03. januar 2009 - 10:44 Der er 10 kommentarer og
1 løsning

Dataport med ændring af data

Jeg har 1 tabel i navision jeg har fået lavet en dataport til så jeg kan få data ud i tekstfil MEN har det problem at der er en af rækkerne der indeholder klientnummer som f.eks. kan være 1 i første række næste række 2 og så videre MEN inden det ender i tekstfilen ville det være perfekt der er lagt 24000 til så det i tekstfilen bliver 24001, 24002 og så videre (så matcher det nemlig klientnumre i det system der skal importeres til) - Er der nogen der kan hjælpe med det ?

På forhånd tak
Avatar billede torben-r Nybegynder
03. januar 2009 - 11:07 #1
Hvis det felt (DitFelt) som du eksporter er af datatypen decimal eller Integer (heltal) kan du 'bare' addere feltet med 24000. Det gør du på triggeren OnBeforeExportRecord.

DitFelt := DitFelt + 24000;

Hvis feltet er af datatypen Code (mest sandsynlig) eller Text skal du først overføre det til en global eller lokal variabel (EvalInt, Datatype Integer).

EVALUATE(EvalInt,DitFelt);
EvalInt := EvalInt + 24000;

og så er det EvalInt du anvender som Dataport Field

Du skal være 100 % sikker på at der kun er heltal i DitFelt ellers vil det give en fejl og eksporten stopper.
Avatar billede torben-r Nybegynder
03. januar 2009 - 11:08 #2
Glemte at skrive at det sidste kode også er på triggeren OnBeforeExportRecord
Avatar billede mrdj Nybegynder
03. januar 2009 - 11:16 #3
Feltet er defineret som Code med length på 20

Feltet indeholder udelukkende heltal (kundenumre)

Jeg prøver det du har skrevet og så hører du.

Mange tak :-)
Avatar billede mrdj Nybegynder
03. januar 2009 - 11:21 #4
Jeg forsøgte at sætte koden ind men får følgende fejl ved kompilering

"Dette ord må ikke være det første i en sætning"

Koden jeg sætter ind ved OnBeforeExportRecord er nedenfor

(EvalInt, Datatype Integer).

EVALUATE(EvalInt,Klientnr.);
EvalInt := EvalInt + 24000;
Avatar billede torben-r Nybegynder
03. januar 2009 - 13:07 #5
For at oprette en variabel skal du vælge Vis og C/AL Globals.
Avatar billede mrdj Nybegynder
03. januar 2009 - 13:39 #6
Hvad skal variabel hedde og være af type i det her tilfælde ?
Avatar billede torben-r Nybegynder
03. januar 2009 - 15:24 #7
Variablen skal hedde: EvalInt
Datatype: Integer
Avatar billede torben-r Nybegynder
03. januar 2009 - 15:26 #8
Og koden som skal sættes ind er:

EVALUATE(EvalInt,Klientnr.);
EvalInt := EvalInt + 24000;
Avatar billede mrdj Nybegynder
03. januar 2009 - 16:17 #9
Mange tak - når jeg så importerer data i den nye database vil den så smide det "nye" klientnr. (evalint) ind i klientnr. kolonnen i tabellen ?
Avatar billede mrdj Nybegynder
03. januar 2009 - 16:32 #10
Og så lige et sidste spørgsmål - jeg vil gerne smide et kriterie for hvad den IKKE skal importere med eller eksportere ud, har et felt med sagstype og her skal den ikke tage poster med typen INN - hvordan kan jeg gøre det? evt. via dialog for eksport/import og så sætte type ind men hvad skal jeg skrive i kriterie for IKKE at tage med ? Kan simpelthen ikke huske det...
Avatar billede mrdj Nybegynder
03. januar 2009 - 18:13 #11
Har fundet ud af det med at undlade nu, og det ser ud til at dataporten opfører sig rigtigt både i eksport og import :-)

Tusind mange tak for hjælpen... Point bliver givet og spørgsmålet lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester