nipo odin 5[1].11 commandreference rev20070123

302
NIPO Software Grote Bickersstraat 74 1013 KS Amsterdam PO Box 247 1000 AE Amsterdam The Netherlands Phone +31 20 522 59 80 Fax +31 20 522 53 33 E-mail [email protected] Internet www.niposoftware.com All rights reserved. No part of this document may be reproduced in any form, by any means (electronic, photocopying, recording or otherwise) without the prior written consent of NIPO Software. © NIPO Software Amsterdam Manual NIPO ODIN Script Language 5.11 Command Reference Rev.: 20070119

Upload: mihaela-canciuc

Post on 11-Nov-2014

453 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO Software

Grote Bickersstraat 74

1013 KS Amsterdam

PO Box 247

1000 AE Amsterdam

The Netherlands

Phone +31 20 522 59 80

Fax +31 20 522 53 33

E-mail [email protected]

Internet www.niposoftware.com

All rights reserved. No part of this document may be reproduced in any form, by any means (electronic, photocopying, recording

or otherwise) without the prior written consent of NIPO Software.

© NIPO Software Amsterdam

Manual NIPO ODIN Script Language 5.11

Command Reference

Rev.: 20070119

Page 2: NIPO ODIN 5[1].11 CommandReference Rev20070123
Page 3: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | i

Contents

1 Introduction 1 1.1 About this manual 1 1.2 Other manuals 1 1.3 Terminology 2 1.3.1 General 2 1.3.2 Questions and answers 3 1.3.3 Files and tables 4 1.4 Typographical conventions 5

2 Features and Known issues 7 2.1 Features and Known issues in NIPO ODIN Script language 5.11 7 2.1.1 Most important (new) features of NIPO ODIN Script language 5.11 7 2.1.2 New commands in the NIPO ODIN Script Language 5.11 7

1) New command *SCALERANGE 7 2) New command *INTRO 7 3) New command *HEADING 7 4) System variables do not need to be defined 7

2.2 Features and Known issues in NIPO ODIN Script language 5.09/5.10 8 2.2.1 Most important (new) features of NIPO ODIN Script language 5.09 8

1) Channel aware scripting with As_Was 8 2.2.2 Known issues in NIPO ODIN Script Language 5.09 9

1) Use system names in Sample table instead of table fieldnames 9 2.3 Features and Known issues in NIPO ODIN Script language 5.08 10 2.3.1 Most important (new) features of NIPO ODIN Script language 5.08 10

1) Channel aware scripting 10 2) Tab-positions with *TAB based on percentages 10 3) Map *ADDRESS positions to database fields 10 4) Start external application with *RUN and STDRUN32.DLL: Runtype -1 11 5) Jump to question after non-response code 11 6) *PAGE may be directly behind *IF, but *QUESTION not 12 7) System variable STOPWATCH[3] after appointment 12

2.3.2 Most important new features in NIPO Web Client 12 1) Using templates and stylesheets 12 2) Using HTML (incl. JavaScript) in NIPO ODIN questionnaire 12

2.3.3 New commands in the NIPO ODIN Script Language 5.08 13 1) New command: *SAMPLEDATA 13 2) New command: *SQLGET 13 3) New command: *SQLPUT 13 4) New command: *ORDER 13 5) Changed command: *PUT in combination with Sample table 14 6) Changed command: *LANGUAGE name,RTL 14

Page 4: NIPO ODIN 5[1].11 CommandReference Rev20070123

ii | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

2.4 Known Issues 15 2.4.1 Known issues in NIPO ODIN Script Language 5.08 15

1) Channel aware script uses current channel 15 2) No more support for Dutch commands 16 3) No more support for replaced commands 16 4) No more support for improper use of ODIN syntax (‘illegal constructions’) 17 5) No more support for slashes to separate categories 20 6) Copy positions from T-file limited to field length 21 7) No more support for changing font of code numbers 21 8) *AUTO only supported for NIPO CATI Client 22 9) Using *AUTO with too many categories 22 10) Using *RANDOM on a *FORM question without category numbers 23 11) *INIT block is executed before Suspend Image 24 12) Selecting another CHARSET in the *FONT command 24 13) *NCLS repaints the question 25 14) Using duplicate interview numbers in T-file 25 15) Re-using interviewnumbers that were already completed 26

2.4.2 Known issues in Web Client 29 1) Display of *NUMBER *LIST question in box 29

3 How to use the NIPO ODIN Script Language 31 3.1 Naming conventions 31 3.1.1 Questions 31 3.1.2 Data fields 32 3.1.3 Answer categories 33 3.1.4 Slashes 34 3.1.5 Backslashes 34 3.1.6 Using variables 35 3.1.7 System variables: 0-9 39 3.1.8 System variables: timers 40 3.1.9 System variables: miscellaneous 41 3.1.10 System variables for Channel Aware scripting 42 3.1.11 Operators: repeat numbers 44 3.1.12 Expressions 46 3.1.13 Examples of expressions 49 3.1.14 Often made mistakes in (filter) expressions: 50 3.2 Stratification (Quota) 52 3.2.1 Changed syntax for S-file in the NIPO Fieldwork System 1.03 54 3.2.2 Stratification file (S-file) when using Sample table 56 3.2.3 Stratification files (S-files) for omnibus surveys (using T-files) 57 3.2.4 Omnibus survey, using Sample tables and Omnibus tables 59 3.2.5 Stratification file (S-file) for Web Clients 60

1) Non-anonymous surveys 60 2) Anonymous surveys 60 3) Surveys started from a URL 60

3.3 Lay-out of *GRID and *SCALE questions using [tab] and *TAB 61

Page 5: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | iii

4 Command Index 67 ** 69 *? 70 *ABORT 73 *ADDRESS 74 *ALPHA (question type) 75 *ALPHA (in *FORM question) 76 *APPOINT 77 *AUTO 78 *BACK 80 *BMP 81 *BUT 83 *CENTRE 85 *CODES 86 *CONJ ... *ENDCONJ 88 *CONTROL 89 *COPY 91 *COUNT 93 *CUT 94 *DATE 95 *DELAY 96 *DESC 97 *DTIME 98 *DUMMY 99 *END 100 *ENDNGB 102 *ENDST 103 *EXCLUDE 104 *FIELD 106 *FONT (definition) 108 *FONT (switching) 109 *FORM 111 *FORMAT 114 *GOSUB 115 *GOTO 117 *GRID (in *FORM question) 118 *GROUP 121 *HEADING 123 *HELP (definition) 125 *HELP (question option) 126 *IF (condition) 128 *IF (question option) 129 *INCLUDE 130 *INFO 132 *INIT 133 *INSTRUC 135 *INTRO 136 *INV 137 *LABEL 139

Page 6: NIPO ODIN 5[1].11 CommandReference Rev20070123

iv | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*LANGUAGE 140 *LEFT 144 *LINE 145 *LIST (definition) 147 *LIST (question option) 149 *MAX 152 *MERGE 154 *MIN 156 *MOVA 158 *MOVU 159 *MULTI 160 *NCLS 161 *NEW 162 *NEWCOLUMN 163 *NEXT 166 *NMUL 167 *NOCON 168 *NOENTER 169 *NOHIDE 170 *NON 171 *NONRESP 172 *NOTBACK 173 *NUMBER (question type) 174 *NUMBER (in *FORM question) 175 *OPEN (question type) 177 *OPEN (codes option) 179 *ORDER 180 *PAGE 183 *PICT (question option) 184 *PICT (codes option) 186 *PLAY 187 *PNW 188 *PUT 189 *QUESTION 192 *RANDOM 194 *RANGE 196 *READ 197 *REC 198 *REPEAT (question option) 200 *REPEAT ... *ENDREP 201 *REPNUM 204 *RETURN 205 *RIGHT 206 *ROT 207 *RUN (16-bit) 208 *RUN (32-bit) 210 *SAMPLEDATA 212 *SAVE (question option) 213 *SAVE (codes option) 214 *SCALE (question type) 215

Page 7: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | v

*SCALE (in *FORM question) 217 *SCALERANGE 220 *SHOWDOCUMENT 225 *SIZE 226 *SKIP 228 *SQLGET 229 *SQLPUT 232 *STOPAUTO 235 *STOPRANDOM 237 *STRAT 238 *SUBROUTINE ... *ENDSUB 239 *SWILANG 241 *TAB 243 *TEXTVARS 245 *TIME 246 *USELIST 247 *VAR 248 *VARS 249 *VCONTROL 250 *WAITCR 252 *WAITPLAY 253 *WRITE 254 <<<! … !>>> 255

4.2 Listing of commands per system 257

Page 8: NIPO ODIN 5[1].11 CommandReference Rev20070123

vi | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

5 File structures 263 5.1 Data files 265 5.1.1 Closed answers file (U-file) 265

1) Data files (U- and O-file) in unicode 266 5.1.2 Open answers file (O-file) 267 5.1.3 Telephone file (T-file) 268 5.1.4 Sample table (separate table for each survey) 270 5.1.5 Contact file (C-file) 274 5.1.6 Stratification file (S-file) 275 5.2 Database tables 276 5.2.1 Sample table (separate table for each survey) 276

1) Create new fields in Sample table via NIPO FMS 280 2) Use *SAMPLEDATA to retrieve and update data from the Sample table 280 3) Stratification of fields in Sample table 280 4) Use system names in Sample table instead of table fieldnames 281

5.2.2 Omnibus or SubSample table (separate table for each survey) 283 1) Create new fields in Omnibus table via NIPO FMS 284 2) Use *SAMPLEDATA to retrieve and update data from the Omnibus table 284 3) Stratification of fields in Omnibus table 284 4) Use system names instead of table fieldnames 284

6 Status, ResponseCode, TerminateCode, Logging 285 6.1.1 Status field in Survey table 285 6.1.2 Status field in Sample table 285 6.1.3 Channel and Initial Channel field in Sample table 286 6.1.4 Overview of response codes 287

1) Specification of ResponseCodes 289 2) TerminateCodes 290

7 Index 291

Page 9: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 1

1 Introduction

1.1 About this manual

This manual describes the NIPO ODIN Script Language (Odrunu.DLL 5.11.000) as is being used by the NIPO CATI Client 5.04 (Odqes.EXE), NIPO Web Client (OdinServlet 1.02) in the NIPO Fieldwork System 1.07 for CATI/Web Interviewing and the NIPO CAPI Client 12.01 (CapiClient.EXE) in the NIPO CAPI System 5.00. It is meant for the NIPO ODIN Script writers and explains the syntax of the NIPO ODIN questionnaires. This manual is not meant for the CATI/CAPI interviewers, nor for supervisors and/or technicians who set-up and run the workstations (Interviewer PC's) in a CATI Studio. See the NIPO CATI Client 5.xx Technical Reference and/or the NIPO Fieldwork System 1.xx Technical Reference for more information on how to set-up a CATI studio.

1.2 Other manuals

Please check the following other related NIPO Software manuals: • NIPO Fieldwork System 1.07 Technical Reference • NIPO Fieldwork System 1.07 User's Guide • NIPO CATI Manager 3.07 User’s Guide • NIPO FMS 1.07 User's Guide • NIPO Panel FMS 1.07 User's Guide • NIPO HTML Generator 1.02 Scripter's Guide • NIPO CATI Client 5.04 Technical Reference • NIPO ODIN Script Language 5.11 Command Reference • NIPO ODIN Developer 5.06 User’s Guide • NIPO ODIN Script Language Basic Training • NIPO Conjoint Measurement in NIPO ODIN Script Language • NIPO CAPI System 5.00 Technical Reference • NIPO CAPI Client 12.01 User’s Guide

Page 10: NIPO ODIN 5[1].11 CommandReference Rev20070123

2 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

1.3 Terminology

This chapter describes how to use this Command Reference.

1.3.1 General

Question type Defines the type of answer which is expected for a question. Question types are for example closed, open, numerical, etc. Question option Defines what special properties an answer must have or how answer categories will be displayed. There are question options to allow multiple answers, set a maximum value to be entered, show answer categories in random order, etc. Answer option Defines the behaviour of the program when an answer category is chosen. There are answer options to prevent that an answer is combined with other answer categories, to prompt for an open answer, etc.

Page 11: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 3

1.3.2 Questions and answers

Closed question A question where the answer is expected to be a choice from a fixed number of answer categories. Answer category One of the possible answers defined for a (semi-)closed question. Open question A question where the answer is expected to be entered literally as text. Semi-closed question A question where the answer is expected to be a choice from a fixed number of answer categories and where choosing certain answer categories will show a box to enter the answer literally as text. Open answer The literal text of an answer entered for an open or semi-closed or open question. Numerical question A question where an answer is expected to be a numerical value. Text question A question where an answer is expected to be text of limited length. Answer code A numeric value which is stored in the U-file when an answer category is chosen. Answer field A (series of) positions in the U-file where answer codes, values or texts are stored.

Page 12: NIPO ODIN 5[1].11 CommandReference Rev20070123

4 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

1.3.3 Files and tables

Q-file (questionnaire) ASCII file containing the question text and all the NIPO ODIN commands for routing, etc. S-file (stratification) ASCII file containing the stratification (quota) criteria. Sample file (T-file) ASCII file containing the gross sample. Each record in the Sample file (telephone file or T-file) contains data about one Sample element, e.g., a telephone number, address, name, company size, etc. Sample table Table in the database containing the gross sample. Each record in the Sample table contains data about one Sample element, e.g., a telephone number, address, name, company size, etc. Omnibus table Table in the database containing the omnibus information (i.e. the names and order of sub-questionnaires). If a T-file is used instead of a Sample table, the omnibus information is stored in the Sample record. U-file ASCII file containing answer codes that refer to chosen answer categories of closed questions, values entered for numerical questions and texts entered for text questions. O-file ASCII file containing all open answers entered by keyboard. C-file ASCII file containing information for each contact. B-file Binary file containing open answers entered by Pen PC and/or recorded answers with *REC. D-file Binary file containing the Suspend Image (in case of a T-file). When a Sample table is used, the Suspend Image is written SuspendImage field in the Sample record.

Page 13: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 5

1.4 Typographical conventions

In the NIPO ODIN Command Reference the following typographic conventions are used: Example Convention *QUESTION 1 *CODES 61L2 The Courier font indicates syntax descriptions,

argument descriptions or script examples. Qn, Qm In syntax, if an argument refers to a question, n

indicates the number of the question. If a second argument also refers to a question then m indicates the second question number.

var, numvar, txtvar If an argument refers to a variable or array, var indicates both numeric and text vars. Numvar indicates a numeric variable and txtvar indicates a text variable.

expression If an argument refers to an expression, the expression will first be interpreted and calculated and then the result is used.

<Argument> Angle brackets enclose obligatory arguments. [Argument] Square brackets enclose optional arguments. Argument|Argument2 A vertical bar separates two mutually exclusive

choices. Argument[,Argument2,…] Three dots indicate that an argument can be

repeated in a list any number of times. A comma separates the listed arguments.

<[Argument]> or [[Argument]]

Square brackets enclosed by angle or square brackets are part of the argument.

<“Argument”> or [“Argument”]

Double quotes enclosed by angle or square brackets are part of the argument.

size In descriptions, italic words refer to a part of the syntax.

Page 14: NIPO ODIN 5[1].11 CommandReference Rev20070123
Page 15: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 7

2 Features and Known issues

2.1 Features and Known issues in NIPO ODIN Script language 5.11

2.1.1 Most important (new) features of NIPO ODIN Script language 5.11

2.1.2 New commands in the NIPO ODIN Script Language 5.11

In the NIPO ODIN Script Language 5.11 (32-bit) the following new commands are implemented as compared to the NIPO ODIN Script Language 5.09/5.10.

1) New command *SCALERANGE

With this command, the values of scale boxes can be changed. See page 220 for more details.

2) New command *INTRO

With this command, separate introductions for each channel can be defined. See page 136 for more details.

3) New command *HEADING

With this command, a heading above categories can be defined. See page 123 for more details.

4) System variables do not need to be defined

In NIPO ODIN 5.09 and higher, there is no need to define system variables (like STOPWATCH[3], _ISCATI, etc.). When a system variable is defined in your NIPO ODIN questionnaire, you will receive a warning message during the syntax check: Warning: Declaring system variable is not required: _ISCATI

Page 16: NIPO ODIN 5[1].11 CommandReference Rev20070123

8 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

2.2 Features and Known issues in NIPO ODIN Script language 5.09/5.10

Note: NIPO ODIN Script Language version 5.09 and version 5.10 are in fact the same version, only running different Microsoft shared DLL’s.

2.2.1 Most important (new) features of NIPO ODIN Script language 5.09

No new commands have been implemented in NIPO ODIN 5.09, as compared to NIPO ODIN 5.08.

1) Channel aware scripting with As_Was

When switching halfway a questionnaire from CATI to Web Client, the system will resume the questionnaire on the last question. All filters and routing with channel aware filters until that question (except in the -block) will be handled with the channel as it was before switching (As_Was situation). When the last question was under channel aware filter (e.g., the interviewer asking if the respondent is willing to switch to CAWI now), the questionnaire will resume with the next question. Note: The ASWAS functionality is a feature that is build in the NIPO Fieldwork System 1.05. There is no setting or variable that needs to be set; it is just a way of handling switched interviews by the NIPO ODIN Engine. In the previous version NIPO Fieldwork System 1.03 (Engine 5.08), the Engine would work ASIS. This means that when an interview is resumed, it runs through the SuspendImage and for each channel aware filter ( *IF[_ISCATI] or *IF[Channel=1] ) decides if it is true or not. In NIPO Fieldwork System 1.05 (Engine 5.09) the engine will not look at the current channel, but at the channel that was true when the question was originally asked (ASWAS). Only when returning to the end of the SuspendImage (i.e. at the question where the interview was interrupted or where it was switched), it will look at the current channel. The only exception is questions in the *INIT-block, because these are asked each time an interview is resumed. So in the OLD version all questions that were asked in CATI, before switching to CAWI, would have been empty when a channel-filter *IF [_ISCATI] was used. The workaround was simple when using a forced switch. After some initial CATI questions, you ask the respondent if he/she wants to switch and you use an *ENDST 41 with the SWITCH option. As you know exactly where the channel changes, you do not need any channel aware filters.

Page 17: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 9

2.2.2 Known issues in NIPO ODIN Script Language 5.09

1) Use system names in Sample table instead of table fieldnames

All system fields in the Sample tables may only be referred to by their system names, not by the fieldnames. The NIPO CATI Master will produce an error message 'Duplicate field name'.

Table 2-1 | Setting names and Field names in Sample table

Setting name in NIPO CATI/Web Master Field name in Sample table TTAppointmentName AppointmentName TTAppointmentTime AppointmentTime TTAvailabilityCode AvailabilityCode TTCallIntervalBegin CallIntervalBegin TTCallIntervalEnd CallIntervalEnd TTChannel Channel TTContactTime ContactTime TTDisplayField1 DisplayField1 TTDisplayField2 DisplayField2 TTDisplayField3 DisplayField3 TTDisplayField4 DisplayField4 TTExtraData ExtraData TTGroupID GroupID TTID ID TTIndicator2ndNumber Indicator2ndNumber TTInterviewerNumber InterviewerNumber TTInterviewNumber InterviewNumber TTLanguage Language TTNumberOfContacts NumberOfContacts TTRespEmail Email1 TTSecondPhoneNumber SecondPhoneNumber TTShowDisplayFields ShowDisplayFields TTShowSecondPhoneNumber ShowSecondPhoneNumber TTStatusCode Status1 TTSystemData SystemData TTTargetInterviewer TargetInterviewer TTTelephoneNumber TelephoneNumber TTTimeDifference TimeDifference

1 Fieldnames in bold are names that differ from the settingname.

Page 18: NIPO ODIN 5[1].11 CommandReference Rev20070123

10 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

2.3 Features and Known issues in NIPO ODIN Script language 5.08

2.3.1 Most important (new) features of NIPO ODIN Script language 5.08

The following items have been changed as compared to the NIPO ODIN 4.08 Script Language, as described in the NIPO ODIN 4.08 Script Language Command Reference rev 20010711.

1) Channel aware scripting

In NIPO ODIN Questionnaire you can use the system variables to make routing or question texts depending on the channel. See paragraph 3.1.10 for more details.

2) Tab-positions with *TAB based on percentages

In the Web Client, the *TAB is interpreted as percentages of the screen, not character. E.g., *TAB 50,75 will create 2 tabs, i.e. 3 columns, the first column half the screen width, the last 2 each 25% of the screen width. See page 243 for more details.

3) Map *ADDRESS positions to database fields

When using a Sample table, the NIPO ODIN questionnaire can refer to all Sample table field names, by using the *SAMPLEDATA command. However you can also refer to positions in the original T-file format. The positions are mapped to the default positions of the fields in T-files. Example: *QUESTION 11 *ALPHA 61L17 *MOVU Q11 1L17 will transfer the field TelephoneNumber from the Sample table into Question 11. This could also be written as: *QUESTION 11 *ALPHA 61L17 *SAMPLEDATA TelephoneNumber *COPY Q11 "*?TelephoneNumber" (The telephone number is an alpha-field, because it may contain spaces and a leading zero.) Example 2: *QUESTION 12 *NUMBER 81L8 *MOVU Q12 36L8 will transfer the field InterviewerNumber from the Sample table into Question 12. This could also be written as: *QUESTION 12 *ALPHA 81L8 *SAMPLEDATA InterviewerNumber *COPY Q12 [ InterviewerNumber ]

Page 19: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 11

4) Start external application with *RUN and STDRUN32.DLL: Runtype -1

In the NIPO ODIN questionnaire the command *RUN is used to start an external application. Use the STDRUN32.DLL to start a 32-bit application. See page 208 for more details.

5) Jump to question after non-response code

In the response-code description in the survey configuration file (survey.INI), a *GOTO can be specified. After using the response code, the system will immediately jump to the specified question. This option can be used to add some general question. Note that the questionnaire can not be closed anymore by the interviewer in this final block, so it should be ended with the same *ENDST <nr>.

Example 2-1 | Using *GOTO in a response code

In the survey.INI file: RESPC31T=Stop interview, jump to final questions *GOTO 9001 RESPC31=STOP,WRITE In the questionnaire: *QUESTION 9001 *CODES L1 Can I first ask one final question? 1: OK *ENDST 31

This feature was in fact already implemented in the NIPO Interview System 16-bit, but never documented.

Page 20: NIPO ODIN 5[1].11 CommandReference Rev20070123

12 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

6) *PAGE may be directly behind *IF, but *QUESTION not

After an *IF statement, you may directly specify an *PAGE with text. You may however NOT specify a *QUESTION.

Example 2-2 | Using *PAGE directly behind an *IF

Correct syntax: *IF [ TMP = 1 ] *PAGE This text will appear on a separate page Incorrect: *IF [ TMP = 2 ] *QUESTION 1 The syntax of the previous line is not correct. Therefore this text will also lead to an error. Correct: *QUESTION 1 *IF [ TMP = 2 ] This text will appear on a separate page

This feature was in fact already implemented in the NIPO Interview System 16-bit, but never documented.

7) System variable STOPWATCH[3] after appointment

When an interview is interrupted and resumed, the system variable STOPWATCH[3] will contain the actual interview time difference between 2 points in the questionnaire, excluding the time the interview was not active until the appointment was resumed.

2.3.2 Most important new features in NIPO Web Client

1) Using templates and stylesheets

In the NIPO Web Client you can configure templates and stylesheets. See the NIPO ODIN HTML Generator Scripter's Guide for details.

2) Using HTML (incl. JavaScript) in NIPO ODIN questionnaire

In the NIPO Web Client you can use HTML (including JavaScript) in the NIPO ODIN questionnaire. HTML commands start with <<<! and are closed with !>>>. See page 255 for more details.

Page 21: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 13

2.3.3 New commands in the NIPO ODIN Script Language 5.08

In the NIPO ODIN Script Language 5.08 (32-bit) the following options are implemented as compared to the NIPO Interview System 4.08 (ODINS.EXE 16-bit).

1) New command: *SAMPLEDATA

With this command, variables in the NIPO ODIN questionnaire can be linked automatically with fieldnames in the Sample table. The variables in the NIPO ODIN questionnaire will be filled automatically with the contents of the corresponding database field, when starting or resuming an interview. The database fields will be updated with the contents of the variable, when closing or interrupting an interview. See page 212 for more details.

2) New command: *SQLGET

With this command data can be retrieved from a database table. See page 229 for more details.

3) New command: *SQLPUT

With this command data can be written in a database table. See page 232 for more details.

4) New command: *ORDER

With this command the order of categories in a *CODES *FORM question or of a *REPEAT-loop can be set. See page 180 for more details.

Page 22: NIPO ODIN 5[1].11 CommandReference Rev20070123

14 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

5) Changed command: *PUT in combination with Sample table

With the NIPO ODIN command *PUT, you can retrieve data directly from the T-file by referring to a position instead of a question number or variable name. See page 189 for more details.

6) Changed command: *LANGUAGE name,RTL

It is now possible to created a multi-language questionnaire, combining languages with 'normal' direction and 'bi-directional languages (Hebrew, Arabic), with the ,RTL (right-to-left) setting. See page 140 for more details.

Page 23: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 15

2.4 Known Issues

2.4.1 Known issues in NIPO ODIN Script Language 5.08

See also the NIPO CATI Client 5.03 Technical Reference for differences between 16-bit and 32-bit CATI Clients.

1) Channel aware script uses current channel

When a survey runs in switch mode, note that data is only written after the questionnaire is completely finished. This means you can not start analysis of the data collected in the CATI (screener) part of the questionnaire. Also questions that are posed under condition of the CHANNEL variable, will be written only for the last-used channel (AS_IS, not AS_WAS).

Example 2-3 | Example of using Channel aware script, that will result in loss of data

** Spontaneous awareness is only asked when the channel is ** CATI, but some questions later a switch is forced.

*QUESTION 1 *CODES 61L5 *MULTI *IF [ _CHANNEL = _CATI_ ] What brands do you know? Int. do not help! 1: Brand A 2: Brand B 3: Brand C 4: Brand D 5: None *NMUL *NOTBACK

*IF [ _ISCATI ] *PUT SwitchText "Do you want to complete this interview via Internet?"

*IF [ _ISCATI ] *PUT SwitchText "Press enter to continue" *LIST 1 1: switch to web *ENDST 41 2: switch after this question 3: continue in CATI *LIST 2 4: continue in Web *QUESTION 2 *CODES 66L1 *LIST [ _CHANNEL ] *?SwitchText

*IF [ _ISCATI ] *PUT IntText "Int. read out!" *QUESTION 3 *CODES 67L5 *MULTI *CONTROL Q1 N What brands do you know? *?IntText 1: Brand A 2: Brand B 3: Brand C 4: Brand D 5: None *NMUL *NOCON

Page 24: NIPO ODIN 5[1].11 CommandReference Rev20070123

16 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

2) No more support for Dutch commands

In the Dutch version of the NIPO Interview System 4.08 it was possible to use commands in Dutch. This is no longer supported.

3) No more support for replaced commands

In version 4.06 of the NIPO ODIN, some commands have been replaced. The old commands are no longer supported.

Table 2-2 | Replaced commands that are no longer supported

Old command New command *OR *INCLUDE *XOR *EXCLUDE *MOVE *COPY *PLAYWAIT *WAITPLAY *REPETE *REPEAT

Page 25: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 17

4) No more support for improper use of ODIN syntax (‘illegal constructions’)

In the NIPO ODIN 4.08 it was possible to ‘trick’ the system, because the ODIN script was only interpreted when executed. As the NIPO ODIN script is now first loaded and interpreted by the Parser, this improper use of the NIPO ODIN syntax is not possible anymore.

Example 2-4 | Example 1 of improper ODIN syntax

*TEXTVARS FIGURE *PUT FIGURE "*PICT [NR]" *QUESTION 1 *CODES L1 "*?FIG" Commands are not allowed in a variable. Solution: *QUESTION 1 *CODES L1 *PICT [ NR ]

Example 2-5 | Example 2 of improper ODIN syntax

*TEXTVARS Condition *PUT Condition "*IF [Q1,1]" *QUESTION 1 *CODES L1 "*?Condition" Commands are not allowed in a variable. This was a feature that was advised against strongly, as it in fact made syntax checking impossible. Solution: *QUESTION 1 *CODES L1 *IF [ Q1,1 ]

Page 26: NIPO ODIN 5[1].11 CommandReference Rev20070123

18 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Example 2-6 | Example 3 of improper ODIN syntax

*TEXTVARS DONTKNOW *IF [ Q2,1 ] *PUT DONTKNOW "9: Don’t know" *QUESTION 3 *CODES L1 Do you own a VCR? 1: Yes 2: No *?DONTKNOW Code numbers are not allowed in a variable. Solution: Use *CONTROL on a *DUMMY question: *QUESTION 4 *CODES L1 *DUMMY *IF [ Q2,1 ] *EXCLUDE Q4 Q4 *ELSE *INCLUDE Q4 [ 9 ] *QUESTION 3 *CODES L1 *CONTROL Q4 N Do you own a VCR? 1: Yes 2: No 9: *?DONTKNOW If two non-response codes are required, a *MULTI question should be used for Q4. If the code numbers are for instance code 98 and 99, you will ‘spoil’ 97 positions, but you can use Q4 as many times as required (because the command *EXCLUDE Q4 Q4 will clear the contents of Q4).

Example 2-7 | Example 4 of improper ODIN syntax

*QUESTION 7 *CODES L1 *PLAY "movie.mpeg" Do you recognise this advertisement? 1: Yes 2: No *PLAY is not allowed as a question option. *PLAY is a command that should be specified on a separate line (or after a filter if required). Solution: *PLAY "movie.mpeg" *QUESTION 7 *CODES L1 Do you recognise this advertisement? 1: Yes 2: No

Page 27: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 19

Example 2-8 | Example 5 of improper ODIN syntax

*QUESTION 2 *NUMBER L1 *SAVE ScaleLen how long do you like the scale? *QUESTION 1 *FORM 1: *SCALE 61 [ScaleLen] 28 Solution: Technically this was possible, but it was on a methodological point of view not recommended, as you can not do a proper analysis on scales if the maximum is not fixed. For instance if a survey is running both in Holland, where on school you get marks from 1 to 10 (10 being the highest) and in the USA, where marks are from A to F (A being the highest), it’s better to use two different blocks of questions and recalculate them afterwards to be able to compare the results.

Page 28: NIPO ODIN 5[1].11 CommandReference Rev20070123

20 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

5) No more support for slashes to separate categories

Example 2-9 | Example of categories separated by slashes

*QUESTION 5 *CODES L20 *MULTI Which brand do you know? 1: Brand A /11: Brand K 2: Brand B /12: Brand L 3: Brand C /13: Brand M 19: None of these Solution: Use *AUTO and *NEWCOLUMN to create columns automatically: *QUESTION 5 *CODES L20 *MULTI *AUTO Which brand do you know? 1: Brand A 2: Brand B 3: Brand C 11: Brand K *NEWCOLUMN 12: Brand L 13: Brand M 19: None of these *STOPAUTO

Note: The columns will only be created when the page gets too ‘long’ and a vertical scrollbar would appear.

Page 29: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 21

6) Copy positions from T-file limited to field length

When copying positions from the T-file, the system will internally use the fields in the underlying database. This means that you can not copy positions that exceed the length of the database fields.

Example 2-10 | Copying positions from T-file that overlap database fields.

*PUT NAME 251L50 only 35 positions (251-285) will be copied, as the field DisplayField4 is 251L35.

*MOVA 101L50 201L50 only 15 positions (201-215) will be copied, as the field DisplayField2 is 181L35.

7) No more support for changing font of code numbers

Example 2-11 | improper use of *FONT statement before a code number

*FONT 2 1: Brand A

Work-around: Use the *FONT directly after the colon

Example 2-12 | *FONT statement should be used after the code number and colon

1: *FONT 2 Brand A

Note: Each new category will automatically reset the font to the default font of the questionnaire.

Page 30: NIPO ODIN 5[1].11 CommandReference Rev20070123

22 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

8) *AUTO only supported for NIPO CATI Client

The *AUTO command is not supported for the NIPO Web Client. Use the *NEWCOLUMN command to split the categories into columns.

9) Using *AUTO with too many categories

When using the *AUTO command in combination with more categories that will fit on the screen, even after creating columns, the system will sometimes create both a horizontal AND a vertical scroll bar, which will be even more confusing for the interviewer. Note: How many categories will fit on the screen by using columns, is depending on the length of the category texts. Each column will be as wide as the largest category text. Note 2: Using many categories in a question in combination with *AUTO might slow down showing the question on screen, especially when the question does not ‘fit’ on the screen (a horizontal or vertical scroll bar will appear). Work-around: Reduce the number of categories if possible, create several questions instead of one question or use a *LIST in combination with *NUMBER.

Page 31: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 23

10) Using *RANDOM on a *FORM question without category numbers

Example 2-13 | Example of using *RANDOM on a *FORM question, without category numbers

*QUESTION 6 *FORM *RANDOM Please fill in the form. A *NUMBER L2 B *NUMBER L2 C *NUMBER L2 D *NUMBER L2 In a *FORM question it was possible in the 16-bit ODIN (but not recommended!) to leave out the category numbers. In 32-bit ODIN, you always have to specify them. When *RANDOM is used, the fields may NOT be specified on the same line. Solution: *QUESTION 6 *FORM *RANDOM Please fill in the form. 1: A *NUMBER L2 2: B *NUMBER L2 3: C *NUMBER L2 4: D *NUMBER L2

Note: The syntax check in the NIPO ODIN Developer will give a warning message for fields in a *FORM question without a category number.

Page 32: NIPO ODIN 5[1].11 CommandReference Rev20070123

24 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

11) *INIT block is executed before Suspend Image

In the *INIT block it is possible to set some actions, that should be executed before resuming an interrupted interview. The A-file in the NIPO Interview System 16-bit contains only the contents of variables and the question number where to resume. The *INIT block is executed directly before the question where the interview is resumed. This made it possible to make checks on variables or questions that were filled in a previous session. The NIPO Interview System 32-bit uses a Suspend Image, containing the complete routing, instead of the A-file. When an interview is resumed, the engine will go through the whole questionnaire very quickly, filling in all previous answers. This way the system will see all changes in the questionnaire, like changed routing or new questions. The *INIT block is executed before running the Suspend Image. Sometimes this means the execution of the *INIT block in the NIPO Interview System 32-bit would lead to different results as compared to the 16-bit version, as variables that are created halfway the questionnaire are not filled yet. Showing some introduction questions or retrieving data from the telephone file or Sample table in the *INIT block, are different between NIPO Interview System 16-bit and 32-bit. Note: The feature of a Suspend Image is that you can go back in questions that were asked in a previous session and that you can start in the middle of a subroutine or *REPEAT loop. So in a lot of cases, no *INIT block is required in 32-bit. Tip: If the *INIT block is used to display some variables from a previous session (like a counter), you can of course store this counter in the telephone file or Sample table and use the *MOVU command to retrieve this data.

12) Selecting another CHARSET in the *FONT command

It is not (yet) possible to change the codepage within your questionnaire. Use unicode instead when the default character set of Windows does not support the (special) characters in your language.

Page 33: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 25

13) *NCLS repaints the question

When using *NCLS (no clear screen) in a questionnaire, the question will appear directly under the previous question. However the screen is repainted, removing the previous answer-box, so interviewers will not see it as the same question and will start reading at the top of the previous question. Work-around: Use *FORM questions with *SCALE to put several questions on the same screen. This also enabled the interviewer to change the previous answers if required.

14) Using duplicate interview numbers in T-file

When using a T-file in CATI, it is possible to set the interview numbers in pos. 52L8 before starting a survey. These numbers should be 8 digits (i.e. contain leading zeros, no spaces allowed) and should (obviously) be unique. The system will reject records with duplicate interviewnumbers and write them back with response-code 26. (This was already implemented in NIPO CATI System 2.00.) When a T-file is replaced by another T-file, the system is not able to check if interview numbers are duplicate. In previous versions of the NIPO CATI System the result would be that: • If the T-file contains the same telephone numbers: the respondents are called a second time. Only

when respondents start complaining, the supervisor notices that the T-file is not correct and can stop fieldwork.

• If the T-file contains other telephone numbers: the U-file and O-file will contain duplicate interviewnumbers. Thus only after the fieldwork is completed, the researcher will notice something went wrong.

In the NIPO CATI Client 5.03 with a T-file the SuspendImage (D-file record) is used to enable resuming an interview after an appointment. When the new T-file contains records with an interview number that was already completed (successful, refusal, etc), no new interview can be started with this interview number (as the SuspendImage of the interview would go through the routing of the previous session and immediately close the questionnaire the same way it closed before). When starting a survey the NIPO CATI/Web Master will check the T-file for available interviewnumbers with a matching D-record that is already completed. These numbers will create a warning message in the EventLog and the NIPO CATI Manager (See below for more details).

Page 34: NIPO ODIN 5[1].11 CommandReference Rev20070123

26 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

15) Re-using interviewnumbers that were already completed

In the NIPO CATI Client 5.03 with a Sample file (T-file) the SuspendImage (D-file record) is used to enable resuming an interview after an appointment. In some surveys it is required that interviews that were already completed (e.g., the respondent refused after starting the interview) should be called back. When initializing the Sample records (i.e. change the ResponseCode back to 00), there is already a SuspendImage with the same interviewnumber present and executed before the interview is resumed. As this SuspendImage was already completed, no new interview can be started with this interview number.

When the interviewer typed a refusal in the introduction screen, no D-record is created, so there will be no problem and T-records can be re-used. When starting a survey the NIPO CATI/Web Master will check the T-file for available interviewnumbers with a matching D-record that is already completed. These numbers will create a warning message in the EventLog and the NIPO CATI Manager. Note: When using a Sample table instead of a T-file, the SuspendImage may be initialized, so this known issue does not apply. Solution 1: When refusals have to be dialed again, initialize the ResponseCode, but also change the interviewnumber (for instance by putting a 9 in position 1L1). This way the numbers will be seen as new interviewnumbers. Solution 2: When stratification cells have changed and telephonenumbers with ResponseCode 21 have to be re-used, there are two options: • If the stratification was on input (data already available in the T-file before starting the interview),

the previous response code may be used. No D-record was created, so no problem with duplicates.

• If the stratification is on output (data that was collected in the questionnaire and *STRAT was used), respondents have already been contacted and told that they were not in your target group (and a D-record was created with that routing). If you initialize these numbers, also the interviewnumber has to be changed.

Solution 3: When T-records have a ResponseCode 20 (system error) they should only be initialized when you found the cause of the system error. If the system error was caused by communication problems between the NIPO CATI Master and the NIPO CATI Client, use the RECINT32.EXE tool to recover the interviews from the interviewer workstation or the Recover directory on the NIPOI CATI Master PC. Solution 4: Releasing numbers with more than 5 contacts. This can much easier be done by changing the maximum number of contacts (for this survey) in the NIPO CATI Manager. In the survey.INI file add a line: MAXCON=10 (minimum: 3)

Page 35: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 27

