09/21/87 report_writer_ Known errors in the current release of report_writer_. # Associated TR's Description 14 phx19380 When an -edit string is defined for a column the -subtotal and -total value should also use this same edit string. This wasn't supposed to be the way it happens for -subcount and -count. This bug has been fixed. 13 phx19338 report_writer_ should handle the active_function_error condition when it occurs within an edit string or a header/footer active string. It should print additional info on what was going on when the error occured. It now provides a wealth of information. 12 phx19363 There should be a way to do things differently when a subtotal or total is being passed thru an edit string, compared to when a column value is passed thru an edit string. This has been provided thru the new builtin value "object_being_evaluated" (display_builtin value). It will return "page header", "group header", "row header", "page footer", "group footer", "row footer", "row value", "row subtotal", or "row total" depending on when it is invoked in an active string. 10 phx19237 When a person types "display -keep_retrieval;quit" it will exit the subsystem without cleaning up all the pdir files. The cpa for the fix follows: Inserted in B: B270 call initialize_automatic_variables; B271 if table_control_info.msf_file_control_block_ptr ^= null B272 then call delete_the_table (code_parm); Preceding: A270 call terminate_the_table; Comparison finished: 1 difference, 3 lines. 5 phx18554 When a user types "restore_format_options foo", and foo contains set_format_options requests that reference specific column options, and there aren't any columns defined, they see lots of error messages. It would be better if rsfo would just turf the whole ec and any pending request line. A >ldd>sss>s>bound_report_writer_.s.archive::rw_set_format_options.pl1 (original) B >exl>rwd>s>rw_set_format_options.pl1 (new) A195 then call ssu_$abort_line (sci_ptr, code, A196 "^/There must be columns defined before the value of ^a can be set.", A197 long_option_name); Changed by B to: B195 then if report_control_info.flags.restore_format_options_is_executing B196 then goto report_control_info.restore_format_options_abort_label; B197 else call ssu_$abort_line (sci_ptr, code, B198 "^/There must be columns defined before the value of ^a can be set.", B199 long_option_name); A477 dcl report_cip ptr; Deleted by B, preceding: B479 dcl reset_flag bit (1) aligned; Inserted in B: B505 %page; B506 %include rw_report_info; Preceding: A504 %skip(3); Comparison finished: 3 differences, 11 lines. A >ldd>sss>s>bound_report_writer_.s.archive::rw_restore_format_options.pl1 (original) B >exl>rwd>s>rw_restore_format_options.pl1 (new) Inserted in B: B56 call process_arguments; B57 call restore_the_options; B58 %skip(1); B59 NORMAL_EXIT: B60 %skip(1); B61 return; B62 %skip(1); B63 EXEC_COM_ERROR_EXIT: B64 %skip(1); B65 report_control_info.flags.restore_format_options_is_executing = OFF; B66 call ssu_$abort_line (sci_ptr, rw_error_$no_columns_defined, B67 "^/Processing of the file ^a has been terminated^/and the request line has been aborted.", entry_name); B68 %skip(1); B69 return; B70 %skip(1); B71 %page; B72 process_arguments: proc; Preceding: A56 %skip(1); Inserted in B: B103 return; B104 %skip(1); B105 end process_arguments; B106 %page; B107 restore_the_options: proc; B108 %skip(1); B109 report_control_info.restore_format_options_abort_label = EXEC_COM_ERROR_EXIT; B110 report_control_info.flags.restore_format_options_is_executing = ON; Preceding: A86 call ssu_$execute_string (sci_ptr, "ec " || rtrim (dir_name) A88 %skip(1); A89 return; A90 %page; Changed by B to: B113 report_control_info.flags.restore_format_options_is_executing = OFF; B114 %skip(1); B115 return; B116 %skip(1); B117 end restore_the_options; B118 %page; B119 %skip(1); B120 dcl OFF bit (1) aligned internal static options (constant) init ("0"b); B121 dcl ON bit (1) aligned internal static options (constant) init ("1"b); Inserted in B: B151 dcl rw_error_$no_columns_defined fixed bin(35) ext static; Preceding: A120 %skip(1); Comparison finished: 4 differences, 38 lines. A >ldd>include>rw_report_info.incl.pl1 (original) B >exl>rwd>incl>rw_report_info.incl.pl1 (new) A19 3 available bit (26) unaligned, Changed by B to: B19 3 restore_format_options_is_executing bit (1) unaligned, B20 3 available bit (25) unaligned, A39 2 display_iocb_ptr ptr, /* report is displayed through this */ Changed by B to: B40 2 display_iocb_ptr ptr, /* report is displayed through this */ Inserted in B: B46 2 restore_format_options_abort_label label variable, /* sfo will sometimes goto here */ Preceding: A45 2 options_identifier fixed bin, /* current set of options */ Comparison finished: 3 differences, 6 lines. 3 phx18767 The report_writer_$convert_and_move_row doesn't check the size of the array of value pointers passed to it, to make sure the count is the same as the number of columns defined. The compare ascii for rw_convert_and_move_row.pl1 follows: Inserted in B: B120 if hbound (value_ptrs_parm, 1) ^= table_info.column_count B121 then call ssu_$abort_line (sci_ptr, error_table_$invalid_array_size, B122 "^/The number of value pointers should have been ^d, not ^d.", B123 table_info.column_count, hbound (value_ptrs_parm, 1)); B124 %skip(1); Preceding: A120 encoded_precision_ptr = addr (source_length); Inserted in B: B154 dcl error_table_$invalid_array_size fixed bin(35) ext static; Preceding: A149 dcl error_table_$unexpected_condition fixed bin(35) ext static; Comparison finished: 2 differences, 6 lines. ----------------------------------------------------------- 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