Purpose of using parameters defined below in FM 'REUSE_ALV_GRID_DISPLAY'

Hi,
Iwant to know the purpose of using parameters defined below in FM   ''REUSE_ALV_GRID_DISPLAY'   :---
EXPORTING.
  I_INTERFACE_CHECK                   =
  I_BYPASSING_BUFFER                =
  I_BUFFER_ACTIVE                        =
  IS_SEL_HIDE                                =
  IS_PRINT                                      =
  IS_REPREP_ID                             =
  I_SCREEN_START_COLUMN        =
  I_SCREEN_START_LINE               =
  I_SCREEN_END_COLUMN            =
  I_SCREEN_END_LINE                   =
  IT_ALV_GRAPHICS                       =
  IT_HYPERLINK                              =
  IT_ADD_FIELDCAT                        =
  IT_EXCEPT_QINFO                       =
  I_HTML_HEIGHT_TOP                   =
  I_HTML_HEIGHT_END                   =
IMPORTING
  E_EXIT_CAUSED_BY_CALLER      =
  ES_EXIT_CAUSED_BY_USER       =
small example codes are most welcome.
Regards,
Rahul

<b>Go To SE37 AND Give the function module name and press Button 'FUnction Moudule Documentation' There you will get the documentation for each parameter</b>
<b>* I_INTERFACE_CHECK =</b>
Interface consistency check log output
Description
So that the performance of the list output is not reduced due to interface consistency checks, these checks are performed in a special call mode.
If this parameter is set to 'X', interface consistency is checked when the function module is called and an error log is displayed.
You should only set this parameter for testing purposes during the development process (for example, for debugging).
You can also perform the interface check on the result list by entering function code &SOS.
THIS PARAMETER IS CURRENTLY NOT SUPPORTED IN FULLSCREEN MODE! As a workaround, go to the print preview from within the list and enter function code &SOS there.
Default
SPACE
<b>*IS_SEL_HIDE = </b>
Description
This parameter is currently not supported!
Only relevant if layout parameter
LAYOUT-GET_SELINFOS of IMPORTING structure IS_LAYOUT is set.
Complex type for modifying information displayed on the selection dialog box:
mode:              'R' = Only entries passed in internal table
                          IS_SEL_HIDE-T_ENTRIES are output on
                          the dialog box. Selection information
                          obtained by the list tool by reading the
                          selection screen again (only if the report
                          is called with selection screen) are
                          replaced by the entries passed.
                   'S' = The selection information obtained by the
                          list tool by reading the selection screen
                          of the calling report again, are modified
                          by the entries of table
                          IS_SEL_HIDE-T_ENTRIES.
t_entries:         Table with selection information
t_entries-mode:   'A' = Display selection information of the current
                         table row on the information dialog box.
                  'D' = Do not display selection information of the
                         the Select option or of parameter SELNAME
                         on the dialog box.
t_entries-selname: (required only if t_entries-mode = 'D')
                   name of Select option or parameter
The following table fields are only required if t_entries-mode = 'A'. They contain the selection information to be added.
t_entries-field:  DDIC field name of the field for which selection
                   information is to be displayed
t_entries-table:  DDIC table name of t_entries-field.
t_entries-stext:  Field description on the information dialog box.
                  If t_entries-field and t_entries-table were
                  filled, this text is taken from the DDIC.
t_entries-valuf:  Selection condition from-value (external format)
t_entries-valut:  Selection condition to-value (external format)
t_entries-sign0:  (I)nclusive (E)xclusive
t_entries-optio:  All values of the option field of the Select
                  option are allowed.
The remaining fields are used internally and are irrelevant to the caller.
<b>* IS_PRINT =</b>
Print information
Description
Control parameters relevant for printing
PRINT
Value range: SPACE, 'X'
'X' = Print list and do not display it on the screen. Further settings can be made on the print parameter screen.
NO_PRINT_SELINFOS
Value range: SPACE, 'X'
'X' = Do not print existing selection information (see also LAYOUT-GET_SELINFOS)
NO_COVERPAGE
Value range: SPACE, 'X'
'X' = Print selection information and list status, if available, on a separate page.
NO_NEW_PAGE
Value range: SPACE, 'X'
Internal use only
RESERVE_LINES
Value range: 0, n
n = Number of lines output in the footer by the user during printout at END_OF_PAGE in the corresponding callback event.
NO_PRINT_LISTINFOS
Value range: SPACE, 'X'
'X' = Do not print list status (sort information, subtotals information and filter information).
NO_CHANGE_PRINT_PARAMS
Value range: SPACE, 'X'
SPACE = (default) The output format (number of columns) is dynamically adjusted depending on the list width (255 at most).
'X' = The current print parameters are always used. If the list is wider, the output width is not adjusted dynamically.

