EBS-FORM开发 下载本文

Close_FORM('XX_FORM001');

show_window('XX_FORM001',4,0.5); 1: 定义

fnd_descr_flex.define(BLOCK => 'BLK_ROUTING_LINES', field => 'DESC_FLEX', appl_short_name => 'XX',

desc_flex_name => 'XX_OM_INT_ROUTING_LINES');

2:

Message('Cannot delete master record when matching detail records exist.');

RAISE Form_Trigger_Failure;

go_block('BLK_ROUTING_HEADERS');

hide_window('WIN_STEP');

app_window.set_coordination('WHEN-WINDOW-CLOSED',:BLK_REP_STEP_CTL.COORDINATION_STEP,

'R_ROUTING_HEADER_STEPS');

3 设置弹出信息

fnd_message.set_string(GET_ITEM_PROPERTY(p_item,PROMPT_TEXT) ||' ' ||'can not be blank, please enter' ||' ' ||GET_ITEM_PROPERTY(p_item,PROMPT_TEXT)); fnd_message.show;

RAISE form_trigger_failure;

带有提示YES OR NO

win_nm := get_view_property(canvas_nm

,WINDOW_NAME);

FND_MESSAGE.SET_STRING('Do you want to save the changes you have made?'); ln_quest_count := FND_MESSAGE.QUESTION( 'Yes' ,'No' ,'Cancel' ,NULL);

IF ln_quest_count =1 THEN DO_KEY('COMMIT_FORM'); clear_block(no_validate);

app_custom.close_window(win_nm); ELSIF ln_quest_count = 2 THEN clear_block(no_validate);

app_custom.close_window(win_nm); ELSE NULL; END IF;

5:Insert into

INSERT INTO ….

EXCEPTION

WHEN OTHERS THEN

fnd_message.set_string(SQLERRM || ' : ' || SQLCODE); fnd_message.ERROR;

RAISE form_trigger_failure 6: Update

Update ….

EXCEPTION

WHEN OTHERS THEN

fnd_message.set_string(SQLERRM || ' : ' || SQLCODE); fnd_message.ERROR;

RAISE form_trigger_failure 7: Delete

DELETE FROM XX_OM_INT_ROUTING_HEADERS

WHERE routing_header_id = :BLK_ROUTING_HEADERS.routing_header_id; IF (SQL%NOTFOUND) THEN

RAISE NO_DATA_FOUND; END IF; 8: lock_id

PROCEDURE lock_row IS

CURSOR c_row IS SELECT *

FROM XX_OM_INT_ROUTING_HEADERS

WHERE ROWID = :BLK_ROUTING_HEADERS.row_id FOR UPDATE OF routing_header_id NOWAIT; rec c_row%ROWTYPE; i NUMBER := 0; BEGIN LOOP

BEGIN i := i + 1; OPEN c_row; FETCH c_row INTO rec;

IF (c_row%NOTFOUND) THEN

CLOSE c_row;

fnd_message.set_name('FND'

,'FORM_RECORD_DELETED'); fnd_message.error;

RAISE FORM_TRIGGER_FAILURE; END IF;

CLOSE c_row;

IF ec.ROUTING_HEADER_ID = :BLK_ROUTING_HEADERS.ROUTING_HEADER_ID) THEN RETURN; ELSE

fnd_message.set_name('FND'

,'FORM_RECORD_CHANGED'); fnd_message.error;

RAISE FORM_TRIGGER_FAILURE; END IF; EXCEPTION

WHEN app_exception.record_lock_exception THEN app_exception.record_lock_error(i); END; END LOOP; END lock_row; End; LOV