Class: cInternetSessionBusinessProcess
This creates a remoteEntryProcess class that can talk to
an InternetSession object. This provides the interface needed
to connect the BPO to ISO. This class adds the layer to support
communications between the ISO and BPO class
Class Hierarchy:
cObjectcDistributedBusinessProcesscRemoteEntryProcesscInternetSessionBusinessProcessMixins:
cCallInterfaceHelper_mixin,
Direct Known Subclasses:
cWebBusinessProcess, Class Definition
Properties
IntegerpbEncodeDDValue
this is maintained by the system and is used by DDHndValue to determine if
a ddValue should be HtmlEncoded. ddValue called by the ASP/JSP always set this true. ddValue
called within your WBO do not. If you want encoded in you app, either use HtmlEncode(xx) or
call ddValueEncode. If you augment ddHndValue, you can get this value to determine if you should
encode or not. Never set it.
IntegerpbUseOpenEvalInterface
if false, use call interface that is registered. If true use
eval to determine message if not found in interface (good for debuggin)
IntegerpiUseChanged
for internal use only
StringpsChangedFields
StringpsDescription
Functions and Procedures
StringChangedFields()
ClearErrors()
redirect request to ISO
Construct_Object()
StringCookie(String sCookieName String sCookieKeyName)
StringDDCurrentValue(Integer hMain Integer iFile Integer iField)
Get current field value. Prior to WebApp/3 this always returned an html encoded value. Now
an extra param determines if this should be done. This was a private message so this change should
not effect existing applications.
StringDDHndValue(Integer hMain Integer iFile Integer iField Integer iOption String sParam)
This can be an augmentation point to handle different iOptions and sParams
as needed. Currently we only handle iOption=0 to get current field value
StringDDRowIdValue(Integer hoDD)
Get current RowId value in serialized format. Called from WebApp using ddValue
Note that we pass the actual owner DDO
StringDDValue(String sFileField Integer iOpt String sPrm)
This is used to get normal data from a DD. It does not HtmlEncode any of the returned data
unless the option is of a type that only makes sense if it is encoded (e.g. ddForm).
StringDDValueEncode(String sFileField Integer iOpt String sPrm)
This is a short cut message. It returns your ddValue data html encoded saving you the trouble
of having to an HtmlEncode(xx). Useful with Web reports.
StringDDValueExec(String sFileField Integer iOpt String sPrm)
This is the same interface used by the external ASP/JSP call and can be used inside of a WBO to
return all the same ddValue messages
private, Use DDValue or DDValueEncode
IntegerDoGetDDValue(String sFile String sField Integer iOption String sParam Address pVDFISData)
Get FileField Value from DD and place it in pValue pointer to VDFISData structure
StringDoGetHtmlFormValue(String sFormName)
StringDoGetHtmlQueryString(String lpszVariable)
IntegerDoProcess(Integer iParam String sParam1)
<---(from ISO)----
OnSetFileFieldValue sFile sField sValue
OnSetFileRecord sFile sRecordId
The logic for these procedures already exist in a super-class. All the
ISO has to do is to remeber to call them.
returns error code: 0=ok
This is a very old Interface which is called when you do a DoProcess call from ASP.
The preferred method has *always* been to use Call. So don't use this.
DoSetFileFieldValue(String sFile String sField Address pVDFISData)
Get FileField Value from to VDFISData structure and move it into the DD
DoSetFileRecordId(string sFileName string sRecordId)
Move Passed record num for fieldname to the appropriate DD.
The remote object should send this message in response to
RequestSetFileRecords
We expect that this message is sent by the Client (OCX) passing a
filename and file number (we call it ID so we can move away from recnums).
Sets Err if error occurs
DoSetFileRowId(string sFileName string sRowId)
IntegerErrorCount()
Redirect to ISO
StringErrorMessage(Integer iItem)
ErrorQueueEnd()
ErrorQueueStart()
IntegerFileFieldErrorItem(Integer iFile Integer iField)
see if error exists for this file and field. If it does, return the
item number, else return -1. This can be used to see if a field had an error
in DF or within ASP
IntegerIsFieldChanged(String sFile String sField)
Check if passed field is changed. This assumes that the internal properly
psChangedField has been properly loaded with the changed-state form value from the
asp file.
Return values: -2 = changed field string does not exist (error)
-1 = changed field string does not contain file/field value (error)
0 = field is not changed
1 = field is changed
LogErrorEvent(Integer iErr String sText)
LogEvent(Integer iEventType String lpszEvent)
IntegerpbAllErrorstoEventLog()
IntegerpbAllErrorsToHtml()
IntegerpbAllErrorsToLocal()
IntegerpbQueueErrors()
IntegerpbVerboseErrors()
Pass these properties to ISO. This makes it easier to debug
ReportAllErrors(String sHeader)
redirect request to ISO
redirect to ISO object. This is a good augmentation point which would allow
the BPO to determine how the errors should be displayed.
ReportErrorItem(Integer iItem)
redirect to ISO
ReportLastError(Integer bClearError)
redirect to ISO
RequestFileFieldValues()
redirect request to ISO
This assumes that there are no errors when this is started!!!!
RequestFileRecords()
Create augmentation messages that will properly redirect
requests tween the ISO and this object.
---(redirect to ISO)---->
Send RequestSetFileRowIds
Send RequestSetFileRecords
Send RequestSetFileFieldValues
Send ClearErrors
Send ReportAllErrors
Get hasErrors
Get Search_File_Name
Get Search_Field_Name
redirect request to ISO. As of 11.0, this finds all Recnums and RowIds
IntegerSearch_Field_Name(Integer iFile String sFieldName)
IntegerSearch_File_Name(String sFileName)
In this class we pass filenames and field names and must make the
needed conversion. These two procedures will provide this functionality by sending
a message to the ISO asking it to handle this for us. These are good augmentation
points
StringServerVariable(String sVariableName)
These messages are used to register and report the Call interface
Set(Integer bState)
Note that the default property values listed here. They are actually
passed to the ISO object so they don't have defaults in each WO. If we
defined defaults the studio would assume that removing a set statement would
properly set a value to its default and this may not be the case. It is best to
leave the defaults as undefined.
Set(Integer bState)
Set(Integer bState)
Set(Integer bState)
Set(Integer bState)
Set(String sCookieName Date dExpires String sDomain String sPath Boolean bSecure)
Set(String sCookieName String sCookieKeyName String sValue)
SetChangedFields()
SetDDCurrentValue(Integer hMain Integer iFile Integer iField String sValue)
Set current field value as if entered via kbd (set changed_state, capslock, autofind, etc.)
SetDDHndValue(Integer hMain Integer iFile Integer iField Integer iOption String sValue)
This can be an augmentation point to handle different iOptions and
as needed. Currently we only handle iOption=0 to get current field value
SetDDValue(String sFileField String sValue)
References (1):