Combobox select event opens user defiend form
helo expert
on combo select event,i want to open a list of item of my user defined form.
on chosing perticular item if should get copied into matrix
Hil
Use Et_Combo_Select event to catch the combo select, and write your opening and copy code inside
Regards,
J.
Similar Messages
-
How to catch events on user tables forms?
Hi all,
Is there any way to catch the events on user defined tables' form which opens from Tools-User Tables? The form Id we get is not unique so we can't initialize the form with that ID or put it in an If loop for pval.formUId.
any clues?
Thanks in advance.....Hi Binita,
The UDT form should have a form type in the format:
110xxx
where xxx is the value in the TblNum field in the OUTB table (eg 110015 if the TblNum field is 15).
Therefore, you can query the OUTB table for your UDT name and get the correct TblNum value and then calculate the correct form type for your table. If you want to filter events then you'll need to run this query as your addon starts and dynamically add the correct event types and filters to your addon.
Kind Regards,
Owen -
Open Users Setup form in Find mode
Hello,
When I open the users form
Administration
---Setup
General
Users
this form is in Add mode. Is there a way to have it in find mode directly ?
Thank you
SébastienHi,
It is not possible to have the User - setup in the Find mode default.
The form opens in the Add Mode and you have to go to the Memo and click on Find or do a Ctrl + F.
Regards,
Jitin
SAP Business One Forum Team -
How to handle form close event or escape key press event for user defined f
Experts,
Please let me know how to handle form close event or escape key press event for user defined form...
Thanks & Regards,
Pravin.Hi
You can catch the form close event like this
If ((pVal.FormType = 139 And (pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_CLOSE)) And (pVal.Before_Action = True)) Then
Try
SBO_Application.SetStatusBarMessage(pVal.EventType.ToString())
Catch ex As Exception
SBO_Application.SetStatusBarMessage(ex.Message)
End Try
End If
Hope this helps
Regards
Arun -
Opening a Crystal Report in B1 8.8 in a User Defined Form representing UDO
Hi Experts,
Is it possible to open a Crystal Report from a User Defined Form representing my UDO?
I had developed a 'Vendor Quotation' UDO and its User Defined Form
I wanted to show the report while clicking the Preview menu in SAP B1 8.8 toolbar.
I have created the Crystal report and used the record selection as {@OVQT.DocEntry} = {DocKey@}
Please help
Also, is it possible to add Print layout and assign a default Print layout to this User Defined Form?
Thanks in advance
Regards
ArunHi,
I also face the same problem. I make a master type using UDO. But i want to print it.
In my opinion ( i haven't tried this way ). If we make a UDO ( master or document type ) , we will find the docentry and object field in our UDT. Both of these will connect between SAP form and Crystal report. In crystal report we select the tmsp_doclinetypelayout. It is a store procedure which will connect between SAP form and CR. Before that try to modify this SP by adding the udo object.
Fyi, if i'm not mistake dockey is connected to docentry SAP form.
Thanks
regards
bodhi86 -
Opening a System-Form with selected Data
Hi,
i´m looking for a way to open a System-Form, e.g. Orders with
selected Data.
In the moment i do the following:
application.ActivateMenuItem("2050"); // orders
SAPbouiCOM.Form belegForm = application.Forms.ActiveForm;
belegForm.Mode = SAPbouiCOM.BoFormMode.fm_FIND_MODE;
SAPbouiCOM.EditText edDocNum = (SAPbouiCOM.EditText)belegForm.Items.Item("8").Specific;
edDocNum.Value = "4711";
belegForm.Items.Item("1").Click(SAPbouiCOM.BoCellClickType.ct_Regular);
This works, but the screen is blinking, because first the form ist opened and shown with
empty values and then filled.
Is there a way to activate the form and do the search-Operation and afterwards show it ?
I think ist must be possible, because when clicking on the link-Button near CardCode, the Contacts-Form
is opened in this way.
regards MatthiasHi Ibai,
i have tested both: freeze and form.visible = false in
the form_load-Event. It doesn´t work here.
Also neither the call
application.ActivateMenuItem("1281"); // find
nor the call
oForm.Mode = SAPbouiCOM.BoFormMode.fm_FIND_MODE;
work in the form_load-Event.
After the form-Load-Event the et_FORM_ACTIVATE-Event is called.
Here the functions work, but here the screen is already visible.
regards Matthias -
About Event Handling in user Defined Form (In Addon)
Hi Every One,
Can Anyone Give Me Notes On EventHandling in forms That are Disgened using Sdk UIAPI .Like Button event ,application event, menuevent... etc with saple code
Regards
SrinivasHi Sura,
Hope this helps. C# sample code.
// SAP MANAGE UI API 2005 SDK Sample
// File: CatchingEvents.cs
// Copyright (c) SAP MANAGE
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
// BEFORE STARTING:
// 1. Add reference to the "SAP Business One UI API"
// 2. Insert the development connection string to the "Command line argument"
// 1.
// a. Project->Add Reference...
// b. select the "SAP Business One UI API 2005" From the COM folder
// 2.
// a. Project->Properties...
// b. choose Configuration Properties folder (place the arrow on Debugging)
// c. place the following connection string in the 'Command line arguments' field
// 0030002C0030002C00530041005000420044005F00440061007400650076002C0050004C006F006D0056004900490056
using System;
using System.Windows.Forms;
class CatchingEvents {
// This parameter will use us to manipulate the
// SAP Business One Application
private SAPbouiCOM.Application SBO_Application;
private void SetApplication() {
// Use an SboGuiApi object to establish connection
// with the SAP Business One application and return an
// initialized appliction object
SAPbouiCOM.SboGuiApi SboGuiApi = null;
string sConnectionString = null;
SboGuiApi = new SAPbouiCOM.SboGuiApi();
// by following the steps specified above, the following
// statment should be suficient for either development or run mode
sConnectionString = System.Convert.ToString( Environment.GetCommandLineArgs().GetValue( 1 ) );
// connect to a running SBO Application
SboGuiApi.Connect( sConnectionString );
// get an initialized application object
SBO_Application = SboGuiApi.GetApplication( -1 );
public CatchingEvents() {
// set SBO_Application with an initialized application object
SetApplication();
// events handled by SBO_Application_AppEvent
SBO_Application.AppEvent += new SAPbouiCOM._IApplicationEvents_AppEventEventHandler( SBO_Application_AppEvent );
// events handled by SBO_Application_MenuEvent
SBO_Application.MenuEvent += new SAPbouiCOM._IApplicationEvents_MenuEventEventHandler( SBO_Application_MenuEvent );
// events handled by SBO_Application_ItemEvent
SBO_Application.ItemEvent += new SAPbouiCOM._IApplicationEvents_ItemEventEventHandler( SBO_Application_ItemEvent );
// events handled by SBO_Application_ProgressBarEvent
SBO_Application.ProgressBarEvent += new SAPbouiCOM._IApplicationEvents_ProgressBarEventEventHandler( SBO_Application_ProgressBarEvent );
// events handled by SBO_Application_StatusBarEvent
SBO_Application.StatusBarEvent += new SAPbouiCOM._IApplicationEvents_StatusBarEventEventHandler( SBO_Application_StatusBarEvent );
private void SBO_Application_AppEvent( SAPbouiCOM.BoAppEventTypes EventType ) {
// the following are the events sent by the application
// (Ignore aet_ServerTermination)
// in order to implement your own code upon each of the events
// place you code instead of the matching message box statement
switch ( EventType ) {
case SAPbouiCOM.BoAppEventTypes.aet_ShutDown:
SBO_Application.MessageBox( "A Shut Down Event has been caught" + Environment.NewLine + "Terminating Add On...", 1, "Ok", "", "" );
// Take care of terminating your AddOn application
System.Windows.Forms.Application.Exit();
break;
case SAPbouiCOM.BoAppEventTypes.aet_CompanyChanged:
SBO_Application.MessageBox( "A Company Change Event has been caught", 1, "Ok", "", "" );
// Check the new company name, if your add on was not meant for
// the new company terminate your AddOn
// If SBO_Application.Company.Name Is Not "Company1" then
// Close
// End If
break;
case SAPbouiCOM.BoAppEventTypes.aet_LanguageChanged:
SBO_Application.MessageBox( "A Languge Change Event has been caught", 1, "Ok", "", "" );
break;
private void SBO_Application_MenuEvent( ref SAPbouiCOM.MenuEvent pVal, out bool BubbleEvent ) {
// in order to activate your own forms instead of SAP Business One system forms
// process the menu event by your self
// change BubbleEvent to False so that SAP Business One won't process it
BubbleEvent = true;
if ( pVal.BeforeAction == true ) {
SBO_Application.SetStatusBarMessage( "Menu item: " + pVal.MenuUID + " sent an event BEFORE SAP Business One processes it.", SAPbouiCOM.BoMessageTime.bmt_Long, true );
// to stop SAP Business One from processing this event
// unmark the following statement
// BubbleEvent = False
else {
SBO_Application.SetStatusBarMessage( "Menu item: " + pVal.MenuUID + " sent an event AFTER SAP Business One processes it.", SAPbouiCOM.BoMessageTime.bmt_Long, true );
private void SBO_Application_ItemEvent( string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent ) {
// BubbleEvent sets the behavior of SAP Business One.
// False means that the application will not continue processing this event.
BubbleEvent = true;
if ( pVal.FormType != 0 ) {
// the message box form type is 0
// I chose not to deal with events triggered by a message box
// every event will open a message box with the event
// name and the form UID how sent it
SAPbouiCOM.BoEventTypes EventEnum = 0;
EventEnum = pVal.EventType;
// To prevent an endless loop of MessageBoxes,
// we'll not notify et_FORM_ACTIVATE and et_FORM_LOAD events
if ( ( EventEnum != SAPbouiCOM.BoEventTypes.et_FORM_ACTIVATE ) & ( EventEnum != SAPbouiCOM.BoEventTypes.et_FORM_LOAD ) ) {
SBO_Application.MessageBox( "An " + EventEnum.ToString() + " has been sent by a form with the unique ID: " + FormUID, 1, "Ok", "", "" );
private void SBO_Application_ProgressBarEvent( ref SAPbouiCOM.ProgressBarEvent pVal, out bool BubbleEvent) {
SAPbouiCOM.BoProgressBarEventTypes EventEnum = 0;
EventEnum = pVal.EventType;
BubbleEvent = true;
SBO_Application.MessageBox( "The event " + EventEnum.ToString() + " has been sent", 1, "Ok", "", "" );
private void SBO_Application_StatusBarEvent( string Text, SAPbouiCOM.BoStatusBarMessageType MessageType ) {
SBO_Application.MessageBox( @"Status bar event with message: """ + Text + @""" has been sent", 1, "Ok", "", "" );
Regards,
Jay. -
Open a new form based on the selection from the drop down list
Good Morning Everyone,
Can any one please advise how I can start to build the form that has a drop down list(DDL) to list other forms so the user can select one from the selection of that DDL to open a new form.
e.g A form in workspace ES3 with drop down list to list 3 forms: form1, form2, form3. When user select form1 from the DDL, then it will kick off the render servic to launch form1 in workspace ES3.
Thanks in advance,
HDHi,
I'm not surea about the data structure...Are there two ClassNodes, one for "VALVES" and one for "BOLTS"??
and for scripting it is no good idea if the names of the attributes are value, don't know if this is your naming...
but to access a node of the DATA view -->
//var selection --> you have assigned "VALVES"
var onodeCN = xfa.resolveNodes("xfa.record.Classification.ClassNode[*].value");
// get the node with the valves -->
for (var i = 0; i < onodeCN.length ; i++) {
if ( onodeCN.item(i).value == selection ) {
//get the Leaves of Node VALVES
var onodeVALS = xfa.resolveNodes("xfa.record.Classification.ClassNode[+i+].ClassLeaf[*].value");
for (var j = 0; j < onodeVALS.length ; j++) {
// insert values of Leave to 2nd drop down
XXX.addItem(onodeVALS.item(j).value, onodeVALS.item(j).value);
??works??
norbert -
Forcing end user to open the child form in the resource request dataset
Hi,
Is there any way where we can force end user to open the child form of a resource request dataset and enter the values for the attributes in the child form. The child form attribute is mandatory. However, currently, OIM allows user to submit the request without opening the child form and to enter values for child form attributes(which is mandatory).
Thanks.Child dataset attributes are set to required="true". But it will come into picture only if end user opens the child form. If he forgets to open the child form, still he is able to submit request without entering values to the attibutes(whose required=true) in the child form. OIM is alowing to submit request if he doesn't open the child form.
I hope i was able to put it in corrrect way.
Thanks. -
Deal all,
I added a new user field in the item master data.
When the item master data form is open, I need to read the content of this new user-field via UI API.
My problem is that I cannot read the value if the user-fields form is close in that moment.
Is there a UI command to force opening the userfield form in the item master data form?
Best regards
EmanueleHi Emanuele,
Yes, you can open it by simulating the user click:
Application.ActivateMenuItem("6913");
Although in your particular case, it is best to use the value from the DBDatasource. Since you are only reading this is fine. And you can access it even when the UDF form is closed.
SAPbouiCOM.Form f;
f.DataSources.DBDataSources.Item("OITM").GetValue("U_MyUserField", 0);
Good luck.
Best regards,
Pedro Magueija -
Forcing users to select existing properties in New User Request form
Hi,
We have just started using Service Manager and Orchestrator. So far we have successfully managed to create user accounts using orchestrator and service manager. Now we want to start forcing users to utilise the information we already have in
our existing Active Directory environment.
So for example, in the new user request form we want users to select an existing "office" using the attributes already in Active Directory as opposed to allowing them to type in an office and potentially accidentally misspelling the office name.
What we would like to see is a unique list of offices and a user to select
How can this be achieved? Any help would be greatly appreciated.
ThanksWell, if you don't want to create a list manually, create a sealed management pack that defines the root of the new enumerator. Then create a workflow that will pull all users from AD, build the list of the locations used in AD and update the child enumerators
if required.
Cheers,
Marat
Site: www.scutils.com
Twitter: LinkedIn:
Graveyard: -
How to retrict user cannot open the same form more than once (Forms 6i)
Our users always open the same forms more than once. For example the customer form, the user may access a customer record in the first form, however, he will open a new customer form to edit the same record, the result is he cannot save the record because the record is locked in the first customer form.
How can I control the user cannot open the same form more than 1 time.
Best Regards,
KaneThe customer form is only an example, I found there will cause a lot of problems is I cannot control the user from calling 1 program more than 1 than within application. Sometimes a user (not good in using computer) will overlap the form for many times.....
Is there any simple way to do that?...can I have some PL/SQL statement or build-in functions that let me easily found our what forms the user has already opened, then I can control whether I let him open this form or not.
Urgent...please
Thanks -
Raise event when user select a node or leaf of a recursive tree
What is the event when user choose a node or leaf of a recursive tree? When I select the tree node / leaf it does not raise the event in OnAction. Thanks!
Hi,
TreeNodeType and TreeItemType have ONACTION event assocaited with them. This event gets called when the node or leaf is selected by user. Put a break point in these method, then you'll call to know if they are actually getting called or not. -
Share selected Events with other users of my MBP
Is it possible to share selected events (iPhoto 09) with other users of my mac book pro?
Thanks
KeithNo. You can however make Albums of you Events and share those selectively.
Regards
TD -
Open Adobe Print Form from ALV Int. Rprt using the XSTRING already present
Hello Friends,
I have a typicall issue that how to open a Adobe Print Form when a user double clicks in the ALV Report. Here when the user double clicks in the ALV Interactive Report using the unique ID I am getting the Adobe Form from a FTP location in the Form of XSTRING, now using the ABAP ADOBE PRINT FORM not using WebDynpro Application, I need to process this XSTRING and show up the Adobe Print Form.
OR
Is there a way to send the XSTRING to the Output Device or Printer to Display the PDF Form.
Friends please help me in solving this issue.
Thanks and Regards
Pradeep Goli
Edited by: Pradeep Goli on Mar 19, 2009 1:49 PM
Edited by: Pradeep Goli on Mar 19, 2009 2:51 PMHi Pradeep Goli,
it is possible to show PDF in SAP GUI.
Michal
REPORT ZTEST_DISPLAY_PDF.
* You must create dynpro 500 with custom control named HTML.
* In this custom control will be displayed PDF.
DATA: g_pdf TYPE xstring,
pdf_my_container TYPE REF TO cl_gui_custom_container,
pdf_html_control TYPE REF TO cl_gui_html_viewer.
START-OF-SELECTION.
PERFORM create_and_display.
FORM create_and_display.
*** Your code fo filling g_pdf
CALL SCREEN '500'.
ENDFORM.
* PDF preview in HTML control
module html_control output.
perform pbo_html_control.
endmodule.
module html_control input.
perform pai_html_control.
endmodule.
* PAI
FORM pai_html_control.
SET SCREEN '0'.
ENDFORM.
* Showing of PDF
FORM pbo_html_control.
DATA: l_pdf_alignment TYPE i,
l_count TYPE i,
l_noprint TYPE fpboolean,
l_noarc TYPE fpboolean,
l_noprintarc TYPE fpboolean.
* CLEAR: fcode.
SET PF-STATUS 'VIEW_PDF'.
* container
IF pdf_my_container IS INITIAL.
CREATE OBJECT pdf_my_container
EXPORTING
container_name = 'HTML'
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE e150(FPRUNX).
RETURN.
ENDIF.
ENDIF.
* html control
IF pdf_html_control IS INITIAL.
CREATE OBJECT pdf_html_control
EXPORTING
parent = pdf_my_container
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE e150(FPRUNX).
RETURN.
ENDIF.
* alignment
l_pdf_alignment = pdf_html_control->align_at_left +
pdf_html_control->align_at_right +
pdf_html_control->align_at_top +
pdf_html_control->align_at_bottom.
CALL METHOD pdf_html_control->set_alignment
EXPORTING
alignment = l_pdf_alignment
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE e150(FPRUNX).
RETURN.
ENDIF.
ENDIF.
PERFORM pdf_show USING g_pdf.
ENDFORM.
FORM pdf_show USING p_pdf_data TYPE xstring.
STATICS: ls_url TYPE i.
TYPES: lt_pdf_table(1000) TYPE x.
DATA: l_myurl(80) TYPE c,
l_url(80) TYPE c,
l_pdf_data TYPE STANDARD TABLE OF lt_pdf_table,
l_pdf_size TYPE i,
l_pdf_line TYPE lt_pdf_table,
l_offset TYPE i,
l_len TYPE i.
l_pdf_size = XSTRLEN( p_pdf_data ).
l_len = l_pdf_size.
WHILE l_len >= 1000.
l_pdf_line = p_pdf_data+l_offset(1000).
APPEND l_pdf_line TO l_pdf_data.
ADD 1000 TO l_offset.
SUBTRACT 1000 FROM l_len.
ENDWHILE.
IF l_len > 0.
l_pdf_line = p_pdf_data+l_offset(l_len).
APPEND l_pdf_line TO l_pdf_data.
ENDIF.
ADD 1 TO ls_url.
l_myurl(8) = ls_url.
CONCATENATE l_myurl '.pdf' INTO l_myurl.
SHIFT l_myurl LEFT DELETING LEADING space.
CALL METHOD pdf_html_control->load_data
EXPORTING
url = l_myurl
size = l_pdf_size
type = 'application' "#EC NOTEXT
subtype = 'pdf' "#EC NOTEXT
IMPORTING
assigned_url = l_url
CHANGING
data_table = l_pdf_data
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE e152(FPRUNX).
RETURN.
ENDIF.
* show data
CALL METHOD pdf_html_control->show_data
EXPORTING
url = l_url
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE e152(FPRUNX).
RETURN.
ENDIF.
ENDFORM.
Maybe you are looking for
-
I have seen some articles talking about the support of xml in 10g version. I would like to know the kind of support of xml in 9i version Specially if xpath sentences are allowed, like the following: select extractValue(object_value, '/Invoice/MailAdd
-
Podcasts only in reverse order?
Why would I want to listen to the newest ones before the older ones? And why after I deleted the podcast app (which I put on myiPad not realizing it would also put itself on my phone) will the podcasts still not sync with my smart playlist that was w
-
AHHH! Leopard installation gone awry, please help!
Okay, so here's what happened. I had my husband's iBook G4, and I was installing Leopard on it, with the idea that he would be happy about it when he got home from work. So I started installing Leopard. At about 1/20th through the installation, my hu
-
Hi gurus, I want to add PO Line Item Attributes (they are order line number,order line unit price and invoice unit price) in already existing ODS. Tell me the Procedure & where we can add these & how to add these in existing ODS? with detailed steps?
-
Hi everyone, My Reporting Service role is reporting an error "The report server service is not running on Reporting Service Point server "HQSVR5.CONTOSO.com"; start the service to enable reporting." I have researched about the error and they're sugge