Interactive SQL Help

The Interactive SQL capability in the IDE currently supports SELECT statements with a extended syntax for richly formatted results.

Interactive SQL Extended Syntax

<Select_Statement // Statement_Qualifiers>

STATEMENT qualifiers

Statement qualifiers follow a double slash '//' comment and are individually seperated by a single slash.

  • BREAK - Set Row break options for table
  • {NO}CACHE - Enable or disable SQL cache
  • CAPTION - Define a table caption
  • {NO}CODE - Display executable M code that implements SQL
  • COLS - Set global and class attributes for column qualifiers
  • {NO}DQMODE - Enable Data-Qwik natural join and Null value translation logic
  • {NO}DEBUG - Analyze or Debug a SELECT statement
  • MARKUP - Set the markup language to either HTML or TEXT (Default = HTML)
  • OUTPUT - Set output device to print results set
  • PAGE - Set number of lines per page before issuing form feed and heading reprints
  • {NO}PLAN - Display IO access plan score
  • ROWS - Set maximum number of rows to output (default = 1,000)
  • STYLE - Set table HTML styles (e.g., background-color:#FCFDFE) HTML mode only
  • TEMPLATE - Set format and style properties according to a pre-defined template (e.g., REPORT)
  • TITLE - Set heading title on top of column headings and enable standard heading format


COLUMN qualifiers ( SQLcolumnExpression {Column_Qualifiers} )

Column qualifiers are enclosed in brackets '{}' adter the column expression. Individual column qualifiers are seperated by commas.

  • ALIGN - Set alignment of value in cell to Left, Center, or Right
  • {NO}BREAK - Insert line breaks or page break if a column value changes from the last row
  • {NO}LENGTH - Set column field length for wrap option or suppress column if '0'
  • {NO}FORMAT - Set column format or mask (e.g., decimal-size:2;group-separator:',')
  • HEADING - Set column Heading
  • MATH - Column mat? ( AVG | COUNT | COUNT-LEAST | COUNT-MOST | LEAST | MAX | MED | MIN | MOST | SUM | UNIQUE )
  • MERGE - Merge column with prior column(s)
  • NULL - Replace Null value with supplied value
  • {NO}REPEAT - Suppress column if value is the same as previous row
  • {NO}SPACE - Set whitespace before next column (Text mode only)
  • {NO}STYLE - Set HTML style for column (e.g., color:red)
  • TITLE - Set column title for hover help (HTML mode only)
  • TYPE - Set column data type (TUFN$L)
  • {NO}WRAP - Set column overflow wrap option to {NO}WRAP (text mode only) or TRUNCATE

The values of the column qualifiers: ALIGN, FORMAT, LENGTH, HEADING, TITLE and TYPE default from the data dictionary (i.e., Data-Qwik).

Data formats default to masks associated with a column's initial data type (e.g., 'D' = MM/DD/YEAR). The mask is initialized to the runtime variables %MSKE, %MSKD, etc. These can be overridden at either the table level or the individual column level by changing the format property. Formatting can also be defeated completely (Raw data) at the table, class and individual column level.

SQL Syntax Extension

 
 SELECT ColumnList FROM tableList WHERE whereExpression // StatementQualifiers
 ColumnList :== SQLColumnExpression {ColumnQualifier{,...}} {,...}
 ColumnQualifier :== QualifierName=Properties{;...}
 QualifierName :== String format, String style, Number length, String wrap, 
 String merge, String align, String heading, String math, String type,
 Number space, Boolean repeat, String null, Boolean break
 Properties :== PropertyName:Value
 PropertyName :== String PropertyName
 Value :== Primitive Value

Optional column qualifiers are imbedded directly within SQL SELECT statements. They are declared by enclosing column qualifier expressions in brackets ({}) between SQL column expressions. Qualifier expressions are parsed out of the SQL expression before the SQL expression is processed by the SQL engine or SQL API (e.g., JDBC).

The qualifiers BREAK, FORMAT, LENGTH, REPEAT, SPACE, STYLE, and WRAP can either be prefixed by the string 'no' or assigned a value of 'none'; which will disable the qualifier. (e.g., NOFORMAT and FORMAT = 'none' will disable all formatting for a column and display the raw value from within the results row.)

Example

select class, method, parameters{heading=Format Parameters, style=color:red},des from objectmet 

Would override the dictionary default column heading for the column 'parameters' and display the text in Red.

Implementation notes

Default values for STATEMENT expression qualifiers ( preceded by // after SELECT expression)

  • BREAK = no
  • CACHE = yes (Note: CACHE = no if PLAN = yes)
  • CAPTION = Null
  • CODE = no
  • COLS = no
  • DEBUG = no
  • OUTPUT = Current browser window
  • MARKUP = 'HTML'
  • PAGE = no
  • PLAN = no
  • ROWS = 1000 (Can be extended but may fail if output exceeds 1MB)
  • TEMPLATE = Null
  • TITLE = Null
  • STYLE = Table style properties default to the following values
 border-width:1px
 padding:2px
 border-spacing:
 border-style:inset
 border-color:#788cb3
 border-collapse:collapse
 background-color:#FCFDFE
 font-family:Verdana
 font-size:80%
 alt-row-color:#E0FFD9
 currency-minus-color:red 


Default values for COLUMN qualifiers ( enclosed in brackets {} after a column expression )

  • LENGTH = Dictionary default for column
  • WRAP = yes (Text mode only, ignored for HTML mode unless 'truncate')
  • FORMAT = Table and class FORMAT defaults (includes display masks and decimal size)
  • ALIGN = Right if column is Currency or Number, Center if Boolean, otherwise Left
  • HEADING = Dictionary default from DBTBL1D.RHD
  • MATH = Null
  • MERGE = No
  • TITLE = Dictionary default (composite: DBTBL1D.DI _ DBTBL1D.TYP _ DBTBL1D.DES _ DBTBL1D.TBL)
  • TYPE = Dictionary default (List: ',ドルB,C,D,F,L,M,T,U')
  • SPACE = 2 (Text mode only)
  • STYLE = Table defaults
  • REPEAT = Yes
  • NULL = Null
  • BREAK = No

Column qualifier detail

  • BREAK - Break can be set to an integer between 0 and 10 or the literal 'page'. If multiple columns are set to BREAK, will insert the number of line feeds indicated by the highest column value. Setting the value to 'page' will generate a page feed (form feed, title and heading) when the column value changes. Generally, columns that include the BREAK qualifier should be placed at the beginning of the column list. This qualifier is typically used for key column breaks, or when column values are placed into the page titles.
  • FORMAT - This qualifier describes the output mask or formatting rules that are applied to the underlying raw data. For Currency, Date, Number, Logical and Time column classes, the format will default to configuration parameters. Formats can be set for an entire class with the /COLS table qualifier ( e.g., /Currency.format=decimal-size:2 ) or within an individual column ( e.g., DEP.TLD{format="year/mm/dd"} ).

The Number and Currency classes include the following format options:

decimal-size: <default to schema>
decimal-seperator: <default to configuration or ".")
group-size: <default to 3>
group-seperator: <default to configuration or ",")

