To control whether the Transaction Requester publishes your document type for a create, update or delete, use the RequesterTrx element of the XML node. The RequesterTrx element enables you to specify whether the Transaction Requester should publish the current transaction as an XML document.
To use the RequesterTrx in a document type, you need to use an eConnect stored procedure named eConnectOutVerify. This stored procedure prevents the Transaction Requester from publishing a document where the RequesterTrx flag is set to 0.
To use the eConnectOutVerify stored procedure, call the eConnectOutVerify from the eConnect pre and post stored procedure of the business object associated with your XML node. To use the eConnectOutVerify stored procedure, your pre and post procedures must supply the following values:
The following SQL examples shows how to use eConnectOutVerify from the pre and post procedures for the Employee example. Notice how the pre procedure uses eConnectOutVerify to identify document type and the employee. Also, notice how the post procedure sets the eConnectOutVerify Delete parameter to 1. The Delete parameter restores the original configuration of the Transaction Requester.
/*** Call eConnectOutVerify proc ***/ if (@I_vRequesterTrx =0) begin exec @iStatus = eConnectOutVerify @I_vDOCTYPE ='Employee', @I_vINDEX1=@I_vEMPLOYID , @I_vINDEX2='', @I_vINDEX3='', @I_vINDEX4='', @I_vINDEX5='', @I_vINDEX6='', @I_vINDEX7='', @I_vINDEX8='', @I_vINDEX9='', @I_vINDEX10='', @I_vINDEX11='', @I_vINDEX12='', @I_vINDEX13='', @I_vINDEX14='', @I_vINDEX15='', @I_vDelete = 0, @O_iErrorState = @ iCustomState output select @iError = @@error if @iStatus = 0 and @ iError <> 0 begin select @iStatus = @ iError end if (@iStatus <> 0) or (@ iCustomState <> 0) begin select @O_iErrorState = 9999 /* eConnectOutVerify proc returned an error value */ exec @iStatus = taUpdateString @O_iErrorState , @oErrString , @oErrString output, @O_oErrorState output end end
/*** Call eConnectOutVerify proc ***/ if (@I_vRequesterTrx =0) begin exec @iStatus = eConnectOutVerify @I_vDOCTYPE ='Employee', @I_vINDEX1=@I_vEMPLOYID , @I_vINDEX2='', @I_vINDEX3='', @I_vINDEX4='', @I_vINDEX5='', @I_vINDEX6='', @I_vINDEX7='', @I_vINDEX8='', @I_vINDEX9='', @I_vINDEX10='', @I_vINDEX11='', @I_vINDEX12='', @I_vINDEX13='', @I_vINDEX14='', @I_vINDEX15='', @I_vDelete = 1, @O_iErrorState = @ iCustomState output select @iError = @@error if @iStatus = 0 and @ iError <> 0 begin select @iStatus = @ iError end if (@iStatus <> 0) or (@ iCustomState <> 0) begin select @O_iErrorState = 9999 /* eConnectOutVerify proc returned an error value */ exec @iStatus = taUpdateString @O_iErrorState , @oErrString , @oErrString output, @O_oErrorState output end end