Issuing a Multiple-Function Request

The following example, GetEffectiveAddress, is a multiple-function call to EnterpriseOne, and the result of this request is a standard jdeResponse document with multiple sections. In a multiple-function request, more than one callMethod within the XML object is specified.


Top of page

Example: Executing a Business Function With a Multiple-Function Call

The following code is a sample Purchase Order in the jdeRequest format. The XML contains return parameter specifications as well as file cleanup logic.

<?xml version='1.0' encoding='utf-8' ?>
<jdeRequest pwd='password' type='callmethod' user='user' session='' 
environment='DV7333' sessionidle=''>
   <callMethod app='XMLTest' name='GetLocalComputerId'
      runOnError='no'>
   <params>
      <param name='szMachineKey' id='machineKey'></param>
   </params>
   <onError abort='yes'>
   </onError>
   </callMethod>
   <callMethod app='XMLTest' name='F4311InitializeCaching'
      runOnError='no'>
   <params>
      <param name='cUseWorkFiles'>2</param>
   </params>
   </callMethod>
   <callMethod app='XMLTest' name='F4311FSBeginDoc' runOnError='no'
      returnNullData='yes'>
   <params>
      <param name='mnJobNumber' id='jobNumber'></param>
      <param name='szComputerID' idref='machineKey'></param>
      <param name='cHeaderActionCode'>A</param>
      <param name='cProcessEdits'>1</param>
      <param name='cUpdateOrWriteToWorkFile'>2</param>
      <param name='cRecordWrittenToWorkFile'>0</param>
      <param name='szOrderCOmpany' id='orderCompany'>00200</param>
      <param name='szOrderType'>OP</param>
      <param name='szOrderSuffix'>000</param>
      <param name='szBranchPlant'>M30</param>
      <param name='mnSupplierNumber'
         id='supplierNumber'>4343</param>
      <param name='mnShipToNumber'>0.0</param>
      <param name='jdOrderDate'>2000/03/02</param>
      <param name='cEvaluatedReceiptsFlag'>N</param>
      <param name='cCurrencyMode'>D</param>
      <param name='szTransactionCurrencyCode'>USD</param>
      <param name='mnCurrencyExchangeRate'>0.0</param>
      <param name='szOrderedPlacedBy'>SUBSTITUTE</param>
      <param name='szProgramID'>EP4310</param>
      <param name='szPurchaseOrderPrOptVersion'
         id='Version'>ZJDE0001</param>
      <param name='szUserID'>SUBSTITUTE</param>
      <param name='mnProcessID' id='processID'></param>
      <param name='mnTransactionID' id='transactionID'></param>
   </params>
   <onError abort='yes'>
   <callMethod app='XMLTest' name='F4311ClearWorkFiles'
      runOnError='yes' returnNullData='yes'>
   <params>
      <param name='szComputerID' idref='jobNumber'></param>
      <param name='mnJobNumber' idref='machineKey'></param>
      <param name='cClearHeaderFile'>1</param>
      <param name='cClearDetailFile'>1</param>
      <param name='mnLineNumber'>0</param>
      <param name='cUseWorkFiles'>2</param>
      <param name='mnProcessID' idref='processID'></param>
      <param name='mnTransactionID' idref='transactionID'></param>
   </params>
   </callMethod>
   </onError>
   </callMethod>
   <!-- This is the first EditLine entry -->
   <callMethod app='XMLTest' name='F4311EditLine' runOnError='yes'
      returnNullData='no'>
   <params>
      <param name='mnJobNumber' idref='jobNumber'></param>
      <param name='szComputerID' idref='machineKey'></param>
      <param name='cDetailActionCode'>A</param>
      <param name='cProcessEdits'>1</param>
      <param name='cUpdateOrWriteWorkFile'>2</param>
      <param name='cCurrencyProcessingFlag'>Y</param>
      <param name='szPurchaseOrderPrOptVersion'
      idref='version'></param>
      <param name='szOrderCompany' idref='orderCompany'></param>
      <param name='szOrderType'>OP</param>
      <param name='szOrderSuffix'>000</param>
      <param name='szBranchPlant'>M30</param>
      <param name='mnSupplierNumber'
         idref='supplierNumber'></param>
      <param name='mnShipToNumber'>0.0</param>
      <param name='jdRequestedDate'>2000/03/02</param>
      <param name='jdTransactionDate'>2000/03/02</param>
      <param name='jdPromisedDate'>2000/03/02</param>
      <param name='jdGLDate'>2000/03/02</param>
      <param name='szUnformattedItemNumber'>1001</param>
      <param name='mnQuantityOrdered'>1</param>
      <param name='szDetailLineBranchPlant'>M30</param>
      <param name='szLastStatus'>220</param>
      <param name='szNextStatus'>230</param>
      <param name='cEvaluatedReceipts'>N</param>
      <param name='szTransactionCurrencyCode'>USD</param>
   </callMethod>
   <!-- This is the second EditLine entry -->
   <callMethod app='XMLTest' name='F4311EditLine' runOnError='yes'
      returnNullData='no'>
   <params>
      <param name='mnJobNumber' idref='jobNumber'></param>
      <param name='szComputerID' idref='machineKey'></param>
      <param name='cDetailActionCode'>A</param>
      <param name='cProcessEdits'>1</param>
      <param name='cUpdateOrWriteWorkFile'>2</param>
      <param name='cCurrencyProcessingFlag'>Y</param>
      <param name='szPurchaseOrderPrOptVersion' 
         idref='version'></param>
      <param name='szOrderCompany' idref='orderCompany'></param>
      <param name='szOrderType'>OP</param>
      <param name='szOrderSuffix'>000</param>
      <param name='szBranchPlant'>M30</param>
      <param name='mnSupplierNumber'
         idref='supplierNumber'></param>
      <param name='mnShipToNumber'>0.0</param>
      <param name='jdRequestedDate'>2000/03/02</param>
      <param name='jdTransactionDate'>2000/03/02</param>
      <param name='jdPromisedDate'>2000/03/02</param>
      <param name='jdGLDate'>2000/03/02</param>
      <param name='szUnformattedItemNumber'>2001</param>
      <param name='mnQuantityOrdered'>3</param>
      <param name='szDetailLineBranchPlant'>M30</param>
      <param name='szLastStatus'>220</param>
      <param name='szNextStatus'>230</param>
      <param name='cEvaluatedReceipts'>N</param>
      <param name='szTransactionCurrencyCode'>USD</param>
      <param name='cSourceRequestingPOGeneration'>0</param>
      <param name='szProgramID'>XMLTest</param>
      <param name='szUserID'>SUBSTITUTE</param>
      <param name='szAgreementNumber'></param>
      <param name='mnAgreementSupplement'>0</param>
      <param name='jdEffectiveDate'></param>
      <param name='szPurchasingCostCenter'></param>
      <param name='szObjectAccount'></param>
      <param name='szSubsidiary'></param>
      <param name='mnProcessID' idref='processID'></param>
      <param name='mnTransactionID' idref='transactionID'></param>
   </params>
   </callMethod>
   <callMethod app='XMLTest' name='F4311EditDoc' runOnError='no'
      returnNullData='no'>
   <params>
      <param name='szOrderSuffix'>000</param>
      <param name='szComputerID' idref='machineKey'></param>
      <param name='mnJobnumber' idref='jobNumber'></param>
      <param name='mnAddressNumber' idref='supplierNumber'></param>
      <param name='szOrderType'>OP</param>
      <param name='szOrderCompany' idref='orderCompany'></param>
      <param name='szVersionProcOption' idref='version'></param>
      <param name='cActionCode'>A</param>
      <param name='mnProcessID' idref='processID'></param>
      <param name='mnTransactionID' idref='transactionID'></param>
   </params>
   </callMethod>
   <callMethod app='XMLTest' name='F4311EndDoc' runOnError='no'
      returnNullData='no'>
   <params>
      <param name='szComputerID' idref='machineKey'></param>
      <param name='mnJobNumber' idref='jobNumber'></param>
      <param name='szCallingApplicationName'>XMLTest</param>
      <param name='szVersion' idref='version'></param>
      <param name='szUserID'>SUBSTITUTE</param>
      <param name='mnOrderNumberAssigned'
         id='orderNumberAssigned'></param>
      <param name='cUseWorkFiles'>2</param>
      <param name='cConsolidateLines'>0</param>
      <param name='mnProcessID' idref='processID'></param>
      <param name='mnTransactionID' idref='transactionID'></param>
   </params>
   </callMethod>
   <returnParams runOnError='yes' returnNullData='no'>
      <param name='JobNumber' idref='machineKey'></param>
      <param name='ComputerID' idref='jobNumber'></param>
      <param name='OrderNumberAssigned' 
         idref='orderNumberAssigned'></param>
   </returnParams>
   <!-- This is a default error catch for the entire document-->
   <onError abort='yes'>
   <callMethod app='XMLTest' name='F4311ClearWorkFiles' 
      runOnError='yes' returnNullData='no'>
   <params>
      <param name='szComputerID' idref='jobNumber'></param>
      <param name='mnJobNumber' idref='machineKey'></param>
      <param name='cClearHeaderFile'>1</param>
      <param name='cClearDetailFile'>1</param>
      <param name='mnLineNumber'>0</param>
      <param name='cUseWorkFiles'>2</param>
      <param name='mnProcessID' idref='processID'></param>
      <param name='mnTransactionID' idref='transactionID'></param>
   </params>
   </callMethod>
   </onError>
