compile function LSL_USERS_RPT1() begin condition pre: post: end condition declare function set_printer, fieldcount, utility, dialog_box, Printer_Select $insert oiprint_equates $insert rlist_equates $insert lsl_users_equ $insert sec_groups_equ Params = dialog_box( 'LSL_USERS_RPT1', @window, '*CENTER' ) if Params = 'CANCEL' or Params = '' then return 0 end convert '*' to @fm in Params Users = Params<1> Expand = ( Params<2> = 'Yes' ) DirToPrint = ( Params<3> = 'Yes' ) Stat = utility( 'CURSOR', 'H' ) if DirToPrint then PrnSetup = '' ;* defaults to printer end else PrnSetup = 3 end PrintPath = Printer_Select('',1) ;* Get default printer path Stat = set_printer( 'INIT', '', '', '':@fm:'':@fm:0:@fm:'', '', PrnSetup ,PrintPath) Ucnt = fieldcount( Users, @vm ) for i = 1 to Ucnt ThisUser = Users<1,i> URec = xlate( 'LSL_USERS', ThisUser, '', 'X' ) Font = 'Times New Roman,16,L,1,,1' convert ',' to @fm in Font Void = set_printer( 'FONT', Font ) Lout = fmt( 'UserName', 'L#25' ):' ':fmt( 'FirstName', 'L#25' ):' LastName' Void = set_printer( 'TEXT', Lout ) Font<6> = 0 ;*no underline Void = set_printer( 'FONT', Font ) Lout = fmt( ThisUser, 'L#25' ):' ':fmt( URec, 'L#25' ):' ':URec Void = set_printer( 'TEXT', Lout ) Void = set_printer( 'TEXT', '' ) Void = set_printer( 'TEXT', '' ) Lout = 'R=READ W=WRITE D=DELETE E=EDIT P=PRINT' Void = set_printer( 'TEXT', Lout ) Void = set_printer( 'TEXT', '' ) Table = 'Tables~Rights' UTables = URec URights = URec TCnt = fieldcount( UTables, @vm ) for j = 1 to TCnt Table<-1> = UTables<1,j>:'~':URights<1,j> next j convert '~' to @vm in Table TableColInfo = '<+2880':@vm:'<+1440' x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_ALL ) Void = set_printer( 'TEXT', '' ) LOut = fmt( 'Administrative User: ':oconv( URec, 'B' ), 'L#40' ) LOut := fmt( 'Process Tech: ':oconv( URec, 'B' ), 'L#40' ) Void = set_printer( 'TEXT', Lout ) LOut = fmt( 'RDS Master Rights: ':oconv( URec, 'B' ), 'L#40' ) LOut := fmt( 'Active: ':oconv( URec, 'B' ), 'L#40' ) Void = set_printer( 'TEXT', Lout ) Void = set_printer( 'TEXT', '' ) Font<6> = 1 ;* underline Void = set_printer( 'FONT', Font ) Void = set_printer( 'TEXT', 'S E C U R I T Y G R O U P S' ) Font<6> = 0 ;*no underline Void = set_printer( 'FONT', Font ) Void = set_printer( 'TEXT', '' ) Groups = URec Gcnt = fieldcount( Groups, @vm ) for j = 1 to Gcnt ThisGroup = Groups<1,j> Void = set_printer( 'TEXT', ThisGroup ) if Expand then GroupRec = xlate( 'SEC_GROUPS', ThisGroup, '', 'X' ) Table = '' Table = 'Tables~Rights' UTables = GroupRec URights = GroupRec TCnt = fieldcount( UTables, @vm ) for k = 1 to TCnt Table<-1> = UTables<1,k>:'~':URights<1,k> next k convert '~' to @vm in Table TableColInfo = '<+2880':@vm:'<+1440' x = Set_Printer("ADDTABLE", TableColInfo, '', Table, '', '', 1, TB_ALL ) end Void = set_printer( 'TEXT', '' ) next j Void = set_printer( 'PAGEBREAK' ) next i Void = set_printer( 'TERM' ) return 0