 API browser of statusRequest430 COM module
Interface version: | 4.30
Interface date: | 26 Aug 2010

The StatusRequestManager is an ATL COM module which provides methods to query the current processing status of credit, invoice, reminder, and/or MCD request objects at an insurance's site. The number of object references is limited and of course the request is process asynchronously. The subchapter object reference provides an in-depth description of the concept of "object reference". If an insurance decides not to support the statusRequest/statusResponse system then a StatusResponse is returned where each given object reference has a status "unsupported". This status code basically signals that a status system is not implemented! |  | space
Interfaces |  | 3 interface
IStatusRequest | With the IStatusRequest interface all the query objects as well as the transport/routing information can be set by the interface's methods like AddQueryObject, SetTransport, etc. |
IStatusRequestManager | The main interface IStatusRequestManager -creatable in its own right- provides methods to formulate a XML infosets of type statusRequest_430 |
IStatusResult | The interface IStatusResult allows to read back all data that have been set by the IStatusRequest interface or loaded back with IStatusRequestManager::LoadXML method. |
Types |  |
type definitions | List of all used builtin, composite and enumeration types |
Important documents about the usage and handling |  |
Document | General usage of the statusRequest COM module - an overview |
Document | VB code snippet for using the statusRequest COM module |
Document | Overview of the concept of "Object reference" |

© by sumex1.net - all rights reserved


  • statusRequest430
  • IStatusRequest

IStatusRequest interface |  | V4.30/26 Aug 2010
With the IStatusRequest interface all the query objects as well as the transport/routing information can be set by the interface's methods like AddQueryObject, SetTransport. |  | space
Methods |  | 5 methods
AddQueryObject | Adds one request object of a certain type whose status is requested |
Finalize | Finalizes and validates all data set so far in the IStatusRequest interface |
GetAbortInfo | Get the abort information string with the error coded in the module language |
Initialize | Initializes all input data in the IStatusRequest interface, This method is the counterpart to the Finalize method |
SetTransport | Sets transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to) |
Properties |  | 0 properties


  • IStatusRequest
  • AddQueryObject

IStatusRequest::AddQueryObject method |  |  |
Adds one request object of a certain type whose status is requested. There is a maximum of 100 such objects that can be added. |  |  | space
C/C++ calling syntax |  |  |
HRESULT AddQueryObject( | ObjectType BSTR DATE long VARIANT_BOOL | eObjectType, bstrRequestID, dRequestDate, lRequestTimestamp, *pbStatus); |
Calling argument description |  |  |
[in] ObjectType | eObjectType | Defines the type of the object request |
[in] BSTR | bstrRequestID | The request ID is the identification of a request of that type (e.g. the invoice or reminder identification). This is one of 3 identifiers that form an object reference. The request ID is always defined by the sender. |
[in] DATE | dRequestDate | The request date is the date of a request of that type (e.g. the invoice or reminder date). This is one of 3 identifiers that form an object reference. The request date is always defined by the sender. |
[in] long | lRequestTimestamp | The request timestamp is a UNIX timestamp defined at the moment of the XML infoset generation. This is one of 3 identifiers that form an object reference. The request timestamp was returned when the request was generated for the first time. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusRequest
  • Finalize

IStatusRequest::Finalize method |  |  |
Finalizes and validates all data set so far in the IStatusRequest interface. This method is the counterpart to the Initialize method. This method should be call after all data have been set in the IStatusRequest interface. |  |  | space
C/C++ calling syntax |  |  |
HRESULT Finalize( | VARIANT_BOOL | *pbStatus); |
Calling argument description |  |  |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusRequest
  • GetAbortInfo

IStatusRequest::GetAbortInfo method |  |  |
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusRequest
  • Initialize

IStatusRequest::Initialize method |  |  |
Initializes all input data in the IStatusRequest interface, This method is the counterpart to the Finalize method. This method should be called before any input is set in the IStatusRequest interface. |  |  | space
C/C++ calling syntax |  |  |
HRESULT Initialize( | LanguageType VARIANT_BOOL | eDataLanguage, *pbStatus); |
Calling argument description |  |  |
[in] LanguageType | eDataLanguage | Sets the language in which the data part is coded. It is exactly the language in which the response is formulated. Note, that the data language and the module language (given by IStatusRequestManager::SetModuleLanguage) are independent and can be different! |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusRequest
  • SetTransport

