JCO Error Unable to call RFC
Hi Experts,
I am having one WDJ application calling an RFC which has one input parameter and output as a table. When i call the RFC and
deploy the application, i am getting below error.
Could not create JCOClientConnection for logical System: WD_MODELDATA_DEST - Model: class sagia1.com.TRA_Mod.
Please assure that you have configured the RFC connections and/or logical system name properly for this model!
I checked in somany forums and tried with their solutions but not success. I tested and pinged the JCO destination which is
working fine. but ! i am getting the error when i run the application.
Thanks in advance
Suresh
Hi Suresh,
Please check that whether your WD applcation is picking correct JCO Modeldata and Metadata or not in Content Adminsitrator>>Web Dynpro>> Search here.
I think you have entered wrong name :- While creating model, you need to give porper names in
Default Logical System name for model instance (Copy here your JCO modeldata Destination name and paste it here)
Default Logical System name for RFC metadata(Copy here your JCO metadata Destination name and paste it here)
Hope it helps
Regards
Arun
Similar Messages
-
System Failure : FRONTEND_ ERROR raised While Calling RFC from R/3 to CRM
Hi Experts,
I'm Getting the Error System Failure Error "Error has occurred making remote call to method DISPLAY in system CRP_110".
RFC function Module : CRM_FM_ACL_DISPLAY_FPO.
I have Check the RFC Destination and other parameters passed is same.
Please help me to resolve this issue in production and it's wHi Nilesh,
Well if you have already checked whether the FM is available in CRM system, then check SM58 & SM21 for logs of the RFC call. That should have the details for failure.
Also please check if the FM is remote enabled. I dont have access to CRM system, hence cant verify.
Thanks,
Best regards,
Prashant -
Hi,
I'm working on a web dynpro application that involves ARFC calls. After deploying this application to portal, I'm able to call the backend BAPIs with some users but not with all. I tried assigning the Super Admin role to one test user to check whether it solves the problem, but it did not.
What could be the issue here? Something to do with JCo. I'm using uid/pwd for logging on to backend abap system.
Any pointers are appreciated.
Thanks,
Vishwas.Hello Vishwas,
I would say that check for the R/3 authorizations of the user in the backend system rather than in the portal to access the RFC Destination..
Regards,
Shikhil -
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 -
Calling RFC Adapter fails - convert error
Hi,
I have a problem with calling RFC Adapter. I'm using JDBC->XI->RFC scenario. JDBC does just "select 'W' from dual". In the destination SAP system RFC function is created for test purposes. This function has one parameter - string type. After calling it, it should write a sysdate into the SAP Z_ table. The XI should call the function with the 'W' parameter. But this fails. Everything is ok, but calling the RFC returns following error (copied from the Runtime Workbench -> Message Monitoring :
Exception caught by adapter framework: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Expecting a tag to begin with '<' instead of 'W', in "u
(Yes, this is thw whole error message. I don't know what u should be...)
Did someone get this error?
Thanx 4 answers, PeterHello all,
Let me reopen the topic of my colleague. I'm facing the same error though with bit different symptoms. Here it is.
ERROR msg:
Exception caught by adapter framework: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Expecting a tag to begin with '<' instead of 'Z', in "T
The XML message (MainDocument):
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:Z_BAPI_ACCESSIBILITY_TEST_XI xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
<BAPI1008 />
<PARAM>Z_XID_500_ACC</PARAM>
<ZTTOTH_BAPI1008 />
- <b><ZTTOTH_STRUCT>
<PARAM1></b>Z_XID_500_ACC</PARAM1>
</ZTTOTH_STRUCT>
</ns0:Z_BAPI_ACCESSIBILITY_TEST_XI>
According to the error message the parser expects behind string ...<ZTTOTH_STRUCT><PARAM1> another tag, but the question is why.
To make all this more funny here I paste another XML message of BAPI calling which works fine (without the error described above):
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:Z_BAPI_PARAMETERS_TEST_XI xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
<PARAM>Z_XID_500</PARAM>
- <ZTTOTH_STRUCT>
<PARAM1>Z_XID_500</PARAM1>
</ZTTOTH_STRUCT>
</ns0:Z_BAPI_PARAMETERS_TEST_XI>
The BAPI functions are absolutely the same except those other two import-pramater structures (BAPI1008 and ZTTOTH_BAPI1008). I'm gonna to try to add those import-parameter structures into Z_BAPI_PARAMETERS_TEST_XI, but anyway - this is weird.
Does anybody have an idea, what should be wrong ?
Thx. Tom
Message was edited by: Tomas Toth -
Dear All,
In one of my scenarios I have called RFC to my R/3 server. But now ita throwing an error mail that user id/password locked. I am checking the messages in SXMP_MONI and it is showing the following description.
<b>com.sap.aii.af.ra.ms.api.DeliveryException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.af.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.af.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=10.6.4.55 SYSNR=00 GWHOST=10.6.4.55 GWSERV=sapgw00 PCS=1 LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner not reached (host 10.6.4.55, service sapgw00) TIME Sat Mar 17 07:46:10 2007 RELEASE 640 COMPONENT NI (network interface) VERSION 37 RC -10 MODULE nixxi_r.cpp LINE 8684 DETAIL NiPConnect2 SYSTEM CALL SiPeekPendConn ERRNO 10061 ERRNO TEXT WSAECONNREFUSED: Connection refused COUNTER 4</b>
Can u please suggest what is the error and how can it be solved.
Warm Regards,
N.Jainhi,
ya i have checked the RFC connection in SM%( and it is working and also I have tested the authorisation there for tht user and everything is working fine.
but still the error message is coming in SXMB_MONI in every minute.
Warm regards,
N.Jain -
FRF-00025 Unable to call function. Error message: Syntax error in program
hi,
when we try to import the export file,we are getting the following error in the 24th phase
i.e., check DDIC Password.
The Error is
INFO 2007-10-29 15:53:20 [iaxxrfcimp.cpp:1017]
CAbRfcImpl::callLibraryFunction
Generating interface for remote function.
TRACE [iaxxrfcimp.cpp:1056]
CAbRfcImpl::performFunctionCall
Calling function module: INST_RFC_GET_INTERFACE
WARNING[E] 2007-10-29 15:53:21 [iaxxrfcimp.cpp:1089]
CAbRfcImpl::performFunctionCall
FRF-00025 Unable to call function. Error message: Syntax error in program SAPLSUNI . .
TRACE [iaxxrfcimp.cpp:1090]
CAbRfcImpl::performFunctionCall
RFC failure or system exception raised
TRACE [iaxxrfcimp.cpp:1091]
CAbRfcImpl::performFunctionCall
Syntax error in program SAPLSUNI .
TRACE [iaxxbjsmod.cpp:657]
CJSlibModule::showOkCancelBox_impl()
<html>Test logon to SAP System I50 failed.<p>Make sure that the system is started, that the user DDIC exists and that the password of user DDIC is correct.</html>
TRACE [iaxxgenimp.cpp:1093]
showDialog()
waiting for an answer from gui
What Could be the solution for this.
waiting for ur reply
SSHi Friend,
Please check whether or not there is view missing error recorded in dev_w0 trace file.
if there is , you can try to follow this procedure in order to manually
import the missing view definitions.
All steps must be carried out with the <sid>adm user of the target
system and from the install-directory:
1. In the install-directory
<sapinst_instdir>\...COPY\IMPORTT\SYSTEM\ABAP\ORA\UC\DB
create a file SAPVIEW.cmd with the following content:
tsk: "<sapinst_instdir>\...\COPY\IMPORT\SYSTEM\ABAP\ORA\UC\DB\SAPVIEW.TSK"
icf: "
<YOUR_EXPORT_DIRECTORY>\export\DATA\SAPVIEW.STR"
dcf: "<sapinst_instdir>\...\COPY\IMPORT\SYSTEM\ABAP\ORA\UC\DB\DDLORA.TPL"
dat: null
dir: null
ext: null
Please make sure that all paths are written correctly (in one line) and
the refered files are existant and readable. One exception:
The SAPVIEW.TSK file is created with step 2.:
2. Run from the command-line:
R3load -ctf I
<YOUR_EXPORT_DIRECTORY>\export\DATA\SAPVIEW.STR <sapinst_instdir>\...\COPY\IMPORT\SYSTEM\ABAP\ORA\UC\DB\DDLORA.TPL SAPVIEW.TSK ORA -l SAPVIEW.log
If there's a problem reading the 'SAPVIEW.STR' file, copy the
file to the install directory and adapt the path accordingly.
3. Run the view import by:
R3load.exe -i SAPVIEW.cmd -dbcodepage <YOUR_CODE_PAGE> -l SAPVIEW.log
-stop_on_error
4. Check both the SAPVIEW.log and the SAPVIEW.TSK file whether all views
have been created successfully.
If 4. is okay, restart the central instance and check whether you are
able to log on now. If yes, continue 'sapinst' by the option 'retry' or
'continue old installation'.
I Hope It can be helpful.
With Best Regards
Julia -
How to via JCO Call RFC upload file to the SAP DMS.
HI ,ALL :
NOW i want to upload file via JCO,but i upload in sap gui is success ,but jco call RFC is error ,this is my code:
excute this code is not error ,but the data not write to SAP,
//连接SAP
Client client = com.hipfung.jco.JCOFactory.getInstance().getClient();
JCO.Repository repo = new JCO.Repository("ZOA01", client);
//调用RFC函数
IFunctionTemplate ft = repo.getFunctionTemplate("CVAPI_DOC_CHECKIN");
JCO.Function f = ft.getFunction();
IFunctionTemplate ft2 = repo.getFunctionTemplate("BAPI_TRANSACTION_COMMIT");
JCO.Function commitFunction = ft2.getFunction();
//设置传入参数值(注意类型)
//1.传入参数为Field
f.getImportParameterList().setValue("TXB", "PF_DOKAR"); //
f.getImportParameterList().setValue("0000010101010101020000000","PF_DOKNR"); //文档类型
f.getImportParameterList().setValue("01","PF_DOKVR"); //文档版本
f.getImportParameterList().setValue("000","PF_DOKTL");
f.getImportParameterList().setValue("SAPFTPA","PF_FTP_DEST");
f.getImportParameterList().setValue("SAPHTTPA","PF_HTTP_DEST");
// Get content as table
f.getImportParameterList().setValue("TBL", "PF_CONTENT_PROVIDE");
//read file and trans to byte
byte b[]=null;
File inf = new File("d:
test.jpg");
InputStream in;
try {
in = new FileInputStream(inf);
b =new byte[(int)inf.length()]; //创建合适文件大小的数组
in.read(b); //读取文件中的内容到b[]数组
in.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
//set byte to internal table
JCO.Table poItem = f.getTableParameterList().getTable("PT_CONTENT");
poItem.appendRow(); //增加空行
poItem.setValue(b, "ORBLK");
poItem.nextRow();
//运行RFC函数
try
client.execute(f);
client.execute(commitFunction);
catch(JCO.AbapException ae)
System.err.println("JCO.AbapException: < DMS > " + ae);
ae.printStackTrace();
catch(JCO.Exception e)
System.err.println("JCO.Exception: < DMS > " + e);
e.printStackTrace();
//返回参数
JCO.Structure struct = f.getExportParameterList().getStructure("PSX_MESSAGE");
String te = struct.getString("MSG_TYPE");
System.out.println("RFC Error Type is :"+te);
String pr = struct.getString("MSG_TXT");
System.out.println("RFC get Data is :"+pr);
com.hipfung.jco.JCOFactory.getInstance().release(client);
i can get file via CVAPI_DOC_CHECKoutView
Edited by: pan qiaoming on Mar 15, 2011 3:05 PMHI ,ALL :
NOW i want to upload file via JCO,but i upload in sap gui is success ,but jco call RFC is error ,this is my code:
excute this code is not error ,but the data not write to SAP,
//连接SAP
Client client = com.hipfung.jco.JCOFactory.getInstance().getClient();
JCO.Repository repo = new JCO.Repository("ZOA01", client);
//调用RFC函数
IFunctionTemplate ft = repo.getFunctionTemplate("CVAPI_DOC_CHECKIN");
JCO.Function f = ft.getFunction();
IFunctionTemplate ft2 = repo.getFunctionTemplate("BAPI_TRANSACTION_COMMIT");
JCO.Function commitFunction = ft2.getFunction();
//设置传入参数值(注意类型)
//1.传入参数为Field
f.getImportParameterList().setValue("TXB", "PF_DOKAR"); //
f.getImportParameterList().setValue("0000010101010101020000000","PF_DOKNR"); //文档类型
f.getImportParameterList().setValue("01","PF_DOKVR"); //文档版本
f.getImportParameterList().setValue("000","PF_DOKTL");
f.getImportParameterList().setValue("SAPFTPA","PF_FTP_DEST");
f.getImportParameterList().setValue("SAPHTTPA","PF_HTTP_DEST");
// Get content as table
f.getImportParameterList().setValue("TBL", "PF_CONTENT_PROVIDE");
//read file and trans to byte
byte b[]=null;
File inf = new File("d:
test.jpg");
InputStream in;
try {
in = new FileInputStream(inf);
b =new byte[(int)inf.length()]; //创建合适文件大小的数组
in.read(b); //读取文件中的内容到b[]数组
in.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
//set byte to internal table
JCO.Table poItem = f.getTableParameterList().getTable("PT_CONTENT");
poItem.appendRow(); //增加空行
poItem.setValue(b, "ORBLK");
poItem.nextRow();
//运行RFC函数
try
client.execute(f);
client.execute(commitFunction);
catch(JCO.AbapException ae)
System.err.println("JCO.AbapException: < DMS > " + ae);
ae.printStackTrace();
catch(JCO.Exception e)
System.err.println("JCO.Exception: < DMS > " + e);
e.printStackTrace();
//返回参数
JCO.Structure struct = f.getExportParameterList().getStructure("PSX_MESSAGE");
String te = struct.getString("MSG_TYPE");
System.out.println("RFC Error Type is :"+te);
String pr = struct.getString("MSG_TXT");
System.out.println("RFC get Data is :"+pr);
com.hipfung.jco.JCOFactory.getInstance().release(client);
i can get file via CVAPI_DOC_CHECKoutView
Edited by: pan qiaoming on Mar 15, 2011 3:05 PM -
Exception when using jco to call rfc
Hi All,
When I used JCO to call rfc 'RFC_GET_TABLE_ENTRIES' to get the records of the table 'MARC'. I met the following Exception, it seems that there are too many records in the table. And I have used the import parameter 'MAX_ENTRIES' to set the number of records , but it seems no use. So is there any suggestion to solve this problem?
Exception in thread "main" com.sap.conn.jco.JCoException: (104) RFC_ERROR_SYSTEM_FAILURE: No storage space available for extending an internal table.
at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:602)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.execute(MiddlewareJavaRfc.java:1679)
at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:1018)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1071)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1056)
at com.sap.conn.jco.rt.AbapFunction.execute(AbapFunction.java:251)
at JTest.step4WorkWithTable(JTest.java:179)
at JTest.main(JTest.java:351)
Caused by:
RfcException: [null]
message: No storage space available for extending an internal table.
Return code: RFC_SYS_EXCEPTION(3)
error group: 104
key: RFC_ERROR_SYSTEM_FAILURE
message class: SR
message type: A
message number: 044
message parameter 0: TSV_TNEW_PAGE_ALLOC_FAILED
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcReceive(RfcIoOpenCntl.java:1927)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.execute(MiddlewareJavaRfc.java:1631)
... 6 more
Caused by: com.sap.conn.rfc.exceptions.RfcGetException: No storage space available for extending an internal table.
at com.sap.conn.rfc.engine.RfcImp.ab_rfcerror(RfcImp.java:1233)
at com.sap.conn.rfc.engine.RfcGet.rfcget_run(RfcGet.java:128)
at com.sap.conn.rfc.engine.RfcGet.ab_rfcget(RfcGet.java:23)
at com.sap.conn.rfc.engine.RfcRcv.ab_rfcreceive(RfcRcv.java:32)
at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcReceive(RfcIoOpenCntl.java:1884)
... 7 more
Thank you very muchCongrats Darek!
That function really works... here is my program test:
package integracao.sap.teste;
import java.util.Properties;
import integracao.sap.config.ConfigUtil;
import integracao.sap.funcao.RFC_READ_TABLE;
import com.sap.mw.jco.IRepository;
import com.sap.mw.jco.JCO;
public class TestJCOError {
private static Properties config;
private static JCO.Client createJCOClient(){
JCO.Client client = JCO.createClient(config.getProperty("numClient"), config.getProperty("user"), config.getProperty("password"), "EN", config.getProperty("host"), config.getProperty("numPrograma"));
return (client);
@param args
public static void main(String[] args) {
config = ConfigUtil.getConfig();
JCO.Client client = createJCOClient();
client.connect();
IRepository repository = JCO.createRepository("REP", client);
JCO.Function func = RFC_READ_TABLE.createFunction(repository);
func.getImportParameterList().setValue("MARC", "QUERY_TABLE");
func.getImportParameterList().setValue(";", "DELIMITER");
func.getTableParameterList().getTable("OPTIONS").appendRow();
func.getTableParameterList().getTable("OPTIONS").setValue("MATNR = '000000000000000011'", "TEXT");
func.getTableParameterList().getTable("FIELDS").appendRow();
func.getTableParameterList().getTable("FIELDS").setValue("MATNR", "FIELDNAME");
client.execute(func);
JCO.Table table = func.getTableParameterList().getTable("DATA");
System.out.println("NumRows: " + table.getNumRows());
System.out.println("Content: " + table.getValue("WA"));
Result:
NumRows: 1
Content: 000000000000000011
Hope it helps everybody!
Regards,
Danilo Andrade -
Error when call RFC Function module in R/3
Dear All,
We are trying to call RFC function module CBIF_GLM1_PROCESS_ORDER_READ (This is not a BAPI and also not released ) in R/3 from XI system.
we are facing the error "Error while lookup Exception during processing the payload. Error when calling an adapter by using the communication channel CC_PPPI_MES_RFC_Rcvr (Party: , Service: WCD_320, Object ID: 16563889b449328eac76caa6a3bc592e) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.adapter.rfc.util.bapi.BapiException: Parameter with name RETURN not found.'. Cause Exception: 'com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.adapter.rfc.util.bapi.BapiException: Parameter with name RETURN not found.'."
This is the first time we are doing this configuration.
Could you please let me know what woulbe the reason.read the original message
We are trying to call RFC function module CBIF_GLM1_PROCESS_ORDER_READ (This is not a BAPI and also not released ) in R/3 from XI system.
I am talking about the above Receiver RFC channel which you guys are using to call R/3 from XI. That where you need to change the commit parameter -
Error while calling RFC when using BSP Web Interface
Hi,
we have a problem with the Authorization when we use an Web Interface for BSP. We have assigned all roles to the user which were mentioned in the SAP standard documentation:
R_AREA
R_METHOD
R_PACKAGE
R_PARAM
R_PLEVEL
R_PM_NAME
R_PROFILE
R_STS_PT
R_STS_SUP
R_WEBITF
S_RS_ADMWB
S_RS_AUTH
S_RS_COMP
S_RS_COMP1
S_RS_DAS
S_RS_ICUBE
but we still get the error message: "Error while calling RFC".
When using a user with SAP_ALL, it works.
What can we do?
Thx for your time.
JoergActually that's surprising - because BSP (Business Server Pages) and RFC (Remote Function Call) are not related; they use totally different transport protocols (http vs. RFC). Even if an BSP application is calling a function module remotely (acting as RFC client) no authorizations for S_RFC are required - in the calling system (but in the called system, i.e. the RFC server).
Since assigning SAP_ALL seems to "cure" the problem, it seems to be an authorization issue, indeed. In that case it makes sense to use the authorization trace (ST01 - notice: that's specific to one single ABAP application server; you might have to activate the trace on multiple instances) to find out which authorizations are checked / demanded. -
Java call rfc check in original:error while checking in and storing.
hi,experts.
java call rfc check in original:error while checking in and storing. BAPI in the RFC is "BAPI_DOCUMENT_CJANGE2",
the RFC was fine in SE37 and calling by Visual Basic. and in java,when mConnection.setAbapDebug(true), and runing by step and step, was fine too.
if mConnection.setAbapDebug(false) in JAVA, up error in title was displayed.
what cause this error?
Best Regards.Hi Priya
Please use Su53 after getting the error and find any authorization is missing for the user..
S_GUI Full Authorization is required..
Since by giving BASIS Authorization its rectificed, then it shud be mostly due to Auth issues only
Regards
Aby -
Hi all WebDynpro Gurus
I am using EP7.
I am developing an WD application for KM functionality in which I need to call RFC from backend. I followed the "<b>Creating WD application accessing ABAP function</b>" example.
But when I executed the application I got following exception.
<i><b>Root Cause</b>
The initial exception that caused the request to fail, was:
com.sap.lcr.api.cimclient.CIMClientException: java.net.MalformedURLException: URL must have a host part
<b>Correction Hints</b>
Accessing the System Landsape Directory (SLD) failed. Depending on the concrete reason (see root cause) check the following:
is the SLD Supplier in the J2EE engine configured correctly? See the SLD documentation for more details about the SLD and about how to configure it.
are all JCO destinations maintained correctly? Use the preinstalled Web Dynpro Content Admin application to check/edit the destination. Use the Ping and Test functions of the Content Admin to verify that each destination is properly configured.</i>
I checked JcO connections in the webdynpro content admin. There the status is unknown and create tabs are disabled.
I checked the SLD connections in content admin , the entries are as below:
<b>Host name : blank
Port: -1
User: blank
Url: http://.-1/sld</b>
Where could i configure these SLD settings and what should be the new entries ?
I dont have permission to view WebDynpro console.
Please help me out.Vinod,
Claim: "Hello, World" application with WD and RFC is the "Hello, World" application with most complex configuration.
Prove:
1. You need to run http://host:port/sld and import CIM context
2. You need to add technical WebAS ABAP systems to SLD (same URL)
3. You need to run Visual Administrator and setup SLD connection parameters (host, port, user, password)
4. You need to (re)deploy your WD application
5. You need to run web-based WebDynpro Content Administrator and configure JCO connections.
Fortunately, [1]-[4] is necessary only ones per server, [5] is necessary per every application.
Valery Silaev
SaM Solutions
http://www.sam-solutions.net
P.S. After I'd started working with XI I understood that procedure described above is not complex at all -
Hi,
We update the BW landscape for version 7.4 suppport package 4 (whitout HANA).
We use a external system connection to extract data from a SQLServer database (Microsoft Connector 1.1 for SAP/BW)
In the previous version (BW 7.0.1 SP 10) run correctly, but now is in error.
Below the BW error log:
Error: COMMUNICATION_FAILURE with function RSB_API_OHS_3RDPARTY_NOTIFY and target system SQLIS.
Error when opening an RFC connection (CPIC-CALL: 'ThSAPOCMINIT' : cmRc=2 thRc=679 Transaction program not regist).
Error log of Integrations Services
[SAP BI Destination 1 [476]] Error: Microsoft.SqlServer.Dts.SapBw.Connectivity.ERPException: An error occurred during the dispatch of the incoming function. The last return code was "RFC_FAILURE".
em Microsoft.SqlServer.Dts.SapBw.Components.SapBwSourceBWLoader.ProcessInput(Int32 inputID, PipelineBuffer buffer)
em Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "SAP BI Destination 1" (476) failed with error code 0x80131500 while processing input "SAP BI Destination Input" (491). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.
I checked the topic and notes below, but without success
CPIC Return Code 679 - Transaction Program not Registered - ABAP Connectivity - SCN Wiki
Note 1480644 - gw/acl_mode versus gw/reg_no_conn_info.
Note 353597 - Registering RFC server programs
Regards,
BrunoHi Bruno,
We were able to resolve the issue. SAP RDS is assisting us with our upgrade and one of their consultants gave us this fix/workaround.
Edit and add an entry into P:\usr\sap\<SID>\DVEBMGS00\data\reginfo.dat on your BW host server.
Below is the entry I added.
P TP=<NAME OF PROGRAM ID> HOST=<remote hostname where you creating the RFC to> CANCEL=<remote hostname> ACCESS=*
P TP=CTSAPNPSCI_PORTAL_FPS HOST=ctsapnpsci CANCEL=ctsapnpsci ACCESS=*
Then in BW system goto smgw > goto > Expert Funtions > External Security > ReRead ACL (N) & Globally
I hope that this works for you.
Regards
James -
Error message when calling a Business Connector RFC destination from SRM
Hello all,
We are facing one problem with data Purchase Order transmission between SRM 5.0 (SRM_SERVER 5.5, extended classic scenario) and Business Connector 4.7.
We made needed customizing in order to have "XML / XI" output medium available in tab 'Company Data' in "Manage Business Partners" web transaction (by updating BBP_USE_AI table in SM30 transaction).
Then, we implemented BAdI definition BBP_EBPXML_OUT_BADI with method PURCHASEORDER in order to change XI system type to Business Connector.
In this way, PO transfer data between SRM and BC is done using BC Module Function BAPI_POEC_XML_SEND (TCP/IP RFC connection was defined for Purchase Order in BBPC_RFCDEST table).
Nevertheless, even if method BBP_PO_SEND_XML is correctly triggered when PO is created with a vendor with XML output medium, we have in the document output log ("Process Purchase Order" web transaction) an error message:
' Error (Unknown Partner and Message Type. Routing Rule created. Sender: SMR Receiver:) when calling RFC destination BC '
where SRM is the SRM log. sys. and BC the Business Connector log. sys.
Our EAI team is working on it, but if you have any idea, your are welcome !
Thank you in advance.
Regards.
LaurentHello Christian,
Thank you for your help. However, we abandoned this solution between SRM and Business Connector.
So, we followed instructions indicated in OSS note 883693 - "ECS: PO output determination in R/3".
Nevertheless, in order to restrict this behaviour for specific vendors and purchasing organizations, we added some filters.
It is working fine.
However, when the PO is modified in SRM, then order again, PO is modified in R/3 (by the RFC user from SRM) more than once.
As a consequence, we have as much messages as modifications of the order in R/3 (due to multiple RFC access with the SRM RFC user).
Does anybody have an idea to have only one R/3 output message when the PO is modified in SRM ?
One solution could be to check in the NAST table if the time creation of the last output message is lower than, for example, one minute.
If it is the case, we do not allow R/3 ouput message.
Any suggestions is welcome.
Regards.
Laurent.
Maybe you are looking for
-
Open Letter to Palm: You're about to lose a customer
How long have 64-bit Windows client systems been available? A couple of years now? Windows XP 64-bit, Vista 64-bity, and now Windows 7 64-bit? Many (if not most) of the decent laptops are shipping with 64-bit hardware and 64-bit OS's. The industry
-
When I export my file to generate a .pdf, the text box literally has a box around it! How do I make that line disappear?
-
I would like to run arepport that will give me all goods issued from the Main Stores (Plant) to the regional stores ( smaller plants) with material and quantities. Thank you.
-
I used Firefox all the time. I installed Firefox 3.6.11 and it all looked fine. I'm running on XP service pack 3. Now when I bring Firefox up it does not connect to the tabs specified at startup, say that they cannot be found and if you try another o
-
Batch numbers - eliminating batches in form
Hi, I have some items with Batch Numbers. When Im creating invoice (through UI or user entry) and after click to Add button, the form with batches will be shown. In bottom left corner is there a matrix with list of disponibile batches. Is it possible