ResolveSchema Event

Fires whenever a new transaction set is encountered and no schema is found for it.

Syntax

ANSI (Cross Platform)
virtual int FireResolveSchema(EDIFACTTranslatorResolveSchemaEventParams *e);
typedef struct {
const char *TransactionCode;
const char *StandardVersion; int reserved; } EDIFACTTranslatorResolveSchemaEventParams; Unicode (Windows) virtual INT FireResolveSchema(EDIFACTTranslatorResolveSchemaEventParams *e);
typedef struct {
LPCWSTR TransactionCode;
LPCWSTR StandardVersion; INT reserved; } EDIFACTTranslatorResolveSchemaEventParams;
- (void)onResolveSchema:(NSString*)transactionCode :(NSString*)standardVersion;
#define EID_EDIFACTTRANSLATOR_RESOLVESCHEMA 6

virtual INT IPWORKSEDI_CALL FireResolveSchema(LPSTR &lpszTransactionCode, LPSTR &lpszStandardVersion);

Remarks

The ResolveSchema event will fire when a the class encounters the header segment of a new transaction set, but it finds no schema corresponding to it already loaded.

TransactionCode contains the code of the transaction, such as "810" or "APERAK".

StandardVersion contains the version of the transaction, such as "004010" or "D95A".

When processing this event, the caller can use LoadSchema() to load a new schema into the class that can be used to parse the transaction.

After the event fires, if the class still doesn't have a matching schema, then it will attempt schema-less parsing of the transaction set.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks EDI 2020 C++ Edition - Version 20.0 [Build 8203]