RfcSystemException, I canu00B4t access the RFC.
I have a rfc running perfectly, i use asp and components in VB6 and everything is fine.
Now I'm trying to use Vb.Net. I did a RFC very simple, whre There was one out parameter, then works fine.
But now I'm using a rfc more complex. I'm having the following error:
SAP.Connector.RfcSystemException: The function module "Z_CO_READ_ZZINFOGLBA_MATERIAL" not released for 'remote' calls. at SAP.Connector.SAPConnection.ThrowRfcException(RFC_ERROR_INFO_EX rfcerrInfo, Encoding encoding, String languangeCode) at SAP.Connector.SAPClient.RfcInvoke(String method, Object[] methodParamsIn) at SAP.Connector.SAPClient.SAPInvoke(String method, Object[] methodParamsIn) at SAPProxyRazao.SAPProxyRazao.Z_Co_Read_Zzinfoglba_Material(Int32 In_Maxrows, Int32& Out_Dbcnt, Int32& Out_Subrc, DDSHSELOPTTable& In_Range, ZDCOSETKEYTable& In_Set, ZZINFOGLBA_MATERIALTable& Out_Table) in c:\desenv.net\componentes\web\sap\sapproxyrazao\sapproxyrazao.cs:line 80 at WebDope.clsRazao.Executar(DateTime pDataInicio, DateTime pDataFinal, String pIdUnidade, String pIdResponsavel, String pProduto, String pCanal, String pConta, String pProjeto) in c:\inetpub\wwwroot\WebDope\clsRazao.vb:line 217 at WebDope.WebDope.btnConsultar_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\WebDope\WebDope.aspx.vb:line 85
ErrorCode.:RFC_ERROR_SYSTEM_FAILURE
Code in VB.Net:
Dim dtabIn_Set As New SAPProxyRazao.ZDCOSETKEYTable
proxy.Connection = New SAP.Connector.SAPConnection(dest)
proxy.Connection.Open()
'proxy.Z_Co_Read_Zzinfoglba_Material'(OUT_DBCNT:=NumRegistros, OUT_SUBRC:=ReturnCode, IN_MAXROWS:=Maxlinha, IN_SET:=rsRfcInSet, IN_RANGE:=rsRfcInRange, OUT_TABLE:=rsRfcRetorno)
proxy.Z_Co_Read_Zzinfoglba_Material(Maxlinha, NumRegistros, ReturnCode, dtabIn_Range, dtabIn_Set, dtabRetorno)
Can The problem be with this datatable?? In VB 6 they were Recordset!!
Any idea?? It's Urgent!!!
Hello,
The error message says that the function module Z_CO_READ_ZZINFOGLBA_MATERIAL is not "Remote Enabled". You can use SE37->Attributes to check if this function is remote-enabled or not.
I am wondering how could you generate the proxy if the function is not remote-enabled. The only explanation is that the proxy was generated against a different SAP system where the same function module is remote-enabled.
Recordset or not is not relevant to the problem.
Regards,
Guangwei Li
Similar Messages
-
Can we open a URL link from an RFC and access the data in the link.?
Can we open a URL link from an RFC and access the data in the link.
I have the following scenario.
I have a URL link and it opens a KM folder in the Portal server and I need to put a PDF file in that KM folder
Can we do that with the help of an RFC, can we deal with Links in RFC, is there any such FM??
Regards>
SAP LEARNER wrote:
> Can we open a URL link from an RFC and access the data in the link.
>
> I have the following scenario.
>
> I have a URL link and it opens a KM folder in the Portal server and I need to put a PDF file in that KM folder
>
> Can we do that with the help of an RFC, can we deal with Links in RFC, is there any such FM??
>
> Regards
I guess you are trying to connect from the R3/ECC to the Portal Server.
Are these two systems in the same network? Do you have usernames (valid and fully authorized) in both systems? What is the OS on which these two systems are housed?
Please provide these details to proceed further.
Regards
Sabu -
Problem in accessing the standard transaction from Portal through RFC
Below is the error we are getting when we run RFC (which has P60) from the portal(JAVA webdynpro) which inturn uses BDC to get the spool id from the standard p60(RPCEOYG0)..
Msgid "00"
Msgno "359"
Msgtx "The transaction was terminated by the user".
But if i keep the debugger inside the RFC after the call_transaction and if I press F8 then I am getting the correct output. Could some one tell me the reason behind this ?
thanks,
Prashanth J RHi,
It sounds to me like the BDC or some other component being called from your Z function module requires some sort of dialog interface (maybe an "Are you sure?" type message).
When calling RFC from Web Dynpro, you should ensure that at no point in the call stack does it try to perform any dialog functions (messages, pop-up box, display screens).
You mention that you BDC does a CALL TRANSACTION at some point, you should ensure that this isn't executed when you are calling by RFC from a Web Dynpro.
Your Z function module should be able to execute from start to finish, returning the results without any dialog interaction.
I might be wrong, but it sounds similar to a problem we had a few years ago where someone had coded an "Are you sure?" message into a function module that was called from a stadard R/3 dialog screen as well as Web Dynpro in the Portal, and it broke the portal based stuff.
Cheers,
Chris -
Not able to access the Oracle I/PM web client.
I have started the Administration server and the Oracle I/PM Managed Server. Now I'm trying to access the Oracle I/PM web client at this URL: http://hostname:16000/imaging. But when I hit this URL, the following error comes up:
Error 404--Not Found
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.5 404 Not Found
The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
If the server does not wish to make this information available to the client, the status code 403 (Forbidden) can be used instead. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address.
I'm also posting a part of the logs from the IPM_server log file:
####<May 20, 2013 10:32:52 AM IST> <Notice> <WebLogicServer> <01hw311161> <IPM_server1> <main> <<WLS Kernel>> <> <> <1369026172860> <BEA-000360> <Server started in RUNNING mode>
####<May 20, 2013 10:32:53 AM IST> <Info> <J2EE> <01hw311161> <IPM_server1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1369026173516> <BEA-160151> <Registered library Extension-Name: bea_wls_async_response (JAR).>
####<May 20, 2013 10:32:53 AM IST> <Info> <WebService> <01hw311161> <IPM_server1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1369026173641> <BEA-220103> <Async web service support is not fully configured. The async response web service /AsyncResponseServiceHttps for this server was not fully deployed because the JMS reliability queue was not defined/deployed: weblogic.wsee.DefaultQueue. The server will periodically retry completing the deploy for the service. This message can usually be ignored unless there are async web service applications. To completely disable async web service support, thus avoiding this message, set -Dweblogic.wsee.skip.async.response=true.>
####<May 20, 2013 10:32:53 AM IST> <Info> <WebService> <01hw311161> <IPM_server1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1369026173735> <BEA-220103> <Async web service support is not fully configured. The async response web service /AsyncResponseServiceJms for this server was not fully deployed because the JMS reliability queue was not defined/deployed: weblogic.wsee.DefaultQueue. The server will periodically retry completing the deploy for the service. This message can usually be ignored unless there are async web service applications. To completely disable async web service support, thus avoiding this message, set -Dweblogic.wsee.skip.async.response=true.>
####<May 20, 2013 10:32:53 AM IST> <Info> <WebService> <01hw311161> <IPM_server1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1369026173735> <BEA-220103> <Async web service support is not fully configured. The async response web service /AsyncResponseService for this server was not fully deployed because the JMS reliability queue was not defined/deployed: weblogic.wsee.DefaultQueue. The server will periodically retry completing the deploy for the service. This message can usually be ignored unless there are async web service applications. To completely disable async web service support, thus avoiding this message, set -Dweblogic.wsee.skip.async.response=true.>
####<May 20, 2013 10:32:53 AM IST> <Info> <WebService> <01hw311161> <IPM_server1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1369026173750> <BEA-220103> <Async web service support is not fully configured. The async response web service /AsyncResponseServiceSoap12Jms for this server was not fully deployed because the JMS reliability queue was not defined/deployed: weblogic.wsee.DefaultQueue. The server will periodically retry completing the deploy for the service. This message can usually be ignored unless there are async web service applications. To completely disable async web service support, thus avoiding this message, set -Dweblogic.wsee.skip.async.response=true.>
####<May 20, 2013 10:32:53 AM IST> <Info> <WebService> <01hw311161> <IPM_server1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1369026173766> <BEA-220103> <Async web service support is not fully configured. The async response web service /AsyncResponseServiceSoap12 for this server was not fully deployed because the JMS reliability queue was not defined/deployed: weblogic.wsee.DefaultQueue. The server will periodically retry completing the deploy for the service. This message can usually be ignored unless there are async web service applications. To completely disable async web service support, thus avoiding this message, set -Dweblogic.wsee.skip.async.response=true.>
####<May 20, 2013 10:32:53 AM IST> <Info> <WebService> <01hw311161> <IPM_server1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1369026173782> <BEA-220103> <Async web service support is not fully configured. The async response web service /AsyncResponseServiceSoap12Https for this server was not fully deployed because the JMS reliability queue was not defined/deployed: weblogic.wsee.DefaultQueue. The server will periodically retry completing the deploy for the service. This message can usually be ignored unless there are async web service applications. To completely disable async web service support, thus avoiding this message, set -Dweblogic.wsee.skip.async.response=true.>
####<May 20, 2013 10:33:51 AM IST> <Info> <Health> <01hw311161> <IPM_server1> <weblogic.GCMonitor> <<anonymous>> <> <> <1369026231604> <BEA-310002> <85% of the total memory in the server is free>
What configuration am I missing?
Thanks in advance
PradeepHi Srinath,
I have checked that as well, it is showing the IPM_server in running mode.
Also it doesn't show any deployment failure in the command line. Here is what it shows:
<May 20, 2013 10:32:51 AM IST> <Notice> <WebLogicServer> <BEA-000332> <Started W
ebLogic Managed Server "IPM_server1" for domain "base_domain123" running in Deve
lopment Mode>
<May 20, 2013 10:32:52 AM IST> <Notice> <WebLogicServer> <BEA-000365> <Server st
ate changed to RUNNING>
<May 20, 2013 10:32:52 AM IST> <Notice> <WebLogicServer> <BEA-000360> <Server st
arted in RUNNING mode>
I feel there is some issue as this log is suggesting:
####<May 20, 2013 10:32:53 AM IST> <Info> <WebService> <01hw311161> <IPM_server1> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1369026173782> <BEA-220103> <Async web service support is not fully configured. The async response web service /AsyncResponseServiceSoap12Https for this server was not fully deployed because the JMS reliability queue was not defined/deployed: weblogic.wsee.DefaultQueue. The server will periodically retry completing the deploy for the service. This message can usually be ignored unless there are async web service applications. To completely disable async web service support, thus avoiding this message, set -Dweblogic.wsee.skip.async.response=true.>
But I don't know how to resolve it.
Thanks
Pradeep -
Unable to call the RFC from the WD java Program
Hi All,
I have a table and three buttons Create, Edit, Save in the layout.
If no record available in the R3 the the end user will click on create and then he will click on save so that the insert RFC will be called accordingly and the record will be inserted.My table is limited to 5 records only. If i enter all the 5 records and Click on submit the record is inserting in the backend , but if i enter less than 5 records im unable to call the RFC what might be the issue.
My insert RFC takes one Table node and 4 import parameters i'm passing all of the all the mentioned import parameters.
Code:-
View Controller code
// This file has been generated partially by the Web Dynpro Code Generator.
// MODIFY CODE ONLY IN SECTIONS ENCLOSED BY @@begin AND @@end.
// ALL OTHER CHANGES WILL BE LOST IF THE FILE IS REGENERATED.
package com.gmr.ess;
// IMPORTANT NOTE:
// ALL IMPORT STATEMENTS MUST BE PLACED IN THE FOLLOWING SECTION ENCLOSED
// BY @@begin imports AND @@end. FURTHERMORE, THIS SECTION MUST ALWAYS CONTAIN
// AT LEAST ONE IMPORT STATEMENT (E.G. THAT FOR IPrivateAPPView).
// OTHERWISE, USING THE ECLIPSE FUNCTION "Organize Imports" FOLLOWED BY
// A WEB DYNPRO CODE GENERATION (E.G. PROJECT BUILD) WILL RESULT IN THE LOSS
// OF IMPORT STATEMENTS.
//@@begin imports
import java.math.BigDecimal;
import java.util.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Iterator;
import com.gmr.ess.wdp.IPrivateAPPView;
import com.gmr.pck.Zst_Hr_Nominee;
import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
import com.sap.tc.webdynpro.services.sal.um.api.IWDClientUser;
import com.sap.tc.webdynpro.services.sal.um.api.WDClientUser;
//@@end
//@@begin documentation
//@@end
public class APPView
Logging location.
private static final com.sap.tc.logging.Location logger =
com.sap.tc.logging.Location.getLocation(APPView.class);
static
//@@begin id
String id = "$Id$";
//@@end
com.sap.tc.logging.Location.getLocation("ID.com.sap.tc.webdynpro").infoT(id);
Private access to the generated Web Dynpro counterpart
for this controller class. </p>
Use <code>wdThis</code> to gain typed access to the context,
to trigger navigation via outbound plugs, to get and enable/disable
actions, fire declared events, and access used controllers and/or
component usages.
@see com.gmr.ess.wdp.IPrivateAPPView for more details
private final IPrivateAPPView wdThis;
Root node of this controller's context. </p>
Provides typed access not only to the elements of the root node
but also to all nodes in the context (methods node<i>XYZ</i>())
and their currently selected element (methods current<i>XYZ</i>Element()).
It also facilitates the creation of new elements for all nodes
(methods create<i>XYZ</i>Element()). </p>
@see com.gmr.ess.wdp.IPrivateAPPView.IContextNode for more details.
private final IPrivateAPPView.IContextNode wdContext;
A shortcut for <code>wdThis.wdGetAPI()</code>. </p>
Represents the generic API of the generic Web Dynpro counterpart
for this controller. </p>
private final com.sap.tc.webdynpro.progmodel.api.IWDViewController wdControllerAPI;
A shortcut for <code>wdThis.wdGetAPI().getComponent()</code>. </p>
Represents the generic API of the Web Dynpro component this controller
belongs to. Can be used to access the message manager, the window manager,
to add/remove event handlers and so on. </p>
private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdComponentAPI;
public APPView(IPrivateAPPView wdThis)
this.wdThis = wdThis;
this.wdContext = wdThis.wdGetContext();
this.wdControllerAPI = wdThis.wdGetAPI();
this.wdComponentAPI = wdThis.wdGetAPI().getComponent();
//@@begin javadoc:wdDoInit()
/** Hook method called to initialize controller. */
//@@end
public void wdDoInit()
//@@begin wdDoInit()
try{
IWDMessageManager manager1 = wdComponentAPI.getMessageManager();
IWDClientUser user = WDClientUser.getLoggedInClientUser();
String logUser= user.getSAPUser().getUniqueName();
wdContext.currentContextElement().setUserid(logUser);
wdThis.wdGetAPPController().executeBapi_Employee_Getdata_Input();//Returns the user id for the employee
Collection nomineeList = new ArrayList();
wdThis.wdGetAPPController(). executeZ_Hrfm_Nominee_Disp_Input( );
int nomineeTableSize = wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().size();
for(int i=0;i< nomineeTableSize;i++){
IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
ele.setAddr(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getAddr());
ele.setDob(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getDob());
ele.setGuard(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getGuard());
ele.setName(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getName());
ele.setPerc(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getPerc());
ele.setRelat(wdContext.nodeZ_Hrfm_Nominee_Disp_Input().nodeOutput_Nominee().nodeNominee().getNomineeElementAt(i).getRelat());
nomineeList.add(ele);
wdContext.nodeDisplay_table_node().bind(nomineeList);
wdContext.currentContextElement().setEdit_val_attr(true);
if(nomineeTableSize<=0){
wdContext.currentContextElement().setCreateButtonEnable(true);
wdContext.currentContextElement().setEditButtonEnable(false);
else{
wdContext.currentContextElement().setCreateButtonEnable(false);
wdContext.currentContextElement().setEditButtonEnable(true);
catch(Exception e){
wdComponentAPI.getMessageManager().reportException("",true);
//@@end
//@@begin javadoc:wdDoExit()
/** Hook method called to clean up controller. */
//@@end
public void wdDoExit()
//@@begin wdDoExit()
//@@end
//@@begin javadoc:wdDoModifyView
Hook method called to modify a view just before rendering.
This method conceptually belongs to the view itself, not to the
controller (cf. MVC pattern).
It is made static to discourage a way of programming that
routinely stores references to UI elements in instance fields
for access by the view controller's event handlers, and so on.
The Web Dynpro programming model recommends that UI elements can
only be accessed by code executed within the call to this hook method.
@param wdThis Generated private interface of the view's controller, as
provided by Web Dynpro. Provides access to the view controller's
outgoing controller usages, etc.
@param wdContext Generated interface of the view's context, as provided
by Web Dynpro. Provides access to the view's data.
@param view The view's generic API, as provided by Web Dynpro.
Provides access to UI elements.
@param firstTime Indicates whether the hook is called for the first time
during the lifetime of the view.
//@@end
public static void wdDoModifyView(IPrivateAPPView wdThis, IPrivateAPPView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
//@@begin wdDoModifyView
//@@end
//@@begin javadoc:onActionGetData(ServerEvent)
/** Declared validating event handler. */
//@@end
public void onActionGetData(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionGetData(ServerEvent)
//$$begin ActionButton(-535519310)
//wdThis.wdGetAPPController().executeZ_Hrfm_Nominee_Disp_Input();
//$$end
//@@end
//@@begin javadoc:onActionEdit(ServerEvent)
/** Declared validating event handler. */
//@@end
public void onActionEdit(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionEdit(ServerEvent)
//$$begin ActionButton(-535519310)
displayTablesize=wdContext.nodeDisplay_table_node().size();
if(displayTablesize<5){
for(int i=0;i<size-displayTablesize;i++){
IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
wdContext. nodeDisplay_table_node().addElement(ele);
operation="MOD";
wdContext.currentContextElement().setTableReadOnly(true);
wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);
//$$end
//@@end
//@@begin javadoc:onActionCreate(ServerEvent)
/** Declared validating event handler. */
//@@end
public void onActionCreate(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionCreate(ServerEvent)
int month=0,year=0,day=0;
String month1,day1,year1;
try{
displayTablesize=wdContext.nodeDisplay_table_node().size();
wdContext.currentContextElement().setEdit_val_attr(false);
if(wdContext.nodeDisplay_table_node().isEmpty()){
if(displayTablesize<5){
Calendar cal=Calendar.getInstance();
month=cal.get(Calendar.MONTH)+1;
if(month==1||month==2||month==3||month==4||month==5||month==6||month==7||month==8||month==9){
month1="0"+month;
else{
month1=""+month;
day = cal.get(Calendar.DAY_OF_MONTH);
if(day==1||day==2||day==3||day==4||day==5||day==6||day==7||day==8||day==9){
day1= "0"+day;
else{
day1=""+day;
year = cal.get(Calendar.YEAR);
year1=""+year;
String strFormat=day1"."month1"."year1;
wdContext.currentOutput_NomineeElement().setBegda(strFormat);
wdContext.currentOutput_NomineeElement().setEndda("31.12.9999");
for(int i=0;i<size-displayTablesize;i++){
IPrivateAPPView.IDisplay_table_nodeElement ele = wdContext.nodeDisplay_table_node().createDisplay_table_nodeElement();
wdContext. nodeDisplay_table_node().addElement(ele);
operation="INS";
wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);
wdContext.currentContextElement().setTableReadOnly(true);
catch(NullPointerException npe){
wdComponentAPI.getMessageManager().reportException("No Data Available",true);
//@@end
//@@begin javadoc:onActionSaveData(ServerEvent)
/** Declared validating event handler. */
//@@end
public void onActionSaveData(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionSaveData(ServerEvent)
float percentage=0;
float dupePercentage=0;
boolean isTest = false;
Collection DispTList = new ArrayList();
IWDMessageManager manager1 = wdComponentAPI.getMessageManager();
try{
displayTablesize = wdContext.nodeDisplay_table_node().size();
//for(int i=1;i<=displayTablesize;i++){
for(int i=0;i<displayTablesize;i++){
BigDecimal share = wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc();
String name = wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName();
percentage = share.floatValue();
dupePercentage = dupePercentage + percentage;
if(name!=null && share!=null){
Zst_Hr_Nominee nominee = new Zst_Hr_Nominee();
nominee.setAddr(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getAddr());
manager1.reportSuccess(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getAddr());
nominee.setDob(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getDob());
manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getDob());
nominee.setGuard(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getGuard());
manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getGuard());
nominee.setName(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName());
manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getName());
nominee.setPerc(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc());
manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getPerc());
nominee.setRelat(wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getRelat());
manager1.reportSuccess(""+wdContext.nodeDisplay_table_node().getDisplay_table_nodeElementAt(i).getRelat());
DispTList.add(nominee);
wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().nodeNominee_ins().bind(DispTList);
if((dupePercentage)!=100)
wdComponentAPI.getMessageManager().reportException(
"The sum of the share Percentages is not 100. Modify the percentages accordingly",true);
wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().nodeNominee_ins().bind(DispTList);
IWDMessageManager manager = wdComponentAPI.getMessageManager();
String beginDate = wdContext.currentOutput_NomineeElement().getBegda();
manager.reportSuccess(wdContext.currentOutput_NomineeElement().getBegda());
String endDate=wdContext.currentOutput_NomineeElement().getEndda();
manager.reportSuccess(wdContext.currentOutput_NomineeElement().getEndda());
wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setBegda(beginDate);
wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setEndda(endDate);
wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setOperation(operation);
wdComponentAPI.getMessageManager().reportSuccess(operation);
wdThis.wdGetAPPController().executeBapi_Employee_Getdata_Input();
wdThis.wdGetAPPController().executeZ_Hrfm_Nominee_Ins_Mod_Input();
//wdContext.currentContextElement().setTableReadOnly(false);
catch(Exception e){
e.getMessage();
//@@end
The following code section can be used for any Java code that is
not to be visible to other controllers/views or that contains constructs
currently not supported directly by Web Dynpro (such as inner classes or
member variables etc.). </p>
Note: The content of this section is in no way managed/controlled
by the Web Dynpro Designtime or the Web Dynpro Runtime.
//@@begin others
int nomineeTableSize = 0;
int displayTablesize = 0;
String operation= null;
int size=5;
// float dupePercentage=0;
//String mod_op="MOD";
//@@end
content of obsolete user coding area(s) -
//@@begin obsolete:javadoc:onActionSave(ServerEvent)
// /** Declared validating even
Component controller code
// This file has been generated partially by the Web Dynpro Code Generator.
// MODIFY CODE ONLY IN SECTIONS ENCLOSED BY @@begin AND @@end.
// ALL OTHER CHANGES WILL BE LOST IF THE FILE IS REGENERATED.
package com.gmr.ess;
// IMPORTANT NOTE:
// ALL IMPORT STATEMENTS MUST BE PLACED IN THE FOLLOWING SECTION ENCLOSED
// BY @@begin imports AND @@end. FURTHERMORE, THIS SECTION MUST ALWAYS CONTAIN
// AT LEAST ONE IMPORT STATEMENT (E.G. THAT FOR IPrivateAPP).
// OTHERWISE, USING THE ECLIPSE FUNCTION "Organize Imports" FOLLOWED BY
// A WEB DYNPRO CODE GENERATION (E.G. PROJECT BUILD) WILL RESULT IN THE LOSS
// OF IMPORT STATEMENTS.
//@@begin imports
import java.util.Iterator;
import com.gmr.ess.wdp.IPrivateAPP;
import com.gmr.pck.Bapi_Employee_Getdata_Input;
import com.gmr.pck.Bapip0002B;
import com.gmr.pck.Z_Hrfm_Nominee_Disp_Input;
import com.gmr.pck.Z_Hrfm_Nominee_Ins_Mod_Input;
import com.gmr.pck.Zst_Hr_Nominee;
import com.sap.lcr.api.util.SetProfileConnect;
import com.sap.tc.webdynpro.modelimpl.dynamicrfc.WDDynamicRFCExecuteException;
import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
//@@end
//@@begin documentation
//@@end
public class APP
Logging location.
private static final com.sap.tc.logging.Location logger =
com.sap.tc.logging.Location.getLocation(APP.class);
static
//@@begin id
String id = "$Id$";
//@@end
com.sap.tc.logging.Location.getLocation("ID.com.sap.tc.webdynpro").infoT(id);
Private access to the generated Web Dynpro counterpart
for this controller class. </p>
Use <code>wdThis</code> to gain typed access to the context,
to trigger navigation via outbound plugs, to get and enable/disable
actions, fire declared events, and access used controllers and/or
component usages.
@see com.gmr.ess.wdp.IPrivateAPP for more details
private final IPrivateAPP wdThis;
Root node of this controller's context. </p>
Provides typed access not only to the elements of the root node
but also to all nodes in the context (methods node<i>XYZ</i>())
and their currently selected element (methods current<i>XYZ</i>Element()).
It also facilitates the creation of new elements for all nodes
(methods create<i>XYZ</i>Element()). </p>
@see com.gmr.ess.wdp.IPrivateAPP.IContextNode for more details.
private final IPrivateAPP.IContextNode wdContext;
A shortcut for <code>wdThis.wdGetAPI()</code>. </p>
Represents the generic API of the generic Web Dynpro counterpart
for this controller. </p>
private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdControllerAPI;
A shortcut for <code>wdThis.wdGetAPI().getComponent()</code>. </p>
Represents the generic API of the Web Dynpro component this controller
belongs to. Can be used to access the message manager, the window manager,
to add/remove event handlers and so on. </p>
private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdComponentAPI;
public APP(IPrivateAPP wdThis)
this.wdThis = wdThis;
this.wdContext = wdThis.wdGetContext();
this.wdControllerAPI = wdThis.wdGetAPI();
this.wdComponentAPI = wdThis.wdGetAPI().getComponent();
//@@begin javadoc:wdDoInit()
/** Hook method called to initialize controller. */
//@@end
public void wdDoInit()
//@@begin wdDoInit()
//$$begin Service Controller(1490375209)
// wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().bind(new Z_Hrfm_Nominee_Ins_Mod_Input());
Z_Hrfm_Nominee_Ins_Mod_Input input = new Z_Hrfm_Nominee_Ins_Mod_Input();
input.addNominee(new Zst_Hr_Nominee());
wdContext.nodeZ_Hrfm_Nominee_Ins_Mod_Input().bind(input);
//$$end
//$$begin Service Controller(-932523997)
wdContext.nodeZ_Hrfm_Nominee_Disp_Input().bind(new Z_Hrfm_Nominee_Disp_Input());
//$$end
//$$begin Service Controller(-368783613)
wdContext.nodeBapi_Employee_Getdata_Input().bind(new Bapi_Employee_Getdata_Input());
//$$end
//@@end
//@@begin javadoc:wdDoExit()
/** Hook method called to clean up controller. */
//@@end
public void wdDoExit()
//@@begin wdDoExit()
//@@end
//@@begin javadoc:wdDoPostProcessing()
Hook called to handle data retrieval errors before rendering.
After doModifyView(), the Web Dynpro Framework gets all context data needed
for rendering by validating the contexts (which in turn calls the supply
functions and supplying relation roles). In this hook, the application
should handle the errors which occurred during validation of the contexts.
Using preorder depth-first traversal, this hook is called for all component
controllers starting with the current root component.
Permitted operations:
- Flushing model queue
- Creating messages
- Reading context and model data
Forbidden operations:
- Invalidating model data
- Manipulating the context
- Firing outbound plugs
- Creating components
@param isCurrentRoot true if this is the root of the current request
//@@end
public void wdDoPostProcessing(boolean isCurrentRoot)
//@@begin wdDoPostProcessing()
//@@end
//@@begin javadoc:wdDoBeforeNavigation()
Hook before the navigation phase starts.
This hook allows you to flush the model queue and handle any
errors that occur. Firing outbound plugs is allowed in this hook.
Using preorder depth-first traversal, this hook is called for all component
controllers starting with the current root component.
@param isCurrentRoot true if this is the root of the current request
//@@end
public void wdDoBeforeNavigation(boolean isCurrentRoot)
//@@begin wdDoBeforeNavigation()
//@@end
//@@begin javadoc:wdDoApplicationStateChange()
Hook that informs the application about a state change.
<p>
This hook is called e.g. to tell the application that will be
<ul>
<li>left via a suspend plug and therefore should go into a suspend/sleep
mode with minimal need of resources. errors that occur. Firing
outbound plugs is allowed in this hook.
<li>left due to a timeout and could write it's state to a data base if the
user comes back later on
</ul>
The concrete reason is available via IWDApplicationStateChangeInfo
<p>
<b>Important</b>: This hook is called for the top level component only!
@param stateChangeInfo contains the information about the nature of the state change
@param stateChangeReturn allows the application to ask for a different state change.
The framework is allowed to ignore it considering i.e. the current resources situation.
//@@end
public void wdDoApplicationStateChange(com.sap.tc.webdynpro.progmodel.api.IWDApplicationStateChangeInfo stateChangeInfo, com.sap.tc.webdynpro.progmodel.api.IWDApplicationStateChangeReturn stateChangeReturn)
//@@begin wdDoApplicationStateChange()
//@@end
//@@begin javadoc:executeBapi_Employee_Getdata_Input()
/** Declared method. */
//@@end
public void executeBapi_Employee_Getdata_Input( )
//@@begin executeBapi_Employee_Getdata_Input()
//$$begin Service Controller(1705750894)
IWDMessageManager manager = wdComponentAPI.getMessageManager();
Iterator itrGetData = null;
Bapip0002B out = null;
try
wdContext.currentBapi_Employee_Getdata_InputElement().modelObject().execute();
wdContext.nodeOutput().invalidate();
itrGetData = wdContext.currentOutputElement().modelObject().getPersonal_Data().iterator();
while (itrGetData.hasNext()) {
out = (Bapip0002B) itrGetData.next();
empNo = out.getPerno();
wdContext.currentZ_Hrfm_Nominee_Disp_InputElement().setPernr(empNo);
wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().setPernr(empNo);
// manager.reportSuccess(empNo);
//wdThis.executeZ_Hrfm_Nominee_Disp_Input();
catch(WDDynamicRFCExecuteException e)
manager.reportException(e.getMessage(), false);
//$$end
//@@end
//@@begin javadoc:executeZ_Hrfm_Nominee_Disp_Input()
/** Declared method. */
//@@end
public void executeZ_Hrfm_Nominee_Disp_Input( )
//@@begin executeZ_Hrfm_Nominee_Disp_Input()
//$$begin Service Controller(-366407911)
IWDMessageManager manager = wdComponentAPI.getMessageManager();
try
wdContext.currentZ_Hrfm_Nominee_Disp_InputElement().modelObject().execute();
wdContext.nodeOutput_Nominee().invalidate();
catch(WDDynamicRFCExecuteException e)
manager.reportException(e.getMessage(), false);
//$$end
//@@end
//@@begin javadoc:executeZ_Hrfm_Nominee_Ins_Mod_Input()
/** Declared method. */
//@@end
public void executeZ_Hrfm_Nominee_Ins_Mod_Input( )
//@@begin executeZ_Hrfm_Nominee_Ins_Mod_Input()
//$$begin Service Controller(1524028406)
IWDMessageManager manager = wdComponentAPI.getMessageManager();
try
wdContext.currentZ_Hrfm_Nominee_Ins_Mod_InputElement().modelObject().execute();
wdContext.nodeOutput_nominee_ins_mod().invalidate();
catch(WDDynamicRFCExecuteException e)
manager.reportException(e.getMessage(), false);
//$$end
//@@end
The following code section can be used for any Java code that is
not to be visible to other controllers/views or that contains constructs
currently not supported directly by Web Dynpro (such as inner classes or
member variables etc.). </p>
Note: The content of this section is in no way managed/controlled
by the Web Dynpro Designtime or the Web Dynpro Runtime.
//@@begin others
String empNo = null;
//@@end
Suman
Edited by: sumankumar kurimilla on Dec 23, 2008 9:26 AMHi,
I have checked from RFC side that is working fine only java app its not working can you tell any thing needs to be changed from my application end.
Please check in Savedata action.
Regards,
Suman
Edited by: sumankumar kurimilla on Dec 23, 2008 11:01 AM -
How to access BW RFC FM as web service from Enterprise portal using SSO
We have developed a custom remote function module in our BW system. We are accessing this function module as a webservice from a java class we have written. This java class access the BW webservice and formats the output. We created a webservice on top of this java class and deployed on the Enterprise Portal. SSO is setup between EP and BW systems. So when i make call to the BW RFC webservice, i would like to make use of SSO setup between EP and BW instead of hardcoding the user id and password while calling the webservice. Please advise on how to achive this.
Thanks for the help.
Thanks
Hari
Edited by: Hari Krishna Nalluri on Mar 19, 2008 12:41 PMHi,
Go to webserive perspective -> WebService Configuration -> Expand config node->Security-> Select HTTP Authentication and check Use SAP logon tickets option.
Ashutosh -
Not able to access the links to Planning and Shared Services
Hi,
I am trying to access the links to Planning and Shared Services but I get the following error message.
Error 404--Not Found
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.5 404 Not Found
The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
If the server does not wish to make this information available to the client, the status code 403 (Forbidden) can be used instead. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address.
I tried to restart all the services on all the servers and also restarted the servers but it didn't work.
Please let me know how to fix this issue. Also please let me know where else can I find the logs to the errors.
Thanks.The logs would be a good place to start, if you are not sure where to look post your OS and planning version.
Cheers
John
http://john-goodwin.blogspot.com/ -
Not able to access the links to Essbase Console, Planning and Shared Servic
Hi,
I am trying to access the links to Essbase Console, Planning and Shared Services but I get the following error message.
Error 404--Not Found
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.5 404 Not Found
The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
If the server does not wish to make this information available to the client, the status code 403 (Forbidden) can be used instead. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address.
I tried to restart all the services on all the servers and also restarted the servers but it didn't work.
I found some more errors in the starter file on the Linux box.
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 Detected Java version: 1.6 in: /srv/Oracle/Middleware/jdk160_21/jre\par
Detected OS: Linux\par
parsing buildfile /srv/Oracle/Middleware/EPMSystem11R1/common/config/11.1.2.0/resources/instance/start.xml with URI = file:/s\par
rv/Oracle/Middleware/EPMSystem11R1/common/config/11.1.2.0/resources/instance/start.xml\par
Project base dir set to: /srv/Oracle/Middleware/EPMSystem11R1/common/config/11.1.2.0/resources/instance\par
[antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found\par
.\par
[property] Loading Environment env.\par
Build sequence for target(s) `start' is [start]\par
Complete build sequence is [start, stop, ]\par
\par
start:\par
[starter] oracle.as.management.opmn.optic.OpticException: Error in starting opmn server\par
[starter] Operation aborted because of a system call failure or internal error\par
[starter] at oracle.as.management.opmn.optic.OpmnAdmin.executeCommand(OpmnAdmin.java:310)\par
[starter] at oracle.as.management.opmn.optic.OpmnAdmin.startOpmnServer(OpmnAdmin.java:87)\par
[starter] at com.hyperion.cis.ant.starter.OPMNStarter.startAndReloadOpmnCtl(OPMNStarter.java:177)\par
[starter] at com.hyperion.cis.ant.starter.OPMNStarter.init(OPMNStarter.java:47)\par
[starter] at com.hyperion.cis.ant.starter.StarterEngine.load(StarterEngine.java:133)\par
[starter] at com.hyperion.cis.ant.starter.StarterEngine.execute(StarterEngine.java:105)\par
[starter] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)\par
[starter] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\par
[starter] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\par
[starter] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\par
[starter] at java.lang.reflect.Method.invoke(Method.java:597)\par
[starter] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\par
[starter] at org.apache.tools.ant.Task.perform(Task.java:348)\par
[starter] at org.apache.tools.ant.Target.execute(Target.java:357)\par
[starter] at org.apache.tools.ant.Target.performTasks(Target.java:385)\par
[starter] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)\par
[starter] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)\par
[starter] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)\par
[starter] at org.apache.tools.ant.Project.executeTargets(Project.java:1189)\par
[starter] at org.apache.tools.ant.Main.runBuild(Main.java:758)\par
[starter] at org.apache.tools.ant.Main.startAnt(Main.java:217)\par
[starter] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)\par
[starter] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)\par
[starter] oracle.as.management.opmn.optic.OpticBadXMLConfigException: Error reading formFactorFile: /srv/Oracle/Middleware/\par
user_projects/epmsystem6/config/OPMN/opmn/.formfactor (/srv/Oracle/Middleware/user_projects/epmsystem6/config/OPMN/opmn/.form\par
factor (No such file or directory))\par
[starter] at oracle.as.management.opmn.optic.OpmnPhone.refreshFormFactor(OpmnPhone.java:628)\par
[starter] at oracle.as.management.opmn.optic.OpmnPhone.getLocalOpmnPhone(OpmnPhone.java:99)\par
[starter] at oracle.as.management.opmn.optic.OpmnQuery.getLocalOpmnQuery(OpmnQuery.java:77)\par
[starter] at com.hyperion.cis.ant.starter.OPMNStarter.init(OPMNStarter.java:48)\par
[starter] at com.hyperion.cis.ant.starter.StarterEngine.load(StarterEngine.java:133)\par
[starter] at com.hyperion.cis.ant.starter.StarterEngine.execute(StarterEngine.java:105)\par
[starter] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)\par
[starter] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\par
[starter] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\par
[starter] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\par
[starter] at java.lang.reflect.Method.invoke(Method.java:597)\par
[starter] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\par
[starter] at org.apache.tools.ant.Task.perform(Task.java:348)\par
[starter] at org.apache.tools.ant.Target.execute(Target.java:357)\par
[starter] at org.apache.tools.ant.Target.performTasks(Target.java:385)\par
[starter] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)\par
[starter] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)\par
[starter] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)\par
[starter] at org.apache.tools.ant.Project.executeTargets(Project.java:1189)\par
[starter] at org.apache.tools.ant.Main.runBuild(Main.java:758)\par
[starter] at org.apache.tools.ant.Main.startAnt(Main.java:217)\par
[starter] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)\par
[starter] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)\par
[starter] Caused by: java.io.FileNotFoundException: /srv/Oracle/Middleware/user_projects/epmsystem6/config/OPMN/opmn/.formf\par
actor (No such file or directory)\par
[starter] at java.io.FileInputStream.open(Native Method)\par
[starter] at java.io.FileInputStream.<init>(FileInputStream.java:106)\par
[starter] at java.io.FileReader.<init>(FileReader.java:55)\par
[starter] at oracle.as.management.opmn.optic.OpmnPhone.refreshFormFactor(OpmnPhone.java:623)\par
[starter] ... 22 more\par
( Feb 06, 2012 04.33.13 PM ) Pass [00 min 05 sec] Starting BPMS_bpms1_Server\par
[starter] oracle.as.management.opmn.optic.OpticException: Error in starting opmn server\par
[starter] Operation aborted because of a system call failure or internal error\par
[starter] at oracle.as.management.opmn.optic.OpmnAdmin.executeCommand(OpmnAdmin.java:310)\par
[starter] at oracle.as.management.opmn.optic.OpmnAdmin.startOpmnServer(OpmnAdmin.java:87)\par
[starter] at com.hyperion.cis.ant.starter.OPMNStarter.startAndReloadOpmnCtl(OPMNStarter.java:177)\par
[starter] at com.hyperion.cis.ant.starter.OPMNStarter.start(OPMNStarter.java:115)\par
[starter] at com.hyperion.cis.ant.starter.StarterEngine.start(StarterEngine.java:190)\par
[starter] at com.hyperion.cis.ant.starter.StarterEngine.execute(StarterEngine.java:112)\par
[starter] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)\par
[starter] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\par
[starter] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\par
[starter] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\par
[starter] at java.lang.reflect.Method.invoke(Method.java:597)\par
[starter] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)\par
[starter] at org.apache.tools.ant.Task.perform(Task.java:348)\par
[starter] at org.apache.tools.ant.Target.execute(Target.java:357)\par
[starter] at org.apache.tools.ant.Target.performTasks(Target.java:385)\par
[starter] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)\par
[starter] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)\par
[starter] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)\par
[starter] at org.apache.tools.ant.Project.executeTargets(Project.java:1189)\par
[starter] at org.apache.tools.ant.Main.runBuild(Main.java:758)\par
[starter] at org.apache.tools.ant.Main.startAnt(Main.java:217)\par
[starter] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)\par
[starter] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)\par
( Feb 06, 2012 04.33.31 PM ) Pass [00 min 05 sec] Starting OHS\par
( Feb 06, 2012 04.41.51 PM ) Fail [08 min 20 sec] Starting FoundationServices\par
\par
BUILD SUCCESSFUL\par
Total time: 8 minutes 55 seconds\par
Please let me know how to fix this issue. Also please let me know where else can I find the logs to the errors.
Thanks.The logs would be a good place to start, if you are not sure where to look post your OS and planning version.
Cheers
John
http://john-goodwin.blogspot.com/ -
Hello,
Ihave a VBA code that calls a BAPI via RFC to checkout a document. The Problem is that I get an error like in the subject. Here is my Code
Private Declare Sub RfcAllowStartProgram Lib "librfc32.dll" (value As Any)
Sub checkout_file()
Dim oDocument As Object
Dim oDocumentFile As Object
Dim oDocumentFiles As Object
Dim oReturn As Object
Dim oBAPICtrl As Object
'Creating BAPI object
Set oBAPICtrl = CreateObject("SAP.BAPI.1")
Set oConnection = oBAPICtrl.Connection
If oConnection.Logon(0, False) = False Then
MsgBox "No access to R/3 System"
Exit Sub 'Programm beenden
End If
RfcAllowStartProgram ByVal 0&
'Creating lokal instance of BO "Draw"
Set oDocument = oBAPICtrl.GetSAPObject("DRAW", "PM2", "A5N00030059989", "D", "000")
If Err.Number <> 0 Then
MsgBox "No local BO 'Draw' created!"
Exit Sub
End If
Set oDocumentFile = oBAPICtrl.DimAs(oDocument, "CheckOutView2", "DocumentFile")
oDocumentFile("WSAPPLICATION") = "DOC"
oDocument.CheckOutView2 OriginalPath:="D:\test\", _
DocumentFile:=oDocumentFile, _
DOCUMENTFILES:=oDocumentFiles, _
DocumentStructure:=oDocumentStructure, Return:=oReturn
MsgBox oDocumentFiles.RowCount
MsgBox oReturn("MESSAGE")
Set oConnection = Nothing
Set oBAPICtrl = Nothing
End Sub
I have the newest librfc32.dll in my System32 folder (Version 7110.0.46.6208). Where is the problem? Can it be a problem on the application server or something?
Thank you,
ThomanderHi Thomander,
Note 885058 indicates that the problem is resolved with the latest
RFC and ICU files. The RFC library is contained in the RFCSDK, please
ensure that you are using the latest SDK, it can be downloaded from the
following location:
Support Packages and Patches
==> Additional Components
==> SAP NW RFC SDK
==> SAP NW RFC SDK 7.10
==>Your OS
ICU libraries can be downloaded from service market place as part of
sap kernel. There are contained in the complete package sapexe.car
& in a seperate package UCLIB.sar
-> service.sap.com/patches
-> Entry by application group
-> additional component
-> SAP Kernel [ select the correct versions] & download the file
The naming convention of the library files varies depending on the
operating system, they may be called
"libicuuc.so.26", "libicuuc.sl.26", "libicuuc26.so" or "icuuc26.dll",
for example. You must therefore adjust the unpacking statements
accordingly.
Unpack the library to the temporary directory & then move it to the
kernel directory ("/usr/sap/<SID>/SYS/exe/run").
Caution: Make sure that the libicu* libraries do not overwrite any
existing files.
Once you are using the latest RFC and ICU files you should be ok.
Maybe the information in the following link could also be useful for this kind of error:
https://www.sdn.sap.com/irj/scn/wiki?path=/display/plm/i001Win32error+2
Best regards,
Christoph -
How to call the RFC's from the third party applications or Non SAP applicat
Hi,
For calling RFC's from the wedynpro , SAP has provided the modeling concept.
In the same way, if i want to access or call the RFC 's from the third applications or Non SAP applications what is the procedure and what is the methodoligy.
As per my knowledge, we need to expose those RFC's as webservices . Then we must be able to acces in hetrogeous environment from any third party applications..
Please revert back soon, It is very urgent.
Regards
VijayAyyappa Raj,
Thanks for the reply.
Please let me the detailed information for implementing.
AS you said . I need expose the RFC's as webservice. This point is clear to me.
2) Use tthe JCo to connect and create client proxy.
Can u please elabrate the above point?
If u have any steps created in the document or url to refer. Please forward it to me.
Please forwar the document to this id "vijay00" in yahoo.
AS the sdn is not allowing to give the maill id i have given only the id details in yahoo.
I am new to this procedure.
Regards
Vijay -
Hi,
I have to work on RFC FM. Can any body give me the info about the RFC? especially for Function module?
Will give Reward points
regards,RamHi
RFC (Remote Function Call) is similar to the general SAP fun module: except that in the attributes you click the radio button: RFC enabled;
and you will be passing an Import parameter DESTINATION to it.
Other code and usage will be similar to any fun module;
Have a look at any fun module in SE37 to understand better about the different components of Fun modules;
Refer this link:
http://help.sap.com/saphelp_nw04/helpdata/en/22/042518488911d189490000e829fbbd/frameset.htm
Function Modules doc
Function Modules;
Check this matter.
Function Modules are Global ABAP programs created by SAP for reusable purpose.they have IMPORT,EXPORT and TABLE parameters, and EXCEPTIONS to through when error occurs.
You can create them from TCode SE37.
Go through the following doc:
Function modules are cross-program, reusable procedures that are organized into function groups, and whose functions are implemented between the statements FUNCTION and ENDFUNCTION. Function modules and their interfaces are created in the Function Builder.
Function Module Interfaces
The parameter interface of a function module is defined in the Function Builder. It includes the definition of interface parameters and the specification of exceptions that can be triggered by a function module. The Function Builder automatically generates comment lines below the FUNCTION statement in the source code of the function module, which represent the interface of the function module with the following syntax:
Syntax
... [IMPORTING parameters]
[EXPORTING parameters]
[CHANGING parameters]
[TABLES table_parameters]
[{RAISING|EXCEPTIONS} exc1 exc2 ...]
The syntax and semantics of IMPORTING, EXPORTING, CHANGING, RAISING, and EXCEPTIONS mainly correspond to the definition of method interfaces with [CLASS-]METHODS. The additional option of defining table parameters using TABLES is obsolete.
Interface parameters
The interface parameters are defined on the relevant tab pages in the Function Builder.
IMPORTING parameters are input parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input parameter. The content of the actual parameter is passed to the input parameter when the call is made. The content of an input parameter for which 'pass by reference' is defined cannot be changed in the function module.
EXPORTING parameters are output parameters. When the function module is called, a suitable actual parameter can be specified for every output parameter. The content of an output parameter that is defined for 'pass by value' is transferred to the actual parameter if the function module is completed without errors. An output parameter that is defined for pass by reference is not initialized when the function module is called.
CHANGING parameters are input and output parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input or output parameter. When the function module is called, the content of the actual parameter is passed to the input/output parameter, and when the function module is completed, the content of the input/output parameter is passed to the actual parameter.
TABLES parameters are table parameters. Table parameters are obsolete CHANGING parameters that are typed as standard tables with a header line. If an internal table without a header line or a table body is passed as an actual parameter to a formal parameter of this type, an empty local header line is generated in the function module. If an internal table with a header line is used as an actual parameter, both the table body and the header line are passed to the function module. Pass by value is not possible in formal parameters defined using TABLES. Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created for the internal table in the function module by using the addition LIKE LINE OF itab of the DATA statement.
Exceptions
The exception of a function module are defined on the Exceptions tab page in the Function Builder. Here you can select exception classes to define whether class-based exceptions are declared or non-class-based exception are defined. Class-based exceptions are represented in the above syntax by RAISING, and non-class-based exceptions are represented by EXCEPTIONS.
The addition RAISING is used to declare class-based exceptions that can be propagated from the function module to the caller. Exceptions in the categories CX_STATIC_CHECK and CX_DYNAMIC_CHECK must be explicitly declared, otherwise a propagation can lead to an interface violation. A violation of the interface leads to the treatable exception CX_SY_NO_HANDLER. Exceptions of the category CX_NO_CHECK are implicitly always declared. The declaration of exceptions of the category CX_STATIC_CHECK is statically checked in the syntax check. For exceptions of the category CX_DYNAMIC_CHECK, the check is not performed until runtime. In a function module in which class-based exceptions are declared with the RAISING addition, the statement CATCH SYSTEM-EXCEPTIONS cannot be used. Instead, the relevant treatable exceptions should be handled in a TRY control structure.
The addition EXCEPTIONS is used to define a list of non-class-based exceptions that can be triggered in the function module using the statements RAISE or MESSAGE RAISING. Exceptions defined in this way - as with formal parameters - are bound to the function module and cannot be propagated. If an exception of this type is triggered in a function module, and no return value has been assigned to it with the homonymous addition EXCEPTIONS of the CALL FUNCTION statement when the call was made, this leads to a runtime error.
Note
For new developments after release 6.10, SAP recommends that you work with class-based exceptions that are independent of the function module.
RFC is a technology which is used to access a functions (Modules) from
the remote systems.
If a function module is set as remote enabled which can be access from
the remote system via RFC.Eg: U can access the Remote enabled function modules in ur VB,Webdynpro,Java,Visual composer program.
A function module can be set as remote enabled by SE37->Go to ur FM->click the option Button "remote enabled".
But Normal function modules can not accessd from the remote system.
Good Example for RFC enabled function module is : BAPI(Business Application Programming Interface)
Note: All BAPIs are Remote enabled but not all remote enabled function modules are BAPI.
CALLING A FUNCTION MODULE:
1)In U ABAP Editor --> Click "Patter" ---> Selection Option Button "Call Function"
--> Write the Corresponding FM name --> Hit Enter
2)The appropriate import ,export Parameters will be displayed in ur editor
3)Pass the Values Here.
Also check these links.
http://www.geocities.com/victorav15/sapr3/abapfun.html
Check this link:
http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
Check this link:
http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
See the following links:
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
Reward points for useful Answers
Regards
Anji -
Could not access the central system - CUA problem
Hi all,
Please help me with this problem.
Its just a test scenario, when everything will be good here, i have to do the same for Production.
We just did upgrade our R3 system from 4.6 to ECC6.0.
I created CUA on DB1100 ( Dev BW 4.6 ) with two child systems 1) DC1150 ( Dev CRM 4.6)
2) DE1400 ( DEV ECC 6.0 ).
Now everything is working fine between DB1100 and DC1150..
It works like CUA ( DB1100) and child (DC1150) systems as it should be.
But connection between DB1100 and DE1400 is not working fine. When you go to SU01 in DE1400, it does not allow me to change anything. It means connection is there and DB1100 is taking DE1400 as child system but when i am updating any user information or roles in DB1100 it is not updating child system DE1400.
And when i went to tcode SCUA in DE1400 it gave me this error.
"Could not access the central system DB1100".
I dont know whats happening. I did same config in DE1400 as i did in DC1150. DC1150 is working fine but not DE1400.
The most weird thing is that DB1100 is thinking DE1400 as child system and i can not make any changes to DE1400 directly.
please help me with this. What i can do to make this working between DB1100 and DE1400??
i need to do the same in production if it gets passed.
Thanks in Advance.Hi mala_swa,
seems that you have a problem with the rfc-connections....
Please check in both directions. The connection have to work without problems.
Check SCUL in DB1100 - what is the status of the distributed users? Errors, unconfirmed?
Check idocs in DE1400. Are there some? What is their status?
The most common error is coming from not working rfc-connections. That brings for instance problems while generationg partner profiles, etc. Also the strict naming convention (log. system name=system name in CUA landscape = name of used RFC-connections) has to be considered....
So that are some points, that you could check.
good luck,
Bernhard -
Accessing the Logon User Exit from the Internet using an ITS Service
I can access the Logon User Exit (EXIT_SAPLSUSF_001) from R/3, but not from the Web using an ITS service. What am I missing in order to access the Logon User Exit from the Web. The ITS service was created from an ABAP screen program.
Thanks
david yeeThe SAPGui logon exit is called after successfull authentication has been completed and after a SAPGui session has been attached.
If you logon via RFC, WebGui, ICM or the Wgate then this exit does not trigger.
What are you wanting to add to your code after the logon ?
An solution I have used is to create a wrapper RFC for a BAPI and create a webservice for the wrapper. Before calling the BAPI you can do whatever you want to from a security perspective.
But for that you need to have an appropriate BAPI...
Please explain what you want to do and what you would have wanted in the exit. Often there is a better way.
Cheers,
Julius
ps: I moved this to the security forum. -
How can my network access the Internet?
Hi all,
All in GNS3 lab scenario I created.
Hope anybody can shed light on this matter. I have for example a multi area OSPF domain. Like all of my remote sites are in area x, y, and z and all connects to area 0, in the area 0 I have this ASBR 7200 that has an EBGP peer to R1 (ISP) that connects to R2 and R2 connects to R3, which in turn R3 connects back to my ASBR 7200.
I would like to know how can I reach all of the BGP subnets being advertised by R1 (basically the internet) from my remote sites in area x, y and z? As you can see in the topology I am using obviously RFC 1918 addresses on my network and I used all public IP addresses on the BGP routers. I would like to know how I can reach all those for example all 500,000 routes in order for my remote sites to access the internet? I can't redistribute BGP into my OSPF (since it will break). I tried configuring the subnets on my remote sites on the ASBR 7200 using network command, and the BGP routers can see those subnets, but inside my network I cannot see the subnet that I have created in R3 (pretending it's an internet site). What seems to be missing in my config in the ASBR?
Please any inputs gladly appreciated.
Please remove configuration in 3RD_PARTY-7200-ASBR router, I would like to know how can my local sites see loopback 99.99.99.0 in R3 without redistribution into OSPF...
redistribute bgp 65535 subnetsYes you will need to NAT at some point to go from private to public address space. Here is a basic configuration if you are interested:
interface F8
ip nat inside
interface G0
ip nat outside
ip access-list standard NAT
permit 192.168.11.0 0.0.0.255
ip nat inside source list NAT interface G0 overload -
Error when accessing a RFC function
Hi Experts,
I have created a DC for Model and a DC for the Accessing the DC.
Then i tried to remove one of the models from the ModelDC for that i removed all the dependent things in the accessing DC.
But when i try to execute the application, i am getting the following error.
com.xxx.sampptip.Zptip_Asset -
Loader Info -
ClassLoader name: [xxx.com/dcmodelptip] Parent loader name: [Frame ClassLoader] References: common:service:http;service:servlet_jsp service:ejb common:service:iiop;service:naming;service:p4;service:ts service:jmsconnector library:jsse library:servlet common:library:IAIKSecurity;library:activation;library:mail;library:tcsecssl library:ejb20 library:j2eeca library:jms library:opensql common:library:com.sap.security.api.sda;library:com.sap.security.core.sda;library:security.class;library:webservices_lib;service:adminadapter;service:basicadmin;service:com.sap.security.core.ume.service;service:configuration;service:connector;service:dbpool;service:deploy;service:jmx;service:jmx_notification;service:keystore;service:security;service:userstore interface:resourcecontext_api interface:webservices interface:cross interface:ejbserialization sap.com/tcwddispwda sap.com/tcwdcorecomp service:webdynpro service:sld library:tcddicddicservices library:com.sap.aii.proxy.framework library:tcgraphicsigs library:com.sap.mw.jco library:com.sap.lcr.api.cimclient library:sapxmltoolkit library:com.sap.aii.util.rb library:com.sap.util.monitor.jarm library:tcddicddicruntime library:com.sap.aii.util.xml library:tccolapi library:com.sap.aii.util.misc library:tccmi library:tccol~runtime Resources: /usr/sap/PWD/JC35/j2ee/cluster/server0/apps/xxx.com/dcmodelptip/src/java/src.zip /usr/sap/PWD/JC35/j2ee/cluster/server0/apps/xxx.com/dcmodelptip/webdynpro/public/lib/app.jar Loading model: {parent,references,local} -
Whether this is the problem from the Webdynpro side or ABAP Side.
Please let me know, how to solve this problem.
RFC Structure
ZMM_BAPI_INPUT
ZMM_BAPI_INPUTParameters
Thanks & Regards,
PalaniHi Experts,
Please give me a solution for this.
I am accessing the function like this in Webdynpro java
wdComponentAPI.getMessageManager().reportSuccess("Inside MAT Search");
Zmm_Bapi_Ptip_Search_Input input = new Zmm_Bapi_Ptip_Search_Input();
wdContext.nodeZmm_Bapi_Ptip_Search_Input().bind(input);
Zptip_Mat inputMat = new Zptip_Mat();
inputMat.setMaktx(wdContext.currentVn_InputElementsElement().getVa_MatDesc());
inputMat.setMatnr(wdContext.currentVn_InputElementsElement().getVa_MatNo());
inputMat.setWerks(wdContext.currentVn_InputElementsElement().getVa_Plant());
inputMat.setSearch("MCRS");
wdComponentAPI.getMessageManager().reportSuccess("B4 Execution");
wdContext.currentZmm_Bapi_Ptip_Search_InputElement().modelObject().execute();
wdComponentAPI.getMessageManager().reportSuccess("After Execution");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
wdComponentAPI.getMessageManager().reportSuccess("Error in Material Search"+e.getMessage());
wdComponentAPI.getMessageManager().reportException(e.getLocalizedMessage(),true);
Please leet em know, if anywhere i am going wrong.
Thanks & Regards,
Palani
Maybe you are looking for
-
External Hard Drive Failures after iMac internal drive replaced
I was one of those lucky ppl who had to have my internal 1TB Seagate HDD replaced due to the recall. It was replaced on Friday. After the drive was replaced (with another Seagate, ***?), I cloned my previous system back to the new drive (restoring fr
-
Script for desc table_name
I have 198 tables in a schema. I want to spool the output of describe table_name command. need a script.
-
Hi All, I have a one performace issue with sql query , I am fetching data from table its using 2 date columns in where clause. those 2columns indexed seperatly. but when i use = operator query running fast , but if i use > or < for these columns in w
-
I know RKM's query system tables. What advantage does that give me over Standard Reverse Engineering? Jz
-
Importing requisitions using XML...
We have an external system from which we need to import requisitions into Oracle. We would like to use XML. Is there a document describing the correct XML document format for Oracle?