- The Date class defaults to configuration or "MM/DD/YEAR"

- The Time class defaults to configuration or "12:60 AM"

- The Logical Class dafaults to configuration or "NY"

- The String, Upper and Memo class supports format masks that implement HTML elements. the "URL" mask output the column value as a hyperlink (value=URL), the "IMAGE" mask outputs an image (value=URL) and "HTML " outputs raw HTML (value=HTML markup).

Formatting can be disabled by setting the format qualifier to either noformat or format = none

Notes

a. When entering formats for the Number and Currency class, the syntax must follow the format=property:value; pattern. When entering masks for the other classes, the correct syntax is: format=mask.

b. To disable formatting for the entire table, enter /COLS=.noformat in the table qualifiers. To disable formatting for a specific class enter /COLS=className.noformat in the table qualifiers.

  • HEADING - The column heading can be entered in plain text (default) or in HTML markup. To specify HTML, the heading qualifier must be followed by a space and the text html (i.e., {heading html=<img src=http_Reference>}). If the heading is enterd as html markup, all html characters must be propery 'escaped' (e.g., < = &lt;) or the browser may not render the heading correctly.

Individual column headings can be disabled by setting the heading qualifier to noheading or heading = 'none'

  • LENGTH - NOLENGTH or LENGTH='0' can be specified to suppress the output of the column. This option can be used in combination with table titles and column breaks to display key columns in headings.
  • NULL - Replaced a Null value for the column with a specified value. Since the replacement occurs prior to the execution of the MATH functions, the replacement value will be included in the results.
  • MATH - Ignores all null values within all functions (unless changed with NULL qualifier). However, math functions will include values for rows that have output suppressed by the REPEAT qualifier.
  • REPEAT - To avoid ambiguity between Null values that result from the REPEAT qualifir and underlying actual Null values, set the Null qualifier if database may contain actual Null values for the column
  • STYLE - HTML mode only, can contain any valid HTML Style property
  • WRAP - Text mode only. If WRAP is enabled a single character overflow will intrude one character into the space between columns if necessary to avoid a single character overflow. If a SELECT statement contains a column that typically overflows the default display length (e.g., OBJECTMET.PROPERTIES) it may make sense to place that column last in the select expression and set the qualifier to NOWRAP.

