Loading...
 

Indexes for queries

Indexes for queries

Queries via object lists are accelerated with indexes. Indexes are built using the Index Manager module. (Note that in addition to a search for objects with queries, special search term dictionaries may also be in use - usually for multiple search terms for "name" or "description" for companies, persons or parts).

In addition, the structure of an index determines whether objects with the same information (e.g. the identification number "uniqueID" , parameter "Duplicates not allowed") may be created. What seems self-evident for customer and supplier numbers in the case of master data must be decided on a customer-specific basis for the parts master, for example. It is quite logical that sub-parts of a variant part should have the same part number as the variant part - despite different characteristics in the characteristic bar.

In the case of master data, it is also important to consider whether identification via a specific field is necessary or possible at all, e.g. numbering may not be necessary for the partner functions "manufacturer" or "interested party".

In general, however, indexes should be created for master data, i.e. all classes derived from CX_CONDITION, CX_BUSINESS_OBJECT via

  • the identification number (uniqueID) with parameter "Duplicates not allowed" (NO_DUPLICATES).

For all classes derived from CX_TRANSACTION (documents) indexes should generally be created via

  • the identification number (uniqueID) with parameter "Duplicates not allowed" (NO_DUPLICATES)
  • the creation date (date)

partly also over

  • the posting date (processed.date): CX_DIRECT_SHIPMENT, CX_FINANCIAL_BOOKING, CX_INVENTORY, CX_PRODUCTION_ORDER, CX_PURCHASE_CREDIT_NOTE, CX_PURCHASE_INVOICE, CX_QUALITY_ASSURANCE, CX_RECEIVING, CX_STOCK_WITHDRAWAL.
  • the flag of the final costing (realEnd.counter):
    CX_DELIVERY_NOTE, CX_FINANCIAL_BOOKING, CX_JOB_RECORD, CX_PRODUCTION_DATA_CAPTURE, CX_PURCHASE_CREDIT_NOTE, CX_PURCHASE_INVOICE, CX_PURCHASE_ORDER, CX_RECEIVING, CX_STATE_MONITOR("ENDED", "PROVICED", "STOPPED")::transactions[:realEnd.counter:], CX_STOCK_INPUT, CX_STOCK_WITHDRAWAL



Likewise, the indexes for the search for order numbers should be created ("Retrieve(UniqueID))" from the module "Completed and resolved BOMs" by means of the menu item "Edit/Index".

The following table gives an indication of which other indexes - depending on special selection and filter options in the application modules - should also be set up:

Area Class names Data fields for indexes Duplicates allowed Comment
Bank details of companies/persons CX_BANK_ACCOUNT bankCode rather no, but mostly duplicates available
Bank codes register CX_BANK_CODE uniqueID yes
Open positions CX_COMMISSION_OPEN_ITEM_TXN
CX_CREDIT_OPEN_ITEM_TXN
CX_DEBIT_OPEN_ITEM_TXN
CX_EXPENSES_OPEN_ITEM_TXN
@openItemAccount
invoiced.date
invoiced.number
yes
Projects CX_COST_OBJECTIVE
CX_SALES_COST_OBJECTIVE
CX_PURCHASE_COST_OBJECTIVE
end.spanDate
opening.date
start.spanDate
yes
Counter CX_COUNTER uniqueID no
Open items accounts payable CX_CREDIT_OPEN_ITEM_TXN TopTransaction().uniqueID yes
Disposition accounts CX_DISPO_ACCOUNT logisticsEnum
supplyEnum
yes
Document modules CX_DOCUMENT_COMPONENT uniqueID no
Capacity utilisation CX_MACHINE
CX_WORK_GROUP
CX_WORK_STATION
(for all sub-monitors of the CX_DISPO_ACCOUNT objects.
CX_LOG_CUBE::subMonitors[:reserved.numeric:]
no The index is automatically created when a new object is created. Subsequently, the indexes can be set up via the macro "ReorgSetReservedNumeric" from the capacity utilisation module.
Offers/orders CX_OFFER
CX_SALES_ORDER
requested.number yes
Disposition documents/provision lowest.number
highest.number
first.number
yes
Telephone numbers CX_PHONE FormattedIDForSearch()
GetPhone2()
yes
Confirmations BDE CX_PRODUCTION_DATA_CAPTURE datetime yes
Incoming invoices/credit notes CX_PURCHASE_CREDIT_NOTE
CX_PURCHASE_INVOICE
associated.number no
User CX_USER uniqueID
userNumber
no