I'm typing standard code in attached library to run with the opening of the all forms.
i get the prompts of the all items
and after processes on theses prompt set it again.
I'm looping on all item from the first item to the last item on the block
and looping on a blocks through the form form the first block to the last block on the form
so if the developer created a radio group with radio buttons under it
I'm not in advance know the number of the buttons.
EXIT WHEN GET_BLOCK_PROPERTY(V_CURR_BLOCK,LAST_ITEM)=V_CURRENT_ITEM; V_CURRENT_ITEM:=GET_ITEM_PROPERTY(V_CURR_BLOCK||'.'||V_CURRENT_ITEM,NEXTITEM);
what can i do if the item is radio group
i wanna some thing like that :
v_current_lang_prompt varchar2(25); ---- another language which the user logged with it
but in Advance i don't know the number of the radio button in the radio group
i wanna to loop in all buttons automatically
in the previous example i used ''column1'
but really i don't know the names of the sub buttons or how many times i will loop the pervious code.
I'm afraid this will not work for other cases too. For example, you cannot loop through the Lov-column-headers programmatically, you can not loop over alerts,....
Also, doing a lookup on a prompt text is error-prown. What happens when you change the english prompt?
An approach i took in the past uses the JDAPI. This java-api enables you to retrieve all info from a form. Unfortunately it is available in forms 10g and above. But you would only need it for the extraction of properties on one machine. In Forms 6i there is the C-api which has nearly the same capabilitites, but is more complex to handle (at least for me as a none-C guy).
Steps to take (as overview):
1. Create metadata-tables to store the "Keys" of the different available forms-objects.
2. Write a PL/SQL-program which generates the necessary SET_XX_PROPERTY-statements to fill all items of a form at runtime. This program would read the metadata-tables as well.
3 .Extract all the possible properties using the JDAPI and insert it into the metadata-tables. Just leave the translation columns empty
4. Take the generated code and put it into the PRE-FORM-trigger of the specific form.
Steps 3 and 4 will have to be repeated for each form and every time the form changes.