Override Existing functionality in OO ALV

Hi
Can any one give me the procedure to override the standard functionality associcate with the buttons in ALV Toolbar.
I am not able debug the when the user perfroms action on the Standard ALV toolbar. Can you help me
Thanks all.

Check sample program BCALV_EDIT_05. You need to create a local class to handle user actions. By this way you can assign different functionality to an existing key or ad new keys with required functionality.

Similar Messages

  • How to override the functionality of a method which is embedded in an swf

    Hi,
    I have an swf for my application for which i do not have the source code. Now i want to override the functionality of a method (say doIt()) in a class (say MyClass.as).
    Is there any way to achieve the classloader functionality that similar to the tomcat classloading functionality for java files.
    i.e Tomcat's classloader searches the WEB-INF/classes directory before the WEB-INF/lib/*.jar. That means my original code is in lib folder, and the orerriden code is in the classes folder. In this case, tomcat will see the classes folder first, if my class does not exist in this folder, then it looks for the lib folder.
    Can we achieve the same class loading functionality in Flex. The overall idea is to change the functionlity of a feature without touching the original swf and by creating an external swf and by calling it.
    Regards,
    Sangeeta Kalyani

    Sangeetha Kalyani,
    Use SWF de-compiler.. and get the source of your SWF.. i think this will simplyfy your JOB...!
    Thanks,
    Pradeep

  • Bug in exists() function of XI Graphical Mapping Tool?

    Hi!
    If I connect a source field with the exists() function in XI Graphical Mapping Tool and the tag exists it returns TRUE, otherwise it returns FALSE, so everything works as expected.
    But I have to connect a user-defined function with exists(). The user-defined function will either calculate a value or set Resultset.SUPPRESS.
    If there is a value the exits() function returns TRUE, however if Resultset.SUPPRESS is set it does also return TRUE! This looks to me like a bug in exists() function. Shouldn't it always return FALSE if the input is Resultset.SUPPRESS?
    Regards, Tanja

    Hi Stefan!
    > The exists() function checks, if a queue is empty.
    > An empty queue is <b>not</b> represented by the
    > SUPPRESS value.
    > If inside a queue there is a SUPPRESS value, the
    > queue is <b>not</b> empty.
    Ok, so it's not a bug and the exists() function is working as expected.
    > If you want the exist() function after a UDF, provide
    > an empty queue, or easier: return the values "true"
    > or "false" directly from the UDF.
    Yes, that's how I actually solved the problem. The UDF was used at several places where the ResultList.SUPPRESS output was needed. So I copied the UDF and changed it so that the output was TRUE or FALSE instead.
    Regards, Tanja

  • How to use XQuery Exist() Function on a SSIS XML file

    I have a Package Inventory table that has an XML Column named CurrentPackageXML. This XML column contains the SSIS Package XML. I need to use the XQuery Exist() function to determine if the
    errorRowDisposition="IgnoreFailure" exists.
    Below I have a basic SQL statement, but I have no idea how to write the Correct XQuery Expression. In my example below, I just tried to see if the DTS:Name Property existed, but that XQuery Expression is invalid also. It is not what I need in the end, but
    I was just trying to get anything to work.
    Below my SQL, I have included a snip-it of the SSIS package XML where I can find the errorRowDisposition. It is to the far right, so you may have to scroll to the right to see it. I bolded the text so it is easier to find.
    Finally, once I have got a SQL statement that checks if errorRowDisposition exists = False, I need to check for every occurrence of  errorRowDisposition exists = False.
    Would there be an easier way to do this by converting the XML to a varchar(max) then searching for all instances of  errorRowDisposition exists = False?
    SELECT CurrentPackageXML.exist('/DTS:Executable/DTS:Property[DTS:Name]')
    FROM [dbo].[PackageInventory]
    <inputs>
    <input id="43" name="OLE DB Destination Input" description="" hasSideEffects="true" dangling="false" errorOrTruncationOperation="Insert" errorRowDisposition="FailComponent" truncationRowDisposition="NotUsed">
    <inputColumns>
    <inputColumn id="113" name="" description="" lineageId="110" usageType="readOnly" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="95" mappedColumnId="0" />
    <inputColumn id="172" name="" description="" lineageId="167" usageType="readOnly" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="94" mappedColumnId="0" />
    </inputColumns>
    <externalMetadataColumns isUsed="True">
    <externalMetadataColumn id="50" name="DateCreated" description="" precision="0" scale="0" length="0" dataType="dbTimeStamp" codePage="0" mappedColumnId="0" />
    <externalMetadataColumn id="51" name="ProcessedCount" description="" precision="0" scale="0" length="0" dataType="i4" codePage="0" mappedColumnId="0" />
    <externalMetadataColumn id="52" name="ErrorCount" description="" precision="0" scale="0" length="0" dataType="i4" codePage="0" mappedColumnId="0" />
    <externalMetadataColumn id="90" name="AcknowledgementID" description="" precision="0" scale="0" length="0" dataType="i4" codePage="0" mappedColumnId="0" />
    <externalMetadataColumn id="91" name="Date" description="" precision="0" scale="0" length="0" dataType="dbTimeStamp" codePage="0" mappedColumnId="0" />
    <externalMetadataColumn id="92" name="FileSeqNumber" description="" precision="0" scale="0" length="0" dataType="i4" codePage="0" mappedColumnId="0" />
    <externalMetadataColumn id="93" name="FileType" description="" precision="0" scale="0" length="50" dataType="str" codePage="65001" mappedColumnId="0" />
    <externalMetadataColumn id="94" name="FileName" description="" precision="0" scale="0" length="50" dataType="str" codePage="65001" mappedColumnId="0" />
    <externalMetadataColumn id="95" name="DateReceived" description="" precision="0" scale="0" length="0" dataType="dbTimeStamp" codePage="0" mappedColumnId="0" />
    </externalMetadataColumns>
    </input>
    </inputs>
    Ryan P. Casey • <a href="http://www.R-P-C-Group.com">www.R-P-C-Group.com</a>

    Try this and let know what errors you get.  Note, this is a rough draft of one of a series of queries that I have started writing to document SSIS using SQL XQuery.  I read a file in my version (the one I tested) and get the results.
    -- Get the flat file destinations and their mappings
    with xmlnamespaces ('www.microsoft.com/SqlServer/Dts' as DTS
    ), compflow as (
    SELECT
    task.xml.value('@DTS:ObjectName', 'varchar(200)') as TaskName
    , task.xml.value('@DTS:ExecutableType', 'varchar(200)') as TaskType
    , task.xml.value('@DTS:refId', 'varchar(1000)') as TaskRefId
    --, task.xml.query ('.') as Node
    , component.xml.value ('@name', 'varchar(200)') as ComponentName
    , component.xml.value ('@refId', 'varchar(1000)') as ComponentRefId
    , component.xml.value ('@componentClassID', 'varchar(1000)') AS componentClassID
    --, component.xml.value ('count(inputs/input)', 'int') AS NumberOfInputs
    --, component.xml.value ('count(outputs/output)', 'int') AS NumberOfOutputs
    --, component.xml.value ('count(outputs/output[@isErrorOut="true"])', 'int') AS NumberOfErrorOutputs
    , component.xml.query('.') as ComponentNode
    FROM [dbo].[PackageInventory] pk
    cross apply pk.CurrentPackageXML.nodes('//DTS:Executable[@DTS:ExecutableType="Microsoft.Pipeline"]') as task (xml)
    OUTER APPLY task.xml.nodes('DTS:ObjectData/pipeline/components/component') as component (xml)
    WHERE [PackageInventory_ID] = 13
    , inputNode as (
    SELECT c.*
    , input.xml.value ('@name', 'varchar(200)') as InputName
    , input.xml.value ('@refId', 'varchar(1000)') as InputRefId
    , input.xml.value ('@hasSideEffects', 'varchar(1000)') as InputHasSideEffects
    , input.xml.value ('count(inputColumns/inputColumn)', 'int') AS NumberOfInputColumns
    , input.xml.value ('count(externalMetadataColumns/externalMetadataColumn)', 'int') AS NumberOfExternalMetadataColumns
    , input.xml.value ('@errorOrTruncationOperation', 'varchar(1000)') as InputerrorOrTruncationOperation
    , input.xml.value ('@errorRowDisposition', 'varchar(1000)') as InputerrorRowDisposition
    , col.xml.value ('@errorOrTruncationOperation', 'varchar(1000)') as InputColumnErrorOrTruncationOperation
    , col.xml.value ('@errorRowDisposition', 'varchar(1000)') as InputColumnErrorRowDisposition
    from compFlow c
    OUTER APPLY c.ComponentNode.nodes ('component/inputs/input') as input (xml)
    OUTER APPLY input.xml.nodes ('inputColumns/inputColumn') as col (xml)
    , inputAnal as (
    select
    TaskName
    ,TaskType
    ,TaskRefId
    ,ComponentName
    ,ComponentRefId
    ,componentClassID
    ,InputName
    ,InputRefId
    ,InputHasSideEffects
    , Null as IsError
    ,NumberOfInputColumns
    ,NumberOfExternalMetadataColumns
    ,InputerrorOrTruncationOperation
    ,InputerrorRowDisposition
    ,InputColumnErrorOrTruncationOperation
    ,InputColumnErrorRowDisposition
    , count(*) as NumRec
    from inputNode
    group by TaskName
    ,TaskType
    ,TaskRefId
    ,ComponentName
    ,ComponentRefId
    ,componentClassID
    ,InputName
    ,InputRefId
    ,InputHasSideEffects
    ,NumberOfInputColumns
    ,NumberOfExternalMetadataColumns
    ,InputerrorOrTruncationOperation
    ,InputerrorRowDisposition
    ,InputColumnErrorOrTruncationOperation
    ,InputColumnErrorRowDisposition
    , xoutputNode as (
    SELECT
    TaskName
    ,TaskType
    ,TaskRefId
    ,ComponentName
    ,ComponentRefId
    ,componentClassID
    , xout.xml.value ('@name', 'varchar(200)') as OutputName
    , xout.xml.value ('@refId', 'varchar(1000)') as OutputRefId
    , xout.xml.value ('@hasSideEffects', 'varchar(1000)') as OutputHasSideEffects
    , xout.xml.value ('@isErrorOut', 'varchar(1000)') as OutputIsError
    , xout.xml.value ('count(outputColumns/outputColumn)', 'int') AS NumberOfOutputColumns
    , xout.xml.value ('count(externalMetadataColumns/externalMetadataColumn)', 'int') AS NumberOfExternalMetadataColumns
    , xout.xml.value ('@errorOrTruncationOperation', 'varchar(1000)') as OutputerrorOrTruncationOperation
    , xout.xml.value ('@errorRowDisposition', 'varchar(1000)') as OutputerrorRowDisposition
    , col.xml.value ('@errorOrTruncationOperation', 'varchar(1000)') as OutputColumnErrorOrTruncationOperation
    , col.xml.value ('@errorRowDisposition', 'varchar(1000)') as OutputColumnErrorRowDisposition
    from compFlow c
    OUTER APPLY c.ComponentNode.nodes ('component/outputs/output') as xout (xml)
    OUTER APPLY xout.xml.nodes ('outputColumns/outputColumn') as col (xml)
    , outputAnal as(
    select
    TaskName
    ,TaskType
    ,TaskRefId
    ,ComponentName
    ,ComponentRefId
    ,componentClassID
    ,OutputName
    ,OutputRefId
    ,OutputHasSideEffects
    ,OutputIsError
    ,NumberOfOutputColumns
    ,NumberOfExternalMetadataColumns
    ,OutputerrorOrTruncationOperation
    ,OutputerrorRowDisposition
    ,OutputColumnErrorOrTruncationOperation
    ,OutputColumnErrorRowDisposition
    , count (*) as NumberOfRows
    from xoutputNode
    group by TaskName
    ,TaskType
    ,TaskRefId
    ,ComponentName
    ,ComponentRefId
    ,componentClassID
    ,OutputName
    ,OutputRefId
    ,OutputHasSideEffects
    ,OutputIsError
    ,NumberOfOutputColumns
    ,NumberOfExternalMetadataColumns
    ,OutputerrorOrTruncationOperation
    ,OutputerrorRowDisposition
    ,OutputColumnErrorOrTruncationOperation
    ,OutputColumnErrorRowDisposition
    select 'Input' as RowType, i.* from inputAnal i
    union all
    select 'Output' as RowType, o.* from outputAnal o
    Russel Loski, MCT, MCSE Data Platform/Business Intelligence. Twitter: @sqlmovers; blog: www.sqlmovers.com

  • Using javascript to override  pressing function keys (f1,f3,f6,f7,....)

    hi all i wonder if there is a way to to override pressing function keys(f1,f3,f6,f7,....) in adf page for all of the page not just for an input text .
    in another way can i make a client listener for a <f:view> or <af:document> so the javascript function will be called when i preses any button in keyboard without focusing in inputtext or a command button
    Edited by: user554540 on 22/06/2010 03:03 ص

    Hi,
    the problem is that keyboard events are only raised from input components. client listeners can only added to ADF Faces components and af:document does not accept keyboard entries. However, I tried
    af:document > panelStrechtLayout (center facet) > panelGroupLayout (scroll) and assigned a clientListener. At runtime has the desired effect
    Frank
    Edited by: Frank Nimphius on Jun 22, 2010 6:27 PM

  • Extending the existing functional locations to a new plant?

    Hi Sapiens,
    The following is my concern:
    Q1) I have a set of functional locations(roughly around 5000 records) assigned to say Plant A.
    I would like to extend these existing functional locations to Plant B. I am not permitted to do this using LSMW. I should execute this operation in one shot.
    How to accomplish this?
    Q2) After attaching all the functional locations to Plant B, i should replace the first 4 characters of the functional location structure with the Plant Code itself. Again not through an lsmw. How to accomplish this in one shot?
    Please let me know the procedure of doing it with some guidelines.
    Thanks in Advance,
    Vijaya

    Hi
    1. You can extentd to the other plant with SCAT ,BDC etc
    2. But You can not replace the first four letters from the FL with the New plant code.Remember this is a master data
    Regardas
    Jignesh

  • Need Help Can i use Merge command along with exist function in oracle?

    I am using Merge command to update the destination table and updating the rows which are already in the destination table.
    But what i want is to delete the existing rows from the destination table and insert fresh rows instead of updating the existing rows in the destination table.
    So can we use exist function to check the existing rows and delete them and use merge command to insert the rows in the table.

    You definitely need to do a DELETE then INSERT since MERGE will not delete rows, although I'm not really sure what that gets you since the net effect would be the same as a MERGE over the same pair of tables.
    If you really want to do it this way, then I would likely do something like:
    DELETE FROM target_table
    WHERE (columns_you_would_match_on) IN (SELECT columns_you_would_match_on
                                           FROM source_table
                                           WHERE predicate_you_would_use_in_using);
    INSERT INTO target_table (column_list)
    SELECT column_list
    FROM source_table
    WHERE predicate_you_would_use_in_using;John

  • What is the difference b/w ALV Function Module and ALV Methods?

    Hello Friends,
          Can anybody help me in finding out the difference between ALV Function Modules and ALV methods?
    Thanks & Regards
    Sathish Kumar

    Hi Sathish,
    Plz go through this info. It is very useful.
    hi,
    chk these excellent links.
    http://www.geocities.com/mpioud/Abap_programs.html
    http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
    Simple ALV report
    http://www.sapgenie.com/abap/controls/alvgrid.htm
    http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
    http://www.sapgenie.com/abap/controls/alvgrid.htm
    http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
    ALV
    1. Please give me general info on ALV.
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    2. How do I program double click in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=11601
    http://www.sapfans.com/forums/viewtopic.php?t=23010
    3. How do I add subtotals (I have problem to add them)...
    http://www.sapfans.com/forums/viewtopic.php?t=20386
    http://www.sapfans.com/forums/viewtopic.php?t=85191
    http://www.sapfans.com/forums/viewtopic.php?t=88401
    http://www.sapfans.com/forums/viewtopic.php?t=17335
    4. How to add list heading like top-of-page in ABAP lists?
    http://www.sapfans.com/forums/viewtopic.php?t=58775
    http://www.sapfans.com/forums/viewtopic.php?t=60550
    http://www.sapfans.com/forums/viewtopic.php?t=16629
    5. How to print page number / total number of pages X/XX in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
    6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
    http://www.sapfans.com/forums/viewtopic.php?t=64320
    http://www.sapfans.com/forums/viewtopic.php?t=44477
    7. How can I set the cell color in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=52107
    8. How do I print a logo/graphics in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=81149
    http://www.sapfans.com/forums/viewtopic.php?t=35498
    http://www.sapfans.com/forums/viewtopic.php?t=5013
    9. How do I create and use input-enabled fields in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=84933
    http://www.sapfans.com/forums/viewtopic.php?t=69878
    10. How can I use ALV for reports that are going to be run in background?
    http://www.sapfans.com/forums/viewtopic.php?t=83243
    http://www.sapfans.com/forums/viewtopic.php?t=19224
    11. How can I display an icon in ALV? (Common requirement is traffic light icon).
    http://www.sapfans.com/forums/viewtopic.php?t=79424
    http://www.sapfans.com/forums/viewtopic.php?t=24512
    12. How can I display a checkbox in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=88376
    http://www.sapfans.com/forums/viewtopic.php?t=40968
    http://www.sapfans.com/forums/viewtopic.php?t=6919
    Go thru these programs they may help u to try on some hands on
    ALV Demo program
    BCALV_DEMO_HTML
    BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
    BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
    BCALV_GRID_DEMO Simple ALV Control Call Demo Program
    BCALV_TREE_DEMO Demo for ALV tree control
    BCALV_TREE_SIMPLE_DEMO
    BC_ALV_DEMO_HTML_D0100
    OOPs:
    Check this for basic concepts of OOPS
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/abap%20objects/abap%20code%20sample%20to%20learn%20basic%20concept%20of%20object-oriented%20programming.doc
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20display%20data%20in%20alv%20grid%20using%20object%20oriented%20programming.doc
    Tabstrip
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20for%20tab%20strip%20in%20alv.pdf
    Editable ALV
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20edit%20alv%20grid.doc
    Tree
    http://www.sapdevelopment.co.uk/reporting/alv/alvtree/alvtree_usrint.htm
    General Tutorial for OOPS
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/an%20easy%20reference%20for%20alv%20grid%20control.pdf
    Rewords some points if it is helpful.
    Rgds,
    P.Naganjana Reddy

  • Any existing function to validate an item when other item has been changed?

    Any existing function to validate an item when another item has been changed? Because these 2 fields are related. When one filed is changed, the other one should be blank and let the user to input again. I am using oracle custom.pll library.
    Any ideas?
    Amy

    Hi Vikram,
    Thanks for posting your issue,
    You can switch of alerts and set E-Mail Notification to Yes under your Workflow Tasks list > Settings > Advanced Settings. By doing so user specified in AssignedTo will receive e-mail notification when task is created and if task ownership is not changed
    during your workflow this will be the only mail sent by system.
    Since you are already using SharePoint designer you also have option to include Send an Email action in your workflow (after task is created). This option is better if you want to send some specific info to user.
    Also, browse the below mentioned URLs to create workflow step by step
    http://sharepointsolutions.com/sharepoint-help/blog/2010/03/create-a-detailed-custom-task-notification-with-a-sharepoint-designer-workflow/
    http://sharepoint-community.net/forum/topics/configure-email-notification-for-discussion-board-activity
    I hope this is helpful to you, mark it as Helpful.
    If this works, Please mark it as Answered.
    Regards,
    Dharmendra Singh (MCPD-EA | MCTS)
    Blog : http://sharepoint-community.net/profile/DharmendraSingh

  • Custom Function on OO ALV Grid

    I am trying to implement ALV_GRID_XT to enhance the ALV Grid toolbar by adding couple of custom funcitons.As per the SAP documentation I have created 2 methods ON_TOOLBAR - one for adding items on toolbar and the other ON_USER_COMMAND - for processing if the user clicks on the custom function.
    I am unable to relate the ALV Grid instance onto the method ON_USER_COMMAND . One of the funciton is to calculate the average of column which represents percentage excluding cells with zero values. Once the user selects column(s) and clicks on the Percent button on the ALV grid my piece of code should trigger ON_USER_COMMAND and then display the average percentage on the Totals row.
    Method ON_USER_COMMAND has only one parameter E_UCOMM which i am able to get in the method but I am not able to get the instance of the ALV grid so that I can play around with the data in the Grid.
    I could have used a local class and then enhanced the ALV toolbar but this requirement is needed for about 20 reports and hence thought of implementing it globally.
    Any ideas would be appreciated.

    Hi there
    You need to set the handlers of course and register the events
    I'm using also a Z-class  using functionality from the ALV Grid
    in the application program
    data: z_object type ref to zcl_*      "my z_class"
    * Instantiate your Z class
    create object z_object
           exporting
                      z_object = z_object
                      cfname = 'CCONTAINER1'.
    Now in your Constructor for your Z-Class have a variable
    say grid1 which is defined as a type ref to cl_gui_alv_grid.
    Code the methods you require --. The trick is to instantiate your OWN Z class and within  YOUR CLASS  instantiate the GRID1 variable as an instance of cl_gui_alv_grid - then you can use methods etc from that class in your own Z class simple via  something like this
    method CONSTRUCTOR.
    create object grid_container1
            exporting
        container_name = cfname.
        create object  grid1
           exporting
              i_parent = grid_container1.
        set handler z_object->on_user_command for grid1.
        set handler z_object->on_toolbar for grid1.
        set handler z_object->handle_data_changed for grid1.
        set handler z_object->handle_data_changed_finished for grid1.
        set handler z_object->on_dubbelklik for grid1.
        set handler z_object->on_hotspot for grid1.
        call method grid1->register_edit_event
            exporting
               i_event_id = cl_gui_alv_grid=>mc_evt_enter.
      endmethod.
    method display_grid .
    get reference of g_outtab into g_outtab1.
         get reference of g_fldcat into g_fldcat1.
        struct_grid_lset-edit = i_edit.    "To enable editing in ALV
        struct_grid_lset-zebra = i_zebra.
        struct_grid_lset-cwidth_opt = i_opt.
        struct_grid_lset-grid_title = i_gridtitle.
    *    struct_grid_lset-ctab_fname = 'T_CELLCOLORS'.
    *    struct_grid_lset-stylefname = 'CELLTAB'.
         struct_grid_lset-ctab_fname = style_fname.
         struct_grid_lset-stylefname = style_ctab.
    *     export gt_outtab from gt_outtab to memory id 'gt_outtab'.
        call method grid1->set_table_for_first_display
           exporting
                 is_layout       = struct_grid_lset
           changing
                 it_outtab       = gt_outtab
                 it_fieldcatalog = it_fldcat.
      endmethod.
    You need to add the buttons to the toolbar with your ON TOOLBAR method
    for example
    method on_toolbar .
    type-pools icon.
    clear ls_toolbar.
         move  0 to ls_toolbar-butn_type.
         move 'EXCEL' to ls_toolbar-function.
         move  space to ls_toolbar-disabled.
         move  icon_xxl to ls_toolbar-icon.
         move 'Excel' to ls_toolbar-quickinfo.
         move  'EXCEL' to ls_toolbar-text.
         append ls_toolbar to e_object->mt_toolbar.
        perform   toolbar  in program (caller) if found
         using e_object.
    endmethod.
    Now the functionality should work in the ON_USER_COMMAND .
    Here's my ON_USER_COMMAND method within the class
    method ON_USER_COMMAND.
    *        FOR EVENT before_user_command OF cl_gui_alv_grid
    *        IMPORTING
    *          e_ucomm
    *          sender
    * When defined in SE24 you don't need to code the
    * FOR EVENT etc as this is already defined as an event handler
    case e_ucomm.
          when 'EXIT'.
            leave program.
          when 'EXCEL'.
           call method me->download_to_excel.
          when 'SAVE'.
          when 'PROC'.
            call method me->process.
          when 'REFR'.
            call method me->refresh.
            when 'SWITCH'.
            call method me->switch.
           when 'TEST'.
            call method me->get_cell.
           endcase.
    endmethod.
    Add whatever  extra functionality you want to the on_user_command so long as you've defined toolbars..
    Cheers
    jimbo

  • About function module in alv

    hai all
    iwant to know about few function modules in alv
    1) reuse_alv_default_varients_get.
    2)reuse alv_varients_f4
    what is the use of these function modules
    how to use these function modules, what r the structures used to use these function module. where to pass this in
    in list and grid display function modules.
    plz help me.
    thanks & regards
    sindu

    HI,
    check this.
    REPORT Z_TEST_alv_variant .
    TYPE-POOLS : SLIS.
    PARAMETERS: ONE RADIOBUTTON GROUP G1 DEFAULT 'X',
                TWO RADIOBUTTON GROUP G1.
    DATA: BEGIN OF I_TAB OCCURS 0,
    FIELD1 TYPE I,
    FIELD2 TYPE I,
    END OF I_TAB.
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA: L_VARIANT TYPE DISVARIANT,
          LX_VARIANT LIKE DISVARIANT,
          L_SAVE TYPE C,
          L_EXIT(1) TYPE C.
    SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-VAR.
    PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.
    SELECTION-SCREEN END OF BLOCK 0.
    INITIALIZATION.
      L_SAVE = 'A'.
      PERFORM VARIANT_INIT.
    Get default variant
      LX_VARIANT = L_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          I_SAVE     = L_SAVE
        CHANGING
          CS_VARIANT = LX_VARIANT
        EXCEPTIONS
          NOT_FOUND  = 2.
      IF SY-SUBRC = 0.
        P_VARI = LX_VARIANT-VARIANT.
      ENDIF.
    Process on value request
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
      PERFORM F4_FOR_VARIANT.
      I_TAB-FIELD1 = 19.
      I_TAB-FIELD2 = 20.
      APPEND I_TAB.
      I_TAB-FIELD1 = 19.
      I_TAB-FIELD2 = 20.
      APPEND I_TAB.
      I_TAB-FIELD1 = 19.
      I_TAB-FIELD2 = 20.
      APPEND I_TAB.
      I_TAB-FIELD1 = 19.
      I_TAB-FIELD2 = 20.
      APPEND I_TAB.
      I_TAB-FIELD1 = 19.
      I_TAB-FIELD2 = 20.
      APPEND I_TAB.
      PERFORM INITIALIZE_FIELDCAT USING GT_FIELDCAT[].
      PERFORM CALL_ALV  TABLES I_TAB[]
                       USING GT_FIELDCAT.
    *& Form initialize_fieldcat
    text
    -->P_GT_FIELDCAT[] text
    FORM INITIALIZE_FIELDCAT USING L_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      LS_FIELDCAT-FIELDNAME = 'FIELD1'.
      LS_FIELDCAT-KEY = 'X'.
      LS_FIELDCAT-COL_POS = 1.
      LS_FIELDCAT-SELTEXT_S = 'Work center'.
      LS_FIELDCAT-SELTEXT_L = 'Work center'.
      APPEND LS_FIELDCAT TO L_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME = 'FIELD2'.
      LS_FIELDCAT-KEY = ' '.
      LS_FIELDCAT-COL_POS = 2.
      LS_FIELDCAT-SELTEXT_S = 'Work center2'.
      LS_FIELDCAT-SELTEXT_L = 'Work center2'.
      APPEND LS_FIELDCAT TO L_FIELDCAT.
      CLEAR LS_FIELDCAT.
    ENDFORM. " initialize_fieldcat
    *&      Form  call_alv
          text
         -->P_GT_FIELDCAT  text
         -->P_I_TAB  text
    FORM CALL_ALV  TABLES   P_TAB
                    USING    P_GT_FIELDCAT .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM = SY-REPID
          IT_FIELDCAT        = P_GT_FIELDCAT
          I_DEFAULT          = 'X'
          IS_VARIANT         = L_VARIANT
          I_SAVE             = L_SAVE
        TABLES
          T_OUTTAB           = P_TAB[]
        EXCEPTIONS
          PROGRAM_ERROR      = 1
          OTHERS             = 2.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " call_alv
    *&      Form  VARIANT_INIT
          text
    FORM VARIANT_INIT.
      CLEAR L_VARIANT.
      L_VARIANT-REPORT = SY-REPID.
    ENDFORM.                               " VARIANT_INIT
    *&      Form  variant_SELECTION_SCREEN
          text
    FORM VARIANT_SELECTION_SCREEN .
      IF NOT P_VARI IS INITIAL.
        MOVE L_VARIANT TO LX_VARIANT.
        MOVE P_VARI TO LX_VARIANT-VARIANT.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
          EXPORTING
            I_SAVE     = L_SAVE
          CHANGING
            CS_VARIANT = LX_VARIANT.
        L_VARIANT = LX_VARIANT.
      ELSE.
        PERFORM VARIANT_INIT.
      ENDIF.
    ENDFORM.                    " variant_SELECTION_SCREEN
    *&      Form  F4_FOR_VARIANT
          text
    FORM F4_FOR_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          IS_VARIANT = L_VARIANT
          I_SAVE     = L_SAVE
        IMPORTING
          E_EXIT     = L_EXIT
          ES_VARIANT = LX_VARIANT
        EXCEPTIONS
          NOT_FOUND  = 2.
      IF SY-SUBRC = 2.
        MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF L_EXIT = SPACE.
          P_VARI = LX_VARIANT-VARIANT.
        ENDIF.
      ENDIF.
    ENDFORM.                    "F4_FOR_VARIANT
    Regards,
    Laxmi.

  • HOW TO USE FUNCTION MODULE IN ALV

    hi guyz
    I developed an alv report using join statements .But i got all that fields in a function module. so how can i use function module in alv .
    if i got a function module with all the fileds do i need to use select statement.
    plz help me.
    thanks
    sudheer

    Hi,
    Hope the following helps..
    1)
    LOOP AT IT_OUTPUT.
    Call the function module to get the tracking number and store the output in the
    variable V_TRACKINGNO.
      IT_OUTPUT-TRACKING_NO = V_TRACKINGNO.
      MODIFY IT_OUTPUT TRANSPORTING TRACKING_NO.
    ENDLOOP.
    2) Date conversion
    DATA: V_CHAR(10) VALUE '2006.11.17'.
    DATA: V_DATE       TYPE SYDATUM.
    CONCATENATE V_CHAR(4) V_CHAR5(2) V_CHAR8(2) INTO V_DATE.
    WRITE: V_DATE TO V_CHAR MM/DD/YYYY.
    WRITE: / 'MM/DD/YYY Format - ',  V_CHAR.
    Please make sure to reward points for helpful answers..
    Thanks,
    Naren

  • How to find suitable( existing) function group for a Function Module ?

    How to find suitable( existing) function group for a Function Module to be created?
    This is FM for converting amounts to text.

    Hi,
            If you are not sure into which Function group your FM should go in then its advised to create a Function group of your own. Its not advised to create a function module in any other function group unless its owned by you since your FM can get deleted by others or it can get changed.
    Create your own Function group. But if you want to create in an existing FG then best way is to find out the Function Group by searching for suitable existing Function module then see their function group
    Regards,
    Sesh

  • Error when overriding mx_internal function in mxml file

    Hi,
    I'm having difficulty overriding an mx_internal function inside an mxml file. I get an error:
    1004: Namespace was not found or is not a compile-time constant. StackRenderer.mxml /Layouts/src/example line 12 Flex Problem
    <?xml version="1.0" encoding="utf-8"?>
         <s:ItemRenderer
                xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:s="library://ns.adobe.com/flex/spark"
                xmlns:mx="library://ns.adobe.com/flex/mx">
                <fx:Script>
                      <![CDATA[
                            import mx.core.mx_internal;
                            use namespace mx_internal;
                            override mx_internal function drawBackground():void{
                       ]]>
                </fx:Script>
    </s:ItemRenderer>
    What am I doing wrong?

    Sorry for missleading information: I missed the error after I removed "use namespace mx_internal;". However I think I have found a problem. For some reason you get the error in MXML file (probably there are some restrictions for using namespaces in MXML files but I'm not sure). I have created an ActionScript component and it now compiles (for sure):
    package
       import mx.core.mx_internal;
       import spark.components.supportClasses.ItemRenderer;
       use namespace mx_internal
       public class CustomIRAS extends ItemRenderer
          override mx_internal function drawBackground():void {
    So I suggest creating ActionScript component instead of MXML.
    Michael

  • Exists function

    Hi All,
    My requirement is souce field format(MM/dd/YY) convert it to target field format(dd-MM-yyyy). I used Date Trans function to achieve the same. The problem is some times the source field may not contain any value. So, I tried exists function some thing like this.
    src>exists>input to if functon
    src>dateTrans>input to then part of if function.
    constant(blank)-->input to else part of if function
    Output of if function-->target field.
    The problem here is if the the input field is empty, again it is exeuting the DateTrans function and error"Unparsable date".
    Pls let me know where I am going wrong...
    Thanks & Regards,
    Jai Shankar.

    Hi,
    Yes if you have occurance 1..1 you just need to check for "" blank value thats enough.
    Source             Source
            Equals-->IfWithElse-->Target
    Constant("")        Constant("")
    Regards,
    Prakash

Maybe you are looking for

  • FM for month and year to Fiscal year period

    Hello ABAP Experts, Please suggest a FM to convert month+year to fiscal year period. Suggestions appreciated. Thanks in advance, BWer

  • PAPI WS

    Hi, How the PAPI WS basically works and how do I configure the PAPI WS to initiate a instance of the BPM process. (OBPM 10g). Please help. Thanks Bibhu

  • Effects & Adjust are missing from Edit

    When I click " edit " the Effects & Adjust are missing. It's like I am in some older version of iPhoto. This happened after switching to Adobe Photoshop Elements to do some editing of iPhoto images. First I clicked option apple to restart iPhoto so I

  • Folders won't show some icons when attached to dock

    Hello guys I am experiencing a very annoying issue. Turns out that the folders, when put on dock, won't show the icons that are not mac-standard (like .mkv movies, .rar, etc.). Here's a screenshot: http://i162.photobucket.com/albums/t273/rique333/Scr

  • Future of BOL/GENIL

    Hello, I have 2 questions: 1. Are there some examples of use BOL/GENIL in WebDynpro (Floor Plan Manager for ABAP)? Or maybe plans to use it by SAP. 2. Does SAP has generic BOL implementention in Java that access GENIL via RFC-interface (FG CRM_GENIL_