RFC_ERROR_SYSTEM_FAILURE: The function module "DD_DTEL_GET" cannot be used.

Hi there,
I´m trying to launch NWCE 7.1 Webdynpro applications accessing ABAP function with no success.
The landscape consists of an SAP NWCE 7.1 EHP1 (Trial) and an SAP NW 2004s ABAP (Licensed). NW2004s is configured as Gateway and Message Server for the SLD. I can ping/test JCOs successfully and the SLD seems to work fine. RZ70 and SM59 show no errors in the "R3" side and both systems seem to be well-registered as Technical Systems.
I have done some simple examples in Developer Studio to ensure that the conection between both stacks is going well, but I have allways the same issue regardless using ARFC/ARFC2, new projects/old existing projects, etc.
When I test for first time the application, the following exception is thrown:
Caused by: com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: The function module "DD_DTEL_GET" cannot be used for 'remote' calls.
     at com.sap.mw.jco.MiddlewareJRfc.generateJCoException(MiddlewareJRfc.java:456)
     at com.sap.mw.jco.MiddlewareJRfc$Client.execute(MiddlewareJRfc.java:1416)
     at com.sap.mw.jco.JCO$Client.execute(JCO.java:4168)
     at com.sap.mw.jco.JCO$Client.execute(JCO.java:3596)
     at com.sap.mdi.jco6.Destination.execute(Destination.java:29)
     ... 136 more
If I refresh the page the last exception disappears and a new one is thrown:
#2# local/prjWD_Acceso_ABAP/FlightListApp#java.lang.NullPointerException
     at com.sap.mdi.ddtypes.DDDataelement.getDescription(DDDataelement.java:305)
     at com.sap.dictionary.types.mdi.util.TextServices.getDescription(TextServices.java:165)
     at com.sap.dictionary.types.mdi.util.TextServices.getQuickInfo(TextServices.java:145)
     at com.sap.dictionary.runtime.DdDataType$TextService.getQuickInfo(DdDataType.java:220)
     at com.sap.tc.webdynpro.progmodel.context.DataAttributeInfo.getDisplayText(DataAttributeInfo.java:385)
     at com.sap.tc.webdynpro.progmodel.context.DataAttributeInfo.getDisplayText(DataAttributeInfo.java:355)
     at com.sap.tc.webdynpro.progmodel.context.MappedAttributeInfo.getDisplayText(MappedAttributeInfo.java:292)
     at com.sap.tc.webdynpro.progmodel.view.ViewElement._getText(ViewElement.java:818)
     at com.sap.tc.webdynpro.progmodel.view.UIElement.getTooltip(UIElement.java:515)
     at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.InputFieldAdapter$OrdinaryField.getTooltip(InputFieldAdapter.java:8201)
     at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.InputFieldAdapter$OrdinaryField.getParameter(InputFieldAdapter.java:7496)
     at com.sap.tc.ls.renderer.ie6.LSInputFieldRenderer.render(LSInputFieldRenderer.java:160)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.lightspeed.base.LSRenderManager.render(LSRenderManager.java:152)
     at com.sap.tc.webdynpro.clientimpl.html.client.RenderManager.render(RenderManager.java:519)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.lightspeed.base.LSRenderManager.render(LSRenderManager.java:130)
     at com.sap.tc.ls.renderer.ie6.LSColumnLayoutRenderer.renderColumnLayoutCellFragment(LSColumnLayoutRenderer.java:1882)
     at com.sap.tc.ls.renderer.ie6.LSColumnLayoutRenderer.renderColumnLayoutRowFragment(LSColumnLayoutRenderer.java:1715)
     at com.sap.tc.ls.renderer.ie6.LSColumnLayoutRenderer.renderColumnLayoutFragment(LSColumnLayoutRenderer.java:1600)