Solution 5: When a T-file should be used for recall-survey or a monthly panel survey, you should not use the same surveyname, but create a new survey (B1234B instead of B1234A).. Or make a backup of the complete directory and then remove all files, except for the Questionnaire and the T-file. Solution 6: In the survey.INI you can add the following setting: AlreadyCompletedCode=nn • When this setting is not specified (default) the T-records with a matching completed D-record will

be set to code 20 (system error). The T-record will be rejected (not used). • When a response-code is specified that is not available (default responsecodes 04, 05, 08 to 17

and 20), the T-records with completed D-record will be written with the specified response-code. The T-record will not be used.

• When code 0 is specified, the D-record of all T-records with completed D-record will not be used. The interview will start at the beginning of the questionnaire.

• When a responsecode is specified that is available (default responsecodes 01, 02, 03, 06 and 07), the D-records of will be set to 'not completed'. The interview will resume at the same question as it was interrupted.

Example 1: AlreadyCompletedCode=35

RESPC35T=Already completed interview in D-file

RESPC35=STOP

� T-records with completed D-record will be reported, rejected and set to code 35. � Interview 1234 (Demo32) already completed in D-record. � D-record 1234 (Demo32) not used. Example 2: AlreadyCompletedCode=36

RESPC36T=Already completed interview in D-file may be used again

RESPC36=AVAIL

� T-records with completed D-record will be reported, but are used. Interviews will resume at the question where they were interrupted.

� Interview 9038 (Demo32) already completed in D-record. � D-record 9038 (Demo32) made available. Example 3: AlreadyCompletedCode=0

� T-records with completed D-record will be reported, but are used. Interview will start at the beginning of the questionnaire

� Interview 9038 (Demo32) already completed in D-record. � D-record 9038 (Demo32) made available. The check will be executed when loading a survey. Fieldwork supervisor can check the messages and decide if fieldwork for the survey should be started or not.

Page 36: NIPO ODIN 5[1].11 CommandReference Rev20070123

28 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Solution 7: In all cases where you already started fieldwork, without realizing that the interviewnumbers were duplicates, a more drastic measure can be used: Delete the D-file. All interviews will start at the beginning of the questionnaire, also all appointments halfway the interview. Note: The system checks for duplicate interview numbers. It does not check duplicate telephone numbers! In the NIPO FMS it is possible to check and remove duplicate telephone numbers, when using a Sample table instead of a T-file. Note 2: When using Sample table instead of T-file, you can initialize the SuspendImage for the records that should be re-used. But if the SuspendImage is not cleared, the same rules apply. Note 3: Re-using a T-file/Sample table record with the AlreadyCompletedCode setting, will not remove the data record from the U- and the O-file, so the same interview number might be used twice. Make sure that you have to remove duplicates before starting the analysis.

Page 37: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 29

2.4.2 Known issues in Web Client

1) Display of *NUMBER *LIST question in box

A large list in a *NUMBER *LIST question will not be displayed correctly in some older Browser version. This is not a NIPO Software bug, but due to a bug in the Browser version. Avoid using long lists.

Page 38: NIPO ODIN 5[1].11 CommandReference Rev20070123
Page 39: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 31

3 How to use the NIPO ODIN Script Language

3.1 Naming conventions

Names of variables, subroutines, etc. have to be unique and may consist of a maximum of 12 characters. Only letters, underscores and numbers are allowed. The first character has to be a letter.

3.1.1 Questions

Question numbers are made up of positive numbers (>= 1). No alphabetic (except X, see below) or other characters are allowed. Each question number has to be unique within one (sub-) questionnaire. Question numbers can be used indifferently. Afterwards it is possible - but not necessary - to renumber the questionnaire (see NIPO ODIN Developer Manual). Instead of numbers you can also use the character X on each question. In this case the question numbers are not defined and routing has to be done afterwards. When you renumber the questions, question numbers will be inserted. The highest question number is 2147483647 (long integer, 231 -1). The *QUESTION command may be abbreviated to *Q.

Correct question numbers: Wrong question numbers: *QUESTION 1 *QUESTION 0 *QUESTION 2 *QUESTION –2 *Q 3 *QUEST 3 *QUESTION 2501 *QUESTION 25a *QUESTION 109 *QUESTION 10.9 *QUESTION 11001 *QUESTION 11.001 *QUESTION 102 *QUESTION 1-2 *QUESTION 2147473647 *QUESTION 2234567890 *QUESTION 1234567890 *QUESTION 1 234 567 890

Page 40: NIPO ODIN 5[1].11 CommandReference Rev20070123

32 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.1.2 Data fields

In the NIPO ODIN Scripting Language it is not necessary to define the starting position of a data field when you define a question. Only the length of the data field is required. ODIN keeps track of all the positions used in the questionnaire. In the NIPO ODIN Developer, you can automatically insert the starting positions by choosing Fix Positions from the Action menu (See NIPO ODIN Developer Manual). Omitting starting positions is not allowed for questions that refer to data fields in the T-file/Sample table. These starting positions always have to be defined. In a closed, but not multiple question the number of digits of the highest category number defines the minimum length of the data field. In a closed, multiple question the highest category number (i.e. not the number of categories) defines the minimum length of the data field. In numeric questions the minimum and maximum length are depending on the answer that you expect. The maximum size is app. 16 positions (including decimals, floating point). The highest position for a data field in NIPO ODIN 4.08 is 32.000 and in NIPO ODIN 5.08 is 99.999. Note: Make sure your analysis program can handle files of 99.999 positions. In the NIPO ODIN Developer 5.04, you can configure the maximum record length. Note 2: NIPO CATI/Web Master 5.01 and higher do no longer support unfixed NIPO ODIN questionnaires. Make sure to 'fix data positions' (in the NIPO ODIN Developer) before start of fieldwork.

Page 41: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 33

3.1.3 Answer categories

Answer categories are recognised by a number followed by a colon. This number has to be the first non-blank character at the beginning of a line. Category numbers can be used indifferently. Category numbers have to be unique within a question. If the category text does not fit on a line, it is allowed to continue on the next line. All the following lines will be considered as part of the category until the first blank line. The highest category number is 2147483647 (long integer, 231 -1). Example: *QUESTION 1 *CODES L2 This is the question text Question text may be written in long lines, that will automatically be truncated at complete words, when the line exceeds the screen width. Question text may contain empty lines, that will appear on screen, except when the *AUTO command is used AND the text is too long to fit on the screen. 1: This is category one 2: This is category two 5: This is category five 7: This is category seven running over three lines This line will be considered as text 11: This is category eleven *END Note: Code number 0 (zero) is only supported for *CODES questions without *MULTI. Also *OPEN is not allowed after code 0. When exporting a NIPO ODIN Questionnaire to Triple-S using code 0 is not allowed, but codes may be 'shifted' during export (1 is added to each code number).

Page 42: NIPO ODIN 5[1].11 CommandReference Rev20070123

34 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.1.4 Slashes

In NIPO ODIN 5.08 the forward slash (/) can not be used to separate categories.

3.1.5 Backslashes

Use the back-slash (\) as the very last character on a line to continue a command line on the next physical line. The next line will be interpreted as if written on the same line. Categories or texts can be written on the next line without this backslash, the category options however should be written on the same line as the category number (or use the backslash on this line).

Page 43: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 35

3.1.6 Using variables

You can store a text or a value in a variable, to display in a question or to use for routing. Variables have to be defined (with *VARS and *TEXTVARS, see below) before they may be used. A variable can be filled with the *PUT or the *SAVE command. It can be displayed with the *? command. Note that the contents of the variable is depending on the type of variable. A numeric variable (*VARS) may contain any value (integer). Use the *FORMAT command to change the appearance, when displaying a numeric variable. When text or a text variable is saved in a numeric variable, the NIPO ODIN syntax check will give a warning message. A text variables *TEXTVARS may contain a text of unlimited length. The text may contain CR/LF, that will be used when displaying the variable. Variables may not contain NIPO ODIN commands, except for *FONT. Important note: The contents of variables is not stored in the data file automatically. So make sure that if you base questions or routing on a variable, you store this information. Note 2: *SAVE as a question option may not be combined with *SAVE as a category option. Note 3: Do not use the *SAVE command on a *CODES *MULTI question. A text variable may contain only one text at a time (although this text may be of unlimited length).

Page 44: NIPO ODIN 5[1].11 CommandReference Rev20070123

36 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Example 1: *TEXTVARS Gender *QUESTION 1 *CODES L1 *SAVE Gender Int. type gender of respondent 1: Male 2: Female If code 1 is selected, the (text) variable Gender will contain the text 'Male'. If code 2 is selected, the variable Gender will contain the text 'Female'. Example 2: *VARS Gender *QUESTION 1 *CODES L1 *SAVE Gender Int. type gender of respondent 1: Male 2: Female If code 1 is selected, the (numeric) variable Gender will contain the value '1'. If code 2 is selected, the variable Gender will contain the value '2'. Example 3: *TEXTVARS Gender *IF [ Q1,1 ] *PUT Gender "man" *ELSE *PUT Gender "woman" If question 1 contains code 1, the (text) variable Gender will contain the text 'man'. If not, the variable Gender will contain the text 'woman'. Example 4: *VARS Gender *IF [ Q1,1 ] *PUT Gender "man" *ELSE *PUT Gender "woman" The syntax check will give a warning message, because a text is written in a numeric variable. After the filter is checked, the contents of the variable will be 1 (regardless of the outcome of the filter).

Page 45: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 37

Example 5: *VARS Age *QUESTION 2 *NUMBER L2 *SAVE Age What is your age? After question 2 is answered, the (numeric) variable Age will contain the value that was entered. Example 6: *TEXTVARS Age *QUESTION 2 *CODES L1 *SAVE Age What is your age? 1: 18 - 24 years 2: 25 - 34 years 3: 35 - 44 years 4: 45 - 54 years 5: 55 - 64 years 6: 65 years or older 9: won't tell After question 2 is answered, the (text) variable Age will contain the category text of the code that was selected. Example 7: *VARS Age *QUESTION 2 *CODES L1 *SAVE Age What is your age? 1: 18-24 years 2: 25-34 years 3: 35-44 years 4: 45-54 years 5: 55-64 years 6: 65 years or older 9: won't tell After question 2 is answered, the (numeric) variable Age will contain the code number of the code that was selected.

Page 46: NIPO ODIN 5[1].11 CommandReference Rev20070123

38 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Example 8: *VARS Age,CurrentYear *QUESTION 21 *NUMBER L4 *DUMMY *DATE Q21 *PUT CurrentYear [ Q21 ] *QUESTION 22 *NUMBER L4 *MIN 1900 *MAX [CurrentYear] \

*BUT 99 "Won't tell" In what year are you born? *IF [ Q3<>99 ] *PUT Age [ CurrentYear – Q22 ] *ELSE *PUT Age [99] *FORMAT 2.0 *QUESTION 23 *IF [ Age <> 99 ] So your age is *?Age years (This example obviously is only true when the respondent already had his/her birthday) Example 9: *VARS SelectBrand *TEXTVARS Brand *QUESTION 31 *CODES L1 *DUMMY Here 3 brands are specified. The system will select 1 brand randomly. 1: Brand A 2: Brand B 3: Brand C ** Select a number below 3 and then add 1 to the result ** (this will randomly select 1 through 3) *PUT SelectBrand [ (RAN 3) + 1 ] ** Now put the category text of the dummy question in ** the text variable Brand *IF [ SelectBrand = 1 ] *PUT Brand Q31,1 *IF [ SelectBrand = 2 ] *PUT Brand Q31,2 *IF [ SelectBrand = 3 ] *PUT Brand Q31,3 ** Now save the contents of SelectBrand in the datafile. ** If you forget to do this, you will not be able to know, ** which brand was selected in the analysis. *COPY Q31 [ SelectBrand ]

Page 47: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 39

3.1.7 System variables: 0-9

Ten system variables can be used in ODIN next to (and in the same way as) user-defines variables. These system variables are numbered (0-9) and do not have to be defined before they are used. Example: *PUT 7 “chicken” *QUESTION 1 Do you often eat *? 7 In this example, the word “chicken” is stored in system variable 7 and is displayed in question 1.

Page 48: NIPO ODIN 5[1].11 CommandReference Rev20070123

40 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.1.8 System variables: timers

Timers can be used by means of the system (array) variable STOPWATCH[3]. This is an array that consists of three elements. You do not have to define system variables. • STOPWATCH[1] receives the time in seconds till you press a code in a closed question, a value in

a numeric question or an alphanumerical character in a text question. This timer will be reset with every new question.

• STOPWATCH[2] receives the time in seconds till you press the [OK] button. This timer will also be reset with every new question.

• STOPWATCH[3] can be used as a timer that you have to reset yourself by putting it to 0. This timer starts as soon as the interview is started or each time you reset it. If you don’t reset the timer it will run till the end of the questionnaire.

Example: *VARS STOPWATCH[3] *PUT STOPWATCH[3] [0] *QUESTION 1 *CODES L1 The time till you select a category will be stored in STOPWATCH[1] The time till you press [OK] will be stored in STOPWATCH[2] 1: Yes 2: No *PAGE The time till you selected a category was: *? STOPWATCH[1] seconds The time till you pressed [OK] was : *? STOPWATCH[2] seconds *QUESTION 2 *CODES L1 Int.: this was the last question. Please, type a '1' to finish the interview. 1: 1 *PAGE The total time to conduct this interview was: *? STOPWATCH[3] *END Result after question 1 has been answered:

Page 49: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 41

3.1.9 System variables: miscellaneous

Contrary to earlier versions, all system variables do not have to be defined first. Other system variables include: CMDLINE When you use the *RUN command with STDRUN.DLL or STDRUN32.DLL, the name of the external application has to be stored in this variable. INPUTDATA When you use the *RUN command with STDRUN.DLL or STDRUN32.DLL, data that has to be transferred to the external application has to be stored in this variable. RUNTYPE When you use the *RUN command, ODIN will wait for the external application to finish before you can continue your interview. If you want ODIN to return to the interview without waiting, you have to set this variable to 1 (default = 0). If the external application you call is a 32-bit application, RUNTYPE has to be set to 10 (wait) or 11 (continue). LANGUAGE When you use *LANGUAGE, this variable contains the name of the language section that is operative. PRETEL When you use the autodial facility, this variable can be used to send a string together with the telephone number. This is useful when, for example, a telephone exchange logs the calls for administrative reasons. AGENTNAME The variable AGENTNAME will automatically contain the interviewer name, as specified in the interviewer file resp. the interviewer database. Contrary to all other variables, this variable can also be displayed in the introduction screen. For more information about using variables, see the commands *TEXTVARS, *VARS and *?. CONJTXT[n] (in *CONJ) See the NIPO Conjoint Measurement in NIPO ODIN Script Language 5.09 Manual.

Page 50: NIPO ODIN 5[1].11 CommandReference Rev20070123

42 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.1.10 System variables for Channel Aware scripting

Only supported in NIPO ODIN 5.08 and higher. The system variables _ISCATI and _ISCAWI can be used for filtering questions that should appear only for CATI or CAWI.

Example 3-1 | Channel aware scripting

*QUESTION 1 *CODES 61L1 *IF [ _ISCATI ] This question will appear only on a NIPO CATI Client 1: OK

*QUESTION 2 *CODES 62L1 *IF [ _ISCAWI ] This question will appear only on a Web Client 1: OK

Note: System variables, such as _ISCATI and _ISCAWI, do not need to be defined in the NIPO ODIN Questionnaire. The following system variables are available:

Table 3-1 | Channel aware system variables

Variable Value in case of CATI

Value in case of CAWI (Web)

Value in case of CAPI

Value in case of CASI (Panel)

Value when running stand-alone

_ISCATI 1 0 0 0 0 _ISCAWI 0 1 0 0 0 _ISCAPI 0 0 1 0 0 _ISCASI 0 0 0 1 0 _CHANNEL 1 2 3 4 0

Page 51: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 43

The following constants are available:

Table 3-2 | Channel aware constants

Constant Value _CATI_ 1 _CAWI_ 2 _CAPI_ 3 _CASI_ 4

Note: You may not change the contents of read-only system variables and constants in the NIPO ODIN questionnaire. Note 2: The channel aware system variables are written in capitals and start with an underscore. The channel aware constants are written in capitals and start and end with an underscore.

Page 52: NIPO ODIN 5[1].11 CommandReference Rev20070123

44 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.1.11 Operators: repeat numbers

Another special variable is ?R that you don’t have to define either. This is a variable that keeps track of the repetition number inside a repeat block. This variable can only be used inside a repeat block and can not be altered. Example: *TEXTVARS paper *QUESTION 2 *CODES 61L7 *MULTI Which of the following newspapers do you know? 1: La Repubblica 2: La Stanza 3: The Mirror 4: The New York Times 5: Le Figaro 6: La Libération 7: None *NMUL *REPEAT 6 *FIELD 68L12 *PUT paper Q2,?R *QUESTION 3 *CODES 1 *IF [ Q2 , ?R ] How often do you read *? Paper? 1: Daily 2: Once a week 3: Once a month 4: Don’t know *QUESTION 4 *CODES 2 *IF [ ?R = 4 ] Did you read the special x-mas edition of the New York Times? 1: Yes 2: No *ENDREP

Page 53: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 45

In nested repeat blocks you have to transfer the repeat number (?R) of the outer block to a numeric variable first to be able to use it in the inner block. Example: *VARS X,Y,Z *REPEAT 3 *PUT X [?R] *REPEAT 2 *PUT Y [?R] ** this line is only necessary to display the value of ?R *PUT Z [X+?R] ** or *PUT Z [X+Y] *QUESTION 1 *?X + *?Y = *?Z *ENDREP *ENDREP

Page 54: NIPO ODIN 5[1].11 CommandReference Rev20070123

46 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.1.12 Expressions

ODIN supports the use of expressions in questionnaires. An expression may indicate all sorts of data but will always result in a value. Expressions are used in two different ways: First as a Boolean; the result of the expression is false (the expression has as result value 0) or true (the expression has as result the value 1). The second use of expressions is to make calculations or manipulations with a number as result. Some commands will require or allow for an expression as argument. Expressions have to be enclosed in square brackets. The expressions will be evaluated from left to right. Operators apply to the operands immediately left and right. You can however group by means of brackets. Following is a list of possible operators:

Table 3-3 | Expression operators

Operator Description Usage Result Q question reference Qn contents of question n L length of field nLm position n, length m F cell-test QxFn contents of cell number n within form-

question x , code-test Qx,n 1 if present, otherwise 0 - code-string Qx,n-m code-string - minus sign -n negation of n # not #Qx 1 if no answer in question x, otherwise 0 # negation #n 1 if value n not true,

otherwise 0 + add n+m sum of n and m - subtract n-m difference of n and m * multiply n*m product of n and m / divide n/m division of n and m <> not equal to n<>m

= equal to n=m

< less than n<m

> greater than n>m

<= less or equal n<=m

>= greater or equal n>=m

1 if true, otherwise 0

& logical AND n&m 1 if both not 0, otherwise 0 \ logical OR n\m 0 if both 0, otherwise 1

Page 55: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 47

Operator Description Usage Result RAN random value RAN n random value from 0 up unto and

including n-1 ?R repetition number ?R current (logical) repetition number. ?A list reference in conjoint

measurement

?A feature of A-list

?B list reference in conjoint measurement

?B feature of B-list

?Y Height of a picture or

movie

?Y height in pixels

TO Range n1 TO n2 Range n1 through n2 ; separate ranges n1 TO n2 ; n3 TO n4 Range n1 through n2 or n3 through n4 QxM order of mentions in a

*MULTI question

QxM only possible in combination with *ORDER

QxR display order of a

question, when using

*RAN, *INV or *ROT

QxR only possible in combination with

*ORDER

QxMy order of mention number y

in a *MULTI question

QxMy

QxRy display order number y of

a question, when using *RAN, *INV or *ROT

QxRy

In this overview the following applies: 1. question reference The reference to a question by means of Qn where n represents the question number. If it concerns a code test then more code values may occur; these will be treated as a logical or. Example: Q1,1 2. code-string Any given number of codes separated by a comma or a code range indicated by a dash. Valid codes consist of the numbers 0 up to and including 9 and the character B that represents a blank (space). Examples Q2,B Q3,1-5 Q4,2,4,8,12

Page 56: NIPO ODIN 5[1].11 CommandReference Rev20070123

48 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3. n • number • calculated number • direct text enclosed in double quotes with possibly the embedded contents of a variable • variable name; the contents of the variable will be used • RAN n; a random number with as limit n. I.e. a number from 0 up to and including n-1 • ?R; a system variable only available inside a repetition block. It will contain the current

repetition number. See also system variables. Examples: Q5=3 Q6=Q7-3 Q8=”Amsterdam” 4. Position reference

The reference to a position in the data file. Define starting position and field length to distinguish position references from numbers. It is recommended to use question references instead of position references.

Example: 61L2=99 Note: ?A and ?B are only available within the NIPO Conjoint Measurement (NIPO ODIN command *CONJ ... *ENDCONJ) Note: 'TO' and ';' are only available in expression with *RANGE.

Page 57: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 49

3.1.13 Examples of expressions

[ 100 ]

The result is equal to the value 100. [ RAN 100 ]

The result is a value from 0 up to and including 99. [ TOTAL[3] ]

The result is equal to the value stored in the third element of the number array TOTAL. [ TOTAL2 * 3 + 10 ]

The result is equal to the value stored in the variable TOTAL2, multiplied by 3 and then increased by 10. [ Q11,1 ]

The result is 1 when code 1 in question 11 was stated. [ Q12,1,2,3 ]

The result is 1 when code 1, 2 or 3 in question 12 were stated. [ Q13 >= 18 ]

The result is 1 when question 13 is 18 or higher. [ Q11,1 \ Q12,1,2,3 ]

The result is 1 when code 1 in question 11 was stated or code 1, 2 or 3 in question 12 were stated. [ Q12,1,2,3 & Q13 >= 18 ]

The result is 1 when code 1, 2 or 3 in question 12 were stated and question 13 is 18 or higher. [ Q12 ]

The result is equal to the value of the (highest) answer code given at question 12; if unanswered the result will be 0. [ Q13 = Q14 ]

The result is 1 when the value of question 13 is equal to the value of question 14. [ #(Q5 \ Q6) & Q7 = 1 ]

The result is 1 if question 5 and 6 both are unanswered and question 7 contains value 1. The brackets are necessary to have the # operator work on the grouped expression instead of on question 5 alone. [ Q5 , 1 TO 3 ]

The result is 1 if question 5 contains code 1 through 3 (codes 1, 2 or 3). [ Q5 , 1 TO 3 ; 6 TO 8]

The result is 1 if question 5 contains code 1 through 3 or 6 through 8 (codes 1, 2, 3, 6, 7 or 8). Note the semi-colon separating the ranges.

Page 58: NIPO ODIN 5[1].11 CommandReference Rev20070123

50 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.1.14 Often made mistakes in (filter) expressions:

*IF [20 < Q2 < 40] This would first check if 20 is smaller than Q2,

result will be true 1 or false 0

then it checks if 0 or 1 is smaller than 40,

which is always true.

proper syntax:

*IF [ Q2 > 20 & Q2 < 40 ]

*IF [Q20,3\4\5] This checks if Q20 has code 3.

then it checks if 4 is true (yes, because it’s not 0)

then if 5 is true (yes, because it’s not 0)

either of these 3 expressions should be true

which is always the case.

proper syntax:

*IF [ Q20,3,4,5 ]

*IF [ Q21=1,2,3 ] This compares Q21 with 1,2,3

(column 1 has code 2 or 3),

which is either true 1 or false 0,

so it checks if Q21 has a 1 or a 0.

proper syntax:

*IF [ Q21,1,2,3 ] In general: use comma to check *CODES questions.

Use equal sign or larger, smaller to check

*NUMBER questions.

*IF [ Q21 = 1-3 ] This compares Q21 with 1 minus 3,

so it checks if Q21 is -2.

proper syntax:

*IF [ Q21,1-3 ]

*IF [ #Q21 = 1 ] This first checks if Q21 is empty (#Q21)

which is either true 1 or false 0,

and then compare this with 1.

proper syntax:

*IF [ #(Q21 = 1) ] Note that *IF [ #Q21,1,2 ]

is no problem, because of the special handling

of the comma in expressions

Page 59: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 51

*INCLUDE Q1 [ 1 TO 5 ; 9 ]

The TO and semicolon ; are only available

within the *RANGE command.

proper syntax:

*INCLUDE Q1 [ 1 ] *INCLUDE Q1 [ 2 ] *INCLUDE Q1 [ 3 ] *INCLUDE Q1 [ 4 ] *INCLUDE Q1 [ 5 ] *INCLUDE Q1 [ 9 ]

Page 60: NIPO ODIN 5[1].11 CommandReference Rev20070123

52 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.2 Stratification (Quota)

A stratification file (S-file) is used to divide the Sample into several strata or sub-Samples, in which a limited number of interviews must be realised. Stratification is only possible if a T-file/Sample table exists. Each stratum must be defined in one separate record with the following format: stratum field offset: characteristic (limit) description...

Stratification amounts to storing a property, which is characteristic for a group of respondents, in the stratum field of their telephone records. Each stratum must have a unique characteristic. The characteristics may be stored in the Sample records before the interview program is called (stratification on input) or may be stored by the system during an interview (stratification on output). The characteristic may be formed by a certain value or text. Characteristics containing blanks must be enclosed in quotation marks. A characteristic may occupy 79 positions. The description of a stratum may consist of up to 80 characters. Once a stratification limit is exceeded, the telephone records in that stratification cell are blocked (ResponseCode 21), so new interviews cannot take place in that particular stratification cell. When using a T-file blocked Sample records will no longer be drawn, not even after the stratification limit has been changed afterwards. When using a Sample table blocked Sample records will no longer be drawn, but will be released when the stratification limit has been changed afterwards via the NIPO CATI/Web Manager. When stratification criteria are not known in advance (for instance: age and gender) only after starting the interview you can check the stratum. See the NIPO ODIN commands *ADDRESS, *MOVA and *STRAT.

Page 61: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 53

Example 3-2 | Example of a Survey stratification file

1 : " 020" (100) Amsterdam 1 : " 010" (100) Rotterdam 1 : " 070" (100) The Hague 286 : 1 (150) Males 286 : 2 (150) Females 287 : 1 (100) 18 - 34 years 287 : 2 (100) 35 - 54 years 287 : 3 (100) 55 years or older 286 : 11 (50) Males - 18 - 34 years 286 : 12 (50) Males - 35 - 54 years 286 : 13 (50) Males - 55 years or older 286 : 21 (50) Females - 18 - 34 years 286 : 22 (50) Females - 35 - 54 years 286 : 23 (50) Females - 55 years or older

The first three strata are characterised by the presence of the text " 020" in field 1-6 of the Sample record (where the area code is stored). It is limited to 100 successful interviews. Then 010 for Rotterdam (maximum 100 successful interviews) and 070 for The Hague (maximum 100). The second stratum criterion is gender. It is characterised by the value 1 in field 286 of the Sample records for males and value 2 for females. Its limit is 150 successful interviews each. The third criterion is age-groups. It is characterised by value 1 in field 287 for people up to 34, value 2 for people of 35 to 54 and value 3 for people of 55 and older. Finally there is the combined stratum criterion for gender and age. Each of the six combinations has a target of 50 successful interviews. Note: In a stratification file for the NIPO Fieldwork System 1.03 no empty lines or trailing returns are allowed. The NIPO CATI Client will give an error message if empty lines exist and can not be executed. In the NIPO CAPI System empty lines, lines containing text only and trailing returns are allowed. Tip: Make sure the T-file is long enough to contain the stratification data. In the NIPO Fieldwork System 1.03 Telephone file position 286 and on are free for own use, in the NIPO CAPI System Address file position 776 and on are free. Other positions may also be used, apart from all system positions (for instance you can not overwrite the interview number or the response code).

Page 62: NIPO ODIN 5[1].11 CommandReference Rev20070123

54 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.2.1 Changed syntax for S-file in the NIPO Fieldwork System 1.03

The NIPO Fieldwork System 1.03 will change the syntax of stratification files automatically. Instead of positions in the T-file, the stratification criteria are described as database fields. Also when a T-file is used, the system will interpret the T-file internally as if it were a Sample table. All positions in the T-file have a database field name. Note: You may still specify the stratification as data positions, because the NIPO Fieldwork System 1.03 will transform the S-file automatically.

Example 3-3 | Example of stratification file in the NIPO Fieldwork System 1.03

Stratification criteria in CATI 2.04 format: 286: 1 (6) Males 286: 2 (6) Females will be transformed into: TTExtraData:1 ( 6) Males TTExtraData:2 ( 6) Females

Note: Stratification criteria may not overlap database fields, i.e. the positions must be converted into the same field in the Sample table.

Example 3-4 | Example of stratification that overlaps Sample fields

285: 11 (6) region 1 - Males 285: 12 (6) region 1 - Females This would try to check position 285-286, but position 285 is the last position of DisplayField4 and position 286 is the first position in the field ExtraData.

Page 63: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 55

Example 3-5 | Example 2 of stratification file in the NIPO Fieldwork System 1.03

Stratification criteria in CATI 2.04 format: 246: 1 (6) Males 246: 2 (6) Females 247 : 1 (2) 16 - 24 247 : 2 (2) 25 - 34 247 : 3 (2) 35 - 44 247 : 4 (2) 45 - 54 247 : 5 (2) 55 - 64 247 : 6 (2) 65+ 246 : 11 (1) Male - 16 - 24 246 : 12 (1) Male - 25 - 34 246 : 13 (1) Male - 35 - 44 246 : 14 (1) Male - 45 - 54 246 : 15 (1) Male - 55 - 64 246 : 16 (1) Male - 65+ 246 : 21 (1) Female - 16 - 24 246 : 22 (1) Female - 25 - 34 246 : 23 (1) Female - 35 - 44 246 : 24 (1) Female - 45 - 54 246 : 25 (1) Female - 55 - 64 246 : 26 (1) Female - 65+ 250 : 1 (12) Total will be transformed into: TTDisplayField3+30:1 ( 6) Males TTDisplayField3+30:2 ( 6) Females TTDisplayField3+31:1 ( 2) 16 - 24 TTDisplayField3+31:2 ( 2) 25 – 34 TTDisplayField3+31:3 ( 2) 35 - 44 TTDisplayField3+31:4 ( 2) 45 - 54 TTDisplayField3+31:5 ( 2) 55 - 64 TTDisplayField3+31:6 ( 2) 65+ TTDisplayField3+30:11 ( 1) Male - 16 - 24 TTDisplayField3+30:12 ( 1) Male - 25 - 34 TTDisplayField3+30:13 ( 1) Male - 35 - 44 TTDisplayField3+30:14 ( 1) Male - 45 - 54 TTDisplayField3+30:15 ( 1) Male - 55 - 64 TTDisplayField3+30:16 ( 1) Male - 65+ TTDisplayField3+30:21 ( 1) Female - 16 - 24 TTDisplayField3+30:22 ( 1) Female - 25 - 34 TTDisplayField3+30:23 ( 1) Female - 35 - 44 TTDisplayField3+30:24 ( 1) Female - 45 - 54 TTDisplayField3+30:25 ( 1) Female - 55 - 64 TTDisplayField3+30:26 ( 1) Female - 65+ TTDisplayField3+34:1 ( 12) Total

Page 64: NIPO ODIN 5[1].11 CommandReference Rev20070123

56 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.2.2 Stratification file (S-file) when using Sample table

In case a Sample table is used instead of a T-file, the stratification can refer to the table fieldnames.

Example 3-6 | Example of a Survey stratification file when using Sample table

Region : 1 (100) North Region : 2 (100) East Region : 3 (100) South Region : 4 (100) West Gender : 1 (200) Males Gender : 2 (200) Females Age : 1 (100) 18 - 34 years Age : 2 (200) 35 - 54 years Age : 3 (100) 55 years or older GenderPlusAge : 11 (055) Males - 18 - 34 years GenderPlusAge : 12 (055) Males - 35 - 54 years GenderPlusAge : 13 (110) Males - 55 years or older GenderPlusAge : 21 (110) Females - 18 - 34 years GenderPlusAge : 22 (055) Females - 35 - 54 years GenderPlusAge : 23 (055) Females - 55 years or older

Note: Combinations of fields have to be created by combining the strings in a new field. It is not (yet) possible to create expressions.

Page 65: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 57

3.2.3 Stratification files (S-files) for omnibus surveys (using T-files)

In case an Omnibus survey, you can make a separate stratification for each sub-survey. The main survey (the first NIPO ODIN questionnaire in the survey) has a normal stratification. Different from ordinary surveys is the way stratification is used and where the output data is stored. Stratification information (the codes) is stored in the telephone file. Because only one telephone file is used, Omnibus survey uses stratification in a different way. For each sub survey 12 positions are reserved in the telephone file to store stratification data. The T-file field reserved for the stratification of a particular respondent may look like the example printed below. Each field for the stratification is preceded by the survey name. The NIPO CATI/Web Master uses this name to determine the quota fillings per sub survey. This example was taken from a record in the telephone file, starting at position 251.

A1001 11 A1002 112 A1003 12

The first seven positions contain the name of the sub survey. The ‘1’ in the next position means that the respondent answered the sub survey successfully. If stratification is defined on this position, the moment the stratification is full, the sub survey is no longer presented to the interviewer. The other positions contain stratification information. Stratification files for all subsurvey can refer to (relative) position 1, that will contain a value 1 when successful or to (relative) position 2-12, that can be filled in the NIPO ODIN questionnaire

Example 3-7 | Example of a Stratification file for Omnibus surveys

1: 1 (100) Total subsurvey about PC 1: 2 ( 0) Does not own a PC 2: 01 ( 20) Philips 2: 02 ( 20) Sony 2: 03 ( 20) Compaq 2: 19 ( 20) Other 2: 20 ( 20) Don't know

Page 66: NIPO ODIN 5[1].11 CommandReference Rev20070123

58 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

After starting the survey, the NIPO CATI/Web Master, will rewrite the stratification file:

Example 3-8 | Example of a Stratification file for Omnibus surveys (with changed syntax)

STSuccess: 1 (100) Subsurvey about PC STSuccess: 2 ( 0) Does not own a PC STData: 01 ( 20) Philips STData: 02 ( 20) Sony STData: 03 ( 20) Compaq STData: 19 ( 20) Other STData: 20 ( 20) Don't know

Example 3-9 | Example of a NIPO ODIN questionnaire for Omnibus surveys

*QUESTION 201 *CODES 71L1 Do you have a PC at home? 1: Yes 2: No *** If no PC: set relative position 1 to value 2 *** (this way the non-owners will NOT be counted as successful) *IF [Q201,2] *MOVA 1L1 Q201 *ABORT *QUESTION 202 *CODES 72L2 *IF [Q201,1] What is the brand of your PC? 1: Philips 2: Sony 3: Compaq 19: Other *OPEN 20: Don't know *** Copy Q202 into relative position 2L2 *MOVA 2L1 Q202 *** Check if stratification is already filled for this PC-brand *STRAT 98

For an example omnibus survey, see the questionnaire files on the CD-ROM delivered by NIPO, in the folder: [Drive]\Survey files\Omnibus

Page 67: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 59

3.2.4 Omnibus survey, using Sample tables and Omnibus tables

When using a Sample table instead of a telephone file for an omnibus survey, you have to create an Omnibus (or SubSample) table as well. The set-up is basically the same as when working with T-files, with some differences.

• The NIPO CATI/Web Master will write a new record in the Omnibus table for each sub-questionnaire with a stratification file. This will contain the following information: InterviewNumber Questionnairename Success

• A field STData (varchar 12) will be available, when the following setting is written in the

registry of the NIPO CATI/Web Master: STData:STData

• This field STData can be filled in the sub-questionnaires, by using the *COPY command with

position 2-12.

• *SAMPLEDATA in the first questionnaire of an Omnibus, refers to database fields in the Sample table.

• *SAMPLEDATA in sub-questionnaires (all but the first) of the Omnibus, refers to database

fields in the Omnibus table.

• Stratification in sub-questionnaires can be based on fields in the Omnibus table or on fields in the Sample table. Use *SAMPLEDATA in the NIPO ODIN questionnaire or use the survey.INI settings RespondentFields and/or RespondentSubFields.

Note: *SAVE varname will save the text of the category in your database field. Use *PUT varname [Q1] to store the code number.

Page 68: NIPO ODIN 5[1].11 CommandReference Rev20070123

60 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

3.2.5 Stratification file (S-file) for Web Clients

1) Non-anonymous surveys

Stratification for Web Clients works the same way as stratification for the NIPO CATI Client with a Sample table. Note that if you use stratification on input (data already known before starting an interview), the address will be blocked if a stratification cell is filled, i.e. the respondent will be send to a relocation page. Make sure that this is what you want: a respondent gets invited to co-operate on a survey, when he finally clicks on the link to start the questionnaire, it might not be very nice to tell the respondent, that he/she is not required anymore. Stratification on output may also be used: Each contact will update the existing record for that respondent in the Sample table. Use the *SAMPLEDATA or *ADDRESS command in the NIPO ODIN questionnaire to fill database fields and the *STRAT command to check your stratification cells and then jump to a specific question. Note: Do not use the *SQLPUT command to update your Sample table, as the system will not 'recognize' the Sample record is changed and thus can not check the stratification cell.

2) Anonymous surveys

When a survey is send out anonymously (i.e. with a SurveyID instead of an ID), you can (obviously) only use stratification on output, as no reference can be made to the original Sample record of the specific respondent. For each contact a new (empty) record is created in the Sample table. Use the *SAMPLEDATA or *ADDRESS command in the NIPO ODIN questionnaire to fill database fields and the *STRAT command to check your stratification cells and then jump to a specific question.

3) Surveys started from a URL

When a survey is started from a URL (an address published on a website), stratification can only be used when an (empty) Sample table is created first. For each contact a new (empty) record is created in the Sample table. Use the *SAMPLEDATA or *ADDRESS command in the NIPO ODIN questionnaire to fill database fields and the *STRAT command to check your stratification cells and then jump to a specific question. When no Sample table is created, no stratification is possible.

Page 69: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 61

3.3 Lay-out of *GRID and *SCALE questions using [tab] and *TAB

This item is not actually an erratum, but an extra explanation on how to optimize using *SCALE and *GRID questions. When using *GRID or *SCALE in a *FORM question, the layout can be set by using [tab] characters and the *TAB command.

• The system will divide the screen into columns for each value specified after *TAB. • When the system encounters a [tab] character, the text before that will be displayed in the

previous column. • Use [tab][tab] to fill the previous text over two columns. • Use [tab][space][tab] to leave a column empty. • Do not use any superfluous [tab] characters. • Specify the *SCALE or *GRID (without options) behind the field cell texts in the *LANGUAGE

sections, in order to define the location of the boxes in the other languages. Example: *QUESTION 1 *FORM 1: Statement 1 in English[tab]*SCALE L1 5 10[tab][space] *LANGUAGE "German" *QUESTION 1 1: Aussage 1 auf Deutsch[tab]*SCALE[tab][space]

• Make sure that the *LANGUAGE sections use the same amount of [tab] and [space] characters.

