Resolved it. I was using cursor name instead of the variable.

It is some thing like this.

OPEN CUR_MS_SITE;
FETCH CUR_MS_SITE INTO v_CSS_MS_SITE;
IF (CUR_MS_SITE%NOTFOUND) THEN
INSERT INTO CSS_DBA.CSS_MS_SITE (MS_SITE_ID,MS_SITE_DESC)
VALUES (v_MS_SITE_ID,v_CSS_SHIPMENT_TEMP.MS_SITE_DESC);
insert_MS_SITE := insert_MS_SITE + 1;
ELSE
IF cur_ms_site.MS_SITE_DESC <> v_CSS_SHIPMENT_TEMP.MS_SITE_DESC THEN

-- Here instead of using the cursor record reference, i used the cursor name(CUR_MS_SITE.MS_SITE_DESC instead of v_CSS_SHIPMEMT_TEMP.MS_SITE_DESC).

UPDATE CQCS_DBA.CSS_MS_SITE
SET MS_SITE_DESC = v_CSS_SHIPMENT_TEMP.MS_SITE_DESC
WHERE CURRENT OF CUR_MS_SITE;
update_MS_SITE := update_MS_SITE +1;
END IF;
END IF;
CLOSE CUR_MS_SITE;

Thanks

ms reddy