Add a button row to the main window alignment$ options: left, center, right, between, around, even
Add a button row to the main window with buttons aligned in the center
Add a button row to the main window align% options: 0=left, 1=center, 2=right, 3=space-between, 4=space-around, 5=space-evenly
Add a button row to specified window with buttons aligned in the center typically needed for a grid navigation buttons
Add a button row to the main window alignment$ options: left, center, right, between, around, even
Add a button row to the main window with buttons aligned in the center
Add a button row to the main window align% options: 0=left, 1=center, 2=right, 3=space-between, 4=space-around, 5=space-evenly
Add a button row to specified window with buttons aligned in the center typically needed for a grid navigation buttons
Add window without heading for controls distributed along rows
Add window with heading for controls distributed along rows
Add window without heading for controls distributed along rows
Add window with heading for controls distributed along rows
Add a GridExWidget and enable optional ROW_SELECT callback Pass controlsHeight% as pixels above the grid that cannot be used for Grid
Add a GridExWidget and enable optional ROW_SELECT callback Pass controlsHeight% as pixels above the grid that cannot be used for Grid
BBj REV 26 GridEx methods Create a GridExWidget with maximum size in the parent window
Create a GridExWidget with specified width and/or height in the parent window
Create a GridExWidget with elapsed time based on the starting time provided. Useful to include DTGrid building time Width and/or height can be passed as zero to maximize grid size
Add GridEx button with style based on button text
Add GridEx button with specified style class
Create a child window that occupies the full area of the main window for use with GridExWidget
Create a child window that occupies the full area of the main window for use with GridExWidget
Adds the specified header to the request.
Add heading text to the main window
Add heading text to a specified window, uses DWCformHeading style class
Add heading text to the main window
Add heading text to a specified window, uses DWCformHeading style class
Add a clickable URL annotation to a rectangle on a page. Used for Dynamo Invoice to make shipping tracking numbers clickable in the PDF.
Use this method when the main window will contain child windows for controls, buttons, etc. Use #dwc!.show() to display initially invisible window
Short for direction=column, wrap, justify=start, align=start, no gaps or padding, with Close Button Use this method when the main window will contain child windows for controls, buttons, etc. Use #dwc!.show() to display initially invisible window
Short for direction=column, wrap, justify=start, align=start, no gaps or padding, with optional Close Button Use this method when the main window will contain child windows for controls, buttons, etc. Use #dwc!.show() to display initially invisible window
Use this method when the main window will contain child windows for controls, buttons, etc. Use #dwc!.show() to display initially invisible window
Short for direction=column, wrap, justify=start, align=start, no gaps or padding, with Close Button Use this method when the main window will contain child windows for controls, buttons, etc. Use #dwc!.show() to display initially invisible window
Short for direction=column, wrap, justify=start, align=start, no gaps or padding, with optional Close Button Use this method when the main window will contain child windows for controls, buttons, etc. Use #dwc!.show() to display initially invisible window
Add a maximized TopLevelWindow, suitable for a GridExWidget control Displays application menu name in title bar and includes callback to close the application Use #dwc!.show() to display initially invisible window
Add a maximized TopLevelWindow, suitable for a GridExWidget control Use #dwc!.show() to display initially invisible window
Add a maximized TopLevelWindow with option to include Close Button that ends DWC app Use #dwc!.show() to display initially invisible window
Add a maximized TopLevelWindow, suitable for a GridExWidget control Displays application menu name in title bar and includes callback to close the application Use #dwc!.show() to display initially invisible window
Add a maximized TopLevelWindow, suitable for a GridExWidget control Use #dwc!.show() to display initially invisible window
Add a maximized TopLevelWindow with option to include Close Button that ends DWC app Use #dwc!.show() to display initially invisible window
Use this method when there will not be any child windows. All controls will be presented in a column with one control per row. Use #dwc!.show() to display initially invisible window
Use this method when there will not be any child windows. All controls will be presented in a column with one control per row. Use #dwc!.show() to display initially invisible window
Add progress bar to specified window, uses DWCprogressBar style class maximum% can be zero initialText$ can be null
Add progress bar to specified window, uses DWCprogressBar style class maximum% can be zero initialText$ can be null
Return the plural of a word based on a numeric value.
?DT.addS("order", 10)
?DT.addS("order", 1)
Orders
Order
Returns a string showing quantity and text as plural when quantity is greater than 1.
?DT.addS(1234, "Order") ?DT.addS(1, "Order")
1, 234 Orders 1 Order
Add window without heading for controls distributed in a column
Add window with heading for controls distributed in a column
Add window without heading for controls distributed in a column
Add window with heading for controls distributed in a column
Add non-flex child window with optional bottom margin
Appends key and value to query string.
?DT.appendQueryString("/dt/payment/charge", "mode", "card-not-present")
?DT.appendQueryString("/dt/payment/charge?mode=card-not-present", "amount", "100.00")
?DT.appendQueryString("/dt/payment/charge?mode=card-not-present&amount=100.00", "status", "4")
/dt/payment/charge?mode=card-not-present
/dt/payment/charge?mode=card-not-present&amount=100.00
/dt/payment/charge?mode=card-not-present&amount=100.00&status=4
Append map of keys and values to query string (without url encoding).
map! = new java.util.HashMap()
map!.put("mode", "card-not-present")
map!.put("amount", 100.00)
map!.put("success", Boolean.TRUE)
?DT.appendQueryString("/dt/payment/charge", map!)
/dt/payment/charge?mode=card-not-present&amount=100.00&success=true
Append map of keys and values to query string with optional url encoding.
map! = new java.util.HashMap()
map!.put("mode", "card-not-present")
map!.put("amount", 100.00)
map!.put("success", Boolean.TRUE)
?DT.appendQueryString("/dt/payment/charge", map!, Boolean.TRUE)
/dt/payment/charge?mode=card-not-present&amount=100.00&success=true
Decode and store large base64 string in file
Convert text to readable format.
Returns non-printable characters less $20$ and $7f$ in [TXT] format. Returns non-printable characters greater than $7f$ in [$ hex $] format.
?DT.bin2Text($0102030405$ + "12345" + $7f808182$) [SOH][STX][ETX][EOT][ENQ]12345[DEL][$80$][$81$][$82$]
Log text to client side log file.
For BBj Desktop App's, the client log file is located at /Users/{USERID}/{APPID}/log/{APPID}_{USERID}.out, i.e., C:\Users\len\Dynamo\log\Dynamo_len.out
This method is called when the main window is closed using the X icon in the upper right corner of the main window. It will:
This method will:
This method will:
This method will:
This method is called when the main window is closed using the X icon in the upper right corner of the main window. It will:
This method will:
This method will:
This method will:
Explicitly closes the response once necessary information has been retrieved.
Close delete confirmation dialog when user selects "No"
Close delete confirmation dialog when user selects "No"
Excellware colors
A payload of data to be sent with the request. This is often used with POST and PUT and can be the contents of a form that the user submitted. Or a file that is to be uploaded to the webserver.
This method allows to convert a date / type passed as a string to another time zone and / or to another date / time pattern
This method allows to convert a date / type passed as a string to another time zone and / or to another date / time pattern
simulate 'cp' on SYSWINDOW with 132 cols
Creates an HttpRequestBase object from the fields of this object.
Mask currency amount with commas and cents.
?DT.currencyToString(1234.5) 1, 234.50
Prompt user to confirm deletion with Yes/No options
Prompt user to confirm deletion with Yes/No options
Prevent all cells in BBjGrid from receiving focus via tab key or mouse
Prevent all cells in BBjGrid except specified column from receiving focus via tab key or mouse
Prevent all cells in BBjGrid from receiving focus via tab key or mouse
Prevent all cells in BBjGrid except specified column from receiving focus via tab key or mouse
Display html string
Uses httpname from Dynamo Configuration Record in CDSM00 file. Uses current application title Y5$ as base for file name. Creates unique file name in /u/CDI/tmp folder. html will be displayed in mini browser (no controls), full browser, or BBjHtmlView based on Debug Configuration.
DTMenuUtils.displayHtml("Hello World", "My test page")
A collection of Dynamo Tools static methods similar to defined functions. This popular class is included in the Dynamo Tools config.bbx files, so it does not require a 'use' statement.
Servlet used for US and Canadian mailing address functions
Class for management of columns on a DTGrid
use ::DTCols.bbj::DTCols
Company specific functions including extracting and exporting company data from shared CD data files, helpful when migrating a company to a different shared server.
Constructor for reading from existing file
Constructor for reading from existing file content
Constructor for creating new file with column headers
This class provide useful method(s) to manipulate dates and times.
Constructors
An HTTP Request header, which consists of a name/value pair. For example: name="Content-Type" value="text/html"
Constructor
Provides authentication for Dynamo and Dynaweb users
Servlet used for Credit Card Processing
Used to create and manage Dynaweb II popup windows
use ::DTPopup.bbj::DTPopup
Tools for Dynamo and Dynaweb session management
Tools for Token management
A simple class for retrieving content from web servers. A Wrapper for Apache's HttpClient class. Customized BBWebClient to support character sets other than UTF-8.
Object containing the necessary information for a web request, including URL, method, authorization, and headers.
A response to a web request, which includes a status code, a reason phrase, body, and headers.
Constructor Generally, rather than invoking this constructor directly, you can get DTWebResponse by sending a request with DTWebClient.send()
The DWC class is a component of Dynamo Tools for use with the BBj Dynamic Web Client. An instance of this class is created when:
This class provides many of the common tasks required for any DWC application, including:
use ::DWC.bbj::DWCDefault contructor, requires session
Contructor when Dynamo Tools session is not required
The DWC class is a component of Dynamo Tools for use with the BBj Dynamic Web Client. An instance of this class is created when:
This class provides many of the common tasks required for any DWC application, including:
use ::DWC.bbj::DWCDefault contructor, requires session
Contructor when Dynamo Tools session is not required
Multiple checkboxes in a column map Keys contain text for checkBox map Value = 1 or 0 for checked/unchecked state
Centered checkbox below text
Creates windows and callbacks to manage printer selection for DWC apps
use ::DWCPrinterSelection.bbj::DWCPrinterSelection
Multiple switches in a column map Keys contain text for switch map Value = 1 or 0 for on/off state
Single switch centered below text
Allow cells in specified column of BBjGrid to receive focus via tab key or mouse by setting tabindex to 1
Allow cells in specified column of BBjGrid to receive focus via tab key or mouse by setting tabindex to 1
Export company data from shared files.
Convert date in YYYY-MM-DD format to BBj julian date.
?DT.formDateToJulian("2024-03-08")
?date(2460378)
2460378
03/08/24
Method to get BBj bin directory, typically /u/basis/bbj/bin/.
?DT.getBBXDIR() /u/basis/bbj/bin/
Text containing the information to be retrieved by the webserver. This could be an HTML web page or XML or JSON document amongst other possibilites.
Return Company Code.
?DT.getCC() DS
Instance methods
Return Class Name of an Object.
?DT.getClassName(123.45)
?DT.getClassName(5)
?DT.getClassName("abc")
?DT.getClassName(new DTJsonObject())
?DT.getClassName(new BBjVector())
BBjNumber
BBjInt
String
DTJsonObject
BBjVector
Return a child window containing a DTHtmlTable to be used in a dialog
Return a child window to be used for a scrollable dialog content section
Return a child window containing a DTHtmlTable to be used in a dialog
Return a child window to be used for a scrollable dialog content section
Return a child window to be used for a GridExWidget
Return a child window to be used for a GridExWidget
Return a child window to be used for a dialog footer section, typically used for buttons
Return a child window to be used for a dialog footer section, typically used for buttons
Get URL for Dynaweb Home Page.
URL is based on Company Info Dynaweb Address field or server name if not set.
?DT.getDynawebHomePage() https://dev.excellware.com/CD/gui/?cc=EX
Get URL for Dynaweb Home Page for specified company.
URL is based on Company Info Dynaweb Address field or server name if not set.
?DT.getDynawebHomePage("CC")
https://dev.excellware.com/CD/gui/?cc=CC
Return HashMap for a posted grid row.
This method is useful when processing a posted Dynamo Tools Entry Grid. It returns a map containing all of the field names and values of the row. Use map!.get("fieldName").toString() for strings. Use cast(Boolean, map!.get("fieldName") for Boolean true/false values including checkboxes. Use num(map!.get("fieldName").toString()) for numbers and integers.
ToDo add example
Returns defined csv file name
Return the extension of a file name, including period.
?DT.getFileNameExtension("program.bbj")
?DT.getFileNameExtension("spreadsheet.xlsx")
.bbj
.xlsx
Return first key in a LinkedHashMap.
width and height of the grid so that the parent container window can be resized to fit.
Set window height and/or width if not specified at GridEx creation
Retrieves an array of headers from the response. These headers could be information like content type, cookies, authorization tokens, etc.
Return the Dimension of an image which provides its width and height.
You can provide either a URL or local disk path.
?DT.getImageDimension("https://www.excellware.com/files/7713/7303/6543/logo341x120.png")
?DT.getImageDimension("/u/CDI/CD/web/images/BBj.png")
java.awt.Dimension[width=341, height=120]
java.awt.Dimension[width=80, height=80]
Use the getWidth() and getHeight() methods as needed
?DT.getImageDimension("/u/CDI/CD/web/images/BBj.png").getWidth()
80
dim! = DT.getImageDimension("https://www.excellware.com/files/7713/7303/6543/logo341x120.png")
?dim!.getWidth()
?dim!.getHeight()
341
120
Return map keys as vector.
map! = new java.util.HashMap()
map!.put("OH", "Ohio")
map!.put("IA", "Iowa")
map!.put("UT", "Utah")
?DT.getMapKeys(map!)
[IA, OH, UT]
Return string for map value.
map! = new java.util.HashMap()
map!.put("OH", "Ohio")
map!.put("IA", "Iowa")
map!.put("UT", "Utah")
?DT.getMapString(map!, "IA")
?DT.getMapString(map!, "NM")
Iowa
Return map values as vector.
map! = new java.util.HashMap()
map!.put("OH", "Ohio")
map!.put("IA", "Iowa")
map!.put("UT", "Utah")
?DT.getMapValues(map!)
[Iowa, Ohio, Utah]
Return recommended Materialize Size.
This routine is used to compute the width of form fields on a Dynamo Tools form.
?DT.getMaterializeSizes(1000, 6) ?DT.getMaterializeSizes(1000, 7) ?DT.getMaterializeSizes(1000, 24) ?DT.getMaterializeSizes(1000, 34) ?DT.getMaterializeSizes(1000, 43) ?DT.getMaterializeSizes(1000, 52) s1 s2 s3 s4 s5 s6
Return Process ID of program running in my mdi group
?DT.getMdiClientPid("DTDebugConfiguration.bbj")
356
Returns preferred monospaced font name that is present on client.
?DT.getMonospacedFont() Lucida Console
Test method that retrieves the local webserver page at http://localhost:8888/
Return Query String Value.
Returns value string of key within query string, or an empty string if not found.
qs$ = "?itemno=ABC456&custno=567890&amount=12.55" ?DT.getQueryStringValue(qs$, "itemno") ?DT.getQueryStringValue(qs$, "custno") ?DT.getQueryStringValue(qs$, "amount") ?DT.getQueryStringValue(qs$, "amt") ABC456 567890 12.55
Text about the status code. Some webservers may give more elaborate error information than the standard status code text.
Return Jetty Url based on server name and Company Info Parameters.
?DT.getServerUrl() https://dev.excellware.com:8443
Return HashSet keys as vector.
set! = new java.util.HashSet()
set!.add("OH")
set!.add("IA")
set!.add("UT")
?DT.getMapKeys(set!)
[IA, OH, UT]
Returns the operator information record for the user logged in.
sm01! = DT.getSM01()
To obtain as a Templated String sm01$:
call "DT.bbj::getTemplatedString", DT.getSM01(), sm01$
Returns the active session record.
sm08! = DT.geySM08()
To obtain as a Templated String sm08$:
call "DT.bbj::getTemplatedString", DT.getSM08(), sm08$
Returns the Dynamo Tools base directory SMSDIR
?DT.getSMSDIR() /u/CDI/
The status code resulting from sending the corresponding request. I.E., 404 for "File Not Found" or "200" for "success".
Return sysGui object for thin client user. Throws error 14 if not using a thin client, i.e., terminal emulator such as putty or FacetWin.
Return a BBjTemplatedString for a data file, program file, or structure defined in the Dynamo Tools Data Dictionary.
Returns null() if not found.
s084! = DT.getTemplatedString("CDS084")
To obtain as a templated string s084$
call "DT.bbj::getTemplatedString", DT.getTemplatedString("CDS084"), s084$
@Deprecated
Return server webaddress based on Dynamo Configuration.
?DT.getWebaddress() https://dev.excellware.com
get Session Control Variable Y$ as a BBjTemplatedString y!
y! = DT.getY()
To obtain as Templated String
call "DT.bbj::getTemplatedString", DT.getY(), y$
When grid is ready, resize parent window and make grid window visible
A vector of DTHeaders. These are name/value pairs that provide the web server with additional information about the request.
Use this method to hide the busy indicator
Use this method to hide the busy indicator
Converts an HSL color value to RGB. Conversion formula adapted from http://en.wikipedia.org/wiki/HSL_color_space. Assumes h, s, and l are contained in the set [0, 1] and returns r, g, and b in the set [0, 255].
Return URL to display html string.
Uses httpname from Dynamo Configuration Record in CDSM00 file. Uses current application title Y5$ as base for file name. Creates unique file name in /u/CDI/tmp folder.
?DT.htmlToUrl("<h1>This is a test<h1>")
https://dev.excellware.com/tmp/EX-Console_Mode_Operations-307.html
Import company data, exported using the DTCompany::export method
Invoked using Company Maintenance, Import Company Data option
Inject css file into DWC app linuxPath$ can be absolute or relative to /u/CDI/ repoPath$ is used on windows, typically during development, and can be absolute or relative to C:\u\repo\
Inject css file into DWC app linuxPath$ can be absolute or relative to /u/CDI/ repoPath$ is used on windows, typically during development, and can be absolute or relative to C:\u\repo\
Inject Dynamo Tools table colors CSS
Inject Dynamo Tools table colors CSS
Inject DWC.css file for company CD and current company if present
Inject DWC.css file for company CD and current company if present
Is templated field numeric?
dim rec$:"qty:n(6), amt:b, id:C(10)" ?DT.isNumeric(rec$, "qty") ?DT.isNumeric(rec$, "amt") ?DT.isNumeric(rec$, "id") true true false
Is program running in this session?
?DT.isRunning("CDS069")
true
Is program running anywhere in the jvm?
?DT.isRunningAnywhere("CDS069")
true
Log text to BBj Debug log file.
This method stores text provided in namespace until a writeLog method is executed. The DTServlet class uses this method to record web activity which is presented in the Dynamo Tools API log. It is frequently used to log the value of variables while debugging servlets or other background tasks.
DT.log("SONO$=" + sono$)
Specifies the operation that the webserver should perform. Supported operations include:
Display BBj msgbox with Exclamation Point icon and application title
Display DTHtmlTable in popup dialog with specified title and Information icon
Display BBj msgbox with Exclamation Point icon and application title
Display DTHtmlTable in popup dialog with specified title and Information icon
Convert date in MMM YYYY format to BBj julian date.
?DT.MYDateToJulian("Feb 2025")
2460708
?date(2460708)
02/01/25
The name of the header attribute.
Display pdf, txt, xml or image file in browser or download other file types.
When running Dynamo Tools Graphical Menu, display a file in full browser tab. Uses httpname field from Dynamo Configuration file CDSM00.
Prepends /tmp/ when no path is provided to file:
DT.openFullBrower("PO1234.pdf")
is the same as:
DT.openFullBrowser("/tmp/PO1234.pdf")
Opens and returns sysGui object for thin client user. Throws error 14 if not using a thin client, i.e., terminal emulator such as putty or FacetWin.
Replace global variables in parentheses with values.
?DT.parensToGlobal("Dynamo Tools Base Directory is (SMSDIR)")
Dynamo Tools Base Directory is /u/CDI/
Process responsem if response is for this grid, otherwise deliver to the appropriate grid via namespace
This is needed when there are multiple GridEx instances on the same page and the async script result is processed by a different grid
Add quotes around string.
x$ = "example string" print DT.quote(x$) "example string"
Return a string describing a date relative to today.
?DT.recentDate(jul(0, 0, 0) - 5) ?DT.recentDate(jul(0, 0, 0) - 1) ?DT.recentDate(jul(0, 0, 0)) ?DT.recentDate(jul(0, 0, 0) + 1) ?DT.recentDate(jul(0, 0, 0) + 5) ?DT.recentDate(jul(0, 0, 0) - 365) Last Tuesday Yesterday Today Tomorrow Next Friday Sat 03/04/23
Remove mnemonics and cursor positioning expressions from a string
x$ = @(8, 23) + "here " + 'bu' + "underlined" + 'eu' + @(70) + 'sb' + " updating" + 'rgb'($0033$) print DT.removeMnemonics(x$) here underlined updating
Converts an RGB color value to HSL. Conversion formula adapted from http://en.wikipedia.org/wiki/HSL_color_space. Assumes r, g, and b are contained in the set [0, 255] and returns h, s, and l in the set [0, 1].
This method will set the _selected field to 0 or 1 typically to change the background color of the selected rows See setGridExSelectedRowClass to set the class that will be applied to selected rows, and the CSS for that class, which can include background color or other styling
Sends a request to a webserver and retrieves a response. This is performed synchronously and is therefore blocking.
Adds an authorization header to the request.
Set or clear console access globals based on user authorization
Set or clear console access globals based on user authorization
Use default row highlight color
This method will set a class to be applied to selected rows based on the value in the _SELECTED field, which can be set to 0 or 1 using the selectGridExRow method. This allows multiple rows to be marked as selected, and the class will be applied to those rows. The DWC.css style sheet includes a DWCselectdedRow class which displays the row with a light green background.
Accessor methods (getters / setters)
Set PREFIX for current company
Sets PREFIX based on Company Information Maintenance settings.
Set PREFIX for company code specified.
Sets PREFIX based on Company Information Maintenance settings.
Set PREFIX for Company Code specifed.
Set PREFIX for Company Code specifed.
Return displayable version of a string.
Presents non-displayable strings as hexadecimal.
?DT.showString("abc")
?DT.showString("abc" + $000102$ + "def")
?DT.showString('sf')
'abc'
$616263000102646566$
$1B5346$
Return field names and values of templated string.
call "SW001", "CDDD00", 0, "DD", dd00$ ?DT.showTemplatedString(dd00$) NEXTJOBNO 0 DEPLOYNAME Len Krause DEPLOYEMAIL len@excellware.com EXPORTDD Y LOGOURL https://dev.excellware.com/CD/images/ExcellwareLogo341x120.png LOGOWIDTH 341 LOGOHEIGHT 120 LOGINTEXT Dynamo Tools GOOGLEAPI AIzaSyDMb0E6t9SXruUpEVjj-NDDTm3UDlPuDbY EMAILTESTMODE N MFADATE 2460311 (01/01/24) MFAEMAIL Y MFATEXTMSG Y MFAAUTHAPP Y
Return field names and values of BBjTemplatedString object.
call "SW001", "CDDD00", 0, "DD", dd00$ dd00! = DT.toTemplatedString(dd00$) ?DT.showTemplatedString(dd00!) NEXTJOBNO 0 DEPLOYNAME Len Krause DEPLOYEMAIL len@excellware.com EXPORTDD Y LOGOURL https://dev.excellware.com/CD/images/ExcellwareLogo341x120.png LOGOWIDTH 341 LOGOHEIGHT 120 LOGINTEXT Dynamo Tools GOOGLEAPI AIzaSyDMb0E6t9SXruUpEVjj-NDDTm3UDlPuDbY EMAILTESTMODE N MFADATE 2460311 (01/01/24) MFAEMAIL Y MFATEXTMSG Y MFAAUTHAPP Y
Display a toast message in top right corner of the specified window for 3 seconds
Display a toast message in top right corner of the specified window for duration% ms
Display a toast message in top right corner of the specified window for 3 seconds
Display a toast message in top right corner of the specified window for duration% ms
simulate 'sp' on SYSWINDOW, restoring to saved values
Display and log program stack.
Includes program name and line of code being executed for non-protected programs. Displayed and written to Debug log.
DT.stack("")
1: CDS352 [protected]
2: SO104 1340 CALL "CDS352", Y$, SO41$, "SO114", SO41$[ALL], HIGHSEQ, 6, LMAX, 3+2*(CW00.WORKORDERS$="Y"), SO40$, S352$
3: SW101 [protected]
4: SO100 0400 CALL "SW101", ERR=0410, Y$, Y5$, SO40$, SW101$; GOTO 0420
5: CDS037 [protected]
6: SO130 2520 CALL "CDS037", "XXSO40", KN, KP$, DISP$, WINX, WINY, WINROWS, 80, WT$, COLORS$, SELRTN$, WHERE$, SORTBY$, MODE$, LIMITVAL, SO40$
7: SO100 1210 CALL "SO130", Y$, "Y"+STR(S550A.COLENT:"00")+"02", SO40$; REM "Select Order
Does a string start with these characters.
?DT.startsWith("abc", "abcdef")
?DT.startsWith("ABC", "abcdef")
if DT.startsWith("abc", "abcdef") then ...
true
false
Return julian date from timestamp.
?DT.timestampToJulian("2024-03-08T12:50:00")
?date()
2460378
03/08/24
Return time from timestamp.
precision 7
?DT.timestampToTime("2024-03-08T12:50:00")
?date(0, 12.8333333:"%Hz:%mz:%sz")
12.8333333
12:50:00
Return time from time string.
precision 7
?DT.timeStringToNumber("12:50:00")
12.8333333
Convert time in milliseconds to timestamp display format.
?DT.toDateTimeString(System.currentTimeMillis()) 2024-03-08 13:11:27.717
Convert non-displayable string to html.
Non-displayable characters will be presented with a pink backfground inside "$" characters.
?DT.toHtml("abc" + $000102$ + "def")
abc$000102$def
Convert string to Proper case.
?DT.toProperCase("this is a test")
?DT.toProperCase("THIS IS A TEST")
?DT.toProperCase("It's a wonderful day in the neighborhood")
This is a Test
This is a Test
It's a Wonderful Day in the Neighborhood
Returns a string even for null objects. The DT.toString method eliminates the need to test for null() as null objects and objects without a toString() method are returned as an empty string.
declare BBjString xyz! xyz! = null() ?len(DT.toString(xyz!)) 0
v! = new BBjVector() ?DT.toString(v!) []
v!.add("abc")
v!.add("def")
v!.add("xyz")
?DT.toString(v!)
[abc, def, xyz]
Can be used to determine if an object is null or has non-blank value if object is null or empty:
if DT.toString(xyz!).isEmpty() then ...
if object is not null and not empty:
if ! DT.toString(xyz!).isEmpty() then ...
Can also be used to test for any non-blank characters in a string
if ! DT.toString(xyz!).trim().isEmpty() then print "Not null" else print "Null" fi
Convert number to masked string with commas and decimal.
print DT.toString(1234567) 1, 234, 567 print DT.toString(1234.5678) 1, 234.5678 print DT.toString(0)
Convert number to masked string with commas and decimal and option to show 0.
print DT.toString(0, Boolean.TRUE) 0 print DT.toString(0, Boolean.FALSE)
print DT.toString(1234.5000, Boolean.FALSE) 1, 234.5 print DT.toString(0)
Return BBjTemplatedString given string and template.
call "CDS041", "CDS084", s084$, "YP" s084! = DT.toTemplatedString(s084$, fattr(s084$))
Return BBjTemplatedString from Templated String variable.
cm01! = DT.toTemplatedString(cm01$)
Return BBjTemplatedString from json containing template and hta(data) as strings.
j! = new DTJsonObject()
j!.put("tpl", "id:n(4), name:c(30*=)")
j!.put("data", hta("1234United States"))
rec! = DT.toTemplatedString(j!, "tpl", "data")
?rec!.fattr()
?rec!.getFieldAsNumber("id")
?rec!.getFieldAsString("name")
ID:N(4), NAME:C(30*=)
1234
United States
Convert julian date and time to linux timestamp in milliseconds.
?DT.toTimestamp(jul(0, 0, 0), tim) ?DT.toDateTimeString(1709877714222) 1709877714222 2024-03-08 01:01:54.222
Stops a trace started with DT.traceOn.
Stops a trace and displays.
Must be run from Dynamo Tools Menu or BBj thinclient (not a terminal emulator).
Start untimed trace.
Traced BBj code will be saved in /u/CDI/tmp/DTTrace-NNN.txt.
Start a timed or untimed trace.
Traced BBj code will be saved in /u/CDI/tmp/DTTrace-NNN.txt. Timed trace files are used with the BBj Performance Analyzer tool to identify time-consuming code.
The requested web address. Example: "http://www.basis.cloud"
The value of the header attribute.
Write log records stored using DT.log(BBjString).
Physically writes log entries created by DT.log(BBjString) to BBj Debug file.
Log text and write log records stored using DT.log(BBjString).
Physically writes log entries created by DT.log(BBjString) to BBj Debug file. This method is called by DTServlet.bbj when responding to a servlet call. Can also be used to log text from a non-servlet application.
Writes a row to the file
Convert XML string to TreeMap.