COMPILATION LISTING OF SEGMENT rw_column_value Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1142.08_Tue_mdt Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* format: off */ 7 8 /* This is the main level procedure called by ssu_ to implement the 9* report_writer_ column_value request. Description and usage follows. 10* 11* Description: 12* 13* This active request returns the value of the current column, the 14* previous column, or the next column. The column is named by the 15* caller. If subtotals or totals are being generated, the subtotal 16* or total for the referenced column is returned. 17* 18* Usage: "column_value STR {-control_args}" 19* 20* where STR is the name or number of the desired column. 21* 22* -control_args can be "-current_row", "-next_row", "-previous_row", 23* or "-default STR". 24* 25* Both parameters are passed to this request by ssu_. 26* 27* 28* Known Bugs: 29* 30* Other Problems: 31* 32* History: 33* 34* Written - Al Dupuis - August 1983 35* Changed - Al Dupuis - October 1984 Became report_writer_. 36* 37**/ 38 39 rw_column_value: proc ( 40 41 sci_ptr_parm, /* input: ptr to the ssu_ info structure */ 42 report_cip_parm /* input: points to report_control_info */ 43 ); 44 45 dcl report_cip_parm ptr parm; 46 dcl sci_ptr_parm ptr parm; 47 48 call initialize; 49 call verify_column_name_or_number; 50 if status.flags.subtotals_ejection_in_progress 51 then call get_subtotal_value; 52 else if status.flags.totals_ejection_in_progress 53 then call get_total_value; 54 else call get_column_value; 55 56 spare_string_length = length (spare_string); 57 spare_string_redefined_ptr = addrel (addr (spare_string), 1); 58 return_value = requote_string_ (spare_string_redefined_as_nonvarying); 59 60 return; 61 62 get_column_value: proc; 63 64 if (status.flags.first_row_of_report & previous_row) 65 | (status.flags.last_row_of_report & next_row) 66 then do; 67 spare_string = default_return_value; 68 return; 69 end; 70 71 if previous_row 72 then the_row_value_ptr = status.previous_row_ptr; 73 else if next_row 74 then the_row_value_ptr = status.next_row_ptr; 75 else the_row_value_ptr = status.current_row_ptr; 76 77 spare_string = substr (the_row_value, 78 table_info.columns.column_index (column_number), 79 table_info.columns.column_length (column_number)); 80 81 return; 82 83 end get_column_value; 84 85 get_subtotal_value: proc; 86 87 not_found = ON; 88 subtotal_ip = format_report_info.subtotal_info_ptr; 89 90 do loop = 1 to subtotal_info.number_of_columns_to_subtotal 91 while (not_found); 92 if column_number = subtotal_info.columns (loop).input_column 93 & subtotal_info.columns (loop).level = subtotal_info.current_level 94 then do; 95 not_found = OFF; 96 subtotal_number = loop; 97 end; 98 end; 99 if not_found 100 then do; 101 call get_column_value; 102 return; 103 end; 104 105 call ioa_$rsnnl (subtotal_info.columns.ioa_string (subtotal_number), 106 spare_string, spare_string_length, 107 subtotal_info.columns.subtotal (subtotal_number)); 108 109 return; 110 111 end get_subtotal_value; 112 113 get_total_value: proc; 114 115 not_found = ON; 116 total_ip = format_report_info.total_info_ptr; 117 118 do loop = 1 to total_info.number_of_columns_to_total 119 while (not_found); 120 if column_number = total_info.input_column (loop) 121 then do; 122 not_found = OFF; 123 total_number = loop; 124 end; 125 end; 126 if not_found 127 then do; 128 call get_column_value; 129 return; 130 end; 131 132 call ioa_$rsnnl (total_info.columns.ioa_string (total_number), 133 spare_string, spare_string_length, 134 total_info.columns.total (total_number)); 135 136 return; 137 138 end get_total_value; 139 140 initialize: proc; 141 142 sci_ptr = sci_ptr_parm; 143 report_cip = report_cip_parm; 144 145 next_row = OFF; 146 previous_row = OFF; 147 current_row = ON; 148 default_return_value = ""; 149 150 call ssu_$return_arg (sci_ptr, number_of_args_supplied, 151 active_request_flag, return_value_ptr, return_value_length); 152 if number_of_args_supplied = 0 153 then call ssu_$abort_line (sci_ptr, error_table_$noarg, 154 "A column name or number must be supplied."); 155 156 if report_cip = null () 157 then call ssu_$abort_line (sci_ptr, rw_error_$no_report); 158 else if ^report_control_info.flags.report_has_been_started 159 then call ssu_$abort_line (sci_ptr, rw_error_$no_report); 160 161 format_report_ip = report_control_info.format_report_info_ptr; 162 table_ip = format_report_info.table_info_ptr; 163 table_control_ip = report_control_info.table_control_info_ptr; 164 table_segments_ip = table_control_info.table_segments_info_ptr; 165 status_pointer = format_report_info.status_ptr; 166 167 call ssu_$arg_ptr (sci_ptr, 1, arg_ptr, arg_length); 168 column_identifier = arg; 169 170 if number_of_args_supplied = 1 171 then return; 172 173 current_arg_number = 2; 174 still_processing_args = ON; 175 176 do loop = 2 to number_of_args_supplied 177 while (still_processing_args); 178 call ssu_$arg_ptr (sci_ptr, current_arg_number, arg_ptr, arg_length); 179 if arg = "-current_row" | arg = "-crw" 180 then do; 181 current_row = ON; 182 previous_row = OFF; 183 next_row = OFF; 184 end; 185 else if arg = "-next_row" | arg = "-nrw" 186 then do; 187 next_row = ON; 188 current_row = OFF; 189 previous_row = OFF; 190 end; 191 else if arg = "-previous_row" | arg = "-prw" 192 then do; 193 previous_row = ON; 194 current_row = OFF; 195 next_row = OFF; 196 end; 197 else if arg = "-default" | arg = "-df" 198 then do; 199 if current_arg_number >= number_of_args_supplied 200 then call ssu_$abort_line (sci_ptr, 201 error_table_$inconsistent, 202 "-default must be followed by a value."); 203 else; 204 current_arg_number = current_arg_number + 1; 205 call ssu_$arg_ptr (sci_ptr, current_arg_number, 206 arg_ptr, arg_length); 207 default_return_value = arg; 208 end; 209 else call ssu_$abort_line (sci_ptr, 210 error_table_$badopt, 211 "^a is not a valid control argument.", arg); 212 current_arg_number = current_arg_number + 1; 213 if current_arg_number > number_of_args_supplied 214 then still_processing_args = OFF; 215 end; 216 217 return; 218 219 end initialize; 220 221 verify_column_name_or_number: proc; 222 223 if verify (column_identifier, DIGITS) = 0 224 then do; 225 column_number = convert (column_number, column_identifier); 226 if column_number < 1 227 | column_number > table_info.column_count 228 then call ssu_$abort_line (sci_ptr, 0, 229 "^d is not a valid column number.", column_number); 230 else; 231 end; 232 else do; 233 not_found = ON; 234 do loop = 1 to table_info.column_count while (not_found); 235 if column_identifier = table_info.columns.column_name (loop) 236 then do; 237 not_found = OFF; 238 column_number = loop; 239 end; 240 end; 241 if not_found 242 then call ssu_$abort_line (sci_ptr, 0, 243 "^a is not a valid column name.", column_identifier); 244 end; 245 246 return; 247 248 end verify_column_name_or_number; 249 250 dcl DIGITS char (10) static int options (constant) init ("0123456789"); 251 dcl OFF bit (1) aligned static int options (constant) init ("0"b); 252 dcl ON bit (1) aligned static int options (constant) init ("1"b); 253 254 dcl active_request_flag bit (1) aligned; 255 dcl addr builtin; 256 dcl addrel builtin; 257 dcl arg char (arg_length) based (arg_ptr); 258 dcl arg_length fixed bin (21); 259 dcl arg_ptr ptr; 260 261 dcl column_number fixed bin; 262 dcl column_identifier char (128) varying; 263 dcl convert builtin; 264 dcl current_arg_number fixed bin; 265 dcl current_row bit (1) aligned; 266 267 dcl default_return_value char (128) varying; 268 269 dcl error_table_$badopt fixed bin(35) ext static; 270 dcl error_table_$inconsistent fixed bin(35) ext static; 271 dcl error_table_$noarg fixed bin(35) ext static; 272 273 dcl ioa_$rsnnl entry() options(variable); 274 275 dcl length builtin; 276 dcl loop fixed bin; 277 278 dcl next_row bit (1) aligned; 279 dcl not_found bit (1) aligned; 280 dcl null builtin; 281 dcl number_of_args_supplied fixed bin; 282 283 dcl previous_row bit (1) aligned; 284 285 dcl requote_string_ entry (char(*)) returns(char(*)); 286 dcl return_value char (return_value_length) varying based (return_value_ptr); 287 dcl return_value_length fixed bin (21); 288 dcl return_value_ptr ptr; 289 dcl rw_error_$no_report fixed bin(35) ext static; 290 291 dcl sci_ptr ptr; 292 dcl spare_string char (MAXIMUM_OPTION_VALUE_LENGTH) varying; 293 dcl spare_string_length fixed bin (21); 294 dcl spare_string_redefined_as_nonvarying char (spare_string_length) based (spare_string_redefined_ptr); 295 dcl spare_string_redefined_ptr ptr; 296 dcl ssu_$abort_line entry() options(variable); 297 dcl ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin(21)); 298 dcl ssu_$return_arg entry (ptr, fixed bin, bit(1) aligned, ptr, fixed bin(21)); 299 dcl still_processing_args bit (1) aligned; 300 dcl substr builtin; 301 dcl subtotal_number fixed bin; 302 303 dcl the_row_value char (table_info.row_value_length) based (the_row_value_ptr); 304 dcl the_row_value_ptr ptr; 305 dcl total_number fixed bin; 306 307 dcl verify builtin; 308 1 1 /* BEGIN INCLUDE FILE ... arg_descriptor.incl.pl1 1 2* 1 3* James R. Davis 1 Mar 79 */ 1 4 /* Modified June 83 JMAthane for extended arg descriptor format */ 1 5 1 6 dcl 1 arg_descriptor based (arg_descriptor_ptr) aligned, 1 7 2 flag bit (1) unal, 1 8 2 type fixed bin (6) unsigned unal, 1 9 2 packed bit (1) unal, 1 10 2 number_dims fixed bin (4) unsigned unal, 1 11 2 size fixed bin (24) unsigned unal; 1 12 1 13 dcl 1 fixed_arg_descriptor based (arg_descriptor_ptr) aligned, 1 14 2 flag bit (1) unal, 1 15 2 type fixed bin (6) unsigned unal, 1 16 2 packed bit (1) unal, 1 17 2 number_dims fixed bin (4) unsigned unal, 1 18 2 scale fixed bin (11) unal, 1 19 2 precision fixed bin (12) unsigned unal; 1 20 1 21 dcl 1 extended_arg_descriptor based (arg_descriptor_ptr) aligned, 1 22 2 flag bit (1) unal, /* = "1"b */ 1 23 2 type fixed bin (6) unsigned unal, /* = 58 */ 1 24 2 packed bit (1) unal, /* significant if number_dims ^= 0 */ 1 25 2 number_dims fixed (4) unsigned unal,/* number of variable dimensions */ 1 26 2 size bit (24) unal, 1 27 2 dims (0 refer (extended_arg_descriptor.number_dims)), /* part referenced by called generated code */ 1 28 3 low fixed bin (35), 1 29 3 high fixed bin (35), 1 30 3 multiplier fixed bin (35), /* in bits if packed, in words if not */ 1 31 2 real_type fixed bin (18) unsigned unal, 1 32 2 type_offset fixed bin (18) unsigned unal; /* offset rel to symbol tree to symbol node for type, if any */ 1 33 1 34 dcl arg_descriptor_ptr ptr; 1 35 1 36 dcl extended_arg_type fixed bin init (58); 1 37 1 38 /* END INCLUDE file .... arg_descriptor.incl.pl1 */ 309 310 2 1 /* BEGIN INCLUDE FILE ... arg_list.incl.pl1 2 2* 2 3* James R. Davis 10 May 79 */ 2 4 2 5 2 6 2 7 /****^ HISTORY COMMENTS: 2 8* 1) change(86-05-15,DGHowe), approve(86-05-15,MCR7375), 2 9* audit(86-07-15,Schroth): 2 10* added command_name_arglist declaration to allow the storage of the 2 11* command name given to the command processor 2 12* END HISTORY COMMENTS */ 2 13 2 14 dcl 1 arg_list aligned based, 2 15 2 header, 2 16 3 arg_count fixed bin (17) unsigned unal, 2 17 3 pad1 bit (1) unal, 2 18 3 call_type fixed bin (18) unsigned unal, 2 19 3 desc_count fixed bin (17) unsigned unal, 2 20 3 pad2 bit (19) unal, 2 21 2 arg_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr, 2 22 2 desc_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr; 2 23 2 24 2 25 dcl 1 command_name_arglist aligned based, 2 26 2 header, 2 27 3 arg_count fixed bin (17) unsigned unal, 2 28 3 pad1 bit (1) unal, 2 29 3 call_type fixed bin (18) unsigned unal, 2 30 3 desc_count fixed bin (17) unsigned unal, 2 31 3 mbz bit(1) unal, 2 32 3 has_command_name bit(1) unal, 2 33 3 pad2 bit (17) unal, 2 34 2 arg_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 2 35 2 desc_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 2 36 2 name, 2 37 3 command_name_ptr pointer, 2 38 3 command_name_length fixed bin (21); 2 39 2 40 2 41 2 42 dcl 1 arg_list_with_envptr aligned based, /* used with non-quick int and entry-var calls */ 2 43 2 header, 2 44 3 arg_count fixed bin (17) unsigned unal, 2 45 3 pad1 bit (1) unal, 2 46 3 call_type fixed bin (18) unsigned unal, 2 47 3 desc_count fixed bin (17) unsigned unal, 2 48 3 pad2 bit (19) unal, 2 49 2 arg_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr, 2 50 2 envptr ptr, 2 51 2 desc_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr; 2 52 2 53 2 54 dcl ( 2 55 Quick_call_type init (0), 2 56 Interseg_call_type init (4), 2 57 Envptr_supplied_call_type 2 58 init (8) 2 59 ) fixed bin (18) unsigned unal int static options (constant); 2 60 2 61 /* The user must declare arg_list_arg_count - if an adjustable automatic structure 2 62* is being "liked" then arg_list_arg_count may be a parameter, in order to allocate 2 63* an argument list of the proper size in the user's stack 2 64* 2 65**/ 2 66 /* END INCLUDE FILE ... arg_list.incl.pl1 */ 311 312 3 1 /* BEGIN INCLUDE FILE rw_options_extents.incl.pl1 3 2* 3 3* Extents for the formatting options used for producing reports. 3 4* Kept as a separate include so that some programs may include this 3 5* file without including rw_format_options.incl.pl1 3 6* 3 7* Al Dupuis - August 1983 3 8* 3 9**/ 3 10 /* format: off */ 3 11 3 12 /* The three types of format options that we have. */ 3 13 3 14 dcl GENERAL_REPORT_OPTION fixed bin static int options (constant) init (1); 3 15 dcl GENERAL_COLUMN_OPTION fixed bin static int options (constant) init (2); 3 16 dcl SPECIFIC_COLUMN_OPTION fixed bin static int options (constant) init (3); 3 17 3 18 /* Used to determine how big the tables are without doing a hbound on it. */ 3 19 3 20 dcl NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (15); 3 21 dcl NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE fixed bin static int options (constant) init (9); 3 22 dcl NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (6); 3 23 3 24 /* Used to determine how much space is needed to list them. */ 3 25 3 26 dcl LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (10); /* -alignment */ 3 27 dcl LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH fixed bin static int options (constant) init (25); /* -format_document_controls */ 3 28 dcl LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (21); /* -group_footer_trigger */ 3 29 3 30 /* MAXIMUM_OPTION_IDENTIFIER_LENGTH + MAXIMUM_OPTION_NAME_LENGTH */ 3 31 3 32 dcl MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH fixed bin static int options (constant) init (101); 3 33 3 34 dcl MAXIMUM_OPTION_IDENTIFIER_LENGTH fixed bin static int options (constant) init (69); 3 35 dcl MAXIMUM_OPTION_NAME_LENGTH fixed bin static int options (constant) init (32); 3 36 dcl MAXIMUM_OPTION_VALUE_LENGTH fixed bin static int options (constant) init (4096); 3 37 3 38 /* Used to index into the OPTIONS tables defined in rw_format_options.incl.pl1. */ 3 39 3 40 dcl INDEX_FOR_DELIMITER fixed bin static int options (constant) init (1); 3 41 dcl INDEX_FOR_FORMAT_DOCUMENT_CONTROLS fixed bin static int options (constant) init (2); 3 42 dcl INDEX_FOR_HYPHENATION fixed bin static int options (constant) init (3); 3 43 dcl INDEX_FOR_PAGE_FOOTER_VALUE fixed bin static int options (constant) init (4); 3 44 dcl INDEX_FOR_PAGE_HEADER_VALUE fixed bin static int options (constant) init (5); 3 45 dcl INDEX_FOR_PAGE_LENGTH fixed bin static int options (constant) init (6); 3 46 dcl INDEX_FOR_PAGE_WIDTH fixed bin static int options (constant) init (7); 3 47 dcl INDEX_FOR_TITLE_LINE fixed bin static int options (constant) init (8); 3 48 dcl INDEX_FOR_TRUNCATION fixed bin static int options (constant) init (9); 3 49 3 50 dcl INDEX_FOR_COLUMN_ORDER fixed bin static int options (constant) init (1); 3 51 dcl INDEX_FOR_COUNT fixed bin static int options (constant) init (2); 3 52 dcl INDEX_FOR_EXCLUDE fixed bin static int options (constant) init (3); 3 53 dcl INDEX_FOR_GROUP fixed bin static int options (constant) init (4); 3 54 dcl INDEX_FOR_GROUP_FOOTER_TRIGGER fixed bin static int options (constant) init (5); 3 55 dcl INDEX_FOR_GROUP_FOOTER_VALUE fixed bin static int options (constant) init (6); 3 56 dcl INDEX_FOR_GROUP_HEADER_TRIGGER fixed bin static int options (constant) init (7); 3 57 dcl INDEX_FOR_GROUP_HEADER_VALUE fixed bin static int options (constant) init (8); 3 58 dcl INDEX_FOR_OUTLINE fixed bin static int options (constant) init (9); 3 59 dcl INDEX_FOR_PAGE_BREAK fixed bin static int options (constant) init (10); 3 60 dcl INDEX_FOR_ROW_FOOTER_VALUE fixed bin static int options (constant) init (11); 3 61 dcl INDEX_FOR_ROW_HEADER_VALUE fixed bin static int options (constant) init (12); 3 62 dcl INDEX_FOR_SUBCOUNT fixed bin static int options (constant) init (13); 3 63 dcl INDEX_FOR_SUBTOTAL fixed bin static int options (constant) init (14); 3 64 dcl INDEX_FOR_TOTAL fixed bin static int options (constant) init (15); 3 65 3 66 dcl INDEX_FOR_ALIGNMENT fixed bin static int options (constant) init (1); 3 67 dcl INDEX_FOR_EDITING fixed bin static int options (constant) init (2); 3 68 dcl INDEX_FOR_FOLDING fixed bin static int options (constant) init (3); 3 69 dcl INDEX_FOR_SEPARATOR fixed bin static int options (constant) init (4); 3 70 dcl INDEX_FOR_TITLE fixed bin static int options (constant) init (5); 3 71 dcl INDEX_FOR_WIDTH fixed bin static int options (constant) init (6); 3 72 3 73 /* END INCLUDE FILE rw_options_extents */ 313 314 4 1 /* BEGIN INCLUDE FILE rw_report_info.incl.pl1 4 2* Information needed to control the report environment. 4 3* Al Dupuis - August 1983 4 4**/ 4 5 /* format: off */ 4 6 4 7 dcl 1 report_control_info aligned based (report_cip), 4 8 2 flags, 4 9 3 report_is_paginated bit (1) unaligned, /* paged or one continous stream */ 4 10 3 table_has_been_started bit (1) unaligned, /* table clean up is necessary */ 4 11 3 table_is_full bit (1) unaligned, /* no more retrieves are necessary */ 4 12 3 report_has_been_started bit (1) unaligned, /* report clean up is necessary */ 4 13 3 report_is_formatted bit (1) unaligned, /* no more formatting is necessary */ 4 14 3 permanent_report bit (1) unaligned, /* or disposable */ 4 15 3 permanent_table bit (1) unaligned, /* or disposable */ 4 16 3 report_has_just_been_completed bit (1) unaligned, /* used for printing timers */ 4 17 3 table_has_just_been_loaded bit (1) unaligned, /* used for printing timers */ 4 18 3 multi_pass_mode bit (1) unaligned, /* on if we are to do more than 1 pass */ 4 19 3 available bit (26) unaligned, 4 20 2 format_options_flags, /* used to determine if value is default */ 4 21 3 general_report_default_value (NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE) bit (1) unaligned, 4 22 3 general_column_default_value (NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE) bit (1) unaligned, 4 23 2 value_seg_ptr ptr, /* the options value seg */ 4 24 2 table_information_ptr ptr, /* points to table_info */ 4 25 2 table_control_info_ptr ptr, /* points to table_control_info */ 4 26 2 row_value_temp_segment_ptr ptr, /* points to a segment for the row value */ 4 27 2 general_work_area_ptr ptr, /* a freeing work area */ 4 28 2 name_value_area_ptr ptr, /* area for name-value allocations */ 4 29 2 subsystem_control_info_ptr ptr, /* ptr for ssu_ info structure */ 4 30 2 subsystems_info_ptr ptr, /* points to subsystems info structure */ 4 31 2 name_value_temp_seg_ptr ptr, /* temp seg for name-value space */ 4 32 2 report_temp_seg_ptr ptr, /* report workspace */ 4 33 2 report_work_area_ptr ptr, /* report workspace */ 4 34 2 format_report_info_ptr ptr, /* info needed to create a report */ 4 35 2 input_string_temp_seg_ptr ptr, /* report workspace */ 4 36 2 output_string_temp_seg_ptr ptr, /* report workspace */ 4 37 2 editing_strings_temp_seg_ptr ptr, /* report workspace */ 4 38 2 headers_temp_seg_ptr ptr, /* report workspace */ 4 39 2 display_iocb_ptr ptr, /* report is displayed through this */ 4 40 2 area_info_ptr ptr, /* points to area_info structure */ 4 41 2 table_manager_delete_table_entry variable entry (ptr, fixed bin (35)), /* entry who deletes the table */ 4 42 2 table_manager_get_query_entry variable entry (ptr, ptr, fixed bin (21), fixed bin (35)), /* entry who gets the query */ 4 43 2 table_manager_get_row_entry variable entry (ptr, fixed bin (35)), /* entry who loads rows */ 4 44 2 table_manager_create_table_entry variable entry (ptr, fixed bin (35)), /* entry who makes a new table */ 4 45 2 options_identifier fixed bin, /* current set of options */ 4 46 2 report_identifier fixed bin, /* current report */ 4 47 2 no_of_rows_retrieved fixed bin (35), /* current no of rows */ 4 48 2 no_of_formatted_pages fixed bin (21), /* current no of pages */ 4 49 2 number_of_passes fixed bin, /* number of times report will be formatted */ 4 50 2 table_loading_time float bin (63), 4 51 2 table_sorting_time float bin (63), 4 52 2 table_deletion_time float bin (63), 4 53 2 report_setup_time float bin (63), 4 54 2 report_formatting_time float bin (63), 4 55 2 report_display_time float bin (63), 4 56 2 report_deletion_time float bin (63), 4 57 2 ssu_evaluate_active_string_time float bin (63), 4 58 2 temp_dir_unique_id bit (36), /* uid of temp dir */ 4 59 2 subsystems_ec_suffix char (32), /* suffix for saving and restoring ecs */ 4 60 2 temp_dir_name char (168) unaligned; /* the dir where we place the retrieved table and report */ 4 61 dcl report_cip ptr init (null ()); 4 62 4 63 /* END INCLUDE FILE rw_report_info.incl.pl1 */ 315 316 5 1 /* BEGIN INCLUDE FILE rw_report_structures.incl.pl1 5 2* 5 3* Written - Al Dupuis - August 1983 5 4**/ 5 5 /* format: off */ 5 6 5 7 /* Used in column_info.alignment and column_info.subsystem_data_type */ 5 8 5 9 dcl BIT_DATA_TYPE fixed bin static int options (constant) init (1); 5 10 dcl BOTH_ALIGNMENT fixed bin static int options (constant) init (1); 5 11 dcl CENTER_ALIGNMENT fixed bin static int options (constant) init (2); 5 12 dcl CHAR_DATA_TYPE fixed bin static int options (constant) init (2); 5 13 dcl DECIMAL_ALIGNMENT fixed bin static int options (constant) init (3); 5 14 dcl DECIMAL_DATA_TYPE fixed bin static int options (constant) init (3); 5 15 dcl LEFT_ALIGNMENT fixed bin static int options (constant) init (4); 5 16 dcl NUMERIC_DATA_TYPE fixed bin static int options (constant) init (4); 5 17 dcl RIGHT_ALIGNMENT fixed bin static int options (constant) init (5); 5 18 5 19 dcl 1 column_info aligned based (column_ip), 5 20 2 flags, 5 21 3 folding_is_fill bit (1) unaligned, /* fill or truncate */ 5 22 3 outline bit (1) unaligned, /* on means the display has been suppressed */ 5 23 3 editing bit (1) unaligned, /* on means there is an editing request */ 5 24 3 restore_editing bit (1) unaligned, /* used to toggle the editing bit */ 5 25 3 available bit (32) unaligned, 5 26 2 order fixed bin, /* as specified by the user */ 5 27 2 input_column fixed bin, /* # of the column in the table */ 5 28 2 output_column fixed bin, /* # of the column on the page */ 5 29 2 output_line fixed bin, /* within the block */ 5 30 2 starting_position fixed bin, /* within the page width */ 5 31 2 width fixed bin, /* in characters */ 5 32 2 alignment fixed bin, /* set to one of the above alignment constants */ 5 33 2 decimal_position fixed bin, /* only needed for decimal alignment */ 5 34 2 subsystem_data_type fixed bin, /* set to one of the above data type constants */ 5 35 2 editing_string_length fixed bin (21), /* before evaluation */ 5 36 2 editing_string_result_length fixed bin (21), /* after evaluation */ 5 37 2 editing_string_ptr ptr, /* before evaluation */ 5 38 2 editing_string_result_ptr ptr, /* after evaluation */ 5 39 2 prefix_character char (1) varying; /* column prefix */ 5 40 dcl column_ip ptr; 5 41 5 42 dcl 1 columns_info aligned based (columns_ip), /* an array of column_info's */ 5 43 2 number_of_columns fixed bin, 5 44 2 columns (initialize_number_of_columns 5 45 refer (columns_info.number_of_columns)) like column_info; 5 46 dcl columns_ip ptr; 5 47 5 48 dcl 1 column_map (column_map_number_of_columns) aligned based (column_mp), 5 49 2 present bit (1), /* the column is present in the list */ 5 50 2 position fixed bin; /* position where this column was found in the list */ 5 51 dcl column_map_number_of_columns fixed bin; 5 52 dcl column_mp ptr; 5 53 5 54 dcl 1 count_columns_info like columns_info based (count_columns_ip); 5 55 dcl count_columns_ip ptr; 5 56 5 57 dcl 1 count_info like total_info based (count_ip); 5 58 dcl count_ip ptr; 5 59 5 60 /* Used to access the current row from the table */ 5 61 dcl current_row_value char (table_info.row_value_length) based (status.current_row_ptr); 5 62 5 63 /* Used to pick up the value before or after evaluation */ 5 64 dcl editing_string_result char (editing_string_rl) based (editing_string_rp); 5 65 dcl editing_string_rl fixed bin; 5 66 dcl editing_string_rp ptr; 5 67 5 68 dcl editing_strings_next_byte fixed bin (21); 5 69 /* Used to store editing strings before and after evaluation. */ 5 70 dcl editing_strings_temp_seg char (maximum_segment_size) based (editing_strings_tsp); 5 71 dcl editing_strings_temp_seg_as_an_array (maximum_segment_size) char (1) based (editing_strings_tsp); 5 72 dcl editing_strings_tsp ptr; 5 73 5 74 dcl 1 format_report_info aligned based (format_report_ip), 5 75 2 flags, 5 76 3 unlimited_page_length bit (1) unaligned, /* -page_length equal to zero */ 5 77 3 unlimited_page_width bit (1) unaligned, /* -page_width equal to zero */ 5 78 3 page_header_is_defined bit (1) unaligned, /* -page_header_value */ 5 79 3 group_header_is_defined bit (1) unaligned, /* -group_header_value */ 5 80 3 group_header_trigger_is_defined bit (1) unaligned, /* -group_header_trigger */ 5 81 3 title_block_is_defined bit (1) unaligned, /* -title_line */ 5 82 3 row_header_is_defined bit (1) unaligned, /* -row_header_value */ 5 83 3 row_value_is_defined bit (1) unaligned, /* if all of the columns weren't excluded */ 5 84 3 row_footer_is_defined bit (1) unaligned, /* -row_footer_value */ 5 85 3 group_footer_is_defined bit (1) unaligned, /* -group_footer_value */ 5 86 3 group_footer_trigger_is_defined bit (1) unaligned, /* -group_footer_trigger */ 5 87 3 page_footer_is_defined bit (1) unaligned, /* -page_footer_value */ 5 88 3 editing_is_defined bit (1) unaligned, /* -editing */ 5 89 3 exclude_is_defined bit (1) unaligned, /* -exclude */ 5 90 3 group_is_defined bit (1) unaligned, /* -group */ 5 91 3 outline_is_defined bit (1) unaligned, /* -outline */ 5 92 3 page_break_is_defined bit (1) unaligned, /* -page_break */ 5 93 3 subtotal_is_defined bit (1) unaligned, /* -subtotal */ 5 94 3 subcount_is_defined bit (1) unaligned, /* -subcount */ 5 95 3 total_is_defined bit (1) unaligned, /* -total */ 5 96 3 count_is_defined bit (1) unaligned, /* -count */ 5 97 3 available bit (15) unaligned, 5 98 2 page_width fixed bin, /* as given by the user */ 5 99 2 page_length fixed bin, /* as given by the user */ 5 100 2 number_of_formatted_rows fixed bin (35), /* updated at the end of each page */ 5 101 2 editing_strings_next_available_byte fixed bin (21), /* beginning of temp space for execution */ 5 102 2 headers_next_available_byte fixed bin (21), /* beginning of temp space for execution */ 5 103 2 report_iocb_ptr ptr, /* for saving copies of the page */ 5 104 2 table_info_ptr ptr, /* to avoid repetitive calls to rw_table$info */ 5 105 2 format_document_op ptr, /* format_document_options structure */ 5 106 2 page_info_ptr ptr, /* page_info structure */ 5 107 2 copy_of_page_info_ptr ptr, /* version of page_info structure that can be changed */ 5 108 /* after each page */ 5 109 2 formatted_page_info_ptr ptr, /* formatted_page_info structure */ 5 110 2 overstrike_info_ptr ptr, /* page_overstrike_info structure */ 5 111 2 status_ptr ptr, /* status structure */ 5 112 2 template_map_ptr ptr, /* template_map array */ 5 113 2 page_header_info_ptr ptr, /* header_info structure */ 5 114 2 page_footer_info_ptr ptr, /* header_info structure */ 5 115 2 group_header_info_ptr ptr, /* header_info structure */ 5 116 2 group_footer_info_ptr ptr, /* header_info structure */ 5 117 2 group_header_trigger_info_ptr ptr, /* group_info structure */ 5 118 2 group_footer_trigger_info_ptr ptr, /* group_info structure */ 5 119 2 row_header_info_ptr ptr, /* header_info structure */ 5 120 2 row_footer_info_ptr ptr, /* header_info structure */ 5 121 2 title_block_columns_info_ptr ptr, /* title_block_columns_info structure */ 5 122 2 title_block_info_ptr ptr, /* title_block_info structure */ 5 123 2 input_columns_info_ptr ptr, /* input_columns_info structure */ 5 124 2 input_columns_order_ptr ptr, /* input_columns_order array */ 5 125 2 output_columns_info_ptr ptr, /* output_columns_info structure */ 5 126 2 group_info_ptr ptr, /* group_info structure */ 5 127 2 outline_info_ptr ptr, /* outline_info structure */ 5 128 2 page_break_info_ptr ptr, /* page_break_info structure */ 5 129 2 subtotal_info_ptr ptr, /* subtotal_info structure */ 5 130 2 subcount_info_ptr ptr, /* subcount_info structure */ 5 131 2 total_info_ptr ptr, /* total_info structure */ 5 132 2 count_info_ptr ptr, /* count_info structure */ 5 133 2 row_value_template_info_ptr ptr, /* row_value_template_info structure */ 5 134 2 generic_template_ptr ptr, /* generic_template char string */ 5 135 2 header_part_delimiter char (1) unaligned, /* delimits the different portions of a header/footer */ 5 136 2 truncation_indicator char (32) varying unaligned, /* used to indicate that truncation has occured */ 5 137 2 report_directory_name char (168) unaligned, /* dir where we place copies of the page */ 5 138 2 report_entry_name char (32) unaligned; /* entry name portion of above */ 5 139 dcl format_report_ip ptr; 5 140 5 141 /* used to format page/row headers and footers */ 5 142 dcl generic_template char (generic_template_length) based (generic_tp); 5 143 dcl generic_template_length fixed bin; 5 144 dcl generic_tp ptr; 5 145 5 146 /* these columns form a group of rows and are used with outlining, etc. */ 5 147 dcl 1 group_info aligned based (group_ip), 5 148 2 number_of_columns_to_group fixed bin, 5 149 2 column_number (gi_init_number_of_columns_to_group 5 150 refer (group_info.number_of_columns_to_group)) fixed bin; 5 151 dcl gi_init_number_of_columns_to_group fixed bin; 5 152 dcl group_ip ptr; 5 153 5 154 dcl headers_next_byte fixed bin (21); 5 155 /* used to hold the page/row headers/footers, and temp space for totals/subtotals. */ 5 156 dcl headers_temp_seg char (maximum_segment_size) based (headers_tsp); 5 157 dcl headers_temp_seg_as_an_array (maximum_segment_size) char (1) based (headers_tsp); 5 158 dcl headers_tsp ptr; 5 159 5 160 dcl 1 header_info aligned based (header_ip), 5 161 2 number_of_lines fixed bin, /* number of header lines typed in by the user */ 5 162 2 maximum_number_of_parts fixed bin, /* 3 parts maximum (left, right, and center) */ 5 163 2 lines (hi_init_number_of_lines 5 164 refer (header_info.number_of_lines)), 5 165 3 parts (hi_init_maximum_number_of_parts 5 166 refer (header_info.maximum_number_of_parts)), 5 167 4 flags, 5 168 5 present bit (1) unaligned, /* this particular part is defined */ 5 169 5 active bit (1) unaligned, /* and it contains active functions */ 5 170 5 available bit (34) unaligned, 5 171 4 index fixed bin (21), /* before evaluation */ 5 172 4 length fixed bin (21), /* before evaluation */ 5 173 4 starting_position fixed bin, /* within the page width */ 5 174 4 width fixed bin, /* within the page width */ 5 175 4 alignment fixed bin; /* left, right, or center */ 5 176 dcl header_ip ptr; 5 177 dcl hi_init_maximum_number_of_parts fixed bin; 5 178 dcl hi_init_number_of_lines fixed bin; 5 179 5 180 dcl initialize_number_of_columns fixed bin; /* columns_info refer extent */ 5 181 5 182 dcl 1 input_columns_info aligned like columns_info based (input_columns_ip); /* the columns in the table */ 5 183 dcl input_columns_ip ptr; 5 184 5 185 dcl input_columns_order (input_columns_info.number_of_columns) fixed bin based (input_columns_op); 5 186 dcl input_columns_op ptr; 5 187 5 188 dcl maximum_segment_size fixed bin (21); /* in characters */ 5 189 5 190 /* Used to access the next row from the table */ 5 191 dcl next_row_value char (table_info.row_value_length) based (status.next_row_ptr); 5 192 5 193 dcl 1 outline_info aligned based (outline_ip), /* who gets oulining attempted */ 5 194 2 maximum_number_of_single_columns fixed bin, 5 195 2 maximum_number_of_grouping_columns fixed bin, 5 196 2 number_of_single_columns fixed bin, /* columns who are not a member of the group */ 5 197 2 number_of_grouping_columns fixed bin, /* columns who are a member of the group */ 5 198 2 single_columns (oi_init_maximum_number_of_single_columns refer ( 5 199 outline_info.maximum_number_of_single_columns)) fixed bin, 5 200 2 grouping_columns (oi_init_maximum_number_of_grouping_columns refer ( 5 201 outline_info.maximum_number_of_grouping_columns)) fixed bin; 5 202 dcl oi_init_maximum_number_of_grouping_columns fixed bin; 5 203 dcl oi_init_maximum_number_of_single_columns fixed bin; 5 204 dcl outline_ip ptr; 5 205 5 206 dcl 1 output_columns_info like columns_info based (output_columns_ip); /* the columns that will go on the page */ 5 207 dcl output_columns_ip ptr; 5 208 5 209 /* these columns will be checked to determine if a page break is required */ 5 210 dcl 1 page_break_info aligned based (page_break_ip), 5 211 2 number_of_columns fixed bin, 5 212 2 columns (pbi_init_number_of_columns refer ( 5 213 page_break_info.number_of_columns)) bit (1) unaligned; 5 214 dcl page_break_ip ptr; 5 215 dcl pbi_init_number_of_columns fixed bin; 5 216 5 217 /* Used to access the previous row from the table */ 5 218 dcl previous_row_value char (table_info.row_value_length) based (status.previous_row_ptr); 5 219 5 220 /* The templates for the row value (also used for titles, subtotals, and totals.) */ 5 221 dcl 1 row_value_template_info like template_info based (row_value_template_ip); 5 222 dcl row_value_template_ip ptr; 5 223 5 224 /* main execution control structure for rw_fr_build_page */ 5 225 dcl 1 status aligned based (status_pointer), 5 226 2 flags, 5 227 3 still_formatting_detail_blocks bit (1), /* turned on while we are doing detail blocks */ 5 228 3 first_row_of_report bit (1), /* turned on when we are on the first row of a report */ 5 229 3 last_row_of_report bit (1), /* turned on when we are on the last row of a report */ 5 230 3 first_row_on_page bit (1), /* turned on when we are on the 1st row of a page */ 5 231 3 page_overflow bit (1), /* turned on when we are backing up */ 5 232 3 subtotals_ejection_in_progress bit (1), /* turned on when subtotals are being ejected */ 5 233 3 subcounts_ejection_in_progress bit (1), /* turned on when subcounts are being ejected */ 5 234 3 totals_ejection_in_progress bit (1), /* turned on when totals are being ejected */ 5 235 3 counts_ejection_in_progress bit (1), /* turned on when counts are being ejected */ 5 236 3 header_being_evaluated bit (1), /* turned on during header evaluation */ 5 237 3 detail_block_used_some_lines bit (1), /* turned on when a row header/footer/value/subtotal/total uses a line */ 5 238 3 row_has_been_processed_before bit (1), /* turned on when this row has been backed out of the previous page */ 5 239 3 last_pass bit (1), /* true if this is the last pass */ 5 240 2 previous_row_ptr ptr, /* points to the previous row (or null) */ 5 241 2 current_row_ptr ptr, /* points to the current row */ 5 242 2 next_row_ptr ptr, /* points to the next row (or null) */ 5 243 2 total_number_of_rows_used fixed bin, /* total # per page, used to make sure we don't */ 5 244 /* backup over the 1st row */ 5 245 2 current_pass_number fixed bin, /* [display_builtins current_pass_number] */ 5 246 2 current_row_number fixed bin (35), /* [display_builtins current_row_number] */ 5 247 2 current_column_number fixed bin, /* set to the current output column during row evaluation */ 5 248 2 current_page_number fixed bin (21), /* [display_builtins page_number] */ 5 249 2 current_line_on_page fixed bin, /* this is where the next thing is placed on the page */ 5 250 2 remaining_lines_on_page fixed bin, /* used in estimating if something will fit */ 5 251 2 highest_row_formatted fixed bin, /* used to keep track of rows backed out of the page */ 5 252 2 current_header_line fixed bin, /* set to the current header line during header evaluation */ 5 253 2 current_header_part fixed bin, /* set to the current header part during header evaluation */ 5 254 2 number_of_lines_needed_for_detail_block fixed bin, /* sum of row header, footer, and value */ 5 255 2 number_of_lines_needed_for_row_header fixed bin, /* may be zero */ 5 256 2 number_of_lines_needed_for_row_value fixed bin, /* may be zero */ 5 257 2 number_of_lines_needed_for_row_footer fixed bin, /* may be zero */ 5 258 2 number_of_lines_needed_for_page_footer fixed bin, /* may be zero */ 5 259 2 number_of_lines_needed_for_group_header fixed bin, /* may be zero */ 5 260 2 number_of_lines_needed_for_group_footer fixed bin, /* may be zero */ 5 261 2 last_row_number fixed bin (35), /* zero unless multi-pass */ 5 262 2 last_page_number fixed bin, /* zero unless multi-pass mode */ 5 263 2 object_being_evaluated char (16) varying; /* "page header", "row value", etc. */ 5 264 dcl status_pointer ptr; 5 265 5 266 dcl 1 subcount_columns_info like columns_info based (subcount_columns_ip); 5 267 dcl subcount_columns_ip ptr; 5 268 5 269 dcl 1 subcount_generation_info like subtotal_generation_info based (subcount_generation_ip); 5 270 dcl subcount_generation_ip ptr; 5 271 5 272 dcl 1 subcount_info like subtotal_info based (subcount_ip); 5 273 dcl subcount_ip ptr; 5 274 5 275 dcl 1 subtotal_columns_info like columns_info based (subtotal_columns_ip); 5 276 dcl subtotal_columns_ip ptr; 5 277 5 278 /* Used to restore subtotals when backing up on a page. */ 5 279 dcl 1 subtotal_generation_info aligned based (subtotal_generation_ip), 5 280 2 maximum_number_of_generation_blocks fixed bin, /* maximum number of subtotals possibly generated per page + 1 */ 5 281 2 number_of_subtotals fixed bin, /* # of subtotals we're taking */ 5 282 2 current_generation_block fixed bin, /* slot for next subtotal generation */ 5 283 2 generations (0:sgi_init_number_of_generations 5 284 refer (subtotal_generation_info.maximum_number_of_generation_blocks)), 5 285 3 subtotals (sgi_init_number_of_subtotals /* value of the subtotals when the break occured */ 5 286 refer (subtotal_generation_info.number_of_subtotals)) float dec (59); 5 287 dcl sgi_init_number_of_generations fixed bin; 5 288 dcl sgi_init_number_of_subtotals fixed bin; 5 289 dcl subtotal_generation_ip ptr; 5 290 5 291 dcl 1 subtotal_info aligned based (subtotal_ip), 5 292 2 columns_info_ptr ptr, /* points to subtotal_columns_info structure */ 5 293 2 subtotal_generation_info_ptr ptr, /* points to subtotal_generations_info structure */ 5 294 2 number_of_columns_to_subtotal fixed bin, /* the number of subtotals */ 5 295 2 highest_level fixed bin, /* the largest number of different subtotals on a single column */ 5 296 2 current_level fixed bin, /* the current level of subtotals being evaluated */ 5 297 2 columns (si_init_number_of_columns_to_subtotal 5 298 refer (subtotal_info.number_of_columns_to_subtotal)), 5 299 3 flags, 5 300 4 reset bit (1) unaligned, /* reset or running subtotals */ 5 301 4 group_column bit (1) unaligned, /* on means the watch column is a grouping column */ 5 302 4 available bit (34) unaligned, 5 303 3 input_column fixed bin, /* # of the input column for accumulations */ 5 304 3 watch_column fixed bin, /* # of the column to watch for generation */ 5 305 3 level fixed bin, /* different subtotals on the same column receive higher level numbers */ 5 306 3 ioa_string char (5) varying, /* used to edit the "subtotal" field */ 5 307 3 subtotal float dec (59); /* used to hold the subtotal until it needs /* 5 308* /* to be placed on the page */ 5 309 dcl si_init_number_of_columns_to_subtotal fixed bin; 5 310 dcl subtotal_ip ptr; 5 311 5 312 dcl 1 template_info aligned based (template_ip), /* templates that are laid down before the column values */ 5 313 2 template_width fixed bin, /* how wide they are */ 5 314 2 number_of_templates fixed bin, /* how many there are */ 5 315 2 templates (ti_init_number_of_templates refer (template_info.number_of_templates)) /* the templates */ 5 316 char (ti_init_template_width refer (template_info.template_width)); 5 317 dcl ti_init_number_of_templates fixed bin; 5 318 dcl template_ip ptr; 5 319 dcl ti_init_template_width fixed bin; 5 320 5 321 /* used to determine which templates have been placed */ 5 322 dcl template_map (template_map_number_of_bits) bit (1) unaligned based (template_mp); 5 323 dcl template_mp ptr; 5 324 dcl template_map_number_of_bits fixed bin; 5 325 dcl template_map_defined_as_a_string bit (template_map_number_of_bits) based (template_mp); 5 326 5 327 dcl template char (template_length) based (template_ptr); 5 328 dcl template_length fixed bin; 5 329 dcl template_ptr ptr; 5 330 5 331 dcl 1 title_block_columns_info like columns_info based (title_block_columns_ip); /* output columns for the titles */ 5 332 dcl title_block_columns_ip ptr; 5 333 5 334 /* holds the formatted title block after page 1 is finished */ 5 335 dcl 1 title_block_info aligned based (title_block_ip), 5 336 2 number_of_lines fixed bin, /* how many lines there are */ 5 337 2 line_length fixed bin, /* how long the lines are */ 5 338 2 lines (tbi_init_number_of_lines refer ( /* the formatted lines */ 5 339 title_block_info.number_of_lines)) char (tbi_init_line_length refer ( 5 340 title_block_info.line_length)); 5 341 dcl tbi_init_line_length fixed bin; 5 342 dcl tbi_init_number_of_lines fixed bin; 5 343 dcl title_block_ip ptr; 5 344 5 345 dcl 1 total_columns_info like columns_info based (total_columns_ip); /* output_columns_info for totals */ 5 346 dcl total_columns_ip ptr; 5 347 5 348 dcl 1 total_info aligned based (total_ip), 5 349 2 columns_info_ptr ptr, /* points to total_columns_info structure */ 5 350 2 number_of_columns_to_total fixed bin, /* # to total */ 5 351 2 columns (ti_init_number_of_columns_to_total 5 352 refer (total_info.number_of_columns_to_total)), 5 353 3 input_column fixed bin, /* the input column number */ 5 354 3 ioa_string char (5) varying, /* used to edit the "total" field */ 5 355 3 total float dec (59); /* used to hold the total until it's placed on the page */ 5 356 dcl ti_init_number_of_columns_to_total fixed bin; 5 357 dcl total_ip ptr; 5 358 5 359 /* END INCLUDE FILE rw_report_structures.incl.pl1 */ 317 318 6 1 /* BEGIN INCLUDE FILE rw_table_info.incl.pl1 6 2* 6 3* Written - Al Dupuis 6 4**/ 6 5 /* format: off */ 6 6 6 7 dcl 1 table_info aligned based (table_ip), 6 8 2 version char (8), 6 9 2 column_count fixed bin, 6 10 2 maximum_column_name_length fixed bin, 6 11 2 maximum_column_value_length fixed bin, 6 12 2 row_value_length fixed bin (21), 6 13 2 row_value_ptr ptr, 6 14 2 columns (ti_init_column_count refer (table_info.column_count)), 6 15 3 column_name char (69) varying, 6 16 3 column_data_type bit (36), 6 17 3 column_length fixed bin (21), 6 18 3 column_index fixed bin (21); 6 19 6 20 dcl table_ip ptr; 6 21 dcl ti_init_column_count fixed bin; 6 22 dcl TABLE_INFO_VERSION_1 char (8) internal static options (constant) init ("rwti_001"); 6 23 6 24 /* END INCLUDE FILE view_master_table_info.incl.pl1 */ 319 320 7 1 /* BEGIN INCLUDE FILE rw_table_control_info.incl.pl1 7 2* 7 3* Written - Al Dupuis 7 4**/ 7 5 /* format: off */ 7 6 7 7 dcl 1 row_ptrs aligned based (row_ptrs_ptr), 7 8 2 number_of_ptrs_in_this_segment fixed bin (21), 7 9 2 row_value_ptr (row_ptrs.number_of_ptrs_in_this_segment) ptr unaligned; 7 10 7 11 dcl 1 table_control_info aligned based (table_control_ip), 7 12 2 row_count fixed bin (35), 7 13 2 number_of_components fixed bin, 7 14 2 maximum_number_of_rows_per_segment fixed bin (21), 7 15 2 current_segment_row_count fixed bin (21), 7 16 2 table_information_ptr ptr, 7 17 2 table_segments_info_ptr ptr, 7 18 2 msf_file_control_block_ptr ptr, 7 19 2 current_component_ptr ptr, 7 20 2 general_work_area_ptr ptr, 7 21 2 temp_seg_info_ptr ptr, 7 22 2 subsystem_control_info_ptr ptr, 7 23 2 msf_file_name char (32) unaligned, 7 24 2 msf_directory_name char (168) unaligned; 7 25 7 26 dcl 1 table_segments_info aligned based (table_segments_ip), 7 27 2 maximum_number_of_segments fixed bin, 7 28 2 maximum_number_of_ptrs_per_segment fixed bin (21), 7 29 2 current_number_of_segments fixed bin, 7 30 2 segment_ptrs (tsi_init_maximum_number_of_segments refer 7 31 (table_segments_info.maximum_number_of_segments)) ptr; 7 32 7 33 dcl row_ptrs_ptr ptr; 7 34 dcl table_segments_ip ptr; 7 35 dcl table_control_ip ptr; 7 36 dcl tsi_init_maximum_number_of_segments fixed bin (21); 7 37 7 38 /* END INCLUDE FILE rw_table_control_info.incl.pl1 */ 321 322 323 end rw_column_value; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1142.0 rw_column_value.pl1 >udd>sm>ds>w>ml>rw_column_value.pl1 309 1 11/02/83 1945.0 arg_descriptor.incl.pl1 >ldd>incl>arg_descriptor.incl.pl1 311 2 08/05/86 0956.8 arg_list.incl.pl1 >ldd>incl>arg_list.incl.pl1 313 3 11/16/84 1518.1 rw_options_extents.incl.pl1 >ldd>incl>rw_options_extents.incl.pl1 315 4 11/16/84 1518.0 rw_report_info.incl.pl1 >ldd>incl>rw_report_info.incl.pl1 317 5 11/16/84 1518.2 rw_report_structures.incl.pl1 >ldd>incl>rw_report_structures.incl.pl1 319 6 11/16/84 1518.0 rw_table_info.incl.pl1 >ldd>incl>rw_table_info.incl.pl1 321 7 11/16/84 1518.0 rw_table_control_info.incl.pl1 >ldd>incl>rw_table_control_info.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. DIGITS 000000 constant char(10) initial packed unaligned dcl 250 ref 223 MAXIMUM_OPTION_VALUE_LENGTH constant fixed bin(17,0) initial dcl 3-36 ref 292 NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 3-20 ref 4-7 NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 3-21 ref 4-7 OFF constant bit(1) initial dcl 251 ref 95 122 145 146 182 183 188 189 194 195 213 237 ON constant bit(1) initial dcl 252 ref 87 115 147 174 181 187 193 233 active_request_flag 000100 automatic bit(1) dcl 254 set ref 150* addr builtin function dcl 255 ref 57 addrel builtin function dcl 256 ref 57 arg based char packed unaligned dcl 257 set ref 168 179 179 185 185 191 191 197 197 207 209* arg_length 000101 automatic fixed bin(21,0) dcl 258 set ref 167* 168 178* 179 179 185 185 191 191 197 197 205* 207 209 209 arg_ptr 000102 automatic pointer dcl 259 set ref 167* 168 178* 179 179 185 185 191 191 197 197 205* 207 209 column_count 2 based fixed bin(17,0) level 2 dcl 6-7 ref 226 234 column_identifier 000105 automatic varying char(128) dcl 262 set ref 168* 223 225 235 241* column_index 35 based fixed bin(21,0) array level 3 dcl 6-7 ref 77 column_info based structure level 1 dcl 5-19 column_length 34 based fixed bin(21,0) array level 3 dcl 6-7 ref 77 column_name 10 based varying char(69) array level 3 dcl 6-7 ref 235 column_number 000104 automatic fixed bin(17,0) dcl 261 set ref 77 77 92 120 225* 225 226 226 226* 238* columns 10 based structure array level 2 in structure "table_info" dcl 6-7 in procedure "rw_column_value" columns 7 based structure array level 2 in structure "subtotal_info" dcl 5-291 in procedure "rw_column_value" columns 3 based structure array level 2 in structure "total_info" dcl 5-348 in procedure "rw_column_value" columns_info based structure level 1 dcl 5-42 convert builtin function dcl 263 ref 225 current_arg_number 000146 automatic fixed bin(17,0) dcl 264 set ref 173* 178* 199 204* 204 205* 212* 212 213 current_level 6 based fixed bin(17,0) level 2 dcl 5-291 ref 92 current_row 000147 automatic bit(1) dcl 265 set ref 147* 181* 188* 194* current_row_ptr 20 based pointer level 2 dcl 5-225 ref 75 default_return_value 000150 automatic varying char(128) dcl 267 set ref 67 148* 207* error_table_$badopt 000010 external static fixed bin(35,0) dcl 269 set ref 209* error_table_$inconsistent 000012 external static fixed bin(35,0) dcl 270 set ref 199* error_table_$noarg 000014 external static fixed bin(35,0) dcl 271 set ref 152* extended_arg_type 000235 automatic fixed bin(17,0) initial dcl 1-36 set ref 1-36* first_row_of_report 1 based bit(1) level 3 dcl 5-225 ref 64 flags based structure level 2 in structure "report_control_info" dcl 4-7 in procedure "rw_column_value" flags based structure level 2 in structure "status" dcl 5-225 in procedure "rw_column_value" format_report_info based structure level 1 dcl 5-74 format_report_info_ptr 30 based pointer level 2 dcl 4-7 ref 161 format_report_ip 000240 automatic pointer dcl 5-139 set ref 88 116 161* 162 165 input_column 3 based fixed bin(17,0) array level 3 in structure "total_info" dcl 5-348 in procedure "rw_column_value" ref 120 input_column 10 based fixed bin(17,0) array level 3 in structure "subtotal_info" dcl 5-291 in procedure "rw_column_value" ref 92 ioa_$rsnnl 000016 constant entry external dcl 273 ref 105 132 ioa_string 13 based varying char(5) array level 3 in structure "subtotal_info" dcl 5-291 in procedure "rw_column_value" set ref 105* ioa_string 4 based varying char(5) array level 3 in structure "total_info" dcl 5-348 in procedure "rw_column_value" set ref 132* last_row_of_report 2 based bit(1) level 3 dcl 5-225 ref 64 length builtin function dcl 275 ref 56 level 12 based fixed bin(17,0) array level 3 dcl 5-291 ref 92 loop 000211 automatic fixed bin(17,0) dcl 276 set ref 90* 92 92 96* 118* 120 123* 176* 234* 235 238* next_row 000212 automatic bit(1) dcl 278 set ref 64 73 145* 183* 187* 195* next_row_ptr 22 based pointer level 2 dcl 5-225 ref 73 not_found 000213 automatic bit(1) dcl 279 set ref 87* 90 95* 99 115* 118 122* 126 233* 234 237* 241 null builtin function dcl 280 ref 4-61 156 number_of_args_supplied 000214 automatic fixed bin(17,0) dcl 281 set ref 150* 152 170 176 199 213 number_of_columns_to_subtotal 4 based fixed bin(17,0) level 2 dcl 5-291 ref 90 number_of_columns_to_total 2 based fixed bin(17,0) level 2 dcl 5-348 ref 118 previous_row 000215 automatic bit(1) dcl 283 set ref 64 71 146* 182* 189* 193* previous_row_ptr 16 based pointer level 2 dcl 5-225 ref 71 report_cip 000236 automatic pointer initial dcl 4-61 set ref 4-61* 143* 156 158 161 163 report_cip_parm parameter pointer dcl 45 ref 39 143 report_control_info based structure level 1 dcl 4-7 report_has_been_started 0(03) based bit(1) level 3 packed packed unaligned dcl 4-7 ref 158 requote_string_ 000020 constant entry external dcl 285 ref 58 return_value based varying char dcl 286 set ref 58* return_value_length 000216 automatic fixed bin(21,0) dcl 287 set ref 58 150* return_value_ptr 000220 automatic pointer dcl 288 set ref 58 150* row_value_length 5 based fixed bin(21,0) level 2 dcl 6-7 ref 77 rw_error_$no_report 000022 external static fixed bin(35,0) dcl 289 set ref 156* 158* sci_ptr 000222 automatic pointer dcl 291 set ref 142* 150* 152* 156* 158* 167* 178* 199* 205* 209* 226* 241* sci_ptr_parm parameter pointer dcl 46 ref 39 142 spare_string 000224 automatic varying char dcl 292 set ref 56 57 67* 77* 105* 132* spare_string_length 000224 automatic fixed bin(21,0) dcl 293 set ref 56* 58 58 105* 132* spare_string_redefined_as_nonvarying based char packed unaligned dcl 294 set ref 58* spare_string_redefined_ptr 000226 automatic pointer dcl 295 set ref 57* 58 ssu_$abort_line 000024 constant entry external dcl 296 ref 152 156 158 199 209 226 241 ssu_$arg_ptr 000026 constant entry external dcl 297 ref 167 178 205 ssu_$return_arg 000030 constant entry external dcl 298 ref 150 status based structure level 1 dcl 5-225 status_pointer 000242 automatic pointer dcl 5-264 set ref 50 52 64 64 71 73 75 165* status_ptr 24 based pointer level 2 dcl 5-74 ref 165 still_processing_args 000230 automatic bit(1) dcl 299 set ref 174* 176 213* substr builtin function dcl 300 ref 77 subtotal 16 based float dec(59) array level 3 dcl 5-291 set ref 105* subtotal_generation_info based structure level 1 dcl 5-279 subtotal_info based structure level 1 dcl 5-291 subtotal_info_ptr 70 based pointer level 2 dcl 5-74 ref 88 subtotal_ip 000244 automatic pointer dcl 5-310 set ref 88* 90 92 92 92 105 105 subtotal_number 000231 automatic fixed bin(17,0) dcl 301 set ref 96* 105 105 subtotals_ejection_in_progress 5 based bit(1) level 3 dcl 5-225 ref 50 table_control_info based structure level 1 dcl 7-11 table_control_info_ptr 6 based pointer level 2 dcl 4-7 ref 163 table_control_ip 000254 automatic pointer dcl 7-35 set ref 163* 164 table_info based structure level 1 dcl 6-7 table_info_ptr 10 based pointer level 2 dcl 5-74 ref 162 table_ip 000250 automatic pointer dcl 6-20 set ref 77 77 77 162* 226 234 235 table_segments_info_ptr 6 based pointer level 2 dcl 7-11 ref 164 table_segments_ip 000252 automatic pointer dcl 7-34 set ref 164* template_info based structure level 1 dcl 5-312 the_row_value based char packed unaligned dcl 303 ref 77 the_row_value_ptr 000232 automatic pointer dcl 304 set ref 71* 73* 75* 77 total 7 based float dec(59) array level 3 dcl 5-348 set ref 132* total_info based structure level 1 dcl 5-348 total_info_ptr 74 based pointer level 2 dcl 5-74 ref 116 total_ip 000246 automatic pointer dcl 5-357 set ref 116* 118 120 132 132 total_number 000234 automatic fixed bin(17,0) dcl 305 set ref 123* 132 132 totals_ejection_in_progress 7 based bit(1) level 3 dcl 5-225 ref 52 verify builtin function dcl 307 ref 223 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BIT_DATA_TYPE internal static fixed bin(17,0) initial dcl 5-9 BOTH_ALIGNMENT internal static fixed bin(17,0) initial dcl 5-10 CENTER_ALIGNMENT internal static fixed bin(17,0) initial dcl 5-11 CHAR_DATA_TYPE internal static fixed bin(17,0) initial dcl 5-12 DECIMAL_ALIGNMENT internal static fixed bin(17,0) initial dcl 5-13 DECIMAL_DATA_TYPE internal static fixed bin(17,0) initial dcl 5-14 Envptr_supplied_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 GENERAL_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 3-15 GENERAL_REPORT_OPTION internal static fixed bin(17,0) initial dcl 3-14 INDEX_FOR_ALIGNMENT internal static fixed bin(17,0) initial dcl 3-66 INDEX_FOR_COLUMN_ORDER internal static fixed bin(17,0) initial dcl 3-50 INDEX_FOR_COUNT internal static fixed bin(17,0) initial dcl 3-51 INDEX_FOR_DELIMITER internal static fixed bin(17,0) initial dcl 3-40 INDEX_FOR_EDITING internal static fixed bin(17,0) initial dcl 3-67 INDEX_FOR_EXCLUDE internal static fixed bin(17,0) initial dcl 3-52 INDEX_FOR_FOLDING internal static fixed bin(17,0) initial dcl 3-68 INDEX_FOR_FORMAT_DOCUMENT_CONTROLS internal static fixed bin(17,0) initial dcl 3-41 INDEX_FOR_GROUP internal static fixed bin(17,0) initial dcl 3-53 INDEX_FOR_GROUP_FOOTER_TRIGGER internal static fixed bin(17,0) initial dcl 3-54 INDEX_FOR_GROUP_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 3-55 INDEX_FOR_GROUP_HEADER_TRIGGER internal static fixed bin(17,0) initial dcl 3-56 INDEX_FOR_GROUP_HEADER_VALUE internal static fixed bin(17,0) initial dcl 3-57 INDEX_FOR_HYPHENATION internal static fixed bin(17,0) initial dcl 3-42 INDEX_FOR_OUTLINE internal static fixed bin(17,0) initial dcl 3-58 INDEX_FOR_PAGE_BREAK internal static fixed bin(17,0) initial dcl 3-59 INDEX_FOR_PAGE_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 3-43 INDEX_FOR_PAGE_HEADER_VALUE internal static fixed bin(17,0) initial dcl 3-44 INDEX_FOR_PAGE_LENGTH internal static fixed bin(17,0) initial dcl 3-45 INDEX_FOR_PAGE_WIDTH internal static fixed bin(17,0) initial dcl 3-46 INDEX_FOR_ROW_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 3-60 INDEX_FOR_ROW_HEADER_VALUE internal static fixed bin(17,0) initial dcl 3-61 INDEX_FOR_SEPARATOR internal static fixed bin(17,0) initial dcl 3-69 INDEX_FOR_SUBCOUNT internal static fixed bin(17,0) initial dcl 3-62 INDEX_FOR_SUBTOTAL internal static fixed bin(17,0) initial dcl 3-63 INDEX_FOR_TITLE internal static fixed bin(17,0) initial dcl 3-70 INDEX_FOR_TITLE_LINE internal static fixed bin(17,0) initial dcl 3-47 INDEX_FOR_TOTAL internal static fixed bin(17,0) initial dcl 3-64 INDEX_FOR_TRUNCATION internal static fixed bin(17,0) initial dcl 3-48 INDEX_FOR_WIDTH internal static fixed bin(17,0) initial dcl 3-71 Interseg_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 LEFT_ALIGNMENT internal static fixed bin(17,0) initial dcl 5-15 LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 3-28 LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 3-27 LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 3-26 MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 3-32 MAXIMUM_OPTION_IDENTIFIER_LENGTH internal static fixed bin(17,0) initial dcl 3-34 MAXIMUM_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 3-35 NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 3-22 NUMERIC_DATA_TYPE internal static fixed bin(17,0) initial dcl 5-16 Quick_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 RIGHT_ALIGNMENT internal static fixed bin(17,0) initial dcl 5-17 SPECIFIC_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 3-16 TABLE_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 6-22 arg_descriptor based structure level 1 dcl 1-6 arg_descriptor_ptr automatic pointer dcl 1-34 arg_list based structure level 1 dcl 2-14 arg_list_with_envptr based structure level 1 dcl 2-42 column_ip automatic pointer dcl 5-40 column_map based structure array level 1 dcl 5-48 column_map_number_of_columns automatic fixed bin(17,0) dcl 5-51 column_mp automatic pointer dcl 5-52 columns_ip automatic pointer dcl 5-46 command_name_arglist based structure level 1 dcl 2-25 count_columns_info based structure level 1 unaligned dcl 5-54 count_columns_ip automatic pointer dcl 5-55 count_info based structure level 1 unaligned dcl 5-57 count_ip automatic pointer dcl 5-58 current_row_value based char packed unaligned dcl 5-61 editing_string_result based char packed unaligned dcl 5-64 editing_string_rl automatic fixed bin(17,0) dcl 5-65 editing_string_rp automatic pointer dcl 5-66 editing_strings_next_byte automatic fixed bin(21,0) dcl 5-68 editing_strings_temp_seg based char packed unaligned dcl 5-70 editing_strings_temp_seg_as_an_array based char(1) array packed unaligned dcl 5-71 editing_strings_tsp automatic pointer dcl 5-72 extended_arg_descriptor based structure level 1 dcl 1-21 fixed_arg_descriptor based structure level 1 dcl 1-13 generic_template based char packed unaligned dcl 5-142 generic_template_length automatic fixed bin(17,0) dcl 5-143 generic_tp automatic pointer dcl 5-144 gi_init_number_of_columns_to_group automatic fixed bin(17,0) dcl 5-151 group_info based structure level 1 dcl 5-147 group_ip automatic pointer dcl 5-152 header_info based structure level 1 dcl 5-160 header_ip automatic pointer dcl 5-176 headers_next_byte automatic fixed bin(21,0) dcl 5-154 headers_temp_seg based char packed unaligned dcl 5-156 headers_temp_seg_as_an_array based char(1) array packed unaligned dcl 5-157 headers_tsp automatic pointer dcl 5-158 hi_init_maximum_number_of_parts automatic fixed bin(17,0) dcl 5-177 hi_init_number_of_lines automatic fixed bin(17,0) dcl 5-178 initialize_number_of_columns automatic fixed bin(17,0) dcl 5-180 input_columns_info based structure level 1 dcl 5-182 input_columns_ip automatic pointer dcl 5-183 input_columns_op automatic pointer dcl 5-186 input_columns_order based fixed bin(17,0) array dcl 5-185 maximum_segment_size automatic fixed bin(21,0) dcl 5-188 next_row_value based char packed unaligned dcl 5-191 oi_init_maximum_number_of_grouping_columns automatic fixed bin(17,0) dcl 5-202 oi_init_maximum_number_of_single_columns automatic fixed bin(17,0) dcl 5-203 outline_info based structure level 1 dcl 5-193 outline_ip automatic pointer dcl 5-204 output_columns_info based structure level 1 unaligned dcl 5-206 output_columns_ip automatic pointer dcl 5-207 page_break_info based structure level 1 dcl 5-210 page_break_ip automatic pointer dcl 5-214 pbi_init_number_of_columns automatic fixed bin(17,0) dcl 5-215 previous_row_value based char packed unaligned dcl 5-218 row_ptrs based structure level 1 dcl 7-7 row_ptrs_ptr automatic pointer dcl 7-33 row_value_template_info based structure level 1 unaligned dcl 5-221 row_value_template_ip automatic pointer dcl 5-222 sgi_init_number_of_generations automatic fixed bin(17,0) dcl 5-287 sgi_init_number_of_subtotals automatic fixed bin(17,0) dcl 5-288 si_init_number_of_columns_to_subtotal automatic fixed bin(17,0) dcl 5-309 subcount_columns_info based structure level 1 unaligned dcl 5-266 subcount_columns_ip automatic pointer dcl 5-267 subcount_generation_info based structure level 1 unaligned dcl 5-269 subcount_generation_ip automatic pointer dcl 5-270 subcount_info based structure level 1 unaligned dcl 5-272 subcount_ip automatic pointer dcl 5-273 subtotal_columns_info based structure level 1 unaligned dcl 5-275 subtotal_columns_ip automatic pointer dcl 5-276 subtotal_generation_ip automatic pointer dcl 5-289 table_segments_info based structure level 1 dcl 7-26 tbi_init_line_length automatic fixed bin(17,0) dcl 5-341 tbi_init_number_of_lines automatic fixed bin(17,0) dcl 5-342 template based char packed unaligned dcl 5-327 template_ip automatic pointer dcl 5-318 template_length automatic fixed bin(17,0) dcl 5-328 template_map based bit(1) array packed unaligned dcl 5-322 template_map_defined_as_a_string based bit packed unaligned dcl 5-325 template_map_number_of_bits automatic fixed bin(17,0) dcl 5-324 template_mp automatic pointer dcl 5-323 template_ptr automatic pointer dcl 5-329 ti_init_column_count automatic fixed bin(17,0) dcl 6-21 ti_init_number_of_columns_to_total automatic fixed bin(17,0) dcl 5-356 ti_init_number_of_templates automatic fixed bin(17,0) dcl 5-317 ti_init_template_width automatic fixed bin(17,0) dcl 5-319 title_block_columns_info based structure level 1 unaligned dcl 5-331 title_block_columns_ip automatic pointer dcl 5-332 title_block_info based structure level 1 dcl 5-335 title_block_ip automatic pointer dcl 5-343 total_columns_info based structure level 1 unaligned dcl 5-345 total_columns_ip automatic pointer dcl 5-346 tsi_init_maximum_number_of_segments automatic fixed bin(21,0) dcl 7-36 NAMES DECLARED BY EXPLICIT CONTEXT. get_column_value 000235 constant entry internal dcl 62 ref 54 101 128 get_subtotal_value 000314 constant entry internal dcl 85 ref 50 get_total_value 000414 constant entry internal dcl 113 ref 52 initialize 000510 constant entry internal dcl 140 ref 48 rw_column_value 000126 constant entry external dcl 39 verify_column_name_or_number 001141 constant entry internal dcl 221 ref 49 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1640 1672 1514 1650 Length 2212 1514 32 303 124 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rw_column_value 500 external procedure is an external procedure. get_column_value internal procedure shares stack frame of external procedure rw_column_value. get_subtotal_value internal procedure shares stack frame of external procedure rw_column_value. get_total_value internal procedure shares stack frame of external procedure rw_column_value. initialize internal procedure shares stack frame of external procedure rw_column_value. verify_column_name_or_number internal procedure shares stack frame of external procedure rw_column_value. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rw_column_value 000100 active_request_flag rw_column_value 000101 arg_length rw_column_value 000102 arg_ptr rw_column_value 000104 column_number rw_column_value 000105 column_identifier rw_column_value 000146 current_arg_number rw_column_value 000147 current_row rw_column_value 000150 default_return_value rw_column_value 000211 loop rw_column_value 000212 next_row rw_column_value 000213 not_found rw_column_value 000214 number_of_args_supplied rw_column_value 000215 previous_row rw_column_value 000216 return_value_length rw_column_value 000220 return_value_ptr rw_column_value 000222 sci_ptr rw_column_value 000224 spare_string_length rw_column_value 000224 spare_string rw_column_value 000226 spare_string_redefined_ptr rw_column_value 000230 still_processing_args rw_column_value 000231 subtotal_number rw_column_value 000232 the_row_value_ptr rw_column_value 000234 total_number rw_column_value 000235 extended_arg_type rw_column_value 000236 report_cip rw_column_value 000240 format_report_ip rw_column_value 000242 status_pointer rw_column_value 000244 subtotal_ip rw_column_value 000246 total_ip rw_column_value 000250 table_ip rw_column_value 000252 table_segments_ip rw_column_value 000254 table_control_ip rw_column_value THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac alloc_auto_adj shorten_stack ext_entry any_to_any_truncate_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$rsnnl requote_string_ ssu_$abort_line ssu_$arg_ptr ssu_$return_arg THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$inconsistent error_table_$noarg rw_error_$no_report LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 39 000122 292 000133 1 36 000143 4 61 000145 105 000147 132 000152 48 000155 49 000156 50 000157 52 000164 54 000170 56 000171 57 000173 58 000177 60 000233 62 000235 64 000236 67 000247 68 000260 71 000261 73 000266 75 000273 77 000275 81 000313 85 000314 87 000315 88 000317 90 000322 92 000333 95 000345 96 000346 98 000350 99 000352 101 000354 102 000355 105 000356 109 000413 113 000414 115 000415 116 000417 118 000422 120 000433 122 000441 123 000442 125 000444 126 000446 128 000450 129 000451 132 000452 136 000507 140 000510 142 000511 143 000515 145 000520 146 000521 147 000522 148 000524 150 000525 152 000544 156 000572 158 000614 161 000634 162 000637 163 000641 164 000644 165 000646 167 000650 168 000667 170 000700 173 000704 174 000706 176 000710 178 000721 179 000736 181 000750 182 000752 183 000753 184 000754 185 000755 187 000765 188 000767 189 000770 190 000771 191 000772 193 001002 194 001004 195 001005 196 001006 197 001007 199 001017 204 001046 205 001047 207 001064 208 001075 209 001076 212 001131 213 001132 215 001136 217 001140 221 001141 223 001142 225 001155 226 001165 231 001224 233 001225 234 001227 235 001241 237 001253 238 001254 240 001256 241 001260 246 001313 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved