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. |
| 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 |