Reuse Library

Hi Experts ,
i am creating a new Reuse Library in slib transaction for maintaining reusable components . In Reuse Product , i want to maintain documentation for the product . It can be done in the following ways.
Knowledge Warehouse
SAPScript
HTML
The problem is i don't know how to upload the documents for KW and Sap Script for the reuse product .
Please Help
Thanks and Regards
Vivek Soni

JNI methods, by specification, have a signature that is related to the package, class and method name.
Thus, for example, you can't have the same JNI method in two different classes.
So, if I read your question correctly, you have the following options.
1. Create a package and class that encapsulates just this functionality. Use the package in different places.
2. Create API layer in C that embodies the functionality you want. For each package/class create a simple JNI interface that calls that api.

Similar Messages

  • Calling reuse library functions from UI Designer

    Hello everybody,
    to implement my requirements the custom reuse library function has to be called from UI with action parameters.
    Unfortunately those parameters can be chosen either as constants or they ought to be BO-bounded.
    On the following screenshot the standard SAP reuse library function is shown, but the behaviour is the same for the custom reuse libraries.
    Since the parameters have to be flexible and since my UI component isn't BO-bounded I can't pass the required parameters.
    I assume this reuse functions functionality is designed in order to not be connected to the BO instances. So I don't understand why the parameters of the reuse function can't be chosen e.g. from the Data Model of the UI component.
    Does anybody know how to call reuse functions without being forced to bind to some BO?
    Best Regads.
    Leonid Granatstein

    Hello Gerhard / Leonid,
    The reuse library requires a data type for its parameters.
    This is not ensured for arbitrary elements of the data model.
    Plus the execution of the reuse library is done in the backend which does not know the data model.
    Therefore this restriction.
    Sorry,
       Horst

  • Unable to reuse library elements

    Hi
    I am trying to reuse a movie clip, which exists in the
    library. The problem is when I try to edit the new instance of the
    movie clip another instance changes. E.G
    The movieclip is called movieclip1 and this is located in the
    library. I drag one instance of the movieclip to one location and
    edit it. I then drag another instance to another location and edit
    that different. When I check back to the fisrt one I edited its now
    the same as the one last edited. Both instances say "instance of
    movieclip1". I cant see why They are mirrors of each other. the way
    I understand it is that an instance is a unique example of an
    object.
    Thanks

    EDIT TO THE PREVIOUS POST
    The object I mentioned previously also has other movie clips
    inside of it. When I create a second new instance of the object and
    try and rename the instance names of the objects inside the second
    movie clip the original instance names also change in the original
    clip. Am I correct in thinking that the same theory that applies to
    actual objects also applies to instance names??
    Thanks

  • ALV report for 5 Grids using Objects and Method

    I have few questions in ALV 5Grids ,could you please correct me in the following program logic...
    Using this program logic i am able to generate the five Grids and able to populate Header details from VBAK into Grid1,If you click in the Grid 1 and it is populating item details in Grid2 from VBAP,parallally populating the customer data in Grid5 from KNA1.
    Now the pending issue is ,
    if you click in the Grid2 then we should populate the shipping details in Grid3 and
    if you click in the Grid3 then we should populate the billing details in Grid4.
    Program Logic;
    REPORT  ZAREPAS20.
    Tables : vbak,vbap,likp,lips,vbrk,vbrp,kna1.
    DATA : OK_CODE              LIKE        SY-UCOMM,
           G_CONTAINER          TYPE SCRFNAME VALUE 'BCALV7_GRID_DEMO_0100_VASU',
           DOCKING              TYPE REF TO CL_GUI_DOCKING_CONTAINER,
           SPLITTER_1           TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
           SPLITTER_2           TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
           splitter_3           TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
           CELL_TOP1            TYPE REF TO CL_GUI_CONTAINER,
           CELL_BOTTOM1         TYPE REF TO CL_GUI_CONTAINER,
           CELL_TOP2            TYPE REF TO CL_GUI_CONTAINER,
           CELL_BOTTOM2         TYPE REF TO CL_GUI_CONTAINER,
           CELL_LEFT            TYPE REF TO CL_GUI_CONTAINER,
           CELL_middle          TYPE REF TO CL_GUI_CONTAINER,
           CELL_RIGHT           TYPE REF TO CL_GUI_CONTAINER,
           GRID1                TYPE REF TO CL_GUI_ALV_GRID,
           GRID2                TYPE REF TO CL_GUI_ALV_GRID,
           GRID3                TYPE REF TO CL_GUI_ALV_GRID,
           GRID4                TYPE REF TO CL_GUI_ALV_GRID,
           GRID5                TYPE REF TO CL_GUI_ALV_GRID.
    DATA : GT_VBAK              TYPE STANDARD TABLE OF VBAK,
           GT_VBAP              TYPE STANDARD TABLE OF VBAP,
           GT_LIKP              TYPE STANDARD TABLE OF likp,
           GT_LIPS              TYPE STANDARD TABLE OF lips,
           GT_VBRK              TYPE STANDARD TABLE OF vbrk,
           GT_VBRP              TYPE STANDARD TABLE OF vbrp,
           GT_KNA1              TYPE STANDARD TABLE OF kna1.
    DATA:begin of itab1 occurs 0,
         vbeln type likp-VBELN,                            
         erzet type likp-ERZET,                             
         lfart type likp-LFART,                             
         posnr type lips-POSNR,
         END OF ITAB1.
    DATA:begin of itab2 occurs 0,
         vbeln like vbrk-vbeln,                            
         posnr like vbrk-fktyp,                            
         fkart like vbrk-fkart,                             
         fklmg like vbrp-fklmg,                             
         end of itab2.
    *selection screen for selecting range of values
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-001.
    select-options: S_vbeln for VBAK-vbeln.     
    selection-screen end of block b1.
          CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
          handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
            IMPORTING
              e_row
              e_column
              es_row_no
              sender.  " sending control, i.e. ALV grid that raised event
    ENDCLASS.                    "lcl_eventhandler DEFINITION
          CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
    METHOD HANDLE_DOUBLE_CLICK.
    *DEFINE LOCAL DATA.
    DATA : itab_vbak type VBAK,
           itab_vbap type VBAP,
           itab_likp type likp,
           itab_lips type lips,
           itab_vbrk type vbrk,
           itab_vbrp type vbrp,
           itab_kna1 type kna1.
    *DISTINGUISH ACCORDING TO SENDING GRID INSTANCE
    CASE SENDER.
    WHEN GRID1.
       READ TABLE gt_VBAK INTO itab_vbak INDEX e_row-index.
           CHECK ( itab_vbak-vbeln IS NOT INITIAL ).
            CALL METHOD GRID1->set_current_cell_via_id
              EXPORTING
                 is_ROW_ID    =
                 is_COLUMN_ID =
                is_row_no    = es_row_no.
            Triggers PAI of the dynpro with the specified ok-code
            CALL METHOD cl_gui_cfw=>set_new_ok_code( 'ORDER_DETAILS' ).
    WHEN GRID2.
            READ TABLE gt_VBAP INTO itab_vbap INDEX e_row-index.
            CHECK ( itab_vbap-vbeln IS NOT INITIAL ).
            CALL METHOD GRID2->set_current_cell_via_id
              EXPORTING
                 is_ROW_ID    =
                 is_COLUMN_ID =
                is_row_no    = es_row_no.
            Triggers PAI of the dynpro with the specified ok-code
            CALL METHOD cl_gui_cfw=>set_new_ok_code( 'ORDER_DETAILS' ).
    WHEN GRID3.
            READ TABLE gt_LIPS INTO itab_LIPS INDEX e_row-index.
            CHECK ( itab_lips-vgbel IS NOT INITIAL ).
            CALL METHOD GRID3->set_current_cell_via_id
              EXPORTING
                 is_ROW_ID    =
                 is_COLUMN_ID =
                is_row_no    = es_row_no.
            Triggers PAI of the dynpro with the specified ok-code
            CALL METHOD cl_gui_cfw=>set_new_ok_code( 'DELIVERY_DETAILS' ).
    WHEN GRID4.
            READ TABLE gt_VBRP INTO itab_VBRP INDEX e_row-index.
            CHECK ( itab_vbrp-vgbel IS NOT INITIAL ).
            CALL METHOD GRID4->set_current_cell_via_id
              EXPORTING
                 is_ROW_ID    =
                 is_COLUMN_ID =
                is_row_no    = es_row_no.
            Triggers PAI of the dynpro with the specified ok-code
            CALL METHOD cl_gui_cfw=>set_new_ok_code( 'BILLING_DETAILS' ).
    WHEN GRID5.
            READ TABLE gt_KNA1 INTO itab_KNA1 INDEX e_row-index.
            CHECK ( itab_kna1-kunnr IS NOT INITIAL ).
          SET PARAMETER ID 'KUN' FIELD itab_KNA1-KUNNR.
           CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
          WHEN OTHERS.
            RETURN.
        ENDCASE.
    endmethod.
    endclass.    "lcl_eventhandler IMPLEMENTATION
    start-of-selection.
    *write :/ 'FEDEX INT''''L' .
    SELECT        * FROM  vbak INTO TABLE gt_VBAK
    where vbeln IN  S_VBELN.
    creating docking container
    create object docking
       exporting
        parent     = cl_gui_container=>screen0
        ratio      = 90
      exceptions
       others      = 6.
      if sy-subrc eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Create splitter container
    CREATE OBJECT splitter_1
        EXPORTING
          parent            = docking
          rows              = 1
          columns           = 3
         NO_AUTODEF_PROGID_DYNNR =
         NAME              =
        EXCEPTIONS
          cntl_error        = 1
          cntl_system_error = 2
          OTHERS            = 3.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Get cell container
      CALL METHOD splitter_1->get_container
        EXPORTING
          row       = 1
          column    = 1
        RECEIVING
          container = cell_left.
      CALL METHOD splitter_1->get_container
        EXPORTING
          row       = 1
          column    = 2
        RECEIVING
          container = cell_middle.
      CALL METHOD splitter_1->get_container
        EXPORTING
          row       = 1
          column    = 3
        RECEIVING
          container = cell_right.
    Create 2nd splitter container
      CREATE OBJECT splitter_2
      EXPORTING
          parent            = cell_left
          rows              = 2
          columns           = 1
         NO_AUTODEF_PROGID_DYNNR =
         NAME              =
        EXCEPTIONS
          cntl_error        = 1
          cntl_system_error = 2
          OTHERS            = 3.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Get cell container
      CALL METHOD splitter_2->get_container
        EXPORTING
          row       = 1
          column    = 1
        RECEIVING
          container = cell_top1.
      CALL METHOD splitter_2->get_container
        EXPORTING
          row       = 2
          column    = 1
        RECEIVING
          container = cell_bottom1.
    Create 3rd splitter container
    CREATE OBJECT splitter_3
        EXPORTING
          parent            = cell_middle
          rows              = 2
          columns           = 1
         NO_AUTODEF_PROGID_DYNNR =
         NAME              =
        EXCEPTIONS
          cntl_error        = 1
          cntl_system_error = 2
          OTHERS            = 3.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Get cell container
      CALL METHOD splitter_3->get_container
        EXPORTING
          row       = 1
          column    = 1
        RECEIVING
          container = cell_top2.
      CALL METHOD splitter_3->get_container
        EXPORTING
          row       = 2
          column    = 1
        RECEIVING
          container = cell_bottom2.
    Create ALV grids
      CREATE OBJECT grid1
        EXPORTING
          i_parent          = cell_top1
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT grid2
        EXPORTING
          i_parent          = cell_bottom1
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT grid3
        EXPORTING
          i_parent          = cell_top2
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT grid4
        EXPORTING
          i_parent          = cell_bottom2
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT grid5
        EXPORTING
          i_parent          = cell_right
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Set event handler
      SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid1.
      SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid2.
      SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid3.
      SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid4.
      SET HANDLER: lcl_eventhandler=>handle_double_click FOR grid5.
    Display data
      CALL METHOD grid1->set_table_for_first_display
        EXPORTING
          i_structure_name = 'VBAK'
        CHANGING
          it_outtab        = gt_VBAK
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    REFRESH: gt_vbap.
      CALL METHOD grid2->set_table_for_first_display
        EXPORTING
          i_structure_name = 'VBAP'
        CHANGING
          it_outtab        = gt_VBAP    " empty !!!
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    REFRESH: gt_LIPS.
      CALL METHOD grid3->set_table_for_first_display
        EXPORTING
          i_structure_name = 'LIPS'
        CHANGING
          it_outtab        = gt_LIPS    " empty !!!
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    REFRESH: gt_VBRP.
      CALL METHOD grid4->set_table_for_first_display
        EXPORTING
          i_structure_name = 'VBRP'
        CHANGING
          it_outtab        = gt_VBRP    " empty !!!
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    REFRESH: gt_KNA1.
      CALL METHOD grid5->set_table_for_first_display
        EXPORTING
          i_structure_name = 'KNA1'
        CHANGING
          it_outtab        = gt_KNA1    " empty !!!
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Link the docking container to the target dynpro
      CALL METHOD docking->link
        EXPORTING
          repid                       = syst-repid
          dynnr                       = '0100'
         CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    NOTE: dynpro does not contain any elements (ok_code -> GD_OKCODE)
      CALL SCREEN '0100'.
    Flow logic of dynpro:
    *PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
    *PROCESS AFTER INPUT.
    MODULE USER_COMMAND_0100.
    end-of-selection.
    *&      Module  STATUS_0100  OUTPUT
          text
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'STATUS_0100'.
    SET TITLEBAR 'xxx'.
    Refresh display of detail ALV list
      CALL METHOD grid2->refresh_table_display
       EXPORTING
         IS_STABLE      =
         I_SOFT_REFRESH =
        EXCEPTIONS
          OTHERS         = 2.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Refresh display of detail ALV list
      CALL METHOD grid3->refresh_table_display
       EXPORTING
         IS_STABLE      =
         I_SOFT_REFRESH =
        EXCEPTIONS
          OTHERS         = 2.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Refresh display of detail ALV list
      CALL METHOD grid4->refresh_table_display
       EXPORTING
         IS_STABLE      =
         I_SOFT_REFRESH =
        EXCEPTIONS
          OTHERS         = 2.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Refresh display of detail ALV list
      CALL METHOD grid5->refresh_table_display
       EXPORTING
         IS_STABLE      =
         I_SOFT_REFRESH =
        EXCEPTIONS
          OTHERS         = 2.
      IF sy-subrc  eq 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE USER_COMMAND_0100 INPUT.
    CASE SY-UCOMM.
    WHEN 'BACK' OR
         'EXIT'  OR
         'CANCEL'.
         SET SCREEN 0.LEAVE SCREEN.
    USER HAS PUSHED BUTTON "DISPLAY OREDERS"
         WHEN 'ORDER_DETAILS'.
          PERFORM ORDER_SHOW_DETAILS.
          when 'DELIVERY_DETAILS'.
            PERFORM DELIVERY_SHOW_DETAILS.
          WHEN 'BILLING_DETAILS'.
             PERFORM BILLING_SHOW_DETAILS.
         WHEN OTHERS.
    ENDCASE.
    CLEAR : OK_CODE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  ORDER_SHOW_DETAILS
          text
    -->  p1        text
    <--  p2        text
    FORM order_show_details .
    define local data
      DATA:
        ld_row      TYPE i,
        itab_VBAK     TYPE VBAK.
      CALL METHOD grid1->get_current_cell
        IMPORTING
          e_row = ld_row.
      READ TABLE gt_VBAK INTO itab_VBAK INDEX ld_row.
      CHECK ( syst-subrc = 0 ).
      SELECT        * FROM  KNA1 INTO TABLE gt_KNA1
             WHERE  KUNNR  = itab_VBAK-KUNNR.
      SELECT        * FROM  VBAP INTO TABLE gt_VBAP
             WHERE  VBELN  = ITAB_VBAK-VBELN.
    *REFRESH: gt_LIPS.
    ENDFORM.                    " ORDER_SHOW_DETAILS
    *&      Form  DELIVERY_SHOW_DETAILS
          text
    -->  p1        text
    <--  p2        text
    FORM DELIVERY_SHOW_DETAILS .
    define local data
      DATA:
        ld_row      TYPE i,
        itab_VBAP     TYPE VBAP.
      CALL METHOD grid1->get_current_cell
        IMPORTING
          e_row = ld_row.
      READ TABLE gt_VBAP INTO itab_VBAP INDEX ld_row.
      CHECK ( syst-subrc = 0 ).
      SELECT LIKPVBELN LIKPERZET LIKPLFART LIPSVBELN
           INTO CORRESPONDING FIELDS OF TABLE ITAB1
           FROM ( LIKP INNER JOIN LIPS ON LIKPVBELN = LIPSVBELN )
           WHERE LIKP~VBELN IN S_VBELN.
    *REFRESH: gt_LIPS.
    ENDFORM.                    " DELIVERY_SHOW_DETAILS
    *&      Form  BILLING_SHOW_DETAILS
          text
    -->  p1        text
    <--  p2        text
    FORM BILLING_SHOW_DETAILS .
    define local data
      DATA:
        ld_row      TYPE i,
        itab_LIPS     TYPE LIPS.
      CALL METHOD grid1->get_current_cell
        IMPORTING
          e_row = ld_row.
      READ TABLE gt_LIPS INTO itab_LIPS INDEX ld_row.
      CHECK ( syst-subrc = 0 ).
      SELECT VBRKVBELN VBRKFKTYP VBRKFKART VBRPFKLMG
           INTO CORRESPONDING FIELDS OF TABLE ITAB2
           FROM ( VBRK INNER JOIN VBRP ON VBRKVBELN = VBRPVBELN )
           WHERE VBRK~VBELN IN S_VBELN.
    ENDFORM.                    " BILLING_SHOW_DETAILS

    Hi,
    ALV means ABAP List Viewer. Most convenient way to use it is through reuse library (cf.
    transaction se83) available from release 4.6 of SAP R/3.
    ALV is available in two modes: list and grid. List mode is good old list processing with
    standard functionnalities, and grid mode is using a new OCX object displaying grids.
    Classical reports needs more coding to set the horizontal and vertical lines.we need to adjust
    the lines manually.Even interactive also takes lot of code.
    ALV reports reduces the code when compared to classical reports.we use function modules to
    generate the output.
    that r REUSE_ALV_LIST_DISPLAY,REUSE_ALV_GRID_DISPLAY,REUSE_ALV_HIERSEQ_LIST_DISPLAY etc..
    the following threads will give some examples of the functions which you are expecting
    Header
    regarding function module
    hide ALV field
    Simply Display selection parameter values in the ALV OUTPUT
    Drag and drop in a report
    https://www.sdn.sap
    Reprots
    http://www.sapgenie.com/abap/reports.htm
    http://www.allsaplinks.com/material.html
    http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
    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.

  • How to determine the solution's ID in absl?

    Hello Community,
    I have a simple question yet I fear there is no simple answer (possibly no answer at all).
    The question is:
    Does any body know ways how to determine the ID (e.g. Y123ABCDY_) of the solution the code is running in?
    My use case is the following:
    We have a solution template which will be deployed in different customer tenant.
    Thus, each deployment will have a different solution ID.
    Now, somewhere in code, we generat PDFs using the OutputManagementUtilities.GetPDF reuse library.
    This method requires the form template code of the pdf to be generated as a parameter.
    However, this PDF form template code is composed of the solution ID and a fixed suffix.
    Thus, currently I need to modify the absl code in each customer installation to manually modify the form template code prefix to the solutions solution ID.
    Therefore I'd like to construct the form template code in absl but for this I need a way to determine the solution's ID.
    Any ideas?
    Best regards,
    Ludger

    Hi Fernando.
    After reading your post I initially thought "what is the ObjectTypeCode" supposed to do any good to determine the solution ID"?
    Using the Object Type code of a custom bo is indeed a way to solve this problem.
    With a little additional code I can extract the relevant solution ID part from there.
    Thanks for the hint, that was really useful.
    Best reegards,
    Ludger

  • How to use ABAP objects in ALV

    Can u give me the steps for doing ALV with ABAP objects

    Hello Mohammed
    Here are a few simplified version of the SAP sample reports that I have posted within SDN.
    This is a variant of my previously posted report ZUS_SDN_ALVGRID_EVENTS. Both dynpros (100 & 200) do not contain any elements. For simplicity I used the same flow logic for both dynpros:
    PROCESS BEFORE OUTPUT.
      MODULE STATUS_0100.
    PROCESS AFTER INPUT.
      MODULE USER_COMMAND_0100.
    <b>&----
    *& Report  ZUS_SDN_ALVGRID_EVENTS_1
    &----</b>
    REPORT  zus_sdn_alvgrid_events_1.
    DATA:
      gd_okcode        TYPE ui_func,
      gt_fcat          TYPE lvc_t_fcat,
      go_docking       TYPE REF TO cl_gui_docking_container,
      go_docking2      TYPE REF TO cl_gui_docking_container,
      go_grid1         TYPE REF TO cl_gui_alv_grid,
      go_grid2         TYPE REF TO cl_gui_alv_grid.
    DATA:
      gt_t001          TYPE STANDARD TABLE OF t001,
      gt_knb1          TYPE STANDARD TABLE OF knb1.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
          handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
            IMPORTING
              e_row
              e_column
              es_row_no
              sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_double_click.
    *   define local data
        DATA:
          ls_t001     TYPE t001,
          ls_col_id   TYPE lvc_s_col.
        CHECK ( sender = go_grid1 ).
        READ TABLE gt_t001 INTO ls_t001 INDEX e_row-index.
        CHECK ( ls_t001-bukrs IS NOT INITIAL ).
        SELECT * FROM knb1 INTO TABLE gt_knb1
          WHERE bukrs = ls_t001-bukrs.
        IF ( syst-subrc NE 0 ).
          MESSAGE 'No customers found' TYPE 'S'.
        ELSE.
    *     Trigger PAI of dynpro '0100' and set new ok-code
          CALL METHOD cl_gui_cfw=>set_new_ok_code( 'CALL_SCREEN_0200' ).
        ENDIF.
      ENDMETHOD.                    "handle_hotspot_click
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    START-OF-SELECTION.
      SELECT * FROM t001 INTO TABLE gt_t001.
      REFRESH: gt_knb1.
    * Create docking container
      CREATE OBJECT go_docking
        EXPORTING
          parent                      = cl_gui_container=>screen0
          ratio                       = 90
        EXCEPTIONS
          OTHERS                      = 6.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT go_docking2
        EXPORTING
          parent                      = cl_gui_container=>screen0
          ratio                       = 90
        EXCEPTIONS
          OTHERS                      = 6.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Create ALV grid
      CREATE OBJECT go_grid1
        EXPORTING
          i_parent          = go_docking
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CREATE OBJECT go_grid2
        EXPORTING
          i_parent          = go_docking2
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Set event handler
      SET HANDLER:
        lcl_eventhandler=>handle_double_click FOR go_grid1.
    * Display data
      CALL METHOD go_grid1->set_table_for_first_display
        EXPORTING
          i_structure_name = 'T001'
        CHANGING
          it_outtab        = gt_t001
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL METHOD go_grid2->set_table_for_first_display
        EXPORTING
          i_structure_name = 'KNB1'
        CHANGING
          it_outtab        = gt_knb1
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Link the docking container to the target dynpro
      CALL METHOD go_docking->link
        EXPORTING
          repid                       = syst-repid
          dynnr                       = '0100'
    *      CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL METHOD go_docking2->link
        EXPORTING
          repid                       = syst-repid
          dynnr                       = '0200'
    *      CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * ok-code field = GD_OKCODE
      CALL SCREEN '0100'.
    END-OF-SELECTION.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS_0100'.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE gd_okcode.
        WHEN 'BACK' OR
             'END'  OR
             'CANC'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN 'CALL_SCREEN_0200'.
          go_grid2->refresh_table_display( ).  " necessary
          CALL SCREEN '0200'.
        WHEN OTHERS.
      ENDCASE.
      CLEAR: gd_okcode.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    The following sample report ZUS_SDN_ALVGRID_EVENTS shows how to call a transaction when event HOTSPOT_CLICK was raised:
    <b>&----
    *& Report  ZUS_SDN_TWO_ALV_GRIDS
    &----</b>
    REPORT  ZUS_SDN_ALVGRID_EVENTS.
    DATA:
      gd_okcode        TYPE ui_func,
      gt_fcat          TYPE lvc_t_fcat,
      go_docking       TYPE REF TO cl_gui_docking_container,
      go_grid1         TYPE REF TO cl_gui_alv_grid.
    DATA:
      gt_knb1          TYPE STANDARD TABLE OF knb1.
    PARAMETERS:
      p_bukrs      TYPE bukrs  DEFAULT '1000'  OBLIGATORY.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
          handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
            IMPORTING
              e_row_id
              e_column_id
              es_row_no
              sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_hotspot_click.
    *   define local data
        DATA:
          ls_knb1     TYPE knb1,
          ls_col_id   type lvc_s_col.
        READ TABLE gt_knb1 INTO ls_knb1 INDEX e_row_id-index.
        CHECK ( ls_knb1-kunnr IS NOT INITIAL ).
        SET PARAMETER ID 'KUN' FIELD ls_knb1-kunnr.
        SET PARAMETER ID 'BUK' FIELD ls_knb1-bukrs.
        CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
    *   Set active cell to field BUKRS otherwise the focus is still on
    *   field KUNNR which will always raise event HOTSPOT_CLICK
        ls_col_id-fieldname = 'BUKRS'.
        CALL METHOD go_grid1->set_current_cell_via_id
          EXPORTING
            IS_ROW_ID    = e_row_id
            IS_COLUMN_ID = ls_col_id.
      ENDMETHOD.                    "handle_hotspot_click
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    START-OF-SELECTION.
      SELECT        * FROM  knb1 INTO TABLE gt_knb1
             WHERE  bukrs  = p_bukrs.
    * Create docking container
      CREATE OBJECT go_docking
        EXPORTING
          parent                      = cl_gui_container=>screen0
          ratio                       = 90
        EXCEPTIONS
          OTHERS                      = 6.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Create ALV grid
      CREATE OBJECT go_grid1
        EXPORTING
          i_parent          = go_docking
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Set event handler
      SET HANDLER:
        lcl_eventhandler=>handle_hotspot_click FOR go_grid1.
    * Build fieldcatalog and set hotspot for field KUNNR
      PERFORM build_fieldcatalog_knb1.
    * Display data
      CALL METHOD go_grid1->set_table_for_first_display
        CHANGING
          it_outtab       = gt_knb1
          it_fieldcatalog = gt_fcat
        EXCEPTIONS
          OTHERS          = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Link the docking container to the target dynpro
      CALL METHOD go_docking->link
        EXPORTING
          repid                       = syst-repid
          dynnr                       = '0100'
    *      CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * ok-code field = GD_OKCODE
      CALL SCREEN '0100'.
    END-OF-SELECTION.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS_0100'.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE gd_okcode.
        WHEN 'BACK' OR
             'END'  OR
             'CANC'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN OTHERS.
      ENDCASE.
      CLEAR: gd_okcode.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  BUILD_FIELDCATALOG_KNB1
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_fieldcatalog_knb1 .
    * define local data
      DATA:
        ls_fcat        TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
    *     I_BUFFER_ACTIVE              =
          i_structure_name             = 'KNB1'
    *     I_CLIENT_NEVER_DISPLAY       = 'X'
    *     I_BYPASSING_BUFFER           =
    *     I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_error                = 2
          OTHERS                       = 3.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE gt_fcat INTO ls_fcat
           WITH KEY fieldname = 'KUNNR'.
      IF ( syst-subrc = 0 ).
        ls_fcat-hotspot = abap_true.
        MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.
      ENDIF.
    ENDFORM.                    " BUILD_FIELDCATALOG_KNB1
    Please note that the direct CALL TRANSACTION does not check the user's authority. To do so you could call the transaction using function module ABAP4_CALL_TRANSACTION.
    Here is a sample program for OO-based ALV grids (CL_GUI_ALV_GRID) that simulates radio buttons by using icons with hotspots.
    <b>PROGRAM ZUS_SDN_BCALV_GRID_DEMO_2.</b>
    * Based on: BCALV_GRID_DEMO.
    TYPE-POOLS: icon.
    TYPES: BEGIN OF ty_s_sflight.
    INCLUDE TYPE sflight.
    TYPES: button1    TYPE lvc_emphsz.
    TYPES: button2    TYPE lvc_emphsz.
    TYPES: button3    TYPE lvc_emphsz.
    TYPES: button4    TYPE lvc_emphsz.
    TYPES: END OF ty_s_sflight.
    DATA:
      gt_sflight    TYPE STANDARD TABLE OF ty_s_sflight,
      gt_fcat       TYPE lvc_t_fcat.
    DATA: ok_code LIKE sy-ucomm,
    *      gt_sflight TYPE TABLE OF sflight,
          g_container TYPE scrfname VALUE 'BCALV_GRID_DEMO_0100_CONT1',
          grid1  TYPE REF TO cl_gui_alv_grid,
          g_custom_container TYPE REF TO cl_gui_custom_container.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-DATA:
          md_cnt    TYPE i.
        CLASS-METHODS:
          handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
            IMPORTING
              e_row_id
              e_column_id
              es_row_no
              sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_hotspot_click.
    * define local data
        FIELD-SYMBOLS:
          <ls_entry>    TYPE ty_s_sflight,
          <ld_fld>      TYPE ANY.
        READ TABLE gt_sflight ASSIGNING <ls_entry> INDEX es_row_no-row_id.
        CHECK ( <ls_entry> IS ASSIGNED ).
    *   Set all radio buttons "unselected"
        <ls_entry>-button1 =  icon_wd_radio_button_empty.
        <ls_entry>-button2 =  icon_wd_radio_button_empty.
        <ls_entry>-button3 =  icon_wd_radio_button_empty.
        <ls_entry>-button4 =  icon_wd_radio_button_empty.
        ASSIGN COMPONENT e_column_id-fieldname OF STRUCTURE <ls_entry>
                                                  TO <ld_fld>.
        IF ( <ld_fld> IS ASSIGNED ).
    *     Set selected radio button "selected".
          <ld_fld> = icon_wd_radio_button.
        ENDIF.
    *   Force PAI followed by refresh of table display in PBO
        CALL METHOD cl_gui_cfw=>set_new_ok_code
          EXPORTING
            new_code = 'DUMMY'
    *      IMPORTING
    *        RC       =
      ENDMETHOD.                    "handle_hotspot_click
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    START-OF-SELECTION.
    *       MAIN                                                          *
      PERFORM select_data.
      CALL SCREEN 100.
    *       MODULE PBO OUTPUT                                             *
    MODULE pbo OUTPUT.
      SET PF-STATUS 'MAIN100'.
      IF g_custom_container IS INITIAL.
        CREATE OBJECT g_custom_container
               EXPORTING container_name = g_container.
        CREATE OBJECT grid1
               EXPORTING i_parent = g_custom_container.
        PERFORM build_fieldcatalog.
        CALL METHOD grid1->set_table_for_first_display
    *      EXPORTING
    *        i_structure_name = 'SFLIGHT'
          CHANGING
            it_fieldcatalog  = gt_fcat
            it_outtab        = gt_sflight.
    *   Set event handler for event TOOLBAR
        SET HANDLER:
          lcl_eventhandler=>handle_hotspot_click FOR grid1.
      else.
        CALL METHOD grid1->refresh_table_display
    *      EXPORTING
    *        IS_STABLE      =
    *        I_SOFT_REFRESH =
          EXCEPTIONS
            FINISHED       = 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.
      ENDIF.
    ENDMODULE.                    "PBO OUTPUT
    *       MODULE PAI INPUT                                              *
    MODULE pai INPUT.
    *   to react on oi_custom_events:
      CALL METHOD cl_gui_cfw=>dispatch.
      CASE ok_code.
        WHEN 'EXIT'.
          PERFORM exit_program.
        WHEN OTHERS.
    *     do nothing
      ENDCASE.
      CLEAR ok_code.
    ENDMODULE.                    "PAI INPUT
    *       FORM EXIT_PROGRAM                                             *
    FORM exit_program.
    *  CALL METHOD G_CUSTOM_CONTAINER->FREE.
    *  CALL METHOD CL_GUI_CFW=>FLUSH.
      LEAVE PROGRAM.
    ENDFORM.                    "EXIT_PROGRAM
    *&      Form  BUILD_FIELDCATALOG
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_fieldcatalog .
    * define local data
      DATA:
        ls_fcat        TYPE lvc_s_fcat,
        ls_hype        TYPE lvc_s_hype.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
    *     I_BUFFER_ACTIVE              =
          i_structure_name             = 'LVC_S_FCAT'
    *     I_CLIENT_NEVER_DISPLAY       = 'X'
    *     I_BYPASSING_BUFFER           =
    *     I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_error                = 2
          OTHERS                       = 3.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      DELETE gt_fcat WHERE ( fieldname <> 'EMPHASIZE' ).
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
    *     I_BUFFER_ACTIVE              =
          i_structure_name             = 'SFLIGHT'
    *     I_CLIENT_NEVER_DISPLAY       = 'X'
    *     I_BYPASSING_BUFFER           =
    *     I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_error                = 2
          OTHERS                       = 3.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE gt_fcat INTO ls_fcat
           WITH KEY fieldname = 'EMPHASIZE'.
      IF ( syst-subrc = 0 ).
        DELETE gt_fcat INDEX syst-tabix.
      ENDIF.
      ls_fcat-fieldname = 'BUTTON4'.
      ls_fcat-icon    = 'X'.
      ls_fcat-hotspot = 'X'.
      INSERT ls_fcat INTO gt_fcat INDEX 4.
      ls_fcat-fieldname = 'BUTTON3'.
      INSERT ls_fcat INTO gt_fcat INDEX 4.
      ls_fcat-fieldname = 'BUTTON2'.
      INSERT ls_fcat INTO gt_fcat INDEX 4.
      ls_fcat-fieldname = 'BUTTON1'.
      INSERT ls_fcat INTO gt_fcat INDEX 4.
      LOOP AT gt_fcat INTO ls_fcat.
        ls_fcat-col_pos = syst-tabix.
        MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.
      ENDLOOP.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  SELECT_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM select_data .
    * define local data
      DATA:
        ls_sflight    TYPE ty_s_sflight.
      SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight.
      ls_sflight-button1 = icon_wd_radio_button.
      ls_sflight-button2 = icon_wd_radio_button_empty.
      ls_sflight-button3 = icon_wd_radio_button_empty.
      ls_sflight-button4 = icon_wd_radio_button_empty.
      MODIFY gt_sflight FROM ls_sflight
          TRANSPORTING button1 button2 button3 button4
        WHERE ( carrid IS NOT INITIAL ).
    ENDFORM.                    " SELECT_DATA
    The various aspects of ALV list programming are collected within the reuse library (transaction <b>SE83</b>).
    And do not miss to look at <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907">Easy Reference to ALV Grid Control</a>
    Regards
    Uwe

  • Tree-control for data input?

    Hi,
    I need to program an input screen for values that have hierarchical dependencies (e.g. sums). I feel, the most adequate user-interface would be a tree control, because of the data dependencies and also because the users asked for a possibility to collapse/expand parts of the data during input.
    I had a look at CL_GUI_COLUMN_TREE, but I'm not sure, if it can be used for data input. Has anyone done something like this before or can anybody direct me to some additional sample coding? (the sample coding in the reuse library didn't do it...)
    Thanks for your help, greetings, Kathrin!

    Hello Kathrin,
    Since you say that the user's input is hierarchical in nature, it is nice to have a tree-control for input. But, the choice of using a custom-control-version of the tree is a cause for some concern. I cannot recollect any of the SAP screens where the input can be given through such a tree framework (please do let me know if you have come across one). The problem with such a tree would be in the areas of even-handling. Filling the tree with appropriate data at the right times would be another challenge.
    However, there's one alternative that I would like to direct your attention to. You must have observed another kind of tree, when you select an application component from the APPLICATION HIERARCHY, which is just like a list. Also, the <i>Transport Organizer (SE09)</i>, <i>Menu Painter (SE41)</i> etc., have this kind of a tree. You can use this if you (or rather your users) are very particular on having a tree display. For more information, you can see the Function Group <b>SEUT</b>, which has the required function modules to accomplish the same. The Function Group is well documented, and you might have to work a little on the function modules themselves.
    Please do let me know if this is a suitable option to meet your requirement. All the best,
    Regards,
    Anand Mandalika.

  • Call VI in EXE but have it execute in Developmen​t Environmen​t not Run Time Engine

    I am working on building a palette editor for distribution of a reusable code library for my company (I know the VIPM does this very well already).  I have the code complete and am trying to create an executable that I can distribute that will call the code I wrote to update/create the palette .mnu files for the reuse library, which lives on the company network.  I am using the Palette Editing VI's and it seems as though they cannot be built into an executable.  So I wrote some code to dynamically call my palette modification code (I call it the Reuse Library Manager).  When my executable calls the Reuse Library Manager dynamically I get a broken run arrow on the Reuse Library Manager front panel and the following reasons for the broken arrow:
    It seems to me that the reason the Reuse Library Manager works when called in the development environment and not when called dynamically is because the dynamic call uses the run time engine for execution.  This made me think of how in the VIPM it opens LabVIEW while it installs packages.  If anyone knows, does the VIPM open LabVIEW in order to run the Palette Editing VI's or is it for another reason?  If it is this reason how can I force the dynamically called VI's to run in the development environment by opening LabVIEW programmatically from an executable that is running in the run time engine?
    Let me know where clarification is needed.
    Message Edited by jmcbee on 04-28-2009 10:00 AM
    CLA, CLED, CTD,CPI, LabVIEW Champion
    Platinum Alliance Partner
    Senior Engineer
    Using LV 2013, 2012
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
    Attachments:
    Reuse.PNG ‏14 KB

    Hi jmcbee,
          In spite of years of using LV and building a resuable library of code, I've done very little with customizing the standard paletts, however,
    Many times when deploying a new distributable I've seen a dialog like what you posted.  In most cases the problem was solved by rebuilding distributable to include the missing VIs.  In one case I added the VI-lib to the target-platform and made-sure VI-lib was in distributable's VI search-path.
    There are two ways I know of to build distributables which include the VI-lib code,
    1) Include all VI-lib VIs when building the distributable
     - In LV 8x, uncheck "Exclude Files from VI lib" project-property.
     - In LV 7.1 it's possible but I don't remember how! (probably a post on it around here.)
     - This can add an enormous number of un-needed VIs (see this post.) 
    2) Re-write the VIs so that they are no-longer identified with VI-lib and get included "naturally".
     - Open each VI diagram, select-all, paste in new/untitled diagram.  In your case naming will be tricky, but it's doable.
     - This is a great advantage in 8x as it allows LLBs to be built with File\Save As\Create Hierarchy.
    In addition, here's a tool to call following "Open VI Reference" (if it returns an error.)  This VI open all broken children making it much easier to identify specific missing parts (typically VI-lib.)
    Luck/
    Cheers!
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
    Attachments:
    Util.VI.OpenBroken.vi ‏57 KB

  • Password protected file reading....

    Hi All,
    I want to read password protected excel file and convert into internal table data....
    Somebody (SDN forums) suggested me to use OLE .
    I've gone thru some examples. But all exmples were about to create password while downloading to excel..like
    'EXCEL_OLE_STANDARD_DAT'
    Does anybody have an idea to read password protected excel file and convert dat into internal table using OLE??
    Sudha
    Message was edited by:
            sapsudha rao
    Message was edited by:
            sapsudha rao

    Look at OLE class/methods and demo programs using OLE technology. Look at transaction ABAPDOCU and the Reuse Library (SE84, as far as I remember). It should be fairly simple.
    Don't forget to reward points.
    Sougata.

  • Making a preloader in AS 3.0

    I'm trying to make a preloader in Actionscript 3.0 that shows
    a increasing status bar as the main swf is loaded. Unfortunately,
    when I try and do so, the swf loads all of the fla's sound files
    that are linked to external .as class files BEFORE my preloader. If
    I uncheck "Export in first frame" in the sound's linkage options, I
    get hit with 'Invalid Sound' errors every time I try and
    dynamically load the sound.
    How am I supposed to get this working correctly? All sounds
    must come from within the FLA. I cannot load external sounds or
    external swfs with sounds in them. In actionscript 2.0, I had to
    use a little cheat which involved putting all sounds inside of a
    movieclip and placing it on frame 2. This doesn't seem to work in
    AS 3.0.

    I've stopped using document classes. A document class has to
    load on the first frame, and anything it references will also load
    on the first frame, and anything they reference will load on the
    first frame, even if you set your linked library items and classes
    to load on a different frame. For me, that makes document classes
    useless. I have built pre-loaders that are separate .swf that load
    and monitor the main .swf. A good reason to build a pre-loader
    within the main .swf is reusing library art. Using another .swf
    just for preloading is not always the best solution. I hope Adobe
    and users don't forget that Flash is a multimedia application, and
    maintaining file size/download times is very important. I'm hoping
    in Flash 10 a document class can be set to load on a different
    frame, until then I only use them during testing and alpha
    builds.

  • List of Tcodes in SAP

    Hi Gurus,
    Send me a list of Tcodes in SAP.
    Thanks in Advance,
    Sakthi

    Plant Maintenance (PM)
    Stephan Nilsson was kind enough to share some PM transactions. Stephan Nilsson was kind enough to share some PM transactions.
    IW31     Create Plant Maintenance Order
    IW32     Change Plant Maintenance Order
    IW33     Display Plant Maintenance Order
    IW34     Create Notification Order
    IW51     Create Service Notification
    IW52     Change Service Notification
    IW53     Display Service Notification
    IW54     Create Service Notification :Problem notification
    IW55     Create Service Notification :Activity Request
    IW56     Create Service Notification :Service Request
    IW57     Assign deletion Flag to Completed Service Notifications
    IW58     Change Service Notifications: Selection of Notification
    IW59     Display Service Notifications: Selection of Notification
    Production Planning
    Tymon Kerste has provided me with these PP tcodes. Tymon Kerste has provided me with these PP tcodes.
    C001     Create Production Order
    C005N     Collective Release
    C011N     Time Ticket
    C012     Confirmation - Collective
    C013     Confirmation - Cancel
    C00IS     Production order information system
    C0GI     Reprocess Goods Movements
    C223     Maintain production version
    General Notes
    You can execute the following commands in the transaction code (tcode) field with Enter. You will find some useful transaction codes below to work in tandem with the following commands:
    To call a transaction - In the same session (window) Enter: /nxxxx (xxxx = transaction code). - In an additional session, Enter: /oxxxx (xxxx = transaction code).
    If you enter this function before any of the tcodes below, you are able to break out of your current screen/business and begin a completely new session. Otherwise, the current business process has to be terminated, and return to the initial user screen (the main menu) has to be initiated before entering tcode spro). /o tcode saves you the effort of having to do this.
    To end the current transaction Enter: /n. Caution: Unsaved changes are lost without warning
    To delete the current session. Enter: /i.
    To generate a session list Enter: /o.
    To log off from the system Enter: /nend.
    From John O'Meara
    OSS Note 0026171 has additional information on OKCodes in SAP, and is a very useful read
    BASIS/ABAP
    USMM     Pressing F8 will display all hotpacks applied.
    SEARCH_SAP_MENU     Show the menu path to use to execute a given tcode. You can search by transaction code or menu text.
    DI02     ABAP/4 Repository Information System: Tables.
    LSMW     Legacy System Migration Workbench. An addon available from SAP that can make data converstion a lot easier. Thanks to Serge Desland for this one.
    OSS1     SAP Online Service System
    OY19     Compare Tables
    SM13     Update monitor. Will show update tasks status. Very useful to determine why an update failed.
    S001     ABAP Development Workbench
    S001     ABAP/4 Development Weorkbench. (from [email protected])
    S002     System Administration. (from [email protected])
    SA38     Execute a program. (from [email protected])
    SCAT     Computer Aided Test Tool
    SCU0     Compare Tables
    SE01     Old Transport & Corrections screen
    SE03     Groups together most of the tools that you need for doing transports. In total, more than 20 tools can be reached from this one transaction.
    SE09     Workbench Organizer
    SE10     New Transport & Correction screen
    SE11     ABAP/4 Dictionary Maintenance SE12 ABAP/4 Dictionary Display SE13 Maintain Technical Settings (Tables)
    SE12     Dictionary: Initial Screen - enter object name. (from [email protected])
    SE13     Access tables in ABAP/4 Dictionary. (from [email protected])
    SE14     Utilities for Dictionary Tables
    SE15     ABAP/4 Repository Information System
    SE16     Data Browser: Initial Screen. (from [email protected])
    SE16N     Table Browser (the N stands for New, it replaces SE16). Provided by Smijo Mathew.
    SE17     General Table Display
    SE24     Class Builder
    SE30     ABAP/4 Runtime Analysis
    SE32     ABAP/4 Text Element Maintenance
    SE35     ABAP/4 Dialog Modules
    SE36     ABAP/4: Logical Databases
    SE37     ABAP/4 Function Modules
    SE38     ABAP Editor
    SE39     Splitscreen Editor: Program Compare
    SE41     Menu Painter
    SE43     Maintain Area Menu
    SE48     Show program call hierarchy. Very useful to see the overall structure of a program. Thanks to Isabelle Arickx for this tcode.
    SE49     Table manipulation. Show what tables are behind a transaction code. Thanks to Isabelle Arickx for this tcode.
    SE51     Screen Painter: Initial Screen. (from [email protected])
    SE54     Generate View Maintenance Module
    SE61     R/3 Documentation
    SE62     Industry utilities
    SE63     Translation
    SE64     Terminology
    SE65     R/3 document. short text statistics SE66 R/3 Documentation Statistics (Test!)
    SE68     Translation Administration
    SE71     SAPscript layout set
    SE71     SAPScript Layouts Create/Change
    SE72     SAPscript styles
    SE73     SAPscript font maintenance (revised)
    SE74     SAPscript format conversion
    SE75     SAPscript Settings
    SE76     SAPscript Translation Layout Sets
    SE77     SAPscript Translation Styles
    SE80     ABAP/4 Development Workbench
    SE81     SAP Application Hierarchy
    SE82     Customer Application Hierarchy
    SE83     Reuse Library. Provided by Smiho Mathew.
    SE84     ABAP/4 Repository Information System
    SE85     ABAP/4 Dictionary Information System
    SE86     ABAP/4 Repository Information System
    SE87     Data Modeler Information System
    SE88     Development Coordination Info System
    SE91     Maintain Messages
    SE92     Maintain system log messages
    SE93     Maintain Transaction. (from [email protected])
    SEARCH_SAP_MENU     From the SAP Easy Access screen, type it in the command field and you will be able to search the standard SAP menu for transaction codes / keywords. It will return the nodes to follow for you.
    SEU     Object Browser
    SHD0     Transaction variant maintenance
    SM04     Overview of Users (cancel/delete sessions)
    SM12     Lock table entries (unlock locked tables)
    SM21     View the system log, very useful when you get a short dump. Provides much more info than short dump
    SM30     Maintain Table Views. (from [email protected])
    SM31     Table Maintenance
    SM32     Table maintenance
    SM35     View Batch Input Sessions
    SM37     View background jobs
    SM50     Process Overview. (from [email protected])
    SM51     Delete jobs from system (BDC)
    SM62     Display/Maintain events in SAP, also use function BP_EVENT_RAISE
    SMEN     Display the menu path to get to a transaction
    SMOD/CMOD     Transactions for processing/editing/activating new customer enhancements.
    SNRO     Object browser for number range maintenance. (from [email protected])
    SPRO     Start SAP IMG (Implementation Guide). (from [email protected])
    SQ00     ABAP/4 Query: Start Queries
    SQ01     ABAP/4 Query: Maintain Queries
    SQ02     ABAP/4 Query: Maintain Funct. Areas
    SQ03     ABAP/4 Query: Maintain User Groups
    SQ07     ABAP/4 Query: Language Comparison
    ST05     Trace SQL Database Requests. (from [email protected])
    ST22     ABAP Dump analysis
    SU53     Display Authorization Values for User. (from [email protected])
    WEDI     EDI Menu. IDOC and EDI base.
    WE02     Display an IDOC
    WE07     IDOC Statistics
    Human Resources
    PA03     Change Payroll control record
    PA20     Display PA Infotypes
    PA30     Create/Change PA Infotypes
    PP02     Quick Entry for PD object creation
    PU00     Delete PA infotypes for an employee. Will not be able to delete an infotype if there is cluster data assigned to the employee.
    Sales and Distribution (SD)
    OLSD     Config for SD. Use Tools-Data Transfer-Conditions to setup SAP supplied BDC to load pricing data
    VA01     Create Sales/Returns Order:Initial Screen
    VB21     Transaction for Volume Lease Purchases (done as a sales deal)
    VK15     Transaction used to enter multiple sales conditions (most will be entered here)
    SAP Office
    SO00     send a note through SAP, can be sent to internet, X400, etc
    FI Financial Management
    FGRP     Report Writer screen
    FM12     View blocked documents by user
    FST2     Insert language specific name for G/L account. (from [email protected])
    FST3     Display G/L account name. (from [email protected])
    KEA0     Maintain operating concern. (from [email protected])
    KEKE     Activate CO-PA. (from [email protected])
    KEKK     Assign operating concern. (from [email protected])
    KL04     Delete activity type. (from [email protected])
    KS04     Delete a cost centre. (from [email protected])
    KSH2     Change cost centre group - delete. (from [email protected])
    OBR2     Deletion program for customers, vendors, G/L accounts. (from [email protected])
    OKC5     Cost element/cost element group deletion. (from [email protected])
    OKE1     Delete transaction data. (from [email protected])
    OKE2     Delete a profit centre. (from [email protected])
    OKI1     Determine Activity Number: Activity Types (Assignment of material number/service to activity type) (from [email protected])
    OMZ1     Definition of partner roles. (from [email protected])
    OMZ2     Language dependent key reassignment for partner roles. (from [email protected])
    Material Management (MM)
    MM06     Flag material for deletion. (from [email protected])
    OLMS-     materials management configuration menu, most of the stuff under this menu is not under the implementation guide
    MM configuration transactions
    OLMB-     Inventory management/Physical Inventory
    OLMD-     MM Consumption-Based Planning
    OLME-     MM Purchasing
    OLML-     Warehouse Management
    OLMR-     Invoice Verification
    OLMS     Material Master data
    OLMW-     MM Valuation/Account Assignment
    Config Related
    OLE     OLE demo transaction
    OLI0     C Plant Maintenance Master Data
    OLI1     Set Up INVCO for Material Movements
    OLI8     Set Up SIS for Deliveries
    OLIA     C Maintenance Processing
    OLIP     C Plant Maintenance Planning
    OLIQ     New set-up of QM info system
    OLIX     Set Up Copying/Deleting of Versions
    OLIY     Set Up Deletion of SIS/Inter.Storage
    OLIZ     Stat Set Up INVCO: Invoice Verif
    OLM2     Customizing: Volume-Based Rebates
    OLMB     C RM-MAT Inventory Management Menu
    OLMD     C RM-MAT MRP Menu
    OLME     C MM Menu: Purchasing
    OLML     C MM Menu for Warehouse Management
    OLMR     C RM-MAT Menu: Invoice Verification
    OLMS     C RM-MAT Master Data Menu
    OLMW     C RM-MAT Valuation/Acct. Assgt. Menu
    OLPA     SOP Configuration
    OLPE     Sales order value
    OLPK     Customizing for capacity planning
    OLPR     Project System Options
    OLPS     Customizing Basic Data
    OLPV     Customizing: Std. Value Calculation
    OLQB     C QM QM in Procurement
    OLQI     Analysis
    OLQM     Customizing QM Quality Notifications
    OLQS     C QM Menu Basic Data
    OLQW     C QM Inspection Management
    OLQZ     Quality Certificates
    OLS1     Customizing for Rebates
    OLSD     Customizing: SD
    OLVA     C SD Sales Menu
    OLVD     C SD Shipping Menu
    OLVF     C SD Billing Menu
    OLVS     C SD Menu for Master Data
    SPRO     Start SAP IMG (Implementation Guide). (from [email protected])
    reward points if useful.
    thanks,
    usha

  • Show URL in browser without toolbar and others

    Hello,
    I am new in calling URL. In a CRM transaction we have an action that must show a variable URL (loads clients data). I am using a modified version of the Reuse Library RSDEMO_HTML_VIEWER. It uses classes cl_gui_html_viewer and cl_gui_custom_container.
    The client wants to load the data of the URL but does not want the toolbar, the menubar nor the location. Is it possible to do this?
    On the other hand, as soon as I leave my program, the browser disappears. Is it possible to maintain the browser open even I leave the program?.
    Thank you and best regards,
    Paola

    Hello Rich,
                     I have a custom transaction that calls the Browser wildow(that is calling a webpage).             
    I am trying to display the browser progress status in the cl_gui_html_viewer by adding a  status bar to the cl_gui_custom_container .
    Similar to howAP has the FM "SAPGUI_PROGRESS_INDICATOR" to show the SAP GUI status.
    Is there anyway we can able to capture the browser status and disply the status??
    If you come across this situation ,share your knowledge.
    Your suggestions will be helpfull.
    Please let me know if you have any questions.
    Thanks,
    Greetson
    Edited by: Greetson Shunmugasundaram on Mar 21, 2011 4:01 PM

  • Techical T Codes?

    Hi
    Give me the T code for the following. Need to extract the below information from the system which is related to MM.
    "Z" Reports
    Includes     
    Module pools     
    BDCs     
    Exits     Function exits
         Table exits
         SD User exits
         Menu exits
         Scren exits
         Field exits
    WorkFlows     Standard Rules
                         Standard tasks
                         Workflow templates
    SapScripts     Layout sets
                         Styles
    Classes     
    ALEs     ALE message types
         IDOC Types
         IDOC extensions
    Functions     Function group
         Function Module
    Data Dictionary     Domains
                         Data Elements
                         Transparent Tables
                         Structures (Plain)
                         Structures (Append)
                         Pool tables
                         Secondary Index
                         Match code objects
                         Type groups
    BADIs     Implementations
         Definitions
    Vijay
    Edited by: Vijay on Apr 6, 2009 3:14 PM

    Hi,
    If You want find Z reports go to SE38 and give Z* and F4,it will list all Z reports.
    Please find the list of tcodes
    SE01 Old Transport & Corrections screen
    SE03 Groups together most of the tools that you need for doing transports. In total, more than 20 tools can be reached from this one transaction.
    SE09 Workbench Organizer
    SE10 New Transport & Correction screen
    SE11 ABAP/4 Dictionary Maintenance SE12 ABAP/4 Dictionary Display SE13 Maintain Technical Settings (Tables)
    SE12 Dictionary: Initial Screen - enter object name.
    SE13 Access tables in ABAP/4 Dictionary.
    SE14 Utilities for Dictionary Tables
    SE15 ABAP/4 Repository Information System
    SE16 Data Browser: Initial Screen.
    SE16N Table Browser (the N stands for New, it replaces SE16).
    SE17 General Table Display
    SE24 Class Builder
    SE30 ABAP/4 Runtime Analysis
    SE32 ABAP/4 Text Element Maintenance
    SE35 ABAP/4 Dialog Modules
    SE36 ABAP/4: Logical Databases
    SE37 ABAP/4 Function Modules
    SE38 ABAP Editor
    SE39 Splitscreen Editor: Program Compare
    SE41 Menu Painter
    SE43 Maintain Area Menu
    SE48 Show program call hierarchy. Very useful to see the overall structure of a program. 
    SE49 Table manipulation. Show what tables are behind a transaction code. 
    SE51 Screen Painter: Initial Screen.
    SE54 Generate View Maintenance Module
    SE61 R/3 Documentation
    SE62 Industry utilities
    SE63 Translation
    SE64 Terminology
    SE65 R/3 document. short text statistics SE66 R/3 Documentation Statistics (Test!)
    SE68 Translation Administration
    SE71 SAPscript layout set
    SE71 SAPScript Layouts Create/Change
    SE72 SAPscript styles
    SE73 SAPscript font maintenance (revised)
    SE74 SAPscript format conversion
    SE75 SAPscript Settings
    SE76 SAPscript Translation Layout Sets
    SE77 SAPscript Translation Styles
    SE80 ABAP/4 Development Workbench
    SE81 SAP Application Hierarchy
    SE82 Customer Application Hierarchy
    SE83 Reuse Library.
    SE84 ABAP/4 Repository Information System
    SE85 ABAP/4 Dictionary Information System
    SE86 ABAP/4 Repository Information System
    SE87 Data Modeler Information System
    SE88 Development Coordination Info System
    SE91 Maintain Messages
    SE92 Maintain system log messages
    SE93 Maintain Transaction.
    SEARCH_SAP_MENU From the SAP Easy Access screen, type it in the command field and you will be able to search the standard SAP menu for transaction codes / keywords. It will return the nodes to follow for you.
    SM30 Maintain Table Views.
    SM31 Table Maintenance
    SM32 Table maintenance
    SM35 View Batch Input Sessions
    SM37 View background jobs
    SM50 Process Overview. 
    SM51 Delete jobs from system (BDC)
    SM62 Display/Maintain events in SAP, also use function BP_EVENT_RAISE
    SMEN Display the menu path to get to a transaction
    SMOD/CMOD Transactions for processing/editing/activating new customer enhancements.
    SNRO Object browser for number range maintenance.
    SPRO Start SAP IMG (Implementation Guide).
    SQ00 ABAP/4 Query: Start Queries
    SQ01 ABAP/4 Query: Maintain Queries
    SQ02 ABAP/4 Query: Maintain Funct. Areas
    SQ03 ABAP/4 Query: Maintain User Groups
    SQ07 ABAP/4 Query: Language Comparison
    ST05 Trace SQL Database Requests.
    ST22 ABAP Dump analysis
    SU53 Display Authorization Values for User.

  • UUID of current user in UI

    Hi,
    does anybody know how to get the UUID of the current user in the UI? We'd like to implement a DefaulSet that filters the selection of the OWL to show only instances that "belong" to the current user (something like "My Orders").
    - Daniel

    Hi Guys,
    I have found quite an elegant way to achieve this, so thought I would share..
    Studio
    1) Create a Reuse library in your solution
    2) Create a Function "GetCurrentUser" and enable for UI Designer, return one of the standard text types (I have used LANGUAGEINDEPENDENT_ENTENDED_Text in this example but could be shorter)
    3) Code ABSL function to return the required ID. (In this case I needed to find and return the Business Partner Internal ID of the current user)
    UI Designer
    4) Add Dedicated Field, of type matching the return value of your ABSL function. - I found Text was safest, others gave me runtime errors.
    Rename
    From properties window, create a new Field transformation
    Pick your reuse function from your solution. (Only functions with matching return data types will be listed for selection)
    5) Create a new Data Structure 'ContextParameters', and nest a new Data Field 'CurrentUserID' (this structure is required to bind to the query parameter on the UI
    6) Bind query parameter to the Data Field created in 5.
    7) On the Event Handler to Execute Default Set(s), insert a Data Operation to assign the CurrentuserID from the DedicatedField across to your datastructure/datafield bound to the query ( this seems to be necessary on every call of a query)
    All being well, your query should execute with the filter of the current user, allowing "My <object>" DefaultSets
    Regards
    Jon

  • Use data input form in workflow

    Greetings,
    I need to input some fixed asset information from FI-AA master data in a data input form and route through a workflow process before finally update the asset master data. Does anyone does something similar before? Is it technically possible? Is there any guide available here.
    Thanks
    Steve

    Hi,
    you can put several table controls / alv grids on one dynpro.
    find example in :
    SE38 - environment - reuse library
    Andreas

Maybe you are looking for

  • Removing a DVI to VGA adapter

    Please, how do I remove the DVI to VGA adapter from my Mac Mini?

  • Help! I need someone smart!

    My iPod has been completely cleared of all its music. I plugged it in and all of the songs erased. I will plug it in but a message comes up saying 'iTunes cannot update this iPod because it does not recognize the folder 'COMPAQ_OWNE' . How do I fix t

  • Task form deployment error

    when i try to deploy even with a simple payload task the apache ant shows that [deployTaskForm] BindWebApp error: javax.management.ReflectionException [deployTaskForm] BUILD FAILED F:\BpelApp\attachMail\build.xml:100: Error while deploying the form o

  • Purchased songe on 2 mac's

    im looking to get a mac notebook and im wondering if the downloaded movies and tv shows i have can be copied to the laptop to take on the road. i currenly have them stored on an external HD right now. The other laptop may be windows (work related) an

  • Porting WLPI 1.2.1 (from platform 6.0) to platform 8.1)

    I have some workflows that were created on WLPI 1.2.1 when we were working with WebLogic Platform 6.0sp1. Now, the task is to move to Platform 8.1sp2. My question is: what does WLPI in 6.x map to in 8.1? Is it the Business Process part of WebLogic In