Front-end functions cannot be executed in the background in SM37
Hi ,
I have developed a BDC program for Tcode HRUSER . The program is working fine in Frontend but when Executed in Background through SM37 gives a error -:
"Front-end functions cannot be executed in the background".
I am not using any function like GUI_DOWNLOAD or anything like that .
Thanks
Nikhil Arya.
Hi ,
No , the program is not taking any inputs from the user .
when i am executing the program in background mode it is just showing the messages at the end which i am writing in the program for eg:
"creating a user for employee 2306328".
So , only the list of messages comes at the end .
Thanks
Nikhil Arya.
Similar Messages
-
Good day,
On Search Page, I have searched for the record(s) then deleted a record and got confirmation message i.e. Record has deleted. Next when I search for any record I'm getting below error.
Error
The search cannot be executed because the table has pending changes that would be lost.
Could you please help me to fix this issue. Your response is highly appreciated.
Item properties:
Item Style : Image
Action Type: Fire Action
Event : delete
Below is the code using in CO and AM
Controller (processFormRequest):
if ("delete".equals(pageContext.getParameter(EVENT_PARAM)))
// The user has clicked a "Delete" icon so we want to display a "Warning"
// dialog asking if she really wants to delete the employee. Note that we
// configure the dialog so that pressing the "Yes" button submits to
// this page so we can handle the action in this processFormRequest( ) method.
String visit_id = pageContext.getParameter("visit_id");
String employeeName = pageContext.getParameter("last_name") + ", " + pageContext.getParameter("first_name");
MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName)};
OAException mainMessage = new OAException("FND", "XXXX_EMP_DELETE_WARN", tokens);
// Note that even though we're going to make our Yes/No buttons submit a
// form, we still need some non-null value in the constructor's Yes/No
// URL parameters for the buttons to render, so we just pass empty
// Strings for this.
OADialogPage dialogPage = new OADialogPage(OAException.WARNING,
mainMessage, null, "", "");
// Always use Message Dictionary for any Strings you want to display.
String yes = pageContext.getMessage("AK", "FWK_TBX_T_YES", null);
String no = pageContext.getMessage("AK", "FWK_TBX_T_NO", null);
// We set this value so the code that handles this button press is
// descriptive.
dialogPage.setOkButtonItemName("DeleteYesButton");
// The following configures the Yes/No buttons to be submit buttons,
// and makes sure that we handle the form submit in the originating
// page (the "Employee" summary) so we can handle the "Yes"
// button selection in this controller.
dialogPage.setOkButtonToPost(true);
dialogPage.setNoButtonToPost(true);
dialogPage.setPostToCallingPage(true);
// Now set our Yes/No labels instead of the default OK/Cancel.
dialogPage.setOkButtonLabel(yes);
dialogPage.setNoButtonLabel(no);
// We need to keep hold of the employeeNumber and employeeName.
// The OADialogPage gives us a convenient means
// of doing this. Note that the use of the Hashtable is
// most appropriate for passing multiple parameters. See the OADialogPage
// javadoc for an alternative when dealing with a single parameter.
java.util.Hashtable formParams = new java.util.Hashtable(1);
formParams.put("visit_id", visit_id);
formParams.put("empName", employeeName);
dialogPage.setFormParameters(formParams);
pageContext.redirectToDialogPage(dialogPage);
else if (pageContext.getParameter("DeleteYesButton") != null)
// User has confirmed that she wants to delete this employee.
// Invoke a method on the AM to set the current row in the VO and
// call remove() on this row.
String employeeNumber = pageContext.getParameter("visit_id");
String employeeName = pageContext.getParameter("empName");
Serializable[] parameters = { employeeNumber };
// OAApplicationModule am = pageContext.getApplicationModule(webBean);
am.invokeMethod("deleteEmployee", parameters);
// Now, redisplay the page with a confirmation message at the top. Note
// that the deleteEmployee() method in the AM commits, and our code
// won't get this far if any exceptions are thrown.
MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName) };
OAException message = new OAException("FND",
"XXXX_EMP_DELETE_CONFIRM", tokens, OAException.CONFIRMATION, null);
pageContext.putDialogMessage(message);
Application Module:
public void deleteEmployee(String visit_id)
// First, we need to find the selected employee in our VO.
// When we find it, we call remove( ) on the row which in turn
// calls remove on the associated EmployeeEOImpl object.
int empToDelete = Integer.parseInt(visit_id);
OAViewObject vo = (OAViewObject)getNonEmployeesSummaryVO1();
NonEmployeesSummaryVORowImpl row = null;
// This tells us the number of rows that have been fetched in the
// row set, and will not pull additional rows in like some of the
// other "get count" methods.
int fetchedRowCount = vo.getFetchedRowCount();
// We use a separate iterator -- even though we could step through the
// rows without it -- because we don't want to affect row currency.
RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
if (fetchedRowCount > 0)
deleteIter.setRangeStart(0);
deleteIter.setRangeSize(fetchedRowCount);
for (int i = 0; i < fetchedRowCount; i++)
row = (NonEmployeesSummaryVORowImpl)deleteIter.getRowAtRangeIndex(i);
// For performance reasons, we generate ViewRowImpls for all
// View Objects. When we need to obtain an attribute value,
// we use the named accessors instead of a generic String lookup.
// Number primaryKey = (Number)row.getAttribute("EmployeeId");
Number primaryKey = row.getVisitId();
if (primaryKey.compareTo(empToDelete) == 0)
// This performs the actual delete.
row.remove();
getTransaction().commit();
break; // only one possible selected row in this case
// Always close the iterator when you're done.
deleteIter.closeRowSetIterator();
} // end deleteEmployee
Thanks,
RaviHi
Check this link Getting error in search page search cannot be executed
Regards,
Dilip -
SAP Front-End Patch cannot be applied error
I have SAP GUI 7.2 patch level 4 installed on my machine and I am adobe life cycle designer. I got this error when I tried to install
"This SAP Front-End Patch cannot be applied. Either the installed components are already on the same patch level or the components to be patched are not yet installed at all.
SAP Interactive Forms - Adobe LifeCycle Designer 8.0 Patch
Patchlevel 3"
How do I install the adobe LifeCycle designer?hello,
Please try uninstalling and reinstalling the GUI
a) Remove all SAP components via "Control panel", this is very
important
b) Install SAP GUI
c) Install latest GUI Patch
You can download these patches from the following url.
Apply GUI 7.10 patch from the following url,
Goto URL: http://www.service.sap.com/swdc
SAP Software Distribution Center -> Download -> Support Packages and
Patches -> Entry by Application Group -> SAP Frontend Components ->
SAP GUI FOR WINDOWS -> SAP GUI FOR WINDOWS 7.10 CORE -> win32 ->
regards,
John Feely -
Search cannot be executed because the table has pending changes
I'm getting the following error ..... The search cannot be executed because the table has pending changes that would be lost .... in the following scenario ....
My 1st page is a search page with resulting rows from which the user can select specific rows to process ..... next button will populate the VO for the 2nd page by manually looping thru the selected rows in the VO of the 1st page. Loop logic is in the AM and it calls a method in the VORowImpl that uses setAttributeInternal .... the 2nd page displays the selected rows .....
Pressing the back button of the 2nd page will display the 1st page and if the user tries to do a new search .... the error shows up.
Any suggestions on how to handle this?
Thank you.It seems to me that you are using the same VO on both the pages. If that is the case try to use separate VO for each page.
And as suggested by Sumit, Never use/ rely on browser back button. Instead put a Back button on the second page through you can handle the event yourself rather than leaving on the mercy of browser.
--Saroj -
Hello,
I'm working a developing an OA page that will displays the contents of an Oracle table and allows the user to update records in a table as needed.
When I hit submit button to save the changes in the update page, the control goes back to main page (where all the table records are displayed). It displays the updated record with the new information.However when I hit "Go" button on the mainPG, I get the error "The search cannot be executed because the table has pending changes that would be lost. and the changes are not committed.
ANy suggestions on where I should look will be greatly appreciated.
Posting code for my controller
=======================
if ( pageContext.getParameter("saveRate") != null )
personam.invokeMethod("saveRateToDatabase");
Code from my AM
=============
public void saveRateToDatabase()
getOADBTransaction().commit();
System.out.println("40--After commit has been executed");
Code from my VORowImpl
===================
package cggv.oracle.apps.gl.server;
import oracle.apps.fnd.framework.server.OAViewRowImpl;
import oracle.jbo.domain.Date;
import oracle.jbo.domain.Number;
import oracle.jbo.server.AttributeDefImpl;
// --- File generated by Oracle ADF Business Components Design Time.
// --- Custom code may be added to this class.
// --- Warning: Do not modify method signatures of generated methods.
public class xxCggGlRatesVORowImpl extends OAViewRowImpl {
public static final int RATEID = 0;
public static final int FROMCURRENCY = 1;
public static final int TOCURRENCY = 2;
public static final int FROMCONVERSIONDATE = 3;
public static final int TOCONVERSIONDATE = 4;
public static final int USERCONVERSIONTYPE = 5;
public static final int CONVERSIONRATE = 6;
public static final int MODEFLAG = 7;
/**This is the default constructor (do not remove)
public xxCggGlRatesVORowImpl() {
/**Gets the attribute value for the calculated attribute RateId
public Number getRateId() {
return (Number) getAttributeInternal(RATEID);
/**Sets <code>value</code> as the attribute value for the calculated attribute RateId
public void setRateId(Number value) {
setAttributeInternal(RATEID, value);
//populateAttribute(RATEID, value);
/**Gets the attribute value for the calculated attribute FromCurrency
public String getFromCurrency() {
return (String) getAttributeInternal(FROMCURRENCY);
/**Sets <code>value</code> as the attribute value for the calculated attribute FromCurrency
public void setFromCurrency(String value) {
setAttributeInternal(FROMCURRENCY, value);
/**Gets the attribute value for the calculated attribute ToCurrency
public String getToCurrency() {
return (String) getAttributeInternal(TOCURRENCY);
/**Sets <code>value</code> as the attribute value for the calculated attribute ToCurrency
public void setToCurrency(String value) {
setAttributeInternal(TOCURRENCY, value);
/**Gets the attribute value for the calculated attribute FromConversionDate
public Date getFromConversionDate() {
return (Date) getAttributeInternal(FROMCONVERSIONDATE);
/**Sets <code>value</code> as the attribute value for the calculated attribute FromConversionDate
public void setFromConversionDate(Date value) {
setAttributeInternal(FROMCONVERSIONDATE, value);
/**Gets the attribute value for the calculated attribute ToConversionDate
public Date getToConversionDate() {
return (Date) getAttributeInternal(TOCONVERSIONDATE);
/**Sets <code>value</code> as the attribute value for the calculated attribute ToConversionDate
public void setToConversionDate(Date value) {
setAttributeInternal(TOCONVERSIONDATE, value);
/**Gets the attribute value for the calculated attribute UserConversionType
public String getUserConversionType() {
return (String) getAttributeInternal(USERCONVERSIONTYPE);
/**Sets <code>value</code> as the attribute value for the calculated attribute UserConversionType
public void setUserConversionType(String value) {
setAttributeInternal(USERCONVERSIONTYPE, value);
/**Gets the attribute value for the calculated attribute ConversionRate
public Number getConversionRate() {
return (Number) getAttributeInternal(CONVERSIONRATE);
/**Sets <code>value</code> as the attribute value for the calculated attribute ConversionRate
public void setConversionRate(Number value) {
setAttributeInternal(CONVERSIONRATE, value);
/**Gets the attribute value for the calculated attribute ModeFlag
public String getModeFlag() {
return (String) getAttributeInternal(MODEFLAG);
/**Sets <code>value</code> as the attribute value for the calculated attribute ModeFlag
public void setModeFlag(String value) {
setAttributeInternal(MODEFLAG, value);
/**getAttrInvokeAccessor: generated method. Do not modify.
protected Object getAttrInvokeAccessor(int index,
AttributeDefImpl attrDef) throws Exception {
switch (index) {
case RATEID:
return getRateId();
case FROMCURRENCY:
return getFromCurrency();
case TOCURRENCY:
return getToCurrency();
case FROMCONVERSIONDATE:
return getFromConversionDate();
case TOCONVERSIONDATE:
return getToConversionDate();
case USERCONVERSIONTYPE:
return getUserConversionType();
case CONVERSIONRATE:
return getConversionRate();
case MODEFLAG:
return getModeFlag();
default:
return super.getAttrInvokeAccessor(index, attrDef);
/**setAttrInvokeAccessor: generated method. Do not modify.
protected void setAttrInvokeAccessor(int index, Object value,
AttributeDefImpl attrDef) throws Exception {
switch (index) {
case RATEID:
setRateId((Number)value);
return;
case FROMCURRENCY:
setFromCurrency((String)value);
return;
case TOCURRENCY:
setToCurrency((String)value);
return;
case FROMCONVERSIONDATE:
setFromConversionDate((Date)value);
return;
case TOCONVERSIONDATE:
setToConversionDate((Date)value);
return;
case USERCONVERSIONTYPE:
setUserConversionType((String)value);
return;
case CONVERSIONRATE:
setConversionRate((Number)value);
return;
case MODEFLAG:
setModeFlag((String)value);
return;
default:
super.setAttrInvokeAccessor(index, value, attrDef);
return;
/**Gets xxCggGlRatesEO entity object.
public xxCggGlRatesEOImpl getxxCggGlRatesEO() {
return (xxCggGlRatesEOImpl)getEntity(0);Hi,
Check these links:
Oracle Apps: Search cannot be executed because the table has pending changes that would be lost
Re: Getting error in search page search cannot be executed
http://jneelmani.blogspot.in/2009/11/oaf-search-cannot-be-executed-because.html
--Sushant -
Error: Due to a lock, query cannot be executed at the moment
Hi,
I am getting the following error when executing my query:
Error: Due to a lock, query cannot be executed at the moment
Abort System error in program SAPLRSDRC and form /BIC/ZABC_01
The query has been running fine for the past few months.
Can anyone explain why this error occured and what can I do to avoid this?
Thanks in Advance!!
Regards,
SwapnaHi Swapna,
make sure that the BW system (e.g. another user, process, ...) does not have currently access to the data e.g. like maintain data. In this case the BW sets a lock so that the current user gets exclusively access to the table.
Check the table if there are any locks on it. Call transaction SU53 and check your table for any locks.
Check this thread, perhaps you will find some more information there:
https://forums.sdn.sap.com/click.jspa?searchID=3180428&messageID=1088573
Hope this helps.
Regards,
Marco -
Error message encore cs5 end action can't execute on the final chapter point
Dvd plays great. Exported it as a mpeg 2-dvd, video only. Audio separate as a .wav. imported video as a timeline, audio as an asset. Video is not transcoded.
But I have a sub menu, with 6 chapter markers. I check the project and I get this: "error message encore cs5 end action can't execute on the final chapter point"
Do I need to make a chapter playlist? Because that gave me a "orphaned playlist" error message.
I selected the last chapter masker and had the end action go to the sub menu.
Thanks!Saw a previous thread where bill hunt said it ignore it and try to burn a copy.
-
End Users cannot log in to the ccmuser web page.
Greetings,
I have a Call Manager Business Edition that was synched with a customer's AD directory. However, the end users cannot log in to the ccmuser web page with either their AD password or the Call Manager end user PIN.
Any suggestions?
Thanks
GeorgeThanks for your reply, Aaron.
All users are in the end user group.. I even created a new role/user group that gives users complete read/write access to all end user features. Still no go. I think it is an LDAP issue, but I'm confused because everything else works. -
Issue with How Do I Run an Executable in the Background ?
Hi,
I am trying to run a LabVIEw executable in the background, but none of the methods described in the discussion forum and on ni.com seems to be working. I am using LV 2011 on a Win 7 64-bit machine in case this matters.
I tried the method described in "How Do I Run an Executable in the Background as a Start-Up Application?" (http://digital.ni.com/public.nsf/websearch/4A8B626B55B96C248625796000569FA9?opendocument&Submitted&&... but I still see a fragment of a window at the bottom near the start-button (Exhibit 1). Exhibit 2 shows that it only consists of the title bar. (I have customized the window appearance as described, and added the two items
HideRootWindow=True
UseTaskBar=FALSE
to the *.ini file.)
I also tried disabling all the other items in the Customize Window Appearance menu with the same result.
Then I tried the method described in "Running a LabVIEW Executable as a Background Process" (http://digital.ni.com/public.nsf/allkb/EFEAE56A94A007D586256EF3006E258B) adding the FP.Open method to the VI and setting the state to hidden. I got the same result (Exhibit 1).
Is there anything I need to do in addition or different for my windows version? I appreciate your help. Thank you.
Solved!
Go to Solution.
Attachments:
LabVIEW Executable.zip 4058 KB(I have customized the window appearance as described, and added the two items
HideRootWindow=True
UseTaskBar=FALSE
to the *.ini file.)
No you did not
They need to go in the exe's ini so the exe sees them
Jeff -
in ios6, youtube cannot be played in the background unlike in the ios5. Is there a way round this ? And also is it possible to downgrade back to ios 5.1??
You cannot downgrade your software. The only way you can downgrade your software is by jailbreaking your device (which can be risky if you dont know what your doing). Remember if you are downgrading by jailbreaking it will void your warranty with Apple - and you could run the risk of disabling your device.
However, im not too sure about the YouTube problem, my only guess is that since it is not an original app that comes with the iOS software. -
Is it possible to debug a Job which already executed in the Background.
Hi Friends,
My Z program has a bug when run it in Quality System.
If I run this program in foreground to debug, its giving TIME OUT dump.
If i try to run it in Background and started DEBUG mode using JDBG.
Still one of the table fetch gives TIME OUT dump.
Is there any possibility to DEBUG the already executed job?
Regards,
VIJIHi,
If the job is running go to SM50..
Select the process:
In the menu..Program/session -> program -> debugging..
OR
Fix the break points.
2) Create job.
3) Go SM37
4) Select the job and write "jdbg" in command line.
1) Use Transaction SM50. This would give you a view of all the background
processes running in the server.
2) Choose your background process from the list and got to
MENU "Program/Mode"->"Program"->"Debugging".
Regards,
Suresh Kumar -
Macro not executed in the background
Hi all,
I have created a macro to delete the forecast and it is working fine in the foreground, whenever i'm running it in the background, it is not getting executed, no forecast is getting deleted. In the job logs, it is giving the following message:
"No data has been changed; data must not be save".
I have tried with different logics for the macro, all are working fine in the foreground, coming to backgroung, nothing is working.
Please help me out.
Thank you
Regards,
RajHello Raj,
For executing in background, you need to set up the 'DP Background' jobs. You must ensure that you define a proper Selection ID in Interactive Planning and assign this selection ID to the DP background job. If the proper selection data is not picked up by the Macro, then it may not execute. Hope you have followed that process of setting up Background DP jobs correctly.
Also note that when you execute the Macro in background, if data has not been changed, you generally get a message saying 'data not saved'. -
Hello CR experts ,
My requirement is - There are customer names & region names ,Client wants to go for dynamic cascading prompt and hard code the customer name ,bu t they DON'T WANT customer names to be appear in the cascading dynamic prompt input values (they wants to make customer names as confidential ) ,
Reporting tool Name - Crystal reports ,
Source - UNV
Older versions like BOXIR2 / BOXIR3 they used JSP to achieve this ,it worked fine ,Now they need to do the migration of older CR to new CR reports 2011 ,
In CR 2008 they achieved this through Business Views (Hard coded the customer names in JSP and called it in the CR 2008 ),
SAP BI4.0 won't support BV ,
Could you please help me in detail , how can i achieve it .
Thanks ,
Pradeep GorpaduHi Pradeep,
BI 4.0 still has Business Views and CR 2011/CR 2013 still support them.
CR for Enterprise does not support Business Views though.
Where do you wish to create the functionality? In the Universe or the CR Designer?
If it's the Universe, then is it a .unx or a .unv Universe?
CR 2011/CR 2013 will Not support a .unx Universe; only CR for Enterprise will.
If you're trying to create the prompts at the Universe level, then you've posted the question to the wrong space. You should post to the Semantic layer space.
-Abhilash -
Front-end memory and limitation cells of the BEX Analyzer
Hi BI experts,
After BW upgrade from BI 7.3 to BI 7.4 some heavy workbooks stopping to work, the error is "Client Out of Memory", the cause of this error is the memory capacity of .NET framework, this process can allocate a maximum of approximately 1.2 gigabytes (GB).
The notes 1040454 and 1411545 says that it´s possible to execute something like 750,000 cells but we made some adjusts and we could increase it until 1,800,000 cells, below some configuration we´ve made:
Query Designer:
Result Rows Always
Supress;
Display as Text or key;
Supress Zeros as Active (All Values = 0) and Effect on rows and columns.
Bex Analyzer:
Display Sort Icons Disable;
Apply formating Disable;
Allow navegation Disable;
We need some orientation how to further increase this limitation, or leaving the query lighter or increasing the memory limitation of .net framework or backing to BEX 3.5 funcionalities.
Has anyone encountered such problems in the update? Some alternative solution ?
Thanks !Hello Caio,
The limitation lies on .Net Framework 32 bits which can handle 1.2 gigabytes.
You are reaching 1.8 Million because your datacells has no data or almost no data.
There is a KBA documenting your issue: SAP Note 1860872
There you will find a recommendation of Openhub, that allows you to extract data.
Just remember that BEx Analyzer is a tool for query navigation, not mass data extraction.
Kind Regards,
Edward John
SAP AGS -
My requirement is - There are customer names & region names ,Client wants to go for dynamic cascading prompt and hard code the customer name ,bu t they DON'T WANT customer names to be appear in the cascading dynamic prompt input values (they wants to make customer names as confidential ) ,
Reporting tool Name - Crystal reports ,
Source - UNV
Older versions like BOXIR2 / BOXIR3 they used JSP to achieve this ,it worked fine ,Now they need to do the migration to BI4.0 UNV for the CR reports ,
So it is an existing system and now i need to modify the universe in the SABI4.0 -UDT /UNV ,
Could you please help me in detail , how can i achieve it .
Thanks ,
Pradeep GorpaduHi,
You need to check in Crystal Reports Section .
SAP Crystal Reports
Maybe you are looking for
-
I have had to change my e mail address but I cannot work out how to amend it on my iCloud account. If I press "delete account" the box appears telling me that I will lose all content including photos if I continue. The box asking for a password keeps
-
How to pass Stages Guid dynamically in declarative workflow
hello, How to pass Stages Guid dynamically in declarative workflow. Example For List we used to pass guid like this System.Guid.Parse("{$ListId:Lists/Testlist;}") help me out to pass stage guid... any help would be appreciated!!!! Thanks regards, Vi
-
How do I password secure some of my files
How can I password protect my files
-
Outbound delivery document from Sales order
Hi , While creating the outbound delivery document from Sales order, all the line items of the Sales order are populated in the Delivery document. The line items where stock is not available, the line is still populated in the delivery document with
-
Where can i download an ISO of windows 8.1
Where can i download an ISO file of windows 8.1? On the Microsoft website the download is an .exe file but for bootcamp i need an ISO.