COMPILATION LISTING OF SEGMENT dfu_cv_dim_to_dim_table Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/03/85 1640.9 mst Thu Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* DESCRIPTION: 8* 9* Allocate a dimension_table with the extents supplied by the caller, and 10* selectively copy entries from the input dimension_table to the output 11* dimension_table. The id_list supplied by the caller is used to identify 12* those dimensions to be copied. If the output dimension_table contains 13* more dimensions than the input dimension_table, the entries for the 14* excess dimensions are initialized to null values. 15**/ 16 17 /* HISTORY: 18* 19*Written by Matthew Pierret, 10/04/83. 20*Modified: 21*12/07/84 by M. Sharpe: to clean up format and dcls; to correct calls to 22* CHECK_VERSION* to pass appropriate args by reference. 23**/ 24 25 /* format: style2,ind3,^indblkcom */ 26 27 dfu_cv_dim_to_dim_table: 28 proc (p_work_area_ptr, p_number_of_dimensions, p_maximum_dimension_name_length, p_id_list_ptr, 29 p_input_dimension_table_ptr, p_output_dimension_table_ptr); 30 31 32 /* START OF DECLARATIONS */ 33 34 /* format: ll132 */ 35 36 /* Parameter */ 37 38 dcl p_work_area_ptr ptr; /* points to the area in which 39* to allocate 40* output_dimension_table. */ 41 dcl p_number_of_dimensions fixed bin (35); /* is the number_of_dimensions 42* in output_dimension_table. If 43* -1, the number of dimensions 44* is the same as in 45* input_dimension_table. */ 46 dcl p_maximum_dimension_name_length 47 fixed bin (35); /* is the maximum dimension 48* name length for 49* output_dimension_table. If 50* -1, the maximum dimension name 51* length for 52* input_dimension_table is 53* used. */ 54 dcl p_id_list_ptr ptr; /* points to an id_list which 55* identifies the dimensions in 56* input_dimension_table to copy 57* to output_dimension_table. 58* The ids are the index in 59* input_dimension_table of the 60* dimensions. If p_id_list_ptr 61* is null, copy all of the 62* dimensions. */ 63 dcl p_input_dimension_table_ptr 64 ptr; /* points to the 65* dimension_table from which 66* dimensions are copied. If 67* null, the 68* output_dimension_table is 69* empty. */ 70 dcl p_output_dimension_table_ptr 71 ptr; /* points to the newly 72* allocated dimension_table. */ 73 74 /* Automatic */ 75 76 dcl (dimension_idx, dimension_to_copy, number_of_dimensions_to_copy) 77 fixed bin (35); 78 dcl (input_dimension_table_ptr, work_area_ptr) 79 ptr; 80 81 /* Based */ 82 83 dcl work_area area (sys_info$max_seg_size) based (work_area_ptr); 84 85 /* Builtin */ 86 87 dcl (addr, hbound, max, null) 88 builtin; 89 90 /* Condition */ 91 92 dcl cleanup condition; 93 94 /* Constant */ 95 96 dcl myname init ("dfu_cv_dim_to_dim_table") char (32) varying internal static options (constant); 97 dcl ( 98 USE_DEFAULT_NUMBER_OF_DIMENSIONS 99 init (-1), 100 USE_DEFAULT_MAXIMUM_DIMENSION_NAME_LENGTH 101 init (-1) 102 ) fixed bin (35) internal static options (constant); 103 104 /* Entry */ 105 106 dcl sub_err_ entry () options (variable); 107 /* FOR DM_ERROR_UTIL_: Replace preceding statement with following */ 108 /* dcl dm_error_util_$signal entry () options (variable); */ 109 110 /* External */ 111 112 dcl error_table_$unimplemented_version 113 fixed bin (35) ext; 114 dcl sys_info$max_seg_size fixed bin (35) ext; 115 116 /* END OF DECLARATIONS */ 117 118 p_output_dimension_table_ptr = null; 119 120 work_area_ptr = p_work_area_ptr; 121 122 input_dimension_table_ptr = p_input_dimension_table_ptr; 123 if input_dimension_table_ptr = null 124 then 125 do; 126 127 /*** No input_dimension_table is supplied. Set the extents from the parameters. */ 128 129 dt_number_of_dimensions = p_number_of_dimensions; 130 dt_maximum_dimension_name_length = p_maximum_dimension_name_length; 131 end; 132 else 133 do; 134 135 /*** An input_dimension_table is supplied. Verify its version. */ 136 137 call 138 CHECK_VERSION ((input_dimension_table_ptr -> dimension_table.version), DIMENSION_TABLE_VERSION_1, 139 "dimension_table"); 140 141 /*** Set up extents for output dimension_table. */ 142 143 if p_number_of_dimensions = USE_DEFAULT_NUMBER_OF_DIMENSIONS 144 then dt_number_of_dimensions = input_dimension_table_ptr -> dimension_table.number_of_dimensions; 145 /* Get number of dimensions from input_dimension_table. */ 146 else dt_number_of_dimensions = p_number_of_dimensions; 147 /* Get number_of_dimensions from parameter. */ 148 149 if p_maximum_dimension_name_length = USE_DEFAULT_MAXIMUM_DIMENSION_NAME_LENGTH 150 then dt_maximum_dimension_name_length = input_dimension_table_ptr -> dimension_table.maximum_dimension_name_length; 151 /* Get maximum_dimension_name_length from input_dimension_table. */ 152 else dt_maximum_dimension_name_length = 153 max (p_maximum_dimension_name_length, 154 input_dimension_table_ptr -> dimension_table.maximum_dimension_name_length); 155 /* Use larger of parameter and input_dimension_table. */ 156 157 /*** Set up id_list structure. This is done only in this do-group because 158* an id_list is useless if no input dimension_table is specified. */ 159 160 id_list_ptr = p_id_list_ptr; 161 if id_list_ptr = null 162 then 163 do; 164 number_of_dimensions_to_copy = input_dimension_table_ptr -> dimension_table.number_of_dimensions; 165 if number_of_dimensions_to_copy > dt_number_of_dimensions 166 then call 167 sub_err_ (0, myname, ACTION_CANT_RESTART, null, 0, 168 "The caller specified that all ^d dimensions in the input^/dimension_table be copied into the output dimension_table;^/that table can only hold ^d dimensions." 169 , number_of_dimensions_to_copy, dt_number_of_dimensions); 170 171 /* 172* FOR DM_ERROR_UTIL_: Replace preceding statement with following 173* 174* then call dm_error_util_$signal (0, myname, ACTION_CANT_RESTART || NO_ANCILLARY_ACTIONS, 175* "The caller specified that all ^d dimensions in the input^/dimension_table be copied into the output dimension_table;^/that table can only hold ^d dimensions.", 176* number_of_dimensions_to_copy, dt_number_of_dimensions); 177**/ 178 end; 179 else 180 do; 181 call CHECK_VERSION_FB (id_list.version, (ID_LIST_VERSION_1), "id_list"); 182 number_of_dimensions_to_copy = id_list.number_of_ids; 183 if number_of_dimensions_to_copy > dt_number_of_dimensions 184 then call 185 sub_err_ (0, myname, ACTION_CANT_RESTART, null, 0, 186 "The caller-specified id_list contains ^d dimension identifiers^/but the output dimension_table can only hold ^d dimensions." 187 , number_of_dimensions_to_copy, dt_number_of_dimensions); 188 /* 189* FOR DM_ERROR_UTIL_: Replace preceding statement with following 190* 191* then call dm_error_util_$signal 192* (0, myname, ACTION_CANT_RESTART || NO_ANCILLARY_ACTIONS, 193* "The caller-specified id_list contains ^d dimension identifiers^/but the output dimension_table can only hold ^d dimensions.", 194* number_of_dimensions_to_copy, dt_number_of_dimensions); 195* 196**/ 197 if number_of_dimensions_to_copy > input_dimension_table_ptr -> dimension_table.number_of_dimensions 198 then call 199 sub_err_ (0, myname, ACTION_CANT_RESTART, null, 0, 200 "The caller-specified id_list contains ^d dimension identifiers^/but the input dimension_table can only hold ^d dimensions." 201 , number_of_dimensions_to_copy, dt_number_of_dimensions); 202 /* 203* FOR DM_ERROR_UTIL_: Replace preceding statement with following 204* 205* then call dm_error_util_$signal (0, myname, ACTION_CANT_RESTART || NO_ANCILLARY_ACTIONS, 206* "The caller-specified id_list contains ^d dimension identifiers^/but the input dimension_table can only hold ^d dimensions.", 207* number_of_dimensions_to_copy, dt_number_of_dimensions); 208**/ 209 end; 210 end; 211 212 /*** Allocate output dimension_table. */ 213 214 on cleanup call FINISH (); 215 216 allocate dimension_table in (work_area); 217 218 if input_dimension_table_ptr ^= null 219 then 220 COPY: 221 do dimension_idx = 1 to number_of_dimensions_to_copy; 222 if id_list_ptr = null 223 then dimension_to_copy = dimension_idx; 224 else if id_list.id (dimension_idx) >= 1 225 & id_list.id (dimension_idx) <= hbound (input_dimension_table_ptr -> dimension_table.dimension, 1) 226 then dimension_to_copy = id_list.id (dimension_idx); 227 else call 228 sub_err_ (0, myname, ACTION_CANT_RESTART, null, 0, 229 "^/The id_list used to identify dimensions to copy from one dimension_table^/to another contains an identifier, ^d, that does not identify a dimension^/in the input dimension_table." 230 , (id_list.id (dimension_idx))); 231 /* 232* FOR DM_ERROR_UTIL_: Replace preceding statement with following 233* 234* else call dm_error_util_$signal (0, myname, ACTION_CANT_RESTART || NO_ANCILLARY_ACTIONS, 235* "^/The id_list used to identify dimensions to copy from one dimension_table^/to another contains an identifier, ^d, that does not identify a dimension^/in the input dimension_table.", 236* (id_list.id (dimension_idx))); 237**/ 238 dimension_table.dimension (dimension_idx).name = 239 input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).name; 240 dimension_table.dimension (dimension_idx).descriptor_string = 241 input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).descriptor_string; 242 dimension_table.dimension (dimension_idx).cv_to_print = 243 input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).cv_to_print; 244 dimension_table.dimension (dimension_idx).cv_to_typed = 245 input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).cv_to_typed; 246 if input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).descriptor_ptr 247 = addr (input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).descriptor_string) 248 then dimension_table.dimension (dimension_idx).descriptor_ptr = 249 addr (dimension_table.dimension (dimension_idx).descriptor_string); 250 else ; /* Allocate new descriptor. */ 251 end COPY; 252 253 p_output_dimension_table_ptr = dimension_table_ptr; 254 255 return; 256 257 CHECK_VERSION: 258 proc (p_received_version, p_expected_version, p_structure_name); 259 260 dcl p_received_version char (*); 261 dcl p_expected_version char (*); 262 dcl p_structure_name char (*); 263 264 if p_received_version ^= p_expected_version 265 then call 266 sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 267 "^/Expected version ^a of the ^a structure. 268 Received version ^a instead.", p_expected_version, p_structure_name, p_received_version); 269 /* 270* FOR DM_ERROR_UTIL_: 271* 272* dm_error_util_$signal (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART || NO_ANCILLARY_ACTIONS, 273* "^/Expected version ^a of the ^a structure.^/Received version ^a instead.", 274* p_expected_version, p_structure_name, p_received_version); 275**/ 276 end CHECK_VERSION; 277 278 279 CHECK_VERSION_FB: 280 proc (p_received_version, p_expected_version, p_structure_name); 281 282 dcl p_received_version fixed bin (35); 283 dcl p_expected_version fixed bin (35); 284 dcl p_structure_name char (*); 285 286 if p_received_version ^= p_expected_version 287 then call 288 sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 289 "^/Expected version ^d of the ^a structure. 290 Received version ^d instead.", p_expected_version, p_structure_name, p_received_version); 291 /* 292* 293* FOR DM_ERROR_UTIL_: Replace preceding statement with following 294* 295* then call dm_error_util_$signal (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART || NO_ANCILLARY_ACTIONS, 296* "^/Expected version ^d of the ^a structure.^/Received version ^d instead.", 297* p_expected_version, p_structure_name, p_received_version); 298* 299**/ 300 301 end CHECK_VERSION_FB; 302 303 FINISH: 304 proc (); 305 306 if dimension_table_ptr ^= null 307 then free dimension_table; 308 309 end FINISH; 310 1 1 /* *********************************************************** 1 2* * * 1 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 1 4* * * 1 5* *********************************************************** */ 1 6 1 7 /* ***** BEGIN INCLUDE FILE vu_dimension_table.incl.pl1 ****** */ 1 8 1 9 /* format: style2,ind3 */ 1 10 1 11 /* HISTORY: 1 12*Written by Matthew Pierret, 08/24/83. 1 13*Modified: 1 14**/ 1 15 1 16 dcl 1 dimension_table aligned based (dimension_table_ptr), 1 17 /* This structure describes a set of dimensions. */ 1 18 /* These dimensions are primarily used in association */ 1 19 /* with a vector_list structure. */ 1 20 2 version char (8) init (DIMENSION_TABLE_VERSION_1), 1 21 2 maximum_dimension_name_length 1 22 fixed bin (35), /* length of the dimension.name field */ 1 23 2 number_of_dimensions 1 24 fixed bin (35), /* extent of the dimension array */ 1 25 2 dimension (dt_number_of_dimensions refer (dimension_table.number_of_dimensions)), 1 26 3 name char (dt_maximum_dimension_name_length 1 27 refer (dimension_table.maximum_dimension_name_length)) varying init (""), 1 28 /* name of a dimension */ 1 29 3 descriptor_string 1 30 bit (36) aligned init ("0"b), 1 31 /* One-word Multics descriptor. */ 1 32 3 descriptor_ptr ptr init (null), /* points to the Multics descriptor for this dimension. */ 1 33 /* For one-word descriptors, the value is usually */ 1 34 /* addr (dimension_table.dimension.descriptor_string) */ 1 35 /* Multi-word descriptors must be allocated in */ 1 36 /* separate storage */ 1 37 3 cv_to_print entry (ptr, ptr, ptr, fixed bin (35), char (*) varying, fixed bin (35)), 1 38 /* call cv_to_print (descriptor_ptr, typed_value_ptr, */ 1 39 /* temp_seg_ptr, max_length_for_print_value, */ 1 40 /* print_value, code) */ 1 41 3 cv_to_typed entry (ptr, ptr, ptr, ptr, fixed bin (35)); 1 42 /* call cv_to_typed (descriptor_ptr, area_ptr, */ 1 43 /* print_value_ptr, typed_value_ptr, code) */ 1 44 1 45 dcl dimension_table_ptr ptr init (null); 1 46 dcl dt_maximum_dimension_name_length 1 47 fixed bin (35) init (-1); 1 48 dcl dt_number_of_dimensions 1 49 fixed bin (35) init (-1); 1 50 dcl DIMENSION_TABLE_VERSION_1 1 51 char (8) init ("DimTbl_1") internal static options (constant); 1 52 1 53 1 54 /* ******* END INCLUDE FILE vu_dimension_table.incl.pl1 ****** */ 311 312 2 1 /* BEGIN INCLUDE FILE - dm_id_list.incl.pl1 */ 2 2 2 3 /* DESCRIPTION 2 4* The id_list structure is used to identify attributes, fields and 2 5* dimensions by various modules of the Data Management System. 2 6**/ 2 7 2 8 /* HISTORY: 2 9*Written by Matthew Pierret, '82. 2 10*Modified: 2 11*08/17/83 by Matthew Pierret: Made version constant 'internal static options 2 12* (constant)' and to initialize automatic variables. 2 13**/ 2 14 2 15 /* format: style2,ind3 */ 2 16 dcl 1 id_list aligned based (id_list_ptr), 2 17 2 version fixed bin (35), 2 18 2 number_of_ids fixed bin (17), 2 19 2 id (il_number_of_ids refer (id_list.number_of_ids)) fixed bin (17); 2 20 2 21 dcl id_list_ptr ptr init (null); 2 22 dcl il_number_of_ids fixed bin (17) init (-1); 2 23 dcl ID_LIST_VERSION_1 fixed bin (17) init (1) internal static options (constant); 2 24 2 25 /* END INCLUDE FILE - dm_id_list.incl.pl1 */ 313 314 3 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 3 2 /* format: style3 */ 3 3 3 4 /* These constants are to be used for the flags argument of sub_err_ */ 3 5 /* They are just "string (condition_info_header.action_flags)" */ 3 6 3 7 declare ( 3 8 ACTION_CAN_RESTART init (""b), 3 9 ACTION_CANT_RESTART init ("1"b), 3 10 ACTION_DEFAULT_RESTART 3 11 init ("01"b), 3 12 ACTION_QUIET_RESTART 3 13 init ("001"b), 3 14 ACTION_SUPPORT_SIGNAL 3 15 init ("0001"b) 3 16 ) bit (36) aligned internal static options (constant); 3 17 3 18 /* End include file */ 315 316 end dfu_cv_dim_to_dim_table; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1149.6 dfu_cv_dim_to_dim_table.pl1 >spec>temp>famis1>dfu_cv_dim_to_dim_table.pl1 311 1 01/03/85 1005.8 vu_dimension_table.incl.pl1 >spec>temp>famis1>vu_dimension_table.incl.pl1 313 2 10/14/83 1609.1 dm_id_list.incl.pl1 >ldd>include>dm_id_list.incl.pl1 315 3 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.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. ACTION_CANT_RESTART 000000 constant bit(36) initial dcl 3-7 set ref 165* 183* 197* 227* 264* 286* DIMENSION_TABLE_VERSION_1 000002 constant char(8) initial unaligned dcl 1-50 set ref 137* 216 ID_LIST_VERSION_1 constant fixed bin(17,0) initial dcl 2-23 ref 181 USE_DEFAULT_MAXIMUM_DIMENSION_NAME_LENGTH 001566 constant fixed bin(35,0) initial dcl 97 ref 149 USE_DEFAULT_NUMBER_OF_DIMENSIONS 001566 constant fixed bin(35,0) initial dcl 97 ref 143 addr builtin function dcl 87 ref 246 246 cleanup 000110 stack reference condition dcl 92 ref 214 cv_to_print based entry variable array level 3 dcl 1-16 set ref 242* 242 cv_to_typed based entry variable array level 3 dcl 1-16 set ref 244* 244 descriptor_ptr based pointer initial array level 3 dcl 1-16 set ref 216* 246 246* descriptor_string based bit(36) initial array level 3 dcl 1-16 set ref 216* 240* 240 246 246 dimension 4 based structure array level 2 dcl 1-16 set ref 224 dimension_idx 000100 automatic fixed bin(35,0) dcl 76 set ref 218* 222 224 224 224 227 238 240 242 244 246 246* dimension_table based structure level 1 dcl 1-16 set ref 216 306 dimension_table_ptr 000116 automatic pointer initial dcl 1-45 set ref 216* 238 240 242 244 246 246 253 1-45* 306 306 dimension_to_copy 000101 automatic fixed bin(35,0) dcl 76 set ref 222* 224* 238 240 242 244 246 246 dt_maximum_dimension_name_length 000120 automatic fixed bin(35,0) initial dcl 1-46 set ref 130* 149* 152* 216 216 1-46* dt_number_of_dimensions 000121 automatic fixed bin(35,0) initial dcl 1-48 set ref 129* 143* 146* 165 165* 183 183* 197* 216 216 1-48* error_table_$unimplemented_version 000012 external static fixed bin(35,0) dcl 112 set ref 264* 286* hbound builtin function dcl 87 ref 224 id 2 based fixed bin(17,0) array level 2 dcl 2-16 ref 224 224 224 227 id_list based structure level 1 dcl 2-16 id_list_ptr 000122 automatic pointer initial dcl 2-21 set ref 160* 161 181 182 222 224 224 224 227 2-21* il_number_of_ids 000124 automatic fixed bin(17,0) initial dcl 2-22 set ref 2-22* input_dimension_table_ptr 000104 automatic pointer dcl 78 set ref 122* 123 137 143 149 152 164 197 218 224 238 240 242 244 246 246 max builtin function dcl 87 ref 152 maximum_dimension_name_length 2 based fixed bin(35,0) level 2 dcl 1-16 set ref 149 152 216* 216 216 216 216 216 216 216 216 216 238 238 238 238 238 240 240 240 240 240 240 242 242 242 242 242 242 244 244 244 244 244 244 246 246 246 246 246 246 246 246 246 246 246 246 306 myname 000004 constant varying char(32) initial dcl 96 set ref 165* 183* 197* 227* 264* 286* name 4 based varying char initial array level 3 dcl 1-16 set ref 216* 238* 238 null builtin function dcl 87 ref 118 123 161 165 165 183 183 197 197 216 218 222 227 227 1-45 2-21 264 264 286 286 306 number_of_dimensions 3 based fixed bin(35,0) level 2 dcl 1-16 set ref 143 164 197 216* 224 306 number_of_dimensions_to_copy 000102 automatic fixed bin(35,0) dcl 76 set ref 164* 165 165* 182* 183 183* 197 197* 218 number_of_ids 1 based fixed bin(17,0) level 2 dcl 2-16 ref 182 p_expected_version parameter fixed bin(35,0) dcl 283 in procedure "CHECK_VERSION_FB" set ref 279 286 286* p_expected_version parameter char unaligned dcl 261 in procedure "CHECK_VERSION" set ref 257 264 264* p_id_list_ptr parameter pointer dcl 54 ref 27 160 p_input_dimension_table_ptr parameter pointer dcl 63 ref 27 122 p_maximum_dimension_name_length parameter fixed bin(35,0) dcl 46 ref 27 130 149 152 p_number_of_dimensions parameter fixed bin(35,0) dcl 41 ref 27 129 143 146 p_output_dimension_table_ptr parameter pointer dcl 70 set ref 27 118* 253* p_received_version parameter fixed bin(35,0) dcl 282 in procedure "CHECK_VERSION_FB" set ref 279 286 286* p_received_version parameter char unaligned dcl 260 in procedure "CHECK_VERSION" set ref 257 264 264* p_structure_name parameter char unaligned dcl 284 in procedure "CHECK_VERSION_FB" set ref 279 286* p_structure_name parameter char unaligned dcl 262 in procedure "CHECK_VERSION" set ref 257 264* p_work_area_ptr parameter pointer dcl 38 ref 27 120 sub_err_ 000010 constant entry external dcl 106 ref 165 183 197 227 264 286 version based fixed bin(35,0) level 2 in structure "id_list" dcl 2-16 in procedure "dfu_cv_dim_to_dim_table" set ref 181* version based char(8) initial level 2 in structure "dimension_table" dcl 1-16 in procedure "dfu_cv_dim_to_dim_table" set ref 137 216* work_area based area dcl 83 ref 216 work_area_ptr 000106 automatic pointer dcl 78 set ref 120* 216 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 3-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 3-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 3-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 3-7 sys_info$max_seg_size external static fixed bin(35,0) dcl 114 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION 001312 constant entry internal dcl 257 ref 137 CHECK_VERSION_FB 001427 constant entry internal dcl 279 ref 181 COPY 001027 constant label dcl 218 FINISH 001523 constant entry internal dcl 303 ref 214 dfu_cv_dim_to_dim_table 000345 constant entry external dcl 27 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1650 1664 1567 1660 Length 2120 1567 14 217 60 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dfu_cv_dim_to_dim_table 358 external procedure is an external procedure. on unit on line 214 70 on unit CHECK_VERSION internal procedure shares stack frame of external procedure dfu_cv_dim_to_dim_table. CHECK_VERSION_FB internal procedure shares stack frame of external procedure dfu_cv_dim_to_dim_table. FINISH internal procedure shares stack frame of on unit on line 214. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dfu_cv_dim_to_dim_table 000100 dimension_idx dfu_cv_dim_to_dim_table 000101 dimension_to_copy dfu_cv_dim_to_dim_table 000102 number_of_dimensions_to_copy dfu_cv_dim_to_dim_table 000104 input_dimension_table_ptr dfu_cv_dim_to_dim_table 000106 work_area_ptr dfu_cv_dim_to_dim_table 000116 dimension_table_ptr dfu_cv_dim_to_dim_table 000120 dt_maximum_dimension_name_length dfu_cv_dim_to_dim_table 000121 dt_number_of_dimensions dfu_cv_dim_to_dim_table 000122 id_list_ptr dfu_cv_dim_to_dim_table 000124 il_number_of_ids dfu_cv_dim_to_dim_table THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return enable ext_entry int_entry alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$unimplemented_version CONSTANTS 001550 aa 000006000000 001551 aa 000006000000 001552 aa 600000000041 001553 aa 000146000000 001554 ta 000002000000 001555 aa 000000000000 001556 aa 600000000041 001557 aa 000150000000 001560 ta 000032000000 001561 aa 000000000000 001562 ta 000031000000 001563 aa 000000000000 001564 ta 000030000000 001565 aa 000000000000 000000 aa 400000000000 000002 aa 104 151 155 124 DimT 000003 aa 142 154 137 061 bl_1 000004 aa 000000000027 000005 aa 144 146 165 137 dfu_ 000006 aa 143 166 137 144 cv_d 000007 aa 151 155 137 164 im_t 000010 aa 157 137 144 151 o_di 000011 aa 155 137 164 141 m_ta 000012 aa 142 154 145 040 ble 000013 aa 040 040 040 040 000014 aa 040 040 040 040 000015 aa 524000000107 000016 aa 526077777777 001566 aa 777777777777 000017 aa 404000000021 000020 aa 524000000264 000021 aa 524000000172 000022 aa 524000000173 000023 aa 524000000007 000024 aa 524000000235 000025 aa 514000000044 000026 aa 530000000040 000027 aa 404000000005 000030 aa 524000000017 000031 aa 526000000010 000032 aa 524000000010 000033 aa 404000000043 000034 aa 464000000000 000036 aa 151 144 137 154 id_l 000037 aa 151 163 164 000 ist 000040 aa 077777000043 000041 aa 000001000000 000042 aa 143 154 145 141 clea 000043 aa 156 165 160 000 nup 000044 aa 144 151 155 145 dime 000045 aa 156 163 151 157 nsio 000046 aa 156 137 164 141 n_ta 000047 aa 142 154 145 000 ble 000050 aa 136 057 105 170 ^/Ex 000051 aa 160 145 143 164 pect 000052 aa 145 144 040 166 ed v 000053 aa 145 162 163 151 ersi 000054 aa 157 156 040 136 on ^ 000055 aa 144 040 157 146 d of 000056 aa 040 164 150 145 the 000057 aa 040 136 141 040 ^a 000060 aa 163 164 162 165 stru 000061 aa 143 164 165 162 ctur 000062 aa 145 056 012 122 e. R 000063 aa 145 143 145 151 ecei 000064 aa 166 145 144 040 ved 000065 aa 166 145 162 163 vers 000066 aa 151 157 156 040 ion 000067 aa 136 144 040 151 ^d i 000070 aa 156 163 164 145 nste 000071 aa 141 144 056 000 ad. 000072 aa 136 057 105 170 ^/Ex 000073 aa 160 145 143 164 pect 000074 aa 145 144 040 166 ed v 000075 aa 145 162 163 151 ersi 000076 aa 157 156 040 136 on ^ 000077 aa 141 040 157 146 a of 000100 aa 040 164 150 145 the 000101 aa 040 136 141 040 ^a 000102 aa 163 164 162 165 stru 000103 aa 143 164 165 162 ctur 000104 aa 145 056 012 122 e. R 000105 aa 145 143 145 151 ecei 000106 aa 166 145 144 040 ved 000107 aa 166 145 162 163 vers 000110 aa 151 157 156 040 ion 000111 aa 136 141 040 151 ^a i 000112 aa 156 163 164 145 nste 000113 aa 141 144 056 000 ad. 000114 aa 124 150 145 040 The 000115 aa 143 141 154 154 call 000116 aa 145 162 055 163 er-s 000117 aa 160 145 143 151 peci 000120 aa 146 151 145 144 fied 000121 aa 040 151 144 137 id_ 000122 aa 154 151 163 164 list 000123 aa 040 143 157 156 con 000124 aa 164 141 151 156 tain 000125 aa 163 040 136 144 s ^d 000126 aa 040 144 151 155 dim 000127 aa 145 156 163 151 ensi 000130 aa 157 156 040 151 on i 000131 aa 144 145 156 164 dent 000132 aa 151 146 151 145 ifie 000133 aa 162 163 136 057 rs^/ 000134 aa 142 165 164 040 but 000135 aa 164 150 145 040 the 000136 aa 151 156 160 165 inpu 000137 aa 164 040 144 151 t di 000140 aa 155 145 156 163 mens 000141 aa 151 157 156 137 ion_ 000142 aa 164 141 142 154 tabl 000143 aa 145 040 143 141 e ca 000144 aa 156 040 157 156 n on 000145 aa 154 171 040 150 ly h 000146 aa 157 154 144 040 old 000147 aa 136 144 040 144 ^d d 000150 aa 151 155 145 156 imen 000151 aa 163 151 157 156 sion 000152 aa 163 056 000 000 s. 000153 aa 124 150 145 040 The 000154 aa 143 141 154 154 call 000155 aa 145 162 055 163 er-s 000156 aa 160 145 143 151 peci 000157 aa 146 151 145 144 fied 000160 aa 040 151 144 137 id_ 000161 aa 154 151 163 164 list 000162 aa 040 143 157 156 con 000163 aa 164 141 151 156 tain 000164 aa 163 040 136 144 s ^d 000165 aa 040 144 151 155 dim 000166 aa 145 156 163 151 ensi 000167 aa 157 156 040 151 on i 000170 aa 144 145 156 164 dent 000171 aa 151 146 151 145 ifie 000172 aa 162 163 136 057 rs^/ 000173 aa 142 165 164 040 but 000174 aa 164 150 145 040 the 000175 aa 157 165 164 160 outp 000176 aa 165 164 040 144 ut d 000177 aa 151 155 145 156 imen 000200 aa 163 151 157 156 sion 000201 aa 137 164 141 142 _tab 000202 aa 154 145 040 143 le c 000203 aa 141 156 040 157 an o 000204 aa 156 154 171 040 nly 000205 aa 150 157 154 144 hold 000206 aa 040 136 144 040 ^d 000207 aa 144 151 155 145 dime 000210 aa 156 163 151 157 nsio 000211 aa 156 163 056 000 ns. 000212 aa 124 150 145 040 The 000213 aa 143 141 154 154 call 000214 aa 145 162 040 163 er s 000215 aa 160 145 143 151 peci 000216 aa 146 151 145 144 fied 000217 aa 040 164 150 141 tha 000220 aa 164 040 141 154 t al 000221 aa 154 040 136 144 l ^d 000222 aa 040 144 151 155 dim 000223 aa 145 156 163 151 ensi 000224 aa 157 156 163 040 ons 000225 aa 151 156 040 164 in t 000226 aa 150 145 040 151 he i 000227 aa 156 160 165 164 nput 000230 aa 136 057 144 151 ^/di 000231 aa 155 145 156 163 mens 000232 aa 151 157 156 137 ion_ 000233 aa 164 141 142 154 tabl 000234 aa 145 040 142 145 e be 000235 aa 040 143 157 160 cop 000236 aa 151 145 144 040 ied 000237 aa 151 156 164 157 into 000240 aa 040 164 150 145 the 000241 aa 040 157 165 164 out 000242 aa 160 165 164 040 put 000243 aa 144 151 155 145 dime 000244 aa 156 163 151 157 nsio 000245 aa 156 137 164 141 n_ta 000246 aa 142 154 145 073 ble; 000247 aa 136 057 164 150 ^/th 000250 aa 141 164 040 164 at t 000251 aa 141 142 154 145 able 000252 aa 040 143 141 156 can 000253 aa 040 157 156 154 onl 000254 aa 171 040 150 157 y ho 000255 aa 154 144 040 136 ld ^ 000256 aa 144 040 144 151 d di 000257 aa 155 145 156 163 mens 000260 aa 151 157 156 163 ions 000261 aa 056 000 000 000 . 000262 aa 136 057 124 150 ^/Th 000263 aa 145 040 151 144 e id 000264 aa 137 154 151 163 _lis 000265 aa 164 040 165 163 t us 000266 aa 145 144 040 164 ed t 000267 aa 157 040 151 144 o id 000270 aa 145 156 164 151 enti 000271 aa 146 171 040 144 fy d 000272 aa 151 155 145 156 imen 000273 aa 163 151 157 156 sion 000274 aa 163 040 164 157 s to 000275 aa 040 143 157 160 cop 000276 aa 171 040 146 162 y fr 000277 aa 157 155 040 157 om o 000300 aa 156 145 040 144 ne d 000301 aa 151 155 145 156 imen 000302 aa 163 151 157 156 sion 000303 aa 137 164 141 142 _tab 000304 aa 154 145 136 057 le^/ 000305 aa 164 157 040 141 to a 000306 aa 156 157 164 150 noth 000307 aa 145 162 040 143 er c 000310 aa 157 156 164 141 onta 000311 aa 151 156 163 040 ins 000312 aa 141 156 040 151 an i 000313 aa 144 145 156 164 dent 000314 aa 151 146 151 145 ifie 000315 aa 162 054 040 136 r, ^ 000316 aa 144 054 040 164 d, t 000317 aa 150 141 164 040 hat 000320 aa 144 157 145 163 does 000321 aa 040 156 157 164 not 000322 aa 040 151 144 145 ide 000323 aa 156 164 151 146 ntif 000324 aa 171 040 141 040 y a 000325 aa 144 151 155 145 dime 000326 aa 156 163 151 157 nsio 000327 aa 156 136 057 151 n^/i 000330 aa 156 040 164 150 n th 000331 aa 145 040 151 156 e in 000332 aa 160 165 164 040 put 000333 aa 144 151 155 145 dime 000334 aa 156 163 151 157 nsio 000335 aa 156 137 164 141 n_ta 000336 aa 142 154 145 056 ble. BEGIN PROCEDURE dfu_cv_dim_to_dim_table ENTRY TO dfu_cv_dim_to_dim_table STATEMENT 1 ON LINE 27 dfu_cv_dim_to_dim_table: proc (p_work_area_ptr, p_number_of_dimensions, p_maximum_dimension_name_length, p_id_list_ptr, p_input_dimension_table_ptr, p_output_dimension_table_ptr); 000337 at 000006000034 000340 tt 000033000033 000341 tt 000034000034 000342 ta 000034000000 000343 ta 000337000000 000344 da 000046300000 000345 aa 000560 6270 00 eax7 368 000346 aa 7 00034 3521 20 epp2 pr7|28,* 000347 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000350 aa 000014000000 000351 aa 000000000000 STATEMENT 1 ON LINE 45 OF FILE 1 000352 aa 777466 2370 04 ldaq -202,ic 000040 = 077777000043 000001000000 000353 aa 6 00116 7571 00 staq pr6|78 dimension_table_ptr STATEMENT 1 ON LINE 46 OF FILE 1 000354 aa 000001 3360 07 lcq 1,dl 000355 aa 6 00120 7561 00 stq pr6|80 dt_maximum_dimension_name_length STATEMENT 1 ON LINE 48 OF FILE 1 000356 aa 6 00121 7561 00 stq pr6|81 dt_number_of_dimensions STATEMENT 1 ON LINE 21 OF FILE 2 000357 aa 777461 2370 04 ldaq -207,ic 000040 = 077777000043 000001000000 000360 aa 6 00122 7571 00 staq pr6|82 id_list_ptr STATEMENT 1 ON LINE 22 OF FILE 2 000361 aa 000001 3360 07 lcq 1,dl 000362 aa 6 00124 7561 00 stq pr6|84 il_number_of_ids STATEMENT 1 ON LINE 118 p_output_dimension_table_ptr = null; 000363 aa 777455 2370 04 ldaq -211,ic 000040 = 077777000043 000001000000 000364 aa 6 00032 3735 20 epp7 pr6|26,* 000365 aa 7 00014 7571 20 staq pr7|12,* p_output_dimension_table_ptr STATEMENT 1 ON LINE 120 work_area_ptr = p_work_area_ptr; 000366 aa 7 00002 3715 20 epp5 pr7|2,* p_work_area_ptr 000367 aa 5 00000 3715 20 epp5 pr5|0,* p_work_area_ptr 000370 aa 6 00106 6515 00 spri5 pr6|70 work_area_ptr STATEMENT 1 ON LINE 122 input_dimension_table_ptr = p_input_dimension_table_ptr; 000371 aa 7 00012 3535 20 epp3 pr7|10,* p_input_dimension_table_ptr 000372 aa 3 00000 3535 20 epp3 pr3|0,* p_input_dimension_table_ptr 000373 aa 6 00104 2535 00 spri3 pr6|68 input_dimension_table_ptr STATEMENT 1 ON LINE 123 if input_dimension_table_ptr = null then do; 000374 aa 6 00104 6771 00 eraq pr6|68 input_dimension_table_ptr 000375 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000376 aa 000006 6010 04 tnz 6,ic 000404 STATEMENT 1 ON LINE 129 dt_number_of_dimensions = p_number_of_dimensions; 000377 aa 7 00004 2361 20 ldq pr7|4,* p_number_of_dimensions 000400 aa 6 00121 7561 00 stq pr6|81 dt_number_of_dimensions STATEMENT 1 ON LINE 130 dt_maximum_dimension_name_length = p_maximum_dimension_name_length; 000401 aa 7 00006 2361 20 ldq pr7|6,* p_maximum_dimension_name_length 000402 aa 6 00120 7561 00 stq pr6|80 dt_maximum_dimension_name_length STATEMENT 1 ON LINE 131 end; 000403 aa 000306 7100 04 tra 198,ic 000711 STATEMENT 1 ON LINE 132 else do; STATEMENT 1 ON LINE 137 call CHECK_VERSION ((input_dimension_table_ptr -> dimension_table.version), DIMENSION_TABLE_VERSION_1, "dimension_table"); 000404 aa 3 00000 2351 00 lda pr3|0 dimension_table.version 000405 aa 3 00001 2361 00 ldq pr3|1 dimension_table.version 000406 aa 6 00146 7571 00 staq pr6|102 000407 aa 777435 2370 04 ldaq -227,ic 000044 = 144151155145 156163151157 000410 aa 6 00150 7571 00 staq pr6|104 000411 aa 777435 2370 04 ldaq -227,ic 000046 = 156137164141 142154145000 000412 aa 6 00152 7571 00 staq pr6|106 000413 aa 001135 3520 04 epp2 605,ic 001550 = 000006000000 000414 aa 2 00000 2351 00 lda pr2|0 000415 aa 000675 6700 04 tsp4 445,ic 001312 STATEMENT 1 ON LINE 143 if p_number_of_dimensions = USE_DEFAULT_NUMBER_OF_DIMENSIONS then dt_number_of_dimensions = input_dimension_table_ptr -> dimension_table.number_of_dimensions; 000416 aa 6 00032 3735 20 epp7 pr6|26,* 000417 aa 7 00004 2361 20 ldq pr7|4,* p_number_of_dimensions 000420 aa 001146 1160 04 cmpq 614,ic 001566 = 777777777777 000421 aa 000005 6010 04 tnz 5,ic 000426 000422 aa 6 00104 3715 20 epp5 pr6|68,* input_dimension_table_ptr 000423 aa 5 00003 2361 00 ldq pr5|3 dimension_table.number_of_dimensions 000424 aa 6 00121 7561 00 stq pr6|81 dt_number_of_dimensions 000425 aa 000002 7100 04 tra 2,ic 000427 STATEMENT 1 ON LINE 146 else dt_number_of_dimensions = p_number_of_dimensions; 000426 aa 6 00121 7561 00 stq pr6|81 dt_number_of_dimensions STATEMENT 1 ON LINE 149 if p_maximum_dimension_name_length = USE_DEFAULT_MAXIMUM_DIMENSION_NAME_LENGTH then dt_maximum_dimension_name_length = input_dimension_table_ptr -> dimension_table.maximum_dimension_name_length; 000427 aa 7 00006 2361 20 ldq pr7|6,* p_maximum_dimension_name_length 000430 aa 001136 1160 04 cmpq 606,ic 001566 = 777777777777 000431 aa 000005 6010 04 tnz 5,ic 000436 000432 aa 6 00104 3715 20 epp5 pr6|68,* input_dimension_table_ptr 000433 aa 5 00002 2361 00 ldq pr5|2 dimension_table.maximum_dimension_name_length 000434 aa 6 00120 7561 00 stq pr6|80 dt_maximum_dimension_name_length 000435 aa 000006 7100 04 tra 6,ic 000443 STATEMENT 1 ON LINE 152 else dt_maximum_dimension_name_length = max (p_maximum_dimension_name_length, input_dimension_table_ptr -> dimension_table.maximum_dimension_name_length); 000436 aa 6 00104 3715 20 epp5 pr6|68,* input_dimension_table_ptr 000437 aa 5 00002 1161 00 cmpq pr5|2 dimension_table.maximum_dimension_name_length 000440 aa 000002 6050 04 tpl 2,ic 000442 000441 aa 5 00002 2361 00 ldq pr5|2 dimension_table.maximum_dimension_name_length 000442 aa 6 00120 7561 00 stq pr6|80 dt_maximum_dimension_name_length STATEMENT 1 ON LINE 160 id_list_ptr = p_id_list_ptr; 000443 aa 7 00010 3535 20 epp3 pr7|8,* p_id_list_ptr 000444 aa 3 00000 3535 20 epp3 pr3|0,* p_id_list_ptr 000445 aa 6 00122 2535 00 spri3 pr6|82 id_list_ptr STATEMENT 1 ON LINE 161 if id_list_ptr = null then do; 000446 aa 6 00122 2371 00 ldaq pr6|82 id_list_ptr 000447 aa 777371 6770 04 eraq -263,ic 000040 = 077777000043 000001000000 000450 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000451 aa 000060 6010 04 tnz 48,ic 000531 STATEMENT 1 ON LINE 164 number_of_dimensions_to_copy = input_dimension_table_ptr -> dimension_table.number_of_dimensions; 000452 aa 5 00003 2361 00 ldq pr5|3 dimension_table.number_of_dimensions 000453 aa 6 00102 7561 00 stq pr6|66 number_of_dimensions_to_copy STATEMENT 1 ON LINE 165 if number_of_dimensions_to_copy > dt_number_of_dimensions then call sub_err_ (0, myname, ACTION_CANT_RESTART, null, 0, "The caller specified that all ^d dimensions in the input^/dimension_table be copied into the output dimension_table;^/that table can only hold ^d dimensions." , number_of_dimensions_to_copy, dt_number_of_dimensions); 000454 aa 6 00121 1161 00 cmpq pr6|81 dt_number_of_dimensions 000455 aa 000234 6044 04 tmoz 156,ic 000711 000456 aa 6 00154 4501 00 stz pr6|108 000457 aa 777361 3514 24 epp1 -271,ic* 000460 aa 6 00146 2515 00 spri1 pr6|102 000461 aa 6 00155 4501 00 stz pr6|109 000462 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000463 aa 777530 00 0240 desc9a -168,160 000212 = 124150145040 000464 aa 6 00156 00 0240 desc9a pr6|110,160 000465 aa 6 00154 3521 00 epp2 pr6|108 000466 aa 6 00230 2521 00 spri2 pr6|152 000467 aa 777316 3520 04 epp2 -306,ic 000005 = 144146165137 000470 aa 6 00232 2521 00 spri2 pr6|154 000471 aa 777307 3520 04 epp2 -313,ic 000000 = 400000000000 000472 aa 6 00234 2521 00 spri2 pr6|156 000473 aa 6 00146 3521 00 epp2 pr6|102 000474 aa 6 00236 2521 00 spri2 pr6|158 000475 aa 6 00155 3521 00 epp2 pr6|109 000476 aa 6 00240 2521 00 spri2 pr6|160 000477 aa 6 00156 3521 00 epp2 pr6|110 000500 aa 6 00242 2521 00 spri2 pr6|162 000501 aa 6 00102 3521 00 epp2 pr6|66 number_of_dimensions_to_copy 000502 aa 6 00244 2521 00 spri2 pr6|164 000503 aa 6 00121 3521 00 epp2 pr6|81 dt_number_of_dimensions 000504 aa 6 00246 2521 00 spri2 pr6|166 000505 aa 777322 3520 04 epp2 -302,ic 000027 = 404000000005 000506 aa 6 00250 2521 00 spri2 pr6|168 000507 aa 6 00260 2521 00 spri2 pr6|176 000510 aa 777316 3520 04 epp2 -306,ic 000026 = 530000000040 000511 aa 6 00252 2521 00 spri2 pr6|170 000512 aa 777313 3520 04 epp2 -309,ic 000025 = 514000000044 000513 aa 6 00254 2521 00 spri2 pr6|172 000514 aa 777320 3520 04 epp2 -304,ic 000034 = 464000000000 000515 aa 6 00256 2521 00 spri2 pr6|174 000516 aa 777306 3520 04 epp2 -314,ic 000024 = 524000000235 000517 aa 6 00262 2521 00 spri2 pr6|178 000520 aa 777313 3520 04 epp2 -309,ic 000033 = 404000000043 000521 aa 6 00264 2521 00 spri2 pr6|180 000522 aa 6 00266 2521 00 spri2 pr6|182 000523 aa 6 00226 6211 00 eax1 pr6|150 000524 aa 040000 4310 07 fld 16384,dl 000525 aa 6 00044 3701 20 epp4 pr6|36,* 000526 la 4 00010 3521 20 epp2 pr4|8,* sub_err_ 000527 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 178 end; 000530 aa 000161 7100 04 tra 113,ic 000711 STATEMENT 1 ON LINE 179 else do; STATEMENT 1 ON LINE 181 call CHECK_VERSION_FB (id_list.version, (ID_LIST_VERSION_1), "id_list"); 000531 aa 000001 2360 07 ldq 1,dl 000532 aa 6 00155 7561 00 stq pr6|109 000533 aa 777303 2370 04 ldaq -317,ic 000036 = 151144137154 151163164000 000534 aa 6 00146 7571 00 staq pr6|102 000535 aa 3 00000 3521 00 epp2 pr3|0 id_list.version 000536 aa 6 00230 2521 00 spri2 pr6|152 000537 aa 6 00155 3521 00 epp2 pr6|109 000540 aa 6 00232 2521 00 spri2 pr6|154 000541 aa 6 00146 3521 00 epp2 pr6|102 000542 aa 6 00234 2521 00 spri2 pr6|156 000543 aa 777270 3520 04 epp2 -328,ic 000033 = 404000000043 000544 aa 6 00236 2521 00 spri2 pr6|158 000545 aa 6 00240 2521 00 spri2 pr6|160 000546 aa 777255 3520 04 epp2 -339,ic 000023 = 524000000007 000547 aa 6 00242 2521 00 spri2 pr6|162 000550 aa 6 00226 3521 00 epp2 pr6|150 000551 aa 014000 4310 07 fld 6144,dl 000552 aa 2 00000 7571 00 staq pr2|0 000553 aa 000654 6700 04 tsp4 428,ic 001427 STATEMENT 1 ON LINE 182 number_of_dimensions_to_copy = id_list.number_of_ids; 000554 aa 6 00122 3735 20 epp7 pr6|82,* id_list_ptr 000555 aa 7 00001 2361 00 ldq pr7|1 id_list.number_of_ids 000556 aa 6 00102 7561 00 stq pr6|66 number_of_dimensions_to_copy STATEMENT 1 ON LINE 183 if number_of_dimensions_to_copy > dt_number_of_dimensions then call sub_err_ (0, myname, ACTION_CANT_RESTART, null, 0, "The caller-specified id_list contains ^d dimension identifiers^/but the output dimension_table can only hold ^d dimensions." , number_of_dimensions_to_copy, dt_number_of_dimensions); 000557 aa 6 00121 1161 00 cmpq pr6|81 dt_number_of_dimensions 000560 aa 000053 6044 04 tmoz 43,ic 000633 000561 aa 6 00155 4501 00 stz pr6|109 000562 aa 777256 3714 24 epp5 -338,ic* 000563 aa 6 00146 6515 00 spri5 pr6|102 000564 aa 6 00154 4501 00 stz pr6|108 000565 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000566 aa 777366 00 0174 desc9a -266,124 000153 = 124150145040 000567 aa 6 00226 00 0174 desc9a pr6|150,124 000570 aa 6 00155 3521 00 epp2 pr6|109 000571 aa 6 00160 2521 00 spri2 pr6|112 000572 aa 777213 3520 04 epp2 -373,ic 000005 = 144146165137 000573 aa 6 00162 2521 00 spri2 pr6|114 000574 aa 777204 3520 04 epp2 -380,ic 000000 = 400000000000 000575 aa 6 00164 2521 00 spri2 pr6|116 000576 aa 6 00146 3521 00 epp2 pr6|102 000577 aa 6 00166 2521 00 spri2 pr6|118 000600 aa 6 00154 3521 00 epp2 pr6|108 000601 aa 6 00170 2521 00 spri2 pr6|120 000602 aa 6 00226 3521 00 epp2 pr6|150 000603 aa 6 00172 2521 00 spri2 pr6|122 000604 aa 6 00102 3521 00 epp2 pr6|66 number_of_dimensions_to_copy 000605 aa 6 00174 2521 00 spri2 pr6|124 000606 aa 6 00121 3521 00 epp2 pr6|81 dt_number_of_dimensions 000607 aa 6 00176 2521 00 spri2 pr6|126 000610 aa 777217 3520 04 epp2 -369,ic 000027 = 404000000005 000611 aa 6 00200 2521 00 spri2 pr6|128 000612 aa 6 00210 2521 00 spri2 pr6|136 000613 aa 777213 3520 04 epp2 -373,ic 000026 = 530000000040 000614 aa 6 00202 2521 00 spri2 pr6|130 000615 aa 777210 3520 04 epp2 -376,ic 000025 = 514000000044 000616 aa 6 00204 2521 00 spri2 pr6|132 000617 aa 777215 3520 04 epp2 -371,ic 000034 = 464000000000 000620 aa 6 00206 2521 00 spri2 pr6|134 000621 aa 777201 3520 04 epp2 -383,ic 000022 = 524000000173 000622 aa 6 00212 2521 00 spri2 pr6|138 000623 aa 777210 3520 04 epp2 -376,ic 000033 = 404000000043 000624 aa 6 00214 2521 00 spri2 pr6|140 000625 aa 6 00216 2521 00 spri2 pr6|142 000626 aa 6 00156 6211 00 eax1 pr6|110 000627 aa 040000 4310 07 fld 16384,dl 000630 aa 6 00044 3701 20 epp4 pr6|36,* 000631 la 4 00010 3521 20 epp2 pr4|8,* sub_err_ 000632 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 197 if number_of_dimensions_to_copy > input_dimension_table_ptr -> dimension_table.number_of_dimensions then call sub_err_ (0, myname, ACTION_CANT_RESTART, null, 0, "The caller-specified id_list contains ^d dimension identifiers^/but the input dimension_table can only hold ^d dimensions." , number_of_dimensions_to_copy, dt_number_of_dimensions); 000633 aa 6 00102 2361 00 ldq pr6|66 number_of_dimensions_to_copy 000634 aa 6 00104 3735 20 epp7 pr6|68,* input_dimension_table_ptr 000635 aa 7 00003 1161 00 cmpq pr7|3 dimension_table.number_of_dimensions 000636 aa 000053 6044 04 tmoz 43,ic 000711 000637 aa 6 00154 4501 00 stz pr6|108 000640 aa 777200 3714 24 epp5 -384,ic* 000641 aa 6 00146 6515 00 spri5 pr6|102 000642 aa 6 00155 4501 00 stz pr6|109 000643 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000644 aa 777251 00 0174 desc9a -343,124 000114 = 124150145040 000645 aa 6 00226 00 0174 desc9a pr6|150,124 000646 aa 6 00154 3521 00 epp2 pr6|108 000647 aa 6 00160 2521 00 spri2 pr6|112 000650 aa 777135 3520 04 epp2 -419,ic 000005 = 144146165137 000651 aa 6 00162 2521 00 spri2 pr6|114 000652 aa 777126 3520 04 epp2 -426,ic 000000 = 400000000000 000653 aa 6 00164 2521 00 spri2 pr6|116 000654 aa 6 00146 3521 00 epp2 pr6|102 000655 aa 6 00166 2521 00 spri2 pr6|118 000656 aa 6 00155 3521 00 epp2 pr6|109 000657 aa 6 00170 2521 00 spri2 pr6|120 000660 aa 6 00226 3521 00 epp2 pr6|150 000661 aa 6 00172 2521 00 spri2 pr6|122 000662 aa 6 00102 3521 00 epp2 pr6|66 number_of_dimensions_to_copy 000663 aa 6 00174 2521 00 spri2 pr6|124 000664 aa 6 00121 3521 00 epp2 pr6|81 dt_number_of_dimensions 000665 aa 6 00176 2521 00 spri2 pr6|126 000666 aa 777141 3520 04 epp2 -415,ic 000027 = 404000000005 000667 aa 6 00200 2521 00 spri2 pr6|128 000670 aa 6 00210 2521 00 spri2 pr6|136 000671 aa 777135 3520 04 epp2 -419,ic 000026 = 530000000040 000672 aa 6 00202 2521 00 spri2 pr6|130 000673 aa 777132 3520 04 epp2 -422,ic 000025 = 514000000044 000674 aa 6 00204 2521 00 spri2 pr6|132 000675 aa 777137 3520 04 epp2 -417,ic 000034 = 464000000000 000676 aa 6 00206 2521 00 spri2 pr6|134 000677 aa 777122 3520 04 epp2 -430,ic 000021 = 524000000172 000700 aa 6 00212 2521 00 spri2 pr6|138 000701 aa 777132 3520 04 epp2 -422,ic 000033 = 404000000043 000702 aa 6 00214 2521 00 spri2 pr6|140 000703 aa 6 00216 2521 00 spri2 pr6|142 000704 aa 6 00156 6211 00 eax1 pr6|110 000705 aa 040000 4310 07 fld 16384,dl 000706 aa 6 00044 3701 20 epp4 pr6|36,* 000707 la 4 00010 3521 20 epp2 pr4|8,* sub_err_ 000710 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 209 end; STATEMENT 1 ON LINE 210 end; STATEMENT 1 ON LINE 214 on cleanup call FINISH (); 000711 aa 000007 7260 07 lxl6 7,dl 000712 aa 777130 3520 04 epp2 -424,ic 000042 = 143154145141 000713 aa 0 00717 7001 00 tsx0 pr0|463 enable 000714 aa 000004 7100 04 tra 4,ic 000720 000715 aa 000110000000 000716 aa 000011 7100 04 tra 9,ic 000727 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 214 on cleanup call FINISH (); 000717 da 000054200000 000720 aa 000120 6270 00 eax7 80 000721 aa 7 00034 3521 20 epp2 pr7|28,* 000722 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000723 aa 000000000000 000724 aa 000000000000 000725 aa 000576 6700 04 tsp4 382,ic 001523 000726 aa 0 00631 7101 00 tra pr0|409 return END CONDITION cleanup.1 STATEMENT 1 ON LINE 216 allocate dimension_table in (work_area); 000727 aa 6 00120 2361 00 ldq pr6|80 dt_maximum_dimension_name_length 000730 aa 000003 0760 07 adq 3,dl 000731 aa 000002 7320 00 qrs 2 000732 aa 000002 0760 07 adq 2,dl 000733 aa 000001 0760 07 adq 1,dl 000734 aa 777776 3760 07 anq 262142,dl 000735 aa 000012 0760 07 adq 10,dl 000736 aa 000001 0760 07 adq 1,dl 000737 aa 777776 3760 07 anq 262142,dl 000740 aa 6 00121 4021 00 mpy pr6|81 dt_number_of_dimensions 000741 aa 000004 0330 07 adl 4,dl 000742 aa 6 00106 3521 20 epp2 pr6|70,* work_area 000743 aa 0 01402 7001 00 tsx0 pr0|770 alloc_based 000744 aa 777763 7100 04 tra -13,ic 000727 000745 aa 6 00116 2521 00 spri2 pr6|78 dimension_table_ptr 000746 aa 777034 2370 04 ldaq -484,ic 000002 = 104151155124 142154137061 000747 aa 2 00000 7551 00 sta pr2|0 dimension_table.version 000750 aa 2 00001 7561 00 stq pr2|1 dimension_table.version 000751 aa 6 00121 2361 00 ldq pr6|81 dt_number_of_dimensions 000752 aa 2 00003 7561 00 stq pr2|3 dimension_table.number_of_dimensions 000753 aa 6 00120 2361 00 ldq pr6|80 dt_maximum_dimension_name_length 000754 aa 2 00002 7561 00 stq pr2|2 dimension_table.maximum_dimension_name_length 000755 aa 6 00125 4501 00 stz pr6|85 000756 aa 6 00125 0541 00 aos pr6|85 000757 aa 000003 0760 07 adq 3,dl 000760 aa 000002 7320 00 qrs 2 000761 aa 6 00155 7561 00 stq pr6|109 000762 aa 000002 0760 07 adq 2,dl 000763 aa 000001 0760 07 adq 1,dl 000764 aa 777776 3760 07 anq 262142,dl 000765 aa 6 00154 7561 00 stq pr6|108 000766 aa 000012 0760 07 adq 10,dl 000767 aa 000001 0760 07 adq 1,dl 000770 aa 777776 3760 07 anq 262142,dl 000771 aa 6 00270 7561 00 stq pr6|184 000772 aa 6 00125 2361 00 ldq pr6|85 000773 aa 000001 1760 07 sbq 1,dl 000774 aa 6 00270 4021 00 mpy pr6|184 000775 aa 2 00004 4501 06 stz pr2|4,ql dimension_table.name 000776 aa 6 00126 4501 00 stz pr6|86 000777 aa 6 00126 0541 00 aos pr6|86 001000 aa 6 00270 2361 00 ldq pr6|184 001001 aa 6 00126 4021 00 mpy pr6|86 001002 aa 6 00270 1761 00 sbq pr6|184 001003 aa 6 00271 7561 00 stq pr6|185 001004 aa 6 00155 2361 00 ldq pr6|109 001005 aa 000005 0760 07 adq 5,dl 001006 aa 6 00271 0761 00 adq pr6|185 001007 aa 2 00000 4501 06 stz pr2|0,ql dimension_table.descriptor_string 001010 aa 6 00127 4501 00 stz pr6|87 001011 aa 6 00127 0541 00 aos pr6|87 001012 aa 6 00270 2361 00 ldq pr6|184 001013 aa 6 00127 4021 00 mpy pr6|87 001014 aa 6 00270 1761 00 sbq pr6|184 001015 aa 6 00270 7561 00 stq pr6|184 001016 aa 6 00154 2361 00 ldq pr6|108 001017 aa 000004 0760 07 adq 4,dl 001020 aa 6 00270 0761 00 adq pr6|184 001021 aa 000000 6270 06 eax7 0,ql 001022 aa 777016 2370 04 ldaq -498,ic 000040 = 077777000043 000001000000 001023 aa 2 00000 7571 17 staq pr2|0,7 dimension_table.descriptor_ptr STATEMENT 1 ON LINE 218 if input_dimension_table_ptr ^= null then COPY: do dimension_idx = 1 to number_of_dimensions_to_copy; 001024 aa 6 00104 6771 00 eraq pr6|68 input_dimension_table_ptr 001025 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001026 aa 000260 6000 04 tze 176,ic 001306 001027 aa 6 00102 2361 00 ldq pr6|66 number_of_dimensions_to_copy 001030 aa 6 00130 7561 00 stq pr6|88 001031 aa 000001 2360 07 ldq 1,dl 001032 aa 6 00100 7561 00 stq pr6|64 dimension_idx 001033 aa 000000 0110 03 nop 0,du 001034 aa 6 00100 2361 00 ldq pr6|64 dimension_idx 001035 aa 6 00130 1161 00 cmpq pr6|88 001036 aa 000250 6054 04 tpnz 168,ic 001306 STATEMENT 1 ON LINE 222 if id_list_ptr = null then dimension_to_copy = dimension_idx; 001037 aa 6 00122 2371 00 ldaq pr6|82 id_list_ptr 001040 aa 777000 6770 04 eraq -512,ic 000040 = 077777000043 000001000000 001041 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001042 aa 000004 6010 04 tnz 4,ic 001046 001043 aa 6 00100 2361 00 ldq pr6|64 dimension_idx 001044 aa 6 00101 7561 00 stq pr6|65 dimension_to_copy 001045 aa 000066 7100 04 tra 54,ic 001133 STATEMENT 1 ON LINE 224 else if id_list.id (dimension_idx) >= 1 & id_list.id (dimension_idx) <= hbound (input_dimension_table_ptr -> dimension_table.dimension, 1) then dimension_to_copy = id_list.id (dimension_idx); 001046 aa 6 00100 7271 00 lxl7 pr6|64 dimension_idx 001047 aa 6 00122 3735 20 epp7 pr6|82,* id_list_ptr 001050 aa 7 00001 2361 17 ldq pr7|1,7 id_list.id 001051 aa 000001 1160 07 cmpq 1,dl 001052 aa 000010 6040 04 tmi 8,ic 001062 001053 aa 6 00104 3715 20 epp5 pr6|68,* input_dimension_table_ptr 001054 aa 5 00003 2361 00 ldq pr5|3 dimension_table.number_of_dimensions 001055 aa 7 00001 1161 17 cmpq pr7|1,7 id_list.id 001056 aa 000004 6040 04 tmi 4,ic 001062 001057 aa 7 00001 2361 17 ldq pr7|1,7 id_list.id 001060 aa 6 00101 7561 00 stq pr6|65 dimension_to_copy 001061 aa 000052 7100 04 tra 42,ic 001133 STATEMENT 1 ON LINE 227 else call sub_err_ (0, myname, ACTION_CANT_RESTART, null, 0, "^/The id_list used to identify dimensions to copy from one dimension_table^/to another contains an identifier, ^d, that does not identify a dimension^/in the input dimension_table." , (id_list.id (dimension_idx))); 001062 aa 6 00270 4501 00 stz pr6|184 001063 aa 776755 3714 24 epp5 -531,ic* 001064 aa 6 00146 6515 00 spri5 pr6|102 001065 aa 6 00154 4501 00 stz pr6|108 001066 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001067 aa 777174 00 0264 desc9a -388,180 000262 = 136057124150 001070 aa 6 00272 00 0264 desc9a pr6|186,180 001071 aa 7 00001 2361 17 ldq pr7|1,7 id_list.id 001072 aa 6 00271 7561 00 stq pr6|185 001073 aa 6 00270 3521 00 epp2 pr6|184 001074 aa 6 00230 2521 00 spri2 pr6|152 001075 aa 776710 3520 04 epp2 -568,ic 000005 = 144146165137 001076 aa 6 00232 2521 00 spri2 pr6|154 001077 aa 776701 3520 04 epp2 -575,ic 000000 = 400000000000 001100 aa 6 00234 2521 00 spri2 pr6|156 001101 aa 6 00146 3521 00 epp2 pr6|102 001102 aa 6 00236 2521 00 spri2 pr6|158 001103 aa 6 00154 3521 00 epp2 pr6|108 001104 aa 6 00240 2521 00 spri2 pr6|160 001105 aa 6 00272 3521 00 epp2 pr6|186 001106 aa 6 00242 2521 00 spri2 pr6|162 001107 aa 6 00271 3521 00 epp2 pr6|185 001110 aa 6 00244 2521 00 spri2 pr6|164 001111 aa 776716 3520 04 epp2 -562,ic 000027 = 404000000005 001112 aa 6 00246 2521 00 spri2 pr6|166 001113 aa 6 00256 2521 00 spri2 pr6|174 001114 aa 776712 3520 04 epp2 -566,ic 000026 = 530000000040 001115 aa 6 00250 2521 00 spri2 pr6|168 001116 aa 776707 3520 04 epp2 -569,ic 000025 = 514000000044 001117 aa 6 00252 2521 00 spri2 pr6|170 001120 aa 776714 3520 04 epp2 -564,ic 000034 = 464000000000 001121 aa 6 00254 2521 00 spri2 pr6|172 001122 aa 776676 3520 04 epp2 -578,ic 000020 = 524000000264 001123 aa 6 00260 2521 00 spri2 pr6|176 001124 aa 776673 3520 04 epp2 -581,ic 000017 = 404000000021 001125 aa 6 00262 2521 00 spri2 pr6|178 001126 aa 6 00226 6211 00 eax1 pr6|150 001127 aa 034000 4310 07 fld 14336,dl 001130 aa 6 00044 3701 20 epp4 pr6|36,* 001131 la 4 00010 3521 20 epp2 pr4|8,* sub_err_ 001132 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 238 dimension_table.dimension (dimension_idx).name = input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).name; 001133 aa 6 00116 3735 20 epp7 pr6|78,* dimension_table_ptr 001134 aa 7 00002 2361 00 ldq pr7|2 dimension_table.maximum_dimension_name_length 001135 aa 000003 0760 07 adq 3,dl 001136 aa 000002 7320 00 qrs 2 001137 aa 6 00271 7561 00 stq pr6|185 001140 aa 000002 0760 07 adq 2,dl 001141 aa 000001 0760 07 adq 1,dl 001142 aa 777776 3760 07 anq 262142,dl 001143 aa 6 00154 7561 00 stq pr6|108 001144 aa 000012 0760 07 adq 10,dl 001145 aa 000001 0760 07 adq 1,dl 001146 aa 777776 3760 07 anq 262142,dl 001147 aa 6 00270 7561 00 stq pr6|184 001150 aa 6 00100 2361 00 ldq pr6|64 dimension_idx 001151 aa 000001 1760 07 sbq 1,dl 001152 aa 6 00270 4021 00 mpy pr6|184 001153 aa 6 00104 3715 20 epp5 pr6|68,* input_dimension_table_ptr 001154 aa 000000 6260 06 eax6 0,ql 001155 aa 5 00002 2361 00 ldq pr5|2 dimension_table.maximum_dimension_name_length 001156 aa 000003 0760 07 adq 3,dl 001157 aa 000002 7320 00 qrs 2 001160 aa 6 00347 7561 00 stq pr6|231 001161 aa 000002 0760 07 adq 2,dl 001162 aa 000001 0760 07 adq 1,dl 001163 aa 777776 3760 07 anq 262142,dl 001164 aa 6 00350 7561 00 stq pr6|232 001165 aa 000012 0760 07 adq 10,dl 001166 aa 000001 0760 07 adq 1,dl 001167 aa 777776 3760 07 anq 262142,dl 001170 aa 6 00351 7561 00 stq pr6|233 001171 aa 6 00101 2361 00 ldq pr6|65 dimension_to_copy 001172 aa 000001 1760 07 sbq 1,dl 001173 aa 6 00351 4021 00 mpy pr6|233 001174 aa 000000 6270 06 eax7 0,ql 001175 aa 5 00004 2361 06 ldq pr5|4,ql dimension_table.name 001176 aa 7 00002 1161 00 cmpq pr7|2 dimension_table.maximum_dimension_name_length 001177 aa 000002 6040 04 tmi 2,ic 001201 001200 aa 7 00002 2361 00 ldq pr7|2 dimension_table.maximum_dimension_name_length 001201 aa 5 00005 3535 17 epp3 pr5|5,7 dimension_table.name 001202 aa 7 00004 7561 16 stq pr7|4,6 dimension_table.name 001203 aa 7 00005 3515 16 epp1 pr7|5,6 dimension_table.name 001204 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001205 aa 3 00000 00 0006 desc9a pr3|0,ql dimension_table.name 001206 aa 1 00000 00 0006 desc9a pr1|0,ql dimension_table.name STATEMENT 1 ON LINE 240 dimension_table.dimension (dimension_idx).descriptor_string = input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).descriptor_string; 001207 aa 6 00270 2361 00 ldq pr6|184 001210 aa 6 00100 4021 00 mpy pr6|64 dimension_idx 001211 aa 6 00270 1761 00 sbq pr6|184 001212 aa 6 00270 7561 00 stq pr6|184 001213 aa 6 00271 2361 00 ldq pr6|185 001214 aa 000005 0760 07 adq 5,dl 001215 aa 6 00270 0761 00 adq pr6|184 001216 aa 000000 6250 06 eax5 0,ql 001217 aa 6 00351 2361 00 ldq pr6|233 001220 aa 6 00101 4021 00 mpy pr6|65 dimension_to_copy 001221 aa 6 00351 1761 00 sbq pr6|233 001222 aa 6 00351 7561 00 stq pr6|233 001223 aa 6 00347 2361 00 ldq pr6|231 001224 aa 000005 0760 07 adq 5,dl 001225 aa 6 00351 0761 00 adq pr6|233 001226 aa 5 00000 2351 06 lda pr5|0,ql dimension_table.descriptor_string 001227 aa 7 00000 7551 15 sta pr7|0,5 dimension_table.descriptor_string STATEMENT 1 ON LINE 242 dimension_table.dimension (dimension_idx).cv_to_print = input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).cv_to_print; 001230 aa 000000 6220 06 eax2 0,ql 001231 aa 6 00154 2361 00 ldq pr6|108 001232 aa 000006 0760 07 adq 6,dl 001233 aa 6 00347 7561 00 stq pr6|231 001234 aa 6 00270 0761 00 adq pr6|184 001235 aa 000000 6240 06 eax4 0,ql 001236 aa 6 00350 2361 00 ldq pr6|232 001237 aa 000006 0760 07 adq 6,dl 001240 aa 6 00352 7561 00 stq pr6|234 001241 aa 6 00351 0761 00 adq pr6|233 001242 aa 5 00000 3521 26 epp2 pr5|0,ql* dimension_table.cv_to_print 001243 aa 7 00000 2521 14 spri2 pr7|0,4 dimension_table.cv_to_print 001244 aa 5 00002 3521 26 epp2 pr5|2,ql* dimension_table.cv_to_print 001245 aa 7 00002 2521 14 spri2 pr7|2,4 dimension_table.cv_to_print STATEMENT 1 ON LINE 244 dimension_table.dimension (dimension_idx).cv_to_typed = input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).cv_to_typed; 001246 aa 6 00347 2361 00 ldq pr6|231 001247 aa 000004 0760 07 adq 4,dl 001250 aa 6 00270 0761 00 adq pr6|184 001251 aa 000000 6230 06 eax3 0,ql 001252 aa 6 00352 2361 00 ldq pr6|234 001253 aa 000004 0760 07 adq 4,dl 001254 aa 6 00351 0761 00 adq pr6|233 001255 aa 5 00000 3521 26 epp2 pr5|0,ql* dimension_table.cv_to_typed 001256 aa 7 00000 2521 13 spri2 pr7|0,3 dimension_table.cv_to_typed 001257 aa 5 00002 3521 26 epp2 pr5|2,ql* dimension_table.cv_to_typed 001260 aa 7 00002 2521 13 spri2 pr7|2,3 dimension_table.cv_to_typed STATEMENT 1 ON LINE 246 if input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).descriptor_ptr = addr (input_dimension_table_ptr -> dimension_table.dimension (dimension_to_copy).descriptor_string) then dimension_table.dimension (dimension_idx).descriptor_ptr = addr (dimension_table.dimension (dimension_idx).descriptor_string); 001261 aa 6 00350 2361 00 ldq pr6|232 001262 aa 000004 0760 07 adq 4,dl 001263 aa 6 00351 0761 00 adq pr6|233 001264 aa 5 00000 3515 12 epp1 pr5|0,2 dimension_table.descriptor_string 001265 aa 6 00146 2515 00 spri1 pr6|102 001266 aa 000000 6230 06 eax3 0,ql 001267 aa 6 00146 2371 00 ldaq pr6|102 001270 aa 5 00000 6771 13 eraq pr5|0,3 dimension_table.descriptor_ptr 001271 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001272 aa 6 00271 7451 00 stx5 pr6|185 001273 aa 000006 6010 04 tnz 6,ic 001301 001274 aa 6 00154 2361 00 ldq pr6|108 001275 aa 000004 0760 07 adq 4,dl 001276 aa 6 00270 0761 00 adq pr6|184 001277 aa 7 00000 3535 15 epp3 pr7|0,5 dimension_table.descriptor_string 001300 aa 7 00000 2535 06 spri3 pr7|0,ql dimension_table.descriptor_ptr STATEMENT 1 ON LINE 251 end COPY; 001301 aa 6 00100 2351 00 lda pr6|64 dimension_idx 001302 aa 000044 7330 00 lrs 36 001303 aa 000001 0330 07 adl 1,dl 001304 aa 6 00100 7561 00 stq pr6|64 dimension_idx 001305 aa 777527 7100 04 tra -169,ic 001034 STATEMENT 1 ON LINE 253 p_output_dimension_table_ptr = dimension_table_ptr; 001306 aa 6 00116 3735 20 epp7 pr6|78,* dimension_table_ptr 001307 aa 6 00032 3715 20 epp5 pr6|26,* 001310 aa 5 00014 6535 20 spri7 pr5|12,* p_output_dimension_table_ptr STATEMENT 1 ON LINE 255 return; 001311 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 316 end dfu_cv_dim_to_dim_table; BEGIN PROCEDURE CHECK_VERSION ENTRY TO CHECK_VERSION STATEMENT 1 ON LINE 257 CHECK_VERSION: proc (p_received_version, p_expected_version, p_structure_name); 001312 aa 6 00132 6501 00 spri4 pr6|90 001313 aa 6 00134 2521 00 spri2 pr6|92 001314 aa 2 00002 3521 01 epp2 pr2|2,au 001315 aa 6 00136 2521 00 spri2 pr6|94 001316 aa 2 00000 2361 20 ldq pr2|0,* 001317 aa 000002 6040 04 tmi 2,ic 001321 001320 aa 777777 3760 07 anq 262143,dl 001321 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001322 aa 6 00353 7561 00 stq pr6|235 001323 aa 2 00002 2361 20 ldq pr2|2,* 001324 aa 000002 6040 04 tmi 2,ic 001326 001325 aa 777777 3760 07 anq 262143,dl 001326 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001327 aa 6 00354 7561 00 stq pr6|236 001330 aa 2 00004 2361 20 ldq pr2|4,* 001331 aa 000002 6040 04 tmi 2,ic 001333 001332 aa 777777 3760 07 anq 262143,dl 001333 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001334 aa 6 00355 7561 00 stq pr6|237 STATEMENT 1 ON LINE 264 if p_received_version ^= p_expected_version then call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, "^/Expected version ^a of the ^a structure. Received version ^a instead.", p_expected_version, p_structure_name, p_received_version); 001335 aa 6 00134 3735 20 epp7 pr6|92,* 001336 aa 7 00002 3715 20 epp5 pr7|2,* 001337 aa 7 00004 3535 20 epp3 pr7|4,* 001340 aa 6 00353 2351 00 lda pr6|235 001341 aa 6 00354 2361 00 ldq pr6|236 001342 aa 040 140 106 540 cmpc (pr,rl),(pr,rl),fill(040) 001343 aa 5 00000 00 0005 desc9a pr5|0,al p_received_version 001344 aa 3 00000 00 0006 desc9a pr3|0,ql p_expected_version 001345 aa 000061 6000 04 tze 49,ic 001426 001346 aa 776472 3514 24 epp1 -710,ic* 001347 aa 6 00356 2515 00 spri1 pr6|238 001350 aa 6 00360 4501 00 stz pr6|240 001351 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001352 aa 776521 00 0110 desc9a -687,72 000072 = 136057105170 001353 aa 6 00362 00 0110 desc9a pr6|242,72 001354 aa 6 00044 3701 20 epp4 pr6|36,* 001355 la 4 00012 3521 20 epp2 pr4|10,* error_table_$unimplemented_version 001356 aa 6 00406 2521 00 spri2 pr6|262 001357 aa 776426 3520 04 epp2 -746,ic 000005 = 144146165137 001360 aa 6 00410 2521 00 spri2 pr6|264 001361 aa 776417 3520 04 epp2 -753,ic 000000 = 400000000000 001362 aa 6 00412 2521 00 spri2 pr6|266 001363 aa 6 00356 3521 00 epp2 pr6|238 001364 aa 6 00414 2521 00 spri2 pr6|268 001365 aa 6 00360 3521 00 epp2 pr6|240 001366 aa 6 00416 2521 00 spri2 pr6|270 001367 aa 6 00362 3521 00 epp2 pr6|242 001370 aa 6 00420 2521 00 spri2 pr6|272 001371 aa 7 00004 3521 20 epp2 pr7|4,* p_expected_version 001372 aa 6 00422 2521 00 spri2 pr6|274 001373 aa 7 00006 3521 20 epp2 pr7|6,* p_structure_name 001374 aa 6 00424 2521 00 spri2 pr6|276 001375 aa 7 00002 3521 20 epp2 pr7|2,* p_received_version 001376 aa 6 00426 2521 00 spri2 pr6|278 001377 aa 776434 3520 04 epp2 -740,ic 000033 = 404000000043 001400 aa 6 00430 2521 00 spri2 pr6|280 001401 aa 776425 3520 04 epp2 -747,ic 000026 = 530000000040 001402 aa 6 00432 2521 00 spri2 pr6|282 001403 aa 776422 3520 04 epp2 -750,ic 000025 = 514000000044 001404 aa 6 00434 2521 00 spri2 pr6|284 001405 aa 776427 3520 04 epp2 -745,ic 000034 = 464000000000 001406 aa 6 00436 2521 00 spri2 pr6|286 001407 aa 776420 3520 04 epp2 -752,ic 000027 = 404000000005 001410 aa 6 00440 2521 00 spri2 pr6|288 001411 aa 776404 3520 04 epp2 -764,ic 000015 = 524000000107 001412 aa 6 00442 2521 00 spri2 pr6|290 001413 aa 6 00136 3535 20 epp3 pr6|94,* 001414 aa 3 00002 3521 20 epp2 pr3|2,* 001415 aa 6 00444 2521 00 spri2 pr6|292 001416 aa 3 00004 3521 20 epp2 pr3|4,* 001417 aa 6 00446 2521 00 spri2 pr6|294 001420 aa 3 00000 3521 20 epp2 pr3|0,* 001421 aa 6 00450 2521 00 spri2 pr6|296 001422 aa 6 00404 6211 00 eax1 pr6|260 001423 aa 044000 4310 07 fld 18432,dl 001424 la 4 00010 3521 20 epp2 pr4|8,* sub_err_ 001425 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 276 end CHECK_VERSION; 001426 aa 6 00132 6101 00 rtcd pr6|90 END PROCEDURE CHECK_VERSION BEGIN PROCEDURE CHECK_VERSION_FB ENTRY TO CHECK_VERSION_FB STATEMENT 1 ON LINE 279 CHECK_VERSION_FB: proc (p_received_version, p_expected_version, p_structure_name); 001427 aa 6 00140 6501 00 spri4 pr6|96 001430 aa 6 00142 2521 00 spri2 pr6|98 001431 aa 2 00002 3521 01 epp2 pr2|2,au 001432 aa 6 00144 2521 00 spri2 pr6|100 001433 aa 2 00004 2361 20 ldq pr2|4,* 001434 aa 000002 6040 04 tmi 2,ic 001436 001435 aa 777777 3760 07 anq 262143,dl 001436 aa 0 00250 3761 00 anq pr0|168 = 000077777777 001437 aa 6 00452 7561 00 stq pr6|298 STATEMENT 1 ON LINE 286 if p_received_version ^= p_expected_version then call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, "^/Expected version ^d of the ^a structure. Received version ^d instead.", p_expected_version, p_structure_name, p_received_version); 001440 aa 6 00142 3735 20 epp7 pr6|98,* 001441 aa 7 00002 2361 20 ldq pr7|2,* p_received_version 001442 aa 7 00004 1161 20 cmpq pr7|4,* p_expected_version 001443 aa 000057 6000 04 tze 47,ic 001522 001444 aa 776374 3714 24 epp5 -772,ic* 001445 aa 6 00454 6515 00 spri5 pr6|300 001446 aa 6 00453 4501 00 stz pr6|299 001447 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001450 aa 776401 00 0110 desc9a -767,72 000050 = 136057105170 001451 aa 6 00456 00 0110 desc9a pr6|302,72 001452 aa 6 00044 3701 20 epp4 pr6|36,* 001453 la 4 00012 3521 20 epp2 pr4|10,* error_table_$unimplemented_version 001454 aa 6 00502 2521 00 spri2 pr6|322 001455 aa 776330 3520 04 epp2 -808,ic 000005 = 144146165137 001456 aa 6 00504 2521 00 spri2 pr6|324 001457 aa 776321 3520 04 epp2 -815,ic 000000 = 400000000000 001460 aa 6 00506 2521 00 spri2 pr6|326 001461 aa 6 00454 3521 00 epp2 pr6|300 001462 aa 6 00510 2521 00 spri2 pr6|328 001463 aa 6 00453 3521 00 epp2 pr6|299 001464 aa 6 00512 2521 00 spri2 pr6|330 001465 aa 6 00456 3521 00 epp2 pr6|302 001466 aa 6 00514 2521 00 spri2 pr6|332 001467 aa 7 00004 3521 20 epp2 pr7|4,* p_expected_version 001470 aa 6 00516 2521 00 spri2 pr6|334 001471 aa 7 00006 3521 20 epp2 pr7|6,* p_structure_name 001472 aa 6 00520 2521 00 spri2 pr6|336 001473 aa 7 00002 3521 20 epp2 pr7|2,* p_received_version 001474 aa 6 00522 2521 00 spri2 pr6|338 001475 aa 776336 3520 04 epp2 -802,ic 000033 = 404000000043 001476 aa 6 00524 2521 00 spri2 pr6|340 001477 aa 6 00540 2521 00 spri2 pr6|352 001500 aa 6 00544 2521 00 spri2 pr6|356 001501 aa 776325 3520 04 epp2 -811,ic 000026 = 530000000040 001502 aa 6 00526 2521 00 spri2 pr6|342 001503 aa 776322 3520 04 epp2 -814,ic 000025 = 514000000044 001504 aa 6 00530 2521 00 spri2 pr6|344 001505 aa 776327 3520 04 epp2 -809,ic 000034 = 464000000000 001506 aa 6 00532 2521 00 spri2 pr6|346 001507 aa 776320 3520 04 epp2 -816,ic 000027 = 404000000005 001510 aa 6 00534 2521 00 spri2 pr6|348 001511 aa 776304 3520 04 epp2 -828,ic 000015 = 524000000107 001512 aa 6 00536 2521 00 spri2 pr6|350 001513 aa 6 00144 3535 20 epp3 pr6|100,* 001514 aa 3 00004 3521 20 epp2 pr3|4,* 001515 aa 6 00542 2521 00 spri2 pr6|354 001516 aa 6 00500 6211 00 eax1 pr6|320 001517 aa 044000 4310 07 fld 18432,dl 001520 la 4 00010 3521 20 epp2 pr4|8,* sub_err_ 001521 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 301 end CHECK_VERSION_FB; 001522 aa 6 00140 6101 00 rtcd pr6|96 END PROCEDURE CHECK_VERSION_FB BEGIN PROCEDURE FINISH ENTRY TO FINISH STATEMENT 1 ON LINE 303 FINISH: proc (); 001523 aa 6 00100 6501 00 spri4 pr6|64 STATEMENT 1 ON LINE 306 if dimension_table_ptr ^= null then free dimension_table; 001524 aa 6 00040 3735 20 epp7 pr6|32,* 001525 aa 7 00116 2371 00 ldaq pr7|78 dimension_table_ptr 001526 aa 776312 6770 04 eraq -822,ic 000040 = 077777000043 000001000000 001527 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001530 aa 000017 6000 04 tze 15,ic 001547 001531 aa 7 00116 3715 20 epp5 pr7|78,* dimension_table_ptr 001532 aa 5 00002 2361 00 ldq pr5|2 dimension_table.maximum_dimension_name_length 001533 aa 000003 0760 07 adq 3,dl 001534 aa 000002 7320 00 qrs 2 001535 aa 000002 0760 07 adq 2,dl 001536 aa 000001 0760 07 adq 1,dl 001537 aa 777776 3760 07 anq 262142,dl 001540 aa 000012 0760 07 adq 10,dl 001541 aa 000001 0760 07 adq 1,dl 001542 aa 777776 3760 07 anq 262142,dl 001543 aa 5 00003 4021 00 mpy pr5|3 dimension_table.number_of_dimensions 001544 aa 000004 0330 07 adl 4,dl 001545 aa 7 00116 3715 00 epp5 pr7|78 dimension_table_ptr 001546 aa 0 01404 7001 00 tsx0 pr0|772 free_based STATEMENT 1 ON LINE 309 end FINISH; 001547 aa 6 00100 6101 00 rtcd pr6|64 END PROCEDURE FINISH END PROCEDURE dfu_cv_dim_to_dim_table ----------------------------------------------------------- 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