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;
说明:新建临时表,将选到的数据插入进临时表,修改时参照临时表数据进行修改。