This function reads the return value of a previous SapGuiInvokeMethod call and provides it as a collection iterator.
The returned collection iterator has to be released after usage by calling SapGuiIteratorRelease.
SapGui.bdh
SapGuiGetCollection( inout nIterator : number ) : boolean;
Parameter | Description |
---|---|
nIterator | This parameter will be assigned the collection iterator. |
transaction TMain var sConnID : string; i : number; nIterator : number; nType : number; nObject : number; bRet : boolean; sStr1, sStr2 : string; begin // Connecting to SAP sConnID := SapGuiOpenConnection(" /SAP_CODEPAGE=1100 /FULLMENU 10.5.2.198 0 /3"); SapGuiSetActiveConnection(sConnID); SapGuiSetActiveSession("ses[0]"); // SAP SapGuiSetActiveWindow("wnd[0]", "SAP", SAPGUI_MATCH_Exact); SapGuiWindowAction(SAPGUI_WND_MAXIMIZE); // Logon to SAP System SapGuiIgnoreError(SAPENGINE_STATUSBAR_CHANGED, SEVERITY_SUCCESS); ThinkTime(2.8); SapGuiLogon("ddic", "minisap", "000", ""); // SAP Easy Access ThinkTime(9.9); SapGuiSetActiveWindow("wnd[0]", "SAP Easy Access", SAPGUI_MATCH_Exact); SapGuiGetProperty("wnd[0]", "Children"); SapGuiGetCollection(nIterator); // nIterator now contains the iterator which the SapGuiGetProperty() call returned // Code using the iterator i := SapGuiIteratorGetCount(nIterator); while (SapGuiIteratorHasMore(nIterator)) do SapGuiIteratorFetchNext(nIterator); SapGuiIteratorGetObject(nIterator, nObject); sStr1 := ""; sStr2 := ""; SapGuiObjectGetType(nObject, sStr1, sStr2); SapGuiObjectFree(nObject); Print(sStr1 + " " + sStr2); end; SapGuiIteratorRelease(nIterator); // necessary to avoid a resource leak end TMain;