Cybersecurity
DevOps Cloud (ADM)
IT Operations Cloud
I have worked with a few AGS 4 projects for which we had to import ACF2 logons and entitlements, and I have developed some tools that I have now ported to AGS6. Individual entitlements can easily number in the millions for ACF2, and for major banks, 250 million is a number that has been encountered. For an AGS project, the amount percentage of effort associated with this single collector can be 80% or 90% for a proof of concept or an actual project, just because of the complexity of gathering the information and making sense of it once in AGS. Burton Group also mentioned in past Access Governance surveys that the mainframe can eats up a year of effort alone when the initial review and cataloguing processes are included, so any strategy or tools that can make the integration of ACF2 more effective can translate into major benefits for organizations.
The original AGS 4 approach, which is similar to approaches adopted by other vendors, is to explode the full list of individual entitlements into a csv file, using either mainframe CPU or an intermediate processing tool, before importing into the Access Governance tool. This pre-processing can take 24 hours or more on the mainframe itself using scripting language like REXX or using external processing tools. Also, one major drawback is that whenever a single entitlement change needs to be detected, one needs to go through the full processing cycle again, no way to spot the deltas.
Logons in ACF2 look like these:
------------------------------------------------------------------------------
ACF
SE TER
ACF
L LIKE(SRDM01-)
LOGON UID NAME
_______ ________________________ __________________
SRDM010 S3025140NO 440900SRDM010 TEST A6 A.CARTER
SRDM011 S3025140NO 440900SRDM011 TEST A4 G.LOUIS
SRDM012 S3010310PO 440900SRDM012 TEST E3 S.ARNOLD
SRDM013 S3025110PO 440900SRDM013 TEST A3 C.BROWN
ACF
END
-------------------------------------------------------------------------------
And ACF2 is built around the concept of rules and resources.
----------------------------------------------------------------
ACF
ACF
SE RES(CAS)
RESOURCE
L LIKE(P9-)
ACF75052 RESOURCE RULE P9_AUTOR_CAR STORED BY SRES004 ON 31/07/09-08:32
$KEY(P9_AUTOR_CAR) TYPE(CAS)
%CHANGE S4005P00*********S45ZQ01
%CHANGE S4020110*********STHC006
%CHANGE S4020120*********SVED002
UID(S**********440900) UNTIL(01/01/10) ALLOW
UID(S**********440900SRDM011) UNTIL(01/01/10) ALLOW
UID(S**********415320SSTM016) UNTIL(01/01/10) ALLOW
UID(S**********415320STEH002) UNTIL(01/01/10) ALLOW
UID(S**********415330SLES020) UNTIL(01/01/10) ALLOW
ACF75051 TOTAL RECORD LENGTH= 511 BYTES, 12 PERCENT UTILIZED
------------------------------------------------------------------
If you look at the above rule P9_AUTHOR_CAR in yellow for resource CAS, this rule UID filter will match the 4 SRDM01* accounts/logons, and would result in 4 individual entitlements. The rule in green would only match one logon(SRDM011) and would result in a single entitlement. It is possible to visualize the yellow rule UID filter as a group or application role, while the green rule UID filter could be visualized as an out-of-role entitlement. Exploding the P9_AUTHOR_CAR rule would result in 5 entitlements.
When a user authenticates against ACF2, he is carrying his or her UID as a token during the session, and UID filters for rules are compared with the user UID to determine if access to specific resources should be granted or not, by superimposing UID filter on top of UID.
The typical request that the Access Governance specialist will throw at the ACF2 analyst is for an exploded list of individual entitlements, which can easily contain millions of individual entitlements. Alternatively, the AG specialist can request a list of logons and a list of rules like P9_AUTHOR_CAR. Let's say we have 60 000 logons, and 2000 rules. The ACF2 analyst can probably provide a CSV or other type of formatted file with the up-to-date information quickly. These in theory contain all the information.
I was looking for a way to explode the information myself, without having to consume CPU resources on the mainframe. I was also looking for a way to simulate the mainframe, maybe create a self-contained demo system without requiring access to a mainframe. I decided to use the SQL language to compare UID filters with UIDs after importing the logon and rules into a database. I initially used Oracle as the database, but below is the adaption of the work for mySql.
First, we need to create the tables for logons and exploded entitlements. Using a database graphical tool, or msql command line interface, e.g. mysql -u root -p password:
--------------------------------------------
CREATE USER 'ACF2'@'localhost' IDENTIFIED BY 'netiq';
CREATE DATABASE ACF2;
GRANT ALL ON acf2.* TO 'identityiq'@'localhost';
GRANT ALL ON acf2.* TO 'identityiq'@'%';
create table acf2.logon (
LOGON_ID varchar(7) NOT NULL,
UIDFilter varchar(128) NOT NULL,
NAME varchar(128) NOT NULL,
UNITE_ADMINISTRATIVE char(2),
REGION char(2),
ETAT char(1),
STATUT char(1),
PROF1 varchar(6),
PROF2 varchar(6),
PROF3 varchar(6),
PROF4 varchar(6),
PROF5 varchar(6),
PROF6 varchar(6)
);
create table acf2.ents (
UIDFilter varchar(128) NOT NULL,
RESOURCE_ID varchar(128) NOT NULL,
DATASET varchar(128),
ACTION varchar(128),
LOGON_ID varchar(7) NOT NULL
);
------------------------------
Then we need to import the logons. If we have a csv export from the mainframe, we can use database tools to import it into the logon table. Otherwise we can insert test/fake data:
--------------------
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,STATUT,PROF1) values('SRDM010','S3025140NO ROLE01SRDM010','ALAN CARTER','IT','M','Y','ROLE01');
COMMIT;
-----------------------
Then we need the rules. The rules are actually implemented as a list of INSERT statements, this is where the actual magic resides for converting ACF2 security model based on rules into the simulator. This list of rules need to be updated and maintained so it is in line with the actual rules deployed in ACF2.
---------------------------------
insert into acf2.ents (SELECT 'S**********ROLE01','GA6A.MFFFF001.S8610LLG.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'S**********ROLE01%' or PROF2 = 'ROLE01' or PROF3 = 'ROLE01' or PROF4 = 'ROLE01' or PROF5 = 'ROLE01' or PROF6 = 'ROLE01');
COMMIT;
------------------------------
The above INSERT statement for our rule is basically trying to find all users that have the string ROLE01(position 12-17) in their UID, right before the string for the logon itself(position 18-24), or after(position 25-30, or 31-37, etc) which are associated to additional profiles or roles. This specific example is based on a real deployment of ACF2, and not every customers have tried to use the UID bits in order to simulate some groups or roles or profiles. So the specific LIKE conditions will vary from customer to customer, and a few tests with small data samples may be required to make sure that the output(the list of individual entitlements) is accurate.
If one is provided with the exploded list of entitlements in a csv file, for example after having executed a script on the mainframe or in an external tool, one could load these straight into the ents table, or import the csv straight into AGS using a csv collector. But it is still interesting to be able to use a database collector against the simulator for demo purposes, or for prototyping the AGS representation of the ACF2 security model.
Now let's create the application and collector in AGS.
The SQL Statement value is:
------------------
SELECT LOGON.LOGON_ID,LOGON.UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT ,STATUT,CONCAT_WS(',',LOGON.PROF1,LOGON.PROF2,LOGON.PROF3,LOGON.PROF4,LOGON.PROF5,LOGON.PROF6) PROFILES,ENTS.UIDFilter RUIDFilter,CONCAT(RESOURCE_ID,'::',ACTION) PERMISSION FROM LOGON LEFT OUTER JOIN ENTS ON LOGON.LOGON_ID = ENTS.LOGON_ID ORDER BY LOGON.LOGON_ID;
-----------------------
The getObjectSQL value is:
--------------------
select * from logon where LOGON_ID = '$(identity)'
--------------------
The SQL Statement value is:
-------------------------
select distinct prof1 as profile from acf2.logon union select distinct prof2 as profile from acf2.logon where prof2 is not null union select distinct prof3 as profile from acf2.logon where prof3 is not null union select distinct prof4 as profile from acf2.logon where prof4 is not null union select distinct prof5 as profile from acf2.logon where prof5 is not null union select distinct prof6 as profile from acf2.logon where prof6 is not null;
-------------------------
Then you will need to execute the task. You will also need to execute the task for Refresh Entitlement Correlation.
After executing the tasks, and making sure the managed entitlements are seen(see figure 11 above) you should be able to look at Identity Cubes and entitlements for ACF2 users, through Define/Identities.
Below you will find some test/fake data that you can load in the simulator.
Test logons:
---------------------
truncate table acf2.logon;
commit;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLA001','R**********J00001RBLA001','ALVIN BLAISE','TI','Q','N','Y','J00001','J00002');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLB001','R**********J00002RBLB001','BENOIT BLAISE','TI','S','N','Y','J00002','J00003','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLC001','R**********J00002RBLC001','CARL BLAISE','TI','T','N','Y','J00002','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLD001','R**********J00002RBLD001','DANIEL BLAISE','TI','S','N','Y','J00001','J00003','J00012');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLE001','R**********J00002RBLE001','ERIC BLAISE','TI','M','N','Y','J00002','J00005','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLF001','R**********J00003RBLF001','FRANCOIS BLAISE','TI','S','N','Y','J00005','J00003','J00008');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLG001','R**********J00003RBLG001','GUY BLAISE','TI','S','N','Y','J00003','J00004','GHR001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLH001','R**********J00004RBLH001','HENRI BLAISE','TI','S','N','Y','J00004','J00005','J00007');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLI001','R**********J00003RBLI001','IAN BLAISE','TI','M','N','Y','J00003','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLJ001','R**********J00001RBLJ001','JEAN BLAISE','TI','T','N','Y','J00001','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLK001','R**********J00001RBLK001','KEN BLAISE','TI','Q','N','Y','J00001','J00005','J00009');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLL001','R**********J00004RBLL001','LUC BLAISE','TI','Q','N','Y','J00004','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLM002','R**********J00003RBLM002','MARC BLAISE','TI','S','N','Y','J00003','J00002','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLN001','R**********J00005RBLN001','NORMAND BLAISE','TI','M','N','Y','J00005','J00006');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLO001','R**********J00006RBLO001','OVIDE BLAISE','TI','M','N','Y','J00006','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLP001','R**********J00007RBLP001','PIERRE BLAISE','TI','Q','N','Y','J00007','J00008','J00010');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLR001','R**********J00008RBLR001','ROGER BLAISE','TI','S','N','Y','J00008','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLQ001','R**********J00005RBLQ001','QUENTIN BLAISE','TI','Q','N','Y','J00005','J00007');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLS001','R**********J00004RBLS001','SOPHIE BLAISE','TI','S','N','Y','J00004','J00009');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLT001','R**********J00007RBLT001','TINA BLAISE','TI','S','N','Y','J00007','J00002','J00011');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLU001','R**********J00010RBLU001','UBALD BLAISE','TI','M','N','Y','J00005','J00010');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLV001','R**********J00010RBLV001','VICTOR BLAISE','TI','T','N','Y','J00010','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLW001','R**********J00002RBLW001','WILMA BLAISE','TI','Q','N','Y','J00002','J00009','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLX001','R**********J00011RBLX001','XAVIER BLAISE','TI','L','N','Y','J00011','J00007');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBLY001','R**********J00009RBLY001','YAN BLAISE','TI','S','N','Y','J00009','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBLZ001','R**********J00012RBLZ001','ZOE BLAISE','TI','Q','N','Y','J00011','J00009','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RDEA001','R**********J00001RDEA001','ALVIN DEVOIE','TI','Q','N','Y','J00001','J00002','GM0001','GHR001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RDEB001','R**********J00002RDEB001','BENOIT DEVOIE','TI','S','N','Y','J00002','J00003','J00005','GE0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDEC001','R**********J00002RDEC001','CARL DEVOIE','TI','T','N','Y','J00002','J00004','GS0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RDED001','R**********J00002RDED001','DANIEL DEVOIE','TI','S','N','Y','J00001','J00003','J00012','GA0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RDEE001','R**********J00002RDEE001','ERIC DEVOIE','TI','M','N','Y','J00002','J00005','J00004','GF0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDEF001','R**********J00003RDEF001','FRANCOIS DEVOIE','TI','S','N','Y','J00005','J00003','J00008');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEG001','R**********J00003RDEG001','GUY DEVOIE','TI','S','N','Y','J00003','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDEH001','R**********J00004RDEH001','HENRI DEVOIE','TI','S','N','Y','J00004','J00005','J00007');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEI001','R**********J00003RDEI001','IAN DEVOIE','TI','M','N','Y','J00003','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEJ001','R**********J00001RDEJ001','JEAN DEVOIE','TI','T','N','Y','J00001','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDEK001','R**********J00001RDEK001','KEN DEVOIE','TI','Q','N','Y','J00001','J00005','J00009');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEL001','R**********J00004RDEL001','LUC DEVOIE','TI','Q','N','Y','J00004','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDEM001','R**********J00003RDEM002','MARC DEVOIE','TI','S','N','Y','J00003','J00002','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEN001','R**********J00005RDEN001','NORMAND DEVOIE','TI','M','N','Y','J00005','J00006');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEO001','R**********J00006RDEO001','OVIDE DEVOIE','TI','M','N','Y','J00006','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDEP001','R**********J00007RDEP001','PIERRE DEVOIE','TI','Q','N','Y','J00007','J00008','J00010');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDER001','R**********J00008RDER001','ROGER DEVOIE','TI','S','N','Y','J00008','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEQ001','R**********J00005RDEQ001','QUENTIN DEVOIE','TI','Q','N','Y','J00005','J00007');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDES001','R**********J00004RDES001','SOPHIE DEVOIE','TI','S','N','Y','J00004','J00009');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDET001','R**********J00007RDET001','TINA DEVOIE','TI','S','N','Y','J00007','J00002','J00011');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEU001','R**********J00010RDEU001','UBALD DEVOIE','TI','M','N','Y','J00005','J00010');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RDEV001','R**********J00010RDEV001','VICTOR DEVOIE','TI','T','N','Y','J00010','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RDEW001','R**********J00002RDEW001','WILMA DEVOIE','TI','Q','N','Y','J00002','J00009','J00003','GM0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDEX001','R**********J00011RDEX001','XAVIER DEVOIE','TI','L','N','Y','J00011','J00007','GE0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RDEY001','R**********J00009RDEY001','YAN DEVOIE','TI','S','N','Y','J00009','J00005','GS0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RDEZ001','R**********J00012RDEZ001','ZOE DEVOIE','TI','Q','N','Y','J00011','J00009','J00004','GA0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAA001','R**********J00001RBAA001','ALVIN BAVOY','TI','Q','N','Y','J00001','J00002');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RBAB001','R**********J00002RBAB001','BENOIT BAVOY','TI','S','N','Y','J00002','J00003','J00005','GHR001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAC001','R**********J00002RBAC001','CARL BAVOY','TI','T','N','Y','J00002','J00004','GM0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RBAD001','R**********J00002RBAD001','DANIEL BAVOY','TI','S','N','Y','J00001','J00003','J00012','GE0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RBAE001','R**********J00002RBAE001','ERIC BAVOY','TI','M','N','Y','J00002','J00005','J00004','GS0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RBAF001','R**********J00003RBAF001','FRANCOIS BAVOY','TI','S','N','Y','J00005','J00003','J00008','GA0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAG001','R**********J00003RBAG001','GUY BAVOY','TI','S','N','Y','J00003','J00004','GF0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAH001','R**********J00004RBAH001','HENRI BAVOY','TI','S','N','Y','J00004','J00005','J00007');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAI001','R**********J00003RBAI001','IAN BAVOY','TI','M','N','Y','J00003','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAJ001','R**********J00001RBAJ001','JEAN BAVOY','TI','T','N','Y','J00001','J00004','GHR001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RBAK001','R**********J00001RBAK001','KEN BAVOY','TI','Q','N','Y','J00001','J00005','J00009','GM0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAL001','R**********J00004RBAL001','LUC BAVOY','TI','Q','N','Y','J00004','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RBAM001','R**********J00003RBAM002','MARC BAVOY','TI','S','N','Y','J00003','J00002','J00005','GS0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAN001','R**********J00005RBAN001','NORMAND BAVOY','TI','M','N','Y','J00005','J00006','GA0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAO001','R**********J00006RBAO001','OVIDE BAVOY','TI','M','N','Y','J00006','J00003','GF0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAP001','R**********J00007RBAP001','PIERRE BAVOY','TI','Q','N','Y','J00007','J00008','J00010');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAR001','R**********J00008RBAR001','ROGER BAVOY','TI','S','N','Y','J00008','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAQ001','R**********J00005RBAQ001','QUENTIN BAVOY','TI','Q','N','Y','J00005','J00007');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAS001','R**********J00004RBAS001','SOPHIE BAVOY','TI','S','N','Y','J00004','J00009');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAT001','R**********J00007RBAT001','TINA BAVOY','TI','S','N','Y','J00007','J00002','J00011');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAU001','R**********J00010RBAU001','UBALD BAVOY','TI','M','N','Y','J00005','J00010');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAV001','R**********J00010RBAV001','VICTOR BAVOY','TI','T','N','Y','J00010','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAW001','R**********J00002RBAW001','WILMA BAVOY','TI','Q','N','Y','J00002','J00009','J00003');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAX001','R**********J00011RBAX001','XAVIER BAVOY','TI','L','N','Y','J00011','J00007');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RBAY001','R**********J00009RBAY001','YAN BAVOY','TI','S','N','Y','J00009','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RBAZ001','R**********J00012RBAZ001','ZOE BAVOY','TI','Q','N','Y','J00011','J00009','J00004');
COMMIT;insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAA001','R**********J00001RLAA001','ALVIN LANOIX','TI','Q','N','Y','J00001','J00002','GF0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAB001','R**********J00002RLAB001','BENOIT LANOIX','TI','S','N','Y','J00002','J00003','J00005');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RLAC001','R**********J00002RLAC001','CARL LANOIX','TI','T','N','Y','J00002','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAD001','R**********J00002RLAD001','DANIEL LANOIX','TI','S','N','Y','J00001','J00003','J00012','GHR001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAE001','R**********J00002RLAE001','ERIC LANOIX','TI','M','N','Y','J00002','J00005','J00004','GM0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAF001','R**********J00003RLAF001','FRANCOIS LANOIX','TI','S','N','Y','J00005','J00003','J00008','GE0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAG001','R**********J00003RLAG001','GUY LANOIX','TI','S','N','Y','J00003','J00004','GS0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAH001','R**********J00004RLAH001','HENRI LANOIX','TI','S','N','Y','J00004','J00005','J00007','GA0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAI001','R**********J00003RLAI001','IAN LANOIX','TI','M','N','Y','J00003','J00005','GF0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RLAJ001','R**********J00001RLAJ001','JEAN LANOIX','TI','T','N','Y','J00001','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAK001','R**********J00001RLAK001','KEN LANOIX','TI','Q','N','Y','J00001','J00005','J00009');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAL001','R**********J00004RLAL001','LUC LANOIX','TI','Q','N','Y','J00004','J00003','GHR001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAM001','R**********J00003RLAM002','MARC LANOIX','TI','S','N','Y','J00003','J00002','J00005','GM0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAN001','R**********J00005RLAN001','NORMAND LANOIX','TI','M','N','Y','J00005','J00006','GE0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAO001','R**********J00006RLAO001','OVIDE LANOIX','TI','M','N','Y','J00006','J00003','GS0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAP001','R**********J00007RLAP001','PIERRE LANOIX','TI','Q','N','Y','J00007','J00008','J00010','GA0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RLAR001','R**********J00008RLAR001','ROGER LANOIX','TI','S','N','Y','J00008','J00004');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAQ001','R**********J00005RLAQ001','QUENTIN LANOIX','TI','Q','N','Y','J00005','J00007','GF0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2) values('RLAS001','R**********J00004RLAS001','SOPHIE LANOIX','TI','S','N','Y','J00004','J00009');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAT001','R**********J00007RLAT001','TINA LANOIX','TI','S','N','Y','J00007','J00002','J00011','GHR001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAU001','R**********J00010RLAU001','UBALD LANOIX','TI','M','N','Y','J00005','J00010','GE0001','GM0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAV001','R**********J00010RLAV001','VICTOR LANOIX','TI','T','N','Y','J00010','J00003','GE0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3,PROF4) values('RLAW001','R**********J00002RLAW001','WILMA LANOIX','TI','Q','N','Y','J00002','J00009','J00003','GS0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAX001','R**********J00011RLAX001','XAVIER LANOIX','TI','L','N','Y','J00011','J00007','GA0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAY001','R**********J00009RLAY001','YAN LANOIX','TI','S','N','Y','J00009','J00005','GF0001');
COMMIT;
insert into acf2.logon (LOGON_ID,UIDFilter,NAME,UNITE_ADMINISTRATIVE,REGION,ETAT,STATUT,PROF1,PROF2,PROF3) values('RLAZ001','R**********J00012RLAZ001','ZOE LANOIX','TI','Q','N','Y','J00011','J00009','J00004');
COMMIT;
update acf2.logon set UIDFilter = UIDfilter||PROF1||PROF2||PROF3||PROF4||PROF5||PROF6;
COMMIT;
-----------------------------------
Test rules:
----------------
truncate table acf2.ents;
insert into acf2.ents (SELECT 'R**********J00001','PA3A.MFFFF001.S8610LLG.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00001%' or PROF2 = 'J00001' or PROF3 = 'J00001' or PROF4 = 'J00001' or PROF5 = 'J00001' or PROF6 = 'J00001');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00002','PA3A.MFFFF001.S8345FFC.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00002%' or PROF2 = 'J00002' or PROF3 = 'J00002' or PROF4 = 'J00002' or PROF5 = 'J00002' or PROF6 = 'J00002');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00003','PA3A.MFFFF001.S4432WWS.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00003%' or PROF2 = 'J00003' or PROF3 = 'J00003' or PROF4 = 'J00003' or PROF5 = 'J00003' or PROF6 = 'J00003');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00002RBLC001','PA3A.MFFFF001.S4433SSA.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00002RBLC001%');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00005RBLN001','PA3A.MFFFF001.S4400TRW.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00005RBLN001%');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00002RBLD001','PA3A.MFFFF001.S4411CCD.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00002RBLD001%');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00007RBLT001','PA3A.MFFFF001.S4499UGD.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00007RBLW001%');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00004','PA3A.MFFFF001.S8345FFC.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00004%' or PROF2 = 'J00004' or PROF3 = 'J00004' or PROF4 = 'J00004' or PROF5 = 'J00004' or PROF6 = 'J00004');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00005','PA3A.MFFFF001.S6601PPR.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00005%' or PROF2 = 'J00005' or PROF3 = 'J00005' or PROF4 = 'J00005' or PROF5 = 'J00005' or PROF6 = 'J00005');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00006','PA3A.MFFFF001.S7788NBV.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00006%' or PROF2 = 'J00006' or PROF3 = 'J00006' or PROF4 = 'J00006' or PROF5 = 'J00006' or PROF6 = 'J00006');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00007','PA3A.MFFFF001.S9988BBC.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00007%' or PROF2 = 'J00007' or PROF3 = 'J00007' or PROF4 = 'J00007' or PROF5 = 'J00007' or PROF6 = 'J00007');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00008','PA3A.MFFFF001.S1122AAC.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00008%' or PROF2 = 'J00008' or PROF3 = 'J00008' or PROF4 = 'J00008' or PROF5 = 'J00008' or PROF6 = 'J00008');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00009','PA3A.MFFFF001.S3311DDS.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00009%' or PROF2 = 'J00009' or PROF3 = 'J00009' or PROF4 = 'J00009' or PROF5 = 'J00009' or PROF6 = 'J00009');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00009RBLY001','PA3A.MFFFF001.S3311DDS.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00009RBLY001%');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00010','PA3A.MFFFF001.S5532NND.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00010%' or PROF2 = 'J00010' or PROF3 = 'J00010' or PROF4 = 'J00010' or PROF5 = 'J00010' or PROF6 = 'J00010');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00011','PA3A.MFFFF001.8877PPO.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00011%' or PROF2 = 'J00011' or PROF3 = 'J00011' or PROF4 = 'J00011' or PROF5 = 'J00011' or PROF6 = 'J00011');
COMMIT;
insert into acf2.ents (SELECT 'R**********J00012','PA3A.MFFFF001.S5511TTH.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********J00012%' or PROF2 = 'J00012' or PROF3 = 'J00012' or PROF4 = 'J00012' or PROF5 = 'J00012' or PROF6 = 'J00012');
COMMIT;
insert into acf2.ents (SELECT 'R**********GA0001','PA3A.MFFFF001.S8610LLG.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********GA0001%' or PROF2 = 'GA0001' or PROF3 = 'GA0001' or PROF4 = 'GA0001' or PROF5 = 'GA0001' or PROF6 = 'GA0001');
insert into acf2.ents (SELECT 'R**********GS0001','PA3A.MFFFF001.S8345FFC.-','ACF2_DATASET','UPDATE',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********GS0001%' or PROF2 = 'GS0001' or PROF3 = 'GS0001' or PROF4 = 'GS0001' or PROF5 = 'GS0001' or PROF6 = 'GS0001');
COMMIT;
insert into acf2.ents (SELECT 'R**********GF0001','PA3A.MFFFF001.S4432WWS.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********GF0001%' or PROF2 = 'GF0001' or PROF3 = 'GF0001' or PROF4 = 'GF0001' or PROF5 = 'GF0001' or PROF6 = 'GF0001');
COMMIT;
insert into acf2.ents (SELECT 'R**********GE0001','PA3A.MFFFF001.S8345FFC.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********GE0001%' or PROF2 = 'GE0001' or PROF3 = 'GE0001' or PROF4 = 'GE0001' or PROF5 = 'GE0001' or PROF6 = 'GE0001');
COMMIT;
insert into acf2.ents (SELECT 'R**********GM0001','PA3A.MFFFF001.S6601PPR.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********GM0001%' or PROF2 = 'GM0001' or PROF3 = 'GM0001' or PROF4 = 'GM0001' or PROF5 = 'GM0001' or PROF6 = 'GM0001');
COMMIT;
insert into acf2.ents (SELECT 'R**********GHR001','PA3A.MFFFF001.S7788NBV.-','ACF2_DATASET','INQUIRY',LOGON_ID from acf2.logon where UIDFilter LIKE 'R**********GHR001%' or PROF2 = 'GHR001' or PROF3 = 'GHR001' or PROF4 = 'GHR001' or PROF5 = 'GHR001' or PROF6 = 'GHR001');
COMMIT;
-----------------------------------------------
I hope this article will prove to be useful to you.