- 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 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 296 and 297: How You Can Call 3GL ProceduresIn t
- Page 298 and 299: How You Can Use Exec 4GL Statements
- Page 300 and 301:
How You Can Use Exec 4GL Statements
- Page 302 and 303:
How You Can Use Exec 4GL Statements
- Page 304 and 305:
How You Can Use Exec 4GL Statements
- Page 306 and 307:
How You Can Link 3GL ProceduresHow
- Page 308 and 309:
Sample 3GL ProceduresExec 4GL and E
- Page 310 and 311:
How You Can Use Data Entry Error Ha
- Page 312 and 313:
How You Can Use Data Entry Error Ha
- Page 314 and 315:
How You Can Use Data Entry Error Ha
- Page 317 and 318:
Chapter 12: Managing Event QueuesTh
- Page 319 and 320:
Event-based ProgrammingThe followin
- Page 321 and 322:
Event-based ProgrammingEvent TypesT
- Page 323 and 324:
Event-based ProgrammingField Events
- Page 325 and 326:
Event-based ProgrammingBecause all
- Page 327 and 328:
Event-based ProgrammingThe followin
- Page 329 and 330:
Event-based ProgrammingThe resume s
- Page 331:
Event-based ProgrammingNote: The da
- Page 334 and 335:
Communicating Between OpenROAD Fram
- Page 336 and 337:
Communicating Between OpenROAD Fram
- Page 338 and 339:
Communicating Between OpenROAD Fram
- Page 340 and 341:
Communicating Between OpenROAD Fram
- Page 342 and 343:
Communicating Between OpenROAD Fram
- Page 344 and 345:
Communicating Between OpenROAD Fram
- Page 346 and 347:
Communicating Between OpenROAD Fram
- Page 348 and 349:
How You Can Communicate with an Ext
- Page 350 and 351:
How You Can Communicate with an Ext
- Page 352 and 353:
How You Can Communicate with an Ext
- Page 354 and 355:
How You Can Communicate with an Ext
- Page 356 and 357:
How You Can Communicate with an Ext
- Page 358 and 359:
How You Can Communicate Between Ope
- Page 360 and 361:
How You Can Communicate Between Ope
- Page 363 and 364:
Chapter 14: Creating Dynamic Frames
- Page 365 and 366:
How You Can Change Field and Frame
- Page 367 and 368:
How You Can Change Field and Frame
- Page 369 and 370:
How You Can Change Field and Frame
- Page 371 and 372:
How You Can Change Field and Frame
- Page 373 and 374:
How You Can Create and Modify Field
- Page 375 and 376:
How You Can Create and Modify Field
- Page 377 and 378:
How You Can Create and Modify Field
- Page 379 and 380:
How You Can Remove Fields Dynamical
- Page 381 and 382:
How You Can Declare a Composite Fie
- Page 383 and 384:
How You Can Manipulate Data in Dyna
- Page 385 and 386:
How You Can Manipulate Data in Dyna
- Page 387 and 388:
How You Can Manipulate Data in Dyna
- Page 389:
How You Can Manage Operations with
- Page 392 and 393:
How You Can Build a Frame Dynamical
- Page 394 and 395:
How You Can Build a Frame Dynamical
- Page 396 and 397:
How You Can Build a Frame Dynamical
- Page 398 and 399:
How You Can Build a Frame Dynamical
- Page 400 and 401:
How You Can Build a Frame Dynamical
- Page 402 and 403:
How You Can Build a Frame Dynamical
- Page 404 and 405:
How You Can Build a Frame Dynamical
- Page 406 and 407:
How You Can Build a Frame Dynamical
- Page 408 and 409:
How You Can Build a Frame Dynamical
- Page 410 and 411:
How You Can Build a Frame Dynamical
- Page 412 and 413:
How You Can Build a Frame Dynamical
- Page 414 and 415:
How You Can Build a Frame Dynamical
- Page 416 and 417:
How You Can Build a Frame Dynamical
- Page 418 and 419:
Dynamic Statements ConsiderationsDy
- Page 420 and 421:
How You Can Write an AssistantNote:
- Page 422 and 423:
How You Can Write an AssistantFirst
- Page 424 and 425:
How You Can Write an AssistantBecau
- Page 426 and 427:
How You Can Ensure Compatibility Be
- Page 428 and 429:
How You Can Ensure Compatibility Be
- Page 430 and 431:
How You Can Ensure Compatibility Be
- Page 433 and 434:
Chapter 17: Preprocessing Your 4GL
- Page 435 and 436:
PreprocessorGeneral Preprocessor St
- Page 437 and 438:
PreprocessorThe #define StatementTh
- Page 439 and 440:
Error ProcessingGuidelines for Usin
- Page 441 and 442:
Chapter 18: Debugging Your Applicat
- Page 443 and 444:
How You Can Test an ApplicationHow
- Page 445 and 446:
How You Can Use Break ConditionsTo
- Page 447 and 448:
How You Can Use Break Conditions3.
- Page 449 and 450:
How You Can Use Break ConditionsWay
- Page 451 and 452:
How You Can Use Break ConditionsSet
- Page 453 and 454:
How You Can Use Break Conditions•
- Page 455 and 456:
How You Can Use Break ConditionsMet
- Page 457 and 458:
How You Can Log Trace InformationDa
- Page 459 and 460:
How You Can Monitor a Running Appli
- Page 461 and 462:
How You Can Monitor a Running Appli
- Page 463 and 464:
How You Can Debug Database QueriesT
- Page 465 and 466:
How Debugging an Application WorksS
- Page 467 and 468:
How Debugging an Application WorksH
- Page 469 and 470:
How Debugging an Application WorksS
- Page 471 and 472:
How Debugging an Application WorksW
- Page 473 and 474:
How Debugging an Application WorksH
- Page 475 and 476:
How Debugging an Application WorksW
- Page 477 and 478:
How Debugging an Application WorksS
- Page 479 and 480:
How Debugging an Application WorksL
- Page 481 and 482:
How Debugging an Application WorksA
- Page 483 and 484:
Appendix A: SQL Syntax SummaryThis
- Page 485 and 486:
SQL Syntax Summarygrant all [privil
- Page 487:
OpenSQL Syntax SummaryOpenSQL Synta
- Page 490 and 491:
Operating System CommandsThe follow
- Page 492 and 493:
BitmapObject classThe BitmapObject
- Page 494 and 495:
external classAn external class def
- Page 496 and 497:
local variableLocal variables conta
- Page 498 and 499:
StringObject classThe StringObject
- Page 501 and 502:
Index'' ' (single quotation marks)c
- Page 503 and 504:
Attributesdefined • 28referencing
- Page 505 and 506:
using to copy data • 244using wit
- Page 507 and 508:
application threads • 444array di
- Page 509 and 510:
examining values • 473hexadecimal
- Page 511 and 512:
Gmoney • 51numeric list • 53pad
- Page 513 and 514:
Namesapplication • 21dynamic •
- Page 515 and 516:
ReadOps attributesettings • 243Re
- Page 517 and 518:
concat function • 54functions •
- Page 519:
event chains • 323event queue •