COBOL2002 Cosminexus連携機能ガイド
生成したCOBOLアクセス用Beanを呼び出すServlet(Java UAP)を作成します。次のことに注意して作成してください。
一般のJavaBeansを利用したServletプログラムと同様に,自動生成されたCOBOLアクセス用Beanを参考にして,COBOL引数の設定を行います。設定時にはsetter(setXxx)を使用して引数領域をすべて設定しておかなければなりません。設定されていない領域の値は保証しません。
01 PERSONAL-DATA. 05 P-NUMBER PIC 9(9) USAGE COMP. 05 P-NAME PIC X(50). 05 P-ADDRESS PIC X(100).
bean.setP_number(new Integer(number)); bean.setP_name(""); bean.setP_address("");
remoteobj.setP_number(new Integer(number)); remoteobj.setP_name(""); remoteobj.setP_address("");
01 G1. 02 G2 OCCURS 10. 05 B1 PIC X(50).
int i=0; for (i=0; i<10 ; i++) { bean.setB1("XXXXX", i); }
int i=0; for (i=0; i<10 ; i++) { remoteobj.setB1("XXXXX", i); }
01 XML-DATA PIC X(10000004).
byte[] sdata=new byte[10000000]; bean.setXml_data(sdata, 50);
byte[] sdata=new byte[10000000]; remoteobj.setXml_data(sdata, 50);
setterの引数には,データ(バイト配列)とデータ長を指定します。
01 XML-DATA USAGE ADDRESS.
byte[] sdata=new byte[20000000]; bean.setXml_data(sdata, 50);
byte[] sdata=new byte[20000000]; remoteobj.setXml_data(sdata, 50);
Beanのsetterを記述後にCOBOLアクセス用BeanのcallCOBOLメソッドを呼び出します。
bean.callCOBOL();
remoteobj.callCOBOL();
Servletで使用する場合は,Beanのgetter(getXxx)を使用することでCOBOLの引数を取得できます。
01 PERSONAL-DATA. 05 P-NUMBER PIC 9(9) USAGE COMP. 05 P-NAME PIC X(50). 05 P-ADDRESS PIC X(100).
Integer wkint =bean.getP_number(); String wkstr1=bean.getP_name(); String wkstr2=bean.getP_address();
Integer wkint =remoteobj.getP_number(); String wkstr1=remoteobj.getP_name(); String wkstr2=remoteobj.getP_address();
01 G1. 02 G2 OCCURS 10. 05 B1 PIC X(50).
String wkstr=bean.getB1(5);
String wkstr=bean.getB1(5);
XML-DATAのデータ属性を「可変長データ(byte[])」にします。データ長は, データ(バイト配列)のlengthプロパティで取得します。
01 XML-DATA PIC X(10000004).
byte[] rdata=bean.getXml_data(); int rlen=rdata.length; // 長さを取得する
byte[] rdata=remoteobj.getXml_data(); int rlen=rdata.length; // 長さを取得する
データ長は,データ(バイト配列)のlengthプロパティで取得します。
01 XML-DATA USAGE ADDRESS.
byte[] rdata=bean.getXml_data(); int rlen=rdata.length; // 長さを取得する
byte[] rdata=remoteobj.getXml_data(); int rlen=rdata.length; // 長さを取得する
また,JSPでBeanを使用することもできます。
javax.servlet.RequestDispatcher rd=c.getRequestDispatcher("/Search.jsp"); rd.forward(req, res);
All Rights Reserved. Copyright (C) 2003, 2016, Hitachi, Ltd.