! EXTERNAL long FUNCTION check_sql_status (long) EXTERNAL long FUNCTION check_forms_status (long) EXTERNAL long FUNCTION move_call_func EXTERNAL long FUNCTION find_queue_func (string,string) EXTERNAL long FUNCTION fetch_group_asc (long,queue_structure_tbl) EXTERNAL long FUNCTION fetch_group_desc (long,queue_structure_tbl) EXTERNAL long FUNCTION open_curs_group_asc (long,string) EXTERNAL long FUNCTION open_curs_group_desc (long,string) EXTERNAL long FUNCTION close_curs_group_asc (long) EXTERNAL long FUNCTION close_curs_group_desc (long) !some includes %INCLUDE "$JPIDEF" %FROM %LIBRARY %INCLUDE "$DSCDEF" %FROM %LIBRARY %INCLUDE "SYS$LIBRARY:FORMS$BAS_DEFINITIONS.BAS" %INCLUDE "SYS$LIBRARY:SQL_SQLCA.BAS" %INCLUDE "SYS$LIBRARY:SQL_LITERALS.BAS" %INCLUDE %FROM %CDD "control_tbl" %INCLUDE %FROM %CDD "move_tbl" %INCLUDE %FROM %CDD "queue_structure_tbl" ! maps to group_rec !some declarations common (a1) MOVE_TBL move_rec common (a2) MOVE_TBL move_rec_list(14) common (a3) QUEUE_STRUCTURE_TBL group_rec common (a4) QUEUE_STRUCTURE_TBL group_rec_list(14) common (a5) sqlca sqlca_rec common (a6) queue_structure_TBL temp_group_array(14) common (a7) queue_structure_TBL reverse_group_array(14) COMMON STRING db_src,db_dest,new_queue,call_status, & p_work_flag,p_queue_name, & work_flag,saved_work_flag, & p_option_type,p_decnet_name, & username_last_read, & new_username_last_read, & option_name_last_read, & new_option_name_last_read, & queue_name_last_read, & new_queue_name_last_read, & last_option_read,first_option_read COMMON LONG stat,sqlcode,forms_status,p_lognummer, & p_index_nr,last_lognummer_read, & receive_rec_cnt,receive_ctext_cnt, & send_rec_cnt, send_ctext_cnt, & form_value,first_lognummer_read, & list_limit,number_of_records,loop_counter, & index_nr,max_index_nr,record_count, & saved_index_nr,saved_max_index_nr, & more_to_read_db,index,number_of_calls, & last_record,filler,direction DECLARE LONG CONSTANT forward = 0 DECLARE LONG CONSTANT reverse = 1 ! ist wohl überflüssig wegen sql*blabla***.bas DECLARE LONG CONSTANT nodup = -803 DECLARE LONG CONSTANT deadlock = -913 DECLARE LONG CONSTANT lock_conflict = -1003 DECLARE LONG CONSTANT not_found = +100 DECLARE LONG CONSTANT null_value = -805 ! descriptor starts here ! whole record in a string for decforms ! This does have the unfortunate requirement ! that you must count the length ! of the record. RECORD descriptor_type WORD length BYTE desc_type BYTE class LONG address END RECORD DECLARE descriptor_type control_desc control_desc::desc_type = DSC$K_DTYPE_T control_desc::class = DSC$K_CLASS_S control_desc::length = 10 control_desc::address = LOC(control_rec) DECLARE descriptor_type move_desc move_desc::desc_type = DSC$K_DTYPE_T move_desc::class = DSC$K_CLASS_S move_desc::length = 10 move_desc::address = LOC(move_rec) DECLARE descriptor_type move_list_desc move_list_desc::desc_type = DSC$K_DTYPE_T move_list_desc::class = DSC$K_CLASS_S move_list_desc::length = 10*15 move_list_desc::address = LOC(move_rec_list(0)) DECLARE descriptor_type group_desc group_desc::desc_type = DSC$K_DTYPE_T group_desc::class = DSC$K_CLASS_S group_desc::length = 6+6 group_desc::address = LOC(group_rec) DECLARE descriptor_type group_list_desc group_list_desc::desc_type = DSC$K_DTYPE_T group_list_desc::class = DSC$K_CLASS_S group_list_desc::length = (6+6)*15 group_list_desc::address = LOC(group_rec_list(0)) ! end of descriptor ! a few maps Map (vms005) STRING session_id = 16 Map (vms006) STRING receive_ctext = 10 Map (vms007) STRING send_ctext = 10 ! end maps