Table Titles

In addition to column headings and table captions, a title can be specified for the a table with the /TITLE='Expression' qualifier. A title is typically used to display a report name, directory name, date and time, other optional runtime or table values, and page numbers. Titles are enclosed within the table headings and are displayed at every page break along with column headings. In contrast, captions which outside of the table boundaries and are displayed once at the beginning of the table.

If specified, a title appears within the table boundaries and is contained within a heading group with the individual column headings. The title spans across all of the columns in the table. The title displays the contents of the /TITLE table qualifier, and the directory {company} name (CUVAR.CONAM) along with the system date (%SystemDate) and Current Date (%CurrentDate) and time Current Time (%CurrentTime). If a page break value is specified (/PAGE= 'NumberLines'), the title will also include the current page number.

Variable Insertion in Titles

Through variable insertion, it is also possible to include and format current row (column) data and other runtime values into the title. Including column data into the title when combined with the column properties /break = page and /nolength provides an elegant presentation option for key columns that change infrequently.

The syntax for inserting a column or runtime variable into a title is to prefix the column name or position or variable name with a colon, and enclose it with the greater than and less than symbol, e.g., <:columnReference|variable>. A column reference can be either the column position (e.g., <:1>) or a table.column reference (e.g.,? <:objectmet.class>)

Variable references can include any PSL variable / keyword from within the following list:

Number %ClientVersionID, String %CompanyName, Date %CurrentDate, Time %CurrentTime, Date %EffectiveDate, 
String %Identifier, Number %ProcessID, String %RoutineName, String %ServerChannelID, String %SessionID, 
String %SystemCurrency, Date %SystemDate, String %UserClass, String %UserID, String %UserName, 
String %UserStation, String %VersionID

Data type declarations, formatting and HTML Styles can also be applied to variables by including the Format and Style properties in the variable expression as follows: <:columnReference|variable {Format=ColumnFormat} {Style=ColumnStyle}> For example, the following expression would display a heading with the values for columns dep.cls and dep.grp imbedded and rendered in a red font.

/heading='Account Listing for Class: <:dep.cls style=color:red> and Group <:dep.grp style=color:red>'

Enhanced Wildcard Selection

SQL provides a wildcard character ('*') that can be used to select all of the columns within a table. This capability has been extended to provide filters on the columns that are selected from a table.

  • LIST - Selects the columns specified in DBTBL1.DFTHDR or the column that is contained in the DESCRIPTION string (e.g., DES, DESC). The Primary keys of the table are also always included in the selection. This wildcard option is useful for simple list of table table rows that contain a description column.
  • "<selectionQuery>" - Selects all the columns specified by the selection query which is applied to the table DBTBL1D. For example: select *"nod in (50,51) and typ = 'D'" from DEP selects all the Date data type columns mapped to nodes 50 and 51 from the DEP table. The selection query is entered in SQL syntax itself, and can include any columns from the DBTBL1D table and any valid SQL where clause syntax.

Sample HTML Results

By default the Interactive SQL interpreter uses HTML to markup the results.

Example #1

Statement

select cls{break=page,nolength},
 grp{break=page,nolength},
 type{break},
 cid,
 lnm,
 bal{math=sum;avg, format=decimal-size:2},
 balavl,
 tld 
 from dep
 order by cls,grp,type,lnm,cid
 // rows=30/template=report
 /title=Account Listing for Class: <:dep.cls style=color:red> and Group <:dep.grp style=color:red>

