public static Map sortbasedonRVUlevel(Map _unsortedMap, SortOrder _sortOrder = SortOrder::Descending) { // Initialize map with key=int, value=real Map sortedMap = new Map(Types::Int64, Types::Real); MapEnumerator e; container pairs = conNull(); int64 key; int counter, i, j; real valueA, valueB; container temp; // Insert test data //m.insert(1, 10); //m.insert(2, 50); //m.insert(3, 20); //m.insert(4, 80); //m.insert(5, 40); //m.insert(6, 40); // Gather all entries into the main container e = _unsortedMap.getEnumerator(); while (e.moveNext()) { key = e.current(); pairs += [[key, _unsortedMap.lookup(key)]]; } // Sort container pairs by value descending (bubble sort for demonstration) counter = conLen(pairs); for (i = 1; i < counter; i++) { for (j = i + 1; j <= counter; j++) { valueA = conPeek(conPeek(pairs, i), 2); valueB = conPeek(conPeek(pairs, j), 2); if(_sortOrder == SortOrder::Descending) { if (valueA < valueB) // For descending order { temp = conPeek(pairs, i); pairs = conPoke(pairs, i, conPeek(pairs, j)); pairs = conPoke(pairs, j, temp); } } else { if (valueA > valueB) // For ascending order { temp = conPeek(pairs, i); pairs = conPoke(pairs, i, conPeek(pairs, j)); pairs = conPoke(pairs, j, temp); } } } } // Output sorted pairs for (i = 1; i <= counter; i++) { key = conPeek(conPeek(pairs, i), 1); valueA = conPeek(conPeek(pairs, i), 2); sortedMap.add(key, valueA); info(strFmt("Key: %1, Value: %2", key, valueA)); } return sortedMap; }
This blog is contains coding reference related to Microsoft AX 2012 and D365 finance and operations and Power platform
Thursday, October 2, 2025
Sort a Map Descending order in X++
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment