how to write IF condition here in cursor [message #173224] |
Sat, 20 May 2006 07:45 |
kamran.it
Messages: 265 Registered: September 2005 Location: Karachi
|
Senior Member |
|
|
HOW TO WRITE A IF CONDITION IN CURSOR
IF NO 1 CONDITION IS .F. THEN EXECUTE 2ND CONDITION.
declare
CURSOR post_ppfs
IS
if :ppmain.msubpp is null then
select PP_DPKD.PPNO,PP_DPKD.SUBPP,PP_DPKD.color,PP_DPKD.c_ref,PP_DPKD.pack,PP_DPKD.pcs,PP_DPKD.kgs from pp_dpkd
WHERE PPNO=:PPMAIN.MPPNO;
else
SELECT
PP_DPKD.PPNO,PP_DPKD.SUBPP,PP_DPKD.color,PP_DPKD.c_ref,PP_DPKD.pack,PP_DPKD.pcs,PP_DPKD.kgs from pp_dpkd
WHERE PP_DPKD.PPNO =:PPMAIN.MPPNO AND
PP_DPKD.SUBPP=:PPMAIN.MSUBPP;
END IF;
KP PPP_DPKD.PPNO%TYPE;
KSPP PP_DPKD.SUBPP%TYPE;
kcolor pp_dpkd.color%TYPE;
kcref pp_dpkd.c_ref%type;
kpack pp_dpkd.pack%type;
kpcs pp_dpkd.pcs%type;
kkgs pp_dpkd.kgs%type;
BEGIN
GO_ITEM('SUB_MAINPP1.C_NAME');
OPEN POST_PPFS;
LOOP
FETCH POST_PPFS INTO
KPP,KSPP,kcolor,kcref,kpack,kpcs,kkgs;
EXIT WHEN POST_PPFS%NOTFOUND;
GO_ITEM('SUB_MAINPP1.C_NAME');
CREATE_RECORD;
:SUB_MAINPP1.MPPNO := KPP;
:SUB_MAINPP1.MSUBPP := KSPP;
:SUB_MAINPP1.C_NAME := kcolor;
:sub_mainpp1.c_ref := kcref;
:sub_mainpp1.paks := kpack;
:sub_mainpp1.pcs := kpcs;
:sub_mainpp1.kgs := kkgs;
END LOOP;
CLOSE POST_PPFS;
end;
|
|
|
Re: how to write IF condition here in cursor [message #173233 is a reply to message #173224] |
Sat, 20 May 2006 11:42 |
|
Littlefoot
Messages: 21823 Registered: June 2005 Location: Croatia, Europe
|
Senior Member Account Moderator |
|
|
You might try with the NVL function:CURSOR post_ppfs
IS
SELECT pp_dpkd.ppno, pp_dpkd.subpp, pp_dpkd.color, pp_dpkd.c_ref,
pp_dpkd.pack, pp_dpkd.pcs, pp_dpkd.kgs
FROM pp_dpkd
WHERE pp_dpkd.ppno = :ppmain.mppno
AND pp_dpkd.subpp = NVL(:ppmain.msubpp, pp_dpkd.subpp);
[Updated on: Sat, 20 May 2006 11:42] Report message to a moderator
|
|
|
|
|
|