Quintiq file version 2.0
|
#parent: #root
|
Method OnSuccessExchangeDataByChunk (NamedValueTree nvt_i)
|
{
|
Description: 'Handle cases of success for sending ExchangeDataByChunk.'
|
TextBody:
|
[*
|
// Jacky CHAN Apr-26-2016 (created)
|
// retrieve kind
|
kind := LibDEF_DataAccessor::GetHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_KIND() );
|
|
if( LibDEF_DataAccessor::HasChildNamed( nvt_i, nvt_i.Root(), LibDEF_DataAccessor::HANDLE_CONFIGURATION() ) )
|
{
|
// Handle configuration message
|
}
|
else if( LibDEF_DataAccessor::HasChildNamed( nvt_i, nvt_i.Root(), LibDEF_DataAccessor::HANDLE_METADATA() ) )
|
{
|
// Handle metadata message
|
}
|
else if( LibDEF_DataAccessor::HasChildNamed( nvt_i, nvt_i.Root(), LibDEF_DataAccessor::HANDLE_DATA() ) )
|
{
|
// Handle set-data message
|
// retrieve type
|
type := LibDEF_DataAccessor::GetDataHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_TYPE() );
|
|
if( ( kind = LibDEF_DataAccessor::KIND_SUCCESS() and type = LibDEF_DataAccessor::TYPE_DATA_GETSETCHUNKED() ) or
|
( kind = LibDEF_DataAccessor::KIND_REQUEST() and type = LibDEF_DataAccessor::TYPE_DATA_SETCREATEDCHUNKED() ) or
|
( kind = LibDEF_DataAccessor::KIND_REQUEST() and type = LibDEF_DataAccessor::TYPE_DATA_SETUPDATEDCHUNKED() ) )
|
{
|
// both of these can be processed by the same handler
|
dataTransferGUID := LibDEF_DataAccessor::GetDataHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_DATATRANSFERGUID() );
|
dataTransfer := select( this, QueueOutbox.DataTransfer, dt, dt.GUID() = dataTransferGUID );
|
dataTransfer.ExternalSystem().SendDataByChunkOnSuccess( nvt_i, dataTransfer, kind, type ); // we can get the target system from the datatransfer object itself
|
}
|
}
|
*]
|
}
|