Populating the Response Dataset
The result of the parser must go in the dsQdocResponseDetails dataset. This dataset contains two temp-tables, ttProcessingResult and ttProcessingException. The ultimate result of the request must go in the ttProcessingResult temp-table in the field resultStatus. The values that this field can take are defined as static properties in the com.qad.qxtend.qxo.QdocResponseHandler class.
Property | Value | As Code |
PendingStatusCode | PEND | QdocResponseHandler:PendingStatusCode |
WarningStatusCode | WRN | QdocResponseHandler:WarningStatusCode |
SuccessStatusCode | DLV | QdocResponseHandler:SuccessStatusCode |
SendingErrorCode | SENDERR | QdocResponseHandler:SendingErrorCode |
SoapFaultErrorCode | SOAPERR | QdocResponseHandler:SoapFaultErrorCode |
ApplicationErrorCode | APPERR | QdocResponseHandler:ApplicationErrorCode |
For example, if the parser determines that an application error has occurred, the code required would be:create ttProcessingResult.
assign
ttProcessingResult.resultStatus = QdocResponseHandler:ApplicationErrorCode
ttProcessingResult.resultSequence = 1.
If the parser found two errors with appropriate descriptions, the code to add these to the dataset would be:create ttProcessingException.
assign
ttProcessingException.resultSequence = 1
ttProcessingException.exceptionSequence = 1
ttProcessingException.exceptionNumber = "999"
ttProcessingException.exceptionDescription = "Part does not exist"
ttProcessingException.exceptionSeverity = "ERROR"
ttProcessingException.exceptionContext = "part = 'ABC123'".
create ttProcessingException.
assign
ttProcessingException.resultSequence = 1
ttProcessingException.exceptionSequence = 2
ttProcessingException.exceptionNumber = "888"
ttProcessingException.exceptionDescription = "User not authorized"
ttProcessingException.exceptionSeverity = "ERROR"
ttProcessingException.exceptionContext = "user = 'lchild'".
The resultSequence value must be the same as that in ttProcessingResult, and each ttProcessingException record must have a unique exceptionSequence number. The remaining fields can be filled out with information gleaned from the response, or left blank.