Avatar billede regitze Nybegynder
14. januar 2002 - 11:08 Der er 12 kommentarer og
1 løsning

Interface i Xal

Hmm chefen her bliver ved :-)
Nogen som kan hjælpe med dette: og lige fra hvor jeg går ind og eksportere debitor data, hmm har nemlig glemt manularen !!
HMM er dette programmering for nybegynder eller er det en tester ? ?

Lav et interface f.eks. som en Xal kørsel:

Eksporter data fra debitorkartoteket:

Konto, Navn, adressefelter, saldo danske kroner.

Lav interfacet således

1)    At der kan afgrænses fra/til på debitorkonto samt
2)  Checkes for om brugeren skriver fra den karakterbaserede version eller GUI versionen og hvis fra 
          den karakterbaserede version, at karakterer i filen skrives i ANSI format

Hej og fortsat god dag fra Regitze igen :-)
Avatar billede mariaf Juniormester
14. januar 2002 - 12:10 #1
Du vil gerne have lavet en XAL-kørsel, hvor du eksporter data fra ovennævnte felter?

Det er nemmere at lave den i rapportgenerator. Du vælger Debkart, tilføj de relevante felter og kør rapporten - og nu kommer det væsentlige: Du skal gemme rapporten. Navnet er ligegyldigt. Kør rapporten igennem og gå ud. Nu går du i udviklingsmenuen under REP og finder rapporten igen. Nu kan den rettes til med diverse betingelser og det bedste er, at den ligger som QT, hvilket medfører at du kan sortere og afgrænse på hvad som helst.

Er du ikke tilfreds med rapporten, så lav en ny med samme navn - den vil så overskrive den gamle.

Håber det kan hjælpe dig videre.
Avatar billede jasman Nybegynder
14. januar 2002 - 12:56 #2
Brug datamanipulation til at lave en skabelon til eksport, og ret så siden koden til med de specielle ting du vil have tilføjet.

1) GENERELT / PERIODISK / DATAMANIPULATION
2) Vælg tabellen DebKart (DebTable i UK kerne) i feltet kartotek/table.
3) I feltet handling/action vælges export.
4) I feltet regnskab/datafile vælges det regnskab du vil eksportere fra.
5) I filtype/filetype vælges komma fil
6) Sig evt. Ja til vindue og tast 1 i feltet ved siden af, for at få kørslen til at indikere hvor mange poster der eksporteres.
7) Skift nu blok (SHIFT+F8)
8) Udvælg nu med ALT+H i Navn/Name feltet de felter fra DebKart du vil have med i eksporten.
9) Svar ja i feltet fil, for at få feltet med i eksporten.
10) I feltet udtryk/expression skrives formlen:
#GuiVersion ? <feltnavn> : SYSINFO(5030,<feltnavn>), HVOR <feltnavn> udskiftes med navnet på det felt som du har valgt i Navn/Name.
DET ER VIGTIGT AT FELTNAVNET SKRIVES NØJAGTIGT SOM I NAVN FELTET, ELLERS FÅR DU EN FEJL.
11) Gentag 8-10 for alle felter som du vil have med.
12) Gå nu i lokalmenuen (F10 eller ALT+L i windows) og vælg udfør/execute
13) Nu blive du spurgt om du vil gemme kørslen, og du svarer JA.
14) System beder dig om et navn under hvilket programmet skal gemmes. Her kunne du så skrive DebKartExp
15) Nu vil programmet (som faktisk er en QUERY) ligge i GENERELT / TILPASNING / UDVIKLINGSMENU / QTX
16) I og med at programmet er QT-baseret vil du frit kunne tilføje afgrænsningsfelter fra debitorkartoteket, og dermed styre din AFGRÆNSNING !!!

Du kan faktisk også bare gå i datamanipulationen næste gang du vil køre eksporten af debitorkartoteket. System husker nemlig opsætningen, så du behøver faktisk slet ikke at gå i udviklingsmenuen.

Håber det hjælper.

MVH

Jasman

