C 言語の型のデータから COBOL 型のデータに変換します。 cobput 関数には COBOL データ形式に応じて、多くの関数があります。
include "cbltypes.h" /* Includes cbltypes.h と cobgetput.h を含む */ void cobput_x1_compx(cbl_x1_compx_t *cbldata, cobuns8_t val); void cobput_x2_compx(cbl_x2_compx_t *cbldata, cobuns16_t val); void cobput_x4_compx(cbl_x4_compx_t *cbldata, cobuns32_t val); void cobput_x8_compx(cbl_x8_compx_t *cbldata, cobuns64_t val); void cobput_x1_comp5(cbl_x1_comp5_t *cbldata, cobuns8_t val); void cobput_x2_comp5(cbl_x2_comp5_t *cbldata, cobuns16_t val); void cobput_x4_comp5(cbl_x4_comp5_t *cbldata, cobuns32_t val); void cobput_x8_comp5(cbl_x8_comp5_t *cbldata, cobuns64_t val); void cobput_sx1_comp5(cbl_sx1_comp5_t *cbldata, cobs8_t val); void cobput_sx2_comp5(cbl_sx2_comp5_t *cbldata, cobs16_t val); void cobput_sx4_comp5(cbl_sx4_comp5_t *cbldata, cobs32_t val); void cobput_sx8_comp5(cbl_sx8_comp5_t *cbldata, cobs64_t val); void cobput_xn_comp5(cbl_x1_t *cbldata, cobuns8_t n, cobuns64_t vall); void cobput_xn_compx(cbl_x1_t *cbldata, cobuns8_t n, cobuns64_t val); void cobput_sxn_comp5(cbl_x1_t *cbldata, cobuns8_t n, cobs64_t val); void cobput_pointer(cbl_pointer_t *cbldata, void *val); void cobput_ppointer(cbl_ppointer_t *cbldata, PFR val);
cbldata | COBOL データ項目や cobget 関数名で示されるデータ記述へのポインター。 |
val | COBOL データ項目 cbldata に入れられる値。 |
cobput_xn_compx 関数は、PIC X(3)のような記述のデータ項目にデータを格納します。
なし
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); }