• The system will use a column for each scale-box (or radio-button) that is created by the *SCALE or *GRID command.

• For each box a column should be defined with *TAB. • When there should be text (or empty space) before or after the boxes, add extra columns as

required. • Texts above boxes should be specified separated by [tab] characters. • Texts above boxes will be wrapped (placed on the next line) when they do not fit in the

column. • Box values that will be written in the data file can be set with the *SCALERANGE command. • The texts above the boxes have no significance for the values in the data file, but will be used

when creating Diana-variables (see below). • Scale boxes will be distributed evenly between the first and the last column, i.e. it is not

possible to vary the distance between boxes. You may however vary the distance of the texts above the boxes.

• The distance between boxes is determined by the *TAB settings, i.e. the argument ys for horizontal spacing in the NIPO ODIN questionnaire is ignored (*GRID posLlength x.xs y.ys). However, the argument may not be omitted.

• When you specified the last column less than 100%, make sure to add a [tab][space] after the *SCALE or *GRID, to let the system create an empty column at the end.

• Put a [tab] character before each *SCALE or *GRID, to position the first box in the second column.

• Only the first line of a *GRID should have a form cell number (1:). • Each *SCALE should have a form cell number (1: 2: etc). • No space is allowed before the form cell numbers when *CONTROL is used. • When no *TAB is specified, the system will use the default of 8 columns, each 12.5% of the

screen width.

Page 70: NIPO ODIN 5[1].11 CommandReference Rev20070123

62 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

• In the NIPO Web Client you can use stylesheets to improve the lay-out. E.g., to centre the boxes and texts above boxes, use the following CSS-lines:

.odinscalecell { text-align: center; } .odinformelement-above { text-align: center; }

• When exporting a *SCALE question to Diana-variables, etc. the texts immediately above the *SCALE will be used as category texts, so do not add extra empty lines above the *SCALE.

• When exporting a *GRID question to Diana-variables, etc. the texts immediately above the *GRID will be used as variable text in the appropriate variable, so do not add extra empty lines above the *GRID.

Page 71: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 63

Example 1: *TAB 20,30,40,50 *QUESTION 44 *FORM FORM GRID question[CR/LF] [tab]box 1[tab]box 2[tab]box 3[tab][space][CR/LF] 1:line 1[tab] *GRID 61L12 4.1 3.10 *MULTI[tab][space][CR/LF] line 2[CR/LF] line 3[CR/LF] line 4[CR/LF] Note: [CR/LF] stands for pressing Enter at the end of a line. [tab] stands for a tab-character. [space] stands for a (compulsory) space. Result:

Resulting Diana-variables: *V44_1 *MV 61L4: Question 44[LF]FORM GRID question[LF]\ box 1 1:line 1 2:line 2 3:line 3 4:line 4 *V44_2 *MV 65L4: Question 44[LF]FORM GRID question[LF]\ box 2 1:line 1 2:line 2 3:line 3 4:line 4 *V44_3 *MV 69L4: Question 44[LF]FORM GRID question[LF]\ box 3 1:line 1 2:line 2 3:line 3 4:line 4

Page 72: NIPO ODIN 5[1].11 CommandReference Rev20070123

64 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Example 2: *TAB 40,50,60,70,80,90,100 *QUESTION 42 *FORM This is an example FORM SCALE question[CR/LF] [tab]Totally disagrees[tab]Disagrees[tab]Neither disagrees, nor agrees[tab]Agrees[tab]Totally agrees[tab]Don't know / no answer[CR/LF] 1:Statement A[tab]*SCALE L1 6 10[CR/LF] 2:Statement B[tab]*SCALE L1 6 10[CR/LF] 3:Statement C[tab]*SCALE L1 6 10[CR/LF] 4:Long statement will be wrapped automatically within the first column, defined by the TAB statement[tab]*SCALE L1 6 10[CR/LF]

Result:

Resulting Diana-variables: *V42_1 *SNG 67L1: Question 42[LF]FORM SCALE question[LF]\ Statement A 1:Totally disagrees 2:Disagrees 3:Neither disagrees, nor agrees 4:Agrees 5:Totally agrees 6:Don"'"t know '/' no answer *V42_2 *SNG 68L1: Question 42[LF]FORM SCALE question[LF]\ Statement B =V42_1 *V42_3 *SNG 69L1: Question 42[LF]FORM SCALE question[LF]\ Statement C =V42_1 *V42_4 *SNG 70L1: Question 42[LF]FORM SCALE question[LF]\ Long statement will be wrapped automatically within the first column, defined by the TAB statement =V42_1 Note: The categories for the second variable, etc. are changed manually into =V42_1 to reduce the size of the var-file as each variable has the same categories.

Page 73: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 65

Example 3: *TAB 10,20,30,40,50,60,70,80,90,100 *QUESTION 62 *FORM For each of the following statements, what is the best brand and what is the second best? [tab]Quality of the brand [tab][tab]Brand is easy to use [tab][tab]Brand offers value for money (i.e. cheap brand for its quality) [tab][tab]Packaging appeals to me [tab][tab][space] [tab]Best brand [tab]Second best brand [tab]Easiest brand [tab]Second easiest brand [tab]Cheapest brand [tab]Second cheapest brand [tab]Brand that appeals best [tab]Brand that appeals second best [tab][space][CR/LF] 1:Brand A[tab] *GRID 125L8 6.1 8.10[tab][space][CR/LF] Brand B[CR/LF] Brand C[CR/LF] Brand D[CR/LF] Brand E[CR/LF] Other brand[CR/LF]

Result:

Note: The example uses extra styling that was created in CSS. See Example 7 in the NIPO HTML Generator 1.02 User's Guide for details on how to apply styles.

Page 74: NIPO ODIN 5[1].11 CommandReference Rev20070123
Page 75: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 67

4 Command Index

Page 76: NIPO ODIN 5[1].11 CommandReference Rev20070123
Page 77: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 69

** Defines a comment or remark line. ** All text behind this command will be considered remarks and will be skipped during the interview. ** This is remark

Purpose

Syntax

Description

Example

Page 78: NIPO ODIN 5[1].11 CommandReference Rev20070123

70 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*? Retrieves the contents of a variable or array as text. *? <var | n | expression | var[n|expression] > *FORMAT *PUT *SAVE (question option) *SAVE (codes option) *TEXTVARS *VARS The contents of a variable or array are retrieved and put on the spot of the command and will be processed as text. This command may occur at any spot where text may occur. var This is the name of the variable from which the contents are retrieved. n|expression This is a positive integer from 0 up to and including 9 or an expression that has a result 0 up to and including 9, which indicates a system variable. var[n|expression] When an array-variable is used, this the name of a variable followed by (between square brackets) a positive integer or expression that indicates the element-number of this array. • You can use uppercase and lowercase names indifferently; variable names are case insensitive. • There are 10 system variables available numbered 0 up to and including 9. These variables do not

have to be defined. Contrary to other variables, in ODIN 16-bit variable 9 will not be cleared at the start of a new interview (within the same run of the NIPO CATI Client 16-bit).

*TEXTVARS Gender,Age *QUESTION 1 *CODES L1 *SAVE Gender Int. type gender of respondent 1: Male 2: Female *QUESTION 2 *NUMBER L2 *SAVE Age How old are you? *PAGE So you are a *?Gender of *?Age years old. Result:

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 79: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 71

*TEXTVARS txt[4] *TEXTVARS txt[4] *PUT txt[1] "This is a text." *PUT txt[2] "Another text." *PUT txt[3] "Third text." *PUT txt[4] "The fourth line contains: '*?txt[1] *?txt[2] *?txt[3]'" *PAGE *? txt[1] *? txt[2] *? txt[1] *? txt[2] *? txt[3] *? txt[4] Result:

Example 2

Page 80: NIPO ODIN 5[1].11 CommandReference Rev20070123

72 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*TAB 30 *TEXTVARS Number, Price, Piece *FONT 0 "10 Arial" *QUESTION 1 *FORM 1:Number of fax machines bought: *NUMBER 61L3 *SAVE Number 2:Total price paid: € *NUMBER 64L4.2 *SAVE Price *FORMAT 3.2 *PUT Piece [Q1F2 / Q1F1] *QUESTION 2 *CODES 70L1 You bought *? Number fax machines for € *? Price? So the average price per fax machine was € *? Piece ? 1: Yes 2: No Result:

Example 3

Page 81: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 73

*ABORT Ends the questionnaire, interview not successful. *ABORT *END *ENDNGB *ENDST Terminates the questionnaire and marks the interview as ‘not successful’. There will be no data written. This will be irrevocable. In the T-file/Sample table record, if present, the response code for *ABORT (22: not successful) will be written.

Purpose

Syntax

See also

Description

Page 82: NIPO ODIN 5[1].11 CommandReference Rev20070123

74 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*ADDRESS Refers to a data field in the T-file/Sample table record. *ADDRESS *MOVA *MOVU This command is always used in combination with *QUESTION and a question type definition and has to be behind these commands on the same line. With this command you can refer to a data field in the T-file/Sample table record. This data field specification has to have a fixed format. *QUESTION 1 *NUMBER 290L2 *ADDRESS *QUESTION 2 *NUMBER 61L2 How old are you? *MOVA Q1 Q2 This example stores the contents of question 2 (position 61-62) into position 290-291 of the T-file/Sample table record.

Purpose

Syntax

See also

Description

Example

Page 83: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 75

*ALPHA (question type) Defines a text question. *ALPHA [pos]L<length>|<pos> *CODES *LIST *NUMBER *OPEN (question type) *ALPHA (in *FORM question) This command is always used in combination with *QUESTION and has to be behind this command on the same line. Defines a question that expects an alphanumerical answer of limited length. Contrary to an open question the answer to a text question is written to the U-file.

pos This is the start of the data field where the data is written in the U-file. length This is the length of the data field. *QUESTION 1 *ALPHA 61L20 What is your first name? Result:

Purpose

Syntax

See also

Description

!

Arguments

Example

Page 84: NIPO ODIN 5[1].11 CommandReference Rev20070123

76 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*ALPHA (in *FORM question) Defines a text-field in a *FORM question. *ALPHA [pos]L<length>|<pos> *FORM *NUMBER (in *FORM question) *SCALE (in *FORM question) *GRID This command is always used in a *FORM question. Defines a field that expects an alphanumerical answer of limited length. Several fields may be specified in the same *FORM question. pos This is the start of the data field where the data is written in the U-file. length This is the length of the data field. *QUESTION 1 *FORM *BUT 99 "Refusal" Please, fill in your name and address: 1:Name : *ALPHA 73L30 2:Street: *ALPHA 103L40 3:Place : *ALPHA 143L20 Result:

Purpose

Syntax

See also

Description

Arguments

Example

Page 85: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 77

*APPOINT CAPI only Makes an appointment for next questionnaire. *APPOINT An appointment is made for the next questionnaire in line. In the Compass Interview System for CAPI, you can gather a number of questionnaires to a so-called survey cluster. The separate questionnaires will be dealt with at the respondents’ home consecutively. If in one of the questionnaires the command *APPOINT is executed the next questionnaire will not be started. The interviewer is asked to make an appointment for the questionnaire that is next in line.

System

Purpose

Syntax

Description

Page 86: NIPO ODIN 5[1].11 CommandReference Rev20070123

78 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*AUTO CATI/CAPI only Automatically arranges categories into columns. *AUTO *GROUP *NEWCOLUMN *NOCON You use the question option *AUTO to automatically arrange categories into columns on the screen when more categories are to be displayed than there are screen lines. When the command *NOCON is used behind a category then from that category on the categories will not be divided into columns. *AUTO can also be used as a single command on a command line. All questions (before and after the command) will be automatically arranged if they don’t fit on the screen. • The *AUTO command automatically tries to set the columns to an equal length. • In NIPOSYS.INI the following setting applies:

AutoColumns = n specifies whether the categories have to be automatically arranged or not, where n = 0 (auto-arrange off) or 1 (auto-arrange on). Default = 0. Setting AutoColumns to 1 has the same result as putting a *AUTO command at the beginning of the questionnaire.

• *AUTO is not supported in the NIPO Web Client. Use *NEWCOLUMN to split categories in columns for the Web Client.

*QUESTION 2 *CODES L2 *AUTO Question text 1:code 1 2:code 2 3:code 3 4:code 4 5:code 5 6:code 6 7:code 7 8:code 8 9:code 9 10:code 10 11:code 11 12:code 12 13:code 13 14:code 14 15:code 15 16:code 16 17:code 17 18:code 18 19:code 19 20:code 20 21:code 21 22:code 22 23:code 23 24:code 24 25:code 25 26:code 26

System

Purpose

Syntax

See also

Description

Remarks

Example

Page 87: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 79

27:code 27 28:code 28 29:code 29 30:code 30 31:code 31 32:code 32 33:code 33 34:code 34 35:code 35 36:code 36 37:code 37 38:code 38 39:code 39 40:code 40 41:code 41 42:code 42 43:code 43 44:code 44 45:code 45 46:code 46 47:code 47 48:code 48 49:code 49 50:code 50 98: don't know *NOCON 99: no answer Result:

Page 88: NIPO ODIN 5[1].11 CommandReference Rev20070123

80 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*BACK Jumps back to a previous question. *BACK <n|[expression]> *GOTO The interview will return to the question specified in the argument. It does in fact the same as pressing [F1] (DOS) or the [BACK] button (Windows) so many times in succession until you reach that question. At *BACK, all commands and answers between the current question and the question you are returning to are being undone, as if you actually stepped back through the questionnaire and therefore there is a major difference with the command *GOTO. n|expression This is a positive integer or expression that indicates an existing question. With *BACK you can only jump back to a question that is really posed. *VARS tot *VARS answer[3] *QUESTION 1 *FORM What proportion of travels are done by .... (Int. don’t know = ‘999’) Bus *NUMBER L3 *RANGE [ 0 TO 100;999 ] *SAVE ANSWER[1] Train *NUMBER L3 *RANGE [ 0 TO 100;999 ] *SAVE ANSWER[2] Car *NUMBER L3 *RANGE [ 0 TO 100;999 ] *SAVE ANSWER[3] *IF [ Q1F1 = 999 \ Q1F2 = 999 \ Q1F3 = 999 ] *GOTO 3 *PUT tot [ Q1F1 + Q1F2 + Q1F3 ] *IF [ tot > 95 \ tot < 105] *GOTO 3 *QUESTION 2 *CODES L1 Your percentages must add up to 100% *? answer[1] *? answer[2] *? answer[3] ----- *? Tot 1: PLEASE GO BACK AND TRY AGAIN *BACK 1 *QUESTION 3 In this example, we jump back to the first question to correct the percentages if they are not in the range 95 to 105.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 89: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 81

*BMP Windows Saves open-ended answers as a bitmap. *OPEN (question type) *BMP Open ended answers are saved to a so-called bitmap file (B-file) instead of the O-file. In this way both text and drawings are accepted as an answer, using for instance a pen to write on the screen (PenWindows). These answers can be coded in the same way as the regular O-file. The bitmap file is in binary format. *QUESTION 1 *OPEN 61 *BMP Would you be so kind to draw a house? *END In this example, all the drawings are stored as a bitmap in the B-file. Result:

System

Purpose

See also

Syntax

Description

Remarks

Example

Page 90: NIPO ODIN 5[1].11 CommandReference Rev20070123

82 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION 1 *CODES 61L5 *MULTI *BMP What brands of beer do you know? 1: Heineken 2: Amstel 3: Grolsch 4: Other *OPEN 5: None *NMUL In this example, after choosing code 4 an open answer can be written on screen and will be stored as a bitmap in the B-file.

Example 2

Page 91: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 83

*BUT Windows Defines a button. *BUT <code> <"text"> *WAITCR With this command you create user-defined buttons which are displayed during the interview. These buttons can be used instead of or next to answer categories. If you click on the button the relating code is written. code This is the code that will be written when pressing the button. text This is the button text. • A maximum of five buttons per question is allowed. • When using buttons on a *FORM question the value of the buttons will be written in the first field of

the form question. *QUESTION 1 *CODES 61 *BUT 5 "Don't know" How often do you read a newspaper? 1: Daily 2: Once a week 3: Once a month 4: Never In this example, the category for ‘Don’t know’ is left out of the category list. Instead a button is used to enter this answer: Result:

System

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 92: NIPO ODIN 5[1].11 CommandReference Rev20070123

84 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION 1 *FORM *BUT 99 "Refusal" Please, fill in your name and address: 1:Name : *ALPHA 73L30 2:Street: *ALPHA 103L40 3:Place : *ALPHA 143L20 Result:

Example 2

Page 93: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 85

*CENTRE Centres answer categories automatically. *CENTRE [n|expression] *AUTO This command is always used in combination with *QUESTION and has to be behind this command on the same line. It centres the answer categories automatically. n This argument can be value 0 or 1. Value 1 indicates that the answer categories are automatically centred. The default value is 0 (not centred). • In NIPOSYS.INI the following setting applies:

CentreCodes = n specifies whether the answer categories have to be centred or not, where n = 0 (not centred) or 1 (centred). Default = 0.

• When *AUTO is applicable (i.e. the answer categories are divided on the screen) the *CENTRE command or the centre setting will be ignored.

• When centering the answer categories, you can suppress the display of the category codes with the setting HideCodes=1 in the file NIPOSYS.INI.

*QUESTION 1 *CODES 61 *CENTRE Do you own a car? 1: Yes 2: No In this example, the answer categories are displayed in the middle of the screen (note that the category numbers are suppressed with the HideCodes setting):

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 94: NIPO ODIN 5[1].11 CommandReference Rev20070123

86 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*CODES Defines a question type. *CODES [pos]L<length>|<pos> *ALPHA *NUMBER *OPEN (question type) *MULTI This command is always used in combination with *QUESTION and has to be behind this command on the same line. It defines a closed question with a set of pre-coded answer categories, where each category has a unique value. pos This is the start of the data field where the data is written in the U-file. length This is the length of the data field. In a closed, but not multiple question the number of digits of the highest category number defines the minimum length of the data field. In a closed, multiple question the highest category number (i.e. not the number of categories) defines the minimum length of the data field. It is also possible to define a dummy question by omitting the categories in order to store data from other questions or variables or to use it as a label. The argument L1 may be omitted when data positions are fixed. The NIPO ODIN Developer will give a warning message when the length is more than the highest code number requires. The NIPO ODIN Developer will give an error message when a *CODES question without *MULTI exceeds the maximum size of L10 (max. code number is 2147483647 = 232-1). Use *ALPHA to copy large dummy questions from and to the T-file. *QUESTION 1 *CODES 61 Do you own a car? 1: Yes 2: No In this example, a closed question is defined with two pre-coded answer categories.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 95: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 87

*QUESTION 2 *CODES 62L25 *MULTI What brands of cars do you know? 3: Citroën 4: Fiat 5: Ford 6: Hyundai 7: Mazda 8: Mitsubishi 9: Nissan 10: Opel 11: Peugeot 12: Renault 13: Suzuki 14: Toyota 15: Volkswagen 16: Volvo 24: Other *NOCON *OPEN 25: Don’t know *NOCON In this example a closed question with multiple answers is defined. Because the highest code-number is 25, the field has to be at least 25 positions. When the interviewer or respondent is using the keyboard to type the code-numbers, the various codes should be separated by a space, that is generated automatically when a code number is ‘complete’. So it is best to skip code 1 when using code 10 and higher, skip code 2 when using code 20 and higher.

Example 2

Page 96: NIPO ODIN 5[1].11 CommandReference Rev20070123

88 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*CONJ ... *ENDCONJ Executes module conjoint measurement. *CONJ [pos]L<length> [*LEFT text] [*RIGHT text] <commands> *ENDCONJ *LIST A full description of conjoint measurement can be found in the manual NIPO Conjoint Measurement in ODIN 5.09.

Purpose

Syntax

See also

Description

Page 97: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 89

*CONTROL Makes the display of answer codes and texts dependent on answers to a previous question. *CONTROL <Qn> <W|N|W*|N*> *NOCON *VCONTROL This command is always used in combination with *QUESTION, *FORM or *REPEAT ... *ENDREP and has to be behind these commands on the same line. This command controls the display of answer codes and texts depending on answers to a previous question. This so-called ‘controlling’ question is referred to by means of Qn. When used in combination with *REPEAT ... *ENDREP, execution of repetition numbers only takes place (or not) if the numbers correspond with the mentioned answer codes of the controlling question. Qn The reference to the control question where n is the number of the question. W Only answer categories that were mentioned at the control question are being displayed. N Only answer categories that were not mentioned at the control question are being displayed. W* Answer categories that were not mentioned at the control question are marked with an asterisk. N* Answer categories that were mentioned at the control question are marked with an asterisk. • Make sure that the control question and the current question have the same set of answer

categories. Categories that are suppressed, as a result of this command, can't be part of the answer. When all categories are suppressed the question will be skipped.

• Empty lines for categories that are suppressed by *CONTROL will be skipped if the categories are divided into columns on screen automatically.

• In a form question, *CONTROL automatically suppresses empty lines that are the result of the control.

• When controlling a repeat block, W* and N* do not work.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 98: NIPO ODIN 5[1].11 CommandReference Rev20070123

90 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION 1 *CODES 61L5 *MULTI What PC makes do you know? 1: Acer 2: IBM 3: Tulip 4: Other *OPEN 5: Don’t know *NMUL *QUESTION 2 *CODES 66L5 *MULTI *CONTROL Q1 N Which of the following PC makes do you know? 1: Acer 2: IBM 3: Tulip 5: None of these *NMUL *NOCON In this example, the answers mentioned in question 1 are not displayed in question 2. However, if ‘don’t know’ is mentioned in question 1, this category will be displayed in question 2, since it is excluded from the control option by *NOCON. *TEXTVARS brand *QUESTION 1 *CODES L5 *MULTI What PC makes do you know? 1: Acer 2: IBM 3: Tulip 4: Other *OPEN 5: Don’t know *NMUL *REPEAT 3 *CONTROL Q1 W *REPNUM 1: *PUT brand “Acer” *REPNUM 2: *PUT brand “IBM” *REPNUM 3: *PUT brand “Tulip” *QUESTION 2 *CODES L1 What do you think is the quality of *?brand ? 1: Very good 2: Good 3: Poor 4: Very poor 5: Don’t know \ no answer *ENDREP In this example, question 2 will only be asked for makes that were mentioned in question 1.

Example 1

Example 2

Page 99: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 91

*COPY Transfers data within a questionnaire. *COPY <Qn> <Qm|[expression]|”text"> *INCLUDE *EXCLUDE This command is also allowed under condition. Data specified in the second argument will be transferred to the data field specified in the first argument. *COPY is interpreting the contents of data fields to be moved. The original contents of the receiving data field will be overwritten.

Qn The question reference of the data field where the data will be transferred to. Qm If as second argument again a question reference is given all answers given to that question will be transferred to the specified data field. expression If an expression is given as second argument the result of the expression will be a value. This value will then be put as data in the receiving data field. text This text will be transferred literally to the receiving data field. It is allowed to refer to a variable in the text. In that case, the contents of this variable will be embedded in the text and next will be transferred to the receiving data field. If the data that has to be transferred consists only of digits, ODIN regards this as a number. Therefore, to transfer data from a multiple question you have to use *INCLUDE. When using the *INCLUDE command in a single-coded question, the contents will only be changed when the code is higher. Use the *COPY command to overwrite original contents. Contrary to the *INCLUDE command the *COPY command will give warning messages when data positions are used more than once. Use the *INCLUDE command to suppress these warnings. When a question already contains the category that was copied, nothing changes.

Purpose

Syntax

See also

Description

!

Arguments

Remarks

Page 100: NIPO ODIN 5[1].11 CommandReference Rev20070123

92 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Suppose we have the following question: *QUESTION 1 *CODES 71L2 containing code 08. If we execute the following command: *COPY Q1 [3] the contents of the question will be: 03 Suppose we have the following questions: *QUESTION 1 *CODES 71L2 containing code 08, and *QUESTION 2 *CODES 81 containing code 6. If we execute the following command: *COPY Q1 Q2 the contents of question 1 will be: 06

Example 1

Example 2

Page 101: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 93

*COUNT Counts the number of answers. *COUNT <Qn|numvar> <Qm> *VARS This command is also allowed under condition. The number of answers to the question specified in the second argument is counted and will be put as a number in the data field or variable specified in the first argument. Qn The question reference of the data field where the number is stored. numvar The name of the numeric variable where the number is stored. This variable has to be defined earlier in the questionnaire. Qm The question reference from which the number of answers have to be counted. This command only makes sense if the question referred to is a multiple codes question. *QUESTION 1 *CODES 178L7 *MULTI What brands of beer do you know? 1: Heineken 2: Amstel 3: Grolsch 4: Carlsberg 5: Tuborg 6: Other *OPEN 7: Don’t know *NMUL *VARS numb *COUNT numb Q1 *QUESTION 2 *CODES 185 *IF [Q1,1-6] So you know *? numb brands of beer? 1: Yes 2: No In this example, the number of answers on question 1 is counted in the variable numb and used in the question text of question 2.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 102: NIPO ODIN 5[1].11 CommandReference Rev20070123

94 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*CUT Interrupts an interview and makes an appointment. *CUT <n|[expression]> *NONRESP With this command the interview can be interrupted for a (definitive) appointment. This command is also allowed under condition. The context of the interview will be saved and the interviewer has to make an appointment to finish the interview at a later time. When picking up the interview again, it will start with the question with question number indicated by n. n|expression This is a positive integer that specifies an existing question number. *QUESTION 1 *CODES L1 Are you the managing director of this company? 1: Yes 2: No *QUESTION 2 *CODES L1 Can you connect me with the managing director of the company 1: Yes 2: No, he is not in the office currently *CUT 1 3: No, refusal *ABORT

Purpose

Syntax

See also

Description

Arguments

Example

Page 103: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 95

*DATE Gets current date and time. *DATE <Qn> *TIME This command is also allowed under condition. Gets the current date and time as set in the computer and puts this over 18 positions in the data field in the format YYYY/MM/DD hhmm:ss. If the data field isn't long enough the data will be truncated. Qn The question reference of the data field where the date is stored. *TEXTVARS year,month,day *QUESTION 1 *ALPHA 101L10 *QUESTION 2 *NUMBER 101L4 *QUESTION 3 *NUMBER 106L2 *QUESTION 4 *NUMBER 109L2 *DATE Q1 *PUT year Q2 *PUT month Q3 *PUT day Q4 *QUESTION 5 Today’s date is: *?month-*?day-*?year *END In this example, the complete date will be stored in question 1. Question 2, 3 and 4 refer to parts of the data field from question 1, to store the year, month and date.

Purpose

Syntax

See also

Description

Arguments

Example

Page 104: NIPO ODIN 5[1].11 CommandReference Rev20070123

96 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*DELAY Delays the interview. *DELAY <n> *WAITPLAY This command delays the interview for n seconds. *DELAY can be used to display a video or play a sound fragment for a certain number of seconds before the interviewer can move on to the next question. To play sound fragments, a sound card or a dialer is required.

n The number of seconds that Odin has to wait before executing the next command. *PLAY “mymovie.avi” *DELAY 10 Q 1 *CODES 61L1 Do you recognise this commercial? 1: Yes 2: No In this example, the video plays for 10 seconds before the question comes up. Note: the empty lines above the question text are intended to make room for the video.

Purpose

Syntax

See also

Description

!

Arguments

Example

Page 105: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 97

*DESC NIPO ODIN Developer 4.08 Library Separates the entries in an ODIN Library. *DESC <description text> In an ODIN Library the various entries are separated by the command *DESC. The command *DESC is not an ODIN command, but only available in Library of the NIPO ODIN Developer. description text The text to be displayed in the library as an identification of the entry. The description text is free and does not need to be unique. The entries will be displayed in alphabetical order of the description text. *DESC Introduction Good morning, this is ... from ... I would like to ask you some questions about a variety of subjects. It will take about ... minutes. *DESC Yes/No *QUESTION X *CODES L1 This is a precoded single-answer question. 1: Yes 2: No

System

Purpose

Syntax

Description

Remark

Arguments

Example

Page 106: NIPO ODIN 5[1].11 CommandReference Rev20070123

98 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*DTIME Displays the current time. *DTIME During the interview the time will be displayed in the upper left corner of the screen. The time will be displayed in the format hh:mm:ss. This command applies to entire questionnaire and can not be turned off.

Purpose

Syntax

Description

Page 107: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 99

*DUMMY Specifies a dummy question. *DUMMY This command specifies a dummy question. Dummy questions are, for example, closed questions that will be used to extract category texts from. If you wouldn’t mark these questions as dummy questions they would appear on the screen during the interview. *DUMMY prevents the question from being displayed. In earlier versions of Odin it was necessary to specify dummy questions by using null-evaluating filters like *IF [ 1 = 2 ]. *VARS num *TEXTVARS txt *QUESTION 1 *CODES L1 Gender 1: Male 2: Female *QUESTION 2 *CODES L1 *DUMMY 1: wife 2: husband *PUT num [Q1] *PUT txt Q2,num *QUESTION 3 *CODES L1 Do you have a *?txt? 1: Yes 2: No In this example, question 2 will not be displayed during the interview. However, the text from this dummy question is used to display in the third question text.

Purpose

Syntax

Description

Example

Page 108: NIPO ODIN 5[1].11 CommandReference Rev20070123

100 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*END Ends the questionnaire or subparts of it. *END *ABORT *ENDNGB *ENDST *REPEAT ... *ENDREP In general this command defines the end of the questionnaire or subparts of it. This command is also allowed under condition. With subparts there is always a physical unconditional end required. The action of this command depends on the context. We distinguish the following:

• Termination of the questionnaire. The interview is marked as a successful interview. All data will be written to the appropriate files. In the T-file/Sample table record, if present, the response code for 'successful' will be written.

• Termination of the initial part. An unconditional physical end is required. • Termination of a repetition block. If within a repetition block *END is used the repetition block

will be ended. The current repetition and all not yet executed repetitions, if any, will not be finished.

*QUESTION 1 *CODES 96 Do you own a VCR? 1: Yes 2: No *GOTO 99 *QUESTION 2 *CODES 97 Did you use your VCR yesterday? 1: Yes 2: No *QUESTION 3 *CODES 98 *IF [ Q2,1 ] Did you use it for playback or recording? 1: Playback 2: Recording 3: Both *QUESTION 98 This was my final question. Thank you for your co-operation. *END *QUESTION 99 Then I don’t have any questions for you. Thank you. *ENDNGB

Purpose

Syntax

See also

Description

Example 1

Page 109: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 101

*REPEAT 3 *RANDOM *REPNUM 1 *PUT statement "Philips VCRs are good quality" *REPNUM 2 *PUT statement "Philips VCRs are value for money" *REPNUM 3 *PUT statement "Philips VCRs are user friendly" *QUESTION 1 *CODES 1L1 *?statement 1: applies 2: does not apply 9: does not know Philips VCRs at all *END *ENDREP In this example three statements about Philips VCRs are asked. When the respondent does not know Philips VCRs at all, there is no need to ask any further statements and the repeat loop will be terminated.

Example 2

Page 110: NIPO ODIN 5[1].11 CommandReference Rev20070123

102 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*ENDNGB Ends a questionnaire. *ENDNGB *ABORT *END *ENDST Terminates the questionnaire and marks the interview as ‘not successful, useful interview’. The data will be written to the appropriate files. In the T-file/Sample table record, if present, the response code '19: No success, answers written' will be written. Interviews with this code are (by default) not counted in the stratification. *QUESTION 1 *CODES 96 Do you own a VCR? 1: Yes 2: No *GOTO 99 *QUESTION 2 *CODES 97 Did you use your VCR yesterday? 1: Yes 2: No *QUESTION 3 *CODES 98 *IF [ Q2,1 ] Did you use it for playback or recording? 1: Playback 2: Recording 3: Both *QUESTION 98 This was my final question. Thank you for your co-operation. *END *QUESTION 99 Then I don’t have any questions for you. Thank you. *ENDNGB

Purpose

Syntax

See also

Description

Example

Page 111: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 103

*ENDST Ends a questionnaire and writes a response code. *ENDST <code> *ABORT *END *ENDNGB Terminates the questionnaire. In the T-file/Sample table record, if present, the response code as indicated will be written. The writing of the data depends on the meaning of the indicated response code. code The non-response code that has to be written in the T-file/Sample table. • In ODIN for DOS (old file format) the non-response code can only be one character (1-9, A-H). • In ODIN for DOS (new file format) or ODIN for Windows the non-response code must be a two-digit

number from 00-89. *QUESTION 1 *CODES L1 Do you own a car ? 1: Yes 2: No *ENDST 16 In this example, where only people owning a car should be interviewed, the code for outside target group is placed in the T-file/Sample table record.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 112: NIPO ODIN 5[1].11 CommandReference Rev20070123

104 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*EXCLUDE Data manipulation. *EXLUDE <Qn> <Qm|[expression]> *COPY *INCLUDE This command is also allowed under condition. With this command it is possible to remove one or more answer codes from the receiving data field. Qn The question reference of the data field where the process takes place. Qm All answers of this question will be removed from the specified data field. expression The result of the expression will represent a code value. Next this code will be removed from the data field. Contrary to *COPY and *INCLUDE, the *EXCLUDE command is used for both single-coded and multiple questions. When a question did not contain the category that was excluded, nothing changes. Suppose we have the following question: *QUESTION 1 *CODES 71L10 *MULTI containing the codes 2, 3, 4 and 7. If we execute the following commands: *EXCLUDE Q1 [3] *EXCLUDE Q1 [7] the contents of the question will be: 2 and 4. Suppose we have the following questions: *QUESTION 1 *CODES 71L10 *MULTI containing the codes 2, 3, 4 and 7. *QUESTION 2 *CODES 81L10 *MULTI containing the codes 2, 7 and 9. If we execute the following command: *EXCLUDE Q1 Q2 the contents of question 1 will be: 3 and 4. Question 2 will stay unchanged.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Example 2

Page 113: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 105

Suppose we have the following question: *QUESTION 1 *CODES 136L7 *MULTI containing the codes 2, 3 and 7. If we execute the following command: *EXCLUDE Q1 Q1 the contents of the question will be empty.

Example 3

Page 114: NIPO ODIN 5[1].11 CommandReference Rev20070123

106 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*FIELD Defines positions of a subroutine or repeat block. *FIELD [pos]L<length>|<pos> *GOSUB *REPEAT ... *ENDREP This command is used with *GOSUB (jump to subroutine) or *REPEAT ... *ENDREP (repetition block) and has to be behind that command on the same line. This command defines data field in the U-file, where the entered answers of the subroutine or repetition block have to be written. pos This is the start of the data field where the data is written in the U-file. length This is the length of the data field. If you're working with so-called 'floating' data fields you don't have to specify this command. At fixing the answer fields of the questionnaire it will be put there automatically. *TEXTVARS BRAND *REPEAT 3 *FIELD 61L3 *REPNUM 1: *PUT BRAND “Acer” *REPNUM 2: *PUT BRAND “IBM” *REPNUM 3: *PUT BRAND “Tulip” *QUESTION 2 *CODES 1L1 What do you think is the quality of *?BRAND ? 1: Very good 2: Good 3: Poor 4: Very poor 5: Don’t know \ no answer *ENDREP

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 115: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 107

*TEXTVARS BRAND *SUBROUTINE BRANDSUB *QUESTION 2 *CODES 1 What do you think is the quality of *?BRAND ? 1: Very good 2: Good 3: Poor 4: Very poor 5: Don’t know \ no answer *QUESTION 3 *CODES 2 What do you think of the price of *?BRAND ? 1: Very expensive 2: Expensive 3: Cheap 4: Very cheap 5: Don’t know \ no answer *ENDSUB *QUESTION 1 *CODES 61L3 *MULTI *SAVE BRAND Have you ever heard of the following brands of PC’s 1: Acer *GOSUB BRANDSUB *FIELD 64L2 2: IBM *GOSUB BRANDSUB *FIELD 66L2 3: Tulip *GOSUB BRANDSUB *FIELD 68L2

Example 2

Page 116: NIPO ODIN 5[1].11 CommandReference Rev20070123

108 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*FONT (definition) Windows Defines a font. *FONT (switching) *FONT <n> <“size facename [style] [(r g b, r g b)]”> Specifies the size, typeface name, style, fore- and background colours of a font. Argument n is used to identify the font when the font is selected. The font description arguments must be enclosed by “ and can be specified in any order. Font 0 does not have to be specified since it is the default font. The default font is the font that is used for every question where no font is selected. If font 0 is re-defined than this font will be used as the default font. n Positive integer used to identify the font. size Point size of the font. facename Name of the font. This font must be installed under Windows. style The following styles are available: bold, italic, underline, strikeout. Styles can be combined, they must be separated by at least one space. (r g b, r g b) This argument specifies the foreground and background colours in RGB values. r, g, b are numbers greater or equal to 0. r is the amount of red, g is the amount of green and b is the amount of blue. If only a foreground colour has to be specified this can be done by: (r g b); If only a background colour has to be specified this can be done by: (,r g b). Example: black = 0 0 0, white = 255 255 255, red = 255 0 0 If a requested font is not installed Windows will choose a font that resembles the requested font. *FONT 0 "10 Courier" *FONT 1 "8 ARIAL" *FONT 2 "8 ARIAL bold" *FONT 3 "12 Times New Roman" *FONT 4 "16 Courier (255 0 0)" *FONT 5 "18 Roman (,255 0 0)" *FONT 6 "25 Script (255 0 0, 0 128 255)" *FONT 7 "10 WingDings " *FONT 8 "10 ARIAL ITALIC" *FONT 9 "10 ARIAL BOLD UNDERLINE" *FONT 10 "10 ARIAL strikeout"

System

Purpose

See also

Syntax

Description

Arguments

Remarks

Example

Page 117: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 109

*FONT (switching) Windows Switches to an earlier defined font. *FONT <n|[expression]> *FONT (definition) Selects an earlier defined font. Can be used as a question option or in question or code texts. The selected font will remain active until a new font is selected. Every time the screen is cleared, the current font is set to the default font (*FONT 0) or to the font specified in the question option. n|expression This is a positive integer or expression that refers to an earlier defined font. *FONT 0 “8 ARIAL” *FONT 1 “8 ARIAL BOLD” *FONT 2 “8 ARIAL ITALIC” *QUESTION 1 *CODES 61 *FONT 1 Do you use a personal computer? 1: Yes 2: No *QUESTION 2 *CODES 62 *NCLS *IF [Q1,1] Do you use it for *FONT 2business*FONT 0 or *FONT 2personal*FONT 0 purposes? 1: Business 2: Personal 3: Both Result:

System

Purpose

Syntax

See also

Description

Arguments

Example 1

Page 118: NIPO ODIN 5[1].11 CommandReference Rev20070123

