Declaration of subroutine formal parameters in ecc 6.0

In extended syntax check of my program, how can i declare formal parameters ?
the warning is
Program:  ZADI_V_R_869_870_STATUS  Row:    751
Parameter "P_LV_UNSHIPPED_QTY" is untyped.
Static type checks and optimizations,
therefore, cannot take place.
If a type cannot be declared, use the type ANY.
ANY. use the type ANY. use the type ANY.
use the type ANY.
Internal Message Code: MESSAGE GUX
(The message can be hidden with "#EC *)
The formal parameters in the code is nto delcared with type ...
So how to declare here in ecc 6.0 ?
FORM logic_4_ord_status
                  USING   p_lv_canc_date
                          p_lv_shipped_date
                          p_lv_order_qty
                          p_lv_delivery
                          p_lv_open_qty
                          p_lv_neworderqty
                          p_lv_pickedqty
                          p_lv_j_3acada
                          p_lv_j_3arqda
                          p_lv_cancelled1
                          p_lv_zzactcnt
                          p_lv_zzstatus
                          p_lv_cancelled2
                          p_lv_unshipped_qty
                 CHANGING p_wa_870_output_rec TYPE t_870_output_rec.
My declaration is  
DATA: lv_order_qty     TYPE wmeng,
        lv_cancelled1    TYPE wmeng,
        lv_cancelled2    TYPE wmeng,
        lv_delivery      TYPE lfimg,
        lv_open_qty      TYPE lfimg,
        lv_neworderqty   TYPE lfimg,
        lv_pickedqty     TYPE lfimg,
        lv_unshipped_qty TYPE lfimg,
        lv_canc_date(8)  TYPE c,
        lv_shipped_date  TYPE erdat .
  DATA: lv_j_3acada      TYPE j_3acada,
        lv_j_3arqda      TYPE j_3arqda.
Please suugest me that TYPE any is sufficient
for all
p_lv_shipped_date
                          p_lv_order_qty TYPE any
                          p_lv_delivery TYPE any
                          p_lv_open_qty TYPE any
                          p_lv_neworderqty TYPE any
                          p_lv_pickedqty TYPE any
                          p_lv_j_3acada TYPE any
                          p_lv_j_3arqda TYPE any
                          p_lv_cancelled1 TYPE any
                          p_lv_zzactcnt TYPE any
                          p_lv_zzstatus TYPE any
                          p_lv_cancelled2 TYPE any
                          p_lv_unshipped_qty TYPE any

Using "#EC UOM_IN_MES) at the end of formal parameter is of no use !!!
I got aroung 275 Warnings in extended syntax check as I am using the below set so many times
WRITE p_lv_order_qty     TO p_wa_870_output_rec-order_qty    DECIMALS 0.
    WRITE p_lv_neworderqty   TO p_wa_870_output_rec-new_ord_qty  DECIMALS 0.
    WRITE p_lv_cancelled1    TO p_wa_870_output_rec-cancel_1_qty DECIMALS 0.
    WRITE p_lv_cancelled2    TO p_wa_870_output_rec-cancel_2_qty DECIMALS 0.
    WRITE p_lv_open_qty      TO p_wa_870_output_rec-open_qty     DECIMALS 0.
    WRITE p_lv_delivery      TO p_wa_870_output_rec-deliv_qty    DECIMALS 0.
    WRITE p_lv_pickedqty     TO p_wa_870_output_rec-pick_qty     DECIMALS 0.
    WRITE p_lv_unshipped_qty TO p_wa_870_output_rec-unship_qty   DECIMALS 0.
for each line do I need to give like below ? :"
WRITE p_lv_order_qty     TO p_wa_870_output_rec-order_qty    DECIMALS 0. "#EC UOM_IN_MES)
My coding :
===========================================================================
FORM logic_4_ord_status
                  USING   p_lv_canc_date
                          p_lv_shipped_date   TYPE erdat
                          p_lv_order_qty      TYPE wmeng
                          p_lv_delivery       TYPE lfimg
                          p_lv_open_qty       TYPE lfimg
                          p_lv_neworderqty    TYPE lfimg
                          p_lv_pickedqty      TYPE lfimg
                          p_lv_j_3acada
                          p_lv_j_3arqda
                          p_lv_cancelled1     TYPE wmeng
                          p_lv_zzactcnt
                          p_lv_zzstatus
                          p_lv_cancelled2     TYPE wmeng
                          p_lv_unshipped_qty  TYPE lfimg
                 CHANGING p_wa_870_output_rec TYPE t_870_output_rec.
*---Pass the values to output internal table.
    p_wa_870_output_rec-shp_ord_date   = p_lv_j_3acada.
    WRITE p_lv_order_qty     TO p_wa_870_output_rec-order_qty    DECIMALS 0. "#EC UOM_IN_MES)
    WRITE p_lv_neworderqty   TO p_wa_870_output_rec-new_ord_qty  DECIMALS 0.
    WRITE p_lv_cancelled1    TO p_wa_870_output_rec-cancel_1_qty DECIMALS 0.
    WRITE p_lv_cancelled2    TO p_wa_870_output_rec-cancel_2_qty DECIMALS 0.
    WRITE p_lv_open_qty      TO p_wa_870_output_rec-open_qty     DECIMALS 0.
    WRITE p_lv_delivery      TO p_wa_870_output_rec-deliv_qty    DECIMALS 0.
    WRITE p_lv_pickedqty     TO p_wa_870_output_rec-pick_qty     DECIMALS 0.
    WRITE p_lv_unshipped_qty TO p_wa_870_output_rec-unship_qty   DECIMALS 0.
Could you please advice/help me in resisting these warnings...

Similar Messages

  • How to use/declare actual and formal paramters in ECC 6.0?

    Experts,
      I am new to ECC 6.0, and
    Please help me how to pass workarea in actual parameters ( I need to use USING/CHANGING or TABLES ?  please correct me ).
    And in FORM logic_4_ord_status,  how to declare work area and variables in formal parameters signature ???
    I have declared:
    TYPES : BEGIN OF ty_869_input_rec,
              rec_type(2)   TYPE c,
              cntrl_no(50)  TYPE c,
              rep_flag(1)   TYPE c,
              edi_tr_par(16) TYPE c,
              sap_cust_no(100) TYPE c,
              brd_idfr(4) TYPE c,
              canc_date(8) TYPE c,    " Promised to ship by date
              po_no(18) TYPE c,
              cust_cntrt_po_no(18) TYPE c,
              selection(2) TYPE c,
            END OF ty_869_input_rec.
    TYPES : BEGIN OF ty_870_output_rec,
              rec_type(2)       TYPE c,
              cntrl_no(50)      YPE c,
              rep_flag(1)       TYPE c,
              edi_tr_par(16)    TYPE c,
              sap_cust_no       TYPE vbeln_va,
              brd_idfr          TYPE vkorg,
              po_no             TYPE bstnk,
              cust_cntrt_po_no TYPE bstnk,
              selection(2)      TYPE c,
            END OF ty_870_output_rec.
    Internal table declarations.
    DATA : gt_869_input_rec TYPE TABLE OF ty_869_input_rec,
           gt_870_output_rec   TYPE TABLE OF ty_870_output_rec.
    Workarea declations.
    DATA : wa_869_input_rec   TYPE          ty_869_input_rec,
           wa_870_output_rec      TYPE          ty_870_output_rec.
      DATA :  lv_order_qty     TYPE wmeng,
              lv_cancelled1    TYPE wmeng,
              lv_cancelled2    TYPE wmeng,
            lv_delivery      TYPE lfimg,
              lv_open_qty      TYPE lfimg,
              lv_neworderqty   TYPE lfimg,
            lv_pickedqty     TYPE lfimg,
              lv_unshipped_qty TYPE lfimg.
         perform logic_4_ord_status
                             USING   wa_869_INPUT_REC
                                          lv_order_qty
                                          lv_delivery
                                          lv_open_qty
                                          lv_j_3acada
                                          lv_j_3arqda
                                          lv_cancelled1
                                          lv_zzactcnt
                                          lv_zzstatus
                             changing  wa_870_output_rec                        
    form logic_4_ord_status
                    using   p_wa_869_input_rec  type TY_869_input_rec
                                     p_lv_order_qty
                                     p_lv_delivery
                                     p_lv_open_qty
                                     p_lv_j_3acada
                                     p_lv_j_3arqda
                                     p_lv_cancelled1
                                     p_lv_zzactcnt
                                     p_lv_zzstatus
                    changing  p_wa_870_output_rec type TY_870_output_rec              
        IF  p_lv_delivery LE '0'
        AND p_lv_Open_Qty GT '0'
        AND ( p_wa_869_input_recu2013canc_date <> p_lv_j_3acada )
        AND ( p_lv_zzactcnt = 'F' OR  p_lv_zzactcnt = 0 ).
          p_wa_870_output_rec-shp_ord_status = 'RD' .
          p_wa_870_output_rec-order_qty      = p_lv_order_qty.
          p_wa_870_output_rec-open_qty       = p_lv_open_qty.
      FOR 1st 'SC'
        ELSEIF p_lv_delivery LE '0'
        AND    p_lv_Open_Qty GT '0'
        AND    ( p_lv_cancelled1 GT '0' )
        AND   ( p_lv_zzstatus = 'F'
             OR p_lv_zzactcnt = '0' ).
    I could not declare actual and formal parameters correctly .
    Kindly help me.
    I am getting error at p_wa_869_input_recu2013canc_date.
    Please validate me ...
    THANKS IN ADV.

    It depends on which BW environment has an RFC connection to the ECC environment you're activating the DataSource in. Typically, environments are paired, similar (but not always) like the depiction below:
    ECC Development <-> BW Development
    ECC QA <-> BW QA
    ECC Production <-> BW Production
    Best Practices suggest that a DataSource be activated and put on a transport in the ECC Development environment. Upon activation of the DataSource in ECC Development, replication of the DataSource in the BW Development environment can take place and Best Practices suggest putting the DataSource on a transport in BW. As the ECC transport is promoted throughout the ECC landscape, the BW transport is promoted throughout the BW landscape in order to keep them in sync.
    So, if the envrionment that you've just activated the DataSource has an RFC connection to your BW Production environment, you can replicate in BW Production and if that's your standard practice, then that's the way your should do it. It's typically, however, not considered a Best Practice to be able to create, update or delete in a production environment.

  • How to define this FORMAL parameters for a std. SAP itab?

    Hello Experts,
    Am writing a custom PERFORM in a standard SAP include-RVCOMFZZ by using modification assistant, like below,
    RVCOMFZZ:
    PERFORM my_routine IN PROGRAM my_report USING com_vbapvb.
    (here com_vbapvb is a TABLES parameter  with STRUCTURE of vbapvb in the std. sap FM).
    my_report:
    FORM my_routine USING here_I_want_to_know_the_data_object
    ENDFORM.
    Here pls. let me know How to define the FORMAL parameters of my_routine? I tried with different options, but did not worked out. Preferable let me know in OOPS concepts (not using TABLES)
    Thank you

    Hi,
    here is example how to write you structure content  regardless what com_vbap has field list.
    PERFORM my_routine IN PROGRAM my_report USING com_vbapvb.
    FORM my_routine USING here_I_want_to_know_the_data_object.
      field-SYMBOLS: <field> type any.
      do 100 times.
        assign COMPONENT sy-index of structure ls_VBAPVB to <field>.
        if sy-subrc = 0.
          write:/ <field>.
          else.
          exit.
        endif.
      enddo.
    ENDFORM.
    Bye Jan

  • Translation of  ITS Screen Parameters in ECC 6.0

    Hi ,
    I have added 3 new parameters to ITS Screen , need to translate the parameter description to  FR language .
    Need  help on how to maintain the language translation to the ITS screen parameters  in ECC 6.0
    Please find below are my findinds
    1.  In the main menu  GOTO - Translation option is disabled
    2. I Saw in application help this can be done by place holder and  Compare parametrs icon , but in the screen i did not find any Compare icon
    3. I tried to give the description by Login in other language , but when i login to English language , the Other language description only showing
    Please suggest if any one has the answers for this.
    Thanks
    Vijaya

    Please find the link below
    http://help.sap.com/erp2005_ehp_05/helpdata//EN/cc/a79734d57211d3963700a0c94260a5/content.htm
    And also i am trying to  maintain the  TEXT in OTR ,  Though  SOTR_EDIT  , But dont know first how to activate the OTR  for  ITS screen.

  • Formal keys, formal Parameters

    Q. What are formal Keys and Formal Parameters?

    Formal parameter
    the parameter defined in the method heading
    Actual parameter
    the parameter that is passed when a method is called

  • Declaring custom table under parameters  tab in BADI

    Hello Friends,
    I need to declare custom table under parameters tab in BADI. When iam trying to change the screen from display to change mode, iam getting followoing message.
    Exit classes/interfaces can only be edited using the BADI Builder
    Replies regarding this highly appreciated.Thanks in advance.
    Regards
    Sri

    Hi,
    Badi and respective method as follows.
    ZBBP_CATALOG_TRANSFR --> Badi
    ENRICH_ITEM_DATA --> method
    I need to  declare custom table under the above method
    Thanks.

  • Default is it a true formal parameters?

    Hi All
    Does any onoe know
    what 's the difference between Deptree or Ideptree?
    and which part of a databse tigger determine the number of times the tigger body executes?
    and Default is it a true formal parameters?
    please help,
    Hilaire

    DEPTREE
    This view, created by utldtree.sql, contains information on the object dependency tree. For user SYS, this view displays shared cursors (and only shared cursors) that depend on the object. For all other users, it displays objects other than shared cursors. Other users can access SYS.DEPTREE for information on shared cursors.
    Column Datatype NULL Description
    NESTED_LEVEL
    NUMBER
    Nesting level in the dependency tree
    TYPE
    VARCHAR2(15)
    Object type
    OWNER
    VARCHAR2(30)
    Object owner
    NAME
    VARCHAR2(1002)
    Object name
    SEQ#
    NUMBER
    Sequence number in the dependency tree. Used for ordering queries.
    See Also: "IDEPTREE"
    Joel P�rez

  • Transport of Global Parameters from ECC to SCM

    We have tried to set up RSA1 in our SCM development systems for both F&R and EWM to allow us to transfer calendars, UOMs etc from ECC to these systems but have hit a couple of snags...
    We have the following system/client structures for the F&R SCM system:
    Development                    Quality Assur.                  Production
    DF0 260 (Golden)                 QF0 360                              PF0 960
    DF0 261 (Unit Test)
    DF0 262 (Perf. Test)
    And for BI we have:
    DB0 120                                QB0 220                             PB0 920
    For the QA and Production instances, we do not have an issue, since the limitation of having only one BI client per system doesn't matter as we only have one client to connect.
    But for the Development systems, currently it is the DF0 261 client that is connected to the DB0 120 BI client. We want to be able to pull the data from our ECC golden client (DE2 700) into each of the DF0 clients. But when we try and run RSA1 in any other client than 261, we get an error telling us that only one client can connect to BI and we must work in that client.
    I thought we could maybe get around it by simply running report RSIMPCUST in a batch job, but cannot see how to save a variant with the source client name in it since this is always greyed out when you run it online. I guess if I maintain the BI system as the default client for each of these F&R systems in SCC4 it might work, but I don't know what else uses this default client value?
    Does anyone know of any workarounds for this? It would be really nice to be able to synchronize all systems (especially as the link is between two non-BI systems, so the BI restriction should not even apply). If we have to go back to the current approach of manually updating the development systems for any changes in ECC then we may as well use that for all clients and just transport the changes. It is not a good solution though...
    Thanks,
    Luke

    there is some explanation to what you have mentioned in Re: Factory Calendar
    this talks about calendars and is relevant till SCM 4.x
    I would imagine the situation would be the same for UOM
    In SCM 5 you have the option to update the tables, Rebuild the tables and also a simulation option

  • FM accepts no formal parameters of type "u"

    Hi,
    I get a strange error when calling an function module. Below you can see the (generated) data definition, my call, my function header and the errormessage i get. Any help would be appreciated.
    TYPES:
      BEGIN OF DATA_PACKAGE_STRUCTURE.
         INCLUDE STRUCTURE /BIC/CS8ZBP_ALL.
    TYPES:
         RECNO   LIKE sy-tabix,
      END OF DATA_PACKAGE_STRUCTURE.
    DATA:
      DATA_PACKAGE TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE
           WITH HEADER LINE
           WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
    * Get validation results & fill error table
    CALL FUNCTION 'ZBW_BP_VALIDATE_DPAK'      
       EXPORTING                               
         i_dpid     = datapackid               
         i_src      = _val_source              
         i_tgt      = _val_target              
         i_srctp    = _val_source_type         
       CHANGING                                
         c_t_data   = data_package             
         c_t_result = _lt_result.              
    *"*"Lokale interface:
    *"  IMPORTING
    *"     REFERENCE(I_REQUEST) TYPE REF TO  IF_RSBK_REQUEST_ADMINTAB_VIEW
    *"       OPTIONAL
    *"     REFERENCE(I_DPID) TYPE  RSDATAPID OPTIONAL
    *"     REFERENCE(I_SRC) TYPE  RSBKSRCNM OPTIONAL
    *"     REFERENCE(I_TGT) TYPE  RSBKTGTNM OPTIONAL
    *"     REFERENCE(I_SRCTP) TYPE  RSBKSRCTP OPTIONAL
    *"  CHANGING
    *"     REFERENCE(C_T_DATA) TYPE  ANY TABLE
    *"     REFERENCE(C_T_RESULT) TYPE  ZBW_T_BPVAL_ERROR
    *"  EXCEPTIONS
    *"      UNKNOWN_SOURCETYPE
    *"      NO_SOURCE_DEFINED
    *"      NO_SOURCETYPE_SUPPLIED
    You attempted to pass the field "DATA_PACKAGE" to the formal parameter
    "C_T_DATA"
    but the formal parameter "C_T_DATA" can accept only fields of
    type "h". The field "C_T_DATA" has the type "u".

    Hi,
    You should change:
    REFERENCE(C_T_DATA) TYPE  ANY TABLE
    by:
    REFERENCE(C_T_DATA) TYPE  STANDARD TABLE
    Best regards,
    Leandro Mengue

  • Passing Parameters from ECC (NWBC) to Crystal Reports

    Hello All,
    I would like to know if anyone has had experience passing a value from ECC (the shipment number, for example) in NWBC into a link for Crystal Reports, so the report will load with the parameter instead of having the user input it again.
    In other words, on NWBC shipment screen, if the user clicks the link, the report should automatically load with the shipment number filled in, instead of having the user enter the shipment number again.
    Thanks.

    I think this is the SCN Space you are looking for:
    SAP Enterprise Portal
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • Declaration of subroutines with exceptions

    Hi all,
    I have a subroutine perform call_customer badi.In its form i have the following code.
    form call-customer_badi.
    TRY.
      GET BADI lr_badi_enhance_master.
      CATCH cx_badi_not_implemented.
           RAISE EXCEPTION TYPE /castp/cx_cck_exception
            EXPORTING
              textid = /castp/cx_cck_exception=>ex_badi_not_implemented.
    ENDTRY.
    endform.
    So my question is how do i catch the exception in the form.How to do it.
    Regards,
    Alex.

    Hi Alex,
    If you are able to execute the code in Subroutine then change llike this if it can be changed
    perform call-customer_badi changing text_id. " Add this Changing Parameter
    form call-customer_badi changing text_id. " For More info take F1 help on FORM Key word
    endform
    Regards
    Ram

  • Declare variables vs passing parameters

    Hi,
    I'm just curious about it. What is the difference in declaring an variable (static or not) and having your methods use that (get/set) and declaring a method variable and passing that along other methods that you call?
    Some people have said that variables that have to be used by more than 1 method should declare an instance variable.
    Can anyone enlighten me?
    Thanks.
    Desmond

    Are you asking about the pourpose of inspectors (the get methods)?
    You have to understand whats the pourpose of a defined Object by a programmer.
    public class Sum {
         private int num1 = 0;//this private variables belongs to the Object Sum, and normally they are
         private int num2 = 0;//ALWAYS PRIVATE
         public Sum(int num1, int num2){//this is the constructor, its where u initialize ur private variables
              this.num1 = num1;
              this.num2 = num2;
         public int getNum1() {//this is an inspector, it gets the num1 of the private variable num1
              return num1;
         public int getNum2() {//this is another inspector but this time for num2
              return num2;
          * Whats the pourpose of the inspectors? Why not make the private variables public?
          * Heres the answer..If u make those private variables public, you risk on having
          * more mistakes in ur program, you always should restrict variables as much as possible
          * so the chances on making mistakes decreases
         public int result() {//this isnt an inspector, but a method that returns the sum of both num1 and num2
              return num1 + num2;
          * Now how to use this Object to ur needs
         public static void main(String[] args){
              Sum add = new Sum(12, 10);
              System.out.println("Add");
              System.out.println("Num1: " + add.getNum1() + "\n" +
                                  "Num2: " + add.getNum2() + "\n" +
                                  "Result: " + add.result());
               * You can make more Sum's if u like but each of them have their own variables
              Sum another_add = new Sum(20, 15);
              System.out.println("Another add");
              System.out.println("Num1: " + another_add.getNum1() + "\n" +
                        "Num2: " + another_add.getNum2() + "\n" +
                        "Result: " + another_add.result());
               * Now that whe have both results we can compare them
              System.out.println("Result in add: " + add.result() + "\n" +
                                  "Result in another_add: " + another_add.result());
    }

  • Issue with formal parameters

    Hi,
    The Sample Procedure is been displayed Below:--
    i_userId is an input (number) parameter to the Stored Procedure (SP)..
    This same parameter is used for filtering Data (can be found almost bottom , i had marked as "ISSUE FOUND" there.).
    i'm been using the SP without TO_NUMBER (i_userId) in my database 11g which works fine.
    When the same Script is been imported to another 11g Database.. the query fetches NOTHING..... And it Works only when i had given TO_NUMBER (i_userId)........
    Why is its So?........
    Is this issue occur due to any installation problem, or Database creation problem.............
    CREATE OR REPLACE PROCEDURE ADM_MENUSUBLEVEL_GET (i_userId IN NUMBER,
    i_parent IN NUMBER,
    o_menuCur OUT SYS_REFCURSOR,
    o_Return OUT NUMBER) IS
    array_tab array_tbl := array_tbl();
    BEGIN
    The Query below Fetches the lower most child node and returns its parent based on
    hierachy
    WITH MAINDATA AS
    (SELECT LAG(purity, (LVL - 1), 0) OVER (ORDER BY rn) Val, unique_id, menu_id, parent_id, remarks, is_active, lvl
    FROM (SELECT ROWNUM rn, DECODE (lvl, 1, menu_id, NULL) purity, unique_id,
    menu_id, parent_id, remarks, is_active, lvl
    FROM (SELECT 'A' unique_id, menu_id, parent_id, remarks, is_active, lEVEL lvl
    FROM adm_menuconfig t
    START WITH menu_id IN (SELECT adm.menu_id
    FROM adm_users adu,
    adm_user_auth_role adur,
    adm_rolemenumapping adr,
    adm_menuconfig adm
    WHERE adu.user_id = adur.user_id
    AND adur.role_id = adr.role_id
    AND adm.menu_id = adr.menu_id
    AND (NVL (adr.menu_add, 0) > 1 OR
    NVL (adr.menu_modify, 0) > 1 OR
    NVL (adr.menu_cancel, 0) > 1 OR
    NVL (adr.menu_view, 0) > 1 OR
    NVL (adr.menu_print, 0) > 1 OR
    NVL (adr.menu_re_print, 0) > 1 OR
    NVL (adr.menu_delete, 0) > 1 OR
    NVL (adr.menu_process, 0) > 1 OR
    NVL (adr.menu_approve, 0) > 1 OR
    NVL (adr.menu_pre_dated_entry, 0) > 1 OR
    NVL (adr.menu_import, 0) > 1 OR
    NVL (menu_export, 0) > 1 OR
    NVL (adr.menu_validation, 0) > 1)
    AND adur.is_active = 1
    AND adu.user_id = to_number(i_userId)) ------------------ ISSUE FOUND
    CONNECT BY menu_id = PRIOR parent_id)))
    SELECT parentid BULK COLLECT INTO array_tab/*Parent_Tab*/ -- Plsql Type
    FROM (SELECT parentid, (SELECT lvl
    FROM MAINDATA md
    WHERE md.parent_id = parentid
    AND ROWNUM = 1) lvl
    FROM (SELECT DISTINCT parent_id parentid
    FROM adm_menuconfig t
    START WITH menu_id IN
    (SELECT menu_id
    FROM MAINDATA
    WHERE lvl = 1)
    CONNECT BY menu_id = PRIOR parent_id)
    WHERE parentid IS NOT NULL)
    ORDER BY lvl;
    EXCEPTION
    WHEN OTHERS THEN
    o_Return := 1;
    END ADM_MENUSUBLEVEL_GET;
    Regards
    Nims

    user12265791 wrote:
    i'm been using the SP without TO_NUMBER (i_userId) in my database 11g which works fine.
    When the same Script is been imported to another 11g Database.. the query fetches NOTHING..... And it Works only when i had given TO_NUMBER (i_userId)........
    Why is its So?........
    Is this issue occur due to any installation problem, or Database creation problem.............Check the datatypes involved on the machine where it is not working. Its possible an implicit datatype conversion is taking place and is producing different results (leading spaces, for instance, in a string) than the TO_NUMBER

  • How to define FORMAL parameters for TABLES in OOPS?

    Hello Experts,
    Below is the custom code, would like to put in a user-exit
    PERFORM my_routine
    IN PROGRAM my_report
    TABLES standard_sap_vbap_tab
    USING standard_sap_variable
    CHAGING standard_sap_variable
    Pls. let me know How to write the FORM in perspective of data objects defination in OOPS for the above routine.
    FORM here_pl_let_me_know_how_to_define_the_data_objects
    ENDFORM.
    Thank you
    Moderator message: please search for available information/documentation before asking.
    Edited by: Thomas Zloch on Nov 10, 2010 3:40 PM

    This is a very basic question. F1 help on statement form will do.

  • Subroutine parameters ..by default pass by value or pass by ref

    how parameters pass ?  value or ref
    if we use changing in both perform and form...will it become CALL BY REF?
    Message was edited by:
            balaji velpuri

    Hi,
    <u><b>The Parameter Interface</b></u>
    The USING and CHANGING additions in the FORM statement define the formal parameters of a subroutine. The sequence of the additions is fixed. Each addition can be followed by a list of any number of formal parameters. When you call a subroutine, you must fill all formal parameters with the values from the actual parameters. At the end of the subroutine, the formal parameters are passed back to the corresponding actual parameters.
    Within a subroutine, formal parameters behave like dynamic local data. You can use them in the same way as normal local data objects that you would declare with the DATA statement. They mask global data objects with the same name. The value of the parameters at the start of the subroutine is the value passed from the corresponding actual parameter.
    Subroutines can have the following formal parameters:
    <u><b>Parameters Passed by Reference</b></u>
    You list these parameters after USING or CHANGING without the VALUE addition:
    FORM <subr> USING ... <pi> [TYPE <t>|LIKE <f>] ...
    CHANGING ... <pi> [TYPE <t>|LIKE <f>] ...
    The formal parameter occupies no memory of its own. During a subroutine call, only the address of the actual parameter is transferred to the formal parameter. The subroutine works with the field from the calling program. If the value of the formal parameter changes, the contents of the actual parameter in the calling program also change.
    For calling by reference, USING and CHANGING are equivalent. For documentation purposes, you should use USING for input parameters which are not changed in the subroutine, and CHANGING for output parameters which are changed in the subroutine.
    To avoid the value of an actual parameter being changed automatically, you must pass it by value.
    <u><b>Input Parameters That Pass Values</b></u>
    You list these parameters after USING with the VALUE addition:
    FORM <subr> USING ... VALUE(<pi>) [TYPE <t>|LIKE <f>] ...
    The formal parameter occupies its own memory space. When you call the subroutine, the value of the actual parameter is passed to the formal parameter. If the value of the formal parameter changes, this has no effect on the actual parameter.
    <u><b>Output Parameters That Pass Values</b></u>
    You list these parameters after CHANGING with the VALUE addition:
    FORM <subr> CHANGING ... VALUE(<pi>) [TYPE <t>|LIKE <f>] ...
    The formal parameter occupies its own memory space. When you call the subroutine, the value of the actual parameter is passed to the formal parameter. If the subroutine concludes successfully, that is, when the ENDFORM statement occurs, or when the subroutine is terminated through a CHECK or EXIT statement, the current value of the formal parameter is copied into the actual parameter.
    If the subroutine terminates prematurely due to an error message, no value is passed. It only makes sense to terminate a subroutine through an error message in the PAI processing of a screen, that is, in a PAI module, in the AT SELECTION-SCREEN event, or after an interactive list event.
    <u><b>Specifying the Type of Formal Parameters</b></u>
    Formal parameters can have any valid ABAP data type. You can specify the type of a formal parameter, either generically or fully, using the TYPE or LIKE addition. If you specify a generic type, the type of the formal parameter is either partially specified or not specified at all. Any attributes that are not specified are inherited from the corresponding actual parameter when the subroutine is called. If you specify the type fully, all of the technical attributes of the formal parameter are defined with the subroutine definition.
    The following remarks about specifying the types of parameters also apply to the parameters of other procedures (function modules and methods). If you have specified the type of the formal parameters, the system checks that the
    corresponding actual parameters are compatible when the subroutine is called. For internal subroutines, the system checks this in the syntax check. For external subroutines, the check cannot occur until runtime. By specifying the type, you ensure that a subroutine always works with the correct data type. Generic formal parameters allow a large degree of freedom when you call subroutines, since you can pass data of any type. This restricts accordingly the options for processing data in the subroutine, since the operations must be valid for all data types. For example, assigning one data object to another may not even be possible for all data types. If you specify the types of subroutine parameters, you can perform a much wider range of operations, since only the data appropriate to those operations can be passed in the call. If you want to process structured data objects component by component in a subroutine, you must specify the type of the parameter.
    Regards,
    Bhaskar

Maybe you are looking for

  • Need to convert 16X9 to 4:3 letterbox for DVD

    Hello Can anyone tell me the settings I need to convert 16X9 to 4:3 letterbox for DVD. I am mixing other 4:3 letterbox content. Evertime I make an mpeg with Quicktime conversion it is squeezed. I want it to be letterbox in 4:3 Thanks in advance. I am

  • Can't sync iPhone to my mac. Strange error message.

    I just tried to sync my iPhone to my mac, and got the following error message: "iTunes could not sync contacts to the iPhone "MyiPhone" because the iPhone disconnected." First of all... my iPhone did not disconnect, I am looking at it under "devices"

  • Why did IMovie 9 start crashing when trying to import from camcorder

    I have Imovie 8.0.6 and a Panasonic HDC-SD60 camcorder. I have been importing from this camera for a long time, with no problems but now, IMovie crashes whenever I push the import button. I checked and when nothing is connected, the internal camera c

  • Import, package, connection

    Here's my problem. This a second forum, first one; no answer. I think here are all the necessary information, codes are quite long... I have 3 servlets, S1, S2, S3. and a java class Data. All these servlets, classes and build.xml are in a same folder

  • Get FWM 00001 when SessionMgr do Logon()

    I was trying to open the report in CRS using OpenDocument when press the submit button. Unfortunately, an error was return [Transport error: Communication failure.(FWM 00001)] while the SessionMgr try to do Logon(). I have already checked the network