| 924 | // |
| 925 | |
| 926 | static void asgn_to_proc( const ref* reference) |
| 927 | { |
| 928 | TEXT s[MAX_REF_SIZE]; |
| 929 | |
| 930 | for (; reference; reference = reference->ref_next) |
| 931 | { |
| 932 | if (!reference->ref_value) |
| 933 | continue; |
| 934 | |
| 935 | gen_name(s, reference, true); |
| 936 | if ((reference->ref_field->fld_dtype == dtype_date) && strlen(gpreGlob.sw_cob_dformat) != 0) |
| 937 | { |
| 938 | sprintf(output_buffer, "%sCALL \"rmc_ctod\" USING %s, %s, \"%s\"\n", |
| 939 | names[COLUMN], |
| 940 | reference->ref_value, |
| 941 | s, |
| 942 | gpreGlob.sw_cob_dformat); |
| 943 | RMC_print_buffer(output_buffer, false); |
| 944 | } |
| 945 | else |
| 946 | { |
| 947 | if ((reference->ref_field->fld_dtype == dtype_sql_date) && (strlen(gpreGlob.sw_cob_dformat) != 0)) |
| 948 | { |
| 949 | sprintf(output_buffer, "%sMOVE ZERO TO ISC-TEMP-QUAD-LOW\n", names[COLUMN]); |
| 950 | RMC_print_buffer(output_buffer, false); |
| 951 | sprintf(output_buffer, "%sMOVE %s TO ISC-TEMP-QUAD-HIGH\n", names[COLUMN], s); |
| 952 | RMC_print_buffer(output_buffer, false); |
| 953 | sprintf(output_buffer, "%sCALL \"rmc_ctod\" USING %s, ISC-TEMP-QUAD, \"%s\"\n", |
| 954 | names[COLUMN], reference->ref_value, gpreGlob.sw_cob_dformat); |
| 955 | RMC_print_buffer(output_buffer, false); |
| 956 | } |
| 957 | else |
| 958 | { |
| 959 | if ((reference->ref_field->fld_dtype == dtype_sql_time) && (strlen(gpreGlob.sw_cob_dformat) != 0)) |
| 960 | { |
| 961 | sprintf(output_buffer, "%sMOVE ZERO TO ISC-TEMP-QUAD-HIGH\n", names[COLUMN]); |
| 962 | RMC_print_buffer(output_buffer, false); |
| 963 | sprintf(output_buffer, "%sMOVE %s TO ISC-TEMP-QUAD-LOW\n", names[COLUMN], s); |
| 964 | RMC_print_buffer(output_buffer, false); |
| 965 | sprintf(output_buffer, "%sCALL \"rmc_ctod\" USING %s, ISC-TEMP-QUAD, \"%s\"\n", |
| 966 | names[COLUMN], reference->ref_value, gpreGlob.sw_cob_dformat); |
| 967 | RMC_print_buffer(output_buffer, false); |
| 968 | } |
| 969 | else |
| 970 | { |
| 971 | if (reference->ref_field->fld_dtype == dtype_cstring) |
| 972 | { |
| 973 | sprintf(output_buffer, "%sCALL \"rmc_ctos\" USING %s GIVING %s\n", |
| 974 | names[COLUMN], s, reference->ref_value); |
| 975 | RMC_print_buffer(output_buffer, false); |
| 976 | } |
| 977 | else |
| 978 | { |
| 979 | if ((reference->ref_field->fld_dtype == dtype_short) || |
| 980 | (reference->ref_field->fld_dtype == dtype_long) || |
| 981 | (reference->ref_field->fld_dtype == dtype_int64)) |
| 982 | { |
| 983 | sprintf(output_buffer, "%sCALL \"rmc_ctob\" USING %s GIVING %s\n", |
no test coverage detected