110 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*FONT 1 “8 COURIER BOLD” *INFO *FONT 1 This is an info page In this example, the info page is displayed in the Courier font, style bold. *FONT 0 "10 ARIAL (255 0 0) BOLD" *FONT 1 "10 ARIAL BOLD" *FONT 2 "10 ARIAL (0 0 255) BOLD" *VARS x *REPEAT 201 *RANDOM *PUT x [?R-101] *IF [x<>0] *END *ENDREP *PAGE *FONT 1 This randomiser draws a number between -100 and 100 Negative numbers will be printed in *FONT 0red*FONT 1 Positive numbers will be printed in *FONT 2blue*FONT 1 *FONT [2*(x>0)]*? x*FONT 1 *END

Example 2

Example 3

Page 119: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 111

*FORM Defines a form question. *FORM *ALPHA (in *FORM question) *NUMBER (in *FORM question) *SCALE (in *FORM question) *GRID This command is always used in combination with *QUESTION and has to be behind this command on the same line. Defines a form question, that contains one or more separate input fields, that will be dealt with separately on one and the same screen. These fields will either expect numbers or alphanumerical texts of limited length as input. The commands *NUMBER and *ALPHA determine of which type and how long an input cell is. In the form question there may be descriptive texts that generally precede a cell definition. It is also possible to create so-called grids, by using *FORM in combination with *SCALE or *GRID. *FORM questions can be controlled by another question by using the *CONTROL command. • If there is a code in front of the descriptive texts, this code controls in which order the cells are dealt

with during the interview. The cell which turn it is will be highlighted. This code is also used to determine which lines are displayed or suppressed by *CONTROL.

• In form questions, *CONTROL automatically suppresses empty lines that are the result of the control.

• In DOS there is a maximum of 50 cells in a form question. • You can refer to a field in a form question with the expression QnFm.

E.g., Q3F2 refers to the second field in form question 3. See also the example under *FORMAT. • In NIPOSYS.INI the following setting applies:

BackInForm = n. If this setting is turned on (n=1) it is possible to go back in a form question by using the [BACK] button. Default this setting is off (n=0).

Purpose

Syntax

See also

Description

Remarks

Page 120: NIPO ODIN 5[1].11 CommandReference Rev20070123

112 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION 1 *FORM *BUT 99 "Refusal" Please, fill in your name and address: 1:Name : *ALPHA 73L30 2:Street: *ALPHA 103L40 3:Place : *ALPHA 143L20 Result:

Example 1

Page 121: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 113

*FONT 0 "Arial 10" *QUESTION 1 *CODES 61L6 *MULTI Which of the following brands of beer do you ever drink? 1: Heineken 2: Amstel 3: Grolsch 4: Carlsberg 5: Tuborg 6: None of these *NMUL *TAB 35, 45, 55, 65, 75, 85 *QUESTION 2 *FORM *CONTROL Q1 W How do you rare the taste of the following beers: <Tab>Very poor<Tab><Tab><Tab><Tab>Very good<Tab> 1:Heineken *SCALE 67L1 5 6<Tab><Space> 2:Amstel *SCALE 68L1 5 6<Tab><Space> 3:Grolsch *SCALE 69L1 5 6<Tab><Space> 4:Carlsberg *SCALE 70L1 5 6<Tab><Space> 5:Tuborg *SCALE 71L1 5 6<Tab><Space> Result:

Example 2

Page 122: NIPO ODIN 5[1].11 CommandReference Rev20070123

114 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*FORMAT Specifies the format of number transfer. *FORMAT <i[.f]> *? *PUT *NUMBER *VARS Specifies the format of numbers from numeric variables when they are retrieved by the command *? or when converting a numeric variable into a text variable by *PUT. i This is the minimum space to be used for the representation of the integer part of the number. If necessary, more space will be used. f This is the maximum space that has to be used for the fractional part of the number; this will be filled with trailing zeros. If f is too small to display all decimals, these will be rounded off. The maximum number of decimals is 4. The default is 0. *TAB 30 *TEXTVARS Number, Price, Piece *FONT 0 "10 Arial" *QUESTION 1 *FORM 1:Number of fax machines bought: *NUMBER 61L3 *SAVE Number 2:Total price paid: € *NUMBER 64L4.2 *SAVE Price *FORMAT 3.2 *PUT Piece [Q1F2 / Q1F1] *QUESTION 2 *CODES 70L1 You bought *? Number fax machines for € *? Price? So the average price per fax machine was € *? Piece ? 1: Yes 2: No Result:

Purpose

Syntax

See also

Description

Arguments

Example

Page 123: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 115

*GOSUB Jumps to a subroutine. *GOSUB <name> *FIELD *SUBROUTINE ... *ENDSUB This command is also allowed under condition. Takes care of a jump to a subroutine specified by name. After return from the subroutine there will be continued with the next command following *GOSUB. name This is the name of the subroutine that is called. This subroutine has to be defined earlier in the questionnaire. If you're working with so-called 'floating' data fields you don't have to specify the *FIELD command. At fixing the answer fields of the questionnaire it will be put there automatically. *TEXTVARS BRAND *SUBROUTINE OPINION *QUESTION 901 *CODES 1 What do you think of the service of *? BRAND? 1: Very good 2: Good 3: Poor 4: Very poor 5: Don’t know \ no answer *ENDSUB *QUESTION 1 *CODES 61L5 *MULTI *SAVE BRAND Which of the following gas stations have you ever visited? 1: Esso *GOSUB OPINION *FIELD 66L1 2: Shell *GOSUB OPINION *FIELD 67L1 3: Texaco *GOSUB OPINION *FIELD 68L1 4: BP *GOSUB OPINION *FIELD 69L1 5: Mobil *GOSUB OPINION *FIELD 70L1 In this example, for each answer mentioned, the subroutine is called (in reverse order that they were entered in Question 1). Data positions are fixed, each subroutine call requires only 1 position, specified in the *FIELD command. Question 901 shows position 1 (relative position within the subroutine).

Purpose

Syntax

See also

Description

Arguments

Remark

Example 1

Page 124: NIPO ODIN 5[1].11 CommandReference Rev20070123

116 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*TEXTVARS BRAND *SUBROUTINE OPINION *QUESTION 1 *CODES L1 What do you think of the service of *? BRAND? 1: Very good 2: Good 3: Poor 4: Very poor 5: Don’t know \ no answer *ENDSUB *QUESTION 2 *CODES L5 *MULTI Which of the following gas stations have you ever visited? 1: Esso 2: Shell 3: Texaco 4: BP 5: Mobil *IF [ Q2, 2 ] *PUT BRAND “Shell” *GOSUB OPINION *IF [ Q2, 3 ] *PUT BRAND “Texaco” *GOSUB OPINION In this example, first if answer 2 is mentioned, the text of the answer is stored in a variable and the subroutine is called, then for answer 3. Data positions are not fixed, so the *FIELD command is not specified yet.

Example 2

Page 125: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 117

*GOTO Jumps to a question. *GOTO <n|[expression]> *BACK *IF This command can be used on separate line, behind a filter expression or behind a category of a *CODES question If used behind a category it has to be on the same line as the code number definition. If the code is selected, the interview continues with the question specified. This command can also be used unconditionally. It is not allowed to jump into or out of a subroutine or repetition block.

n|expression This is a positive integer or expression that indicates an existing question. *QUESTION 10 *CODES 268 Do you have a drivers licence? 1: Yes 2: No *GOTO 26 *QUESTION 10 *CODES 268 Do you have a drivers licence? 1: Yes 2: No *IF [Q10,2] *GOTO 26 In both examples, those with a driver’s licence get the question following question 10, the others go to question 26.

Purpose

Syntax

See also

Description

!

Arguments

Example 1

Example 2

Page 126: NIPO ODIN 5[1].11 CommandReference Rev20070123

118 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*GRID (in *FORM question) Defines a grid. *GRID [pos]L<length> x[.xs] y[.ys] *FORM *SCALE (in *FORM question) *VCONTROL In form questions it is possible to create so-called grids. These kinds of questions use checkboxes to mark the answers on screen instead of using categories. With the *GRID command you can create vertical grids. These grids are filled in top to bottom. Contrary to horizontal grids (*SCALE) which are filled in left to right. To allow multiple answers in vertical grids you use the option *MULTI. The data field has to be large enough to store all data. pos This is the start of the data field where the data is written in the U-file. Only one position per grid-box is required. length This is the length of the data field. x Number of boxes vertically. xs Vertical spacing (lines). Default: 2 y Number of boxes horizontally. Default: 1 ys Horizontal spacing (characters). Default: 4 In NIPOSYS.INI the following settings apply: • Boxsize = n defines the box size in a grid question, where n = 1/10 point. • AutoDeselect = -1 switches automatic deselecting of boxes off.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 127: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 119

*QUESTION 101 *FORM Vertical grid, using GRID Heineken Grolsch Amstel Carlsberg Tuborg Other 1:1 *GRID L6 5.2 6.10 *NON 2 3 4 5 This results in a grid consisting of 5 lines with 6 boxes per line:

Example 1

Page 128: NIPO ODIN 5[1].11 CommandReference Rev20070123

120 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION 101 *FORM Vertical Grid, MULTIPLE answers allowed Heineken Grolsch Amstel Carlsberg Tuborg Other 1:1 *GRID L30 5.2 6.10 *MULTI 2 3 4 5 This has the same result as above but with multiple answers allowed. Note the length of the data field (30): 6x5 positions are necessary to store all data.

Using *TAB and [Tab] to line out grids. To align column texts (headers) above the grid, tab positions must be defined with the *TAB command before a *GRID question. For each column in the grid a tab must be defined. The GRID will always be distributed evenly between the first and the last tab (i.e. it is not possible to vary the gaps between columns). If the last tab is not at 100%, the last column text and the *GRID must be followed by [Tab][Space], to fill the last invisible column. Use stylesheets (CSS) to centre texts in CAWI. *TAB 30, 40, 50, 60, 70 *QUESTION 1 *FORM Question text [Tab]Column 1[Tab]Column 2[Tab]Column 3[Tab]Column 4[Tab][Space] 1:Row 1[Tab]*GRID 61L4 3.2 4.1[Tab][Space] Row 2[Tab][Space] Row 3[Tab][Space]

Example 2

Remarks

Page 129: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 121

*GROUP Keeps categories together. *GROUP *AUTO *INV *RANDOM *ROT When displaying categories in a question randomly, inverted or rotated, you can keep categories together with the command *GROUP behind the first category of a group. All categories up to the next *GROUP will be sorted only mutually. This can also be combined with the question option *AUTO. *QUESTION 202 *CODES 61L2 *RANDOM *AUTO Question text 0:code 0 1:code 1 2:code 2 3:code 3 4:code 4 5:code 5 6:code 6 7:code 7 8:code 8 9:code 9 10:code 10 *GROUP 11:code 11 12:code 12 13:code 13 14:code 14 15:code 15 16:code 16 17:code 17 18:code 18 19:code 19 20:code 20 *GROUP 21:code 21 22:code 22 23:code 23 24:code 24 25:code 25 26:code 26 27:code 27 28:code 28 29:code 29

Purpose

Syntax

See also

Description

Example

Page 130: NIPO ODIN 5[1].11 CommandReference Rev20070123

122 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

30:code 30 *GROUP 31:code 31 32:code 32 33:code 33 34:code 34 35:code 35 36:code 36 37:code 37 38:code 38 39:code 39 40:code 40 *GROUP 41:code 41 42:code 42 43:code 43 44:code 44 45:code 45 46:code 46 47:code 47 48:code 48 49:code 49 98:don't know *NOCON *GROUP 99:no answer Result:

Page 131: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 123

*HEADING Defines a header text above categories. *HEADING *AUTO *GROUP *INV *NEWCOLUMN *RANDOM *ROT When displaying categories in a question you can define a heading above categories, to be used when categories are displayed randomly, inverted or rotated. This can also be combined with the question option *AUTO. The command *HEADING will be interpreted as an implicit *GROUP on the next category line. *QUESTION 201 *CODES 61L2 *RANDOM Question text *HEADING*FONT 1Header for code 1 to 5*FONT 0 1:code 1 2:code 2 3:code 3 4:code 4 5:code 5 *HEADING*FONT 1Header for code 6 to 10*FONT 0 6:code 6 7:code 7 8:code 8 9:code 9 10:code 10 *HEADING*FONT 1Header for code 11 to 15*FONT 0 11:code 11 12:code 12 13:code 13 14:code 14 15:code 15 98:don't know *NOCON *GROUP 99:no answer

Purpose

Syntax

See also

Description

Example

Page 132: NIPO ODIN 5[1].11 CommandReference Rev20070123

124 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Result:

Page 133: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 125

*HELP (definition) Windows Defines a page of text. *HELP [n] *INFO *INSTRUC *PAGE *QUESTION *HELP (question option) Defines a page of text. This command has to be at the beginning of a line. The text consists of all following lines up to the first new command at the beginning of a line (except **, *? and *FONT (switching)). If a numbered help screen is followed by a *PAGE command this page will act as the next help screen. In this way it is possible two divide your help screen into multiple pages. When the help page is called two new buttons will appear on the question screen to go to the previous or next screen. n This is the number of the text page. Argument n is not available in ODIN for DOS. Only one help screen at a time can be defined. The text stays on call and unchanged until a new page is defined with *HELP. If the interview has preceded thus far that this command has been dealt with, the interviewer can display this page of text by pressing [F3]. If an empty page of text is defined (*HELP with on the next line immediately a new command) [F3] will have no effect. Therefore, a help screen, where often further descriptions and definitions are put in, has to be placed prior to the section of the questionnaire that it concerns. *HELP 1 This is the first help screen defined. *HELP 2 And this is the second help screen defined. *HELP 1 This is the first page of the help screen. *PAGE And this is the second page of the help screen. In this example, a help screen with 2 pages is defined.

System

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Example 2

Page 134: NIPO ODIN 5[1].11 CommandReference Rev20070123

126 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*HELP (question option) Windows Switches to an earlier defined text page. *HELP [n] *HELP This command has to be used in combination with *QUESTION. By pressing the help button, the related text page is displayed. n This is the number of the page that has to be displayed. Argument n is not available in ODIN for DOS. Only the last defined help screen can be displayed. A numbered help-screen may consist of more than 1 page. After the *HELP n definition add a *PAGE with more text. See example 2. *HELP 1 This is the first page of the help screen. *PAGE And this is the second page of the help screen. *QUESTION 1 *CODES 433 *HELP 1 Did you know that if you press the help button a help screen appears? 1: Yes 2: No

System

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 135: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 127

Result: In this example, pressing the Help button displays a help screen with text, pressing Next will show the second page of the help-screen.:

Page 136: NIPO ODIN 5[1].11 CommandReference Rev20070123

128 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*IF (condition) Creates a condition. *IF <[expression]> <action> [*ELSE <action>] *GOTO, *IF (question option) The expression will be interpreted and tested on true or false. If the expression is true the commands immediately following the expression will be executed. You may use the command *ELSE followed by commands that will be executed if the expression is false. expression A Boolean expression with as result true or false. action One or more commands that cause an action. Definition commands are not allowed. All these commands will be executed one after the other till *ELSE is encountered or the end of the command line has been reached. *IF [ Q6 , 1-5 ] *GOSUB "BRAND" If question 6 is answered with an answer value between 1 and 5 the subroutine BRAND is called. *IF [ RAN 3 ] *GOTO 100 In 67% of the cases the interview jumps to question 100. (the generated values are 0, 1 and 2. Value 0 will make the expression false and thus prevent the jump.) *IF [ Q11 = "PC" ] *GOTO 100 *ELSE *GOTO 200 The condition is true if the answer to question 11 is equal to the text PC.

Purpose

Syntax

See also

Description

Arguments

Example 1

Example 2

Example 3

Page 137: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 129

*IF (question option) Display a question under condition. *IF <[n|expression]> ["text"] *IF (condition) This command is always used in combination with *QUESTION and a question type definition and has to be behind these commands on the same line. This command puts a condition on a question. The question will only be displayed if the expression is true. For a detailed explanation of expressions refer to the part with expressions. expression A Boolean expression with as result true or false. text Any text. If, when creating variables for NIPO Diana, the question filters are copied, this text will be copied in the variable file. This text will be printed above the table with straight runs and cross tabulations. *QUESTION 15 *CODES 96 Do you own a VCR? 1: Yes 2: No *QUESTION 16 *CODES 97 *IF [ Q15 , 1 ] Did you use your VCR yesterday? 1: Yes 2: No In this example, question 16 will only be asked if the answer to question 15 is ‘1’ (yes).

Purpose

Syntax

See also

Description

Arguments

Example

Page 138: NIPO ODIN 5[1].11 CommandReference Rev20070123

130 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*INCLUDE Transfers data within a questionnaire. *INCLUDE <Qn> <Qm|[expression]> *COPY *EXCLUDE This command is also allowed under condition. One or more answer codes are subjoined in the receiving data field. Qn The question reference of the data field where the process takes place. This command only makes sense if the question referred to, is a multiple question. Qm All answers of this question will be subjoined in the specified data field. expression The result of the expression will represent a code value. Next this code will be subjoined in the data field. When using the *INCLUDE command in a single-coded question, the contents will only be changed when the code is higher. Use the *COPY command to overwrite original contents Contrary to the *COPY command the *INCLUDE command will NOT give warning messages when data positions are used more than once, except when the *INCLUDE command is used before the actual question definition. When copying text or an *ALPHA question into an *ALPHA question, you can not use the *INCLUDE command, but have to use the *COPY command. When a question already contains the category that was included, nothing changes. Suppose we have the following question: *QUESTION 1 *CODES 71L10 *MULTI containing codes 2 and 3. If we execute the following commands: *INCLUDE Q1 [3] *INCLUDE Q1 [4] *INCLUDE Q1 [7] the contents of the question will be: 2, 3, 4 and 7. Note that the command *INCLUDE Q1 [ 3,4,7 ] is NOT valid, as the expression 3,4,7 will be interpreted first.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 139: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 131

Suppose we have the following questions: *QUESTION 1 *CODES 71L10 *MULTI containing codes 1 and 4, and *QUESTION 2 *CODES 121L8 *MULTI containing codes 3, 4 and 7. If we execute the following command: *INCLUDE Q1 Q2 the contents of question 1 will be: 1, 3, 4 and 7. *QUESTION 11 *CODES L1 *QUESTION 12 *NUMBER L2 What is your age ? *IF [ Q12 <= 24 ] *INCLUDE Q11 [ 1 ] *IF [ Q12 >= 25 & Q12 < 35 ] *INCLUDE Q11 [ 2 ] *IF [ Q12 >= 35 & Q12 < 45 ] *INCLUDE Q11 [ 3 ] *IF [ Q12 >= 45 & Q12 < 55 ] *INCLUDE Q11 [ 4 ] *IF [ Q12 >= 55 & Q12 < 65 ] *INCLUDE Q11 [ 5 ] *IF [ Q12 >= 65 ] *INCLUDE Q11 [ 6 ] In this example Question 11 is a dummy question, that is filled with the *INCLUDE command to store the age in 6 categories.

Example 2

Example 3

Page 140: NIPO ODIN 5[1].11 CommandReference Rev20070123

132 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*INFO Defines a page of text with information for the interviewer (before the introduction). *INFO [n] *HELP *INSTRUC *PAGE *QUESTION Defines a page of text. This command has to be at the beginning of a line. The text consists of all following lines up to the first new command that is at the beginning of a line (except **, *? and *FONT (switching)). This page of text may only occur once in the questionnaire. The text will be displayed before the actual interview, even before the introduction text. During the interview it can be displayed at any time by means of [F8] (DOS) or by choosing the Info item in the View menu (Windows). The info page is often used to inform or instruct the interviewer or respondent about the subject of the questionnaire. n This argument can be value 0, 1, 2 or 3. *INFO 0 Value 0 indicates that the info page is suppressed (i.e. not displayed) before the start of the interview. The interviewer can see the info-page only by selecting the View menu-item Info. *INFO 1 The default value is 1. Value 1 indicates that the info page is shown before the introduction screen in the start of each interview. The interviewer can also see the info-page by selecting the View menu-item Info. *INFO 2 Show Info-screen before waiting for dialer. *INFO 3 Show info screen only once, when starting the NIPO Interview System. The info screen will not appear for each new interview. Argument n is not available in ODIN for DOS. I.e. the page can not be suppressed at the beginning of the interview. *INFO 1 Before starting a new interview please check the following .....

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 141: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 133

*INIT Starts an initial part of a questionnaire. *INIT *INFO *INSTRUC and Paragraph 2.4.1 item 11) Defines the start of an initial part of the questionnaire. This command has to be at the beginning of a line. The command may only occur once in the questionnaire. In an initial part all commands may occur. The initial part will always be dealt with first after the introduction; even when it concerns an interrupted interview. The initial part is concluded by *END. The use of this command makes only sense at interrupted interviews that are continued at a later date. Without this command the interview will exactly be restarted at the question where it left of. By means of *INIT you can bring about that first again some help screens are displayed, variables are being calculated, etc. In ODIN 32-bit the *INIT block is executed slightly different from ODIN 16-bit: The NIPO Interview System 32-bit uses a Suspend Image, containing the complete routing, instead of the A-file. When an interview is resumed, the engine will go through the whole questionnaire very quickly, filling in all previous answers. This way the system will see all changes in the questionnaire, like changed routing or new questions. The *INIT block is executed before running the Suspend Image. Sometimes this means the execution of the *INIT block in the NIPO Interview System 32-bit would lead to different results as compared to the 16-bit version, as variables that are created halfway the questionnaire are not filled yet. Showing some introduction questions or retrieving data from the telephone file or Sample table in the *INIT block, does not make any difference between NIPO Interview System 16-bit and 32-bit. Note: The feature of a Suspend Image is that you can go back in questions that were asked in a previous session and that you can start in the middle of a subroutine or *REPEAT loop. So in a lot of cases, no *INIT block is required in 32-bit. Tip: If the *INIT block is used to display some variables from a previous session (like a counter), you can of course store this counter in the telephone file or Sample table and use the *MOVU command to retrieve this data. Note 2: When using Channel Aware scripting ( *IF [_ISCATI] or *IF [_ISCAWI] ), questions in the *INIT block will always be executed 'as is' (i.e. with the current channel). Questions will be shown as new (i.e. previous answers are not preselected).

Purpose

Syntax

See also

Description

Remarks

Page 142: NIPO ODIN 5[1].11 CommandReference Rev20070123

134 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*INIT *QUESTION 9001 *ALPHA L18 *DATE Q9001 *END In this example the current date and time is saved each time the interview is started. *INIT *QUESTION 9002 *ALPHA L20 Int. first type the name of the respondent *END *QUESTION 1 *CODES L1 Are you the managing director of this company? 1: Yes 2: No *QUESTION 2 *CODES L1 Can you connect me with the managing director of the company 1: Yes 2: No, he is not in the office currently *CUT 1 3: No, refusal *ABORT In this example the name of the respondent is asked before each interview. Note that only the name of the last contact will be saved in question 9002.

Example 1

Example 2

Page 143: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 135

*INSTRUC CAPI only Defines a page of text. *INSTRUC *HELP *INFO *PAGE *QUESTION Defines a page of text. This command has to be at the beginning of a line. The text consists of all following lines up to the first new command that is at the beginning of a line (except **, *? and *FONT (switching)). During the interview these pages will not be displayed. The text is meant for the interviewer and will only be displayed if the questionnaire is viewed (ODIN for DOS, Compass). Viewing the questionnaire means that you can go through the questionnaire as if you are really interviewing. However no data will be written and no address records will be used. This possibility especially is used with CAPI where a face-to-face instruction for the interviewer is sometimes problematic.

System

Purpose

Syntax

See also

Description

Page 144: NIPO ODIN 5[1].11 CommandReference Rev20070123

136 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*INTRO NIPO CATI Client 5.03 and higher / Web Client 1.02 and higher Defines the introduction page. *INTRO [n] <introduction text> Defines the introduction page text. For each channel a separate introduction text may be defined. [n] This is the channel number or one of the predefined channel constants: _CATI_, _CAPI_, _CAWI_, _CASI_. (Expressions are not allowed). <introduction text> is the text that has to be displayed, this text can contain *FONT and can display system variables with the *? command (i.e. only the variables: AGENTNAME, LANGUAGE, etc. and Sample table fields that were defined with *SAMPLEDATA).

• *INTRO without an argument or *INTRO 0 is the introduction used for all channels that don't define their own introduction.

• Old style introduction will still be supported but cannot be mixed with new style *INTRO

introduction, when the styles are mixed within the same questionnaire an error message will be given.

• If n is the number of an unknown channel a warning message will be given (warning because

maybe in the future it will be a valid channel).

• More than one *INTRO command with the same argument in a questionnaire is not allowed: in that case a fatal error message will be given.

• The *INTRO command may also be used in a *LANGUAGE section, i.e. you may translate

the introduction in other languages.

*SAMPLEDATA TTAppointmentName *INTRO _CATI_ This is the introduction for NIPO CATI Clients only *?AGENTNAME, please call the telephone number that is displayed on top of this screen. *INTRO _CAWI_ Introduction for CAWI (Web) Clients only *?TTAppointmentName, please press the <Start> button, to start the interview.

System

Purpose

Syntax

Description

Arguments

Remarks

Example

Page 145: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 137

*INV Displays codes in random inverted order. *INV [[pos]L<length>] *GROUP *NOCON *RANDOM *ROT *REPEAT ... *ENDREP *ORDER This command can be used in two ways: In combination with a closed question and has to be on the same line as the question definition. The answer codes and the descriptions of the question will be shown in random inverted order on the screen. I.e. the codes and descriptions will once be displayed as defined in the questionnaire, then the codes and descriptions will be shown upside-down. On a single command line without arguments. In that case you use the command to make inversion of categories respondent consistent. The first respondent will get all questions with the question option *INV displayed top-to-bottom, the next respondent will get them all bottom-to-top. pos This is the data field specification where the order of the displayed categories is written in the data file with the closed answers. length This is the length of the data field. • The position specified behind *INV is only filled when the list is displayed inverted. It is not useful

to store more than one code, since the order of the codes is obvious. • With *NOCON answer categories can be excluded from the inversion. *QUESTION 1 *CODES 61 *INV 71L1 To what extent do you agree? 1: Totally agree 2: Agree 3: Don’t agree\don’t disagree 4: Disagree 5: Totally disagree 6: Don’t know *NOCON In this example, the answer is stored in position 61. In the answer field behind *INV, code 5 is written when the list is inverted. The *NOCON means the last category should always be displayed last.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 146: NIPO ODIN 5[1].11 CommandReference Rev20070123

138 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*INV *REPEAT 3 *REPNUM 1: *PUT brand “Acer” *REPNUM 2: *PUT brand “IBM” *REPNUM 3: *PUT brand “Tulip” *QUESTION 2 *CODES L1 *INV What do you think is the quality of *?brand ? 1: Very good 2: Good 3: Poor 4: Very poor *ENDREP In this example the code-order of Q2 is inverted, but for each respondent, the order is fixed.

Example 2

Page 147: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 139

*LABEL Defines a label for export to Diana variables, SPSS, etc. *LABEL <text> *VAR This command is always used in combination with *QUESTION and a question type definition and has to be behind these commands on the same line. This command gives the possibility to attach a name to a question. The label doesn't have to be unique. At the overview of the questions and the retrieving of a question from the questionnaire library this label will be visible. When creating variables for the NIPO DIANA program this label text will be used instead of the question text. text This is the text that will be used for the label. The maximum length of a label name is 65 characters. Label names containing spaces have to be enclosed by double quotes (“).

Purpose

Syntax

See also

Description

Arguments

Page 148: NIPO ODIN 5[1].11 CommandReference Rev20070123

140 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*LANGUAGE Defines a language section. *LANGUAGE "<name>[,LTR|RTL]" *SWILANG With this command, you can create one or more sections at the end of the questionnaire that contain text in another language than the default language. The only command allowed in such a section is *QUESTION. All other commands (for routing, etc.) must be placed in the main section. If a question number is not available in a another language, the text from the main section will be displayed. If a question is only written in another language, it will not be displayed. The categories will be displayed as they are written in the language, so make sure the categories are corresponding. During the interview the interviewer can switch to another language from the Language Menu (see NIPO ODIN Developer Manual) or a language switch can be forced by the *SWILANG command. name This is the name of the language section that ODIN refers to when a language is selected from the menu. Language names have to be placed between double quotes (e.g., "English"). LTR Indicates language direction Left-to-Right (Default). RTL Indicates language direction Right-to-Left (e.g., for Hebrew and Arabic). • The default language should always be English, as this is the default name of the first item in the

language menu, this can not be changed. So create the original questionnaire in English and then make language-versions for all other languages.

• If your original questionnaire is written in another language than English and you made an English translation later, refer to the original language with "English" and to this translation with another name, e.g., "Engels".

• If you are using the *SWILANG command in your NIPO ODIN questionnaire, you can disable the language menu (with the setting SwilangDisablesLanguageSwitch=1).

• The name of the language section that is operative will be hold in the system variable LANGUAGE. • In the language section in *FORM questions field position, tabs and spaces should be included in

the proper places.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 149: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 141

The following commands may be used in a *LANGUAGE section: *QUESTION (With question number, but without type, position or options) *? ** *FONT (definition) *FONT (switching) *LIST (definition) *USELIST *INTRO *INFO *NEW *PICT (question option) *PICT (codes option) *HELP (definition) (Only numbered *HELP screens) *PAGE (As part of a numbered *HELP screen) *NUMBER (in *FORM question) (Without position or options) *ALPHA (in *FORM question) (Without position or options) *SCALE (in *FORM question) (Without position or options) *GRID (in *FORM question) (Without position or options) *HEADING *MERGE Test questionnaire in three languages *QUESTION 100 *CODES L1 Please type in the language code. You can change the language code via the Language menu. 1: English *QUESTION 1 *CODES L1 question in English 1: Yes 2: No *QUESTION 2 *CODES L1 second question in English 1: Yes 2: No *QUESTION 3 *CODES L1 *IF [ Q100,2 ] third question only in Dutch 1: Yes 2: No *END

Allowed commands

Example 1

Page 150: NIPO ODIN 5[1].11 CommandReference Rev20070123

142 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*LANGUAGE “Nederlands” Test vragenlijst in drie talen *QUESTION 100 Wilt u de taalcode intikken. U kunt de taalcode wijzigen via het Language menu. 2: Nederlands *QUESTION 1 vraag in het Nederlands 1: Ja 2: Nee *QUESTION 2 tweede vraag in het Nederlands 1: Ja 2: Nee *QUESTION 3 de derde vraag is alleen in het Nederlands 1: Klopt 2: niet waar *LANGUAGE “Deutsch” Test Fragenbogen in drei Sprachen *QUESTION 100 Bitte geben Sie die Sprache ein. Sie können die Sprache ändern via das Language menu. 3: Deutsch *QUESTION 1 Frage auf Deutsch 1: Ja 2: Nein *QUESTION 2 Zweite Frage auf Deutsch 1: Ja 2: Nein

Page 151: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 143

*INTRO Introduction text for English respondents. ** In FORM questions the location of the fields should also be ** specified in the translation, without position or options; ** but including [tab] and [space] characters where required. *QUESTION 4 *FORM FORM question 1:Numeric field *NUMBER L2 *MIN 18 *MAX 65 2:Alpha field *ALPHA L20 *NON *TAB 40,50,60,70 *QUESTION 5 *FORM FORM SCALE question [tab]value1 [tab]value2 [tab]value3 [tab][space] 1:Statement 1 [tab]*SCALE L1 3 10[tab][space] 2:Statement 2 [tab]*SCALE L1 3 10[tab][space] 3:Statement 3 [tab]*SCALE L1 3 10[tab][space] *QUESTION 6 *FORM FORM GRID question [tab]Brand 1 [tab]Brand 2 [tab]Brand 3 [tab][space] 1:Line 1 [tab]*GRID L12 4.1 3.10[tab][space] Line 2 Line 3 Line 4 *LANGUAGE "Nederlands" *INTRO Introduktietekst voor Nederlandse respondenten. *QUESTION 4 FORM vraag 1:Numeriek veld *NUMBER 2:Alfa veld *ALPHA *QUESTION 5 FORM SCALE vraag [tab]waarde1 [tab]waarde2 [tab]waarde3 [tab][space] 1:Uitspraak 1 [tab]*SCALE[tab][space] 2:Uitspraak 2 [tab]*SCALE[tab][space] 3:Uitspraak 3 [tab]*SCALE[tab][space] *QUESTION 6 FORM GRID vraag [tab]Merk 1 [tab]Merk 2 [tab]Merk 3 [tab][space] 1:Regel 1 [tab]*GRID[tab][space] Regel 2 Regel 3 Regel 4

Example 2

Page 152: NIPO ODIN 5[1].11 CommandReference Rev20070123

144 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*LEFT Question type option and option within conjoint analysis. *LEFT <text> *SCALE *RIGHT This command is always used in combination with *QUESTION and *SCALE or in combination with *CONJ ... *ENDCONJ (start module conjoint analysis) and has to be behind these commands on the same line. With this command a text can be given which will during the interview be placed at the left-hand pole of the scale. text This is the text that will be displayed on the left-hand pole of the scale. If the text contains spaces it has to be between double quotes. Note: In NIPO ODIN 4.08 or higher the text may contain more than one line. The system will break lines as required. *QUESTION 1 *SCALE 61 *LEFT "Left scale text" *RIGHT "Right scale text" This is an example of a scale question. Result:

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 153: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 145

*LINE Defines a continuous scale question. *LINE [pos]L<length>|<pos> *MIN *MAX *REPEAT *SCALE This command is always used in combination with *QUESTION and has to be behind this command on the same line. Specifies a scale question. Input is done by means of drawing a line, using the left and right cursor keys or by clicking with the mouse on the scroll arrows. The numerical answer consists of the length of the line (i.e. the number of horizontal screen positions the line occupies) and will be put right aligned and with leading zeros in the answer record. pos This is the data field specification where the given answers will be written in the data file with the closed answers. length This is the length of the data field. If you specify a negative maximum will result in a vertical line. *QUESTION 1 *LINE 192L2 This is an example of a line question. Result:

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 154: NIPO ODIN 5[1].11 CommandReference Rev20070123

146 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION 1 *LINE 192L2 *MAX -99 This is an example of a vertical line question. Result:

Example 2

Page 155: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 147

*LIST (definition) Defines an answer list. *LIST <n|”name”> *LIST (question option), *USELIST Defines a category list. This command has to be at the beginning of a line. The code list consists of all following lines up to the first new command at the beginning of a line. If the list is going to be used with a closed question (*CODES) there may be more codes on one line separated by a slash (/). If the list is going to be used with a text question (*ALPHA) there may be behind the category text a text between square brackets which will be used as data to be written during the interview. If the list is going to be used with a numerical question (*NUMBER) or a text question (*ALPHA) the list may contain the same category more than once. Use this option for instance to specify common spelling mistakes or company names that have been changed or that are often abbreviated. You will however (obviously) afterwards not be able to differentiate between categories with the same code-number. n This is a positive integer and is unique within one sub-questionnaire. name This is the name of the list and has to be unique within one sub-questionnaire. • In the list definition a category may be followed by the answer option *NOCON. The use of this

answer option specifies that the specific code always will be displayed when the list is used. With this option it is possible to always display for example the answer category 'Don’t know'.

• Behind the categories in the list, when the list is used in combination with *CODES, the following category options are allowed: *OPEN (codes option) *NOCON *NMUL *SAVE (codes option) *FONT (switching) *GROUP *NEWCOLUMN *SWILANG

When the list is used in combination with *NUMBER or *ALPHA, only the category option *NOCON is allowed. The meaning of the option is that this category will not disappear from the list when typing an answer. All other category options will give an error. • A blank line at the bottom of the list will be considered as part of the list and will be displayed in the

category list of the question that uses the list.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 156: NIPO ODIN 5[1].11 CommandReference Rev20070123

148 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*LIST 1 1: Citroën 2: Fiat 3: Ford 4: Hyundai 5: Mazda 6: Mitsubishi 7: Nissan 8: Opel 9: Peugeot 10: Renault 11: Suzuki 12: Toyota 13: Volkswagen 14: Volvo 15: Other *NOCON *OPEN 16: Don’t know *NOCON

Example

Page 157: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 149

*LIST (question option) Uses answer categories from a list. *LIST <n|[expression]|”name”> *USELIST *LIST This command is always used in combination with *QUESTION and a question type definition and has to be behind these commands on the same line. An earlier defined list of categories will be used as answer categories at the question. This command may be used at the following three question types: In combination with *CODES the codes and the texts will be retrieved from the list. In this case the list may contain more categories next to each other separated by a slash (/). The answer has to be entered as a code and will be written as such in the U-file. The question can be multiple. In combination with *NUMBER the texts will be retrieved from the list. The answer has to be typed in as text. At each entered character the number of shown categories will be smaller. The code belonging to the answer will be written as a number in the U-file. In combination with *ALPHA the texts will be retrieved from the list. The answer has to be typed in as text. At each entered character the number of shown categories will be smaller. The text of the answer will be written in the U-file. If in the list definition a text between square brackets is present behind the category text, then this text will be written in the U-file. n|expression This is a positive integer or expression that indicates an existing list. If the expression is a numeric variable the expression has to be placed between square brackets. If the expression is a text variable, the expression has to be placed between double quotes (“). name This is the name of an existing list. If a list is used in combination with the question type *NUMBER or *ALPHA, the typed answer will not only be compared with the first word of the answering category text, but also with all other words in the answer category text. Note: A large list in a *NUMBER *LIST question in the Web Client will not be displayed correctly in some older Browser version. This is not a NIPO Software bug, but due to a bug in the Browser version. Avoid using long lists, when (some) respondents have older browsers.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 158: NIPO ODIN 5[1].11 CommandReference Rev20070123

150 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*LIST 1 1: Citroën 2: Fiat 3: Ford 4: Hyundai 5: Mazda 6: Mitsubishi 7: Nissan 8: Opel 9: Peugeot 10: Renault 11: Suzuki 12: Toyota 13: Volkswagen 14: Volvo 15: Other *NOCON *OPEN 16: Don’t know *NOCON *QUESTION 1 *CODES 61L2 *LIST 1 What is the make of your car? In this example the earlier defined list is used for answer categories, that will appear on screen as a normal *CODES question. *LIST Cars 1: Citroën 2: Fiat 3: Ford 4: Hyundai 5: Mazda 6: Mitsubishi 7: Nissan 8: Opel 9: Peugeot 10: Renault 11: Suzuki 12: Toyota 13: Volkswagen 14: Volvo *QUESTION 2 *CODES 63L17 *MULTI What brands of cars do you know? *USELIST Cars 16: Other #1 *OPEN 17: Other #2 *OPEN 18: Don’t know any brand *GOTO 9999

Example 1

Example 2

Page 159: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 151

