QAD QXtend Release Notes > Release Notes for QXO > Release Notes for Version 1.4
  
Release Notes for Version 1.4
QXO Server Version: 1.4
Date: September 2007
MFG/PRO Compatibility: eB through current release
QAD QXtend Documentation: Technical Reference: QAD QXtend (78-0691A) and Installation Guide: QAD QXtend (78-0692A)
New Features
1 You can now configure QXO to generate and distribute e-mail alerts that are raised by QXO for events relating to specific subscribers and profiles. Similar e-mail alert functionality—providing alerts for receivers, domains, and APIs—is available in QXI.
2 Two new predefined source application types—QAD2008 and FIN2008—have been created in preparation for the new QAD 2008 release. The FIN2008 source application type represents the new QAD 2008 Financials module (see below).
3 You can now synchronize data originating from QAD 2008 with another instance of QAD 2008—or with external systems. QAD QXtend version 1.4 introduces two enhancements designed to support this.
QXI uses a new service interface layer to support interoperability. See Release Notes for Version 1.4 for details.
QAD QXtend can now accept (and publish) raw business object event data from the QAD 2008 Financials module, eliminating the need to extract data from the Financials database. An administrator can now indicate a source application type is direct data published by selecting the Direct Data Publish check box on the Source Application Types screen. Selecting this check box causes the source application to post event data so that QXtend does not have to extract it using an event service. By default this check box is selected for the predefined FIN2008 source application type and cannot be updated. If the Direct Data Publish check box is selected, the source application node on the tree menu does not display further information—databases, domains, business object groups, and event types, for example.
Tables and fields for business objects that employ direct data publishing cannot be added, modified or deleted, although the business object itself can be deleted. The only items that can be modified for these business objects are the Publish Delay, Archive, and Description attributes on the business object header; the Description and Identifier fields on the data object header; and the Always Publish and Primary fields on the field list.
Schemas for business objects that employ direct data publishing can be imported by clicking the New button on the Business Object tab and then specifying the location of the schema file. A schema can be reimported later by clicking the Reload button at the top of the business object maintenance screen.
4 You can now choose whether a source application type is active or not by selecting the Active check box on the Source Application Types screen. This check box controls whether the source application appears on the application tree menu and on drop-down list boxes. The event service will not extract events from inactive source applications, nor will the direct publish API receive business objects. If an existing QXO system already has any of the default source application types defined, the Active check box is selected.
5 You can now indicate whether to use rowids or OIDs to identify data objects that have changed in a source database by selecting the Use Rowids check box on the Source Application Types screen. A rowid is an internal system-generated identifier used by the database, whereas an OID is an actual field in the table. The event service has been modified to extract data using either the rowid or the OID, whichever is supplied by the trigger.
Note: The Use Rowids option is preset and cannot be changed for predefined source application types. In addition, in order to use the OID index in eB2.1 the optional Enhanced Controls schema must first be loaded. Loading this schema for QAD 2008 is not required since by default the OID index is on.
For business objects that do not use the database rowid, the unique identifier must be specified in the Identifier field in the data object header. This field is used to match the current event message object with the previous message to determine which changes might have occurred.
6 A new type of fixed value is supported. You can now specify a fixed value by using the format =<node>, which causes the field to be populated with the value in the specified node. For example, if a profile data object contains two nodes—field1 and field2— and the fixed value component of field2 is =field1, field2 will be populated with the value of field1. If field1 does not exist, the string =field1 will be the value of field2. QAD QXtend now determines node values in this order: a fixed value, a calculated value, the value supplied in the event message.
7 The signature and the input and output parameters have changed for calculated fields: now the profile dataset is passed instead of the delimited list of primary fields to allow the calculated field to have access to the complete dataset.
For example, this is a listing of the samplecalc1.p program:
define input parameter dataset-handle phDataset.
define input parameter pcBuffer as character.
define input parameter pcQueryString as character.
define output parameter pcResult as character.
pcResult = string(now).
 
