Preparing your data
Find and clean up cycles
Procedure
Run the find_cycles option in the qsearch_process_queue utility to find all the cycles.
To find cycles in the entire database, run:
qsearch_process_queue -u={USER_ID} -p={PASSWORD} -g={GROUP} -find_cycles 2> c:\temp\list_of_cycles.txt
Processing the entire database might take a long time. Instead, you can find cycles by item ID, list of item IDs, or item ID UIDs.
To find a cycle by item id, run:
qsearch_process_queue -u={USER_ID} -p={PASSWORD} -g={GROUP} -find_cycles –item_id=AKT75443 2>c:\temp\AKT754432_cycles.txt
Clean up the cycles as per your organization's plan, considering that cleaning up cycles affects the content of the data.
(Product-scoped cacheless searches only)
The -check_structure_indexes argument of the qsearch_process_queue utility flags cycles in a structure with an index-box-check found cycle report. This argument starts the utility at one or more specified items and works down the entire substructure. It finds apparently incorrect indexes and, at the same time, also finds cycles. Conversely, the find_cycles argument works up the substructure from the specified item; if you specify only top-level items, it returns no results. Also, the find_cycles argument takes all items by default.
In general, arguments with "structure" in the name interpret given item IDs as top-level items, and perform the relevant action on the entire structure below each item. Options without "structure" in the name simply perform the relevant action on each item in isolation. Therefore, the -check_indexes argument simply checks each item's index but does not find any cycles; the -check_structure_indexes argument also identifies any cycles.
To check for cycles under a top-level item, enter a command similar to the following example:
qsearch_process_queue -dump_substructure -item_id=top-level-item-id(s) 2>&1 ) | grep " item " | sed -e "s/ *item *//" | sort -u >all_substructure_item_uids_file
qsearch_process_queue -find_cycles -uid=@all_substructure_item_uids_file
The -dump_substructure argument produces output similar to the following example, followed by a list of the item UIDs of all items in the structure. The -find_cycles then reads and processes the list of items.
# descend_structure: at level 1
item gsWFWitwAAgcRA
occThread gBUFWitwAAgcRA
occThread gBfFWitwAAgcRA
# descend_structure: at level 2
item g4SFWitwAAgcRA
item wESFWitwAAgcRA
occThread ARXFWitZAAgcRA
occThread ABRFWi9dAAgcRA
occThread gJZFWitwAAgcRA
occThread gJdFWitwAAgcRA
apn wYXFWivRAAgcRA
# descend_structure: at level 3
item wIaFWitwAAgcRA
item w4aFWitwAAgcRA
Source: https://docs.sw.siemens.com/en-US/doc/282219420/PL20251212545240207.plm00301/xid597843 · retrieved 2026-07-11