XAPI Outbound Request API Usage Code Sample

This code sample illustrates how to create a XAPI outbound request:

/* Header files required */

#include <B4205010.h>

/*************************/ 
      BOOL bXAPIInUse, bExit;
#ifdef jdeXAPI_CALLS_ENABLED
      XAPI_CALL_ID ulXAPICallID = 0;
      XAPI_CALL_RETURN eXAPICallReturn = eEventCallSuccess;
#endif
      DSD4205010A dsD4205010A = {0}; /*Query Header*/
      DSD4205010B dsD4205010B = {0}; /*Query Detail*/
#ifdef jdeXAPI_CALLS_ENABLED
      if(jdeXAPI_IsCallTypeEnabled("XAPIOPOUT") && jdeXAPI_IsCallTypeEnabled
("XAPIOPIN") )
      {
            bXAPIInUse = TRUE;
      }
#endif
      /*-----------------------------------------------------*/
      /* Call XAPIInit */
#ifdef jdeXAPI_CALLS_ENABLED
      if(bXAPIInUse == TRUE)
      {
            ulXAPICallID = jdeXAPI_Init( lpBhvrCom, "SendOrderPromiseRequest",
 "XAPIOPOUT", NULL, &eXAPICallReturn);
            if (eXAPICallReturn != eEventCallSuccess)
            {
                  bExit = TRUE;
            }
      }
#endif
      /*-------------------------------------------------*/
      /* Adding Header Information */
#ifdef jdeXAPI_CALLS_ENABLED
      if(bXAPIInUse == TRUE)
      {
            eXAPICallReturn = jdeXAPI_Add( lpBhvrCom, ulXAPICallID, 
"SendOrderPromiseRequest", "D4205010A", &dsD4205010A, 
sizeof(DSD4205010A));
            if (eXAPICallReturn != eEventCallSuccess)
            {
                  bExit = TRUE;
            }
      }
#endif
      /*-------------------------------------------------*/
      /* Loading Detail Information */
#ifdef jdeXAPI_CALLS_ENABLED
      if(bXAPIInUse == TRUE)
      {
            eXAPICallReturn = jdeXAPI_Add( lpBhvrCom, ulXAPICallID, 
"SendOrderPromiseRequest", "D4205010B", &dsD4205010B, 
sizeof(DSD4205010B));
            if (eXAPICallReturn != eEventCallSuccess)
            {
                  bExit = TRUE;
            }
      }
#endif
#ifdef jdeXAPI_CALLS_ENABLED
      if(bXAPIInUse == TRUE)
      /*-------------------------------------------------*/
      /* Finalize */
      {
            eXAPICallReturn = jdeXAPI_Finalize( lpBhvrCom, ulXAPICallID, 
"SendOrderPromiseRequest", "OrderPromiseCallback");
            if (eXAPICallReturn != eEventCallSuccess)
            {
                  bExit = TRUE;
            }
      }
#endif
#ifdef jdeXAPI_CALLS_ENABLED
      if (eXAPICallReturn != eEventCallSuccess)
      {
      /*-------------------------------------------------*/
      /* CleanUp */
            if(bXAPIInUse == TRUE)
            {
                  jdeXAPI_Free( lpBhvrCom, ulXAPICallID, "SendOrderPromiseRequest");
            }
      }
#endif