The first parameter is the entire profile message defined as a dataset. The second parameter is the name of the buffer in the dataset that is currently in scope. The third parameter is the query string for that buffer that locates the exact record in the dataset that is in scope. The fourth parameter is the result of the calculation.
8 The message publisher component has been re-engineered in order to support the changes made to the data model for the event message. As a result, QDocs using the 1.0 syntax specification that contains arrays and/or delta QDocs are now created by the SAX writer. The SAX writer is faster than the previous method, but is slower than using the method to create QDoc 1.1 syntax documents.
9 QXO has a new GUI-based installation program that greatly simplifies the installation and deployment of the QAD QXtend components. The installation supports single-tier and multi-tier mode installation. The installation has a Parameter Service that allows an administrator to enter parameter information that describes their existing environment. The settings stored in the Parameter Service are used to guide the QXtend installation and deployment behavior.
10 QXtend performance has been improved significantly due to modifications in the way that QXtend handles data. For details, refer to the QXtend Deployment Considerations and QXtend Performance documents that are available from QAD Support.
11 In the QXO start-sess.sh file, you can cause QXO to process rowids as 32-bit by appending an option parameter to the -param entries:
-param "$1",$LOGLEVEL,yes
-param "$1",$LOGLEVEL,no
QXO runs on version 10.1B, which processes rowids as 64-bit; earlier versions of Progress send rowids as 32-bit. Because QXO must interpret rowids consistently, you should set this parameter if any of your databases are running on versions of Progress earlier than 10.1B and you do not have time to run the conversion routine for existing data in QXO. For new installations, this parameter does not need to be set. The default setting is no.
By default, QXO converts all incoming 32-bit rowids to 64-bit. However, users who are upgrading from an earlier version of QXO must run a conversion routine to convert all rowids stored in the database—that is, the link to the business object message—to 64-bits.
Because this conversion can take a long time to complete—especially if the QXO system has been operational for a long time—this parameter setting is provided as a workaround until a suitable time is found to perform the conversion and/or archive the old data.
This is a system-wide setting, so if a QAD Enterprise Applications system was using 64-bit rowids and QXO was processing them as 32-bit, erroneous results may arise.
12 The qxodb database now supports UTF-8 codepage.
Fixes
1 The following unused functions have been removed from the Test Harness:
Create Merged Schema
Map XML Schema TO 4GL API
Map Request XML To 4GL API
2 The QXtend Message Monitor .NET component previously required the C:\tmp directory to exist. This dependency has been removed.
3 The 2 MB limit on the size of QDocs has been removed.
Known Issues
1 In MFG/PRO eB2.1 and QAD 2007, if you run Trade Management (TrM) and QXtend 1.4, the Invoice Post program may fail with a Mismatched number of params error. TrM contains a version of soivpst1.p, which contains an in-line trigger. This trigger code has been modified in QXtend version 1.4 to also pass in the OID when writing the event in qxoevent.p. Since TrM has the old version of the in-line trigger, this error may result. A similar problem may occur with any other bolt-on product that modifies any of the following programs:
pppsmt01.p
ppptmtb.p
rcctwba1.p
rcsomt.p
soivpst1.p
sosomt1.p
To resolve this issue, the TrM version should be modified to also pass the OID. This ensures that the TrM-specific logic is not being overwritten by the QXtend 1.4 version of the file (which is a copy of the MFG/PRO baseline version).
2 If you use the QDoc 1.1 syntax, a Progress bug in the dataset write-xml() method incorrectly writes the value of some fields, including the fields in the table below.
 
