Page 1 of 1

QSO structure

Posted: 25 Jan 2013, 09:53
by IW3HMH
Log4OM QSO structure in database uses 5 primary keys:

Call
QsoDate
TimeOn
Band
Mode

Those 5 columns are the primary keys for the log. You cannot have 2 QSO with all those parameters duplicated. This will ensure your log will remain free of duplications, and is the reason for some discards when importing a QSO from external source.
In the database there is also a Unique Id for each QSO, that is regenerated on ADIF import, and is made using date/time of QSO insertion in the database.
The format is: YYYYMMDDHHMMSSnnn, date and time to millisecond.

When updating a QSO you can refer to this unique key, or go through the usage of the 5 keys mentioned above.

If you need to MERGE two logs you should use the MERGE function in the QSO management screen. This function doesn't make use of QSO ID (that is not in the ADIF and is never exported to ADIF) but uses the 5 significant fields for each qso, identifiying the QSO in the log in a unique manner and updating values field by field.

Log4OM uses classes to keep QSO in memory.
The "Log" class is a LIST of "QSO" classes, plus some informations for managing and identifiyng the log.
The QSO class contains all the ADIF fields in the current ADIF version supported by Log4OM plus some proprietary information for QSO management (QsoID) and other information flags related to contests and other things.

This data structure can be retrieved using WCF to be used natively in your .NET application for integration