1.Q1:----&p_whare understand.
function AfterPForm return boolean is
begin
if nvl(:p_trace,'x') = 'Y' then
SRW.DO_SQL('ALTER SESSION SET SQL_TRACE = TRUE');
end if;
SELECT ORGANIZATION_CODE
INTO :P_ORG_CODE
FROM MTL_PARAMETERS
WHERE ORGANIZATION_ID = :P_ORG_ID ;
------------
if (:p_type <> 'NOR') and (:p_type <> 'COPY') then
srw.message(1, 'type not in NOR/COPY');
return(false);
end if;
------------------------------------------------------------------------------
if :p_type = 'NOR' then ---------タ盽锣郎
:p_where := ' AND 1 = 1 ' ;
ELSE
-------------------------------------------------
IF :P_VERSION_FM IS NULL THEN
srw.message(1, 'VERSION FM ぃNULL');
return(false);
end if;
IF :P_VERSION_TO IS NULL THEN
srw.message(1, 'VERSION TO ぃNULL');
return(false);
end if;
---------------check process -------------------------------------------------------------
if :P_pc_fm is null and :p_pc_to is not null then
srw.message(1, 'process fm ぃnull');
return(false);
end if;
if :P_pc_to is null and :p_pc_fm is not null then
srw.message(1, 'process to ぃnull');
return(false);
end if;
------------- check prod type ----------------------------------
if :P_prod_fm is null and :p_prod_to is not null then
srw.message(1, 'prod fm ぃnull');
return(false);
end if;
if :P_prod_to is null and :p_prod_fm is not null then
srw.message(1, 'prod to ぃnull');
return(false);
end if;
-------------------------------------------------------
if (:P_VERSION_FM = :P_VERSION_TO) and ----check all
(nvl(:p_pc_fm,'x') = nvl(:p_pc_to,'x')) and
(nvl(:p_prod_fm,'x') = nvl(:p_prod_to,'x')) then
srw.message(1, 'VERSION/玻珇/籹祘 ぃall');
return(false);
end if;
if :p_prod_fm is null and :p_prod_to is null then -----------chekc copy pc
if (:P_VERSION_FM = :P_VERSION_TO) and
nvl(:p_pc_fm,'x') = nvl(:p_pc_to,'x') then
srw.message(1, 'VERSION/籹祘 ぃall');
return(false);
end if;
end if;
if :p_pc_fm is null and :p_pc_to is null then -----------copy prod
if (:P_VERSION_FM = :P_VERSION_TO) and
nvl(:p_prod_fm,'x') = nvl(:p_prod_to,'x') then
srw.message(1, 'VERSION/玻珇 ぃall');
return(false);
end if;
end if;
---------------------------------------------------------------
:P_where := ' AND 1 = 2 ' ; ----copy by PC or PROD_TYPE
copy_all; ---------copy
end if;
return (TRUE);
exception
when others then
return(false);
end;
2.report
MILY: 'Times New Roman'; mso-fareast-font-family: 新細明體; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA">1. Report Properties : 設定 Report的寬與高(横式:11 * 8.5;直式: 8.5 * 11)
2.charater mode: 一定要勾選「Use Character Units in Designer」
3.tools-----data mode Editor--key sql
4.tools----default parameter form
5.以後要做細部修改,至「Tools」à「Parameter Form Editor」
6.選擇該User Parameters的「Properties…」à「Data/Selection」à選「SELECT Statement」
à在「Enter Query」寫SQL指令
7.Restict list to prodetermined values
8.勾選「Restrict List to Predetermined Values」且又有設default值時,default值須為
實值列表內容之一。EX:實值列表內容為89~93,但default值設為88.
9.選擇該User Parameters的「Properties…」à「General」
「Input Mask」為輸入格式設定。「Initial Value」為default值設定
10.「View」à「View Options」à「Rulers…」
11.「Centimeters」:有格線。「Character Cells」:無格線。「Grid Spacing」:選擇格線間距大小。
12.至「Data Model」,新增一個Formula Column,點選「Edit」後,將SQL指令寫入
13.srw.message(1, ‘此站別v_seq為:’ || to_char(v_seq));
文章来源于领测软件测试网 https://www.ltesting.net/