cobget

COBOL ベースのデータを C 言語の型に変換します。 cobget 関数には COBOL データ形式に応じて、多くの関数があります。

構文
#include "cbltypes.h"    /* cbltypes.h と cobgetput.h を含む */

cobuns8_t   cobget_x1_compx(const cbl_x1_compx_t *cbldata);
cobuns16_t  cobget_x2_compx(const cbl_x2_compx_t *cbldata);
cobuns32_t  cobget_x4_compx(const cbl_x4_compx_t *cbldata);
cobuns64_t  cobget_x8_compx(const cbl_x8_compx_t *cbldata);

cobuns8_t   cobget_x1_comp5(const cbl_x1_comp5_t *cbldata);
cobuns16_t  cobget_x2_comp5(const cbl_x2_comp5_t *cbldata);
cobuns32_t  cobget_x4_comp5(const cbl_x4_comp5_t *cbldata);
cobuns64_t  cobget_x8_comp5(const cbl_x8_comp5_t *cbldata);

cobs8_t     cobget_sx1_comp5(const cbl_sx1_comp5_t *cbldata);
cobs16_t    cobget_sx2_comp5(const cbl_sx2_comp5_t *cbldata);
cobs32_t    cobget_sx4_comp5(const cbl_sx4_comp5_t *cbldata);
cobs64_t    cobget_sx8_comp5(const cbl_sx8_comp5_t *cbldata);

cobuns64_t  cobget_xn_comp5(const cbl_x1_t *cbldata, cobuns8_t n);
cobuns64_t  cobget_xn_compx(const cbl_x1_t *cbldata, cobuns8_t n);

cobs64_t    cobget_sxn_comp5(const cbl_x1_t *cbldata, cobuns8_t n);

void       *cobget_pointer(const cbl_pointer_t *cbldata);
PFR         cobget_ppointer(const cbl_ppointer_t *cbldata);
パラメータ
cbldata COBOL データ項目や cobget 関数名で示されるデータ記述へのポインタ
n cobget_xn_ functions に対して cbldata が占有する COBOL 文字位置の数を示します。
コメント

cobget_xn_compx 関数は、PIC X(3)のような記述のデータ項目からデータを抽出します。

同等の COBOL 構文

なし

COBOL プログラム

program-id.  mycblprog.

 copy "cbltypes.cpy".
 
 01  myrec.
      05 myrec-key   		cblt-x4-compx value 10.
 procedure division.
     call 'mycprog'  using myrec-key
     if  myrec-key = 20
         display "First call to 'mycblprog'"
     else
         display "Subsequent call to 'mycblprog'"
     end-if
     exit program
 end program mycblprog.

C プログラム

#include "cbltypes.h"
 void
 mycprog(cbl_x4_compx_t *cbldata)
 {
  cobput_x4_compx(cbldata, cobget_x4_compx(cbldata) + 10);
}
関連項目:

cobput