首页 > 解决方案 > ORACLE Forms (WHEN-BUTTON-PRESSED) 事件问题

问题描述

我更新了我的脚本。然后,我的问题有两个部分。对于第 1 部分,“检查文本项和 LOV 字段中的空记录”

IF  (:CREATE_BLOCK.COMPANY IS NULL AND F_SHOW_LOV('LOV_COMPANY_CREATE') IS NULL ) THEN
          
     MSG('Cannot to Null record!');
     RAISE FORM_TRIGGER_FAILURE; 

END IF;

结果是失败。当我删除文本字段中的数据但未触发错误消息时。

第 2 部分:我创建程序。然后,我在数据库实例中运行该过程。结果很好。我尝试在表单中调用程序,但错误消息不会显示在屏幕上。我可以知道我的脚本有什么问题吗?

 DECLARE

 O_ERR_MSG nvarchar2 (500);
 L_SUCCESS BOOLEAN;
 v_count number;


 BEGIN

    SELECT count (*) 
    INTO v_count
    FROM CMX_OFIN_LOC_MAPPING 
       WHERE company = :CREATE_BLOCK.COMPANY
          AND NEO_LOC = :CREATE_BLOCK.NEO_LOC
          AND OFIN_LOC = :CREATE_BLOCK.OFIN_LOC
          AND OFIN_COMP = :CREATE_BLOCK.OFIN_COMP
          AND OCC = :CREATE_BLOCK.OCC
          AND segment12 = :CREATE_BLOCK.SEGMENT12_MAP
          AND BRAND_CODE_IN = :CREATE_BLOCK.BRAND_CODE
           ;
           
      
      IF (:CREATE_BLOCK.COMPANY IS NOT NULL AND 
          :CREATE_BLOCK.NEO_LOC IS NOT NULL AND
          :CREATE_BLOCK.OFIN_LOC IS NOT NULL AND 
          :CREATE_BLOCK.OFIN_COMP IS NOT NULL AND 
          :CREATE_BLOCK.OCC IS NOT NULL AND 
          :CREATE_BLOCK.SEGMENT12_MAP IS NOT NULL AND 
          :CREATE_BLOCK.BRAND_CODE IS NOT NULL) AND v_count < 1 THEN
          
          
                  L_SUCCESS :=  cmx_OFIN_MAP_UTILITY.CMX_LOC_IUD (:CREATE_BLOCK.COMPANY, 
                                           'CMX_OFIN_LOC_MAPPING' ,
                                           'I',
                                           :CREATE_BLOCK.NEO_LOC, 
                                           :CREATE_BLOCK.OFIN_LOC, 
                                           :CREATE_BLOCK.OFIN_COMP,
                                           :CREATE_BLOCK.OCC, 
                                           :CREATE_BLOCK.SEGMENT12_MAP, 
                                           :CREATE_BLOCK.BRAND_CODE,-- SYSDATE, SYSDATE, USER, NULL,
                                            O_ERR_MSG);
                                            
       COMMIT;  

         MSG_SUCCESS('Success to created!'); 
           RAISE FORM_TRIGGER_FAILURE;
          


  IF L_SUCCESS = FALSE THEN
    
       dbms_output.put_line(O_ERR_MSG);
        
  ELSE
    
          MSG(O_ERR_MSG);   
           RAISE FORM_TRIGGER_FAILURE; 
          
  END IF;
  
  END IF;
        EXCEPTION
         when FORM_TRIGGER_FAILURE then
  raise;
       when OTHERS then
 
  raise FORM_TRIGGER_FAILURE;

END ;

标签: oracleoracle11goracleforms

解决方案


推荐阅读