Lose Button Event
Hi,
I made an addon that adds a button on the screen more "card customer equipment." When I start my addon and the screen "customer equipment card," my button appears and acts normal. Only when I close the screen and open again, the button no longer appears. I can only see if the starter button once more my addon.
And besides, my button only works the first click. In the second he loses the event click the button.
Note: Since I configured mei addon to Automatic.
private void SBO_Application_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
BubbleEvent = true;
if (((pVal.FormType == 60150) & (pVal.Before_Action == true)) & (PrimeiraVez == false))
PrimeiraVez = true;
oForm = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount);
oNewItem = oForm.Items.Add("Modulos", SAPbouiCOM.BoFormItemTypes.it_BUTTON);
oItem = oForm.Items.Item("2");
oNewItem.Top = oItem.Top;
oNewItem.Width = 80;
oNewItem.Left = 450;
oNewItem.Height = 19;
oNewItem.FromPane = 0;
oNewItem.ToPane = 0;
oNewItem.Visible = true;
oButton = ((SAPbouiCOM.Button)(oNewItem.Specific));
oButton.Caption = "Módulos";
if (((pVal.FormType == 60150 & pVal.EventType != SAPbouiCOM.BoEventTypes.et_FORM_UNLOAD) & (pVal.Before_Action == true)))
// get the event sending form
oForm = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount);
if (((pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_LOAD) & (pVal.Before_Action == true)))
if (pVal.ItemUID == "Modulos" & pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED & pVal.Before_Action == true)
//Harley
string value = ((SAPbouiCOM.EditText)oForm.Items.Item("44").Specific).Value;
if (value != "" && value != null)
UseMatrix oAddingMenuItems = null;
oAddingMenuItems = new UseMatrix(value);
else
SBO_Application.MessageBox("Selecione um Registro", 1, "Ok", "", "");
Similar Messages
-
Unable to capture button event in pageLayout Controller
Hi Guys,
I have the following layout
pageLayout
pageLayoutCO (controller)
----header (Region)
----------messageComponentLayout (Region)
-----------------MessageLovInpurt
-----------------MessageChoice(Item)
-----------------MessageTextInput
-----------------MessageLayout
----------HideShow (Region)
-----------------MessageLovInpurt(Item)
-----------------MessageChoice(Item)
-----------------MessageTextInput(Item)
-----------MessageComponentLayout (Region)
-----------------MessageLayout
------------------------SubmitButton(ID:SearchBtn)
------------------------SubmitButton(ID:ClearBtn, fires partial action named clear)
-----------header(Region)
I am not able to capture the event fired by the button ClearBtn in the controller of the pagelayout.....
The two methods I used as follows aren't worked:
if ("clear".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM)))
if (pageContext.getParameter("ClearBtn") != null) {
what should i do in order to capture the button event in the pageLayout Controller
Thanks in advance
Mandy
Edited by: user8898100 on 2011-8-2 上午7:49Mandy,
Its really strange that its not able to caputure the event in CO.
Below is the way in which we handle to Submit action at CO level.
/Check whether ClearBtn is same in case too.
if(pageContext.getParameter("ClearBtn")!=null){
System.out.println("Inside the Clear Btn Action");
Regards,
Gyan -
How to Capture Button event on TrainBean navigation
Hi All
i m being required to capture a button event in train bean Navigation, i m doing customization in Iexpense Module,here in Create IExpenseReport i need to capture the events of Remove,Return etc.how is it possible any clue would be very helpful.
Thanx
Prataptry this..
if (GOTO_PARAM.equals(pageContext.getParameter(EVENT_PARAM))
"NavBar".equals(pageContext.getParameter(SOURCE_PARAM))
// This condition checks whether the event is raised from Navigation bar
// and Next or Back button in navigation bar is invoked.
int target = Integer.parseInt(pageContext.getParameter(VALUE_PARAM));
// We use the parameter "value" to tell use the number of
// the page the user wants to visit.
String targetPage;
switch(target)
case 1: targetPage = "/oracle/apps/dem/employee/webui/EmpDescPG"; break;
case 2: targetPage = "/oracle/apps/dem/employee/webui/EmpAssignPG"; break;
case 3: targetPage = "/oracle/apps/dem/employee/webui/EmpReviewPG"; break;
default: throw new OAException("ICX", "FWK_TBX_T_EMP_FLOW_ERROR");
HashMap pageParams = new HashMap(2);
pageParams.put("empStep", new Integer(target));
pageContext.setForwardURL("OA.jsp?page=" + targetPage,
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
pageParams,
true, // Retain AM
OAWebBeanConstants.ADD_BREAD_CRUMB_NO, // Do not display breadcrumbs
OAWebBeanConstants.IGNORE_MESSAGES);
--Prasanna -
Not able to capture button event in extended controller
Hi Gurus,
I am not able to capture the button event (of seeded controller) in extended controller.
I have written code in extended controller like below:
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean){
String str = pageContext.getParameter("event"); // copied from seeded controller for the button event //
if ("editLines".equals(str)) {
//cutom validation
super.processFormRequest(pageContext, webBean);
Please help me in resolving the issue.
Thanks,
Srinivas
///my cutom validateionHi Bm,
Thanks for your response.
I have tried the same but no luck.
Please help in getting this resolved.
Thanks,
Srinivas -
Not able to capture button event in pageLayout Controller
Hi Guys,
I have the following layout
pageLayout ------------------------ pageLayoutCO (controller)
----messageComponentLayout (Region)
----------messageComponentText (item)
----------messageComponentText (item)
----------messageComponentText (item)
----------messageLayout (Region)
----------------header(Region)
----------------------button (item) (say BTN1) (fires partial action)
I am not able to capture the event fired by the button BTN1 in the controller of the pagelayout..... but if i set a controller at the messageComponentLayout iam able to capture the event.
what should i do in order to capture the button event in the pageLayout Controller
Thanks in advance
Tom.Tom,
Two things:
1)The button ur using is of type submitbutton or button?.In this scenario it should be button.
2)The correct coding practice is using:
if("QUERY".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM)))
instead of
String _event = pageContext.getParameter("event");
if("QUERY".equals(_event))
because you never know if Oracle in any upgrade or patch change the value of the constant EVENT_PARAM in class OAWebBeanConstants.
3)If first point is followed by you, just match the exact event name in code and in property inspector for the button.
--Mukul
--Mukul -
How to show a message in a form 'PL/SQL Button Event Handler'
We need validate the sal of an employee, and if it is bigger the value musts
not be inserted.
We trying a code like the one shown in the note 134312.1 'HOW TO PASS A
PARAMETER FROM A PORTAL FORM TO A STORED PROCEDURE' and it works in the insert event of the insert button (using 'PL/SQL Button Event Handler') and it works, but we need to show a message that says the data wasn't inserted. How can we do this?
The code we used is:
declare
v_deptno scott.emp.deptno%type;
v_empno scott.emp.empno%type;
v_sal scott.emp.sal%type;
mySal scott.emp.sal%type;
v_string varchar2(256);
blk varchar2(10):='DEFAULT';
begin
select sal into mySal from scott.emp where empno=7369;
v_deptno:=p_session.get_value_as_number(p_block_name=>blk,
p_attribute_name=>'A_DEPTNO');
v_empno:=p_session.get_value_as_number(p_block_name=>blk,
p_attribute_name=>'A_EMPNO');
v_sal:=p_session.get_value_as_number(p_block_name=>blk,
p_attribute_name=>'A_SAL');
v_string:='You just inserted empno: '||to_char(v_empno) ||'to deptno ->
'||to_char(v_deptno);
if mySal < v_sal then
doInsert;
else
-- We want to display a message here, when mySal > v_sal
end if;
end;
----------------------------------I did something similar but wasn't using a stored procedure. Couldn't you set a flag variable once you know you're not doing the insert and in the "before displaying the form" section put an IF to check if your flag was set, and if so do an HTP.Print('You are overpaid buddy!');
Then just reset your flag. -
How to get a form field valud in delete PL/SQL Button Event Handler
Hi Friend,
I have a form. when user clicks delete button. we want to remove system dodelete function
and add a delete script
Under delete-top category,
how can I get value of form EVENT_NUMBER field in form at delete PL/SQL Button Event Handler?
DELETE FROM PTEAPP.PTE_EVENTS WHERE eventnumber = EVENT_number
But when I try to save this form and get message as
1721/15 PLS-00201: identifier 'EVENT_NUMBER' must be declared
Thanks for any help!
newuserI did something similar but wasn't using a stored procedure. Couldn't you set a flag variable once you know you're not doing the insert and in the "before displaying the form" section put an IF to check if your flag was set, and if so do an HTP.Print('You are overpaid buddy!');
Then just reset your flag. -
Where did access to button events on page 0 go?
Hello.
I have a simple menu system established for my applications where a select list item and a button are created on page 0.
If I choose to "Create a button in a region position" when I establish the button (let's call it "GO_MENU", I am given the option of choosing the button event for branches on the other pages in the Conditions for the branch under "When Button Pressed". So far so good.
However, if I choose "Create a button displayed among this region's items" when I establish the button, the button does not appear in the LOV for the "When Button Pressed" condition in the branches for any of the other application pages. What's magical about this choice that suppresses the availability of the button event from the other pages?
Thanks,
ViniVini,
For your branch,
use condition type: "Request = Expression 1"
expression 1 = P0_GO_MENU
Why it doesn't show your page item button in the LOV? Because it's not a standard button anymore...
I don't have other information... someone from the ApEx dev team should be able to give more technical explanation.
Louis-Guillaume
Homepage : http://www.insum.ca
Blog : http://insum-apex.blogspot.com -
I'm working on a form that inserts data into my database. The normal Insert PL/SQL just does "doInsert". I want to add in the PL/SQL Button Event Handler a condition statement as follows:
IF :new.name_id != null THEN
doInsert;
ELSE
"do something else"
END IF;
"name_id" is one of the form items. I want to check the value in name_id before I insert it into the database. What is the correct verbage in order for this condition to work -- :new.name_id does not work.
Thanks
Susan<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Susan Miller ([email protected]):
I'm working on a form that inserts data into my database. The normal Insert PL/SQL just does "doInsert". I want to add in the PL/SQL Button Event Handler a condition statement as follows:
IF :new.name_id != null THEN
doInsert;
ELSE
"do something else"
END IF;
"name_id" is one of the form items. I want to check the value in name_id before I insert it into the database. What is the correct verbage in order for this condition to work -- :new.name_id does not work.
Thanks
Susan<HR></BLOCKQUOTE>
null -
Htp.p doesn't work from the custom button event handler ...
Hi,
I am trying to pop up an alert from the custom button event handler. I created a button and put the following code.
htp.p('<script language='JavaScript1.3">
alert ("Test Message");
</script>;
But alter doesn't show up after clicking the button.
ThanksOK i've attached them and copy/pasted the relevent parts. The parent window is the SFLB file.
-----------------------------------------here's the code in the parent window
private function editServerPool():
void
serverPoolPUW = PopUpManager.createPopUp(
this,popups.ServerPoolPopup,true);PopUpManager.centerPopUp(serverPoolPUW
as IFlexDisplayObject);
if (newServerPool.SecondarySPAlgorithm != null){
serverPoolPUW.enableSSCheckBox.selected =true;serverPoolPUW.DisplaySecondaryServerPool();
serverPoolPUW.bigResize.play();// serverPoolPUW.height = 602; //yes...i know i need to move thisserverPoolPUW.switchoverPolicyCB.selectedItem = newServerPool.SwitchOverPolicy;
serverPoolPUW.switchoverThresholdTI.text = newServerPool.SwitchOverThreshold;
----------------------here's the code in teh popup window (popups.ServerPoolPopup.mxml)
<mx:Resize id = "bigResize" heightFrom="506" heightTo="602" target="{this}" />
<mx:Resize id = "littleResize" heightFrom="602" heightTo="506" target="{this}"/>
public function DisplaySecondaryServerPool():void{
//make the screen large if the secondary server checkbox is selected; otherwise small.
if (enableSSCheckBox.selected){
//display secondary server pool tab, expand the screen
//note that we cannot attach a data provider to the data grid until the grid creation is
//completed. This is done in an event handler.secondaryPanel.enabled =
true; switchoverPolicyCB.visible =
true;switchoverThresholdTI.visible =
true;thresholdFI.visible =
true;policyFI.visible =
true;bigResize.play();
else
<mx:CheckBox label="Enable a Secondary Server Pool" width="264" fontWeight="bold" click="DisplaySecondaryServerPool()" id="
enableSSCheckBox" fontSize="12" x="83" y="40"/> -
Execute procedure in pl/sql button event handler
i have a demo application which consists of text boxes
eg : when i enter department no in first text box and click proc
it should display dname and loc in the below text boxes.
my proc is working fine in sql*plus but its showing errors in pl/sql button event handler.
any ideas
my proc is create or replace procedure proc1 (no number)
as
DNAME1 dept.dname%type;
LOC1 dept.loc%type;
begin
select DNAME,LOC into DNAME1,LOC1 from scott.dept where deptno = no;
DBMS_OUTPUT.PUT_LINE (DNAME1);
DBMS_OUTPUT.PUT_LINE (LOC1);
Exception When No_Data_Found then
dbms_output.put_line('Entred name is not found');
When Others then
Null;
End;
/Hi,
you have to use
htp.p('<SCRIPT LANGUAGE="Javascript1.1">
document.all("FORMNAME.DEFAULT.ATTRIBUTENAME.01").value="'||DNAME1||'";
document.all("FORMNAME.DEFAULT.ATTRIBUTENAME.01").value="'||LOC1||'";
</SCRIPT>
instead of
DBMS_OUTPUT.PUT_LINE (DNAME1);
DBMS_OUTPUT.PUT_LINE (LOC1);
where formname is your form name and attribute name is the field name on the page. -
Handling button events for dialog boxes of a used component
Hello,
After I call a dialog box/window for the view of the used component, how can I handle the button events of the window that I called?
I create the window using the method CREATE_WINDOW_FOR_CMP_USAGE of the interface IF_WD_WINDOW_MANAGER. This method returns window reference of type IF_WD_WINDOW.
Thanks & Regards,
ReenaIt's very easy.
Have a look to the document: https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9e242bf5-0901-0010-c99c-83c180163c73
You will find the SUBSCRIBE_TO_BUTTON_EVENT on page 6.
Sergio -
Hi all,
i am using a 'When-Validate-item' trigger in this i am doing a validation,
when user try to enter amount greater than the given amount(This is needed validation)
and also i am regenerating new lines(Creating new records when button pressed)
when i am regenerating i should not validate.
How to handle button event
Thnx
RajHi...
The WHEN-VALIDATE-ITEM Trigger fires once you updated a field. Be sure you raise
form_trigger_failure when amount is invalid. So, the cursor stays in field amount. You cant
leave this field until the amount is not valid. -
Why does my calander lose past events
My calendar loses past events. Everything from 30 days ago back is gone. Do i have something set wrong?
If you are syncing with a calendar on another computer, you may have the iPad settings set to a limited number of events. To check, go into Settings, Mai/Contacts/Calendars, and scroll down to the Calendars section. Tap Sync and select the number of months back you wish to sync. You may want to consider choosing All Events to have your calendar completely up to date.
-
Handling button events in large app
I'm currently examining a large swing app, and have observed the following with regard to action events.
A number of listeners (for buttons, menu items, JLists etc.) are defined at the top of the app. These variously extend MouseAdapter or implement ActionListener, depending on the type of component whose actions they listen for.
The ButtonListener definition is as follows :
private class ButtonListener implements ActionListener
public void actionPerformed(ActionEvent event)
Object object = event.getSource();
if (object == button1)
// button1 actions
else
if (object == button2)
// button2 actions
.....etc
One instance of this listener is created in the app, and is used as the actionlistener for each button. This means that the buttonlistener is quite large (as it contains the code for each button in the app).
Is this the proper way to handle button events for an app with a large number of buttons?Thanks for the responses.
In response to theDude : I agree that defining the action listener for each button can be useful when you can see the button definition and button action in one place; one could counter that by saying that grouping all the button actions makes it easier to examine all button actions in one place.
Setting the action command isn't really an option because the application creates panels of buttons on the fly, e.g. when notification of a new customer is received, a new panel is created with a JTextPane (customer description) and a row of buttons for "Modify", "Delete" and "Print".
Several customer panels could be in existence at the same time, so setting an action command of "Modify" would not enable one to uniquely identify which "Modify" button was pressed.
This problem is currently handled by associating the panel instance with a "Customer" class instance in a hashtable. The "Customer" class consists of a JTextPane field, and a JButton for each function. When a button is pressed, the button listener traverses up the component's parents until it reaches the panel (i.e. it loops until the parent is a key on the hashtable, at which point it can retrieve the Customer instance and check which button was pressed).
In response to KPSeal : If I understand you, I would define "ApplicationAction" separately from the main app and define extensions of it in the main app for each type of action. Would this add much value over merely defining a method for each type of action in the main app and just calling this method when the relevant button/menu item was pressed/selected?
There doesn't seem to be a universal approach to event handling, but I thought there might have been one accepted strategy when an app has large numbers of buttons (some created on the fly, ruling out action commands).
Maybe you are looking for
-
How can I switch a data plan from one line to another?
I have 5 lines on my account in a Nationwide Family Plan. I have a question about these two lines: A: Smartphone, 2GB Data B: Smartphone, 4GB Data Promo Line A has been using about 3GB every month due to no wifi access, while Line B uses less than 1.
-
Problem in opening a link in new page
hi all can any one help iam getting problem while clicking on the link it is opening in same window i want to open the link in new window.if it is normal content we can give target but the link is coming in the mailcontent how can i recognize the lin
-
Need Help With LR 1.3.1 & HP7160 Printer - Printer Link Broken
I followed LeeJays advice to someone else and deleted the preferences folder. This did not restore printing. XP & SP2. The printing gradually stopped with 1.3.1. The colors/brightness were all wrong. A few days later I can't print at all. By watching
-
What I can do to install the drivers like WFi, speaker ... While I haven't the Mac mini CD?
-
SBO 8.8. - Belegeinstellungen werden immer wieder zurückgesetzt
Hallo, wir haben bei 8.8 das Problem, das die Belegeinstellungen in den Verkaufs- und Einkaufsbelegen immer wieder auf den Standard zurückgesetzt werden. Kennt jemand das Problem?