Você está na página 1de 236

Version 3.3.

Task Automation Guide

AT332_TAG_E0
AT332_TAG_E0

Atoll 3.3.2 Task Automation Guide


Release: AT332_TAG_E0 (November 2016)
© Copyright 1997-2016 Forsk. All Rights Reserved.
Published by:
Forsk
7 rue des Briquetiers
31700 Blagnac, France
Tel: +33 562 747 210
Fax: +33 562 747 211
The software described in this document is provided under a licence agreement. The software may only be used or copied under the terms and conditions of the licence agreement.
No part of the contents of this document may be reproduced or transmitted in any form or by any means without written permission from the publisher.
The product or brand names mentioned in this document are trademarks or registered trademarks of their respective registering parties.
Third party services that are not part of Atoll are governed by the terms and conditions of their respective providers, which are subject to change without notice.
The publisher has taken care in the preparation of this document, but makes no expressed or implied warranty of any kind and assumes no responsibility for errors or omissions.
No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information contained herein.
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Table of Contents

Table of Contents

1 Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17


1.1 Supported Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2 Script Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


1.2.1 Writing a VBScript File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.2 Testing the Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.3 Scheduling the Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.4 Debugging the Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2.5 Error Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.3 Macro Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


1.3.1 Adding Macros to Atoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.2 Running a Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3.3 Saving a List of Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.4 Windows Script Host, 32-bit vs 64-bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2 Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29


2.1 Interfaces Implemented by Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.2 Properties and Methods Provided by Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30


2.2.1 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.2 Error Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3 Application Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33


3.1 How to Access the Application Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2 get_Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.3 get_Parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.4 get_Active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.5 put_Active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.6 get_Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.7 get_Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.8 get_FullName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.9 get_Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.10 get_ActiveDocument. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.11 get_WindowStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.12 put_WindowStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.13 put_StatusBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.14 get_Visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.15 put_Visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.16 get_Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.17 Quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.18 LogMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.19 CreatePropertyContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3
Atoll 3.3.2 Task Automation Guide
Table of Contents © 2016 Forsk. All Rights Reserved.

3.20 get_IniFileFullPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

3.21 put_IniFileFullPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

3.22 GetOption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

3.23 SetOption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

3.24 Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

3.25 SetAddinInfoEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

3.26 put_OLENotRespondingDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

3.27 put_OLEBusyDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

3.28 put_OLEMessagePendingDelay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

3.29 get_PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

3.30 Application Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42


3.30.1 WillQuitApp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
3.30.2 DocumentOpenComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
3.30.3 WillCloseDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
3.30.4 WillSaveDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
3.30.5 DocumentSaveComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
3.30.6 DocumentNewComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
3.30.7 WillRefreshDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
3.30.8 RefreshDocumentComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
3.30.9 WillArchiveDocument. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
3.30.10 ArchiveDocumentComplete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
3.30.11 WillRun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
3.30.12 RunComplete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
3.30.13 LicenceAcquireComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
3.30.14 LicenceReleaseComplete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
3.30.15 WillNewDocumentFromDatabase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
3.30.16 WillRunMicrowave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

4 Documents Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1 How to Access a Documents Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

4.2 get_Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

4.3 get_Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

4.4 get_Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

4.5 get_Parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

4.6 Open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

4.7 Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

4.8 OpenFromDatabase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

4.9 CloseAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54

4.10 SaveAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55

5 Document Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1 How to Access a Document Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

5.2 get_Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

5.3 get_Parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

5.4 get_FullName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

5.5 get_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

5.6 get_Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

4
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Table of Contents

5.7 get_ReadOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.8 get_Saved. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.9 get_CoordSystemProjection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.10 putref_CoordSystemProjection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.11 get_CoordSystemDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.12 putref_CoordSystemDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.13 get_CoordSystemInternal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.14 get_TransmissionUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.15 put_TransmissionUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.16 get_ReceptionUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.17 put_ReceptionUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.18 get_DistanceUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.19 put_DistanceUnit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.20 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.21 FilePrint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.22 Save. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.23 Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.24 Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.25 Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.26 SetConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.27 Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.28 GetRecords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.29 Redraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.30 CenterMapOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.31 GetRootFolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.32 RunPathloss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.33 GetService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.34 ExportConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.35 GetCommandDefaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.36 InvokeCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.37 get_RadiatedPowerUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.38 put_RadiatedPowerUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.39 get_AntennaGainUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.40 put_AntennaGainUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.41 get_HeightOffsetUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.42 put_HeightOffsetUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.43 get_DatabaseConnectionString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.44 HasRunningTask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.45 RunEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.46 get_DatabaseSchemaString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5
Atoll 3.3.2 Task Automation Guide
Table of Contents © 2016 Forsk. All Rights Reserved.

5.47 get_DisplayApplicationDialogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

5.48 put_DisplayApplicationDialogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

5.49 PutDatabaseSchemaString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

5.50 PutDatabaseConnectionString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

5.51 ChangeDatabaseConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

5.52 get_TemperatureUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

5.53 put_TemperatureUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

5.54 GetDocumentProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

5.55 SetDocumentProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

5.56 get_RadioTableNames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77

5.57 LogMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77

6 TabularData Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.1 How to Access a TabularData Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82

6.2 get_ColumnCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83

6.3 get_RowCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83

6.4 Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83

6.5 AddNew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84

6.6 Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84

6.7 Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84

6.8 GetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84

6.9 SetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85

6.10 GetPrimaryKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87

6.11 FindPrimaryKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87

6.12 Find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87

6.13 GetFormattedValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88

6.14 CancelUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89

6.15 get_ColumnNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89

6.16 get_CanEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89

6.17 get_CanAddNew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90

6.18 get_CanFilterSort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90

6.19 get_Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90

6.20 put_Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90

6.21 get_Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91

6.22 put_Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92

6.23 GetOriginalValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92

6.24 get_RowStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92

6.25 get_Columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93

6.26 GetValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93

6.27 GetFormattedValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95

6
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Table of Contents

6.28 SetValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6.29 Hidden Columns In Radio Tabular Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96


6.29.1 Table MWLINKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.29.2 Table MWOTLINKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.29.3 Transmitters Tables, All Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

7 Zones and Predictions Tabular Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . .99


7.1 Zones Tabular Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

7.2 Predictions Tabular Data Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

8 CoordSystem Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105


8.1 How to Access a CoordSystem Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

8.2 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

8.3 ConvertCoordsTo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.4 Datum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8.5 DatumName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8.6 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8.7 Ellipsoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8.8 EllipsoidName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8.9 Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8.10 Pick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8.11 ProjMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

8.12 ProjParameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

8.13 SetDatum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

8.14 SetProjection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

8.15 Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

9 ChildFolder Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113


9.1 How to Access a ChildFolder Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

9.2 get_Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

9.3 get_Parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

9.4 get_Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

9.5 put_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

9.6 get_Count. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

9.7 get_Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

9.8 get__NewEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

9.9 get_Visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

9.10 put_Visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

9.11 get_Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

9.12 put_Selected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

9.13 Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

9.14 CentreOnMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

9.15 Redraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

7
Atoll 3.3.2 Task Automation Guide
Table of Contents © 2016 Forsk. All Rights Reserved.

9.16 AddChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

9.17 Remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

9.18 get_position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

9.19 put_position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

9.20 get_Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

9.21 get_dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

9.22 get_ObjectKind. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

9.23 GetProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

9.24 SetProperty. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

9.25 GetPropertiesInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

9.26 PropertyIsPropertyContainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

9.27 PropertyIsTabularData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

9.28 LoadProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

9.29 SaveProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

9.30 RemoveItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

9.31 SetCustomIcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

9.32 OpenPropertySheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

10 PropertyContainer Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129


10.1 Get. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

10.2 Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

10.3 GetInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

10.4 IsPropertyContainer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

10.5 IsTabularData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

10.6 Load. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

10.7 Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

10.8 RemoveAll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

10.9 Remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

11 ChildFolder Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135


11.1 How to Access ChildFolder Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

11.2 Common ChildFolder Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

11.3 Predictions Folder Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

11.4 Coverage Prediction Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137


11.4.1 General Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
11.4.2 Group, Filter, and Sort Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
11.4.3 Non-Simulation-based Coverage Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
11.4.4 Simulation-based Coverage Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
11.4.5 Shadowing and Indoor Coverage Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
11.4.6 Display Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

11.5 GSM Simulation Group Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

11.6 UMTS Simulation Group Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

11.7 WiMAX and LTE Simulation Group Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

8
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Table of Contents

11.8 3GPP Multi-RAT Simulation Group Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

11.9 Standard Propagation Model Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

11.10 CW Measurement Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

11.11 Drive Test Data Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

11.12 Custom ChildFolder Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

11.13 Master Link Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

11.14 Link Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

11.15 Vector Layer Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154


11.15.1 Display Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

11.16 Aster Propagation Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

11.17 KPI Item Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

12 ChildFolder Feature Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161


12.1 Clutter Feature Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
12.1.1 How to Access the Clutter Feature Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
12.1.2 get_Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
12.1.3 get_ClassAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
12.1.4 get_DefaultAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
12.1.5 Accessing Clutter Class Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

12.2 Traffic Feature Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164


12.2.1 How to Access the Traffic Feature Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.2.2 get_Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.2.3 get_ScenarioProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.2.4 ExportCumulatedTraffic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
12.2.5 HasTrafficForService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

12.3 UMTS Traffic Scenario Provider Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167


12.3.1 GetMeanSize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
12.3.2 Create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

12.4 Environment Based Traffic Map Feature Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169


12.4.1 How to Access Environment Based Traffic Map Feature Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
12.4.2 get_Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
12.4.3 get_ClassAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
12.4.4 get_DefaultAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
12.4.5 Accessing Environment Based Traffic Maps Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

12.5 Simulation Feature Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171


12.5.1 How to Access Simulation Feature Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
12.5.2 get_Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
12.5.3 get_Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
12.5.4 get_Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
12.5.5 get_Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
12.5.6 get_Mobiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
12.5.7 get_Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

12.6 Simulation Group Feature Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174


12.6.1 How to Access Simulation Group Feature Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
12.6.2 get_Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
12.6.3 get_Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
12.6.4 get_MeanSimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
12.6.5 get_StdDevSimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
12.6.6 Accessing Mobiles, Cells, Sites, for Simulations and Simulation Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

12.7 3GPP Multi-RAT Simulation Group Feature Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181


12.7.1 get_Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
12.7.2 get_Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
12.7.3 get_MeanSimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
12.7.4 get_StdDevSimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

12.8 GSM Interference Matrix Feature Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

9
Atoll 3.3.2 Task Automation Guide
Table of Contents © 2016 Forsk. All Rights Reserved.

12.8.1 How to Access GSM Interference Matrix Feature Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184


12.8.2 get_Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
12.8.3 Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
12.8.4 CompleteScopeInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
12.8.5 get_Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
12.8.6 put_Active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.8.7 get_Active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.8.8 get_Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.8.9 put_Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
12.8.10 get_BasedOnTraffic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
12.8.11 put_BasedOnTraffic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
12.8.12 get_Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
12.8.13 put_Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
12.8.14 get_StdDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
12.8.15 put_StdDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12.8.16 get_InfoQuantityIndicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12.8.17 put_InfoQuantityIndicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12.8.18 get_CdfTab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

13 Document Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193


13.1 How to Invoke a Document Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

13.2 IMPORTXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

13.3 EXPORTXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

13.4 APPENDTABLECOLUMN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

13.5 CALCULATEPOINTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

13.6 IMPORTTESTMOBILEDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

13.7 RUNNEIGHBOURALLOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

13.8 RUNINTERTECHNOLOGYNEIGHBOURALLOCATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

13.9 RUNINTRACARRIERNEIGHBOURALLOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

13.10 RUNINTERCARRIERNEIGHBOURALLOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

13.11 CLONESTUDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

13.12 DUPLICATESTUDY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

13.13 COMPARESTUDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

13.14 CALCULATEEQUIPMENTLOSSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

13.15 CALCULATEREPEATERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

13.16 CALCULATEREMOTEANTENNAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

13.17 EXPORTACTIVESETANALYSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

13.18 CALCULATEPOINTSECI0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

13.19 RUNALLCARRIERSALLOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

13.20 RUNMASTERCARRIERALLOCATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

13.21 MWRun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

13.22 EXPORTMAPWINDOW. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

13.23 IMPORTPLANETDATAFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

13.24 EXPORTMWLINKANALYSISPROFILEPICTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

13.25 GETPOWERMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

13.26 SETPOWERMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

13.27 APPENDVECTORDATACOLUMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

10
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Table of Contents

13.28 LOADSAVEPRINTSETUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

13.29 CALCULATEPATHLOSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

13.30 MWLinksCustomExport. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

13.31 ARCHIVETODATABASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

13.32 MWCalculateProfiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

13.33 PURGEPATHLOSSFOLDERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

14 Enumerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
14.1 Enumerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
14.1.1 Atoll Type Library Enumerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
14.1.1.1 AtoSaveStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
14.1.1.2 AtoSaveChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
14.1.1.3 AtoRefreshPriority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
14.1.1.4 AtoArchiveStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
14.1.1.5 AtoWindowStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
14.1.1.6 AtoLogType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
14.1.1.7 AtoCompareOp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
14.1.1.8 AtoTransmissionUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
14.1.1.9 AtoReceptionUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
14.1.1.10 AtoDistanceUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
14.1.1.11 AtoRadiatedPowerUnit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
14.1.1.12 AtoAntennaGainUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
14.1.1.13 AtoHeightOffsetUnit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
14.1.1.14 AtoRootType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
14.1.1.15 AtoRowFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
14.1.1.16 AtoRowStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
14.1.1.17 AtoTemperatureUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
14.1.2 FSKGISLib Type Library Enumerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
14.1.2.1 GeographicUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
14.1.2.2 ProjectionMethod. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
14.1.2.3 ProjParameterIndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

11
Atoll 3.3.2 Task Automation Guide
Table of Contents © 2016 Forsk. All Rights Reserved.

12
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Introduction

Atoll 3.3.2 Task Automation Guide


This Task Automation Guide is aimed at advanced administrators who plan to write scripts or macros to enhance the function-
alities that are available in Atoll.
This manual assumes that the reader has an advanced knowledge of Atoll and radio network planning and is familiar with
Microsoft script technologies and the VBScript language in particular.

About Atoll
Atoll is a 64-bit multi-technology wireless network design and optimisation platform. Atoll is open, scalable, flexible, and
supports wireless operators throughout the network life cycle, from initial design to densification and optimisation.
Atoll includes integrated single RAN – multiple RAT network design capabilities for both 3GPP (GSM/UMTS/LTE) and 3GPP2
(CDMA/LTE) technology streams. It provides operators and vendors with a powerful native 64-bit framework for designing
and optimising current and future integrated multi-technology networks. Atoll supports multi-technology HetNets, small cell
planning, and Wi-Fi offloading.
Atoll Microwave is a complete backhaul and microwave link planning solution based on the leading Atoll platform, which
includes a high performance GIS and advanced data and user management features. Atoll Microwave can share its site data-
base with Atoll radio planning and optimisation modules, thus allowing easy data consistency management across the oper-
ator organisation.
Atoll’s integration and automation features help operators smoothly automate planning and optimisation processes through
flexible scripting and SOA-based mechanisms. Atoll supports a wide range of implementation scenarios, from standalone to
enterprise-wide server-based configurations.
If you are interested in learning more about Atoll, please contact your Forsk representative to inquire about our training solu-
tions.

About Forsk
Forsk is an independent company providing radio planning and optimisation software solutions to the wireless industry since
1987.
In 1997, Forsk released the first version of Atoll, its flagship radio planning software. Since then, Atoll has evolved to become
a comprehensive radio planning and optimisation platform and, with more than 7000 installed licenses worldwide, has
reached the leading position on the global market. Atoll combines engineering and automation functions that enable opera-
tors to smoothly and gradually implement SON processes within their organisation.
Today, Forsk is a global supplier with over 450 customers in 120 countries and strategic partnerships with major players in the
industry. Forsk distributes and supports Atoll directly from offices and technical support centres in France, USA, and China as
well as through a worldwide network of distributors and partners.
Since the first release of Atoll, Forsk has been known for its capability to deliver tailored and turn-key radio planning and opti-
misation environments based on Atoll.
To help operators streamline their radio planning and optimisation processes, Forsk provides a complete range of implemen-
tation services, including integration with existing IT infrastructure, automation, as well as data migration, installation, and
training services.

Getting Help
The online help system that is installed with Atoll is designed to give you quick access to the information you need to use the
product effectively. It contains the same material as the Atoll 3.3.2 User Manual.
You can browse the online help from the Contents view, the Index view, or you can use the built-in Search feature.
You can also download manuals from the Forsk web site at:
http://www.forsk.com/MyForskAccount/

Printing Help Topics


You can print individual topics or chapters from the online help.

13
Atoll 3.3.2 Task Automation Guide
Introduction © Forsk 2016. All Rights Reserved.

To print help topics or chapters:


1. In Atoll, click Help > Help Topics.
2. In the Contents tab, expand the table of contents.
3. Right-click the section or topic that you want to print and click Print. The Print Topics dialog box appears.
4. In the Print Topics dialog box, select what you want to print:
• If you want to print a single topic, select Print the selected topic.
• If you want to print an entire section, including all topics and sections in that section, select Print the selected
heading and all subtopics.
5. Click OK.

About Atoll Documentation


The following PDF manuals are available for Atoll and Atoll Microwave and can be downloaded from the Forsk web site at:
http://www.forsk.com/MyForskAccount/
• Atoll User Manual
• Atoll Administrator Manual
• Atoll Data Structure Reference Guide
• Atoll Technical Reference Guide
• Atoll Task Automation Guide
• Atoll Model Calibration Guide
To read PDF manuals, download Adobe Reader from the Adobe web site at:
http://get.adobe.com/reader/
Hardcopy manuals are also available. For more information, contact to your Forsk representative.

Contacting Technical Support


Forsk provides global technical support for its products and services. To contact the Forsk support team, visit the My Forsk
web site at:
http://www.forsk.com/MyForskAccount/
Alternatively, depending on your geographic location, contact one of the following support teams:
• Forsk Head Office
For regions other than North and Central America and China, contact the Forsk Head Office support team:
• Tel.: +33 562 747 225
• Fax: +33 562 747 211
• Email: support@forsk.com
Opening Hours: Monday to Friday 9.00 am to 6.00 pm (GMT +1:00)
• Forsk US
For North and Central America, contact the Forsk US support team:
• Tel.: 1-888-GO-ATOLL (1-888-462-8655)
• Fax: 1-312-674-4822
• Email: support_us@forsk.com
Opening Hours: Monday to Friday 8.00 am to 8.00 pm (Eastern Standard Time)
• Forsk China
For China, contact the Forsk China support team:
• Tel: +86 20 8557 0016
• Fax: +86 20 8553 8285
• Email: atollsupport@forsk.com.cn
Opening Hours: Monday to Friday 9.00am to 5.30pm (GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi.

14
Chapter 1
Getting Started
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

16
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 1: Getting Started

1 Getting Started
Atoll provides an application programming interface that enables you to extend and customise Atoll.
If you plan to write scripts or macros, you must be familiar with Microsoft Windows Script Technologies, especially with the
VBScript language.
You can start by:
• Going through the section "Supported Extensions" on page 17 to learn which types of extensions can be developed.
• Reading the following tutorials before starting your own development:
• "Script Tutorial" on page 17,
• "Macro Tutorial" on page 23,

1.1 Supported Extensions


The following types of extensions are available.
• Scripts
A script is a sequence of VBScript statements in a text file, executable from outside Atoll (Windows Script Host). Scripts
allow task automation in Atoll when no interaction with the user is needed. Scripts do not require any setup and are
specially useful for scheduling tasks in batch mode. Scripts use COM inter-process communication for communicating
with Atoll.
Sample code:
Several scripts are available for download at www.forsk.com.
• Macros
A macro is a sequence of VBScript statements in a text file, executable from within Atoll. Macros allow task automa-
tion in Atoll. Macros may interact with the user, but the interaction is limited by VBScript. Macros must be added to
Atoll in order to be available for execution. They can be saved in Atoll user configuration files. Macro commands can
be added to toolbars. Macros use COM in-process communication for communicating with Atoll.
Sample code:
Several macros are available for download at www.forsk.com.

1.2 Script Tutorial


Through this tutorial, you will learn to automate some simple tasks, such as archiving data to databases, running calculations,
and executing scripts on a scheduled time.

1.2.1 Writing a VBScript File


Open a text editor, and type in the following code:

Option Explicit

Dim var

Dim myapp

Dim doc

Sub Atoll_RunComplete(arg1, arg2)

var = 1

End Sub

Set myapp = CreateObject("Atoll.Application")

17
Atoll 3.3.2 Task Automation Guide
Chapter 1: Getting Started © 2016 Forsk. All Rights Reserved.

WScript.ConnectObject myapp, "Atoll_"

myapp.Visible = False

Set doc = myapp.Documents.OpenFromDatabase(


"Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=myAtollDb-
Name;Data Source=myServer", "dbo;<ALL>;")

doc.Run True

var = 0

Do While var = 0

WScript.Sleep 1000

Loop

doc.Save("C:\mydoc.atl")

WScript.DisconnectObject myapp

doc = Null

Const atoSaveNo = 0

myapp.Documents.CloseAll atoSaveNo

myapp.Quit atoSaveNo

myapp = Null

WScript.Quit 0

You must replace all the parameters beginning with "my" with your own values in the above connection string. This script:
1. Starts an invisible session.
2. Opens a new document from an existing database.
3. Runs all the calculations in this document.
4. Waits for the end of calculations.
Event RunComplete is thrown when calculations are done. The syntax for catching any event is to concatenate the
name of the event to the string "Atoll_". As these parameters have not been used in the above example, they have
been named "arg1" and "arg2". Moreover, we connect and disconnect the script using the appropriate method of
WScript.
5. Saves the document.
6. Exits the Atoll session.
Save your script file as a VBScript file, for example “C:\Atollmacros\tutorial.vbs”.

1.2.2 Testing the Script


To test the script:
1. Double-click the C:\Atollmacros\tutorial.vbs file in Windows Explorer.
2. Check a few minutes later whether “C:\TEMP\mydoc.atl” has been created or not.

1.2.3 Scheduling the Script


You can schedule scripts using the Windows Task Scheduler. This tutorial describes the steps for Windows 2000. For other
operating systems, where the procedure might differ slightly, please refer to Windows Help.

18
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 1: Getting Started

To open the Windows Task Scheduler:


1. Select Start > Settings > Control Panel. The Control Panel opens.
2. Double-click the Scheduled Tasks icon.
3. Double-click the Add Scheduled Task icon. The Scheduled Taks Wizard opens.
4. Click Next.

Figure 1.1: Scheduled Tasks Wizard

5. Click the Browse button.


6. Select cscript.exe.
7. Click Next.

Figure 1.2: Scheduled Tasks Wizard

8. Change the name of the task, for example "Atoll tutorial".


9. Choose your preferred periodicity.
10. Click Next.
The following wizard pages enable you to define more precisely when your task should run and which user starts it.
11. In the last page, select the Open advanced properties for this task when I click Finish check box.
12. Click Finish. The advanced properties Atoll Tutorial dialogue opens.

19
Atoll 3.3.2 Task Automation Guide
Chapter 1: Getting Started © 2016 Forsk. All Rights Reserved.

Figure 1.3: Scheduled Tasks Wizard

13. In the Atoll Tutorial dialogue, add your VBScript file name in the Run field and append "\\B" option to specify batch
mode. This suppresses dialogue boxes such as alerts and script errors.

Figure 1.4: Atoll Tutorial

14. Set account information if needed.


15. Click OK. Your task will be displayed in the Scheduled Tasks window:

Figure 1.5: Scheduled Tasks

To modify the task properties:


1. Right-click the Atoll Tutorial task. The context menu opens.
2. Select Properties from the context menu.

20
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 1: Getting Started

To control the current status of the task:


• Select View > Details.
To open the log file:
• Select Advanced > View Log.
To test the new task:
1. Right-click the Atoll Tutorial task. The context menu opens.
2. Select Run from the context menu.

1.2.4 Debugging the Script


To debug the script, use a command prompt console and the wscript "//X" command line option:

wscript tutorial.vbs //X

You will be prompted for the debugger you want to use. Microsoft provides a specialised script debugger to debug VBScript
code, which is available in the free downloads section of Microsoft’s website. You can set breakpoints and inspect the
contents of variables using this debugger.
While debugging, you can temporarily make Atoll visible on the desktop using:

Myapp.Visible = True

1.2.5 Error Management


It is important to check for any error that might occur during the execution of the script. Microsoft Visual Basic scripting
language provides "On Error Resume Next" along with the "Err" object to manage errors. Here is our sample script with error
management:

Option Explicit

Dim var

Dim myapp

Dim doc

On Error Resume Next

Sub CatchError

If Err Then

myapp.LogMessage Err.Description, 1

WScript.Echo Err.Description

End If

WScript.Echo "Script failed."

myapp.LogMessage "Script failed.", 1

Const atoSaveNo = 0

If IsObject(doc) Then

doc.Close atoSaveNo

doc = Null

21
Atoll 3.3.2 Task Automation Guide
Chapter 1: Getting Started © 2016 Forsk. All Rights Reserved.

End If

If IsObject(myapp) Then

myapp.Documents.CloseAll atoSaveNo

myapp.Quit 0

myapp = Null

End If

WScript.Quit -1

End Sub

Sub Atoll_RunComplete(arg1, arg2)

var = 1

End Sub

Set myapp = CreateObject("Atoll.Application")

If Err Then

WScript.Echo "Can't create 'Atoll.Application' object."

Err.Clear

Call CatchError

End If

WScript.ConnectObject myapp, "Atoll_"

myapp.Visible = False

Set doc = myapp.Documents.OpenFromDatabase(


"Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=myAtollDb-
Name;Data Source=myServer", "dbo;<ALL>;")

If Err Then Call CatchError End If

doc.Run True

If Err Then Call CatchError End If

var = 0

Do While var = 0

WScript.Sleep 1000

Loop

doc.Save("C:\mydoc.atl")

If Err Then Call CatchError End If

WScript.DisconnectObject myapp

doc = Null

myapp.Documents.CloseAll atoSaveNo

22
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 1: Getting Started

myapp.Quit atoSaveNo

myapp = Null

WScript.Quit 0

Error checking is activated with "On Error Resume Next". When an error occurs, the script continues execution from the next
line and the "Err" object is set accordingly. You can check for Err.Number, or for Err (because Number is its default property)
to catch any error.

1.3 Macro Tutorial


Macros are run by Atoll upon being invoked by the user. Macros are written in VBScript, like scripts. The difference between
scripts and macros is the execution context.
When a macro is launched from Atoll, an instance of anAtoll Application object is automatically added as a script-level variable
available to the macro code. Therefore, CreateObject or GetObject to access an Application object must not be called.
The first line of your macro can be directly:

mydoc = Atoll.ActiveDocument

The script-level variable name for the Atoll Application object is "Atoll" and it is optional. So, the above line is equivalent to:

mydoc = ActiveDocument

Macros can also be invoked in response to application events.

Example

Sub Atoll_DocumentSaveComplete(doc)

LogMessage "Archive on save running ..."

Dim status

On Error Resume Next

status = doc.Archive

Const atoError = 1

Const atoArchiveCanceled = 1

If Err.Number <> 0 Then

LogMessage "Archive on save failed. " & Err.Description & ".", atoError

Else

If status = atoArchiveCanceled Then

LogMessage "Archive on save failed.", atoError


LogMessage "You must resolve the conflicts manually.", atoError

MsgBox "Archive on save failed. You must resolve the conflicts manual-
ly."

Else

LogMessage "Archive on save completed successfully."

23
Atoll 3.3.2 Task Automation Guide
Chapter 1: Getting Started © 2016 Forsk. All Rights Reserved.

End If

End If

End Sub

The above example shows a macro used to automatically archive a document once it has been saved.

1.3.1 Adding Macros to Atoll


You can add a macro to your Atoll session as follows:
1. Select Tools > Add-ins and Macros. The Add-ins and Macros dialogue opens.
2. Under Macros, click the Add button.
Browse for your script file. You can create a new macro file by typing a name for the new (empty) macro file in the file
selection box. Atoll will initialize this new file with minimal VBScript script. Atoll interprets your file and lists all public
macros found in the file in an explorer.
If you create an empty macro file, it is initialised with the following code:

Public Sub Main

End Sub

You can then edit the file and add any command in the sub Main, or add another sub and execute it..
3. Expand the explorer entry, select a macro and click the Run button to start the macro.
To edit a macro file:
1. Under Macros, select the macro in the list of macros.
2. Click the Edit button. The macro file is opened in the default editor.
3. Modify the code.
4. Save the file.
5. Close the file editor
6. In the Add-ins and Macros dialogue, click the Refresh button. Atoll will update the macro.

Figure 1.6: Adding Macros in Atoll

To associate an icon file to a macro:


1. Under Macros, select the macro in the list of macros.
2. Click the Icon button.

24
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 1: Getting Started

3. Select the icon file to be used for the macro.


A toolbar button is added for the macro in Atoll, which you can click to run the macro.
For macros returning values, only functions, and not subroutines, may be defined. This is the case, for example, of all
"OnWill…" calls as the returned value, the status value, allows the user to bypass the standard behaviour.
For functions, the name of the returned value is the same as the name of the function:

Function Atoll_WillRun(doc, success)

doc.Save

Atoll_WillRun = False ‘ Intercepts the run order and cancels

‘ it by returning False

End Function

1.3.2 Running a Macro


To run a macro:
• Select a macro in the Add-ins and Macros dialogue and click Run, or
• Select a macro in the Add-ins and Macros dialogue and double-click it, or
• Click the macro’s button in the toolbar.
If a problem occurs during the macro execution, an error message is displayed in a dialogue box with the line number indi-
cated. The same message is also logged in the Atoll Event Viewer.

1.3.3 Saving a List of Macros


Once macros have been added to an Atoll session, they can be saved in a configuration file. If no document is open in Atoll,
you can still use the Tools > User Configurations > Save command for saving the macros in the configuration file.
Similar to all other configuration file contents, if the configuration file is named Atoll.cfg and is stored at the same location as
Atoll.exe, Atoll will always be started with the list of macros saved in this configuration file. Macros will be available even if
no Atoll document is open. For more information on configuration files, please refer to the Administrator Manual.

1.4 Windows Script Host, 32-bit vs 64-bit


Microsoft Windows Script Host is used to run scripts.
On a 64-bit OS, there is a 32-bit and a 64-bit version of Windows Script Host available. Both can be used to script Atoll. The
Atoll version used by a script depends on the Atoll versions installed (32/64 bit) and on the Windows Script Host version used
to run the script.
The following table shows the Atoll version launched by Windows Script Host:

Both 32-bit and 64-bit


Only 32-bit Atoll installed Only 64-bit Atoll installed
Atoll installed
32-bit WSH used to run
the script 32-bit Atoll is launched 64-bit Atoll is launched 32-bit Atoll is launched

64-bit WSH used to run


the script 32-bit Atoll is launched 64-bit Atoll is launched 64-bit Atoll is launched

You need to explicitly use 32-bit or 64-bit Windows Script Host on machines where both 32-bit Atoll and 64-bit Atoll are
installed.

25
Atoll 3.3.2 Task Automation Guide
Chapter 1: Getting Started © 2016 Forsk. All Rights Reserved.

26
Chapter 2
Object Model
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

28
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 2: Object Model

2 Object Model
This chapter describes the Atoll object model. Figure 2.1 on page 29 provides an overview of the Atoll object model.

Application
Documents

Document 1 Document 2 PropertyContainer 1


TabularData 1 TabularData 1
PropertyContainer 2
TabularData 2 TabularData 2

ChildFolder 1 ChildFolder 1

ChildFolder 2 ChildFolder 2

CoordSystem CoordSystem

Figure 2.1: Atoll Object Model

Atoll exposes a number of objects of various types. These objects provide access to Atoll components through properties and
methods. Properties and methods usually have input and output parameters.
The objects exposed by Atoll are:

Name Description
The Application object provides an entry point for clients to retrieve and
Application Object
navigate through the Atoll object model.

The Documents object is used to create a new document or to iterate


Documents Object
through open documents in an Atoll session.

The Document object provides access to ATL documents and database


Document Object
connections.

The TabularData object provides access to Atoll tables whether an Atoll


TabularData Object document is connected to a database or not. It also provides access to other
tables which are not database tables, such as PREDICTIONS and ZONES.

CoordSystem Object This object contains the entire definition of a coordinate system.

ChildFolder Object A ChildFolder object represents an item in the Atoll Explorer window.

The PropertyContainer object is a generic container containing a set of


PropertyContainer Object
named properties of arbitrary types

The Transmitter object provides read-only access to antenna patterns,


Transmitter Object
antenna losses, and some transmitter properties.

2.1 Interfaces Implemented by Objects


Atoll objects provide access to Atoll components through properties and methods.

29
Atoll 3.3.2 Task Automation Guide
Chapter 2: Object Model © 2016 Forsk. All Rights Reserved.

2.2 Properties and Methods Provided by Objects


Access to Atoll components is available through properties and methods. Properties and methods usually have input and
output parameters.
For reading and writing a property, you write:

value = object.property ’for reading a property

object.property = value ’for writing a property

For calling a method, you write:

object.method

2.2.1 Parameters
Properties and methods may have parameters.

Input Parameters

Input parameters are marked with [in]. Input parameters are not mutated by methods or property setters implementation.
Input parameters are specified by value.

Output Parameters

Output parameters are marked with [out]. Output parameters are specified by reference. Upon successful completion of
methods or property getters, the referenced value is changed.

Input/Output Data Types

• BSTR
BSTR may be used as a method parameter data type. It is used to specify a character string. In VBScript, it corresponds
to the String data type.
• VARIANT
VARIANT may be used as a method parameter data type. It is used to specify values of many different types, especially
arrays. It can be used by VBScript.

2.2.2 Error Information


When an error is returned by a property or method, an error information context is created and an exception is thrown. If the
script or macro does not use the On Error Resume Next statement, it will be terminated due to the error.
If the script or macro uses the On Error Resume Next statement, the error information is available as properties of the script-
level Err object. For example, Err.Description which provides the error description:

In
Dim strDescription

If Err Then

strDescription = Err.Description

End If

Please refer to the VBScript Language Reference for more information about VBScript, error handling, and the Err script-level
variable.

30
Chapter 3
Application
Object
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

32
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 3: Application Object

3 Application Object
The Application object provides an entry point for clients to retrieve and navigate through the Atoll object model.
• IApplication7
The Application object provides the following properties and methods:

Name Description Attributes

Type: Application object


get_Application Returns the Atoll Application object.
Access: Read

Type: Application object


get_Parent Returns the Atoll Application object.
Access: Read

Returns whether the Atoll window is active Type: Boolean


get_Active
or not. Access: Read/Write

Type: Boolean
put_Active Sets the Atoll window active.
Access: Read/Write

Type: Documents object


get_Documents Returns the Documents object.
Access: Read

Returns the application name. The Type: String


get_Name
application name is always "Atoll". Access: Read

Type: String
get_FullName Returns the full path of the executable.
Access: Read

Type: String
get_Path Returns the path of the executable.
Access: Read

Type: Document object


get_ActiveDocument Returns the active document.
Access: Read

Returns the window status of the Atoll Type: Integer


get_WindowStatus
application. Access: Read/Write

Sets the window status of the Atoll Type: Integer


put_WindowStatus
application. Access: Read/Write

Sets the status bar text of the Atoll Type: String


put_StatusBar
application. Access: Write

Type: Boolean
get_Visible Returns the application visible state.
Access: Read/Write

Type: Boolean
put_Visible Sets the application visible state.
Access: Read/Write

Type: String
get_Version Returns the application version.
Access: Read

Quit Quits the application.

Displays a message in the Atoll event


LogMessage
observer window.

CreatePropertyContainer Returns an empty PropertyContainer object.

Returns the full path to the Atoll initialisation Type: String


get_IniFileFullPath
file. Access: Read/Write

Sets the full path to the Atoll initialisation Type: String


put_IniFileFullPath
file. Access: Read/Write

Returns an option read from the Atoll


GetOption
initialisation file.

33
Atoll 3.3.2 Task Automation Guide
Chapter 3: Application Object © 2016 Forsk. All Rights Reserved.

Name Description Attributes

SetOption Sets an option in the Atoll initialisation file.

Suspends the application apartment


Sleep
execution.

The Application object fires the following events:

Name Description
WillQuitApp Event fired when the user wants to exit an Atoll session.

DocumentOpenComplete Event fired when a document has been opened.

WillCloseDocument Event fired when the user wants to close a document.

WillSaveDocument Event fired when the user wants to save a document.

DocumentSaveComplete Event fired just after a document has been saved.

DocumentNewComplete Event fired when a new document has been created.

WillRefreshDocument Event fired when the user wants to refresh a document from database.

RefreshDocumentComplete Event fired when a document has been refreshed from database.

WillArchiveDocument Event fired when the user wants to archive a document to the database.

ArchiveDocumentComplete Event fired when the document has been archived in database.

WillRun Event fired when the user wants to start a calculation.

RunComplete Event fired when the calculation has finished.

LicenceAcquireComplete This feature enables the user to log Atoll licence token usage from an add-in.

LicenceReleaseComplete This feature enables the user to log Atoll licence token usage from an add-in.

3.1 How to Access the Application Object


The application object is the top-level object. Sub-objects are obtained through properties of the application. To get an appli-
cation object in VBScript, use one of the following:

Set app = CreateObject("Atoll.Application")

Because Atoll registers itself in the Running Objects Table when an Atoll session is running, you can use:

Set app = GetObject(, "Atoll.Application")

Using GetObject("", "Atoll.Application") (note the difference in the first parameter) will
automatically start a new instance of Atoll if no session is already running and attach the
macro to this new instance.
Each call to GetObject("", "Atoll.Application") will start a new Atoll instance. If this is not
intended, use GetObject(, “Atoll.Application”), which attaches the script to the first Atoll
session started when several sessions are running.

In the context of macros, an instance of the main object Application is automatically added as a global variable of the macro
code. Therefore, it must not call CreateObject or GetObject to get an Application object.
The global variable of type Application object available to macros is named "Atoll".

34
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 3: Application Object

3.2 get_Application
Returns the Atoll Application object.

HRESULT get_Application(IApplication **ppVal);

Parameters

[out] ppVal: Address of the IApplication interface pointer used to return the Atoll Application object.

3.3 get_Parent
Returns the Atoll Application object.

HRESULT get_Parent(IApplication **ppVal);

Parameters

[out] ppVal: Address of the IApplication interface pointer used to return the Atoll Application object.

3.4 get_Active
Returns whether the Atoll window is active or not.

HRESULT get_Active(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return whether the Atoll windows application is active or not.

Example

Dim app

Dim act

Set app = CreateObject("Atoll.Application")

act = app.Active

app.Active = True

3.5 put_Active
Sets the main application window active.

HRESULT put_Active(VARIANT_BOOL aNewVal);

Parameters

[in] aNewVal:
• VARIANT_TRUE: Activates the main window application.

Example

See "get_Active" on page 35.

35
Atoll 3.3.2 Task Automation Guide
Chapter 3: Application Object © 2016 Forsk. All Rights Reserved.

3.6 get_Documents
Returns the Documents object.

HRESULT get_Documents(IDocuments **ppDocVal);

Parameters

[out] ppDocVal: Address of the IDocuments interface pointer used to return the Documents object.

Example

Dim app

Dim docs

Set app = CreateObject("Atoll.Application")

Set docs = app.Documents

3.7 get_Name
Returns the application name. The application name is always "Atoll".

HRESULT get_Name(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the application name.

3.8 get_FullName
Returns the full path of the executable.

HRESULT get_FullName(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the application full path.

Remarks

The path name returned is the full path, for example, "C:\Program Files\Forsk\Atoll\Atoll.exe".

3.9 get_Path
Returns the path of the executable.

HRESULT get_Path(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the application path.

Remarks

The path returned is provided as an absolute path, for example, "C:\Program Files\Forsk".

36
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 3: Application Object

3.10 get_ActiveDocument
Returns the active document.

HRESULT get_ActiveDocument(IDocument **ppDocVal);

Parameters

[out] ppDocVal: Address of the IDocument interface pointer used to return the Document object.

Example

Dim app

Dim doc

Set app = CreateObject("Atoll.Application")

Set doc = app.ActiveDocument

3.11 get_WindowStatus
Returns the window status of the Atoll application.

HRESULT get_WindowStatus(enum AtoWindowStatus *pVal);

Parameters

[out] pVal: Address of the AtoWindowStatus enumeration used to return the window status.

Example

Dim app

Dim status

Set app = CreateObject("Atoll.Application")

status = app.WindowStatus

Const atoMinimized = 2

app.WindowStatus = atoMinimized

3.12 put_WindowStatus
Sets the window status of the Atoll application.

HRESULT put_WindowStatus(enum AtoWindowStatus aNewVal);

Parameters

[in] newVal: The window status.

Example

See "get_WindowStatus" on page 37.

37
Atoll 3.3.2 Task Automation Guide
Chapter 3: Application Object © 2016 Forsk. All Rights Reserved.

3.13 put_StatusBar
Sets the status bar text of the Atoll application.

HRESULT put_StatusBar(const BSTR bstrNewVal);

Parameters

[in] bstrNewVal: The text to display in the status bar.

Example

Dim app

Set app = CreateObject("Atoll.Application")

app.StatusBar = “This is my message”

3.14 get_Visible
Returns the application visible state.

HRESULT get_Visible(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return the application visible state.

Remarks

When Atoll is not visible, a dialogue that would normally require user input is automatically closed as if the user has clicked
its default button without changing any of the dialogue controls.

3.15 put_Visible
Sets the application visible state.

HRESULT put_Visible(VARIANT_BOOL aNewVal);

Parameters

[in] aNewVal:
• VARIANT_TRUE: Makes Atoll visible.
• VARIANT_FALSE: Hides Atoll.

Remarks

When Atoll is not visible, a dialogue that would normally require user input is automatically closed as if the user has clicked
its default button without changing any of the dialogue controls.

3.16 get_Version
Returns the application version.

HRESULT get_Version(BSTR *pVal);

38
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 3: Application Object

Parameters

[out] pVal: Address of the BSTR used to return the version.

Remarks

The string is formatted like in the Atoll about dialogue, for example, "2.6.1".
Atoll 3.1.0 and above:
The application build number is included in the string, for example, "3.1.0 (Build 3730)"

3.17 Quit
Quits the application.

HRESULT Quit(enum AtoSaveChanges aSaveChanges, enum AtoSaveStatus *pStatus);

Parameters

[in] aSaveChanges:
• atoSaveNo: Discards document changes, then closes the application.
• atoSaveYes: Saves document changes, then closes the application.
• atoSavePrompt: The user is prompted to save document changes, then the application is closed.
[out] pStatus: The AtoSaveStatus enumeration pointer used to return whether changes were successfully saved or not.
• Returns atoSaveCanceled when the user was prompted and has chosen not to save the changes, otherwise returns
atoSaveSucceeded.

Remarks

Once this method has returned the Atoll Application object has been destroyed and invoking any method on it will result in
undefined behaviour.

3.18 LogMessage
Displays a message in the Atoll event observer window.

HRESULT LogMessage(const BSTR bstrMsg, enum AtoLogType aLogtype = atoInfo);

Parameters

[in] bstrMsg: The text to display.


[in] aLogType:
• atoInfo: An information message is displayed.
• atoError: An error message is displayed.
• atoWarning: A warning message is displayed.

3.19 CreatePropertyContainer
Returns an empty PropertyContainer object.

HRESULT CreatePropertyContainer(VARIANT *pProperties)

Parameters

[out] pProperties: Address of the VARIANT used to return the empty PropertyContainer object.

39
Atoll 3.3.2 Task Automation Guide
Chapter 3: Application Object © 2016 Forsk. All Rights Reserved.

Remarks

The VARIANT returned if of type VT_DISPATCH, and it implements the IPropertyContainer interface. The empty container
returned can be used to hold default parameters specific to an Atoll document command or to hold an Atoll ChildFolder
Object properties.

3.20 get_IniFileFullPath
Returns the full path to the Atoll Initialisation File.

HRESULT get_IniFileFullPath(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the full path to the Atoll Initialisation File.

Remarks

The Atoll Initialisation File is usually named "Atoll.ini" and it is located in the directory where Atoll was installed.
Please note that for performance reasons, some options read from the Initialisation File by Atoll are cached for subsequent
usage. After the path to the Initialisation File has been changed, and in order for some options to be used, it is necessary to
quit Atoll and start it again. Therefore, it is recommended to change the full path to the Initialisation File as soon as the Atoll
Application Object has been created.
Please refer to the Atoll Administrator Manual for the list of available options.

3.21 put_IniFileFullPath
Sets the full path to the Atoll Initialisation File.

HRESULT put_IniFileFullPath(BSTR bstrFile);

Parameters

[in] bstrFile: A BSTR used to specify the full path to the Atoll Initialisation File.

Remarks

The Atoll Initialisation File is usually named "Atoll.ini" and it is located in the directory where Atoll was installed.
Please note that for performance reasons, some options read from the Initialisation File by Atoll are cached for subsequent
usage. After the path to the Initialisation File has been changed, and in order for some options to be used, it is necessary to
quit Atoll and start it again. Therefore, it is recommended to change the full path to the Initialisation File as soon as the Atoll
Application Object has been created.
Please refer to the Atoll Administrator Manual for the list of available options.

3.22 GetOption
Returns an option read from the Atoll Initialisation File.

HRESULT GetOption(BSTR bstrSection, BSTR bstrOption, VARIANT *pVal);

Parameters

[in] bstrSection: A BSTR used to specify the name of an Atoll Initialisation File section.
[in] bstrOption: A BSTR used to specify the name of an Atoll Initialisation File option.
[out] pVal : Address of the VARIANT used to return the option value. The type of the VARIANT returned is VT_NULL when the
option bstrOption is not found under the section bstrSection in the Initialisation File. The type of the returned VARIANT is
VT_I4 when the option bstrOption is an integer, otherwise the type of the VARIANT returned is VT_BSTR. If bstrOption is left
empty, pVal will be used to return the entire section whose name is specified in bstrSection.

40
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 3: Application Object

Remarks

Please refer to the Atoll Administrator Manual for the list of available sections and options.

3.23 SetOption
Sets an option in the Atoll Initialisation File.

HRESULT SetOption(BSTR bstrSection, BSTR bstrOption, VARIANT varValue);

Parameters

[in] bstrSection: A BSTR used to specify the name of an Atoll Initialisation File section.
[in] bstrOption: A BSTR used to specify the name of an Atoll Initialisation File option.
[in] varValue: A VARIANT used to specify the option value to write to the Initialisation File.

Remarks

The caller must have write access permission to the Initialisation File.
Please note that for performance reasons, some options read from the Initialisation File by Atoll are cached for subsequent
usage. Therefore, it is recommended to set options as soon as the Atoll Application Object has been created.
Please refer to the Atoll Administrator Manual for the list of available sections and options.

3.24 Sleep
Suspends the application apartment execution.

HRESULT Sleep(long lMilliseconds);

Parameters

[in] lMilliseconds : A long integer used to specify the time, in milliseconds, to sleep.

Example

’Sleep 5 seconds

Atoll.Sleep 5000

Remarks

Application events can still be processed while the application apartment execution is suspended.

Application Version

 2.8.1

3.25 SetAddinInfoEx
Reserved for future use.

HRESULT SetAddinInfoEx(
LONGLONG hInstance,
LPDISPATCH dispatch,
long idr,
long cookie
);

41
Atoll 3.3.2 Task Automation Guide
Chapter 3: Application Object © 2016 Forsk. All Rights Reserved.

Parameters

3.26 put_OLENotRespondingDialog
Enables or disables OLE not responding dialog.

HRESULT put_OLENotRespondingDialog(VARIANT_BOOL newVal);

Parameters

[in] newVal: A VARIANT_BOOL used to specify whether the OLE not responding dialog is enabled (VARIANT_TRUE), or disabled
(VARIANT_FALSE).

3.27 put_OLEBusyDialog
Enables or disables OLE busy dialog.

HRESULT put_OLEBusyDialog(VARIANT_BOOL newVal);

Parameters

[in] newVal: A VARIANT_BOOL used to specify whether the OLE busy dialog is enabled (VARIANT_TRUE), or disabled
(VARIANT_FALSE).

3.28 put_OLEMessagePendingDelay
Sets the OLE message pending delay.

HRESULT put_OLEMessagePendingDelay(LONG newVal);

Parameters

[in] newVal: A LONG integer used to specify the OLE message pending delay.

3.29 get_PID
Returns the Windows Process ID of the Atoll session.

HRESULT get_PID(long* pVal);

Parameters

[out] pVal: Address of the long integer used to return the process ID of the Atoll session.

3.30 Application Events


Events related to the application are fired:
• Before the application shuts down,
• When a document has just been opened,
• Before a document is closed,
• Before a document is saved,
• When a document has been saved,
• When a new document has just been created,
• Before a document is refreshed from database,
• When a document has been refreshed from database,
• Before a document is archived in database,

42
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 3: Application Object

• When a document has been archived in database,


• When a calculation is requested,
• When a Microwave calculation is requested,
• After a calculation has completed,
• When a licence is acquired,
• When a licence is released,
• Before a new document is created from an existing database.

3.30.1 WillQuitApp
Event fired when the user wants to exit an Atoll session. It occurs just before all add-ins are disconnected and after all docu-
ments have been closed.

HRESULT WillQuitApp(VARIANT_BOOL* evtStatus);

Parameters

[out] evtStatus: A VARIANT_BOOL pointer used to return whether Atoll is allowed to quit (VARIANT_TRUE) or not
(VARIANT_FALSE).

3.30.2 DocumentOpenComplete
Event fired when a document has been opened.

HRESULT DocumentOpenComplete(IDocument* document);

Parameters

[in] document: The IDocument interface pointer of the document object which has been opened.

3.30.3 WillCloseDocument
Event fired when the user wants to close a document. It occurs just before the document closes, i.e., after all confirmations
requested by Atoll have been answered (stop running tasks, save changes, etc...).

HRESULT WillCloseDocument(IDocument* document, VARIANT_BOOL* evtStatus);

Parameters

[in] document: The IDocument interface pointer of the document object being closed.
[out] evtStatus: A VARIANT_BOOL pointer used to return whether the document is allowed to be closed (VARIANT_TRUE) or
not (VARIANT_FALSE).

3.30.4 WillSaveDocument
Event fired when the user wants to save a document. It occurs just before the document file is saved but after a valid file name
is set.

HRESULT WillSaveDocument(IDocument* document, VARIANT_BOOL* evtStatus);

Parameters

[in] document: The IDocument interface pointer of the document object being saved.
[out] evtStatus: A VARIANT_BOOL pointer used to return when the document is allowed to be saved (VARIANT_TRUE) or not
(VARIANT_FALSE).

3.30.5 DocumentSaveComplete
Event fired just after a document has been saved.

43
Atoll 3.3.2 Task Automation Guide
Chapter 3: Application Object © 2016 Forsk. All Rights Reserved.

HRESULT DocumentSaveComplete (IDocument* document);

Parameters

[in] document: The IDocument interface pointer of the document which has been successfully saved.

3.30.6 DocumentNewComplete
Event fired when a new document has been created.

HRESULT DocumentNewComplete(IDocument* document);

Parameters

[in] document: The IDocument interface pointer of the document which has been created.

3.30.7 WillRefreshDocument
Event fired when the user wants to refresh a document from database. It occurs just before the connection with the database
is checked.

HRESULT WillRefreshDocument(IDocument* document, VARIANT_BOOL* evtStatus);

Parameters

[in] document: The IDocument interface pointer of the document being refreshed.
[out] evtStatus: A VARIANT_BOOL pointer used to return whether the document is allowed to be refreshed (VARIANT_TRUE)
or not (VARIANT_FALSE).

3.30.8 RefreshDocumentComplete
Event fired when a document has been refreshed from database.

HRESULT RefreshDocumentComplete(IDocument* document);

Parameters

[in] document: The IDocument interface pointer of the document which has been refreshed.

3.30.9 WillArchiveDocument
Event fired when the user wants to archive a document to the database. It occurs just after the connection with the database
is set up and after Atoll has checked if any changes have to be archived. If nothing requires archiving, this event is not fired.

HRESULT WillArchiveDocument(IDocument* document, VARIANT_BOOL* evtStatus);

Parameters

[in] document: The IDocument interface pointer of the document being archived.
[out] evtStatus: A VARIANT_BOOL pointer used to return whether the document is allowed to be archived (VARIANT_TRUE)
or not (VARIANT_FALSE).

3.30.10 ArchiveDocumentComplete
Event fired when the document has been archived in database. It occurs just before the connection with the database is
broken.

44
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 3: Application Object

HRESULT ArchiveDocumentComplete(IDocument* document);

Parameters

[in] document: The IDocument interface pointer of the document which has been archived.

3.30.11 WillRun
Event fired when the user wants to start a calculation. If all is set to VARIANT_TRUE, this event occurs after the user has
confirmed that all previous calculations must be deleted.

HRESULT WillRun(

IDocument* document,

VARIANT_BOOL all,

VARIANT_BOOL* evtStatus

);

Parameters

[in] document: The IDocument interface pointer of the document on which calculation is requested.
[in] all: A VARIANT_BOOL value used to specify whether the user has requested "Calculate All (Ctrl+F7)" (VARIANT_TRUE) or
"Calculate (F7)" (VARIANT_FALSE).
[out] evtStatus: A VARIANT_BOOL pointer used to return whether calculation is allowed to run against the document
(VARIANT_TRUE) or not (VARIANT_FALSE).

3.30.12 RunComplete
Event fired when the calculation has finished. It occurs after all tasks have completed.

HRESULT RunComplete(IDocument* document, VARIANT_BOOL succeeded);

Parameters

[in] document: The IDocument interface pointer of the document.


[in] succeeded: The VARIANT_BOOL used to specify whether calculation has succeeded (VARIANT_TRUE) or not
(VARIANT_FALSE).

Remarks

For documents based on the 3GPP Multi-RAT template, there may be several RunComplete events in response to one calcu-
lation task. For instance, the path loss matrices calculation might result in 3 RunComplete events, one for LTE, one for UMTS,
and one for GSM matrices.

3.30.13 LicenceAcquireComplete
This feature enables the user to log Atoll licence token usage from an add-in. Licence token consumption is available globally
for all Atoll instances running on one licence server using a dedicated application (monitor.exe).
External licence tokens are not tracked by this event. Licence events for the Measurements module (Measures) is available
for auto-connected add-ins only.
Fired when one licence token is acquired.

HRESULT LicenceAcquireComplete(

IDocument *pDocument,

45
Atoll 3.3.2 Task Automation Guide
Chapter 3: Application Object © 2016 Forsk. All Rights Reserved.

long lModuleID

);

Parameters

[in] pDocument: The IDocument interface pointer of the document that needed one licence token.
[in] lModuleID: The long integer used to specify the ID of the licence token that has just been acquired.

Remarks

lModuleID will be one of these constant values:


• LICENCE_GSMTDMA
• LICENCE_MW
• LICENCE_MEASURES
• LICENCE_AFP
• LICENCE_PACK3G
• LICENCE_UMTS
• LICENCE_CDMA
• LICENCE_TDSCDMA
• LICENCE_WIMAX
• LICENCE_LTE
• For LICENCE_MEASURES token, pDocument will be NULL.
Module identifiers used when licence application events are fired:

const long LICENCE_GSMTDMA = 2;

const long LICENCE_MW = 4;

const long LICENCE_MEASURES = 8;

const long LICENCE_AFP = 16;

const long LICENCE_PACK3G = 32;

const long LICENCE_UMTS = 64;

const long LICENCE_CDMA = 128;

const long LICENCE_TDSCDMA = 256;

const long LICENCE_WIMAX = 512;

const long LICENCE_LTE = 2048;

3.30.14 LicenceReleaseComplete
This feature enables the user to log Atoll licence token usage from an add-in. Licence token consumption is available globally
for all Atoll instances running on one licence server using a dedicated application (monitor.exe).
External licence tokens are not tracked by this event. Licence events for the Measurements (Measures) module will be avail-
able for autoconnected add-ins only.
Fired when one licence token is released.

HRESULT LicenceReleaseComplete(

IDocument *pDocument,

long lModuleID

);

46
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 3: Application Object

Parameters

[in] pDocument: The IDocument interface pointer of the document that just released the licence token.
[in] lModuleID: The long integer used to specify the ID of the licence token that has just been released.

Remarks

lModuleID will be one of these constant values:


• LICENCE_GSMTDMA
• LICENCE_MW
• LICENCE_PACK3G
• LICENCE_UMTS
• LICENCE_CDMA
• LICENCE_TDSCDMA
• LICENCE_WIMAX
• LICENCE_LTE

3.30.15 WillNewDocumentFromDatabase
 3.2.0

Fired just before a new document is created from an existing database.

HRESULT WillNewDocumentFromDatabase(

BSTR connexion,

BSTR schema,

VARIANT_BOOL *pEvtStatus
);

Parameters
[in] connexion: The database connexion string.
[in] schema: The database schema.
[out] evtStatus: A VARIANT_BOOL pointer used to return whether the creation of the new document from the database iden-
tified by the connexion and schema parameters is allowed (VARIANT_TRUE) or not (VARIANT_FALSE).

3.30.16 WillRunMicrowave
Event fired when the user wants to start a Microwave calculation.

HRESULT WillRunMicrowave(

IDocument* document,

VARIANT_BOOL all,

VARIANT_BOOL* evtStatus

);

Parameters

[in] document: The IDocument interface pointer of the document on which Microwave calculation is requested.
[in] all: A VARIANT_BOOL value used to specify whether the user has requested "Calculate All (Ctrl+F7)" (VARIANT_TRUE) or
"Calculate (F7)" (VARIANT_FALSE).
[out] evtStatus: A VARIANT_BOOL pointer used to return whether Microwave calculation is allowed to run against the docu-
ment (VARIANT_TRUE) or not (VARIANT_FALSE).

47
Atoll 3.3.2 Task Automation Guide
Chapter 3: Application Object © 2016 Forsk. All Rights Reserved.

48
Chapter 4
Documents
Object
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

50
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 4: Documents Object

4 Documents Object
The Documents object is used to create a new document or to iterate through open documents in an Atoll session.
The Documents object provides the following properties and methods:

Name Description Attributes

Returns the number of currently open documents ina Type: Integer


get_Count
session. Access: Read

Type: Documents
get_Item Returns one document currently open in a session. object
Access: Read

Type: Application
get_Application Returns the Atoll application object. object
Access: Read

Type: Application
get_Parent Returns the Atoll application object. object
Access: Read

Opens an existing document and adds it to the collection of


Open
open documents.

Creates a new document and adds it to the collection of


Add
open documents.

Creates a new document from a database and adds it to


OpenFromDatabase
the collection of open documents.

CloseAll Closes all open documents.

SaveAll Saves all open documents.

4.1 How to Access a Documents Object


To access a Documents object:

Dim allDocs

Set allDocs = Atoll.Documents

The "For Each" VBScript statement can be used with the Documents collection object:

Dim allDocs

Dim doc

Set allDocs = Atoll.Documents

For Each doc In allDocs

‘ do some work with doc

‘...

Next

51
Atoll 3.3.2 Task Automation Guide
Chapter 4: Documents Object © 2016 Forsk. All Rights Reserved.

4.2 get_Count
Returns the number of currently open documents in an Atoll session.

HRESULT get_Count(LONG *pVal);

Parameters

[out] pVal: A LONG pointer used to return the number of open documents.

Example

Dim nDocs

nDocs = Atoll.Documents.Count

4.3 get_Item
Returns one document currently open in an Atoll session.

HRESULT get_Item(const VARIANT vIdx, IDocument **ppDoc);

Parameters

[in] vIdx: A VARIANT of type VT_I4 or VT_BSTR identifying the returned document. A variant of type VT_I4 is interpreted as a
zero-based index in the documents collection. A variant of type VT_BSTR is interpreted as the name of a document.
[out] ppDoc: Address of the IDocument interface pointer used to return the Atoll document object.

Remarks

The name of a document is the document file name, as returned by get_Name().

4.4 get_Application
Returns the Atoll application object.

HRESULT get_Application(IApplication **ppVal);

Parameters

[out] ppVal: Address of the IApplication interface pointer used to return the Atoll application object.

4.5 get_Parent
Returns the Atoll application object.

HRESULT get_Parent(IApplication **ppVal);

Parameters

[out] ppVal: Address of the IApplication interface pointer used to return the Atoll application object.

4.6 Open
Opens an existing document and adds it to the collection of open documents.

52
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 4: Documents Object

HRESULT Open(const BSTR bstrPathName, VARIANT_BOOL aReadOnly, IDocument


**pDoc);

Parameters

[in] bstrPathName: The absolute path of the document to open.


[in] readOnly: VARIANT_TRUE means the document will be opened in read-only mode. VARIANT_FALSE means the document
will be opened in read-write mode.
[out] pDoc: Address of the IDocument interface pointer used to return the open Document object.

Example

Dim doc

Set doc = app.Documents.Open(“C:\Temp\myProject.atl”)

4.7 Add
Creates a new document and adds it to the collection of open documents.

HRESULT Add(BSTR templateName, IDocument **pDoc);

Parameters

[in] templateName: The name of an Atoll template.


[out] pDoc: Address of the IDocument interface pointer used to return the new Document object.

Example

Dim doc

Set doc = app.Documents.Add(“UMTS”)

4.8 OpenFromDatabase
Creates a new document from a database and adds it to the collection of open documents.

HRESULT OpenFromDatabase(VARIANT connection, BSTR schema, IDocument **pDoc);

Parameters

[in] connection: A VARIANT of type VT_BSTR or VT_UNKNOWN. If the variant is of type VT_BSTR, it is interpreted as the
connection string of the database you want to connect to. If the variant if of type VT_UNKNOWN, it is interpreted as an ADODB
connection interface pointer. Please read the Microsoft documentation about ADOX interfaces.
[in] schema: The name of the database schema, in case of databases supporting muti-schema based definition. The syntax of
the schema string is:

Value[;PropertyName = Value]

Available properties are:

Property Name Value Version Description

Project string  2.6.0 Database schema

53
Atoll 3.3.2 Task Automation Guide
Chapter 4: Documents Object © 2016 Forsk. All Rights Reserved.

Keep Connection 0|1  2.6.0 Whether to keep connection with the database or not

group name
Field Groups  2.6.0 Comma separated values of field groups
[,group name]

Site Lists site list[,site list]  2.6.0 Comma separated values of site lists

IntraTechnology
0|1  2.6.1 Whether to load the table "NEIGHBOURS" or not
Neighbours

InterTechnology
0|1  2.6.1 Whether to load the table "NEIGHBOURSEXT" or not
Neighbours

Comma separated values of systems.


When creating a new document from a 3GPP Multi-RAT
database, it is used to specify the radio access technologies
to load.
Available values for systems are:
Systems system,[system]  3.1.2
GSM
UMTS
LTE
When no property named "Systems" is specified in the
schema string, all radio technologies are loaded.

[out] pDoc: Address of the IDocument interface pointer used to return the new Document object.

Remarks

A dialogue box is displayed to enter the schema properties in these cases:


a. When schema is NULL, or schema is equal to the string constant "0".
b. When a project is specified, and when no site lists are specified in the schema parameter.
No dialogue box is displayed when a project is specified, and when the site lists property of the schema parameter is set to
"<ALL>". In this case, all sites are loaded from the database.

Example

Creating a new document from a MS Access database:

Public Sub OpenMSAccessDatabase


conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myproject.mdb"
Atoll.Documents.OpenFromDatabase conn, ""
End Sub

Creating a new document from a database, specifying a site list to load:

Public Sub OpenSiteList


conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myproject.mdb"
Atoll.Documents.OpenFromDatabase conn, "Site Lists=MySiteList"
End Sub

Creating a new document from an Oracle database, with no dialogue box:


Creating a new document from a 3GPP Multi-RAT Oracle database, loading LTE and UMTS information only:

4.9 CloseAll
Closes all open documents.

HRESULT CloseAll(AtoSaveChanges saveChanges, AtoSaveStatus *status);

54
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 4: Documents Object

Parameters

[in] saveChanges:
• atoSaveNo: Discards document changes, then closes all open documents.
• atoSaveYes: Saves document changes, then closes all open documents.
• atoSavePrompt: The user is prompted to save document changes, then all open documents are closed.
[out] status: The AtoSaveStatus enumeration pointer used to return whether changes were successfully saved or not.
• Returns atoSaveCanceled when the user was prompted and has chosen not to save the changes, otherwise returns
atoSaveSucceeded.

4.10 SaveAll
Saves all open documents.

HRESULT SaveAll();

55
Atoll 3.3.2 Task Automation Guide
Chapter 4: Documents Object © 2016 Forsk. All Rights Reserved.

56
Chapter 5
Document
Object
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

58
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

5 Document Object
The Doc ument object provides access to ATL documents and database connections. A document can be managed (open, save,
close, etc.) using its properties and methods. A document is also the main entry to manage all the data it contains.


The Document object provides the following properties and methods:

Name Description Attributes

Type: Application object


get_Application Returns the Atoll Application Object.
Access: Read

Type: Documents object


get_Parent Returns the Atoll Documents collection.
Access: Read

Type: String
get_FullName Returns the document full path.
Access: Read

Type: String
get_Name Returns the document file name without the extension.
Access: Read

Type: String
get_Path Returns the document path.
Access: Read

Type: Boolean
get_ReadOnly Returns true if the document is read-only, false otherwise.
Access: Read

Returns false if the document contains unsaved changes, Type: Boolean


get_Saved
true otherwise. Access: Read

Type: CoordSystem
get_CoordSystemProjection Returns the projection coordinate system of a document. object
Access: Read/Write

Type: CoordSystem
putref_CoordSystemProjection Sets the projection coordinate system of a document. object
Access: Read/Write

Type: CoordSystem
get_CoordSystemDisplay Returns the display coordinate system of a document. object
Access: Read/Write

Type: CoordSystem
putref_CoordSystemDisplay Sets the display coordinate system of a document. object
Access: Read/Write

Type: CoordSystem
get_CoordSystemInternal Returns the internal coordinate system of a document. object
Access: Read

Type: Integer
get_TransmissionUnit Returns the transmission power unit.
Access: Read/Write

Type: Integer
put_TransmissionUnit Sets the transmission power unit.
Access: Read/Write

Type: Integer
get_ReceptionUnit Returns the signal level reception unit.
Access: Read/Write

Type: Integer
put_ReceptionUnit Sets the signal level reception unit.
Access: Read/Write

Type: Integer
get_DistanceUnit Returns the display distance unit.
Access: Read/Write

59
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Type: Integer
put_DistanceUnit Sets the display distance unit.
Access: Read/Write

Close Closes a document.

FilePrint Sends a document to a printer.

Save Saves a document.

Refresh Refreshes the document from a database.

Archive Archives the document in a database.

Run Starts calculations.

SetConfig Loads a configuration file.

Import Loads a file containing geographic data.

Returns a TabularData object for a requested category of


GetRecords
records.

Redraw Refreshes all items in the document.

CenterMapOn Centres map on a parameter point.

Returns the root ChildFolder object used to enumerate all


GetRootFolder ChildFolder objects belonging to one tab of the Atoll
explorer window.

Calculates the path loss matrices with no need for any


RunPathloss
predefined studies.

GetService Returns a Document Service Object.

Exports a subset of the current document configuration to


ExportConfig
a file.

Returns current default parameters specific to a


GetCommandDefaults
command.

InvokeCommand Invokes a command.

Type: Integer
get_RadiatedPowerUnit Returns the current radiated power unit.
Access: Read/Write

Type: Integer
put_RadiatedPowerUnit Sets the current radiated power unit.
Access: Read/Write

Type: Integer
get_AntennaGainUnit Returns the current antenna gain unit.
Access: Read/Write

Type: Integer
put_AntennaGainUnit Sets the current antenna gain unit.
Access: Read/Write

Type: Integer
get_HeightOffsetUnit Returns the current height offset unit.
Access: Read/Write

Type: Integer
put_HeightOffsetUnit Sets the current height offset unit.
Access: Read/Write

Type: String
get_DatabaseConnectionString Returns the database connection string.
Access: Read/Write

Type: Boolean
HasRunningTask Returns true when there is some calculation in progress.
Access: Read

RunEx Starts calculations.

Type: String
get_DatabaseSchemaString Returns the database schema string.
Access: Read/Write

60
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

Name Description Attributes

Returns true when some methods on some Atoll Type: Boolean


get_DisplayApplicationDialogues
interfaces may display some dialogue boxes. Access: Read/Write

Returns true when some methods on some Atoll Type: Boolean


put_DisplayApplicationDialogues
interfaces may display some dialogue boxes. Access: Read/Write

Type: String
PutDatabaseSchemaString Sets the database schema string.
Access: Read/Write

Type: String
PutDatabaseConnectionString Sets the database connection string.
Access: Read/Write

Type: String
ChangeDatabaseConnection Changes the database connection string.
Access: Read/Write

5.1 How to Access a Document Object


To access a document, you can either:
1. Request the active document from the application:

Set myDoc = Atoll.ActiveDocument

2. Or, use the Documents object:

Set myDoc = Atoll.Documents.Open(“C:\temp\myproject.atl”)

5.2 get_Application
Returns the Atoll Application Object.

HRESULT get_Application(IApplication **ppVal);

Parameters

[out] ppVal: Address of the IApplication interface pointer used to return the Atoll Application Object.

5.3 get_Parent
Returns the Atoll Documents collection.

HRESULT get_Parent(IDocuments **ppDocVal);

Parameters

[out] ppDocVal: Address of the IDocuments interface pointer used to return the Atoll Documents collection.

5.4 get_FullName
Returns the document full path.

HRESULT get_FullName(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the document full path.

61
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

Remarks

With a new document that has never been saved, or a document opened from a database, an empty string is returned.

5.5 get_Name
Returns the document file name without the extension.

HRESULT get_Name(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the document file name without the extension.

Remarks

With a new document that has never been saved, or a document opened from a database, an empty string is returned.

5.6 get_Path
Returns the document path.

HRESULT get_Path(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the document path.

Remarks

With a new document that has never been saved, or a document opened from a database, an empty string is returned.

5.7 get_ReadOnly
Returns true if the document is read-only, false otherwise.

HRESULT get_readOnly(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return the read-only status of the document.

5.8 get_Saved
Returns false if the document contains unsaved changes, true otherwise.

HRESULT get_Saved(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return whether the document contains unsaved changes or not.

5.9 get_CoordSystemProjection
Returns the projection coordinate system of a document.

62
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

HRESULT get_CoordSystemProjection(IDispCoordSystem **ppVal);

Parameters

[out] ppVal: Address of the IDispCoordSystem interface pointer used to return the projection coordinate system of the docu-
ment.

5.10 putref_CoordSystemProjection
Sets the projection coordinate system of a document.

HRESULT putref_CoordSystemProjection(IDispCoordSystem *pVal);

Parameters

[in] pVal: Address of the IDispCoordSystem interface pointer used to set the projection coordinate system of the document.

5.11 get_CoordSystemDisplay
Returns the display coordinate system of a document.

HRESULT get_CoordSystemDisplay(IDispCoordSystem **ppVal);

Parameters

[out] ppVal: Address of the IDispCoordSystem interface pointer used to return the display coordinate system of the document.

5.12 putref_CoordSystemDisplay
Sets the display coordinate system of a document.

HRESULT putref_CoordSystemDisplay(IDispCoordSystem *pVal);

Parameters

[in] pVal: Address of the IDispCoordSystem interface pointer used to set the display coordinate system of the document.

5.13 get_CoordSystemInternal
Returns the internal coordinate system of a document.

HRESULT get_CoordSystemInternal(IDispCoordSystem **ppVal);

Parameters

[out] ppVal: Address of the IDispCoordSystem interface pointer used to return the internal coordinate system of the docu-
ment.

Remarks

When the document is not connected to a database, the internal coordinate system is the same as the display coordinate
system. When the document is connected to a database, the internal coordinate system won’t change when the display coor-
dinate system is changed. When the document is connected to a database, the internal coordinate system is the display coor-
dinate system that was in use when the document was archived in the database for the first time.
The coordinates of sites are defined with the internal coordinate system.

63
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

5.14 get_TransmissionUnit
Returns the transmission power unit.

HRESULT get_TransmissionUnit(enum AtoTransmissionUnit *pVal);

Parameters

[out] pVal: Address of the AtoTransmissionUnit enumeration value used to return the transmission power unit.

5.15 put_TransmissionUnit
Sets the transmission power unit.

HRESULT put_TransmissionUnit(enum AtoTransmissionUnit aNewVal);

Parameters

[in] aNewVal: The AtoTransmissionUnit enumeration value used to specify the transmission power unit.

5.16 get_ReceptionUnit
Returns the signal level reception unit.

HRESULT get_ReceptionUnit(enum AtoReceptionUnit *pVal);

Parameters

[out] pVal: Address of the AtoReceptionUnit enumeration value used to return the signal level reception unit.

5.17 put_ReceptionUnit
Sets the signal level reception unit.

HRESULT put_ReceptionUnit(enum AtoReceptionUnit aNewVal);

Parameters

[in] aNewVal: The AtoReceptionUnit enumeration value used to specify the signal level reception unit.

5.18 get_DistanceUnit
Returns the display distance unit.

HRESULT get_DistanceUnit(enum AtoDistanceUnit *pVal);

Parameters

[out] pVal: Address of the AtoDistanceUnit enumeration value used to return the display distance unit.

5.19 put_DistanceUnit
Sets the display distance unit.

64
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

HRESULT put_DistanceUnit(enum AtoDistanceUnit aNewVal);

Parameters

[in] aNewVal: The AtoDistanceUnit enumeration value used to specify the display distance unit.

5.20 Close
Closes a document.

HRESULT Close(enum AtoSaveChanges saveChanges, enum AtoSaveStatus *pStatus);

Parameters

[in] saveChanges: An AtoSaveChanges enumeration value. The values are:

Constant Value Description


atoSaveNo 0 Document is closed without being saved.

atoSaveYes 1 Document is saved before being closed.

The user is prompted whether the document must be saved before


atoSavePrompt 2
closed.

[out] pStatus: Address of the AtoSaveStatus enumeration value. Returned values are:

Constant Value Description


atoSaveSucceeded 0 Document has been successfully saved.

atoSaveCanceled 1 Changes in the document has been cancelled by the user.

5.21 FilePrint
Sends a document to a printer. The current print settings are used.

HRESULT FilePrint();

5.22 Save
Saves a document.

HRESULT Save(const BSTR pVal);

Parameters

[in] pVal: A BSTR used to specify where the document will be saved. When pVal is an empty string, the document is saved in
place, the action performed is the same as the Atoll "File | Save" menu command. When pVal is the full path to an ATL file,
then the action performed is the same as the Atoll "File | Save as..." menu command. When pVal is the full path to a Microsoft
Access database file or when pVal is an Oracle database connection string, then the action performed is the same as the Atoll
"File | Database | Export..." menu command.

5.23 Refresh
Refreshes the document from a database. The document must be connected to a database.

65
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

HRESULT Refresh(enum AtoRefreshPriority aPriority);

Parameters

[in] aPriority: The AtoRefreshPriority enumeration value used to refresh the document from the database.

5.24 Archive
Archives the document in a database. The document must be connected to a database.

HRESULT Archive(enum AtoArchiveStatus *pStatus);

Parameters

[out] pStatus: Address of the AtoArchiveStatus used to return the result of the operation.

Remarks

Atoll >= 2.7.0:


When the DisplayApplicationDialogue property of the document is set to true, the standard Atoll archive dialogue will be
displayed, otherwise no dialogue is displayed and all changes are archived.

5.25 Run
Starts calculations.

HRESULT Run(VARIANT_BOOL aAll);

Parameters

[in] aAll: The VARIANT_BOOL value used to specify whether all previous results must be deleted before the calculations starts
(VARIANT_TRUE), or if only invalid pathloss matrices must be calculated (VARIANT_FALSE).

Remarks

1) When aAll is set to VARIANT_TRUE, the result is the same as the Atoll "Tools | Force calculation" menu command. When
aAll is set to VARIANT_FALSE, the result is the same as the Atoll "Tools | Calculate" menu command.
2) The method returns immediately and calculations occur in the background.
3) An error is returned when it is called on a Microwave Radio Links Atoll document.
The WillRun application event is thrown by this method.

5.26 SetConfig
Loads a configuration file.

HRESULT SetConfig(const BSTR bstrFileName);

Parameters

[in] bstrFileName: The BSTR used to specify the full path of the configuration file to load.

Remarks

The configuration file is a .CFG file obtained using the Atoll "User Configuration | Export..." menu command. It may contain
geographic configuration and folder configurations. Please see the Atoll Administrator Manual. The configurations in the
document are replaced with the configurations contained in the .CFG file. If you simply want to add some geographic data to
a document, you should rather use the Import method instead.

66
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

5.27 Import
Loads a file containing geographic data.

HRESULT Import(const BSTR fileName);

Parameters

[in] fileName: A BSTR used to specify the full path of the file to load.

Remarks

The geographic file can be:


• An .CFG file. All data from its geographic section are loaded. Please see the Atoll Administrator Manual.
• Any file format supported by Atoll (.BIL, .TIF, etc).
The geographic content of the imported file (.CFG, .GEO, .BIL, .TIF, etc.) is added to the current configuration of the geographic
data in the document. The existing geographic configuration is not removed.
If you want to replace the geographic configuration of a document, you should use the SetConfig function instead.

You must ensure that no inputs are requested from the user when importing the file (for
instance the file type, georeferencement parameters, etc.) when the application is not
visible.

5.28 GetRecords
Returns an Atoll Tabular Data Object for a requested category of records.

n
HRESULT GetRecords(

const BSTR bstrTableName,

VARIANT_BOOL aAll,

ITabularData *ppRecords

);

Parameters

[in] bstrTableName: A BSTR used to specify the name of the table from which the records are requested.
[in] aAll: A VARIANT_BOOL. When it is set to VARIANT_TRUE, all the records of the table are returned. When it is set to
VARIANT_FALSE and when there is an Atoll document folder associated with bstrTableName, the filter set on the document
folder is used to filter the returned records. If no associated folder exists, this parameter is ignored.
[out] ppRecords: Address of the ITabularData interface pointer used to return the Atoll Tabular Data Object.

Remarks

The list of available table names defined by Atoll can be found in the template (.MDB) file. Please see the Administrator
Manual for the available table names. Some other table names are available:
• PREDICTIONS: to get pathloss matrices and signal level matrices.
• ZONES: to get either the calculation zone or the focus zone.

Changes introduced in Atoll version 2.7.1 and above

1) Table "REPEATERS_VIEW"
When bstrTableName is equal to “REPEATERS_VIEW”, the TabularData object returned is a join on the "TRANSMITTERS" and
the "REPEATERS" table. The fields returned will be the "TRANSMITTERS" table fields and the "REPEATERS" table fields, where
TRANSMITTERS.TX_ID = REPEATERS.TX_ID. The name of the fields of the "REPEATERS" table in the "REPEATERS_VIEW" are

67
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

prefixed with "TX_ID." whereas the names of the fields coming from the "TRANSMITTERS" table are left unchanged. When
aAll is VARIANT_FALSE, then the filter set on the “Transmitters” folder of the Atoll document is used to filter the
“REPEATERS_VIEW” table records, otherwise all repeaters or remote antennas are returned. A remote antenna is a repeater
whith the field “EQUIPMENT_NAME” set to VT_NULL.
2) Table "REPEATERS"
When bstrTableName is equal to “REPEATERS”, and aAll is VARIANT_FALSE, then the filter set on the “Transmitters” folder of
the Atoll document is used to filter the “REPEATERS” table records, otherwise all repeaters or remote antennas are returned.
A remote antenna is a repeater whith the field “EQUIPMENT_NAME” set to VT_NULL.

Changes introduced in Atoll version 3.1.1 and above

1) Table "MWLinks"
When bstrTableName is equal to “MWLinks”, the TabularData object returned has an additional column named
"_LINK_LENGTH", used to access the length of Microwave links as single precision floating point values.

Example

Dim records

’ Returns the content of the SITES table

Set records = app.ActiveDocument.GetRecords("Sites", True)

’ Returns the content of the Sites folder, taking the folder filter into ac-
count

Set records = app.ActiveDocument.GetRecords("Sites", False)

5.29 Redraw
Refreshes all items in the document.

HRESULT Redraw();

Remarks

It has the same effect as the icon Refresh (F5) in Atoll.

5.30 CenterMapOn
Centres map on a parameter point.

HRESULT CenterMapOn(double* ptx, double* pty);

Parameters

[in] ptx, [in] pty: Pointers to double precision floating point values used to specify the coordinates of the point to centres the
map view on, expressed in meters, using the document projected coordinate system.

5.31 GetRootFolder
Returns the root Atoll Child Folder Object used to enumerate all Child Folder objects belonging to one tab of the Atoll explorer
window.

HRESULT GetRootFolder(enum AtoRootType aType, IChildFolder **ppItem);

68
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

Parameters

[in] aType: The AtoRootType enumeration value used to specify the Atoll explorer window tab. There is one root ChildFolder
object for each tab of the Atoll explorer window.
[out] ppItem: Address of the IChildFolder interface pointer used to return the root ChildFolder object.

Example

Dim geo

const atoGeo = 1

’ Returns the root ChildFolder object of the Atoll explorer "Geo" tab

Set geo = app.ActiveDocument.GetRootFolder(atoGeo)

5.32 RunPathloss
Calculates the path loss matrices with no need for any predefined studies.

HRESULT RunPathloss(VARIANT_BOOL allTx, VARIANT_BOOL forced);

Parameters

[in] allTx: When VARIANT_TRUE, the calculation is made for all active transmitters in the table. When VARIANT_FALSE, only
filtered transmitters are calculated.
[in] forced: When VARIANT_TRUE, the calculation is forced even for transmitters having available valid results. When
VARIANT_FALSE, the calculation is made only for transmitters having unavailable or invalid results.

Remarks

1) This method corresponds to the menu commands "Calculations | Calculate Path Loss Matrices" and "Calculations | Force
Path Loss Matrix Calculation" available in the Calculations sub-menu of the Transmitters folder.
2) The method returns immediately and the calculations occur in the background.
3) An error is returned when it is called on a Microwave Radio Links Atoll document.

How to detect the end of path loss matrices calculation?

To wait for the end of background path loss matrices calculation, please use the HasRunningTask document object method.
While background calculations are running, HasRunningTask returns True. As soon as HasRunningTask returns False, you can
assume that background calculations are finished:

'"Wait" Loop
Do While AtollDoc.HasRunningTask
WScript.Sleep 1000
Loop

5.33 GetService
Returns a scriptable Document Service Object.

HRESULT GetService(BSTR bstrName, IDispatch** ppProvider)

Parameters

[in] bstrName: A BSTR used to specify the name of the service.

69
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

The available values are:


"SIGNAL" : A Result File Provider object, implementing the IResultFileProvider interface.
On documents based on the GSM GPRS EDGE template:
"AFP" : A GSM Frequency Plan Allocation object, implementing the IAfpLauncher interface.
"AFP_IM" : A GSM Interference Matrices object, implementing the IAfpImLauncher interface.

[out] ppProvider: Address of the IDispatch interface pointer used to return the scriptable Document Service Object.

5.34 ExportConfig
Exports a subset of the current document configuration to a file.

HRESULT ExportConfig(const BSTR bstrContent, const BSTR bstrFile);

Parameters

[in] bstrContent: A BSTR used to specify the configuration subset to export:


• "GEO" : The "Geographic Data Set" configuration is exported.
• "GEO+ZONES" : The "Geographic Data Set" and "Computation and Focus Zones" configurations are exported.
• "FULL" : All available configurations are exported.
Atoll 2.7.1 and above:
bstrContent is parsed according to the format "OPTION[+OPTION]". The set of specified options are exported to bstrFile. Avail-
able options are:

OPTION name Description

GEO Geographic Data Set

ZONES Computation and Focus Zones

STUDIES Prediction List

Atoll 3.1.0 and above:

OPTION name Description

FOLDERS Folder Configuration

MACROS Macros

AFP AFP Configuration

ANP Automatic Neighbour Allocation Parameters

MW Microwave Link Parameters

PNO Automatic PN Offset Allocation Parameters

SCP Automatic Scrambling Code Allocation Parameters

[in] bstrFile: A BSTR used to specify the name of the export file.

5.35 GetCommandDefaults
Returns current default parameters specific to a command.

HRESULT GetCommandDefaults(

const BSTR bstrCommandName,

70
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

IPropertyContainer **ppParameters

);

Parameters

[in] bstrCommandName: A BSTR used to specify the command.


[out] ppParameters: Address of the IPropertyContainer interface pointer used to return the defaults parameters for the
bstrCommandName command.

5.36 InvokeCommand
Invokes a command.

HRESULT InvokeCommand(

const BSTR bstrCommandName,

IPropertyContainer *pParameters,

IPropertyContainer **ppResults

);

Parameters

[in] bstrCommandName: A BSTR used to specify the command.


[in] pParameters: The IPropertyContainer interface pointer used to specify the Property Container object holding the param-
eters needed to carry out the command.
• If set to NULL, default parameters for the command will be used.
ppResults: Results of the command invokation.
• *ppResults will be set to NULL if the command has no results.

5.37 get_RadiatedPowerUnit
Returns the current radiated power unit.

HRESULT get_RadiatedPowerUnit(enum AtoRadiatedPowerUnit *pVal);

Parameters

[out] pVal: Address of the AtoRadiatedPowerUnit enumeration value used to return the radiated power unit.

5.38 put_RadiatedPowerUnit
Sets the current radiated power unit.

HRESULT put_RadiatedPowerUnit(enum AtoRadiatedPowerUnit aNewVal);

Parameters

[in] aNewVal: The AtoRadiatedPowerUnit enumeration value used to specify the radiated power unit.

5.39 get_AntennaGainUnit
Returns the current antenna gain unit.

71
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

HRESULT get_AntennaGainUnit(enum AtoAntennaGainUnit *pVal);

Parameters

[out] pVal: Address of the AtoAntennaGainUnit enumeration value used to return the antenna gain unit.

5.40 put_AntennaGainUnit
Sets the current antenna gain unit.

HRESULT put_AntennaGainUnit(enum AtoAntennaGainUnit aNewVal);

Parameters

[in] aNewVal: The AtoAntennaGainUnit enumeration value used to specify the antenna gain unit.

5.41 get_HeightOffsetUnit
Returns the current height offset unit.

HRESULT get_HeightOffsetUnit(enum AtoHeightOffsetUnit *pVal);

Parameters

[out] pVal: Address of the AtoHeightOffsetUnit enumeration value used to return the height offset unit.

5.42 put_HeightOffsetUnit
Sets the current height offset unit.

HRESULT put_HeightOffsetUnit(enum AtoHeightOffsetUnit aNewVal);

Parameters

[in] aNewVal: The AtoHeightOffsetUnit enumeration value used to specify the height offset unit.

5.43 get_DatabaseConnectionString
Returns the database connection string.

HRESULT get_DatabaseConnectionString(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the database connection string.

Remarks

An error is returned when the document is not connected to a database.

5.44 HasRunningTask
Returns true when there is some calculation in progress.

HRESULT HasRunningTask(VARIANT_BOOL *pVal);

72
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return whether there is some calculation in progress or not.

Remarks

When some calculation is in progress, it is impossible to start new ones.

5.45 RunEx
Start calculations.

HRESULT RunEx(VARIANT_BOOL aAll, VARIANT_BOOL vbBlocking);

Parameters

[in] aAll: The VARIANT_BOOL value used to specify whether all previous results must be deleted before the calculations starts
(VARIANT_TRUE), or if only invalid pathloss matrices must be calculated (VARIANT_FALSE).
[in] vBlocking: The VARIANT_BOOL value used to specify whether the calculations will occur in the background
(VARIANT_FALSE), or if the method should wait for the calculations to finish before returning (VARIANT_TRUE).

Remarks

1) When aAll is set to VARIANT_TRUE, the result is the same as the Atoll "Tools | Force calculation" menu command. When
aAll is set to VARIANT_FALSE, the result is the same as the Atoll "Tools | Calculate" menu command.
2) An error is returned when it is called on a Microwave Radio Links Atoll document.
The WillRun application event is thrown by this method.
When vbBlocking is set to VARIANT_TRUE, the RunComplete application event is thrown by this method before it returns.

5.46 get_DatabaseSchemaString
Returns the database schema string.

HRESULT get_DatabaseSchemaString(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the database schema string.

Remarks

An error is returned when the document is not connected.


The database schema string is returned using the exact same syntax described for the OpenFromDatabase method.

5.47 get_DisplayApplicationDialogues
Returns true when some methods on some Atoll interfaces may display some dialogue boxes.

HRESULT get_DisplayApplicationDialogues(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return whether some dialogue boxe may be displayed upon invokation of
some method on some Atoll interface.

Remarks

Setting the Application Object visibility state to false sets this value to false.

73
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

5.48 put_DisplayApplicationDialogues
Returns true when some methods on some Atoll interfaces may display some dialogue boxes.

HRESULT put_DisplayApplicationDialogues(VARIANT_BOOL aNewVal);

Parameters

[in] aNewVal: The VARIANT_BOOL used to specify whether some dialogue boxe may be displayed upon invokation of some
method on some Atoll interface.

Remarks

Setting the Application Object visibility state to false sets this value to false.

5.49 PutDatabaseSchemaString
Sets the database schema string.

HRESULT PutDatabaseSchemaString(BSTR aVal);

Remarks

This method is not implemented.


Please do not use this method.

Atoll Version

 2.8.1

5.50 PutDatabaseConnectionString
Sets the database connection string.

HRESULT PutDatabaseConnectionString(BSTR aVal);

Parameters

[in] aVal:
The BSTR used to specify the new database connection string.
To disconnect the document from the database, specify a NULL BSTR value or an empty string.

Remarks

An error is returned when the document is not connected to a database.


Depending on the aVal parameter value, the action performed is the same as Database | Connection Properties | Modify, or
Database | Connection Properties | Disconnect.

Atoll Version

 2.8.1

5.51 ChangeDatabaseConnection
Changes the database connection string.

HRESULT ChangeDatabaseConnection(BSTR aCnn, BSTR aReserved);

74
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

Parameters

[in] aCnn:
The BSTR used to specify the new database connection string.
[in] aReserved:
A BSTR reserved for a future usage.

Remarks

Please do not use this method. Use PutDatabaseConnectionString instead.

Atoll Version

 2.8.1

5.52 get_TemperatureUnit
Returns the display temperature unit.

HRESULT get_TemperatureUnit(enum AtoTemperatureUnit *pVal);

Parameters

[out] pVal: Address of the AtoTemperatureUnit enumeration value used to return the display temperature unit.

5.53 put_TemperatureUnit
Sets the display temperature unit.

HRESULT put_TemperatureUnit(enum AtoTemperatureUnit aNewVal);

Parameters

[in] aNewVal: The AtoTemperatureUnit enumeration value used to specify the display temperature unit.

5.54 GetDocumentProperties
Returns the document properties.

HRESULT GetDocumentProperties(IPropertyContainer **ppProperties);

Parameters

[out] ppProperties: Address of the IPropertyContainer interface pointer used to return the document properties.

Remarks

Please see the SetDocumentProperties documentation for the list of available document properties.

5.55 SetDocumentProperties
Sets the document properties.

HRESULT SetDocumentProperties(IPropertyContainer *pProperties);

75
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

Parameters

[in] pProperties: The IPropertyContainer interface pointer used to specify the document properties.

Remarks

Available document properties are:


Name Type
PROJECT String

DATE String

AUTHOR String

TITLE String

COMMENT String

STATUS String

LOGO String

USER_PROPERTY0

USER_PROPERTY1

USER_PROPERTY2

USER_PROPERTY3

USER_PROPERTY4

USER_PROPERTY5

USER_PROPERTY6

USER_PROPERTY7

USER_PROPERTY8

USER_PROPERTY9

USER_PROPERTY_NAME0 String

USER_PROPERTY_NAME1 String

USER_PROPERTY_NAME2 String

USER_PROPERTY_NAME3 String

USER_PROPERTY_NAME4 String

USER_PROPERTY_NAME5 String

USER_PROPERTY_NAME6 String

USER_PROPERTY_NAME7 String

USER_PROPERTY_NAME8 String

76
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 5: Document Object

USER_PROPERTY_NAME9 String

5.56 get_RadioTableNames
Returns the names of Radio TabularData Objects in the document.

HRESULT get_RadioTableNames(VARIANT* pTableNames);

Parameters

[out] pTableNames: Address of the VARIANT used to return the names of radio database tables in the document.
The variant returned is an Array of variants, with variants of type String.

5.57 LogMessage
Displays a message in the Atoll event observer window.

HRESULT LogMessage(const BSTR bstrMsg, enum AtoLogType aLogtype = atoInfo);

Parameters

[in] bstrMsg: The text to display.


[in] aLogType:
• atoInfo: An information message is displayed.
• atoError: An error message is displayed.
• atoWarning: A warning message is displayed.

77
Atoll 3.3.2 Task Automation Guide
Chapter 5: Document Object © 2016 Forsk. All Rights Reserved.

78
Chapter 6
TabularData
Object
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

80
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 6: TabularData Object

6 TabularData Object
The TabularData object provides access to Atoll tables whether an Atoll document is connected to a database or not. It also
provides access to other tables which are not database tables, such as PREDICTIONS and ZONES, explained in "Zones and
Predictions Tabular Data Objects" on page 99.

Access to tabular data in an Atoll document connected to a database


For each database table, access is provided to differences between the content of the
database when the data table has been refreshed for the last time and the current table
content stored in an Atoll document. These are the differences listed in the Atoll Database
Archive dialogue, which can be submitted through an external process using this interface.
Access is given the original data as retrieved by the latest refresh operation from the data-
base. Access is not given to the current content of the database. Therefore, it is not possi-
ble to show or solve conflicts between the data in the Atoll document and the current
content of the database.
For a given database table, original data values and row statuses are not stored in the data-
base. They are stored in the Atoll document.

The TabularData object provides the following properties and methods:

Name Description Attributes

Type: Integer
get_ColumnCount Returns the number of columns of the TabularData Object.
Access: Read

Type: Integer
get_RowCount Returns the number of rows of the TabularData Object
Access: Read

Edit Puts a row into edition mode.

Adds a new empty row to the TabularData Object. The row


AddNew
added is put into edition mode.

Commits a row changes and puts the row from edition mode
Update
to normal mode.

Delete Deletes a record.

GetValue Returns a value of a column for a given row.

SetValue Sets the value of a column for the row being edited or added.

GetPrimaryKey Returns the value of the primary key for a given row number.

Searches the row whose primary key equals the input value
FindPrimaryKey
and returns the row number of the row found.

Find Searches a column for a value.

GetFormattedValue Returns a column value formatted as a string.

CancelUpdate Cancels a pending update.

Type: Integer
get_ColumnNumber Returns a column number.
Access: Read

Type: Boolean
get_CanEdit Checks if rows can be modified.
Access: Read

Type: Boolean
get_CanAddNew Checks if rows can be added.
Access: Read

Type: Boolean
get_CanFilterSort Checks if rows can be filtered or sorted.
Access: Read

Type: String
get_Filter Returns the filter currently set on the table.
Access: Read/Write

81
Atoll 3.3.2 Task Automation Guide
Chapter 6: TabularData Object © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Type: String
put_Filter Filters the table data according to a filter criteria.
Access: Read/Write

Type: String
get_Sort Returns the sort order currently set on the table.
Access: Read/Write

Type: String
put_Sort Sorts the table data.
Access: Read/Write

GetOriginalValue Returns an original field value.

Type: Integer
get_RowStatus Returns a row status.
Access: Read

6.1 How to Access a TabularData Object


A TabularData object is defined by its structure (number of columns, name of columns) and its content (rows = records).
Column 0 and row 0 are special:
• Row 0 holds the field names, i.e., the table structure description.
• Column 0 holds a unique identifier for records, called RECORD_ID. This identifier is not persistent and must not be
used between two sessions of Atoll, neither when refreshing nor when archiving.
Thus, in order to get a tabular data structure, you write:

Dim i

Dim colName

Dim records

Set records = Atoll.ActiveDocument.GetRecords("Transmitters", True)

For i = 0 To records.ColumnCount

colName = records.GetValue(0, i)

Next

The first value (for i = 0) is always "RECORD_ID". The second (for i = 1) is "SITE_NAME" in case of TRANSMITTERS table, and so
on. The last one corresponds to i = ColumnCount.
To read the calculation radii of all the transmitters, you write:

Dim i

Dim radius

Dim records

Set records = Atoll.ActiveDocument.GetRecords("Transmitters", True)

For i = 1 To records.RowCount

radius = records.GetValue(i, “CALC_RADIUS”)

Next

Note that the loop does not start with i = 0 because GetValue would return the string "CALC_RADIUS" and not a value.
If we know that column "CALC_RADIUS" is number 11, we could instead write:

82
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 6: TabularData Object

radius = records.GetValue(i, 11)

But it is better to let Atoll manage the correspondence by itself.


The table names you can use to request GetRecords in a document are Atoll tables defined in the document template initially
used to create your document, and depend on the type of network.
You can also get some additional tables: Predictions, Zones.
• Predictions tabular data gives access to path loss and signal level matrices.
• Zones tabular data gives access to calculation and focus zones.
For more information, see "Zones and Predictions Tabular Data Objects" on page 99.

6.2 get_ColumnCount
Returns the number of columns of the TabularData Object.

HRESULT get_ColumnCount(long *pVal);

Parameters

[out] pVal: Address of the long integer used to return the number of columns.

Remarks

This number does not include the RECORD_ID column. If a table TABLE1 is defined by FIELD1, FIELD2, and FIELD3,
get_ColumnCount returns 3, even though there are 4 columns : RECORD_ID, FIELD1, FIELD2, and FIELD3.

6.3 get_RowCount
Returns the number of rows of the TabularData Object

HRESULT get_RowCount(long *pVal);

Parameters

[out] pVal: Address of the long integer used to return the number of rows.

Remarks

The first row is row number 0 and it contains the TabularData Object field names. If a table TABLE1 has no record, 0 is
returned. The actual contents of the table starts at row number 1. GetValue(0, 1) returns FIELD1, which is the name of the
column number 1 (read in row number 0). GetValue(0, 0) returns RECORD_ID, which is the name of the column number 0
(read in row number 0). GetValue(1, 1) returns the value for column FIELD1 (number 1) in row number 1.

6.4 Edit
Puts a row into edition mode.

HRESULT Edit(long iRow);

Parameters

[in] iRow: The long integer used to specify the row number to put into edition mode.

Remarks

Once a row is put into edition mode, it is possible to change the row contents by using SetValue. Update is used to commit
the row changes.

83
Atoll 3.3.2 Task Automation Guide
Chapter 6: TabularData Object © 2016 Forsk. All Rights Reserved.

Don’t forget to call this method before a call to SetValue and to call Update to commit the
changes in the row.

6.5 AddNew
Adds a new empty row to the TabularData Object. The row added is put into edition mode.

HRESULT AddNew();

Don’t forget to call this method before a call to SetValue and to call Update to actually add
the new row.

6.6 Update
Commits a row changes and puts the row from edition mode to normal mode.

HRESULT Update(long *piRow);

Parameters

[out] piRow: The long integer pointer used to return the number of the row that was in edition mode. If the method Edit
started the editing, the same iRow as in Edit is returned. If it was AddNew method, the number is the row number where the
new record has been added.

Remarks

At one point in time, only one record can be put into edition mode. This method must be called once after each Edit and
AddNew. Editing another record without updating the previous one will throw an error. Edit/Update cannot be mixed up for
different records, neither can be AddNew/Update.

6.7 Delete
Deletes a record.

HRESULT Delete(long iRow);

Parameters

[in] iRow: The long integer used to specify the row number of the record to delete.

Remarks

A valid iRow number is any integer, such that 0 < iRow <= RowCount. Deletion can fail if the record to delete is related to
another one. For instance an antenna from the table "ANTENNAS" cannot be deleted if it is being used by a transmitter from
the table "TRANSMITTERS".
Even if the record deletion doesn’t break integrity relations between tables, deleting a record may involve updating other
tables or records.
For instance, be careful when using this method with the "TRANSMITTERS" table and the "TRXs" table. If you delete one TRX,
you want to edit the "TRANSMITTERS" table in order to update the field "NUM_TRX".

6.8 GetValue
Returns a value of a column for a given row.

84
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 6: TabularData Object

HRESULT GetValue(long iRow, const VARIANT iCol, VARIANT *pVal);

Parameters

[in] iRow: The long integer used to specify the row number.
[in] iCol: The VARIANT used to specify a column. When iCol is of type VT_I4, iCol is interpreted as a column number. When iCol
is of type VT_BSTR, iCol is interpreted as a column name.
[out] pVal: Address of the VARIANT used to return the column value.

Remarks

A valid iRow number is any integer, such that 0< iRow<= RowCount. A valid iCol is either an integer such that 0< iCol <= Colum-
nCount or a string containing the name of an existing column.
The column names are not case sensitive.
You should never assume that the type of the returned VARIANT is the one you expect. For instance, a VARIANT of type
VT_NULL may be returned when the value of the column is the "Null" value. You should explicitly convert the returned VARI-
ANT to the type you expect and handle conversion errors.
When using a TabularData Object to access database tables, please refer to the Atoll Administrator Manual for the available
column names, types, units, and to check if the column specification allows for "Null" values. For site coordinates values,
please refer to the Atoll Technical Reference Guide for coordinate systems and units. Site coordinates are expressed in the
internal coordinate system of the Atoll document.

Example

Set sites = app.ActiveDocument.GetRecords(“Sites”)

For i = 1 To sites.ColumnCount

colName = sites.GetValue(0, i)

Next

6.9 SetValue
Sets the value of a column for the row being edited or added.

HRESULT SetValue(const VARIANT iCol, const VARIANT newVal);

Parameters

[in] iCol: The VARIANT used to specify a column.


[in] newVal: The VARIANT used to specify the column value.

Remarks

A valid iCol is either an integer such that 0 < iCol <= ColumnCount or a string containing the name of an existing column. The
column names are not case sensitive.
You must have previously called Edit or AddNew to specify the row to edit before writing the column value.If this method is
used for a large number of records, it is recommended to get the column numbers beforehand and then to use the SetValue
method with this number and not with a VARIANT of type VT_BSTR. This will run faster. To get the column number, you can
search the row number 0 for the field name you want to use.

Example

This example increments all the TXLOSSES of all the transmitters in the active document by 1 dB.

Dim transmitters

Dim doc

85
Atoll 3.3.2 Task Automation Guide
Chapter 6: TabularData Object © 2016 Forsk. All Rights Reserved.

Dim i

Dim txLosses

Set doc = app.ActiveDocument

Set transmitters = doc.GetRecords(“Transmitters”)

For i = 1 To transmitters.RowCount

txLosses = transmitters.GetValue(i, “LOSSES”)

transmitters.Edit(i)

transmitters.SetValue(“LOSSES”, txLosses + 1)

transmitters.Update

Next

Instead, we could have used:

For i = 1 To transmitters.RowCount

txLosses = transmitters.GetValue(i, 12)

transmitters.Edit(i)

transmitters.SetValue(12, txLosses + 1)

transmitters.Update

Next

Updating the main contour of the focus zone:

Public Sub WriteZone()

Set doc = ActiveDocument

Set zones = doc.GetRecords("Zones", true)

row = zones.Find(0, "NAME", atoEQ, "FocusZone")

Dim pts(3,1)

pts(0,0) = 555000

pts(0,1) = 2188000

pts(1,0) = 600000

pts(1,1) = 2188000

pts(2,0) = 600000

pts(2,1) = 2140000

pts(3,0) = 555000

pts(3,1) = 2140000

86
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 6: TabularData Object

zones.Edit row

zones.SetValue "POINTS", pts

zones.Update

End Sub

6.10 GetPrimaryKey
Returns the value of the primary key for a given row number.

HRESULT GetPrimaryKey(long iRow, VARIANT* pVal);

Parameters

[in] iRow: The row number.


[out] pVal: Address of the VARIANT used to return the primary key.

Remarks

A valid iRow number is an integer whose value is greater than zero or equal to zero and lower than or equal to the row count
of the TabularData object. Most of TabularData objects have a primary key. If no primary key is defined, the value of the
column RECORD_ID for the row iRow is returned. When the TabularData object primary key is made of several columns, the
type of the variant returned is a one dimension VARIANT array, of type VT_ARRAY|VT_VARIANT, and VARIANT array values
are the values of the columns defining the primary key. Otherwise, the VARIANT returned is the value of the column used to
define the primary key.
When 0 is used for the iRow parameter, the names of the columns defining the primary key are returned. The variant returned
is of type VT_BSTR or VT_ARRAY|VT_VARIANT with variants of type VT_BSTR, whether the primary key is made of one or
several columns, respectively.

6.11 FindPrimaryKey
Searches the row whose primary key equals the input value and returns the row number of the row found. If no row is found,
returns –1.

HRESULT FindPrimaryKey(VARIANT val, long* iRow);

Parameters

[in] val: The VARIANT used to specify the key value to search for.
[out] iRow: Address of the long integer used to return the number of the row whose primary key equals val. If no row is found,
-1 is returned.

Remarks

When the primary key is made of several columns, the input variant must be of type VT_ARRAY|VT_VARIANT.

6.12 Find
Searches a column for a value.

HRESULT Find(

long iRowStart,

const VARIANT iCol,

87
Atoll 3.3.2 Task Automation Guide
Chapter 6: TabularData Object © 2016 Forsk. All Rights Reserved.

enum AtoCompareOp op,

const VARIANT value,

long* piRow

);

Parameters

[in] iRowStart: The long integer used to specify the row number from which the value will be searched for.
[in] iCol: The VARIANT used to specify the column number or the column name that will be searched.
[in] op: The atoCompareOp enumeration value used to specify the search criteria (greater than, less than, equal to, etc).
[in] value: The VARIANT used to specify the value to search.
[out] piRow: The long integer pointer used to return the row number of the first row matching the search criteria. –1 is
returned if no row is found.

Remarks

Patch iRowStart inside a loop in order to scan several rows matching the search criteria.
This method should be used only for a few searches, because on the Atoll side, this method scans the rows one after the other
and can be very time consuming.
If the column is the primary key of the TabularData Object, use FindPrimaryKey instead.
For repetitive search operations, use a collection (map) of all the rows and write your own filter.

Example

In this example, we search for all transmitters whose LOSSES are equal to 2, and replace them with 3.

Dim transmitters

Dim iRow

Const atoEQ = 0

Set transmitters = ActiveDocument.GetRecords(“Transmitters”, False)

iRow = 0

While iRow <> -1

iRow = transmitters.Find(iRow + 1, "LOSSES", atoEQ, 2)

If iRow <> -1 Then

transmitters.Edit(iRow)

transmitters.SetValue("LOSSES", 3)

transmitters.Update

End If

Wend

6.13 GetFormattedValue
Returns a column value formatted as a string.

88
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 6: TabularData Object

HRESULT GetFormattedValue(long iRow, const VARIANT iCol, BSTR *pVal);

Parameters

[in] Row: The row number.


• A valid iRow number is an integer whose value is greater than zero or equal to zero, and lower than or equal to the
row count of the TabularData object.
[in] iCol: The VARIANT used to define the column.
• When iCol variant type if VT_I4, iCol is interpreted as a column number. A valid column number is an integer whose
value is greater than zero or equal to zero, and lower than or equal to the column count of the TabularData object.
• When iCol variant type if VT_BSTR, iCol is interpreted as a column name. Column names are not case sensitive.
[out] pVal: Address of a BSTR string used to return the formatted value.

Remarks

When 0 is used for the iRow parameter, the title of the column specified by iCol is returned. The title of a column is localized
and may be shown to a user, as opposed to the column name.

6.14 CancelUpdate
Cancels a pending update. This method may be called after Edit or AddNew to cancel the operation.

HRESULT CancelUpdate();

6.15 get_ColumnNumber
Returns a column number.

HRESULT get_ColumnNumber(const VARIANT vColName, long *pCol);

Parameters

[in] vColName: The VARIANT used to specify the name of the column.
[ou] pCol: Address of the long integer used to return column number.

Remarks

It is faster to read data from tables using the column number instead of the column name. It also works for linked fields.
For instance you can write:

Set sites = doc.GetRecords("SITES", False)

colLatitude = sites.ColumnNumber("LATITUDE")

For i = 1 To sites.RowCount

latitude = sites.GetValue i, colLatitude

Next

6.16 get_CanEdit
Checks if rows can be modified.

HRESULT get_CanEdit(VARIANT_BOOL *pVal);

89
Atoll 3.3.2 Task Automation Guide
Chapter 6: TabularData Object © 2016 Forsk. All Rights Reserved.

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return whether rows can be modified or not.

Remarks

If VARIANT_FALSE is returned, then the Edit operation on this table is undefined.

6.17 get_CanAddNew
Checks if rows can be added.

HRESULT get_CanAddNew(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return whether rows can be added or not.

Remarks

If VARIANT_FALSE is returned, then the AddNew operation on this table is undefined.

6.18 get_CanFilterSort
Checks if rows can be filtered or sorted.

HRESULT get_CanFilterSort(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return whether rows can be filtered or sorted.

Remarks

If VARIANT_FALSE is returned, then the Filter and Sort operations on this table are undefined.

6.19 get_Filter
Returns the filter currently set on the table.

HRESULT get_Filter(VARIANT *pvCriteria);

Parameters

[out] : pvCriteria: Address of the VARIANT used to return the filter previously set on the table.

Remarks

Please refer to the AtoRowFilter enumeration definition for the list of constants used to filter only modified, added, or deleted
rows.

6.20 put_Filter
Filters the table data according to a filter criteria.

HRESULT put_Filter(const VARIANT vCriteria);

90
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 6: TabularData Object

Parameters

[in] vCriteria: The VARIANT used to specify the filter criteria. When vCriteria is of type VT_I4, it is interpreted as an AtoRow-
Filter enumeration value. When vCriteria is of type VT_BSTR, it is interpreted as a filter string. Filter strings are what can be
seen in the Atoll "Table" tab properties for record folders, when using advanced filtering. Please refer to the Atoll User Manual
for more information about advanced filtering on data.

Remarks

Please refer to the AtoRowFilter enumeration definition for the list of constants used to filter only modified, added, or deleted
rows.
If the table is retrieved using GetRecords with aAll parameter set to False, setting this property is the same as setting the filter
interactively in an Atoll session.
To remove any previous filter, call this method either with atoRowFilterNone value or with an empty string.
When the Atoll document is not connected to a database, atoRowFilterModifiedOrNew and atoRowFilterDeleted are not
available.

6.21 get_Sort
Returns the sort order currently set on the table.

HRESULT get_Sort(VARIANT *pvCriteria);

Parameters

[in] vCriteria: The VARIANT, of type VT_BSTR, used to specify the sort order. It contains a list of comma separated database
field names. Each field is optionally followed by the DESC keyword to indicate that the sort order associated with the field is
"Descending".

Remarks

If the table is retrieved using GetRecords with aAll parameter set to False, setting this property is the same as setting the sort
order interactively in an Atoll session.
To remove any previous sort order, call this method with an empty string.

Example

Private Sub PrintTransmittersTable(transmRec, infoMsg)

For nRow = 1 To transmRec.RowCount

LogMessage infoMsg & ": " & transmRec.GetValue(nRow, "TX_ID")

Next

End Sub

Sub Main

Set t = ActiveDocument.GetRecords("transmitters", False)

‘ Sort ascending according to the "SITE_NAME" database field

t.Sort = "SITE_NAME"

PrintTransmitterTables t, "Sort = SITE_NAME"

‘ Sort descending according to the "SITE_NAME" database field

t.Sort = "SITE_NAME DESC"

PrintTransmittersTable t, "Sort = SITE_NAME DESC"

91
Atoll 3.3.2 Task Automation Guide
Chapter 6: TabularData Object © 2016 Forsk. All Rights Reserved.

End Sub

6.22 put_Sort
Sorts the table data.

HRESULT put_Sort(const VARIANT vCriteria);

Parameters

[in] vCriteria: The VARIANT, of type VT_BSTR, used to specify the sort order. It contains a list of comma separated database
field names. Each field is optionally followed by the DESC keyword to indicate that the sort order associated with the field is
"Descending".

Remarks

If the table is retrieved using GetRecords with aAll parameter set to False, setting this property is the same as setting the sort
order interactively in an Atoll session.
To remove any previous sort order, call this method with an empty string.

Example

See "get_Sort" on page 91.

6.23 GetOriginalValue
Returns an original field value.

HRESULT GetOriginalValue(long iRow, const VARIANT iCol, VARIANT *pVal);

Parameters

[in] iRow: The long integer used to specify a row number.


[in] iCol: The VARIANT used to specify a column name or a column number.
[out] pVal: Address of VARIANT used to return the original column value.

Remarks

The original value, as opposed to the current value return by GetValue, is the value retrieved from the database when the
Atoll document has been refreshed for the last time.
If the row is unmodified, the original value is the same as the current value.
If the row is deleted the current value is the null value and the original value is the value just before the row was deleted.

6.24 get_RowStatus
Returns a row status.

HRESULT get_RowStatus(long iRow, enum AtoRowStatus *pVal);

Parameters

[in] iRow: The long integer used to specify a row number.


[out] pVal: Address of the AtoRowStatus enumeration value used to return the row status.

92
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 6: TabularData Object

Remarks

When an Atoll document is open from a database, row statuses are set to atoRowStatusUnmodified and original values are
set for all row columns.
When the document is archived or refreshed from the database, row statuses are set to atoRowStatusUnmodified and all
columns original values are set for rows that have been archived or refreshed.
When a new row is created, the row status is set to atoRowStatusNew and the original value for all columns are set to the null
value.
When a row is modified, the row status is set to atoRowStatusModified. If you revert the row changes, the row status is set
to atoRowStatusUnmodified.
When a row is deleted, the row status is set to atoRowStatusDeleted, the row column values are set to the null value, and the
original column values are the column values just before the row was deleted.

6.25 get_Columns
Returns table columns definition.

HRESULT get_Columns(ITabularData** ppVal);

Parameters

[out] ppVal:
Address of the ITabularData interface pointer used to return a tabular data object holding the table columns definition:

Column Name Type Description

LEGEND String The display name of the column

NAME String The database name of the column

The data type of the column. Valid values are:


0=Text
1=Short integer
2=Long integer
TYPE Integer 3=Single
4=Double
5=True/False
6=Date/Time
7=Currency;

SIZE Integer The size, in bytes, for a column of TYPE 0 (Text).

The default value of the column. The type of the variant depends on the type of the
DEFAULT Variant column, as indicated by TYPE.
May be Null.

FORMATTED_DEFAULT String The default value of the column, formatted as a string.

GROUP String The name of the database field group the column belongs to.

ISCUSTOMFIELD Boolean Whether the column is a user column (True), or not (False).

Whether a column of TYPE 0(Text) content values are restricted to the values
CHOICELIST_TYPE Integer
specified in CHOICELIST_VALUES.

CHOICELIST_VALUES String New-line separated string of valid values for a column of TYPE text.

6.26 GetValues
Returns a sub-table of the Tabular Data Object.
The sub-table is returned using a 2-dimension array of VARIANTs.

93
Atoll 3.3.2 Task Automation Guide
Chapter 6: TabularData Object © 2016 Forsk. All Rights Reserved.

HRESULT GetValues(VARIANT rows, VARIANT columns, VARIANT *pValues);

Parameters

[in] rows: A reference to a VARIANT used to specify the rows to retrieve.

The type of the rows input VARIANT may be:

VT_EMPTY:
An empty VARIANT is used to specify that all the table rows must be returned.

VT_ARRAY | VT_VARIANT:
1-dimension array of VARIANTs, with VARIANTs of type VT_I4 is used to specify one or several rows.
A valid row number is any integer, such that 1 <= row number <= RowCount.

[in] columns: A reference to a VARIANT used to specify the columns to retrieve.

The type of the columns input VARIANT may be:

VT_EMPTY:
An empty VARIANT is used to specify that all the table columns must be returned.

VT_ARRAY | VT_VARIANT:
1-dimension array of VARIANTs, with VARIANTs of type VT_I4 or VT_BSTR, is used to specify one or several columns either by
their column numbers, or by their names.
A valid column number is any integer such that 1 <= column number <= ColumnCount.

[out] pValues:
Address of the VARIANT used to return the sub-table content, as specified by the rows and columns input parameters.

The returned variant is a 2-dimension array of variants, its type is VT_ARRAY|VT_VARIANT.


The first dimension is used to specify TabularData object rows.
The second dimension is used to specify TabularData object columns.

The number of rows returned is one plus the number of elements in the rows array.
The first row (number 0) is used to return the column names, this is the sub table header.
The data starts at row number 1.

For each row, an additional column (column number 0) is reserved for a future use.
For each row, the data starts at column 1.

3 more additional columns are returned, in the latest columns of the sub table returned:

“TABULARDATA_POSITION”:

For each row, this column is used to return its row number.

94
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 6: TabularData Object

“TABULARDATA_ERRORCODE”:
For each row, this column is used to return an error code (VT_I4) in case an error has occurred retrieving values for that row,
VT_EMPTY otherwise.

“TABULARDATA_ERRORMESSAGE”:
For each row, this column is used to return an error message (VT_BSTR) in case an error has occurred retrieving values for that
row, VT_EMPTY otherwise.

Remarks:

The method performs parameters validation first. If the validation fails, a VT_EMPTY variant is returned along with an
HRESULT error code indicating the error.
Once parameters validation has succeeded, the method returns a success error code, and the “TABULARDATA_ERRORCODE”
column of the returned array of variants must be used to check for any errors, for any row in the returned table.

For each row, column values that could not be retrieved are returned as VT_EMPTY variants.

6.27 GetFormattedValues
Returns a sub-table of the Tabular Data Object.
The sub-table is returned using a 2-dimension array of VARIANTs.

HRESULT GetFormattedValues(VARIANT rows, VARIANT columns, VARIANT *pValues);

Remarks:

This is essentially the same as the GetValues method but here column values are returned as VARIANTs of type VT_BSTR.
Column values are formatted according to the rules used to display table views interactively.

6.28 SetValues
Updates the table content with the given values.

HRESULT SetValues(VARIANT values, VARIANT *statuses);

Parameters

[in] values:
A VARIANT used to specify the rows, the columns, and the values to update.
The values VARIANT must be a 2-dimension variant array of type VT_ARRAY|VT_VARIANT.

The first row is used to specify the columns to update.

The last column must be named “TABULARDATA_POSITION”, it is used to specify the row position (integers, VT_I4) to use in
the table operation:

If the row position is a valid row number, such as 1 <= row position <= RowCount, then a table “Edit” operation will be
performed.
If -1 is used to specify the row position, then a table “AddNew” operation will be performed.

The rest of the variant array is used to specify the values to update.

Elements of the values array of type VT_EMPTY are ignored in the update process.

95
Atoll 3.3.2 Task Automation Guide
Chapter 6: TabularData Object © 2016 Forsk. All Rights Reserved.

SetValues attempts to update all specified rows and returns an update status for each row in the statuses output VARIANT.

[out] statuses:
An output VARIANT used to return an update status for each row to update, using a VARIANT of type VT_ARRAY|VT_VARIANT,
a 2-dimension array of variants.

There are 3 columns in the statuses output array(dimension number 2):

"TABULARDATA_POSITION":
For each row, this column is used to return its row number.

"TABULARDATA_ERRORCODE":
For each row, this column is used to return an error code (VT_I4) in case an error has occurred retrieving values for that row,
VT_EMPTY otherwise.

"TABULARDATA_ERRORMESSAGE":
For each row, this column is used to return an error message (VT_BSTR) in case an error has occurred retrieving values for that
row, VT_EMPTY otherwise.

Remarks:

The "TABULARDATA_ERRORCODE" column of the status variant array must be used to check for any errors, for any row in the
returned table.

6.29 Hidden Columns In Radio Tabular Data Objects


There are hidden columns in Radio Data Tables. These hidden columns can only be accessed using the API.

6.29.1 Table MWLINKS


"_LINK_LENGTH" : link length

"_LINK_COLOR" : link color

6.29.2 Table MWOTLINKS


"_LINK_COLOR" : link color

6.29.3 Transmitters Tables, All Technologies


"_ANTENNA_SIGNATURE"

"_RADIO_TRANSMITTER"

"_TRANSMITTER_COLOR"

"_REPEATERS_EQUIVALENT_ULLOSS"
Read-only column, used to access the noise rise due to repeaters

96
Chapter 7
Zones and
Predictions
Tabular Data
Objects
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

98
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 7: Zones and Predictions Tabular Data Objects

7 Zones and Predictions Tabular Data Objects


7.1 Zones Tabular Data Object
Column Name Type Description
"ComputationZone" if this row is the computation zone.
"FocusZone" if this rowis part of the focus zone.
"FilterZone" if this row is part of the filtering zone.
NAME String "PrintZone" if this row is part of the printing zone.
"ExpBitmapZone" if this row is part of the coverage export zone.
Atoll >= 2.8.1
"HotSpotZone" if this row is part of the hot spot zone.

POINTS Array An array of points as double values.

CONTOUR_NUM Integer The contour index.

POLYGON_NUM Integer The polygon index.

Atoll >= 2.8.1


The name of the polygon.
For hot spot zones, it is the name of a specific hot spot zone.
POLYGON_NAME String
For other zones, it is the name the zone sub-folder, in the explorer window.

This column is read-only.

Atoll Version

 2.8.1

It is now possible to access hot spot zones.


Their content is identified by the "NAME" column ("HotSpotZone"), then a specific hot spot zone is specified by the
"POLYGON_NAME" column, which is used to indicate a specific hot spot zone in the hot spot zones folder.
However, unlike other zones, hot spot zones access is read-only. It is not possible to edit a hot spot zone, to delete a hot spot
zone, or to create a new hot spot zone.

Example

Reading the first contour of the focus zone:

Public Sub ReadZone()

Set doc = ActiveDocument

Set zones = doc.GetRecords("Zones", True)

row = zones.Find(1, "NAME", atoEQ, "FocusZone")

pts = zones.GetValue(row, "POINTS")

If (IsArray(pts)) Then

For i = LBound(pts, 1) To UBound(pts, 1)

ptx = pts(i,0)

pty = pts(i,1)

MsgBox "Pts(" + CStr(i) + ") = " + CStr(ptx) + ", " + CStr(pty)

Next

99
Atoll 3.3.2 Task Automation Guide
Chapter 7: Zones and Predictions Tabular Data Objects © 2016 Forsk. All Rights Reserved.

Else

MsgBox "Not an array"

End If

End Sub

7.2 Predictions Tabular Data Object


The "PREDICTIONS" Tabular Data object is read-only except for the LOCKED field, which can be used to lock or unlock path
loss matrices of a transmitter.

Atoll Version

 2.8.0

The field PATH_NAME is read-write. Its value can be set to Null , in which case path loss matrices for TX_ID are deleted.

Column Name Type Description


TX_ID String Transmitter name.

LOCKED Boolean True if the path loss matrices are locked, otherwise False.

VALID Boolean True if the main and extended path loss matrices are valid, otherwise False.

Cause of invalidity, when VALID returns False.


INVALID_CAUSE String
Null value when VALID returns True.

SIZE Integer Size of the main matrix plus the size of the extended matrix, in bytes.

Null value when there is no storage for the main matrix.


PATHNAME String "(Embedded in document)" if the storage is not external.
Otherwise contains the main path loss matrix file path.

The object implements the IGridData interface. This grid data contains the
PATHLOSS Object main path loss matrix data for transmitter TX_ID.
Null value when there is no available result for the main matrix.

The object implements the IGridData interface. This grid data contains the
SIGNAL Object main signal level matrix data for transmitter TX_ID.
Null value when there is no available result for the main matrix.

The object implements the IGridData interface. This grid data contains the
LOWRES_PATHLOSS Object extended path loss matrix data for transmitter TX_ID.
Null value when there is no available result for the extended matrix.

The object implements the IGridData interface. This grid data contains the
LOWRES_SIGNAL Object extended signal level matrix data for transmitter TX_ID.
Null value when there is no available result for the extended matrix.

Atoll version  2.7.0


Null value when there is no storage for the extended matrix.
LOWRES_PATHNAME String
"(Embedded in document)" if the storage is not external.
Otherwise contains the extended path loss matrix file path.

Atoll Version

 2.8.1

New columns are available


These values are available even when VALID returns FALSE but they are not up to date when the resolution of path loss matri-
ces, the calculation area, or the transmitter location has changed.

100
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 7: Zones and Predictions Tabular Data Objects

Column Name Type Description


X-coordinate of the top-left corner of the main path loss matrix upper-left
GRID_X Double pixel.
Null value when there is no available result for the main matrix.

Y-coordinate of the top-left corner of the main path loss matrix upper-left
GRID_Y Double pixel.
Null value when there is no available result for the main matrix.

Number of columns in the main path loss matrix.


GRID_NX Integer
Null value when there is no available result for the main matrix.

Number of rows in the main path loss matrix.


GRID_NY Integer
Null value when there is no available result for the main matrix.

Resolution of the main path loss matrix, in metre.


GRID_RESX Double
Null value when there is no available result for the main matrix.

Resolution of the main path loss matrix, in metre.


GRID_RESY Double
Null value when there is no available result for the main matrix.

X-coordinate of the top-left corner of the extended path loss matrix upper-
LOWRES_GRID_X Double left pixel.
Null value when there is no available result for the extended matrix.

Y-coordinate of the top-left corner of the extended path loss matrix upper-
LOWRES_GRID_Y Double left pixel.
Null value when there is no available result for the extended matrix.

Number of columns in the extended path loss matrix.


LOWRES_GRID_NX Integer
Null value when there is no available result for the extended matrix.

Number of rows in the extended path loss matrix.


LOWRES_GRID_NY Integer
Null value when there is no available result for the extended matrix.

Resolution of the extended path loss matrix, in metre.


LOWRES_GRID_RESX Double
Null value when there is no available result for the extended matrix.

Resolution of the extended path loss matrix, in metre.


LOWRES_GRID_RESY Double
Null value when there is no available result for the extended matrix.

Atoll Version

 3.1.0

New columns are available:

Column Name Type Description


TX_PATHLOSS Object The object implements the IGridData interface.

TX_SIGNAL Object The object implements the IGridData interface.

TX_LOWRES_PATHLOSS Object The object implements the IGridData interface.

TX_LOWRES_SIGNAL Object The object implements the IGridData interface.

TX_PATHLOSS, TX_SIGNAL , TX_LOWRES_PATHLOSS, TX_LOWRES_SIGNAL for the transmitter TX_ID do not take into account
its repeaters or remote antennas.
On the contrary, using PATHLOSS, SIGNAL, LOWRES_PATHLOSS, LOWRES_SIGNAL, contributions from repeaters or remote
antennas are combined into one matrix.
Please use TX_PATHLOSS, TX_SIGNAL , TX_LOWRES_PATHLOSS, TX_LOWRES_SIGNAL columns when you need to consider
transmitter signal or path loss independently from its repeaters or remote antennas.

Atoll Version

 3.2.0

It is now possible to update path loss matrices with external results (.LOS files).

101
Atoll 3.3.2 Task Automation Guide
Chapter 7: Zones and Predictions Tabular Data Objects © 2016 Forsk. All Rights Reserved.

You can edit the PATH_NAME or LOWRES_PATHNAME columns, specifying valid .LOS absolute full path.
In this case, when the row in the predictions table is updated, path loss matrices are updated with the content of files previ-
ously specified.
Please note that fo this to work, you have to georeference your provided .LOS files, with a standard BIL header file (.hdr).
Please note that even if your .LOS files need to be georeferenced just like they were .BIL files, .LOS files are written bottom-
up, not top-down.

The object implements the IGridData interface. This grid data contains the
main path loss matrix data for transmitter TX_ID.
TX_PATHLOSS Object Null value when there is no available result for the main matrix.
Values returned do not include contributions from repeaters or remote
antennas of the transmitter TX_ID.

The object implements the IGridData interface. This grid data contains the
main signal level matrix data for transmitter TX_ID.
TX_SIGNAL Object Null value when there is no available result for the main matrix.
Values returned do not include contributions from repeaters or remote
antennas of the transmitter TX_ID.

The object implements the IGridData interface. This grid data contains the
extended path loss matrix data for transmitter TX_ID.
TX_LOWRES_PATHLOSS Object Null value when there is no available result for the extended matrix.
Values returned do not include contributions from repeaters or remote
antennas of the transmitter TX_ID.

The object implements the IGridData interface. This grid data contains the
extended signal level matrix data for transmitter TX_ID.
TX_LOWRES_SIGNAL Object Null value when there is no available result for the extended matrix.
Values returned do not include contributions from repeaters or remote
antennas of the transmitter TX_ID.

102
Chapter 8
CoordSystem
Object
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

104
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 8: CoordSystem Object

8 CoordSystem Object
This object contains the entire definition of a coordinate system. Several coordinate systems are used in Atoll documents; one
for display, one for projected geographic files, and one for site coordinates. The last one can be related to the system used for
display.
This object is not defined in Atoll library but in the FSKGISLib library. It can convert points coordinates from one coordinate
system to another.
The CoordSystem object provides the following properties and methods:

Name Description Attributes


Code Returns or sets the numeric code of the coordinates system.

Converts the coordinates of a point expressed in the current


ConvertCoordsTo
system to another one.

Datum Returns or sets the numeric value of the datum.

DatumName Name of the datum.

Description Description of the datum.

Ellipsoid Returns or sets the numeric value of the ellipsoid.

EllipsoidName Name of the ellipsoid.

Name Returns or sets the name of the coordinates system.

Pick Opens the coordinates system dialogue.

ProjMethod Projection method used for the current coordinates system.

ProjParameter Reads a parameter of the projection.

SetDatum Changes the datum of the system.

SetProjection Sets the projection parameters of the coordinate system.

Unit Returns or sets the unit of the coordinate system.

For details on coordinate systems, see the Technical Reference Guide.

8.1 How to Access a CoordSystem Object


To get the coordinate system used for sites:

Dim doc

Dim coordSys

Set doc = Atoll.ActiveDocument

Set coordSys = doc.CoordSystemInternal

8.2 Code
Returns or sets the numeric code of the coordinates system.

HRESULT Code(long *pVal);

HRESULT Code(long val);

105
Atoll 3.3.2 Task Automation Guide
Chapter 8: CoordSystem Object © 2016 Forsk. All Rights Reserved.

Parameters

pVal: Address of the Long read as the code of the system.


val: Long value representing the code of the system to set.

Classical system codes have values less than 32767. System codes greater or equal to
32768 correspond to user defined systems.

8.3 ConvertCoordsTo
Converts the coordinates of a point expressed in the current system to another one.

HRESULT ConvertCoordsTo(
IDispCoordSystem *targetCS,
VARIANT inPoint,
VARIANT *outPoint
);

Parameters

[in] targetCS: An IDispCoordSystem interface pointer used to specify the coordinate system to which input coordinates must
be converted.
[in] inPoint: A VARIANT used used to specify the coordinates of an input point. The coordinates are expressed in the current
coordinate system. The VARIANT must be a one dimension array of 2 floating point values (VT_ARRAY | VT_R8). Element at
index 0 is used to specify the x coordinate, element at index 1 is used to specify the y coordinate.
[out] outPoint: A pointer to a VARIANT used to return the coordinate of the inPoint input point expressed in the targetCS coor-
dinate system. The type of the VARIANT returned is VT_ARRAT | VT_R8 : a one dimension array of 2 floating point values.
Element at index 0 is used to specify the x coordinate, element at index 1 is used to specify the y coordinate.

Example

Public Sub ConvertSitesCoordinates

Dim sites

Dim x

Dim y

Dim oFrom

Set oFrom = ActiveDocument.CoordSystemInternal

Dim oTo

Set oTo = ActiveDocument.CoordSystemDisplay

Dim coords

Set sites = ActiveDocument.GetRecords("Sites", True)

Dim i

For i = 1 To sites.RowCount

x = sites.GetValue(i, "LONGITUDE")

y = sites.GetValue(i, "LATITUDE")

coords = oFrom.ConvertCoordsTo(oTo, Array(x, y))

106
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 8: CoordSystem Object

LogMessage sites.GetValue(i,"NAME")&":"&CStr(coords(0))&";"&CStr(coords(1))

Next

End Sub

8.4 Datum
Returns or sets the numeric value of the datum.

HRESULT Datum(long *pVal);

HRESULT Datum(long val);

Parameters

pVal: Address read as the datum code of the system.


val: Value to be set as the datum code of the system.

8.5 DatumName
Name of the datum.

HRESULT DatumName(BSTR *pVal);

Parameters

pVAl: Pointer to the datum name.

8.6 Description
Description of the datum.

HRESULT Description(BSTR *pVal);

Parameters

pVal: Pointer to datum description.

8.7 Ellipsoid
Returns or sets the numeric value of the ellipsoid.

HRESULT Ellipsoid(long* pVal);

HRESULT Ellipsoid(long Val);

Parameters

pVal: Address read as the ellipsoid code of the system.


val: Value to be set as the ellipsoid code of the system.

8.8 EllipsoidName
Name of the ellipsoid.

107
Atoll 3.3.2 Task Automation Guide
Chapter 8: CoordSystem Object © 2016 Forsk. All Rights Reserved.

HRESULT EllipsoidName(BSTR* pVal);

Parameters

pVal: Pointer to the name of the ellipsoid.

8.9 Name
Returns or sets the name of the coordinates system.

HRESULT Name(BSTR *pVal);

HRESULT Name(BSTR pVal);

Parameters

pVal: Address read as the name of the coordinates system.


val: Value to be set as the name of the coordinates system.

8.10 Pick
Opens the coordinates system dialogue.

HRESULT Pick(OLE_HANDLE parentWindow, WORD types, VARIANT_BOOL *ret);

Parameters

parentWindow: OLE_HANDLE of the parent window for which the dialogue is required to be opened.
types: Bitset of CoordSysType (see CoordSysTypes) corresponding to the types of systems the dialogue must filter before
opening.
ret: Pointer to a VARIANT_BOOL, set to VARIANT_TRUE if the user quits the dialogue with OK, otherwise VARIANT_FALSE.

CoordSysTypes

enum CoordSysType

{ fgUndefinedCoordSys = 1,

fgGeographic2D = 2,

fgProjected2D = 4

} CoordSysType;

8.11 ProjMethod
Projection method used for the current coordinates system.

HRESULT ProjMethod(ProjectionMethod *pVal);

Parameters

pVal: Pointer to the read ProjectionMethod.

108
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 8: CoordSystem Object

8.12 ProjParameter
Reads a parameter of the projection.

HRESULT ProjParameter(ProjParameterIndices index, double *pVal);

Parameters

index: Index of the parameter to read.


pVal: Address of the double containing the value of the parameter.

Remarks

Keep in mind that the real valid range of index parameters depends on the projection method.

8.13 SetDatum
Changes the datum of the system.

HRESULT SetDatum(long ellipsoidCode, VARIANT params);

Parameters

ellipsoidCode: Numeric code of the ellipsoid of the new datum.


params: Parameters of the projection provided as an array of variants.

8.14 SetProjection
Sets the projection parameters of the coordinate system.

HRESULT SetProjection(ProjectionMethod method, VARIANT projectionParameters);

Parameters

[in] method: The ProjectionMethod enumeration value used to change the projection method of the coordinate system.
[in] projectionParameters: A SAFEARRAY of VARIANTs of type VT_R8 used to specify the projection parameters of the coordi-
nate system. The projection parameters must match with the method parameter. Each parameter is identified by its index in
the array, starting from 0. Array indexes are the same as ProjParameterIndices enumeration values. Projection parameters
values are the the same as values returned by the ProjParameter property.

8.15 Unit
Returns or sets the unit of the coordinate system.

HRESULT Unit(GeographicUnit *pVal);

HRESULT Unit(GeographicUnit newVal);

Parameters

pVAl: Address of the current geographic unit of the system.


newVal: New value for the geographic unit.

109
Atoll 3.3.2 Task Automation Guide
Chapter 8: CoordSystem Object © 2016 Forsk. All Rights Reserved.

110
Chapter 9
ChildFolder
Object
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

112
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 9: ChildFolder Object

9 ChildFolder Object
A ChildFolder object represents an item in the application explorer window. It can be a collection of sub-items.

The ChildFolder object provides the following properties and methods:

Name Description Attributes

Type: Application object


get_Application Returns the Application object.
Access: Read

Type: ChildFolder object


get_Parent Returns the parent ChildFolder object.
Access: Read

Type: String
get_Name Returns the ChildFolder object display name.
Access: Read/Write

Type: String
put_Name Sets the ChildFolder object display name.
Access: Read/Write

Type: Integer
get_Count Returns the number of children of the ChildFolder object.
Access: Read

Type: ChildFolder children


get_Item Returns one of the children of the ChildFolder object. collection
Access: Read

Returns an object used to enumerate the children of the


get__NewEnum
ChildFolder object.

Type: Boolean
get_Visible Returns the visibility state of the ChildFolder object.
Access: Read/Write

Type: Boolean
put_Visible Sets the visibility state of the ChildFolder object.
Access: Read/Write

Type: Boolean
get_Selected Returns the selected state of the ChildFolder object.
Access: Read/Write

Type: Boolean
put_Selected Sets the selected state of the ChildFolder object.
Access: Read/Write

Export Exports a ChildFolder object to a file, in a given format.

Centres the application map window around the


CentreOnMap
ChildFolder object.

Redraw Redraws the ChildFolder object.

AddChild Adds a new child to the current ChildFolder object.

Removes the ChildFolder object from its parent ChildFolder


Remove
object.

Returns the ChildFolder object position relative to its Type: Integer


get_position
parent ChildFolder object. Access: Read/Write

Sets the ChildFolder object position relative to its parent Type: Integer
put_position
ChildFolder object. Access: Read/Write

get_Object Access to some specific features on the ChildFolder object.

get_dispatch Access to some specific features on the ChildFolder object.

Type: String
get_ObjectKind Returns a type identifier of the ChildFolder object.
Access: Read

GetProperty Returns a ChildFolder object property.

SetProperty Sets a ChildFolder object property.

113
Atoll 3.3.2 Task Automation Guide
Chapter 9: ChildFolder Object © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Returns names and types for all properties available on the


GetPropertiesInfo
ChildFolder object.

Returns true when a ChildFolder object property is a


PropertyIsPropertyContainer
PropertyContainer object.

Returns true when a ChildFolder object property a


PropertyIsTabularData
TabularData object.

Sets properties from a property container to the


LoadProperties
ChildFolder object.

Saves all the ChildFolder object properties to another


SaveProperties
property container.

RemoveItem Removes one of the children of the ChildFolder object.

SetCustomIcon Sets the path of an icon to use for a custom child folder.

9.1 How to Access a ChildFolder Object


A ChildFolder is first obtained through a root entry point from the document and is related to a tab of the Atoll Explorer
window.
Most ChildFolder objects may have children, can be selected, set visible, and renamed. Only coverage predictions may be
exported.

Dim folder

Dim item

Dim doc

Dim dataRoot

Const atoData = 0

Set doc = Atoll.ActiveDocument

Set dataRoot = doc.GetRootFolder(atoData)

For Each folder in dataRoot

‘ do some work with this folder, for instance:

For Each item in folder

‘ do some work with this item

Next

Next

9.2 get_Application
Returns the Atoll Application object.

HRESULT get_Application(IApplication **ppVal);

114
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 9: ChildFolder Object

Parameters

[out] ppVal: Address of the IApplication interface pointer used to return the Atoll Application object.

9.3 get_Parent
Returns the parent Atoll ChildFolder object.

HRESULT get_Parent(VARIANT *pVal);

Parameters

[out] pVal: Address of the VARIANT used to return the parent ChildFolder object. The type of the returned VARIANT is
VT_DISPATCH. When the ChildFolder object is a root ChildFolder object, the IDispatch interface pointer of the Atoll Document
is returned, otherwise the IDispatch interface pointer of the parent ChildFolder object is returned.

9.4 get_Name
Returns the ChildFolder object display name.

HRESULT get_Name(BSTR *pVal);

Parameters

[out] pVal: Address of the BSTR used to return the display name.

Example

Renaming the "Transmitters" folder.

Dim folder

Dim dataTab

Dim folderName

Const atoData = 0

Set dataTab = ActiveDocument.GetRootFolder(atoData)

For Each folder In dataTab

folderName = folder.Name

If folderName = “Transmitters” Then

folder.Name = “TransmittersTest”

End if

Next

9.5 put_Name
Sets the ChildFolder object display name.

HRESULT put_Name(const BSTR aNewVal);

115
Atoll 3.3.2 Task Automation Guide
Chapter 9: ChildFolder Object © 2016 Forsk. All Rights Reserved.

Parameters

[in] aNewVal: The BSTR used to specify the display name.

Example

See "get_Name" on page 115.

9.6 get_Count
Returns the number of children of the ChildFolder object.

HRESULT get_Count(long *pVal);

Parameters

[out] pVal: Address of the long integer used to return the number of children.

9.7 get_Item
Returns one of the children of the ChildFolder object.

HRESULT get_Item(const VARIANT iIdx, IChildFolder **pVal);

Parameter

[in] iIdx: A VARIANT of type VT_I4 or VT_BSTR identifying the returned ChildFolder object. If the type of the variant is VT_I4,
it is interpreted as a zero-based index in the list of children. If the type of the variant is VT_BSTR, it is first interpreted as the
display name of the child to search for, and if the display name is not found, it is then interpreted as a ChildFolder object kind,
as returned by get_ObjectKind.
[out] pVal: Address of the IChildFolder interface pointer used to return a ChildFolder object.

9.8 get__NewEnum
Returns an object used to enumerate the children of the ChildFolder object.

HRESULT get__NewEnum(LPUNKNOWN *ppUnk);

Parameters

[out] ppUnk: Address of the IUnknown interface pointer used to return the enumerator object. The IEnumVARIANT interface
is implemented by the enumerator object.

Example

Const atoModule = 2

Set modules = app.ActiveDocument.GetRootFolder(atoModule)

For Each module In modules

‘ do something with module

Next

9.9 get_Visible
Returns the visibility state of the ChildFolder object.

116
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 9: ChildFolder Object

HRESULT get_Visible(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return the visibility state.
The visibility state values are:
VARIANT_TRUE : the ChildFolder object may be displayed on Atoll Map View windows.
VARIANT_FALSE : the ChildFolder object won’t be displayed on Atoll Map View windows.

Remarks

The visibility state only makes sense for ChildFolder objects that may appear on Atoll Map View windows. get_Visible and
put_Visible calls are ignored for objects that do not support it. No error is returned.

Example

dataFolder.Item("Predictions").Visible = True

9.10 put_Visible
Sets the visibility state of the ChildFolder object.

HRESULT put_Visible(VARIANT_BOOL aNewVal);

Parameters

[in] aNewVal: The VARIANT_BOOL used to specify the visibility state.


The visibility state values are:
VARIANT_TRUE : the ChildFolder object may be displayed on Atoll Map View windows.
VARIANT_FALSE : the ChildFolder object won’t be displayed on Atoll Map View windows.

Remarks

The visibility state only makes sense for ChildFolder objects that may appear on Atoll Map View windows. get_Visible and
put_Visible calls are ignored for objects that don’t support it. No error is returned.

Example

dataFolder.Item("Predictions").Visible = True

9.11 get_Selected
Returns the selected state of the ChildFolder object.

HRESULT get_Selected(VARIANT_BOOL *pVal);

Parameters

[out] pVal: Address of the VARIANT_BOOL used to return the selected state of the ChildFolder object.

Remarks

get_Selected and put_Selected calls are ignored for objects that don’t support it. No error is returned.

117
Atoll 3.3.2 Task Automation Guide
Chapter 9: ChildFolder Object © 2016 Forsk. All Rights Reserved.

Example

Public Sub SelectTx

Set doc = ActiveDocument

Const atoData = 0

Set dataFolder = doc.GetRootFolder(atoData)

’ Select the "Site0_0" transmitter

For Each folder In dataFolder

If folder.Name = "Transmitters" Then

folder.Item("Site0_0").Selected = True

End If

Next

End Sub

9.12 put_Selected
Sets the selected state of the ChildFolder object.

HRESULT put_Selected(VARIANT_BOOL aNewVal);

Parameters

[in] newVal: The VARIANT_BOOL used to specify the selected state.

Remarks

get_Selected and put_Selected calls are ignored for objects that don’t support it. No error is returned.

Example

See "get_Selected" on page 117.

9.13 Export
Exports a ChildFolder object to a file, in a given format. This method can only be used for studies.

HRESULT Export(

const BSTR bstrFileName,

IDispCoordSystem* proj,

const BSTR bstrFormat

);

Parameters

[in] bstrFileName: A string containing an absolute file path.


[in] proj: An IDispCoordSystem interface pointer used to define the coordinate system for the export.
[in] bstrFormat: A string used to define the format of the file specified by bstrFileName.

118
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 9: ChildFolder Object

The syntax for the bstrFormat parameter is:

PropertyName=Value;[PropertyName=Value;]format

format:
• Available values are:
• SHP
• AGD
• MIF
• TAB
• BMP
• TIF
• TXT
• ARCVIEWGRIDASCII
• PNG
• JP2
• VMAPPER (for Vertical Mapper GRC or GRD file formats)
Please read the application documentation to learn more about these file formats.
The data exported is the geographic coverage prediction of a study when using SHP, AGD, MIF, TAB, BMP, ARCVIEW-
GRIDASCII, PNG, JP2, or TIF formats. However, if you specify TXT format, this method will export the study report in
tabulated ASCII text format. This prediction study report is the same as the one available by right-clicking the study in
the application and selecting Generate Report.
Available properties are:

Property Name Value Version Description


This is the export resolution, expressed in meter.
If not specified, the resolution used to perform the export is
Resolution integer  2.8.1 the study resolution.
It is only relevant when the export format is a vector format,
as opposed to a raster format.

Used to specify the zone to export. Available values are:


0 : The Entire Covered Area
1 : The Computation Zone
2 : The Geographic Export Zone
AreaType 0|1|2  2.8.1
If not specified, the entire covered area is considered to
perform the export.
It is only relevant for raster formats, as opposed to vector
formats.

Atoll version >= 3.3.1


Property Name Value Description
This is the filtering percentage value.
integer, between
FilteringPercentage It is only relevant when the export format is a vector format,
0 and 100
as opposed to a raster format.

This is the smoothing percentage value.


integer, between
SmoothingPercentage It is only relevant when the export format is a vector format,
0 and 100
as opposed to a raster format.

This is the maximum number of points for exported vector


geometries. This option is mutually exclusive with the
SmoothingMaximumNumberOfPoints integer smoothing percentage option.
It is only relevant when the export format is a vector format,
as opposed to a raster format.

0 = coverage thresholds are exported, this is the defaut


setting if not specified.
1 = numerical coverage results are exported.
DataType integer, 0 or 1
This option is only relevant when BIL or GRD formats are
specified.

119
Atoll 3.3.2 Task Automation Guide
Chapter 9: ChildFolder Object © 2016 Forsk. All Rights Reserved.

Return value

S_OK: Export has completed successfully.


S_FALSE: Export couldn’t be performed because of one of the following reasons:
• The folder specified in bstrFileName does not exist.
• The study visibility check box is cleared.
• The study has no coverage.
When S_FALSE is returned, no output file is created.

Example

Const SID_PREDICTIONS = "{DA676EF0-E300-4AFF-BBFA-EC55D3798E4F}"

Public Sub ExportStudy

Dim oStudy

Dim oCS

Set oCS = ActiveDocument.CoordSystemDisplay

For Each oStudy In ActiveDocument.GetRootFolder(0).Item(SID_PREDICTIONS)

oStudy.Export "c:\export.asc", oCS, "ARCVIEWGRIDASCII"

oStudy.Export "c:\export.txt", oCS, "TXT"

oStudy.Export "c:\export.bmp", oCS, "BMP"

Next

End Sub

9.14 CentreOnMap
Centres the Atoll Map View window around the ChildFolder object.

HRESULT CentreOnMap();

Remarks

CentreOnMap only makes sense for ChildFolder objects that may appear on Atoll Map View windows. CentreOnMap calls will
be ignored for objects that don’t support it. No error will be returned.

9.15 Redraw
Redraws the ChildFolder object.

HRESULT Redraw();

Remarks

Redraw only makes sense for ChildFolder objects that may appear on Atoll Map View windows. Redraw calls will be ignored
for objects that don’t support it. No error will be returned.

9.16 AddChild
Adds a new child to the current Atoll child folder object.

120
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 9: ChildFolder Object

HRESULT AddChild(const VARIANT spec, long position, IChildFolder2** pVal)

Parameters

[in] spec: VARIANT used to define the child item to add.


[in] position: The position used to define where to add the new child.
[out] pVal: Address of a IChildFolder2 interface pointer used to return the new Atoll child folder object just added.

Remark
The type of the child added depends on the type of the spec input parameter.
When spec if of type VT_UNKNOWN or VT_DISPATCH, and when it is an Atoll ChildFolder object, spec is interpreted as a source
ChildFolder object. AddChild will add a link to the source ChildFolder object. The source Atoll ChildFolder cannot be a link
itself. Links can only be created at the root level of the Atoll Explorer geo or data tabs. Links always are created at position 0.
The source ChildFolder object and the current ChildFolder object must belong to different Atoll documents.
When spec if of type VT_UNKNOWN or VT_DISPATCH, and when it is an Atoll PropertyContainer object, then a new Child-
Folder is added with the content of the Atoll PropertyContainer object. The properties needed to actually be able to add a
new ChildFolder object depend on the current ChildFolder object type, as returned by ObjectKind.

9.17 Remove
Removes the ChildFolder object from its parent ChildFolder object.

HRESULT Remove();

Remarks

A ChildFolder object cannot be used anymore after it is removed. ChildFolder objects may be removed by Atoll, for instance
when F5 is used interactively to refresh the screen.
Once this method has returned the ChildFolder object has been destroyed and invoking any method on it will result in unde-
fined behaviour.
Atoll version >= 2.8.2:
This method is deprecated. Please use RemoveItem instead.

9.18 get_position
Returns the ChildFolder object position relative to its parent ChildFolder object.

HRESULT get_position(long *pPos);

Parameters

[out] pPos: Address of the long integer used to return the ChildFolder object position. ChildFolder objects are ordered from
position 0 (top) to to get_Count() - 1 (bottom).

9.19 put_position
Sets the ChildFolder object position relative to its parent ChildFolder object.

HRESULT put_position(long lPos);

Parameters

[in] lPos: A long integer used to specify the ChildFolder object position.
• If lPos  0, the ChildFolder object is moved to the top.
• If lPos  get_Count() - 1, the ChildFolder object is moved to the bottom.

121
Atoll 3.3.2 Task Automation Guide
Chapter 9: ChildFolder Object © 2016 Forsk. All Rights Reserved.

9.20 get_Object
Access to some specific features on the ChildFolder object.

HRESULT get_Object(IUnknown **ppObject);

Parameters

[out] ppObject: Address of the IUnknown interface pointer used to access some specific features.

Remarks

Due to the nature of the interface returned, get_Object cannot be used by macros and scripts. Macros or scripts must use
get_dispatch instead.

9.21 get_dispatch
Access to some specific features on the ChildFolder object.

HRESULT get_dispatch(IDispatch **ppDispatch);

Parameter

[out] ppDispatch: Address of the IDispatch interface pointer used to access some specific features.

9.22 get_ObjectKind
Returns a type identifier of the ChildFolder object.

HRESULT get_ObjectKind(BSTR *pRetVal);

Parameters

[out] pRetVal: Address of the BSTR used to return the type identifier.

Remarks

To be able to identify the ChildFolder object type, and therefore to safely access specific features of the ChildFolder object,
here is the list of the available type identifiers:

Version SID String Value Specific Features

Tabular data clutter


 2.4.0 SID_CLUTTER {7CB51DE8-A961-11D2-8688-0060086457D1}
properties.

 2.4.0 SID_SIMULATIONS {CDDF1E1D-1963-4D80-A057-D23A19570984} Simulations folder.

"Groups of simulations"
 2.4.0 SID_SIMULATIONSGROUP {AF5E2B98-1D54-48FA-89C5-8BFA2936ABF2}
folder.

 2.4.0 SID_SIMULATION {095C5D90-96F1-4BA8-85BB-B2F990AC2DD9} "Simulation" items.

 2.5.1 SID_SITES {90443F68-5B3B-4AFD-B7BB-B057095EBAAD} Sites folder.

 2.5.1 SID_ANTENNAS {5FBEB2AE-3BBB-4FBA-94D8-5D8EA5A32069} Antennas folder.

122
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 9: ChildFolder Object

Transmitters folder, in a
 2.5.1 SID_TRANSMITTERS {F7E891E8-F7F5-4870-BF63-AF559AD50FD3}
single-RAT document.

 2.5.1 SID_PREDICTIONS {DA676EF0-E300-4AFF-BBFA-EC55D3798E4F} Predictions folder.

 2.5.1 SID_UMTS_PARAMETERS {D4F57EE3-7785-4348-9BA6-28998AA6BD80} UMTS Parameters folder.

 2.5.1 SID_CW_MEASUREMENTS {41413C4A-C9DE-43DD-A917-612A0AF198FC} CW Measurements folder.

CW Measurements
 2.5.1 SID_MEASURE_TX {2C102EE5-BFF4-4A5A-8130-02BD0E2F70D7}
transmitter.

 2.5.1 SID_MEASURE_ITEM {36858A48-7A85-482E-9DA0-B9E935ADE84C} CW Measurements.

 2.5.1 SID_TESTMOBILEDATA {21C11380-D8CF-4902-B622-763522AD9FC4} Drive Test Data folder.

 2.5.1 SID_NUM_MEASURE_ITEM {916801F9-0539-448C-8C0C-491FAC6399ED} Drive Test Data items.

 2.5.1 SID_PARAMETERS_FOLDER {43B8845-5226-454F-908F-59A500DB4FD1} Parameters folder.

 2.5.1 SID_HEXAGON_SCHEMA {B167D45E-A0BC-4DC6-B9D7-6F7B131CADF1} Hexagonal Design folder.

 2.6.0 SID_TRAFFICFOLDER {B3B25A07-A994-4e8d-BBD1-51556D6C4245} Traffic folder.

 2.7.0 SID_PROPAGATIONMODELS {4A2D160B-7D11-4D07-92DF-A3CF6B68D402} Propagation models folder.

Master link ChildFolder


 2.8.2 {16A53FB3-A961-4EEA-8C30-2387DBF1CC24}
object.

 2.8.2 {232BDB73-A68F-41A6-A954-75112D907BBF} Link ChildFolder object.

GSM Transmitters folder, in a


 3.1.0 {CC637062-7AFF-4516-BEFB-BCC954E905B1}
multi-RAT document.

LTE Transmitters folder, in a


 3.1.0 {FD147AA0-B9A2-47AC-8CD5-51C77A708AF8}
multi-RAT document.

UMTS Transmitters folder, in


 3.1.0 {090A23A1-EE08-420D-9739-651D1045EF16}
a multi-RAT document.

CDMA2000 Transmitters
 3.2.0 {65FF5F7D-DBF0-4B52-ABB8-66F3414FD4C3} folder, in a multi-RAT
document.

A sub-folder of the
 3.2.1 StudyFolder
predictions folder.

GSM Drive Test Data folder,


 3.3.1 {92CB60E4-BBA1-4318-BB3C-A2E3975C2EC1}
in a multi-RAT document.

UMTS Drive Test Data folder,


 3.3.1 {C8542595-9E51-4B4C-950D-BCB0CBAA3153}
in a multi-RAT document.

1XRTT Drive Test Data folder,


 3.3.1 {00F8F1C0-FC4D-4A3E-B217-339B86d7EC3B}
in a multi-RAT document.

LTE Drive Test Data folder, in


 3.3.1 {368B28F9-8D8D-4C4A-A74B-D101A88C5B7D}
a multi-RAT document.

 3.3.1 {C06DBABF-26C3-40C1-8C19-A11DF7820ADA} KPis folder.

 3.3.1 {6332BD99-A54A-4837-B4A6-1C3EE8A22A88} UE Traces folder.

 3.3.1 {911FF0FF-242D-47CE-86E8-9618CD5F564C} Weighting Maps folder.

123
Atoll 3.3.2 Task Automation Guide
Chapter 9: ChildFolder Object © 2016 Forsk. All Rights Reserved.

9.23 GetProperty
Returns a ChildFolder object property.

HRESULT GetProperty(const BSTR bstrName, VARIANT *pValue);

Parameters

[in] bstrName: A property name.


[out] pValue: Address of the VARIANT used to return the property.

Remarks

The type of the returned VARIANT can be any of the following:

C++ VBScript

VT_BOOL Boolean

VT_I4 Integer

VT_R4 Single

VT_R8 Double

VT_UNKNOWN Object

Object, TabularData object, ChildFolder object, PropertyContainer


VT_DISPATCH
object

VT_BSTR String

VT_ARRAY | (any of the previous types) Array, with array items of the previous types

The error E_INVALIDARG is returned when there is no property named bstrName for the ChildFolder object. The properties
available for the ChildFolder object depend on the type of the ChildFolder object, as returned by get_ObjectKind.

9.24 SetProperty
Sets a ChildFolder object property.

HRESULT SetProperty(const BSTR bstrName, const VARIANT varValue);

Parameters

[in] bstrName: A property name.


[in] varValue: The VARIANT used to specify the property value.

Remarks

The error E_INVALIDARG is returned when there is no property named bstrName for the ChildFolder object. The properties
available for the ChildFolder object depend on the type of the ChildFolder object, as returned by get_ObjectKind.

9.25 GetPropertiesInfo
Returns names and types for all properties available on the ChildFolder object.

HRESULT GetPropertiesInfo(VARIANT *pValue);

124
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 9: ChildFolder Object

Parameters

[out] pValue : Address of the VARIANT used to return the names and types for all properties in the property container.

9.26 PropertyIsPropertyContainer
Returns true when a ChildFolder object property is a PropertyContainer object.

HRESULT
PropertyIsPropertyContainer(const BSTR bstrName, VARIANT_BOOL *pValue);

Parameters

[in] bstrName : The property name.


[out] pValue: Address of the VARIANT_BOOL used to return whether the property is a PropertyContainer object or not.

9.27 PropertyIsTabularData
Returns true when a ChildFolder object property is a TabularData object.

HRESULT PropertyIsTabularData(const BSTR bstrName, VARIANT_BOOL *pValue);

Parameters

[in] bstrName : The property name.


[out] pValue: Address of the VARIANT_BOOL used to return whether the ChildFolder property type is TabularData object.

9.28 LoadProperties
Sets properties from a property container to the ChildFolder object.

HRESULT LoadProperties(const VARIANT varSource);

Parameters

[in] varSource : VARIANT of type VT_DISPATCH, used to specify a property container for the properties to set.

9.29 SaveProperties
Saves all the ChildFolder object properties to another property container.

HRESULT SaveProperties( const VARIANT varDestination) ;

Parameters

[in] varDestination : VARIANT of type VT_DISPATCH, used to specify a property container where all properties will be set.

9.30 RemoveItem
Removes one of the children of the ChildFolder object.

HRESULT RemoveItem( const VARIANT idx) ;

125
Atoll 3.3.2 Task Automation Guide
Chapter 9: ChildFolder Object © 2016 Forsk. All Rights Reserved.

Parameters

[in] idx : A VARIANT of type VT_I4 or VT_BSTR used to specify one of the children to remove.
If the type of the variant is VT_I4, it is interpreted as a zero-based index in the list of children.
If the type of the variant is VT_BSTR, it is first interpreted as the display name of the child to remove, and if the display name
is not found, it is then interpreted as a ChildFolder object kind, as returned by get_ObjectKind.

Remarks

A ChildFolder object cannot be used anymore after it is removed. ChildFolder objects may be removed by the application, for
instance when F5 is used interactively to refresh the screen.
This method fails for ChildFolder objects that cannot be removed interactively, and an error is returned in that case.

9.31 SetCustomIcon
Sets the path of an icon to use for a custom child folder.

HRESULT SetCustomIcon(const BSTR bstrPath);

Parameters

[in] bstrPath : The full path to the icon file (*.ico) to load.

9.32 OpenPropertySheet
Displays the child folder property sheet dialogue.

HRESULT OpenPropertySheet();

Parameters:

126
Chapter 10
PropertyContai
ner Object
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

128
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 10: PropertyContainer Object

10 PropertyContainer Object
The PropertyContainer object is a generic container containing a set of named properties of arbitrary types.
The PropertyContainer object provides the following properties and methods:

Name Description Attributes

Get Returns a named property.

Set Sets a named property.

Returns names and types for all properties set to the property
GetInfo
container.

Returns true when a named property is of a Type: Boolean


IsPropertyContainer
PropertyContainer object. Access: Read

Returns true when a named property is of a TabularData Type: Boolean


IsTabularData
object. Access: Read

Adds properties from another property container to the


Load
property container.

Save Saves all the properties to another property container.

RemoveAll Removes all properties from the property container.

Remove Removes a named property from the property container.

10.1 Get
Returns a named property.

HRESULT Get(const BSTR bstrName, VARIANT *pValue);

Parameters

[in] bstrName: A property name.


[out] pValue: Address of the VARIANT used to return the property.

Remarks

The type of the returned VARIANT can be any of the following:

C++ VBScript

VT_BOOL Boolean

VT_I4 Integer

VT_R4 Single

VT_R8 Double

VT_UNKNOWN Object

Object, TabularData Object, ChildFolder Object, PropertyContainer


VT_DISPATCH
Object

VT_BSTR String

VT_ARRAY | (any of the previous types) Array, with array items of the previous types

129
Atoll 3.3.2 Task Automation Guide
Chapter 10: PropertyContainer Object © 2016 Forsk. All Rights Reserved.

The error E_INVALIDARG is returned when the property named bstrName has not been previously set to the property
container.

10.2 Set
Sets a named property.

HRESULT Set(const BSTR bstrName, const VARIANT varValue);

Parameters

[in] bstrName: A property name.


[in] varValue: The VARIANT used to specify the property value.

Remarks

If the property named bstrName has been previously set, its content is replaced by varValue, otherwise a new property named
bstrName is added to the property container.

10.3 GetInfo
Returns names and types for all properties set to the property container.

HRESULT GetInfo(VARIANT *pValue);

Parameters

[out] pValue : Address of the VARIANT used to return the names and types for all properties in the property container.

10.4 IsPropertyContainer
Returns true when a named property is a PropertyContainer object.

HRESULT IsPropertyContainer(const BSTR bstrName, VARIANT_BOOL *pValue);

Parameters

[in] bstrName : The property name.


[out] pValue: Address of the VARIANT_BOOL used to return whether the property is a PropertyContainer Object.

10.5 IsTabularData
Returns true when a named property is a TabularData object.

HRESULT IsTabularData(const BSTR bstrName, VARIANT_BOOL *pValue);

Parameters

[in] bstrName : The property name.


[out] pValue: Address of the VARIANT_BOOL used to return whether the property is a Tabular Data Object.

10.6 Load
Adds properties from another property container to the property container.

130
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 10: PropertyContainer Object

HRESULT Load(const VARIANT varSource);

Parameters

[in] varSource : VARIANT of type VT_DISPATCH, used to specify a property container for the properties to add.

10.7 Save
Saves all the properties to another property container.

HRESULT Save(const VARIANT varDestination);

Parameters

[in] varDestination : VARIANT of type VT_DISPATCH, used to specify a property container where all properties will be set.

10.8 RemoveAll
Removes all properties from the property container.

HRESULT RemoveAll();

10.9 Remove
Removes a named property from the property container.

HRESULT Remove(const BSTR bstrName, VARIANT *pValue);

Parameters

[in] bstrName : The property name.


[out] pValue: Address of the VARIANT used to return the original property value, before it is removed.

131
Atoll 3.3.2 Task Automation Guide
Chapter 10: PropertyContainer Object © 2016 Forsk. All Rights Reserved.

132
Chapter 11
ChildFolder
Object
Properties
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

134
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

11 ChildFolder Object Properties


ChildFolder object properties are named properties. The set of available properties for a given ChildFolder object depends on
the ChildFolder object type, returned by get_ObjectKind.
ChildFolder object property names usually resemble their GUI representations in the properties dialogues inside Atoll.
ChildFolder object properties are divided into the following groups according to their use and application in Atoll:
• "Common ChildFolder Object Properties" on page 136,
• "Predictions Folder Properties" on page 137,
• "Coverage Prediction Properties" on page 137,
• "GSM Simulation Group Properties" on page 146,
• "UMTS Simulation Group Properties" on page 147,
• "WiMAX and LTE Simulation Group Properties" on page 148,
• "3GPP Multi-RAT Simulation Group Properties" on page 149,
• "Standard Propagation Model Properties" on page 150,
• "CW Measurement Properties" on page 152,
• "Drive Test Data Properties" on page 153,
• "Custom ChildFolder Object Properties" on page 153,
• "Master Link Properties" on page 154,
• "Link Properties" on page 154,
• "Vector Layer Properties" on page 154.

11.1 How to Access ChildFolder Object Properties


The following sample codes show how to read and write ChildFolder Object properties.

Reading a ChildFolder Object Property

item: A ChildFolder object.


propertyname: The property name.
propertyvalue: The property value.

On Error Resume Next

’ If the property type is an Object (Atoll Tabular Data Object, Atoll Property

’ Container Object, ...), then replace the next line with

’ "Set propertyvalue = item.GetProperty(propertyname)"

propertyvalue = item.GetProperty(propertyname)

If Err Then

MsgBox item.Name & "." & propertyname & "does not exist."

Else

MsgBox item.Name & "." & propertyname & " = " & CStr(propertyvalue)

End If

Writing a ChildFolder Object Property

item: A ChildFolder object.


propertyname: The property name.
propertyvalue: The property value.

On Error Resume Next

135
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

item.SetProperty propertyname, propertyvalue

If Err Then

MsgBox Err.Description

End If

11.2 Common ChildFolder Object Properties


Some ChildFolder object properties are common to all kinds of ChildFolder objects. These properties include the following.

Name Description Attributes

Version  : 2.6.1
NAME ChildFolder object name as it appears in the Explorer window. Type: String
Access: Read/Write

Version  : 2.6.1
ChildFolder visibility state. This property is only relevant for
VISIBLE Type: Boolean
geographic ChildFolder objects.
Access: Read/Write

Version  : 2.6.1
SELECTED ChildFolder selected state, either selected or not selected. Type: Boolean
Access: Read/Write

Version  : 2.6.1
POSITION ChildFolder position, relative to the parent ChildFolder object. Type: Integer
Access: Read/Write

Version  : 2.7.0
ChildFolder type identifier. This is the same as the value returned
OBJECTKIND Type: String
by get_ObjectKind.
Access: Read

Returns true if the ChildFolder object can be visible in the Map


Version  : 2.7.0
window, false otherwise.
ISGEOGRAPHIC Type: Boolean
When this property is false, the properties and methods specific
Access: Read
to the Map view are neither relevant nor applicable.

Version  : 2.7.0
ChildFolder minimum visibility scale display property. This
VISIBILITYSCALEMIN Type: Integer
property is only relevant for geographic ChildFolder objects.
Access: Read/Write

Version  : 2.7.0
ChildFolder maximum visibility scale display property. This
VISIBILITYSCALEMAX Type: Integer
property is only relevant for geographic ChildFolder objects.
Access: Read/Write

Version  : 2.7.0
ChildFolder add to legend display property. This property is only
ADDTOLEGEND Type: Boolean
relevant for geographic ChildFolder objects.
Access: Read/Write

Version  : 2.8.2
A Document object.
DOCUMENT Type: Object
The ChildFolder object is part of the Document object.
Access: Read

Version  : 3.2.0
LEGEND ChildFolder object name as it appears in the Legend window. Type: String
Access: Read/Write

Version  : 3.3.1
ChildFolder disabled state. A ChildFolder may be disabled when Type: Boolean
DISABLED
some license restriction applies to this ChildFolder object. Access: Read

136
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

11.3 Predictions Folder Properties


Type returned by get_ObjectKind: {DA676EF0-E300-4AFF-BBFA-EC55D3798E4F}
The following properties are accessible through the Predictions folder.

Name Description Attributes

Version  : 2.6.1
Path to the path loss matrices private storage folder, as it appears
PRIVATESTORAGE Type: String
in the Predictions folder properties.
Access: Read/Write

11.4 Coverage Prediction Properties


The coverage prediction types returned by get_ObjectKind for the various coverage predictions are listed below:
• "GSM GPRS EDGE Coverage Predictions" on page 137,
• "UMTS HSPA Coverage Predictions" on page 138,
• "WiMAX Coverage Predictions" on page 138,
• "LTE Coverage Predictions" on page 139.
Coverage prediction properties are of the following types:
• "General Properties" on page 140,
• "Group, Filter, and Sort Properties" on page 141,
• "Non-Simulation-based Coverage Conditions" on page 141: Coverage conditions for predictions that cannot be based
on simulations,
• "Simulation-based Coverage Conditions" on page 143: Coverage conditions for predictions that can be based on sim-
ulations,
• "Shadowing and Indoor Coverage Conditions" on page 144,
• "Display Properties" on page 144.

GSM GPRS EDGE Coverage Predictions

Name Type Attributes


Coverage by Transmitter {9E42C87F-56D0-43CA-A313-78A7CA9A811B}

Coverage by Signal Level (DL) {1FF20277-9A4C-486A-B0A4-90E7E8EC72E4}

Overlapping Zones {1F0C294B-11A0-45C9-9B32-640FED79BCA6}

Coverage by C/I Level (DL) {8A94CAE7-B4FF-4DC6-854A-BC90FE8F0073}

Interfered Zones {EB45E33D-FB33-44F1-A63B-B4661ACE78B2}

Coverage by GPRS/EDGE Coding


{6B062215-EEC1-40E9-9A02-F909AFF6B5DB}
Scheme

RLC/MAC Throughput/Timeslot {02BE397A-1F4B-423E-AEC4-B8138974ADD8}

Application Throughput/Timeslot {3F8F8CB3-A5DC-49F9-8F3D-0E7243AA0E6C}

Coverage by Signal Level (UL) {CB8A7A12-089B-4681-956A-17119E17F02C}

Service Area Analysis (DL) {28149E1A-72E0-4C4A-8E6D-69A7A96C7257}

Service Area Analysis (UL) {C71C77D1-0FA5-4FE4-9D96-E567620373DC}

Effective Service Area Analysis


{D57D42F7-3939-422A-8600-39BF8BBB4D1D}
(DL+UL)

Packet Quality and Throughput


{02BE397A-1F4B-423E-AEC4-B8138974ADD8}
Analysis (DL)

Coverage by C/I Level (UL) {549A79FF-D191-4486-B6D8-A1544633BC26}

Coverage by Aerial (DL) {A06B88E7-AF24-4CA8-9258-9E65292E8FCF}

Circuit Quality Indicator Analysis {67EC97E9-9F06-4B0F-90C0-E42A67FE560C}

137
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

UMTS HSPA Coverage Predictions

Name Type Attributes


Coverage by Transmitter {A6FB7132-FB5E-42CC-A1C1-0BEA4AF09921}

Coverage by Signal Level {E82C3B13-240E-4DD3-A553-583ADDF57713}

Overlapping Zones {53B30925-B781-499D-90E4-3F9B8570871B}

Coverage by Total Noise Level (DL) {1C9384EB-57CA-433F-BDB3-07E1BE317890}

Pilot Quality Analysis (Ec/Io) {66287FC5-81FA-40B6-84E3-2C2C4E13D121}

Service Area Analysis (Eb/Nt) (DL) {5C6427F7-D63A-4046-B8BD-1A5E9D165890}

Service Area Analysis (Eb/Nt) (UL) {D75ADE37-FB8A-4693-A788-47109A913C29}

Effective Service Area Analysis (Eb/


{5F74AEFA-2958-42CC-8244-C12DC19B26C3}
Nt) (DL+UL)

Handoff Zones {39A63BBA-02EC-43E7-8523-07E29B519181}

Pilot Pollution Analysis {2199E577-F3F5-4FFD-BCAB-0D748CA7CCD3}

HSDPA Quality and Throughput


{BFDDFC83-D8EE-4225-840F-EF842DE19B74}
Analysis

HSUPA Quality and Throughput


{E9ED15F1-EC14-4451-ADFA-1953A6FB2526}
Analysis

Scrambling Code Collision Zones {AC612067-A173-439E-BF7A-76B17933A30E}

Coverage by Aerial (DL) {B550F943-733A-4ECB-9E8A-EABB79FE5CD2}

Total Noise Level Analysis (DL) {1C9384EB-57CA-433F-BDB3-07E1BE317890}

Inter-technology Interference Level


{CE1C2AE8-0F0A-4E54-A69E-F4569A73A1DF}
Analysis (DL)

WiMAX Coverage Predictions

Name Type Attributes

Coverage by Transmitter {BE607087-CB08-453C-B2A0-B356CD38C3F5} Version  : 2.7.1

Coverage by Signal Level {9C602E1C-E5E7-44CA-8E5B-878D74D07885} Version  : 2.7.1

Overlapping Zones {86560A81-DE60-41CC-9B9E-83BF33CEF491} Version  : 2.7.1

Effective Signal Analysis (DL) {6A657977-CF0E-415C-8486-C41664F7035E} Version  : 2.7.1

Effective Signal Analysis (UL) {3F803866-1041-4267-8D28-FCA43445A642} Version  : 2.7.1

Coverage by C/(I+N) Level (DL) {DCB4B756-4D02-42DB-B838-14A62F603922} Version  : 2.7.1

Coverage by C/(I+N) Level (UL) {4163305D-E203-4A78-99F6-E59EA537AB7E} Version  : 2.7.1

Coverage by Bearer (DL) {C5A270AA-15A1-443D-BBCB-77B1B99D447F} Version  : 2.7.1

Coverage by Bearer (UL) {A07FB550-64C7-4D2A-B634-79FC6A981828} Version  : 2.7.1

Coverage by Throughput (DL) {645C7166-CE00-4EFB-B9AF-A7F25A3BBBA6} Version  : 2.7.1

Coverage by Throughput (UL) {1A8B4ACB-8D51-49AA-AA67-3ADAB48F09B6} Version  : 2.7.1

Coverage by Aerial (DL) {4A9ED8C5-F2DE-432B-8507-C65A3DFE47E3} Version  : 3.2.0

Service Area Analysis (DL) {C5A270AA-15A1-443D-BBCB-77B1B99D447F}

Service Area Analysis (UL) {A07FB550-64C7-4D2A-B634-79FC6A981828}

138
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

Name Type Attributes


Effective Service Area Analysis
{9C91F601-0B1D-4F60-A983-160A93349377}
(DL+UL)

Coverage by Quality Indicator (DL) {B682A005-CCC2-4C7C-A9FA-D2FEBA633E15}

Coverage by Quality Indicator (UL) {E648833C-48E1-49C0-A56F-6B94DBA9C358}

Cell Identifier Collision Zones (DL) {408A1234-37D0-42A7-8CF1-6E3E5239D6AC}

LTE Coverage Predictions

Name Type Attributes

Coverage by Transmitter {BE607087-CB08-453C-B2A0-B356CD38C3F5} Version  : 2.8.0

Coverage by Signal Level {9C602E1C-E5E7-44CA-8E5B-878D74D07885} Version  : 2.8.0

Overlapping Zones {86560A81-DE60-41CC-9B9E-83BF33CEF491} Version  : 2.8.0

Effective Signal Analysis (DL) {6A657977-CF0E-415C-8486-C41664F7035E} Version  : 2.8.0

Effective Signal Analysis (UL) {3F803866-1041-4267-8D28-FCA43445A642} Version  : 2.8.0

Coverage by C/(I+N) Level (DL) {DCB4B756-4D02-42DB-B838-14A62F603922} Version  : 2.8.0

Coverage by C/(I+N) Level (UL) {4163305D-E203-4A78-99F6-E59EA537AB7E} Version  : 2.8.0

Coverage by Bearer (DL) {C5A270AA-15A1-443D-BBCB-77B1B99D447F} Version  : 2.8.0

Coverage by Bearer (UL) {A07FB550-64C7-4D2A-B634-79FC6A981828} Version  : 2.8.0

Coverage by Throughput (DL) {645C7166-CE00-4EFB-B9AF-A7F25A3BBBA6} Version  : 2.8.0

Coverage by Throughput (UL) {1A8B4ACB-8D51-49AA-AA67-3ADAB48F09B6} Version  : 2.8.0

Coverage by Quality Indicator (DL) {B682A005-CCC2-4C7C-A9FA-D2FEBA633E15} Version  : 2.8.0

Coverage by Quality Indicator (UL) {E648833C-48E1-49C0-A56F-6B94DBA9C358} Version  : 2.8.0

Cell Identifier Collision Zones (DL) {408A1234-37D0-42A7-8CF1-6E3E5239D6AC}

Effective Service Area Analysis


{9C91F601-0B1D-4F60-A983-160A93349377}
(DL+UL)

Service Area Analysis (UL) {A07FB550-64C7-4D2A-B634-79FC6A981828}

Service Area Analysis (DL) {C5A270AA-15A1-443D-BBCB-77B1B99D447F}

Coverage by Aerial (DL) {4A9ED8C5-F2DE-432B-8507-C65A3DFE47E3}

3GPP Multi-RAT Predictions

Name Type Attributes


Coverage by Throughput (DL) {1263E484-49FF-46AB-BEEF-A3D38381C1CF}

Effective Service Area Analysis


{7BF0DC41-ADE4-4ECC-9176-D4FBFB24BABD}
(DL+UL)

CDMA Predictions

Name Type Attributes


Coverage by Transmitter (DL) {A6FB7132-FB5E-42CC-A1C1-0BEA4AF09921}

Coverage by Aerial (DL) {B550F943-733A-4ECB-9E8A-EABB79FE5CD2}

Coverage by Signal Level (DL) {A6FB7132-FB5E-42CC-A1C1-0BEA4AF09921}

139
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

Name Type Attributes


Overlapping Zones (DL) {A6FB7132-FB5E-42CC-A1C1-0BEA4AF09921}

Total Noise Level Analysis (DL) {1C9384EB-57CA-433f-BDB3-07E1BE317890}

Inter-technology Interference Level


{CE1C2AE8-0F0A-4e54-A69E-F4569A73A1DF}
Analysis (DL)

Pilot Quality Analysis (DL) {66287FC5-81FA-40B6-84E3-2C2C4E13D121}

Service Area Analysis (Eb/Nt) (DL) {5C6427F7-D63A-4046-B8BD-1A5E9D165890}

Service Area Analysis (Eb/Nt) (UL) {D75ADE37-FB8A-4693-A788-47109A913C29}

Effective Service Area Analysis


{5F74AEFA-2958-42CC-8244-C12DC19B26C3}
(Eb/Nt) (DL+UL)

Handoff Zones (DL) {39A63BBA-02EC-43E7-8523-07E29B519181}

Pilot Pollution Analysis (DL) {2199E577-F3F5-4FFD-BCAB-0D748CA7CCD3}

PN Offset Collision Zones (DL) {AC612067-A173-439e-BF7A-76B17933A30E}

Wi-Fi Predictions

Name Type Attributes


Coverage by Transmitter (DL) {BE607087-CB08-453C-B2A0-B356CD38C3F5}

Coverage by Signal Level (DL) {9C602E1C-E5E7-44CA-8E5B-878D74D07885}

Overlapping Zones (DL) {86560A81-DE60-41CC-9B9E-83BF33CEF491}

Effective Signal Analysis (DL) {6A657977-CF0E-415C-8486-C41664F7035E}

Effective Signal Analysis (UL) {3F803866-1041-4267-8D28-FCA43445A642}

Coverage by C/(I+N) Level (DL) {DCB4B756-4D02-42DB-B838-14A62F603922}

Coverage by C/(I+N) Level (UL) {4163305D-E203-4A78-99F6-E59EA537AB7E}

Service Area Analysis (DL) {C5A270AA-15A1-443D-BBCB-77B1B99D447F}

Service Area Analysis (UL) {A07FB550-64C7-4D2A-B634-79FC6A981828}

Effective Service Area Analysis


{9C91F601-0B1D-4F60-A983-160A93349377}
(DL+UL)

Coverage by Throughput (DL) {645C7166-CE00-4EFB-B9AF-A7F25A3BBBA6}

Coverage by Throughput (UL) {1A8B4ACB-8D51-49AA-AA67-3ADAB48F09B6}

Coverage by Quality Indicator (DL) {B682A005-CCC2-4C7C-A9FA-D2FEBA633E15}

Coverage by Quality Indicator (UL) {E648833C-48E1-49C0-A56F-6B94DBA9C358}

11.4.1 General Properties


These properties are available for all kinds of coverage predictions.

Name Description Attributes

Version  : 2.7.0
DESCRIPTION Comments Type: String
Access: Read/Write

Version  : 2.7.0
RESOLUTION Resolution of the prediction, in meters. Type: Integer
Access: Read/Write

140
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

Name Description Attributes

Version  : 2.7.0
Returns true when the prediction is locked for calculations,
LOCKED Type: Boolean
false otherwise.
Access: Read/Write

Version  : 2.7.0
Returns true when the prediction coverage is empty, false
ISEMPTY Type: Boolean
otherwise.
Access: Read

Returns true when the prediction is per transmitter, false Version  : 2.7.0
ISPERTRANSMITTER otherwise. The return value depends on the display field of Type: Boolean
the prediction. Access: Read

An empty string when the coverage prediction does not Version  : 3.2.1
URL have external numerical results, otherwise the absolute Type: String
path to the disk folder containing numerical results. Access: Read

Version  : 3.3.1
Type: Floating point
RECEIVERHEIGHT The receiver height. value
Access: Read

Version  : 3.3.1
Type: String
NETWORK Radio technology.
Access: Read

11.4.2 Group, Filter, and Sort Properties


These properties are called RECORDSETCONDITIONS, which are available for all kinds of coverage predictions.

Name Attributes

Version  : 2.7.0
RECORDSETCONDITIONS
PropertyContainer object

The following RECORDSETCONDITIONS are available:

Name Description Attributes

Version  : 2.7.0
"Group By" part of the recordset conditions, applied to the
GROUPBY Type: String
Transmitters table.
Access: Read/Write

Version  : 2.7.0
"Filter" part of the recordset conditions, applied to the
FILTER Type: String
Transmitters table.
Access: Read/Write

Version  : 2.7.0
"Sort" part of the recordset conditions, applied to the
SORT Type: String
Transmitters table.
Access: Read/Write

11.4.3 Non-Simulation-based Coverage Conditions


These properties are called COVERAGECONDITIONS.

Name Attributes

Version  : 2.7.0
COVERAGECONDITIONS
PropertyContainer object

141
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

These properties are available for the following coverage predictions:


• GSM GPRS EDGE:
• Coverage by Transmitter
• Coverage by Signal Level
• Overlapping Zones
• Coverage by C/I Level
• Interfered Zones
• Coverage by GPRS/EDGE Coding Scheme
• RLC/MAC Throughput/Timeslot
• Application Throughput/Timeslot
• UMTS HSPA:
• Coverage by Transmitter
• Coverage by Signal Level
• Overlapping Zones
• WiMAX (Version  : 2.7.1):
• Coverage by Transmitter
• Coverage by Signal Level
• Overlapping Zones
• LTE (Version  : 2.8.0):
• Coverage by Transmitter
• Coverage by Signal Level
• Overlapping Zones
The following COVERAGECONDITIONS are available:

Name Description Attributes


The field type to base the prediction with.
Version  : 2.7.0
The values are: 1=Path Loss (dB); 2=Total Losses (dB);
FIELDTYPE Type: Integer
3=Signal Level (dBm); 4=Signal Level (dBµV); 5=Signal Level
Access: Read/Write
(dBµV/m);

The way to choose transmitters among available (active, not


filtered) ones for the current coverage prediction.
The values are: 0=All; 1=Best Signal Level; 2=Second Best
Signal Level; Version  : 2.7.0
SERVERTYPE For GSM GPRS EDGE documents, the following values are Type: Integer
also available: 3=Best Signal Level per HCS Layer; 4=Second Access: Read/Write
Best Signal per HCS Layer; 5=Best Signal Level of the Highest
Priority HCS Layer;
6=Best Idle Mode Reselection Criterion (C2);

The margin (in dB) from the best server signal level and
signal level from other servers taking part into the current
Version  : 2.7.0
coverage (available only if the best signal level or highest
SERVERMARGIN Type: Single
priority option is selected)
Access: Read/Write
e.g.: If the two best server signal levels are within the
margin, these are both considered in the coverage area.

GSM GPRS EDGE: The TRX type to take into account for the
Version  : 2.7.0
current coverage prediction (BCCH, TCH, TCH_EGPRS,
Type:
TCH_INNER).
TRXTYPE PropertyContainer
UMTS HSPA: The carrier number to take into account for the
object
current coverage prediction (ALL=Best; 0=Carrier number 0;
Access: Read/Write
1=Carrier number 1; 2=Carrier number 2;)

Whether to use the lower reception threshold defined for Version  : 2.7.0
USESUBCELLRECEPTIONTHRESHOLD the transmitter subcell or not. When set to True, the Type: Boolean
FIELDMINIMUM property is ignored. Access: Read/Write

The coverage prediction lower threshold associated with Version  : 2.7.0


FIELDMINIMUM the FIELDTYPE property. When set to -32768, no minimum Type: Single
value will be considered. Access: Read/Write

The coverage prediction upper threshold associated with Version  : 2.7.0


FIELDMAXIMUM the FIELDTYPE property. When set to 32767, no maximum Type: Single
value will be considered. Access: Read/Write

142
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

11.4.4 Simulation-based Coverage Conditions


These properties are called SIMULATIONCONDITIONS.

Name Attributes

Version  : 2.7.0
SIMULATIONCONDITIONS
Type: PropertyContainer object

These properties are available for the following coverage predictions:


• UMTS HSPA:
• Coverage by Total Noise Level (DL)
• Pilot Quality Analysis (Ec/Io)
• Service Area Analysis (Eb/Nt) (DL)
• Service Area Analysis (Eb/Nt) (UL)
• Effective Service Area Analysis (Eb/Nt) (DL+UL)
• Handoff Zones
• Pilot Pollution Analysis
• HSDPA Quality and Throughput Analysis
• HSUPA Quality and Throughput Analysis
• Scrambling Code Collision Zones
• WiMAX:
• Coverage by C/(I+N) Level (DL)
• Coverage by C/(I+N) Level (UL)
• Coverage by Bearer (DL)
• Coverage by Bearer (UL)
• Coverage by Throughput (DL)
• Coverage by Throughput (UL)
• LTE (Version  : 2.8.0):
• Coverage by C/(I+N) Level (DL)
• Coverage by C/(I+N) Level (UL)
• Coverage by Bearer (DL)
• Coverage by Bearer (UL)
• Coverage by Throughput (DL)
• Coverage by Throughput (UL)
• Coverage by Quality Indicator (DL)
• Coverage by Quality Indicator (UL)
The following SIMULATIONCONDITIONS are available:

Name Description Attributes

Version  : 2.7.0
TERMINAL The name of the terminal type used for the prediction. Type: String
Access: Read/Write

Version  : 2.7.0
MOBILITY The name of the mobility type used for the prediction. Type: String
Access: Read/Write

Version  : 2.7.0
SERVICE The name of the service used for the prediction. Type: String
Access: Read/Write

The name of the simulation used for the prediction. When Version  : 2.7.0
SIMULATION set to an empty string, no simulation will be used to perform Type: String
the prediction. Access: Read/Write

Whether the average simulation will be used to perform the


Version  : 2.7.0
prediction. This property is not relevant when the
AVERAGESIMULATION Type: Boolean
SIMULATION property is empty. This property is not
Access: Read/Write
available for WiMAX and LTE predictions.

143
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

Name Description Attributes


The minimum probability used to perform the prediction.
This property is only relevant when the SIMULATION Version  : 2.7.0
MINIMUMPROBABILITY property is not empty and when the AVERAGESIMULATION Type: Single
property is set to False. This property is not available for Access: Read/Write
WiMAX and LTE predictions.

Version  : 2.7.0
The carrier number used to perform the prediction. This
CARRIER Type: Integer
property is not available for WiMAX and LTE predictions.
Access: Read/Write

Whether downgrading will be considered to perform the Version  : 2.7.0


DOWNGRADINGALLOWED prediction, or not. This property is not available for WiMAX Type: Boolean
and LTE predictions. Access: Read/Write

The bearer used to perform the prediction. This property is Version  : 2.7.0
BEARER only relevant for a HSDPA Prediction. This property is not Type: Integer
available for WiMAX and LTE predictions. Access: Read/Write

11.4.5 Shadowing and Indoor Coverage Conditions


These properties are called CLUTTERCONDITIONS.

Name Attributes

Version  : 2.7.0
CLUTTERCONDITIONS
Type: PropertyContainer object

These properties are available for all kinds of coverage predictions:

Name Description Attributes


Whether to calculate shadowing margins related to the
Version  : 2.7.0
defined cell edge coverage probability and the standard
SHADOWING Type: Boolean
deviation(s) per clutter class or not. When set to False, no
Access: Read/Write
shadowing effect is considered.

Whether to decrease the received signal level at the Version  : 2.7.0


INDOORCOVERAGE receiver of the indoor loss defined for the corresponding Type: Boolean
clutter class (clutter class properties) Access: Read/Write

Version  : 2.7.0
A value between 0 and 100, expressing in percentage value
EDGECOVERAGEPROBABILITY Type: Single
the required coverage probability at the cell edge.
Access: Read/Write

11.4.6 Display Properties


Display properties for coverage predictions are accessed through a property named "DISPLAYPROPERTIES." The "DISPLAY-
PROPERTIES" property is a container object used to contain individual display properties.

Name Attributes

Version  : 2.7.0
DISPLAYPROPERTIES
Type: PropertyContainer object

The properties available in the "DISPLAYPROPERTIES" property container are, for all kinds of coverage predictions:

REPRESENTATION tabular data object

The "REPRESENTATION" tabular data object contains attributes of intervals or values used to display the prediction on the
map. This tabular data object can be edited to change, remove, or add display intervals or display values.
The "REPRESENTATION" tabular data object is available as a "DISPLAYPROPERTIES" property named "REPRESENTATION"

144
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

Name Attributes

Version  : 2.7.0
REPRESENTATION
Type: TabularData object

The schema of the "REPRESENTATION" tabular data object is:

Tabular Data Column Name Description Attributes

The style of the line used to display the interval or the value. Version  : 2.7.0
LINESTYLE The values are: 5=None; 0=Solid; 128=Solid Double Line; Type: Integer
1=Dash; 2=Dash Dot; 4=Dash Dot Dot; Access: Read/Write

The width of the line used to display the interval or the


Version  : 2.7.0
value, expressed in tenth of a point. For instance, to have a
LINEWIDTH Type: Integer
line width of 0,5 pt, the LINEWIDTH property value must be
Access: Read/Write
set to 5.

The graphical style used to fill the interior of the surface


Version  : 2.7.0
defined by the display interval or the display value. The
FILLSTYLE Type: Integer
values are: 0=None; 1=Full; 2=Horizontal; 3=Vertical;
Access: Read/Write
4=Down Diagonal; 5=Up Diagonal; 6=Grid; 7=Treillis;

The main color assigned to the display interval or the display


Version  : 2.7.0
value. The color format is RGB.
MAINCOLOR Type: Integer
See "Converting Integers to RGB and Vice-versa" on
Access: Read/Write
page 145.

The secondary color assigned to the display interval or the


Version  : 2.7.0
display value. The color format is RGB.
SECONDARYCOLOR Type: Integer
See "Converting Integers to RGB and Vice-versa" on
Access: Read/Write
page 145.

Version  : 2.7.0
This property is not used to display a prediction interval or a
SYMBOL Type: Integer
prediction value.
Access: Read/Write

Version  : 2.7.0
This property is not used to display a prediction interval or a
SYMBOLSIZE Type: Integer
prediction value.
Access: Read/Write

The text assigned to the display value. When the display Version  : 2.7.0
VALUE type of the prediction is set to intervals, a Null value is Type: String or Null
returned. Access: Read/Write

The minimum value of the display interval. When the Version  : 2.7.0
MINVALUE display type of the prediction is set to display unique or Type: Double or Null
discrete values, a Null value is returned. Access: Read/Write

The maximum value of the display interval. When the Version  : 2.7.0
MAXVALUE display type of the prediction is set to display unique or Type: Double or Null
discrete values, a Null value is returned. Access: Read/Write

Converting Integers to RGB and Vice-versa

To convert Integer to RGB color components:

Dim Red

Dim Green

Dim Blue

Let Red = (color And &HFF)

145
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

Let Green = ((color \ 256) And &HFF)

Let Blue = ((color \ 65536) And &HFF)

To convert RGB colour components to Integer:

Dim color

Let color = (Red + Green * 256 + Blue * 65536)

Other DISPLAYPROPERTIES properties

DISPLAYPROPERTIES
Description Attributes
Property Name
A value between 0 and 2 used to choose which value classes Version  : 2.7.0
TYPE to display on the map for the current prediction: 0=Unique; Type: Integer
1=Discrete Values; 2=Value Intervals; Access: Read/Write

The field title used to choose which coverage to display on Version  : 2.7.0
FIELD the map. The field title must be compatible with the display Type: String
type property. Access: Read/Write

Version  : 2.7.0
A value between 0 and 100 used to adjust the level of
TRANSPARENCY Type: Integer
transparency of the display interval or the display value.
Access: Read/Write

11.5 GSM Simulation Group Properties


The following properties are accessible for a GSM Monte Carlo simulation group.

Name Description Attributes


Version  :3.2.1
The names of the traffic maps used by a simulation
TRAFFICMAPS Type: Array of Strings
group.
Access: Read/Write
Version  :3.2.1
NUMBEROFSIMULATIONS The number of simulations in a simulation group. Type: Integer
Access: Read/Write
Version  :3.2.1
When set to true, the group of simulations will be run as
EXECUTELATER Type: Boolean
part of the predictions calculation.
Access: Read
Version  :3.2.1
GLOBALSCALINGFACTOR Global traffic densities weighting. Type: Single
Access: Read/Write
Version  :3.2.1
The seed of the pseudo random number generator, used
GENERATORINITIALISATION Type: Integer
to obtain two identical user distributions.
Access: Read/Write
Version  :3.2.1
The maximum number of iterations if the convergence
MAXNUMBEROFITERATIONS Type: Integer
criteria cannot be reached.
Access: Read/Write
ULCONVERGENCETHRESHOLD Version  :3.2.1
(for Single-RATdocuments) Type: Single
The UL relative interference difference to reach between
two iterative steps. Access: Read/Write
GSMULCONVERGENCETHRESHOLD
(for 3GPP Multi-RAT documents)

146
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

Name Description Attributes


DLCONVERGENCETHRESHOLD Version  :3.2.1
(for Single-RAT documents) Type: Single
The DL relative interference difference to reach between
two iterative steps. Access: Read/Write
GSMDLCONVERGENCETHRESHOLD
(for 3GPP Multi-RAT documents)
Version  :3.2.1
The UL noise rise relative interference to reach between
ULCONVERGENCEINTERFERENCES Type: Single
two iterative steps.
Access: Read/Write
Version  :3.2.1
The power control gain difference to reach DL between
DLCONVERGENCEPWRCTRLGAIN Type: Single
two iterative steps.
Access: Read/Write

11.6 UMTS Simulation Group Properties


Type returned by get_ObjectKind: {AF5E2B98-1D54-48FA-89C5-8BFA2936ABF2}
The following properties are accessible for a UMTS Monte Carlo simulation group.

Name Description Attributes


Type: Array of Strings
TRAFFICMAPS The names of the traffic maps used by a simulation group.
Access: Read/Write

Version  : 2.7.1
NUMBEROFSIMULATIONS The number of simulations in a simulation group. Type: Integer
Access: Read/Write

Version  : 2.7.1
When set to true, the group of simulations will be run as
EXECUTELATER Type: Boolean
part of the predictions calculation.
Access: Read

The type of outputs needed in the "Mobiles" tab of each


simulation in the simulations group. Available values are: Version  : 2.7.1
INFORMATIONABOUTMOBILES 0=Only the Average Simulation And Statistics; 1=No Type: Integer
Information About Mobiles; 2=Standard Information About Access: Read/Write
Mobiles; 3=Detailed Information About Mobiles;

Version  : 2.7.1
BEARERRATEDOWNGRADING When set to true, R99 bearer downgrading is allowed. Type: Boolean
Access: Read/Write

Version  : 2.7.1
GLOBALSCALINGFACTOR Global traffic densities weighting. Type: Single
Access: Read/Write

Version  : 2.7.1
The seed of the pseudo random number generator, used to
GENERATORINITIALISATION Type: Integer
obtain two identical user distributions.
Access: Read/Write

Version  : 2.7.1
The maximum number of iterations if the convergence
MAXNUMBEROFITERATIONS Type: Integer
criteria cannot be reached.
Access: Read/Write

Version  : 2.7.1
The UL relative interference difference to reach between
ULCONVERGENCETHRESHOLD Type: Single
two iterative steps.
Access: Read/Write

Version  : 2.7.1
The DL relative interference difference to reach between
DLCONVERGENCETHRESHOLD Type: Single
two iterative steps.
Access: Read/Write

147
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Version  : 2.7.1
When set to true, the maximum number of channel
CONSTRAINTNUMBEROFCES Type: Boolean
elements defined per site is respected.
Access: Read/Write

Version  : 2.7.1
CONSTRAINTNUMBEROFCODES When set to true, OVSF codes availibility is checked. Type: Boolean
Access: Read/Write

Version  : 2.7.1
CONSTRAINTULLOADFACTOR When set to true, the maximum UL load factor is respected. Type: Boolean
Access: Read/Write

Version  : 2.7.1
CONSTRAINTDLLOAD When set to true, the maximum DL load is respected. Type: Boolean
Access: Read/Write

Version  : 2.7.1
CONSTRAINTUSECELLMAXULLOADFA When set to true, the maximum UL load factor is defined
Type: Boolean
CTOR per cell.
Access: Read/Write

Version  : 2.7.1
CONSTRAINTUSECELLMAXDLLOAD When set to true, the maximum DL load is defined per cell. Type: Boolean
Access: Read/Write

Version  : 2.7.1
Global UL load factor to impose to cells.
MAXULLOADFACTOR Type: Single
Valid values are comprised between 0 (0%) and 1(100%).
Access: Read/Write

Version  : 2.7.1
Global DL load to impose to cells.
MAXDLLOAD Type: Single
Valid values are comprised between 0 (0%) and 1(100%).
Access: Read/Write

Version  : 3.1.1
IUBTHROUGHPUTS Iub throughputs. Type: Boolean
Access: Read/Write

11.7 WiMAX and LTE Simulation Group Properties


Type returned by get_ObjectKind: {AF5E2B98-1D54-48FA-89C5-8BFA2936ABF2}
The following properties are accessible for a WiMAX or LTE Monte Carlo simulation group.

Name Description Attributes

Version  : 2.8.1
TRAFFICMAPS The names of the traffic maps used by a simulation group. Type: Array of Strings
Access: Read/Write

Version  : 2.8.1
The names of the subscriber lists used by a simulations
SUBSCRIBERLISTS Type: Array of Strings
group.
Access: Read/Write

Version  : 2.8.1
NUMBEROFSIMULATIONS The number of simulations in a simulation group. Type: Integer
Access: Read/Write

Version  : 2.8.1
When set to true, the group of simulations will be run as
EXECUTELATER Type: Boolean
part of the predictions calculation.
Access: Read

Version  : 2.8.1
GLOBALSCALINGFACTOR Global traffic densities weighting. Type: Single
Access: Read/Write

148
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

Name Description Attributes

Version  : 2.8.1
The seed of the pseudo random number generator, used to
GENERATORINITIALISATION Type: Integer
obtain two identical user distributions.
Access: Read/Write

Version  : 2.8.1
The maximum number of iterations if the convergence
MAXNUMBEROFITERATIONS Type: Integer
criteria cannot be reached.
Access: Read/Write

Version  : 2.8.1
The UL relative traffic load difference to reach between two
ULCONVERGENCETHRESHOLD Type: Single
iterative steps.
Access: Read/Write

Version  : 2.8.1
The DL relative traffic load difference to reach between two
DLCONVERGENCETHRESHOLD Type: Single
iterative steps.
Access: Read/Write

Version  : 2.8.1
ULNOISERISECONVERGENCETHRESH The UL noise rise relative interference to reach between
Type: Single
OLD two iterative steps.
Access: Read/Write

Version  : 2.8.1
CONSTRAINTUSECELLMAXULTRAFFIC When set to true, the maximum UL traffic load is defined
Type: Boolean
LOAD per cell.
Access: Read/Write

Version  : 2.8.1
CONSTRAINTUSECELLMAXDLTRAFFIC When set to true, the maximum DL traffic load is defined
Type: Boolean
LOAD per cell.
Access: Read/Write

Version  : 2.8.1
MAXULTRAFFICLOAD Global UL traffic load to impose to cells. Type: Single
Access: Read/Write

Version  : 2.8.1
MAXDLTRAFFICLOAD Global DL traffic load to impose to cells. Type: Single
Access: Read/Write

Version  : 3.2.1
Type: Boolean
BACKHAULCAPACITY Backhaul Capacity
Access: Read/Write

Version  : 3.2.1
Type: Boolean
NOISERISECONTROL Noise Rise Control
Access: Read/Write

11.8 3GPP Multi-RAT Simulation Group Properties


The following properties are accessible for a 3GPP Multi-RAT simulation group.

In a 3GPP Multi-RAT document, you can access all the properties we have for all the technologies available in your document,
except ULCONVERGENCETHRESHOLD and DLCONVERGENCETHRESHOLD which are prefixed with the technology name.

Name Description Attributes


For GSM technology: Version  :3.2.1
GSMULCONVERGENCETHRESHOLD The UL relative interference difference to reach between Type: Single
two iterative steps. Access: Read/Write
For GSM technology: Version  :3.2.1
GSMDLCONVERGENCETHRESHOLD The DL relative interference difference to reach between Type: Single
two iterative steps. Access: Read/Write

149
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

Name Description Attributes


For UMTS technology: Version  :3.2.1
UMTSULCONVERGENCETHRESHOLD The UL relative interference difference to reach between Type: Single
two iterative steps. Access: Read/Write
For UMTS technology: Version  :3.2.1
UMTSDLCONVERGENCETHRESHOLD The DL relative interference difference to reach between Type: Single
two iterative steps. Access: Read/Write

Name Description Attributes

For LTE technology: Version  :3.2.1


LTEULCONVERGENCETHRESHOLD The UL relative interference difference to reach between Type: Single
two iterative steps.
Access: Read/Write
For LTE technology: Version  :3.2.1
LTEDLCONVERGENCETHRESHOLD The DL relative interference difference to reach between Type: Single
two iterative steps. Access: Read/Write

11.9 Standard Propagation Model Properties


The Type returned by get_ObjectKind for the Propagation Models folder: {4A2D160B-7D11-4D07-92DF-A3CF6B68D402}
get_ObjectKind is available for the Propagation Models folder for version  2.7.0.
The Type returned by get_ObjectKind for the Standard Propagation Model: Atoll.StdPropagModel.1
get_ObjectKind is available for the Standard Propagation Model for version  2.7.0.
The Standard Propagation Model properties are called MODELPROPERTIES.

Name Attributes
The property container holding the propagation model parameters
MODELPROPERTIES Version  : 2.7.0
Type: PropertyContainer object

The following MODELPROPERTIES are available for the Standard Propagation Model:

Name Description Attributes

Version  : 2.7.0
EFFECTIVEANTENNAHEIGHTMETHOD Type: Integer
Access: Read/Write

Version  : 2.7.0
EFFECTIVEANTENNAHEIGHTDISTANCEMIN Type: Double
Access: Read/Write

Version  : 2.7.0
EFFECTIVEANTENNAHEIGHTDISTANCEMAX Type: Single
Access: Read/Write

Version  : 2.7.0
DIFFRACTIONMETHOD Type: Integer
Access: Read/Write

Loss for each clutter class defined in the Atoll document.


Version  : 2.7.0
When there are no clutter classes, the Null value is
CLUTTERLOSSES Type: Array of Single
returned, otherwise the size of the returned array is the
Access: Read/Write
number of clutter classes defined in the Atoll document.

150
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

Name Description Attributes


Clearance for each clutter class defined in the Atoll
Version  : 2.7.0
document. When there are no clutter classes, the Null value
CLUTTERCLEARANCES Type: Array of Single
is returned, otherwise the size of the returned array is the
Access: Read/Write
number of clutter classes defined in the Atoll document.

Version  : 2.7.0
CLUTTERWEIGHTINGFUNCTION Type: Integer
Access: Read/Write

Version  : 2.7.0
CLUTTERMAXIMUMDISTANCE Type: Double
Access: Read/Write

Version  : 2.7.0
K1 Type: Array of Single
Access: Read/Write

Version  : 2.7.0
K2 Type: Array of Single
Access: Read/Write

Version  : 2.7.0
K3 Type: Double
Access: Read/Write

Version  : 2.7.0
K4 Type: Double
Access: Read/Write

Version  : 2.7.0
K5 Type: Double
Access: Read/Write

Version  : 2.7.0
K6 Type: Double
Access: Read/Write

Version  : 2.7.0
KCLUTTER Type: Double
Access: Read/Write

Version  : 2.7.0
NEARTRANSMITTERMAXIMUMDISTANCE Type: Double
Access: Read/Write

Version  : 2.7.0
PROFILES Type: Integer
Access: Read/Write

Version  : 2.7.0
GRIDCALCULATION Type: Integer
Access: Read/Write

Version  : 2.7.0
CONSIDERCLUTTERHEIGHTSINDIFFRACTION Type: Integer
Access: Read/Write

Version  : 2.7.0
HILLYTERRAINCORRECTION Type: Integer
Access: Read/Write

Height of the receiver for each clutter class defined in the


Version  : 2.7.0
Atoll document. When there are no clutter classes, the Null
CLUTTERRECEIVERHEIGHTS Type: Array of Single
value is returned, otherwise the size of the returned array is
Access: Read/Write
the number of clutter classes defined in the Atoll document.

151
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Version  : 2.7.0
LIMITATIONTOFREESPACELOSS Type: Integer
Access: Read/Write

Version  : 2.7.0
RECEIVERONTOPOFCLUTTER Type: Integer
Access: Read/Write

Version  : 3.1.1
Type: Integer
LINEOFSIGHTONLY
Access: Read/Write

11.10 CW Measurement Properties


The Type returned by get_ObjectKind for the CW Measurements folder: SID_CW_MEASUREMENTS
The following properties are accessible for the CW Measurements folder:

Name Description Attributes


Advanced vector table filter, as it appears in CW Type: String
VECTORDATAFILTER
Measurements folders properties. Access: Read/Write

The Type returned by get_ObjectKind for a CW Measurements subfolder: MeasureTx


The following properties are accessible for a CW Measurements subfolder:

Name Description Attributes


Advanced vector table filter, as it appears in CW Type: String
VECTORDATAFILTER
Measurements subfolder properties. Access: Read/Write

The Type returned by get_ObjectKind for a CW Measurements item: MeasureItem


The following properties are accessible for a CW Measurements item:

Name Description Attributes


Advanced vector table filter, as it appears in CW Type: String
VECTORDATAFILTER
Measurements item properties. Access: Read/Write

Type: String
PREDICTIONMODEL Name of a propagation model.
Access: Read/Write

Type: String
HEADER
Access: Read/Write

Type: String
TRANSMITTERNAME Name of a transmitter.
Access: Read/Write

Type: Single
TRANSMITTERFREQUENCY
Access: Read/Write

Type: Single
RECEIVERHEIGHT
Access: Read/Write

Type: Single
RECEIVERGAIN
Access: Read/Write

Type: Single
RECEIVERLOSSES
Access: Read/Write

VECTORDATA Table content of the measurement path. Type: TabularData object

152
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

Name Description Attributes

Version  : 3.1.1
TECHNOLOGYNAME Technology name : "UMTS", "LTE", or "GSM" Type: String
Access: Read/Write

11.11 Drive Test Data Properties


The Type returned by get_ObjectKind for a Drive Test Data item: NumMeasureItem
The following properties are accessible for a Drive Test Data item:

Name Description Attributes


Type: String
HEADER
Access: Read/Write

Type: Single
RECEIVERHEIGHT
Access: Read/Write

Type: Single
RECEIVERGAIN
Access: Read/Write

Type: Single
RECEIVERLOSSES
Access: Read/Write

VECTORDATA Table content of the measurement path. Type: TabularData object

11.12 Custom ChildFolder Object Properties


The Type returned by get_ObjectKind for a custom ChildFolder object is the version dependent PROGID of the custom Child-
Folder object.
get_ObjectKind is accessible for the custom ChildFolder objects for version  2.7.0.
The following properties are accessible for a custom ChildFolder object.

Name Description Attributes


The property container holding the custom ChildFolder object
Version  : 2.7.0
properties.
Type: PropertyContainer
MODELPROPERTIES The MODELPROPERTIES PropertyContainer object will
object
contain properties exposed by the custom ChildFolder object
Access: Read/Write
.

Returns true when the custom ChildFolder object can be


Version  : 2.7.0
renamed.
CANRENAME Type: Boolean
When false is returned, the "Rename" context menu option
Access: Read/Write
for the ChildFolder object is unavailable.

Returns true when the custom ChildFolder object can be


Version  : 2.7.0
deleted.
CANDELETE Type: Boolean
When false is returned, the "Delete" context menu option for
Access: Read/Write
the ChildFolder object is unavailable.

Version  : 2.7.0
The global transparency between 0 and 100 associated with
TRANSPARENCY Type: Integer
the custom ChildFolder object.
Access: Read/Write

Version  : 3.2.1
The comment string associated with the custom ChildFolder
COMMENT Type: String
object.
Access: Read/Write

153
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

11.13 Master Link Properties


Master Link ChildFolder objects are located as top level items in either the Data tab or the Geo tab of the document explorer
window. They are used to specify links from one ChildFolder object to another ChildFolder object (the target ChildFolder
object), located in another Document object (the target Document object).
The Type returned by get_ObjectKind for Master Link ChildFolder objects is :
{16A53FB3-A961-4EEA-8C30-2387DBF1CC24}
The following properties are accessible for Master Link ChildFolder objects.

Name Description Attributes


The target ChildFolder object. Type: Object, or Null
TARGET The Null value is returned when the target Document object value.
is not opened in the current session. Access: Read

The full path to the target document .ATL file. Type: String
TARGETDOCUMENTFULLNAME
An error is returned when the target file cannot be located. Access: Read

11.14 Link Properties


Link ChildFolder objects are children of Master Link ChildFolder objects.
The Type returned by get_ObjectKind for Link ChildFolder objects is :
{232BDB73-A68F-41A6-A954-75112D907BBF}
The following properties are accessible for Link ChildFolder objects.

Name Description Attributes


The target ChildFolder object. Type: Object, or Null
TARGET The Null value is returned when the target Document object value.
is not opened in the current session. Access: Read

11.15 Vector Layer Properties


The following properties are accessible for Vector Layer ChildFolder objects.

Name Description Attributes

Version  : 3.2.1
Type: TabularData
VECTORDATA The vector table of the vector layer.
object

Version  : 2.7.0
Type:
DISPLAYPROPERTIES The vector layer display properties. PropertyContainer
object

Version  : 3.3.2
The vector layer internal coordinate system to use to Type: Coordinate
COORDSYSTEMINTERNAL
interpret vector geometries. System object

11.15.1 Display Properties


Display properties for vector layers are accessed through a property named "DISPLAYPROPERTIES." The "DISPLAYPROPERTIES
"property is a container object used to contain individual display properties.
The properties available in the "DISPLAYPROPERTIES" property container are, for all kinds of vector layers:

154
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

REPRESENTATION tabular data object

The "REPRESENTATION" tabular data object contains attributes of intervals or values used to display the vector layer on the
map. This tabular data object can be edited to change, remove, or add display intervals or display values.
The "REPRESENTATION" tabular data object is available as a "DISPLAYPROPERTIES" property named "REPRESENTATION"

DISPLAYPROPERTIES
Attributes
Property Name
Version  : 3.2.1
REPRESENTATION
Type: TabularData object

The schema of the "REPRESENTATION" tabular data object is:

Tabular Data Column Name Description Attributes


The style of the line used to display the interval or the value. Version  : 3.2.1
LINESTYLE The values are: 5=None; 0=Solid; 128=Solid Double Line; Type: Integer
1=Dash; 2=Dash Dot; 4=Dash Dot Dot; Access: Read/Write

The width of the line used to display the interval or the


Version  : 3.2.1
value, expressed in tenth of a point. For instance, to have a
LINEWIDTH Type: Integer
line width of 0,5 pt, the LINEWIDTH property value must be
Access: Read/Write
set to 5.

The graphical style used to fill the interior of the surface


Version  : 3.2.1
defined by the display interval or the display value. The
FILLSTYLE Type: Integer
values are: 0=None; 1=Full; 2=Horizontal; 3=Vertical;
Access: Read/Write
4=Down Diagonal; 5=Up Diagonal; 6=Grid; 7=Treillis;

The main color assigned to the display interval or the display


Version  : 3.2.1
value. The color format is RGB.
MAINCOLOR Type: Integer
See "Converting Integers to RGB and Vice-versa" on
Access: Read/Write
page 145.

The secondary color assigned to the display interval or the


Version  : 3.2.1
display value. The color format is RGB.
SECONDARYCOLOR Type: Integer
See "Converting Integers to RGB and Vice-versa" on
Access: Read/Write
page 145.

Version  : 3.2.1
This property is not used to display a vector layer interval or
SYMBOL Type: Integer
a vector layer value.
Access: Read/Write

Version  : 3.2.1
This property is not used to display a vector layer interval or
SYMBOLSIZE Type: Integer
a vector layer value.
Access: Read/Write

The text assigned to the display value. When the display Version  : 3.2.1
VALUE type of the vector layer is set to intervals, a Null value is Type: String or Null
returned. Access: Read/Write

The minimum value of the display interval. When the Version  : 3.2.1
MINVALUE display type of the vector layer is set to display unique or Type: Double or Null
discrete values, a Null value is returned. Access: Read/Write

The maximum value of the display interval. When the Version  : 3.2.1
MAXVALUE display type of the vector layer is set to display unique or Type: Double or Null
discrete values, a Null value is returned. Access: Read/Write

Converting Integers to RGB and Vice-versa

To convert Integer to RGB color components:

Dim Red

155
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

Dim Green

Dim Blue

Let Red = (color And &HFF)

Let Green = ((color \ 256) And &HFF)

Let Blue = ((color \ 65536) And &HFF)

To convert RGB colour components to Integer:

Dim color

Let color = (Red + Green * 256 + Blue * 65536)

Other DISPLAYPROPERTIES properties

DISPLAYPROPERTIES
Description Attributes
Property Name
A value between 0 and 2 used to choose which value classes Version  : 3.2.1
TYPE to display on the map for the current vector layer: Type: Integer
0=Unique; 1=Discrete Values; 2=Value Intervals; Access: Read/Write

The field title used to choose which coverage to display on Version  : 3.2.1
FIELD the map. The field title must be compatible with the display Type: String
type property. Access: Read/Write

Version  : 3.2.1
A value between 0 and 100 used to adjust the level of
TRANSPARENCY Type: Integer
transparency of the display interval or the display value.
Access: Read/Write

11.16 Aster Propagation Model Properties


An instance of the Aster Propagation Model is a ChildFolder object located in the Propagation Models folder of the document.

The Type returned by get_ObjectKind for the Propagation Models folder:


{4A2D160B-7D11-4D07-92DF-A3CF6B68D402}

The Type returned by get_ObjectKind for Aster Propagation Model ChildFolder objects:
AsterModel.Model.1

The Aster Propagation Model parameters are exposed using a property container object.
This property container object is returned by the "MODELPROPERTIES" property of the ChildFolder object associated with the
propagation model.

Name Attributes
The property container holding the Aster propagation model parameters
MODELPROPERTIES Version  : 3.1.1
Type: PropertyContainer object

156
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 11: ChildFolder Object Properties

The content of the MODELPROPERTIES property container reflects the content of Aster configuration files.. Aster configura-
tion files are initialization files (.ini) where each parameter is identified by a section name and a key name:
[Section name] Keyname=Value
For each parameter in an Aster configuration file, there is a corresponding property in the MODELPROPERTIES property
container.
The type of all properties is String (VBScript) or VT_BSTR (C++).
Properties are named after the parameter section name and the parameter key name. The section name is put inside square
brackets.

Property Name: [SectionName]Keyname


Property Type:
C++ : VT_BSTR
VBScript : String

11.17 KPI Item Properties


Version  : 3.3.1
TABLENAME
C++ Type: VT_BSTR

Version  : 3.3.1
PARENTTABLENAME C++ Type: VT_BSTR

Version  : 3.3.1
TXTABLENAME
C++ Type: VT_BSTR

157
Atoll 3.3.2 Task Automation Guide
Chapter 11: ChildFolder Object Properties © 2016 Forsk. All Rights Reserved.

158
Chapter 12
ChildFolder
Feature Objects
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

160
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

12 ChildFolder Feature Objects


Feature objects offer features closely tied to some Atoll document folders. The following ChildFolder Feature objects are avail-
able through the Dispatch property of ChildFolder objects of Atoll document folders:
• "Clutter Feature Object" on page 161,
• "Traffic Feature Object" on page 164,
• "UMTS Traffic Scenario Provider Object" on page 167,
• "Environment Based Traffic Map Feature Object" on page 169,
• "Simulation Feature Object" on page 171,
• "Simulation Group Feature Object" on page 174.

12.1 Clutter Feature Object


The Clutter Feature object gives access to clutter classes properties. It is available for all Atoll documents. It is associated with
the Clutter Classes folder of an Atoll document.
The Clutter Feature object provides the following properties and methods:

Name Description Attributes


get_Source Returns the Clutter Classes ChildFolder object.

get_ClassAttributes Returns a TabularData object holding the clutter class attributes.

Returns a TabularData object holding the clutter class default


get_DefaultAttributes
values.

12.1.1 How to Access the Clutter Feature Object


The ObjectKind property for the Clutter Classes folder is:
{7CB51DE8-A961-11D2-8688-0060086457D1}
Sample code to access the Clutter Feature object:

’ Returns the clutter feature object of the ’doc’ Atoll document object

Public Function ClutterFeatureObject(doc)

Const OBJECTKIND_CLUTTER = "{7CB51DE8-A961-11D2-8688-0060086457d1}"

Const atoGeo = 1

Dim oClutterClasses

Set oClutterClasses = doc.GetRootFolder(atoGeo).Item(OBJECTKIND_CLUTTER)

Set ClutterFeatureObject = oClutterClasses.Dispatch

End Function

12.1.2 get_Source
Returns the Clutter Classes ChildFolder object.

HRESULT get_Source(IDispatch **ppSource);

Parameters

[out] ppSource: Address of the IDispatch interface pointer used to return the Clutter Classes ChildFolder object.

161
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

12.1.3 get_ClassAttributes
Returns a TabularData object holding the clutter class attributes.

HRESULT get_ClassAttributes(ITabularData **ppTable);

Parameters

[out] ppTable: Address of the ITabularData interface pointer used to return the clutter class attributes. The content of the
TabularData object returned is the same as the content of the "Description" property page for the Clutter Classes folder of an
Atoll document, it is dependent on the type of the project template used by the Atoll document.

Remarks

The number of rows in the tabular data object returned depends on the state of the "Use only default values" checkbox.
When the "Use only default values" checkbox is checked, the number of rows returned is always 1, the tabular data object
returned is the same as the one returned by get_DefaultAttributes.
Version:  3.1.0
The schema of the tabular data object returned by get_ClassAttributes does not depend on the state of the "Use only default
value" checkbox. Whether the project is configured to use only default clutter class values or not, get_ClassAttributes returns
values used in calculations, in a consistent manner:
The number of rows or columns are the same in both cases.
Columns data types are the same in both cases.
To determine whether the "Use only default values" checkbox is checked or not, one can test the value returned by
get_CanEdit on the tabular data object returned by get _ClassAttributes. When using only default values, the tabular data
object returned is read-only, and get_CanEdit output value is VARIANT_FALSE.

12.1.4 get_DefaultAttributes
Returns a TabularData object holding the clutter class default values.

HRESULT get_DefaultAttributes(ITabularData **ppTable);

Parameters

[out] ppTable: Address of the ITabularData interface pointer used to return the clutter class default values. The content of the
TabularData object returned is the same as the content of the "Default Values" property page for the Clutter Classes folder of
an Atoll document, it is dependent on the type of the project template used by the Atoll document.

12.1.5 Accessing Clutter Class Attributes


Sample macro to output the various clutter class attributes to the Atoll event viewer:

Private Function ClutterFeatureObject(doc)

Const OBJECTKIND_CLUTTER = "{7CB51DE8-A961-11D2-8688-0060086457d1}"

Const atoGeo = 1

Dim oClutterClasses

Set oClutterClasses = doc.GetRootFolder(atoGeo).Item(OBJECTKIND_CLUTTER)

Set ClutterFeatureObject = oClutterClasses.Dispatch

End Function

Private Sub DumpTable(t)

162
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

Dim c

Dim r

Dim values()

For r = 0 To t.RowCount

Redim values(t.ColumnCount)

For c = 0 To t.ColumnCount

values(c) = t.GetValue(r, c)

If IsNull(values(c)) Then

values(c) = "(Null)"

End If

If IsEmpty(values(c)) Then

values(c) = "(Empty)"

End If

If IsArray(values(c)) Then

values(c) = "(Array)"

End If

Next

LogMessage Join(values, ";")

Next

End Sub

Public Sub DumpClutterAttributes

Dim f

Set f = ClutterFeatureObject(ActiveDocument)

Dim classattrs

Dim defaultattrs

Set classattrs = f.ClassAttributes

LogMessage "Clutter Class Attributes..."

DumpTable(classattrs)

LogMessage "End Class Attributes."

Set defaultattrs = f.DefaultAttributes

LogMessage "Clutter Class Default Attributes..."

DumpTable(defaultattrs)

LogMessage "End Clutter Class Default Attributes."

163
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

End Sub

12.2 Traffic Feature Object


The Traffic Feature object gives access to features associated with the traffic folder, such as the export of the cumulated traf-
fic. It is available for all Atoll documents except Microwave Links documents. It is associated with the Traffic folder of an Atoll
document.
The Traffic Feature object provides the following properties and methods:

Name Description Attributes


get_Source Returns the Traffic ChildFolder object.

get_ScenarioProvider Creates a new Traffic Scenario Provider object instance.

ExportCumulatedTraffic Exports the cumulated traffic.

Determines if a traffic map contains traffic information for a given


HasTrafficForService
service.

12.2.1 How to Access the Traffic Feature Object


The ObjectKind property for the Traffic folder is:
{B3B25A07-A994-4E8D-BBD1-51556D6C4245}
Sample code to access the Traffic Feature Object:

' Returns the traffic feature object of the ’doc’ Atoll document object

Public Function TrafficFeatureObject(doc)

Const OBJECTKIND_TRAFFIC = "{B3B25A07-A994-4E8D-BBD1-51556D6C4245}"

Const atoGeo = 1

Dim oTraffic

Set oTraffic = doc.GetRootFolder(atoGeo).Item(OBJECTKIND_TRAFFIC)

Set TrafficFeatureObject = oTraffic.Dispatch

End Function

12.2.2 get_Source
Returns the Traffic ChildFolder object.

HRESULT get_Source(IDispatch **ppSource);

Parameters

[out] ppSource: Address of the IDispatch interface pointer used to return the Traffic ChildFolder object.

12.2.3 get_ScenarioProvider
Creates a new Traffic Scenario Provider object instance. See "UMTS Traffic Scenario Provider Object" on page 167 for more
information on the UMTS Traffic Scenario Provider object.

HRESULT get_ScenarioProvider(ITrafficScenarioProvider **ppProvider);

164
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

Parameters

[out] ppProvider: Address of the ITrafficScenarioProvider interface pointer used to return a new Traffic Scenario Provider
object instance.

Remarks

An error is returned when this method is called for an Atoll document not based on the UMTS HSPA template.

12.2.4 ExportCumulatedTraffic
Exports the cumulated traffic.

typedef enum _AtoRegion

atoEntireProjectArea = 0,

atoComputationZone = 1

} _AtoRegion;

typedef _AtoRegion AtoRegion;

typedef enum _AtoDirection

atoUplinkDownlink = 0,

atoUplink = 1,

atoDownlink = 2,

} _AtoDirection;

typedef _AtoDirection AtoDirection;

HRESULT ExportCumulatedTraffic(

BSTR bstrFileName,

enum _AtoRegion atoRegion,

BSTR bstrTerminal,

BSTR bstrMobility,

BSTR bstrService,

VARIANT vTrafficMaps,

long lResolution,

enum _AtoDirection atoDirection

);

Parameters

[in] bstrFileName:
A BSTR used to specify the absolute file path used to export the cumulated traffic. The BIL file format is used to export the
cumulated traffic.
[in] atoRegion:

165
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

An AtoRegion enumeration value used to specify the area used to export the cumulated traffic:
atoEntireProjectArea : The entire project area
atoComputationZone : The computation zone
[in] bstrTerminal:
A BSTR used to specify the terminal name used to export the cumulated traffic.
If "(ALL)" is specified, then all terminals are used to export the cumulated traffic.
[in] bstrMobility:
A BSTR used to specify the mobility name used to export the cumulated traffic.
If "(ALL)" is specified, then all mobilitiesare used to export the cumulated traffic.
[in] bstrService:
A BSTR used to specify the service name used to export the cumulated traffic.
If "(ALLCS)" is specified, then all circuit services are used to export the cumulated traffic.
If "(ALLPS)" is specified, then all packet services are used to export the cumulated traffic.
[in] vTrafficMaps:
A VARIANT used to specify the traffic maps used to export the cumulated traffic. The type of the VARIANT must be VT_ARRAY
| VT_VARIANT with VARIANTs of type VT_BSTR. The VARIANT array contains the names of the traffic maps.
[in] lResolution:
A long used to specify the resolution in meter used to export the cumulated traffic.
[in] atoDirection:
An AtoDirection enumeration value used to specify the kind of traffic used to export the cumulated traffic.

12.2.5 HasTrafficForService
Determines if a traffic map contains traffic information for a given service.

HRESULT HasTrafficForService(

BSTR bstrServiceName,

enum _AtoDirection atoDirection,

IChildFolder* pTrafficMap,

VARIANT_BOOL* pHasTraffic

);

Parameters

[in] bstrServiceName:
A BSTR used to specify the a service name.

[in] atoDirection:
An AtoDirection enumeration value used to specify the kind of traffic to look for:
atoUplinkDownlink (= 0) : Uplink and downlink traffic
atoUplink (= 1) : Uplink traffic
atoDownlink(=2) : Downlink traffic

[in] pTrafficMap:
A IChildFolder interface pointer used to specify the traffic map ChildFolder object. The traffic map is searched for traffic infor-
mation related to the bstrServiceName service.
This parameter may be NULL. In this case, all traffic maps in the traffic map folder are searched.

166
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

[out] pHasTraffic:
A pointer to a VARIANT_BOOL value used to return whether the traffic map specified by pTrafficMap has some traf-
fic information for the service specified by bstrServiceName.

Remark

When HasTrafficForService returns VARIANT_FALSE, the traffic map is guaranteed not to contain traffic information for the
When HasTrafficForService returns VARIANT_TRUE, the traffic map still may not contain traffic information for the given
service.

12.3 UMTS Traffic Scenario Provider Object


The traffic scenario provider allows developing external UMTS simulation modules. Raw mobile data is generated by Atoll and
provided to the external UMTS simulator through this object.
The Traffic Scenario Provider object provides the following properties and methods:

Name Description Attributes


GetMeanSize Returns the average count of mobiles.

Create Creates raw mobile data.

12.3.1 GetMeanSize
Returns the average count of mobiles.

HRESULT GetMeanSize(

const VARIANT aSelectedMapsNames,

double dScale,

const VARIANT aReserved,

ULONG *pMobilesCount

);

Parameters

[in] aSelectedMapsNames:
A VARIANT value used to specify the names of the traffic environment maps. The type of the VARIANT must be VT_ARRAY |
VT_UI1, it contains the names of the traffic environment maps, separated by the ASCII character code 0.
[in] dScale:
A double value used to specify the scaling factor used in the determination of the mobiles count.
[in] aReserved:
A VARIANT value reserved for future use. The VARIANT type must be VT_EMPTY.
[out] pMobilesCount:
Address of the ULONG integer used to return the average count of mobiles.

12.3.2 Create
Creates raw mobile data. The mobiles data is returned as a TabularData object containing the position of the mobiles and
other information related to the state of mobiles.

167
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

HRESULT Create(

const VARIANT aSelectedMapsNames,

double dScale,

enum AtoTrafficScenarioLaw aLaw,

const VARIANT aRreserved,

ITabularData **ppMobiles

);

Parameters

[in] aSelectedMapsNames:
A VARIANT value used to specify the names of the traffic maps. The type of the VARIANT must be VT_ARRAY | VT_UI1, it
contains the names of the traffic maps, separated by the ASCII character code 0.
[in] dScale:
A double value used to specify the scaling factor used in the determination of the mobiles count.
The scaling factor is relative to the average size of mobiles, as returned by GetMeanSize.
[in] aLaw: The AtoTrafficScenarioLaw enumeration value used to specify the law of probability used to get a random count of
mobiles.
[in] aReserved: A VARIANT value used to specify additional parameters.
Atoll version < 2.7.0:
The VARIANT type must be VT_EMPTY.
Atoll version >= 2.7.0:
When the VARIANT type is VT_DISPATCH, it is interpreted as a PropertyContainer object, implementing the
IPropertyContainer2 interface.
The property container object may contain the properties:
• Name: RANDOMSEED
• Type: VT_I4
• Description: An integer value used to specify the random seed of the pseudorandom number generator used to deter-
mine the average count of mobiles, and the mobiles positions.
[out] ppMobiles:
Address of the ITabularData interface pointer used to return the position of the mobiles and other information related to the
state of mobiles. The tabular data schema is:

Column Name Value Type Description


X X coordinate Long Expressed in the document projection coordinate system

Y Y coordinate Long Expressed in the document projection coordinate system

SERVICE Service name String From the UMTSServices table

TERMINAL Terminal name String From the UMTSTerminals table

MOBILITY Mobility type String From the UMTSMobility table

CLUTTER Clutter code Short From the IClutter interface

ACTIVITY Mobile activity String "Active DL", "UL", "UL+DL"

168
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

12.4 Environment Based Traffic Map Feature Object


User profile environment based traffic map feature objects give access to user profile environment based traffic maps attrib-
utes. They are available for all Atoll documents except Microwave Links documents. They are associated with user profile
environment base traffic maps contained in the Traffic folder of an Atoll document.
The User Profile Environment Based Traffic Map Feature object provides the following properties and methods:

Name Description
Return the Traffic Map ChildFolder object associated with the
get_Source
Traffic Map per Environment Feature object.

Returns a TabularData object holding the traffic map environment


get_ClassAttributes
attributes.

get_DefaultAttributes Not implemented

12.4.1 How to Access Environment Based Traffic Map Feature


Objects
The ObjectKind property for User Profile Environment Based Traffic Maps is:
{E8784A75-AE03-4F4F-B923-6E8BF20725C5}
The User Profile Environment Based Traffic Map Feature object for a user profile environment based traffic map is returned
by the Dispatch property of the user profile environment based traffic map ChildFolder object.

12.4.2 get_Source
Return the User Profile Environment Base Traffic Map ChildFolder object associated with the User Profile Environment Based
Traffic Map Feature Object.

HRESULT get_Source(IDispatch **ppSource);

Parameters

[out] ppSource: Address of the IDispatch interface pointer used to return the User Profile Environment Based Traffic Map
ChildFolder Object.

12.4.3 get_ClassAttributes
Returns a TabularData object holding the user profile environment based traffic map attributes.

HRESULT get_ClassAttributes(ITabularData **ppTable);

Parameters

[out] ppTable: Address of the ITabularData interface pointer used to return the user profile environment based traffic map
attributes. The content of the TabularData object is the same as the one shown on the "Description" property page of user
profile environment based traffic maps property sheet.

12.4.4 get_DefaultAttributes

HRESULT get_DefaultAttributes(ITabularData **ppTable);

Remarks

This method is not implemented. Please don’t use this method.

169
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

12.4.5 Accessing Environment Based Traffic Maps Attributes

Private Function TrafficMapPerEnvironmentFeatureObjects(doc)

Const SID_TRAFFICFOLDER = "{B3B25A07-A994-4E8D-BBD1-51556D6C4245}"

Const OKIND_MAP_PER_ENVIRONMENT = "{E8784A75-AE03-4F4F-B923-6E8BF20725C5}"

Const atoGeo = 1

Dim maps()

Dim oTrafficFolder

On Error Resume Next

Set oTrafficFolder = doc.GetRootFolder(atoGeo).Item(SID_TRAFFICFOLDER)

If Err Then

On Error Goto 0

Else

On Error Goto 0

Dim i

Dim n

n = 0

For i = 0 To oTrafficFolder.Count - 1

Dim map

Set map = oTrafficFolder.Item(i)

If map.ObjectKind = OKIND_MAP_PER_ENVIRONMENT Then

Redim Preserve maps(n)

Set maps(n) = map.Dispatch

n = n + 1

End If

Next

End If

TrafficMapPerEnvironmentFeatureObjects = maps

End Function

Private Sub DumpTable(t)

Dim c

Dim r

Dim values()

170
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

For r = 0 To t.RowCount

Redim values(t.ColumnCount)

For c = 0 To t.ColumnCount

values(c) = t.GetValue(r, c)

If IsNull(values(c)) Then

values(c) = "(Null)"

End If

If IsEmpty(values(c)) Then

values(c) = "(Empty)"

End If

If IsArray(values(c)) Then

values(c) = "(Array)"

End If

Next

LogMessage Join(values, ";")

Next

End Sub

Public Sub DumpTrafficMapPerEnvironmentAttributes

Dim maps

maps = TrafficMapPerEnvironmentFeatureObjects(ActiveDocument)

Dim oFeature

For Each oFeature In maps

LogMessage "Traffic Map Per Environment [" & oFeature.Source.Name &


"]..."

Dim attrs

Set attrs = oFeature.ClassAttributes

DumpTable(attrs)

LogMessage "End Traffic Map Per Environment."

Next

End Sub

12.5 Simulation Feature Object


Simulation Feature objects give access to simulation results. They are associated with Simulation ChildFolder objects.

171
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

Simulation Feature objects are available in Atoll documents based on the templates:
• UMTS HSPA
• LTE
• CDMA 2000 1xRTT 1xEV-DO
• WiMAX 802.16e
• TD-SCDMA


The Simulation Feature object provides the following properties and methods:

Name Description Attributes


get_Source Returns the associated Simulation ChildFolder object.

Returns a TabularData object holding the results as presented in


get_Statistics
the "Statistics" property page of the simulation property sheet.

Returns a TabularData object holding the results as presented in


get_Cells
the "Cells" property page of the simulation property sheet.

Returns a TabularData object holding the results as presented in


get_Sites
the "Sites" property page of the simulation property sheet.

Returns a TabularData object holding the results as presented in


get_Mobiles
the "Mobiles" property page of the simulation property sheet.

Returns a TabularData object holding the required results,


get_Results
depending on the parameter passed to this method.

12.5.1 How to Access Simulation Feature Objects


The ObjectKind property for the Simulation ChildFolder objects is:
{095C5D90-96F1-4BA8-85BB-B2F990AC2DD9}
Simulation ChildFolder objects are child of Simulation Groups ChildFolder objects.
Simulation Feature objects are available through the Dispatch property of Simulation ChildFolder objects:

Dim oSimulation

Dim oSimulationChildFolder

Set oSimulation = oSimulationChildFolder.Dispatch

12.5.2 get_Source
Returns the associated Simulation ChildFolder object.

HRESULT get_Source(IDispatch **ppSource);

Parameters

[out] ppSource: Address of the IDispatch interface pointer used to return the associated Simulation ChildFolder object.

Remarks

For a Simulation Feature object returned by a Simulation Group Feature object method, there is no associated ChildFolder
object, and the behaviour of this method is undefined.

12.5.3 get_Statistics
Returns a TabularData object holding the results as presented in the "Statistics" property page of the simulation property
sheet.

172
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

HRESULT get_Statistics(ITabularData **ppTable);

Remarks

This method is not implemented, except for UMTS simulations. Please don’t use this method unless you’re working with a
UMTS simulation.

12.5.4 get_Cells
Returns a TabularData object holding the results as presented in the "Cells" property page of the simulation property sheet.

HRESULT get_Cells(ITabularData **ppResults);

Parameters

[out] ppResults: Address of the ITabularData interface pointer used to return the "Cells" simulation results.

12.5.5 get_Sites
Returns a TabularData object holding the results as presented in the "Sites" property page of the simulation property sheet.

HRESULT get_Sites(ITabularData **ppResults);

Parameters

[out] ppResults: Address of the ITabularData interface pointer used to return the "Sites" simulation results.

12.5.6 get_Mobiles
Returns a TabularData object holding the results as presented in the "Mobiles" property page of the simulation property
sheet.

HRESULT get_Mobiles(ITabularData **ppResults);

Parameters

[out] ppResults: Address of the ITabularData interface pointer used to return the "Mobiles" simulation results.

Remarks

The content of the TabularData object returned depends on the "Information to retain" setting of the simulation. In particular,
when the information to retain is "No Information About Mobiles", the number of mobiles returned in the TabularData object
is 0.
All mobiles are returned, the focus zone is not taken into account.

12.5.7 get_Results
Returns a TabularData object holding the required results.

HRESULT get_Results(enum AtoSimulationResultsType aType, ITabularData **ppResults);

Parameters

[in] aType : An AtoSimulationResultsType enumeration value, used to specify the simulation results to return.
Enumeration values are:

173
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

atoSimulationResultsStatistics 0 Returns a TabularData object holding the results as presented in the


"Statistics" property page of the simulation property sheet.
atoSimulationResultsCells 1 Returns a TabularData object holding the results as presented in the
"Cells" property page of the simulation property sheet.
atoSimulationResultsSites 2 Returns a TabularData object holding the results as presented in the
"Sites" property page of the simulation property sheet.
atoSimulationResultsMobiles 3 Returns a TabularData object holding the results as presented in the
"Mobiles" property page of the simulation property sheet.
atoSimulationResultsGsmSubCells 100 Returns a TabularData object holding the results as presented in the
"SubCells" property page of the simulation property sheet.
atoSimulationResultsGsmTRXs 101 Returns a TabularData object holding the results as presented in the
"TRXs" property page of the GSM simulation property sheet.

Atoll version >= 3.3.1

atoSimulationResultsMobilesOnFocusZone 4 Returns a TabularData object holding the results as presented in


the "Mobiles" property page of the simulation property sheet.
Here the mobiles returned are restricted to the ones contained in
the document focus zone.

[out] ppResults: Address of the ITabularData interface pointer used to return the simulation results.

12.6 Simulation Group Feature Object


Simulation Group Feature objects give access to group of simulations properties. An Atoll document can contain zero, one, or
more group of simulations. In turn, simulation groups can contain zero or more simulations. They are located in the "Simula-
tions" folder of the Atoll document. Simulation Group Feature objects are associated with group of simulations ChildFolder
objects of an Atoll document.
Simulation Group Feature objects are available in Atoll documents based on the templates:
• UMTS HSPA
• LTE
• CDMA 2000 1xRTT 1xEV-DO
• WiMAX 802.16e
• TD-SCDMA
The Simulation Group Feature object provides the following properties and methods:

Name Description Attributes


Returns the associated Simulation Group ChildFolder
get_Source
object.

Returns a TabularData object holding the statistics of the


get_Statistics
simulation group.

Returns a Simulation Feature object giving access to the


get_MeanSimulation
average simulation properties.

Returns a Simulation Feature object used to access the


get_StdDevSimulation
standard deviation simulation properties.

12.6.1 How to Access Simulation Group Feature Objects


The ObjectKind property for Group of Simulations folder is:
{AF5E2B98-1D54-48FA-89C5-8BFA2936ABF2}
Sample code to access Simulation Group Feature objects:

’ Returns ’True’ if there is at least one group of simulations in ’doc’,

174
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

’ ’False’ otherwise

’ Params:

’ [in] doc : Atoll document object

’ [out] array: Array of simulation group feature objects

Private Function SimulationGroupFeatureObjects(doc, ByRef array)

Const OBJECTKIND_SIMULATIONS = "{CDDF1E1D-1963-4D80-A057-D23A19570984}"

Const OBJECTKIND_SIMULATIONGROUP = "{AF5E2B98-1D54-48FA-89C5-


8BFA2936ABF2}"

Const atoData = 0

Dim oSimulations

’ oSimulations is the "Simulations" ChildFolder object

On Error Resume Next

Set oSimulations = doc.GetRootFolder(atoData).Item(OBJECTKIND_SIMULATIONS)

If Err Then

’ There is no "Simulations" folder

On Error Goto 0

SimulationGroupFeatureObjects = False

Exit Function

End If

On Error Goto 0

If oSimulations.Count = 0 Then

SimulationGroupFeatureObjects = False

Exit Function

End If

Redim array(oSimulations.Count - 1)

Dim oSimulationGroup

Dim n

n = 0

’ "Simulation Group" ChildFolder objects are located

’ in the "Simulations" folder

For Each oSimulationGroup In oSimulations

If oSimulationGroup.ObjectKind = OBJECTKIND_SIMULATIONGROUP Then

Set array(n) = oSimulationGroup.Dispatch

n = n + 1

175
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

End If

Next

SimulationGroupFeatureObjects = True

End Function

12.6.2 get_Source
Returns the associated Simulation Group ChildFolder object.

HRESULT get_Source(IDispatch **ppSource);

Parameters

[out] ppSource: Address of the IDispatch interface pointer used to return the associated Simulation Group ChildFolder object.

12.6.3 get_Statistics
Returns a TabularData object holding the statistics of the simulation group.

HRESULT get_Statistics(ITabularData **ppTable);

Remarks

This method is not implemented. Please don’t use this method.

12.6.4 get_MeanSimulation
Returns a Simulation Feature object giving access to the average simulation properties.

HRESULT get_MeanSimulation(ISimulation **ppMeanValues);

Parameters

[out] ppMeanValues: Address of the ISimulation interface pointer used to return the Simulation Feature object corresponding
to the average simulation.

Remarks

The returned Simulation Feature object is not associated with a particular ChildFolder object in the Atoll document.
An error is returned when no simulation in the simulation group has converged. The average simulation is not available when
no simulation in the simulation group has converged.
An error is returned when the simulation group has not been calculated yet, for instance when the simulation group has been
created with the check box "Execute Later" set.

12.6.5 get_StdDevSimulation
Returns a Simulation Feature object used to access the standard deviation simulation properties.

HRESULT get_StdDevSimulation(ISimulation **ppStdDevValues);

[out] ppStdDevValues: Address of the ISimulation interface pointer used to return the Simulation Feature object correspond-
ing to the standard deviation simulation.

Remarks

The returned Simulation Feature object is not associated with a particular ChildFolder object in the Atoll document.

176
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

An error is returned when no simulation in the simulation group has converged. The standard deviation simulation is not avail-
able when no simulation in the simulation group has converged.
An error is returned when the simulation group has not been calculated yet, for instance when the simulation group has been
created with the check box "Execute Later" set.
An error is returned when the Atoll document is based on the LTE, WiMAX 802.16e templates. The standard deviation simu-
lation is not available for LTE and WiMAX.

12.6.6 Accessing Mobiles, Cells, Sites, for Simulations and Simula-


tion Groups
Here is a sample macro used to display the various available results for simulation groups and simulations in the Atoll event
viewer, for the active document:

’ Returns ’True’ if there is at least one group of simulation in ’doc’,

’ ’False’ ’ otherwise

' Params:

' [in] doc : Atoll document object

' [out] array: Array of simulation group feature objects

Private Function SimulationGroupFeatureObjects(doc, ByRef array)

Const OBJECTKIND_SIMULATIONS = "{CDDF1E1D-1963-4D80-A057-D23A19570984}"

Const OBJECTKIND_SIMULATIONGROUP = "{AF5E2B98-1D54-48FA-89C5-


8BFA2936ABF2}"

Const atoData = 0

Dim oSimulations

' oSimulations is the "Simulations" ChildFolder object

On Error Resume Next

Set oSimulations = doc.GetRootFolder(atoData).Item(OBJECTKIND_SIMULATIONS)

If Err Then

' There is no "Simulations" folder

On Error Goto 0

SimulationGroupFeatureObjects = False

Exit Function

End If

On Error Goto 0

If oSimulations.Count = 0 Then

SimulationGroupFeatureObjects = False

Exit Function

End If

Redim array(oSimulations.Count - 1)

177
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

Dim oSimulationGroup

Dim n

n = 0

’ "Simulation Group" ChildFolder objects are located

’ in the "Simulations" folder

For Each oSimulationGroup In oSimulations

If oSimulationGroup.ObjectKind = OBJECTKIND_SIMULATIONGROUP Then

Set array(n) = oSimulationGroup.Dispatch

n = n + 1

End If

Next

SimulationGroupFeatureObjects = True

End Function

’ Returns 'True' if there is at least one simulation in 'oSimulationGroup',

’ ’False’ otherwise

’ Params:

’ [in] oSimulationGroup : Group of simulations ChildFolder object

’ [out] array: Array of simulation feature objects

Private Function SimulationFeatureObjects(oSimulationGroup, ByRef array)

If oSimulationGroup.Count = 0 Then

SimulationFeatureObjects = False

Exit Function

End If

Redim array(oSimulationGroup.Count - 1)

Dim oSimulation

Dim n

n = 0

For Each oSimulation In oSimulationGroup

Const OBJECTKIND_SIMULATION = "{095C5D90-96F1-4BA8-85BB-B2F990AC2DD9}"

If oSimulation.ObjectKind = OBJECTKIND_SIMULATION Then

Set array(n) = oSimulation.Dispatch

n = n + 1

End If

178
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

Next

SimulationFeatureObjects = True

End Function

Private Sub DumpTable(t)

Dim c

Dim r

Dim values()

For r = 0 To t.RowCount

Redim values(t.ColumnCount)

For c = 0 To t.ColumnCount

values(c) = t.GetValue(r, c)

If IsNull(values(c)) Then

values(c) = "(Null)"

End If

If IsEmpty(values(c)) Then

values(c) = "(Empty)"

End If

If IsArray(values(c)) Then

values(c) = "(Array)"

End If

Next

LogMessage Join(values, ";")

Next

End Sub

Private Sub DumpSimulation(oSimulation, name)

LogMessage name

LogMessage "Cells..."

DumpTable(oSimulation.Cells)

LogMessage "End Cells."

LogMessage "Sites..."

DumpTable(oSimulation.Sites)

LogMessage "End Sites."

LogMessage "Mobiles..."

179
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

DumpTable(oSimulation.Mobiles)

LogMessage "End Mobiles."

LogMessage "End " & name & "."

End Sub

Public Sub DumpSimulationGroupAttributes

Dim f()

Dim arraySimulations()

If (SimulationGroupFeatureObjects(ActiveDocument, f) = False) Then

LogMessage "No Group of Simulations found in the document."

Exit Sub

End If

Dim oFeature

For Each oFeature In f

LogMessage "Group of Simulations [" & oFeature.Source.Name & "]..."

Dim average

Dim stddev

On Error Resume Next

Set average = oFeature.MeanSimulation

If Err Then

’ The average simulation is not available when

’ no simulation has converged in the group.

LogMessage "The average simulation is not available."

On Error Goto 0

Else

On Error Goto 0

DumpSimulation average, "Average Simulation"

On Error Resume Next

Set stddev = oFeature.StdDevSimulation

If Err Then

' The standard deviation simulation is not available

’ for LTE and WiMAX projects.

On Error Goto 0

Else

180
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

On Error Goto 0

DumpSimulation stddev, "Stddev Simulation"

End If

End If

' Dump all simulation in the group of simulations

Dim oSimulationGroup

Set oSimulationGroup = oFeature.Source

If (SimulationFeatureObjects(oSimulationGroup, arraySimulations) =
False) Then

LogMessage "There are no simulations in this group of simulations."

Else

Dim oSimulation

For Each oSimulation In arraySimulations

DumpSimulation oSimulation, oSimulation.Source.Name

Next

End If

LogMessage "End Group of Simulations."

Next

End Sub

12.7 3GPP Multi-RAT Simulation Group Feature Object


Multi-RAT Simulation Group Feature objects are available in Atolldocuments based on the templates:
• 3GPP Multi-RAT
3GPP Multi-RAT Simulation Group Feature objects are similar to Simulation Group Feature objects available in single-RAT
documents, except some methods in 3GPP Multi-RAT Simulation Group Feature objects require the name of the technology
to be specified.Multi-RAT Simulation Group Feature objects provide the following properties and methods:

Name Description
get_Source Returns the associated 3GPP Simulation Group ChildFolder object.

Returns a TabularData object holding the statistics of the simulation


get_Statistics
group for the specified technology.

Returns a Simulation Feature object giving access to the average


get_MeanSimulation
simulation properties for the specified technology.

Returns a Simulation Feature object used to access the standard


get_StdDevSimulation
deviation simulation properties for the specified technology.

12.7.1 get_Source
Returns the associated 3GPP Multi-RAT Simulation Group ChildFolder object.

181
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

HRESULT get_Source(IDispatch **ppSource);

Parameters

[out] ppSource: Address of the IDispatch interface pointer used to return the associated 3GGP Multi-RAT Simulation Group
ChildFolder object.

12.7.2 get_Statistics
Returns a TabularData object holding the statistics of the simulation group for the specified technology.

HRESULT get_Statistics(const BSTR bstrTechno, ITabularData **ppTable);

Remarks

This method is not implemented. Please don’t use this method.

12.7.3 get_MeanSimulation
Returns a Simulation Feature object giving access to the average simulation properties for the specified technology.

HRESULT get_MeanSimulation(
const BSTR bstrTechno,
ISimulation **ppMeanValues
);

Parameters

[in] bstrTechno: A string used to specify the requested technology. Available values are "GSM”, “UMTS”, or “LTE”.
[out] ppMeanValues: Address of the ISimulation interface pointer used to return the Simulation Feature object corresponding
to the average simulation.

Remarks

The returned Simulation Feature object is not associated with a particular ChildFolder object in the Atoll document.
An error is returned when no simulation in the simulation group has converged. The average simulation is not available when
no simulation in the simulation group has converged.
An error is returned when the simulation group has not been calculated yet, for instance when the 3GPP simulation group has
been created with the check box "Execute Later" set.

12.7.4 get_StdDevSimulation
Returns a Simulation Feature object used to access the standard deviation simulation properties for the specified technology.

HRESULT get_StdDevSimulation(
const BSTR bstrTechno,
ISimulation **ppStdDevValues
);

[in] bstrTechno: A string used to specify the requested technology. Available values are "GSM”, “UMTS”, or “LTE”.
[out] ppStdDevValues: Address of the ISimulation interface pointer used to return the Simulation Feature object correspond-
ing to the standard deviation simulation.

Remarks

The returned Simulation Feature object is not associated with a particular ChildFolder object in the Atoll document.
An error is returned when no simulation in the simulation group has converged. The standard deviation simulation is not avail-
able when no simulation in the simulation group has converged.

182
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

An error is returned when the simulation group has not been calculated yet, for instance when the simulation group has been
created with the check box "Execute Later" set.
An error is returned when the Atoll document is based on the LTE, WiMAX 802.16e templates. The standard deviation simu-
lation is not available for LTE and WiMAX.

12.8 GSM Interference Matrix Feature Object


GSM Interference Matrix Feature objects give access to GSM interference matrices. A document can contain zero, one, or
more interference matrices. They are located in the "Interference matrices" folder of the document.
GSM Interference Matrix Feature objects are available in documents based on the GSM GPRS EDGE template.
GSM Interference Matrix Feature objects provide the following properties and methods:

Name Description Attributes


Type: ChildFolder
get_Source Returns the "Interference Matrices" ChildFolder object. object
Access:Read

Load Loads an interference matrix.

CompleteScopeInfo Completes scope information.

Type: Tabular Data


get_Scope Returns the scope of the interference matrix. object
Access:Read

Type: Boolean
get_Active Returns the interference matrix active state.
Access:Read/Write

Type: Boolean
put_Active Sets the interference matrix active state.
Access:Read/Write

Type: Integer
get_Type Returns the type of the interference matrix.
Access:Read/Write

Type: Integer
put_Type Sets the type of the interference matrix.
Access:Read/Write

Type: Boolean
get_BasedOnTraffic
Access:Read/Write

Type: Boolean
put_BasedOnTraffic
Access:Read/Write

Returns the resolution of the interference matrix Type: Integer


get_Resolution
calculation. Access:Read/Write

Type: Integer
put_Resolution Sets the resolution of the interference matrix calculation.
Access:Read/Write

Type: Single
get_StdDev Returns the interference matrix standard deviation.
Access:Read/Write

Type: Single
put_StdDev Sets the interference matrix standard deviation.
Access:Read/Write

Returns the interference matrix information quantity Type: Integer


get_InfoQuantityIndicator
indicator. Access:Read/Write

Sets the interference matrix information quantity Type: Integer


put_InfoQuantityIndicator
indicator. Access:Read/Write

Type: Tabular Data


get_CdfTab Returns the interference matrix CDF tabular data. object
Access:Read

183
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

12.8.1 How to Access GSM Interference Matrix Feature Objects


The ObjectKind property for an Interference Matrix ChildFolder objects is:
{5144E1F9-E539-4F8C-BC0C-49A11C6389E8}
Interference Matrix ChildFolder objects are children of the folder named "Interference Matrices".
GSM Interference Matrix Feature objects are available through the Dispatch property of Interference Matrix ChildFolder
objects:

Dim oInterferenceMatrix

Dim oInterferenceMatricesChildFolder

Set oInterferenceMatricesChildFolder
= oDocument.GetRootFolder(atoData).Item("Interference Matrices")

Set oInterferenceMatrix = oInterferenceMatricesChildFolder.Dispatch

12.8.2 get_Source
Returns the "Interference Matrices" ChildFolder object.

HRESULT get_Source(IDispatch **ppSource);

Parameters

[out] ppSource: Address of the IDispatch interface pointer used to return the "Interference Matrices" ChildFolder object.

12.8.3 Load
Loads an interference matrix.

HRESULT Load();

Remarks

This method must be called before any access to an interference matrix.

12.8.4 CompleteScopeInfo
Completes scope information.

HRESULT CompleteScopeInfo();

Remarks

This method must be called after transmitters are added to the scope.

12.8.5 get_Scope
Returns the scope of the interference matrix.

HRESULT get_Scope(ITabularData **ppTable);

Parameters

[out] ppTable : The address of the ITabularData interface pointer used to return the scope of the interference matrix.

184
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

Remarks

The scope of an interference matrix is a Tabular Data object containing a mapping from the row identifier for a transmitter
to the following information:
The coverage percentage as victim, and as interferer. The default values are 100.
The BSIC and BCCH when the interference matrix information was collected. The default values are -1.

12.8.6 put_Active
Sets the active state.

HRESULT put_Active( VARIANT_BOOL isActiveVal);

Parameters

[in] isActiveVal : The VARIANT_BOOL value used to specify the active state of the interference matrix.

Remarks

An active interference matrix is used by the automatic frequency planning process when the interference matrix scope inter-
sects the automatic frequency planning scope.

12.8.7 get_Active
Returns the active state.

HRESULT get_Active(VARIANT_BOOL *pIsActiveVal);

Parameters

[out] pIsActiveVal : Address of the VARIANT_BOOL used to return the active state of the interference matrix.

Remarks

An active interference matrix is used by the automatic frequency planning process when the interference matrix scope inter-
sects the automatic frequency planning scope.

12.8.8 get_Type
Returrns the interference matrix type.

HRESULT get_Type(IM_TYPE *pImTypeVal);

Parameters

[out] pImTypeVal : Address of the enumeration value used to return the interference matrix type.

Remarks:

Available enumeration values used to specify an interference matrix type are:


1 : PROPAG_IM
For interference matrices based on propagation data. Their reliability depends on the accuracy and correctness of network
and geogrpahical data.
2 : OMC_RESELCTION_IM
For interference matrices based on reselection statistics from the OMC. Their reliability is usually low due to the difference
between the locations where mobiles are switched on and where they are actually used to access the network.
3 : OMC_SIMPLE_HO_IM
Their reliability is usually low due to the fact that interference is measured only among existing neighbours, which might not
be correctly assigned. This type of interference matrix is highly correlated with the neighbour relations. It can be used to
remove excessive neighbour constraints. However, it cannot be used to complete any missing neighbour information. Another

185
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

reason for low reliability is that interference information is collected from handover regions only, instead of from the service
area.
4 : OMC_NEI_EXT_HO_IM
Interference matrices based on RXLEV statistics from the OMC (neighbours, as well as temporary neighbours).
They can be a very good source of interference information if they are statistically stable because they are not sensitive to
data errors. On the other hand, they have many disadvantages, such as:
Transmitters with the same BSIC and BCCH cannot be differentiated.
Transmitters having the same BCCH will never have an interference entry.
Information is lost when more than 6 interferers exist at any location.
If many interferers share the same BCCH, they increase each other’s interference levels.
HCS layers can cause problems because there are more servers at any point, macro layer servers are stronger, or a correction
margin might be introduced for some equipment.
This type of interference matrix can be created using an extended neighbours list.
5 : TEST_MOBILE_DATA_IM
Interference matrices based on test mobile data.
Reliability can be low because usually the test mobile data sampling zone and the traffic model are not related. Secondly, the
measurements are carried out for existing neighbours only.
6 : CW_IM
Interference matrices based on CW measurements.
Their reliability can be low because the measurements usually do not reflect the traffic model. However, this source of infor-
mation can be very reliable for a subset of transmitters that were properly scanned. Carrying out CW measurements is expen-
sive which means that the collected information is often partial or out of date.
7 : SCAN_DATA_IM
Interference matrices based on scan data drive tests.
They are highly reliable and an excellent source of information, but are not useful in a radio planning tool because no infor-
mation is available to map transmitters to the received signals at any pixel.
8 : UPPER_BOUND_ENTRY_COLLECTION
Upper bound interference matrix.
The source of this type of interference matrix is not defined. It can be based on user experience. The information contained
in this interference matrix is used as an upper limit, i.e., if this interference matrix indicates a certain level of interference, it
should not be exceeded because other interference matrices show higher interference. If an upper bound interference matrix
does not contain information about an entry, it is ignored.
9 : LOWER_BOUND_ENTRY_COLLECTION
Lower bound interference matrix.
The source of this type of interference matrix is not defined. It can be based on user experience. The information contained
in this interference matrix is used as a lower limit. This type of interference matrix can be very useful because you can edit
entries in this interference matrix, and be certain that the interference will be at least as high as the value you entered. This
approach can be used when user experience shows a certain level of interference which the radio network planning tool is
unable to calculate.

12.8.9 put_Type
Sets the interference matrix type.

HRESULT put_Type(IM_TYPE imTypeVal);

Parameters

[in] imTypeVal : The enumeration value used to specify the interference matrix type.

12.8.10 get_BasedOnTraffic
Returns based on traffic.

186
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

HRESULT get_BasedOnTraffic(VARIANT_BOOL *pbBasedOntraf) ;

Parameters

[out] pbBasedOntraf: The address of the VARIANT_BOOL value used to return based on traffic.

Remark

This method only makes sense for interference matrices of type PROPAG_IM. In that case, the return value indicates whether
the interference matrix takes into account non uniform traffic distributions within each cell.

12.8.11 put_BasedOnTraffic
Sets based on traffic.

HRESULT put_BasedOnTraffic(VARIANT_BOOL bBasedOntraf) ;

Parameters

[in] bBasedOntraf : The VARIANT_BOOL value used to specify based on traffic.

12.8.12 get_Resolution
Returns the resolution of the interference matrix calculation.

HRESULT get_Resolution(long *piResolutionParamVal);

Parameters

[out] piResolutionParamVal : The address of the long integer used to return the resolution of the interference matrix calcula-
tion.

Remarks

For interference matrices of type PROPAG_IM, the return value is the resolution of the interference matrix calculation.
For interference matrices of type TEST_MOBILE_DATA_IM, CW_IM, or SCAN_DATA_IM, the return value is the number of
measurements per calculation point in the interference matrix.

12.8.13 put_Resolution
Sets the resolution of the interference matrix calculation.

HRESULT put_Resolution(long iResolutionParamVal) ;

Parameters

[in] :iResolutionParamVal : The long integer used to specify the resolution of the interference matrix calculation.

12.8.14 get_StdDev
Returns the interference matrix standard deviation.

HRESULT get_StdDev(float *pfStdDevParamVal);

Parameters

[out] pfStdDevParamVal: Address of the single precision floating point value used to return the interference matrix standard
deviation.

187
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

Remarks

For interference matrices of type PROPAG_IM, the return value is the standard deviation of the propagation model used in
the interference matrix calculation.
For interference matrices of type TEST_MOBILE_DATA_IM, CW_IM, or SCAN_DATA_IM, the return value is the standard devi-
ation of the measurement equipment.

12.8.15 put_StdDev
Sets the interference matrix standard deviation.

HRESULT put_StdDev(float fStdDevParamVal);

Parameters

[in] fStdDevParamVal: The single precision floating point value used to specify the interference matrix standard deviation.

12.8.16 get_InfoQuantityIndicator
Returns the information quantity indicator.

HRESULT get_InfoQuantityIndicator(long *piInfoQuantIndic);

Parameters

[out] pilInfoQuantIndic: Address of the long integer used to return the information quantity indicator.

Remarks

For interference matrices of type PROPAG_IM, the return value is an information about the interference matrix calculation
parameters.
For interference matrices of type TEST_MOBILE_DATA_IM, CW_IM, or SCAN_DATA_IM, the return value is the number of
calculation points per victim.
For interference matrices of type OMC_RESELCTION_IM, OMC_SIMPLE_HO_IM, or OMC_NEI_EXT_HO_IM, the return value
is the number of days since the OMC statistics were collected.

12.8.17 put_InfoQuantityIndicator
Sets the information quantity indicator.

HRESULT put_InfoQuantityIndicator(long iInfoQuantIndic) ;

Parameters

[in] ilInfoQuantIndic : The long integer used to specify the information quantity indicator.

12.8.18 get_CdfTab
Returns the interference matrix CDF tabular data.

HRESULT get_CdfTab(ITabularData **ppTable) ;

Parameters

[out] ppTable : Address of the ITabularData interface pointer used to return the inteference matrix tabular data.

Remarks

The structure of the Tabular Data object returned is:


Column 1 : Row identifier of the victim transmitter

188
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 12: ChildFolder Feature Objects

Column 2 : Row identifier of the interferer transmitter


Column 3 : A maximum loss value
Column 4 :
A safe array of type VT_ARRAY|VT_R4, VT_ARRAY|VT_R8, or VT_VARIANT having 1 dimension and containing the C/I values
of the CDF.
Column 5 :
A safe array of type VT_ARRAY|VT_R4, or VT_ARRAY|VT_R8, or VT_VARIANT having 1 dimension and containing the proba-
bility values of the CDF.

Performance considerations:

When deleting elements, try to always delete the last element first.
When editing an existing element, do not change columns 1, 2, or 3.

189
Atoll 3.3.2 Task Automation Guide
Chapter 12: ChildFolder Feature Objects © 2016 Forsk. All Rights Reserved.

190
Chapter 13
Document
Commands
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

192
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

13 Document Commands
The Atoll API enables executing commands on Atoll documents.
Commands are invoked by their names, which must be known in advance.
The following commands are available for all Atoll documents:

Name Description Attributes

This command performs the same task as the Atoll "File > Data Version: 
IMPORTXML
Exchange > XML File Import..." main menu command. 2.7.1

This command performs the same task as the Atoll "File > Data Version: 
EXPORTXML
Exchange > XML File Export..." main menu command. 2.7.0

This command adds a new column to a database table. This command


Version: 
APPENDTABLECOLUMN is only available for Atoll documents that are not connected to
2.8.0
databases.

The following commands are available for radio network technology documents:

Name Description Attributes

This command returns signal levels in dBm for a given set of points and Version: 
CALCULATEPOINTS
a set of transmitters. 2.6.0

This command imports a set of drive test data files into an Atoll Version: 
IMPORTTESTMOBILEDATA
document. 2.6.1

Version: 
RUNNEIGHBOURALLOCATION Performs neighbour allocation on a GSM network.
2.6.1

RUNINTERTECHNOLOGYNEIGHBOU Performs inter technology neighbour allocation on a GSM or UMTS Version: 


RALLOCATION network. 2.6.1

RUNINTRACARRIERNEIGHBOURALL Version: 
Performs intra carrier neighbour allocation on a UMTS network.
OCATION 2.6.1

RUNINTERCARRIERNEIGHBOURALL Version: 
Performs inter carrier neighbour allocation on a UMTS network.
OCATION 2.6.1

Version: 
CLONESTUDY This command clones a coverage prediction.
2.7.0

Version: 
DUPLICATESTUDY This command duplicates a coverage prediction.
2.7.0

Version: 
COMPARESTUDY This command compares two coverage predictions.
2.7.0

This command calculates equipment losses and noise figure for all Version: 
CALCULATEEQUIPMENTLOSSES
transmitters in the document transmitters folder. 2.7.0

This command calculates propagation losses, azimuth, mechanical tilt, Version: 


CALCULATEREPEATERS
or gains for all repeaters in the document transmitters folder. 2.7.0

This command calculates propagation losses, azimuth, mechanical tilt, Version: 


CALCULATEREMOTEANTENNAS
or gains for all remote antennas in the document transmitters folder. 2.7.0

Version: 
EXPORTACTIVESETANALYSIS This command exports the active set analysis to text files.
2.7.0

This command returns Ec/I0 values in dB for a given set of points and a Version: 
CALCULATEPOINTSECI0
set of transmitters. 2.7.0

193
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Version: 
RUNALLCARRIERSALLOCATION Performs all carriers allocation on a TD-SCDMA network.
2.8.1

Version: 
RUNMASTERCARRIERALLOCATION Performs master carrier allocation on a TD-SCDMA network.
2.8.1

Version: 
MWRun This command runs Microwave analysis for a given set of links.
2.6.1

Version: 
EXPORTMAPWINDOW Exports a region of the map window as an image
3.1.0

Version: 
IMPORTPLANETDATAFILE Imports a planet data file
3.1.0

EXPORTMWLINKANALYSISPROFILE Exports a microwave link analysis profile picture to a Windows bitmap Version: 
PICTURE file. 3.1.0

Version: 
MWCalculateProfiles Calculates Microwave profile files.
3.3.0

Input Parameters

Commands may have input parameters. The types and names of input parameters are unique and are specific to each
command. PropertyContainer objects are used to hold input parameters.

Results

Commands may return results. Results are specific to each command. The results of a command are returned using a Proper-
tyContainer object. Each result has a unique name and an associated type.

13.1 How to Invoke a Document Command


The steps to invoke a command are the same for all commands.
Sample script invoking an Atoll document command:

Public Function ExecuteCommand(oDocument, strCommand, oParameters)

Set ExecuteCommand = oDocument.InvokeCommand(strCommand, oParameters)

End Function

oDocument is an Atoll Document Object. It can be the active document, or any document in the Documents collection.
strCommand is a string holding the Atoll command name.
oParameters is an Atoll PropertyContainer object used to hold the parameters specific to strCommandName. It can be a Prop-
ertyContainer object holding the default parameters obtained with the GetCommandDefaults method available on the
IDocument4 interface.
The ExecuteCommand function returns the command results as a PropertyContainer object.

13.2 IMPORTXML
This command performs the same task as the Atoll "File > Data Exchange > XML File Import..." main menu command.

Version

 2.7.1

194
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Input Parameters

Name Description Attributes

The PATH input parameter is used to specify the source folder Version:  2.7.1
PATH
containing XML files to import. Type: String

Default Parameters

None. GetCommandDefaults on IDocument4 interface for the command IMPORTXML returns an empty PropertyContainer
object.

Results

None. The data in the Atoll document are updated with the content of XML files.

13.3 EXPORTXML
This command performs the same task as the Atoll "File > Data Exchange > XML File Export..." main menu command.

Version

 2.7.1

Input Parameters

Name Description Attributes

The PATH input parameter is used to specify the destination folder Version:  2.7.1
PATH
where XML files will be exported. Type: String

Default Parameters

None. GetCommandDefaults for the command EXPORTXML returns an empty PropertyContainer object.

Results

None. The data in the Atoll document are exported to a set of XML files.

13.4 APPENDTABLECOLUMN
This command adds a new column to a database table. This command is only available for Atoll documents that are not
connected to databases.

Version

 2.8.0

Input Parameters

Name Description Attributes

The TABLE input parameter is used to specify a table name. The new Version:  2.8.0
TABLE
column will be added to the table named TABLE. Type: String

The NAME input parameter is used to specify the database name of


Version:  2.8.0
NAME the new column to add to the TABLE table. The value is case
Type: String
insensitive and must not include spacesand dot characters.

The LEGEND input parameter is used to specify the display name of


Version:  2.8.0
LEGEND the new column to add to the TABLE table. The value is case sensitive
Type: String
and spaces characters are allowed.

195
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes


The TYPE input parameter is used to specify the data type of the new
column to add to the table. Valid values are: 0=Text; 1=Short integer; Version:  2.8.0
TYPE
2=Long integer; 3=Single; 4=Double; 5=True/False; 6=Date/Time; Type: Integer
7=Currency;

The SIZE input parameter is used to specify the size, in bytes, for a
Version:  2.8.0
SIZE column of type 0 (Text). The SIZE input parameter is specific to the
Type: Integer
text data type.

The DEFAULT input parameter is used to specify the default value of


the new column. The default value is the column value for new rows, Version:  2.8.0
when the column value is not set explicitly. When the DEFAULT input Type: Null, String,
DEFAULT parameter is not specified, the default value for the new column is Integer, Boolean,
Null (VT_NULL). The type of the DEFAULT input parameter value Single, Double,
must match the data type of the new column, as specified by the Currency, or Date
TYPE input parameter.

The GROUP input parameter is used to specify the name of the group Version:  2.8.0
GROUP
the new column belongs to. Type: String

The CHOICELIST input parameter is used to specify the list of possible


values for a new column of type 0 (Text). The CHOICELIST input
parameter is specific to text columns. Please note that the actual Version:  2.8.0
CHOICELIST
column value is not restricted to the values defined in the choice list. Type: Array of Strings
The CHOICELIST parameter may be used by Atoll to display preferred
values to the user, for instance in a combobox control.

Default Parameters

The TABLE, NAME, LEGEND, and TYPE input parameters have no default values, they must be specified. Default values for
other input parameters are returned by GetCommandDefaultsfor the command APPENDTABLECOLUMN:

Input Parameter Name Default Value


LEGEND Empty.

SIZE 10 bytes.

DEFAULT Null

GROUP Empty.

CHOICELIST Empty.

Results

None. Upon successful completion the new column is added to the table.

13.5 CALCULATEPOINTS
This command returns signal levels in dBm for a given set of points and a set of transmitters.
Path loss matrices, whether they are valid or not, are not used. Therefore the CalculatePoints command is not dependent on
the path loss matrices resolution. Signal levels are calculated using the propagation model of each transmitter.

Version

 2.6.0

Input Parameters

Name Description Attributes

Version:  2.6.1
POINTS The POINTS input parameter is used to define a set of points.
Type: Array of Integers

196
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Name Description Attributes

The TRANSMITTERS input parameter is used to define a set of Version:  2.6.1


TRANSMITTERS
transmitters. Type: Array of Strings

The TECHNOLOGY input parameter is used to specify the technology


of transmitters specified by the TRANSMITTERS input parameter.
Available values are:
"GSM" Version:  3.2.0
TECHNOLOGY "UMTS" Type: String
"LTE"
"CDMA2000"
This parameter is ignored for single-RAT documents.

The POINTS array must have 2 dimensions, 0 and 1. The size of dimension 0 is the number of points. The size of dimension 1
is 2, index 0 and 1 for dimension 1 are the X and Y coordinates, respectively. The coordinates of points are expressed in the
projection coordinate system of the Atoll document.
The TRANSMITTERS array must have 1 dimension. The size of the array is the number of transmitters. Array values are trans-
mitters IDs, as they appear in the TX_ID field of the Transmitters table

Default Parameters

None. GetCommandDefaults for the command CALCULATEPOINTS returns an empty PropertyContainer object.

Results

Name Description Attributes

Version:  2.6.1
SIGNALS The SIGNALS result is used to return signals levels. Type: TabularData
object

The SIGNALS TabularData object has one record for each transmitter belonging to the TRANSMITTERS input parameter. The
row number n gives the signal received on the point number n. The SIGNALS TabularData object has the following structure:

Column Name Description Attributes


TX_ID A string holding a transmitter identifier. Type: String

The signal level received on point number n from the transmitter


identified by the field TX_ID.
Pn Type: Single or Null
When the signal level is less than -200 dBm, the type of the variant
returned for the field Pn is VT_NULL.

13.6 IMPORTTESTMOBILEDATA
This command imports a set of drive test data files into an Atoll document.

Version

 2.6.1

Input Parameters

Name Description Attributes

Name of the Atoll Explorer item where the drive test data is Version:  2.6.1
NAME
imported. Type: String

Version:  2.6.1
RECEIVERHEIGHT Receiver height.
Type: Double

Version:  2.6.1
RECEIVERGAIN Receiver gain.
Type: Double

197
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Version:  2.6.1
RECEIVERLOSSES Receiver losses.
Type: Double

Version:  2.6.1
MEASUREMENTUNIT Measurement unit. Valid values are: 0=dBm; 1=dBµV; 2=dBµV/m
Type: Integer

Code of the coordinate system used for measurement points in the


drive test data to import. Version:  2.6.1
MEASUREMENTCSCODE
The code for a coordinate system is reported in the Atoll properties Type: Integer
dialogue of the coordinate system.

Atoll configuration name, as reported in the Atoll drive test data


import dialogue.
Version:  2.6.1
CONFIGURATIONNAME Before importing drive test data, a drive test data configuration has
Type: String
to be defined in Atoll. CONFIGURATIONNAME is the name given to
the drive test data configuration.

The FILES input parameter is used to define the set of files to import. Version:  2.6.1
FILES
Each file must be specified using its absolute path. Type: Array of Strings

The CONFIGURATIONFILE input parameter is used to specify the full


Version:  3.2.0
path to the initialization file (.ini) containing the
CONFIGURATIONFILE
CONFIGURATIONNAME. This parameter is optional. When it is not
Type: String
specified the configuration file used is the one used in the project.

Default Parameters

None. GetCommandDefaults for the command IMPORTTESTMOBILEDATA returns an empty PropertyContainer object.

Results

None.

13.7 RUNNEIGHBOURALLOCATION
Performs neighbour allocation on a GSM network.

Version

 2.6.1

Input Parameters

Name Description Attributes

Version:  2.6.1
A sub-folder of the transmitters folder, or the transmitters folder
TRANSMITTERFOLDER Type: ChildFolder
itself.
object

Default Parameters

None. GetCommandDefaults for the command RUNNEIGHBOURALLOCATION returns an empty PropertyContainer object.
The neighbour allocation parameters used to compute neighbours are the ones set into the Atoll document. The neigbour
allocation parameters can be set by importing a user configuration file containing neighbour allocation parameters. Use the
Atoll Document object SetConfig method to import the neighbour allocation parameters.

Results

Name Description Attributes

Version:  2.6.1
NEIGHBOURS The NEIGHBOURS result is used to return neighbour relations. Type: TabularData
object

198
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

The NEIGHBOURS TabularData object has one record for each neighbour relation between two transmitters belonging to
TRANSMITTERFOLDER.

Name Description Attributes


Transmitter Type: String

Number Type: Integer

Maximum number Type: Integer

Neighbour Type: String

Importance (%) Type: Single

Cause Type: String

Coverage (%) Type: Single

Coverage (km²) Type: Single

13.8 RUNINTERTECHNOLOGYNEIGHBOURALLOCATION
Performs inter technology neighbour allocation.

Version

 2.6.1

Input Parameters

Name Description Attributes

A sub-folder of a transmitters folder, or a transmitters folder Version:  2.6.1


TRANSMITTERFOLDER
itself. Type: ChildFolder object

A string used to specify the technology of allocated


neighbours.
Available values are: Version:  3.1.0
NeighbourTechnologyName
"GSM", Type: String
"UMTS",
"LTE"

Default Parameters

None. GetCommandDefaults for the command RUNINTERTECHNOLOGYNEIGHBOURALLOCATION returns an empty Property-


Container object. The neighbour allocation parameters used to calculate neighbours are the ones set in the Atoll document.
The neigbour allocation parameters can be set by importing a user configuration file containing neighbour allocation param-
eters. Use the Atoll Document object SetConfig method to import the neighbour allocation parameters.

Results

Name Description Attributes

Version:  2.6.1
NEIGHBOURS The NEIGHBOURS result is used to return neighbour relations. Type: TabularData
object

The NEIGHBOURS TabularData object has one record for each neighbour relation between two transmitters belonging to
TRANSMITTERFOLDER.

Name Description Attributes


Transmitter Type: String

Number Type: Integer

199
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes


Maximum number Type: Integer

Neighbour Type: String

Cause Type: String

Coverage (%) Type: Single

Coverage (km²) Type: Single

Distance (m) Type: Single

13.9 RUNINTRACARRIERNEIGHBOURALLOCATION
Performs intra carrier neighbour allocation on a UMTS network.

Version

 2.6.1

Input Parameters

Name Description Attributes

Version:  2.6.1
A sub-folder of the transmitters folder, or the transmitters folder
TRANSMITTERFOLDER Type: ChildFolder
itself.
object

Default Parameters

None. GetCommandDefaults for the command RUNINTRACARRIERNEIGHBOURALLOCATION returns an empty PropertyCon-


tainer object. The neighbour allocation parameters used to calculate neighbours are the ones set in the Atoll document. The
neigbour allocation parameters can be set by importing a user configuration file containing neighbour allocation parameters.
Use the Atoll Document object SetConfig method to import the neighbour allocation parameters.

Results

Name Description Attributes

Version:  2.6.1
NEIGHBOURS The NEIGHBOURS result is used to return neighbour relations. Type: TabularData
object

The NEIGHBOURS TabularData object has one record for each neighbour relation between two transmitters belonging to
TRANSMITTERFOLDER.

Column Name Description Attributes


Cell Type: String

Number Type: Integer

Maximum number Type: Integer

Neighbour Type: String

Cause Type: String

Coverage (%) Type: Single

Coverage (km²) Type: Single

Distance (m) Type: Single

200
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

13.10 RUNINTERCARRIERNEIGHBOURALLOCATION
Performs inter carrier neighbour allocation on a UMTS network.

Version

 2.6.1

Input Parameters

Name Description Attributes

Version:  2.6.1
A sub-folder of the transmitters folder, or the transmitters folder
TRANSMITTERFOLDER Type: ChildFolder
itself.
object

Default Parameters

None. GetCommandDefaults for the command RUNINTERCARRIERNEIGHBOURALLOCATION returns an empty PropertyCon-


tainer object. The neighbour allocation parameters used to compute neighbours are the ones set into the Atoll document.
The neigbour allocation parameters can be set by importing a user configuration file containing neighbour allocation param-
eters. Use the Atoll Document object SetConfig method to import the neighbour allocation parameters.

Results

Name Description Attributes

Version:  2.6.1
NEIGHBOURS The NEIGHBOURS result is used to return neighbour relations. Type: TabularData
object

The NEIGHBOURS TabularData object has one record for each neighbour relation between two transmitters belonging to
TRANSMITTERFOLDER.

Column Name Description Attributes


Cell

Cell Type: String

Number Type: Integer

Maximum number Type: Integer

Neighbour Type: String

Cause Type: String

Coverage (%) Type: Single

Coverage (km²) Type: Single

Distance (m) Type: Single

13.11 CLONESTUDY
This command clones a coverage prediction.

Version

 2.7.0

201
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Input Parameters

Name Description Attributes

The STUDY input parameter holds the study to clone. The study to Version:  2.7.0
STUDY clone is a study object contained in the Predictions folder of the Atoll Type: ChildFolder
document. object

The NEWSTUDYNAME input parameter is used to define the name of Version:  2.7.0
NEWSTUDYNAME
the new cloned study. Type: String

Default Parameters

None. GetCommandDefaults for the command CLONESTUDY returns an empty PropertyContainer object.

Results

Name Description Attributes

The NEWSTUDY result is used to return the new cloned Version:  2.7.0
NEWSTUDY
study object. Type: ChildFolder object

13.12 DUPLICATESTUDY
This command duplicates a coverage prediction.

Version

 2.7.0

Input Parameters

Name Description Attributes

The STUDY input parameter holds the study to duplicate. The study Version:  2.7.0
STUDY to duplicate is a study object contained in the Predictions folder of Type: ChildFolder
the Atoll document. object

The NEWSTUDYNAME input parameter is used to define the name of Version:  2.7.0
NEWSTUDYNAME
the new duplicated study. Type: String

The NEWSTUDYPARENT input parameter is used to specify a sub


folder of the Predictions folder. The new study will be created in the Version:  3.2.1
NEWSTUDYPARENT NEWSTUDYPARENT sub folder of the Predictions folder. Type: ChildFolder
This parameter is optional. If not specified the new study will be object
created at the root of the Predictions folder.

Default Parameters

None. GetCommandDefaults for the command DUPLICATESTUDY returns an empty PropertyContainer object.

Results

Name Description Attributes

Version:  2.7.0
The NEWSTUDY result is used to return the new duplicated study
NEWSTUDY Type: ChildFolder
object.
object

13.13 COMPARESTUDY
This command compares two coverage predictions.

202
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Version

 2.7.0

Input Parameters

Name Description Attributes

The STUDY1 input parameter holds the first study involved in the Version:  2.7.0
STUDY1 comparison. It is a study object contained in the Predictions folder of Type: ChildFolder
the Atoll document. object

The STUDY2 input parameter holds the second study involved in the Version:  2.7.0
STUDY2 comparison. It is a study object contained in the Predictions folder of Type: ChildFolder
the Atoll document. object

The NEWSTUDYNAME input parameter is used to define the name of Version:  2.7.0
NEWSTUDYNAME
the comparison study. Type: String

Default Parameters

None. GetCommandDefaults on IDocument4 interface for the command COMPARESTUDY returns an empty PropertyCon-
tainer object.

Results

Name Description Attributes

Version:  2.7.0
NEWSTUDY The NEWSTUDY result is used to return the comparison study object. Type: ChildFolder
object

13.14 CALCULATEEQUIPMENTLOSSES
This command calculates equipment losses and noise figure for all transmitters in a document transmitters folder.

Version

 2.7.0

Input Parameters

Name Description Attributes

A sub-folder of a transmitters folder, or a transmitters folder itself. Version:  3.1.0


TRANSMITTERFOLDER Atoll >= 3.3.1 May also be a ChildFolder object associated with a Type: ChildFolder
transmitter. object

None.

Default Parameters

None. GetCommandDefaults for the command CALCULATEEQUIPMENTLOSSES returns an empty PropertyContainer object.

Results

None. The field "LOSSES" of the "TRANSMITTERS" table is updated for all transmitters in the document transmitters folder.
This command is the same as the "Equipment | Recalculate Losses" or the "Equipment | Recalculate Losses and Noise Figure"
menu option available in Atoll on the document transmitters folder.

13.15 CALCULATEREPEATERS
This command calculates propagation losses, azimuth, mechanical tilt, or gains for all repeaters in a document transmitters
folder.

203
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Version

 2.7.0

Input Parameters

Name Description Attributes

The PROPAGATIONLOSSES input parameter is used to specify Version:  2.7.0


PROPAGATIONLOSSES
whether repeaters donor side propagation losses will be calculated. Type: Boolean

The AZIMUTHSANDTILTS input parameter is used to specify whether Version:  2.7.0


AZIMUTHSANDTILTS
repeaters donor side azimuths and tilts will be calculated. Type: Boolean

The GAINS input parameter is used to specify whether repeaters Version:  2.7.0
GAINS
gains will be calculated. Type: Boolean

A sub-folder of a transmitters folder, or a transmitters folder itself. Version:  3.1.0


TRANSMITTERFOLDER Atoll >= 3.3.1 May also be a ChildFolder object associated with a Type: ChildFolder
transmitter. object

Default Parameters

GetCommandDefaults for the command CALCULATEREPEATERS returns a PropertyContainer object with the properties:

Name Description Attributes


PROPAGATIONLOSSES Boolean True

AZIMUTHSANDTILTS Boolean True

GAINS Boolean True

Results

None. The "TRANSMITTERS" table content and the "REPEATERS" table content are updated depending on the requested
calculation.
If the PROPAGATIONLOSSES input parameter is set to True, then the calculation task "Repeaters | Calculate Donor Side Prop-
agation Losses" on the document transmitters folder is performed.
If the AZIMUTHSANDTILTS input parameter is set to True, then the calculation task "Repeaters | Calculate Donor Side
Azimuths and Tilts" on the document transmitters folder is performed.
If the GAINS input parameter is set to True, then the calculation task "Repeaters | Calculate Gains" on the document trans-
mitters folder is performed.

13.16 CALCULATEREMOTEANTENNAS
This command calculates propagation losses, azimuth, mechanical tilt, or gains for all remote antennas in a document trans-
mitters folder.

Version

 2.7.0

Input Parameters

Name Description Attributes


The PROPAGATIONLOSSES input parameter is used to specify
Version:  2.7.0
PROPAGATIONLOSSES whether remote antennas donor side propagation losses will be
Type: Boolean
calculated.

The AZIMUTHSANDTILTS input parameter is used to specify whether Version:  2.7.0


AZIMUTHSANDTILTS
remote antennas donor side azimuths and tilts will be calculated. Type: Boolean

204
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Name Description Attributes

The GAINS input parameter is used to specify whether remote Version:  2.7.0
GAINS
antennas gains will be calculated. Type: Boolean

A sub-folder of a transmitters folder, or a transmitters folder itself. Version:  3.1.0


TRANSMITTERFOLDER Atoll >= 3.3.1 May also be a ChildFolder object associated with a Type: ChildFolder
transmitter. object

Default Parameters

GetCommandDefaults for the command CALCULATEREMOTEANTENNAS returns a PropertyContainer object with the proper-
ties:

Property Name Type Value


PROPAGATIONLOSSES Boolean True

AZIMUTHSANDTILTS Boolean True

GAINS Boolean True

Results

None. The "TRANSMITTERS" table content and the "REPEATERS" table content are updated depending on the requested
calculation.
If the PROPAGATIONLOSSES input parameter is set to True, then the calculation task "Remote Antennas | Calculate Donor
Side Propagation Losses" on the document transmitters folder is performed.
If the AZIMUTHSANDTILTS input parameter is set to True, then the calculation task "Remote Antennas | Calculate Donor Side
Azimuths and Tilts" on the document transmitters folder is performed.
If the GAINS input parameter is set to True, then the calculation task "Remote Antennas | Calculate Gains" on the document
transmitters folder is performed.

13.17 EXPORTACTIVESETANALYSIS
This command exports the active set analysis to text files.

Version

 2.7.1

Input Parameters

Input parameters include general parameters, simulation conditions (SIMULATIONCONDITIONS), shadowing and indoor
coverage conditions (CLUTTERCONDITIONS), and filtering parameters (RECORDSETCONDITIONS).

Name Description Attributes


The SIMULATIONCONDITIONS PropertyContainer object used here
has a subset of the SIMULATIONCONDITIONS property of a "Pilot Version:  2.7.1
Quality Analysis (Ec/Io)" Prediction ChildFolder Object. Therefore the Type:
SIMULATIONCONDITIONS
SIMULATIONCONDITIONS property of a "Pilot Quality Analysis (Ec/ PropertyContainer
Io)" Prediction ChildFolder Object can be used directly, additional object
content in this PropertyContainer object will be ignored.

Version:  2.7.1
Type:
CLUTTERCONDITIONS
PropertyContainer
object

The RECORDSETCONDITIONS PropertyContainer object used here


Version:  2.7.1
has a subset of the RECORDSETCONDITIONS property of a Prediction
Type:
RECORDSETCONDITIONS ChildFolder Object. Therefore the RECORDSETCONDITIONS property
PropertyContainer
of a Prediction ChildFolder Object can be used directly, additional
object
content in this PropertyContainer object will be ignored.

205
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

The general parameters include:

Name Description Attributes

Version:  2.7.1
RESOLUTION The resolution in meter used to export the activeset analysis.
Type: Integer

The maximum number of cells in the activeset analysis to export on a Version:  2.7.1
DEPTH
given point. Type: Integer

The ASCII code of the character used as the field delimiter in the Version:  2.7.1
TEXTSEPARATOR
exported text files. Type: Integer

Version:  2.7.1
EXPORTFULLPATH The full path of the file where the activeset is exported.
Type: String

SIMULATIONCONDITIONS include:

Name Description Attributes

Version:  2.7.1
TERMINAL The name of the terminal used to export the active set.
Type: String

Version:  2.7.1
MOBILITY The name of the mobility used to export the active set.
Type: String

Version:  2.7.1
SERVICE The name of the service used to export the active set.
Type: String

Version:  2.7.1
CARRIER The carrier number used to export the active set.
Type: Integer

CLUTTERCONDITIONS include:

Name Description Attributes


Whether to calculate shadowing margins related to the defined
cell edge coverage probability and the standard deviation(s) per Version:  2.7.1
SHADOWING
clutter class or not. When set to False, no shadowing effect is Type: Boolean
considered.

Whether to decrease the received signal level at the receiver of


Version:  2.7.1
INDOORCOVERAGE the indoor loss defined for the corresponding clutter class
Type: Boolean
(clutter class properties).

A value between 0 and 100, expressing in percentage value the Version:  2.7.1
EDGECOVERAGEPROBABILITY
required coverage probability at the cell edge. Type: Single

RECORDSETCONDITIONS include:

Name Description Attributes

"Filter" part of the recordset conditions, applied to the transmitters Version:  2.7.1
FILTER
table. Type: String

Default Parameters

Property Name Default Value


The same as the SIMULATIONCONDITIONS property of a new "Pilot
SIMULATIONCONDITIONS
Quality Analysis (Ec/Io)" prediction.

The same as the RECORDSETCONDITIONS property of a new "Pilot


RECORDSETCONDITIONS
Quality Analysis (Ec/Io)" prediction.

206
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Property Name Default Value


The same as the RESOLUTION property of a new "Pilot Quality
RESOLUTION
Analysis (Ec/Io)" prediction.

3, ie by default the maximum number of cells of the activeset


DEPTH
analysis is 3.

59, ie the ASCII code of the ’;’ character. Fields in the exported
TEXTSEPARATOR
fileswill be separated by the ’;’ character.

Results

None. The active set analysis is exported to the file specified by the EXPORTFULLPATH input parameter.
The area exported is the computation zone of the document.
When the area on wich the activeset analysis has to be exported is too large, the export is splitted into several text files. The
number and the size of these text files cannot be controlled. The text files are numbered starting from 0. For instance, when
the EXPORTFULLPATH input parameter is set to "c:\activeset.txt", the following files may be created:
c:\activeset-0.txt
c:\activeset-1.txt
c:\activeset-2.txt

Text File Format

The text file in which the active set analysis is exported has a header, followed by the data. The data and the header are sepa-
rated by a blank line.
• Header
The header is made of several [key;value] records. There is one [key;value] header record per line in the export file:
type;[Technology of the document used to export the activeset]
timestamp;[Date and time when the activeset has been exported]
resolution;[Resolution in meter used to export the activeset]
xmin;[Minimum X value of the rectangular area for which the activeset is exported]
xmax;[Maximum X value of the rectangular area for which the activeset is exported]
ymin;[Minimum Y value of the rectangular area for which the activeset is exported]
ymax;[Maximum Y value of the rectangular area for which the activeset is exported]
x_num_pixels;[Number of pixels of the export area along the X axis]
y_num_pixels;[Number of pixels of the export area along the Y axis]
• Data
The data format is made of one line per pixel. The line format for one pixel is:
X;Y;[Carrier;][Transmitter_1;Ec/I0;I0]...[Transmitter_n;Ec/I0;I0]
X: X coordinate of the pixel, in meter
Y: Y coordinate of the pixel, in meter
When the activeset is not empty, it is listed thereafter on the same line:
Carrier: Carrier of the activeset
There are at most n transmitters in the activeset analysis, where n is the DEPTH input parameter. Transmitter names
are listed along with the Ec/I0 and I0 value.
Transmitter_n : Name of the transmitter
Ec/I0: Ec/I0 in dB
I0: I0 in dB
Extract of an active set export file:

type;UMTS

207
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

timestamp;16:15:01 18-July-2008

resolution;50

xmin;23200

xmax;23700

ymin;-14250

ymax;-13650

x_num_pixels;10

y_num_pixels;12

[...]

23200;-14200;

23250;-14200;0;Site3_1;-10.06;-64.88;Site3_3;-12.62;-64.88;Site3_2;-13.56;-
64.88

23300;-14200;

23350;-14200;

[...]

13.18 CALCULATEPOINTSECI0
This command returns Ec/I0 values in dB for a given set of points and a set of transmitters.

Version

 2.7.1

Input Parameters

Name Description Attributes

Version:  2.7.1
POINTS The POINTS input parameter is used to define a set of points.
Type: Array of Integers

The TRANSMITTERS input parameter is used to define a set of Version:  2.7.1


TRANSMITTERS
transmitters. Type: Array of Strings

The STUDY input parameter is used to define the parameters used to


Version:  2.7.1
calculate the Ec/I0 values. It is a study object contained in the
STUDY Type: ChildFolder
Predictions folder of the Atoll document. The STUDY input
object
parameter must be a study of type "Pilot Quality Analysis (Ec/I0)".

The POINTS array must have 2 dimensions, 0 and 1. The size of dimension 0 is the number of points. The size of dimension 1
is 2, index 0 and 1 for dimension 1 are the X and Y coordinates, respectively. The points coordinates are expressed in the
projection coordinate system of the Atoll document.
The TRANSMITTERS array must have 1 dimension. The size of the array is the number of transmitters. Array values are trans-
mitters IDs, as they appear in the TX_ID field of the Transmitters table.

Default Parameters

None. GetCommandDefaults on the IDocument4 interface for the command CALCULATEPOINTSECI0 returns an empty Prop-
ertyContainer object.

208
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Results

Name Description Attributes

Version:  2.7.1
VALUES The VALUES result is used to return Ec/I0 values. Type: TabularData
object

The VALUES tabular data object has one record for each transmitter belonging to the TRANSMITTERS input parameter. The
row number n gives the Ec/I0 value on the point number n.

Column Name Description Attributes


TX_ID A string holding a transmitter identifier. Type: String

The Ec/I0 value on point number n from the transmitter identified by


Pn Type: Single or Null
the field TX_ID.

13.19 RUNALLCARRIERSALLOCATION
Performs all carriers allocation on a TD-SCDMA network.

Version

 2.8.1

Input Parameters

Name Description Attributes

Version:  2.8.1
A sub-folder of the transmitters folder, or the transmitters
TRANSMITTERFOLDER Type: ChildFolder
folder itself.
object

A boolean value used to specify whether to perform Co-N


Version:  2.8.1
CONFREQUENCYALLOCATION frequency allocation (True) or Diff-N frequency allocation
Type: Boolean
(False).

A boolean value used to specify whether the allocation results Version:  2.8.1
COMMITRESULTS
will be commited in the document (True), or not (False). Type: Boolean

Default Parameters

None. GetCommandDefaults for the command RUNALLCARRIERSALLOCATION returns an empty PropertyContainer object.

Results

Name Description Attributes

Version:  2.8.1
CARRIERS The CARRIERS result is used to return carrier allocation information. Type: TabularData
object

The CARRIERS TabularData object has one record for each transmitter’s carrier allocation.

Name Description Attributes


Transmitter Type: String

Carriers Type: Integer

Master Carrier Type: Integer

209
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

13.20 RUNMASTERCARRIERALLOCATION
Performs master carrier allocation on a TD-SCDMA network.

Version

 2.8.1

Input Parameters

Name Description Attributes

Version:  2.8.1
A sub-folder of the transmitters folder, or the transmitters folder
TRANSMITTERFOLDER Type: ChildFolder
itself.
object

A boolean value used to specify whether to delete the existing Version:  2.8.1
DELETEEXISTINGALLOCATION
allocation (True), or not (False). Type: Boolean

A boolean value used to specify whether the allocation results Version:  2.8.1
COMMITRESULTS
will be commited in the document (True), or not (False). Type: Boolean

Default Parameters

None. GetCommandDefaults for the command RUNMASTERCARRIERALLOCATION returns an empty PropertyContainer


object.

Results

Name Description Attributes

The CARRIERS result is used to return carrier Version:  2.8.1


CARRIERS
allocation information. Type: TabularData object

The CARRIERS TabularData object has one record for each transmitter’s carrier allocation.

Column Name Description Attributes


Transmitter Type: String

Master Carrier Type: Integer

13.21 MWRun
This command runs analysis for a given set of links. The analysis can take into account interferers.
The results are provided in a tabular data format. The fields are all the columns displayed when running link budgets or inter-
ference calculation on a whole links folder.

Version

 2.6.1

Input Parameters

All the parameters that the user can provide as input through the GUI can be provided to this command.

Name Description Attributes


Array containing the names of the links to be calculated. These
include the links which are filtered, active, and inside the focus zone. Version:  2.6.1
LINKS
This is the same list which is used by Atoll when running calculation Type: Array of Strings
on the Links folder.

210
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Name Description Attributes


Defines which propagation model is to be used for interference. If
Version:  2.6.1
INTERFERENCE true, recommendation ITU 452 is used. If false, the model defined in
Type: Boolean
the links properties is used.

Defines which quality model is to be used for analysis. Valid values


are: 0=ITU Recommendation 530-5; 1=ITU Recommendation 530-8; Version:  2.6.1
QUALITYMODEL
2=ITU Recommendation 530-10; 3=Vigants Barnett method; 4=KQ Type: Integer
Factor method;

Defines the priority of objectives that Atoll must used to find the
QUALITYOBJECTIVE0 appropriate quality objective. "QualityObjective0" contains the
QUALITYOBJECTIVE1 objectives which are the higher-priority objectives. Version:  2.6.1
QUALITYOBJECTIVE2 "QualityObjective3" contains the lowest-priority objectives. Type: Integer
QUALITYOBJECTIVE3 Each "QualityObjectiveX" is set to an interger: 0="As a function of
Rate"; 1=ITU-T G821; 2=ITU-T G826; 3=Customized;

Defines the priority of objectives that Atoll must used to find the
AvailabilityObjective0 appropriate availability objective. "AvailabilityObjective0" contains
AvailabilityObjective1 the objectives which are the higher-priority objectives. "Q Version:  2.6.1
AvailabilityObjective2 AvailabilityObjective 3" contains the lowest-priority objectives. Type: Integer
AvailabilityObjective3 Each "AvailabilityObjectiveX" is set to an interger: 0="As a function of
Rate"; 1=ITU-T G821; 2=ITU-T G826; 3=Customized;

Defines which rain model is to be used for analysis: 0=ITU


Version:  2.6.1
RainModel Recommendation 530-5; 1=ITU Recommendation 530-8; 2=ITU
Type: Integer
Recommendation 530-10; 3=Crane method;

Residual BER; used by Recommendation ITU 530-8 and above to


Version:  2.6.1
RBER calculate performance parameters. Typically in the range from 10-10
Type: Double
to 10-13 for the bit rates of 2 to 155 Mbit/s, respectively.

Used by Recommendation ITU 530-8 and above to calculate


performance parameters. Version:  2.6.1
ALFA1
10 to 30, number of errors per burst for the BER in the range from Type: Integer
10-3 to BERSES

Used by Recommendation ITU 530-8 and above to calculate


performance parameters. Version:  2.6.1
ALFA2
1 to 10, number of errors per burst for the BER in the range from Type: Integer
BERSES to RBER

Used by Recommendation ITU 530-8 and above to calculate


prediction of outage in unprotected digital systems. Version:  2.6.1
RefDelayM
RefDelayM is the reference delay (ns) used to obtain the signature Type: Single
for minimum phase.

Used by Recommendation ITU 530-8 and above to calculate


prediction of outage in unprotected digital systems. Version:  2.6.1
RefDelayNM
RefDelayNM is the reference delay (ns) used to obtain the signature Type: Single
for non-minimum phase.

This percent is used to calculate the availability objective which will


Version:  2.6.1
EquipPercent be compared to the outage due to equipment failures.
Type: Single
Its value is supposed to be between 0 and 100.

This percent is used to calculate the availability objective which will


Version:  2.6.1
RainPercent be compared to the availability outage.
Type: Single
Its value is supposed to be between 0 and 100.

Version:  2.6.1
kMoy Defines the value of the average earth curvature used in calculation.
Type: Single

Defines the value of the second earth curvature used to display the
Version:  2.6.1
kMin ellipsoid. (not used during link budgets nor interferences
Type: Single
calculation).

Option which defines if power must be reduced or not with the ATPC Version:  2.6.1
UseAtpc
value. Type: Boolean

211
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes


Defines which method must be used to calculate geoclimatic
Version:  2.6.1
Rec530Simple parameters (used for quality). For the simple one, Rec530Simple
Type: Boolean
must be set to True.

Boolean which tells if the calculation of fading due to XPD must be Version:  2.6.1
IgnoreXPD
taken into account or not in the total result. Type: Boolean

Boolean which tells if the calculation of fading due to enhancements Version:  2.6.1
IgnorePR
must be taken into account or not in the total result. Type: Boolean

Flag which defines if the calculation must be done for the BER
defined in the links properties (OneBER = 0/False) or if the Version:  2.6.1
OneBER
calculation must be done with the same BERs for all the links Type: Boolean
(OneBER = 1/True).

Version:  2.6.1
BER1 First value of BER which is used when OneBER = 1.
Type: Double

Second value of BER which is used when OneBER = 1.


Note that this value is not used when running calculations with this Version:  2.6.1
BER2
API. Using the API means that calculations are only displayed with Type: Double
BER1.

Defines which release of recommendation ITU-838 must be used: Version:  2.6.1


Rec838
0=Rec 838-1; 1=Rec 838-3; Type: Double

Defines the expected results:


"all" means that all the ports of each link are calculated and
displayed in the final result. Version:  2.6.1
CALC_LINK_PORTS
"worst" means that the final result will display only the worst port. Type: String
"selected" means that the final result will display the result for the
port defined in the port parameter.

Defines the analysis is a link analysis without interferers (links


budgets, CALC_WITH_NOI = True) or if total interference must be
taken into account (CALC_WITH_NOI = False)
Version:  2.6.1
CALC_WITH_NOI Besides the interest of having results with or without interference,
Type: Boolean
the reader will see further in this document that calculation without
interference provides more detailed results on the link configuration
(sort of report of the link properties).

Defines the maximum distance (in meters) to search potential Version:  2.6.1
InterferenceDistanceMax
interferers. Type: Double

Defines the threshold of drop margin (in dB) under which an Version:  2.6.1
InterferenceDropMin
interference level is not added to the total result. Type: Double

Defines if the A>>B way must be calculated and displayed or not in


Version:  2.6.1
InterferenceCalcGo the final result. This option concerns not only interference
Type: Boolean
calculation but also links budgets.

Defines if the B>>A way must be calculated and displayed or not in


Version:  2.6.1
InterferenceCalcReturn the final result. This option concerns not only interference
Type: Boolean
calculation but also links budgets.

Defines if the uplink interference must be calculated and displayed Version:  2.6.1
InterferenceCalcUplink
or not in the final result. Type: Boolean

Defines if the downlink interference must be calculated and Version:  2.6.1


InterferenceCalcDownlink
displayed or not in the final result. Type: Boolean

InterferenceRainSurfCorrel Value of the area (km2) which is used to calculate the correlation Version:  2.6.1
ation between two links. Type: Single

212
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Name Description Attributes


Percent which defines if interferer level is more important or not
that interfering effects. This percent is only used for semi-automatic Version:  2.6.1
InterferenceAutoWeight
channel allocation and has no influence when running calculation Type: Integer
with this API.

Option which defines if interferer power must be reduced or not Version:  2.6.1
InterferenceUseAtpc
with the ATPC value. Type: Boolean

Version:  2.6.1
InterferenceWidth Percent of the channels width which can interfere or be interfered.
Type: Integer

Flag which defines how passive repeaters are taken into account
when running interference: 0=interference through passive are not
Version:  2.6.1
InterferenceOverShoot taken into account; 1=links with passive repeaters may also interfere
Type: Integer
through their own passive; 2=any signal can interfere through a
repeater.;

Defines if results must contain details or not.


"none" means no detail
"uplink" means only for uplink results Version:  2.6.1
INTERF_DETAIL
"downlink" means only for downlink results Type: String
"both" means always.
This parameter has no effect when running calculation with this API.

When COCHANNELONLY is set to True, INTERFERENCEWIDTH is Version:  2.8.1


COCHANNELONLY
ignored. Type: Boolean

Default Parameters

The default values listed below are the default values set in Atoll. If these have been modified, the new default values will be
used instead.

Name Default Value


Links Array of links name

Interference False

QualityModel 1

QualityObjective0 0

QualityObjective1 1

QualityObjective2 2

QualityObjective3 3

AvailabilityObjective0 0

AvailabilityObjective1 1

AvailabilityObjective2 2

AvailabilityObjective3 3

RainMod 1

RBER 1e-12

ALFA1 10

ALFA2 1

RefDelayM 6.3

RefDelayNM 6.3

EquipPercent 33

213
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Default Value


RainPercent 33

kMoy 1.33

kMin NULL

UseAtpc False

Rec530Simple True

IgnoreXPD True

IgnorePR False

OneBER 0

BER1 1e-3

BER2 1e-6

Rec838 0

CALC_LINK_PORTS "selected"

CALC_WITH_NOI True

InterferenceDistanceMax 50000

InterferenceDropMin 0.3

InterferenceCalcGo True

InterferenceCalcReturn True

InterferenceCalcUplink True

InterferenceCalcDownlink True

InterferenceRainSurfCorrelation 100

InterferenceAutoWeight 50

InterferenceUseAtpc False

InterferenceWidth 250

InterferenceOverShoot 0

INTERF_DETAIL "Both"

Analysis Results Without Interference Calculation

Name Description Attributes

Version:  2.6.1
LINKNAME Name (primary key) of the link whose results are given.
Type: String

Version:  2.6.1
BAND Name (primary key) of the frequency band of the link.
Type: String

Length of the link calculated along the Great Circle (with latitude,
longitude and heights). Version:  2.6.1
LENGTH
This value is displayed as read-only in the first page of links Type: Single
properties but is not saved in database.

Way of the link which is concerned with this result.


Version:  2.6.1
WAY "AB" means "go" (= Site A toward Site B)
Type: String
"BA" means "return" (= Site B toward Site A)

214
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Name Description Attributes


Name (primary key) of the subband of the link with the suffix "[-]" or
"[+]" depending on the half subband of the link.
Version:  2.6.1
SUBBAND "[-]" means lowest part
Type: String
"[+]" means highest part.
Can be null if the link has manual frequencies.

The calculated channel number. Version:  2.6.1


CHANNEL
If the link has manual frequency, channel number is "-1". Type: String

String which contains either "H" for horizontal polarization, either


"V" for vertical polarization. Version:  2.6.1
POLAR
This value can be determined by the links properties (if no ports are Type: String
defined) or by the ports configuration if any.

Name (primary key) of the transmitting site of the link being Version:  2.6.1
SITE_TX
calculated (site A is the way is "AB", site B if the way if "BA"). Type: String

Name (primary key) of the transmitting antenna of the link. Version:  2.6.1
ANT_TX
(antenna A is the way is "AB", antenna B if the way if "BA"). Type: String

Version:  2.6.1
HEIGHT_TX Value of the height of transmitting antenna (in meters).
Type: Single

Value of the azimuth of the transmitting antenna. (in degrees). This


value is calculated, not displayed in the links properties, nor saved in Version:  2.6.1
AZIMUTH_TX
database. It takes into account the antenna misalignment and the Type: Single
direction of the receiver. (latitude, longitude and height).

Value of the tilt of the transmitting antenna. (in degrees). This value
is calculated, not displayed in the links properties, nor saved in Version:  2.6.1
TILT_TX
database. It takes into account the antenna misalignment and the Type: Single
direction of the receiver. (latitude, longitude and height).

Value of the gain of the transmitting antenna (in dB). This value is Version:  2.6.1
ANTGAIN_TX
displayed in the antenna properties. Type: Single

Name (primary key) of the receiving site of the link being calculated Version:  2.6.1
SITE_RX
(site B is the way is "AB", site A if the way if "BA"). Type: String

Name (primary key) of the receiving antenna of the link. (antenna B Version:  2.6.1
ANT_RX
is the way is "AB", antenna A if the way if "BA"). Type: String

Version:  2.6.1
HEIGHT_RX Value of the height of receiving antenna (in meters).
Type: Single

Value of the azimuth of the receiving antenna. (in degrees). This


value is calculated, not displayed in the links properties, nor saved in Version:  2.6.1
AZIMUTH_RX
database. It takes into account the antenna misalignment and the Type: Single
direction of the receiver. (Latitude, longitude and height).

Value of the tilt of the receiving antenna. (in degrees). This value is
calculated, not displayed in the links properties, nor saved in Version:  2.6.1
TILT_RX
database. It takes into account the antenna misalignment and the Type: Single
direction of the receiver. (Latitude, longitude and height).

Value of the gain of the receiving antenna (in dB). This value is Version:  2.6.1
ANTGAIN_RX
displayed in the antenna properties. Type: Single

Name (primary key) of the transmitting equipment. (equipment A is Version:  2.6.1


EQ_TX
the way is "AB", equipment B if the way if "BA"). Type: String

Value of the nominal transmitted power, used if ATPC is not taken Version:  2.6.1
POWER_NOM
into account. Type: Single

Value of the coordinate transmitted power, used if ATPC is taken Version:  2.6.1
POWER_COORD
into account. Type: Single

215
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes


Value the system configuration of the equipment. String formatted
as:
Version:  2.6.1
SYS_CFG "n+m" where n is an integer which corresponds to the main
Type: String
channels number, and "m" an interger which corresponds to the stad
by channels number. Ex: "1+1", "2+0" …

Value the capacity of the equipment. String is formatted with the


number of trunks (depending on the digital hierarchy) and the trunk
Version:  2.6.1
CAPA name.
Type: String
Example: "E1" or "3 x E1" or "2 x STM-16" depending for if the
number of trunks is more than one or not.

Value of the total losses on the transmitter side: Shared losses,


Version:  2.6.1
TX_LOSS Connection losses, Shielding factor, port losses (filter + attenuation),
Type: Single
wave guide losses.

Value of the free space loss calculated between transmitter and Version:  2.6.1
FSL
receiver. Type: Single

Version:  2.6.1
LA Value of the attenuation due to dry air absorption.
Type: Single

Version:  2.6.1
LV Value of the attenuation due to vapor absorption.
Type: Single

Value of the total diffraction through the profile between the Version:  2.6.1
LD
transmitter and the receiver. Type: Single

Version:  2.6.1
LVEG Value of the vegetation loss along the profile.
Type: Single

Version:  2.6.1
LBS Value of the tropospheric loss along the profile.
Type: Single

Value of the total propagation loss along the profile. (Remember Version:  2.6.1
LTOT
that vegetation loss is never added). Type: Single

Name (primary key) of the receiving equipment. (equipment B is the Version:  2.6.1
EQ_RX
way is "AB", equipment A if the way if "BA"). Type: String

Value of the total losses on the receiver side: Shared losses,


Version:  2.6.1
RX_LOSS Connection losses, Shielding factor, port losses (filter + attenuation),
Type: Single
wave guide losses.

Value of the receiver threshold (dBm) defined as the sensitivity of Version:  2.6.1
RX_THRESOLD
the receiver for the BER1 value. Type: Single

Value of the total decoupling (dB) : losses due co-polar patterns of


Version:  2.6.1
DECOUPLING the requested polarization for transmitter and receiver antenna.
Type: Single
(Generally null if antennas are aligned.)

Difference between the cross-polar value of the receiver antenna Version:  2.6.1
XPD
and its co-polar value (dB). Type: Single

Difference between the cross-polar value of the transmitter antenna Version:  2.6.1
XPI
and its co-polar value (dB). Type: Single

Wanted signal level (dBm) Takes into account the transmitted


Version:  2.6.1
RX_LEVEL power, transmitter and receiver losses, total propagation losses and
Type: Single
decoupling.

Calculated fade margin (uniform margin) which takes into account Version:  2.6.1
FADE_MARGIN
the received signal level et the receiver threshold. Type: String

Version:  2.6.1
PNS Percent of outage due to uniform fadings.
Type: Single

216
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Name Description Attributes

Version:  2.6.1
PS Percent of outage due to selective fadings.
Type: Single

Version:  2.6.1
pXPD Percent of outage due to cross-polar discrimination fadings.
Type: Single

Percent of outage which determined the quality of the link (i.e Version:  2.6.1
PT
during clear air conditions). Type: Single

Version:  2.6.1
SESR Probability of SESR outage.
Type: Single

Version:  2.6.1
BBER Probability of BBER outage.
Type: Single

Version:  2.6.1
ESR Probability of ESR outage.
Type: Single

Version:  2.6.1
PR Percent of fadings due to enhancements.
Type: Single

Version:  2.6.1
P0 Percent of multipath occurrence.
Type: Single

Version:  2.6.1
PP Percent of fadings due to rain for the worst month.
Type: Single

Version:  2.6.1
PPA Percent of fadings due to rain for an average year.
Type: Single

Version:  2.6.1
PXPD Percent of rain fadings due to cross-polar discrimination.
Type: Single

Version:  2.6.1
PPT Total percent of unavailability for an average year.
Type: Single

Version:  2.6.1
PFAILURES Percent of fadings due to equipment failures.
Type: Single

Version:  2.6.1
RAIN_SESR Probability of rain SESR outage.
Type: Single

Version:  2.6.1
RAIN_BBER Probability of rain BBER outage.
Type: Single

Version:  2.6.1
RAIN_ESR Probability of Rain ESR outage.
Type: Single

Version:  2.6.1
PASSIVE_GAIN Total gain (dB) of the passive repeaters.
Type: Single

Version:  2.6.1
AFF_RAIN Total rain attenuation (dB) along the path.
Type: Single

Total time of outage during clear-air for the worst month. Value is Version:  2.6.1
SEC_M_Q
formatted is unit (hour, mn, sec). Ex: "6 sec", "19mn 27 sec". Type: String

Quality objective during clear-air for the worst month. Value is Version:  2.6.1
OBJ_M_Q
formatted is unit (hour, mn, sec) Type: String

Total time of outage during clear-air for an average year month. Version:  2.6.1
SEC_Y_Q
Value is formatted is unit (hour, mn, sec) Type: String

Total time of outage during rain condition for the worst month. Version:  2.6.1
SEC_M_RAIN
Value is formatted is unit (hour, mn, sec). Ex: "6 sec", "19mn 27 sec" Type: String

217
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Quality objective during rain condition for the worst month. Value is Version:  2.6.1
OBJ_M_RAIN
formatted is unit (hour, mn, sec) Type: String

Total time of outage during rain condition for an average year Version:  2.6.1
SEC_Y_RAIN
month. Value is formatted is unit (hour, mn, sec) Type: String

Status of the link for quality. Takes into account each probability and
corresponding objective for SESR, ESR and BBER, according to the
Version:  2.6.1
STATUS_Q equipment hierarchy too.
Type: String
The status can have following values: "OK"; "Not Respected"; "Not
Calculated"; "Not Defined";

Status of the link for avalability. Takes into account each probability
and corresponding objective for SESR, ESR and BBER, according to
Version:  2.6.1
STATUS_A the equipment hierarchy too.
Type: String
The status can have following values: "OK"; "Not Respected"; "Not
Calculated"; "Not Defined";

Value of the composite fade margin (dB) which takes into account all Version:  2.6.1
CFM
the margins; Corresponds to the SESR probability. Type: String

Value of the composite fade margin (dB) calculated from the quality Version:  2.6.1
REQ_CFM_Q
objectives set for the link. Type: String

Value of the uniform margin (dB) calculated from the quality


Version:  2.6.1
REQ_TFM objectives set for the link. Corresponds to the non-selective outage
Type: String
probability.

Value of the composite fade margin (dB) calculated from the Version:  2.6.1
REQ_CFM_A
availability set for the link. Type: String

Version:  3.1.0
TX_PORT Transmission port. Type: String

Version:  3.1.0
RX_PORT Reception port. Type: String

Analysis Results With Interference Calculation

Name Description Attributes

Version:  2.6.1
LINKNAME Name (primary key) of the link whose results are given.
Type: String

Way of the link which is concerned with this result.


Version:  2.6.1
WAY "AB" means "go" (= Site A toward Site B)
Type: String
"BA" means "return" (= Site B toward Site A)

Calculated interfered channel number. Version:  2.6.1


CHANNEL_IRX
If the link has manual frequency, channel number is "-1". Type: String

Name (primary key) of the subband of the link with the suffixe "[-]"
or "[+]" depending on the half subband of the link.
Version:  2.6.1
SUBBAND "[-]" means lowest part
Type: String
"[+]" means highest part.
Can be null if the link has manual frequencies.

Wanted signal level (dBm) Takes into account the transmitted


power, transmitter and receiver losses, total propagation losses and Version:  2.6.1
C
decoupling. Same value as RX_LEVEL when running analysis without Type: Single
interference.

Value of the uniform margin (dB) calculated from the wanted signal Version:  2.6.1
FLAT_MARGIN
level and the receiver threshold. Type: Single

218
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Name Description Attributes

Aggregation of all the interferences (dBm) received from other links Version:  2.6.1
I
and receiver thermal noise (FKTB). Type: Single

Value of the differences between margin without interference and Version:  2.6.1
MARGIN_REDUCT
margin with interferences. Type: String

Value of C/I (dB) where C is the wanted signal level and I the total Version:  2.6.1
C_OVER_I
interference level. Type: Single

Value of the total interference level during rain condition which can
Version:  2.6.1
IRAIN be different from the "general" interference level depending on
Type: Single
correlation between links.

Value of the differences between margin without rain interference Version:  2.6.1
MARGIN_REDUCT_RAIN
and margin with interferences. Type: String

Value of the margin calculated from the receiver threshold and the Version:  2.6.1
EFF_MARGIN
received level when interference are taken into account. Type: Single

Version:  2.6.1
BER Value of the BER with which the current analysis is run.
Type: Single

Percent of outage which determined the quality of the link. (i.e Version:  2.6.1
QUALITY
during clear air conditions, and with interference). Type: Single

Percent of fadings due to rain for the worst month, when Version:  2.6.1
AVAIL
interference are taken into account. Type: Single

Total time of outage with interference during clear-air for the worst
Version:  2.6.1
SEC_M_Q month. Value is formatted is unit (hour, mn, sec). Ex: "6 sec", "19mn
Type: String
27 sec"

Quality objective during clear-air for the worst month. Value is Version:  2.6.1
OBJ_M_Q
formatted is unit (hour, mn, sec) Type: String

Total time of outage with interference during clear-air for an average Version:  2.6.1
SEC_Y_Q
year month. Value is formatted is unit (hour, mn, sec) Type: String

Total time of outage with interference during rain condition for the
Version:  2.6.1
SEC_M_RAIN worst month. Value is formatted is unit (hour, mn, sec). Ex: "6 sec",
Type: String
"19mn 27 sec"

Quality objective during rain condition for the worst month. Value is Version:  2.6.1
OBJ_M_RAIN
formatted is unit (hour, mn, sec) Type: String

Total time of outage with interference during rain condition for an Version:  2.6.1
SEC_Y_RAIN
average year month. Value is formatted is unit (hour, mn, sec) Type: String

Status of the link for quality. Takes into account each probability and
corresponding objective for SESR, ESR and BBER, according to the
Version:  2.6.1
STATUS_Q equipment hierarchy too.
Type: String
The status can have following values: "OK"; "Not Respected"; "Not
Calculated"; "Not Defined";

Status of the link for avalability. Takes into account each probability
and corresponding objective for SESR, ESR and BBER, according to
Version:  2.6.1
STATUS_A the equipment hierarchy too.
Type: String
The status can have following values: "OK"; "Not Respected"; "Not
Calculated"; "Not Defined";

Version:  3.1.0
PORT_IRX Interferenced Port Type: Single

219
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

13.22 EXPORTMAPWINDOW
Exports a region of the map window as an image.

Version

 3.1.0

Input Parameters

Name Description Attributes


The region to export. Available values are:
0: The region to export is specified by SELECTIONXMIN,
SELECTIONXMAX, SELECTIONYMIN, and SELECTIONYMAX input Version:  3.1.0
REGION
parameters. Type: Integer
1:The region to export is the geographic export zone.
2:The region to export is the printing zone.

The west coordinate of the region to export, expressed in meter in


Version:  3.1.0
SELECTIONXMIN the projection coordinate system of the document.
Type: Double
Only used when the REGION input parameter is set to 0.

The east coordinate of the region to export, expressed in meter in


Version:  3.1.0
SELECTIONXMAX the projection coordinate system of the document.
Type: Double
Only used when the REGION input parameter is set to 0.

The south coordinate of the region to export, expressed in meter in


Version:  3.1.0
SELECTIONYMIN the projection coordinate system of the document.
Type: Double
Only used when the REGION input parameter is set to 0.

The north coordinate of the region to export, expressed in meter in


Version:  3.1.0
SELECTIONYMAX the projection coordinate system of the document.
Type: Double
Only used when the REGION input parameter is set to 0.

The absolute path of the file where the map window image is Version:  3.1.0
PATH
exported. Type: String

The file format used to export the map window image. Available
values are:
BMP : BMP file format
PNG : PNG file format Version:  3.1.0
FORMAT
ARCVIEWGRIDASCII : ArcView grid file format Type: String
TIF : TIFF file format
BIL : BIL file format
JP2 : JPEG 2000 file format

Pixel size (meters), used to export the map window image.


Version:  2.8.1
PIXELSIZE When the value specified is zero (0), then SCALE and RESOLUTION
Type: Integer
input parameters are used to determine the pixel size.

Scale of the map window used to export the map window image. Version:  3.1.0
SCALE
Only used when the PIXELSIZE input parameter is set to 0. Type: Integer

Resolution of the map window used to export the map window


Version:  3.1.0
RESOLUTION image, in dot per inch.
Type: Integer
Only used when the PIXELSIZE input parameter is set to 0.

Boolean value used to specify whether to include rulers in the


Version:  3.1.0
INCLUDERULERS exported image, or not.
Type: Boolean
Only used when the PIXELSIZE input parameter is set to 0.

Boolean value used to specify whether to include the scale in the Version:  3.2.1
INCLUDESCALE
exported image, or not. Type: Boolean

Default Parameters

None. GetCommandDefaults for the command EXPORTMAPWINDOW returns an empty PropertyContainer object.

220
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Results

None. The map window image is exported to the file specified by the PATH input parameter.

13.23 IMPORTPLANETDATAFILE
Imports a planet data file.

Version

 3.1.0

Input Parameters

Name Description Attributes

Version:  3.1.0
PATH The absolute path of the planet data file to import.
Type: String

Version:  3.1.0
EMBED Whether to embed data, or not.
Type: Boolean

The type of the planet data file to import.


Available values are:
0 : Digital terrain model
1: Digital height model
2 : Clutter classes
Version:  3.1.0
TYPE 3 : Environment based traffic map
Type: Integer
4: Planet vectors
5: Planet text data
6: Images
7: Antennas
8: Microwave antennas

Default Parameters

None. GetCommandDefaults for the command IMPORTPLANETDATAFILE returns an empty PropertyContainer object.

Results

None. The planet data is imported.

13.24 EXPORTMWLINKANALYSISPROFILEPICTURE
Exports a microwave link analysis profile picture to a Windows bitmap file.

Version

 3.1.0

Input Parameters

Name Description Attributes

Version:  3.1.0
LINKNAME Name of the link.
Type: String

Link type. Available values are:


Version:  3.1.0
LINKTYPE 0 : A -> B
Type: Integer
1 : B ->A

Version:  3.1.0
PICTUREWIDTH Picture width, in pixels.
Type: Integer

221
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes

Version:  3.1.0
PICTUREHEIGHT Picture height, in pixels.
Type: Integer

Version:  3.1.0
The absolute path of the Windows bitmap file where the link analysis
FILEPATH Type: String
picture is exported.

Default Parameters

None.GetCommandDefaults for the command EXPORTMWLINKANALYSISPROFILEPICTURE returns an empty PropertyCon-


tainer object.

Results

None. The picture of the link profile is exported to the file specified by FILEPATH input parameter.

13.25 GETPOWERMODE
Retreives the document current power mode.
This command is only available for UMTS or LTE technologies.

Version

 3.1.0

Input Parameters

Name Description Attributes


For single RAT documents, this parameter is not used. For multi-RAT
parameter, a string used to specify the technology. Available values
Version:  3.1.0
TECHNOLOGY are:
Type: String
"UMTS",
"LTE"

Default Parameters

None. GetCommandDefaults for the command GETPOWERMODE returns an empty PropertyContainer object.

Results

Name Description Attributes


The power mode. Available values are:
Version:  3.1.0
POWERMODE 0 : default
Type: Integer
1 : EIRP is calculated using the max power

13.26 SETPOWERMODE
Sets the document power mode.
This command is only available for UMTS or LTE technologies.

Version

 3.1.0

222
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Input Parameters

Name Description Attributes


For single RAT documents, this parameter is not used. For multi-RAT
parameter, a string used to specify the technology. Available values
Version:  3.1.0
TECHNOLOGY are:
Type: String
"UMTS",
"LTE"

The power mode. Available values are: Version:  3.1.0


POWERMODE 0 : default Type: Integer
1 : EIRP is calculated using the max power

Default Parameters

None. GetCommandDefaults for the command SETPOWERMODE returns an empty PropertyContainer object.

Results

None. The document power mode is changed.

13.27 APPENDVECTORDATACOLUMN
This command adds a new column to a vector data table.

Version

 3.1.1

Input Parameters

Name Description Attributes

The CHILDFOLDER input parameter is used to specify a vector data Version:  3.1.1
CHILDFOLDER table. The ChildFolder object specified must support the Type: ChildFolder
VECTORDATA property. object

The NAME input parameter is used to specify the name of the new
Version:  3.1.1
NAME column to add to the vector data table. The value is case insensitive
Type: String
and must not include spacesand dot characters.

The LEGEND input parameter is used to specify the display name of


Version:  3.1.1
LEGEND the new column to add to the vector data table. The value is case
Type: String
sensitive and space characters are allowed.

The TYPE input parameter is used to specify the data type of the new
column to add to the vector data table. Valid values are:
0=Text
1=Short integer
2=Long integer Version:  3.1.1
TYPE
3=Single Type: Integer
4=Double
5=True/False
6=Date/Time
7=Currency

The SIZE input parameter is used to specify the size, in bytes, for a
Version:  3.1.1
SIZE column of type 0 (Text).
Type: Integer
The SIZE input parameter is specific to the text data type.

223
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Name Description Attributes


The DEFAULT input parameter is used to specify the default value of
the new column. The default value is the column value for new rows, Version:  3.1.1
when the column value is not set explicitly. When the DEFAULT input Type: Null, String,
DEFAULT parameter is not specified, the default value for the new column is Integer, Boolean,
Null (VT_NULL). The type of the DEFAULT input parameter value Single, Double,
must match the data type of the new column, as specified by the Currency, or Date
TYPE input parameter.

The CHOICELIST input parameter is used to specify the list of possible


values for a new column of type 0 (Text).
The CHOICELIST input parameter is specific to text columns.
Version:  3.1.1
CHOICELIST Please note that the actual column value is not restricted to the
Type: Array of Strings
values defined in the choice list. The CHOICELIST parameter may be
used by Atoll to display preferred values to the user, for instance in a
combobox control.

Default Parameters

None.

Results

None. Upon successful completion the new column is added to the table.

13.28 LOADSAVEPRINTSETUP
This command loads or saves the print setup configuration.

Version

 3.1.1

Input Parameters

Name Description Attributes


The DIRECTION input parameter is used to specify whether to load or
save the print setup configuration. Version:  3.1.1
DIRECTION
To load the print setup configuration, specify the value 1. Type: Integer
To save the print setup configuration, specify the value 0.

The PRINTERNAME input parameter is used to specify the default


printer to use in the print setup configuration. Version:  3.1.1
PRINTERNAME
This input parameter is not used when saving the print setup Type: String
configuration.

When loading the print setup configuration, the CFGPATH input


parameter is used to specify the file used to load the print setup
configuration. Version:  3.1.1
CFGPATH
When saving the print setup configuration, the CFGPATH input Type: String
parameter is used to specify the file used to save the print setup
configuration.

Default Parameters

None.

224
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Results

Name Description Attributes


The PRINTERNAME output
parameter is used to return the default printer used Version:  3.1.1
PRINTERNAME
int the print setup configuration file. Type: String
.

13.29 CALCULATEPATHLOSS
Performs pathloss matrix calculation on a transmitter folder.

Version

 3.2.0

Input Parameters

Name Description Attributes

Version:  2.6.1
A sub-folder of the transmitters folder, or the transmitters folder
TRANSMITTERFOLDER Type: ChildFolder
itself.
object

When True, the calculation is forced even for transmitters having


available valid results. When Version:  3.2.0
FORCECALCULATION
False, the calculation is made only for transmitters having Type: Boolean
unavailable or invalid results.

The boolean value used to specify whether the calculations will


occur in the background Version:  3.2.0
BLOCKING
(False), or if the method should wait for the calculations to finish Type: Boolean
before returning (True).

When False, the calculation is made for all active transmitters in the
Version:  3.2.0
FILTERED transmitter folder. When True, only
Type: Boolean
filtered transmitters are calculated

Default Parameters

None. GetCommandDefaults for the command CALCULATEPATHLOSS returns an empty PropertyContainer object.

13.30 MWLinksCustomExport
Performs microwave links custom export.

Version

 3.2.0

Input Parameters

Name Description Attributes

Version:  2.6.1
EXPORTPATH Full path to the folder where link reports are exported.
Type: String

Version:  3.2.0
TEMPLATEFILEPATH Full path to the custom template used to perform the export.
Type: String

The microwave links folder containing links to export to the Version:  3.2.0
LINKSFOLDER EXPORTPATH folder, using the TEMPLATEFILEPATH custom Type: ChildFolder
template. object

225
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

Default Parameters

None. GetCommandDefaults for the command MWLinksCustomExport returns an empty PropertyContainer object.

13.31 ARCHIVETODATABASE
Archives a project to the database.

Version

3.2.1

Input Parameters

Name Description Attributes

Version: 3.2.1
C++ Type:
A boolean used to specify whether to ignore all conflicts when VT_VARIANT of type
IGNOREALLCONFLICTS
archiving. VT_BOOL
VBScript Type:
Boolean

Default Parameters

None. GetCommandDefaults on IDocument4 interface for the command ARCHIVETODATABASE returns an empty Property-
Container object.

Results

Name Description Attributes

The archive operation status.


Available values are: Version: 3.2.1
ARCHIVESTATUS 0: The archive operation has succeeded. C++ Type: VT_VARIANT of type VT_I4
1: The archive operation has been interrupted VBScript Type: Integer
because of conflicts.

13.32 MWCalculateProfiles
Calculates Microwave profile files.

Version

 3.3.0

Input Parameters

Name Description Attributes


Array containing the names of the links to be calculated. These
include the links which are filtered, active, and inside the focus
zone.
This is the same list which is used by Atoll when running Version:  3.3.0
LINKS
calculation on the Links folder. Type: Array of Strings
If not set, this defaults to the name of filtered links whose all
sites are in the computation zone. When there is no
computation zone, this defaults to all filtered links.

Defines the maximum distance (in meters) to search for


Version:  3.3.0
INTERFERENCEDISTANCEMAX potential interferers.
Type: Double
If not set, the default value is 50000.

226
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 13: Document Commands

Name Description Attributes

Path to the profile files folder. Version:  3.3.0


PRIVATESTORAGE
If not set, the default value is the one set in the Atoll document. Type: String

Default Parameters

None. GetCommandDefaults for the command MWCalculateProfiles an empty PropertyContainer object.

13.33 PURGEPATHLOSSFOLDERS
Deletes orphan path loss matrices files (.los files) in the private path losses folders of the document.
An orphan path loss file is a path loss file for which there is no corresponding transmitter in the document.

Version

3.3.1

Input Parameters
None

Default Parameters

None. GetCommandDefaults on IDocument4 interface for the command PURGEPATHLOSSFOLDERS returns an empty Prop-
ertyContainer object.

Results

Name Description Attributes

Version:  3.3.1
The list of deleted files. Each file is specified using
DELETEDFILES Array of variants, with variants of type
its full path name.
String

227
Atoll 3.3.2 Task Automation Guide
Chapter 13: Document Commands © 2016 Forsk. All Rights Reserved.

228
Chapter 14
Enumerations,
Structures, and
Interfaces
Atoll 3.3.2 Task Automation Guide
©2016 Forsk. All Rights Reserved

230
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 14: Enumerations

14 Enumerations
14.1 Enumerations
Enumerations are used to specify constants. Two categories of enumerations are defined hereafter.
• The first category refers to all enumerations defined in the Atoll type library. All of them are prefixed with Ato.
• The second category refers to all enumerations defined in the FSKGIS type library. All of them are prefixed with fg.

14.1.1 Atoll Type Library Enumerations


14.1.1.1 AtoSaveStatus
Constant Value Description
atoSaveSucceeded 0 Document has been successfully saved.

atoSaveCanceled 1 Changes in the document has been cancelled by the user.

14.1.1.2 AtoSaveChanges
Constant Value Description
atoSaveNo 0 Document is closed without being saved.

atoSaveYes 1 Document is saved before being closed.

The user is prompted whether the document must be saved before


atoSavePrompt 2
being closed.

14.1.1.3 AtoRefreshPriority
Constant Value Description
All changes are cancelled before the document is refreshed from the
atoCancelChanges 0
database.

atoSkipChanges 1 Only refreshes data that have not been modified.

14.1.1.4 AtoArchiveStatus
Constant Value Description
atoArchiveSaveSucceeded 0 Archiving has succeeded without conflicts.

Archiving has been cancelled, either by the user or because conflicts


atoArchiveCanceled 1
occurred.

14.1.1.5 AtoWindowStatus
Constant Value Description
atoMaximized 0 Maximized (enlarged to maximum size).

atoNormal 1 Normal (Default).

atoMinimized 2 Minimized (minimized to an icon in the task bar).

231
Atoll 3.3.2 Task Automation Guide
Chapter 14: Enumerations © 2016 Forsk. All Rights Reserved.

14.1.1.6 AtoLogType
Constant Value Description
atoInfo 0 Information.

atoError 1 Error.

atoWarning 2 Warning.

14.1.1.7 AtoCompareOp
Constant Value Description
atoEQ 0 (Equal) The first value equal to searchVal is searched for.

(Strictly Lower Than) The first value less than searchVal is searched
atoLT 1
for.

(Lower or Equal) The first value less than or equal to searchVal is


atoLE 2
searched for.

(Greater or Equal) The first value greater than or equal to searchVal


atoGE 3
is searched for.

(Strictly Greater Than) The first value greater than searchVal is


atoGT 4
searched for.

atoNE 5 (Not Equal) The first value not equal to searchVal is searched for.

14.1.1.8 AtoTransmissionUnit
Constant Value Description
atoDbm 0 Transmission unit is dBm.

atoWatt 1 Transmission unit is Watt.

atoKWatt 2 Transmission unit is kWatt.

14.1.1.9 AtoReceptionUnit
Constant Value Description
atoDbmRx 0 Reception unit is dBm.

atoDbMicroVolt 1 Reception unit is dBV.

atoDbMicroVoltMeter 2 Reception unit is dBV/meter.

14.1.1.10 AtoDistanceUnit
Constant Value Description
atoM 0 Distance unit is meter.

atoKm 1 Distance unit is kilometer.

atoMiles 2 Distance unit is miles.

232
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 14: Enumerations

14.1.1.11 AtoRadiatedPowerUnit
Constant Value Description
atoRadiatedPowerEIRP 0 Radiated power is EIRP.

atoRadiatedPowerERP 1 Radiated power is ERP.

14.1.1.12 AtoAntennaGainUnit
Constant Value Description
atoAntennaGainDbi 0 Antenna gain unit is dBi.

atoAntennaGainDbd 1 Antenna gain unit is dBd.

14.1.1.13 AtoHeightOffsetUnit
Constant Value Description
atoHeightOffsetM 0 Height offset unit is meter.

atoHeightOffsetFeet 1 Height offset unit is feet.

14.1.1.14 AtoRootType
Constant Value Description
atoData 0 Atoll explorer window data tab.

atoGeo 1 Atoll explorer window geo tab.

atoModule 2 Atoll explorer window modules tab.

atoParameters 2 Atoll explorer window parameters tab.

14.1.1.15 AtoRowFilter
Constants to filter only modified, added, or deleted rows.

Constant Value Description


atoRowFilterNone 0 No filter.

atoRowFilterModifiedOrNew 1 Filter to retain only modified or new rows.

atoRowFilterDeleted 2 Filter to retain only deleted rows.

14.1.1.16 AtoRowStatus
All possible row statuses.

Constant Value Description


atoRowStatusNew 1 Row has been added.

atoRowStatusModified 2 Row has been modified.

atoRowStatusDeleted 4 Row has been deleted.

atoRowStatusUnmodified 8 Row is unmodified.

233
Atoll 3.3.2 Task Automation Guide
Chapter 14: Enumerations © 2016 Forsk. All Rights Reserved.

14.1.1.17 AtoTemperatureUnit
Constant Value Description
atoTempCelcius 0 Temperature unit is degree Celsius (°C).

atoTempFarenheit 1 Temperature unit is degree Farenheit (°F).

14.1.2 FSKGISLib Type Library Enumerations


14.1.2.1 GeographicUnit
Constant Value Description
fgUnspecifiedUnit -1 Value when nothing has been defined.

fgMeter 0 Length unit is meter.

fgKilometer 1 Length unit is kilometre.

fgFoot 2 Length unit is foot.

fgLink 3

fgChain 4

fgYard 5 Length unit is yard.

fgNauticalMile 6 Length unit is nautical mile.

fgMile 7 Length unit is mile.

fgRadian 100 Longitude / Latitude units are radian.

fgDegree 101 Longitude / Latitude units are degree.

fgGrad 102 Longitude / Latitude units are grads.

fgArcMinute 103 Longitude / Latitude units are minutes.

fgArcSecond 104 Longitude / Latitude units are seconds.

14.1.2.2 ProjectionMethod
Constant Value Description
fgUndefinedProjection 0 Value when nothing has been defined.

fgNoProjection 1 This system has no projection method.

fgLambertConfConic1SP 2 Lambert Conformal Conic 1SP.

fgLambertConfConic2SP 3 Lambert Conformal Conic 2SP.

fgMercator 4 Mercator.

fgCassiniSoldner 5 Cassini Soldner.

fgTransverseMercator 6 Transverse Mercator.

fgTransvMercatorSouthOriented 7 Transverse Mercator South Oriented.

fgObliqueStereographic 8 Oblique Stereographic.

fgNewZealandMapGrid 9 New Zealand Map Grid.

fgHotineObliqueMercator 10 Hotine Oblique Mercator.

fgLabordeObliqueMercator 11 Laborde Oblique Mercator.

234
Atoll 3.3.2 Task Automation Guide
AT332_TAG_E0 Chapter 14: Enumerations

Constant Value Description


fgSwissObliqueCylindrical 12 Swiss Oblique Cylindrical.

fgObliqueMercator 13 Oblique Mercator.

fgUTMProjection 14 UTM Projection.

14.1.2.3 ProjParameterIndices
Constant Value Description
fgUTMZoneNumber 0 Number of UTM zone.

fgLongitudeOfOrigin 0 Longitude of the origin of the zone.

fgLatitudeOfOrigin 1 Latitude of the origin of the zone.

fgFalseEasting 2 False Easting.

fgFalseNorthing 3 False Northing.

fgScaleFactorAtOrigin 4 Scaling factor at the origin.

fgLatitudeOf1stParallel 4 Latitude of the first parallel.

fgAzimuthOfCentralLine 5 Azimuth of the central line.

fgLatitudeOf2ndParallel 5 Latitude of the second parallel.

fgAngleFromRectfifiedToSkewed
6
Grid

235
• Head Office • US Office • China Office
7 rue des Briquetiers 200 South Wacker Drive – Suite 3100 Suite 302, 3/F, West Tower, Jiadu Commercial Building,
31700 Blagnac, France Chicago, IL 60606, USA No. 66 Jianzhong Road, Tianhe Hi-Tech Industrial Zone,
Tel: +33 562 747 210 Tel: +1 312 674 4800 Guangzhou, 510665, P. R. of China
Fax: +33 562 747 211 Fax: +1 312 674 4847 Tel: +86 20 8553 8938 Fax: +86 20 8553 8285

AT332_TAG_E0 www.forsk.com November 2016