Preface
- Intended Audience
- Additional Information
- Typographic Conventions
Chapter 1 - Data Objects
- Data Object Types
- Stored Procedures
- Creating Stored Procedures
- Vendor-Specific Differences
- Sybase and Informix Limitations
- DSQL Objects
- How DSQL Objects are Managed
- DSQL File Naming Convention
- Manually Modifying Files
- Binding DSQL Objects vs. Stored Procedures
- How to Create DSQL Objects
- Placeholders
- Type Specifiers
- When DSQL Objects Get Parsed
- Arguments vs. Placeholders
- Database Vendors and DSQL
- FILE Objects
- How FILE Objects are Managed
- FILE Object Naming Convention
- How to Create FILE Objects
- Components of a FILE Object
- FILE Object Options
- EXEC Objects
- How EXEC Objects are Managed
- EXEC Object Naming Convention
- How to Create EXEC Objects
- Components of an EXEC Object
- EXEC Object Options
- EXEC Arguments
- Output from FILE and EXEC Data Objects
- Delimited Data
- Fixed Width Data
- Newline Delimited Data
- FUNC Objects
- How FUNC Objects are Managed
- FUNC Object Naming Convention
- How to Create FUNC Objects
- Components of a func Object
- FUNC Object Options
- Extracting Data Object Arguments
- NULL Data Objects
- Uses for the NULL Data Object
Chapter 2 - Sapphire/Web Interfaces
- Project Window
- States of the interface.
- About the Interface
- Pulldown Menus
- Pop-up Menus
- Button Bars
- How to Invoke the Interface
- Project Anatomy
- Activator ID Strings
- Document Manager
- States of the interface
- About the Interface
- Pulldown Menus
- Pop-up Menus
- Button Bars
- How to Invoke the Interface
- Adding Existing HTML Documents
- Creating a New HTML Document
- The Database Browser
- States of the interface
- About the Interface
- Pulldown Menus
- Pop-up Menus
- How to Invoke the Interface
- Object Selector
- States of the interface.
- About the Interface
- How to Invoke the Interface
- New Data Objects
- NULL Data Objects
- Object Editor
- States of the interface
- Pulldown Menus
- How to Invoke the Interface
- Arguments for EXEC Data Objects
- Testing PROC and DSQL Data Objects
- Test Arguments Dialog
- The Object Results Viewer
- Setting Privileges
- Activator Selector
- States of the Activator Selector.
- About the Activator Selector
- How to Invoke the Interface
- Activator ID Strings
- Object Bind Editor
- States of the Object Bind Editor.
- About the Object Bind Editor
- Pulldown Menus
- How to Invoke the Interface
- Arguments
- Results
- Results Detail Dialog
- Population Callback Options
- Alias Manager
- States of the Alias Manager.
- About the Alias Manager
- Pulldown Menus
- Pop-up Menus
- Button Bars
- How to Invoke the Alias Manager
- Activator Code
- States of the Activator Code Interface
- About the Activator Code Interface
- How to Invoke the Interface
- Text Editors
- Project Code Interface
- States of the Project Code Interface.
- About the Project Code Interface
- How to Invoke the Interface
- Text Editors
- Login Manager
- States of the Login Manager.
- About the Login Manager
- Pulldown Menus
- How to Invoke the Interface
- Bind Manager
- States of the Bind Manager.
- About the Bind Manager
- How to Invoke the Interface
- Change Item Option Menu
- Bind Manager Controls
- Changing a Database Name
- Options Editor
- States of the Options Editor.
- About the Options Editor
- How to Invoke the Interface
- Saving Options
- Database Login Dialog
- Orb Messages Window
Chapter 3 - HTML Extensions
- Activators
- Data Sites
- Loops
- Hotlists
- Multiple Detail Information Columns in a Hotlist
- Embedded SQL
Chapter 4 - Project Options
- Overview
- Global Options
- User Options
- Project Options
- Dynamic Options
- Project Categories
- Configuration Files
- Scripts used by Sapphire/Web
- sabrowser.sh
- saedithtml.sh
- samake.sh
- sareadhtml.sh
- sareadmodule.sh
- sareadprj.sh
- sarel1.sh
- sarel2.sh
- satest.sh
- saweb.sh
- sawritehtml.sh
- sawritemodule.sh
- sawriteprj.sh
- Makefile.$SA_APPL_LIBS
- Makefile.$SA_APPL_OBJS
- Makefile.$SA_LANGUAGE
- Makefile.$SA_SOURCE_SUFFIX
- Makefile.$SA_SYSTEM_LIBS
- Makefile.$SA_USER_CFLAGS
- Makefile.$SA_USER_LD_FLAGS
- Makefile.exeSuffix
- Project.Allow Config File
- Project.Allow SQL in HTML
- Project.Call Read/Write Scripts
- Project.Config File Name
- Project.Default HTML Extension
- Project.HTML Startup Document
- Project.Print Environment
- Project.Print Form Args
- Project.Relocatable Project
- Project.Verify Prompt
- Release.CGI URL
- Release.Database Name
- Release.Database Server
- Release.Database User Name
- Release.Database User Password
- Release.Database Vendor
- Release.GIF URL
- Release.HTML Path
- Release.HTML URL
- Release.ORB_HOST
- Release.ORB_SEED
- Test.CGI Path
- Test.CGI URL
- Test.Database Name
- Test.Database Server
- Test.Database User Name
- Test.Database User Password
- Test.Database Vendor
- Test.GIF URL
- Test.HTML Path
- Test.HTML URL
- Test.ORB_HOST
- Test.ORB_SEED
Chapter 5 - Sapphire/Gateway
- Where Sapphire/Gateway Must Run
- Sapphire/Web
- Generated CGI Executables
- How Sapphire/Gateway Works
- Starting a Gateway Daemon
- Required For All Configurations
- Daemon On Same Machine As CGI or Sapphire/Web
- Daemon On Different Machine Than CGI or Sapphire/Web
- Multiple Daemons On Different Machine Than CGI or Sapphire/Web
- Stand-alone CGIs
- The sachmake.sh Utility
- Configuring Your CGI to be Stand-alone
- Using Multiple Databases With Oracle
Chapter 6 - Population Callbacks
- The Anatomy of the Population Callback Structure
- Population Callback Prototype
- The Callback Structure
- The Data Structure
- More On Population Callbacks
- Specifying Population Callbacks in the Object Bind Editor
- Population Callback Rules
- Adding Population Callbacks to the Tool
- Step 1 - Write and Test
- Step 2 - Add to List of Callbacks
- Step 3 - Decide Between Object Files and Libraries
- Step 4 - Modify The Makefile Template
Chapter 7 - Sapphire/Web Functions
- The Client API
- HTML Output Functions
- Generic Container Functions
- The Table Component Object
- FUNCTION Object Implementation
- Data Site Callbacks
- Login Functionality and Maintaining State
- Error Handling
- Debugging
- Rebuilding the Gateway
- Running Files, Executables, and FUNCTION objects on the Gateway
- Porting CGI Projects Between Unix Platforms
- Building Libraries
- The Create Table Example
- Options
- The Client Source Files
Chapter 8 - Sapphire/Web Client API
- DoWorkProc
- getSgeWorkCallData
- SaAddConsoleErrHandler
- SaAddLogin
- SaAddLoginRec
- SaAllowSQL
- SaAppendTheConsole
- SaAsciiToHex
- SaAssignNumRowsToInt
- SaBlobSetLog
- SaBodyBegin
- SaBodyEnd
- SaCatFile
- SaCatGets
- SaClearKeyList
- SaClearTheErrors
- SaCopyDbString
- SaCopyLocalBuffer
- SaCopyString
- SaDestroyLocalBuffers
- SaDisableConsole
- SaDisplayTheConsole
- SaEnableConsole
- SaExecSQL
- SaExit
- SaFormBegin
- SaFormCheckBox
- SaFormEnd
- SaFormHidden
- SaFormPass
- SaFormRadio
- SaFormReset
- SaFormSubmit
- SaFreeCbs
- SaGetAffectedRowCount
- SaGetBlob
- SaGetBlobDone
- SaGetBlobToFile
- SaGetCancelStatus
- SaGetErrorStatus
- SaGetInputValue
- SaGetKeyedArg
- SaGetNArg
- SaGetNInputValue
- SaGetNumInputValues
- SaGetReturnStatus
- SaGetThisAffectedRowCount
- SaHeadBegin
- SaHeadEnd
- SaHeader
- SaHeaderBegin
- SaHeaderEnd
- SaHexToAscii
- SaHtmlBegin
- SaHtmlEnd
- SaHtmlTitle
- SaIncludeHtml
- SaInitClient
- SaIsSubmitName
- SaIsValidLogin
- SaIsValidLoginRec
- SaListHead
- SaListItem
- SaListItemBegin
- SaListItemEnd
- SaMakeCbsByCol
- SaMakeCbsByGroup
- SaMakeCbsColList
- SaMakeCbsStartColRange
- SaMakeCbsStartStopCol
- SaMakeEscapedString
- SaMakeHtmlString
- SaMakeStringFromCBS
- SaMakeStringFromIndexRow
- SaMakeStringFromIndexRowCol
- SaMakeStringFromThisRow
- SaMakeStringFromThisRowCol
- SaMenuBegin
- SaMenuEnd
- SaMsgErrHandler
- SaOListBegin
- SaOListEnd
- SaPopulateChars
- SaPopulateForText
- SaPopulateHotList
- SaPopulateListItem
- SaPopulateMasDetHotList
- SaPopulateMasterDetail
- SaPopulateMsgBox
- SaPopulateParagraph
- SaPopulateOptions
- SaPopulateTable
- SaPopulateTableAll
- SaPopulateTableMsgBox
- SaPopulateTextArea
- SaPrintAllErrors
- SaPrintAllKeys
- SaPrintCBStoFile
- SaPrintCBStoSaConsole
- SaPrintHtmlError
- SaPrintKeyStr
- SaPrintOutCBS
- SaPrintOutCBStoStdErr
- SaProcessInputStream
- SaPutBlob
- SaPutBlobFromFile
- SaReadFileToString
- SaRegisterFuncSite
- SaRegisterHtmlActivator
- SaRegisterHtmlAlias
- SaRegisterObjImp
- SaRegisterStringSite
- SaRegErrSite
- SaReqAppendColCount
- SaReqAppendRowCount
- SaRegStdErrSite
- SaReqAppendError
- SaReqAppendString
- SaReqGetArgByName
- SaReqGetNArg
- SaReqGetNArgName
- SaReqGetNumArgs
- SaReqSetAffectedRowCount
- SaReqSetErrorCode
- SaReqSetGroupCount
- SaReqSetReturnCode
- SaRereg
- SaResetCancelStatus
- SaReturnLocalBuffer
- SaRowBeginExt
- SaSafeExecArg
- SaSelectBegin
- SaSelectEnd
- SaSelectOption
- SaSetDefaultPass
- SaSetDefaults
- SaSetDefaultUser
- SaSetDefaultVendor
- SaSetHtmlDir
- SaSetMaxRows
- SaSetOrbHost
- SaSetOrbSeed
- SaSetPrintArgs
- SaSetTimeOut
- SaSetUseDefaultFlag
- SaSetMsgErrHandler
- SaStoreErrString
- SaStoreKeyString
- SaTableBegin
- SaTableBeginExt
- SaTableCaption
- SaTableEnd
- SaTableHead
- SaTableHeadBegin
- SaTableHeadEnd
- SaTableHeadExt
- SaTableItem
- SaTableItemBegin
- SaTableItemEnd
- SaTableItemExt
- SaTableRowBegin
- SaTableRowEnd
- SaTextArea
- SaTextAreaBegin
- SaTextAreaEnd
- SaTextBox
- SaULIstBegin
- SaULIstEnd
- SaUnreg
- SaVaHtmlTable
- SgeDestroyCacheById
- SgeDestroyCacheByName
- SgeSetAdHocFlag
- SgeSetArgBind
- SgeSetArgBnd2
- SgeSetColBind
- SgeSetColDetail
- SgeSetStatement
- SgeVaSetFrags
- SutAddList
- SutAddNList
- SutCopyList
- SutDeleteList
- SutDestroyList
- SutGetNList
- SutGetPosFromItem
- SutNewList
- SutNewListSize
- SutRemoveList
- SutRemoveNList
- SutReplaceNList
- SutSizList