COBOL2002 Cosminexus連携機能ガイド
COBOL引数の登録集原文例 01 PERSONAL-DATA. 05 P-NUMBER PIC 9(9) USAGE COMP. 05 P-NAME PIC X(50). 05 P-ADDRESS PIC X(100). 05 P-GIF PIC X(50). COBOLプログラム例 *>**************************************************** *> COBOLサンプルプログラム(Search) * *>**************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. SEARCHCBL. DATA DIVISION. LINKAGE SECTION. COPY SEARCHCBLCOPY. *> 01 PERSONAL-DATA. *> 05 P-NUMBER PIC 9(9) USAGE COMP. *> 05 P-NAME PIC X(50). *> 05 P-ADDRESS PIC X(100). *> 05 P-GIF PIC X(50). PROCEDURE DIVISION USING PERSONAL-DATA. *> 検索処理 IF P-NUMBER=100001 THEN MOVE '日立 一郎' TO P-NAME MOVE '日立市' TO P-ADDRESS MOVE '/ICHIRO.GIF' TO P-GIF ELSE IF P-NUMBER=100002 THEN MOVE '日立 二郎' TO P-NAME MOVE '久留米市' TO P-ADDRESS MOVE '/JIRO.GIF' TO P-GIF ELSE MOVE '登録されていません' TO P-NAME MOVE SPACE TO P-ADDRESS MOVE '/NOREGIST.GIF' TO P-GIF END-IF END-IF. EXIT PROGRAM. END PROGRAM SEARCHCBL.
package test; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.beans.Beans; import jp.co.hitachi_sk.j2cb.*; public class SearchCBLServlet extends HttpServlet { private static final long serialVersionUID = 0L; ServletContext c; //グローバル変数の初期化 public void init(ServletConfig config) throws ServletException { super.init(config); c=config.getServletContext(); } //HTTP Get リクエストの処理 public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String number=""; try { number=req.getParameter("Number"); } catch (Exception e) { e.printStackTrace(); } res.setContentType("text/html; charset=shift_jis"); SearchCBL bean=null; try { //Beanのインスタンス生成 bean=(SearchCBL) Beans.instantiate( this.getClass().getClassLoader(), "test.SearchCBL"); } catch (ClassNotFoundException excp) { excp.printStackTrace(); return; } try { /* Beanにパラメタを設定 */ try { bean.setP_number(new Integer(number)); } catch (NumberFormatException e) { bean.setP_number(new Integer(0)); } bean.setP_name(""); bean.setP_address(""); bean.setP_gif(""); bean.callCOBOL(); //JSP中で"bean"という名称でプロパティを参照できるようにする。 req.setAttribute("bean",bean); //ここでJSPを呼びます javax.servlet.RequestDispatcher rd = c.getRequestDispatcher("/SearchCBL.jsp"); rd.forward(req, res); } catch (J2CBException e) { e.printStackTrace(); return; } } //HTTP Post リクエストの処理 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
<HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=shift_jis"> <TITLE> Search </TITLE> </HEAD> <BODY> <h3><center>COBOL adapter for Cosminexusのサンプル</center></h3> <center>100001 と 100002が登録されています。 <FORM action=/servlet/test.SearchCBLServlet method="POST"> Number:<input type="text" name="Number" value="100001"> <BR><BR> Submit を押すと servlet SearchCBLServlet を実行 <BR><BR><input type=submit value="Submit"></form> </center> </BODY> </HTML>
<%-- This is a JSP of the SEARCH CBL sample. --%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <%@ page contentType="text/html; charset=shift_jis" import="jp.co.hitachi_sk.j2cb.J2CBException" %> <jsp:useBean id="bean" scope="request" class="test.SearchCBL" /> <html> <center>Result of Search. <table border="1"> <tr><td colspan="2" align="center"> <jsp:getProperty name="bean" property="p_number" /> </td><tr><td>Name</td><td> <jsp:getProperty name="bean" property="p_name" /> </td><tr><td>Address</td><td> <jsp:getProperty name="bean" property="p_address" /> <tr><td colspan="2" align="center"> <img src="../servlet<jsp:getProperty name="bean" property="p_gif" />"> </td></table> </center> </html>
All Rights Reserved. Copyright (C) 2003, 2016, Hitachi, Ltd.