Then, editing the application in Dev. Studio, if I delete tables and/or single fields binded to model context, the last exception doesn´t appear any more but the application enter in the catch section executing the BAPI call:
     try
          wdContext.currentBapi_Flight_Getlist_InputElement().modelObject().execute();
     catch(Exception ex)
          wdComponentAPI.getMessageManager().reportException("Execute error."+ex.toString()+ex.getMessage());
          StackTraceElement errores[] = ex.getStackTrace();
          String errorSTR = new String();
          for (int i = 0; i < errores.length; i++){
               errorSTR += errores<i>.toString() + "
          wdComponentAPI.getMessageManager().reportException(errorSTR);
     wdComponentAPI.getMessageManager().reportSuccess("After catch.");
     // Resynchronise the data in the context with the data in the model
     wdContext.nodeOutput().invalidate();
The first two exception seem to be related each other, and it is true that FM "DD_DTEL_GET" is not RFC enabled in R3. Should it be RFC enabled?
As far as I know, one of the JCO conectors is used for retrieving metadata, that is, data related to types, lenghts, etc. The FM "DD_DTEL_GET" is used for that kind of operations and the second exception is related to that aswell (com.sap.mdi.ddtypes.DDDataelement.getDescription).
I don´t know what else should I test in order to launch an RFC function from WDJ and the trial version is about to expire!
Does anyone know about any oss note or any other tips related to this issue, please?
I am going to test the conectivity via Visual Composer and see whether it´s possible :S
Let me know if you need anymore info about the situation.
Thanks a lot!

Hi again,
The issue hasn´t been solved yet :(.
After applying Note 1244067 the function module has the RFC flag checked but the Null Pointer exception are still there.
java.lang.NullPointerException
at com.sap.mdi.ddtypes.DDDataelement.getReptext(DDDataelement.java:166)
at com.sap.dictionary.types.mdi.util.TextServices.getColumnLabel(TextServices.java:115)
at com.sap.dictionary.runtime.DdDataType$TextService.getColumnLabel(DdDataType.java:212)
at com.sap.tc.webdynpro.progmodel.context.DataAttributeInfo.getDisplayText(DataAttributeInfo.java:379)
at com.sap.tc.webdynpro.progmodel.context.DataAttributeInfo.getDisplayText(DataAttributeInfo.java:355)
at com.sap.tc.webdynpro.progmodel.view.ViewElement._getText(ViewElement.java:818)
at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.Caption.getText(Caption.java:369)
at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter$HeaderCell.getHeaderText(TableAdapter.java:11441)
at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter$HeaderCell.getParameter(TableAdapter.java:11043)
at com.sap.tc.ls.renderer.ie6.LSSapTableHeaderCellRenderer.renderSapTableHeaderCellFragment_iteration(LSSapTableHeaderCellRenderer.java:2421)
at com.sap.tc.ls.renderer.ie6.LSSapTableRowRenderer.renderSapTableRowFragment(LSSapTableRowRenderer.java:223)
at com.sap.tc.ls.renderer.ie6.LSSapTableRowRenderer.render(LSSapTableRowRenderer.java:122)
at com.sap.tc.webdynpro.clientimpl.html.renderer.lightspeed.base.LSRenderManager.render(LSRenderManager.java:152)
at com.sap.tc.webdynpro.clientimpl.html.client.RenderManager.render(RenderManager.java:519)
at com.sap.tc.webdynpro.clientimpl.html.renderer.lightspeed.base.LSRenderManager.render(LSRenderManager.java:130)
at com.sap.tc.ls.renderer.ie6.LSSapTableDefaultBodyRenderer.renderSapTableDefaultBodyFragment(LSSapTableDefaultBodyRenderer.java:301)
at com.sap.tc.ls.renderer.ie6.LSSapTableDefaultBodyRenderer.render(LSSapTableDefaultBodyRenderer.java:119)
at com.sap.tc.webdynpro.clientimpl.html.renderer.lightspeed.base.LSRenderManager.render(LSRenderManager.java:152)
at com.sap.tc.webdynpro.clientimpl.html.client.RenderManager.render(RenderManager.java:519)
at com.sap.tc.webdynpro.clientimpl.html.renderer.lightspeed.base.LSRenderManager.render(LSRenderManager.java:130)
Language resources data in the webdynpro are: Current locale = "es", Default VM locale = "es_ES". The backend default language is "EN". Could this be a problem in order to retrieve descriptions or any other language dependent data?
Thank you
Vicente.

Similar Messages

  • What are functional modules? why we use them?

    HI all,
    Please explain what are the functional modules? why we use them? I am talking in reference to SAP HR.
    Thanks,
    Rashmi

    Hi SAP Gurus,
    as now i got some idea that SAP has provided lot of funtional modules and also we can create our own function modules,
    1, can any one tell with an example when and at what cases this funtional modules are made use of,  and how will we come to know which funtional module has to be made use of and  for which specific purposes.
    2, do you mean to say SAP has provided many funtional modules but they are in Dormant stage untill activated or made use of.
    3. Is developing funtional module mainly ABAPers work or could be done by Funtional person alltogether (in case of using the existing FMs
    4, When and how this FMs work, what is the trigger point do we have to run this when required, if so how
    5, what is the difference Between FMs and UserExits
    Can anyone throw some light on this with an example,
    Points for sure for Suitable answers
    Thanks and Regards
    Sathish
    Edited by: sathish kumar on May 5, 2008 7:43 PM

  • Not able to use Commit after the function module STATUS_OBJECT_CREATE

    I am using function module   STATUS_OBJECT_CREATE
       CALL FUNCTION 'STATUS_OBJECT_CREATE'
              EXPORTING
               CHGKZ         = 'X'
               CLIENT        = SY-MANDT
                OBJNR         = LV_OBJNR3
                OBTYP         = 'IWE'
                STSMA         = 'ZS_RE_01'
              IMPORTING
                OBJNR         = LV_OBJNR3.
                STONR                        = LV_STONR.
            IF SY-SUBRC = 0.
                COMMIT WORK.
            ENDIF.
    i am getting error after the COMMIT WORK .
    I am not getting any issue in the function module .after the function module i am using the COMMIT WORK and i am getting the following error message
    Category               ABAP Programming Error
    Runtime Errors         SAPSQL_ARRAY_INSERT_DUPREC
    Except.                CX_SY_OPEN_SQL_DB
    ABAP Program           SAPLBSVU
    Application Component  CA-GTF-TS-SMT
    Date and Time          03/17/2014 07:01:29
    |Short text                                                                                        |
    |    The ABAP/4 Open SQL array insert results in duplicate database records.                       |
    |What happened?                                                                                    |
    |    Error in the ABAP Application Program                                                         |
    |                                                                                                  |
    |    The current ABAP program "SAPLBSVU" had to be terminated because it has                       |
    |    come across a statement that unfortunately cannot be executed.                                |
    |What can you do?                                                                                  |
    |    Note down which actions and inputs caused the error.                                          |
    |                                                                                                  |
    |                                                                                                  |
    |    To process the problem further, contact you SAP system                                        |
    |    administrator.                                                                                |
    |                                                                                                  |
    |    Using Transaction ST22 for ABAP Dump Analysis, you can look                                   |
    |    at and manage termination messages, and you can also                                          |
    |    keep them for a long time.                                                                    |
    |Error analysis                                                                                    |
    |    An exception occurred that is explained in detail below.                                      |
    |    The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught                 |
    |     in                                                                                           |
    |    procedure "STATUS_UPDATE" "(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:                                                              |
    |    If you use an ABAP/4 Open SQL array insert to insert a record in                              |
    |    the database and that record already exists with the same key,                                |
    |    this results in a termination.                                                                |
    |                                                                                                  |
    |    (With an ABAP/4 Open SQL single record insert in the same error                               |
    |    situation, processing does not terminate, but SY-SUBRC is set to 4.)                          |
    |How to correct the error                                                                          |
    |    Use an ABAP/4 Open SQL array insert only if you are sure that none of                         |
    |    the records passed already exists in the database.                                            |
    |                                                                                                  |
    |    If the error occures in a non-modified SAP program, you may be able to                        |
    |    find an interim solution in an SAP Note.                                                      |
    |    If you have access to SAP Notes, carry out a search with the following                        |
    |    keywords:                                                                                     |
    |                                                                                                  |
    |    "SAPSQL_ARRAY_INSERT_DUPREC" "CX_SY_OPEN_SQL_DB"                                              |
    |    "SAPLBSVU" or "LBSVUU01"                                                                      |
    |    "STATUS_UPDATE"                                                                               |
    |                                                                                                  |
    |    If you cannot solve the problem yourself and want to send an error                            |
    |    notification to SAP, include the following information:                                       |
    |                                                                                                  |
    |    1. The description of the current problem (short dump)                                        |
    |                                                                                                  |
    |       To save the description, choose "System->List->Save->Local File                            |
    |    (Unconverted)".                                                                               |
    |                                                                                                  |
    |    2. Corresponding system log                                                                   |
    |                                                                                                  |
    |       Display the system log by calling transaction SM21.                                        |
    |       Restrict the time interval to 10 minutes before and five minutes                           |
    |    after the short dump. Then choose "System->List->Save->Local File                             |
    |    (Unconverted)".                                                                               |
    |                                                                                                  |
    |    3. If the problem occurs in a problem of your own or a modified SAP                           |
    |    program: The source code of the program                                                       |
    |       In the editor, choose "Utilities->More                                                     |
    |    Utilities->Upload/Download->Download".                                                        |
    |                                                                                                  |
    |    4. Details about the conditions under which the error occurred or which                       |
    |    actions and input led to the error.                                                           |
    |                                                                                                  |
    |    The exception must either be prevented, caught within proedure                                |
    |    "STATUS_UPDATE" "(FUNCTION)", or its possible occurrence must be declared in                  |
    |     the                                                                                          |
    |    RAISING clause of the procedure.                                                              |
    |    To prevent the exception, note the following:                                                 |
    |System environment                                                                                |
    |    SAP Release..... 702                                                                          |
    |    SAP Basis Level. 0010                                                                         |
    |                                                                                                  |
    |    Application server... "sds6ci"                                                                |
    |    Network address...... "11.224.101.53"                                                         |
    |    Operating system..... "Linux"                                                                 |
    |    Release.............. "2.6.18-194.el5"                                                        |
    |    Hardware type........ "x86_64"                                                                |
    |    Character length.... 16 Bits                                                                  |
    |    Pointer length....... 64 Bits                                                                 |
    |    Work process number.. 17                                                                      |
    |    Shortdump setting.... "full"                                                                  |
    |                                                                                                  |
    |    Database server... "gctsdb01lds.hsi.hugh"                                                     |
    |    Database type..... "ORACLE"                                                                   |
    |    Database name..... "DS6"                                                                      |
    |    Database user ID.. "SAPDS4"                                                                   |
    |                                                                                                  |
    |    Terminal.......... "GCTEMP02VDI"                                                              |
    |                                                                                                  |
    |    Char.set.... "C"                                                                              |
    |                                                                                                  |
    |    SAP kernel....... 720                                                                         |
    |    created (date)... "Sep 14 2013 05:28:14"                                                      |
    |    create on........ "Linux GNU SLES-9 x86_64 cc4.1.2 use-pr130820"                              |
    |    Database version. "OCI_102, 10.2.0.5.0, V2, default"                                          |
    |                                                                                                  |
    |    Patch level. 500                                                                              |
    |    Patch text.. " "                                                                              |
    |                                                                                                  |
    |    Database............. "ORACLE 10.1.0.*.*, ORACLE 10.2.0.*.*, ORACLE 11.2.*.*.*"               |
    |    SAP database version. 720                                                                     |
    |    Operating system..... "Linux 2.6, Linux 3"                                                    |
    |                                                                                                  |
    |    Memory consumption                                                                            |
    |    Roll.... 1317248                                                                              |
    |    EM...... 0                                                                                    |
    |    Heap.... 0                                                                                    |
    |    Page.... 0                                                                                    |
    |    MM Used. 1242912                                                                              |
    |    MM Free. 53400                                                                                |
    |User and Transaction                                                                              |
    |    Client.............. 160                                                                      |
    |    User................ "DV018458"                                                               |
    |    Language key........ "E"                                                                      |
    |    Transaction......... "SE38 "                                                                  |
    |    Transaction ID...... "5323C30FC9364665E10000000BE06533"                                       |
    |                                                                                                  |
    |    EPP Whole Context ID.... "002655EE0F241ED3ABB7D81260A28C44"                                   |
    |    EPP Connection ID....... 00000000000000000000000000000000                                     |
    |    EPP Caller Counter...... 0                                                                    |
    |                                                                                                  |
    |    Program............. "SAPLBSVU"                                                               |
    |    Screen.............. "RSM13000 3000"                                                          |
    |    Screen Line......... 2                                                                        |
    |    Debugger Active..... "none"                                                                   |
    |Information on where terminated                                                                   |
    |    Termination occurred in the ABAP program "SAPLBSVU" - in "STATUS_UPDATE".                     |
    |    The main program was "RSM13000 ".                                                             |
    |                                                                                                  |
    |    In the source code you have the termination point in line 60                                  |
    |    of the (Include) program "LBSVUU01".                                                          |
    |    The program "SAPLBSVU" was started in the update system.                                      |
    |    The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in                   |
    |    procedure "STATUS_UPDATE" "(FUNCTION)", but it was neither handled locally nor                |
    |     declared                                                                                     |
    |    in the RAISING clause of its signature.                                                       |
    |                                                                                                  |
    |    The procedure is in program "SAPLBSVU "; its source code begins in line                       |
    |    1 of the (Include program "LBSVUU01 ".                                                        |
    |Source Code Extract                                                                               |
    |Line |SourceCde                                                                                   |
    |   30|  LOOP AT jsto_upd WHERE chgkz = 'X'.                                                       |
    |   31|    CHECK: jsto_upd-chgnr > '000',                                                          |
    |   32|           jsto_upd-stsma NE jsto_upd-stsma_old.                                            |
    |   33|    CLEAR jcdo_tab.                                                                         |
    |   34|    MOVE-CORRESPONDING jsto_upd TO jcdo_tab.                                                |
    |   35|    MOVE-CORRESPONDING chdat    TO jcdo_tab.                                                |
    |   36|    jcdo_tab-stsma_new = jsto_upd-stsma.                                                    |
    |   37|    APPEND jcdo_tab.                                                                        |
    |   38|  ENDLOOP.                                                                                  |
    |   39|* Änderungen zu Einzelstatus (Insert)                                                       |
    |   40|  LOOP AT jest_ins WHERE chgkz = 'X'.                                                       |
    |   41|    CHECK jest_ins-chgnr > '000'.                                                           |
    |   42|    CLEAR jcds_tab.                                                                         |
    |   43|    MOVE-CORRESPONDING jest_ins TO jcds_tab.                                                |
    |   44|    MOVE-CORRESPONDING chdat    TO jcds_tab.                                                |
    |   45|    jcds_tab-chind = 'I'.                                                                   |
    |   46|    APPEND jcds_tab.                                                                        |
    |   47|  ENDLOOP.                                                                                  |
    |   48|* Änderungen zu Einzelstatus (Update)                                                       |
    |   49|  LOOP AT jest_upd WHERE chgkz = 'X'.                                                       |
    |   50|    CHECK jest_upd-chgnr > '000'.                                                           |
    |   51|    CLEAR jcds_tab.                                                                         |
    |   52|    MOVE-CORRESPONDING jest_upd TO jcds_tab.                                                |
    |   53|    MOVE-CORRESPONDING chdat    TO jcds_tab.                                                |
    |   54|    jcds_tab-chind = 'U'.                                                                   |
    |   55|    APPEND jcds_tab.                                                                        |
    |   56|  ENDLOOP.                                                                                  |
    |   57|* Verbuchung Statusobjekte                                                                  |
    |   58|  DESCRIBE TABLE jsto_ins LINES sy-tabix.                                                   |
    |   59|  IF sy-tabix > 0.                                                                          |
    |>>>>>|    INSERT jsto CLIENT SPECIFIED                                                            |
    |   61|                FROM TABLE jsto_ins.                                                        |
    |   62|  ENDIF.                                                                                    |
    |   63|  DESCRIBE TABLE jsto_upd LINES sy-tabix.                                                   |
    |   64|  IF sy-tabix > 0.                                                                          |
    |   65|    field-symbols <fs_jsto_line> like jsto_upd.                                             |
    |   66|    loop at jsto_upd assigning <fs_jsto_line>.                                              |
    |   67|      IF <fs_jsto_line>-chgnr = '000'.                                                      |
    |   68|        <fs_jsto_line>-chgnr = '999'.                                                       |
    |   69|      ENDIF.                                                                                |
    |   70|* on change of status profile delete user status related to old profile                     |
    |   71|      IF <fs_jsto_line>-STSMA NE <fs_jsto_line>-STSMA_OLD.                                  |
    |   72|        DELETE FROM JEST CLIENT SPECIFIED WHERE                                             |
    |   73|               MANDT = <fs_jsto_line>-MANDT AND                                             |
    |   74|               OBJNR = <fs_jsto_line>-OBJNR AND                                             |
    |   75|               STAT  LIKE 'E%'.                                                             |
    |   76|        DELETE FROM JCDS CLIENT SPECIFIED WHERE                                             |
    |   77|               MANDT = <fs_jsto_line>-MANDT AND                                             |
    |   78|               OBJNR = <fs_jsto_line>-OBJNR AND                                             |
    |   79|               STAT  LIKE 'E%'.                                                             |

    i tried with out using commmit but it is not creating Status.
    When i see the function module help and they are trying to COMMIT
    FU STATUS_OBJECT_CREATE
    Short Text
    Create Status Object
    Functionality
    The function module generates a status object.
    Take the object number from the object number management (function modules OBJECT_NUMNBER_GET_xx).
    If no object number is given, the module takes a temporary object number that must be replaced later (function module STATUS_OBJECT_SWITCH_NUMBER).
    Example
    Creating an internal order with number 100123 (object type "ORC") for status profile "STATSCHEM" with final object number
    call function 'OBJECT_NUMBER_GET_OR'
      exporting
        aufnr = '100123'
      importing objnr = objektnummer.
    call function 'STATUS_OBJECT_CREATE'
      exporting
        objnr = objektnummer
        obtyp = 'ORC'
        stsma = 'STATSCHEM'.
    commit work.
    Creating the same order with a temporary object number
    data: objectkey like ionra.
    * TBO00-REFSTRUCT for object type 'OR' is 'IONRA'
    objectkey-aufnr = '100123'.
    call function 'STATUS_OBJECT_CREATE'
      exporting
        i_objectkey = objectkey
        obtyp       = 'ORC'
        stsma       = 'STATSCHEM'.
      importing
        objnr       = objektnummer.
    call function 'OBJECT_NUMBER_GET_OR'
      exporting
        aufnr = '100123'
      importing objnr = objektnummer_neu.
    call function 'STATUS_OBJECT_SWITCH_NUMBER'
      exporting
        objnr_old = objektnummer
        objnr_new = objektnummer_neu.
    commit work.
    Notes

  • Hi guru's what are the function modules are used in ALV

    hi guru's what are the function modules are used in ALV

    Hi vasu,
    There are some function modules which will enable to produce the  reports without much effort.
    All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.
    1. SIMPLE REPORT.
    The important function modules are
    a. Reuse_alv_list_display
    b. Reuse_alv_fieldcatalog_merge
    c. Reuse_alv_events_get
    d. Reuse_alv_commentary_write
    e. Reuse_alv_grid_display
    A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.
    The important parameters are :
    I. Export :
    i. I_callback_program : report id
    ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status
    iii. I_callback_user_command : routine where the function codes are handled
    iv. I_structure name : name of the dictionary table
    v. Is_layout : structure to set the layout of the report
    vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE
    vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.
    II. Tables :
    i. t_outtab : internal table with the data to be output
    B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.
    The Important Parameters are :
    I. Export :
    i. I_program_name : report id
    ii. I_internal_tabname : the internal output table
    iii. I_inclname : include or the report name where all the dynamic forms are handled.
    II Changing
    ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is
    declared in the type pool SLIS.
    C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type
    Parameters :
    I. Import :
    Et_Events : The event table is returned with all possible CALLBACK events
    for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.
    II. Export :
    I_List_type :
    0 = simple list REUSE_ALV_LIST_DISPLAY
    1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY
    2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND
    3 = hierarchical-sequential block list
    REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.
    Parameters :
    I. it_list_commentary : internal table with the headings of the type slis_t_listheader.
    This internal table has three fields :
    Typ : ‘H’ – header, ‘S’ – selection , ‘A’ - action
    Key : only when typ is ‘S’.
    Info : the text to be printed
    E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.
    Parameters : same as reuse_alv_list_display
    This is an example for simple list.
    2. BLOCK REPORT
    This is used to have multiple lists continuously.
    The important functions used in this report are:
    A. REUSE_ALV_BLOCK_LIST_INIT
    B. REUSE_ALV_BLOCK_LIST_APPEND
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    A. REUSE_ALV_BLOCK_LIST_INIT
    Parameters:
    I. I_CALLBACK_PROGRAM
    II. I_CALLBACK_PF_STATUS_SET
    III. I_CALLBACK_USER_COMMAND
    This function module is used to set the default gui status etc.
    B. REUSE_ALV_BLOCK_LIST_APPEND
    Parameters :
    Export :
    I. is_layout : layout settings for block
    II. it_fieldcat : field catalog
    III. i_tabname : internal table name with output data
    IV. it_events : internal table with all possible events
    Tables :
    i. t_outtab : internal table with output data.
    This function module adds the data to the block.
    Repeat this function for all the different blocks to be displayed one after the other.
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    This function module is used for hierarchical sequential blocks.
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    Parameters : All the parameters are optional.
    This function module display the list with data appended by the above function.
    Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.
    3. Hierarchical reports :
    Hierarchical sequential list output.
    The function module is
    A. REUSE_ALV_HIERSEQ_LIST_DISPLAY
    Parameters:
    I. Export:
    i. I_CALLBACK_PROGRAM
    ii. I_CALLBACK_PF_STATUS_SET
    iii. I_CALLBACK_USER_COMMAND
    iv. IS_LAYOUT
    v. IT_FIELDCAT
    vi. IT_EVENTS
    vii. i_tabname_header : Name of the internal table in the program containing the
    output data of the highest hierarchy level.
    viii. i_tabname_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    ix. is_keyinfo : This structure contains the header and item table field
    names which link the two tables (shared key).
    II. Tables
    i. t_outtab_header : Header table with data to be output
    ii. t_outtab_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using ‘REUSE_ALV_FIELDCATALOG_MERGE’.
    Important Attributes :
    A. col_pos : position of the column
    B. fieldname : internal fieldname
    C. tabname : internal table name
    D. ref_fieldname : fieldname (dictionary)
    E. ref_tabname : table (dictionary)
    F. key(1) : column with key-color
    G. icon(1) : icon
    H. symbol(1) : symbol
    I. checkbox(1) : checkbox
    J. just(1) : (R)ight (L)eft (C)ent.
    K. do_sum(1) : sum up
    L. no_out(1) : (O)blig.(X)no out
    M. outputlen : output length
    N. seltext_l : long key word
    O. seltext_m : middle key word
    P. seltext_s : short key word
    Q. reptext_ddic : heading (ddic)
    R. ddictxt(1) : (S)hort (M)iddle (L)ong
    S. datatype : datatype
    T. hotspot(1) : hotspot
    some theory regarding alv:
    This table tells ALV which events are processed by the caller by CALLBACK.
    The table of possible events per list type can be initialized using the module REUSE_ALV_EVENTS_GET.
    You can display the names of the constants in the type pools SLIS which represent the individual events using the individual test function in the function module
    REUSE_ALV_EVENT_NAMES_GET. Only events with a form routine name are processed.
    The table structure contains the fields:
    • IT_EVENTS-NAME
    Name of the Callback event.
    Possible Callback events:
    • Action
    USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD
    Process actions on the list
    As this is a frequently-used Callback event, the form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_USER_COMMAND.
    PF_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB
    If a user list status is to be set, it must be done in the form routine assigned to this event. The ALV function codes, which must not be active, are in the Parameter RT_EXTAB. This table must be passed with the SET PF-STATUS command (with inactive user function codes as well, if necessary).
    The STANDARD status of the function group SALV should be used as a template for a user-specific status.
    As this is a frequently-used Callback event, its form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_PF_STATUS_SET.
    ITEM_DATA_EXPAND USING RS_SELFIELD TYPE SLIS_SELFIELD RFLG_ALL TYPE C
    Only relevant for hierarchical-sequential lists using the layout parameter IS_LAYOUT-EXPAND_FIELDNAME of the structure IS_LAYOUT.
    Exit for passing item entries (ITEM table) for a header record which was expanded interactively by the user.
    RS_SELFIELD-TABINDEX contains the header table index for which the item entries are to be put in the global item output table (T_OUTTAB_SLAVE). The Callback is only called if ALV has no items for a header which is to be expanded.
    RFLG_ALL is passed with 'X' if the user shows all items. The application must ensure that entries are not repeated in the item table. RS_SELFIELD is initial in this case.
    CALLER_EXIT USING RS_DATA Is called at the beginning of the function module to make special settings. It is not usually used.
    • List processing events
    IMPORTANT: The application Callback routine must not manipulate the internal output table and/or its header record. This restriction applies to all Callbacks which are called in the list output and run under the 'List processing events'.
    TOP_OF_LIST no USING parameter. Information output at the start of the list
    END_OF_LIST no USING parameter. Information output at the end of the list
    TOP_OF_PAGE no USING parameter
    Equivalent to the list processing TOP-OF-PAGE event
    END_OF_PAGE no USING parameter. Not available for hierarchical-sequential lists.
    Information output at the end of a page. This is only called for printing.
    TOP_OF_COVERPAGE no USING parameter
    The selection information and list status are output together (if they exist) on a separate page by default. See also the documentation of the parameters:
    IS_PRINT-NO_COVERPAGE
    IS_PRINT-NO_PRINT_SELINFOS
    IS_PRINT-NO_PRINT_LISTINFOS
    IS_LAYOUT-GET_SELINFOS
    The user can format the header area of the 'cover page' himself or herself by specifying a Callback routine for this event.
    END_OF_COVERPAGE no USING parameter
    Analogously to TOP_OF_COVERPAGE the user can add other information to the information output by ALV (selection information, list status) at this event.
    FOREIGN_TOP_OF_PAGE no USING parameter
    The Top-of-page event is always processed in ALV and is only passed to the caller via the Callback mechanism. This is still the case if the caller, e.g. by a user action, processes a branch list which was not formatted by ALV (e.g. a popup with additional information about the list record selected and displayed by ALV).
    In this case, top-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event top-of-page still occurs in ALV. When ALV notices a top-of-page which was not caused by an ALV output, the form routine in FOREIGN_TOP_OF_PAGE is called.
    FOREIGN_END_OF_PAGE no USING parameter
    The event end-of-page is always processed in ALV and only passed to the caller via callback. This is still the case, e.g. when the caller processes a details list which was not formatted by ALV (e.g. a popup with further information about selected list records which were displayed by ALV).
    In this case, end-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event end-of-page still occurs in ALV. When ALV notices an end-of-page that was not caused by an ALV output, the form routine in FOREIGN_END_OF_PAGE is called.
    BEFORE_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO
    Output information before each output line. Should only be used in justified cases because it costs a lot of performance.
    AFTER_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO
    Output information after each output line. Should only be used in justified cases because it costs a lot of performance.
    • Internal use only
    LIST_MODIFY USING R_TABNAME TYPE SLIS_TABNAME
    R_INDEX LIKE SY-TABIX
    R_INDEX_ITEM LIKE SY-TABIX
    R_INDEX_SUM LIKE SY-TABIX
    • IT_EVENTS-FORM
    Name of the form routine which should be called in the calling program at the event.
    Field_catalog:
    Field catalog with field descriptions
    2.7.1. Description
    Field catalog containing descriptions of the list output fields (usually a subset of the internal output table fields). A field catalog is required for every ALV list output.
    The field catalog for the output table is built-up in the caller's coding. The build-up can be completely or partially automated by calling the REUSE_ALV_FIELDCATALOG_MERGE module
    See also the documentation of the function module REUSE_ALV_FIELDCATALOG_MERGE.
    The minimal field catalog is documented under 'default'. The caller can use the other optional parameters to assign output attributes to a field which differ from the default.
    A field catalog need not be built-up and passed explicitly only under the following conditions:
    • The internal table to be output has the same structure as a Data Dictionary structure which is referred to in the internal table declaration using LIKE or INCLUDE STRUCTURE.
    • all fields in this structure are to be output
    • the structure name is passed to ALV in the parameter I_STRUCTURE_NAME.
    See also the documentation of the IMPORTING paramter I_STRUCTURE_NAME.
    Positioning
    • row_pos (row position)
    value set: 0, 1 - 3
    Only relevant if the list output is to be multi-line (two or three lines) by default.
    A multi-line list can also be defined by the user interactively if the default list is one-line.
    The parameter specifies the relative output line of the column in a multi-line list.
    • col_pos (column position)
    value set: 0, 1 - 60
    only relevant when the default relative column positions differ from the field catalog field sequence. The parameter specifies the relative column position of the field in the list output. The column order can be changed interactively by the user. If this parameter is initial for all field catalog entries, columns appear in the field catalog field sequence.
    Identification
    • fieldname (field name)
    value set: internal output table field name (required parameter)
    Name of the internal output table field which is described by this field catalog entry
    • tabname (internal output table)
    value set: SPACE, internal output table name
    This parameter is used in 'manual' field catalog build-up only for hierarchical-sequential lists.
    Name of the internal output table which contains the field FIELDCAT-FIELDNAME.
    Data Dictionary reference
    • ref_fieldname (reference field name)
    value set: SPACE, Data Dictionary field name
    Name of the Data Dictionary field referred to.
    This parameter is only used when the internal output table field described by the current field catalog entry has a reference to the Data Dictionary (not a program field), and the field name in the internal output table is different from the name of the field in the Data Dictionary. If the field names are identical, naming the Data Dictionary structure or table in the FIELDCAT-REF_TABNAME parameter is sufficient.
    • ref_tabname (reference table/structure field name)
    value set: SPACE, name of a Data Dictionary structure or table
    Structure or table name of the referred Data Dictionary field.
    This parameter is only used when the internal output table field described by the current field catalog entry has a Data Dictionary reference (not a program field).
    Reference to fields with currency/measurement unit
    Each internal output table sum or quantity field whose decimal places are to be formatted appropriately for the unit in the list must follow the convention:
    • the field is of data type QUAN or CURR (internal type P) (the field must really have this physical data type. Overwriting the physical data type with the parameter FIELDCAT-DATATYPE has no effect)
    • There is a field in the internal output table which contains the associated unit.
    • There is also an entry in the field catalog for the unit field.
    (If the unit is not to appear as a column in the list, and cannot be interactively displayed as a column, e.g. because it is always unambiguous and is therefore explicitly output by the caller in the list header, the field catalog units field entry can take the parameter FIELDCAT-TECH = 'X'.
    The association of a value field to a unit affects the output as follows:
    • appropriate decimal places display for the unit
    • an initialized field with a link to a non-initial unit is output as '0' for the unit (if FIELDCAT-NO_ZERO is initial). When this field is summed, this unit affects whether the units are homogeneous.
    • an initialized field with a link to an initial unit is output as SPACE. When this field is summed, the unit SPACE does not affect the homogeneity of the units.
    • When non-initial fields with an initial unit are summed, the unit SPACE is considered to be a unit.
    Link to currency unit
    • cfieldname (currency unit field name)
    value set: SPACE, output table field name
    Only relevant for amount columns with associated unit.
    Name of the internal output table field containing the currency unit associated with the amount field FIELDCAT-FIELDNAME. The field in FIELDCAT-CFIELDNAME must have its own field catalog entry.
    • ctabname (internal currency unit field output table)
    value set: SPACE, output table field name
    only relevant for hierarchical-sequential lists
    Name of the internal output table containing the FIELDCAT-CFIELDNAME field.
    Link to measurement unit
    • qfieldname (measurement unit field name)
    value set: SPACE, output table field name
    only relevant for quantity columns with unit link.
    Name of the internal output table field containing the measurement unit associated with the quantity field FIELDCAT-FIELDNAME.
    The field in FIELDCAT-QFIELDNAME must have its own field catalog entry.
    • qtabname (internal measurement unit field output table)
    value set: SPACE, output table field name
    only relevant for hierarchical-sequential lists
    Name of the internal output table containing the FIELDCAT-QFIELDNAME field.
    Column output options
    • outputlen (column width)
    value set: 0 (initial), n
    For fields with a Data Dictionary link this parameter can be left initial.
    For fields without a Data Dictionary link (program field) the parameter must be given the value of the desired field list output length (column width).
    initial = column width is the output length of the referred Data Dictionary field (domain).
    n = column width is n characters
    • key (key column)
    value set: SPACE, 'X' 'X' = kex field (key field output in color)
    Key fields can not be interactively hidden. Parameter FIELDCAT-NO_OUT must be left initial.
    For exceptions see the documentation of the FIELDCAT-KEY_SEL parameter.
    • key_sel (hideable key column)
    value set: SPACE, 'X'
    only relevant when FIELDCAT-KEY = 'X'
    Key field which can be hidden interactively.
    The key column sequence cannot be changed interactively by the user.
    The output is controlled by the FIELDCAT-NO_OUT parameter analogously to non-key fields.
    • no_out (field in field list)
    value set: SPACE, 'X' 'X' = field is not displayed in the current list.
    The user can interactively choose the field for output from the field list.
    The user can display the contents of these fields at line level using the 'Detail' function.
    See also the 'Detail screen' documentation of the parameter IS_LAYOUT.
    • tech (technical field)
    value set: SPACE, 'X' 'X' = technical field
    Field cannot be output in the list and cannot be displayed interactively.
    Field can only be used in the field catalog (not in IT_SORT, ...).
    • emphasize (highlight columns in color)
    value set: SPACE, 'X' or 'Cxyz' (x:'1'-'9'; y,z: '0'=off '1'=on)
    'X' = column is colored with the default column highlight color.
    'Cxyz' = column is colored with a coded color:
    • C: Color (coding must begin with C)
    • x: color number
    • y: bold
    • z: inverse
    • hotspot (column as hotspot)
    value set: SPACE, 'X'
    'X' = column cells are output as hotspots
    • fix_column (fix column)
    value set: SPACE, 'X'
    Not relevant for block lists (output of several lists consecutively)
    'X' = column fixed (does not scroll horizontally)
    All columns to be fixed must have this flag, starting from the left. If a column without this flag is output, only the columns to the left of this column are fixed. The user can change the column fixing interactively. See also the documentation of the Layout parameter
    IS_LAYOUT-NO_KEYFIX of the IMPORTING paramter IS_LAYOUT.
    • do_sum (sum over column)
    value set: SPACE, 'X' 'X' = a sum is to be calculated over this internal output table field.
    This function can also be called by the user interactively.
    • no_sum (sums forbidden)
    value set: SPACE, 'X' 'X' = no sum can be calculated over this field, although the data type of the field would allow summing.
    • input (column ready for input)
    Function not available
    Format column contents
    • icon
    value set: SPACE, 'X' 'X' = column contents to be output as an icon.
    The caller must consider the printability of icons.
    • symbol
    value set: SPACE, 'X' 'X' = column contents are to be output as a symbol.
    The internal output table column must be a valid symbol character.
    The caller must consider the printability of symbols.
    Symbols can usually be printed, but may not always be output correctly, depending on the printer configuration.
    • just (justification)
    value set: SPACE, 'R', 'L', 'C'
    Only relevant for fields of data type CHAR or NUMC
    ' ' = default justification for this data type
    'R' = right-justified output
    'L' = left-justified output
    'C' = centered output
    The justification of the column header always follows the justification of the columns. Independent justification of the column neader is not possible.
    • lzero (leading zeros)
    value set: SPACE, 'X'
    Only relevant for fields of data type NUMC
    ALV outputs NUMC fields right-justified without leading zeros by default.
    'X' = output with leading zeros
    Note: If a NUMC field is output left-justified or centered by FIELDCAT-JUST, leading zeros are output. If the output of leading zeros is suppressed by a Data Dictionary reference ALPHA conversion exit, the output is always left-justified.
    • no_sign (no +/- sign) Only relevant for value fields
    value set: SPACE, 'X' 'X' = value output without +/ sign
    • no_zero (suppress zeros) Only relevant for value fields
    value set: SPACE, 'X' 'X' = suppress zeros
    • edit_mask (field formatting)
    value set: SPACE, template
    template = see documentation of WRITE formatting option USING EDIT MASK template
    The output conversion conv can be made by template = '== conv'.
    Texts
    The following text parameters should be specified for program fields without a Data Dictionary reference. The texts are taken from the Data Dictionary for fields with a Data Dictionary reference. If this is not desired, the text parameters can also be specified. The Data Dictionary texts are then ignored. If the user changes the column width interactively, the column header text with the appropriate length is always used. The interactive function 'Optimize column width' takes account of both the field contents and the column headers: if all field contents are shorter than the shortest column header, the column width depends on the column header.
    The 'long field label' is also used in display variant definition, sort, etc. popups.
    • seltext_l (long field label)
    • seltext_m (medium field label)
    • seltext_s (short field label)
    • reptext_ddic (header)
    analogous to the Data element maintenance 'Header'
    The specified text is not necessarily output in the list, an optimum among all texts is sought.
    • ddictxt (specify text)
    value set: SPACE, 'L', 'M', 'S'
    You can specify with values 'L', 'M', and 'S', the keyword that should always be used as column header. If the column width changes, no attempt is made in this case to find an appropriate header for the new output width.
    Parameters for program fields without Data Dictionary reference
    see also 'Text' parameters
    • datatype (data type)
    value set: SPACE, Data Dictionary data type (CHAR, NUMC,...)
    Only relevant for fields without Data Dictionary reference
    Program field data type
    • ddic_outputlen (external output length)
    value set: 0 (initial), n
    Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit.
    Prerequisites:
    • FIELDCAT-EDIT_MASK = '==conv'
    see also the documentation of the parameter FIELDCAT-EDIT_MASK
    • FIELDCAT-INTLEN = n
    see also the documentation of the parameter FIELDCAT-INTLEN
    n = external format field output length
    The column width FIELDCAT-OUTPUTLEN need not be the same as the external format output length (FIELDCAT-DDIC_OUTPUTLEN).
    • intlen (internal output length)
    value set: 0 (initial), n
    Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit.
    Prerequisites:
    • FIELDCAT-EDIT_MASK = '==conv'
    see also the documentation of the parameter FIELDCAT-EDIT_MASK
    • FIELDCAT-DDIC_OUTPUTLEN = n
    see also the documentation of the parameter FIELDCAT-DDIC_OUTPUTLEN
    n = internal format field output length
    • rollname (data element)
    value set: SPACE, Data Dictionary data element name
    F1 help can be provided for a program field without a Data Dictionary reference, or F1 help which differs from the Data Dictionary help can be provided for a field with a Data Dictionary reference, using this parameter.
    When F1 help is called for this field, the documentation of the specified data element is displayed.
    If the FIELDCAT-ROLLNAME is initial for fields with a Data Dictionary reference, the documentation of the data element of the referred Data Dictionary field is output.
    Others
    • sp_group (field group key)
    value set: SPACE, CHAR(1)
    Field group key.
    Keys are assigned to group names in the IT_SPECIAL_GROUPS parameter (see also the documentation of the parameter IT_SPECIAL_GROUPS).
    When such an assignment is made in the field catalog and in IT_SPECIAL_GROUPS, the fields are grouped correspondingly in the display variant popup.
    • reprep (Report/Report interface selection criterion)
    value set: SPACE, 'X'
    Prerequisites:
    • The system contains the Report/Report interface (function group RSTI, table TRSTI)
    • Parameter LAYOUT-REPREP = 'X'
    (see also the documentation of the parameter LAYOUT-REPREP of the IMPORTING parameter IS_LAYOUT )
    'X' = When the Report/Report interface is called, the value of this field is passed in the selected interface start record as a selection criterion.
    2.7.2. Default
    • The following entries are usually sufficient for internal table fields with a reference to a field defined in the Data Dictionary :
    • fieldname
    • ref_tabname
    Notes:
    ALV gets the remaining information from the Data Dictionary.
    If no relative column position (COL_POS) is specified, the fields are output in the list in the order in which they were added to the field catalog.
    REF_FIELDNAME need only be specifid when the name of the internal table field differs from the name of the referred Data Dictionary field.
    Information which is explicitly entered in the field catalog is not overwritten by information from the Data Dictionary.
    Priority rule:
    Entries in the field catalog have priority over differing entries in the Data Dictionary.
    • The following entries are usually sufficient for internal table fields without a reference to the Data Dictionary (program fields):
    • fieldname
    • outputlen
    • datatype
    • seltext_s
    • seltext_m
    • seltext_l
    Notes:
    F1 help can be provided for program fields by assigning a data element to the parameter ROLLNAME.
    If the parameters SELTEXT_S, SELTEXT_M, SELTEXT_L, and REPTEXT_DDIC contain appropriate field labels, the program field column headers are also adjusted appropriately when the column width changes
    sites :
    http://www.sapdevelopment.co.uk/reporting/alv/alv_variousfcat.htm
    <b>plese reward if useful </b>
    Message was edited by:
            sunil kairam

  • Error while using the function module..pack_handling_unit_dlvry

    Hi all...
    while using the function module pack_handling_unit_dlvry,
    we need to pass the handling unit number as per the functionality we require.
    but the mandatory field for the function module is the handling unit number in the form of bar code..
    so how to use this function module..
    All the useful answers will be regarded..
    Regards,
    Saroja.

    Have you tried using BAPI BAPI_HU_CREATE. Also view Function Module Documentation on its usage.

  • What is the function module which is used to trigger email

    Hi ALL,
    can u send me the function module which has to trigger email when sales order was saved.
    kindly send me the inputs
    thanks & regards
    naveen
    Moderator Message: Basic Question. Thread locked.
    Edited by: kishan P on Nov 11, 2010 10:56 AM

    Hi,
    This needs to coded in the Save User Exit of the Sales Order Include MV45AFZZ (USEREXIT_SAVE_DOCUMENT) and use the Function Module "SO_DOCUMENT_SEND_API1" to trigger a mail.
    Please try this and let me know if any.
    Regards,
    Srinivas
    Moderator Message: Do not answer Basic Question.
    Edited by: kishan P on Nov 11, 2010 10:58 AM

  • Function module to get the name of all the function module used

    I want to populate a internal table with the name of all function module used in the submitted program?? Is there any function module which return the name of all the function module used?

    Hi Priya
    Try this one RPY_FUNCTIONMODULE_READ.
    Ranga

  • How to use select-options in the function module of import parameter ?

    Hi ...
       I have created a BAPI and tested in SWO1 tcode , by giving the single value for an company code ( BUKRS ) , it executed properly .
    Same thing is working after implementing in a program .
    so now it is working for fetching a single company code details .
    My requirement is : I want to use select-options in program as well as in function module IN IMPORT PARAMETER.
    Program :
    REPORT  ZTEST.
    TABLES : T001 , ZBAPI_STR .
    TYPES : BEGIN OF TY_ITEM  .
              INCLUDE STRUCTURE ZBAPI_STR .
    TYPES : END OF TY_ITEM .
    DATA :WA_ITEM TYPE TY_ITEM ,
          ITEM LIKE STANDARD TABLE OF WA_ITEM INITIAL SIZE 0 .
    PARAMETER : BUKRS TYPE ZBAPI_STR-BUKRS.
    call function 'ZBAPI_FMT001'
      exporting
        bukrs         =  BUKRS
    IMPORTING
      RETURN        =
      tables
        itemtab       = ITEM
    IF ITEM IS NOT INITIAL .
      LOOP AT ITEM INTO WA_ITEM .
        WRITE : / WA_ITEM-BUKRS , WA_ITEM-BUTXT , WA_ITEM-ORT01 , WA_ITEM-LAND1 .
      ENDLOOP.
    ENDIF.
    FUNCTION MODULE :
    FUNCTION ZBAPI_FMT001.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(BUKRS) TYPE  EFG_TAB_RANGES
    *"  EXPORTING
    *"     VALUE(RETURN) TYPE  BAPIRET2
    *"  TABLES
    *"      ITEMTAB STRUCTURE  ZBAPI_STR
    SELECT BUKRS BUTXT ORT01 LAND1 FROM T001 INTO TABLE ITEMTAB WHERE BUKRS = BUKRS .
    ENDFUNCTION.
    Regards
    Deepa.

    I have given a similiar example which i did
    Declare a
    Table type:Z_TT_PONUM             
    Short text  :  Select options  PO Number
    in SE11 tcode with row type eg: Z_ST_PONUM
    create a structure (this will be the row type)
    Structure          Z_ST_PONUM            
    Short text         Select Options Field PO number
    Compenent  Compent type
    SIGN       BAPISIGN      Inclusion/exclusion criterion SIGN for range tables
    OPTION       BAPIOPTION      Selection operator OPTION for range tables
    LOW       EBELN                      Purchasing Document Number
    HIGH       EBELN                      Purchasing Document Number
    In the function module import
    give as
    I_PO_NUM     TYPE     Z_TT_PONUM     opt  pass value Select options  PO Number
    Hope this is exactly what you want to know.
    So you create a structure simliar to mine but the low an high whould be your component
    then a table type  and then include that in the BAPI.
    Then pass your select-option value to this BAPI when you call this BAPI in the program

  • How to use the function module 'HR_ES_FEATURE_BACKFIELD'

    Hi,
    How to use the function module 'HR_ES_FEATURE_BACKFIELD'?
    I need the usage from both technical as well as functional point of view.
    What is the use of this function module and technically how it is to be used to retrieve a feature for a particular employee.

    hey iam from functional side can u be little bit clear of that feature
    thanks
    sikindar

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

  • How to use the Function module 'BAPI_APPRAISAL_GETDETAIL'

    hello friends,
    I have to create the report which displays appraisee name, appraiser name,reviewer name and result.Using BAPI_APPRAISAL_GETDETAIL we can get the above all.But i don't know how to use the above function module.If anyone have  used in their program could you please send me or anyone have idea how to do that Please help.It is very Urgent Help me.
    Thanks in advance,
    Regards,
    Ashok.

    Hi,
    I do not hae the code but i can tell you how you use the FM and get the required data, please follow the below mentioned steps:
    1) In this Bapi you need to pass the Plan verison and Object Id data in the BAPI Import parameters and while passing the these values need to decalra the data variables same (of use the same reference fields as they are in Bapi import fields)as they are Bapi importing data fields.
    2) decalre the Internal Table structure as they are in the Export and Table parameters.
    3) Assign the decalred Import and Tables structures to the BAPI FM.
    4) once the Bapi is run with the Import parameters data the Apprisal data  and Apprisee data will returened in the import and table structures and also return value wll be imported.
    5) now using the Structures which are in Import and Table decalrations in the FM you can retrieve the data by reading them.
    Do let me know if you need any more details in this regard.
    Raghotham Reddy.
    If you find this is the right solution then allocate reward point.

  • How to use the Function Module RH_READ_INFTY_1001...

    Hi,
    Can any one Tell me .. How to do the same functionality .. given below (select).
    Using the Function Module RH_READ_INFTY_1001...
    *reads CP (Central Person) based on BP (Business Partner)
    Select single objid (Object ID)
           from hrp1001
           into gv_sobid
           where subty eq 'B207'
           and sclas eq 'BP'
           and sobid eq  is_header-partner.
    *reads P (Person) Based on determined BP (Business Partner)
    select single sobid (ID related Object)
           from hrp1001
           into gv_sobid
           where subty eq 'B209'
           and   otype eq 'CP'
           and   objid eq gv_sobid.
    *determines UserID from IT0105 for determined personell ID
    select single usrid
           from pa0105
           into gv_usrid
           where pernr eq gv_sobid
           and   subty eq '999'.
    Reply ASAP....
    Answers will be Rewarded...

    objects-plvar = l_plvar.
                  objects-otype = 'S '.
                  objects-sobid = l_positions-objid.
                  APPEND objects.
                  CLEAR i1001_itab. REFRESH i1001_itab.
                  CALL FUNCTION 'RH_READ_INFTY_1001'
                       EXPORTING
    *                       AUTHORITY       = 'DISP'
    *                       WITH_STRU_AUTH  = 'X'
                            istat           = '1'
    *                       EXTEND          = 'X'
                            subty           = 'A008'
                            begda           = l_keyda
                            endda           = l_keyda
    *                       CONDITION       = '00000'
    *                       SORT            = 'X'
    *                       WITH_EV         = ' '
    *                       ADATA           = 'X'
                       TABLES
                            i1001           = i1001_itab
                            objects         = objects
                       EXCEPTIONS
                            nothing_found   = 1
                            wrong_condition = 2
                            OTHERS          = 3.
                  IF sy-subrc <> 0.
                    CLEAR i1001_itab. REFRESH i1001_itab.
                    CLEAR mngr_nr.
                  ELSE.
                    READ TABLE i1001_itab WITH KEY sclas = 'P'.
                    IF sy-subrc = 0.
                      mngr_nr = i1001_itab-sobid.
                    ELSE.
    THis is the sample code to use function module using this function module you can get upto HRP1001 selection for userid you need to use same select you write for PA0105

  • How to use the function module CONVERSION_FACTOR_GET?

    Hi Experts,
    I have to use convert the value of a field from units 'HL' to 'HHL'. According to me, we can use the function module CONVERSION_FACTOR_GET. However, i am not able to know how to use it?
    Can anyone explain how to use the FM, i mean what should be the importing and exporting parameter.... For recap, i need to convert HL to HHL, for example 3 HL to 0.03 HHL.
    Please help.
    Rewards for sure!
    Thanks in advance.
    Aksh

    Hi
    If it is Unit Conversion better use the following Fun modules
    UNIT_CONVERSION_SIMPLE
    MD_CONVERT_MATERIAL_UNIT
    goto SE37 first and execute them by entering some value and then use it in the code after confirming it
    Regards
    Anji

  • How to use the function module ....

    hi
    how to use the function module ssf_function_module_name in smartforms

    Hi..
    If you are using this Function module, you can get the generated function module name of smartform dynamically. It is good progrmaming practice to get the fucntion module name dynamically because there might be some problems if you are hard coding in program.
    This will return the name of the function module and then from the exporting parameters you can use the fucntion module name to pass parameters to Smartforms.
    Check this link.I am expalining here how to use this function module.
    https://wiki.sdn.sap.com/wiki/pages/pointstab/viewpageversion.action?pageId=36109&version=2
    Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
    formname = 'ZSMARTFORM'
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    call function FM_NAME
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5.
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    <b>Reward points if useful</b>
    Regards
    Ashu

  • Regarding how to use the function module *control_form* in scripts

    HI friends,
    Can any one tell why and where do we use the function module control_form in scripts. Can you give me a small scenario how to use in scripts.

    hi satish,
    by using this function module we can pass the control
    commands to FORM THROUGH ABAP/4 PROGRAM.
    see the following example:
    TABLES: kna1.
    DATA: BEGIN OF it_kna1 OCCURS 0,
          kunnr LIKE kna1-kunnr,
          name1 LIKE kna1-name1,
          ort01 LIKE kna1-ort01,
          land1 LIKE kna1-land1,
          END OF it_kna1.
    DATA:records TYPE i,
         window TYPE i value 1.
    select-options:s_kunnr for kna1-kunnr.
    SELECT kunnr name1 ort01 land1 FROM kna1 INTO TABLE it_kna1
    where kunnr in s_kunnr.
    CALL FUNCTION 'OPEN_FORM'
      EXPORTING
        form     = 'ZSCRIPT4'
        language = sy-langu.
    LOOP AT it_kna1.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element  = 'ELE1'
          function = 'SET'
          type     = 'BODY'
          window   = 'MAIN'.
      DESCRIBE TABLE it_kna1 LINES records.
      IF window lt records.
        window = window + 1.
      CALL FUNCTION 'CONTROL_FORM'
       EXPORTING
            command         = 'NEW-WINDOW'
    EXCEPTIONS
      UNOPENED        = 1
    UNSTARTED       = 2
    OTHERS          = 3
      ENDIF.
    ENDLOOP.
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
      RESULT                         =
      RDI_RESULT                     =
    TABLES
      OTFDATA                        =
    EXCEPTIONS
      UNOPENED                       = 1
      BAD_PAGEFORMAT_FOR_PRINT       = 2
      SEND_ERROR                     = 3
      SPOOL_ERROR                    = 4
      CODEPAGE                       = 5
      OTHERS                         = 6
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    thanks,
    raji

Maybe you are looking for