Reference-Problem in RFC-Function Module

Hello,
I am new to ABAP. As an introduction I read the book "ABAP Objects" from SAP Press.
I need a web service which returns a before uncertain number of objects.
First I have written a class representing my object. Then I added a new table type to the DDIC which has as "line type" simply my class as referenced type.
Afterwards I have implemented a function module which has an export parameter with the TYPE of my table type. The whole thing works fine, if I configure the function module as a normal function module. As soon as I click on RFC, I get the error message "Reference parameters are not allowed with RFC ". However, I have already clicked "pass by value" for the export- and import-parameters. The problem seems to be the table type with my class as referenced type.
Is the approach in general correct, to create a web service?
How can I fix the problem with the reference?
Best regards
Philipp

Ok, I understand the problem is that I can not export any reference. And therefore no objects because the declaration has to be done with TYPE REF TO...
Can you tell me a little more detailed about the usage of the interface IF_SERIALIZABLE_OBJECT?
Is it possible to serialize the whole internal table which has to exported?
Would it have the same effect like a table type based on a structure with attributes like my object?
Best regards
Philipp

Similar Messages

  • 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.

  • 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

  • Facing Problem with RFC Function Module

    Hi,
    I have created an RFC function module to get some data in table format.
    I have run the RFC in original system: It is giving the data.
    However, when I run this in target system, It is not giving any values.
    Could you please let me know, why it happens? I am not sure where I missed out.
    Thanks,
    Sandeep

    HI,
    i hope you are calling the RFC function module in the target system like this
    CALL FUNCTION <FUNC NAME> DESTINATION <DESTINATION NAME> . The destination should be logical system name of the source Logical system .
    Regards,
    Nagaraj

  • Problem with RFC Function module

    Hello All,
    I have created one RFC with importing parameters as material and material description.when I pass some value in material desc it always convert into the uppercase.I have one option of checkbox for upper/lower case but i have to do it manually evrytime.Is there any solution for making the material desc as case sensitive or we can make the checkbocxticked permanently?
    Regards
    Lalit

    Hi Lalit,
    There is no option for making the input case sensitive .
    One alternate can be using "test data directory " but that will not be of much help if you are changing the materail number each and very time.
    Better convert the materail number to upper/lower case inside FM using convert to -
    Rgds,
    Sandeep

  • Problem in the creation of rfc function module

    hi,
                I am creating one rfc function module comparing to standard non-rfc function module. In that one i have one export parameter with the standard strcture type. but this stcture component contains with strcture type. among all these components four fields are common. but when i am trying to activate function module it is giving message you cannot use internal tables, strings,references, or strctures as components. that function module name is BAL_FILTER_CREATE and that export parameter name is that export parameter name is E_S_LOG_FILTER that associated type is BAL_S_LFIL. how can i solve the problem. pls give me solution as soon as possible.

    hi,
    for rfc fm's u should enable the call by value check box which will appear on that of import and export parameters. tick that one for each parameter in rfc and activate.
    if helpful reward some points.
    with regards,
    Suresh Aluri.

  • Problem while calling an RFC Function Module in Background

    Hello,
    I have created a RFC function module for reading data from an external DB system. The FM calls an external RFC program (coded in C++ using RFC SDK), which delivers the required data. This external program is maintainged as an TCP RFC Connection in SM59.
    Further I have created a report, that calls the RFC function module to get the data from the external RFC programm.
    My problem is, when I call the report in foreground, everything works OK, the RFC connection works and data can be read from the external program.
    However, when I schedule the report to run in background as a job, the report is stating in the protocoll that there was a problem calling the defined RFC connection (although the connection is working properly at that time).
    More funny is, this particular problem with running in background occurs only in the productive system, in test and development system the report works correctly also while running as a job in background.
    Can you suggest the solution to this problem? Could it be something with authorisations or server settings?
    I will be on holiday for the next 6 weeks, so take your time to answer .
    Regards,
    Dusan.
    Edited by: Julius Bussche on Jan 22, 2009 7:19 PM
    Please read the forum rules about u r g e n t ...

    This is an external RFC server program, not a remote enabled ABAP RFC function module as the others seem to be assuming, right?
    Is it possible that your DEV and QAS systems only have one application server, but the PROD has many and dedicated one(s) for processing low priority background jobs?
    It might be that the target server of your TCP connection is not this BTC instance, and your RFC server is returning the data "locally" - so, into nirvana...
    Just guessing, but might be worth checking.
    Cheers,
    Julius

  • Problem while importing RFC function module in XI. Please Help!

    Hi Experts,
               When I try to import RFC function module in XI I get the following error:
                 **Ready for import**
    Import started...
    YCOP_VALIDATE_GR:
      + com.sap.aii.ibrep.sbeans.upload.RemoteUploadException: connection closed without message (CM_NO_DATA_RECEIVED)
    Import failed with 1 error
    Any idea why is this error? How to resolve this?
    Thanks
    Gopal

    Hi
       The problem still persists.
       This is what I have done:
        1. My FM is RFC enabled. In the "Attribute" tab of the FM I have selected "Remote-enabled module" and "Start immed".
    2.Activated and tested the FM.
    3.Released the FM. In se37, Function Module -> Release ->Release. 
    4.Tried to import this FM in XI under "RFC". Get the same error.
    I have some questions:
    1. After releasing the FM do I have to activate it?
    2. In release there is "Internal Release" Do I have to use that?
    3.Do I have to do "Internal Release" first then "Release"?
    4.The FM i am trying to import makes a call to another FM. Both the FMs are in the same system. Both are remote enabled. The second FM updates data in custom table. the first FM which I am importing validates the data and then calls the second FM for update. Do I have to import both FMs?
    Please help me!
    Thanks
    Gopal

  • Rfc functional module problem

    hi
    am created a rfc functional module program(se37) which receives the two input value from calling program and just add and it returns to the calling program(se38).
    the program is executed successfully but the probs is the rfc functional module does not print it executable contents. the calling program does print its executable contents.
    PLZ RESOLVE THIS PROBLEM
    see the calling program and rfc functional module below
    REPORT YSUSEX51.
    PARAMETERS : I1 TYPE I ,
    I2 TYPE I,
    DEST1 LIKE RFCDES-RFCDEST DEFAULT 'NONE'.
    DATA: RESULT TYPE I,
    SYSTEMID TYPE SY-SYSID.
    CALL FUNCTION 'Y_RFCMODULE' DESTINATION DEST1
    EXPORTING
    A = I1
    B = I2
    IMPORTING
    C = RESULT
    SYS = SYSTEMID
    EXCEPTIONS
    INVALID_DATA = 1
    COMMUNICATION_ FAILURE = 2
    SYSTEM_FAILURE = 3.
    CASE SY-SUBRC.
    WHEN 1.
    WRITE: / 'NO DATA AVAIL'.
    EXIT.
    WHEN 2.
    WRITE:/ 'CONNECTION COULD NOT BE ESTABLISHED'.
    WHEN 3.
    WRITE : / 'SYSTEM NOT AVAIL'.
    EXIT.
    ENDCASE.
    WRITE:/ 'INSIDE THE CALLING MACHINE'.
    WRITE: / RESULT.
    WRITE: / SYSTEMID COLOR 7.
    IN THE RFC FUNCTIONAL MODULE IT DOES NOT PRINT THE A ,B,C AND SYS VALUE,
    FUNCTION Y_RFCMODULE.
    ""Local Interface:
    *" IMPORTING
    *" VALUE(A) TYPE I
    *" VALUE(B) TYPE I
    *" EXPORTING
    *" VALUE(C) TYPE I
    *" VALUE(SYS) LIKE SY-SYSID
    *" EXCEPTIONS
    *" INVALID_DATA
    WRITE: /'INSIDE THE REMOTE SYSTEM'.
    WRITE: / A.
    WRITE: / B.
    C = A + B.
    SYS = SY-SYSID.
    WRITE:/ C.
    WRITE: / SYS COLOR 7.
    ENDFUNCTION.
    REGARDS
    surender

    Hi
    Instead Of giving write statement inside a function module
    write these statement where this rfc is called.
    if rfc connection is established ,then
    number will be printed.
    otherwise not.
    Dont forget to reward points
    Edited by: neetu chhabra on Mar 10, 2008 12:14 PM

  • RFC Function Module Problem

    hi all,
         I Created one RFC Function Module and here i am getting some data ( all created invoices). Then these invoices will be called to
    UDAAN Server(JAVA App Server).  After creating RFC what settings i need to do. Please suggest.
    Thanx & Regards
    Rami Reddy

    Did you search the forums first?  I'm pretty sure that this question was already posted somewhere in the past.

  • RFC function module - not considering string type parameters

    Hi,
    i am calling one RFC, this rfc function module is enhanced to have one more import parameter and the type of this parameter is of type "string".
    i am passing this value from while calling rfc fm but i can see this value is not being considered here in the target system, i mean the passed value from source system is not seen in the target system.
    i read some thing related to rfc restrictions on code pages, is it something to do with that or string type is not allowed??
    Please suggest!!!

    Hi all,
                   I faced the same problem and solved it ,
    You have defined a reference parameter for a remotely called
      function module. However, only value parameters are allowed
      for this type of module.
      Procedure
      Change the reference parameter to a value parameter.
    Guys  pls .don't leave the thread un-asnwered when you solved problem , post the solution it might be useful for others also.
    Regards
    Krishna Acharya

  • 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 I

    I 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 in  using function module parameters in abap program

    i want to use the coding present in on one of the function module 'AS_API_INFOSTRUC_FIND'  i got the problem using the function module parameters in my abap program.
    these are the parameters inside fm
    ""Lokale Schnittstelle:
    *"       IMPORTING
    *"             VALUE(I_FIELDCAT) TYPE  AIND_FCAT
    *"             VALUE(I_FIELDS) TYPE  TABLE OPTIONAL
    *"             VALUE(I_OBLIGATORY_FIELDS) TYPE  TABLE OPTIONAL
    *"       EXPORTING
    *"             VALUE(E_INFOSTRUC) TYPE  AIND_DESC
    *"             REFERENCE(E_ALL_FIELDS) TYPE  TABLE
    *"             REFERENCE(E_MATCHING_FIELDS) TYPE  TABLE
    *"       EXCEPTIONS
    *"              NO_INFOSTRUC_FOUND
    i want to declare     E_ALL_FIELDS  parameter    in my abap program,
    i have declared as 
    data: E_ALL_FIELDS TYPE TABLE.
    but   the system throws error that
    'type of field 'TABLE'  is generic .no table line has been specified'.
    i want to use it in my abap program how can i declare in my abap program .

    You have to declare the table using any specific type.
    The type table in the FM is generic so you can pass any type you need.
    For instance:
    TYPES: BEGIN OF ty_fields,
             fieldname LIKE dfies-fieldname,
           END OF ty_fields,
    TYPES: TY_T_GLU1              LIKE GLU1                     OCCURS 0,
           ty_t_fields            type ty_fields                occurs 0.
      DATA: lt_info_struct_fields TYPE ty_t_fields WITH HEADER LINE,
            lt_matching_fields    TYPE ty_t_fields WITH HEADER LINE.
        CALL FUNCTION 'AS_API_INFOSTRUC_FIND'
             EXPORTING
                  i_fieldcat         = ft_fieldcat-fieldcat
                  i_fields           = ft_fields_filled[]
             IMPORTING
                  e_infostruc        = lv_info_struct_name
                  e_all_fields       = lt_info_struct_fields[]
                  e_matching_fields  = lt_matching_fields[]
             EXCEPTIONS
                  no_infostruc_found = 1.

  • RFC function module always creating BPs with the same user name (RFC user )

    Hi All
    I posted the below question in a different area before. But thought it would be more suitable here.
    Moderators - Please let me know if am doing any mistake.
    Question:
    I have a RFC function module in CRM that creates Business Partners in ECC (XD01 tcode).
    I am using a dialog RFC destination configured in SM59 in CRM.
    But my RFC function module in CRM is always creating the Business Partners in ECC with the RFC user id (the user that we maintain for the RFC destination in SM59).
    This is a problem for the users because they are not able to track the actual person responsible for creating these Business Partners.
    Can somebody please let me know how to solve this problem?
    Thanks
    Raj

    Hi.
    You may use the trust relationship between CRM and R/3 and in SM59 instead of set a specific username, you set the flag "current user".
    With this flag, the system will access R/3 system with the user logged in CRM system. The Trust relationship must be created between CRM and R/3 in order to the system doesn't ask for a password to login in R/3.
    If you need more details please reply.
    Kind regards,
    Susana Messias

  • RFC function module exporting

    Hi..
    when I am trying to export some paramters and tables in RFC function module, i m getting error as well as a warning message stating performance will reduce.
    So please help me to solve the issue.
    Thanks
    Vimalraj

    You are getting this message because you are exporting tables 'by value'. Since this will cause the complete data in that internal table to be copied into a new memory area this might impact the performance of that function in case the table has a lot of data in it.
    However - for an RFC you can only define parameters to be called by value, hence this is not an error in your case. It just lets you know that the performance will suffer when you have lots of data in your internal table compared to a function that would pass the data by reference - but you don't have that option for an RFC anyway.
    Hope that helps,
    Michael

