设置block的where条件并执行查询

declare
    where_str varchar2(500);
begin
   set_item_property('HEADER.REPORTING',enabled,PROPERTY_TRUE);
   set_block_property('WST_AR_SALES_EVALUATION_T',query_allowed,PROPERTY_TRUE);
   set_block_property('WST_AR_SALES_EVALUATION_T',insert_allowed,PROPERTY_false);
   :OPERATION_TYPE:='FIND';
   :QUERY_TYPE:='A';
    --where_str:='Status <> ''C''';
    where_str:='Status <> ''C'' and Loading_Date>=TO_DATE('''||:HEADER.LOAD_DATE_FROM || ''',''dd/mon/yy'')  and Loading_Date<= to_Date(''' ||:HEADER.LOAD_DATE_TO||''',''dd/mon/yy'')';
   if :HEADER.INVOICE_DATE_FROM is not null then
      where_str:=where_str || ' and Invoice_Date >=TO_DATE('''|| :HEADER.INVOICE_DATE_FROM ||''',''dd/mon/yy'')';
   end if;
   if  :HEADER.INVOICE_DATE_TO is not null then
     where_str:=where_str || ' and Invoice_Date <=TO_DATE('''|| :HEADER.INVOICE_DATE_TO ||''',''dd/mon/yy'')';
   end if;
   if :HEADER.CURRENCY_CODE is not null then
      where_str:=where_str || ' and Curr_Code= ''' || :HEADER.CURRENCY_CODE||'''';
   end if;
   if :HEADER.COMPANY1 is not null then
      where_str:=where_str || ' and Company= ''' || :HEADER.COMPANY1||'''';
   end if;
   --fnd_message.debug(:HEADER.COMPANY1);
   where_str:=where_str; --|| ' order by WS_Item_No,Sales_Order,Line';
   --fnd_message.debug(where_str);
  
   go_block('WST_AR_SALES_EVALUATION_T');
   clear_block(no_commit);
   go_block('WST_AR_SALES_EVALUATION_T');
   set_item_property('WST_AR_SALES_EVALUATION_T.CONFIRMED',enabled,PROPERTY_FALSE);
   set_item_property('WST_AR_SALES_EVALUATION_T.CANCELED',enabled,PROPERTY_TRUE);
   set_item_property('WST_AR_SALES_EVALUATION_T.CANCELED',update_allowed,PROPERTY_TRUE);
   set_block_property('WST_AR_SALES_EVALUATION_T',default_where,where_str);
   execute_query;
   if :WST_AR_SALES_EVALUATION_T.EVALUATION_LINE_ID is null then
       :WST_AR_SALES_EVALUATION_T.CONFIRMED:='N';
       set_item_property('WST_AR_SALES_EVALUATION_T.CANCELED',enabled,PROPERTY_false);
   end if;
   --set_block_property('WST_AR_SALES_EVALUATION_T',query_allowed,PROPERTY_FALSE);
  
EXCEPTION
  WHEN OTHERS THEN
    fnd_message.debug('Query Error!');
    RAISE FORM_TRIGGER_FAILURE;
end;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值