XML Problem: RFC Function with XSTRING or raw table (4.6C)
hello,
I have a serialized XML-Document, i.e. a xstring or a raw table. Now I want to write a RFC Function Module that sends/receives this data. I'm running on 4.6C. Is this possible under 4.6C?
I've managed to write a Function module with appropriate parameters (XML in a raw table) that works fine, but I can't declare it as a <b>remote</b> function module. Is there a standard method of importing binary XML Data via RFC in 4.6C?
Regards,
Alexander Schulz
Can you please share the answer?
Similar Messages
-
Rfc functions with export field type exid h
Hi, in WAS700 I encountered rfc functions with export fields of the type exid h
I found in the rfccal.c the following section:
if (*exid == 'h') continue;
I don't know how handle type 'h' (internal table)
with RFC API. Therefore ignore it.
Example function : SWNC_GET_WORKLOAD_STATISTIC
In the rfcsdk docs I can't find a thing how you should handle such an export field.
Any solution for this ?hi hans,
sorry i shouldn't have answered your question. to me RFC is tooo strange. I had a quick look at the FM, searched DDIC for something like exid and had a look at the WSDL of the webservice WSDL of that FM. nothing seemed very complicated to me in terms of a webservice call to it (apart from the semantically...uhm...questionable interface; MEM_OBJS_FR_YOUN anybody?) but I really have no idea of the inner workings of RFC.
sorry again. hope you get it solved here.
anton -
Rfc function with table parameter
Hey,
im trying to call a RFC function from Webdynpro where i have to give a table as parameter. When creating the table i following exception:
java.lang.IllegalArgumentException: model object must not be null
at com.sap.tc.webdynpro.progmodel.context.ModelNodeElement.<init>(ModelNodeElement.java:66)
at be.vrt.wdp.IPublicPlanning_Validation$IP_Update_TableElement.<init>(IPublicPlanning_Validation.java:3667)
at be.vrt.wdp.IPublicPlanning_Validation$IContextNode.doCreateElement(IPublicPlanning_Validation.java:87)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.createElement(NodeInfo.java:854)
at com.sap.tc.webdynpro.progmodel.context.Node.createElementInternal(Node.java:1346)
at com.sap.tc.webdynpro.progmodel.context.Node.createElement(Node.java:1365)
at be.vrt.Planning_Validation.executeRFC_Z_Whatson_Sap_Update_Transmissio_Input(Planning_Validation.java:265)
The code from Planning_Validation (controller class)
public void executeRFC_Z_Whatson_Sap_Update_Transmissio_Input( java.util.Vector nodes, java.lang.String display_value )
//@@begin executeRFC_Z_Whatson_Sap_Update_Transmissio_Input()
Z_Whatson_Sap_Update_Transmiss_Input transmiss = new Z_Whatson_Sap_Update_Transmiss_Input();
//transmiss.addP_Update_Table(new Zmm_S_Update_Status_Table());
wdContext.nodeZ_WHATSON_SAP_UPDATE_TRANSMIS().bind(transmiss);
//wdContext.createP_Update_TableElement(new Zmm_S_Update_Status_Table());
for (int i = 0; i < nodes.size(); i++){
String [] node = (String[])nodes.get(i);
IWDNodeElement el = wdContext.nodeP_Update_Table().createElement();
el.setAttributeValue("Won_Id", node[0]);
el.setAttributeValue("Won_Status", node[1]);
el.setAttributeValue("Display_Status", display_value);
try {
// Call remote function
wdContext.currentZ_WHATSON_SAP_UPDATE_TRANSMISElement().modelObject().execute();
// synchronise data in context with data in model
wdContext.nodeOutput().invalidate();
} catch (WDDynamicRFCExecuteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Line 265 is where i call wdContext.nodeP_Update_Table().createElement();
Any ideas ?
grtz,
HannesHey, thanks .. i managed to solve it
this is the code:
//@@begin javadoc:executeRFC_Z_Whatson_Sap_Update_Transmissio_Input()
/** Declared method. */
//@@end
public void executeRFC_Z_Whatson_Sap_Update_Transmissio_Input( java.util.Vector nodes, java.lang.String display_value )
//@@begin executeRFC_Z_Whatson_Sap_Update_Transmissio_Input()
Z_Whatson_Sap_Update_Transmiss_Input transmiss = new Z_Whatson_Sap_Update_Transmiss_Input();
wdContext.nodeZ_WHATSON_SAP_UPDATE_TRANSMIS().bind(transmiss);
for (int i = 0; i < nodes.size() ; i++){
String [] node = (String[])nodes.get(i);
Zmm_S_Update_Status_Table updEl = new Zmm_S_Update_Status_Table();
updEl.setWon_Id(node[0]);
updEl.setWon_Status(node[1]);
updEl.setDisplay_Status(display_value);
transmiss.addP_Update_Table(updEl);
wdComponentAPI.getMessageManager().reportSuccess("wohoo!");
try {
// Call remote function
wdContext.currentZ_WHATSON_SAP_UPDATE_TRANSMISElement().modelObject().execute();
// synchronise data in context with data in model
wdContext.nodeOutput().invalidate();
} catch (WDDynamicRFCExecuteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//@@end -
RFC Function module needed for getting table details in APO from R/3
Hi,
I need a RFC function module where I can write a query from R/3 to access APO server database table and get the necessary records.
Regards
MacPossible ways
1. Call fm RFC_READ_TABLE and give destination and table name ( But i am not sure how it will work SCIF enviornment of APO)
or
2. Create a custom function module in APO side and call from R/3 side using destnation option
a® -
Problem in dealing with xstrings
Hi,
I am trying to read database field of type 'LRAW' (Length 32000) into a workarea of same data type by executing below statement:
SELECT SINGLE bsegment FROM wbtrbseg INTO ls_wbblob
WHERE clid = '123'.
Here, bsegment and ls_wbblob both are of assigned to same data Element of Data type 'LRAW'.
The problem is that value is not getting copied.
Am i missing something ?
I tried to give target field type as 'RAWSTRING' also but with no use.
Any sort of help is really appreciated.
Best Regards,
SourabhThanks Sesh and Judith !
May be i can explain my main problem :
I have hexdecimal data in LRAW data type field in database table.
This data is passed to internal table with same data type (with your help).
Now i am passing this internal table for XML Transformation to get the XML.
CALL TRANSFORMATION ....
But the problem is that Transformation truncates any trailing zeros from the Hexdecimal data which comes in LRAW data type and this i do not want.
So, my question is that:
can you suggest some data type where LRAW data can be copied ?
I tried to copy it into RAWSTRING but compiler gives incompatibitliy error
TYPES:BEGIN OF target_struc,
ls_clid TYPE wbkey,
ls_blobno TYPE wbint,
ls_bsegno TYPE wbint,
ls_bseglen TYPE wbint2,
ls_bsegment TYPE smoj_bin, <--- smoj_bin has RAWSTRING datatype
END OF target_struc.
DATA: lt_wbtrbseg TYPE TABLE OF target_struc.
SELECT *
FROM wbtrbseg
INTO TABLE lt_wbtrbseg
WHERE clid = '123'. -
Use of time series functions with horizontally fragmented fact tables
Hi Guys,
in OBIEE 10g it wasn't possible to use time series functions [AGO, TO_DATE] on horizontally fragmented fact tables. This was due to be fixed in 11g.
Has this been fixed? Has somebody used this new functionality? What the the limitations?
Tkx
EmilHello,
Can you give us some examples for "horizontally fragmented fact tables", we can tell you whether we can do that or not?
Thanks, -
RFC function is called with null paremeters on SAP side
I used the new version of .Net Connector 2.0.1.
I created a simple client called RFC function with one table parameter and simple RFC function inserts record to simple table on SAP side.
If I call this RFC function from SAP side the record is inserted to my table with correct value.
If I call this RFC function from NET side the record is inserted with null value.
What's wrong ?
Could anybody help me ?
Code :
SAP side
FUNCTION ZRVFRFCNV.
*" TABLES
*" ITDATA STRUCTURE ZRVNAMEVALUE
insert into ZRVNAMEVALUE values ITDATA.
ENDFUNCTION.
Net side
ZRVNAMEVALUE nam_val2 = new ZRVNAMEVALUE();
nam_val2.Name = "100";
nam_val2.Value = "NORD";
ZRVNAMEVALUETable tblTest = new ZRVNAMEVALUETable();
tblTest.Add(nam_val2);
// for testing : dataGrid show correct values
dataGrid1.SetDataBinding(tblTest, "");
this.sapProxy11.Zrvfrfcnv(ref tblTest);The problem was in insert statement. I changed insert to modify on SAP side and solved it.
-
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. -
Call different RFC Functions depending on variable
Hi,
I have to implement following requirement:
My program generates a report for the user and the user can choose which data he wants to have.
Depending on the user decissions, I have to use different RFC - Functions to get the data.
I have the name of the RFC Function und I want to call the RFC Function with this name dynamically.
For example:
rfcName = "Z_FUNC_1";
rfc = get the object for Z_FUNC_1 somehow. This is my problem
rfc.execute();
Is there any way how to solve this? I know that I can solve this like this, but this is not the flexible way that i want:
if (whichRFC == 1) {
Z_Func_1_input rfc = new Z_Func_input();
rfc.execute();
Any ideas?
Best regards,
PeterDear Peter,
There are how many RFC models are you going to make? In my opinion it would be too tedious and redundant as you have to create diifferent models fo each RFC.
Instead of this you may create a single RFC and in that you can call your required RFC depending on the user selection.
It will simplify your application as well as your task.
Hope it helps!!
Warm Regards
Upendra Agrawal -
RFC function Short dump - Function code SPBT_INITIALIZE
Hi ALL,
We are trying to change the Sales orders using the RFC function with Paraller processing. When the function is doing the paraller processing we are getting the runtime error when it tries to initialize using the function module SPBT_INITIALIZE. How can we fix this error.
Here is the description of the error:
Short text of error message:
Init. group IBM_IDOC_CHG not possible as another group IBM_IDOC_ADD is a
lready init.
Technical information about the message:
Diagnosis
The system tried to initialize the environment for processing
parallel RFCs using the function code SPBT_INITIALIZE. Here it was
established that the environment was already initialized for other
PBT groups.
This is a programming error in an application program that uses
parallel RFCs. You can find the name of the program in the ABAP
call stack.
Appreciate your help in this,
Thanks,
SatyaHi,
you need a wrapper RFC to do achive result.
Go tru the thread below you problem should be resolved,
RFC to FILE
You need to map the multi structured file to new RFC structure.
Hope this helps.
Prasad Babu.
Message was edited by:
PrasadBabu Koribilli -
Create XML file from ABAP with SOAP Details
Hi,
I am new to XML and I am not familiar with JAVA or Web Service. I have searched in SDN and googled for a sample program for creating XML document from ABAP with SOAP details. Unfortunately I couldn't find anything.
I have a requirement for creating an XML file from ABAP with SOAP details. I have the data in the internal table. There is a Schema which the client provided and the file generated from SAP should be validating against that Schema. Schema contains SOAP details like Envelope, Header & Body.
My question is can I generate the XML file using CALL TRANSFORMATION in SAP with the SOAP details?
I have tried to create Transformation (Transaction XSLT_TOOL) in SAP with below code. Also in CALL transformation I am not able to change the encoding to UTF-8. It's always show UTF-16.
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
<xsl:template match="/">
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header>
<CUNS:HeaderInfo>
<CUNS:InterfaceTypeId>10006</InterfaceTypeId>
<CUNS:BusinessPartnerID>11223344</BusinessPartnerID>
<CUNS:SchemaVersion>1.0</SchemaVersion>
<CUNS:DateTime>sy-datum</DateTime>
</CUNS:HeaderInfo>
</SOAP:Header>
<SOAP:Body>
<xsl:copy-of select="*"/>
</SOAP:Body>
</SOAP:Envelope>
</xsl:template>
</xsl:transform>
In ABAP program, I have written below code for calling above Transformation.
call transformation ('Z_ID')
source tab = im_t_output[]
result xml xml_out.
call function 'SCMS_STRING_TO_FTEXT'
exporting
text = xml_out
tables
ftext_tab = ex_t_xml_data.
Please help me how to generate XML file with SOAP details from ABAP. If anybody have a sample program, please share with me.
Is there any easy way to create the XML file in CALL Transformation. Please help.
ThanksTry ABAP forum, as it seems not to be PI related.
-
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 -
Collection problem with RFC function module WSDL.
Hi.
I have developed an RFC function module in a SAP system version 4.7 (WAS 620). This FM has 2 table parameters. I have no problem when I see the WSDL in the SAP Web Service Browser.
Another team is trying to consume this RFC FM as a web service from a Java application but they say they can't see the table parameters as collections.
Here is the WSDL of the FM, the table parameters are T_MOVIM and T_ERROR:
<?xml version="1.0" encoding="UTF-8" ?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:s0="urn:sap-com:document:sap:rfc:functions" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="urn:sap-com:document:sap:rfc:functions">
<types>
<xsd:schema targetNamespace="urn:sap-com:document:sap:rfc:functions">
<xsd:element name="ZMMFUSAPTK_0001">
<xsd:complexType>
<xsd:all>
<xsd:element name="GENIDOC" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="T_ERROR">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" minOccurs="0" maxOccurs="unbounded" type="s0:ZMMTASAPTK_0012" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="T_MOVIM">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" minOccurs="0" maxOccurs="unbounded" type="s0:ZMMTASAPTK_0011" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="ZMMFUSAPTK_0001.Response">
<xsd:complexType>
<xsd:all>
<xsd:element name="CODRET">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="T_ERROR">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" minOccurs="0" maxOccurs="unbounded" type="s0:ZMMTASAPTK_0012" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="T_MOVIM">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" minOccurs="0" maxOccurs="unbounded" type="s0:ZMMTASAPTK_0011" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ZMMTASAPTK_0011">
<xsd:sequence>
<xsd:element name="REFERENCIA" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="FECHACONT" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="8" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="FECHADOC" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="8" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CODMOV" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="NROPLAN" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="12" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="NROCOMP" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CLASEMOV" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CENTRO" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ALMACEN" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MATERIAL" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="5" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="LOTE" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CANTIDAD" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="15" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MOTIVOMOV" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CENTROREC" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ALMACENREC" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CENTROCTO" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ORDEN" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="12" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="TIPOSTK" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="NROPEDIDO" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CODCISTERNA" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="50" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ZMMTASAPTK_0012">
<xsd:sequence>
<xsd:element name="REFERENCIA" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CODERR" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="3" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MSJERR" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name="ZMMFUSAPTK_0001Input">
<part name="parameters" element="s0:ZMMFUSAPTK_0001" />
</message>
<message name="ZMMFUSAPTK_0001Output">
<part name="parameters" element="s0:ZMMFUSAPTK_0001.Response" />
</message>
<portType name="ZMMFUSAPTK_0001PortType">
<operation name="ZMMFUSAPTK_0001">
<input message="s0:ZMMFUSAPTK_0001Input" />
<output message="s0:ZMMFUSAPTK_0001Output" />
</operation>
</portType>
<binding name="ZMMFUSAPTK_0001Binding" type="s0:ZMMFUSAPTK_0001PortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="ZMMFUSAPTK_0001">
<soap:operation soapAction="http://www.sap.com/ZMMFUSAPTK_0001" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="ZMMFUSAPTK_0001Service">
<documentation>SAP Service ZMMFUSAPTK_0001 via SOAP</documentation>
<port name="ZMMFUSAPTK_0001PortType" binding="s0:ZMMFUSAPTK_0001Binding">
<soap:address location="http://dbades00.bue.bemberg.com.ar:8002/sap/bc/soap/rfc" />
</port>
</service>
</definitions>
Should I change something in the definition of the parameters of the FM? or the problem is with the parsing process on the other system?
Thanks in advance.
Fabian.Welcome to SDN.
I am not sure about this particular issue, but i have used WSDL from WAS6.20 system in MS Office infopath to consume webservice where we have had table parameters without any issue.
may be try with office infopath to make sure that the problem is with the WSDL or with the java application.
Regards
Raja -
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. -
Problem with german date and rfc function
Hello,
i have created a function with the following import parameter in our ERP System:
DATUM_BIS TYPE DATUM
DATUM_VON TYPE DATUM
SYSTEM TYPE CHAR4
If i use this function as data service in the vc and create an input form by drag and drop then the datas that i type into the inputform will be "translated".
datum_bis: 30.12.07 will be translated to 12.06.2009 (us format)
datum_von: 01.12.07 "" 12.01.2007
Date Format is Local Format.
I need the german format for my application. Who can i reach this
Thank you
Heiko
Edited by: Heiko Rieke on Dec 21, 2007 3:35 PMHey you write the RFC in the backend system as DE as soon as u logon to the system.And u can also export your date as u want from your backend system as per your requirements.You contact the ABAP technical consultants,In ABAP we can specify the date format then you can get as per your requirements.
Maybe you are looking for
-
[help] Publish Report
Hello, I'm still new at oracle report builder, well I still can make a report with report builder, and I understand it pretty well. not much actually, I have a few question, I already search it at google and this forum, but it's still too hard for me
-
Since getting the new version of itunes my movies will not play. Any solution?
Any solutions?
-
How do I cut a circle into equal parts?
I have a circle but I want to cut it into 5 equal parts and have each part on a seperate layer - kind of like a pie chart. Is there a quick and easy way to do this in CS6?
-
Watching video Itunes 7. Cant move from video to video easily
Since I have only a nano I watch podcast video on my computer. But since I updated to ver 7 when I select a video to watch like Rocketboom and watch it if I stop the video in order to watch something else I am kind of locked into that video until I e
-
1. I am new to this forum, can someone let me know how I attach a code tag. 2. Im doing an exercise where I have to enter 20 values into an array . Each value I enter has to be different from a value previously entered value.If the value already exis