Maybe you are looking for

  • Printing Issue on a MacPro and Lion

    When using any Apple prgram, such as Pages, Numbers, Text, etc. and I try to print to my laser printer from my MacPro I get an error and the following message: You don't have permission to write to the folder that the file "Untitled" is in. You can d

  • Reg: Parameterized Popup with Button

    Hi team, I have a reuiqrement as below : Table Region : Header Data For each header i have a link to PopUP. In the PopUP user will enter all the line information. To save the line information i have use normal button bean and i was able to save data.

  • Re: AfterValueChange event triggered when it shouldn'tbe

    <[email protected]> Hi there, I'm hoping that someone out there has experienced the following (and knows why it is happening. ) :-) I have a couple of windows on which the AfterValueChange event is triggered on a field upon hitting the delete key. We

  • Internal error in FORM/FUNCTION MLCCS_PLANSPLIT_READ

    Hi, While settling a Production Order we are getting the error as 'Internal error in FORM/FUNCTION MLCCS_PLANSPLIT_READ' . I checked the routing . There are no activities for the Production order. Can any body sugest any solution for the same. Thanks

  • Seting a JSp variable to session scope in JSp page itself

    Hi, I have code like this <HTML>      <HEAD>           <TITLE>Change Password</TITLE>           <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet/vclinical.css" TITLE="Style"> </HEAD> <BODY> <form name="form"> <select name="ss" onChange="this.