2023-01-05

[Oracle]How to Delete Concurrent Program

請求建立後是無法刪除的,只能停用,可以透過以下API來刪除
 
DECLARE
  P_PROG_SHORT_NAME VARCHAR2(240) := 'CSTR002';
  P_EXEC_SHORT_NAME VARCHAR2(240) := 'CSTR002';
  P_APPL_FULL_NAME  VARCHAR2(240) := '成本管理系統';
  P_APPL_SHORT_NAME VARCHAR2(240) := 'CST';
  P_DEL_PROG_FLAG   VARCHAR2(1) := 'Y';
  P_DEL_EXEC_FLAG   VARCHAR2(1) := 'Y';
BEGIN
  --檢查是否存在
  IF FND_PROGRAM.PROGRAM_EXISTS(P_PROG_SHORT_NAME, P_APPL_SHORT_NAME) AND
     FND_PROGRAM.EXECUTABLE_EXISTS(P_EXEC_SHORT_NAME, P_APPL_SHORT_NAME) THEN
  
    IF P_DEL_PROG_FLAG = 'Y' THEN
      FND_PROGRAM.DELETE_PROGRAM(P_PROG_SHORT_NAME, P_APPL_FULL_NAME);
    END IF;
    IF P_DEL_EXEC_FLAG = 'Y' THEN
      FND_PROGRAM.DELETE_EXECUTABLE(P_EXEC_SHORT_NAME, P_APPL_FULL_NAME);
    END IF;
    COMMIT;
    DBMS_OUTPUT.PUT_LINE('刪除成功');
  ELSE
    DBMS_OUTPUT.PUT_LINE('刪除失敗');
  END IF;
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('錯誤: ' || SQLERRM);
END;

沒有留言:

張貼留言