what iam trying to do is use a while loop instead of a cursor and iam in the dark can someone please show me the way here is my code:
Declare cursor for
SELECT * FROM VI82BHDT, VI16HPRO
WHERE (NIV182 = NIV116) AND (TYIN16 = 1) AND (PROD82 = PROD16) AND
(NIV182 = :NIV180) AND (NIV282 = :NIV280) AND
(NIV382 = :NIV380) AND (TYIN82 = :TYIN80) AND
(TYTR82 = :TYTR80) AND (NOTR82 = :NOTR80) AND
((:@IEENT = 'I' AND ENTR82 NOT IN(:@ENT01, :@ENT02,
:@ENT03, :@ENT04, :@ENT05) OR ENTR82 = 0) OR
(:@IEENT = 'E' AND ENTR82 IN(:@ENT01, :@ENT02,
:@ENT03, :@ENT04, :@ENT05) AND ENTR82 <> 0)) AND
((:@IEPRO = 'I' AND PROD82 NOT IN(:@PRD01, :@PRD02,
:@PRD03, :@PRD04, :@PRD05, :@PRD06, :@PRD07, :@PRD08)) OR
(:@IEPRO = 'E' AND PROD82 IN(:@PRD01, :@PRD02, :@PRD03,
:@PRD04, :@PRD05, :@PRD06, :@PRD07, :@PRD08))) AND
((:@IEDE1 = 'I' AND DES116 NOT IN(:@DES11, :@DES12,
:@DES13, :@DES14, :@DES15, :@DES16, :@DES17, :@DES18,
:@DES19, :@DES10) OR DES116 = ' ') OR
(:@IEDE1 = 'E' AND DES116 IN(:@DES11, :@DES12,
:@DES13, :@DES14, :@DES15, :@DES16, :@DES17, :@DES18,
:@DES19, :@DES10) AND DES116 <> ' ')) AND
((:@INBD2 = 'X' AND DES216 = ' ') OR
(:@IEDE2 = 'I' AND DES216 NOT IN(:@DES21, :@DES22,
:@DES23, :@DES24, :@DES25) AND DES216 <> ' ') OR
(:@IEDE2 = 'E' AND DES216 IN(:@DES21, :@DES22,
:@DES23, :@DES24, :@DES25) AND DES216 <> ' ')) AND
((:@INBD3 = 'X' AND DES316 = ' ') OR
(:@IEDE3 = 'I' AND DES316 NOT IN(:@DES31, :@DES32,
:@DES33, :@DES34, :@DES35) AND DES316 <> ' ') OR
(:@IEDE3 = 'E' AND DES316 IN(:@DES31, :@DES32,
:@DES33, :@DES34, :@DES35) AND DES316 <> ' ')) AND
((:@INBD4 = 'X' AND DES416 = ' ') OR
(:@IEDE4 = 'I' AND DES416 NOT IN(:@DES41, :@DES42,
:@DES43, :@DES44, :@DES45) AND DES416 <> ' ') OR
(:@IEDE4 = 'E' AND DES416 IN(:@DES41, :@DES42,
:@DES43, :@DES44, :@DES45) AND DES416 <> ' '))