IStatusRequest::SetTransport method |  |  |
Sets transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to). All the involved parties are defined by EAN numbers as defined by www.medwin.ch. It is mandatory to set these information to generate a valid XML infoset. |  |  | space
C/C++ calling syntax |  |  |
HRESULT SetTransport( | BSTR BSTR BSTR VARIANT_BOOL | bstrFromEAN, bstrViaEAN, bstrToEAN, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrFromEAN | EAN number of the sender. |
[in] BSTR | bstrViaEAN | EAN number of the first intermediate. |
[in] BSTR | bstrToEAN | EAN number of the recipient. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusRequestManager

IStatusRequestManager interface | V4.30/26 Aug 2010
The IStatusRequestManager interface provides methods to formulate a XML infosets of type statusRequest_430. Such an infoset allows to query the current processing status of credit, invoice, reminder, and/or MCD object references at an insurance's site.

The subchapter object reference provides an in-depth description of the concept of "object reference".

To produce such an infoset, firstly an instance of the IStatusRequest interface is retrieved by
the property GetStatusRequest.
All the object references whose status are requested are added with the IStatusRequest::AddQueryObject method.
The transport/routing information is set by the IStatusRequest::SetTransport method.

After all query objects are set, a file with a statusRequest XML infoset is generated by the GetXML method.

If an insurance decides not to support the statusRequest/statusResponse system then a StatusResponse is
returned where each given object reference has a status "unsupported". This status
code basically signals that a status system is not implemented!

All data that was set via the IStatusRequest interface can be read back with the IStatusResult interface.

space
Methods | 5 methods
GetAbortInfo | Get the abort information string with the error coded in the module language
GetLogSettings | Get the log settings for the module.
GetXML | GetXML generates the XML infoset based on the data of the IRequest interface, validates the XML against the XSD schema, and stores the XML content as UTF8 file in the internal working directory
LoadXML | Loads a previously generated XML infoset of type statusRequest_430.xsd back into memory for further processing via the returned interface handles
SetLogSettings | Set the log settings for the module
Properties | 5 properties
[get/put] ModuleLanguage | Get/Set the language for the module i.e
[get] ModuleVersion | Gets the version of the StatusRequestManager module.
[get] ModuleVersionText | Get the textual version of the StatusRequestManager module.
[get/put] Modus | Get the operation modus
[get] StatusRequest | The property GetStatusRequest supplies a pointer to the IRequest interface


  • IStatusRequestManager
  • GetAbortInfo

IStatusRequestManager::GetAbortInfo method |  |  |
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusRequestManager
  • GetLogSettings

IStatusRequestManager::GetLogSettings method
Get the log settings for the module. | space
C/C++ calling syntax
HRESULT GetLogSettings( long
long
YesNoType
BSTR
VARIANT_BOOL 		*plLogLevel,
*plMaxSizeKB,
*peDoArchive,
*pbstrArchiveDir,
*pbStatus);
Calling argument description
[out] long *plLogLevel The log activity level where
lLogLevel = 0 | Logging is turned off
lLogLevel = 1 | Normal log activity
lLogLevel > 1 | Debug log activity. Use this level only for debugging purposes
[out] long | *plMaxSizeKB | The maximum size in KB of the log file.
[out] YesNoType | *peDoArchive | eDoArchive defines if the log file is recycled if the maximum size is reached (enNo) or if the log file is archived (enYes).
[out] BSTR | *pbstrArchiveDir | The base directory where log files are archived. bstrArchiveDir is only defined if eDoArchive=enYes otherwise bstrArchiveDir is empty.
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.


  • IStatusRequestManager
  • GetXML

IStatusRequestManager::GetXML method |  |  |
GetXML generates the XML infoset based on the data of the IRequest interface, validates the XML against the XSD schema, and stores the XML content as UTF8 file in the internal working directory. The full file name to this XML document is replied in the pbstrOutputFile output variable. The XML file must be saved to a different location as all temporary XML files in the working directory are deleted before the COM module shuts down! |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetXML( | BSTR long long IStatusResult VARIANT_BOOL | *pbstrOutputFile, *plValidationError, *plTimestamp, **ppIStatusResult, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrOutputFile | The full file name (path + name) where the XML infoset of type statusRequest_430.xsd is stored in UTF-8 mode. The XML file must be saved to a different location as all temporary XML files in the working directory are deleted before the COM module shuts down! |
[out] long | *plValidationError | lValidationError is filled with the validation error code returned by the MSXML-4 parser. A zero value indicates that the validation was successful. |
[out] long | *plTimestamp | the timestamp of the XML document as epoch time (seconds elapsed since 1.1.1970). Note, that this is the module generated 3rd parameter of the 3 parameters that form a request object. Therefore, this timestamp should eventually be stored for later usage. |
[out] IStatusResult | **ppIStatusResult | The IStatusResult interface handle that allows to get all loaded data back. The handle is NULL if an error occurred. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusRequestManager
  • LoadXML

IStatusRequestManager::LoadXML method |  |  |
Loads a previously generated XML infoset of type statusRequest_430.xsd back into memory for further processing via the returned interface handles. This method is of minor importance as the are no concepts of "storno" or "copy" and no printing facility is available. |  |  | space
C/C++ calling syntax |  |  |
HRESULT LoadXML( | BSTR BSTR IStatusRequest IStatusResult VARIANT_BOOL | bstrInputFile, *pbstrUsedSchema, **ppIStatusRequest, **ppIStatusResult, *pbStatus); |
Calling argument description |  |  |
[in] BSTR | bstrInputFile | The full file name (path + name) of a XML infoset of type statusRequest_430.xsd |
[out] BSTR | *pbstrUsedSchema | The full XSD name of the loaded XML file. Only statusRequest_430.xsd is currently allowed. |
[out] IStatusRequest | **ppIStatusRequest | The IStatusRequest interface handle that allows to add further data. The handle is NULL if an error occurred. |
[out] IStatusResult | **ppIStatusResult | The IStatusResult interface handle that allows to get all loaded data back. The handle is NULL if an error occurred. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusRequestManager
  • SetLogSettings

IStatusRequestManager::SetLogSettings method
Set the log settings for the module.

The defaults for the log activity are: level=1, lMaxSizeKB=1000,eDoArchive=enNo,
and the log settings are persistent via the log file itself.

Note, that the log facility is a best effort system. If there is an error e.g. due to insufficient privileges to write the log entries then nothing is logged.

space
C/C++ calling syntax
HRESULT SetLogSettings( long
long
YesNoType
BSTR
VARIANT_BOOL 		lLogLevel,
lMaxSizeKB,
eDoArchive,
bstrArchiveDir,
*pbStatus);
Calling argument description
[in] long lLogLevel The log activity level where
lLogLevel = 0 | Logging is turned off
lLogLevel = 1 | Normal log activity
lLogLevel > 1 | Debug log activity. Use this level only for debugging purposes

Any log level below 0 is corrected to 0.

[in] long lMaxSizeKB The maximum size in KB of the log file.
Any size below 1000 KB (= the default value) is corrected to the default value
[in] YesNoType | eDoArchive | eDoArchive defines if the log file is recycled once the maximum size is reached (enNo) or if the log file is archived (enYes) into the archive directory.
[in] BSTR bstrArchiveDir Defines the base directory where log files are archived. bstrArchiveDir is only used if eDoArchive=enYes. If bstrArchiveDir is empty and eDoArchive=enYes then the place of the module is used as the base archive directory.

If the base archive directory or directories below have insufficient privileges to create directories or write files archiving is not done!

[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string.
C/C++ return value
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.


  • IStatusRequestManager
  • ModuleLanguage

IStatusRequestManager::ModuleLanguage property
Get/Set the language for the module i.e. the language in which the error strings are coded.

Note, that the module language and the data language (given by IStatusRequest::Initialize) are independent and can be different!

space
C/C++ calling syntax
[get] HRESULT | ModuleLanguage( LanguageType *aLanguageType);
[put] HRESULT | ModuleLanguage( LanguageType aLanguageType);
space
Calling argument description
[out,retval] LanguageType | *aLanguageType
[in] LanguageType | aLanguageType
C/C++ return value
S_OK | This value is returned if the function call was successful.
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • LanguageType *GetModuleLanguage(void);
  • void PutModuleLanguage( LanguageType aLanguageType);
space


  • IStatusRequestManager
  • ModuleVersion

IStatusRequestManager::ModuleVersion property
Gets the version of the StatusRequestManager module. | space
C/C++ calling syntax
[get] HRESULT | ModuleVersion( BSTR *aBSTR);
space
Calling argument description
[out, retval] BSTR | *aBSTR
C/C++ return value
S_OK | This value is returned if the function call was successful.
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersion(void);
space


  • IStatusRequestManager
  • ModuleVersionText

IStatusRequestManager::ModuleVersionText property
Get the textual version of the StatusRequestManager module. | space
C/C++ calling syntax
[get] HRESULT | ModuleVersionText( BSTR *aBSTR);
space
Calling argument description
[out, retval] BSTR | *aBSTR
C/C++ return value
S_OK | This value is returned if the function call was successful.
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • BSTR *GetModuleVersionText(void);
space


  • IStatusRequestManager
  • Modus

IStatusRequestManager::Modus property
Get the operation modus.

The default modus is enProduction whereas for developing/debugging purposes enTest can be set.

space
C/C++ calling syntax
[get] HRESULT | Modus( ModusType *aModusType);
[put] HRESULT | Modus( ModusType aModusType);
space
Calling argument description
[out,retval] ModusType | *aModusType
[in] ModusType | aModusType
C/C++ return value
S_OK | This value is returned if the function call was successful.
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • ModusType *GetModus(void);
  • void PutModus( ModusType aModusType);
space


  • IStatusRequestManager
  • StatusRequest

IStatusRequestManager::StatusRequest property
The property GetStatusRequest supplies a pointer to the IRequest interface. This interface pointer is needed to set all the data. | space
C/C++ calling syntax
[get] HRESULT | StatusRequest( IStatusRequest **aIStatusRequest);
space
Calling argument description
[out, retval] IStatusRequest | **aIStatusRequest
C/C++ return value
S_OK | This value is returned if the function call was successful.
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.
Remarks
If SmartPointers are used than the function names and calls are rewritten by Microsoft into the form
  • IStatusRequest **GetStatusRequest(void);
space


  • IStatusResult

IStatusResult interface |  | V4.30/26 Aug 2010
The IStatusResult interface allows to read back all data that have been set by the IStatusRequest interface or by loading a previously generated XML infoset with the IStatusRequestManager::LoadXML method. |  | space
Methods |  | 4 methods
GetAbortInfo | Get the abort information string with the error coded in the module language |
GetFirstQueryObject | Retrieves the first request object |
GetNextQueryObject | Retrieves the next request object |
GetTransport | Returns the transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to) |
Properties |  | 0 properties


  • IStatusResult
  • GetAbortInfo

IStatusResult::GetAbortInfo method |  |  |
Get the abort information string with the error coded in the module language. Call this method whenever the returned pbStatus variable of the primarily called method is VARIANT_FALSE and the primarily called method is not an iterator (GetFirst/GetNext). In the later case VARIANT_FALSE signals the end of data. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetAbortInfo( | BSTR VARIANT_BOOL | *pbstrAbort, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrAbort | Abort information string coded in the module language. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusResult
  • GetFirstQueryObject

IStatusResult::GetFirstQueryObject method |  |  |
Retrieves the first request object. VARIANT_FALSE is returned if the end of the request object list is reached |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetFirstQueryObject( | ObjectType BSTR DATE long VARIANT_BOOL | *peObjectType, *pbstrRequestID, *pdRequestDate, *plRequestTimestamp, *pbStatus); |
Calling argument description |  |  |
[out] ObjectType | *peObjectType | Defines the type of the object request |
[out] BSTR | *pbstrRequestID | The request ID is the identification of a request of that type (e.g. the invoice or reminder identification). This is one of 3 identifiers that form an object reference. The request ID is always defined by the sender. |
[out] DATE | *pdRequestDate | The request date is the date of a request of that type (e.g. the invoice or reminder date). This is one of 3 identifiers that form an object reference. The request date is always defined by the sender. |
[out] long | *plRequestTimestamp | The request timestamp is a UNIX timestamp defined at the moment of the XML infoset generation. This is one of 3 identifiers that form an object reference. The request timestamp was returned when the request was generated for the first time. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusResult
  • GetNextQueryObject

IStatusResult::GetNextQueryObject method |  |  |
Retrieves the next request object. VARIANT_FALSE is returned if the end of the request object list is reached |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetNextQueryObject( | ObjectType BSTR DATE long VARIANT_BOOL | *peObjectType, *pbstrRequestID, *pdRequestDate, *plRequestTimestamp, *pbStatus); |
Calling argument description |  |  |
[out] ObjectType | *peObjectType | Defines the type of the object request |
[out] BSTR | *pbstrRequestID | The request ID is the identification of a request of that type (e.g. the invoice or reminder identification). This is one of 3 identifiers that form an object reference. The request ID is always defined by the sender. |
[out] DATE | *pdRequestDate | The request date is the date of a request of that type (e.g. the invoice or reminder date). This is one of 3 identifiers that form an object reference. The request date is always defined by the sender. |
[out] long | *plRequestTimestamp | The request timestamp is a UNIX timestamp defined at the moment of the XML infoset generation. This is one of 3 identifiers that form an object reference. The request timestamp was returned when the request was generated for the first time. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • IStatusResult
  • GetTransport

IStatusResult::GetTransport method |  |  |
Returns the transport information that is the routing information going from a sender (from) over the first intermediate (via) to the receiver (to). All the involved parties are defined by EAN numbers as defined by www.medwin.ch. |  |  | space
C/C++ calling syntax |  |  |
HRESULT GetTransport( | BSTR BSTR BSTR VARIANT_BOOL | *pbstrFromEAN, *pbstrViaEAN, *pbstrToEAN, *pbStatus); |
Calling argument description |  |  |
[out] BSTR | *pbstrFromEAN | The EAN number of the sender. |
[out] BSTR | *pbstrViaEAN | The EAN number of the first intermediate. |
[out] BSTR | *pbstrToEAN | The EAN number of the receiver. |
[out, retval] VARIANT_BOOL | *pbStatus | Return status of the method. If pbStatus is VARIANT_FALSE then an error occurred and GetAbortInfo should be called to retrieve the error string. |
C/C++ return value |  |  |
S_OK | This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE. |  |
S_FALSE | This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE. |  |
E_name | This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions. |  |


  • Type definitions

Builtin, composite & enumeration types |  | V4.30/26 Aug 2010
The following list shows ans defines all used data types either basic builtin, composite or enumeration types that are used in the interface of the ATL COM module. |  | space
Data types |  | 11 types
[builtin] BSTR | A BSTR, known as basic string or binary string, is a pointer to a wide character string used by Automation data manipulation functions |
[builtin] DATE | A value denoting a date and time was specified |
[builtin] HRESULT | The HRESULT data type is a 32-bit value that is used to describe an error or warning |
[builtin] IStatusRequest | IStatusRequest interface |
[builtin] IStatusResult | IStatusResult interface |
[enumeration] LanguageType | Enumerates all supported languages |
[builtin] long | A 4-byte integer value |
[enumeration] ModusType | Enumerates the defined operation modus types |
[enumeration] ObjectType | Enumerates the defined object types that can be queried |
[builtin] VARIANT_BOOL | A 16 bit Boolean (True/False) value was specified |
[enumeration] YesNoType | Boolean value defined as enumerator of yes and no |


  • Type definitions
  • BSTR

BSTR type |
A BSTR, known as basic string or binary string, is a pointer to a wide character string used by Automation data manipulation functions. BSTRs are wide, double-byte (Unicode) strings on 32-bit Windows platforms. | space


  • Type definitions
  • DATE

DATE type |
A value denoting a date and time was specified. Dates are represented as double-precision numbers, where midnight, January 1, 1900 is 2.0, January 2, 1900 is 3.0, and so on. The value is passed in date. | space


  • Type definitions
  • HRESULT

HRESULT type |
The HRESULT data type is a 32-bit value that is used to describe an error or warning | space


  • Type definitions
  • IStatusRequest

IStatusRequest type |
IStatusRequest interface | space


  • Type definitions
  • IStatusResult

IStatusResult type |
IStatusResult interface | space


  • Type definitions
  • LanguageType

LanguageType enumeration type |  |
Enumerates all supported languages |  | space
Set of enumeration values |  | 3 elements
enGerman: 1 | German. |
enFrench: 2 | French. |
enItalian: 3 | Italian. |


  • Type definitions
  • long

long type |
A 4-byte integer value | space


  • Type definitions
  • ModusType

ModusType enumeration type |  |
Enumerates the defined operation modus types |  | space
Set of enumeration values |  | 2 elements
enProduction: 0 | Production modus. |
enTest: 1 | Test modus - the data should not be forwarded to the receiver. |


  • Type definitions
  • ObjectType

ObjectType enumeration type |  |
Enumerates the defined object types that can be queried |  | space
Set of enumeration values |  | 4 elements
enObjectCredit: 1 | The object is of type credit. |
enObjectInvoice: 2 | The object is of type invoice. |
enObjectReminder: 3 | The object is of type reminder. |
enObjectMCD: 4 | The object is of type MCD (Minimal Clinical Dataset). |


  • Type definitions
  • VARIANT_BOOL

VARIANT_BOOL type |
A 16 bit Boolean (True/False) value was specified. A value of 0xFFFF (all bits 1) indicates True; a value of 0 (all bits 0) indicates False. No other values are valid. | space


  • Type definitions
  • YesNoType

YesNoType enumeration type |  |
Boolean value defined as enumerator of yes and no |  | space
Set of enumeration values |  | 2 elements
enNo: 0 | No. |
enYes: 1 | Yes. |


 Visual Basic code snippet for generating a statusRequest XML infoset

Private Sub Command1_Click()

On Error GoTo Err_Trap

'### StatusRequestManager interface
Dim statusRequestManagerEx As STATUSREQUESTMANAGER430Lib.StatusRequestManager
Set statusRequestManagerEx = New StatusRequestManager

'### Set the module language to german
statusRequestManagerEx.ModuleLanguage = enGerman

'### StatusRequest interface
Dim statusRequestEx As STATUSREQUESTMANAGER430Lib.StatusRequest
Set statusRequestEx = statusRequestManagerEx.StatusRequest

'### Initialize the StatusRequest!!!
statusRequestEx.Initialize (enGerman)

Dim today As Date
today = DateTime.Now

'### we use a unix timestamp corresponding to 1970-01-01T00:00:00
'### this is only an example
Dim lTimestamp As Long
lTimestamp = 0

Dim bStatus As Boolean
'### set the transport, this is just an example
bStatus = statusRequestEx.SetTransport("2012345678901", "", "7612345678901")

'### add a credit status request
bStatus = statusRequestEx.AddQueryObject(enObjectCredit, "myCreditStatus", today, lTimestamp)

'### add a MCD status request
bStatus = statusRequestEx.AddQueryObject(enObjectMCD, "myMCDStatus", today, lTimestamp)

'### add an invoice status request
bStatus = statusRequestEx.AddQueryObject(enObjectInvoice, "myInvoiceStatus", today, lTimestamp)

Dim lValidationError As Long

'### Finalize!!!
bStatus = statusRequestEx.Finalize()

'### StatusResult interface
Dim statusResultEx As STATUSREQUESTMANAGER430Lib.StatusResult

'### write eveything to a file
Dim strTmpFile As String
bStatus = statusRequestManagerEx.GetXML(strTmpFile, lValidationError, lTimestamp, statusResultEx)

'### relase resources
Set statusRequestEx = Nothing
Set statusResultEx = Nothing
Set statusRequestManagerEx = Nothing

Exit Sub

Err_Trap:
    MsgBox "Error: " & Err.Description, vbCritical, _
           "Opps! Error" & Str$(Err.Number)
'### relase resources
Set statusRequestEx = Nothing
Set statusResultEx = Nothing
Set statusRequestManagerEx = Nothing

End Sub


 General use of the statusRequest ATL COM module

The statusRequest ATL COM module provides methods to formulate a XML infosets of type statusRequest_430. Such an infoset allows to query the current processing status of credit, invoice, reminder, and/or MCD request objects at an insurance's site. The subchapter object reference provides an in-depth description of the concept of "object reference".

To produce such an infoset, firstly an instance of the IStatusRequest interface is retrieved by the property IStatusRequestManager::GetStatusRequest. All the object references whose status are requested are added with the IStatusRequestManager::AddQueryObject method. The transport/routing information is set by the SetTransport method.

After all query objects are set, a file with a statusRequest XML infoset is generated by the GetXML method.

If an insurance decides not to support the statusRequest/statusResponse system then a StatusResponse is returned where each given object reference has a status "unsupported". This status code basically signals that a status system is not implemented!

All data that was set via the IStatusRequest interface can be read back with the IStatusResult interface.

To get a starting point with the statusRequest module there is a Visual Basic code snippet provided that demonstrates the principles for generating a status request XML infoset.


 Object reference...

The following paragraph defines the concept of object reference. This concept is of high importance within the statusRequest COM module and its generated XML infosets.

object reference

An object reference is an identification of an individual XML request defined by a unique triple of data, namely
  • timestamp (UNIX time) defined at the moment of generation
  • date of the object defined by the provider
  • id of the object defined by the provider
Each and every XML request of version 4.3 is defined by such an object reference. All XML responses are replies to the object reference of the corresponding request.

Thus the object reference is a clustered primary key of the request/response system!