static image

QAT EXCHANGE
Learn more -> Benefits - FAQ - Brochure- Features
(Click on images to view a larger version.)

How to create an XML handler with QAT Exchange in 3 Steps

STEP 1 : Use the Designer to define your XML
STEP 2 : Use the Designer to define SEND or RECEIVE Action Blocks
STEP 3 : Generate your Gen Action Block !

Use the generated Action Block in your model just like a regular Gen Action Block

Step 1

STEP 1 : Use the Designer to define your XML

  • Support for unlimited repeating structures.
  • Support for XML elements, attributes, comments and processing instructions.

Step 2

STEP 2 : Use the Designer to define SEND or RECEIVE Action Blocks

  • SEND Action Blocks import Gen attributes and export XML elements.
  • RECEIVE Action Blocks import XML elements and export Gen attributes.
  • Using QAT Exchange, you can map between XML elements and Gen attributes.
  • Use transformation rules to format data, using the pre-built functions provided by QAT Exchange, such as:
    • FormatNumber
    • FormatDate
    • FormatText
    • Concat
    • Substring
    • Combine multiple functions with complex edit patterns in your rules...
    • and much more !

Step3STEP 3 : Generate your Gen Action Block!


Step 4Your final result is this.

You can trace it and
store in your encyclopedia.

Just like any regular
Action Block!


Not this!

/*************************
* External Action Block…
* please call the non-gen developer to debug this when it abends !
**************************/

void *
xmlReallocLoc(void *ptr,size_t size, const char * file, int line)
{
MEMHDR *p;
unsigned long number;

if (!xmlMemInitialized) xmlInitMemory();

p = CLIENT_2_HDR(ptr);
number = p->mh_number;
if (p->mh_tag != MEMTAG) {
Mem_Tag_Err(p);
goto error;
}
p->mh_tag = ~MEMTAG;
debugMemSize -= p->mh_size;
if (xmlMemTraceBlockAt == ptr) {
xmlGenericError(xmlGenericErrorContext,"%p : Realloced(%d -> %d) Ok\n",xmlMemTraceBlockAt, p->mh_size, size);
xmlMallocBreakpoint();
}
p->mh_tag = MEMTAG;
p->mh_number = number;
debugMemSize += size;
if (debugMemSize > debugMaxMemSize) debugMaxMemSize = debugMemSize;
#ifdef MEM_LIST
debugmem_list_add(p);
#endif
return(HDR_2_CLIENT(p));
error:
return(NULL);
}


 

222 South 15th Street
Suite 1404
Omaha, Nebraska 68102
Tel: 402-391-9200

 

Ā Feedback | Legal | Privacy            Subscribe to our newsletters and alerts.