form开发--------添加复选框并实现批量修改数据

1.在数据块添加新的项CHECK_FLAG设置子类信息为CHECKBOX,复选是为Y,为复选时为N,其他值的复选框映射为未选中,添加到画布

2.在QUERY_FIND数据块添加输入框项子类信息为TEXT_ITEM,添加按钮子类为BUTTON,显示在画布上,在按钮添加触发器WHEN-BUTTON-PRESSED

DECLARE
		cursor check_da is
	select ROW_ID,check_date from cux_inv_check where N_Y='Y';
  AR_DATE VARCHAR2(30);
	UP_DATE VARCHAR2(30);
BEGIN
	UP_DATE:=:QUERY_FIND.UPDATE_DATE;
GO_BLOCK('LINE_FOLDER');
first_record;
loop
	if :LINE_FOLDER.CHECK_FLAG='Y' THEN
--		FND_MESSAGE.DEBUG('INSERT');
		INSERT INTO cux_inv_check(N_Y,ROW_ID,CHECK_DATE) 
												VALUES(:LINE_FOLDER.CHECK_FLAG,
															:LINE_FOLDER.INTERFACE_LINE_ATTRIBUTE6,
															UP_DATE);
	END IF;
	IF:system.last_record='TRUE' THEN
	--		FND_MESSAGE.DEBUG('INSERT+');
		EXIT;
	ELSE
	--		FND_MESSAGE.DEBUG('INSERT=');
		NEXT_RECORD;	
	END IF;
	END LOOP;
	COMMIT;
	FIRST_RECORD;
	FOR S IN CHECK_DA LOOP
--		FND_MESSAGE.DEBUG('UP'||S.ROW_ID||S.CHECK_DATE);
	UPDATE RA_INTERFACE_LINES_ALL SET
	GL_DATE=S.CHECK_DATE WHERE INTERFACE_LINE_ATTRIBUTE6=S.ROW_ID;
	SELECT INTERFACE_LINE_ATTRIBUTE6 INTO AR_DATE FROM RA_INTERFACE_LINES_ALL WHERE INTERFACE_LINE_ATTRIBUTE6=S.ROW_ID;
--	FND_MESSAGE.DEBUG(AR_DATE);
	END LOOP;
	DELETE cux_inv_check;
	 GO_BLOCK('LINE_FOLDER');
	  	 EXECUTE_QUERY;
	
END;

说明:新建临时表,将选到的数据插入进临时表,修改时参照临时表数据进行修改。

posted @ 2019-09-27 15:11  好小子·  阅读(727)  评论(0编辑  收藏  举报