Determining Edit/Display Mode from Within Freestyle Component
I am new to FPM. We are running ESS.
I have enhanced a new Web Dynpro Component onto an Edit page of an OVP (as a Freestyle Component).
I want the new WDC to behave differently based on the mode I am in.
How, from within the new WDC, can I tell if I have entered the Edit page in Edit (pencil) or Display mode?
Thanks...
...Mike
Hello Mike,
Firstly, welcome to the wonderful world of FPM
Well, usually with FPM, you have an Edit (or Read-only) button in the top, underneath the title (Identification Region, IDR). This, being standard, has some standard FPM events behind it.
In your freestyle WD component, you implemented IF_FPM_BUILDING_BLOCK interface, and with it you have some additional methods in your COMPONENT CONTROLLER, such as FLUSH, PROCESS_EVENT, and so on...
In your PROCESS_EVENT method, you can basically catch all FPM events at application level. Usually you have a big CASE, something like:
case io_event->mv_event_id.
when ...
when 'FPM_EDIT'. "you can find some constants behind CL_FPM_EVENT=>GC... Right now I'm not sure how it's called exactly. But it's advised to use this constants!
You can write your code here in order to change the behavior, basically, you can do whatever.
also, it's the same with 'FPM_READ_ONLY'
when others.
return.
endcase.
I strongly recommend you download the latest version of FPM Cookbook, or the one that is suited with your SAP NW version.
FPM Developer's Handbook SAP NetWeaver 7.03/7.31 SP4
Hope I made things a little more clear!
Tudor
Similar Messages
-
How to go to display mode from VA05? Thanks.
I have a question on VA05. There is order list and it go to change mode when you double click on certain entry. But most of time we just want to view the order. How to direct it to display mode from here? Thanks.
Hi ,
I think thats the std functionality and it cannot be changed. You will have to build a custom report to do the same and enable forward navigation to display transaction va03.
Cheers
VJ -
SAP Cloud SDK : Make Display mode when open Embed Component in Account TI screen
Hi Experts,
I have created the custom business object and assign some fields into it.
I have also assign some custom action into this custom business object. After that i have created the Embed component and and configured into Account_TI screen and its display data.
Now when I open Any Account and go to that newly embed component in silverlight 2 options comes ( Save and Cancel ) to remove this options or to make display mode by default I have followed the below steps:
1) Open Embed Component into UI designer.
2) Go to Properties Window.
3) In the top from the dropdown list select embed component.
4) In the Property go to Configuration --> WorkProtectRelevant equal to false.
5) After save and activate and check but still getting ( Save and Cancel ) option in embed component
Is there any other solution or any other settings require to remove this ( Save and Cancel ) option.
Regards,
MithunHi Brad and Sumeet,
Thanks for you reply on this post.
In my requirement we do not want to save record anymore.
Also my scenario : We have consuming the on-premise web service into c4c we have created the custom business object ( Not Screen) and based on this custom business object we have created the embed component and design the screen to embed with Account_TI.
We have Read the Account ID from Account _TI screen and assign to embed component element Alternative key AccountID.
We have created of configured the embed component Inport to Read and Assign the Account ID as below:
My Custom business object :
businessobject ECC_recordBO {
[AlternativeKey] [Label("Customer Number")] element AccountID : BusinessPartnerInternalID;
element CtLimit : LANGUAGEINDEPENDENT_LONG_Text;
element AvailCLimit : LANGUAGEINDEPENDENT_LONG_Text;
element AccCurrency : CurrencyCode;
action ViewAcc;
My embed component InPort event :
ReadEvent
In ReadBOEvent I have add below actions:
BO Operation
Condition
And under the condition I have use the below actions :
To create BOOperation
Second DataOperation as below :
Assign AccountID from Account_TI to AccountID of embed component.
Also once the user come into the Account_TI screen and go to embed component first its in display mode and when he click on any action under embed component its in edit mode but we do not want to save data anymore.
Regards,
Mithun -
How to set "display mode" from external keyboard
I have an EliteBook 8570p in a docking station, with an external monitor and keyboard attached.
I typically have my display mode as "duplicate", with the same thing showing on both my laptop screen and external monitor. I use the external monitor as the main screen. This might be uncommon, but I prefer it this way. I've been working this way for quite a while.
I very recently started using MS PowerPoint 2013. Today I discovered an annoying bug with this combination. I was in "slideshow mode" for a pptx I was working on, and I pressed ESC to get back to editing the doc. What happened was that the external monitor just showed my background wallpaper, and the laptop screen showed the normal display, along with my background wallpaper. I then had to slide over to my laptop keyboard and press Fn-F4 and set it to "Duplicate", and that restored my external monitor display.
I'm definitely going to pursue this weird behavior with PowerPoint, but I'm going to assume out of the box that this will be difficult to change. What I'd like to get from this forum is simply a quicker way to restore the "Duplicate" display mode. Is there a keyboard shortcut I can use from my external keyboard to change the display mode? There's no "Fn" key.Although I'd still like to get an answer to this, my original problem has been solved, as I was able to disable the feature in PowerPoint 2013 that mucked with my display mode (turn off "Use Presenter View").
-
Time buckets edit/display mode
Hi
We have requirement as first two time buckets of the planning book would be in editable mode to the user and from the 3rd bucket onwards the time buckets should be in display mode.
How can we make the portion of the future time buckets as editable ?
Thanks & Regards
KPN Murthy.
Edited by: p narasimha murthy konidena on Mar 24, 2011 1:59 PMKPN
Look at the SAP help here:
http://help.sap.com/saphelp_scm70/helpdata/EN/4b/755bee3bf75a18e10000000a421937/frameset.htm
Look at SAP standard Macros in Macro book 9AEXAMPLES.
Rishi Menon -
Changing states from within a component
Let's say that I have a TileList that is rendering data in a
VBox. Eventually the TileList fills up and starts scrolling. I want
to change states when clicking on item in the TileList.
I don't want to place the click-attribute in the TileList,
because it will change states when I am scrolling the list without
actually selecting anything.
I want to say click="currentState='state2'" inside the VBox,
but that does not work because state2 is at the root level, and I
don't know how to get to the root-level (in lack of a better word)
from withing the component.
This is not the proper syntax, so misunderstand me the right
way here... Is there an equivallence to
click="currentState='_root.state2'" in mxml?
Thanks for any suggestions or best practices. I want the easy
way out.
This is the general structure...
<mx:Application>
<mx:states>
<mx:State id="state1"/>
<mx:State id="state2"/>
<mx:State id="state3"/>
</mx:states>
<mx:TileList dataprovider="{...}">
<mx:itemRenderer>
<mx:component>
<mx:VBox id="ClickThisBoxToChangeStates">
<mx:Image/>
<mx:Label/>
</mx:Vbox>
</mx:component>
</mx:itemRenderer>
</mx:TileList>
</mx:Application>Your assumption is right.
It doesn't work because there is no state2-state defined
within the mx:component.
In the documentation about changing states it says that I can
go from application level and change states within a component;
like this: click="currentState='mycomponent.anotherstate'" but not
how I can change a state at application level from within a state.
When I try, it says (at runtime) that the state is not defined.
So I don't know why <mx:VBox
click="currentState='state2'"/> doesn't work.
I apprechiate your expertese a lot. -
I am the project manager on a web-based application that will need to:
Create, open, edit, save, etc PDFs from within a Visual Studio 2008 web application (Visual Basic).
Populate PDFs from SQL server 2010 database.
Allow users to use PDF editing tools from within the website.
BTW, the application is being written in Visual Basic.
Will the SDK allow us to do this? What licenses do we need to purchase?
Are there 3rd party plugins that make doing these things much faster and simpler?
Any input is GREATLY appreciated!!!
Sincerely,
MikeI don't think Acrobat, or the Acrobat SDK can help you. Acrobat cannot be run on a server.
-
How to get the edit channel link from within the channel?
Following problem:
I want to include a link to edit the settings of a channel in the channel contents. The link should be the same as the edit button on the frame of the channel container. Searching through the provider jsps I found that the edit link is created in single.jsp. The code I need seems to boil down to
<dt:obtainContainer container="$JSPProvider">
<dtsingle:singleContainerProvider>
<dtpc:getStringProperty key="editContainerName" id="editContainerName" scope="request"/>
<dt:getName id="SingleContainer" scope="request"/>
<jx:declare id="editContainerName" type="java.lang.String"/>
<jx:declare id="SingleContainer" type="java.lang.String"/>
<dtsingle:obtainSelectedChannel>
<A HREF="<dtpc:getDesktopURL/>?action=edit
&provider=<%=editContainerName%>
&targetprovider=<dt:getName/>
&containerName=<%=SingleContainer%>"
TARGET="_self"> EDIT! </A>
</dtsingle:obtainSelectedChannel>
</dtsingle:singleContainerProvider>
</dt:obtainContainer>However I am unable to get that working in the channel, as I always receive a ProviderException on the line with
<dt:obtainContainer container="$JSPProvider">
What am I doing wrong, or is does the obtainContainer simply not work from within a channel?
If anyone can help me out to get the edit link it would be greatly appreciated. Any hints and/or sample code would help alot.
thanks!
Message was edited by:
obstler42Hi Detlev ,
Thank you very very much . We could figure out how to get the URL and Driver information from there .I have rewarded the points also.
Thanks
Ravi
Message was edited by: Ravi Krishnan -
Cross-component: Call method of using component from within used component?
Hi,
I began diving into cross-component programming.
Meanwhile after having digged into some scenarios some questions came up to my mind that I am not able to answer myself. I would appreciate your help here!
Say we have to components. Comp A uses Comp B (hence, B is a component usage in A)
1) How to make them communicate not on a data level (via context binding) but on a process level, thus...
a) can I call A's method from within B? How is the approach on a general level? - as B can be used from totally different components (like A, A1, A2 ...)
b) perhaps the only way to do this is by firing events? If so, how can I react in A when an event in B (marked as interface event) gets fired? As it seems they do not get registered within A directly...
I guess the question seems to be a bit tricky. Nevertheless, I think there will be plenty of you out there who used to asked them the same questions before and came up with an approach. Would be nice to hear from you.
Best wishes,
Marc @sap1Hi,
thanks for your reply!
Indeed, I think the nature of WDA would be just to somehow map the context from the used component to the other back and forth.
Nevertheless, what if I would like to invoke a method of the using component from inside the used component.
One sample for this requirement could be e.g.:
Component B offers a tree item and a send/verify button.
Component A uses B and has some restraints regarding what the selection should look like.
The user taps the button in B (at runtime in the view container of A), the context gets updated in A and B and in Component A the verifyWithOwnConstraints() method gets called (through B).
Thanks again,
Marc -
I can't call up a URL from within a component?
Hi all. Hope you can help.
I have a flash site that contains a component. The component
is for a scroll bar that shows image slices of my work. The image
slices are buttons that when clicked should call up a seperate web
(URL) window to display the work. However when clicked the button
doesn't work. The button im using is on (release) {getURL
("work.htm")} this is fom the browser/network submenu in the global
functions menu. I think that I should be looking in the components
menu but have no idea what function or code to use.
Any advice would be massively helpful.
Cheers
RobThe images are added within the component as buttons. I don't
know how to check wether the button is accessable or not? IF you
could advise on this that would be really good. I don't think its
tracing anything.
Basically just want it to open a javascript URL window.
Cheers in advance
Rob -
Creating form element from within a component
Hi all,
I am trying to create a form element within a component
function which is then called from a .cfm page which has the cfform
tags. I keep getting a context validation error for the form
element tag. Here is some sample code:
<cfcomponent name="yourComponent">
<cffunction name="createTag" returntype="string"
access="public">
<cfsavecontent variable="returnContent">
<cfselect name="thisSelect">
<option value="0">Value 1</option>
</cfselect>
</cfsaveconten>
<cfreturn returnContent>
</cffunction>
</cfcomponent>
And in the .cfm page:
<cfform>
<cfinvoke component="yourComponent" method="createTag"
returnVariable="returnContent"/>
<cfoutput>#returnContent#</cfoutput>
</cfform>
The error occurs in the function and it says the cfselect
must be within a cfform. I tried the function without the save
content and just set the output="yes" but the same error occurs.
Any help appreciated in how to get around this. Just putting
the code in the .cfm is not an option for this.
Any help appreciated.
Jimquote:
Originally posted by:
jim1234
Thanks for the reply. Yes, that works. So it looks like it
has to do with the function call.
After some further investigation, I found out that a regular
<select> works, it's just the <cfselect> that does not.
ColdFusion wants it directly within the <cfform> tag.
Something does not make sense. If the cfsavecontent worked in
the cfm file, there is no reason for it not to work in a cfc.
If you want to persue this, the next troubleshooting step is
to copy the function to your cfm file and see if it works. I
suspect that you are trying something simple as a proof of concept. -
How can I include a javaScript files from within jsf component
Is there any way using which I can include javascript files from my jsf component. Because otherwise I have to write all the javascript commands using writer.write which is very tedious rather than this I just want to include the javascript file which contains all the functions required. Also I want that this file should be included only once irrespective of the number of components included.
Thanx in advanceThis doesn't depend on JSF. You need to include a script tag, like:
<script src="/path/script.js"
language="JavaScript" type="text/javascript"></script>
If you want to include this only once, make a file included into every page, into which you can put other resources to be included along with this script.
HTH,
rs. -
JTabbedPane switching from within added component
Hey guys,
Anyone know how/if its possible to change between JTabbedPanes
by using a button within a component added to one of the Panes?
Class A has a JtabbedPane in it
and Class B extends JPanel and is added to the TabbedPane
as a Component
Is there anyway to have a buttonclick in class b to switch to
another tab in the parent class?import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AddingATab
public static void main(String[] args)
BasicGUI gui = new BasicGUI();
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(gui.getUIChanger(), "North");
f.getContentPane().add(gui.getMainUI());
f.setSize(400,400);
f.setVisible(true);
class BasicGUI
JTabbedPane tabbedPane;
public BasicGUI()
tabbedPane = new JTabbedPane();
public JTabbedPane getMainUI()
JPanel
redPanel = new JPanel(),
bluePanel = new JPanel();
redPanel.setBackground(Color.red);
bluePanel.setBackground(Color.blue);
tabbedPane.addTab("red", redPanel);
tabbedPane.addTab("blue", bluePanel);
return tabbedPane;
public JPanel getUIChanger()
JButton add = new JButton("add tab");
add.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
String nextTab = "tab " + String.valueOf(tabbedPane.getTabCount()+1);
tabbedPane.addTab(nextTab, new AddOnPanel(tabbedPane));
JPanel panel = new JPanel();
panel.add(add);
return panel;
class AddOnPanel extends JPanel
JTabbedPane tabbedPane;
public AddOnPanel(JTabbedPane tp)
tabbedPane = tp;
addNavButtons();
private void addNavButtons()
int numberTabs = tabbedPane.getTabCount();
JButton[] buttons = new JButton[numberTabs];
ActionListener l = new ActionListener()
public void actionPerformed(ActionEvent e)
JButton button = (JButton)e.getSource();
int index = tabbedPane.indexOfTab(button.getActionCommand());
tabbedPane.setSelectedIndex(index);
for(int i = 0; i < buttons.length; i++)
String ac = tabbedPane.getTitleAt(i);
buttons[i] = new JButton(ac);
buttons.setActionCommand(ac);
buttons[i].addActionListener(l);
add(buttons[i]); -
Java:comp/env namespace is only available from within J2EE component
HI
I am writing a standalone application program to access the bean using jdk1.3.1 and it's giving me the namespace error.
I deployed the bean and included the .jar file in CLASSPATH. In the program, I specify the correct namespace to lookup since it's already registered through deployment
When I run the application, I get the exception error with namespace only available withing j2ee component.
Does anyone know what's the problem?Hi,
When you deploy your bean ( im assuming you are using deploytool ) have you added your client application as a component in deploytool ?
If you haven't done this then the client app code won't be able to lookup the java:comp/env name space. The reason is, that to access this namespace ( at least with j2sdkee1.3 ) you need a "client container". This client container is generated by the deploytool automatically if you add the client application into deploytool. Sun's sample application "Dukes Bank App" is a good place to see an example of this -
How to switch to Target Display Mode under BootCamp?
Hi there,
I am running Windows 7 x64 under bootcamp and want to be able to switch to target display mode.
I can achieve this when running OS/X by hitting Command-F2.
Is there a way to switch to target display mode from within Windows 7 under bootcamp?
I would like to do this so that I can easily switch to target display mode whilst using Windows without having to restart my machine.
Any help would be appreciated.
Cheers,
BardmanWindows does not have a Target Display mode.
Maybe you are looking for
-
I install the iCloud Control Panel and information is uploaded from my Outlook Contact folder to iCloud. ICloud folders are created and syncing process between my iPhone, iCloud, and Outlook works for a while (day or 2). Then, when I open Outlook a
-
Services in SAP management console and related window services and process
hai can u please any one of you can send me the services in SAP management console and related window services(in adminstrator/services) and process in task manager. thanks in advance. Naga Laxmi
-
How to store global values for the whole application to use ?
Hi, In our application, we have global values that is store in a parameter table, I want only to query it once, and it will be used every where from the whole application. e.g : I have general parameter tables that store : % Tax Current Period etc..
-
i have 1 user which is connected through three different sessions. one user----->three sessions session_ids for example 50,51,52 now i want to commit a transaction of that user with seission id 52. How can i acchive this task. MY problem is that one
-
hi some question if employee work in us and then gone to uk how u track it whcin infotype and what is dotted reporting in simple mantice and how to assign diff number range in org mangemnt for job, postion and org unit like 200-300,100-200,4