Similar Messages

  • Purpose of the declaring the below type u0096 pools ?

    Hi All,
    What is the Purpose of the declaring the below type – pools in the program. Why we need type-pools in the program.
    TYPE-POOLS: SLIS,
    GSETC.
    Akshitha.

    type pool  slis
    Type-pools is a place where u can store the type declarations globally which can be used in your ABAP program. Type-pools SLIS Stores all the ALV related Type definitions.
    example
    For example when you create an ALV program, all types you need to use are defined in types pool SLIS.
    The objects that you don't want to create in SE11 but want a single place where you can declare them together will be done in TYPE POOLs. The best example is SLIS where you have declared all the TYPES that are required to execute a ALV REPORT using the REUSE functions.
    In this way you define your types only once and then you can use them everytime you need:
    TYPE-POOLS SLIS.
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    The type SLIS_T_FIELDCAT_ALV is defined in type pools SLIS.
    type pool gsetc
    .GSETC type pool stores codes for differenct group classes
       i.e. gsetc_costcenter_setclass = '0101'
    example
    *& Report  ZCCGROUP_HIER                                               *
    REPORT ZCCGROUP_HIER.
    GSETC type pool stores codes for differenct group classes
       i.e. gsetc_costcenter_setclass = '0101'.
    TYPE-POOLS: gsetc. "
    TYPES: gseth_node_line    LIKE grpobjects,
           gseth_node_tab     TYPE gseth_node_line OCCURS 0.
    TYPES: gseth_val_line     LIKE grpvalues,
           gseth_val_tab      TYPE gseth_val_line OCCURS 0.
    TYPES: GSETH_MD_LINE      LIKE GRPMDLINE,
           GSETH_MD_TAB       TYPE GSETH_MD_LINE OCCURS 0.
    DATA: it_nodes            TYPE  gseth_node_tab,
          it_values           TYPE  gseth_val_tab,
          it_mdtab            type gseth_md_tab,
          wa_mdtab            type GSETH_MD_LINE.
    DATA: ld_setid            TYPE sethier-setid,
          ld_info             LIKE grphinfo,
          ld_overwrite        LIKE sy-datar.
    PARAMETERS: p_ksgru  LIKE rksb1-ksgru,
                p_burks       TYPE bseg-BUKRS.
    CONCATENATE gsetc_costcenter_setclass p_burks p_ksgru INTO ld_setid.
    CALL FUNCTION 'K_HIERARCHY_TABLES_READ'
      EXPORTING
        e_class                           = gsetc_costcenter_setclass
                                                     "from gsetc type-pool
        e_setid                           = ld_setid
        e_kokrs                           = p_burks "company code
        E_MANDT                           = sy-mandt
        E_MASTER_DATA                     = 'XXX'
    displays popup to confirm if a large amount of data is to be retrieved
        E_STRUCTURE                       = 'X  X0200'  "displays popup to confirm
        E_REPLACE_CLASS                   =
        E_REPLACE_UNIT                    =
        E_REPLACE_TABLE                   = ' '
        E_REPLACE_FIELD                   = ' '
        E_SUFFIX                          =
        E_OLD_LINE_LEVEL                  = 0
      IMPORTING
        I_DOUBLE_CHECK                    =
        I_MASTER_DATA                     =
      TABLES
        t_nodes                           = it_nodes
        t_values                          = it_values
        T_MASTER_DATA                     = it_mdtab
        T_FORMULA                         =
        T_FIELD_INFO                      =
        T_NODE_LIST_OVERWRITE             =
      CHANGING
        c_info                            = ld_info
        c_overwrite                       = ld_overwrite
    EXCEPTIONS
       no_controlling_area               = 1
       no_chart_of_account               = 2
       different_controlling_areas       = 3
       different_chart_of_accounts       = 4
       set_not_found                     = 5
       illegal_field_replacement         = 6
       illegal_table_replacement         = 7
       fm_raise                          = 8
       convert_error                     = 9
       no_overwrite_standard_hier        = 10
       no_bukrs_for_kokrs                = 11
       OTHERS                            = 12.
    BREAK-POINT.
    An alternative function module can be found below which
    is slightly easier to code but there is no direct link between
    the hier and the val tables, it is just based on there
    index possition.
    *types : begin of T_SETHIER.
      include STRUCTURE  SETHIER_CO.
    *types: end of t_sethier.
    *data: it_SETHIER type standard table of t_SETHIER.
    *types : begin of T_SETVAL.
      include STRUCTURE  SETVAL_CO.
    *types: end of t_SETVAL.
    *data: it_SETVAL type standard table of t_SETVAL.
    *CALL FUNCTION 'K_GROUP_REMOTE_READ'
    EXPORTING
       setclass         = gsetc_costcenter_setclass "from gsetc type-pool
       CO_AREA          = 'UNIV'
      CHRT_ACCTS       =
       groupname        =  p_ksgru
      LANGUAGE         =
    IMPORTING
      RETURN           =
    tables
       et_sethier       = it_SETHIER
       ET_SETVAL        = it_SETVAL.
    Do reward if  helpful

  • How to use parameters in oracle SQL script????

    Right now I am writing a SQL script to create a schema and build the objects of this schema....
    I use a .net winform program to run sqlplus to parse this sql script ...
    The problem is that the schema name and the tablespace's location and the sys password must be input by the user, so my SQL script should use these runtime input parameters instead of const parameters....
    So, how to use parameter in SQL script ...........
    Are there some example scripts in oracle home directory for me to refer to????

    Hi,
    UNISTD wrote:
    thanks .....
    what's the difference between variable , define, accept in sqlplus ???VARIABLE declares (but does not assign a value to) a bind variable. Unlike substitution variables, bind variables are passed to the back end to be compiled, and they can only be values in certain data types. You can not use a bind vaiable in place of an identifier, so to do something like
    CREATE USER  &1 ...a bind variable won't work.
    "DEFINE x = y" sets the substitution variable &x to have the value y. There is no user interaction (unless x or y happen to contain undefined substtiution variables).
    "DEFINE x" shiows the value of the substitution variable &x, or, if it is undefined, raises a SQL*Plus error. I use this feature below.
    ACCEPT sets a substitution variable with user interaction.
    And if the user miss some parameters in “sqlplus /nolog ssss.sql par1 par2 par5 par6”, how to use default value of the miss parameters??Don't you need a @ befiore the script name, e.g.
    sqlplus /nolog @ssss.sql par1 par2 par5 par6Sorry, I don't know of any good way to use default values.
    The foloowing works, but, as you can see, it's ugly.
    "DEFINE 1" display a message like
    DEFINE 1            = "par1" (CHAR)if &1 is defined; otherwise,it will display a SQL*Plus error message like
    SP2-035: symbol 1 is UNDEFINEDNotice that the former contains an '=' sign, but the latter does not.
    The best way I know to use default values is to run the DEFINE command, save the output to a filee, read the file, and see if it's an error message or not.
    So you can use a script like this:
    --     This is  DEFINE_DEFAULT.SQL
    SPOOL     got_define_txt.sql
    DEFINE     &dd_old
    SPOOL     OFF
    COLUMN     dd_new_col     NEW_VALUE     &dd_new
    WITH     got_define_txt     AS
         SELECT  q'[
              @got_define_txt
    ]'               AS define_txt
         FROM    dual
    SELECT     CASE
             WHEN  define_txt LIKE '%=%'
             THEN  REGEXP_REPLACE ( define_txt
                               , '.+"
    ([^"]*)
                         , '\1'
             ELSE  '&dd_default'
         END        AS dd_new_col
    FROM     got_define_txt
    {code}
    and start your real script, ssss.sql, something like this:
    {code}
    DEFINE          dd_new     = sv1
    DEFINE          dd_old     = 1
    DEFINE          dd_default     = FOO
    @DEFINE_DEFAULT
    DEFINE          dd_new     = sv2
    DEFINE          dd_old     = 2
    DEFINE          dd_default     = "Testing spaces in value"
    @DEFINE_DEFAULT
    {code}
    when this finishes running, the substitution variable &sv1 will either have the value you passed in &1 or, if you didn't pass anything, the default value you specified, that is FOO.
    Likewise, &sw2 will have the value you passed, or, if you didn't pass anything, the 23-character string 'Testing spaces in value'.
    Here's how it works:
    Define_default.sql puts the output of the "DEFINE x" command into a column, define_txt, in a query.  That query displays either the existing value of the substitution variable indicated by &dd_old or, if it is undefined, the default value you want to use, which is stored in the substitution variable &dd_default.  The substitution variable named in &dd_new is always set to something, but that something may be its existing value.
    Notice that the paramerters to define_default.sql must be passed as global varibales.
    Why didn't I just use arguments, so that we could simply say:
    {code}
    @DEFINE_DEFAULT  sv1  1  FOO
    {code}
    ?  Because that would set the substitution variables &1, &2 and &3, which are miost likely the very ones in which you're interested.
    I repeat: there must be a better way, but I'm sorry, I don't know what it is.
    I usually don't do the method above.  Instead, I always pass the required number of parameters, but I pass dummy or plce-holder values.
    For example, if I wanted to call ssss.sql, but use defulat vlaues for &1 and &3, then I would say something like:
    {code}
    @ssss  ?  par2  ?
    {code}
    and, inside ssss.sql, test to see if the values are the place holder '?', and, if so, replace them with some real default value.  The use has  to remember what the special place holder-value is, but does not need to know anything more, and only ssss.sql itself needs to change if the default values change.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Parameters defined for plant and order type

    Hi.I want to use the t-code CN25 to create network confirmation.
    After I input the Network "E00000530001" and press enter,the sap show a error message like below:
    No parameters defined for plant 1000 order type Z301
    Message no. RU010
    Diagnosis
    There are no completion confirmation parameters defined for the plant and order type that you have specified.
    Procedure
    Contact your system administrator.
    I don't know why?
    Because I have use the t-code opuv , Opjk and opu6 to configure the plant 1000 and order type(Network Type) Z301.
    So I need the experts can give me some useful advice and reference to resolve the problem.
    Regards
    Yoda

    Thanks all.
      I have checked the status of network.It's status was "MANC PRC  REL  SETC".And then run the Transaction Analysis to the Business processes "Confirm order".The result was "Allow" with green colour.
      I also check out hte confirmation parameters set up in the transaction CN25.When I check the "confirmable" checkbox in the Selection tab,I can enter the next form of "Actual data" in CN25.But when I input the Work Center and save,the sap raise an error message box with text "hihi".I don't know what is the meaning of "hihi".The detail of the error like blow:
    hihi
    Message no. 00398
    Diagnosis
    Placeholder for batch input error text, this message is not output.
    hihi
    Regards
    Yoda

  • What is the purpose of using cash sales doc type?

    what is the purpose of using cash sales doc type?

    You can go through the link
    http://help.sap.com/saphelp_46c/helpdata/en/70/a7853478616434e10000009b38f83b/frameset.htm
    Update from help.sap.com
    Cash sales is an order type for when the customer orders, picks up and pays for the goods immediately. The delivery is processed as soon as the order has been entered. A cash invoice can be printed immediately from the order and billing is related to the order. Receivables do not occur for the customer as they do for rush or standard orders, because the invoice amount is posted directly to a cash account.
    Process Flow
    In the standard system, sales document type BV is saved for cash sales with immediate delivery type BV.
    When the sales employee creates a cash sale, the system automatically proposes the current date as the date for delivery and billing. Once the order has been posted, a delivery with type BV is created immediately in the background and the system prints a document that is used as an invoice for the customer.
    The invoice papers are controlled with output type RD03, contained in the output determination procedure for order type BV.
    If the customer has already received the goods, this delivery should not be relevant for picking. If the customer is to pick the goods up from a warehouse, the delivery should be relevant for picking. If the goods are to be sent, this can be processed by maintaining the delivery in the usual way.
    The system automatically creates a resource-related billing index which updates the billing due list. Billing document BV is created as the system processes the billing due list, but an invoice is not printed.
    Once the customer has received the goods and is satisfied with them, the transaction is considered to be complete. We recommend that you post goods issue in the background using a program designed specifically for this purpose. You can then bill the transaction.
    The cash sale can only be billed if the order quantity is the same as the goods issue quantity. If this is not the case, you need to adjust the cash sale document so that the delivered quantity and the quantity to be billed match.
    You use an order-related collective billing process to bill the cash sale, but an invoice is not printed. The sales order number is used as the reference for the accounting document, created in Financial Accounting.
    Dealing with Problems and Complaints
    If the transaction does not run smoothly, manual intervention is necessary. For example, if the required quantity of goods is not found in the warehouse, you need to adjust the delivery quantity. Equally, if the customer is not prepared to pay the agreed price, because, for example, the goods are scratched, you can change the price in the cash sale document.
    In extreme cases, you can delete the entire transaction, starting with the delivery.
    If the delivery is damaged before it is picked up but after it is paid for and there is no replacement stock, you can initiate a subsequent delivery.
    If you make changes to the cash sale, you can issue a new cash sale invoice using the repeat printout function.
    Creating a Cash Sale
    In the initial screen, choose Logistics ® Sales and distribution ® Sales.
    Choose Order ® Create.
    Enter the order type for cash sales (BV in the standard system) and, if necessary, the organizational data.
    The values for sales organization, distribution channel and the division are usually proposed from user-defined parameters. Entries for the sales office and the sales group are optional.
    Choose Enter.
    Enter the following data:
    – Customer number of the sold-to party
    – Material numbers
    – Order quantities for the materials
    Choose Enter.
    If the system carries out an availability check and finds that there is insufficient stock for an order item to be delivered on the requested date, it displays a screen on which you can choose between several delivery proposals. Normally, in a cash sale, you only sell the quantity you can deliver on the spot.
    Save your document.
    The system automatically processes the delivery in the background and prints out a cash sale invoice. The amount of the sale is processed later in an order-related billing transaction. The amount is posted to financial accounting, using the order number as reference. Because this is a cash sale, no invoice is produced during the billing run.

  • Concurrent programe parameters define ?

    Hello All
    i have created concurrent program parameters as below :
    Report to be automated from Oracle ERP system by a concurrent job on a 1st of each calendar month with date parameters of 15th to 31st of previous calendar month .
    concurrent job on a 15th of each calendar month with date parameters of 1st to 14th of current calendar month .
    i need to define like below :
    Parameter1 : 1-JAN-2013
    Parameter2: 15-JAN-2013
    FUNCTION from_date (from_start_date DATE)
    RETURN DATE IS
    day CHAR(2);
    date_suffix CHAR(18);
    BEGIN
    IF eff_start_date is null
    THEN
    RETURN(NULL);
    END IF;
    day := to_char(eff_start_date,'DD');
    date_suffix:= to_char(from_start_date,'-MON-YYYY');
    IF to_number(day) > 15
    THEN
    day := '16';
    ELSE
    day := '01';
    END IF;
    RETURN to_date(day||date_suffix,'DD-MON-YYYY');
    END get_from_date;
    By default i need to define like above parameters in concurrent program oracle apps.
    please help me on this and pls tell above function is correct  r not .
    thanks
    Edited by: 981527 on Feb 7, 2013 10:43 PM
    Edited by: 981527 on Feb 7, 2013 11:13 PM
    Edited by: 981527 on Feb 7, 2013 11:17 PM

    Hi,
    Please amke the second Value set as Table Validated value set, and use :$FLEX$.<Prior_Value_Set_Name>.OUTPUT = 'A', where :$FLEX$.<Prior_Value_Set_Name>.OUTPUT returns the value returned by the previous value set.
    Regards,
    Kiran

  • Custom Report using pre-defined template

    In 2012, How to create custom report using pre-defined reports template in below format?
    Column1 :- Device Name
    Column2 :- When installed (Date & Time)
    Column3 :- Success (Date & Time)
    Column3 :- Failed (Date & Time - With which error code)
    Column4 :- Not Installed
    Regards,
    Onkar.

    Here is what you need to do.
    Start by writing the SQL query that you want.
    Clone one of the existing report
    Replace the SQL query with the new query.
    Update the columns with what you need.
    http://www.enhansoft.com/

  • How to use user-defined packages in JAX-RPC web service

    I am trying to use Object of my class located in my package in jax-rpc webservice,the code is
    package supercomputer;
    import Hello.*;
    public class SuperImpl implements SuperIF
    public String sendParam(String data)
    Temp ob=new Temp();
    int i=ob.get1(10000);
    return data+"returned by supercomputer";
    Temp is located in Hello package,I have jar the Hello package as Hello.jar and has set its classpath in targets.xml of Ant tool.
    The code compiles well and service is deployed successfully,but when i try to call the service from the client its gives me following error.
    [echo] Running the supercomputer.SuperClient program....
    [java] java.rmi.ServerException: Missing port information
    [java] at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:357)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:228)
    [java] at supercomputer.SuperIF_Stub.sendParam(SuperIF_Stub.java:60)
    [java] at supercomputer.SuperClient.main(Unknown Source)
    I dont know if it deploys why it gives error on client side.
    Please tell how to use user-defined packages and class in jax-rpc service code ,i am not talking about passing user-defined parameters i am just talking about making objects of user defined classes in jax-rpc service.I think there is some problem in classpath.
    Please guide me in doing that.
    Thanks,
    Farrukh

    Farrukh,
    I don't know if your error is about a missing class from your custom package, ... what track did you followed to say that?
    To use your package in the implementation of you web service, you should only follow the rules of making a web application: put your package jar in your \lib directory inside WEB-INF/ or your package classes unjared in classes (also in WEB-INF/).
    As I already said, I have doubts that your error should be originated from a missing class from your package, but:
    -try to see the logs (errors?) when you deploy your web service that could give a hint about the problem.
    -try to see if you can access your endpoint through your browser to see if there is a online status
    -display your config/WSDL file, and the steps you did to build your web service.
    regards,
    Pedro Salazar.

  • What is new Gl account?what is the purpose of using that New Gl?

    What is new Gl account?what is the purpose of using that New Gl?

    Hi Kishore,
    Let me clarify you. First it is not new GL account but the New GL functionality.
    With the introduction of MySAP ERP 2004, SAP introduced also a new functionality with SAP Financials. This functionality is given the name New General Ledger Accounting, or NewGL.
    The new GL functionality has many uses like
    Supports different reporting purposes: Legal entity reporting, segment reporting, management reporting;
    Option to expand standard accounting with industry specific fields and customer-defined fields;
    There is a new standard field segment in mySAP ERP: A segment is typically derived from a profit center (PC); it can be filled manually or defaulted recommonded for segment reporting.
    You can search the forum for more info on new GL
    Thanks
    Aravind
    Assign points if useful

  • Function module: why do we use FM and what is the purpose of using FM

    hi,
       Can any please explain. Why do we use FM?
                                           What is the purpose of using FM ?
                                           Where we are using FM and for what tables in R/3 ?
    I could be thankful to you if any one answer above questions.
    Arun

    Hi,
      We go for creating FM when there is a chance of using the same code in different reports in R/3.
    Suppose I have a requirement say, to display the Payer Name for every sale order.
    This is most common requirement in any project.
    You can create a FM say READ_CUSTOMER_NAME in SE37.
    Write a select statement from the table VBAP to fetch the Payer Name based on the Sales Order.
    Now you can activate the FM and it is ready to be used across all the reports in R/3.
    Need : To avoid redundant coding and to modularize the code.
    If you want to see the list of Standard FMs, got SE37 --> press F4 and you'll get all the SAP standard FMs.
    For customized FMs (User defined), type Z* or Y* and press F4.
    Hope this helps a bit !!!
    Regards,
    Balaji V

  • Using User Defined Function is SQL

    Hi
    I did the following test to see how expensive it is to use user defined functions in SQL queries, and found that it is really expensive.
    Calling SQRT in SQL costs less than calling a dummy function that just returns
    the parameter value; this has to do with context switchings, but how can we have
    a decent performance compared to Oracle provided functions?
    Any comments are welcome, specially regarding the performance of UDF in sql
    and for solutions.
    create or replace function f(i in number) return number is
    begin
      return i;
    end;
    declare
      l_start   number;
      l_elapsed number;
      n number;
    begin
      select to_char(sysdate, 'sssssss')
        into l_start
        from dual;
      for i in 1 .. 20 loop
        select max(rownum)
          into n
          from t_tdz12_a0090;
      end loop;
      select to_char(sysdate, 'sssssss') - l_start
        into l_elapsed
        from dual;
      dbms_output.put_line('first: '||l_elapsed);
      select to_char(sysdate, 'sssssss')
        into l_start
        from dual;
      for i in 1 .. 20 loop
        select max(sqrt(rownum))
          into n
          from t_tdz12_a0090;
      end loop;
      select to_char(sysdate, 'sssssss') - l_start
        into l_elapsed
        from dual;
      dbms_output.put_line('second: '||l_elapsed);
      select to_char(sysdate, 'sssssss')
        into l_start
        from dual;
      for i in 1 .. 20 loop
        select max(f(rownum))
          into n
          from t_tdz12_a0090;
      end loop;
      select to_char(sysdate, 'sssssss') - l_start
        into l_elapsed
        from dual;
      dbms_output.put_line('third: '||l_elapsed);
    end;
    Results:
       first: 303
       second: 1051
       third: 1515
    Kind regards
    Taoufik

    I find that inline SQL is bad for performance but
    good to simplify SQL. I keep thinking that it should
    be possible somehow to use a function to improve
    performance but have never seen that happen.inline SQL is only bad for performance if the database design (table structure, indexes etc.) is poor or the way the SQL is written is poor.
    Context switching between SQL and PL/SQL for a User defined function is definitely a way to slow down performance.
    Obviously built-in Oracle functions are going to be quicker than User-defined functions because they are written into the SQL and PL/SQL engines and are optimized for the internals of those engines.
    There are a few things you can do to improve function
    performance, shaving microseconds off execution time.
    Consider using the NOCOPY hints for your parameters
    to use pointers instead of copying values. NOCOPY
    is a hint rather than a directive so it may or may
    not work. Optimize any SQL in the called function.
    Don't do anything in loops that does not have to be
    done inside a loop.Well, yes, but it's even better to keep all processing in SQL where possible and only resort to PL/SQL when absolutely necessary.
    The on-line documentation has suggested that using a
    DETERMINISTIC function can improve performance but I
    have not been able to demonstrate this and there are
    notes in Metalink suggesting that this does not
    happen. My experience is that DETERMINISTIC
    functions always get executed. There's supposed to
    be a feature in 11g that acually caches function
    return values.Deterministic functions will work well if used in conjunction with a function based index. That can improve access times when querying data on the function results.
    You can use DBMS_PROFILER to get run-time statistics
    for each line of your function as it is executed to
    help tune it.Or code it as SQL. ;)

  • "No parameters defined for plant and order type "

    Hello Experts,
    While doing Process order confermation geting error as "No parameters defined for plant and order type "
    Pls guide me to resolve this issue...
    Regards
    Bhupen

    Hi,
    This error is due to the confirmation parameters not maintained with respect to the plant and order type you used in the process order.
    Go to OPK4 transaction or in the path-Production Planning for Process Industries-Process Order-Operations-Confirmation-Define Confirmation Parameters.
    Maintain with respect to plant and oreder type and again try to do teh confirmation.
    Hope it helps
    Thanks
    Girish

  • Purpose  of  Use Query string in communication channel.

    Hi all,
    I have a scenario in which the sender sytem communication channel uses:
    Use Query string,Use encoded header and EOIO.
    What is the purpose of these parameters.
    Please help.
    Thanks,
    Am

    http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm

  • Who's Who: How to refine employee search using customer defined indicator?

    Hello,
    It is possible to refine employee search using status indicator STAT2 (Employees' Employment Status). I would like to refine employee search using e.g. Customer defined status indicator STAT1. I created an entry identical to STAT2 but with STAT1
    in view V_T77S0 but it did not help at all.
    How to refine employee search using customer defined indicator or any other info
    from infotype 0000 or 0001?
    Kind regards,
    Pawel

    Hi
    This could be done using the infosets provided in who's who customization screen.
    Pl go through following help.
    If this helps, pl do reward.
    Who's Who (ESS): Selection and Output
    In this activity, you can change the fields for selecting and outputting data for the Who's Who service. The fields of the underlying InfoSet Query are available. Note, however, that text fields cannot be used for data selection (with the exception of the fields Organizational Unit, Position Name, and Job Name).
    You have the following options:
    You can specify the fields for selecting an employee.
    You can specify the fields for the hitlist, that is, the list of all employees who meet the selection criteria.
    You can specify the fields for the detail screen for a selected employee.
    All selected fields are automatically transferred to the service in the sequence you chose and are then available for selection or output.
    Standard settings
    The standard system contains an InfoSet for the service. It contains default selection and output fields.
    Activities
    1. Check whether the default settings fulfill your requirements.
    2. If you want to change the default values, proceed as follows:
    a) Choose the relevant tab page and remove the indicator in the Use default settings for group box.
    To change the selection fields, choose the Selection Fields tab page.
    To change the fields of the hitlist, choose the Output Fields List tab page.
    To change the fields of the detail screen, choose the Output Fields Detail tab page.
    b) If you want to delete a default field, select the field in the relevant tab page and choose Delete Line from Display Table.
    c) If you want to add an additional field from the InfoSet, select the field in the Fields in InfoSet group box and choose Copy Entry from InfoSet Table. You have two options:
    You select an existing field in the tab page and choose Insert Entry in Display Table. The system copies the InfoSet field and inserts it above the selected entry.
    You select the blank field at the end of the tab page and choose Insert Entry in Display Table. The system copies the InfoSet field and inserts it at the end of the tab page.
    Note that the sequence of the fields in the tab page determines the sequence of the fields in the service.
    The selection screen fields are laid out according to the following pattern (maximum of 4 rows and 20 fields):
    1 I 2 I 3 I13 I17
    4 I 5 I 6 I14 I18
    7 I 8 I 9 I15 I19
    10 I11 I12 I16 I20
    The fields in the detail screen are laid out underneath each other for a maximum of 20 rows, while the fields in the hitlist are laid out from left to right for each row, for a maximum of 20 fields.
    Note: You cannot select by the Employment Status field (P0000-STAT2).
    d) If you want to add a new field that is not in the InfoSet, you have to create a new InfoSet. You then assign the required field to the new InfoSet. Then select the new InfoSet in the InfoSet field in the Parameters group box. Proceed as described above to add the field to the relevant tab page.
    For information about creating InfoSets, see Specify InfoSets for Interactive Employee Selection in the IMG for the HR Information System.
    Not the SAP naming convention for the standard InfoSet: /SAPQUERY/HR_XX_PA_ESS
    The country code "XX" stands for "international." The InfoSet itself is in the global area (cross-client). You can create customer-specific InfoSets by copying an existing entry. Take account of your  customer namespace and set the relevant country code.
    Note: The Personnel Number field (P0000-PERNR) must not be added to the InfoSet. If you want to use the personnel number, use the P0001-PERNR field, for example.
    e) In the Sort field of the Output Fields List tab page, you can specify the sort sequence in the hitlist.
    Example: You have selected the Last Name and First Name fields for the hitlist. You want the hits to be sorted first of all by the employees' last name, then by the first name. You therefore enter 1 for the last name and 2 for the first name in the Sort field.
    f) Once you have completed your modifications, choose Check Display Table. If the check was successful, choose Save to save your changes. If inconsistencies were found during the check, a message in the relevant line notifies you of them.
    Further notes
    In certain circumstances, runtime issues may occur, especially in data selection. If they do, set the Selection Fields indicator in the Use Default Settings for group box. This deactivates the use of the InfoSet Query; instead, the system uses the BAPI_EMPLOYEE_GETDATA method.
    You can switch the hitlist and the detail screen to the BAPI_EMPLOYEE_GETDATA method by setting the Output Fields List and Output Fields Detail indicators.
    Note that by setting an indicator, you restrict the field selection in the relevant tab page to the interface of the method.
    If, in the initial screen, you enter a country for which values have not yet been defined, the system automatically creates an entry that sets all indicators in the Use default settings for group box. You can then edit the entry to suit your requirements.
    You can specify whether you want employees' photos to be displayed in the service in the IMG for Employee Self-Service under Determine User Options.
    If this helps, pl do reward.

  • Use parameters in the folder

    I am new to Discoverer, so please excuse me if this is a dumb question.
    Right now, we have a table that is populated through a load procedure that runs at night. This is a kill-and-fill process which just runs a SELECT statement and inserts the results into a table. Many rows are created from this.
    The Discoverer report I am looking at just queries the table for the data using parameters. Simple and easy.
    However, I would really like to eliminate the load procedure all together and just use a pipeline function which gets the same information... and faster.
    I would like to change the SQL statement being used now to the one using the pipeline function. In order to do this, I would need to pass in the parameters from the report into the SQL statement (date range and other things).
    Is this possible?
    I appreciate everyones time to read this.

    Hi,
    There are two techniques you can use to pass parameters through to the table function that is referenced in a view mapped into the EUL.
    1. Join your table function to a table. For example, if you want to pass EMPNO into your table function then you can create your view like this:
    CREATE OR REPLACE VIEW pipedview AS
    SELECT e.empno, t.*
    FROM emp e, TABLE(your_function(e.empno)) tThen you can create a empno parameter based on the empno column in the view. This method only works if you have a tightly controlled list of values for your parameters.
    2. Use database contexts. Define a database context namespace and use a separate worksheet to set the database contexts. Check out some of these threads on how to use contexts with Discoverer:
    Re: Implementing HR report in Discoverer
    Re: Passing multiple parameters into Custom Folder...
    Re: Parameters in SubQuery
    Re: Passing Parameters to a discoverer folder using Note 282249.1
    Then create your view like this:
    CREATE OR REPLACE VIEW pipedview AS
    SELECT * FROM TABLE(your_function(SYS_CONTEXT('DISCO_CONTEXT','EMPNO'))) tYour users will have to ensure that the context has been set before the reporting worksheet is run.
    Rod West

Maybe you are looking for