525: l_message VARCHAR2(250);
526:
527: /* The following cursor has been created to fetch the non-history els data records
528: * so that the values will be used to create the history records while executing
529: * the "Standardize Actual to Expected times" request.
530: */
531:
532: CURSOR els_individual_tasks_cur(l_org_id NUMBER) IS
533: SELECT ELS_DATA_ID
603:
604: BEGIN
605: /* Start of fix for bug # 5520074
606: * The following code has been added to maintain the history records while executing
607: * "Standardize Actual to Expected Times" request
608: */
609: IF g_debug=1 THEN
610: debug('Before creating History Records' , 'COPY_ACTUAL_TIMINGS');
611: END IF;
1486: END IF;
1487:
1488: END GET_MAX_SEQ_NUMBERS;
1489:
1490: PROCEDURE STANDARDIZE_LINES(
1491: X_NUM_LINES_INSERTED_TASKS OUT NOCOPY NUMBER
1492: , X_NUM_LINES_INSERTED_GROUP OUT NOCOPY NUMBER
1493: , X_RETURN_STATUS OUT NOCOPY VARCHAR2
1494: , X_MSG_NAME OUT NOCOPY VARCHAR2
1524: -- set the status to success initially
1525: x_return_status := fnd_api.g_ret_sts_success;
1526:
1527:
1528: SAVEPOINT standardize_lines;
1529:
1530:
1531: IF g_debug=1 THEN
1532: debug('The value of organization Id '|| p_org_id,'STANDARDIZE_LINES');
1528: SAVEPOINT standardize_lines;
1529:
1530:
1531: IF g_debug=1 THEN
1532: debug('The value of organization Id '|| p_org_id,'STANDARDIZE_LINES');
1533: debug('The p_copy_id '|| p_copy_id,'STANDARDIZE_LINES');
1534: END IF;
1535:
1536: -- Check if all required parameters are passed
1529:
1530:
1531: IF g_debug=1 THEN
1532: debug('The value of organization Id '|| p_org_id,'STANDARDIZE_LINES');
1533: debug('The p_copy_id '|| p_copy_id,'STANDARDIZE_LINES');
1534: END IF;
1535:
1536: -- Check if all required parameters are passed
1537:
1565: , p_org_id => p_org_id
1566: );
1567:
1568: IF g_debug=1 THEN
1569: debug('The value of new seq for individual and system directed tasks '|| l_seq_num_ind_and_sys_directed,'STANDARDIZE_LINES');
1570: debug('The value of new seq for manual and system directed tasks '|| l_seq_num_man_and_sys_directed,'STANDARDIZE_LINES');
1571: debug('The value of new seq for manual and user directed tasks '|| l_seq_num_man_and_usr_directed,'STANDARDIZE_LINES');
1572: debug('The value of new seq for grouped tasks '|| l_seq_num_grouped,'STANDARDIZE_LINES');
1573: END IF;
1566: );
1567:
1568: IF g_debug=1 THEN
1569: debug('The value of new seq for individual and system directed tasks '|| l_seq_num_ind_and_sys_directed,'STANDARDIZE_LINES');
1570: debug('The value of new seq for manual and system directed tasks '|| l_seq_num_man_and_sys_directed,'STANDARDIZE_LINES');
1571: debug('The value of new seq for manual and user directed tasks '|| l_seq_num_man_and_usr_directed,'STANDARDIZE_LINES');
1572: debug('The value of new seq for grouped tasks '|| l_seq_num_grouped,'STANDARDIZE_LINES');
1573: END IF;
1574:
1567:
1568: IF g_debug=1 THEN
1569: debug('The value of new seq for individual and system directed tasks '|| l_seq_num_ind_and_sys_directed,'STANDARDIZE_LINES');
1570: debug('The value of new seq for manual and system directed tasks '|| l_seq_num_man_and_sys_directed,'STANDARDIZE_LINES');
1571: debug('The value of new seq for manual and user directed tasks '|| l_seq_num_man_and_usr_directed,'STANDARDIZE_LINES');
1572: debug('The value of new seq for grouped tasks '|| l_seq_num_grouped,'STANDARDIZE_LINES');
1573: END IF;
1574:
1575: ELSE
1568: IF g_debug=1 THEN
1569: debug('The value of new seq for individual and system directed tasks '|| l_seq_num_ind_and_sys_directed,'STANDARDIZE_LINES');
1570: debug('The value of new seq for manual and system directed tasks '|| l_seq_num_man_and_sys_directed,'STANDARDIZE_LINES');
1571: debug('The value of new seq for manual and user directed tasks '|| l_seq_num_man_and_usr_directed,'STANDARDIZE_LINES');
1572: debug('The value of new seq for grouped tasks '|| l_seq_num_grouped,'STANDARDIZE_LINES');
1573: END IF;
1574:
1575: ELSE
1576:
1574:
1575: ELSE
1576:
1577: IF g_debug=1 THEN
1578: debug('No Organization Specified','STANDARDIZE_LINES');
1579: END IF;
1580:
1581: -- FND_MESSAGE.SET_NAME('WMS','WMS_LMS_NO_ORG');
1582: -- FND_MSG_PUB.ADD;
1586:
1587: END IF;
1588:
1589: IF g_debug=1 THEN
1590: debug('Before inserting into individual tasks table','STANDARDIZE_LINES');
1591: END IF;
1592:
1593:
1594:
1766: X_NUM_LINES_INSERTED_TASKS := l_ind_or_man_tasks_inserted;
1767: EXCEPTION
1768: when others then
1769: l_ind_or_man_tasks_inserted := l_ind_or_man_tasks_inserted;
1770: ROLLBACK TO standardize_lines;
1771:
1772: X_RETURN_STATUS:=FND_API.G_RET_STS_ERROR;
1773: X_MSG_NAME := 'WMS_LMS_LINES_UPDATE_ERROR';
1774: X_NUM_LINES_INSERTED_TASKS := 0;
1774: X_NUM_LINES_INSERTED_TASKS := 0;
1775: X_NUM_LINES_INSERTED_GROUP := 0;
1776:
1777: IF g_debug=1 THEN
1778: debug('Error Occured in Individual Task Insertion ' || SQLERRM ,'STANDARDIZE_LINES');
1779: END IF;
1780:
1781: return;
1782: END;
1823: --X_NUM_LINES_INSERTED_TASKS := SQL%ROWCOUNT;
1824:
1825:
1826: IF g_debug=1 THEN
1827: debug('Num lines inserted into WMS_ELS_INDIVIDUAL_TASKS_B '||X_NUM_LINES_INSERTED_TASKS ,'STANDARDIZE_LINES');
1828: debug('Before inserting into grouped tasks table','STANDARDIZE_LINES');
1829: END IF;
1830:
1831:
1824:
1825:
1826: IF g_debug=1 THEN
1827: debug('Num lines inserted into WMS_ELS_INDIVIDUAL_TASKS_B '||X_NUM_LINES_INSERTED_TASKS ,'STANDARDIZE_LINES');
1828: debug('Before inserting into grouped tasks table','STANDARDIZE_LINES');
1829: END IF;
1830:
1831:
1832:
1923:
1924: X_NUM_LINES_INSERTED_GROUP := SQL%ROWCOUNT;
1925:
1926: IF g_debug=1 THEN
1927: debug('Num lines inserted in groups table'||X_NUM_LINES_INSERTED_GROUP ,'STANDARDIZE_LINES');
1928: END IF;
1929:
1930: INSERT INTO WMS_ELS_GROUPED_TASKS_TL
1931: (
1966: EXCEPTION
1967: WHEN OTHERS THEN
1968:
1969: IF g_debug=1 THEN
1970: debug('In Exception No lines inserted'||SQLERRM ,'STANDARDIZE_LINES');
1971: END IF;
1972: ROLLBACK TO standardize_lines;
1973:
1974: -- return the appropriate status
1968:
1969: IF g_debug=1 THEN
1970: debug('In Exception No lines inserted'||SQLERRM ,'STANDARDIZE_LINES');
1971: END IF;
1972: ROLLBACK TO standardize_lines;
1973:
1974: -- return the appropriate status
1975: X_RETURN_STATUS:=FND_API.G_RET_STS_ERROR;
1976: X_MSG_NAME := 'WMS_LMS_LINES_UPDATE_ERROR';
1978: X_NUM_LINES_INSERTED_GROUP := 0;
1979:
1980: --dbms_output.put_line(sqlerrm);
1981: IF g_debug=1 THEN
1982: debug('Error Occured in Standardize Lines function ' || SQLERRM ,'STANDARDIZE_LINES');
1983: END IF;
1984:
1985:
1986: END STANDARDIZE_LINES;
1982: debug('Error Occured in Standardize Lines function ' || SQLERRM ,'STANDARDIZE_LINES');
1983: END IF;
1984:
1985:
1986: END STANDARDIZE_LINES;
1987:
1988:
1989: PROCEDURE STANDARDIZE_LINES_CP(
1990: ERRBUF OUT NOCOPY VARCHAR2
1985:
1986: END STANDARDIZE_LINES;
1987:
1988:
1989: PROCEDURE STANDARDIZE_LINES_CP(
1990: ERRBUF OUT NOCOPY VARCHAR2
1991: , RETCODE OUT NOCOPY NUMBER
1992: , P_ORG_ID IN NUMBER
1993: , P_ANALYSIS_TYPE IN NUMBER
2013: l_sql VARCHAR2(4000);
2014:
2015: BEGIN
2016:
2017: SAVEPOINT standardize_lines_cp;
2018:
2019: l_where_clause := NULL;
2020:
2021: l_num_lines_inserted :=0;
2036: , x_seq_num_grouped => l_seq_num_grouped
2037: , p_org_id => p_org_id
2038: );
2039: IF g_debug=1 THEN
2040: debug('The value of new seq for individual and system directed tasks '|| l_seq_num_ind_and_sys_directed,'STANDARDIZE_LINES_CP');
2041: debug('The value of new seq for manual and system directed tasks '|| l_seq_num_man_and_sys_directed,'STANDARDIZE_LINES_CP');
2042: debug('The value of new seq for manual and user directed tasks '|| l_seq_num_man_and_usr_directed,'STANDARDIZE_LINES_CP');
2043: debug('The value of new seq for grouped tasks '|| l_seq_num_grouped,'STANDARDIZE_LINES_CP');
2044: END IF;
2037: , p_org_id => p_org_id
2038: );
2039: IF g_debug=1 THEN
2040: debug('The value of new seq for individual and system directed tasks '|| l_seq_num_ind_and_sys_directed,'STANDARDIZE_LINES_CP');
2041: debug('The value of new seq for manual and system directed tasks '|| l_seq_num_man_and_sys_directed,'STANDARDIZE_LINES_CP');
2042: debug('The value of new seq for manual and user directed tasks '|| l_seq_num_man_and_usr_directed,'STANDARDIZE_LINES_CP');
2043: debug('The value of new seq for grouped tasks '|| l_seq_num_grouped,'STANDARDIZE_LINES_CP');
2044: END IF;
2045:
2038: );
2039: IF g_debug=1 THEN
2040: debug('The value of new seq for individual and system directed tasks '|| l_seq_num_ind_and_sys_directed,'STANDARDIZE_LINES_CP');
2041: debug('The value of new seq for manual and system directed tasks '|| l_seq_num_man_and_sys_directed,'STANDARDIZE_LINES_CP');
2042: debug('The value of new seq for manual and user directed tasks '|| l_seq_num_man_and_usr_directed,'STANDARDIZE_LINES_CP');
2043: debug('The value of new seq for grouped tasks '|| l_seq_num_grouped,'STANDARDIZE_LINES_CP');
2044: END IF;
2045:
2046: IF (P_ACTIVITY_ID IS NOT NULL) THEN
2039: IF g_debug=1 THEN
2040: debug('The value of new seq for individual and system directed tasks '|| l_seq_num_ind_and_sys_directed,'STANDARDIZE_LINES_CP');
2041: debug('The value of new seq for manual and system directed tasks '|| l_seq_num_man_and_sys_directed,'STANDARDIZE_LINES_CP');
2042: debug('The value of new seq for manual and user directed tasks '|| l_seq_num_man_and_usr_directed,'STANDARDIZE_LINES_CP');
2043: debug('The value of new seq for grouped tasks '|| l_seq_num_grouped,'STANDARDIZE_LINES_CP');
2044: END IF;
2045:
2046: IF (P_ACTIVITY_ID IS NOT NULL) THEN
2047: l_where_clause := l_where_clause || ' AND activity_id = '|| p_activity_id ;
2064: END IF;
2065:
2066:
2067: IF g_debug=1 THEN
2068: debug('The value of the where clause is '|| l_where_clause,'STANDARDIZE_LINES_CP');
2069: END IF;
2070:
2071: BEGIN
2072: -- for manual and user directed tasks
2167:
2168: l_num_lines_inserted := SQL%ROWCOUNT;
2169:
2170: IF g_debug=1 THEN
2171: debug('Standardization for manual and user directed tasks successfull','STANDARDIZE_LINES_CP');
2172: debug('Number of lines inserted for manual and user directed tasks'|| l_num_lines_inserted,'STANDARDIZE_LINES_CP');
2173: END IF;
2174:
2175: EXCEPTION
2168: l_num_lines_inserted := SQL%ROWCOUNT;
2169:
2170: IF g_debug=1 THEN
2171: debug('Standardization for manual and user directed tasks successfull','STANDARDIZE_LINES_CP');
2172: debug('Number of lines inserted for manual and user directed tasks'|| l_num_lines_inserted,'STANDARDIZE_LINES_CP');
2173: END IF;
2174:
2175: EXCEPTION
2176: WHEN OTHERS THEN
2174:
2175: EXCEPTION
2176: WHEN OTHERS THEN
2177: IF g_debug=1 THEN
2178: debug('Standardization for manual and user directed tasks failed'||SQLERRM,'STANDARDIZE_LINES');
2179: END IF;
2180: l_num_sql_failed := l_num_sql_failed + 1;
2181: l_which_group_failed := l_which_group_failed || '1,';
2182:
2283:
2284: l_num_lines_inserted := SQL%ROWCOUNT;
2285:
2286: IF g_debug=1 THEN
2287: debug('Standardization for manual and system directed tasks successfull','STANDARDIZE_LINES_CP');
2288: debug('Number of lines inserted for manual and system directed tasks'|| l_num_lines_inserted,'STANDARDIZE_LINES_CP');
2289: END IF;
2290:
2291: EXCEPTION
2284: l_num_lines_inserted := SQL%ROWCOUNT;
2285:
2286: IF g_debug=1 THEN
2287: debug('Standardization for manual and system directed tasks successfull','STANDARDIZE_LINES_CP');
2288: debug('Number of lines inserted for manual and system directed tasks'|| l_num_lines_inserted,'STANDARDIZE_LINES_CP');
2289: END IF;
2290:
2291: EXCEPTION
2292: WHEN OTHERS THEN
2290:
2291: EXCEPTION
2292: WHEN OTHERS THEN
2293: IF g_debug=1 THEN
2294: debug('Standardization for manual and system directed tasks failed'||SQLERRM,'STANDARDIZE_LINES');
2295: END IF;
2296:
2297: l_num_sql_failed := l_num_sql_failed + 1;
2298: l_which_group_failed := l_which_group_failed || '2,';
2401:
2402: l_num_lines_inserted := SQL%ROWCOUNT;
2403:
2404: IF g_debug=1 THEN
2405: debug('Standardization for individual and system directed tasks successfull','STANDARDIZE_LINES_CP');
2406: debug('Number of lines inserted for individual and system directed tasks'|| l_num_lines_inserted,'STANDARDIZE_LINES_CP');
2407: END IF;
2408:
2409: EXCEPTION
2402: l_num_lines_inserted := SQL%ROWCOUNT;
2403:
2404: IF g_debug=1 THEN
2405: debug('Standardization for individual and system directed tasks successfull','STANDARDIZE_LINES_CP');
2406: debug('Number of lines inserted for individual and system directed tasks'|| l_num_lines_inserted,'STANDARDIZE_LINES_CP');
2407: END IF;
2408:
2409: EXCEPTION
2410: WHEN OTHERS THEN
2408:
2409: EXCEPTION
2410: WHEN OTHERS THEN
2411: IF g_debug=1 THEN
2412: debug('Standardization for individual and system directed tasks failed'||SQLERRM,'STANDARDIZE_LINES_CP');
2413: END IF;
2414:
2415: l_num_sql_failed := l_num_sql_failed + 1;
2416: l_which_group_failed := l_which_group_failed || '3,';
2421:
2422: IF(l_num_sql_failed = 3 )THEN
2423:
2424: --- Dont PROCEED;return error from here itself;
2425: ROLLBACK TO standardize_lines_cp;
2426: retcode := 2;
2427: fnd_message.set_name('WMS', 'WMS_LMS_STANDARDIZE_ERROR');
2428: l_message := fnd_message.get;
2429: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',l_message);
2423:
2424: --- Dont PROCEED;return error from here itself;
2425: ROLLBACK TO standardize_lines_cp;
2426: retcode := 2;
2427: fnd_message.set_name('WMS', 'WMS_LMS_STANDARDIZE_ERROR');
2428: l_message := fnd_message.get;
2429: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',l_message);
2430: RETURN;
2431:
2471: -- If insertion into TL table fails the rollback everything and return from here
2472: -- no use to proceed after such a mishap
2473:
2474: IF g_debug=1 THEN
2475: debug('Insertion into TL table failed so rolling back everything'||SQLERRM,'STANDARDIZE_LINES_CP');
2476: END IF;
2477:
2478: ROLLBACK TO standardize_lines_cp;
2479:
2474: IF g_debug=1 THEN
2475: debug('Insertion into TL table failed so rolling back everything'||SQLERRM,'STANDARDIZE_LINES_CP');
2476: END IF;
2477:
2478: ROLLBACK TO standardize_lines_cp;
2479:
2480: retcode := 2;
2481: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2482: l_message := fnd_message.get;
2477:
2478: ROLLBACK TO standardize_lines_cp;
2479:
2480: retcode := 2;
2481: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2482: l_message := fnd_message.get;
2483: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',l_message);
2484: RETURN;
2485:
2498: INTO l_which_group_failed
2499: FROM dual;
2500:
2501: IF g_debug=1 THEN
2502: debug('Value of l_which_group_failed '||l_which_group_failed,'STANDARDIZE_LINES_CP');
2503: END IF;
2504:
2505: l_not_in_clause := ' AND group_id NOT IN (' || l_which_group_failed || ') ';
2506:
2504:
2505: l_not_in_clause := ' AND group_id NOT IN (' || l_which_group_failed || ') ';
2506:
2507: IF g_debug=1 THEN
2508: debug('Value of l_not_in_clause '||l_not_in_clause ,'STANDARDIZE_LINES_CP');
2509: END IF;
2510:
2511: END IF;
2512:
2594:
2595: l_num_lines_inserted := SQL%ROWCOUNT;
2596:
2597: IF g_debug=1 THEN
2598: debug('Standardization for grouped and system directed tasks successfull','STANDARDIZE_LINES_CP');
2599: debug('Number of lines inserted for grouped and system directed tasks'|| l_num_lines_inserted,'STANDARDIZE_LINES_CP');
2600: END IF;
2601:
2602: EXCEPTION
2595: l_num_lines_inserted := SQL%ROWCOUNT;
2596:
2597: IF g_debug=1 THEN
2598: debug('Standardization for grouped and system directed tasks successfull','STANDARDIZE_LINES_CP');
2599: debug('Number of lines inserted for grouped and system directed tasks'|| l_num_lines_inserted,'STANDARDIZE_LINES_CP');
2600: END IF;
2601:
2602: EXCEPTION
2603: WHEN OTHERS THEN
2601:
2602: EXCEPTION
2603: WHEN OTHERS THEN
2604: IF g_debug=1 THEN
2605: debug('Standardization for grouped and system directed tasks failed'||SQLERRM,'STANDARDIZE_LINES_CP');
2606: END IF;
2607:
2608: ROLLBACK TO standardize_lines_cp;
2609:
2604: IF g_debug=1 THEN
2605: debug('Standardization for grouped and system directed tasks failed'||SQLERRM,'STANDARDIZE_LINES_CP');
2606: END IF;
2607:
2608: ROLLBACK TO standardize_lines_cp;
2609:
2610: retcode := 2;
2611: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2612: l_message := fnd_message.get;
2607:
2608: ROLLBACK TO standardize_lines_cp;
2609:
2610: retcode := 2;
2611: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2612: l_message := fnd_message.get;
2613: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',l_message);
2614: RETURN;
2615:
2650:
2651: EXCEPTION
2652: WHEN OTHERS THEN
2653: IF g_debug=1 THEN
2654: debug('Insertion to TL table failed with '||SQLERRM,'STANDARDIZE_LINES_CP');
2655: END IF;
2656: -- roll back to savepoint and return
2657:
2658: ROLLBACK TO standardize_lines_cp;
2654: debug('Insertion to TL table failed with '||SQLERRM,'STANDARDIZE_LINES_CP');
2655: END IF;
2656: -- roll back to savepoint and return
2657:
2658: ROLLBACK TO standardize_lines_cp;
2659:
2660: retcode := 2;
2661: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2662: l_message := fnd_message.get;
2657:
2658: ROLLBACK TO standardize_lines_cp;
2659:
2660: retcode := 2;
2661: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2662: l_message := fnd_message.get;
2663: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',l_message);
2664: RETURN;
2665:
2665:
2666:
2667: END;
2668:
2669: -- now make the unattributed_flag as null for these lines that have been standardized
2670:
2671: EXECUTE IMMEDIATE
2672: 'UPDATE wms_els_trx_src ' ||
2673: 'SET unattributed_flag = null ' ||
2682: IF ( l_num_sql_failed = 0 )THEN
2683: -- every thing is done so the concurrent program has finished normal
2684: COMMIT;
2685: retcode := 1;
2686: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_SUCCESS');
2687: l_message := fnd_message.get;
2688: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('NORMAL',l_message);
2689:
2690: ELSE
2690: ELSE
2691:
2692: COMMIT;
2693: retcode := 3;
2694: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_WARN');
2695: l_message := fnd_message.get;
2696: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('WARNING',l_message);
2697:
2698: END IF;
2716: EXCEPTION
2717: WHEN OTHERS THEN
2718:
2719: IF g_debug=1 THEN
2720: debug( 'Exception has occured','STANDARDIZE_LINES_CP');
2721: END IF;
2722:
2723: -- roll back to savepoint and return
2724: ROLLBACK TO standardize_lines_cp;
2720: debug( 'Exception has occured','STANDARDIZE_LINES_CP');
2721: END IF;
2722:
2723: -- roll back to savepoint and return
2724: ROLLBACK TO standardize_lines_cp;
2725:
2726: retcode := 2;
2727: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2728: l_message := fnd_message.get;
2723: -- roll back to savepoint and return
2724: ROLLBACK TO standardize_lines_cp;
2725:
2726: retcode := 2;
2727: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2728: l_message := fnd_message.get;
2729: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',l_message);
2730:
2731: END STANDARDIZE_LINES_CP;
2727: fnd_message.set_name('WMS', 'WMS_STANDARDIZE_LINES_ERROR');
2728: l_message := fnd_message.get;
2729: l_ret := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR',l_message);
2730:
2731: END STANDARDIZE_LINES_CP;
2732:
2733:
2734: PROCEDURE INSERT_ELS_TRX
2735: (