Avatar billede huulbaek Nybegynder
13. marts 2003 - 23:17 Der er 18 kommentarer og
1 løsning

c5 / større problem - føljeton

Jeg er nok nødt til lige at oprette spørgsmålet igen. Se evt. tidligere indlæg.

Problemet der nu er opstået, er, at det ser ud som om at de "nye" RecID's efter vi har rundet de 2GB er positive i Notat mens de er negative i OrdLinie - i hvert fald hvis jeg kigger i liste-billedet. Under alle omstændigheder er konsekvensen, at alle nye ordrer der oprettes i realiteten får samme notat. Dvs. hvis der ændres i et notat på en linie så ændres _alle_ notater på _alle_ nye ordrer efter 2 GB-grænsen.

Jeg er ved at blive lidt forvirret, må jeg indrømme. Det ser desuden ud som om, at RecID i OrdLinie tæller nedad hvilket vel også er fint nok (indtil 0 rundes). Nogen der kan hjælpe yderligere?

På forhånd tak,
Thomas
Avatar billede Broholm Novice
14. marts 2003 - 08:22 #1
Har du multioversat efter at du rettede i MAC.FORMS?

Lige svar på dine andre spørgsmål:

1. Ja, -p- er sikker nok. Der er ingen problemer.

2. Grunden til at systemet skifter i mellem positive og negative RecID's er at RecID umiddelbart er en "signed 32 bit integer". Dvs. at RecId's kan løbe fra ca. -2,1 mia til +2,1 mia. Recid's starter ved 0 og når databasen når 2GB (2,1 mia bytes) i størrelse går der overløb i RecID, som så bliver negativ og arbejder sig op mod 0. Der går for alvor kage i det når RecID når 0, men det sker først når databasen når 4GB.

Notater hænger på RecID's, men de hænger på den Unsigned'ede værdi af RecID. Dvs. et notat som skal hænge på en post med et RecID på f.eks. -1,9 mia holder værdien 2,3 mia i feltet Notat.NotatRecID. Det er højst sandsynligt det problem du har.

-Broholm
Avatar billede huulbaek Nybegynder
14. marts 2003 - 10:13 #2
Ja, det er multioversat.

Det lyder meget rigtigt. Men hvordan kan man fixe det? Har du nogen idéer?
Avatar billede huulbaek Nybegynder
14. marts 2003 - 10:30 #3
Betyder ovenstående egentlig, at alle poster i Notat er ved at blive overskrevet?
Avatar billede Broholm Novice
14. marts 2003 - 13:47 #4
Ang. overskrivelse: Nej

Der er ikke noget at fixe. Hvis du også har rettet &TmpTxt i FRM.Notat til at være 12 tegn lang, så skulle det virke.

-Broholm
Avatar billede huulbaek Nybegynder
14. marts 2003 - 13:59 #5
OK.

Det er også det indtryk jeg har, men det virker bare ikke - desværre.

Jeg har en del af et dokument fra partnerguide.com, men desværre ikke det hele. Men der er åbenbart en der har haft samme problem, hvor det midlertidigt blev løst ved at rette Uint2Str _tilbage_ til Int2Str i NotatPreKey. Svaret:

Den rettelse, som du havde lavet - ved at ændre [...] virker kun et vist rum tid [...] Derfor skal du rette det tilbage til Uint2Str og implementere nedenstående rettelse...

Så har jeg bare ikke lige nedenstående rettelse...
Avatar billede Broholm Novice
14. marts 2003 - 14:03 #6
Multioversættelse: Alle elementer i alle lag?

Prøv evt. at rette FRM.Notat.Pre-Form fra:

#Element(&ExtParm,&TmpTxt)
SET &FileId  = Str2Num(&TmpTxt)
#Element(&ExtParm,&TmpTxt)
SET &RecId  = Str2Num(&TmpTxt)

til:

