Option Explicit Dim skuhome As Object ' SKUHome Dim purchaseorderhome As Object ' PurchaseOrderHome Public hostStr As String Public sidStr As String Public jvmStr As String ' This method validates the hostname, SID, and registered JVM and if they ' are Ok, it creates a SKUHome object Private Sub btnActivate_Click() On Error GoTo errh Dim e As Object Dim xItem As ListItem Dim skustr As String ' Disables action buttons in case the operation failed btnAdd.Enabled = False btnDelete.Enabled = False btnUpdate.Enabled = False btnSubmit.Enabled = False btnQuery.Enabled = False lstSKU.ListItems.Clear ' Gets the address of computer hosting Oracle Application Server hostStr = edtServerAddress.Text ' Gets the SID of the database in which the Purchase Order EJBs have been deployed sidStr = edtSID.Text ' Gets the name of J-Integra® bridging server jvmStr = edtJVM.Text If Len(hostStr) > 0 And Len(sidStr) > 0 And Len(jvmStr) Then ' Creates the JNDI name of SKUHome EJB skustr = jvmStr + ":sess_iiop://" + hostStr + ":2481:" + sidStr + "/test/SKUBean" ' Creates a new SKUHome EJB object Set skuhome = GetObject(skustr) ' Finds all SKU records on the database Set e = skuhome.findAllSkus("") ' Fills lstSKU list with the SKU records data While e.hasMoreElements Dim sku As Object Dim skunumber As String Dim skudesc As String Dim skuprice As String Set sku = e.nextElement() skunumber = sku.getSKUNumber() skudesc = sku.getDescription() skuprice = sku.getPrice() Set xItem = lstSKU.ListItems.Add(Text:=skunumber) xItem.SubItems(1) = skudesc xItem.SubItems(2) = skuprice Wend ' Enables action buttons so user can create a purchase order and submit it. btnAdd.Enabled = True btnDelete.Enabled = True btnUpdate.Enabled = True btnSubmit.Enabled = True btnQuery.Enabled = True Else MsgBox "Please specify the Address of DB Server, the SID, and the JVM!" End If Exit Sub errh: MsgBox "Failed to create EJBs:" + Err.description End Sub ' Adds the new purchase order item to the current purchase order Private Sub btnAdd_Click() Dim xItem As ListItem Dim skunumber As String Dim skudesc As String Dim skuprice As String Dim skutotalprice As String Dim amount As String Set xItem = lstSKU.SelectedItem If Not IsNull(xItem) Then amount = edtAmount.Text skunumber = xItem.Text If IsNumeric(amount) Then skudesc = xItem.SubItems(1) skuprice = xItem.SubItems(2) skutotalprice = Str(Val(amount) * Val(skuprice)) Set xItem = lstPurchaseOrder.ListItems.Add(Text:=skunumber) xItem.SubItems(1) = skudesc xItem.SubItems(2) = skuprice xItem.SubItems(3) = amount xItem.SubItems(4) = skutotalprice End If End If End Sub ' Removes a purchase order item from the current purchase order Private Sub btnDelete_Click() Dim xItem As ListItem Set xItem = lstPurchaseOrder.SelectedItem If Not IsNull(xItem) Then lstPurchaseOrder.ListItems.Remove (xItem.Index) End If End Sub ' Updates a purchase order item on the current purchase order Private Sub btnUpdate_Click() Dim xItem As ListItem Dim yItem As ListItem Dim skunumber As String Dim skudesc As String Dim skuprice As String Dim skutotalprice As String Dim amount As String Set xItem = lstSKU.SelectedItem Set yItem = lstPurchaseOrder.SelectedItem If Not IsNull(xItem) And Not IsNull(yItem) Then amount = edtAmount.Text skunumber = xItem.Text If IsNumeric(amount) Then skudesc = xItem.SubItems(1) skuprice = xItem.SubItems(2) skutotalprice = Str(Val(amount) * Val(skuprice)) yItem.SubItems(1) = skudesc yItem.SubItems(2) = skuprice yItem.SubItems(3) = amount yItem.SubItems(4) = skutotalprice End If End If End Sub ' Submits the current purchase order Private Sub btnSubmit_Click() Dim purchaseorderstr As String Dim xItem As ListItem Dim utstr As String Dim I As Integer Dim po As Object If lstPurchaseOrder.ListItems.count > 0 Then ' Creates the JNDI name of PurchaseOrderHome EJB purchaseorderstr = jvmStr + ":sess_iiop://" + hostStr + ":2481:" + sidStr + "/test/PurchaseOrderBean" ' Creates a new PurchaseOrderHome EJB object Set purchaseorderhome = GetObject(purchaseorderstr) ' Creates a new PurchaseOrder EJB object Set po = purchaseorderhome.Create() For I = 1 To lstPurchaseOrder.ListItems.count Set xItem = lstPurchaseOrder.ListItems(I) ' Adds the current purchase order items to the new PurchaseOrder EJB object po.AddItem Val(xItem.Text), Val(xItem.SubItems(3)) Next I MsgBox "Purchase Order successfully submitted." ' Clears the current purchase order lstPurchaseOrder.ListItems.Clear End If End Sub ' Displays the QueryForm Private Sub btnQuery_Click() QueryForm.Show End Sub Private Sub Form_Load() lstSKU.ColumnHeaders.Clear ' lstSKU ColumnHeaders. lstSKU.ColumnHeaders.Add , , "SKUNumber" lstSKU.ColumnHeaders.Add , , "Description", 3800 lstSKU.ColumnHeaders.Add , , "Unit Price" lstPurchaseOrder.ColumnHeaders.Clear ' lstPurchaseOrder ColumnHeaders. lstPurchaseOrder.ColumnHeaders.Add , , "SKUNumber" lstPurchaseOrder.ColumnHeaders.Add , , "Description", 3800 lstPurchaseOrder.ColumnHeaders.Add , , "Unit Price" lstPurchaseOrder.ColumnHeaders.Add , , "Amount", 800 lstPurchaseOrder.ColumnHeaders.Add , , "Total Price" ' Calls Activate button to connect to the Oracle Application Server btnActivate_Click End Sub |