Results

HTML Formatted Interactive SQL results

Sample Text Results

Sample results (there are three examples below, each demonstrating different features of the SELECT browser.

Example #1

Demonstrates the use of MATH functions, headings, format and null value replacement.

Note: The different unique count in columns #5 and #6, due to the replacement of Nulls in column #6. Column #4 is a good example of Unique.

Note: The headings in quotes preserved original upper/lower case, while unquoted values were converted to uppercase. Also, the last heading was split into two lines since it contained the '@' character.

Note: The second column (SUM) was formatted with the Data-Qwik E option, inserting commas into the numbers.

Note: DEP.BAL is defined as three decimal precision in this directory.


Input

SELECT CID{math=unique}, LNM{length=10,wrap=2,math=unique}, bal{math=sum,heading=sum}, bal{math=avg,heading=average}, 
bal{math=count,heading=count}, bal{math=unique,null=0,heading='Unique Balances'} from dep //rows=10/template=report


Results


Console> %PSL-Runtime: .005691 Seconds
 Account Report Unique
 Number Short Name SUM AVERAGE COUNT Balances
------------ ---------- --------------- --------------- --------------- ---------------
 6 HOERR,BRUC 10,236.990 10236.990 10236.990 10236.990
 7 HOERR,BRUC 17,901.510 17901.510 17901.510 17901.510
 8 HOERR,BRUC 210.000 210.000 210.000 210.000
 9 HOERR,BRUC 0.000
 45 HOERR,BRUC 7,200.000 7200.000 7200.000 7200.000
 55 SRIVASTAVA 100,000.000 100000.000 100000.000 100000.000
 56 SRIVASTAVA 2,574.000 2574.000 2574.000 2574.000
 68 HOERR,BRUC 0.000
 71 SANCHEZ,FR 180.000 180.000 180.000 180.000
 76 SCHWARTZ,C 12,420.000 12420.000 12420.000 12420.000
============ ========== =============== =============== =============== ===============
 10 4 150,722.500 18840.313 8 9
Complete :> 10 rows processed.

Example #2

Demonstrates the use of the 'break', 'repeat' and /PAGE options.

Note: Even if norepeat is enabled, all columns will print on the first line after a page break.

Input

SELECT class{break},method from objectmet//cache/rows=99/PAGE=10

Output

Console> %PSL-Runtime: .01222 Seconds
 Class Method
 ------------ --------------
 ByteString ascii
 extract
 find
 justify
 length
 piece
 toPSLExpression
 translate
 Class Method
 ------------ --------------
 Cache getRecord
 isDefined
 Class isAncestor
 isClass
 isDescendant
 isValid
 new
 Class Method
 ------------ --------------
 Date day
 dayOfMonth
 dayOfYear
 daysInMonth
 daysToEOY
 isBusDate
 isLeapYear
 month
 Class Method
 ------------ --------------
 Date monthOfYear
 nextBusDate
 nextFreqDate
 prevBusDate
 toString
 year
 Db currVal
 Class Method
 ------------ --------------
 Db delete
 fastDelete
 getOneRow
 getRecord
 getSchemaColumn
 getSchemaTable
 insert
 isDefined
 Class Method 
 ----------- --------------
 Db isSchemaColumn
 isSchemaTable
 nextKey
 nextVal
 prevKey
 prevVal
 select
 selectDbSet
 Class Method
 ------------ --------------
 Db update
 DbSet getRecord
 isEmpty
 next
 HTML addAttrib
 addCol
 Class Method
 ------------ --------------
 HTML addElement
 addList
 addProp
 addRow
 addString
 addTitle
 IO close
 Class Method
 ------------ --------------
 IO open
 read
 write
 List add
 contains
 count
 elementAt
 Class Method
 ------------ --------------
 List position
 sort
 Number byte
 char
 fnumber
 random
 roundCur
 Class Method
 ------------ --------------
 Number roundDec
 toString
 zero 
 Object data
 exists
 getClass
 isPrimitive
 Class Method
 ------------ --------------
 Object order
 query 
 PSL actual
 addSetting
 addSubrou
 cachePSLColumn
 cachePSLTable
 Class Method
 ------------ --------------
 PSL error
 getDbLoad
 getLabelRecord
 getPSLColumn
 getPSLTable
 getSetting
 hasSetting
 insertLine
 
 Class Method
 ------------ --------------
 PSL isRecord
 mExpr
 newVariable
 openBuffer
 Complete :> 99 rows processed.

Example #3

Demonstrates the use of the break and wrap options. Also demonstrates the use of the /CODE option to display the M database code.


Note: Column #2 is truncated, while #1 and #3 wrap

Input

SELECT class{break,math=unique}, method,des{length=40,wrap=truncate}, parameters{length=50} from objectmet //code

Output

Console> %PSL-Runtime: .011288 Seconds

Line Executable code
---- --------------------------------------------------------------------------
 1 S vsql(1)=""
 2 S vsql(1)=$O(^OBJECT(vsql(1)),1) I vsql(1)="" S vsql=-1
 3 S vsql(2)=""
 4 S vsql(2)=$O(^OBJECT(vsql(1),1,vsql(2)),1) I vsql(2)="" S vsql=1
 5 S vsql(3)=$G(^OBJECT(vsql(1),1,vsql(2)))
 6 S vd=$S(vsql(1)=$C(254):"",1:vsql(1))_$C(9)_$S(vsql(2)=$C(254):"",1:vsql(2))_$C(9)_$P(vsql(3),"|",4)_$C(9)_$P(vsql(3),"|",2)</nowiki>
Data Key Value
 -------- ---------------------------------
 0 "4"
 1 ""
 2 ""
 3 ""
 A ""
 D "T0T0T0T0"
 F "||MM/DD/YEAR||||"
 I "OBJECTMET"
 K "2"
 P "4"
Class Method Description Formal Parameters
------------ -------------- ---------------------------------------- --------------------------------------------------
ByteString ascii ASCII code of byte at specified pos lo?al Number position
 extract Extract a bytestring local Number start,local Number end
 find Find the next position of a bytestring local ByteString string,local Number start
 justify Justify a bytestring local Number fieldLength
 length String length local ByteString delimiter
 piece Return bytestring at delimited position local ByteString delimiter,local Number start,
 local Number end
 toPSLExpression translate literal value to PSL expressio
 translate Byte by byte replace local ByteString lookFor,local ByteString replaceBy
Cache getRecord Get RecordTABLE object from Cache literal String table,String KeyExpr,literal 
 Boolean classNew
 isDefined Check if RecordTABLE row exists using Ca literal String table,String KeyExpr
Class isAncestor Is Name1 an ancestor of Name2 String ancestorName,String descendantName
 isClass Does className exist in OBJECT table String className
 isDescendant Is Name1 a descendant of Name2 String descendantName,String ancestorName
 isValid Does className exist in OBJECT table Reference instance
 new Create a new instance of class literal String Class,Object initObj
Date day 2 digit day of month
 dayOfMonth Numeric day of the month
 dayOfYear Day of the year
 daysInMonth Number of days in Month
 daysToEOY Days to the end of the year
 isBusDate Date is a business date in calendar local String Calendar
 isLeapYear Leap Year
 month 2 digit month of year
 monthOfYear Numeric month of year
 nextBusDate Next business date for calendar local Number numberDays,local String Calendar
 nextFreqDate Next frequency date local String frequency,public Number AF,local 
 String control
 prevBusDate Previous business date for calendar local Number numberDays,local String Calendar
 toString Convert Date to String local String DateMask
 year Year (4 digit)
Db currVal Return highest key value literal String table,String KeyExpr
 delete Delete records (SQL format) literal String table,local String where,local 
 String PSQLqualifiers
 fastDelete Delete multiple records literal String table,String KeyExpr
 getOneRow Select one row of data from a table String select,String table,String keys,String delim
 getRecord Retrieve a recordTABLE from the database literal String table,String KeyExpr,literal 
 Boolean ClassNew
 getSchemaColumn Return a PSL column descriptor local String table, local String column
 getSchemaTable Return a PSL table descriptor local String table
 insert Insert a new record (SQL format) String table,String columns,String values,String 
 PSQLqualifiers
 isDefined Returns whether reference is defined literal String from,literal String where,loca? 
 Number match
 isSchemaColumn Is table.column a valid column name? local String table, local String column
 isSchemaTable Is table a valid table name? local String table
 nextKey Return next key value literal String table,String KeyExpr
 nextVal Return highest key value + 1 literal String table,String KeyExpr
 prevKey Return previous key value literal String table,String KeyExpr
 prevVal Return prior key value literal String table,String KeyExpr
 select Create a Result set local String select,local String from,local 
 String where,local String orderby,local String 
 groupby,local String PSQLparams
 selectDbSet Create a set of Records literal String table,local String where,local 
 String orderby
 update Update records (SQL format) String table,String columns,String where,String 
 PSQLqualifiers
DbSet getRecord Return current record literal String table
 isEmpty Return boolean state of results set
 next Position cursor to the next row
HTML addAttrib Add column attributes String element,String attributes
 addCol Add Column form resultset to XML documen ResultSet rs,String col
 addElement Add Element line to XML DTD String element,String attributes
 addList Add a matching list (columns+values) XML literal String element,literal String columnlist,
 String valuelist,String delim
 addProp Add individual column and value to XML String column,String value
 addRow Add results row with tags String element,ResultSet rs
 addString Add string to XML format (clsoe or open) String string,literal Boolean close
 addTitle Add XML title to header String title
IO close Close Device
 open Open IO
 read Reads a record from device public String ErrorType
 write Write record local String Record,local String EOL
List add Add a value to a list local String expr,local String delimiter,local 
 Boolean allowDuplicate,local Boolean inOrder
 contains List contains expression String expr,String delimiter,Boolean ignoreCase
 count Number of elements in list local String delimiter,local Boolean noDuplicates
 elementAt Return individual element of List local Number position,local String delimiter
 position Ordinal position in the list local String expr,local String delimiter,local 
 Boolean ignoreCase
 sort Sort the elements in a list local String delimiter,local Boolean allowDuplicate
Number byte return single byte represented by number
 char return character represented by number
 fnumber Format (and round) a number ? local String format,local Number decimals
 random Return pseudo-random number in {0,val-1}
 roundCur Round an amount to currency local String crcd,local String roundOption,local 
 Number justify
 roundDec Round an amount to decimal local Number decimal,local String roundOption,
 local Number justify
 toString Format a number local Number decimal,local String formatMask
 zero Zero fill a number local Number length,local Number decimal,local 
 Boolean implied,local Number sign
Object data Return object exists / is array
 exists Return object exists
 getClass Return object class
 isPrimitive Class is a primitive class
 order Next or previous subscript in array local Number direction
 query Name of next node in array
PSL actual actual() array as 'property' Number sub
 addSetting Add or modify a PSL compiler setting local String section,local String ident,local 
 Primitive value
 addSubrou Add a subroutine to the module local String Name,local List parameters,local 
 String comment,local Boolean new
 cachePSLColumn Cache and return a PSL column descriptor PSLColumn cache(), local String qcn, PSLTable 
 tCache()
 cachePSLTable Cache and return a PSL table descriptor PSLTable cache(), local String table, local 
 Number level
 error Output a PSL compile-time error String errorText
 getDbLoad Return Record map header local String subRou,local String var,local Number 
 instPtr
 getLabelRecord Return a PSL subroutine label record String subrou
 getPSLColumn Return a PSL column descriptor local String table, local String column, 
 SchemaTable stCache()
 getPSLTable Return a PSL table descriptor local String table,local Number level
 getSetting Return a PSL compiler setting (defaults local String section,local String ident
 hasSetting Does PSL compiler setting exist? local String section,local String ident
 insertLine Insert a line of code local String PSLCode,local Number line,local 
 Number level
 isRecord Record class is ancestor of class local String class
 mExpr Convert a PSL string to an M string local String psl
 newVariable Generate a new variable name
 openBuffer Open a new PSL buffer local List parameters,local String comment
 patch Replace expression with backpatch token local String expression
 subrouExists Subroutine exists in current module local String name
 warn Output a PSL compile-time warning local String warning
PSLBuffer add Add a line of PSL code to the buffer local String code
 insert ? insert PSL subroutine into current code local String name, local String resultClass
PSLColumn getClass column's dataType as PSL class
 getCurrentExpr expression to retrieve(0)/set(1) column local PSLIdentifier rec,local Boolean bLeft
 getCurrentLvn local variable containing column's value local PSLIdentifier rec
 getCurrentNode Node containing column's value local Boolean bQuoted
 getOldExpr expr to retrieve(0)/set(1) column.oldVal local PSLIdentifier rec,local Boolean bLeft
 getOldLvn local variable containing column.oldVal local PSLIdentifier rec
 getOldNode Node containing column.oldVal local Boolean bQuoted
 getPurposeNode purpose Id of node containing the column
 getUpdateCode code to update column value local PSLIdentifier rec,local PSLExpression value,
 local Number mode
PSLExpression fitsLineLength does expression + extra space fit M line local Number extra
 isArray Expression is an array
 isLiteral Expression is literal
 isVariable Expression is a variable
 toValue Reduce expression to constant
PSLIdentifier optimize Reference object can be post optimized
PSLSubrou addCode Add a line of M code the buffer local String code
 addExe Add a line of code from exe() the buffer local String code
 addLvn Add a vsql() replacement for addExe() to local Number nr,local String expr
 addTag Add a tag(number) for addExe() to the su local Number nr,local String code
 getCode Get M code at specified line local Number line
 getLine Get highest linenumber of the subroutine
 getLvn Get vsql() replacement value local Number lvn
 getLvnMax Get highest vsql() replacement number of
 getTag Get the tag for a subscript in exe() local Number tag
 getTagMax Get highest tag number of the subroutine
 getTagPrefix Get the tag prefix for addExe()
 insCode Insert M code at specified line local Number line,local String Code
 setTagPrefix Set the tag prefix for addExe() local String prefix
PSLTable assertLevel Assert a PSLTable instance with minimum local Number level, PSLColumn cache()
 getArchivable Is table valid to be archived
 getArchiveIncl Get tables included with this when archi
 uded
 getArchiveKey Get archive key number local Boolean forArch
 getArchiveSubs Get archive sub-tables
 getArchiveTable Get primary archive table
 getFilerLogic Filer logic that needs to be processed local String operation,local PSLExpression 
 qualExp,local Boolean isPslExp
 getLoadCode M code to load data node local PSLIdentifier rec,local String node,local 
 Number mode,local Boolean exists,public String 
 lvpm()
 getNewCode M code instantiate new Record local PSLIdentifier rec,local PSLExpression mode
 getQuery Get table query
 getSaveCode M code to save data node local PSLIdentifier rec,local String node,local 
 Number mode,local String lvpm(),local PSLColumn 
 ? rdbCol()
 getUpdateKey M code to safe current key for UPDATE local PSLIdentifier rec,local String lvpm()
 isOneNode table uses single node in internal stora
 isParent Table is parent table
Primitive get The primitive's value or a default value Primitive default
 isNull Expression is NULL literal Boolean isIncludeEmptyQuotes
Record bypassSave Database save, bypass triggers
 compare Compare and report differences local Record object2
 copy Copy object local String colmap
 fromArchive Check if record loaded from archive
 fromArray Copy M array into object properties literal String Array,literal String Keys
 getMode Return Record Mode
 getTable Return table represented by this record
 isChanged Check if the Column has Changed local String column,local String useagetype
 overlay New record overlay fields String array()
 save Save a record to the database local String Filerqualifiers
 setAuditFlag Set update history flag literal Boolean state
 setCreateOnly Allow create mode only
 setMode Set Record Mode local Number Mode
 setUpdateOnly Allow update mode only
 toArray Copy object properties into M array literal String Array,literal String Keys
 toString Copy object
RecordACN renew Loan/Deposit renewal String keys
RecordCIF default New Cif account defaults form product String key
RecordDEP default Deposit new account default method String keys
 renew Loan/Deposit renewal String keys
RecordLN default Loan new account product defaults String keys
 renew Loan/Deposit renewal String keys
Reference copy Copy Reference class instance
 equals Compare two reference objects Reference cmp
 getPointer Return pointer to reference object
 getStoredValue Return a process scope value from object local String tag
 setStoredValue Store a process scope value in an object local String tag,local String value
 toString Return string representation of object
ResultSet getCol Return column value from results row local Primitive colRef
 getColProt Return column protection local Primitive colRef
 getRow Return current results row local String delimiter,local List columnList
 getRowProt Return row protection
 isEmpty Return boolean state of results set
 next Position cursor to the next row
Row getColumns Get the properties of a Row object
 getDelimiter Get the row delimiter
 setColumns Set the properties of a Row object local List Properties
 setDelimiter Set the row delimiter local String delimiter
 toRecord Copy a Row object to a Record object local Record identifier,local String columnMap
 toString Convert a Row object to a String local String colDel,local String quoChar,local 
 String fmtDate,local String fmtTime,local String 
 fmtBool
RowSet beforeFirst Position RowSet before first Row
 ? getRow Return current row
 isEmpty Return if RowSet is empty
 loadFromFile Load RowSet from file local String directory,local String filename,
 local String filetype
 next Position rowset at the next row
Runtime charset Character set
 commit Commit TP fence
 delErrXBAD XBAD error object,errcode
 delayCommit Call subroutine with delayed commits literal String entryref
 rollback Tp Rollback to the start of a fence Startptr
 setErrMSG Message Table Error object,msgnum,variable
 setErrSTBLER Application Error object,errcode
 setErrXBAD XBAD error object,errcode,column,curval,altval
 start Start TP fence Tranid,varlist,stat
Schema createTable Create temporary table schema String table,String keyexpr,String columnList,
 String globalName
 deleteTable Delete table schema String table
 getTableName Return a table name for a RecordClass String class
 getTableRecord Return a Data-Qwik table record String table
String addQuotes Add one layer of quotes local String character
 ascii ASCII code of character at specified pos local Number position
 beginsWith Begins with string local String string,local Boolean ignoreCase
 blank Pad a string with blanks local Number fieldLength, local Boolean 
 rightJustify
 byteLimitSubst substring of at most maxBytes bytes local Number start, local Number maxBytes
 ring
 complexUnpack Complex unpack of data string local Number length,local Boolean signed,local 
 Boolean leftnib
 contains Contains a string local String string
 endsWith Ends with string local String string,local Boolean ignoreCase
 extract Extract a string local Number start,local Number end
 find Find the next position of a string local String string,local Number start,local 
 Boolean ignoreCase,local String quoteChar
 follows Follows a string local String string
 getSub Return a sub-delimited or labeled string local String label,local String delimiter1,local 
 String delimiter2,local Number position
 insert Insert a string into a string local String string,local Number offSet,local 
 String padCharacter,local Boolean displace
 isInteger Is an integer
 isLike Is like (SQL like) local String likeExpr,local Boolean ignoreCase
 isLiteral Is a literal value - quoted or number
 isNumber Is a number
 justify Justify and pad a string local Number fieldLength,local Number direction,
 local String padCharacter,local Boolean truncate?
 length String length local String delimiter
 lowerCase Convert to lower case local Boolean capitalizeFirstChar
 piece Return string at delimited position local String delimiter,local Number start,local 
 Number end,local String quoteChar
 putSub Insert a sub-delimited or tagged string local String insert,local String label,local 
 String delimiter1,local String delimiter2,local 
 Number position
 replace Replace occurrances of expr1 with expr2 local String expr1,local String expr2,local 
 Number count,local Boolean ignoreCase,local 
 String quoteChar
 reverse Reverse the character order
 stripQuotes Strip one layer of quotes local String quoteCharacter
 toByteString Convert String to ByteString
 toDate Convert formatted date to julien date local String mask
 toNumber Convert String to Number local String mask,local Boolean stripSpace
 toRow Convert a String type to a Row type local List elements,local String delimiter
 toTime Convert formatted to internal time
 translate Character by character replace local String lookFor,local String replaceBy
 trim Trim characters from a String local Number Option,local String character
 unpack Unpacks data string local Number length
 upperCase Convert to upper case
Time toString Convert Time to String local String TimeMask
TranSet copyTran Copy transaction to TranSet local RecordTTX ttx,String colRefs(),local Number 
 tranSeq,local String secTran
 getTran Get transaction from TranSet local Number Sequence
 postTSet Post TranSet PostDate,Branch,PostParam,TranArr
============
 33
Complete :> 244 rows processed.

AltStyle によって変換されたページ (->オリジナル) /