Implementing an account summary transaction

To implement an account summary transaction, do the following:
  1. Define the account summary operation in accountSummaryOp.xml:
    <accountSummaryOp.xml>
      <operation id="accountSummaryOp" context="accountSummaryCtx"
        implClass="com.ibm.btt.poc.operation.AccountSummaryOp">
        <refFormat name="csReplyFormat" refId="accountSummaryOpRecFmt" />
        <opStep id="journalHostRequestDataStep" on0Do="next" onOtherDo="return" />
        <opStep id="sendHostStep" on0Do="next" onOtherDo="return" />
        <opStep id="journalHostReplyDataStep" on0Do="return" />
      </operation>  
    </accountSummaryOp.xml>
  2. Define the account summary context in dsectxt.xml.
    <context id="accountSummaryCtx" type="op">
      <refKColl refId="accountSummaryData" />
    </context>
  3. Define the account summary data element in dsedata.xml.
    <kColl id="accountSummaryData">
      <refData refId="TrxId" />
      <refData refId="AccountNumber" />
      <refData refId="accountSummaryDetails" />
      <refData refId="TrxReplyCode" />
      <refData refId="TrxErrorMessage" />
      <field id="UserId" />
      <field id="TID" />
      <field id="HostBuff" />
      <field id="AccountBalance" />
      <data id="pageName" refType="String"></data>
      <field id="recNumber" />
    </kColl>
  4. Define the account summary data format in dsefmts.xml.
    • Format definition used for account summary transaction in Web 2.0 channel.
      <fmtDef id="accountSummaryXMLFmt">
        <fXML>
          <fString dataName="CustomerName" />
            <iCollF dataName="accounts" times="*">
              <record dataName="account">
                <fString dataName="name" />
                <fString dataName="type" />
                <fString dataName="number" />
                <fString dataName="amount" />
              </record>
      			 </iCollF>
        </fXML>
      	</fmtDef>
      <fmtDef id="accountSummaryDetailQueryXMLFmt">
        <fXML dataName="accountSummaryData">
          <fString dataName="TrxId" />
          <fString dataName="AccountNumber" />
          <iCollF dataName="accountSummaryDetails" times="*">
            <record dataName="accountSummaryLine">
              <fString dataName="OpnDate" />
              <fString dataName="OpnDescription" />
              <fString dataName="OpnAmount" />
              <fString dataName="OpnBalance" />
              <fString dataName="billNumber" />
              <fString dataName="billType" />
              <fString dataName="debitOrCredit" />
            </record>
          </iCollF>
          <fString dataName="TrxErrorMessage" />
        </fXML>
      </fmtDef>
    • Format definition used for account summary transaction in HTML channel, JSF channel and Rich Client.
      <fmtDef id="accountSummaryOpSendFmt">
      		<record>
      			<constant value="Tx04" />
      			<delim delimChar="#" />
      			<fString dataName="AccountNumber" />
      			<delim delimChar="#" />
      		</record>
      	</fmtDef>
      
      	<fmtDef id="accountSummaryOpRecFmt">
        <record>
          <fString dataName="TrxReplyCode" />
          <delim delimChar="#" />
          <iCollF dataName="accountSummaryDetails" times="*">
            <record dataName="accountSummaryLine">
              <fString dataName="OpnDate" />
              <delim delimChar="@" />
              <fString dataName="OpnDescription" />
              <delim delimChar="@" />
              <fString dataName="OpnAmount" />
              <delim delimChar="@" />
              <fString dataName="OpnBalance" />
              <delim delimChar="@" />
              <fString dataName="billNumber" />
              <delim delimChar="@" />
              <fString dataName="billType" />
              <delim delimChar="@" />
              <fString dataName="debitOrCredit" />
              <delim delimChar="@" />
            </record>
          </iCollF>
          <delim delimChar="#" />
          <fString dataName="TrxErrorMessage" />
          <delim delimChar="#" />
        </record>
      </fmtDef>
    • Format definition used for account summary opStep. It’s used to format Journal information.
      <fmtDef id="preSendJournalFmt">
        <hashtable>
          <fObject dataName="UserId" />
          <fObject dataName="TID" />
          <fObject dataName="HostBuff" />
        </hashtable>
      </fmtDef>
      <fmtDef id="afterRecJournalFmt">
        <hashtable>
          <fObject dataName="TrxReplyCode" />
          <fObject dataName="TrxErrorMessage" />
          <fObject dataName="AccountBalance" />
        </hashtable>
      </fmtDef>
  5. Implement the execute() method of account summary opStep.
    • Refer to com.ibm.btt.poc.opstep.JournalHostRequestDataStep.java in the <toolkit_root>/samples/BTTMultiChannleSample/SampleBusiness/ for details.
      Note: This block of code demonstrates how to use Journal service to update a record from the database.
    • Refer to com.ibm.btt.poc.opstep.SendHostStep.java in the <toolkit_root>/samples/BTTMultiChannleSample/SampleBusiness/ for details.
      Note: This block of code demonstrates how to use BTT dummy JCA service to simulate the JCA server.
    • Refer to com.ibm.btt.poc.opstep.JournalHostReplyDataStep.java in the <toolkit_root>/samples/BTTMultiChannleSample/SampleBusiness/ for details.
      Note: This block of code demonstrates how to use Journal service to update a record from a database.