-
- Command line
- Server Settings
- Commands
- Session
- Authentication
- Custom authentication
- External authentication
- Basic authentication
- Folder Security
- Data manipulation
- Read one record
- Read many records
- Write one record
- Delete one record
- Direct Page/DQL
- Page data definition
- Directory listing
- File handling
- Prism lists
- Data Defintions
- Get data definitions
- Create data Definitions
- Update data definitions
- Delete data definitions
- Definition format
- run dql
- run script
- A web page
- Page definition
- DQL pages
- Single file/memo DQL
- Single file/memo Page
- LiveText tags
- Url commands
- Tags
- How data is triggered in a page
- About DataEaseConnect
- checkquery
- callbacksuccess
- clearrecord
- connectonfieldchange
- convertvaltonumber
- decodequery
- deletedata
- deletetdf
- displayerrormsg
- doaction
- ensurequry
- fetchrecord
- fetchrecords
- finddatatype
- findfieldindef
- formdata
- formdefs
- forminit
- forminitdone
- formloaded
- generateid
- getcookied
- getdata
- getelement
- getfield
- getmyhost
- getnumlines
- getrecordcontent
- getrecorddef
- getrecordnofromurl
- gettdf
- gettablefromurl
- istrueval
- login
- logout
- makenewline
- multirecordinit
- newdata
- newtdf
- rundql
- populateoneselect
- selectpopulate
- setcsrfheader
- setelement
- setfield
- singlerecordinit
- stringify
- stripsuffix
- updatedata
- updatetdf
- useisodatetime
- usenumber
- version
- About jsBridge.js
- Action names
- deCheckVersion
- DEOS
- getnumlines
- GetCurrent
- GetValue
- GetVar
- jsAction
- jsActionExt
- jsActionExt2
- jsAddClass
- jsDEOS
- jsDerivation
- jsDerivationDebug
- jsDocumentDelete
- jsDocumentEdit
- jsDocumentOpen
- jsExecDQL
- jsGetActiveDocState
- jsGetVar
- jsGetCurrent
- jsGetDocumentState
- jsGetValue
- jsGetPRISMValue
- jsHide
- jsInt21
- jsLiveText
- jsLog
- jsMemoExecDQL
- jsMenuItem
- jsNewBlankForm
- jsOpenAppCat
- jsPrismDerivation
- runPrismFunction
- jsRefreshDocuments
- jsReorganize
- jsReorganizeAll
- jsRemoveClass
- jsSetFixedValue
- jsSetVarFromField
- jsSetValue
- jsSetVar
- jsSetCurrent
- jsSetWebField
- jsSetWebFieldFromVar
- jsShow
- jsToggle
- jsToggleClass
- makenewline
- SetCurrent
- SetValue
- SetVar
- startdebugger
- About decommon.js
- The loader
- calccaretpos
- decodequery
- generateid
- insertitem
- loadfilelist
- loadfile
- loadinternals
- message
- rundql
- runpage
- savefile
- selectitem
- testdql
- version
- .end
- .form header
- .form trailer
- .items
- assign
- application status
- backup db
- begin transaction
- break
- call menu
- call program
- case
- cluster by
- commit
- connect
- copy all from
- data-entry
- db status
- delete records
- define
- disconnect
- do
- documents
- exec SQL
- else
- end
- enter a record
- error messages off
- error messages on
- exit
- export
- for
- global
- if
- import
- imports
- in
- input using
- install application
- into
- list records
- lock
- lock db
- modify records
- message
- named
- others
- prompt
- query selection
- record entry
- records
- reorganize
- restore db
- rollback
- run procedure
- servers
- temp
- then
- tran off
- tran on
- unclustered
- unlock
- unlock db
- via form
- while
- with
- abs
- acos
- addressof
- ampm
- anylookup
- asin
- atan
- atan2
- ceil
- CHR
- concat
- ConsoleCopy
- ConsoleMemoCopy
- ConsoleShow
- ConsoleWriteToFile
- cos
- cosh
- date
- DatePicker
- day
- DEOS
- DialogOpen
- DialogOpenRelated
- DocumentCloseName
- DoesObjectExist
- ExecDQL
- ExecuteFile
- exp
- FileExecDQL
- firstc
- firstlast
- firstw
- FixedWidth
- floor
- futurevalue
- GetCurrent
- GetVar
- hours
- if
- installment
- jointext
- julian
- lastc
- lastfirst
- lastw
- length
- log
- log10
- lower
- MemoChunk
- MemoCopy
- MemoDecodePair
- MemoExecDQL
- MemoFind
- MemoGetGlobal
- MemoLength
- MemoMemoCopy
- MemoMemoReplace
- MemoReadFromFile
- MemoReplace
- MemoSetGlobal
- MemoStringBetween
- MemoStringFrom
- MemoStringTo
- MemoWordCount
- MemoWriteToFile
- midc
- midw
- minutes
- mod
- month
- OpenForm
- OpenMenu
- OpenProcedure
- OpenReport
- periods
- power
- presentvalue
- proper
- random
- rate
- RefreshForm
- RefreshScreen
- RefreshStatus
- Remote
- Remote authentication
- Remote POP3
- Remote IMAP
- Remote SMTP
- Remote XML
- seconds
- SetColor
- SetCurrent
- SetFocus
- SetLabelText
- SetMemoValue
- SetState
- SetStyle
- SetValue
- SetVar
- sin
- sinh
- spellcurrency
- spelldate
- spellmonth
- spellnumber
- spellweekday
- sqrt
- StringBetween
- StringEscape
- StringFind
- StringFrom
- StringReplace
- StringTo
- tan
- tanh
- textpos
- timeampm
- ToText
- UniqueID
- upper
- Wait
- weekday
- WriteToFile
- year
- yearday
- yearweek
- " (quotation marks)
- () (parentheses)
- + (addition)
- , (comma)
- - (subtraction)
- . (period)
- -- (comment)
- / (division)
- * (multiplication)
- * (asterisk)
- ? (question mark)
- ~ (tilde)
- : (colon)
- := (assignment operator)
- ; (semicolon)
- < (less than)
- <= (less than or equal to)
- = (equals)
- > (greater than)
- >= (greater than or equal to)
- all
- all files
- and
- any
- between
- blank
- count
- count of
- file
- highest of
- in groups
- in groups with group-totals
- in order
- in reverse
- item (Statistical)
- item (Conditional Statistical)
- lock files
- lock nothing
- lock records
- lookup
- lowest of
- max
- mean
- mean of
- min
- not
- number
- numeric string
- or
- pause
- percent
- selected record
- std.dev.
- std.err.
- sum
- sum of
- text
- time
- to
- variance
- window
- @GetDefinition
- . document
- . listcommands
- . listdocuments
- . listdrives
- . listfiles
- . listfunctions
- . listinternals
- . listoperators
- . listrelated
- . listtables
- . object
- . table
- . testdql
- @SetDefinition
- . document
- . object
Definition format
The data definition format is the same if you read, create or updates a table definition. There are a few extra when you update field definitions, like "newname" to support renaming of columns, "makedfordelete" : true for deleting a field and "newtablename" for renaming a table, but that is all. Below is lists for the different sections.
var tabledef = { "tdf": { "fdef": [ { "derived": "current date", "hasindex": "yes", "isreqired": "no", "isunique": "no", "isvirtual": "no", "name": "AddedDate", "preventedit": "yes", "readsec": "Low3", "type": "date", "writesec": "Low3" }, .... ], "tablecreatesecurity": "Medium3", "tabledeletesecurity": "Medium3", "tabledopreservedataonmodify": true, "tablehasencrypteddata": false, "tablemodifysecurity": "Medium3", "tableviewsecurity": "Low3", "tname": "Address" }
Structure of a definition
Few things to know about values
Since a most things in DataEase are written as string, we allow the same for values in the JSON. This is to ease settings and to be able to use the Remote JSON engine without resorting to Remote("@setvalue:bool","true") and the like. There for if you use a string with "yes", "true", "True", "1" etc. that all will bee seen as true in the definition. When definitions is returned, the will bee seen as "yes" as long as the server i not set to show true values. For number this means we support "100" (string value 100) as numbers as well.
Table part
The table definition part is the one you get from tableded["tdf"] without looking at the fdef array. The values has to do with security and ownership of the table.
newtname string used when you want to rename an existing table. Then old name is tname and new name is set in newtname (not implemented yet) prismuseisodatetime
(Read only)bool Tell user if server used ISO 8601 for date and time format. If so the server will send dates as YYYYMMDD to the user and accept YYYYMMDD and YYYY-MM-DD from the user. If false the server will use the format set by the operating system the server is running on. prismusenumber
(Read only)bool Read only. Read only value from prism, telling browser that we support number as values for number fields in this table. This means that server will serve numeric values as numbers (int or float) and expect the same back when creating or updating data. tablecreatesecurity int/string Low3-High. See own table for values. Default is Medium3. tabledeletesecurity int/string Low3-High. See own table for values.Default is Medium3. tabledopreservedataonmodify bool true or false if you want to keep current date/time when modify records are done or if you want prism to recalculate the current date/time. Default is true. tablehasencrypteddata bool true or false if data is/should be encrypted. Default is false. tablemodifysecurity int/string Low3-High. See own table for values.Default Medium3. tableviewsecurity int/string Low3-High. See own table for values. Default is Low3. tableownership int 0 = Not Owned, 1 = DFD, 2 = DFW. Default is 3. tname
(Read only)string Name of table when it exists. here
Field part
choices array A list of string that defines the choices decimals int
Number of decimals in fixed, float and money
derived string The derivation used when calculating values for this field (default none) format string The format used for numeric string (default none) hasindex bool If a index is used on the field (default no) isdeleted bool This is only used if we update a table and want to delete a field from the definition isreqired bool Tell if the field must have a value other than blank isunique bool Set if field must be unique or not (default no) isvirtual bool Is this field a calculated field only length int Length of the field. name string Used when you create a new field that do not exist to set the name of the field newname string Used to rename a exiting field to a new name preventedit bool Tell if the field should only be populated by formulas readsec Int/string Low3-High. See own table for values. rule string
The validation rule on the field type string/int The field type to use. There is a table explaining them further down writesec Int/string Low3-High. See own table for values. here
Security levels
High 1 The maximum level you can have Medium1 2 Medium2 3 Medium3 4 Low1 5 Low2 6 Low3 7 The lowest security level where you are still logged in. here
Field types
text 0 A text field with a fixed size numstring 1 A number with formatting integer 2 A number without decimals fixed 3 A number with a fixed number of decimals float 4 A floating point number that can have as many decimals as needed time 5 A time in the form HH:MM:SS date 6 A date money 7 A fixed number with formating bool 8 A yes/no choice 9 A fixed choice field that can have 0-255 different values memo 13 A memo field up to 2GB stored in a bin file and referenced in tdf here