</jdeRequest>

The following code shows the Purchase Order response document, which contains individual return codes for each callMethod executed. In addition, this method returns the order number assigned to the Purchase Order.

<?xml version="1.0" encoding="utf-8" ?>
<jdeResponse environment="DV7333" user="JDE" type="callmethod" 
sessionidle="" session="2612.1026498135.5" pwd="JDE">
   <callMethod name="GetLocalComputerId" runOnError="no"
      app="XMLTest">
   <returnCode code="0"/>
   <params>
      <param name="szMachineKey" id="machineKey">XEENT</param>
   </params>
   </callMethod>
   <callMethod name="F4311InitializeCaching" runOnError="no"
      app="XMLTest">
   <returnCode code="0"/>
   <params>
      <param name="cUseWorkFiles">2</param>
   </params>
   </callMethod>
   <callMethod name="F4311FSBeginDoc" returnNullData="yes"
      runOnError="no" app="XMLTest">
   <returnCode code="0"/>
   <params>
      <param name="mnJobNumber" id="jobNumber">3</param>
      <param name="szComputerID" idref="machineKey">XEENT</param>
      <param name="cHeaderActionCode">1</param>
      <param name="cProcessEdits">1</param>
      <param name="cUpdateOrWriteToWorkFile">2</param>
      <param name="cRecordWrittenToWorkFile">1</param>
      <param name="cCurrencyProcessingFlag">Z</param>
      <param name="szOrderCOmpany" id="orderCompany">00200</param>
      <param name="mnOrderNumber">0</param>
      <param name="szOrderType">OP</param>
      <param name="szOrderSuffix">000</param>
      <param name="szBranchPlant">M30</param>
      <param name="szOriginalOrderCompany"/>
      <param name="szOriginalOrderNumber"/>
      <param name="szOriginalOrderType"/>
      <param name="szRelatedOrderCompany"/>
      <param name="szRelatedOrderNumber"/>
      <param name="szRelatedOrderType"/>
      <param name="mnSupplierNumber" 
         id="supplierNumber">17000</param>
       <param name="mnShipToNumber">6074</param>
       <param name="jdRequestedDate">2002/07/12</param>
       <param name="jdOrderDate">2000/03/02</param>
       <param name="jdPromisedDate">2002/07/12</param>
       <param name="jdCancelDate"/>
       <param name="szReference01"/>
       <param name="szReference02"/>
       <param name="szDeliveryInstructions01">
   </param>
         <param name="szDeliveryInstructions02">
   </param>
       <param name="szPrintMessage"/>
       <param name="szSupplierPriceGroup"/>
       <param name="szPaymentTerms"/>
       <param name="szTaxExplanationCode"/>
       <param name="szTaxRateArea"/>
       <param name="szTaxCertificate">                    </param>
       <param name="cAssociatedText"/>
       <param name="szHoldCode"/>
       <param name="szFreightHandlingCode"/>
       <param name="mnBuyerNumber">0</param>
       <param name="mnCarrierNumber">0</param>
       <param name="cEvaluatedReceiptsFlag">N</param>
       <param name="cSendMethod"/>
       <param name="szLandedCostRule">   </param>
       <param name="szApprovalRouteCode"/>
       <param name="mnChangeOrderNumber">0</param>
       <param name="cCurrencyMode">D</param>
       <param name="szTransactionCurrencyCode">USD</param>
       <param name="mnCurrencyExchangeRate">0</param>
       <param name="szOrderedPlacedBy">SUBSTITUTE</param>
       <param name="szOrderTakenBy"/>
       <param name="szProgramID">EP4310</param>
       <param name="szApprovalRoutePO"/>
       <param name="szPurchaseOrderPrOptVersion"
          id="Version">ZJDE0001</param>
       <param name="szBaseCurrencyCode">USD</param>
       <param name="szUserID">SUBSTITUTE</param>
       <param name="cAddNewLineToExistingOrder"/>
       <param name="idInternalVariables">0</param>
       <param name="cSourceOfData"/>
       <param name="mnSODOrderNumber">0</param>
       <param name="szSODOrderType"/>
       <param name="szSODOrderCompany"/>
       <param name="szSODOrderSuffix"/>
       <param name="mnRetainage">0</param>
       <param name="szDescription"/>
      <param name="szRemark"/>
      <param name="jdEffectiveDate"/>
      <param name="jdPhysicalCompletionDate"/>
      <param name="mnTriangulationRateFromCurrenc">0</param>
      <param name="mnTriangulationRateToCurrency">0</param>
      <param name="cCurrencyConversionMethod"/>
      <param name="szPriceAdjustmentScheduleN"/>
      <param name="cAIADocument"/>
      <param name="mnProcessID" id="processID">2612</param>
      <param name="mnTransactionID" id="transactionID">4</param>
   </params>
   </callMethod>
   <callMethod name="F4311EditLine" returnNullData="no"
      runOnError="yes" app="XMLTest">
   <returnCode code="0"/>
   <params>
      <param name="mnJobNumber" idref="jobNumber">3</param>
      <param name="szComputerID" idref="machineKey">XEENT</param>
      <param name="mnOrderLineNumber">1</param>
      <param name="cDetailActionCode">1</param>
      <param name="cProcessEdits">1</param>
      <param name="cUpdateOrWriteWorkFile">2</param>
      <param name="cRecordWrittenToWorkFile">1</param>
      <param name="cCurrencyProcessingFlag">Y</param>
      <param name="szPurchaseOrderPrOptVersion"
         idref="version">ZJDE0001</param>
      <param name="szOrderCompany"
         idref="orderCompany">00200</param>
      <param name="szOrderType">OP</param>
      <param name="szOrderSuffix">000</param>
      <param name="szBranchPlant">M30</param>
      <param name="mnSupplierNumber"
         idref="supplierNumber">17000</param>
      <param name="mnShipToNumber">6074</param>
      <param name="jdRequestedDate">2000/03/02</param>
      <param name="jdTransactionDate">2000/03/02</param>
      <param name="jdPromisedDate">2000/03/02</param>
      <param name="jdGLDate">2000/03/02</param>
      <param name="szUnformattedItemNumber">1001</param>
      <param name="mnQuantityOrdered">1</param>
      <param name="mnUnitPrice">32,1000</param>
      <param name="mnExtendedPrice">32,1</param>
      <param name="szLineType">S</param>
      <param name="szDescription1">Bike Rack - Trunk Mount</param>
     <param name="szDescription2">                        </param>
     <param name="szDetailLineBranchPlant">M30</param>
     <param name="szLocation">  .   .             </param>
     <param name="szLotNumber">                   </param>
     <param name="szTransactionUoM">EA</param>
     <param name="szPurchasingUoM">EA</param>
     <param name="szLastStatus">220</param>
     <param name="szNextStatus">230</param>
     <param name="mnDiscountFactor">1</param>
     <param name="szInventoryPriceRule">        </param>
     <param name="szPrintMessage"> </param>
     <param name="cTaxable">Y</param>
     <param name="szGLClassCode">IN30</param>
     <param name="mnBuyerNumber">8444</param>
     <param name="szPurchasingCategoryCode1"> </param>
     <param name="szPurchasingCategoryCode2"> </param>
     <param name="szPurchasingCategoryCode3"> </param>
     <param name="szPurchasingCategoryCode4">240</param>
     <param name="szLandedCostRule"> </param>
     <param name="mnWeight">80</param>
     <param name="szWeightUoM">OZ</param>
     <param name="mnVolume">2,25</param>
     <param name="szVolumeUoM">FC</param>
     <param name="cEvaluatedReceipts">N</param>
     <param name="cInventoryInterface">Y</param>
     <param name="szTransactionCurrencyCode">USD</param>
     <param name="szBaseCurrencyCode">USD</param>
     <param name="cSourceRequestingPOGeneration">0</param>
     <param name="szProgramID">XMLTest</param>
     <param name="szUserID">SUBSTITUTE</param>
     <param name="szAgreementNumber"/>
     <param name="mnAgreementSupplement">0</param>
     <param name="jdEffectiveDate"/>
     <param name="szPurchasingCostCenter"/>
     <param name="szObjectAccount"/>
     <param name="szSubsidiary"/>
     <param name="cStockingType">P</param>
     <param name="mnProcessID" idref="processID">2612</param>
     <param name="mnTransactionID" idref="transactionID">4</param>
     <param name="mnIdentifierShortItem">60003</param>
   </params>
   </callMethod>
   <callMethod name="F4311EditLine" returnNullData="no"
         runOnError="yes" app="XMLTest">
   <returnCode code="0"/>
   <params>
     <param name="mnJobNumber" idref="jobNumber">3</param>
     <param name="szComputerID" idref="machineKey">XEENT</param>
     <param name="mnOrderLineNumber">2</param>
     <param name="cDetailActionCode">1</param>
     <param name="cProcessEdits">1</param>
     <param name="cUpdateOrWriteWorkFile">2</param>
     <param name="cRecordWrittenToWorkFile">1</param>
     <param name="cCurrencyProcessingFlag">Y</param>
     <param name="szPurchaseOrderPrOptVersion"
         idref="version">ZJDE0001</param>
     <param name="szOrderCompany" 
         idref="orderCompany">00200</param>
     <param name="szOrderType">OP</param>
     <param name="szOrderSuffix">000</param>
     <param name="szBranchPlant">M30</param>
     <param name="mnSupplierNumber"
      idref="supplierNumber">17000</param>
     <param name="mnShipToNumber">6074</param>
     <param name="jdRequestedDate">2000/03/02</param>
     <param name="jdTransactionDate">2000/03/02</param>
     <param name="jdPromisedDate">2000/03/02</param>
     <param name="jdGLDate">2000/03/02</param>
     <param name="szUnformattedItemNumber">2001
     </param>
     <param name="mnQuantityOrdered">3</param>
     <param name="mnUnitPrice">164,0817</param>
     <param name="mnExtendedPrice">492,2451</param>
     <param name="szLineType">S</param>
     <param name="szDescription1">Cro-Moly Frame, Red         </param>
     <param name="szDescription2">                            </param>
     <param name="szDetailLineBranchPlant">M30</param>
     <param name="szLocation">  .   .             </param>
     <param name="szLotNumber">                               </param>
     <param name="szTransactionUoM">EA</param>
     <param name="szPurchasingUoM">EA</param>
     <param name="szLastStatus">220</param>
     <param name="szNextStatus">230</param>
     <param name="mnDiscountFactor">1</param>
     <param name="szInventoryPriceRule">       </param>
     <param name="szPrintMessage"> </param>
     <param name="cTaxable">Y</param>
     <param name="szGLClassCode">IN30</param>
     <param name="szPurchasingCategoryCode1"> </param>
     <param name="szPurchasingCategoryCode2"> </param>
     <param name="szPurchasingCategoryCode3"> </param>
     <param name="szPurchasingCategoryCode4">200</param>
     <param name="szLandedCostRule"> </param>
     <param name="mnWeight">3</param>
     <param name="szWeightUoM">OZ</param>
     <param name="szVolumeUoM">FC</param>
     <param name="cEvaluatedReceipts">N</param>
     <param name="cInventoryInterface">Y</param>
     <param name="szTransactionCurrencyCode">USD</param>
     <param name="szBaseCurrencyCode">USD</param>
     <param name="cSourceRequestingPOGeneration">0</param>
     <param name="szProgramID">XMLTest</param>
     <param name="szUserID">SUBSTITUTE</param>
     <param name="szAgreementNumber"/>
     <param name="mnAgreementSupplement">0</param>
     <param name="jdEffectiveDate"/>
     <param name="szPurchasingCostCenter"/>
     <param name="szObjectAccount"/>
     <param name="szSubsidiary"/>
     <param name="cStockingType">M</param>
     <param name="mnProcessID" idref="processID">2612</param>
     <param name="mnTransactionID" idref="transactionID">4</param>
     <param name="mnIdentifierShortItem">60062</param>
   </params>
   </callMethod>
   <callMethod name="F4311EditDoc" returnNullData="no"
         runOnError="no" app="XMLTest">
   <returnCode code="0"/>
   <params>
     <param name="szOrderSuffix">000</param>
     <param name="szComputerID" idref="machineKey">XEENT</param>
     <param name="mnJobnumber" idref="jobNumber">3</param>
     <param name="mnAddressNumber"
         idref="supplierNumber">17000</param>
     <param name="szOrderType">OP</param>
     <param name="szOrderCompany"
         idref="orderCompany">00200</param>
     <param name="szVersionProcOption"
         idref="version">ZJDE0001</param>
     <param name="cActionCode">A</param>
     <param name="mnProcessID" idref="processID">2612</param>
     <param name="mnTransactionID" idref="transactionID">4</param>
</params>
   </callMethod>
   <callMethod name="F4311EndDoc" returnNullData="no"
         runOnError="no" app="XMLTest">
   <returnCode code="0"/>
   <params>
     <param name="szComputerID" idref="machineKey">XEENT</param>
     <param name="mnJobNumber" idref="jobNumber">3</param>
     <param name="szCallingApplicationName">XMLTest</param>
     <param name="szVersion" idref="version">ZJDE0001</param>
     <param name="szUserID">SUBSTITUTE</param>
     <param name="mnOrderNumberAssigned"
         id="orderNumberAssigned">4884</param>
     <param name="cUseWorkFiles">2</param>
     <param name="cConsolidateLines">0</param>
     <param name="mnProcessID" idref="processID">2612</param>
     <param name="mnTransactionID" idref="transactionID">4</param>
   </params>
   </callMethod>
   <returnParams>
     <param name="JobNumber" idref="machineKey">XEENT</param>
     <param name="ComputerID" idref="jobNumber">3</param>
     <param name="OrderNumberAssigned" idref="orderNumberAssigned">4884</
param>
</returnParams>
</jdeResponse>

iWay Software