*LIST Cars2 01: Alfa Romeo 02: B.M.W. 02: BMW 03: Citroën 04: Fiat 05: Ford 06: Hyundai 07: Mazda 08: Mitsubishi 09: Nissan 10: Opel 11: Peugeot 12: Renault 13: Rolls Royce 14: Suzuki 15: Toyota 16: Volkswagen 16: VW 17: Volvo 18: Other *NOCON 19: Don’t know *TEXTVARS lname *PUT lname "Cars2" *QUESTION 3 *NUMBER 81L2 *LIST "*? lname" What is the make of your car? In this example, the list that will be displayed is determined by a text variable and therefore the name has to be placed between double quotes (“) when you refer to it in the question. When selecting the brand, for instance ‘Ford’ start typing the name. After typing the ‘F’ only the brands ‘Ford’ and ‘Fiat’ will be displayed, plus the ‘Other’ category (because of the *NOCON). Either type the ‘O’ to select ‘Ford’ or use the arrow-down-key, then press <Enter>. The category number 05 will be written in the data file. When selecting the brand ‘Volkswagen’ after typing ‘VOL’ still both ‘Volkwagen’ and ‘Volvo’ will be displayed. Only after typing the fourth character ‘K’ it will display only ‘Volkswagen’. Note that you can define also the abbreviation ‘VW” with the same category number. When selecting the brand ‘Rolls Royce’, after typing ‘RO’ the brands ‘Alfa Romeo’ and ‘Rolls Royce’ are displayed, as the second word of ‘Alfa Romeo’ still fits the typing. Note the ‘Citroën’ also contains ‘ro’, but this is not at the beginning of a word.

Example 3

Page 160: NIPO ODIN 5[1].11 CommandReference Rev20070123

152 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*MAX Sets a maximum. *MAX <n|[expression]> *LINE *MIN *MULTI *NUMBER *RANGE *SCALE This command is always used in combination with *QUESTION and has to be on the same line behind the question type definition. In combination with *NUMBER it defines the maximum allowed answer value. If furthermore *LIST (question option) is used as question option it denotes the end of the list; categories that have a higher code value will not be displayed. In combination with *CODES *MULTI it defines the maximum number of answers allowed. In combination with *LINE it defines the number of steps the line will increase. In other words, if the maximum is 10 then the line will be on it’s maximum in 10 steps. In combination with *SCALE it defines the number of points in the scale. n|expression This is a positive integer or expression that gives the maximum answer value. If *MAX is used in combination with *SCALE, the maximum value is 26 (i.e. the scale size is maximum 26 points). *QUESTION 91 *NUMBER L2 *MAX 65 What is your age (Maximum is 65) *QUESTION 92 *CODES L1 Do you smoke? 1: Yes 2: No *QUESTION 93 *NUMBER L2 *MAX [ Q91 ] At what age did you start smoking (Maximum is current age)

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 161: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 153

*QUESTION 1 *NUMBER L1 How many cars do you have? *QUESTION 2 *CODES L16 *MULTI *MAX [ Q1 ] *IF [ Q1>=1 ] What brand(s) of car(s) do you have (Maximum as many brands as you have cars) 1: Citroën 2: Fiat 3: Ford 4: Hyundai 5: Mazda 6: Mitsubishi 7: Nissan 8: Opel 9: Peugeot 10: Renault 11: Suzuki 12: Toyota 13: Volkswagen 14: Volvo 15: Other *NOCON *OPEN 16: Don’t know *NOCON *NMUL In this example, no more answers can be given than the number of cars mentioned in Question 1. *QUESTION 71 *SCALE L1 *MAX 5 This is an example of a scale question with 5 boxes. *QUESTION 72 *LINE L2 *MAX 50 This is an example of a line question, divided in 50 steps.

Example 2

Example 3

Page 162: NIPO ODIN 5[1].11 CommandReference Rev20070123

154 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*MERGE CAPI only Inserts a questionnaire. *MERGE [startpos] <filename> [:C] The specified questionnaire file is inserted on the spot of this command. *MERGE can not be used in a questionnaire that is already to be merged. startpos The start position wherewith all fixed data fields in the merged questionnaire will be raised. All data fields that are not fixed will be reserved as usual in consecutive positions. filename Name of the questionnaire that has to be merged. The name must comply with the questionnaire naming conventions. Note that the Q has to be included. :C The questionnaire that should be merged is coded (encrypted), so it can not be viewed, opened or changed by the interviewer or respondent. The questionnaire can be encrypted with the NIPO program DECODE.EXE. By default merged questionnaires are uncoded (plain ASCII text), so could be viewed or changed by the interviewer or respondent • The questionnaire to merge has to have fixed data fields. • The *MERGE command is intended for the NIPO CAPI System or NIPO Interview System stand-

alone. When using *MERGE in the NIPO CATI System, the questionnaire that has to be merged should be placed on the local drive of the interviewer PC.

• The start position can not be defined if the questionnaire has to be merged in a language section. • The *MERGE command can not be used conditionally, as it is executed when loading the

questionnaire into memory. *MERGE BCKGRNDQ The questionnaire with the name BCKGRNDQ will be merged into the main questionnaire.

System

Purpose

Syntax

Description

Arguments

Remarks

Example 1

Page 163: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 155

*QUESTION 100 *CODES L1 Please type in the language code. You can change the language code via the Language menu. 1: English *QUESTION 1 *CODES L1 question in English 1: Yes 2: No *QUESTION 2 *CODES L1 second question in English 1: Yes 2: No *QUESTION 3 *CODES L1 *IF [ Q100,2 ] third question only in Dutch 1: Yes 2: No *END *LANGUAGE Nederlands *MERGE DUTCHQ *LANGUAGE Deutsch *MERGE GERMANQ In this example, a questionnaire with the name DUTCHQ will be merged into the Dutch section of the main questionnaire and a questionnaire with the name GERMANQ will be merged into the German section of the main questionnaire.

Example 2

Page 164: NIPO ODIN 5[1].11 CommandReference Rev20070123

156 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*MIN Sets a minimum. *MIN <n|[expression]|Qn> *LINE *MAX *MULTI *NUMBER *RANGE *SCALE This command is always used in combination with *QUESTION and has to be on the same line behind the question type definition. In combination with *NUMBER it defines the minimum required answer value. If furthermore *LIST (question option) is used as question option it sets the start of the list; categories that have a lower code value will not be displayed. In combination with *CODES *MULTI it defines the minimum number of answers that have to be given In combination with *LINE it defines the starting length of the line. I.e. the number of screen positions the line initially occupies. However, the line still can be made shorter. In combination with *SCALE it defines the starting position of the block in the scale. n|expression This is a positive integer or expression that gives the minimum answer value or the initial length/position. Qn This is a question reference of a data field. The answer to this question is used as the minimum value. If used with a scale question, the value 0 indicates that no starting position is displayed. *QUESTION 91 *NUMBER L2 *MIN 18 *MAX 65 What is your age (Minimum is 18, maximum is 65) *QUESTION 101 *NUMBER L4 *MIN [ -999 ] What was the gross profit for your company last year? (Type the profit in Millions, if the company made a loss, use negative numbers)

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 165: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 157

*QUESTION 1 *CODES L18 *MULTI *MIN 3 What are your three favourite car brand(s) (Minimum 3 brands) 1: Citroën 2: Fiat 3: Ford 4: Hyundai 5: Mazda 6: Mitsubishi 7: Nissan 8: Opel 9: Peugeot 10: Renault 11: Suzuki 12: Toyota 13: Volkswagen 14: Volvo 15: Other #1 *OPEN 16: Other #2 *OPEN 17: Other #3 *OPEN 18: Don’t know *NOCON *NMUL *QUESTION 71 *SCALE L1 *MAX 5 *MIN 3 This is an example of a scale question with 5 boxes. The initial value is 3 (the box in the middle) *QUESTION 72 *SCALE L1 *MAX 5 *MIN 0 This is an example of a scale question with 5 boxes. The initial value is 0 (no box preselected) *QUESTION 81 *LINE L2 *MAX 50 *MIN 25 This is an example of a line question, divided in 50 steps. The initial value is 25 (line is halfway the screen) *QUESTION 82 *LINE L2 *MAX 50 *MIN 0 This is an example of a line question, divided in 50 steps. The initial value is 0 (no line)

Example 2

Example 3

Page 166: NIPO ODIN 5[1].11 CommandReference Rev20070123

158 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*MOVA Transfers data to the T-file/Sample table record. *MOVA <Qn> <Qm> *MOVU *COPY *ADDRESS This command is also allowed under condition. Data specified in the second argument will be transferred to the data field in the T-file/Sample table record specified in the first argument. The original contents of the receiving data field will be overwritten.

Qn This is a (dummy) question that refers to a data field in the T-file/Sample table record. Qm The question reference of the data field that contains the data to be transferred. *QUESTION 1 *NUMBER 290L2 *ADDRESS *QUESTION 2 *NUMBER 61L2 How old are you? *MOVA Q1 Q2 This example stores the contents of question 2 (position 61-62) in position 290-291 of the T-file/Sample table record.

Purpose

Syntax

See also

Description

!

Arguments

Example

Page 167: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 159

*MOVU Transfers data to a data field in the closed answers record (U-file). *MOVU <Qn> <Qm> *MOVA *COPY This command is also allowed under condition. Data specified in the second argument will be transferred to the data field specified in the first argument. This command is especially used to transfer data from the T-file/Sample table record to a data field in the record with closed answers. The original contents of the receiving data field will be overwritten.

Qn The question reference of the data field where the data have to be transferred to. Qm Refers to a (dummy) question indicating a data field in the T-file/Sample table record that contains the data to be transferred. *QUESTION 1 *NUMBER 290L2 *ADDRESS *QUESTION 2 *NUMBER 61L2 *MOVU Q2 Q1 This example stores the contents of position 290-291 of the T-file/Sample table record into question 2 (position 61-62). *QUESTION 701 *ALPHA 1L17 *ADDRESS *QUESTION 702 *ALPHA 101L17 *MOVU Q702 Q701 This example stores the telephone number (position 1-17 of the T-file/Sample table record) into question 702 (position 101-117).

Purpose

Syntax

See also

Description

!

Arguments

Example 1

Example 2

Page 168: NIPO ODIN 5[1].11 CommandReference Rev20070123

160 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*MULTI Specifies a question as a multiple coded question. *MULTI [[pos]L<length>|<pos>] *CODES *NMUL *OPEN (question type) *GRID This command is always used in combination with a closed question or an open question and has to be behind these commands on the same line. Specifies a question as a multiple coded question. The length of the data field specification for *CODES has to be at least as long as the highest code value in the set of presented codes. The answers will be written as a string of 0 and 1 values in the data file with the closed answers. Here answer code n corresponds with the nth position in the string. A 1 on that position means that the answer is given. If *MULTI is used in combination with *OPEN (question type), the question will be regarded as a multiple answer question when coding open answers. See also the NIPO ODIN Developer Manual. If *MULTI is used in combination with *GRID, the grid-question will be regarded as multiple and more than one box may be selected in. both horizontal and vertical direction. pos This is the data field specification where the order of the choice of the mentioned categories is written in the data file with the closed answers. length The number of codes of which the order will be saved is dependent of the length in the data field specification. This has to be just as long as the number of codes to be saved multiplied by the length for the highest code. If the data field is shorter it will be truncated. To specify a maximum number of answers to be mentioned, use *MAX. *QUESTION 1 *CODES 61L10 *MULTI 71L6 What PC makes do you know? 1: Acer 2: Compaq 3: Dell 4: Hewlett Packard 5: IBM 6: Philips 9: Other *OPEN 10: Don’t know *NMUL In this example, all mentions are written in position 61L10. The order of the first three answers mentioned is written in position 71L6. For instance, if the categories 5, 1, 6 and 4 are mentioned, position 71L2 will hold the value 05, position 73L2 will hold the value 01 and position 75L2 will hold the value 06.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 169: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 161

*NCLS Does not clear the screen at new question. *NCLS *PNW This command is always used in combination with *QUESTION or *PAGE and has to be behind these commands on the same line. During the interview, the screen will not be cleared when this question is dealt with. The question is placed under the previous question on the screen. If the screen gets full text will scroll off the top of the screen. In Windows the screen does not scroll automatically, but you can use the scroll bar to scroll the screen. *QUESTION 1 *CODES 61 Do you own a VCR? 1: Yes 2: No *QUESTION 2 *OPEN 62L10 *MULTI *IF [Q1,1] *NCLS What is the brand of your VCR? In this example, the screen is not cleared when question 2 comes up:

Purpose

Syntax

See also

Description

Remarks

Example

Page 170: NIPO ODIN 5[1].11 CommandReference Rev20070123

162 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*NEW Starts a new sub-questionnaire. *NEW [n|Qn] Defines the start of a new sub-questionnaire. This command has to be at the beginning of a line. A sub-questionnaire forms a closed set of questions. Question numbers and answer fields may double with question numbers and answer fields of another sub-questionnaire. For each sub-questionnaire a separate answer record will be written. Variables are always known throughout the entire questionnaire. The function of this command is to deal with several subjects, for instance from different researchers, in one interview or to write separate records for each member of a household or to store data over 32.000 positions per record. n The position of the record from where the answers of the previous questionnaire will be cleared. Qn The question reference of the data field from where the answers of the previous questionnaire will be cleared. • If this argument is given you can still refer to data fields that are lower than the specified data field. • If the argument is omitted the default position is 61. • After a *NEW you can always refer to questions in previous sub-questionnaire(s). However if you

use a question number again in a new sub-questionnaire, it will refer to the question in the current sub-questionnaire. Obviously you are not allowed to store any thing in a previous sub-questionnaire.

Purpose

Syntax

Description

Arguments

Remarks

Page 171: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 163

*NEWCOLUMN Sets a breakpoint for category lists. *NEWCOLUMN *AUTO *GROUP This command is used to set a breakpoint for category lists if used in combination with *AUTO. When a category list is too long to fit on the screen the system will try to arrange the categories into columns of equal length on the screen. With *NEWCOLUMN you can determine where to start the next column. • In the NIPO CATI Client you can not force the system to split a column list at a specific point. Only

if the system decides to split a column list it will take into account where you have put the breakpoints.

• In the NIPO Web Client *AUTO is not supported. The *NEWCOLUMN command will split categories in columns for the Web Client (i.e. the columns are forced).

• Normally the system will try to create columns of equal length. Using *NEWCOLUMN will prevent this.

*QUESTION 2 *CODES L2 *AUTO Question text 1:code 1 2:code 2 3:code 3 4:code 4 5:code 5 6:code 6 7:code 7 8:code 8 9:code 9 10:code 10 11:code 11 12:code 12 13:code 13 14:code 14 15:code 15 16:code 16 17:code 17 18:code 18 19:code 19 20:code 20 21:code 21 *NEWCOLUMN 22:code 22 23:code 23 24:code 24 25:code 25 26:code 26 27:code 27 28:code 28 29:code 29 30:code 30

Purpose

Syntax

See also

Description

Remarks

Example

Page 172: NIPO ODIN 5[1].11 CommandReference Rev20070123

164 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

31:code 31 32:code 32 33:code 33 34:code 34 35:code 35 36:code 36 37:code 37 38:code 38 39:code 39 40:code 40 41:code 41 *NEWCOLUMN 42:code 42 43:code 43 44:code 44 45:code 45 46:code 46 47:code 47 48:code 48 49:code 49 50:code 50 51:code 51 52:code 52 53:code 53 54:code 54 55:code 55 56:code 56 57:code 57 58:code 58 59:code 59 60:code 60 61: don't know *NOCON 62: no answer In this example the second column will start at the twentieth category regardless the length of the columns.

Page 173: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 165

Result:

Page 174: NIPO ODIN 5[1].11 CommandReference Rev20070123

166 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*NEXT Skips fields in form questions. *NEXT <n> *FORM With this command it is possible to jump to a specific field in a form question. n refers to the field number. If the fields are not numbered ODIN will not skip any fields. n Field number to which the jump will be made. *QUESTION 1 *FORM Income and spending per month 1: Gross income per month *NUMBER L5 2: House *NUMBER L1 *MIN 1 *MAX 2 *IF [Q1F2=2] *NEXT 4 (1=Property, 2=Rental) 3: Mortgage per month *NUMBER L5 *NON *NEXT 5 4: Rent per month *NUMBER L5 *NON 5: Other fixed overheads *NUMBER L5 *NON In this example, the mortgage per month will be asked if the respondent owns a house, otherwise the rent per month will be asked.

Purpose

Syntax

See also

Description

Arguments

Example

Page 175: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 167

*NMUL Specifies that the code in question can not be given as answer in combination with other codes. *NMUL *MULTI This command is always used behind a code definition and has to be behind this code on the same line. Specifies that the code can not be given as answer in combination with other codes. This command is only effective for questions that allow multiple answers. *QUESTION 1 *CODES 61L10 *MULTI What PC makes do you know? 1: Acer 2: AST 3: Compaq 4: Dell 5: Hewlett Packard 6: IBM 7: Philips 8: Tulip 9: Other *OPEN 10: Don’t know *NMUL In this example, selecting category 10 will automatically deselect other categories and vice versa.

Purpose

Syntax

See also

Description

Remarks

Example

Page 176: NIPO ODIN 5[1].11 CommandReference Rev20070123

168 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*NOCON Specifies that the code in a question doesn't come under control. *NOCON *CONTROL *INV *LIST *RANDOM *ROT This command is always used behind a code definition and has to be behind this code on the same line. If the codes of the current question are displayed under control by means of *CONTROL then this code will not be part of it. The code will always be displayed normally. This command is also used for the question options *RANDOM, *INV and *ROT. All codes starting from the code that has *NOCON as option will be displayed normally on the screen. If used in combination with *LIST (question option) and *NUMBER or *ALPHA the category will be displayed even after typing text and thus pre-selecting categories. *QUESTION 1 *CODES 61L10 *MULTI What PC makes do you know? (Unaided awareness) 1: Acer 2: AST 3: Compaq 4: Dell 5: Hewlett Packard 6: IBM 7: Philips 8: Tulip 9: Other *OPEN 10: Don’t know any makes*NMUL *QUESTION 2 *CODES 71L10 *MULTI *CONTROL Q1 N Which of the following PC makes do you know? (Aided awareness) 1: Acer 2: AST 3: Compaq 4: Dell 5: Hewlett Packard 6: IBM 7: Philips 8: Tulip 10: None of the above *NMUL *NOCON In this example, code 10 in question 2 is always displayed, even when it is mentioned in question 1.

Purpose

Syntax

See also

Description

Example

Page 177: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 169

*NOENTER Allows bypassing the [ENTER] key. *NOENTER With this command it is possible to enter data without confirmation. I.e. you don’t have to press the [ENTER] key or the [OK] button after you have entered a (category) number. This speeds up data entry but may be error sensitive. This option has no effect on *MULTI questions and *ALPHA questions *NOENTER *QUESTION 1 *CODES L1 Gender 1: Male 2: Female *QUESTION 2 *NUMBER L2 Age

Purpose

Syntax

Description

Remarks

Example

Page 178: NIPO ODIN 5[1].11 CommandReference Rev20070123

170 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*NOHIDE ODIN 4.08 (16-bit) only Ignores the *CONTROL command for a specific category. *NOHIDE *CONTROL *NOCON *STOPAUTO *STOPRANDOM This command is always used behind a code definition and has to be behind this code on the same line. If the answer categories are displayed under control of another question by means of *CONTROL then this code will always be displayed regardless of the answers given to the controlling question. *QUESTION 1 *CODES 61L10 *MULTI What PC makes do you know? (Unaided awareness) 1: Acer 2: AST 3: Compaq 4: Dell 5: Hewlett Packard 6: IBM 7: Philips 8: Tulip 9: Other *OPEN 10: Don’t know any makes *NMUL *QUESTION 2 *CODES 71L10 *MULTI *CONTROL Q1 N Which of the following PC makes do you know? (Aided awareness) 1: Acer 2: AST 3: Compaq 4: Dell 5: Hewlett Packard 6: IBM 7: Philips 8: Tulip 10: None of the above *NMUL *NOHIDE In this example, code 10 in question 2 is always displayed, even when it is mentioned in question 1.

System

Purpose

Syntax

See also

Description

Example

Page 179: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 171

*NON Permits non-response. *NON This command is always used in combination with *QUESTION and a question type definition and has to be behind these commands on the same line. Non-response is permitted at this question. It is permitted to press [Enter] or [OK] without giving an answer. • In DOS, if the command is used in combination with a scale question (*SCALE), a separate box

below the scale will code for ‘no answer’. • In Windows, if the command is used in combination with a scale question (*SCALE) or a line

question (*LINE), a ‘Don’t know’ button will appear to enter non-response. *QUESTION 1 *NUMBER 61L4 *NON What is your postcode? In this example, it is possible to press [Enter] or [OK] without filling in the postcode.

Purpose

Syntax

Description

Remarks

Example

Page 180: NIPO ODIN 5[1].11 CommandReference Rev20070123

172 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*NONRESP End questionnaire, to response list. *NONRESP ["I"|"E"|"A"] *CUT With this command the interview is terminated and the (non-)response list is put on the screen. The argument determines which list will be shown. If the argument is omitted the default (non-)response list from "I" will be displayed. See also the description of the survey configuration file nameN in chapter 6 of the NIPO ODIN Developer Manual. "I" The (non-) response list that is displayed initially appears on the screen. This is the list that appears after answering No to the question Start interview (Y/N)? (DOS) or pressing the Nonresp key in the introduction screen (Windows) "E" The (non-) response list that is displayed when the interviewer wants to enter a non-response after the interview has started, by typing -END (DOS) or choosing the File menu item Nonresp(Windows). "A" The (non-)response list that is displayed when the interviewer enters -CUT (DOS) or chooses the Appoint item in the File menu (Windows).

Purpose

Syntax

See also

Description

Arguments

Page 181: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 173

*NOTBACK Blocks going back in questionnaire. *NOTBACK You can not go back in the questionnaire any further than up to this command. Using [F1] (DOS) or the [Back] button (Windows) at this spot will result in an error message. It is possible to go back by using the command *BACK.

Purpose

Syntax

Description

Remarks

Page 182: NIPO ODIN 5[1].11 CommandReference Rev20070123

174 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*NUMBER (question type) Defines a numerical question. *NUMBER [pos]L<length>[.fraction]|<pos> *ALPHA *CODES *OPEN (question type) *LIST *MIN *MAX *RANGE This command is always used in combination with *QUESTION and has to be behind this command on the same line. Defines a question as a numerical question and expects a number as answer. The answer will be right aligned and with leading zeros put in the answer field. The answer can consist of an integer or a floating-point value, as defined in the data field specification. pos This is the data field specification where the given answers will be written in the data file with the closed answers. length This is the length of the data field. The length of the data field defines the number of digits of the maximum value of the question. In case of a floating point value, the length of the data field is length+fraction. fraction This is the number of decimals that is allowed to enter in a floating-point value. The fraction will be written in the data field without the decimal separator. Which separator (point or comma) is to be used by the interviewer/respondent depends on the Window settings. • The decimal point in the syntax will not be written to the answer record. • Negative values will be written with a preceding minus sign in the data file. • Positive values will be written without sign. *QUESTION 1 *NUMBER 61L3.2 *MAX 100 What percentage of your income do you spend on clothing? In this example, you can enter a value with two decimals, for instance 60.75. In the data field 06075 will be written over 5 positions.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 183: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 175

*NUMBER (in *FORM question) Defines a numerical field in a *FORM question. *NUMBER [pos]L<length>[.fraction]|<pos> *FORM *ALPHA (in *FORM question) *SCALE (in *FORM question) *GRID This command is always used in a *FORM question. Defines a field that expects a number as answer. Several fields may be specified in the same *FORM question. The answer will be right aligned and with leading zeros put in the answer field. The answer can consist of an integer or a floating-point value, as defined in the data field specification. In this case the decimal character will be virtual (i.e. not actually stored in the data). pos This is the data field specification where the given answers will be written in the data file with the closed answers. length This is the length of the data field. The length of the data field defines the number of digits of the maximum value of the question. In case of a floating point value, the length of the data field is length+fraction. fraction This is the number of decimals that is allowed to enter in a floating-point value. The fraction will be written in the data field without the decimal separator. Which separator (point or comma) is to be used by the interviewer/respondent depends on the Window settings. • The decimal point in the syntax will not be written to the answer record. • Negative values will be written with a preceding minus sign in the data file. • Positive values will be written without sign.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 184: NIPO ODIN 5[1].11 CommandReference Rev20070123

176 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*TAB 50, 60 *QUESTION 1 *FORM *BUT 99 "Don't know" What percentage of your income do you spend on ... 1:Regular expenses (rent, heating, etc) *NUMBER 61L3.1 *MAX 100 % 2:Clothing *NUMBER 65L3.1 *MAX 100 % 3:Food *NUMBER 69L3.1 *MAX 100 % 4:Going out *NUMBER 73L3.1 *MAX 100 % *QUESTION 2 *CODES 77L1 *IF [Q1F1 + Q1F2 + Q1F3 + Q1F4 <> 100] The sum of all 4 fields may not add up over 100% 1: go back and correct *BACK 1 In this example, you can enter four values with one decimal each. The OK button will be enabled after all fields are filled and match the criterium *MAX 100. To check the sum of the values question 2 is added. The Don't know button is disabled, when one or more fields are filled. When the Don't know button is pressed, the first field will contain the value 99, i.e. in position 61-64 0990 is stored. Result:

Example

Page 185: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 177

*OPEN (question type) Defines an open question. *OPEN [pos]L<length>|<pos> *BMP *REC *ALPHA *CODES *NUMBER *OPEN (codes option) This command is always used in combination with *QUESTION and has to be behind this command on the same line. It defines a question as an open question that expects an alphanumerical answer. This open answer can be of virtually unlimited length. The typed in answer will be written to a separate data file for the open answers. Although the answer will not be written to the data file with the closed answers there will still be room reserved. This data field specification is used when inserting the coded open answers. If you wish to code the open answers later on and finally want to insert the codes in the data file, it is wise to make the length in the data field specification so long that the number of different codes you expect to create at the coding, fit in the data file. See also the NIPO ODIN Developer Manual. pos This is the start of the data field reserved in the U-file. This will also be used as identification in the O-file, to enable coding open answers in the coding module (See NIPO ODIN Developer Manual). length This is the length of the data field. • In DOS, pressing [Enter] during the interview will give a new input line. Pressing [Enter] on a blank

line will end the answer and there will be continued with the next question. All input lines will be concatenated to one record.

• In Windows a text box appears in which you can type the complete answer. Typing is finished when the [OK] or [Cancel] button is pressed.

• Optionally the command *MULTI can be added. This has no influence on the interviewing process. When coding open answers the question will be treated as a multiple answer question. Coding of open answers is a separate module of the ODIN system.

• In NIPOSYS.INI the following setting applies: DoubleEnter=n. By default (n=0), an open-ended answer box will be closed when the interviewer presses the [Enter] button. By turning this setting on (n=1), the interviewer has to press the [Enter] button twice to close the open-ended answer box.

• In the NIPO ODIN questionnaire you can specify any field length. However the NIPO Coding Module is not able to recognize fields of more than 3 digits (max. 999), as there are only 3 digits reserved in the O-file for the length.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 186: NIPO ODIN 5[1].11 CommandReference Rev20070123

178 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION 1 *OPEN 61 *NON Do you have comment or remarks regarding this questionnaire? In this example, you can enter all the text you like. This text is written in the O-file. No code is written in the U-file, so the data field (61) remains empty. It is however used to reserve some space because of (re-) coding afterwards (maximum 9 categories, single). Because of the *NON command, it is also possible not to enter anything, no open ended answer will be written then. *QUESTION 2 *OPEN 62L100 *MULTI *BUT 1 “No suggestions” Do you have any suggestions on how to improve this product? In this example, you can enter all the text you like. This text is written in the O-file. No code is written in the U-file, so the data field (62L100) remains empty. It is however used to reserve some space because of (re-) coding afterwards (maximum 100 categories, multiple). If the button “No suggestions” is selected, no open answer is written, but code 1 is entered in the data file.

Example 1

Example 2

Page 187: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 179

*OPEN (codes option) Specifies a code as an open code. *OPEN *CODES *OPEN (question type) This command is always used behind a code definition and has to be behind this code on the same line. Specifies a code as open code and expects, when the code is part of the answer, a literal answer that can be of virtually unlimited length. The entered answer will be written in a separate data file for the open answers. • In DOS, pressing [Enter] during the interview will give a new input line. Pressing [Enter] on a blank

line will end the answer and there will be continued with the next question. All input lines will be concatenated to one record.

• In Windows a text box appears in which you can type the complete answer. Typing is finished when the [OK] or [Cancel] button is pressed.

*QUESTION 1 *CODES 61 Do you live in Amsterdam or somewhere else? 1: Yes, in Amsterdam 2: No, somewhere else *OPEN In this example, if answer 2 is chosen, it is possible to enter the exact place. This text is written in the O-file, while the code (2) is written in the U-file.

Purpose

Syntax

See also

Description

Remarks

Example

Page 188: NIPO ODIN 5[1].11 CommandReference Rev20070123

180 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*ORDER Set the order of categories or a repeat-loop. *ORDER <var | QnM | QnR> *CODES *FORM *REPEAT ... *ENDREP *RANDOM *INV *ROT var This is a variable name of an indexed variable (*VARS name[n]). The values in this variable set the order in which the categories will be displayed or the order in which the loop will be processed QnM This is order of mentions of a previous *MULTI question. QnR This is the order in which a previous question with *RANDOM, *INV or *ROT was displayed. You can define the order of categories in a *CODES or *FORM question and the order of a *REPEAT-loop according to a contents of an indexed variable or the order of mentions of a previous question. • Both variable names and questions with order specifier (QnM or QnR) may be used after the

*ORDER command. • *ORDER may be used after *REPEAT or after a *CODES or *FORM question. • Invalid orders in the argument with *ORDER will be ignored. This means if an order number is

used twice or if an index in the variable is empty, all other categories will be displayed in the normal order.

• *ORDER cannot be used together with *RANDOM, *INV or *ROT • The order will contain the number that will be executed. E.g., 10,9,7 will execute first the physical

10th, then the 9th and then the 7th, etc. • The typing order of a multi-question will be available in QnMi

(n is question number and i the index of the order you want) • The display order of a random-question will be available in QnRi

(n is question number and i the index of the order you want). • You can store the order of mentions and or the random order by specifying a position behind the

*MULTI Ln resp. *RANDOM Ln command. The operators QnM and QnR are available, independent on whether the order is saved or not.

• The syntax checker will give a warning message when the variables M or R are defined. If these variable names are used, the operator QnMi and QnRi will not be available.

• The items which are not in the *ORDER command, will be displayed in the order as if there was no *ORDER command. This means that if you only want to show the items mentioned in a previous *CODES question in the order they were mentioned, you have to use both a *ORDER and a *CONTROL command.

Purpose

Syntax

See also

Arguments

Description

Page 189: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 181

*QUESTION 1 *CODES 61L5 *MULTI 66L4 Which brands do you know? (Int. do NOT help! Type the answers in the same order as given by the respondent) 1: brand A 2: brand B 3: brand C 4: brand D 5: None of these *NMUL *NOCON *QUESTION 2 *CODES 71L5 *MULTI 76L4 *CONTROL Q1 W *ORDER Q1M Which brand do you use most often (Brands are presented in the order that was entered in Q1) 1: brand A 2: brand B 3: brand C 4: brand D 5: None of these *NMUL *NOCON *QUESTION 3 *CODES 81L5 *MULTI *RANDOM Which of the following brands do you know? 1: brand A 2: brand B 3: brand C 4: brand D 5: None of these *NMUL *NOCON *TEXTVARS STATEMENT *REPEAT 5 *ORDER Q3R ** The repeat loop will be executed in the same order ** as how Q3 was (randomly) displayed *REPNUM 1 *PUT STATEMENT "Brand A" *REPNUM 2 *PUT STATEMENT "Brand B" *REPNUM 3 *PUT STATEMENT "Brand C" *REPNUM 4 *PUT STATEMENT "Brand D" *REPNUM 5 *PUT STATEMENT "All brands" *QUESTION 4 *CODES L1 *?STATEMENT 5: 5 (good) 4: 4 3: 3 2: 2 1: 1 (poor) *ENDREP

Example 1

Example 2

Page 190: NIPO ODIN 5[1].11 CommandReference Rev20070123

182 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*** 'Brand A' should always be presented first *** 'Brand B', 'Brand C' and 'Brand D' should be in random order *** 'All brands' should always be last *VARS MyOwnOrder[4],NR *PUT MyOwnOrder[1] [1] *** Create an extra repeat-loop to get 3 unique numbers *** 2 through 4 *REPEAT 3 *RANDOM *PUT NR [ NR + 1 ] *PUT MyOwnOrder[?R + 1] [NR + 1] *ENDREP *TEXTVARS STATEMENT *REPEAT 5 *ORDER MyOwnOrder ** The repeat loop will be executed in the order ** that I defined in the variable MyOwnOrder ** As the variable MyOwnOrder has only 4 indices, ** the fifth repetition will be executed in the normal order ** (i.e. last) *REPNUM 1 *PUT STATEMENT "Brand A" *REPNUM 2 *PUT STATEMENT "Brand B" *REPNUM 3 *PUT STATEMENT "Brand C" *REPNUM 4 *PUT STATEMENT "Brand D" *REPNUM 5 *PUT STATEMENT "All brands" *QUESTION 3 *CODES L1 *?STATEMENT 5: 5 (good) 4: 4 3: 3 2: 2 1: 1 (poor) *ENDREP When you create random order numbers for brand A, B, C and D, you could also use the RAN operator. But then you are not sure that it will pick four different numbers. If this happens, brand A, B, C and D will be in random order until a duplicate is met. *PUT MyOwnOrder[1] [ (RAN 4) + 1 ] *PUT MyOwnOrder[2] [ (RAN 4) + 1 ] *PUT MyOwnOrder[3] [ (RAN 4) + 1 ] *PUT MyOwnOrder[4] [ (RAN 4) + 1 ] *REPEAT 4 *ORDER MyOwnOrder For instance when: MyOwnOrder[1] contains 3 MyOwnOrder[2] contains 1 MyOwnOrder[3] contains 3 MyOwnOrder[4] contains 2 The repetition will be executed in the order: 3, 1, 2, 4.

Example 3

Note

Page 191: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 183

*PAGE Defines a page of text. *PAGE *HELP *INFO *INSTRUC *QUESTION *PNW Defines a page of text. This command has to be at the beginning of a line. The text consists of all following lines up to the first new command that is at the beginning of a line (except ** *? and *FONT (switching)). During the interview this text will be displayed. To proceed only [Enter] or [OK] has to be pressed. The text usually contains an explanation for the next question or questions. *PAGE And now some questions about snacks. *QUESTION 1 *CODES 61 Did you have a snack today? In this example, a short introduction to the next question(s) is displayed. After an *IF statement, you may directly specify an *PAGE with text. *IF [ TMP = 1 ] *PAGE This text will appear on a separate page

Purpose

Syntax

See also

Description

Example 1

Example 2

Page 192: NIPO ODIN 5[1].11 CommandReference Rev20070123

184 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*PICT (question option) Displays a picture. *PICT <filename|n|[expression]> or *PICT <n|[expression]> <”library name”> *PICT (codes option) With this command it is possible to display a picture on the screen. This picture has to be a valid bitmap file. The starting position of the picture is in the upper right corner. This bitmap file can also be part of a picture library. In this case the starting position is defined in the picture library. From this version, *PICT can also be used in combination with *PAGE, *INFO and *HELP. Only pictures in the following formats can be used in NIPO ODIN 4.08: • BMP • JPG (normal encoding) filename This is the name of the bitmap file that has to be shown. If this file is not in the working directory a full path name can be used. Note that screen resolution for respondents or interviewer workstations might vary. Always create a picture in the lowest resolution that is used for optimum results. n|expression This is a positive integer or expression that indicates the number of the picture in a picture library (P-file). library name This is the name of a picture library other than the default picture library. A default picture library is a library with the same name as the questionnaire: nameP.

Purpose

Syntax

See also

Description

Remarks

Arguments

Page 193: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 185

*QUESTION 1 *CODES 61 *PICT NipoSoftwareLogo.jpg Do you recognise this logo? 1: Yes 2: No This example displays a question with the picture ‘NipoSoftwareLogo.jpg’, the place of the picture can not be changed:

QUESTION 1 *CODES 61 *PICT 1 Do you recognise this logo? 1: Yes 2: No This example displays a question with picture 1 from the picture library. the place of the picture can be changed in the Multimedia Library:

*QUESTION 1 *CODES 61 *PICT 1 “mylib” *PICT 3 “otherlib” This example displays a question with picture 1 from the picture library ‘MYLIB’ and a picture 3 from the picture library ‘OTHERLIB’.

Example 1

Example 2

Example 3

Page 194: NIPO ODIN 5[1].11 CommandReference Rev20070123

186 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*PICT (codes option) Displays a picture. *PICT <n|[expression1]> [m|[expression2]] *PICT This command is always used behind a code definition and has to be behind this code on the same line. A picture will be displayed identified by the picture number. The picture comes from the picture library (P-file). n|expression1 n is a positive integer or expression which indicates the picture number in the picture file. m|expression2 This is a positive integer or expression that indicates the vertical shift of the picture in pixels. The direction of the shift is downwards.

Purpose

Syntax

See also

Description

Arguments

Page 195: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 187

*PLAY Windows Plays multimedia files. *PLAY [n1] [n2] <filename> *RUN With this command it is possible to play multimedia files, such as sound fragments or movies. During playback the interview does not stop; playback occurs simultaneous. Playback stops when an answer is entered. This command is also allowed under condition. To hear sound fragments, a sound card is required.

n1 This is a number that refers to a picture in the picture library. When defined, a video clip will be positioned on the same position as the picture in the library. n2 This is a number that indicates the size of the video clip. The clip will appear n2 times the original size of the video clip. If n1 is defined, n2 is mandatory. filename This is the name of the multimedia file. All multimedia files recognised by the multimedia interface can be played. *PLAY “letitbe.wav” *QUESTION 1 *CODES 102 Do you recognise this sound? 1: yes 2: no *PLAY “video.avi” *QUESTION 1 *CODES 102 Do you recognise this video fragment? 1: yes 2: no

System

Purpose

Syntax

See also

Description

!

Arguments

Remarks

Example 1

Example 2

Page 196: NIPO ODIN 5[1].11 CommandReference Rev20070123

188 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*PNW Defines a page of text, don't wait for an entry *PNW *PAGE *HELP *INFO *INSTRUC *QUESTION Creates a page text. This command has to be at the beginning of a line. The text consists of all following lines up to the first new command that is at the beginning of a line (except **, *? and *FONT (switching)). During the interview this text will be displayed. The text usually contains an explanation for the next question or questions. The system will not wait for an entry or [Enter] from the interviewer / respondent before carrying out the next command. Use this command if for instance a heavy calculation will take some time and a warning message is needed. *PNW The system is now calculating if the year is a leap year (where February has 29 instead of 28 days). Please wait a moment. *QUESTION 1 *ALPHA 61L4 *VARS YEAR,HELPYEAR *TEXTVARS LEAPYEAR *DATE Q1 *PUT YEAR Q1 *PUT HELPYEAR Q1 *REPEAT 3 *IF [HELPYEAR < 1001 ] *END *PUT HELPYEAR [ HELPYEAR - 1000 ] *ENDREP *IF [ HELPYEAR = 1000 ] *PUT LEAPYEAR "a leapyear" *GOTO 2 *REPEAT 10 *IF [HELPYEAR < 101 ] *END *PUT HELPYEAR [ HELPYEAR - 100 ] *ENDREP *IF [ HELPYEAR = 100 ] *PUT LEAPYEAR "not a leapyear" \ *GOTO 2 *REPEAT 25 *IF [HELPYEAR < 5 ] *END *PUT HELPYEAR [ HELPYEAR - 4 ] *ENDREP *IF [ HELPYEAR = 4 ] *PUT LEAPYEAR "a leapyear" \ *ELSE *PUT LEAPYEAR "not a leapyear" *QUESTION 2 *NCLS At the moment it is *?YEAR. This is *?LEAPYEAR

