1a.  Table id is a unique identifier that stems back from the days of XAL (another Damgaard/MBS product).  XAL (and actually also Axapta) started out on an ISAM database, and a way of keeping track of the tables were through table ids.  Since then, it has been used as a way of keeping the tables consistent between the Axapta AOT and the backend DB.
 
1b.  Object id is an internal reference in Axapta to reference the objects in the application.  Axapta's application database (.AOD files) are actually ISAM structures, which is why you sometimes will see the application referred to as a version database.
 
1c.  Rec id is a reference that each record in the database gets.  It is unique in each company, and although Axapta does not utilize primary keys, the DataAreaId + RecID fields can actually be considered primary/unique in each database.
 
2.  The kernel generates the RecIds.  The next value is stored in the SystemSequences table.
 
3.  GUI objects only live on the Client, i.e. Forms.
 
4.  Yes it does.
 
5.  When you have relations that should be specific to that table.  For example, you may want a relation from SalesId on a table to link to the SalesTableDelete (voided sales orders), where the standard SalesId links to SalesTable.  You would then not redefine the link on the EDT, but rather add a link on the table you're working with.  Another possible scenario is where a relation is dependent on data in a record, in which case you can not precisely define it on the EDT, but will have to use the table relations.
 
6.  Export data or definition?  For data, the easiest way is to use the table browser (right-click, Add-ins, Table browser), select all the records and do a copy/paste.
 
7.  Yes, languages can be selected at runtime, either by the Axapta Configuration Utility, or via the -LANGUAGE command line switch.
 
8.  A lot of things, but you are on the right track.  Security and Config determines the baseline, after which you can control additional visibility through code & properties.
 
9.  A SQL statement written in code is always faster, but you loose flexibility.  Unless you are in a really time-critical environment processings huge amounts of data, the difference is usually not noticable.
 
10.  pack()/unpack() are used in many ways.  One example is on the QueryRun object, where pack() will return a container with settings (ranges, sort etc.) that you can use to instantiate a query with later, thus bringing back the state.  In other situations, pack()/unpack() can be user-defined to pack variables/fields along with queries for saving state (i.e. with the RunBase and RunBaseReport frameworks).


From: RFK142 [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 27, 2005 2:09 PM
To: Axapta-Knowledge-Village@yahoogroups.com
Subject: [Axapta-Knowledge-Village] Development Questions


Guys, I have some technical qs:

1. What is tableid used for? What is the main difference between it,
objectid and recid?

2. Who generetes recid? (Kernel, app, etc..)

3. If you have a method on a form, and it is designated as server in
its declaration, where does it execute, on a server, or is the form
always executed on the client?

4. When creating an extended DT, and you make it to inherit from
another EDT, does it also inherit its relations?

5. When do you define the relations on the table instead of on an
EDT?

6. How do you export a table to excel?

7. Axapta supports multiple languages...can the same client use
multiple languages?

8. What determines what controls are drawn on the forms..security
keys, config keys??

9. Is defiining a query as an object in the AOT, and then executing
it from a form, faster than writing SQL Statement from a form?

10. What are the pack/unpack methods? How are they used to save the
last state of an object?

Thanks guys, sorry for the looong  post.

Rabih





Sharing the knowledge on Axapta.



Sharing the knowledge on Axapta.



Yahoo! Groups Links

Reply via email to