1519: x_new_step number;
1520:
1521: BEGIN
1522:
1523: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1524: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.begin',
1525: ' Current User='||user_id||' Step='||p_new_step);
1526: END IF;
1527:
1520:
1521: BEGIN
1522:
1523: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1524: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.begin',
1525: ' Current User='||user_id||' Step='||p_new_step);
1526: END IF;
1527:
1528: IF (p_new_step is null) THEN
1529: IF (p_set_id is null) THEN
1530: RAISE BAD_INFORMATION_SUPPLIED;
1531: ELSE
1532:
1533: IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1534: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'cs.plsql.CS_KB_WF_PKG.Start_Wf',
1535: 'Direct Publish - '||p_set_id);
1536: END IF;
1537:
1530: RAISE BAD_INFORMATION_SUPPLIED;
1531: ELSE
1532:
1533: IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1534: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'cs.plsql.CS_KB_WF_PKG.Start_Wf',
1535: 'Direct Publish - '||p_set_id);
1536: END IF;
1537:
1538: -- no step, intepreted as workflow disabled. Publish directly.
1546: ELSE
1547:
1548: current_id := CS_KB_SOLUTION_PVT.locked_by(p_set_id);
1549:
1550: IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1551: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'cs.plsql.CS_KB_WF_PKG.Start_Wf',
1552: 'Standard Flow Submission. Current Lock - '||current_id);
1553: END IF;
1554:
1547:
1548: current_id := CS_KB_SOLUTION_PVT.locked_by(p_set_id);
1549:
1550: IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1551: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'cs.plsql.CS_KB_WF_PKG.Start_Wf',
1552: 'Standard Flow Submission. Current Lock - '||current_id);
1553: END IF;
1554:
1555: -- If lock is not held by anyone, by workflow, by the current user,
1585: -- PUB/OBS
1586: p_locked_by := null;
1587: END IF;
1588:
1589: IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1590: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'cs.plsql.CS_KB_WF_PKG.Start_Wf',
1591: 'Before Clone - '||p_set_number||' - '
1592: ||p_command||' - '
1593: ||x_new_step||' - '
1586: p_locked_by := null;
1587: END IF;
1588:
1589: IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1590: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'cs.plsql.CS_KB_WF_PKG.Start_Wf',
1591: 'Before Clone - '||p_set_number||' - '
1592: ||p_command||' - '
1593: ||x_new_step||' - '
1594: ||p_locked_by);
1652:
1653: p_results := 1;
1654: p_errormsg := null;
1655:
1656: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1657: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.end',
1658: 'Status=Success');
1659: END IF;
1660:
1653: p_results := 1;
1654: p_errormsg := null;
1655:
1656: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1657: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.end',
1658: 'Status=Success');
1659: END IF;
1660:
1661: EXCEPTION
1660:
1661: EXCEPTION
1662: WHEN PERMISSION_ERROR THEN
1663:
1664: IF FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1665: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.EXCEPTION.Permission_Error',
1666: ' Locking User='||Current_id||
1667: ' Current User='||User_Id);
1668: END IF;
1661: EXCEPTION
1662: WHEN PERMISSION_ERROR THEN
1663:
1664: IF FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1665: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.EXCEPTION.Permission_Error',
1666: ' Locking User='||Current_id||
1667: ' Current User='||User_Id);
1668: END IF;
1669:
1670: p_results := 0;
1671: p_errormsg := 'No permission error';
1672: WHEN BAD_INFORMATION_SUPPLIED THEN
1673:
1674: IF FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1675: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.EXCEPTION.Bad_Info',
1676: ' New Step='||p_new_step||
1677: ' Set Id='||p_set_id);
1678: END IF;
1671: p_errormsg := 'No permission error';
1672: WHEN BAD_INFORMATION_SUPPLIED THEN
1673:
1674: IF FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1675: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.EXCEPTION.Bad_Info',
1676: ' New Step='||p_new_step||
1677: ' Set Id='||p_set_id);
1678: END IF;
1679:
1680: p_results := -2;
1681: p_errormsg := 'Bad information supplied';
1682: WHEN OTHERS THEN
1683:
1684: IF FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1685: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.UNEXPECTED',
1686: ' Error= '||sqlerrm);
1687: END IF;
1688:
1681: p_errormsg := 'Bad information supplied';
1682: WHEN OTHERS THEN
1683:
1684: IF FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1685: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED, 'cs.plsql.CS_KB_WF_PKG.Start_Wf.UNEXPECTED',
1686: ' Error= '||sqlerrm);
1687: END IF;
1688:
1689: p_results := -1;