Profound.js Framework
The Profound.js Framework is an npm package that includes:
Visual Designer Tool for building Rich User interfaces
A robust Node.js server based on Express (see Starting and Ending Profound.js Instances)
Support for Strong Data Types
Various API to work with these data types
Ability to code applications using top-down transactional business programming (see Fibers)
Caching and hot module reloading
Built-in error reporting and logging
Built-in support for Rich Displays and HTML interfaces (see User Interface API)
- Visual Designer for Profound.js
- Strongly typed fields
- Promises
- Fibers
- Hot module reloading
- Error reporting and logging
- Passing parameters to an initial module
- Profound.js Connector
- Setting Up Genie on IBM i
- IBM i DB2 Record Level Access
- IBM i DB2 SQL Access
- Record Level Access via SQL
- Calling IBM i Programs
- Calling IBM i Commands
- Calling System API and Service Program Procedures
- Calling Profound.js Programs from IBM i Sessions
- Offline Capabilities
- Setting up a Connection to a Remote IBM i Instance
- Passing Parameters to Profound.js Modules
- Calling Profound.js Applications on Profound.js Spaces
- Profound.js Coding Reference
- Profound.js API List
- Array API
- array.subarray()
- array.sum()
- pjs.sortArray()
- pjs.tableLookupLE()
- pjs.lookupGE()
- pjs.tableLookupGE()
- array.lookup()
- pjs.elem()
- array.lookupLE()
- array.lookupGE()
- pjs.lookupLE()
- pjs.tableLookupLT()
- pjs.tableLookupGT()
- pjs.lookupLT()
- array.lookupGT()
- array.lookupLT()
- pjs.moveArray()
- pjs.lookupGT()
- pjs.tableLookup()
- pjs.arrayOp()
- pjs.lookup()
- array.cat()
- Call API
- Fiber Call/Wrap API
- pjs.call()
- pjs.callProc()
- pjs.callProcedure()
- pjs.defineProc()
- pjs.getRequestParm()
- pjs.httpRequest()
- pjs.import()
- pjs.lr()
- pjs.parm()
- pjs.refParm()
- pjs.registerAsyncName()
- pjs.require()
- pjs.requireModule()
- pjs.requireServiceProgram()
- pjs.runCommand()
- pjs.sendRequest()
- pjs.spawn()
- pjs.transferControl()
- profoundjs.commandLineCall()
- profoundjs.registerAPI()
- Data Area API
- Data Conversion API
- Data Structure API
- Date/Time API
- date.addDays()
- date.addHours()
- date.addMilliseconds()
- date.addMinutes()
- date.addMonths()
- date.addSeconds()
- date.addYears()
- Date.dayDiff()
- date.extractDay()
- date.extractHours()
- date.extractMicroseconds()
- date.extractMilliseconds()
- date.extractMinutes()
- date.extractMonth()
- date.extractSeconds()
- date.extractYear()
- Date.getDaysInMonth()
- date.getDaysInMonth() method
- Date.hourDiff()
- Date.isLeapYear()
- date.isLeapYear() method
- Date.microsecondDiff()
- Date.millisecondDiff()
- Date.minuteDiff()
- Date.monthDiff()
- Date.secondDiff()
- date.subtractDays()
- date.subtractHours()
- date.subtractMicroseconds()
- date.subtractMilliseconds()
- date.subtractMinutes()
- date.subtractMonths()
- date.subtractSeconds()
- date.subtractYears()
- Date.yearDiff()
- pjs.date()
- pjs.fromLilianDate()
- pjs.fromLilianSeconds()
- pjs.getDatePattern()
- pjs.getDayOfWeek()
- pjs.getTimePattern()
- pjs.getUTCOffset()
- pjs.setCurrentTime()
- pjs.testTimestamp()
- pjs.time()
- pjs.timestamp()
- pjs.toDate()
- pjs.toLilianDate()
- pjs.toLilianSeconds()
- Declaration/Initialization API
- Encryption API
- Error Handling API
- Information/Logging API
- Number API
- Memory Management API
- buffer.readInt64BE()
- buffer.readUInt64BE()
- buffer.writeInt64BE()
- buffer.writeUInt64BE()
- pjs.alloc()
- pjs.assign()
- pjs.bitAnd()
- pjs.bitChange()
- pjs.bitNot()
- pjs.bitOr()
- pjs.bitXor()
- pjs.dealloc()
- pjs.get()
- pjs.getBuffer()
- pjs.getFields()
- pjs.getFieldsArr()
- pjs.getLength()
- pjs.getOccur()
- pjs.getReference()
- pjs.getSize()
- pjs.moveHighToHighZone()
- pjs.moveHighToLowZone()
- pjs.moveLowToHighZone()
- pjs.moveLowToLowZone()
- pjs.nullInd()
- pjs.pointerString()
- pjs.realloc()
- pjs.reclaimActivationGroup()
- pjs.session
- pjs.set()
- pjs.setFields()
- pjs.setOccur()
- pjs.setSwitch()
- pjs.switch()
- pjs.testBit()
- pjs.testZone()
- Printer File API
- Record Level Access API
- file.close()
- file.delete()
- file.endOfData()
- file.equal()
- file.fetchNext()
- file.fetchNextEqual()
- file.fetchPrevious()
- file.fetchPreviousEqual()
- file.found()
- file.getConfig()
- file.getRecord()
- file.isOpen()
- file.open()
- file.positionAfter()
- file.positionTo()
- file.status()
- file.unlock()
- file.update()
- file.write()
- pjs.closeAll()
- pjs.closeFiles()
- pjs.commit()
- pjs.defineTable()
- pjs.downloadTable()
- pjs.endOfData()
- pjs.equal()
- pjs.fields()
- pjs.found()
- pjs.kds()
- pjs.rollBack()
- pjs.setEqual()
- pjs.setFound()
- pjs.uploadTable()
- SQL API
- Data API
- pjs.allocStmt()
- pjs.bindParameters()
- pjs.close()
- pjs.getConnection()
- pjs.getDB()
- pjs.getRemoteDB()
- pjs.escapeString()
- pjs.execute()
- pjs.executeDirect()
- pjs.getSQLOption()
- pjs.setConnectAttr()
- pjs.query()
- pjs.parallelQueries()
- pjs.setSQLOption()
- pjs.setStmtAttr()
- pjs.prepare()
- pjs.connect()
- pjs.disconnect()
- pjs.sqlHelper
- SQL Diagnostics
- SQL Examples
- SQL Fetch API
- String API
- boolean.toString()
- String.all()
- string.check()
- string.checkReverse()
- String.fromEbcdicHex()
- String.fromUcs2Hex()
- string.ltrim()
- string.replaceString()
- string.rtrim()
- string.scan()
- string.scanReplace()
- string.scanReverse()
- string.scanToArray()
- String.setLength()
- String.spaces()
- String.toEbcdicHex()
- string.translate()
- string.trim()
- User Interface API
- display.close()
- display.endOfData()
- display.found()
- display.isOpen()
- display.open()
- display.read()
- display.screen.execute()
- display.screen.executeMessage()
- display.screen.read()
- display.screen.use()
- display.screen.write()
- display.status()
- Grid API
- display.grid.delete()
- display.grid.getRecords()
- display.grid.every()
- display.grid.sort()
- display.grid.replaceRecords()
- display.grid.some()
- display.grid.unshift()
- display.grid.splice()
- display.grid.applyMap()
- display.grid.filter()
- display.grid.write()
- display.grid.getRecordCount()
- display.grid.addRecords()
- display.grid.reduce()
- display.grid.findIndex()
- display.grid.insert()
- display.grid.update()
- display.grid.clear()
- display.grid.setGridRecNumField()
- display.grid.forEach()
- display.grid.getCopyOfData()
- display.grid.getFieldNames()
- display.grid.getRecord()
- display.grid.map()
- display.grid.readChanged()
- display.grid.applyFilter()
- display.grid.pop()
- display.grid.shift()
- display.grid.push()
- display.grid.slice()
- display.grid.find()
- pjs.defineDisplay()
- pjs.display()
- pjs.endOfData() for displays
- pjs.messageBox()
- Server Management API
- IFS API
- Miscellaneous PJS APIs
- Array API
- Profound.js Constants
- Profound.js Directives
- Profound.js Intellisense
- Profound.js Reserved Words
- Server-side Typescript
- Profound.js Function Handling
- Handling Session Ending in PJS Modules
- Profound.js API List
- Profound.js Server performance
- Profound.js performance logging
- File Encryption
- Decimal Arithmetic
, multiple selections available,