Purpose

Syntax

See also

Description

Example

Page 197: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 189

*PUT Puts data in variable. *PUT <var> <”text” | [value] | Qn | Qn,code | [expression] > *? *TEXTVARS *VARS *FORMAT *SAMPLEDATA Replaces the contents of a variable by data indicated in the second argument. This command is also allowed under condition. You can transfer the contents of a numeric variable to a text variable and vice versa. Here the following applies. When transferring the contents of a text variable to a numeric variable the text variable must contain a value. Any fractions will be transferred as well. The transfer stops at the first non-numerical character. If the first character is not numeral the value zero will be transferred. When transferring the contents of a numeric variable to a text variable default it will be rounded to integer values unless with *FORMAT (specify format of number transfer) another format is specified. var This is an earlier defined variable, which receives the data. text Direct text enclosed in quotes (single or double) with eventually embedded contents of a variable. If quotes are to be displayed in the text use the other quotes to embed the text. value A value enclosed in square brackets. Qn The answer to the question will be used as data. In a text variable the descriptive text of the code will be used. Qn,code The category of a question will be used as data. In a text variable the descriptive text of the code will be used. Qn,var A category of question n will be used as data. This category is defined in the variable var. In a text variable the descriptive text of the category will be used. Qn,?R A category of question n will be used as data. This category is defined by the repetition number. In a text variable the descriptive text of the code will be used. expression The expression will be interpreted and/or calculated and the result will be used as data.

Purpose

Syntax

See also

Description

Arguments

Page 198: NIPO ODIN 5[1].11 CommandReference Rev20070123

190 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

The text may be written over several lines. All lines until closing of the quotes will be interpreted as part of the text. The linefeed will also be transmitted in the text. When the text is not closed, during syntax check the system can not recognise the missing quotes and will display an error on a different line. A text may contain ODIN commands. The NIPO Interview System will execute these commands. However the syntax checker will not be able to interpret these commands. Previously when getting text by means of Qn, code, the code text had to be real text and not the contents of a variable (e.g., 19: *? MYVAR). The texts of questions and codes were interpreted only once at the first interview. This problem is solved in NIPO ODIN 4.06 and higher. When a Sample table in a database is used, the variable will be filled with the database field that was based on that specific position (as is used the other way around for T-file, that internally are seen as databases). *PUT intnr 52L8

will copy the interview number (position 52L8 in the T-file) in the variable intnr However in this example a simple solution is also available: *SAMPLEDATA intnr will automatically fill the variable ‘intnr’ with the interview number from the Sample table.

Remarks

Odin32

Page 199: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 191

*VARS age *QUESTION 1 *NUMBER 61L2 How old are you? *PUT age Q1 In this example, the answer of question 1 is stored in the variable age. *TEXTVARS paper *QUESTION 2 *CODES 61L7 *MULTI Which of the following newspapers do you know? 1. La Repubblica 2. La Stanza 3. The Mirror 4. The New York Times 5. Le Figaro 6. La Libération 7: None *NMUL *REPEAT 6 *IF [Q2,?R] *ELSE *GOTO 4 *PUT paper Q2,?R *QUESTION 3 *CODES 1 How often do you read *?paper? 1: Daily 2: Once a week 3: Once a month 4: Don’t know *QUESTION 4 *ENDREP *TEXTVARS sex *QUESTION 7 *CODES 91 Gender? 1: Man *PUT sex “Men” 2: Woman *PUT sex “Women”

Example 1

Example 2

Example 3

Page 200: NIPO ODIN 5[1].11 CommandReference Rev20070123

192 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION Defines a question. *QUESTION <n>|X or *Q <n>|X *ALPHA *CODES *NUMBER *OPEN (question type) *PAGE Defines a question with question number n. This command has to be at the beginning of a line. The question is known within the questionnaire and can be referred to at own discretion. The question consists of all lines up to the first command that is at the beginning of a line (except for **, *? and *FONT (switching)). Behind the command *QUESTION (or *Q) there are often more commands on the same line. These commands on the question line define the specific conditions and options when answering this question. n This is a positive number that indicates the question number. Question numbers are made up of positive numbers (>= 1). No alphabetic or other characters are allowed (except for X, see below). Each question number has to be unique within one (sub-) questionnaire. Question numbers can be used indifferently. Afterwards it is possible - but not necessary - to renumber the questionnaire (see NIPO ODIN Developer Manual). The highest question number is 2 147 483 647 (long integer, 231 -1).

Correct question numbers: Wrong question numbers: *QUESTION 1 *QUESTION 0 *QUESTION 2 *QUESTION –2 *Q 3 *QUEST 3 *QUESTION 2501 *QUESTION 25a *QUESTION 109 *QUESTION 10.9 *QUESTION 11001 *QUESTION 11.001 *QUESTION 102 *QUESTION 1-2 *QUESTION 2147473647 *QUESTION 2234567890 *QUESTION 1234567890 *QUESTION 1 234 567 890

X During the design of a questionnaire it is possible to use *QUESTION X for (some of) the questions. Obviously you can not write routing or refer to these questions. Use the Renumber option in the NIPO ODIN Developer to create unique question numbers. The *QUESTION command may be abbreviated to *Q. However you are advised not to do so, as it makes questionnaires much less easy to read for non-technical persons. If immediately following the question definition on a new line a new command follows, the question will be regarded as a dummy question (to transfer data) or a label (to jump to).

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 201: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 193

*QUESTION 1 *CODES L1 Int. type Gender of respondent. 1: Male 2: Female *QUESTION 2 *NUMBER L2 What is your age? *QUESTION 9999 These were all the questions. Thank you very much for your co-operation. *END In this example Question 1 is a precoded question, Question 2 is a numeric question and Question 9999 is a question without type, where only <Enter> is required. *QUESTION 11 *CODES L1 *QUESTION 12 *NUMBER L2 What is your age ? *IF [ Q12 <= 24 ] *INCLUDE Q11 [ 1 ] *IF [ Q12 >= 25 & Q12 < 35 ] *INCLUDE Q11 [ 2 ] *IF [ Q12 >= 35 & Q12 < 45 ] *INCLUDE Q11 [ 3 ] *IF [ Q12 >= 45 & Q12 < 55 ] *INCLUDE Q11 [ 4 ] *IF [ Q12 >= 55 & Q12 < 65 ] *INCLUDE Q11 [ 5 ] *IF [ Q12 >= 65 ] *INCLUDE Q11 [ 6 ] In this example Question 11 is a dummy question, but is created to be able to store the age in 6 categories.

Example 1

Example 2

Page 202: NIPO ODIN 5[1].11 CommandReference Rev20070123

194 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*RANDOM Randomises answer categories or repetitions. *RANDOM [[pos]L<length>|<pos>] *GROUP *INV *NOCON *ROT *REPEAT ... *ENDREP *ORDER This command can be used in combination with *QUESTION or *REPEAT ... *ENDREP and has to be behind these commands on the same line. The codes and the descriptions of a question will be shown in random order on the screen. Repetitions will be executed in random order. pos This is the data field specification where the order of the displayed categories is written in the data file with the closed answers. length This is the length of the data field. If you use *RANDOM on a question the following applies: • the number of codes of which the order will be saved depends on the length of the data field

specification. This has to be just as long as the number of codes to be saved multiplied by the length of the highest code. The code order of appearance on the screen is written in the closed answer file.

• With *NOCON answer categories can be excluded from the randomisation. *QUESTION 1 *CODES 61L10 *MULTI *RANDOM 71L6 What PC makes do you know? 1: Acer 2: AST 3: Compaq 4: Dell 5: Hewlett Packard 6: IBM 7: Philips 8: Tulip 9: Other *OPEN *NOCON 10: Don’t know *NMUL *NOCON In this example, all mentions are written in position 61L10. In the answer field 71L6 behind *RANDOM the code numbers of the first three categories on the screen are written. The last two categories will not be randomised along and will be displayed always on the bottom.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 203: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 195

*TEXTVARS who *REPEAT 5 *FIELD 86L15 *RANDOM 1L1 *REPNUM 1: *PUT who “Johnny” *REPNUM 2: *PUT who “Mary” *REPNUM 3: *PUT who “Bill” *REPNUM 4: *PUT who “Anne” *REPNUM 5: *PUT who “Joey” *QUESTION 1 *NUMBER 2L2 How old is *? who? *ENDREP In this example, question 1 is repeated 5 times, randomly. The answer of the questions is stored in the data field 86L15 (for each question 1 position (1L1) for the order in which the question was displayed and 2 positions (2L2) for the answer). I.e. the questions for Johnny are stored in pos. 86L3 (86L1 the order, 87L2 the answer), for Mary in 89L3 (89L1 the order, 90L2 the answer), etc.

Example 2

Page 204: NIPO ODIN 5[1].11 CommandReference Rev20070123

196 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*RANGE Specifies a value range for numerical questions. *RANGE <[n1|expression [TO n2|expression]]>[;n3 [TO n4];...] *MIN *MAX *NUMBER This command specifies a range for numerical questions and numerical fields in a *FORM question. You can specify a start value and an end value for the range by separating the two values with the keyword TO. Two ranges are separated by a semicolon (;). Instead of a value it is also allowed to use expressions. The result of the expression will be used as the start or end value. Note a semicolon should be used to separate two ranges. When using a comma, the system will interpret this as a column-code reference. Note the argument TO should be used to separate the extremes within a range. When the dash (–) is used, it will be interpreted as a minus-sign n1 The start value of the range. n2 The end value of the range. expression An expression of which the result will be used as the start or end value. *QUESTION 1 *NUMBER L2 *RANGE [ 18 TO 70 ; 99 ] How old are you? Int.: enter ‘99’ for no answer In this example, the answer can be in the range of 18 to 70 and 99. *QUESTION 1 *NUMBER L2 *RANGE [ -10 TO -1 ; 1 TO 10 ] In this example, the answer can be in the range of -10 to -1 and 1 to 10. *QUESTION 1 *NUMBER L2 *RANGE [ 1-11 TO 1+9 ] In this example, the answer can be in the range of -10 to 10. *VARS x,y *PUT x [-1] *PUT y [1] *QUESTION 1 *NUMBER L2 *RANGE [x TO y] In this example, the answer can be in the range of -1 to 1.

Purpose

Syntax

See also

Description

Remarks

Arguments

Example 1

Example 2

Example 3

Example 4

Page 205: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 197

*READ Reads data from a file. *READ <Qn|var> [“filename”] *WRITE With this command data can be read from a file and placed in the data field or variable indicated by the first argument. If the filename is omitted data will be read from the last file used for reading. The file consists of one record. The data is separated by headers, which contain the letter D and the size of the data strings. The format of the file is illustrated below:

header 1 data header 2 data D size string D size string

1 position 4 positions

size specified in header

1 position

4 positions

size specified in header

Qn The question reference of the data field where the data being read will be stored var The name of the variable where the data being read will be stored. filename A self chosen filename that complies with the MS-DOS conventions. • During an interview you can not go back over a *READ with filename, you can go back over a

*READ without filename. • You can not use *READ indifferently with *WRITE (write data); after a *WRITE, a filename has

to be specified with the next *READ. • If no more data can be read a text variable will be cleared and a numeric variable will be 0. • If no more data can be read the data field will be cleared. If data is being read and end of file is

encountered the rest of the data field will be cleared. *VARS numb[2] *READ numb[1] “myfile” *READ numb[2] In this example, two numbers are read from the file myfile and stored in the array numb.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 206: NIPO ODIN 5[1].11 CommandReference Rev20070123

198 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*REC CAPI, CATI for Windows NT Records (parts of) interviews. *REC [[pos]L<length>|<pos>] *BMP With this command it is possible to records parts of an interview or even the whole interview. This command can be used as a command line or as a question option. When used as a command line a data field has to be specified when recording is turned on. This data field will be used for storing the answers after coding. Omitting the data field on the command line turns recording off. Recorded answers are saved to a so-called bitmap file (B-file). These answers can be coded in the same way as the regular O-file. To record (parts of) interviews, a sound card is required.

pos This is the start of the data field where the data is written in the U-file. length This is the length of the data field. The bitmap file is in binary format and takes up ½ MB of disc space per minute of recording. *QUESTION 1 *CODES 648 We would like to record your answers. Do you agree? 1: Yes 2: No *GOTO 2 *REC 649L20 *QUESTION 2 *CODES 669L1

System

Purpose

Syntax

See also

Description

!

Arguments

Remarks

Example 1

Page 207: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 199

*REC 648L20 *QUESTION 1 *CODES 668 Do you own a dog? 1: Yes 2: No *QUESTION 2 *OPEN 669 *IF [ Q1 , 1 ] What is the name of your dog? *QUESTION 3 *CODES 670 Do you own a cat? 1: Yes 2: No *REC *QUESTION 4 In this example, the answers on questions 1, 2 and 3 will be recorded and saved in the B-file.

Example 2

Page 208: NIPO ODIN 5[1].11 CommandReference Rev20070123

200 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*REPEAT (question option) CAPI, CATI only. (Will be implemented in Web Client later) Stores the current position in a scale or line question. *REPEAT <n> *LINE *SCALE *REPEAT ... *ENDREP This command is always used in combination with *QUESTION and the question type definitions *SCALE or *LINE and has to be behind these commands on the same line. On specified intervals the current position of the block or the length of the line will be stored. How many times this happens is dependent on the number of reserved positions in the data field specification and the given maximum. Is for instance, the maximum of the scale 10 and the length of the data field 80, then the registration will be repeated 40 times. n Positive integer that represents the number of seconds to wait between every registration. *QUESTION 1 *LINE 61L60 *MAX 40 *REPEAT 5 This is an example of a line question. In this example, the length of the line is stored every 5 seconds up to 30 times (size of data field (60) divided by 2 positions for the highest code (40)).

System

Purpose

Syntax

See also

Description

Arguments

Example

Page 209: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 201

*REPEAT ... *ENDREP Start repetition block. *REPEAT n <commands> *ENDREP *END *FIELD *REPNUM ?R *RANDOM *ROT *INV *ORDER Defines the start of a repetition block. This command has to be on the beginning of a line. This command is always used in combination with *ENDREP (end repetition block). A repetition block consists of a set of commands and questions that are considered a special component. When a repetition block is dealt with in the questionnaire the system will execute all commands within the repetition block as many times as is indicated by n. The answer fields within the repetition block will be considered relative. When a repetition block is dealt with the system will use the starting position, belonging to *REPEAT, as the starting point to determine where the answers have to be put. For every repetition the answer fields belonging to the commands in the repetition block will be put in fixed fields behind each other. It is possible to refer to the repetition number. n This is a positive integer that gives the number of repetitions. • It is not allowed to jump out of a repetition block. To terminate a repetition block, the command

*END is available. • The repeat numbers in repeat blocks can be controlled by *CONTROL, randomised by *RANDOM,

inverted by *INV and rotated by *ROT. *TEXTVARS who *REPEAT 5 *FIELD 86L10 *REPNUM 1: *PUT who “Johnny” *REPNUM 2: *PUT who “Mary” *REPNUM 3: *PUT who “Bill” *REPNUM 4: *PUT who “Anne” *REPNUM 5: *PUT who “Joey” *QUESTION 1 *NUMBER 1L2 How old is *? who? *ENDREP In this example, question 1 is repeated 5 times. The answer of the questions is stored in the data field 86L10 (for each answer 2 positions (1L2) x 5 questions). I.e. the answers for Johnny are stored in pos. 86L2, for Mary in 88L2, etc.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example 1

Page 210: NIPO ODIN 5[1].11 CommandReference Rev20070123

202 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*TEXTVARS who *REPEAT 5 *FIELD 86L15 *RANDOM 1L1 *REPNUM 1: *PUT who “Johnny” *REPNUM 2: *PUT who “Mary” *REPNUM 3: *PUT who “Bill” *REPNUM 4: *PUT who “Anne” *REPNUM 5: *PUT who “Joey” *QUESTION 1 *NUMBER 2L2 How old is *? who? *ENDREP In this example, question 1 is repeated 5 times, randomly. The answer of the questions is stored in the data field 86L15 (for each question 1 position (1L1) for the order in which the question was displayed and 2 positions (2L2) for the answer). I.e. the questions for Johnny are stored in pos. 86L3 (86L1 the order, 87L2 the answer), for Mary in 89L3 (89L1 the order, 90L2 the answer), etc. *TEXTVARS paper *QUESTION 2 *CODES 61L7 *MULTI Which of the following newspapers do you know? 1: La Repubblica 2: La Stanza 3: The Mirror 4: The New York Times 5: Le Figaro 6: La Libération 7: None *NMUL *REPEAT 6 *FIELD 68L6 *PUT paper Q2,?R *QUESTION 3 *CODES 1 *IF [Q2,?R] How often do you read *?paper? 1: Daily 2: Once a week 3: Once a month 4: Don’t know *ENDREP In this example, question 3 is repeated 6 times. Only for those newspapers that are known the question will be displayed.

Example 2

Example 3

Page 211: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 203

*TEXTVARS paper *QUESTION 2 *CODES 61L7 *MULTI Which of the following newspapers do you know? 1: La Repubblica 2: La Stanza 3: The Mirror 4: The New York Times 5: Le Figaro 6: La Libération 7: None *NMUL *REPEAT 6 *FIELD 68L6 *CONTROL Q2 W *PUT paper Q2,?R *QUESTION 3 *CODES 1 How often do you read *?paper? 1: Daily 2: Once a week 3: Once a month 4: Don’t know *ENDREP This example is the same as example 3 but instead of the filter on question 3, the repetitions are controlled by question 2.

Example 4

Page 212: NIPO ODIN 5[1].11 CommandReference Rev20070123

204 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*REPNUM Condition on repetition number. *REPNUM <n|[expression]>: <action> [*ELSE <action>] *REPEAT ... *ENDREP, ?R (Operators: repeat numbers) This command can only be used inside a repetition block. It compares the current repetition with the number indicated by n. If these are equal the commands behind the colon will be executed. Optionally you can use the command *ELSE behind which you place commands that will be executed if the current repetition is not equal to n. n|expression This is a positive integer that indicates the repetition number to compare. • A repetition number is stored in the system variable ?R. • The colon in the syntax may be used as a separator between the condition and the action. It may

also be left out. • The commands *RANDOM *ROT *INV and *ORDER will not change the repetition number. *TEXTVARS who *REPEAT 5 *FIELD 86L10 *REPNUM 1: *PUT who “Johnny” *REPNUM 2: *PUT who “Mary” *REPNUM 3: *PUT who “Bill” *REPNUM 4: *PUT who “Anne” *REPNUM 5: *PUT who “Joey” *QUESTION 1 *NUMBER 1L2 How old is *? who? *ENDREP In this example, question 1 is repeated 5 times. The answer of each question is stored in the data field 86L10 (for each answer 2 positions (1L2) x 5 questions).

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 213: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 205

*RETURN Returns from subroutine. *RETURN *GOSUB *SUBROUTINE ... *ENDSUB This command is also allowed under condition. Returns from a subroutine before the physical end of the subroutine is reached. *TEXTVARS PAPER, OTHERPAPER *SUBROUTINE "NEWSPAPER" *QUESTION 101 *NUMBER L1 *MAX 6 How many of the last 6 issues of *?PAPER did you read? *IF [Q101 = 0] *RETURN *QUESTION 102 *CODES L1 Did you read *?PAPER yesterday? 1: Yes 2: No *ENDSUB *QUESTION 1 *CODES L8 *MULTI *SAVE PAPER Which newspapers do you read? 1: La Repubblica *GOSUB NEWSPAPER 2: La Stanza *GOSUB NEWSPAPER 3: The Mirror *GOSUB NEWSPAPER 4: The New York Times *GOSUB NEWSPAPER 5: Le Figaro *GOSUB NEWSPAPER 6: La Libération *GOSUB NEWSPAPER 7: El Pais *GOSUB NEWSPAPER 8: Other *OPEN *GOSUB NEWSPAPER

Purpose

Syntax

See also

Description

Example

Page 214: NIPO ODIN 5[1].11 CommandReference Rev20070123

206 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*RIGHT Question type option and option within conjoint analysis. *RIGHT text *SCALE *LEFT This command is always used in combination with *QUESTION and *SCALE or in combination with *CONJ ... *ENDCONJ and has to be behind these commands on the same line. With this command a text can be given which, during the interview, will be placed at the right-hand pole of the scale. text This is the text that will be displayed on the right-hand pole of the scale. If the text contains spaces it has to be between double quotes. Note: In NIPO ODIN 4.08 or higher the text may contain more than one line. The system will break lines as required. *QUESTION 1 *SCALE 61 *LEFT "Left scale text" *RIGHT "Right scale text" This is an example of a scale question. Result:

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 215: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 207

*ROT Displays answer categories rotated. *ROT [[pos]L<length>|<pos>] *GROUP *INV *NOCON *RANDOM *REPEAT ... *ENDREP *ORDER This command is always used in combination with a *CODES question and has to be on the same line as the question definition. The codes and the descriptions of the question will be shown in rotated order on the screen. There will be selected randomly a start code n and this will be displayed first on the screen. Then the next codes will follow in sequence, up to and including the highest code. Next the lowest codes follow up to code n. At the next interview within the same session the selected code will be n+1, etc. pos This is the data field specification where the order of the displayed categories is written in the closed answer file. length This is the length of the data field. • The number of codes, of which the order will be saved, is dependent of the length in the data field

specification. This has to be just as long as the number of codes to be saved multiplied by the length of the highest code. The code order of appearance on the screen is written in the data file with the closed answers.

• With *NOCON answer categories can be excluded from the rotation. *QUESTION 1 *CODES 61L10 *MULTI *ROT 71L8 What PC makes do you know? 1: Acer 2: AST 3: Compaq 4: Dell 5: Hewlett Packard 6: IBM 7: Philips 8: Tulip 9: Other *OPEN *NOCON 10: Don’t know *NMUL *NOCON In this example, all mentions are written in position 61L10. In the answer field behind *ROT the codes for the first four categories on the screen are written. The last two categories will not be rotated along and will be displayed always on the bottom.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 216: NIPO ODIN 5[1].11 CommandReference Rev20070123

208 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*RUN (16-bit) Runs an external Windows module (.DLL). *RUN Qn “STDRUN.DLL,STDRUNENTRY” With this command it is possible to run an external Windows application during the interview (e.g., Notepad). Using the NIPO module STDRUN.DLL enables you to run an external Windows application exchanging data between the ODIN program and your application via the Windows Clipboard. The name of the application has to be stored in the text variable CMDLINE and if data has to be transferred to this application, this data has to be stored in the text variable INPUTDATA. This data is copied into the clipboard and can be pasted in the external application. By using copy in the external application you can return data to the interview module. This data is stored in the target question specified by Qn. In order to use this command, the file STDRUN.DLL is required and has to be in the same directory as ODINS.EXE or COMPASS.EXE. If you want to run an external 32-bit application, the file ODRUN32.EXE is required as well. Qn This is the target question where the data, that is retrieved from the external application, is stored. This question has to be defined earlier in the questionnaire. CMDLINE The name of the external application has to be stored in the variable CMDLINE. This variable has to be defined as a text variable in advance. INPUTDATA Data that has to be transferred to the external application has to be stored in the variable INPUTDATA. This variable has to be defined as a text variable in advance. RUNTYPE ODIN will wait for the external application to finish before you can continue your interview. If you want ODIN to return to the interview without waiting, you have to set the variable RUNTYPE to 1 (default = 0). If the external application you call is a 32-bit application, RUNTYPE has to be set to 10 (wait) or 11 (continue). This variable has to be defined as a numeric variable in advance. • If the data field of the target question is not long enough, the incoming data is truncated. • Both numerical and alphanumerical data can be retrieved from the external application, no matter

how the target question is defined. I.e. this command makes no difference between *CODES, *ALPHA or *NUMBER.

• When you use the *RUN command, ODIN will wait for the external application to finish before you can continue your interview. If you want ODIN to return to the interview without waiting, you have to set the variable RUNTYPE to 1 (default = 0). If the external application you call is a 32-bit application, RUNTYPE has to be set to 10 (wait) or 11 (continue). This variable has to be defined as a numeric variable.

Purpose

Syntax

Description

Note

Arguments

System Variables

Remarks

Page 217: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 209

*TEXTVARS INPUTDATA,CMDLINE *VARS RUNTYPE *PUT CMDLINE “C:\WINDOWS\NOTEPAD.EXE” *QUESTION 1 *ALPHA 61L20 *PUT INPUTDATA “12345” *PUT RUNTYPE [ 1 ] *PAGE Notepad will be started. The contents INPUTDATA (12345) can be copied from the clipboard. *RUN Q1 “STDRUN.DLL,STDRUNENTRY” *TEXTVARS RESULT *PUT RESULT Q1 *PAGE After Notepad.EXE was closed, Question 1 contains what was in the clipboard (maximum 20 characters): *?RESULT In this example, the Windows application Notepad.exe is called and the value 12345 is transferred to it via the Clipboard. If in Notepad.exe data is copied to the Clipboard, this data is stored in question 1 on return (maximum 20 characters). *TEXTVARS INPUTDATA,CMDLINE *VARS RUNTYPE *PUT CMDLINE “C:\Program Files\Windows Media Player\

\Mplayer2.EXE c:\temp\movie.mpg” *PUT RUNTYPE [ 10 ] *QUESTION 1 *ALPHA 61L1 *RUN Q1 “STDRUN.DLL,STDRUNENTRY” In this example, the Windows Media Player is started the MPG-file called movie.mpg. After the movie is closed, the next question will appear. Note that no data transfer is required, but a question should be specified anyhow. Remark: this is just an example, it’s much better to use the *PLAY command when playing MPG-movies.

Example 1

Example 2

Page 218: NIPO ODIN 5[1].11 CommandReference Rev20070123

210 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*RUN (32-bit) Runs an external 32-bit Windows module (.DLL) within the 32-bit version of NIPO ODIN. *RUN Qn “STDRUN32.DLL,STDRUNENTRY” With this command it is possible to run an external Windows application during the interview (e.g., Notepad). Using the NIPO module STDRUN32.DLL enables you to run an external Windows application exchanging data between the ODIN program and your application via the Windows Clipboard. The name of the application has to be stored in the text variable CMDLINE and if data has to be transferred to this application, this data has to be stored in the text variable INPUTDATA. This data is copied into the clipboard and can be pasted in the external application. By using copy in the external application you can return data to the interview module. This data is stored in the target question specified by Qn. In order to use this command, the file STDRUN.DLL is required and has to be in the same directory as ODINS.EXE or COMPASS.EXE. If you want to run an external 32-bit application, the file ODRUN32.EXE is required as well.

Qn This is the target question where the data, that is retrieved from the external application, is stored. This question has to be defined earlier in the questionnaire. CMDLINE The name of the external application has to be stored in the variable CMDLINE. This variable has to be defined as a text variable in advance. INPUTDATA Data that has to be transferred to the external application has to be stored in the variable INPUTDATA. This variable has to be defined as a text variable in advance. RUNTYPE ODIN will wait for the external application to finish before you can continue your interview. This variable has to be defined as a numeric variable in advance. where: 0 / 10 Wait for application that was opened by *RUN to close before showing the next screen. 1 / 11 Do not wait for application. -1 Wait for application and all other applications that were opened after the *RUN was

executed.

Purpose

Syntax

Description

!

Arguments

System Variables

Page 219: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 211

• If the data field of the target question is not long enough, the incoming data is truncated. • Both numerical and alphanumerical data can be retrieved from the external application, no matter

how the target question is defined. I.e. this command makes no difference between *CODES, *ALPHA or *NUMBER.

When you use the *RUN command, ODIN will wait for the external application to finish before you can continue your interview. If you want ODIN to return to the interview without waiting, you have to set the variable RUNTYPE to 1 (default = 0). If the external application you call is a 32-bit application, RUNTYPE has to be set to 10 (wait) or 11 (continue). This variable has to be defined as a numeric variable. Example of using STDRUN32.DLL *TEXTVARS INPUTDATA,CMDLINE *VARS RUNTYPE *PUT CMDLINE “MYOWN.EXE” *PUT RUNTYPE [ -1 ] *QUESTION 1 *CODES L1 *RUN Q1 “STDRUN32.DLL,STDRUNENTRY” It is of course also possible to create your own DLL instead of the STDRUN32.DLL.

Remarks

Example

Note

Page 220: NIPO ODIN 5[1].11 CommandReference Rev20070123

212 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SAMPLEDATA ODIN32 With this command variables in the NIPO ODIN questionnaire can be linked automatically with fieldnames in the Sample table. *SAMPLEDATA var1,var2,… *SQLGET *SQLPUT *MOVA *MOVU *PUT The variables in the NIPO ODIN questionnaire will be filled automatically with the contents of the database field when starting the interview. The fields in the database table will be updated with the contents of the variable, when closing the interview or when a command *STRAT is used. In the latter case, this will be done only in memory of the NIPO CATI/Web Master (so changes can not be viewed yet in the NIPO FMS or directly in the database, but they will affect the stratification criteria on the NIPO CATI/Web Master). In the Sample table for survey A1234, called SampleA1234, the Region is stored in the field Region. survey configuration file A1234.INI: [Config] RespondentDatabase=CATIFMSDATABASE RespondentTable=SampleA1234 RespondentKey=InterviewNumber

Questionnaire: *SAMPLEDATA Region *PAGE According to our database the region is *?Region.

System

Purpose

Syntax

See also

Description

Example

Page 221: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 213

*SAVE (question option) Saves the answer of a question in a variable. *SAVE <var> *SAVE (codes option) This command is always used in combination with *QUESTION and has to be behind this command on the same line. The answer on a question will be saved in a variable. If it is a numeric variable the code value or the number will be saved. If it is a text variable with a closed question with pre-coded answers the descriptive text of the answer category will be saved. Saving an answer text is particularly of use if you want to insert this text in a subsequent question (dynamic text modification). var This is a self-defined variable or one of the ten system variables. When the argument is omitted system variable 0 will be used by default. *TEXTVARS PARTY *QUESTION 5 *CODES 81 *SAVE PARTY Which party will you vote for in the next election? 1: Conservative union 2: Social democrats 3: Liberals 4: Greens 5: Communists 6: Other party *OPEN 7: None *GOTO 7 *QUESTION 6 *CODES 82 Did you also vote for the *? PARTY in the previous election? 1: Yes 2: No *QUESTION 7 ...

Purpose

Syntax

See also

Description

Arguments

Example

Page 222: NIPO ODIN 5[1].11 CommandReference Rev20070123

214 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SAVE (codes option) Saves a category code or text in a variable. *SAVE <var> *SAVE (question option) This command is always used behind a code definition and has to be behind this code on the same line. If it is a numeric variable the code value will be saved as answer. If it is a text variable the descriptive text of the answer category will be saved. If it is an open code the literally typed in answer will be saved. var This is a self-defined variable or one of the ten system variables. When the argument is omitted system variable 0 will be used by default. *TEXTVARS localpaper *QUESTION 1 *CODES 396L6 *MULTI To what newspapers do you subscribe? 1: New York Times 2: The Guardian 3: Sunday Times 4: Washington Post 5: Herald Tribune 6: A local paper *OPEN *SAVE localpaper 7: Don’t know *NMUL *QUESTION 2 *CODES 402 *IF [Q1,6] Do you read *? localpaper frequently? 1: Yes 2: No

Purpose

Syntax

See also

Description

Arguments

Example

Page 223: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 215

*SCALE (question type) Defines a discrete scale question. *SCALE <pos>L<length> *MAX *MIN *LINE *LEFT *REPEAT *RIGHT *SCALERANGE This command can be used in two ways:

• Behind *QUESTION on the same line. Specifies a scale question. Input is done by means of positioning a block in an n-points (default 7-points) scale. The answer consists of the position of the block in the scale starting at one and increasing from left to right. The scale can be modified to a maximum size of 26 points with the *MAX command.

• In combination with a *FORM question to create so-called grids. See *SCALE (in *FORM question).

pos This is the start of the data field where the data is written in the U-file. length This is the length of the data field. Use *MAX n to set the number of boxes in a *SCALE question (default: 7). Use *MIN m to set the initial value in a *SCALE question (default: position cursor in the middle). *MIN 0 will display no cursor (no initial value). Use *RIGHT to set a text on the right-hand side of a scale question. Use *LEFT to set a text on the left-hand side of a scale question. In NIPOSYS.INI the following setting applies: ScaleInitValue=n positions the cursor in a scale question at the box indicated by n. Without this setting the default position is the box in the middle. If n = 0 no cursor will be displayed.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 224: NIPO ODIN 5[1].11 CommandReference Rev20070123

216 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*QUESTION 71 *SCALE 101L1 *LEFT "Poor taste" *RIGHT "Good taste" What do you think of the taste of Heineken beer? Result:

Example

Page 225: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 217

*SCALE (in *FORM question) Defines a horizontal grid question. *SCALE <pos>L<length> n1 n2 *FORM *GRID *ALPHA (in *FORM question) *NUMBER (in *FORM question) *TAB *SCALERANGE This command can be used in two ways: Behind *QUESTION on the same line. See *SCALE (question type). In combination with a *FORM question to create so-called grids. These kinds of questions use checkboxes to mark the answers on screen instead of using categories. With the *SCALE command you can create horizontal grids. These grids are filled in from left to right. Contrary to vertical grids (*GRID) which are filled in from top to bottom. pos This is the start of the data field where the data is written in the U-file. length This is the length of the data field. n1 This is a number or expression that indicates the number of check boxes. n2 This is the spacing between each checkbox. Only available in a grid. Negative values result in a so-called vertical grid. Note: In the NIPO Web Client, the value n2 is overruled by the column width as defined by the *TAB command, but must be specified anyhow. Note 2: Contrary to what was suggested in previous manuals, expressions are not allowed for *SCALE in *FORM questions. In NIPOSYS.INI the following setting applies: ScaleInitValue = n positions the cursor in a scale question at the box indicated by n. Without this setting the default position is the box in the middle. If n is 0 then no cursor will be displayed.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 226: NIPO ODIN 5[1].11 CommandReference Rev20070123

218 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*TAB 35, 45, 55, 65, 75, 85 *QUESTION 2 *FORM How do you rare the taste of the following beers: Very poor Very good 1:Heineken *SCALE 67L1 5 6 2:Amstel *SCALE 68L1 5 6 3:Grolsch *SCALE 69L1 5 6 4:Carlsberg *SCALE 70L1 5 6 5:Tuborg *SCALE 71L1 5 6 Result:

Example 1

Page 227: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 219

*QUESTION 882 *FORM What did you think of the service at the following gas stations? <Tab>Esso<Tab>Mobil Oil<Tab>Shell<Tab> 1:Very good<Tab>*SCALE L1 6 -1<Tab>*SCALE L1 6 -1 *SCALE L1 6 -1 Good Average Poor Very poor No opinion Result:

Using *TAB and [Tab] to line out scales. To align column texts (headers) above the scale, tab positions must be defined with the *TAB command before a *FORM *SCALE question. For each column in the scale a tab must be defined. The scales will always be distributed evenly between the first and the last tab (i.e. it is not possible to vary the gaps between columns). If the last tab is not at 100%, the last column text and the *SCALE must be followed by [Tab][Space], to fill the last invisible column. Use stylesheets (CSS) to centre texts in CAWI. *TAB 30, 40, 50, 60, 70 *QUESTION 1 *FORM Question text [Tab]Column 1[Tab]Column 2[Tab]Column 3[Tab]Column 4[Tab][Space] 1:Scale 1[Tab]*SCALE 61L1 4 1[Tab][Space] 2:Scale 2[Tab]*SCALE 62L1 4 1[Tab][Space] 3:Scale 3[Tab]*SCALE 63L1 4 1[Tab][Space]

Example 2

Remarks

Page 228: NIPO ODIN 5[1].11 CommandReference Rev20070123

220 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SCALERANGE Defines the values for a *SCALE question. *SCALERANGE [n] or *SCALERANGE [n1;n2;n3;...] or *SCALERANGE [n1 TO n2;...] or *SCALERANGE *SCALE (question type) *SCALE (in *FORM question) This command defines the values that will be used for a *SCALE question. By default clicking the first box from the left will save value 1, clicking the second box from the left value 2, etc. When no argument is specified, the default box-values will be used. Use *SCALERANGE without argument to reset box values. [n] Specify the off-set for the box-values. The first box will get value n, the second will get value n+1, third n+2, etc. [n1;n2;n3] Specify the box-values separated by semi-colons. Values must be integers and may be negative as well. The NIPO ODIN Developer syntax check will check that no values are used more than once. When more boxes are used than values specified, the system will use the default value of those boxes. [n1 TO n2] Specify the first and the last value. All values in between will be used. When n2 has a smaller value than n1, the values will be used in descending order. Note: When a value is not an integer (i.e. a decimal is used), the value is truncated (i.e. the figure behind the decimal is ignored, e.g., 5.8 is interpreted as 5).

Purpose

Syntax

See also

Description

No argument

Arguments

Page 229: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 221

Note 2: Only constant expressions are allowed. Do not use variables within the *SCALERANGE command with values that are not defined in advance. E.g., you can use *PUT X [ 5 ] *SCALERANGE [ X ], but you may not use *QUESTION 1 *NUMBER L2 *SAVE Y *SCALERANGE [ Y ], as the Engine will not be able to check whether this value fits. An error message will appear: Error: 'SCALERANGE' , illegal argument Note 3: It is possible to use more than one *SCALERANGE in the same NIPO ODIN questionnaire. However, from a methodological point of view, this is not recommended. Make sure you check the routing (*GOTO, *IF, *BACK, *CUT, etc.) in your questionnaire, to prevent you unexpectedly jump over a *SCALERANGE, as this would make analysis of the data impossible (as you do not know what the box values stand for).

• If a box value is used more than once, the NIPO ODIN Developer syntax check will give a warning message: Warning: Duplicate Code: n

• If the *SCALERANGE specifies fewer values than boxes are used, the default box value will

be used. This may be a value that was already used in your *SCALERANGE specification. It is not possible to differentiate between these 2 boxes anymore. The syntax check will give a warning message: Warning: number of boxes in SCALE (n) exceeds number of values specified in SCALERANGE (m)

• In *SCALERANGE you may specify negative box values. When exporting the questionnaire to

Diana, make sure that you do not export the scale questions with the option 'Create codes for scale questions' switched on, as Diana does not support negative code-values. Tip: Export the scale questions as values only. In SPSS-PC and Triple-S using negative code-values are supported (check your SPSS documentation on how to use them).

Remarks