#Element(&ExtParm,&TmpTxt)
SET &FileId  = Str2Int(&TmpTxt)
#Element(&ExtParm,&TmpTxt)
SET &RecId  = Str2Int(&TmpTxt)
Avatar billede huulbaek Nybegynder
14. marts 2003 - 14:06 #7
Alt skulle være multioversat, flere gange endda.

Min Pre-Form i formen Notat er tom?
Avatar billede Broholm Novice
14. marts 2003 - 14:11 #8
MAC.FORMS.NotatPreKey skal se således ud:

#LOCALMACRO.NotatPreKey
    IF StrScan(&Parm,'Notat',1,999) THEN
        #Frm_COMMIT(%1,Change)

        SET &Parm = 'Form=Notat'+
{*} {$FixTxt+}
                    ' Pos='+Int2Str(%4)+','+Int2Str(%5)+
                    ' \"Parm=' +
                    Int2Str(&Watch)+';'+
                    Int2Str(%1.FileId)+';' +
                    UInt2Str(%1.RecID )+';' +
                    Int2Str(%2)+' '+
                    Int2Str(%3)+' '+
                    Int2Str(%4)+' '+
                    Int2Str(%5)+' '+
                    %6+'\"'
{*} {$FixTxt-}
        RETURN 1
    ENDIF
#ENDMACRO
Avatar billede huulbaek Nybegynder
14. marts 2003 - 14:35 #9
Hmmm... Jeg mangler Int2Str(&Watch)+';'+

Prøver lige at se om det hjælper!
Avatar billede Broholm Novice
14. marts 2003 - 14:36 #10
Lad være... Det gør det ikke. Det er noget fra de nyere versioner af C5. Det skal ikke være i jeres. Jeg glemte bare at rykke det ud.
Avatar billede Broholm Novice
14. marts 2003 - 14:43 #11
Hvis makroen ser sådan ud og der er multioversat, så skal det virke. Vi havde kunde med nøjagtig samme problem. Problemet var løst efter vi gjorde de andre ting.

Det kan være at der er programmeret noget specielt i jeres C5 på OrdKart og OrdLinie, som gør at det ikke virker.

Måske skulle I overveje en opdatering til 2.10 under alle omstændigheder. Ordremodulet arbejder noget hurtigere på større databaser i 2.10 end 1.60.

-Broholm
Avatar billede huulbaek Nybegynder
14. marts 2003 - 14:44 #12
OK... Faktisk er det lige gået op for mig, at de ordrer jeg opretter igennem ODBC - der virker notater fint nok, dvs. på en måde. De virker når der laves faktura/ordrebekr osv. - men de ser forkerte ud når man går ind i dem - og man skal i hvert fald ikke rette i dem...

Så det må jo have noget med formen at gøre.

Jeg forstår det ikke...
Avatar billede Broholm Novice
14. marts 2003 - 14:46 #13
Hvis du i dos-udgaven kører med topbar = process, hvordan ser parameter kaldet så ud, når du åbner et notat?
Avatar billede huulbaek Nybegynder
14. marts 2003 - 15:03 #14
Hvor sætter jeg topbar = process ?
Avatar billede Broholm Novice
14. marts 2003 - 15:09 #15
Under Gen/Til/Brugerkonfiguration/applikation: Topbjælke = Process
Avatar billede huulbaek Nybegynder
14. marts 2003 - 15:26 #16
Der står:
Parm=71;2149487136;78 10 1 13 Notat ti.....
Avatar billede Broholm Novice
14. marts 2003 - 15:30 #17
Ok, så er der i hvert fald ikke noget galt med #NotatPreKey. (Ellers ville 2149487136 være -2145480160)

Hvordan ser notaterne forkerte ud?
Avatar billede dma Nybegynder
28. juni 2003 - 15:14 #18
Er du gået død eller er problemet løst?
Avatar billede huulbaek Nybegynder
30. juni 2003 - 10:35 #19
Problemet er løst og ja - jeg er gået død! ;)
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