Table Name
Field Name
Table Name
Field Name
Table Name
Field Name
alm_mstr
alm_seq
lcap_hist
lcap_count4
sod_det
sod_ord_mult
cmh_hist
cmh_tot_cost
ncc_ctrl
ncc_cr_limit
so_mstr
so_fr_min_wt
cmh_hist
cmh_tot_sale
ncc_ctrl
ncc_fr_min_wt
sph_hist
sph_cost
cm_mstr
cm_cr_limit
opm_mstr
opm_cyc_unit
sph_hist
sph_quota
cm_mstr
cm_fr_min_wt
op_hist
op_act_units
sph_hist
sph_sales
cm_mstr
cm_high_cr
op_hist
op_std_units
sph_hist
sph_tot_cost
cph_hist
cph_cost
pc_mstr
pc_min_qty
sph_hist
sph_tot_sale
cph_hist
cph_qty
poc_ctrl
poc_rcv_nbr
sv_mstr
sv_calls_allow
cph_hist
cph_sales
poc_ctrl
poc_rcv_type
sv_mstr
sv_visits
cph_hist
cph_tot_cost
pod_det
pod_ord_mult
vd_mstr
vd_fr_min_wt
cph_hist
cph_tot_qty
po_mstr
po_rev
 
 
cph_hist
cph_tot_sale
pth_hist
pth_tot_cost
 
 
ct_mstr
ct_disc_days
pth_hist
pth_tot_qty
 
 
ct_mstr
ct_due_days
pth_hist
pth_tot_sale
 
 
dss_mstr
dss_fr_min_wt
ptp_det
ptp_mfg_lead
 
 
egw_wkfl
egw_hours
ptp_det
ptp_ord_max
 
 
fcs_sum
fcs_abnormal
ptp_det
ptp_ord_min
 
 
fcs_sum
fcs_fcst_qty
ptp_det
ptp_ord_mult
 
 
fcs_sum
fcs_pr_fcst
ptp_det
ptp_ord_qty
 
 
fcs_sum
fcs_sold_qty
ptp_det
ptp_rop
 
 
ff_mstr
ff_adj_fc
ptp_det
ptp_sfty_stk
 
 
ff_mstr
ff_orig_fc
ptp_det
ptp_sfty_tme
 
 
fpc_mstr
fpc_min_qty
pt_mstr
pt_mfg_lead
 
 
frcd_det
frcd_max_wt
pt_mstr
pt_ord_max
 
 
frcd_det
frcd_min_wt
pt_mstr
pt_ord_min
 
 
idh_hist
idh_ord_mult
pt_mstr
pt_ord_mult
 
 
ih_hist
ih_fr_min_wt
pt_mstr
pt_ord_qty
 
 
ild_det
ild_ord_mult
pt_mstr
pt_rop
 
 
ild_det
ild_rop
pt_mstr
pt_sfty_stk
 
 
ild_det
ild_sfty_stk
pt_mstr
pt_sfty_time
 
 
in_mstr
in_rop
qc_mstr
qc_lead_time
 
 
in_mstr
in_sfty_stk
qod_det
qod_fst_rate
 
 
itmh_hist
itmh_qty_call
qo_mstr
qo_fr_min_wt
 
 
itmh_hist
itmh_qty_rec
rdf_mstr
rdf_ship_time
 
 
itmh_hist
itmh_qty_ship
ro_det
ro_cyc_unit
 
 
itm_det
itm_qty_call
rql_mstr
rql_amt
 
 
itm_det
itm_qty_chg
sadh_hist
sadh_visits
 
 
itm_det
itm_qty_rc_rec
sad_det
sad_visits
 
 
itm_det
itm_qty_rc_ship
sah_hist
sah_visits
 
 
itm_det
itm_qty_rec
salh_hist
salh_pct_covered
 
 
itm_det
itm_qty_ship
sal_mstr
sal_pct_covered
 
 
lcap_hist
lcap_count1
sa_mstr
sa_visits
 
 
lcap_hist
lcap_count2
sm_mstr
sm_lead
 
 
lcap_hist
lcap_count3
soc_ctrl
soc_min_shpamt
 
 
 
Some database fields in QAD Enterprise Applications are defined as decimal but with a format that contains no decimal places—the Customer Credit Limit is an example. When QXO extracts the business object data and creates a QDoc using the write-xml() method, fields defined as decimal but that have no decimal places come out with 1 decimal place so that, for example, the value 1200 becomes 1200.0. This causes a problem in QXI when entering the QDoc because the Customer Credit Limit field does not accept decimal points, causing a credit limit of 1200 to become 12000 in the receiving domain. Until this bug is fixed by Progress, you should use the QDoc 1.0 format, especially if using Data Synchronization.
3 The QXtend Message Monitor plug-in only operates in version 2.1 of the .NET UI. If you are using .NET version 2.5 and want to use the Message Monitor, you should contact QAD Support for an updated version of this plug-in.