530: l_qid NUMBER;
531: BEGIN
532: log ('Function mark_dirty_internal - Reject Record ');
533: --l_mobile_user := asg_base.get_user_name; ---modify this logic
534: --select user_name into l_mobile_user from asg_user where user_id=p_userid;
535: -- Mark Publication Item Dirty
536: IF (insert_sdq(p_pub_item,p_username) AND
537: is_exists(p_username,p_pub_item,p_accessid,p_dml))
538: THEN
1611: FUNCTION get_username_from_userid ( p_userid IN NUMBER )
1612: RETURN VARCHAR2 IS
1613: CURSOR C_USER_NAME(p_userid NUMBER) IS
1614: SELECT user_name
1615: FROM asg_user
1616: WHERE user_id = p_userid
1617: AND ENABLED ='Y';
1618: l_user_name asg_user.user_name%type;
1619: BEGIN
1614: SELECT user_name
1615: FROM asg_user
1616: WHERE user_id = p_userid
1617: AND ENABLED ='Y';
1618: l_user_name asg_user.user_name%type;
1619: BEGIN
1620: OPEN C_USER_NAME(p_userid);
1621: FETCH C_USER_NAME into l_user_name;
1622: CLOSE C_USER_NAME;
1633:
1634: l_username_list username_list;
1635: l_accessList access_list;
1636: l_retval BOOLEAN;
1637: l_user_name asg_user.user_name%type;
1638: l_dmlList dml_list;
1639: l_ctr NUMBER;
1640: BEGIN
1641: IF ( (p_accessList.count <> p_userid_list.count ) OR
1675: p_timestamp IN DATE) RETURN BOOLEAN IS
1676: l_username_list username_list;
1677: l_retval BOOLEAN;
1678: l_accessList access_list;
1679: l_user_name asg_user.user_name%type;
1680: l_ctr NUMBER;
1681: BEGIN
1682: log ('Function markDirty - Accessid-Resourceid - 1-1 - Single DML');
1683: IF (p_accessList.count <> p_userid_list.count ) THEN
1768: p_bulk_flag IN BOOLEAN) RETURN BOOLEAN IS
1769: l_username_list username_list;
1770: l_retval BOOLEAN;
1771: l_accessList access_list;
1772: l_user_name asg_user.user_name%type;
1773: l_ctr NUMBER;
1774:
1775: BEGIN
1776: log ('Function markDirty - Accessid-Resourceid - Many-Many ');
1892:
1893: INSERT INTO asg_purge_sdq(user_name,pub_name,creation_date,created_by,
1894: last_update_date,last_updated_by )
1895: ( SELECT user_name,pub_name ,sysdate,1,sysdate,1
1896: FROM asg_user_pub_resps
1897: WHERE user_name = l_user_name
1898: AND pub_name IN
1899: (select name from asg_pub where nvl(custom,'N') = 'N' )
1900: );
1964: l_last_processed VARCHAR2,l_max_num NUMBER,
1965: l_last_user varchar2)
1966: IS
1967: SELECT user_name,pub_name
1968: FROM asg_user_pub_resps
1969: WHERE trunc( sysdate - NVL(synch_date,to_date('1', 'J')) )
1970: > l_dormancy_period
1971: AND pub_name IN ( SELECT NAME FROM asg_pub WHERE nvl(custom,'N') = 'N' )
1972: and user_name > l_last_processed
1988: CURSOR c_all_users(l_last_processed VARCHAR2,l_max_num NUMBER)
1989: IS
1990: SELECT user_name FROM
1991: (
1992: SELECT user_name FROM asg_user
1993: WHERE user_name > l_last_processed
1994: and user_name not in
1995: ( select distinct user_name
1996: from asg_purge_sdq where TRANSACTION_ID IS NULL )
2003: SELECT user_name FROM (
2004: SELECT ROWNUM pos,user_name FROM
2005: (
2006: SELECT DISTINCT user_name
2007: FROM asg_user_pub_resps
2008: WHERE user_name > l_last_processed
2009: AND TRUNC( SYSDATE - NVL(synch_date,TO_DATE('1', 'J')) )
2010: > l_dormancy_period
2011: ORDER BY user_name
2018: SELECT COUNT(*) FROM (
2019: SELECT ROWNUM pos,user_name FROM
2020: (
2021: SELECT DISTINCT user_name
2022: FROM asg_user_pub_resps
2023: WHERE user_name > l_last_processed
2024: AND TRUNC( SYSDATE - NVL(synch_date,TO_DATE('1', 'J')) )
2025: > l_dormancy_period
2026: ORDER BY user_name
2108: END if;
2109: CLOSE c_all_users;
2110: END IF;
2111: --delete duplicate records to start off...
2112: --loop thru all users in asg_user and delete duplicate records.
2113: l_last_user := null;
2114: SELECT SYSDATE INTO l_date FROM dual;
2115: log_concprogram('Starting to delete duplicate records : '||
2116: to_char(l_date,'dd-mon-yyyy hh24:mi:ss'),
2465:
2466: procedure user_incompatibility_test(P_status OUT NOCOPY VARCHAR2,
2467: P_message OUT NOCOPY VARCHAR2)
2468: is
2469: cursor c_all_asg_user
2470: is
2471: select user_name,user_id,resource_id from asg_user where
2472: enabled='Y' and nvl(DISABLE_USER_SYNCH,'N') = 'N';
2473: l_asg_user_rec c_all_asg_user%rowtype;
2467: P_message OUT NOCOPY VARCHAR2)
2468: is
2469: cursor c_all_asg_user
2470: is
2471: select user_name,user_id,resource_id from asg_user where
2472: enabled='Y' and nvl(DISABLE_USER_SYNCH,'N') = 'N';
2473: l_asg_user_rec c_all_asg_user%rowtype;
2474: cursor c_chk_fnd_user_id(p_user_id number)
2475: is
2469: cursor c_all_asg_user
2470: is
2471: select user_name,user_id,resource_id from asg_user where
2472: enabled='Y' and nvl(DISABLE_USER_SYNCH,'N') = 'N';
2473: l_asg_user_rec c_all_asg_user%rowtype;
2474: cursor c_chk_fnd_user_id(p_user_id number)
2475: is
2476: select user_name from fnd_user where user_id = p_user_id;
2477: l_user_name varchar2(30);
2487: and ( trunc(END_DATE_ACTIVE) is null
2488: or trunc(END_DATE_ACTIVE) > trunc(sysdate) );
2489: begin
2490: log('Starting to identify user incompatibility information');
2491: open c_all_asg_user;
2492: loop
2493: fetch c_all_asg_user into l_asg_user_rec;
2494: exit when c_all_asg_user%notfound;
2495: log('Processing user name : '||l_asg_user_rec.user_name);
2489: begin
2490: log('Starting to identify user incompatibility information');
2491: open c_all_asg_user;
2492: loop
2493: fetch c_all_asg_user into l_asg_user_rec;
2494: exit when c_all_asg_user%notfound;
2495: log('Processing user name : '||l_asg_user_rec.user_name);
2496: open c_chk_fnd_user_id(l_asg_user_rec.user_id);
2497: fetch c_chk_fnd_user_id into l_user_name;
2490: log('Starting to identify user incompatibility information');
2491: open c_all_asg_user;
2492: loop
2493: fetch c_all_asg_user into l_asg_user_rec;
2494: exit when c_all_asg_user%notfound;
2495: log('Processing user name : '||l_asg_user_rec.user_name);
2496: open c_chk_fnd_user_id(l_asg_user_rec.user_id);
2497: fetch c_chk_fnd_user_id into l_user_name;
2498: if (l_user_name is null) then
2491: open c_all_asg_user;
2492: loop
2493: fetch c_all_asg_user into l_asg_user_rec;
2494: exit when c_all_asg_user%notfound;
2495: log('Processing user name : '||l_asg_user_rec.user_name);
2496: open c_chk_fnd_user_id(l_asg_user_rec.user_id);
2497: fetch c_chk_fnd_user_id into l_user_name;
2498: if (l_user_name is null) then
2499: /*check if user_id in asg_user exists in fnd_user table */
2492: loop
2493: fetch c_all_asg_user into l_asg_user_rec;
2494: exit when c_all_asg_user%notfound;
2495: log('Processing user name : '||l_asg_user_rec.user_name);
2496: open c_chk_fnd_user_id(l_asg_user_rec.user_id);
2497: fetch c_chk_fnd_user_id into l_user_name;
2498: if (l_user_name is null) then
2499: /*check if user_id in asg_user exists in fnd_user table */
2500: l_err_msg := 'The user ID : '||l_asg_user_rec.user_id||
2495: log('Processing user name : '||l_asg_user_rec.user_name);
2496: open c_chk_fnd_user_id(l_asg_user_rec.user_id);
2497: fetch c_chk_fnd_user_id into l_user_name;
2498: if (l_user_name is null) then
2499: /*check if user_id in asg_user exists in fnd_user table */
2500: l_err_msg := 'The user ID : '||l_asg_user_rec.user_id||
2501: ' in asg_user does not exist in fnd_user';
2502: log(l_err_msg);
2503: update asg_user
2496: open c_chk_fnd_user_id(l_asg_user_rec.user_id);
2497: fetch c_chk_fnd_user_id into l_user_name;
2498: if (l_user_name is null) then
2499: /*check if user_id in asg_user exists in fnd_user table */
2500: l_err_msg := 'The user ID : '||l_asg_user_rec.user_id||
2501: ' in asg_user does not exist in fnd_user';
2502: log(l_err_msg);
2503: update asg_user
2504: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2497: fetch c_chk_fnd_user_id into l_user_name;
2498: if (l_user_name is null) then
2499: /*check if user_id in asg_user exists in fnd_user table */
2500: l_err_msg := 'The user ID : '||l_asg_user_rec.user_id||
2501: ' in asg_user does not exist in fnd_user';
2502: log(l_err_msg);
2503: update asg_user
2504: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2505: where user_name = l_asg_user_rec.user_name;
2499: /*check if user_id in asg_user exists in fnd_user table */
2500: l_err_msg := 'The user ID : '||l_asg_user_rec.user_id||
2501: ' in asg_user does not exist in fnd_user';
2502: log(l_err_msg);
2503: update asg_user
2504: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2505: where user_name = l_asg_user_rec.user_name;
2506: elsif(l_user_name <> l_asg_user_rec.user_name ) then
2507: /*Check for the user_id in asg_user, the user_name in asg_user
2501: ' in asg_user does not exist in fnd_user';
2502: log(l_err_msg);
2503: update asg_user
2504: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2505: where user_name = l_asg_user_rec.user_name;
2506: elsif(l_user_name <> l_asg_user_rec.user_name ) then
2507: /*Check for the user_id in asg_user, the user_name in asg_user
2508: and fnd_user match*/
2509: l_err_msg := 'For the user ID : '||l_asg_user_rec.user_id||
2502: log(l_err_msg);
2503: update asg_user
2504: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2505: where user_name = l_asg_user_rec.user_name;
2506: elsif(l_user_name <> l_asg_user_rec.user_name ) then
2507: /*Check for the user_id in asg_user, the user_name in asg_user
2508: and fnd_user match*/
2509: l_err_msg := 'For the user ID : '||l_asg_user_rec.user_id||
2510: ' the user names'||
2503: update asg_user
2504: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2505: where user_name = l_asg_user_rec.user_name;
2506: elsif(l_user_name <> l_asg_user_rec.user_name ) then
2507: /*Check for the user_id in asg_user, the user_name in asg_user
2508: and fnd_user match*/
2509: l_err_msg := 'For the user ID : '||l_asg_user_rec.user_id||
2510: ' the user names'||
2511: ' in asg_user and fnd_user do not match';
2505: where user_name = l_asg_user_rec.user_name;
2506: elsif(l_user_name <> l_asg_user_rec.user_name ) then
2507: /*Check for the user_id in asg_user, the user_name in asg_user
2508: and fnd_user match*/
2509: l_err_msg := 'For the user ID : '||l_asg_user_rec.user_id||
2510: ' the user names'||
2511: ' in asg_user and fnd_user do not match';
2512: log(l_err_msg);
2513: update asg_user
2507: /*Check for the user_id in asg_user, the user_name in asg_user
2508: and fnd_user match*/
2509: l_err_msg := 'For the user ID : '||l_asg_user_rec.user_id||
2510: ' the user names'||
2511: ' in asg_user and fnd_user do not match';
2512: log(l_err_msg);
2513: update asg_user
2514: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2515: where user_name = l_asg_user_rec.user_name;
2509: l_err_msg := 'For the user ID : '||l_asg_user_rec.user_id||
2510: ' the user names'||
2511: ' in asg_user and fnd_user do not match';
2512: log(l_err_msg);
2513: update asg_user
2514: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2515: where user_name = l_asg_user_rec.user_name;
2516: else
2517: /*Check for the user_name in asg_user, the user_id in fnd_user matches*/
2511: ' in asg_user and fnd_user do not match';
2512: log(l_err_msg);
2513: update asg_user
2514: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2515: where user_name = l_asg_user_rec.user_name;
2516: else
2517: /*Check for the user_name in asg_user, the user_id in fnd_user matches*/
2518: open c_chk_fnd_user_name(l_asg_user_rec.user_name);
2519: fetch c_chk_fnd_user_name into l_user_id;
2513: update asg_user
2514: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2515: where user_name = l_asg_user_rec.user_name;
2516: else
2517: /*Check for the user_name in asg_user, the user_id in fnd_user matches*/
2518: open c_chk_fnd_user_name(l_asg_user_rec.user_name);
2519: fetch c_chk_fnd_user_name into l_user_id;
2520: close c_chk_fnd_user_name;
2521: if(l_user_id <> l_asg_user_rec.user_id ) then
2514: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2515: where user_name = l_asg_user_rec.user_name;
2516: else
2517: /*Check for the user_name in asg_user, the user_id in fnd_user matches*/
2518: open c_chk_fnd_user_name(l_asg_user_rec.user_name);
2519: fetch c_chk_fnd_user_name into l_user_id;
2520: close c_chk_fnd_user_name;
2521: if(l_user_id <> l_asg_user_rec.user_id ) then
2522: l_err_msg := 'For the user name : '||l_asg_user_rec.user_name||
2517: /*Check for the user_name in asg_user, the user_id in fnd_user matches*/
2518: open c_chk_fnd_user_name(l_asg_user_rec.user_name);
2519: fetch c_chk_fnd_user_name into l_user_id;
2520: close c_chk_fnd_user_name;
2521: if(l_user_id <> l_asg_user_rec.user_id ) then
2522: l_err_msg := 'For the user name : '||l_asg_user_rec.user_name||
2523: ' the '||' user ID''s do not match in '||
2524: 'asg_user and fnd_user ';
2525: log(l_err_msg);
2518: open c_chk_fnd_user_name(l_asg_user_rec.user_name);
2519: fetch c_chk_fnd_user_name into l_user_id;
2520: close c_chk_fnd_user_name;
2521: if(l_user_id <> l_asg_user_rec.user_id ) then
2522: l_err_msg := 'For the user name : '||l_asg_user_rec.user_name||
2523: ' the '||' user ID''s do not match in '||
2524: 'asg_user and fnd_user ';
2525: log(l_err_msg);
2526: update asg_user set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2520: close c_chk_fnd_user_name;
2521: if(l_user_id <> l_asg_user_rec.user_id ) then
2522: l_err_msg := 'For the user name : '||l_asg_user_rec.user_name||
2523: ' the '||' user ID''s do not match in '||
2524: 'asg_user and fnd_user ';
2525: log(l_err_msg);
2526: update asg_user set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2527: where user_name = l_asg_user_rec.user_name;
2528: end if;
2522: l_err_msg := 'For the user name : '||l_asg_user_rec.user_name||
2523: ' the '||' user ID''s do not match in '||
2524: 'asg_user and fnd_user ';
2525: log(l_err_msg);
2526: update asg_user set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2527: where user_name = l_asg_user_rec.user_name;
2528: end if;
2529: end if;
2530: close c_chk_fnd_user_id;
2523: ' the '||' user ID''s do not match in '||
2524: 'asg_user and fnd_user ';
2525: log(l_err_msg);
2526: update asg_user set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2527: where user_name = l_asg_user_rec.user_name;
2528: end if;
2529: end if;
2530: close c_chk_fnd_user_id;
2531:
2529: end if;
2530: close c_chk_fnd_user_id;
2531:
2532: l_user_name := NULL;
2533: open c_chk_jtf_resource(l_asg_user_rec.resource_id);
2534: fetch c_chk_jtf_resource into l_user_name;
2535: if(l_user_name is null) then
2536: /* Check if a record exists in jtf_rs_res* table with the
2537: same resource_id as asg_user.resource_id*/
2533: open c_chk_jtf_resource(l_asg_user_rec.resource_id);
2534: fetch c_chk_jtf_resource into l_user_name;
2535: if(l_user_name is null) then
2536: /* Check if a record exists in jtf_rs_res* table with the
2537: same resource_id as asg_user.resource_id*/
2538: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||' no'||
2539: ' record exists in jtf_rs_resource_extns ';
2540: log(l_err_msg);
2541: update asg_user
2534: fetch c_chk_jtf_resource into l_user_name;
2535: if(l_user_name is null) then
2536: /* Check if a record exists in jtf_rs_res* table with the
2537: same resource_id as asg_user.resource_id*/
2538: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||' no'||
2539: ' record exists in jtf_rs_resource_extns ';
2540: log(l_err_msg);
2541: update asg_user
2542: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2537: same resource_id as asg_user.resource_id*/
2538: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||' no'||
2539: ' record exists in jtf_rs_resource_extns ';
2540: log(l_err_msg);
2541: update asg_user
2542: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2543: where user_name = l_asg_user_rec.user_name;
2544: elsif( l_user_name <> l_asg_user_rec.user_name ) then
2545: /*Check if the resource-name matches asg_user.user_name.*/
2539: ' record exists in jtf_rs_resource_extns ';
2540: log(l_err_msg);
2541: update asg_user
2542: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2543: where user_name = l_asg_user_rec.user_name;
2544: elsif( l_user_name <> l_asg_user_rec.user_name ) then
2545: /*Check if the resource-name matches asg_user.user_name.*/
2546: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||
2547: ' the user names in asg_user and resource name do not match';
2540: log(l_err_msg);
2541: update asg_user
2542: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2543: where user_name = l_asg_user_rec.user_name;
2544: elsif( l_user_name <> l_asg_user_rec.user_name ) then
2545: /*Check if the resource-name matches asg_user.user_name.*/
2546: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||
2547: ' the user names in asg_user and resource name do not match';
2548: log(l_err_msg);
2541: update asg_user
2542: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2543: where user_name = l_asg_user_rec.user_name;
2544: elsif( l_user_name <> l_asg_user_rec.user_name ) then
2545: /*Check if the resource-name matches asg_user.user_name.*/
2546: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||
2547: ' the user names in asg_user and resource name do not match';
2548: log(l_err_msg);
2549: update asg_user
2542: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2543: where user_name = l_asg_user_rec.user_name;
2544: elsif( l_user_name <> l_asg_user_rec.user_name ) then
2545: /*Check if the resource-name matches asg_user.user_name.*/
2546: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||
2547: ' the user names in asg_user and resource name do not match';
2548: log(l_err_msg);
2549: update asg_user
2550: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2543: where user_name = l_asg_user_rec.user_name;
2544: elsif( l_user_name <> l_asg_user_rec.user_name ) then
2545: /*Check if the resource-name matches asg_user.user_name.*/
2546: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||
2547: ' the user names in asg_user and resource name do not match';
2548: log(l_err_msg);
2549: update asg_user
2550: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2551: where user_name = l_asg_user_rec.user_name;
2545: /*Check if the resource-name matches asg_user.user_name.*/
2546: l_err_msg := 'For the resource ID '||l_asg_user_rec.resource_id||
2547: ' the user names in asg_user and resource name do not match';
2548: log(l_err_msg);
2549: update asg_user
2550: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2551: where user_name = l_asg_user_rec.user_name;
2552: end if;
2553: close c_chk_jtf_resource;
2547: ' the user names in asg_user and resource name do not match';
2548: log(l_err_msg);
2549: update asg_user
2550: set DISABLE_USER_SYNCH='Y',DISABLE_SYNCH_ERROR = l_err_msg
2551: where user_name = l_asg_user_rec.user_name;
2552: end if;
2553: close c_chk_jtf_resource;
2554: end loop;
2555: close c_all_asg_user;
2551: where user_name = l_asg_user_rec.user_name;
2552: end if;
2553: close c_chk_jtf_resource;
2554: end loop;
2555: close c_all_asg_user;
2556: commit;
2557: log('Done identifying user incompatibility information');
2558:
2559: p_status := 'Fine';