Page 230: NIPO ODIN 5[1].11 CommandReference Rev20070123

222 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SCALERANGE [ 0 ; 1 ; 2 ; 3 ; 4 ] *QUESTION 1 *FORM How do you rate the taste of the following beers: 0 1 2 3 4 1:Heineken *SCALE 61L1 5 10 2:Amstel *SCALE 62L1 5 10 3:Grolsch *SCALE 63L1 5 10 4:Carlsberg *SCALE 64L1 5 10 5:Tuborg *SCALE 65L1 5 10 The box on the left will save value 0, the second box will save value 1, the third value 2, the fourth 3 and the most-right box will save 4. Result:

Note: The values above the boxes in this example are part of the question text. They have no significance for the box value.

Example 1

Page 231: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 223

*SCALERANGE [-2 TO 2 ; 9] *QUESTION 2 *FORM How do you rate the taste of the following beers: Very Poor Neutral Good Very Don't poor taste taste good know taste taste -2 -1 0 1 2 9 1:Heineken *SCALE 66L2 6 10 2:Amstel *SCALE 68L2 6 10 3:Grolsch *SCALE 70L2 6 10 4:Carlsberg *SCALE 72L2 6 10 5:Tuborg *SCALE 74L2 6 10 The first box on the left will save value -2, the second box will save value -1, the third value 0, the fourth 1, the fifth 2 and the last box on the right will save 9. Result:

Note: The values above the boxes in this example are part of the question text. They have no significance for the box value.

Example 2

Page 232: NIPO ODIN 5[1].11 CommandReference Rev20070123

224 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SCALERANGE [0] *QUESTION 3 *SCALE L1 *MAX 5 In a scale of 5 boxes, the following box values will be used: first box from the left: 0; second box: 1; third box: 2; the fourth 3 and the fifth (last box on the right) 4. Note: This is in fact the same as: *SCALERANGE [0;1;2;3;4] or: *SCALERANGE [0 TO 4] *SCALERANGE [5 TO 3] *QUESTION 4 *SCALE L1 *MAX 3 In a scale of 3 boxes, the following box values will be used: first box from the left: 5, second box: 4; third box: 3 (descending, because 5 is higher than 3). *SCALERANGE [5 TO 3] *QUESTION 5 *SCALE L1 *MAX 4 In a scale of 4 boxes, the following box values will be used: first box from the left: 5, second box: 4; third box: 3; the fourth box value is not specified, so will get the default value 4. When running the syntax check in the NIPO ODIN Developer a warning will appear: Warning: Duplicate Code: 4 *SCALERANGE [1;3;5] *QUESTION 6 *SCALE L1 *MAX 4 In a scale of 4 boxes, the following box values will be used: first box from the left: 1, second box: 3; third box: 5; the fourth box value is not specified, so will get the default value 4 (no duplicate here).

Example 3

Example 4

Example 5

Example 6

Page 233: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 225

*SHOWDOCUMENT NIPO Web Interview System only. Show a document during an on-line interview. *SHOWDOCUMENT "URL [,frame]" This command is used to show a web-site during an on-line interview. URL This is the URL (address) of a web-site to be shown. frame This is the name of the frame in which to load the document. If no frame is specified, a new Window will be opened. The *SHOWDOCUMENT command will be ignored when used in CATI, CAPI or ODIN stand-alone. *QUESTION 1 *CODES L1 Please first have a look at this web-site 1: Start *SHOWDOCUMENT “http://www.niposoftware.com” *QUESTION 2 *CODES L1 How did you like the new NIPO Software Website? 1: Very good 2: Good 3: Poor 4: Very poor 5: Don’t know \ no opinion

System

Purpose

Syntax

Description

Arguments

Remark

Example

Page 234: NIPO ODIN 5[1].11 CommandReference Rev20070123

226 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SIZE ODIN 4.08 (16-bit) / CATI Client 5.03 only Determines the size of the textbox in an *OPEN question and the size of checkboxes in a *SCALE or *GRID question. *SIZE x y *SIZE expression1 expression2 *OPEN *SCALE *GRID *FORM This command is always used in combination with *QUESTION and has to be behind this command on the same line. In case of a *OPEN question it defines the size of the textbox, in case of a *SCALE, *GRID or *FORM question it defines the size of the checkboxes. x The horizontal size of the appropriate object. The size is specified in tenths of points (1 point is approximately 1/72 of an inch). y The vertical size of the appropriate object. The size is specified in tenths of points (1 point is approximately 1/72 of an inch). Both x and y may be specified as an expression. *Q 1 *OPEN L11 *MULTI *SIZE 3000 4000 What reasons did you have to sell your car? Result:

Command

System

Purpose

Syntax

See also

Description

Arguments

Example 1

Page 235: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 227

*Q 1 *FORM *SIZE 200 200 Please indicate how much you agree or disagree with the following statements: agree disagree Coca Cola is tasteful *SCALE L1 5 10 Coca Cola is expensive *SCALE L1 5 10 Coca Cola is modern *SCALE L1 5 10 Result:

Example 2

Page 236: NIPO ODIN 5[1].11 CommandReference Rev20070123

228 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SKIP CAPI only Skips a questionnaire in a cluster. *SKIP "name" *ABORT *END *ENDNGB This command is used to skip a questionnaire in a cluster in CAPI. No data will be written for that specific questionnaire. Use this command for instance to skip a regional questionnaire or a questionnaire for a specific target group. This command will most times be written in the preceding screening questionnaire. If you only can decide in the questionnaire itself whether it should be executed or not, use the command *ABORT. name This is the name of a questionnaire (the Q not included). If the file is missing or not defined in the cluster the command will be ignored. *QUESTION 1 *CODES L1 Interviewer: type sex of respondent 1: Male 2: Female ** The questionnaire RAZORQ is only for males. *IF [ Q1,2 ] *SKIP "razor" ** The questionnaire PERFUMEQ is only for females. *IF [ Q1,1 ] *SKIP "perfume"

System

Purpose

Syntax

See also

Description

Arguments

Example

Page 237: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 229

*SQLGET ODIN32 Retrieves a value or text from a database. *SQLGET count var[,var...] "SQL statement" where: count is a variable that will contain the number of records retrieved by the SQL

statement. var is a variable that will contain the result of the SQL statement. "SQL statement" is a SQL statement (written between double quotes). Only SELECT statements are allowed in the format: “SELECT .. FROM .. WHERE ..” *SQLPUT *SAMPLEDATA *MOVA *MOVU This will retrieve a variable from a database. If more than 1 variable is used the first variable will get the value of the first field in the database record, the second variable gets the second field etc. The variable can also be an array. In that case, if the SQL statement returns more than 1 record, the first record will be copied from the first element of var, the second record from the second element of var etc. • ODIN will not check the SQL statement. As far as ODIN is concerned it is just a string following

the ODIN rules, which means for example that you can substitute variables with the *? command. If there is an error while executing the SQL statement this will be reported as a warning error in the event log on the master and the interview will continue with count set to 0.

• If no record is found matching the WHERE statement or one or more database fields in the SQL statement are missing the count variable will be set to zero.

• If more than one record is found matching the WHERE statement and the var is defined as an array, the fields will be stored in the subsequent cells of the array variable and the number of matching records will be stored in the count.

• If more than one matching record is found, but var was not defined as an array variable, the system will only retrieve the first matching record and the count will be set to 1.

• If more than one matching record is found, but the array variable was defined with too few cells, the system will only retrieve the records that ‘fit’.

• After the WHERE also the OR and the AND statements are allowed. Use brackets to set priority rules.

System

Purpose

Syntax

See also

Description

Error handling

Page 238: NIPO ODIN 5[1].11 CommandReference Rev20070123

230 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

• SQL statements may only refer to tables within the same database. When referring to other databases, this will not give an error message, but will be ignored by the system (count = 0).

• SQL statements may refer to only one table at the time, i.e. no joined queries are allowed. When referring to several tables (in the same *SQLGET statement), this will not give an error message, but will be ignored by the system (count = 0). In a NIPO ODIN Questionnaire you may have several *SQLGET statements, referring to several tables.

• Field names within the table may not contain spaces or other special characters.

• The WHERE statement will search case sensitive. In your database you might disable case sensitive search (not possible for all database types).

• Variable names in the NIPO ODIN questionnaire do not need to be equal to the fieldnames in the database table.

Note: In the survey configuration file, a reference to the database name should be made (DSN name on the NIPO CATI Master). The table you want to access with *SQLGET and *SQLPUT does not have to be in the same database as the Sample table, but the database username and password should be the same. Note 2: When data from a Sample table should be retrieved, do not forget the tablename is the surveyname preceded by the word Sample, e.g., the Sample table for survey A1234 is called SampleA1234. But much better (and simpler) is to use the command *SAMPLEDATA instead. In the database table Names the ID is stored in the field ‘ID’ and the name is stored in the field ‘Name’. Survey configuration file A1234.INI: [Config] RespondentDatabase=CATIFMSDATABASE

Questionnaire: *VARS CNT,NAME,ID *QUESTION 1 *NUMBER L8 *SAVE ID What is your ID-number? *SQLGET CNT NAME "SELECT Name FROM Names WHERE ID=‘*?ID’" *PAGE According to our database your name is *?NAME.

Limitations

Example 1

Page 239: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 231

Retrieve field Make and Type from database with *SQLGET. In the database table ProductTable the make is stored in the field Make and the type and price are stored in the fields Type and Price. Each make can have several types (maximum 5). *TEXTVARS CNT,MAKE,TYPE[5] *VARS PRICE[5] *QUESTION 1 *ALPHA L50 *SAVE MAKE What is the make / brand of your computer? *FORMAT 3.2 *SQLGET CNT TYPE,PRICE "SELECT Type,Price FROM ProductTable \ WHERE Make=‘*?MAKE’" *QUESTION 1001 *CODES L5 *MULTI *DUMMY *REPEAT 5 *IF [ CNT >= ?R ] *INCLUDE Q1001 [ ?R ] *ENDREP *QUESTION 2 *CODES L1 *IF [ CNT >= 1 ] *CONTROL Q1001 W Please select the type of your *?MAKE computer: Type: Price 1: *?TYPE[1] *?PRICE[1] 2: *?TYPE[2] *?PRICE[2] 3: *?TYPE[3] *?PRICE[3] 4: *?TYPE[4] *?PRICE[4] 5: *?TYPE[5] *?PRICE[5] 9: Don’t know *NOCON *QUESTION 1002 *ALPHA L50 *DUMMY Dummy question to store the type *QUESTION 1003 *NUMBER L3.2 *DUMMY Dummy question to store the price *** Store the type and price in the dummy questions *IF [ Q2,1-5 ] *INCLUDE Q1002 “*?TYPE[Q2]” *IF [ Q2,1-5 ] *INCLUDE Q1003 [ PRICE[Q2] ] *QUESTION 3 *CODES L1 *IF [ CNT = 0 ] The make you entered is not found. Please go back to correct. Note that the make might be case sensitive, so check if you the <Caps Lock> is switched off. 1: Go back and correct *BACK 1

Example 2

Page 240: NIPO ODIN 5[1].11 CommandReference Rev20070123

232 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SQLPUT ODIN32 writes a value or a text to a database. *SQLPUT count var[,var...] "SQL statement" where: count is a variable that will contain the record count after the SQL statement. var is the variable that has to be written to the database. "SQL statement" is a SQL statement (written in between double quotes). Only SELECT statements are allowed in the format: "SELECT ... FROM ... WHERE ..." *SQLGET *SAMPLEDATA *MOVA *MOVU This will write variables to a database. If more than 1 variable is used the first variable will be written to the first field in the database record, the second variable to the second field etc. The variable can also be an array. In that case, if the SQL statement returns more than 1 record, the first element of var will be copied to the first record, the second element of var to the second record etc. The number of matching records will be stored in count. Error handling and limitations: See *SQLGET. Note: The *SQLPUT statement can only be used in combination with ’SELECT .. FROM .. WHERE’ and will update the specified fields in all matching records of your table. It is not possible to use an UPDATE query, neither is it possible to create a new record in the table. Note 2: When data in a Sample table should be updated, do not forget the tablename is the surveyname preceded by the word Sample, e.g., the Sample table for survey A1234 is called SampleA1234. But much better (and simpler) is to use the command *SAMPLEDATA instead. However: In this case the database field is only updated when the client is closed (either with a successful interview or suspended or even a crashed client), so you will not see the changes immediately in NIPO FMS. Note 3: In the survey configuration file, a reference to the database name should be made (DSN name on the NIPO CATI Master). The table you want to access with *SQLGET and *SQLPUT does not have to be in the same database as the Sample table, but the database username and password should be the same.

System

Purpose

Syntax

See also

Description

Page 241: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 233

• ODIN will not check the SQL statement. As far as ODIN is concerned it is just a string following

the ODIN rules, which means for example that you can substitute variables with the *? command. If there is an error while executing the SQL statement this will be reported as a warning error in the event log on the master and the interview will continue with count set to 0.

• If no record is found matching the WHERE statement or one or more database fields in the SQL statement are missing the count variable will be set to zero.

• If more than one record is found matching the WHERE statement and the var is defined as an array, the cells of the array variable will be stored in the subsequent fields and the number of matching records will be stored in the count.

• If more than one matching record is found, but var was not defined as an array variable, the system will only update the first matching record and the count will be set to 1.

• If more than one matching record is found, but the array variable was defined with too few cells, the system will only update the records that ‘fit’.

• After the WHERE also the OR and the AND statements are allowed. Use brackets to set priority rules.

• SQL statements may only refer to tables within the same database. When referring to other databases, this will not give an error message, but will be ignored by the system (count = 0).

• SQL statements may refer to only one table at the time, i.e. no joined queries are allowed. When referring to several tables (in the same *SQLGET statement), this will not give an error message, but will be ignored by the system (count = 0). In a NIPO ODIN Questionnaire you may have several *SQLGET statements, referring to several tables.

• Field names within the table may not contain spaces or other special characters.

• The WHERE statement will search case sensitive. In your database you might disable case sensitive search (not possible for all database types).

• Variable names in the NIPO ODIN questionnaire do not need to be equal to the fieldnames in the database table.

Error handling

Limitations

Page 242: NIPO ODIN 5[1].11 CommandReference Rev20070123

234 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Update fields in database with *SQLPUT In the database table Names the ID is stored in the field ‘ID’ and the respondents name should be stored in the field ‘Name’. *VARS CNT *TEXTVARS Name *QUESTION 1 *ALPHA L45 *SAVE Name What is your name? *SQLPUT CNT Name "SELECT Name FROM Names WHERE ID=‘*?ID’" *PAGE Your name (*?Name) will be updated in our database.

Note: The table Names should already contain a record for all respondents, containing the field ID.

Example

Page 243: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 235

*STOPAUTO ODIN 4.08 (16-bit) only Specifies to stop automatical arranging of answer categories into columns. *STOPAUTO *AUTO *NOCON *STOPAUTO *NOHIDE This command is always used behind a code definition and has to be behind this code on the same line. If the answer categories are automatically arranged into columns by means of *AUTO then this code and all following codes will not be put arranged into columns but will be displayed underneath. *QUESTION 2 *CODES L2 *AUTO Question text 1:code 1 2:code 2 3:code 3 4:code 4 5:code 5 6:code 6 7:code 7 8:code 8 9:code 9 10:code 10 11:code 11 12:code 12 13:code 13 14:code 14 15:code 15 16:code 16 17:code 17 18:code 18 19:code 19 20:code 20 21:code 21 22:code 22 23:code 23 24:code 24 25:code 25 26:code 26 27:code 27 28:code 28 29:code 29 30:code 30 31:code 31 32:code 32 33:code 33 34:code 34 35:code 35 36:code 36

Command

System

Purpose

Syntax

See also

Description

Example

Page 244: NIPO ODIN 5[1].11 CommandReference Rev20070123

236 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

37:code 37 38:code 38 39:code 39 40:code 40 41:code 41 42:code 42 43:code 43 44:code 44 45:code 45 46:code 46 47:code 47 48:code 48 49:code 49 50:code 50 51:code 51 52:code 52 53:code 53 54:code 54 55:code 55 56:code 56 57:code 57 58:code 58 59:code 59 60:code 60 61: don't know *STOPAUTO 62: no answer Result:

Page 245: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 237

*STOPRANDOM ODIN 4.08 (16-bit) only Stops randomisation of answer categories. *STOPRANDOM *RANDOM *INV *ROT *NOCON *STOPAUTO *NOHIDE This command is always used behind a code definition and has to be behind this code on the same line. If the answer categories are displayed in random order by means of *RANDOM *ROT or *INV then this code and all following codes will not be randomised but will be displayed in normal order. *QUESTION 1 *CODES 61L11 *MULTI *RANDOM Which of the following brands do you know? 1:Aiwa 2:Denon 3:Kenwood 4:Marantz 5:Philips 6:Pioneer 7:Samsung 8:Sharp 9:Sony 10:Other, specify ... *OPEN *STOPRANDOM 11:Don't know *NMUL In this example codes 1-9 will be displayed in random order, while categories 10 and 11 will always be displayed at the bottom of the category list.

Command

System

Purpose

Syntax

See also

Description

Example

Page 246: NIPO ODIN 5[1].11 CommandReference Rev20070123

238 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*STRAT Stratification on output. *STRAT <n|[expression]> *ENDST *ENDNGB With this command a check can be made to see if a certain stratum has reached its limit. The stratification criteria will be put in the T-file/Sample table record during the interview, so-called stratification on output. If the stratum limit is reached there will be continued with the question with the question number indicated in the argument. n|expression This is a positive integer that specifies an existing question number. *QUESTION 1 *CODES 201 *ADDRESS *QUESTION 2 *CODES 61 Do you own a VCR? 1: Yes 2: No *MOVA Q1 Q2 *STRAT 99 *QUESTION 3 *CODES 62 Did you use your VCR yesterday? 1: Yes 2: No *QUESTION 4 Thank you for your co-operation *END *QUESTION 99 I don’t have more questions for you. Thank you for your co-operation. *ENDNGB In this example, the answer of question 2 is transferred to the T-file/Sample table record and the stratification cells are checked to see if the quota has been reached. If so, a jump to question 99 is made.

Purpose

Syntax

See also

Description

Arguments

Example

Page 247: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 239

*SUBROUTINE ... *ENDSUB Defines a subroutine. *SUBROUTINE name <commands> *ENDSUB *GOSUB *RETURN *FIELD Defines the start of a subroutine. This command has to be at the beginning of a line. This command will always be used in combination with *ENDSUB (end subroutine). The subroutine is known within the questionnaire and can be jumped to at any time. A subroutine consists of a set of commands and questions that the system considers as a special component. When a subroutine is called in the questionnaire the system will execute the commands in the subroutine. It is as if the commands in the subroutine are copied to the place where the subroutine was called. The answer fields in a subroutine will be considered relative. When a subroutine is called the system will use the starting position, belonging to *GOSUB, as the starting point to determine where the answers have to be put. A subroutine is considered a separate component of the questionnaire It should be placed somewhere in the questionnaire before calling the subroutine; the system will skip the questions in the subroutine. In a subroutine you can call another subroutine with a maximum depth limited by the computer memory and the 32000 data positions available for ODIN. Subroutines can also be called after a *NEW command, when placed in the first sub-questionnaires). name This is the name of the subroutine. It is not allowed to jump out of a subroutine by means of the *GOTO command; to terminate a subroutine, the command *RETURN is available.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 248: NIPO ODIN 5[1].11 CommandReference Rev20070123

240 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*SUBROUTINE OPINION *QUESTION 1 *CODES 1 What do you think of the service of *? BRAND? 1: Very good 2: Good 3: Poor 4: Very poor *ENDSUB *QUESTION 2 *CODES 61L5 *MULTI *SAVE BRAND Which of the following gas stations have you ever visited? 1: Esso *GOSUB OPINION 2: Shell *GOSUB OPINION 3: Texaco *GOSUB OPINION 4: BP *GOSUB OPINION 5: Mobil *GOSUB OPINION

Example

Page 249: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 241

*SWILANG Switches to another language. *SWILANG “[name]” *LANGUAGE With this command it is possible to switch to another language during the interview. The command has the same effect as choosing the language from the Language Menu. The name in the syntax has to match the name of the language section. name This is the name of the language section that ODIN refers to. To switch to the default language you can refer to a section that does not exist or you can omit the name (but not the double quotes (“)). • The double quotes around the section name are mandatory. • In NIPOSYS.INI the following setting applies:

SwilangDisablesLanguageSwitch = n. When turning this setting on (n=1), the Language Menu will be disabled so that the interviewer can not switch languages. Default = 0 (language switch enabled).

*QUESTION 1 *CODES 201 Interviewer: choose a language 1: Dutch *SWILANG “Dutch” 2: German *SWILANG “German” 3: French *SWILANG “French” 4: English *SWILANG “” *QUESTION 2 *CODES 202 Do you have a dog? 1: Yes 2: No *END *LANGUAGE "Dutch" *QUESTION 2 Heeft u een hond? 1: Ja 2: Nee

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 250: NIPO ODIN 5[1].11 CommandReference Rev20070123

242 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*LANGUAGE "German" *QUESTION 2 Haben Sie einen Hund? 1: Ja 2: Nein *LANGUAGE "French" *QUESTION 2 Avez vous un chien? 1: Oui 2: Non

Note: Jumping to the 'source' language (the part of the questionnaire containing all the commands and routing) is specified with *SWILANG "". The default language in NIPO ODIN 32-bit is English. When your source questionnaire is not in English, but English is one of the translations, use *LANGUAGE "UK" and *SWILANG "UK".

Page 251: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 243

*TAB Sets the tab width. *TAB <n>[,n2,...] This command can be used to specify the tab width. The tab width is determined by the character size of the default font (font 0) for NIPO ODIN 16-bit and by percentages in the NIPO ODIN 32-bit.. In the Web Client and the NIPO CATI Client 5.01 and higher, the *TAB command is slightly different from the use in the NIPO CATI Client 4.08 and 5.00. The command will use percentages of the screen in stead of screen-positions. The NIPO HTML Generator will convert the tab-positions to columns on the screen. n This is a positive integer that indicates the tab width. *FONT 0 "10 ARIAL" *TAB 30 *QUESTION 1 *FORM Please, fill in: 1:Name�: *ALPHA 73L30 2:Street�: *ALPHA 103L40 3:Place�: *ALPHA 143L20 4:Age�: *NUMBER 163L2 *END Result:

Purpose

Syntax

Description

Arguments

Example 1

Page 252: NIPO ODIN 5[1].11 CommandReference Rev20070123

244 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*TAB 40,50,60,70,80,90 *QUESTION 1 *FORM How do you rate .... <tab>very poor<tab>poor<tab>neither poor, nor good<tab>good<tab>very

good<tab>don't know/ no answer 1:Statement 1<tab>*SCALE L1 6 10 2:Statement 2<tab>*SCALE L1 6 10 3:Statement 3<tab>*SCALE L1 6 10 4:Very long statements may be written in one line, because the TAB will

force a linewrap<tab>*SCALE L1 6 10 Result

Note: The indication 10 after the *SCALE will be ignored: the system will calculate the scale distance from the *TAB command. Note that the distance between the scales is always equal. *TAB definitions above 100 will be ignored. Note 2: By using stylesheets it is also possible to centre the scale-boxes under the text. See the NIPO HTML Generator Manual for more details.

Example 2

Page 253: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 245

*TEXTVARS Defines one or more text variables or arrays. *TEXTVARS <name>[,name2,...] or *TEXTVARS <name[size]>[,name2[size2],...] *? *PUT *SAVE (question option) *VARS Defines text variables or one-dimensional text arrays. This command has to be at the beginning of the line. These text variables or arrays can be used throughout the entire questionnaire to store data or retrieve data. In text variables or arrays all alphanumerical data can be stored. A text variable or array initially is empty. For technical reasons it is not possible to use variables which name start with an L.

name The name of the variable or array. Multiple variables or arrays can be created with a single *TEXTVARS command by including additional variable or array names separated by commas (Name2, Name3, and so on). size Specifies the size of the array to create. One-dimensional arrays have one column and size rows. ODIN has ten system variables, namely 0 up to and including 9, which do not need to be defined. Contrary to other variables, variable 9 will not be cleared at the start of a new interview. *TEXTVARS UHELP[2] *QUESTION 2 *ALPHA 151L20 *SAVE UHELP[1] What is the name of the oldest child? *QUESTION 3 *ALPHA 171L20 *SAVE UHELP[2] What is the name of the second oldest child? *PAGE The oldest child is named *? UHELP[1] The second oldest child is named *? UHELP[2]

Purpose

Syntax

See also

Description

!

Arguments

Remarks

Example

Page 254: NIPO ODIN 5[1].11 CommandReference Rev20070123

246 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*TIME Gets current time. *TIME <Qn> *DATE This command is also allowed under condition. Gets the current time as set in the computer and puts this over 7 positions in the data field in the form hhmm:ss. If the data field isn't long enough the data will be truncated. Qn The question reference of the data field where the time is put.

Purpose

Syntax

See also

Description

Arguments

Page 255: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 247

*USELIST Uses answer categories from a list. *USELIST <n|[expression]|”name”> *LIST *LIST (question option) This command is always used in combination with a closed question and uses a list as a substitute for (a part of) a category list. This is similar to the *LIST (question option) command except that *USELIST has to be used as (part of) a category list while *LIST has to be used as a question option. More than one *USELIST in one question is allowed. n|expression This is a positive integer or expression that indicates an existing list. name This is the name of an existing list. This command only makes sense if the question referred to a closed question. It is ignored by (alpha)numeric questions. *LIST 1 1: Heineken 2: Amstel 3: Grolsch 4: Carlsberg 5: Tuborg *QUESTION 1 *CODES L7 *MULTI What brands of beer do you know? *USELIST 1 6: Other *OPEN 7: Don’t know *NMUL In this example, the first five categories come from a pre-defined list.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 256: NIPO ODIN 5[1].11 CommandReference Rev20070123

248 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*VAR Defines a variable name for export to DIANA variables, SPSS, etc. *VAR <name> *LABEL This command is always used in combination with *QUESTION and a question type definition and has to be behind these commands on the same line. This command gives the possibility to give a question its own variable name. The name doesn't have to be unique. At the creation of variables by ODIN default the variable name of a question will be created by means of the question number as this is unique within a questionnaire. Using *VAR command enables you to create your own variable names. name A name of maximum 12 characters. The name may not contain spaces. With variable name, the name of the variable in the variable file of NIPO Diana is meant.

Purpose

Syntax

See also

Description

Arguments

Remarks

Page 257: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 249

*VARS Defines one or more numeric variables or arrays. *VARS <name>[,name2,...] or *VARS <name[size]>[,name2[size2],...] *? *PUT *SAVE (question option) *TEXTVARS Defines numeric variables or one-dimensional number arrays. This command has to be at the beginning of the line. These numeric variables or arrays can be used throughout the entire questionnaire to store data or retrieve data. In numeric variables or arrays all alphanumerical data can be stored. A numeric variable or array initially is empty. For technical reasons it is not possible to use variables which name start with an L.

name The name of the variable or array. Multiple variables or arrays can be created with a single *VARS command by including additional variable or array names separated by commas (name2, name3, and so on). size Specifies the size of the array to create. One-dimensional arrays have one column and size rows. ODIN has 10 system variables, which do not need to be defined, namely 0 up to and including 9. Contrary to other variables, variable 9 will not be cleared at the start of a new interview. *VARS GHELP,HHELP[2] *QUESTION 1 *NUMBER 93 *SAVE GHELP How many children, living at home, are there in this household? *QUESTION 2 *NUMBER 94L2 *SAVE HHELP[1] What is the age of the oldest child? *QUESTION 3 *NUMBER 96L2 *SAVE HHELP[2] What is the age of the second oldest child? *PAGE There are *? GHELP children living at home. The oldest is *? HHELP[1] years. The second oldest is *? HHELP[2] years. In the example above a numeric variable GHELP is defined and a number array HHELP that has two elements. These variables are then used in the questionnaire to save numbers and insert those in the text.

Purpose

Syntax

See also

Description

!

Arguments

Remarks

Example

Page 258: NIPO ODIN 5[1].11 CommandReference Rev20070123

250 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*VCONTROL ODIN 4.08 only Makes the display of columns and texts in a grid question dependent on answers to a previous question. *VCONTROL <Qn> <W|N> *CONTROL *GRID This command is always used in combination with a *GRID question and has to be on the same line as the question definition. This command controls the display of answer columns and texts in a *GRID question dependent on answers to a previous question. This previous question is referred to by means of Qn. Qn The reference to the control question where n is the number of the question. W Only answer categories that were mentioned at the control question are being displayed. N Only answer categories that were not mentioned at the control question are being displayed. • Make sure that the control question and the current question have the same set of answer

categories. Categories that are suppressed, as a result of this command, can't be part of the answer. When all categories are suppressed the question will be skipped.

• The text above the grid columns has to be positioned between the centres of two columns:

System

Purpose

Syntax

See also

Description

Arguments

Remarks

‘Grolsch’ is positioned

between the middle of

column one and two

AND the middle of

column two and three

Page 259: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 251

*QUESTION 1 *CODES 61 Single-coded question to control the next grid question. 1: Heineken 2: Grolsch 3: Amstel 4: Carlsberg 5: Tuborg 6: Other *QUESTION 2 *FORM *VCONTROL Q1 W Heineken Grolsch Amstel Carlsberg Tuborg \ Other 1 1:*GRID 62L6 5.002 6.012*NON 2 3 4 5 *QUESTION 100 *CODES 68L6 *MULTI Multiple question to control the next grid question. 1: Heineken 2: Grolsch 3: Amstel 4: Carlsberg 5: Tuborg 6: Other *QUESTION 200 *FORM *VCONTROL Q100 W Heineken Grolsch Amstel Carlsberg Tuborg \ Other 1 1:*GRID 74L30 5.002 6.012 2 3 4 5

Example 1

Example 2

Page 260: NIPO ODIN 5[1].11 CommandReference Rev20070123

252 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*WAITCR Sets wait time for user-defined keys and enter key. *WAITCR <n|[expression]> *BUT This command sets the minimum wait time between two consecutive touches of [Enter], [OK] or a user-defined key. n|expression This is a positive integer that specifies the number of units of 1/18 second. • Default value for DOS is 10 (about ½ second). • Default value for Windows is 0 (no wait time). *WAITCR 9 In this Windows example, the wait time is set to ½ second.

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 261: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 253

*WAITPLAY Windows Waits for multimedia files to finish. *WAITPLAY *DELAY *PLAY During playback of a multimedia file the interview does not stop; playback occurs simultaneous. With this command however, it is possible to force a waiting time until playback has finished. To play sound fragments, a sound card is required.

All multimedia files recognised by the multimedia interface can be played. *PLAY “letitbe.wav” *WAITPLAY *QUESTION 1 *CODES 102 Do you recognise this sound? 1: yes 2: no

System

Purpose

Syntax

See also

Description

!

Remarks

Example

Page 262: NIPO ODIN 5[1].11 CommandReference Rev20070123

254 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*WRITE Writes data to a file. *WRITE <Qn|var> [“filename”] *READ With this command it is possible to write data to a file. If the filename is omitted data will be written to the last file used for writing. The file consists of one record in which all data will be written. The data will be separated by headers, which contain the letter D and the size of the data strings. The format of the file is illustrated below:

header 1 data header 2 data

D size string D size string

1 position 4 positions

size specified in header

1 position

4 positions

size specified in header

Qn The question reference of the data field that has to be written. var Variable that holds the data that has to be written. filename A self chosen filename that complies with the MS-DOS conventions. • During an interview you can not go back over a *WRITE with filename, you can only go back over

a *WRITE without filename. • You can not use *WRITE indifferently with *READ; after a *READ there has to be a filename

specified with *WRITE. *TEXTVARS txt[2] *PUT txt[1] “my text” *PUT txt[2] “my second text” *WRITE txt[1] “myfile” *WRITE txt[2] The record of the file looks like: D0007my textD0014my second text

Purpose

Syntax

See also

Description

Arguments

Remarks

Example

Page 263: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 255

<<<! … !>>> Web Client only Insert HTML (incl. JavaScript) in text. <<<! … !>>> With this command it is possible to insert HTML (including JavaScript) in the text of a NIPO ODIN Questionnaire. The HTML starts with <<<! and is closed with !>>>. See your HTML manual for the syntax of HTML and JavaScript. 1: Sedan <<<!&nbsp;&nbsp;&nbsp!>>> *PICT 1

System

Purpose

Syntax

Description

Example 1

Page 264: NIPO ODIN 5[1].11 CommandReference Rev20070123

256 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*PAGE 1: Start <<<! <A HREF="http://www.niposoftware.com" TARGET="_blank" ONCLICK= "window.open ('http://www.niposoftware.com', 'niposoftware', 'width=1024, height=640, toolbar=no, menubar=no, location=no, resizable=yes, scrollbars=yes'); return false; ">NIPO Software website</a> !>>> Result:

After clicking on the link:

Example 2

Page 265: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 257

4.2 Listing of commands per system

Commands may behave differently in DOS, ODIN 16-bit and/or ODIN 32-bit. For a full description see the specific command. Commands that are only supported in DOS are not described in this manual, but are enlisted only in this overview for historic reasons. Command DOS ODIN

16-bit ODIN 32-bit

Stand Alone

CATI CAPI Tele Panel

Web Client

** � � � � � � � � *? � � � � � � � �

*ABORT � � � � � � � �

*ADDRESS � � � � � � � �

*ALPHA (question type)

� � � � � � � �

*ALPHA (in *FORM question)

� � � � � � � �

*APPOINT � � �

*AUTO � � � � � �

*AUTO (in *CONJ)

� � �

*BACK � � � � � � � �

*BMP � � � � � �

*BUT � � � � � � �

*CENTRE1 � � � � � � �

*CODES � � � � � � � � *CONJ ... *ENDCONJ � � � � � � � �

*CONTROL � � � � � � � �

*COPY2 � � � � � � �

*COUNT � � � � � � � �

*CUT � � � � � � �

*DATE � � � � � � � �

*DELAY � � � � � �

*DESC3

*DTIME � � � � � � � �

*DUMMY � � � � � � �

*END � � � � � � � �

*END (in *REPEAT loop)

� � � � � � � �

*ENDNGB � � � � � � � �

*ENDST � � � � � � � �

*EXCLUDE � � � � � � �

*FIELD � � � � � � � �

*FONT � � � � � � �

Page 266: NIPO ODIN 5[1].11 CommandReference Rev20070123

258 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Command DOS ODIN 16-bit

ODIN 32-bit

Stand Alone

CATI CAPI Tele Panel

Web Client

*FORM � � � � � � � �

*FORMAT � � � � � � � �

*GENERAL4 �

*GOSUB � � � � � � � �

*GOTO � � � � � � � �

*GRID � � � � �

*GROUP � � � � � � �

*HEADING � � � � �

*HELP (definition)

� � � � � � � �

*HELP (question option)

� � � � � � �

*IF � � � � � � � �

*IF (question option)

� � � � � � � �

*IF (in *CONJ)

� � �

*INCLUDE � � � � � � �

*INFO � � � � � � � �

*INIT � � � � � � � �

*INSTRUC � � � � �

*INTRO11 � � �

*INV � � � � � � � �

*INV (in *CONJ)

� � �

*KEY4 � �

*LABEL � � � � � � � �

*LANGUAGE � � � � � � �

*LEFT � � � � � � � �

*LEFT (in *CONJ)

� � �

*LINE � � � � � � � �

*LIST � � � � � � � �

*LIST (question option)

� � � � � � � �

*LIST (in *CONJ)

� � �

*LOAD4 � �

*MARK4 �

*MAX � � � � � � � �

*MERGE � � � � �

*MIN � � � � � � � �

Page 267: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 259

Command DOS ODIN 16-bit

ODIN 32-bit

Stand Alone

CATI CAPI Tele Panel

Web Client

*MIN (in *CONJ)

� � �

*MOVA � � � � � � � �

*MOVE5 � � � � � �

*MOVU � � � � � � � �

*MULTI � � � � � � � �

*NAP4 �

*NCLS � � � � � � � �

*NEW � � � � � � � �

*NEWCOLUMN2 � � � � � � � *NEXT � � � � � �

*NMUL � � � � � � � �

*NOCON � � � � � � � �

*NOENTER2 � � � � � � �

*NOHIDE6 � � � � � �

*NOMARK4 �

*NON � � � � � � � �

*NONRESP � � � � � � �

*NOTBACK � � � � � � � �

*NP4 �

*NP (in *CONJ)

� � �

*NUMBER (question type)

� � � � � � � �

*NUMBER (in *FORM question)

� � � � � � � �

*OPEN (question type)

� � � � � � � �

*OPEN (codes option)

� � � � � � � �

*OR5 �

*ORDER10 � � �

*P4 �

*PAGE � � � � � � � �

*PICT (question option)

� � � � � � � �

*PICT (codes option)

� � � � �

*PICT (in *CONJ)

� � �

*PLAY7 �

*PLAY8 �

Page 268: NIPO ODIN 5[1].11 CommandReference Rev20070123

260 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Command DOS ODIN 16-bit

ODIN 32-bit

Stand Alone

CATI CAPI Tele Panel

Web Client

*PLAY9 � � � � � � *PLAYWAIT5

*PNW � � � � � � � �

*PRINT4 �

*PUT � � � � � � � �

*QUESTION � � � � � � � �

*RANDOM � � � � � � � �

*RANGE2 � � � � � � �

*READ � � � � � � �

*REC1 � � � � *REPEAT (question option)

� � � � � �

*REPEAT ... *ENDREP � � � � � � � � *REPETE4 �

*REPNUM � � � � � � � �

*RETURN � � � � � � � �

*RIGHT � � � � � � � �

*RIGHT (in *CONJ)

� � �

*ROT � � � � � � � �

*ROT (in *CONJ)

� � �

*RUN � � � � � � �

*SAMPLEDATA10 � � �

*SAVE � � � � � � � �

*SCALE (question type)

� � � � � � � �

*SCALE (in *FORM question)

� � � � � � � �

*SCALERANGE11 � � �

*SHOWDOCUMENT � � �

*SIZE6 � � � � �

*SKIP � � �

*SNGRET4 �

*SQLGET10 � � �

*SQLPUT10 � � �

*STOPAUTO6 � � � � �

*STOPRANDOM6 � � � � �

*STRAT � � � � � � � �

*SUBROUTINE ... *ENDSUB

� � � � � � � �

Page 269: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 261

Command DOS ODIN 16-bit

ODIN 32-bit

Stand Alone

CATI CAPI Tele Panel

Web Client

*SWILANG � � � � � � �

*TAB � � � � � � �

*TEXTVARS � � � � � � � �

*TIME � � � � � � � �

*USELIST � � � � � � �

*VAR � � � � � � � �

*VARS � � � � � � � �

*VCONTROL � � � � �

*WAITCR � � � � � � � �

*WAITPLAY � � � � � � *WAP4 � *WRITE � � � � � �

*XOR5 �

<<<!...!>>> � �

