<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://in.compucrete.com/index.php?action=history&amp;feed=atom&amp;title=QueryGen_Case%3A_Generate_Security_Reports</id>
	<title>QueryGen Case: Generate Security Reports - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://in.compucrete.com/index.php?action=history&amp;feed=atom&amp;title=QueryGen_Case%3A_Generate_Security_Reports"/>
	<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=QueryGen_Case:_Generate_Security_Reports&amp;action=history"/>
	<updated>2026-05-15T17:00:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>http://in.compucrete.com/index.php?title=QueryGen_Case:_Generate_Security_Reports&amp;diff=532&amp;oldid=prev</id>
		<title>WikiAdmin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=QueryGen_Case:_Generate_Security_Reports&amp;diff=532&amp;oldid=prev"/>
		<updated>2023-07-14T13:00:35Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:00, 14 July 2023&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key my_wiki:diff::1.12:old-531:rev-532 --&gt;
&lt;/table&gt;</summary>
		<author><name>WikiAdmin</name></author>
	</entry>
	<entry>
		<id>http://in.compucrete.com/index.php?title=QueryGen_Case:_Generate_Security_Reports&amp;diff=531&amp;oldid=prev</id>
		<title>Intra&gt;Chanson: /* User Role */</title>
		<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=QueryGen_Case:_Generate_Security_Reports&amp;diff=531&amp;oldid=prev"/>
		<updated>2019-04-09T20:24:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;User Role&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Setup The Source Queries==&lt;br /&gt;
*'''lq1''' ksmenu (sqlite) -- Select * form ksmenu&lt;br /&gt;
*'''lq2''' ccwsys SELECT * FROM cctuser&lt;br /&gt;
*'''lq3''' ccwsys SELECT * FROM CCTrole&lt;br /&gt;
*'''lq4''' ccw### SELECT * FROM cctsectl&lt;br /&gt;
*'''lq5''' ccw### SELECT * FROM cctoptn where section_name='SYSTEM' AND OPTION_NAME LIKE '__SYSTEM'&lt;br /&gt;
*'''lq6''' ccw### SELECT * FROM CCTUSERROLE&lt;br /&gt;
&lt;br /&gt;
==security report==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
SELECT 1 SECTYPE,lq4.SECTION_NAME SECURITYTYPE,'' SubType,LQ4.SECURITY_CLASS SECURITYLEVEL,lq4.user_id USERROLEID,lq2.FULL_NAME USERNAME,lq3.DESCRIPTION ROLENAME,lq1.* FROM LQ1&lt;br /&gt;
INNER JOIN lq4 ON LQ1.PROG_ID=lq4.OPTION_NAME and lq4.section_name='CCMENU'&lt;br /&gt;
LEFT OUTER JOIN LQ2 ON  LQ4.USER_ID = LQ2.LOGIN_NAME &lt;br /&gt;
LEFT OUTER JOIN LQ3 ON LQ4.USER_ID = LQ3.ROLE_ID&lt;br /&gt;
union&lt;br /&gt;
SELECT 2,lq4.GROUP_NAME,OPTION_NAME,LQ4.SECURITY_CLASS SECURITYLEVEL,lq4.user_id,lq2.FULL_NAME,lq3.DESCRIPTION ROLENAME,lq1.* FROM LQ1&lt;br /&gt;
INNER JOIN lq4 ON LQ1.PROG_ID=lq4.SECTION_NAME and lq4.GROUP_name='ITEM'&lt;br /&gt;
LEFT OUTER JOIN LQ2 ON  LQ4.USER_ID = LQ2.LOGIN_NAME &lt;br /&gt;
LEFT OUTER JOIN LQ3 ON LQ4.USER_ID = LQ3.ROLE_ID&lt;br /&gt;
UNION&lt;br /&gt;
SELECT 3,lq4.GROUP_NAME,OPTION_NAME,LQ4.SECURITY_CLASS SECURITYLEVEL,lq4.user_id,lq2.FULL_NAME,lq3.DESCRIPTION ROLENAME,lq1.* FROM LQ1&lt;br /&gt;
INNER JOIN lq4 ON LQ1.PROG_ID=lq4.SECTION_NAME and lq4.GROUP_name='FUNCTION'&lt;br /&gt;
LEFT OUTER JOIN LQ2 ON  LQ4.USER_ID = LQ2.LOGIN_NAME &lt;br /&gt;
LEFT OUTER JOIN LQ3 ON LQ4.USER_ID = LQ3.ROLE_ID&lt;br /&gt;
UNION&lt;br /&gt;
SELECT 4,lq4.GROUP_NAME,OPTION_NAME,LQ4.SECURITY_CLASS SECURITYLEVEL,lq4.user_id,lq2.FULL_NAME,lq3.DESCRIPTION ROLENAME,lq1.* FROM LQ1&lt;br /&gt;
INNER JOIN lq4 ON LQ1.PROG_ID=lq4.SECTION_NAME and lq4.GROUP_name&amp;lt;&amp;gt;'ITEM' AND lq4.SECTION_NAME&amp;lt;&amp;gt;'CCMENU' AND lq4.GROUP_NAME&amp;lt;&amp;gt;'FUNCTION'&lt;br /&gt;
LEFT OUTER JOIN LQ2 ON  LQ4.USER_ID = LQ2.LOGIN_NAME &lt;br /&gt;
LEFT OUTER JOIN LQ3 ON LQ4.USER_ID = LQ3.ROLE_ID&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
1:Menu Items&lt;br /&gt;
2:Program Level control (Edit/Add/Change)&lt;br /&gt;
3:Functions&lt;br /&gt;
4:Fields&lt;br /&gt;
&lt;br /&gt;
==user report-- shows levels and optins==&lt;br /&gt;
SELECT LQ2.LOGIN_NAME,LQ2.FULL_NAME,SECURITY_CLASS,lq5.option_name &amp;quot;App&amp;quot;,lq5.option_value ,LQ2.LOGIN_DATETIME &amp;quot;Last Login&amp;quot; FROM LQ2&lt;br /&gt;
INNER JOIN LQ5 ON LQ5.USER_GROUP_ID=LQ2.LOGIN_NAME&lt;br /&gt;
order by login_name,option_name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Menu Item Report==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT lq1.*, LQ4.SECURITY_CLASS SECURITYLEVEL,lq4.user_id USERROLEID,lq2.FULL_NAME USERNAME,lq3.DESCRIPTION ROLENAME FROM LQ1 &lt;br /&gt;
left outer JOIN lq4 ON LQ1.PROG_ID=lq4.OPTION_NAME and lq4.section_name='CCMENU' &lt;br /&gt;
LEFT OUTER JOIN LQ2 ON LQ4.USER_ID = LQ2.LOGIN_NAME &lt;br /&gt;
LEFT OUTER JOIN LQ3 ON LQ4.USER_ID = LQ3.ROLE_ID &lt;br /&gt;
where COALESCE(app,'') in ('DI','AR') &lt;br /&gt;
ORDER BY APP,MENU,PROG_NAME &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This lists menu control all items with or without security&lt;br /&gt;
&lt;br /&gt;
==User Role==&lt;br /&gt;
(untested - needs new QG)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT LQ2.LOGIN_NAME,LQ2.FULL_NAME,lq6.role_id&lt;br /&gt;
 FROM LQ2&lt;br /&gt;
INNER JOIN LQ6 ON LQ6.USER_ID=LQ2.LOGIN_NAME&lt;br /&gt;
order by login_name,role_id&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Intra&gt;Chanson</name></author>
	</entry>
</feed>