Hi All;
I am unable to understand coding of the form which is already created by someone else long time ago, now have to make some changes in it.
There are many data-blocks in this form, like ENQACMHDR, ENQACMDTL, ENQACEHDR, BUTTON, DRGCHK, etc.
and there are many push button created for ENTER_QUERY, EXECUTE_QUERY, NEXT, PREVIOUS, FIRST, LAST, SAVE, CLEAR, EXIT, AMEND, etc.
When i run the form , i can enter all the data & save, the cursor allows me to enter in the 'ENQACMDTL' block,
But the problem is when i click on 'ENTER_QUERY' BUTTON, i must be able to query in the 'ENQACMDTL' block, but i am unable to even click on the field items of 'ENQACMDTL' block.
It is being blocked somewhere & i am not able to find out. Mainly i am not able to understand the following what exactly is this POST-BLOCK Trigger doing, I don't know what SYSTEM.CURRENT_BLOCK & SYSTEM.CURSOR_RECORD is doing?
FORM:TRIGGER : POST-BLOCK:
:GLOBAL.BLOCK := :SYSTEM.CURRENT_BLOCK;
The below trigger is for 'ENQACMDTL' data-block.
WHEN-NEW-RECORD-INSTANCE:
:ENQACMDTL.ITEM := :SYSTEM.CURSOR_RECORD;
The below trigger is for 'ENTER_QUERY' PUSH BUTTON.
PUSH BUTTON: ENTER_QUERY: WHEN BUTTON PRESSED :
DECLARE
IT_ID1 ITEM;
IT_ID2 ITEM;
IT_ID3 ITEM;
IT_ID4 ITEM;
IT_ID5 ITEM;
IT_ID6 ITEM;
IT_ID7 ITEM;
SENDTOE ITEM;
SENDTOM ITEM;
BEGIN
IT_ID1 := FIND_ITEM('BUTTON.EN_QUERY');
IT_ID2 := FIND_ITEM('BUTTON.CA_QUERY');
IT_ID3 := FIND_ITEM('BUTTON.EX_QUERY');
IT_ID4 := FIND_ITEM('BUTTON.CLEAR');
IT_ID5 := FIND_ITEM('BUTTON.SAVE');
IT_ID6 := FIND_ITEM('BUTTON.PENDING');
IT_ID7 := FIND_ITEM('BUTTON.AMEND');
SENDTOE := FIND_ITEM('ENQACMHDR.SENDTOENGG');
SENDTOM := FIND_ITEM('ENQACEHDR.SENDTOMKTG');
SET_ITEM_PROPERTY(IT_ID3,ENABLED,PROPERTY_TRUE);
if :system.mode<>'ENTER-QUERY' THEN
set_item_property (it_id1,label,'CANCEL QUERY');
SET_ITEM_PROPERTY(IT_ID4,ENABLED,PROPERTY_FALSE);
SET_ITEM_PROPERTY(IT_ID5,ENABLED,PROPERTY_FALSE);
SET_ITEM_PROPERTY(IT_ID6,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(IT_ID7,ENABLED,PROPERTY_FALSE);
-- GO_BLOCK('ENQACMHDR');
-- if :PARAMETER.ENQPAR ='MKTG' then
-- GO_BLOCK('ENQACMHDR');
-- end if;
--CLEAR_BLOCK(NO_VALIDATE);
ENTER_QUERY;
set_item_property (it_id1,label,'ENTER QUERY');
SET_ITEM_PROPERTY(IT_ID3,ENABLED,PROPERTY_FALSE);
SET_ITEM_PROPERTY(IT_ID4,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(IT_ID5,ENABLED,PROPERTY_TRUE);
SET_ITEM_PROPERTY(IT_ID6,ENABLED,PROPERTY_FALSE);
SET_ITEM_PROPERTY(IT_ID7,ENABLED,PROPERTY_TRUE);
IF :PARAMETER.ENQPAR ='ENGG' THEN
GO_ITEM('ENQACMHDR.ENQNO');
SET_ITEM_PROPERTY(IT_ID7,ENABLED,PROPERTY_FALSE);
END IF;
IF :ENQACMHDR.LOCKM = 1 THEN
SET_ITEM_PROPERTY(SENDTOE,ENABLED,PROPERTY_FALSE);
ELSE
SET_ITEM_PROPERTY(SENDTOE,ENABLED,PROPERTY_TRUE);
END IF;
IF :ENQACEHDR.LOCKE = 1 THEN
SET_ITEM_PROPERTY(SENDTOM,ENABLED,PROPERTY_FALSE);
ELSE
SET_ITEM_PROPERTY(SENDTOM,ENABLED,PROPERTY_TRUE);
END IF;
ELSE
EXIT_FORM;
END IF;
-- set_item_property('button.save',enabled,property_true);
END;
What must be changed in order to unblock the ENQACMDTL' block and allow it to be queried??
Help me please, Thank You.
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
Oracle Forms 6i.