- Page 1 and 2:
Ingres OpenROAD ® 2006Programming
- Page 3 and 4:
ContentsChapter 1: Introduction 13I
- Page 5 and 6:
Using an Object-oriented Approach t
- Page 7 and 8:
How You Can Retrieve Array Informat
- Page 9 and 10:
Chapter 12: Managing Event Queues 3
- Page 11 and 12:
Chapter 17: Preprocessing Your 4GL
- Page 13 and 14:
Chapter 1: IntroductionThis section
- Page 15 and 16:
ConventionsConventionsThe following
- Page 17:
Your Support OptionsYour Support Op
- Page 20 and 21:
OpenROAD NamesThe rules for these n
- Page 22 and 23:
OpenROAD Names3. Enclosing field sc
- Page 24 and 25:
OpenROAD NamesThe following code ex
- Page 26 and 27:
VariablesThe following illustrates
- Page 28 and 29:
VariablesIn the first example, film
- Page 30 and 31:
VariablesOpenROAD checks references
- Page 32 and 33:
VariablesHow You Can Declare Dynami
- Page 34 and 35:
VariablesFor example, assume that y
- Page 36 and 37:
ExpressionsHowever, you cannot use
- Page 38 and 39:
ExpressionsThe general syntax for h
- Page 40 and 41:
ExpressionsCurSessionSpecifies, for
- Page 42 and 43:
ExpressionsString OperatorThe conca
- Page 44 and 45:
ExpressionsOperatorlikenot likeOper
- Page 46 and 47:
Expressions• You can use the esca
- Page 48 and 49:
ExpressionsBecause procedures can r
- Page 50 and 51:
System-defined FunctionsThis rule h
- Page 52 and 53:
System-defined FunctionsNameOperand
- Page 54 and 55:
System-defined FunctionsName Operan
- Page 56 and 57:
System-defined FunctionsNameshift(c
- Page 58 and 59:
System-defined FunctionsSome date f
- Page 60 and 61:
System-defined FunctionsThe followi
- Page 62 and 63:
System-defined FunctionsCount Funct
- Page 64 and 65:
System-defined FunctionsResult Data
- Page 67 and 68:
Chapter 3: Writing Scripts and Proc
- Page 69 and 70:
ScriptsDeclare local variables that
- Page 71 and 72:
ScriptsUserEventSpecifies a user ev
- Page 73 and 74:
ScriptsExample—Field and Menu Ite
- Page 75 and 76:
ProceduresOpenROAD lets you create
- Page 77 and 78:
ProceduresReturning from a Procedur
- Page 79 and 80:
ProceduresExample—Local Procedure
- Page 81 and 82:
Procedures4GL DataTypedatemoneyfloa
- Page 83 and 84:
Calling Procedures• In this call
- Page 85 and 86:
Calling ProceduresparameterAssigns
- Page 87 and 88:
How Procedure Handles Work (ProcHan
- Page 89 and 90:
How Procedure Handles Work (ProcHan
- Page 91 and 92:
How Procedure Handles Work (ProcHan
- Page 93:
Compiler LimitationsYou can avoid t
- Page 96 and 97:
How You Can Invoke FramesHow the Cu
- Page 98 and 99:
How You Can Invoke FramesHow You Ca
- Page 100 and 101:
How You Can Invoke FramesFor more i
- Page 102 and 103:
How You Can Invoke FramesFor exampl
- Page 104 and 105:
How You Can Invoke FramesIf the obj
- Page 106 and 107:
How You Can Invoke FramesHow You Ca
- Page 108 and 109:
How You Can Invoke Frames• Prompt
- Page 110 and 111:
How You Can Invoke FramesThe syntax
- Page 112 and 113:
How You Can Run Non-interactive App
- Page 114 and 115:
How You Can Reference ObjectsHow Yo
- Page 116 and 117:
How You Can Reference ObjectsHow Yo
- Page 118 and 119:
How You Can Reference ObjectsUse an
- Page 120 and 121:
Using an Object-oriented Approach t
- Page 122 and 123:
InheritanceClass RelationshipsYou c
- Page 124 and 125:
InheritanceYou can specify a user c
- Page 126 and 127:
InheritanceThe Terminate method is
- Page 128 and 129:
How You Can Create a User ClassWhen
- Page 130 and 131:
How You Can Create a User ClassHow
- Page 132 and 133:
How You Can Create a User Class3. G
- Page 134 and 135:
How You Can Create a User ClassTo e
- Page 136 and 137:
External ClassesHow You Can Use Ext
- Page 138 and 139:
External ClassesExample—ActiveX C
- Page 140 and 141:
How You Can Manipulate Objects Gene
- Page 142 and 143:
Overview of the OpenROAD System Cla
- Page 144 and 145:
Overview of the OpenROAD System Cla
- Page 146 and 147:
Overview of the OpenROAD System Cla
- Page 148 and 149:
How You Can Access a Database with
- Page 150 and 151:
How You Can Access a Database with
- Page 152 and 153:
How You Can Access a Database with
- Page 154 and 155:
How You Can Access a Database with
- Page 156 and 157:
How You Can Access a Database with
- Page 158 and 159:
How You Can Access a Database with
- Page 160 and 161:
How You Can Access a Database with
- Page 162 and 163:
How You Can Access a Database with
- Page 164 and 165:
How You Can Access a Database with
- Page 166 and 167:
How You Can Access a Database with
- Page 168 and 169:
How You Can Access a Database with
- Page 170 and 171:
How You Can Access a Database with
- Page 172 and 173:
How You Can Access a Database with
- Page 174 and 175:
How You Can Access a Database with
- Page 176 and 177:
How You Can Access a Database with
- Page 178 and 179:
How You Can Access a Database with
- Page 180 and 181:
How You Can Access a Database with
- Page 182 and 183:
How You Can Manage TransactionsHow
- Page 184 and 185:
How You Can Manage TransactionsDivi
- Page 186 and 187:
How You Can Manage TransactionsTo c
- Page 188 and 189:
How Programming for Multiple Sessio
- Page 190 and 191:
How Programming for Multiple Sessio
- Page 192 and 193:
How Programming for Multiple Sessio
- Page 194 and 195:
How Programming for Multiple Sessio
- Page 196 and 197:
How Programming for Multiple Sessio
- Page 198 and 199:
Handling Database ErrorsIn OpenROAD
- Page 200 and 201:
Handling Database ErrorsIf a databa
- Page 202 and 203:
Handling Database ErrorsFor example
- Page 204 and 205:
Handling Database Errorsbeginerr_no
- Page 206 and 207:
Arrays and Table Fields—Conceptua
- Page 208 and 209:
ArraysBecause an individual attribu
- Page 210 and 211:
ArraysDeclaring an array variable d
- Page 212 and 213:
ArraysThe following statement puts
- Page 214 and 215:
Arraysfor i = custtable.FirstRow to
- Page 216 and 217:
ArraysHow You Can Add Rows to an Ar
- Page 218 and 219:
ArraysThe inserted row is blank bec
- Page 220 and 221:
ArraysThe following code fragment i
- Page 222 and 223:
ArraysThese attributes are:AllRowsR
- Page 224 and 225:
ArraysAttributes used in a sort can
- Page 226 and 227:
ArraysThe format parameter can be a
- Page 228 and 229:
Table FieldsTable Fields and Associ
- Page 230 and 231:
Table FieldsThe following applicati
- Page 232 and 233:
Table FieldsThis syntax references
- Page 234 and 235:
Table FieldsFor example, the follow
- Page 236 and 237:
Table Field OperationsTable Field C
- Page 238 and 239:
Table Field OperationsHow You Can U
- Page 240 and 241:
Table Field OperationsWhen you use
- Page 242 and 243:
Table Field OperationsBiases can be
- Page 244 and 245: Table Field OperationsThe following
- Page 246 and 247: Table Field OperationsHow You Can T
- Page 248 and 249: Table Field OperationsTableField Me
- Page 250 and 251: Table Field OperationsFor example,
- Page 252 and 253: Table Field OperationsControlling M
- Page 254 and 255: CollectionsCollectionsA collection
- Page 256 and 257: Collections// Open a workbook and p
- Page 258 and 259: Listview_Treeview_DemoImport the De
- Page 260 and 261: Listview FieldsListview FieldsA lis
- Page 262 and 263: Listview FieldsextensionSpecifies a
- Page 264 and 265: Listview FieldsImageIndexSpecifies
- Page 266 and 267: TreeNode and Tree ClassesHeaderClic
- Page 268 and 269: TreeNode and Tree ClassesMaintenanc
- Page 270 and 271: Treeview FieldsHow You Can Build a
- Page 272 and 273: Treeview FieldsThe second window is
- Page 274 and 275: Treeview FieldsThe tree_ex2_class h
- Page 277 and 278: Chapter 9: Working with Images and
- Page 279 and 280: How You Can Work with ImagesThe fol
- Page 281 and 282: How You Can Work with ImagesThe Col
- Page 283 and 284: How You Can Work with ImagesThe Bit
- Page 285 and 286: How You Can Work with Images5. Add
- Page 287 and 288: How You Can Work with Text StringsD
- Page 289 and 290: How You Can Work with Text StringsH
- Page 291 and 292: How You Can Work with Text StringsH
- Page 293: How You Can Work with Text StringsH
- Page 297 and 298: How You Can Call 3GL ProceduresThe
- Page 299 and 300: How You Can Use Exec 4GL Statements
- Page 301 and 302: How You Can Use Exec 4GL Statements
- Page 303 and 304: How You Can Use Exec 4GL Statements
- Page 305 and 306: How You Can Use Exec SQL Statements
- Page 307 and 308: Sample 3GL ProceduresNote: Addresse
- Page 309 and 310: Chapter 11: Data Entry Error Handli
- Page 311 and 312: How You Can Use Data Entry Error Ha
- Page 313 and 314: How You Can Use Data Entry Error Ha
- Page 315: How You Can Use Data Entry Error Ha
- Page 318 and 319: Event-based ProgrammingHow Events A
- Page 320 and 321: Event-based ProgrammingBy default,
- Page 322 and 323: Event-based ProgrammingFor example,
- Page 324 and 325: Event-based ProgrammingEvent Chains
- Page 326 and 327: Event-based ProgrammingIf there is
- Page 328 and 329: Event-based ProgrammingNote: The fo
- Page 330 and 331: Event-based ProgrammingHow You Can
- Page 333 and 334: Chapter 13: Inter-Frame Communicati
- Page 335 and 336: Communicating Between OpenROAD Fram
- Page 337 and 338: Communicating Between OpenROAD Fram
- Page 339 and 340: Communicating Between OpenROAD Fram
- Page 341 and 342: Communicating Between OpenROAD Fram
- Page 343 and 344: Communicating Between OpenROAD Fram
- Page 345 and 346:
Communicating Between OpenROAD Fram
- Page 347 and 348:
How You Can Communicate with an Ext
- Page 349 and 350:
How You Can Communicate with an Ext
- Page 351 and 352:
How You Can Communicate with an Ext
- Page 353 and 354:
How You Can Communicate with an Ext
- Page 355 and 356:
How You Can Communicate with an Ext
- Page 357 and 358:
How You Can Communicate Between Ope
- Page 359 and 360:
How You Can Communicate Between Ope
- Page 361:
How You Can Communicate Between Ope
- Page 364 and 365:
Conceptual BackgroundConceptual Bac
- Page 366 and 367:
How You Can Change Field and Frame
- Page 368 and 369:
How You Can Change Field and Frame
- Page 370 and 371:
How You Can Change Field and Frame
- Page 372 and 373:
How You Can Change Field and Frame
- Page 374 and 375:
How You Can Create and Modify Field
- Page 376 and 377:
How You Can Create and Modify Field
- Page 378 and 379:
How You Can Remove Fields Dynamical
- Page 380 and 381:
How You Can Declare a Composite Fie
- Page 382 and 383:
How You Can Manipulate Data in Dyna
- Page 384 and 385:
How You Can Manipulate Data in Dyna
- Page 386 and 387:
How You Can Manipulate Data in Dyna
- Page 388 and 389:
How You Can Manipulate Data in Dyna
- Page 391 and 392:
Chapter 15: Creating a Frame at Run
- Page 393 and 394:
How You Can Build a Frame Dynamical
- Page 395 and 396:
How You Can Build a Frame Dynamical
- Page 397 and 398:
How You Can Build a Frame Dynamical
- Page 399 and 400:
How You Can Build a Frame Dynamical
- Page 401 and 402:
How You Can Build a Frame Dynamical
- Page 403 and 404:
How You Can Build a Frame Dynamical
- Page 405 and 406:
How You Can Build a Frame Dynamical
- Page 407 and 408:
How You Can Build a Frame Dynamical
- Page 409 and 410:
How You Can Build a Frame Dynamical
- Page 411 and 412:
How You Can Build a Frame Dynamical
- Page 413 and 414:
How You Can Build a Frame Dynamical
- Page 415 and 416:
How You Can Build a Frame Dynamical
- Page 417 and 418:
How You Can Build a Frame Dynamical
- Page 419 and 420:
Chapter 16: Writing a Template Assi
- Page 421 and 422:
How You Can Write an Assistantbatch
- Page 423 and 424:
How You Can Write an AssistantThe f
- Page 425 and 426:
How You Can Ensure Compatibility Be
- Page 427 and 428:
How You Can Ensure Compatibility Be
- Page 429 and 430:
How You Can Ensure Compatibility Be
- Page 431:
How You Can Ensure Compatibility Be
- Page 434 and 435:
PreprocessorInclude ScriptsInclude
- Page 436 and 437:
PreprocessorFor frames that may hav
- Page 438 and 439:
PreprocessorThe #undef StatementThe
- Page 440 and 441:
Error ProcessingIf the compiler dis
- Page 442 and 443:
Start and Stop the Debugger• Debu
- Page 444 and 445:
How Running in the Debugger Environ
- Page 446 and 447:
How You Can Use Break ConditionsWhe
- Page 448 and 449:
How You Can Use Break ConditionsHow
- Page 450 and 451:
How You Can Use Break ConditionsDel
- Page 452 and 453:
How You Can Use Break ConditionsFor
- Page 454 and 455:
How You Can Use Break Conditions5.
- Page 456 and 457:
How You Can Log Trace InformationSe
- Page 458 and 459:
How You Can Log Trace InformationTr
- Page 460 and 461:
How You Can Monitor a Running Appli
- Page 462 and 463:
How You Can Monitor a Running Appli
- Page 464 and 465:
How You Can Debug Database QueriesH
- Page 466 and 467:
How Debugging an Application WorksI
- Page 468 and 469:
How Debugging an Application WorksW
- Page 470 and 471:
How Debugging an Application WorksH
- Page 472 and 473:
How Debugging an Application WorksS
- Page 474 and 475:
How Debugging an Application Works
- Page 476 and 477:
How Debugging an Application WorksA
- Page 478 and 479:
How Debugging an Application WorksH
- Page 480 and 481:
How Debugging an Application WorksH
- Page 482 and 483:
Debug an Imaged Application with th
- Page 484 and 485:
SQL Syntax SummarySQL Syntax Summar
- Page 486 and 487:
SQL Syntax SummaryKnowledge Managem
- Page 489 and 490:
Appendix B: Operating System Differ
- Page 491 and 492:
Glossary3GL procedureA 3GL procedur
- Page 493 and 494:
dereferencing colonA dereferencing
- Page 495 and 496:
global 4GL procedureglobal variable
- Page 497 and 498:
procedureprocedure handle (ProcHand
- Page 499:
user class scriptA user class scrip
- Page 502 and 503:
Aglobal • 76passing parameters
- Page 504 and 505:
field appearance at runtime • 365
- Page 506 and 507:
permissions required to register ev
- Page 508 and 509:
handling errors in inquire_4GL stat
- Page 510 and 511:
FrameExec system classBlocksFrames
- Page 512 and 513:
for QueryObjects • 200for StringO
- Page 514 and 515:
Performanceand database procedures
- Page 516 and 517:
SetValue event • 341WaitForm meth
- Page 518 and 519:
TableHeader attribute • 231Tables