509 lines
24 KiB
Plaintext
509 lines
24 KiB
Plaintext
Compile function OI_Wizard_Services(@Service, @Params)
|
|
#pragma precomp SRP_PreCompiler
|
|
$insert LOGICAL
|
|
$insert OI_WIZARD_EQUATES
|
|
$insert OI_WIZARD_TRANSACTIONS_EQUATES
|
|
$Insert REACT_MODE_NG_EQUATES
|
|
|
|
Declare function RTI_CreateGUID, Database_Services, Error_Services, SRP_Json, MemberOf
|
|
Declare function OI_Wizard_Services, Reactor_Services, Reactor_Modes_Services, Datetime
|
|
Declare subroutine Database_Services, Error_Services, SRP_Json, Service_Services
|
|
|
|
GoToService
|
|
|
|
Return Response or ""
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// SERVICES
|
|
//-----------------------------------------------------------------------------
|
|
|
|
Service CreateWizardID(LSLUserID)
|
|
|
|
WizardID = RTI_CreateGUID()
|
|
If WizardID NE '' then
|
|
WizardRow = ''
|
|
WizardRow<OI_WIZARD.CREATED_DATE$> = Date()
|
|
WizardRow<OI_WIZARD.CREATED_TIME$> = Time()
|
|
WizardRow<OI_WIZARD.TRANS_TYPE$> = 'Login'
|
|
WizardRow<OI_WIZARD.TERMINATED$> = False$
|
|
WizardRow<OI_WIZARD.EMPLOYEE_ID$> = LSLUserID
|
|
Database_Services('WriteDataRow', 'OI_WIZARD', WizardID, WizardRow, True$, False$, True$)
|
|
end else
|
|
Error_Services('Add', 'WizardID was not created in the ' : Service : ' service.')
|
|
end
|
|
|
|
Response = WizardID
|
|
|
|
End Service
|
|
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// ConvertMVWizardToJSON
|
|
//
|
|
// Converts a MultiValue formatted OI_WIZARD row into a serialized JSON object and returns the result. If the mvWizard
|
|
// argument is empty, the service will attempt to get it from the OI_WIZARD table. If the itemURL argument is not empty,
|
|
// HAL+JSON properties will be added to the JSON object.
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
Service ConvertMVWizardToJSON(WizardID, mvWizard, itemURL)
|
|
|
|
jsonWizard = ''
|
|
|
|
If WizardID NE '' then
|
|
|
|
If mvWizard EQ '' then mvWizard = Database_Services('ReadDataRow', 'OI_WIZARD', WizardID)
|
|
If Error_Services('NoError') then
|
|
@DICT = Database_Services('GetTableHandle', 'DICT.OI_WIZARD')
|
|
@ID = WizardID
|
|
@RECORD = mvWizard
|
|
|
|
If SRP_JSON(objJSONWizard, 'New', 'Object') then
|
|
// Wizard object.
|
|
If SRP_JSON(objWizard, 'New', 'Object') then
|
|
SRP_JSON(objWizard, 'SetValue', 'ID', @ID, 'String')
|
|
If SRP_JSON(objTransArray, 'New', 'Array') then
|
|
AvailTrans = OI_Wizard_Services('GetAvailTrans', {EMPLOYEE_ID})
|
|
For each TransType in AvailTrans using @VM setting vPos
|
|
If SRP_JSON(objTrans, 'New', 'Object') then
|
|
SRP_JSON(objTrans, 'SetValue', 'ID', TransType, 'String')
|
|
TransTitle = Xlate('OI_WIZARD_TRANS_TYPES', TransType, 'TITLE', 'X')
|
|
SRP_JSON(objTrans, 'SetValue', 'Title', TransTitle, 'String')
|
|
SRP_JSON(objTransArray, 'Add', objTrans)
|
|
SRP_JSON(objTrans, 'Release')
|
|
end
|
|
Next TransType
|
|
SRP_JSON(objWizard, 'Set', 'availableTransactions', objTransArray)
|
|
SRP_JSON(objTransArray, 'Release', objTransArray)
|
|
end
|
|
SRP_JSON(objJSONWizard, 'Set', 'session', objWizard)
|
|
SRP_JSON(objWizard, 'Release')
|
|
end
|
|
|
|
If itemURL NE '' then
|
|
// The itemURL was passed in so add HAL+JSON properties.
|
|
|
|
// Create the _links property and then all link objects needed for this resource.
|
|
If SRP_JSON(objLinks, 'New', 'Object') then
|
|
// Create a self link.
|
|
If SRP_JSON(objLink, 'New', 'Object') then
|
|
SRP_JSON(objLink, 'SetValue', 'href', ItemURL, 'String')
|
|
SRP_JSON(objLink, 'SetValue', 'title', 'Self', 'String')
|
|
SRP_JSON(objLinks, 'Set', 'self', objLink)
|
|
SRP_JSON(objLink, 'Release')
|
|
end
|
|
SRP_JSON(objJSONWizard, 'Set', '_links', objLinks)
|
|
SRP_JSON(objLinks, 'Release')
|
|
end
|
|
|
|
// Create the _form property to help UIs determine what to display.
|
|
If SRP_JSON(objForm, 'New', 'Object') then
|
|
If SRP_JSON(arrayFields, 'New', 'Array') then
|
|
If {EMPLOYEE_ID} NE '' then
|
|
If SRP_JSON(objField, 'New', 'Object') then
|
|
SRP_JSON(objField, 'SetValue', 'label', 'Employee', 'String')
|
|
SRP_JSON(objField, 'SetValue', 'value', {EMPLOYEE_NAME}, 'String')
|
|
SRP_JSON(arrayFields, 'Add', objField)
|
|
SRP_JSON(objField, 'Release')
|
|
end
|
|
end
|
|
SRP_JSON(objForm, 'Set', 'fields', arrayFields)
|
|
SRP_JSON(arrayFields, 'Release')
|
|
end
|
|
SRP_JSON(objJSONWizard, 'Set', '_form', objForm)
|
|
SRP_JSON(objForm, 'Release')
|
|
end
|
|
// Create the _class property for this resource.
|
|
SRP_JSON(objJSONWizard, 'SetValue', '_class', 'resource')
|
|
end
|
|
jsonWizard = SRP_JSON(objJSONWizard, 'Stringify', 'Styled')
|
|
SRP_JSON(objJSONWizard, 'Release')
|
|
end else
|
|
Error_Services('Add', 'Unable to create JSON representation in the ' : Service : ' service.')
|
|
end
|
|
end
|
|
end else
|
|
Error_Services('Add', 'WizardID argument was missing in the ' : Service : ' service.')
|
|
end
|
|
|
|
Response = jsonWizard
|
|
|
|
end service
|
|
|
|
|
|
Service CreateTransaction(OIWizardID, TransType, Data)
|
|
|
|
If ( (OIWizardID NE '') and (TransType NE '') ) then
|
|
// Create a new OI_WIZARD_TRANSACTIONS record and associate it with the OI Wizard ID.
|
|
Rec = ''
|
|
KeyID = RTI_CreateGUID()
|
|
Rec<OI_WIZARD_TRANSACTIONS.OI_WIZARD_ID$> = OIWizardID
|
|
Rec<OI_WIZARD_TRANSACTIONS.CREATE_DATE$> = Date()
|
|
Rec<OI_WIZARD_TRANSACTIONS.CREATE_TIME$> = Time()
|
|
Rec<OI_WIZARD_TRANSACTIONS.COMPLETED$> = False$
|
|
Rec<OI_WIZARD_TRANSACTIONS.TRANS_TYPE$> = TransType
|
|
Rec<OI_WIZARD_TRANSACTIONS.DATA$> = Data
|
|
Database_Services('WriteDataRow', 'OI_WIZARD_TRANSACTIONS', KeyID, Rec)
|
|
If Error_Services('NoError') then
|
|
Response = KeyID
|
|
end else
|
|
Response = False$
|
|
end
|
|
end else
|
|
ErrorMsg = 'Error in ':Service:' service. Null OIWizardID or TransType passed in.'
|
|
Error_Services('Add', ErrorMsg)
|
|
Response = False$
|
|
end
|
|
|
|
end service
|
|
|
|
|
|
Service GetAvailTrans(UserID)
|
|
|
|
AvailTrans = ''
|
|
If UserID NE '' then
|
|
Open 'OI_WIZARD_TRANS_TYPES' to hTable then
|
|
Select hTable
|
|
EOF = False$
|
|
Loop
|
|
Readnext TransType else EOF = True$
|
|
Until EOF
|
|
PermittedGroups = Xlate('OI_WIZARD_TRANS_TYPES', TransType, 'PERMITTED_GROUPS', 'X')
|
|
Done = False$
|
|
For each Group in PermittedGroups using @VM setting vPos
|
|
If MemberOf(UserID, Group) then
|
|
AvailTrans<0, -1> = TransType
|
|
Done = True$
|
|
end
|
|
Until Done
|
|
Next Group
|
|
Repeat
|
|
Response = AvailTrans
|
|
end
|
|
end
|
|
|
|
end service
|
|
|
|
|
|
Service ValidateSession(OIWizardID)
|
|
ErrorMsg = ''
|
|
If OIWizardID NE '' then
|
|
OIWizardRec = Database_Services('ReadDataRow', 'OI_WIZARD', OIWizardID, True$, 0, False$)
|
|
If Error_Services('NoError') then
|
|
SessionTerminated = OIWizardRec<OI_WIZARD.TERMINATED$>
|
|
if Not(SessionTerminated) then
|
|
LastDate = OIWizardRec<OI_WIZARD.UPDATED_DATES$>[-1, 'B' : @VM]
|
|
LastTime = OIWizardRec<OI_WIZARD.UPDATED_TIMES$>[-1, 'B' : @VM]
|
|
If LastDate EQ '' then
|
|
// No updates have occured so use the Create Date/Time.
|
|
LastDate = OIWizardRec<OI_WIZARD.CREATED_DATE$>
|
|
LastTime = OIWizardRec<OI_WIZARD.CREATED_TIME$>
|
|
end
|
|
lastDateTime = Iconv(Oconv(LastDate, 'D4/') : ' ' : Oconv(LastTime, 'MTS'), 'DTS')
|
|
SessionAge = (Datetime() - lastDateTime) * 86400
|
|
// 600 seconds = 10 minutes
|
|
If SessionAge LT 600 then
|
|
OIWizardRec<OI_WIZARD.UPDATED_DATES$, -1> = Date()
|
|
OIWizardRec<OI_WIZARD.UPDATED_TIMES$, -1> = Time()
|
|
Database_Services('WriteDataRow', 'OI_WIZARD', OIWizardID, OIWizardRec)
|
|
If Error_Services('HasError') then ErrorMsg = Error_Services('GetMessage')
|
|
end else
|
|
ErrorMsg = 'Session has expired'
|
|
end
|
|
end else
|
|
ErrorMsg = 'Session has been previously terminated.'
|
|
end
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = 'Error in ':Service:' service. Null OIWizardID passed in.'
|
|
end
|
|
|
|
If ErrorMsg EQ '' then
|
|
Response = True$
|
|
end else
|
|
Error_Services('Add', ErrorMsg)
|
|
Response = False$
|
|
end
|
|
end service
|
|
/*
|
|
This routine validates a users session without extending it. Used for OI Wizard sessions that are awaiting input.
|
|
*/
|
|
Service ValidateSessionIdle(OIWizardID)
|
|
ErrorMsg = ''
|
|
If OIWizardID NE '' then
|
|
OIWizardRec = Database_Services('ReadDataRow', 'OI_WIZARD', OIWizardID, True$, 0, False$)
|
|
If Error_Services('NoError') then
|
|
SessionTerminated = OIWizardRec<OI_WIZARD.TERMINATED$>
|
|
if Not(SessionTerminated) then
|
|
LastDate = OIWizardRec<OI_WIZARD.UPDATED_DATES$>[-1, 'B' : @VM]
|
|
LastTime = OIWizardRec<OI_WIZARD.UPDATED_TIMES$>[-1, 'B' : @VM]
|
|
If LastDate EQ '' then
|
|
// No updates have occured so use the Create Date/Time.
|
|
LastDate = OIWizardRec<OI_WIZARD.CREATED_DATE$>
|
|
LastTime = OIWizardRec<OI_WIZARD.CREATED_TIME$>
|
|
end
|
|
lastDateTime = Iconv(Oconv(LastDate, 'D4/') : ' ' : Oconv(LastTime, 'MTS'), 'DTS')
|
|
SessionAge = (Datetime() - lastDateTime) * 86400
|
|
// 600 seconds = 10 minutes
|
|
If SessionAge GE 600 then
|
|
ErrorMsg = 'Session has expired'
|
|
end else
|
|
|
|
end
|
|
end else
|
|
ErrorMsg = 'Session has been previously terminated.'
|
|
end
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = 'Error in ':Service:' service. Null OIWizardID passed in.'
|
|
end
|
|
|
|
If ErrorMsg EQ '' then
|
|
Response = True$
|
|
end else
|
|
Error_Services('Add', ErrorMsg)
|
|
Response = False$
|
|
end
|
|
end service
|
|
|
|
|
|
Service TerminateSession(OIWizardID)
|
|
|
|
ErrorMsg = ''
|
|
If OIWizardID NE '' then
|
|
OIWizardRec = Database_Services('ReadDataRow', 'OI_WIZARD', OIWizardID)
|
|
If Error_Services('NoError') then
|
|
OIWizardRec<OI_WIZARD.TERMINATED$> = True$
|
|
Database_Services('WriteDataRow', 'OI_WIZARD', OIWizardID, OIWizardRec)
|
|
If Error_Services('HasError') then ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = 'Error in ':Service:' service. Null OIWizardID passed in.'
|
|
end
|
|
|
|
If ErrorMsg EQ '' then
|
|
Response = True$
|
|
end else
|
|
Error_Services('Add', ErrorMsg)
|
|
Response = False$
|
|
end
|
|
|
|
|
|
end service
|
|
|
|
|
|
Service UpdateTransaction(TransactionID, FieldData)
|
|
|
|
ErrorMsg = ''
|
|
If ( (TransactionID NE '') and (FieldData NE '') ) then
|
|
TransactionRec = Database_Services('ReadDataRow', 'OI_WIZARD_TRANSACTIONS', TransactionID)
|
|
If Error_Services('NoError') then
|
|
TransType = TransactionRec<OI_WIZARD_TRANSACTIONS.TRANS_TYPE$>
|
|
ServiceModule = Xlate('OI_WIZARD_TRANS_TYPES', TransType, 'SERVICE_MODULE', 'X')
|
|
UpdateService = Xlate('OI_WIZARD_TRANS_TYPES', TransType, 'UPDATE_SERVICE', 'X')
|
|
If ( (ServiceModule NE '') and (UpdateService NE '') ) then
|
|
Service_Services('RunService', ServiceModule, UpdateService, FieldData)
|
|
If Error_Services('HasError') then ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = 'Null TransactionID or FieldData passed into service.'
|
|
end
|
|
|
|
If ErrorMsg EQ '' then
|
|
Response = True$
|
|
end else
|
|
Response = False$
|
|
Error_Services('Add', 'Error in ':Service:' service. ':ErrorMsg)
|
|
end
|
|
|
|
end service
|
|
|
|
|
|
Service CompleteTransaction(TransactionID)
|
|
|
|
ErrorMsg = ''
|
|
If TransactionID NE '' then
|
|
TransactionRec = Database_Services('ReadDataRow', 'OI_WIZARD_TRANSACTIONS', TransactionID)
|
|
If Error_Services('NoError') then
|
|
TransactionRec<OI_WIZARD_TRANSACTIONS.COMPLETED$> = True$
|
|
Database_Services('WriteDataRow', 'OI_WIZARD_TRANSACTIONS', TransactionID, TransactionRec)
|
|
If Error_Services('HasError') then ErrorMsg = Error_Services('GetMessage')
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = 'Null TransactionID or FieldData passed into service.'
|
|
end
|
|
|
|
If ErrorMsg EQ '' then
|
|
Response = True$
|
|
end else
|
|
Response = False$
|
|
Error_Services('Add', 'Error in ':Service:' service. ':ErrorMsg)
|
|
end
|
|
|
|
end service
|
|
|
|
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
// ConvertMVTransactionToJSON
|
|
//
|
|
// Converts a MultiValue formatted TRANSACTIONS row into a serialized JSON object and returns the result. If the
|
|
// mvTransaction argument is empty, the service will attempt to get it from the TRANSACTIONS table. If the itemURL
|
|
// argument is not empty, HAL+JSON properties will be added to the JSON object.
|
|
//----------------------------------------------------------------------------------------------------------------------
|
|
Service ConvertMVTransactionToJSON(TransactionID, mvTransaction, itemURL)
|
|
|
|
jsonTransaction = ''
|
|
|
|
If TransactionID NE '' then
|
|
|
|
If mvTransaction EQ '' then mvTransaction = Database_Services('ReadDataRow', 'OI_WIZARD_TRANSACTIONS', TransactionID)
|
|
If Error_Services('NoError') then
|
|
@DICT = Database_Services('GetTableHandle', 'DICT.OI_WIZARD_TRANSACTIONS')
|
|
@ID = TransactionID
|
|
@RECORD = mvTransaction
|
|
CurrUser = Xlate('OI_WIZARD', {OI_WIZARD_ID}, 'EMPLOYEE_ID', 'X')
|
|
If SRP_JSON(objJSONTransaction, 'New', 'Object') then
|
|
|
|
// Wizard/Session object
|
|
If SRP_JSON(objWizard, 'New', 'Object') then
|
|
SRP_JSON(objWizard, 'SetValue', 'ID', {OI_WIZARD_ID}, 'String')
|
|
SRP_JSON(objJSONTransaction, 'Set', 'session', objWizard)
|
|
SRP_JSON(objWizard, 'Release')
|
|
end
|
|
|
|
// Transaction object
|
|
If SRP_JSON(objTransaction, 'New', 'Object') then
|
|
SRP_JSON(objTransaction, 'SetValue', 'ID', @ID, 'String')
|
|
SRP_JSON(objTransaction, 'SetValue', 'completed', {COMPLETED}, 'Boolean')
|
|
// Add transaction required fields
|
|
SRP_JSON(objTransaction, 'SetValue', 'transType', {TRANS_TYPE}, 'String')
|
|
TransTitle = Xlate('OI_WIZARD_TRANS_TYPES', {TRANS_TYPE}, 'TITLE', 'X')
|
|
SRP_JSON(objTransaction, 'SetValue', 'title', TransTitle, 'String')
|
|
ReqFields = Xlate('OI_WIZARD_TRANS_TYPES', {TRANS_TYPE}, 'REQUIRED_FIELDS', 'X')
|
|
SRP_JSON(objTransaction, 'SetValueArray', 'requiredFields', ReqFields, @VM)
|
|
|
|
If {DATA} then
|
|
Begin Case
|
|
Case {TRANS_TYPE} EQ 'REACT_MODE_CHG'
|
|
ReactorNo = {DATA}<0, 1>
|
|
If ReactorNo then
|
|
// Add in reactor current mode, available modes, and available sub categories.
|
|
CurrModeKey = Reactor_Services('GetReactCurrModeId', ReactorNo)
|
|
CurrMode = Xlate('REACT_MODE_NG', CurrModeKey, REACT_MODE_NG_MODE$, 'X')
|
|
ServiceDesc = Xlate('REACT_MODE_NG', CurrModeKey, REACT_MODE_NG_SERVICE_DESC$, 'X')
|
|
AvailModes = Reactor_Modes_Services('AvailableModes', CurrMode, CurrUser)
|
|
CurrRLKey = Xlate('REACT_MODE_NG', CurrModeKey, REACT_MODE_NG_START_RL_ID$ , 'X')
|
|
AvailMaintComments = '':@VM:Xlate('APP_INFO', 'REACT_MODE_CHANGE_MAINT_COMMENT_OPTIONS', 1, 'X')
|
|
AvailEngrComments = '':@VM:Xlate('APP_INFO', 'REACT_MODE_CHANGE_ENGR_COMMENT_OPTIONS', 1, 'X')
|
|
// Create reactor object
|
|
If SRP_JSON(objReactor, 'New', 'Object') then
|
|
SRP_JSON(objReactor, 'SetValue', 'reactorNo', ReactorNo, 'String')
|
|
SRP_JSON(objReactor, 'SetValue', 'currMode', CurrMode, 'String')
|
|
SRP_JSON(objReactor, 'SetValue', 'currModeKey', CurrModeKey, 'String')
|
|
SRP_JSON(objReactor, 'SetValue', 'serviceDesc', ServiceDesc, 'String')
|
|
SRP_JSON(objReactor, 'SetValue', 'reactLogKey', CurrRLKey, 'Number')
|
|
If SRP_JSON(objModesArray, 'New', 'Array') then
|
|
For each AvailMode in AvailModes using @FM setting fPos
|
|
If SRP_JSON(objMode, 'New', 'Object') then
|
|
SRP_JSON(objMode, 'SetValue', 'mode', AvailMode, 'String')
|
|
SubCats = '':@VM:Xlate('REACTOR_MODES', AvailMode, 'SERVICE_CATEGORIES', 'X')
|
|
SRP_JSON(objMode, 'SetValueArray', 'subCategories', SubCats, @VM)
|
|
SRP_JSON(objModesArray, 'Add', objMode)
|
|
SRP_JSON(objMode, 'Release')
|
|
end
|
|
Next AvailMode
|
|
// Add modes array object to reactor object
|
|
SRP_JSON(objReactor, 'Set', 'availableModes', objModesArray)
|
|
SRP_JSON(objModesArray, 'Release')
|
|
end
|
|
If SRP_JSON(objComments, 'New', 'Array') then
|
|
If SRP_JSON(maintComments, 'New', 'Object') then
|
|
SRP_Json(maintComments, 'SetValue', 'category', 'WAITING_FOR_MAINTENANCE_UNSCHEDULED', 'String')
|
|
SRP_Json(maintComments, 'SetValueArray', 'comments', AvailMaintComments, @VM)
|
|
SRP_Json(objComments, 'Add', maintComments)
|
|
SRP_Json(maintComments, 'Release')
|
|
end
|
|
If SRP_JSON(engrComments, 'New', 'Object') then
|
|
SRP_Json(engrComments, 'SetValue', 'category', 'WAITING_FOR_ENGTECH_UNSCHEDULED', 'String')
|
|
SRP_Json(engrComments, 'SetValueArray', 'comments', AvailEngrComments, @VM)
|
|
SRP_Json(objComments, 'Add', engrComments)
|
|
SRP_Json(engrComments, 'Release')
|
|
end
|
|
SRP_JSON(objReactor, 'Set', 'availableComments', objComments)
|
|
SRP_JSON(objComments, 'Release')
|
|
end
|
|
SRP_JSON(objTransaction, 'Set', 'reactor', objReactor)
|
|
SRP_JSON(objReactor, 'Release')
|
|
end
|
|
end
|
|
End Case
|
|
end
|
|
|
|
SRP_JSON(objJSONTransaction, 'Set', 'transaction', objTransaction)
|
|
SRP_JSON(objTransaction, 'Release')
|
|
end
|
|
|
|
If itemURL NE '' then
|
|
// The itemURL was passed in so add HAL+JSON properties.
|
|
|
|
// Create the _links property and then all link objects needed for this resource.
|
|
If SRP_JSON(objLinks, 'New', 'Object') then
|
|
// Create a self link.
|
|
If SRP_JSON(objLink, 'New', 'Object') then
|
|
SRP_JSON(objLink, 'SetValue', 'href', ItemURL, 'String')
|
|
SRP_JSON(objLink, 'SetValue', 'title', 'Self', 'String')
|
|
SRP_JSON(objLinks, 'Set', 'self', objLink)
|
|
SRP_JSON(objLink, 'Release')
|
|
end
|
|
SRP_JSON(objJSONTransaction, 'Set', '_links', objLinks)
|
|
SRP_JSON(objLinks, 'Release')
|
|
end
|
|
|
|
// Create the _form property to help UIs determine what to display.
|
|
If SRP_JSON(objForm, 'New', 'Object') then
|
|
If SRP_JSON(arrayFields, 'New', 'Array') then
|
|
If SRP_JSON(objField, 'New', 'Object') then
|
|
SRP_JSON(objField, 'SetValue', 'label', 'Example Label', 'String')
|
|
SRP_JSON(objField, 'SetValue', 'value', 'Example Value', 'String')
|
|
SRP_JSON(arrayFields, 'Add', objField)
|
|
SRP_JSON(objField, 'Release')
|
|
end
|
|
SRP_JSON(objForm, 'Set', 'fields', arrayFields)
|
|
SRP_JSON(arrayFields, 'Release')
|
|
end
|
|
SRP_JSON(objJSONTransaction, 'Set', '_form', objForm)
|
|
SRP_JSON(objForm, 'Release')
|
|
end
|
|
// Create the _class property for this resource.
|
|
SRP_JSON(objJSONTransaction, 'SetValue', '_class', 'resource')
|
|
end
|
|
jsonTransaction = SRP_JSON(objJSONTransaction, 'Stringify', 'Styled')
|
|
SRP_JSON(objJSONTransaction, 'Release')
|
|
end else
|
|
Error_Services('Add', 'Unable to create JSON representation in the ' : Service : ' service.')
|
|
end
|
|
end
|
|
end else
|
|
Error_Services('Add', 'TransactionID argument was missing in the ' : Service : ' service.')
|
|
end
|
|
|
|
Response = jsonTransaction
|
|
|
|
end service
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|