Avatar billede regitze Nybegynder
14. januar 2002 - 13:25 #3
#GuiVersion ? <feltnavn> hmm feltnavn er det \"Name\" eller hvad ?? spørg ski nok dumt,og hmmm sysinfo 5030 hvor finder jeg det ?
Avatar billede mariaf Juniormester
14. januar 2002 - 13:31 #4
Du kan ikke nøjes med at gå ind i datamanipulation - i hvert fald ikke hvis I er flere brugere. Du kan ikke stole på at den ikke er ændret, og så er dine data pludselig ikke konsistente.
Avatar billede regitze Nybegynder
14. januar 2002 - 13:35 #5
Vi er pt ik flere brugere \"cheffen\" *g* vil vist bare teste min tålmodighed *BG*, så jeg sidde med en ren XAL ....og den er kun min *GG*
Avatar billede regitze Nybegynder
14. januar 2002 - 13:37 #6
Hmm det er faktisk bare punkt 10 jeg ik lige fatter, hvis du ikke lige har forstået hvad jeg mente sidst *ss*
Avatar billede jasman Nybegynder
14. januar 2002 - 14:02 #7
Punkt 10 ser i alt sin enkelthed sådan ud:
(Her forudsætter vi at du er kommet så langt som til Navn feltet i Debkart).
#GUIVersion ? <feltnavn> : SYSINFO(5030,<feltnavn>)
BLIVER SÅ TIL
#GUIVERSION ? Navn : SYSINFO(5030,Navn)

For feltet Kontonummer ser den sådan ud:
#GUIVERSION ? KontoNummer : SYSINFO(5030,KontoNummer)


Formlen gør i alt sin enkelthed det at den spørger
Er det Windows hvis det er så skriv feltet UDEN konvertering.
Hvis IKKE det er windows, så skriv med konvertering fra ASCII til ANSI.

Hjælper det ?

MVH

JasMan
Avatar billede regitze Nybegynder
14. januar 2002 - 16:22 #8
DAHMM... \"folkens\" \"manden\" vil sku have at det skal programmeres lige fra START AF ? ?
Avatar billede regitze Nybegynder
14. januar 2002 - 20:32 #9
Hmm skal jeg lukke dette spørgsmål og starte forfra, eller hvad : \"Cheffen\" vil have at det skal foregå via pre-body - Macroer o.s.v. tror faktisk bare han vil have at tiden skal gå efterhånden *BG*
Avatar billede jasman Nybegynder
14. januar 2002 - 21:20 #10
Er du på kursus eller SKAL du bare lære hvordan det gøres siden det SKAL kodes fra start af.

Resultatet af ovenstående giver nemlig nøjagtig hvad du efterlyser.
Koden dannes i pre-body på QTX\'en, og ser sådan ud:

SET &Counter = &Counter + 1

IF &Counter MOD 1 == 0 THEN
  PRINT Num2Str(&Counter,15,0,0,0) AT 20,3
ENDIF

SET AccountNumber = #GuiVersion ? AccountNumber : SYSINFO(5030,Accountnumber)
SET Name = #GuiVersion ? Name : SYSINFO(5030,Name)
SET Address1 = #GuiVersion ? Address1 : SYSINFO(5030,Address1)
SET Address2 = #GuiVersion ? Address2 : SYSINFO(5030,Address2)
SET Address3 = #GuiVersion ? Address3 : SYSINFO(5030,Address3)
SET Zip = #GuiVersion ? Zip : SYSINFO(5030,Zip)

WRITE &FileName AS COMMA FROM (
    AccountNumber
    ,Name
    ,Address1
    ,Address2
    ,Address3
    ,Zip
    ,BalanceMst
  )

Så en gang til for Prins Knud ?
Hvad er det helt nøjagtigt du skal bruge dette her til ?

MVH

