Native APIs
The UI API adapter is the primary method used by QXI to load data into QAD applications. However, UI API adapter performance may be unacceptable when processing high volumes of data or real-time transactions.You can use native APIs to leverage the SI interface and significantly enhance the speed of data processing. Native APIs provide a set of development patterns that can be used to wrapper existing character screens and execute the underlying business logic independent of the user interface, resulting in faster processing. Bulk loads can be performed faster, which is particularly useful when processing large business objects such as Item and Product Structure.Note: Native APIs are available in the QAD QXtend 1.6 version; they are not available in earlier versions. For more information about native APIs—and using the native API framework—see
Generating Native APIs.
In addition, using native APIs allows responses to be customized. Whereas QXI is responsible for populating the response when the UI API adapter is used—in addition to dictating the format of the response—using native APIs permits the target application to determine the appearance of the response.Native APIs are provided for:• Routing Maintenance
• Master Comment Maintenance
• Product Structure Maintenance
• Item Cost Maintenance
• Item Data Maintenance
• Item Inventory Data Maintenance
• Item Planning Maintenance
• Item Site Cost Maintenance
• Item Site Inventory Data Maintenance
• Item Site Planning Maintenance
• Item Copy
• Item Maintenance
• Available To Promise (ATP) Query
• Pricing What-If Query
The response schema definitions are located in the same directory as the native API code: /schemasIn maintenance APIs, the response QDoc can contain any field or table that is within the request QDoc. By default, all fields in the request are provided in the response. In query APIs, the response by default will contain every available field. If the request XML does not contain a node that is available for the request, it will accept the default—it will not return a blank. The presence of an empty node can be explicitly stated by setting the node value to xsi:nil="true".Unlike the UI API adapter, native APIs validate the operation, so if the request tries to add a record that already exists in the database, it returns an error—the same applies for modify and remove operations.