Heart-Profit ERP
November 05, 2024, 08:16:04 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: ADS - Analyse Unknown Member Index  (Read 831 times)
0 Members and 4 Guests are viewing this topic.
Heart Informatisering B.V.
Partner
******
Offline Offline

Posts: 27475


View Profile WWW
« on: May 11, 2012, 11:03:07 am »

Binnen Profit wordt op diverse plekken gebruik gemaakt van een FILE() commando; een commando waarmee wordt gekontroleerd of een bepaalde file fysiek op schijf aanwezig is. Zo ook om te bepalen of er indexen zijn, hoeveel, en welke.

Voor ADS geldt eigenlijk dat we dit alles aan de Advantage Database Server zouden moeten (kunnen) overlaten; als de Gebruiker rechten heeft tot de Data Dictionary op de ADS Server, zou die ADS Server (die verdere rechten heeft tot alles wat in die Data Dictionary is opgenomen) ons van de resterende informatie moeten voorzien.

Helaas gaat die vlieger nog niet helemaal op.

Stel dat we tabel LOVO opnemen in de ADS Database, en deze reorganiseren. LOVO heeft 14 indexen. Deze indexen hebben namen als LOVO_IN1.CDX t/m LOVO_I14.CDX, en indextags A1 t/m A14.

Hoewel wij de indexen in de volgorde A1 t/m A14 opnemen in de Advantage Database, toont ADS (in vorm van de Data Architect) e.e.a. in een willekeurige volgorde. Zie bijv. de kolom met selektie van indexen in de Data Architect:



waar de indexen nu getoond worden als A5, A13, A1, A11, A3, A2, A9 etc.

Zouden we de tabel nogmaals reorganiseren, dan kan de volgorde best anders zijn, en, een volgorde A1 t/m A14 zal ook best wel eens voor kunnen komen. Feit is, dat dit om e.o.a. reden nooit 100% in de juiste volgorde staat.

Omdat we toch niet vanuit de Data Architect zullen werken, is het daar hooguit "lastig" dat we even zullen moeten zoeken naar de gewenste index, maar, is het het belangrijkst dat alle indexen in ieder geval gekoppeld zijn; dit, opdat als we een record zouden muteren, alle ADS indexen worden aangepast.

Voor Profit geldt echter dat als we het aan de Data Dictionary zouden overlaten, in bovenstaand voorbeeld A5 de 1e index is, A13 de 2e index, A1 de 3e index etc. Ofwel, als wij SET ORDER TO 1 zouden doen, en daarbij een index op Bedrijf + Verkooporder wensen te selekteren, krijgen we een kompleet andere index voor onze kiezen ! immers, de 1e index is nu A5 en bevat een totaal andere indeling.

Of dit "een bug" binnen ADS is danwel of we dit op een andere formelere wijze via een ADS-API kunnen oplossen moet nog verder onderzocht worden.

Vooralsnog is ook hier de oplossing dat wij vanuit Profit "scannen" welke indexfiles er zijn, en nemen we deze stuk voor stuk in de juiste volgorde (A1 t/m A14) op, zodat we met een SET ORDER TO 1 ook daadwerkelijk Tag A1 krijgen.

 Let op: Een gebruiker dient hiermee niet alleen rechten te hebben tot de lokatie waar de ADS Data Dictionary zich bevindt, maar ook voor de directory's die daaronder liggen!

Zo zal de Data Dictionary zich (v.w.b. de Testbestanden) bijv. bevinden op \ADS_ServerADS_DATA_SHAREDATA0001HP_TEST.ADD maar bevat de "DATA0001" directory ook een indeling naar "LOLOTF", "ADADTF" etc. waar de gebruiker ook rechten toe zal moeten hebben. Ook zullen er rechten moeten zijn voor de lokatie waar de indexen zich bevinden; voor Applikatie LO bijv. op \ADS_ServerADS_INDEX_SHAREINDX0001LOLOTI.

Zonder deze rechten kan Profit niet bepalen dat een ADS tabel "indexen" heeft, en kan Profit foutlopen op een melding "Unknown member Index".

Nb: Overigens volgt er per heden wel een normalere melding die duidt op het niet hebben van voldoende rechten.

FunktieOmschrijvingDtm.Vl.WyzDtm.L.Wyz
SYER        Omschrijving (nog) niet bekend    26-04-2012    11-05-2012
« Last Edit: May 11, 2012, 11:23:15 am by Wouter Rijnbende » Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2005, Lewis Media Valid XHTML 1.0! Valid CSS!
Page created in 0.127 seconds with 19 queries.