414: l_obs := fnd_message.GET_STRING('CS','CS_KB_WF_OBS');
415: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey,
416: 'COMMAND_DISPLAY', l_obs); --'Obsoleted');
417: END IF;
418: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'LANGUAGE', FND_GLOBAL.CURRENT_LANGUAGE);
419:
420: IF (p_flow_details_id is not null) THEN
421: WF_ENGINE.SetItemAttrNumber(p_itemtype, p_itemkey, 'FLOW_DETAILS_ID', p_flow_details_id);
422: select step into x_step_code
470:
471: -- Set Attributes.
472: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'SETNO', p_set_number);
473: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'SETID', p_set_id);
474: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'LANGUAGE', FND_GLOBAL.CURRENT_LANGUAGE);
475: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'AUTHOR', p_author);
476:
477: -- Set the From field:
478: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'NOTFROM', FND_GLOBAL.User_Name);
474: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'LANGUAGE', FND_GLOBAL.CURRENT_LANGUAGE);
475: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'AUTHOR', p_author);
476:
477: -- Set the From field:
478: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'NOTFROM', FND_GLOBAL.User_Name);
479:
480: IF (p_solution_title is not null) THEN
481: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'SOLTITLE', p_solution_title);
482: END IF;
520: p_flow_details_id IN NUMBER,
521: p_result OUT NOCOPY NUMBER
522: )
523: IS
524: uid NUMBER := fnd_global.user_id;
525: dt DATE := SYSDATE;
526: BEGIN
527:
528: UPDATE CS_KB_WF_FLOW_DETAILS
551: p_flow_id IN NUMBER,
552: p_result OUT NOCOPY NUMBER
553: )
554: IS
555: uid NUMBER := fnd_global.user_id;
556: dt DATE := SYSDATE;
557:
558: CURSOR CHECK_FLOW_EXITS (flowId NUMBER) IS
559: SELECT count(*)
615: -- p_result: 1 = completed successfully, -1 = error
616: /*******************************************************************/
617: PROCEDURE Enable_Flow( p_flow_id IN NUMBER,
618: p_result OUT NOCOPY NUMBER ) IS
619: uid NUMBER := fnd_global.user_id;
620: dt DATE := SYSDATE;
621:
622: CURSOR CHECK_FLOW_EXITS (flowId NUMBER) IS
623: SELECT count(*)
663: IS
664: l_resp_id number;
665: l_application_id number := 170;
666: l_region_code varchar2(30) := 'CS_KB_WF_ACTION';
667: l_user_id number := fnd_global.user_id;
668: region_name varchar2(50);
669: empty_str varchar2(30) := ' ';
670: items_table jtf_region_pub.ak_region_items_table;
671: code JTF_VARCHAR2_TABLE_100 := JTF_VARCHAR2_TABLE_100();
1357: p_flow_details_id OUT NOCOPY NUMBER
1358: )
1359: IS
1360: --temp vars
1361: uid NUMBER := fnd_global.user_id;
1362: dt DATE := SYSDATE;
1363: BEGIN
1364:
1365: -- Get next available details id number
1411: p_flow_name IN VARCHAR2,
1412: p_flow_id OUT NOCOPY NUMBER
1413: ) IS
1414: --temp vars
1415: uid NUMBER := fnd_global.user_id;
1416: dt DATE := SYSDATE;
1417: x_count number;
1418: BEGIN
1419:
1421: INTO x_count
1422: FROM CS_KB_WF_FLOWS_B b, CS_KB_WF_FLOWS_TL tl
1423: WHERE b.FLOW_ID = tl.FLOW_ID
1424: AND tl.NAME = p_flow_name
1425: AND tl.LANGUAGE = FND_GLOBAL.CURRENT_LANGUAGE;
1426:
1427: --check for duplicated flow name
1428: IF (x_count > 0) THEN
1429: p_flow_id := -3;
1511: p_group_id NUMBER;
1512: p_command VARCHAR2(30);
1513: p_locked_by NUMBER;
1514: current_id NUMBER;
1515: user_id NUMBER := fnd_global.user_id;
1516: set_id NUMBER := p_set_id;
1517: x_original_author_id FND_USER.USER_ID%TYPE;
1518: x_author FND_USER.USER_NAME%TYPE;
1519: x_new_step number;
1770:
1771: END LOOP;
1772:
1773: -- Set the From field:
1774: WF_ENGINE.SetItemAttrText(p_itemtype, p_itemkey, 'NOTFROM', FND_GLOBAL.User_Name);
1775:
1776: -- Send workflow down correct path according to command determined.
1777: IF (command = 'PUB') OR (command = 'OBS') THEN
1778: p_result := 'COMPLETE:PUB_OBS';
1810: p_action IN VARCHAR2,
1811: p_result OUT NOCOPY NUMBER
1812: )
1813: IS
1814: uid NUMBER := fnd_global.user_id;
1815: dt DATE := SYSDATE;
1816: temp NUMBER; --temp variable to see if id exists
1817:
1818: BEGIN
1912: p_flow_id IN NUMBER,
1913: p_flow_name IN VARCHAR2,
1914: p_result OUT NOCOPY NUMBER
1915: ) IS
1916: uid NUMBER := fnd_global.user_id;
1917: dt DATE := SYSDATE;
1918: temp NUMBER;
1919: x_count number;
1920: BEGIN
1924: FROM CS_KB_WF_FLOWS_B b, CS_KB_WF_FLOWS_TL tl
1925: WHERE b.FLOW_ID = tl.FLOW_ID
1926: AND b.FLOW_ID <> p_flow_id
1927: AND tl.NAME = p_flow_name
1928: AND tl.LANGUAGE = FND_GLOBAL.CURRENT_LANGUAGE;
1929:
1930: --check for duplicated flow name
1931: IF (x_count > 0) THEN
1932: p_result := -3;
1952: WHERE
1953: flow_id = p_flow_id
1954: AND USERENV('LANG') IN (language, source_lang);
1955:
1956: --language = FND_GLOBAL.CURRENT_LANGUAGE;
1957:
1958: UPDATE CS_KB_WF_FLOWS_B
1959: SET last_updated_by = uid,
1960: last_update_date = dt