RFC function call from VB Script
I have an RFC enabled function that I need to call from VBScript. I was working through this issue as a BAPI call but after research and RFC not initialized error messages over and over I am coming to think that the issue is not how I was doing it but what I was trying to do with different objects.
I think the issue is that I was trying to call a RFC function with BAPI methods, I didnt understand that there was I difference but now I do. I don't know how to initialize the RFC on the host system and unsure if I even have all of the components on the host system to make these function calls.
The goal here is to call a function that passes 3 paramters and modifies a user object in SAP.
Hello John,
are you using DCOM Connector? I have a VBScript working correctly, using DCOM Connector, and consuming a Z function module defined as RFC.
What's the error message you're getting?
Regards
Michael
Similar Messages
-
Debugging RFC function module from ECC to CRM
Hi All,
My requirement is to debug an RFC function module present in CRM(7.0) system from ECC(6.0) system. A report program in ECC will call CRM custom FM. I found many posts in SDN with the same issue and tried to implement suggestions provided there. But I couldn't succeed. The approach I followed is:
I logged in to ECC report program and kept an external breakpoint just before the function module call.
I logged in to CRM system, opened the function module and kept an external breakpoint there.
In both the systems I provided the dialogue userid( id through which I log in to SAPGUI) in the system->settings->debugging option.
In CRM I activated the external break point in transaction SRDEBUG.
Now when I execute the report program in ECC, control stops at the breakpoint. If I press F5 at the function call, control is not going to the external break point set in the CRM FM. I am getting output of FM directly.
I tried with different settings like turning on the check box for IP matching and session breakpoint active immediate, switching to classic debugger etc. I also tried to provide the RFC user id instead of dialogue user but system throws exception saying only dialogue userids are allowed. I found that by inserting an infinite loop statement, control goes inside the RFC CRM FM but I prefer not to change the code.
Please let me know if I missed anything.
Thanks and Regards,
NarenHi,
Debug RFC calls
When an RFC function module is called it is usually not possible to debug the call, using the below techniques we can achieve the same. For this example we are calling an RFC enabled FM in ECC system from CRM system.
Scenario 1: Calling a custom RFC FM
STEP 1: Add an infinite loop in the remote custom Function Module (adding a u201CDO. ENDDO.u201D statement at the start of the FM would be enough).
STEP 2: Execute your program in the CRM system. The execution stops at the RFC call, because of the infinite loop.
STEP 3: Now login to the ECC system and go to transaction SM51 select the process which is executing the RFC and navigate to the menu: u201CProgram/Session->Program->Debuggingu201D this triggers the debugger session in a separate window.
Scenario 2: Calling a Standard RFC FM
When we are debugging a standard program we cannot add the infinite loop, hence we cannot go to SM51 and debug the work process. The RFC destination for the ECC system has a User specified, the RFC function module gets executed using this users credentials. Usually the basis team set up the RFC user as non Dialog user, this does not allow debugging. Contact your Basis team and get this changed to a dialog user enabling you to debug RFC function calls via the normal debugger.
Note: User name configured in the RFC destination (transaction SM59)
Note: User type for the RFC User (transaction SU01D)
Hope this will be helpful.. -
How to invoke RFC function module from XI interface
Hi all,
I am having one question, How to invoke RFC function module from XI interface.
Please reply me as soon as possible.
Thanks in advance,
RadhikaHi,
To call the RFC in mapping u need to create the RFC lookups...check these links.
How we have to create the lookups?
Check this weblogs with some screenshots on how to achieve this:
/people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
/people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
/people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
/people/sap.user72/blog/2005/12/06/optimizing-lookups-in-xi
/people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
lookups in xi
XI Design Guidelines
Re: RFC Lookup API
/people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
Regards,
Phani -
How can i debug a rfc being called from sap
hello Gurus,
We made a RFC call from SAP r3 to sap grc nfe......we did not receive any data in sap grc .......we go to SM58 and there it gives
the message "Name or password is incorrect (repeat logon)u201D.
How can i find out where the data has stuck.
Please help.
BR
HoneyHI,
please have a look at the link below..
this may help u !!!
[Re: how can i debug a rfc being called from .net connector (NCO) v2.0?;
Best of Luck !!1
Regards
Ravi -
Java function call from Trigger in Oracle
Moderator edit:
This post was branched from an eleven-year-old long dead thread
Java function call from Trigger in Oracle
@ user 861498,
For the future, if a forum discussion is more than (let's say) a month old, NEVER resurrect it to append your new issue. Always start a new thread. Feel free to include a link to that old discussion if you think it might be relevant.
Also, ALWAYS use code tags as is described in the forum FAQ that is linked at the upper corner of e\very page. Your formulae will be so very much more readable.
{end of edit, what follows is their posting}
I am attempting to do a similar function, however everything is loaded, written, compiled and resolved correct, however, nothing is happening. No errors or anything. Would I have a permission issue or something?
My code is the following, (the last four lines of java code is meant to do activate a particular badge which will later be dynamic)
Trigger:
CREATE OR REPLACE PROCEDURE java_contact_t4 (member_id_in NUMBER)
IS LANGUAGE JAVA
NAME 'ThrowAnError.contactTrigger(java.lang.Integer)';
Java:
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "ThrowAnError" AS
// Required class libraries.
import java.sql.*;
import oracle.jdbc.driver.*;
import com.ekahau.common.sdk.*;
import com.ekahau.engine.sdk.*;
// Define class.
public class ThrowAnError {
// Connect and verify new insert would be a duplicate.
public static void contactTrigger(Integer memberID) throws Exception {
String badgeId;
// Create a Java 5 and Oracle 11g connection.
Connection conn = DriverManager.getConnection("jdbc:default:connection:");
// Create a prepared statement that accepts binding a number.
PreparedStatement ps = conn.prepareStatement("SELECT \"Note\" " +
"FROM Users " +
"WHERE \"User\" = ? ");
// Bind the local variable to the statement placeholder.
ps.setInt(1, memberID);
// Execute query and check if there is a second value.
ResultSet rs = ps.executeQuery();
while (rs.next()) {
badgeId = rs.getString("Note");
// Clean up resources.
rs.close();
ps.close();
conn.close();
// davids badge is 105463705637
EConnection mEngineConnection = new econnection("10.25.10.5",8550);
mEngineConnection.setUserCredentials("choff", "badge00");
mEngineConnection.call("/epe/cfg/tagcommandadd?tagid=105463705637&cmd=mmt%203");
mEngineConnection.call("/epe/msg/tagsendmsg?tagid=105463705637&messagetype=instant&message=Hello%20World%20from%20Axium-Oracle");
Edited by: rukbat on May 31, 2011 1:12 PMTo followup on the posting:
Okay, being a oracle noob, I didn't know I needed to tell anything to get the java error messages out to the console
Having figured that out on my own, I minified my code to just run the one line of code:
// Required class libraries.
import java.sql.*;
import oracle.jdbc.driver.*;
import com.ekahau.common.sdk.*;
import com.ekahau.engine.sdk.*;
// Define class.
public class ThrowAnError {
public static void testEkahau(Integer memberID) throws Exception {
try {
EConnection mEngineConnection = new EConnection("10.25.10.5",8550);
} catch (Throwable e) {
System.out.println("got an error");
e.printStackTrace();
}So, after the following:
SQL> {as sysdba on another command prompt} exec dbms_java.grant_permission('AXIUM',"SYS:java.util.PropertyPermission','javax.security.auth.usersubjectCredsOnly','write');
and the following as the user
SQL> set serveroutput on
SQL> exec dbms_java.set_output(10000);
I run the procedure and receive the following message.
SQL> call java_contact_t4(801);
got an error
java.lang.NoClassDefFoundError
at ThrowAnError.testEkahau(ThrowAnError:13)
Call completed.
NoClassDefFoundError tells me that it can't find the jar file to run my call to EConnection.
Now, I've notice when I loaded the sdk jar file, it skipped some classes it contained:
c:\Users\me\Documents>loadjava -r -f -v -r "axium/-----@axaxiumtrain" ekahau-engine-sdk.jar
arguments: '-u' 'axium/***@axaxiumtrain' '-r' '-f' '-v' 'ekahau-engine-sdk.jar'
creating : resource META-INF/MANIFEST.MF
loading : resource META-INF/MANIFEST.MF
creating : class com/ekahau/common/sdk/EConnection
loading : class com/ekahau/common/sdk/EConnection
creating : class com/ekahau/common/sdk/EErrorCodes
loading : class com/ekahau/common/sdk/EErrorCodes
skipping : resource META-INF/MANIFEST.MF
resolving: class com/ekahau/common/sdk/EConnection
skipping : class com/ekahau/common/sdk/EErrorCodes
skipping : class com/ekahau/common/sdk/EException
skipping : class com/ekahau/common/sdk/EMsg$EMSGIterator
skipping : class com/ekahau/common/sdk/EMsg
skipping : class com/ekahau/common/sdk/EMsgEncoder
skipping : class com/ekahau/common/sdk/EMsgKeyValueParser
skipping : class com/ekahau/common/sdk/EMsgProperty
resolving: class com/ekahau/engine/sdk/impl/LocationImpl
skipping : class com/ekahau/engine/sdk/status/IStatusListener
skipping : class com/ekahau/engine/sdk/status/StatusChangeEntry
Classes Loaded: 114
Resources Loaded: 1
Sources Loaded: 0
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 0
Errors: 0
.... with no explanation.
Can anyone tell me why it would skip resolving a class? Especially after I use the -r flag to have loadjava resolve it upon loading.
How do i get it to resolve the entire jar file?
Edited by: themadprogrammer on Aug 5, 2011 7:15 AM
Edited by: themadprogrammer on Aug 5, 2011 7:21 AM
Edited by: themadprogrammer on Aug 5, 2011 7:22 AM
Edited by: themadprogrammer on Aug 5, 2011 7:23 AM
Edited by: themadprogrammer on Aug 5, 2011 7:26 AM -
Execute Oracle Package Function call from FORTE
Has anyone EVER successfully execute an Oracle Package Function call from FORTE
via " sql execute procedure "?
Here's my question, I am able to execute a stored procedure but hasn't figured
out a way to execute a function which defined in a package. The syntax goes
like this: sql execute procedure <PackageName>.<FunctionName> ( input
input_parm, output output_parm). If anyone EVER successfully execute a
function, please let me know, thanks.You'll need to provide a column alias for the function call:
select func(val) as alias from dual -
RFC Function Call - System not available
Hello,
in my own program i´m using an RFC function call to get data out of our BW - System like this:
CALL FUNCTION 'RRW3_GET_QUERY_VIEW_DATA' DESTINATION i_dest
EXPORTING
i_query = i_query
i_view_id = i_view_id
i_t_parameter = i_t_parameter
IMPORTING
e_axis_data = gt_axis_data
e_cell_data = e_cell_data
EXCEPTIONS
system_failure = 1
communication_failure = 2
OTHERS = 3.
This works fine and fast as long the BW System is up and running. If the BW system is for some reason down my program has very bad performance because this RFC function call is trying for about 10 seconds every time.
Is there a way to avoid this long waiting time? A kind of parameter?
If there is no answer after one or two seconds the programm should continue.
Any ideas for this?
Thanks a lot.
Best regards
Manfredtry the following like look for TTL(time to live) in the doc
http://www.google.co.in/url?sa=t&source=web&cd=5&ved=0CDkQFjAE&url=http%3A%2F%2Fwww.erpgenie.com%2Fsapgenie%2Fdocs%2FSAP%2520Connectors.doc&rct=j&q=ttl%20for%20rfc%20call%20in%20sap%20abap&ei=DShnTv7VGYbWrQeYgPXcCg&usg=AFQjCNGvnINnxj8kYx9IeelUHy0dQPmuMA&cad=rja -
Subroutine call from SAP Script
Hi,
I need to calculate required/outstanding qty. hence am passing existing values of reservation#/item# and issued qty.
both req/out qty are returned blank by the code. please help.
Following is my code segment for a external routine call from SAP Script.
/: PERFORM P_GET_QTY IN PROGRAM ZTEST
/: USING &MSEG-RSNUM&
/: USING &MSEG-RSPOS&
/: CHANGING &REQ_QTY&
/: CHANGING &MSEG-MENGE&
/: CHANGING &OUT_QTY&
/: ENDPERFORM
REPORT ztest .
TABLES resb.
DATA: wa_resb TYPE resb,
req_qty TYPE resb-bdmng,
isd_qty TYPE mseg-menge,
out_qty TYPE resb-bdmng.
FORM p_get_qty TABLES input STRUCTURE itcsy
output STRUCTURE itcsy.
DATA: avlbl TYPE resb-bdmng.
READ TABLE input WITH KEY 'MSEG-RSNUM'.
CHECK sy-subrc = 0.
wa_resb-rsnum = input-value.
READ TABLE input WITH KEY 'MSEG-RSPOS'.
CHECK sy-subrc = 0.
wa_resb-rspos = input-value.
READ TABLE input WITH KEY 'REQ_QTY'.
CHECK sy-subrc = 0.
req_qty = input-value.
READ TABLE input WITH KEY 'MSEG-MENGE'.
CHECK sy-subrc = 0.
isd_qty = input-value.
SELECT SINGLE * INTO wa_resb
FROM resb
WHERE rsnum = wa_resb-rsnum
AND rspos = wa_resb-rspos.
CHECK sy-subrc = 0.
avlbl = wa_resb-bdmng - wa_resb-enmng.
req_qty = avlbl - out_qty.
out_qty = req_qty - isd_qty.
output-name = 'REQ_QTY'.
output-value = req_qty.
MODIFY output TRANSPORTING name value WHERE name = 'REQ_QTY'.
APPEND output.
output-name = 'OUT_QTY'.
output-value = out_qty.
MODIFY output TRANSPORTING name value WHERE name = 'OUT_QTY'.
APPEND output.
ENDFORM.
Thanks,
Ram.Hi Ram,
I think you have to use MODIFY instead of append for the OUTPUT table.
MOdify the table with KEY. This should resolve the problem.
Ram, you can check this code and see how the MODIFY is to be used.
REPORT YLSD999A.
DATA W_LENGTH TYPE I.
* GENERAL PURPOSE SUBROUTINES FOR CALLING FROM SAPSCRIPTS
FORM DISPLAY_POUND TABLES IN_TAB STRUCTURE ITCSY
OUT_TAB STRUCTURE ITCSY.
DATA: COUNT TYPE P VALUE 16.
DATA: W_VALUE(17) TYPE C. "defined as 7 chars to remove pence
DATA: W_CHAR TYPE C.
DATA: W_DUMMY TYPE C.
DATA: W_CURR(3) TYPE C.
* Get first parameter in input table.
READ TABLE IN_TAB INDEX 1.
WRITE IN_TAB-VALUE TO W_VALUE .
* get second parameter in input table
READ TABLE IN_TAB INDEX 2.
MOVE IN_TAB-VALUE TO W_CURR.
IF W_CURR = 'GBP'.
W_CURR = '£'.
ENDIF.
W_LENGTH = STRLEN( W_CURR ).
* look for first space starting at right.
WHILE COUNT > -1.
W_CHAR = W_VALUE+COUNT(1).
* W_CHAR = IN_TAB-VALUE+COUNT(1).
IF W_CHAR = ' '.
COUNT = COUNT - W_LENGTH + 1.
W_VALUE+COUNT(W_LENGTH) = W_CURR.
COUNT = -1.
ELSE.
* W_VALUE+COUNT(1) = W_CHAR.
COUNT = COUNT - 1.
ENDIF.
ENDWHILE.
* read only parameter in output table
READ TABLE OUT_TAB INDEX 1.
OUT_TAB-VALUE = W_VALUE.
MODIFY OUT_TAB INDEX SY-TABIX.
ENDFORM.
Cheers
VJ -
UCCE: Forceful Release an Agent Call from ICM Script, Can I?
Hi, let me explain the requirement first. Customer wants to make their IVR free of cost but they want to start billing only when the call is landed to skill group/agent. So far I can think to make it possible by triggering their billing server by ODBC gateway through Application Gateway process. But also the customer wants to release that particular call when that pre-paid caller is out of charge. They might trigger one of my application or can modify any particular database field and put the calling# into there and my task would be release that call.
I have thought an idea to develop a TCL script run into the voice gateways and release the call from there by searching the particular call with calling#, but I do not know TCL scripting or any idea how to develope TCL , can't I release that call from ICM script? Do I have any control on calls from ICM when the call is landed and connected to agent?
Any help would be hightly appreciated.That's a nasty piece of work. Just imagine how jacked off you would be if you are the customer, you have enough in your bank account to get to an agent who is then starting to help you, and in the middle of your conversation you are simply cut off!
I don't think it's possible - although CVP would be your best shot because of the switch leg.
But not only that, I don't think it is desirable. If you check the customer's balance before going to an agent, that should be sufficient. Anything else is just terrible customer service.
Regards,
Geoff -
Getting Return values from RFC function call with visual basic
Hi,
I am creating a sample app to connect to a SAP system which call its RFC functions created with ABAP. It was known that the function will return more than 1 return values.
SAP Function name ==> "ZFMTP_RFC_GET_RESULT"
Export parameters (to SAP):
- Student Name [char 10] ==> "STUNAME"
- Student ID [char 20] ==> "STUID"
Return values (From SAP):
- Results [char 10] ==> "RESULT"
- Remarks [char 200] ==> "REMARKS"
i have managed to get sample codes for connecting and call a RFC function with vb but they only get a return value. How do i retrieve multiple return values like the above function "RESULT" and "REMARKS"?
Here's my vb code to accessing the function
Dim R3 As Object
Dim FBFunc As Object
Dim returnFunc As Boolean
Dim connected As Boolean
R3 = CreateObject("SAP.Functions")
R3.Connection.Client = "000"
R3.Connection.User = "BCUSER"
R3.Connection.Password = "minisap"
R3.Connection.Language = "DE"
R3.Connection.System = "dtsystem"
R3.Connection.Applicationserver = "xxx.xxx.xxx.xxx"
connected = R3.Connection.Logon(0, True)
If connected <> True Then
MsgBox("Unable to connect to SAP")
End If
FBFunc = R3.add("ZFMTP_RFC_GET_RESULT")
FBFunc.exports("STUNAME") = "Jonny"
FBFunc.exports("STUID") = "12345"
returnFunc = FBFunc.Call() <<== How do i get the return value? or RESULT and REMARKS of the RFC Function?
thanks alot.
Edited by: Eugene Tan on Mar 4, 2008 7:17 AMHi Gregor,
Thanks for the link....i am having some doubts with the codes, hope you can clarify them for me if you know the codes..
Below is the code snippet.
Set impReturn = CHPASS_FN.Imports("RETURN") <<=== is RETURN the standard keyword to get a return object?
expPassword.Value = currpass
expNewPass.Value = newpass
expFillRet.Value = "1"
''' Call change password function
If CHPASS_FN.Call = True Then
outFile.Write (", Called Function")
Message = impReturn("MESSAGE") <<==== So if i have 3 return values..i just replace with the return value variable names?
outFile.WriteLine " : " & Message
Else
outFile.Write (", Call to function failed")
End If
thanks alot...all your help is very appreciated. -
Calling RFC Function module from JAVA
Hi All,
We have created a RFC Function Module for Billing Plan tab in Sales order (BDC). The function Module contains BDC. When we are running the same function module in SAP it is working fine. But when the FM is called in Java , it is allowing only maximum of 5 entries , when we trying to insert at 6th position in billing plan tab, we are getting an error.
Can any one help on this.
Points will be rewarded for helpful answers.
Thanks & Regards,
Kiran II think the problem is because of the number of lines displayed on the screen in the BDC session in the Billing Plan.
You might have to add the page down logic to your BDC program. -
Problem with RFC function module from R/3 to CRM
Hi, i have a RFC function module created in R/3, this is the code:
function Z_CRM_PRODUCTO_INTERLOCUTOR.
""Interfase local
*" IMPORTING
*" VALUE(GV_VKORG) TYPE VKORG
*" VALUE(GV_VTWEG) TYPE VTWEG
*" VALUE(GV_MATNR) TYPE MATNR
*" VALUE(GV_KUNNR) TYPE KUNNR_V
*" EXPORTING
*" VALUE(GV_KDMAT) TYPE MATNR_KU
*" VALUE(GV_POSTX) TYPE KDPTX
*" EXCEPTIONS
*" NOT_FOUND
UNPACK GV_MATNR TO GV_MATNR.
UNPACK GV_KUNNR TO GV_KUNNR.
select single KDMAT POSTX
into (GV_KDMAT, GV_POSTX) from KNMT
where VKORG = GV_VKORG
and VTWEG = GV_VTWEG
and KUNNR = GV_KUNNR
and MATNR = GV_MATNR.
IF sy-subrc <> 0.
RAISE NOT_FOUND.
ENDIF.
endfunction.
When i call this function from CRM, i do it like this:
CALL FUNCTION 'Z_CRM_PRODUCTO_INTERLOCUTOR'
DESTINATION LV_RFCDEST
EXPORTING
GV_VKORG = lv_vkorg
GV_VTWEG = ORGMAN_H-DIS_CHANNEL
GV_MATNR = ORDERADM_I_WRK-ORDERED_PROD
GV_KUNNR = WA_DATOS_PER-N_PAGADOR
IMPORTING
GV_POSTX = IT_POS_LINE-DESCRIPCION
GV_KDMAT = IT_POS_LINE-material
EXCEPTIONS
not_found = 1.
where:
it_pos_line-descripcion type string
it_pos_line-material type string.
Well, my problem is that when debugging, in R/3 the 2 return values have the correct value, but when they are passed to CRM they have only one position.
As i've been told, it was working ok, but it's being wrong since we made a ¿conversion to unicode?. Maybe I should change the type of return ???
Thanks in advance !!!Hello Maria,
Make sure you define your parameters in CRM exactly the same way as in R3, do not use type string here.
So:
it_pos_line-descripcion type C char 40,
it_pos_line-material type C length 35.
Kind regards,
John. -
Can we disable implicit DB commit in JCO RFC function call?
I called RFC function provided by ABAP from JCo connection, found that each RFC function is a db LUW itself. All the db access sql in RFC function is implicit commited.
Till now, to wrap the db access sql in seperate "Update function module" or "Perform on commit" seems to be a choice for me (like most BAPI doing so). But is it the only choice?
The point is, can we disable(or bypass) the implicit DB commit while calling a RFC function from JCo connection?Hi Guru,
Yes you approach is correct, make sure commit/rollback is possible only when a change is/was made in database.
Go through these links will be helpful,
BAPI_TRANSACTION_COMMIT with Web AS/SOAP Interface
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/d352a790-0201-0010-5082-b1a608d22b6c
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/d352a790-0201-0010-5082-b1a608d22b6c
Hope that solves your problem.
Thanks & Regards,
Kathirvel -
Bapi Function call from Crystal reports 2008. import parameters syntax.
Dear,
I have an issue with calling a function directly from Crystal reports (2008) in the R3 system.
(if this belongs in another thread , please add the link if moved !)
I try to get data through function "BAPI_CLASS_GET_CLASSIFICATIONS".
Till now all possible input parameters have no data-result.
I already read other threads stating that 'for example' the Language key needs to be provided in a single character. 'E' in stead of 'EN'.
I also already created a Z-wrap-function that fills out all input parameters 'hardcoded'. This works.
clearly there are som syntax changes in passing the values to R3 when called from Crystal Reports.
Can someone state which syntax has to be followed for numeric fields, for datefields etc. (so when i make these dynamical, I know which syntax should be the outcome of the formula)
in my function that doesn't work I use these selections:
(this function is called in a standard report only calling this function)
{BAPI_CLASS_GET_CLASSIFICATIONS_1.I_LANGU_ISO} = "E" and
{BAPI_CLASS_GET_CLASSIFICATIONS_1.I_LANGU_INT} = "E" and
{BAPI_CLASS_GET_CLASSIFICATIONS_1.T_CLASS_OBJECTS.OBJECT_TYPE} = "MARA" and
{BAPI_CLASS_GET_CLASSIFICATIONS_1.T_CLASS_OBJECTS.OBJECT_KEY} = "000000000000000085" and
{BAPI_CLASS_GET_CLASSIFICATIONS_1.I_CLASSNUM} = "DSWTEST" and
{BAPI_CLASS_GET_CLASSIFICATIONS_1.I_CLASSTYPE} = "001" and
{BAPI_CLASS_GET_CLASSIFICATIONS_1.I_KEY_DATE} = Date (2011, 08, 05)
I already tried other languages or the 'EN' as input.
(I would like to know how the date is passed exaclty to R3.)
The function is of course RFC enabled.
when I call the my Z-function with predefined inputparameters in R3 it does give the wanted result.
FUNCTION ZBAPI_CLASS_GET_CLASSIFICATION.
""Local Interface:
*" TABLES
*" OBJECT_CLASSIFICATION STRUCTURE BAPI_OBJECT_VALUES
*" CLASS_OBJECTS STRUCTURE BAPI_CLASS_OBJECTS
data ZOBJECT_CLASSIFICATION type TABLE OF BAPI_OBJECT_VALUES.
data ZCLASS_OBJECTS type TABLE OF BAPI_CLASS_OBJECTS WITH HEADER LINE.
ZCLASS_OBJECTS-OBJECT_KEY = '000000000000000085'.
ZCLASS_OBJECTS-OBJECT_TYPE = 'MARA'.
Append ZCLASS_OBJECTS.
CALL FUNCTION 'BAPI_CLASS_GET_CLASSIFICATIONS'
EXPORTING
CLASSTYPE = '001'
CLASSNUM = 'DSWTEST'
* KEY_DATE = SY-DATUM
* LANGU_ISO =
* LANGU_INT =
* CHARACTS_OF_CLASS_ONLY =
* IMPORTING
* RETURN =
TABLES
OBJECT_CLASSIFICATION = ZOBJECT_CLASSIFICATION
CLASS_OBJECTS = ZCLASS_OBJECTS
OBJECT_CLASSIFICATION[] = ZOBJECT_CLASSIFICATION[].
ENDFUNCTION.
please advise.
once again if this should be moved to another forum , add the link please!Dear,
I just debugged my Z-function, after adding all input parameters as in the standard BAPI function.
All parameters seems to be passed correctly except from the table parameters from
CLASS_OBJECTS
So all I_parameters are passed :
{ZBAPI_CLASS_GET_CLASSIFICATION.I_LANGU_INT} = "EN" and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_LANGU_ISO} = "EN" and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_KEY_DATE} = Date (2011, 08, 05) and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_CLASSNUM} = "DSWTEST" and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_CLASSTYPE} = "001" and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_CHARACTS_OF_CLASS_ONLY.BAPIFLAG} = ""
but the table parameters aren't coming through:
{ZBAPI_CLASS_GET_CLASSIFICATION.T_CLASS_OBJECTS.OBJECT_TYPE} = "MARA" and
{ZBAPI_CLASS_GET_CLASSIFICATION.T_CLASS_OBJECTS.OBJECT_KEY} = "000000000000000085" and
these are 'blanco' in the function.
also after the function is executed and all data is retrieved, when passing the data back to Crystal reports, once again, the table result isn't passed to Crystal Reports.
please advise -
Duration of an Abap Function call from Java using Jco3
Hi guys!
I would like to use this discussion to get some refernces of the duration Timespan of an RFC call from Java to SAP. At the moment, i need at last about 200ms to call the Abap function. I'm just using one simple import and export parameter (so no deep structures). I think that the reason for my poor performance is, that the Java Tool and the SAP instance are not in the same network. So, i hope some of you have some data, how fast an RFC call from Java using Jco can be executed.
greetings, HannesHi Hannes,
I think you have already got the answer to your question - the network set-up you have is probably the bottleneck. Whenever I've worked with Java <-> ABAP and they are in the same network, I've had no performance problems at all.
Does your RFC contain any complex logic or business processes? Are you able to try and call something that does nothing, say it just accepts an input string and returns it straight away as an export. Do you have any scope for testing with your Java tool on the same network as the SAP system?
Cheers,
G.
Maybe you are looking for
-
HT4759 how to sync my i phone contacts on i cloud
I am unable to sync my contacts on i phone with i cloud do i have to connect i phone
-
Crystal Reports and SAP BW Connectivity for OLAP
Hello, Anybody created Crystal reports off SAP BW Infocubes? For some reason I am not able to create or configure BW sever connection. I installed Crystal reports and SAP enhance cd for OLAP. Thanks Tom
-
SPLWEB state is failed in Weblogic Server Admin console 10.3.3
Hi I am facing some issues in Weblogic Server 10.3.3 Administrator console for development purpose: In deployment category, There will be 1.Splwebservice and 2.Splweb. Splweb state is failed and i am not able to open the ouaf. Under SPLWEB Category,
-
After I save a page, everytime I get the erromessage : While executing onLoad in tempURL_afterSave.htm, the following JavaScript error(s) occurred : In file ""tempURL_afterSave"" : ReferenceError : afterSave is not defined What do I have to do to sol
-
Hi I am using 10g and using awm. I have a view that populates a dimension. This has: YEAR ACCOUNTING_TIME_CODE FY2008 FY2008 FY2008 Q1.2008 FY2008 Q2.2008 FY2008 Q3.2008 FY2008 Q4.2008 These dimensions have a hiearchy of year and then accounting time