<asp:Label ID="Label1" runat="server" Text="CATALOG SEARCH"></asp:Label> <asp:Label ID="catalogNumberLabel" runat="server" Text="Catalog Number"></asp:Label> <asp:TextBox ID="textBoxStockNo" runat="server"></asp:TextBox> <asp:Button ID="searchButton" runat="server" Text="Search" OnClick="searchButton_Click" /> <asp:Label ID="errorLabel" runat="server" Text="Status" Visible="False"></asp:Label> <asp:TextBox ID="errorField" runat="server"></asp:TextBox> <asp:Label ID="Label2" runat="server" Text="RESULTS"></asp:Label> <asp:Label ID="titleLabel" runat="server" Text="Title"></asp:Label> <asp:TextBox ID="textBoxTitle" runat="server"></asp:TextBox> <asp:Label ID="authorLabel" runat="server" Text="Author"></asp:Label> <asp:TextBox ID="textBoxAuthor" runat="server"></asp:TextBox> <asp:Label ID="typeLabel" runat="server" Text="Type"></asp:Label> <asp:TextBox ID="textBoxType" runat="server"></asp:TextBox> <asp:Label ID="priceLabel" runat="server" Text="Price"></asp:Label> <asp:TextBox ID="textBoxPrice" runat="server"></asp:TextBox> <asp:Label ID="soldLabel" runat="server" Text="Sold"></asp:Label> <asp:TextBox ID="textBoxSold" runat="server"></asp:TextBox> <asp:Label ID="onHandLabel" runat="server" Text="On Hand"></asp:Label> <asp:TextBox ID="textBoxOnHand" runat="server"></asp:TextBox> <asp:Label ID="stockValueLabel" runat="server" Text="Stock Value"></asp:Label> <asp:TextBox ID="textBoxStockValue" runat="server"></asp:TextBox>
This opens Default.aspx.cbl in the COBOL editor, and inserts a searchButton_Click method into the code. This method is known as a Click Event. At this point in development, the method is empty.
This calls the legacy program and provides input values.
method-id searchButton_Click protected. working-storage section. 01 book type OOSqlBookWrapper.SqlBook. 01 anException type System.Exception. 01 bookFunction string. local-storage section. procedure division using by value lnkSender as object by value lnkEvent as type EventArgs. try set book to type OOSqlBookWrapper.SqlBook::New() set book::StockNumber to textBoxStockNo::Text set bookFunction to "1" invoke book::CallLegacyWithRunUnit(bookFunction) invoke self::PopulateForm(book) catch anException invoke self::DisplayException(anException) end-try end method.
method-id PopulateForm final private. procedure division using aBook as type OOSqlBookWrapper.SqlBook. if aBook <> null set errorLabel::Visible to false set errorField::Visible to false set textBoxStockNo::Text to aBook::StockNumber set textBoxTitle::Text to aBook::Title set textBoxAuthor::Text to aBook::Author set textBoxType::Text to aBook::Type set textBoxPrice::Text to type System.Convert::ToString(aBook::RetailPrice) set textBoxOnhand::Text to type System.Convert::ToString(aBook::NumberOnHand) set textBoxSold::Text to type System.Convert::ToString(aBook::NumberSold) set textBoxStockValue::Text to type System.Convert::ToString(aBook::StockValue) else set textBoxStockNo::Text to "****" set textBoxTitle::Text to "*************************************" set textBoxAuthor::Text to "*************************************" set textBoxType::Text to "****" set textBoxPrice::Text to "****" set textBoxOnhand::Text to "****" set textBoxSold::Text to "****" set textBoxStockValue::Text to "*****" end-if end method. method-id DisplayException private. procedure division using by value lnkException as type System.Exception. set my-book to null set errorLabel::Visible to true set errorField::Visible to true set errorField::Text to lnkException::Message invoke self::PopulateForm(my-book) end method.