Jasman
Avatar billede regitze Nybegynder
15. januar 2002 - 07:02 #11
Morn Jasman...
Nej jeg er ikke på kursus, men i praktik ! ! med mulig for arbejde bagefter, men det var ikke meningen at jeg skulle programmer så meget, men det syntes \"cheffen\" åbenbart, eller også er det fordi tiden går med det, da han tit er i Kbh.
Bruge det til.. skal jeg da han sige at det er en almindelig Navision (Damgaard) fejl !! Der er INGEN på kontoret som kan hjælpe når han er væk, så manual og eksperten er det eneste jeg kan bruge som hjælp, og sååå meget har jeg dog heller ik programmert i Concorden -:)
Avatar billede jasman Nybegynder
15. januar 2002 - 20:25 #12
Ok.
Jeg kan ikke se hvorfor du ikke kan anvende ovenstående fremgangsmåde men så gør vi det på den lange måde (det giver NÆSTEN samme kode, men så får du da set hvordan man laver en queryen fra bunden):

1) Generelt / Tilpasning / Udviklingsmenu / QTX / Opret
2) Indtast navn på søgning (Debitorexport)
3) Tryk nu SHIFT+F2 og ALT+H og vælg DebKart og tryk ENTER
4) Tryk F2 og vælg afgrænsningsfelter.
5) Gentag step 4 for alle de felter du ønsker at kunne afgrænse/søge på.
6) Tast nu CTRL+F6 for at komme ind i opsætningen af queryen. Stil markøren i feltet Globale formler og tryk enter for at komme ind i triggerne.
7) Tryk enter på INIT: Og skriv følgende kode:
#MACROLOAD(SYSTEM_INFORMATION)
STR 70 &FileName
INT    &Counter
Tryk F3.
8) Tryk ENTER og vælg prompt triggeren og tryk ENTER. Skriv nu følgende kode:
#PROMPT \"Export af: \"+FilePname(DebTable)+\":\",,
        \"Filnavn..: \" GET(&FileName LENGTH 20)
#PROMPTABORT(10,5)

IF NOT &FileName THEN
    RETURN 0
ENDIF
TRYK F3.
9) TRYK ENTER Vælg start og tryk ENTER.
Skriv nu følgende kode:
WINDOW 40,5 AT 20,5
PRINT \"Skriver.: \", &FileName AT 1,1
PRINT \"Fra.....: DebTable\" AT 1,2
PRINT \"Record..:\" AT 1,3
TRYK F3.
10) Tryk ENTER og vælg stop og tryk ENTER.
Skriv nu følgende kode:
PRINT Num2Str(&Counter,15,0,0,0) AT 20,3
PAUSE
Tryk F3.
11) Tryk F3 for at komme tilbage til selve queryen.
12) Placer nu markøren i feltet Kørsler og tryk ENTER.
13) Vælg nu triggeren PRE-BODY og tryk ENTER. Skriv nu følgende kode:
SET &Counter = &Counter + 1

IF &Counter MOD 1 == 0 THEN
  PRINT Num2Str(&Counter,15,0,0,0) AT 20,3
ENDIF

SET AccountNumber = #GuiVersion ? AccountNumber : #ASC2ANS(Accountnumber)
SET Name = #GuiVersion ? Name : #ASC2ANS(Name)
SET Address1 = #GuiVersion ? Address1 : #ASC2ANS(Address1)
SET Address2 = #GuiVersion ? Address2 : #ASC2ANS(Address2)
SET Address3 = #GuiVersion ? Address3 : #ASC2ANS(Address3)
SET Zip = #GuiVersion ? Zip : #ASC2ANS(Zip)

WRITE &FileName AS COMMA FROM (
    AccountNumber
    ,Name
    ,Address1
    ,Address2
    ,Address3
    ,Zip
    ,BalanceMst
  )
Tryk F3.
Tryk F3 for at godkende queryen.
14) Nu kan du køre queryen fra udviklingsmenuen i QTX / KØR.

Husk at du når du afvikler queryen stadig kan tilføje ekstra afgrænsnings/søgefelter til søgningen. Det gør du i det vindue hvor du har Fra og Til afgrænsninger ved simpelthen at trykke F2 vælge et felt og trykke ENTER.

Du må selv finde ud af at sætte den på menuen.

Og kom så med pointene ;-).

Mvh

Jasman
Avatar billede regitze Nybegynder
15. januar 2002 - 22:08 #13
Takker mange gange, kan jeg da heller ikke se, men hmm sådan ville chefen have det, og yepper jeg får det selv sat på menuen.

mvh

Regitze
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