1 Version 4.05 and higher 2 Version 4.06 and higher 3 NIPO ODIN Developer (16-bit) Library only 4 ODIN for DOS only 5 Removed since 4.06 6 Version 4.08 (16-bit) only 7 Play a note sequence 8 Increasing sound with lines and scales 9 Play multimedia file 10 Version 5.08 and higher 11 Version 5.11 and higher

Page 270: NIPO ODIN 5[1].11 CommandReference Rev20070123
Page 271: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 263

5 File structures

Page 272: NIPO ODIN 5[1].11 CommandReference Rev20070123
Page 273: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 265

5.1 Data files

All files in ODIN are ASCII/ANSI format and have a fixed file structure. These structures are described below:

5.1.1 Closed answers file (U-file)

The closed answers file (U-file) contains the answers to all closed questions. For each interview (respondent) one record (line) is written in the file. The length of the records is fixed, and depending on the highest position used in the NIPO ODIN questionnaire. The first positions (fields) in each record are reserved for the system.

Table 5-1 | Record description of the closed answers file

Position length Description

1-8 8 interview number 9-10 2 sub-questionnaire number 11-15 5 interview time in seconds 16-19 4 number of screens shown 20 1 interrupt indication:

1 = interview broken off 2 = appointment made

21-28 8 interviewer number 29-40 12 date and time last contact 41 1 0 (zero) 42-48 7 ODIN / OdDemon version number 49-53 5 Idle time 54-55 2 Week number

(CASI only) 56-57 2 Week version number

(CASI only) 58-59 2 Unique family member number

(CASI only) 60 1 Channel:

1 = CATI 2 = CAWI (Web) 3 = CAPI 4 = CASI (Panel)

61-.. answers Note: Channel is not yet supported in ODIN 4.08. Position 60 will be empty for all channels.

Page 274: NIPO ODIN 5[1].11 CommandReference Rev20070123

266 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

1) Data files (U- and O-file) in unicode

A questionnaire in unicode can be used as long as the workstation supports that character set. If all surveys should write data files in unicode the following stringvalue can be added in the registry of the CATI Master: HKEY_LOCAL_MACHINE\Software\NIPO\CatiMaster UnicodeData = Y By default the data will be written in plain ASCII. When unicode data files are needed for separate surveys, this can be configured in the file survey.ini. Add the following line to the [Config] –section: UnicodeData=Y Note: If a datafile is already present, the system will check the file header, if the file is unicode or not. The UnicodeData setting will be ignored. Note 2: When *ALPHA is used in a questionnaire and the respondent uses a unicode language (i.e. a unicode character set is used), the U-file must be written in unicode. When *OPEN is used in a questionnaire and the respondent uses a unicode language (i.e. a unicode character set is used), the O-file must be written in unicode.

Page 275: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 267

5.1.2 Open answers file (O-file)

The open answers file (O-file) contains the answers to all open ended and semi-open questions. For each open answer that is actually asked to the respondent, one record (line) is written in the file so several records will be written for each interview (respondent). The amount of records will be depending on the routing. The length of the records is unfixed, i.e. be as long as the open answer that was typed. The first positions (fields) in each record are reserved for the system.

Table 5-2 | Record description of the open answers file

position length Description

1-8 8 interview number 9-10 2 sub-questionnaire number 11-15 5 starting position answer field in U-file 16-18 3 length reserved answer field in U-file 19-... (depending on 16-

18) corresponding answer code number (or blank)

(depending on 19, etc.)

text of open answer

Page 276: NIPO ODIN 5[1].11 CommandReference Rev20070123

268 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

5.1.3 Telephone file (T-file)

The Sample file (telephone file or T-file) is the file containing telephone numbers and addresses of the (aimed) respondents. Each respondent will be in a separate record (line). The length of the file should be fixed.

Table 5-3 | Record description of the telephone file

Position length Description

1-17 17 Telephone number (area code and subscribers number) 18-19 2 Response code

(See paragraph 6.1.4 for description of the responscodes) 20-21 2 Number of contacts 22-23 2 Response code of last contact 24-35 12 Date and time of last contact 36-43 8 Interviewer number of last contact 44-45 2 Response code of last but one contact 46-47 2 Response code of second last contact 48-49 2 Response code of third last contact 50-51 2 Response code of fourth last contact 52-59 8 Interview number 60-71 12 Appointed time or redial time

(YYYYMMDDhhmm) 72-101 30 Name of appointed respondent 102 1 Indication to show second telephone number

(1 = show second telephone number 2 = use second telephone number by default)

103-119 17 Second telephone number (area code and subscribers number) 120-127 8 Time interval for contacting respondent 128-133 6 Reserved for future use 134 1 Indication which telephone number is Dialed last

(1 = second number, blank = only one number available / no contact)

135 1 Number of address-fields to be shown on screen (1 = show first field only, 2 = show first and second field, etc.)

136-180 45 First address-field (e.g., name) 181-215 35 Second address-field (e.g., street and house number) 216-250 35 Third address-field (e.g., zip code and residence)

Note: In previous versions of the NIPO Fieldwork System 1.03 position 120-134 was used for the description of the second number.

Page 277: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 269

Table 5-4 | Record description of the telephone file in case of Omnibus

Position length Description

251-490 240 Stratification data for each sub-survey in a CATI-omnibus (20 positions per sub-survey, maximum 12 sub-surveys)

251-257 7 Name of first sub-survey 258 1 1 = Successful interview first sub-survey 259-270 12 Free for stratification first sub-survey ... etc. for second, third, ... sub-survey 501-… Free for other data

Table 5-5 | Record description of the telephone file in other cases

Position length Description

251-285 35 Fourth address-field (e.g., department, country, etc.) 286-… Free for other data

Minimum length of a telephone-record is 135; maximum length for NIPO CATI Client 4.08 (16-bit) is 8000. For NIPO CATI Client 5.03 (32-bit) there is no maximum. Note: The response code (18L2) and number of contacts (20L2) must be filled. Set the value initially to 00. Note 2: In a telephone file no empty lines are allowed. The NIPO CATI Client will give an error message and can not be executed. Tip: You can create interview numbers in advance. These numbers will be used as interview number in all files. Make sure the number is unique. If an interview number is not unique, the system will look for the first free number. Interview numbers have to be an 8-digit number (leading zeros are required).

Page 278: NIPO ODIN 5[1].11 CommandReference Rev20070123

270 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

5.1.4 Sample table (separate table for each survey)

Instead of a Sample file (T-file or surveyT), a Sample table can be created for each separate survey. The default name for the Sample table is SampleName, where Name is the survey name (for instance: the Sample table for survey A1234 will be called SampleA1234 ).

Table 5-6 | Field names in the Sample table (separate table for each survey)

Fieldname Pos in T-file

Description Type Minimum length

Allow NULL

InterviewNumber 52L8 int 8 NOT NULL

AppointmentName 72L30 Var Char

30

AppointmentTime 60L12 Date Time

CallIntervalBegin Var Char

4

CallIntervalEnd Var Char

4

Channel Channel, where: 1= CATI 2= CAWI (Web) 3= CAPI 4= CASI (Panel) 99= Sample record sent as anonymous web interview.

ContactTime 24L12 Date Time

DisplayField1 136L45 e.g., Name var char

45

DisplayField2 181L35 e.g., Address var char

35

DisplayField3 216L35 e.g., City var char

35

DisplayField4 251L35 e.g., Country or State var char

35

Email Email address (for Web records)

50

ExtraData 286-… Only available if configured in the NIPO CATI/Web Master.

Var Char

215

GroupID Var Char

Page 279: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 271

Fieldname Pos in T-file

Description Type Minimum length

Allow NULL

ID The unique identifier, that is created for each respondent in the Sample table, when sending a (non-anonymous) mail. The ID should be unique, not only within the Sample table, but also within the EmailManagemenent table

Indicator2nd Number

120L1 last dialed number: 1= second number blank= only 1 number available / no contact

int 1

InitialChannel Channel used when initially importing the Sample record, where: 1= CATI 2= CAWI (Web) 3= CAPI 4= CASI (Panel)

Int

InterviewerNumber 36L8 int 8

Language Language of respondent (for sending mail and/or multi-language questionnaires)

var char

NumberOfContacts1 20L2 int 2 NOT NULL

ResponseCode1 18L2 2-digit response, where: 00= Initial 18= Successful, 29= Suspended (Web), etc. (See paragraph 6.1.4 for the list of default responsecodes)

int 2 NOT NULL

SecondPhoneNumber 103L17 Var Char

17

ShowDisplayFields 135 Number of displayfields to show 0= No displayfields 1= Show only DisplayField1 2= Show DisplayField1 + DisplayField2 3= Show DisplayField1 + DisplayField2 + DisplayField3 4= Show all DisplayFields

int 1

1 This field should be initialized (set to 0).

Page 280: NIPO ODIN 5[1].11 CommandReference Rev20070123

272 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Fieldname Pos in T-file

Description Type Minimum length

Allow NULL

ShowSecondPhone Number

102L1 0= Hide second phone number 1= Show second phone number 2= Use second phone number as default

int 1

Status1 1-digit status, (See paragraph 6.1.2 for the code list of Status)

int 1 NOT NULL

SuspendImage Suspend Image, containing all the answers and the routing of previous sessions.

Image

SystemData 22L2 44L2 46L2 48L2 50L2

5 previous Response-codes Var Char

10

TargetInterviewer Interviewer number to be used when 'Same interviewer appointment' was switched on by the interviewer, when making an appointment. Depending on the EnableIDA setting in the NIPO CATI Master

Int 8

TelephoneNumber 1L17 Telephone number (for CATI records)

Var Char

17

TimeDifference Time difference between respondent and CATI-Studio.

Var Char

10

Primary key: InterviewNumber Note: The 2-digit field ResponseCode was in previous versions of the NIPO Fieldwork System 1.03 sometimes referred to as StatusCode. Do not confuse this with the field Status, which is a new field, containing a 1-digit number. Also do not confuse the Status field in the Sample table with the Status field in the Survey table. Note 2: In previous versions the character ‘WW’ in the field ResponseCode (Pos 18L2 of the T-file), meant the T-record was in waiting mode. This is replaced by the code 5 in the field Status.

1 This field should be initialized (set to 0 for CATI, 1 for Web).

Page 281: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 273

Note 3: With the NIPO ODIN command *PUT, you can retrieve data directly from the T-file by referring to a position instead of a question number or variable name. *PUT intnr 52L8

will copy position 52L8 (the interview number) from the T-file in the variable intnr When a Sample table in a database is used, the variable will be filled with the database field that was based on that specific position (as is used the other way around for T-files, that internally are seen as databases). Note 4: Contrary to NIPO Web Interview System 1.04, the Email address is not the key for the Sample table. This means that the E-mail address does not have to be unique, thus enabling sending 2 separate links to 2 users of the same E-mail address. Note 5: When sending a survey or E-mails with the option Anonymous switched on, the system will not create a separate ID for each Sample record, but will use a SurveyID, that is stored in the Survey table. Sample records that are sent anonymous, will get a Channel code 99 (Sent as anonymous). When an interview is started from an anonymous survey or directly from an URL on a website, the NIPO CATI/Web Master will not update the original Sample record, but create a new Sample record. The response-rate for an anonymous survey, should be compared to the number of sent emails or the number of visitors on the website. Note 6: In an anonymous survey respondents may fill in an interview more than once. The NIPO CATI/Web Master will give out new interview numbers.

Page 282: NIPO ODIN 5[1].11 CommandReference Rev20070123

274 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

5.1.5 Contact file (C-file)

In the NIPO Fieldwork System 1.03 a record is written in the contact file for each contact attempt.

Table 5-7 | Record description of the Contact file

Position length Description

1-8 8 interviewer number 9-16 8 date of interview (YYYYMMDD) 17-20 4 time of interview (uumm) 21-28 8 interview number 29-30 2 response code (space means no T-file/Sample table available)

(See paragraph 6.1.4 for description of the responscodes) 31-32 2 contact number 33-38 6 total time in seconds 39-44 6 introduction time in seconds 45-50 6 area code 51-56 6 telephone time in seconds 57-60 4 number of screens shown to interviewer

(note: when the interviewer goes back in the questionnaire and follows another routing, the number of screen will be reset)

61-66 6 Edit open time in seconds 67-72 6 Waiting time, in seconds, between asking and receiving a T-file record

Note: In an omnibus a separate record will be written in the Contact.Log file for each sub-questionnaire, with the interview time and the number of screens for that specific sub-questionnaire. But only one C-file will be created for an omnibus, containing the accumulated interview time and number of screens for all sub-questionnaires.

Page 283: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 275

5.1.6 Stratification file (S-file)

A stratification file (S-file) is used to divide the Sample into several strata or sub-Samples, in which a limited number of interviews must be realised. Stratification is only possible if a T-file/Sample table exists. Each stratum must be defined in one separate record with the following format: stratum field offset: characteristic (limit) description...

See paragraph 3.2 for more details about stratification.

Page 284: NIPO ODIN 5[1].11 CommandReference Rev20070123

276 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

5.2 Database tables

5.2.1 Sample table (separate table for each survey)

For each survey a separate Sample table can be created. The default name for the Sample table is SampleName, where Name is the survey name (for instance: the Sample table for survey A1234 will be called SampleA1234). The Sample table can also be an ASCII file (Address-file or T-file).

Table 5-8 | Field names in the Sample table (separate table for each survey)

Fieldname Pos in T-file

Description Type Minimum length

NOT NULL

AppointmentName 72L30 Var Char

30

AppointmentTime 60L12 Date Time

CallIntervalBegin Var Char

4

CallIntervalEnd Var Char

4

Channel Channel, where: 1= CATI 2= CAWI (Web) 3= CAPI 4= CASI (Panel) 99= Sample record sent as anonymous web interview.

ContactTime 24L12 Date Time

DisplayField1 136L45 e.g., Name var char

45

DisplayField2 181L35 e.g., Address var char

35

DisplayField3 216L35 e.g., City var char

35

DisplayField4 251L35 e.g., Country or State var char

35

Email Email address (for Web records)

50

ExtraData 286-… Only available if configured in the NIPO CATI/Web Master.

Var Char

215

GroupID Var Char

Page 285: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 277

Fieldname Pos in T-file

Description Type Minimum length

NOT NULL

ID The unique identifier, that is created for each respondent in the Sample table, when sending a (non-anonymous) mail. The ID should be unique, not only within the Sample table, but also within the EmailManagemenent table

Indicator2nd Number

120L1 last dialed number: 1= second number blank= only 1 number available / no contact

int 1

InitialChannel Channel used when initially importing the Sample record, where: 1= CATI 2= CAWI (Web) 3= CAPI 4= CASI (Panel)

Int

InterviewerNumber 36L8 int 8

InterviewNumber 52L8 int 8 NOT NULL

Language Language of respondent (for sending mail and/or multi-language questionnaires)

var char

NumberOfContacts1 20L2 int 2 NOT NULL

ResponseCode1 18L2 2-digit response, where: 00= Initial 18= Successful, 29= Suspended (Web), etc. (See paragraph 6.1.4 for the list of default responsecodes)

int 2 NOT NULL

SecondPhoneNumber 103L17 Var Char

17

ShowDisplayFields 135 Number of displayfields to show 0= No displayfields 1= Show only DisplayField1 2= Show DisplayField1 + DisplayField2 3= Show DisplayField1 + DisplayField2 + DisplayField3 4= Show all DisplayFields

int 1

1 This field should be initialized (set to 0).

Page 286: NIPO ODIN 5[1].11 CommandReference Rev20070123

278 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Fieldname Pos in T-file

Description Type Minimum length

NOT NULL

ShowSecondPhone Number

102L1 0= Hide second phone number 1= Show second phone number 2= Use second phone number as default

int 1

Status1 1-digit status, where: 0= Available (CATI) 1= Available (Web) 2= Not successful / Refusal 3= Completed 4= CATI appointment 5= CATI waiting 6= Out, distributed to CATI/Web Client

int 1 NOT NULL

SuspendImage Suspend Image, containing all the answers and the routing of previous sessions.

Image

SystemData 22L2 44L2 46L2 48L2 50L2

5 previous Response-codes Var Char

10

TargetInterviewer Interviewer number to be used when 'Same interviewer appointment' was switched on by the interviewer, when making an appointment. Depending on the EnableIDA setting in the NIPO CATI Master

Int 8

TelephoneNumber 1L17 Telephone number (for CATI records)

Var Char

17

TimeDifference Time difference between respondent and CATI-Studio.

Var Char

10

Primary key: InterviewNumber

1 This field should be initialized (set to 0 for CATI, 1 for Web).

Page 287: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 279

Note: The 2-digit field ResponseCode was in previous versions of the NIPO Fieldwork System 1.05 sometimes referred to as StatusCode. Do not confuse this with the field Status, which is a new field, containing a 1-digit number. Also do not confuse the Status field in the Sample table with the Status field in the Survey table. Note 2: In previous versions the character ‘WW’ in the field ResponseCode (Pos 18L2 of the T-file), meant the Sample table record was in waiting mode. This is replaced by the code 5 in the field Status. Note 3: With the NIPO ODIN command *PUT, you can retrieve data directly from the T-file by referring to a position instead of a question number or variable name. *PUT intnr 52L8

will copy position 52L8 (the interview number) from the T-file in the variable intnr When a Sample table in a database is used, the variable will be filled with the database field that was based on that specific position (as is used the other way around for T-files, that internally are seen as databases). Note 4: Contrary to NIPO Web Interview System 1.04, the Email address is not the key for the Sample table. This means that the E-mail address does not have to be unique, thus enabling sending 2 separate links to 2 users of the same E-mail address. Note 5: When sending a survey or E-mails with the option Anonymous switched on, the system will not create a separate ID for each Sample record, but will use a SurveyID, that is stored in the Survey table. Sample records that are sent anonymous, will get a Channel code 99 (Sent as anonymous). When an interview is started from an anonymous survey or directly from an URL on a website, the NIPO CATI/Web Master will not update the original Sample record, but create a new Sample record. The response-rate for an anonymous survey, should be compared to the number of sent emails or the number of visitors on the website. Note 6: In an anonymous survey respondents may fill in an interview more than once. The NIPO CATI/Web Master will give out new interview numbers.

Page 288: NIPO ODIN 5[1].11 CommandReference Rev20070123

280 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

1) Create new fields in Sample table via NIPO FMS

In the NIPO FMS you can create new fields for individual Sample tables, by right-mouse clicking on the grid.

2) Use *SAMPLEDATA to retrieve and update data from the Sample table

All fields that are created by the NIPO FMS can be retrieved in the NIPO ODIN questionnaire, by using the command *SAMPLEDATA. Define the fieldnames with *SAMPLEDATA as variables in your questionnaire and the variable will be filled automatically with the contents of the database field, when starting the survey. When the survey is closed by the Web Client (either by ending the questionnaire, suspending or even closing the browser), the database field is updated with the current contents of the variable. The field is only updated when closing the Web Client, i.e. it is not updated while the client is still busy.

3) Stratification of fields in Sample table

When using the *STRAT command within a NIPO ODIN questionnaire, the system will check all fields in the database defined by *SAMPLEDATA as if already updated.

Page 289: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 281

4) Use system names in Sample table instead of table fieldnames

All system fields in the Sample tables may only be referred to by their system names, not by the fieldnames. The NIPO CATI Master will produce an error message 'Duplicate field name'.

Table 5-9 | Setting names and Field names in Sample table

Setting name in NIPO CATI/Web Master Field name in Sample table TTAppointmentName AppointmentName TTAppointmentTime AppointmentTime TTAvailabilityCode Status TTCallIntervalBegin CallIntervalBegin TTCallIntervalEnd CallIntervalEnd TTChannel Channel TTContactTime ContactTime TTDisplayField1 DisplayField1 TTDisplayField2 DisplayField2 TTDisplayField3 DisplayField3 TTDisplayField4 DisplayField4 TTExtraData ExtraData TTGroupID GroupID TTID ID TTIndicator2ndNumber Indicator2ndNumber TTInterviewerNumber InterviewerNumber TTInterviewNumber InterviewNumber TTLanguage Language TTNumberOfContacts NumberOfContacts TTRespEmail Email TTSecondPhoneNumber SecondPhoneNumber TTShowDisplayFields ShowDisplayFields TTShowSecondPhoneNumber ShowSecondPhoneNumber TTStatusCode ResponseCode TTSystemData SystemData TTTargetInterviewer TargetInterviewer TTTelephoneNumber TelephoneNumber TTTimeDifference TimeDifference

Page 290: NIPO ODIN 5[1].11 CommandReference Rev20070123

282 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Note: The field ResponseCode is a (2-digit number), that you can configure with the RESPn setting in the NIPO CATI/Web Manager. The field Status is a (1-digit) number, that is updated by the Master, based on the Channel and Type (AVAIL, APPOINT, STOP, WRITE, etc). Note 2: The field ExtraData is only created in your Sample table by NIPO FMS, when the setting TTExtraData=’ExtraData’ is specified in the registry of the NIPO CATI/Web Master or when the setting: RespondentFields=TTExtraData:ExtraData is specified in the Registry/survey.INI. Note 3: The fields ID, Status, SystemData, Language are system fields and may not be changed by your NIPO ODIN questionnaire. The Language field will be updated automatically when switching between *LANGUAGE sections.

Page 291: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 283

5.2.2 Omnibus or SubSample table (separate table for each survey)

Separate table for each omnibus survey, only in combination with Sample table. The default name for the Omnibus or SubSample table is SubName, where Name is the survey name (for instance: the Omnibus table for survey A1234 will be called SubA1234). In this table the NIPO CATI/Web Master stores the stratification data for each subsurvey in an omnibus.

Table 5-10 | Field names in the Omnibus Table

Fieldname Description Type Minimum length

NOT NULL

InterviewNumber Interview number (Refers to a record in the Sample table)

Integer 8 NOT NULL

QuestionnaireName Sub-questionnaire name Text 7 Success Sub-questionnaire status:

1=successful other is unsuccessful

Integer 1

STData Extra data field to store stratification fields for sub-questionnaires.

varchar 12

Note: The field STData is only created in your Omnibus table by NIPO FMS, when the setting STData=’STData’ is specified in the registry of the NIPO CATI/Web Master. Primary key: InterviewNumber

QuestionnaireName

Page 292: NIPO ODIN 5[1].11 CommandReference Rev20070123

284 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

1) Create new fields in Omnibus table via NIPO FMS

In the NIPO FMS you can create new fields for individual Omnibus tables, by right-mouse clicking on the grid.

2) Use *SAMPLEDATA to retrieve and update data from the Omnibus table

All fields in the Omnibus table that are created by the NIPO FMS can be retrieved in the second and further questionnaire within an omnibus, by using the command *SAMPLEDATA. Define the fieldnames with *SAMPLEDATA as variables in your omnibus questionnaire and the database field is updated with the current contents of the variable. The field is only updated when closing the Web Client, i.e. it is not updated while the client is still busy.

3) Stratification of fields in Omnibus table

When using the *STRAT command within the second and further questionnaire within an omnibus, the system will check fields in the omnibus table defined by *SAMPLEDATA as if already updated.

4) Use system names instead of table fieldnames

All system fields may only be referred to by their system names, not by the fieldnames. The NIPO CATI Master will produce an error message 'Duplicate field name'.

Table 5-11 | Setting names and Field names in Omnibus table

Setting name in NIPO CAPI Master Field name in Sample table STSuccess Success STQuestionnaireName QuestionnaireName STInterviewNumber InterviewNumber STData Data

Page 293: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 285

6 Status, ResponseCode, TerminateCode, Logging

6.1.1 Status field in Survey table

Table 6-1 | Overview of Status field in Survey table

Code Description

0 Inactive: Survey may not be started by NIPO CATI master Sample may be altered by NIPO FMS

1 Active: Survey may be started by NIPO CATI master Sample may not be altered by NIPO FMS

2 Running: Survey has been started by NIPO CATI master Sample may not be altered by NIPO FMS

3 Pause: Survey is about to be ‘reloaded’ by NIPO CATI master Sample may not be altered by NIPO FMS

6.1.2 Status field in Sample table

Table 6-2 | Overview of Status field in Sample table

Code Description

0 Available (CATI) 1 Available (Web) 2 Not successful / Refusal 3 Completed 4 CATI appointment 5 CATI waiting 6 Out, distributed to CATI/Web Client

Page 294: NIPO ODIN 5[1].11 CommandReference Rev20070123

286 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

6.1.3 Channel and Initial Channel field in Sample table

Table 6-3 | Overview of Channel / InitialChannel field in Sample table

Code Description

1 CATI 2 CAWI (Web) 3 CAPI 4 CASI (Panel) 99 Sample record sent as anonymous web interview.

Page 295: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 287

6.1.4 Overview of response codes

The following overview shows the default response codes. Response codes can be set in the NIPO CATI/Web Master configuration or in the Survey configuration file (INI-file). Response codes 00, 18-30 and 91-99 can not be changed.

Table 6-4 | Default response codes

Response Code

Remark Text shown on the screen Specification Call-back time in minutes (CATI only)

00 SYS Initial / not used 01 Not at home

No answer AVAIL 240

02 Answer device AVAIL 240 03 Busy AVAIL 60 04 Information tone STOP 05 No house at this address / moved

Wrong telephone-number STOP

06 Make an appointment APPOINT appointment time (-15 minutes)

07 A Definite appointment APPOINT appointment time (-15 minutes)

08 Refusal REFUSAL 09 #S Refusal (busy) REFUSAL 10 #S Refusal (not by telephone) REFUSAL 11 #F Refusal (ill/not present) REFUSAL 12 #S Refusal (no approval) REFUSAL 13 B No company at this address STOP 14 B Inactive company STOP 15 B Company terminated STOP 16 Outside target-group STOP 17 #S Already questioned STOP 18 SYS Successful WRITE 19 SYS *ENDNGB (in questionnaire) WRITE 20 SYS System error

(or: currently running)

21 SYS Stratification maximum reached 22 SYS *ABORT (in questionnaire) 23 SYS Interview broken off 24 To be handled by special interviewer 25 SYS Blocked by blacklist 26 SYS Duplicate interview number 27 SYS Used by other survey

Page 296: NIPO ODIN 5[1].11 CommandReference Rev20070123

288 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

Response Code

Remark Text shown on the screen Specification Call-back time in minutes (CATI only)

28 SYS Abandoned call 240 29 SYS Interview suspended

Web Client only

30 I Interviewer no time 31 to 89 Free for use, to be configured in the NIPO

CATI/Web Master configuration or in the Survey configuration.

90 SYS Successful NIPO CAPI only

91-95 Reserved for system. 96 SYS Interview to be continued 98 SYS System error

NIPO CAPI only

99 SYS Initial, already sent to interviewer workstation NIPO CAPI only

Page 297: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 289

1) Specification of ResponseCodes

Table 6-5 | Explanation Remark and Specification column

indication means response code ...

#S Default not shown on the screen B Only shown in case of business address #F Will not lead to a final response code, so address will reappear A Is a fixed appointment code, only the text may be altered I Cannot be shown on the screen, the interviewer however may enter this

code SYS Can not be changed, these are system response codes that cannot be

shown on the screen. APPOINT Appointment screen will pop-up AVAIL Address still available for interviewing REFUSAL Interview marked as refusal, not available for interviewing STOP Interview not available for interviewing SWITCH Switch from NIPO CATI Client to Web Client WRITE Interview will be written

Page 298: NIPO ODIN 5[1].11 CommandReference Rev20070123

290 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

2) TerminateCodes

In the Web Client the system uses TerminateCodes to relocate respondents, based on the ResponseCodes. Negative code numbers are used for the system codes.

Table 6-6 | Overview of TerminateCodes

Response code

Description

1 - 99 ResponseCode as written by NIPO ODIN questionnaire. 0 Default relocation, if the terminate code was not specified in Relocations

table for this survey. -1 Already done / interview was already completed -2 Error in questionnaire / Runtime Error -3 Java Applet Error / Odin Servlet Error -4 Currently not used -5 Master error�-6 Currently not used -7 Licence error (more web connections than NIPO Software licence

allows)�-8 Only one interview at a time allowed, interview ended

(Respondent opens new Window in Browser during NIPO Web Interviewing).

-9 Currently not used -10 Switch survey -11 Pause -12 Invalid answer from ODIN Demon / No reaction from ODIN Demon -13 No addresses available to write response data

Page 299: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 291

7 Index

*

** ................................................................... 69 *? .................................................................. 70

*ABORT ........................................................ 73

*ADDRESS ............................................. 10, 74 *ALPHA (in *FORM question) ....................... 76

*ALPHA (question type) ................................ 75

*APPOINT..................................................... 77 *AUTO .................................................... 22, 78

*AUTO (in *CONJ) .............. See NIPO Conjoint

Measurement manual *BACK........................................................... 80

*BMP............................................................. 81

*BUT ............................................................. 83 *CENTRE...................................................... 85

*CODES........................................................ 86

*CONJ ... *ENDCONJ ... 88, See NIPO Conjoint Measurement manual

*CONTROL................................................... 89

*COPY .......................................................... 91 *COUNT........................................................ 93

*CUT ............................................................. 94

*DATE........................................................... 95 *DELAY......................................................... 96

*DESC (NIPO ODIN Developer 4.08 Library) 97

*DTIME ......................................................... 98 *DUMMY....................................................... 99

*END........................................................... 100

*ENDCONJ .....................................See *CONJ *ENDNGB ................................................... 102

*ENDREP................................... See *REPEAT

*ENDST ...................................................... 103 *ENDSUB.......................... See *SUBROUTINE

*EXCLUDE.................................................. 104

*FIELD ........................................................ 106 *FONT........................................................... 21

(definition) ............................................... 108

(switching)............................................... 109 *FORM.................................................. 23, 111

*FORMAT ................................................... 114

*GOSUB...................................................... 115 *GOTO........................................................ 117

*GOTO after non-response code .................. 11

*GRID (in *FORM question) ........................ 118 *GROUP ..................................................... 121

*HEADING...................................................123

*HELP (definition)................................................125

(question option)......................................126

*IF..................................................................12 (condition)................................................128

(question option)......................................129

*IF (in *CONJ) .....................See NIPO Conjoint Measurement manual

*INCLUDE ...................................................130

*INFO ..........................................................132 *INIT....................................................24, 133

*INSTRUC ...................................................135

*INTRO........................................................136 *INV.............................................................137

*INV (in *CONJ)...................See NIPO Conjoint

Measurement manual *LABEL........................................................139

*LANGUAGE .........................................14, 140

*LEFT ..........................................................144 *LEFT (in *CONJ)................See NIPO Conjoint

Measurement manual

*LINE...........................................................145 *LIST

(definition)................................................147

(question option)......................................149 *LIST(in *CONJ) ..................See NIPO Conjoint

Measurement manual

*MAX ...........................................................152 *MERGE......................................................154

*MIN ............................................................156

*MIN (in *CONJ) ..................See NIPO Conjoint Measurement manual

*MOVA ........................................................158

*MOVE ............................. Replaced by *COPY *MOVU ........................................................159

*MULTI ........................................................160

*NCLS ...................................................25, 161 *NEW...........................................................162

*NEWCOLUMN ...........................................163

*NEXT .........................................................166 *NMUL.........................................................167

*NOCON......................................................168

*NOENTER .................................................169 *NOHIDE .....................................................170

*NON...........................................................171

Page 300: NIPO ODIN 5[1].11 CommandReference Rev20070123

292 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

*NONRESP................................................. 172

*NOTBACK ................................................. 173 *NP (in *CONJ) ................... See NIPO Conjoint

Measurement manual

*NUMBER (in *FORM question) ................. 175 *NUMBER (question type) .......................... 174

*OPEN

(codes option) ......................................... 179 (question type) ........................................ 177

*OR ............................. Replaced by *INCLUDE

*ORDER...................................................... 180 *PAGE .................................................. 12, 183

*PICT

(codes option) ......................................... 186 (question option) ..................................... 184

*PICT (in *CONJ) ................ See NIPO Conjoint

Measurement manual *PLAY ......................................................... 187

*PLAYWAIT ..............Replaced by *WAITPLAY

*PNW .......................................................... 188 *PUT ..................................................... 14, 189

*PUT in combination with Sample table ........ 14

*QUESTION................................................ 192 *RANDOM............................................. 23, 194

*RANGE...................................................... 196

*READ ........................................................ 197 *REC........................................................... 198

*REPEAT

(question option) ..................................... 200 *REPEAT ... *ENDREP........................... 201

*REPETE ......................Replaced by *REPEAT

*REPNUM................................................... 204 *RETURN.................................................... 205

*RIGHT ....................................................... 206

*RIGHT (in *CONJ) ............. See NIPO Conjoint Measurement manual

*ROT........................................................... 207

*ROT (in *CONJ)................. See NIPO Conjoint Measurement manual

*RUN

32-bit ......................................................... 11 NIPO ODIN 16-bit ................................... 208

NIPO ODIN 32-bit ................................... 210

*SAMPLEDATA .......................................... 212 *SAVE

(codes option) ......................................... 214

(question option) ..................................... 213 *SCALE (in *FORM question) ..................... 217

*SCALE (question type) .............................. 215

*SCALERANGE ..........................................220

*SHOWDOCUMENT ...................................225 *SIZE...........................................................226

*SKIP...........................................................228

*SQLGET ....................................................229 *SQLPUT.....................................................232

*STOPAUTO ...............................................235

*STOPRANDOM .........................................237 *STRAT .......................................................238

*SUBROUTINE ... *ENDSUB ......................239

*SWILANG ..................................................241 *TAB......................................................10, 243

*TEXTVARS ................................................245

*TIME ..........................................................246 *USELIST ....................................................247

*VAR............................................................248

*VARS .........................................................249 *VCONTROL ...............................................250

*WAITCR.....................................................252

*WAITPLAY.................................................253 *WRITE .......................................................254

*XOR ..........................Replaced by *EXCLUDE

_

_CAPI_ (Constant) ........................................43

_CASI_ (Constant) ........................................43

_CATI_ (Constant).........................................43 _CAWI_ (Constant) .......................................43

_CHANNEL (system variable) .......................42

_ISCAPI (system variable) ............................42 _ISCASI (system variable) ............................42

_ISCATI (system variable).............................42

_ISCAWI (system variable) ...........................42

<

<<<! … !>>> ................................................255

A

As_Was Channel aware filters ........................8

C

C-file ............................................................274 Changed command

*LANGUAGE .............................................14

*PUT..........................................................14 Channel aware script uses current channel...15

Channel aware scripting................................10

Channel Aware scripting................................42

Page 301: NIPO ODIN 5[1].11 CommandReference Rev20070123

NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007 | 293

Channel aware scripting with As_Was............ 8

Closed answers file (U-file) ......................... 265 Command *PAGE directly behind *IF ........... 12

CONJTXT (in *CONJ) ....See NIPO Conjoint Measurement manual Contact file (C-file) ...................................... 274

Copy positions from T-file limited to field length

...................................................................... 21

D

Data files (U- and O-file) in unicode ............ 266

Default response codes .............................. 287 Display of *NUMBER *LIST question in box 29

Duplicate interview numbers in T-files .......... 25

Dutch commands .......................................... 16

F

Features and Known issues............................ 7

Field names in Omnibus table......................................... 283

Sample table (separate table for each

survey) ........................................ 270, 276 File

Closed answers file................................. 265

Contact file .............................................. 274 Open answers file ................................... 267

Stratification file................................. 52, 275

Stratification file for Web Clients ............... 60 Stratification file when using Omnibus table

.............................................................. 59

Stratification file when using Sample table 56 Stratification files for omnibus surveys with

T-files .................................................... 57

Telephone file ......................................... 268

H

HTML .....................................See <<<! … !>>>

I Illegal constructions ...................................... 17

Improper use of ODIN syntax........................ 17

INIT block is executed before Suspend Image...................................................................... 24

Insert

HTML .................................See <<<! … !>>> JavaScript ..........................See <<<! … !>>>

Introduction ..................................................... 1

J

JavaScript.............................. See <<<! … !>>> Jump to question after non-response code ...11

K

Known issues in NIPO ODIN Script Language 5.08.........15

in Web Client .............................................29

M

Most important features of

NIPO ODIN Script language 5.08..............10

NIPO ODIN Script language 5.09................8 NIPO ODIN Script language 5.11................7

N

New command *HEADING...................................................7

*INTRO........................................................7

*ORDER .....................................................13 *SAMPLEDATA...........................................13

*SCALERANGE...........................................7

*SQLGET ...................................................13 *SQLPUT ...................................................13

New commands in the NIPO ODIN Script

Language 5.08 ..............................................13 New commands in the NIPO ODIN Script

Language 5.11 ................................................7

No more support for Dutch commands.......................................16

improper use of ODIN syntax (‘illegal

constructions’) .......................................17 replaced commands ..................................16

slashes to separate categories..................20

No more support for changing font of code numbers ........................................................21

O

O-file............................................................267 Omnibus surveys.........................................269

Omnibus table .............................................283

Open answers file (O-file)............................267 Overview of

Channel / InitialChannel field in Sample table

............................................................286 response codes .......................................287

Status field in Sample table .....................285

Status field in Survey table ......................285

Page 302: NIPO ODIN 5[1].11 CommandReference Rev20070123

294 | NIPO ODIN Script Language 5.11 Command Reference | © NIPO Software Amsterdam | January 2007

TerminateCodes ..................................... 290

Q

Quota ..................................... See Stratification

R

Record description of Closed answers file................................. 265

Contact file .............................................. 274

Open answers file ................................... 267 Telephone file ......................................... 268

in case of Omnibus ............................. 269

in other cases...................................... 269 Removed commands .................................. 261

Replaced commands .................................... 16

ResponseCode field in Sample table .......... 287 ResponseCodes: specification.................... 289

Re-using interviewnumbers that were already

completed ..................................................... 26

S

Sample table ....................................... 270, 276

Selecting another CHARSET in the *FONT command ...................................................... 24

Separate table for each survey ........... 270, 276

S-file...................................................... 52, 275 Specification of ResponseCodes ................ 289

Status field in Sample table......................... 285

Status field in Survey table.......................... 285 Stratification file (S-file) ......................... 52, 275

for omnibus surveys with T-file.................. 57

for Web Clients ......................................... 60 when using Omnibus table........................ 59

when using Sample table .......................... 56

Stratification for

Web Clients in anonymous survey ............60

Web Clients in non-anonymous survey .....60 Web Clients started from a URL................60

System variable

CMDLINE ...................................................41 System variables

_ISCATI and _ISCAWI ..............................42

miscellaneous............................................41

T

Tables

Omnibus table .........................................283 Sample table ...................................270, 276

SubSample table .....................................283

Tab-positions with *TAB based on percentages......................................................................10

Telephone file (T-file)...................................268

TerminateCodes..........................................290 T-file ............................................................268

U

U- and O-files unicode.................................266 U-file ............................................................265

Unicode data files (U- and O-file) ................266

Using *AUTO with too many categories ........22 Using *RANDOM on a *FORM question,

without category numbers .............................23

Using slashes to separate categories............20

W

What's new in

NIPO ODIN Script language 5.08..............10 NIPO ODIN Script language 5.09................8

NIPO ODIN Script language 5.11................7