Table with type ANY in function module

Hi all
I want to use a function module in different programs. I want to pass always a table and in a string the name of the structure, so that I can access the data with ASSIGN and the passed structure name.
For a structure I can use the type ANY, but if I want to use a table in a function module, I need to define a table type.
Is there a way to define a tabletype with the type ANY? A Workaround would be fine too.
Thanks and best regards!
Christian

Hi Christian,
ANY TABLE is used to type a parameter, or field symbol, that can be a table of any type or structure.
ANY is used to type a parameter, or field symbol, that can be any type. You can't, however, use any table operations on a parameter/field-symbol typed as ANY. For that, you have to use ANY TABLE.
The same applies to ANY. You can pass to the method a data object, without specifying its type (i.e, in dynamic programs).
Suppose that I need to split a line into a table, but I don't know the structure of this line:
I have a method:
codeMETHOD split_line_in_table IMPORTING im_line TYPE ANY
EXPORTING ex_table TYPE ANY TABLE.
[/code]
codeMETHOD split_line_in_table.
SPLIT im_line AT separator INTO TABLE ex_table.
ENDMETHOD.[/code]
Now, i can pass this method a line of ANY structure and get a table without specifying its structure.
cheers,
Hema.

Similar Messages

  • Table parameter Types for this Function module

    I am using K_HIERARCHY_TABLES_READ to get the profit centers for a given profit center group.
    I have the following declarations for the parameters of this FM:
    TYPE-POOLS: gseth.
    Declarations for Profit Center Group
    DATA: g_pcgrp     TYPE rgsbs-class,
          g_setid     TYPE rgsbs-setnr,
          g_info      TYPE grphinfo,
          g_overwrite TYPE sy-datar.
    DATA:
          i_nodes      TYPE STANDARD TABLE OF gseth_node_tab,
          i_values     TYPE STANDARD TABLE OF gseth_val_tab,
          i_masterdata TYPE STANDARD TABLE OF grpmdline.
    When this is run, its taking me into a dump and it says:
    The reason for the exception is:
    The system tried to pass internal table "I_NODES" to the formal
    parameter "T_NODES", but a type conflict occurred between the
    formal and the actual parameter.
    Pl help me to correct this dump and error.
    Thanks
    Kiran

    DATA:
    i_nodes TYPE STANDARD TABLE OF gseth_node_tab,
    i_values TYPE STANDARD TABLE OF gseth_val_tab,
    i_masterdata TYPE STANDARD TABLE OF grpmdline.
    change your declarations
    to the below...
    DATA:
    i_nodes TYPE gseth_node_tab,
    i_values TYPE gseth_val_tab,
    i_masterdata TYPE STANDARD TABLE OF grpmdline.

  • Any BAPI/Function Module for adding new record with dates in PA0027

    Hi all,
    I am tryig to find is there any BAPI/Function module for updating new record with Start Date and End date for specified Personal Number in PA0027 Table.
    In PA0027 table i will be passing start date and end date for selected personal number, it needs to add new record with this details in the table checking the condition that this start date and end dates should not be between any of of start date and end dates for the specified personal number.
    thanks for ur time.
    Murali

    Hi Raj/Suresh thanks for ur answers.
    but i am having a problem,i gave this values.
    INFTY               -
                0027
    NUMBER              -
                00000010
    SUBTYPE             -
                010
    OBJECTID
    LOCKINDICATOR
    VALIDITYEND         -
                03/12/2006
    VALIDITYBEGIN       -
                03/01/2006
    RECORDNUMBER        -
                000
    RECORD              -
                P0027
    OPERATION           -
                CHK
    TCLAS               -
                A
    DIALOG_MODE         -
                0
    NOCOMMIT            -
                Y
    VIEW_IDENTIFIER
    SECONDARY_RECORD
    i am getting short dump saying that
    The source field is too short.
    The current program, "SAPLHRMM", tried to assign a field to a field symbo
    However, the field is shorter than the type of the field symbol, which
    is not allowed.
    The statement in question is in the form ASSIGN f TO <fs> CASTING or
    ASSIGN f TO <fs> with a field symbol that was created using the
    STRUCTURE addition.
    I tried  operation - Chage,Create (same thing for all inputs)
    is this correct funtion moduel for my requirment?
    what ever i am passing the start and end dates this should check in the table records with this personal number and if this start date and end dates are not between of any start and end dates then it should add new record with this dates.
    Thanks for ur time.
    Murali.

  • Table to find out the function modules used in a particular program

    Hi,
    Is there any standard table to find out the function modules used in a particular program?
    Such as there is a table D010TAB to find out the tables used in a program .

    Hello
    There is no exist such table.
    But try this snippet:
    REPORT ZSEARCH.
    PARAMETERS: P_NAME LIKE D010SINF-PROG.
    DATA: PROGTXT(72) TYPE C OCCURS 0 WITH HEADER LINE.
    DATA: TMP(72) TYPE C OCCURS 0 WITH HEADER LINE.
    DATA: FUNCT TYPE RS38L_FNAM OCCURS 0 WITH HEADER LINE.
    DATA: INCL TYPE RSEUINC OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'RS_GET_ALL_INCLUDES'
         EXPORTING PROGRAM    = P_NAME
         TABLES    INCLUDETAB = INCL.
    LOOP AT INCL.
      READ REPORT INCL-MASTER INTO TMP.
      APPEND LINES OF TMP TO PROGTXT.
      REFRESH TMP.
    ENDLOOP.
    READ REPORT P_NAME INTO TMP.
    APPEND LINES OF TMP TO PROGTXT.
    LOOP AT PROGTXT.
      IF PROGTXT CS 'CALL FUNCTION'.
        SEARCH PROGTXT FOR ''''.
        IF SY-SUBRC = 0.
          DO.
            SHIFT PROGTXT LEFT BY 1 PLACES.
            IF PROGTXT(1) = ''''.
              SHIFT PROGTXT LEFT BY 1 PLACES.
              DO.
                SHIFT PROGTXT RIGHT BY 1 PLACES.
                IF PROGTXT+71(1) = ''''.
                  SHIFT PROGTXT RIGHT BY 1 PLACES.
                  CONDENSE PROGTXT.
                  FUNCT = PROGTXT. COLLECT FUNCT. EXIT.
                ENDIF.
              ENDDO.
              EXIT.
            ENDIF.
          ENDDO.
        ENDIF.
      ENDIF.
    ENDLOOP.
    SORT FUNCT.
    LOOP AT FUNCT.
      WRITE: FUNCT. NEW-LINE.
    ENDLOOP.

  • New in NW04s: FL069 TABLES parameters are obsolete (in function modules)

    Can somebody explain what is the fundamental reason for this behaviour in NW04s?
    In Netweaver 2004s system (like ERP2005 ) you get a warning message in SE37:
    FL069 TABLES parameters are obsolete! when defining quite ordinary tables parameter using LIKE and reference to a structure in ddic.
    I now speak normal function modules, not RFC enabled.
    This example of tables parameter definition will cause the warning message:
    return LIKE BAPIRET2
    I of course looked the additional help provided by this message FL069. I understood it as following:
    you should stop using TABLES parameter and more often use CHANGING parameter by referring a TABLE TYPE defined in dictionary.
    if using CHANGING parameter and still want to pass the header line of your internal table you should use a separate parameter (EXPORT or CHANGING parameter)
    Developers have too much used TABLES parameters for passing internal tables for reading (by value) rather than to be modified (by reference). As a consequence, fm could have change the header line without caller to know it.
    in my opinion the message help is missleadingly telling that header line is no longer passed to function module if TABLES parameter is used. I made a small test program and fm (with TABLES paramerer), and everything worked as before.
    The warning message can be ignored by pressing Enter a few times and your fm with TABLES parameter works as it had in older versions of Netweaver.
    SAP is still using a lot of TABLES parameters in their own function modules. For example SD_SALES_HEADER_MAINTAIN.
    So what is the point of this warning message while everything still works as it used to be and SAP uses this same "OBSOLETE" feature itself? Is there anything more fundamental behind this message? Like TABLES paremeters will no longer work in future versions of ABAP (or header line passing will be ignored in future versions) and therefore developers should switch to CHANGING/EXPORT parameters with TABLE TYPES as soon as possible??
    Please understand that I don't need any assistance how to avoid this message, just interested to share your opinions what is the purpose of this warning message.
    That is why I did not marked this thread as a question.
    Br: Kimmo

    Hello,
    This is the view under Tables tab in my function builder:
    I_T_SELECT     TYPE     SRSC_S_IF_SIMPLE-T_SELECT
    I_T_FIELDS     TYPE     SRSC_S_IF_SIMPLE-T_FIELDS
    E_T_DATA     LIKE     SFLIGHT (which I change to YBWxxxx)
    The moment I change to YBWxxxxx it gives me that error '"TABLES parameters are obsolete! "'
    and unfortunately hitting enter several times is not helping  either
    Thanks!

  • How to Send Internal table to SAP Spool using Function Modules or Methods?

    Hi Experts,
    How to Send Internal table to SAP Spool using Function Modules or Methods?
    Thanks ,
    Kiran

    This is my code.
    I still get the no ABAP list data for the spool, even tho I can see it sp01?
    REPORT  Z_MAIL_PAYSLIP.
    * Declaration Part *
    tables: PERNR, PV000, T549Q, V_T514D, HRPY_RGDIR.
    infotypes: 0000, 0001, 0105, 0655.
    data: begin of ITAB occurs 0,
      MTEXT(25) type C,
      PERNR like PA0001-PERNR,
      ABKRS like PA0001-ABKRS,
      ENAME like PA0001-ENAME,
      USRID_LONG like PA0105-USRID_LONG,
    end of ITAB.
    data: W_BEGDA like HRPY_RGDIR-FPBEG,
          W_ENDDA like HRPY_RGDIR-FPEND.
    data: RETURN like BAPIRETURN1 occurs 0 with header line.
    data: P_INFO like PC407,
          P_FORM like PC408 occurs 0 with header line.
    data: P_IDX type I,
          MY_MONTH type T549Q-PABRP,
          STR_MY_MONTH(2) type C,
          MY_YEAR type T549Q-PABRJ,
          STR_MY_YEAR(4) type C,
          CRLF(2) type x value '0D0A'.
    data: W_CMONTH(10) type C.
    data: TAB_LINES type I,
          ATT_TYPE like SOODK-OBJTP.
    data: begin of P_INDEX occurs 0,
            INDEX type I,
    end of P_INDEX.
    constants: begin of F__LTYPE, "type of line
       CMD like PC408-LTYPE value '/:',  "command
       TXT like PC408-LTYPE value 's',   "textline
    end of F__LTYPE.
    constants: begin of F__CMD, "commands
      NEWPAGE like PC408-LINDA value '',
    end of F__CMD.
    data: P_LIST like ABAPLIST occurs 1 with header line.
    *data: OBJBIN like SOLISTI1 occurs 10 with header line,
    data: OBJBIN like  LVC_S_1022 occurs 10 with header line,
          DOCDATA like SODOCCHGI1,
          OBJTXT like SOLISTI1 occurs 10 with header line,
          OBJPACK like SOPCKLSTI1 occurs 1 with header line,
          RECLIST like SOMLRECI1 occurs 1 with header line,
          OBJHEAD like SOLISTI1 occurs 1 with header line,
          it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          gd_buffer type string,
          l_no_of_bytes TYPE i,
          l_pdf_spoolid LIKE tsp01-rqident,
          l_jobname     LIKE tbtcjob-jobname.
    data: file_length  type int4,
          spool_id     type rspoid,
          line_cnt     type i.
    *-------------------------------------------------------------------* * INITIALIZATION *
    OBJBIN = ' | '.
    append OBJBIN.
    OBJPACK-HEAD_START = 1.
    data: S_ABKRS like PV000-ABKRS.
    data: S_PABRP like T549Q-PABRP.
    data: S_PABRJ like T549Q-PABRJ.
    * SELECTION SCREEN                                                  *
    selection-screen begin of block BL1.
    parameters: PAY_VAR like BAPI7004-PAYSLIP_VARIANT default 'ESS_PAYSLIPS' obligatory.
    selection-screen end of block BL1.
    START-OF-SELECTION.
      s_ABKRS = PNPXABKR.
      S_PABRP = PNPPABRP.
      s_pabrj = PNPPABRJ.
      w_begda = PN-BEGDA.
      w_endda = PN-ENDDA.
    get pernr.
    *                                 "Check active employees
      rp-provide-from-last p0000 space pn-begda  pn-endda.
      CHECK P0000-STAT2 IN PNPSTAT2.
    *                                 "Check Payslip Mail flag
      rp-provide-from-last p0655 space pn-begda  pn-endda.
      CHECK P0655-ESSONLY = 'X'.
      rp-provide-from-last p0001 space pn-begda  pn-endda.
    *                                 "Find email address
      RP-PROVIDE-FROM-LAST P0105 '0030' PN-BEGDA PN-ENDDA.
      if p0105-usrid_LONG ne ''.
        ITAB-PERNR      = P0001-PERNR.
        ITAB-ABKRS      = P0001-ABKRS.
        ITAB-ENAME      = P0001-ENAME.
        ITAB-USRID_LONG = P0105-USRID_LONG.
        append itab.
        clear itab.
      endif.
      "SY-UCOMM ='ONLI'
    END-OF-SELECTION.
    *------------------------------------------------------------------* start-of-selection.
      write : / 'Payroll Area        : ', S_ABKRS.
      write : / 'Payroll Period/Year : ',STR_MY_MONTH,'-',STR_MY_YEAR. write : / 'System Date : ', SY-DATUM.
      write : / 'System Time         : ', SY-UZEIT.
      write : / 'User Name           : ', SY-UNAME.
      write : / SY-ULINE.
      sort ITAB by PERNR.
      loop at ITAB.
        clear : P_INFO, P_FORM, P_INDEX, P_LIST, OBJBIN, DOCDATA, OBJTXT, OBJPACK, RECLIST, TAB_LINES.
        refresh : P_FORM, P_INDEX, P_LIST, OBJBIN, OBJTXT, OBJPACK, RECLIST.
    *                                                  Retrieve Payroll results sequence number for this run
        select single * from HRPY_RGDIR where PERNR eq ITAB-PERNR
                                        and FPBEG ge W_BEGDA
                                        and FPEND le W_ENDDA
                                        and SRTZA eq 'A'.
    *                                                  Produce payslip for those payroll results
        if SY-SUBRC = 0.
          call function 'GET_PAYSLIP'
            EXPORTING
              EMPLOYEE_NUMBER = ITAB-PERNR
              SEQUENCE_NUMBER = HRPY_RGDIR-SEQNR
              PAYSLIP_VARIANT = PAY_VAR
            IMPORTING
              RETURN          = RETURN
              P_INFO          = P_INFO
            TABLES
              P_FORM          = P_FORM.
          check RETURN is initial.
    *                                                 remove linetype from generated payslip
          loop at p_form.
            objbin = p_form-linda.
            append objbin.
            line_cnt = line_cnt + 1.
          endloop.
          file_length = line_cnt * 1022.
    *                                                 create spool file of paylsip
          CALL FUNCTION 'SLVC_TABLE_PS_TO_SPOOL'
            EXPORTING
              i_file_length = file_length
            IMPORTING
              e_spoolid     = spool_id
            TABLES
              it_textdata   = objbin.
          IF sy-subrc EQ 0.
            WRITE spool_id.
          ENDIF.
          DESCRIBE table objbin.
          DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
          CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
            EXPORTING
              SRC_SPOOLID                    = spool_id
              NO_DIALOG                      = ' '
              DST_DEVICE                     = 'MAIL'
    *      PDF_DESTINATION                =
    *    IMPORTING
    *      PDF_BYTECOUNT                  = l_no_of_bytes
    *      PDF_SPOOLID                    = l_pdf_spoolid
    *      LIST_PAGECOUNT                 =
    *      BTC_JOBNAME                    =
    *      BTC_JOBCOUNT                   =
            TABLES
              PDF                            = pdf
            EXCEPTIONS
              ERR_NO_ABAP_SPOOLJOB           = 1
              ERR_NO_SPOOLJOB                = 2
              ERR_NO_PERMISSION              = 3
              ERR_CONV_NOT_POSSIBLE          = 4
              ERR_BAD_DESTDEVICE             = 5
              USER_CANCELLED                 = 6
              ERR_SPOOLERROR                 = 7
              ERR_TEMSEERROR                 = 8
              ERR_BTCJOB_OPEN_FAILED         = 9
              ERR_BTCJOB_SUBMIT_FAILED       = 10
              ERR_BTCJOB_CLOSE_FAILED        = 11
              OTHERS                         = 12
          IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    *Download PDF file C Drive
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename = 'C:\itab_to_pdf.pdf'
          filetype = 'BIN'
        TABLES
          data_tab = pdf.
    * Transfer the 132-long strings to 255-long strings
    *  LOOP AT pdf.
    *    TRANSLATE pdf USING ' ~'.
    *    CONCATENATE gd_buffer pdf INTO gd_buffer.
    *  ENDLOOP.
    *  TRANSLATE gd_buffer USING '~ '.
    *  DO.
    *    it_mess_att = gd_buffer.
    *    APPEND it_mess_att.
    *    SHIFT gd_buffer LEFT BY 255 PLACES.
    *    IF gd_buffer IS INITIAL.
    *      EXIT.
    *    ENDIF.
    *  ENDDO.
          OBJHEAD = 'Objhead'.
          append OBJHEAD.
    * preparing email subject
          concatenate W_ENDDA(6)
                    ' Payslip-'
                    ITAB-ENAME+0(28)
                    ITAB-PERNR+4(4) ')'
                 into DOCDATA-OBJ_DESCR.
          DOCDATA-OBJ_NAME = 'Pay Slip'.
          DOCDATA-OBJ_LANGU = SY-LANGU.
          OBJTXT = 'Pay Slip.'.
          append OBJTXT.
    *prepare email lines
          OBJTXT = DOCDATA-OBJ_DESCR.
          append OBJTXT.
          OBJTXT = 'Please find enclosed your current payslip.'.
          append OBJTXT.
    * Write Attachment(Main)
    * 3 has been fixed because OBJTXT has fix three lines
          read table OBJTXT index 3.
    *    DOCDATA-DOC_SIZE = ( 3 - 1 ) * 255 + strlen( OBJTXT ).
          clear OBJPACK-TRANSF_BIN.
          OBJPACK-HEAD_START = 1.
          OBJPACK-HEAD_NUM = 0.
          OBJPACK-BODY_START = 1.
          OBJPACK-BODY_NUM = 3.
          OBJPACK-DOC_TYPE = 'RAW'.
          append OBJPACK.
    * Create Message Attachment
          ATT_TYPE = 'PDF'.
          describe table OBJBIN lines TAB_LINES.
          read table OBJBIN index TAB_LINES.
    *    OBJPACK-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + strlen( OBJBIN ).
          OBJPACK-TRANSF_BIN = 'X'.
          OBJPACK-HEAD_START = 1.
          OBJPACK-HEAD_NUM = 0.
          OBJPACK-BODY_START = 1.
          OBJPACK-BODY_NUM = TAB_LINES.
          OBJPACK-DOC_TYPE = ATT_TYPE.
          OBJPACK-OBJ_NAME = 'ATTACHMENT'.
          OBJPACK-OBJ_DESCR = 'Payslip'.
          append OBJPACK.
    * Create receiver list refresh RECLIST.
          clear RECLIST.
          RECLIST-RECEIVER = itab-USRID_long.
          translate RECLIST-RECEIVER to lower case.
          RECLIST-REC_TYPE = 'U'.
          append RECLIST.
    * Send the document
    *SO_NEW_DOCUMENT_ATT_SEND_API1
          call function 'SO_DOCUMENT_SEND_API1'
            exporting
              DOCUMENT_DATA = DOCDATA
              PUT_IN_OUTBOX = 'X'
              COMMIT_WORK = 'X'
    * IMPORTING
    *   SENT_TO_ALL =
    *   NEW_OBJECT_ID =
            tables
              PACKING_LIST  = OBJPACK
              OBJECT_HEADER = OBJHEAD
              CONTENTS_BIN  = pdf
              CONTENTS_TXT  = OBJTXT
    *   CONTENTS_HEX =
    *   OBJECT_PARA =
    *   OBJECT_PARB =
              RECEIVERS = RECLIST
            exceptions
              TOO_MANY_RECEIVERS = 1
              DOCUMENT_NOT_SENT = 2
              DOCUMENT_TYPE_NOT_EXIST = 3
              OPERATION_NO_AUTHORIZATION = 4
              PARAMETER_ERROR = 5
              X_ERROR = 6
              ENQUEUE_ERROR = 7
              others = 8.
          if SY-SUBRC NE 0.
            ITAB-MTEXT = 'Message Not Sent to : '.
          else.
            ITAB-MTEXT = 'Message Sent to : '.
          endif.
    *    else.
    *      ITAB-MTEXT = 'Message Not Sent to : '.
    *    endif.
        else.
          "SY-SUBRC Not = 0
          ITAB-MTEXT = 'Payroll data not found : '.
        endif.
        "end of SY-SUBRC = 0.
        modify ITAB.
      endloop. "end loop at ITAB
      sort ITAB by MTEXT PERNR.
      loop at ITAB.
        at new MTEXT.
          uline.
          write : / ITAB-MTEXT color 4 intensified on.
          write : / 'Emp. Code' color 2 intensified on,
                 12 'Emp. Name' color 2 intensified on,
                 54 'Email ID' color 2 intensified on.
        endat.
        write : / ITAB-PERNR, 12 ITAB-ENAME, 54 ITAB-USRID_LONG.
      endloop.

  • Modify Syntax on Internal table of type ANY TABLE

    Hi,
    I have declared one internal table which is of type ANY TABLE.
    In the Loop statement, I am trying to Modify that Internal table from WA.
    Then I am getting one Error message
    "You cannot use explicit or implicit index operations on tables with types "HASHED TABLE" or "ANY TABLE". "C_T_DATA" has the type "ANY TABLE".
    Above code I have placed in method of a corresponding Class.
    Can u please advise me on this..How to modify the Intenal table .
    Thanks and Regards,
    K.Krishna Chaitanya.

    Hi Krishna,
    the modify statement is obsolete.
    You can always LOOP AT [itab] ASSIGNING <field-symbol>.
    This makes the loop never slower, depending on the table structure faster or much faster.
    If you know the table structure at run time, you can use a field-symbol of that type. If not, you can use a field-symbol TYPE any. Then you have to assign the components to field-symbol to modify them, i.e.
    field-symbols:
      <table_line> type any,
      <matnr>        type mara-matnr.
    loop at itab assigning  <table_line>.
      assign component 'MATNR' of structure <table_line> to <matnr>.
      clear <matnr>.
    endloop.
    This technique (available more than ten years) works incredibly fast. My estimate is that if SAP would change all the old standard programs that way and use it consequently in the new ones, the whole system would be 20 % faster because myriads of unnecessary copy operations of LOOP INTO would not happen.
    Regards,
    Clemens.

  • Accessing internal table of main program inside function module...

    I have function module say ZFUNC and main program say ZMAIN and internal table defined as IT_TAB inside ZMAIN but not passed as parameter to Function module ZFUNC.
    If I want to access the field value of IT_TAB of  main program ZMAIN inside ZFUNC during debugging then, I simply put <b>(ZMAIN)IT_TAB-amount</b> in ABAP debugger and then change it when the debugger is inside ZFUNC.
    How can I write code to change the value of internal table of main program in function module ZFUNC instead of doing in debugger ? I guess I have to use some field symbols, but not sure. Please suggest.
    Regards,
    Rajesh.

    Yes, you do need to use a field symbol.  Say for example, you had a internal table called IMARC in your program and you want to access it later in a funciton module, you would do something like this.
      data: xmarc type marc.
      field-symbols: <imarc> type marc_upl_tt.
    * Assign an internal table
      field = '(ZPROGRAM_NAME)IMARC[]'.
      assign (field) to <imarc>.
      loop at <imarc> into xmarc.
        write: / xmarc-matnr, xmarc-werks.
      endloop.
    Regards,
    Rich Heilman

  • Is there any RFC function module to read domain fixed value

    Hi,
    Is there any RFC function module to read domain fixed value from remote system in basis layer?
    As we cannot simply wrap DD_DOMVALUES_GET with a new RFC module,because remote system will not install our component, our wrap function module is not there.
    We may need a RFC fm from basis layer.

    HI,
    Try using Function Module:
    DD_DOMA_GET , If it is RFC enabled it can be used for reading the domain,
    Kindlly go through this link below:
    How to get "Fixed Domain Values" from other system by RFC-Call?
    Hope it helps,
    Regards
    Mansi

  • Any standard function module to read data from a cube

    Hi,
    I want to read data from a cube say XYZ, into an internal table. Is there any standard function module to do this? If so can anyone plz tell me what change should i make in the function module for my requirement.
    Regards
    BW Fresher.

    Hi R,
    Try function module 'RSDRI_INFOPROV_READ'
    ABAP Report RSDRI_INFOPROV_READ_DEMO contains an example of how the function module can be used.
    Udo

  • Syntax Error with Table Parameter (type: ANY) when Creating Function Module

    Hello experts,
    I want to create a function module with a table parameter and table type is ANY. But when I check (Ctrl+F7) this function module, syntax error occurs - "In this statement, the internal table "MSG_TABLE_ITEM" must have the type "STANDARD TABLE"."
    Could anyone tell me what the wrong is? And how can I fix it?
    Thanks,
    Shelwin

    Hi,
    For table parameters, you can only pass
    MSG_TABLE_ITM   TYPE STANDARD TABLE
    or
    MSG_TABLE_ITM  ( don't fill other columns TYPING ASSOCIATED TYPE  ).
    For reference check FM 'GUI_UPLOAD' - Table parameters
    Regards,
    DPM

  • (internal) Tables obsolete as parameter in function modules,

    Hi
    As you probably can see by the question, my ABAP Knowledge isn't exactly overwhelming !
    <i>anyway:</i>
    I'm trying to create a function module in NW2004s, This functionmodule should take an internal table, based on a structure as (import) parameter.
    In the earlier version, I've done this by defining it under the TAB 'Tables' in the function builder - But know its telling me that "<i>Tables Parameters are obsolete</i>", and that I should define it under "Changing" instead.
    I have tried that, but I'm only allowed to pass a single line, and if I try to do a Loop, in the function module, it tells me that ity isn't created as an internal table.
    So please - what is the "best practice" here ?
    Regards
    Morten Nielsen

    Hi All,
    I followed Steps 1 and 2 but when I use the following select statement I get a dump with the error enclosed.
    Step1. Created a structure ZDFKKCOHI which is a replica of DFKKCOHI.
    Step2. Created a table type ZDFKKCOHITABLE with line type as ZDFKKCOHI.
    Step3. In my function module I have a changing parameter ZDFKKCOHIPARAM of type ZDFKKCOHITABLE.
    Step 4. When I use the following select clause I am getting a dump.
    DATA: wa_zdfkkcohi LIKE LINE OF zdfkkcohiparam.
      SELECT *
      FROM dfkkcohi
      INTO  CORRESPONDING FIELDS OF TABLE zdfkkcohiparam
      WHERE cotyp EQ zcotyp
      AND gpart EQ zgpart
      AND corr_status EQ zcorr_status.
      LOOP AT zdfkkcohiparam INTO wa_zdfkkcohi.
    *Move IT_ZDFKKCOHI to ZDFKKCOHIOUT.
    *Append ZDFKKCOHIOUT.
    *Clear IT_ZDFKKCOHI.
      ENDLOOP.
    What could be wrong?
    Thanks for all your help in advance.
    Regards,
    Divya

  • RFC hangs with a call to function module SSFC_PARSE_CERTIFICATE

    Hello ,
    We are working on BI 7.0  SP9 .
    When we try to test the RFC connection from the WAS Abap to the portal ( WAS JAVA ) using  SM59  , the test is hanging but we can read in the bottom of the screen 'Connexion bcv51sf2... OK' !!!
    The test connection works sometimes .
    But when it’s not working  , with the debug mode , I can see that the program SAPLSSFG/LSSFGU19 is hanging in the function module  SSF_GET_PARAMETER with a call to the function SSFC_PARSE_CERTIFICATE
          CALL FUNCTION 'SSFC_PARSE_CERTIFICATE'
            EXPORTING
              CERTIFICATE               = PABCERT
            IMPORTING
              SUBJECT                   = STR_PROFILEID
            EXCEPTIONS
              SSF_KRN_ERROR             = 1
              SSF_KRN_NOMEMORY          = 2
              SSF_KRN_NOSSFLIB          = 3
              SSF_KRN_INVALID_PAR       = 4
              OTHERS                    = 5.
             ENDIF.
           ENDIF.
         ENDFUNCTION.
    The variable STR_PROFILEID has the value of the field ID of the table SSF_PSE_H
    STR_PROFILEID =’CN=QWO, OU=XXXXX, O=YYYY, C=FR’
    Due to this error , we can’t transport BI Web templates  because at the end of the import in the method execution of the transport there is a call to the portal with the RFC. And the transport is hanging …
    Thanks in advance for you help .
    Happy new year.  Milan.

    Hi Frank ,
    See below the result of the test :
    Test for function group      SSFG
    Function module              SSF_GET_PARAMETER
    Export parameters
    Value
    APPFOUND
    <SYST>
    SSFTOOLKIT
    SAPSECULIB
    STR_FORMAT
    PKCS7
    STR_PAB
    /usr/sap/QWO/DVEBMGS01/sec/SAPSYS.pse
    STR_PAB_PASSWORD
    STR_PROFILEID
    CN=QWO, OU=XXXX, O=YYYY, C=FR
    STR_PROFILE
    /usr/sap/QWO/DVEBMGS01/sec/SAPSYS.pse
    STR_PROFILEPW
    STR_HASHALG
    SHA1
    STR_ENCRALG
    DES-CBC
    B_INCCERTS
    X
    B_DETACHED
    B_DISTRIB
    X
    But my problem now , it's that 1 of the 2 RFC is working fine and the other one after 1 good rfc test , is hanging now at the end of the function 'CONVERSION_EXIT_ISOLA_OUTPUT'  line 14 !!!
    See below the ABAP stack just before the hanging .
    1     FUNCTION CONVERSION_EXIT_ISOLA_OUTPUT.
    2     *"----
    3     ""Lokale Schnittstelle:
    4     *"       IMPORTING
    5     *"             VALUE(INPUT)
    6     *"       EXPORTING
    7     *"             VALUE(OUTPUT)
    8     *"----
    9       OUTPUT = SAVE_INPUT(1) = INPUT.
    10       CHECK SAVE_INPUT(1) NA ' *'.
    11       SELECT SINGLE * FROM T002 WHERE SPRAS = INPUT.
    12       CHECK SY-SUBRC = 0.
    13       OUTPUT = T002-LAISO.
    14     ENDFUNCTION.
    Stack Dep     Event type     Event     Program     Include     Line
    10     FUNCTION     CONVERSION_EXIT_ISOLA_OUTPUT     SAPLLANG     LLANGU04     14
    9     FORM     CONVERSION_EXIT     SAPCNVE     SAPCNVE     107
    8     EVENT     SYSTEM-EXIT     SAPLDSYA     <SYSINI>     20
    7     FUNCTION     DOKU_OBJECT_EXIST     SAPLDSYA     LDSYAU09     43
    6     FORM     FILL_EXCL_TAB     RSDBRUNT     RSDBRUNT     5.664
    5     FORM     %_INIT_PBO_LAST     RSDBRUNT     RSDBRUNT     4.061
    4     FORM     INIT_PBO     RSDBRUNT     RSDBRUNT     3.666
    3     FORM     %_INIT_PBO_NEW     RSRFCPIN     RSRFCPIN     496
    2     MODULE (PBO)     %_INIT_PBO     RSRFCPIN     RSRFCPIN     496
    1     EVENT     SYSTEM-EXIT     RSRFCPIN     <SYSINI>     20
    As i said in the first post , the RFC test is hanging sometimes but now it seems that it's not  hanging everytime at the same line of the abap code , if i can trust the debugger !
    ...and after another RFC test , now all the RFC to the portal are working ...
    It seems that when it's hanging , it's at the end of the functions ( SYSTEM_CALLSTACK
    or CONVERSION_EXIT_ISOLA_OUTPUT or SSF_GET_PARAMETER ) .
    A memory or OS problem ?
    Best Regards.  Milan.

  • Error with the FIELD CAT function module.

    Hi folks,
    This was the error message i had got from the FIELDCAT function module.
    An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_READ_SRC_LINE_TOO_LONG', was
         not caught in
        procedure "K_KKB_FIELDCAT_MERGE" "(FUNCTION)", nor was it propagated by a
         RAISING clause.
        Since the caller of the procedure could not have anticipated that the
        exception would occur, the current program is terminated.
        The reason for the exception is:
        There was an attempt to read program "/A1SSPC/ITP_SCH_REP" from the database.
        The READ REPORT statement allows you to copy a program text into an
        internal table. The occupied line length in the program text must not
        exceed the width of the internal table.
        The internal table "\FUNCTION=K_KKB_FIELDCAT_MERGE\DATA=???" is 72 characters
         wide. The program line is
        204 characters wide.
    Reg,
    Hariharan

    You can do this
    TYPE-POOLS:slis.
    DATA: it_vabp TYPE STANDARD TABLE OF vbap WITH HEADER LINE.
    DATA: it_fieldcat TYPE slis_t_fieldcat_alv.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
       i_program_name               = sy-repid
       i_internal_tabname           = 'IT_VBAP'
       i_inclname                   = sy-repid
      CHANGING
        ct_fieldcat                  = it_fieldcat
    * EXCEPTIONS
    *   INCONSISTENT_INTERFACE       = 1
    *   PROGRAM_ERROR                = 2

  • Error with data transfer in functional module

    Hi all,
    I need to upload file to the employee through BDS. (oaor transcation).  i am using functional module
    function zin_bds_dms_upload.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(P_CLASS) TYPE  BDN_CON-CLASSNAME
    *"     VALUE(P_OBJCT) TYPE  BDN_CON-OBJKEY
    *"     VALUE(P_DESCR) TYPE  BDN_CON-DESCRIPT
    *"     REFERENCE(P_PATH) TYPE  SAPB-SAPFILES
      data: begin of i_bds_conn occurs 10, " ITAB for the actual
             bdn_tab_i type  num08,
            client type mandt,
            classname type      seoclsname,
            classtype     type bds_clstyp,
            objkey  type  bds_typeid,
            log_system    type swo_typeid,
            loio_id   type char42,
            doc_ver_no    type num08,
            doc_var_id    type num08,
            doc_var_tg    type bds_var_tg,
            descript    type sdok_descr,
            langu   type spras,
            comp_id   type bds_compid,
            mimetype  type  bds_mimetp,
            crea_user   type sdok_crusr,
            crea_time   type sdok_crtst,
            chng_user   type sdok_chusr,
            chng_time   type sdok_chtst,
            contrep   type bds_conrep,
            docuclass   type sdok_prv_m,
            doc_type    type sdok_prv_s,
            expirytime    type sdok_prv_m,
            bds_docid   type sdok_prv_l,
            loio_id_to    type sdok_loid,
            rela_id     type      bds_relaid,
            state   type sdok_phsta,
            bds_status    type bds_state,
            stor_tab  type saearstat,
            bdn_tab_d     type bar_keep,
            note_type     type bds_state,
            objecttext type toasp-objecttext,
            objecttext2 type toasd-objecttext,
            objecttext3 type toasr-objecttext,
            ntext type tojtt-ntext,
    end of i_bds_conn.
      data: begin of bds_doctype_list occurs 10,
      mandt type mandt,
      classname type bapibds01-classname,
      contrep type bapibds01-contrep,
      docuclass type bapibds01-doc_class,
      docuclass_text type toasd-objecttext,
      doc_type type bapibds01-doc_type,
      doc_type_text type toasp-objecttext,
      appl_type type toadd-appl_type,
      appl_type_text(50) type c,
      standard type toadv-standard,
      check_box type toadv-standard,
      end of bds_doctype_list.
      data: file_extension type toadd-doc_type, " file-extension
      i_files type bapifiles occurs 1 with header line,
      i_signature type bapisignat occurs 1 with header line,
      logical_system type bds_conn00-log_system.
      data: classname_select type bdn_con-classname,
      classtype_select type bdn_con-classtype,
      objkey_select type bdn_con-objkey,
      mask(20) type c,
      answer type c,
      mimetype type toadd-mimetype,
      i_toadd type toadd,
      file_path type sapb-sapfiles,
      filename_all type sapb-sapfiles,
      file_path_memory(250) type c, " path für SAP memory
      file_path_length type i, " length of the file_path
      file_name type sapb-sapfiles.
      classname_select = p_class.
      classtype_select = 'BO'.
      objkey_select = p_objct.
      filename_all = p_path.
      get parameter id 'OAP' field file_path.
      if sy-subrc <> 0. " no file_path found.
        file_path = space.
      endif.
      concatenate ',.' '' ',.' '' '.' into mask.
    -- split filename -- *
      perform split_path(oaall) using filename_all file_path file_name.
    -- set new file_path to SAP memory -- *
      file_path_length = strlen( file_path ).
      if file_path <> space and file_path_length < 250.
        file_path_memory = file_path.
        set parameter id 'OAP' field file_path_memory.
      else.
        file_path_memory = space.
        set parameter id 'OAP' field file_path_memory.
      endif.
    -- check documentclass -- *
      perform get_file_extension using file_name
      file_extension.
    -- check file extension -- *
      if file_extension = space.
    -> if no docuclass is found from the document
    -> default docuclass from the doctype!
        file_extension = bds_doctype_list-docuclass.
      endif.
    -- get the mimetype of the docuclass -- *
      perform mimetype_get(oaall) using file_extension
      changing i_toadd.
      move i_toadd-mimetype to mimetype.
    -- fill file and signature structure -- *
      clear: i_files, i_signature.
      refresh : i_files, i_signature.
      i_files-doc_count = 1.
      i_files-directory = file_path.
      i_files-filename = file_name.
      i_files-mimetype = mimetype.
      append i_files.
      i_signature-doc_count = 1.
      i_signature-prop_name = 'BDS_DOCUMENTCLASS'.
      i_signature-prop_value = file_extension.
      append i_signature.
      i_signature-prop_name = 'BDS_CONTREP'.
      if bds_doctype_list-contrep = space.
        i_signature-prop_value = ' '.                           "#EC NOTEXT
      else.
        i_signature-prop_value = bds_doctype_list-contrep.
      endif.
      append i_signature.
      i_signature-prop_name = 'BDS_DOCUMENTTYPE'.
      i_signature-prop_value = bds_doctype_list-doc_type.
      append i_signature.
      i_signature-prop_name = 'DESCRIPTION'.
      i_signature-prop_value = p_descr.
      append i_signature.
      i_signature-prop_name = 'LANGUAGE'.
      i_signature-prop_value = sy-langu.
      append i_signature.
    -- create new document via KPro -- *
      call function 'BDS_BUSINESSDOCUMENT_CREATEF'
        exporting
          logical_system = logical_system
          classname      = classname_select
          classtype      = classtype_select
          client         = sy-mandt
          object_key     = objkey_select
        tables
          files          = i_files
          signature      = i_signature
        exceptions
          internal_error = 1
          others         = 2.
    endfunction.
    *& Form GET_FILE_EXTENSION
    try to get the extension of the uploaded file
    form get_file_extension using file_name file_extension.
    -- data declaration ------------------------------------------------ *
      data: length type i,
      single_c type c.
      data: begin of bds_doctype_list occurs 10,
      mandt type mandt,
      classname type bapibds01-classname,
      contrep type bapibds01-contrep,
      docuclass type bapibds01-doc_class,
      docuclass_text type toasd-objecttext,
      doc_type type bapibds01-doc_type,
      doc_type_text type toasp-objecttext,
      appl_type type toadd-appl_type,
      appl_type_text(50) type c,
      standard type toadv-standard,
      check_box type toadv-standard,
      end of bds_doctype_list.
      clear: single_c.
      length = strlen( file_name ).
      if length > 0.
        while length > 0.
          single_c = file_name+length(1).
          if single_c co '.'.
            length = length + 1.
            exit.
          else.
            length = length - 1.
          endif.
        endwhile.
        if length > 0.
          file_extension = file_name+length.
        else.
          file_extension = space.
        endif.
      else.
        file_extension = space.
      endif.
      if file_extension <> space.
        set locale language sy-langu.
        translate file_extension to upper case.              "#EC TRANSLANG
        set locale language space.
      endif.
    endform.                    "get_file_extension
    example  : class = PREL
    object = pernr_no
    desc =  'leav application'
    p_path = file_path
    I used this in abap program then it is uploading fine but when used in the web dynpro file is not uploading. On debugging it is showing error in function module SDOK_PHIOS_CHECKIN
    error key 5 ie error in transfer.
    So please suggest how to upload in web dynpro abap.
    Edited by: Bhavya belagal on Dec 22, 2010 11:55 AM
    Edited by: Bhavya belagal on Dec 22, 2010 12:09 PM

    Hallo Bhavya,
    Please do not post like this as it is not readable . Mostly when you describe it in a simple manner you would get more response.
    See this thread for answers from Thomas Jung [Re: Approach content repository other way then URL approach|Re: Approach content repository other way then URL approach]
    Wiki [http://wiki.sdn.sap.com/wiki/display/WDABAP/File%2bUpload%2busing%2bcl_fitv_gos%2bclass|http://wiki.sdn.sap.com/wiki/display/WDABAP/File%2bUpload%2busing%2bcl_fitv_gos%2bclass]
    Edited by: Baskaran Senthivel on Dec 22, 2010 2:42 PM

Maybe you are looking for

  • SRM IDES Installation

    Hi Friends,    I'm trying to install IDES SRM 5.0 SR2. I have downloaded all the Export CDs from SAP Marketplace. Now I'm unable to locate the Installation Master for SRM IDES.    I could locate the "BS-Installation-Master DVD" but the readme in Expo

  • HP DV6000 series laptop - Shut down immediately as soon as I connect the power Charger

    Hi, I am using a hp dv6000 series laptop for last 2 years....  Accidentally, water fell on my laptop and then my laptop itself fell down from the table. One the first day when I tried restarting it  there was no response ( No power LED no display not

  • Making a beautiful spry photo gallery

    I'm trying to make a photo album like the one on adobe's spry sample photo album page here, http://labs.adobe.com/technologies/spry/demos/gallery/index.html But I haven't been able to find any tutorials to do such a thing, so I've resorted to cutting

  • Using FieldPoint Quad510 to measure PWM

    Can the FP-QAUD-510 be used to measure a pulse width modulated signal? Or are we going to have to use the Analog input module?

  • Opening files in Reader and not Photoshop

    How do I default pdf files to open in Reader instead of Photoshop?