T3i standard vs.micro SD?

I just purchased a T3i and am planning on purchasing several SD cards for storage (video and stills).  Is there any advantage to using a standard SD card over a micro SD in an adapter?  I'd like to buy the best performance for the price and micro SDs are occasionally less expensive (Class 10 cards).

MicroSD is normally slower. Not all Class 10 card are the same if you're looking for performance. Check Amazon, they have great Sandisk 32Gb SD card for just $25.
Weekend Travelers Blog | Eastern Sierra Fall Color Guide

Similar Messages

  • Replacing the standard Zen Micro HD with a Toshiba PMR 40G

    <FONT face=Century>Toshiba just announced they are shipping their new PMR (Perpendicular Magnetic Recording) Micro Harddri'ves.. This is something I would love to upgrade too. I've already maxed out my 5GB dri've and I want more music.. I wonder when Creative will start shipping out special Zen Micros with these new dri'ves.. Toshiba makes both a 40GB and a 80GB PMR dri've.
    <FONT face=Century>
    http://www.sdd.toshiba.com/
    -Psybermuzak

    It's a .8" dri've so won't fit in the Zen Micro. It will fit in the likes of the Sleek and the Touch though.

  • A trouble free way of giving Administrators access to redirected folders on Windows Server 2008 R2 Standard?

    A few months ago I set up some redirected folders on a clients Windows Small Busines Server 2008. I recall that setting up the redirected folders was straightforward, but when I edited the permissions to allow administrative access to these server located
    folders, all hell broke lose. The permissions change seemed to trash the folders. I think I managed to 'bodge' it for a couple of users and got it working, but it was such a headache I didn't bother doing it for the other users.
    Now, I sit in front of a brand-spanking-new Windows Server 2008 R2 Standard box which is going to be installed with a new client within 48 hours. I would like to set up redirected folders and would like to grant admin rights on these folders so I can view
    their contents directly from the server.
    It seems to me that there is no offical Microsoft documentation which relates specifically to doing this on Windows Server 2008. Given the amount of problems this has caused for many admins, I am astounded.
    Somewhere there are articles which describe how to do it on 2003, but this procedure does not work well in 2008.
    There is an SBS article that admits permissions can be trashed, but this is no help on Standard edition:
    http://blogs.technet.com/b/sbs/archive/2010/10/08/folder-redirection-in-small-business-server-2008.aspx
    I have just posted a note on this rather long article:
    http://social.technet.microsoft.com/Forums/en-GB/smallbusinessserver/thread/70fa7f0e-7f2c-4f00-8401-42d262d80cd6
    So, my question, hopefully to Microsoft employee, please can you document
    exactly how to grant admin rights to users redirected folders on Windows Server 2008 R2 Standard, and please could you do it today :-)
    In the absence of this help, then I'm afraid this is yet another great but badly implemented feature that we will not be using.
    Stuart

    Typical Micro$haft answer!
    Quote "Hope this helps!"
    NO IT DOESN'T!
    Did you bother to read the original question?
    Quote "So, my question, hopefully to Microsoft employee, please can you document exactly how
    to grant admin rights to users redirected folders on Windows Server 2008 R2 Standard"
    So, Micro$haft, Why did you give instructions to Server 2003?
    ... When the requester SPECIFICALLY stated: "Somewhere
    there are articles which describe how to do it on 2003, but this procedure does not work well in 2008"

  • Alv : drill down not working.

    Hi All,
    Could you please tell me whats wrong with this code ? its not drilling down to show 'ebeln' with me22n.  Am I missing something ?
    Please help.
    Hrishi
    code is :-
    REPORT  Z_VENDOR_BACKORDER_REPORT_ALV .
    TABLES:  EKKO, LFA1, MAKT, EKET, EKPO, AFPO, MARC.
    *Data Declaration
    DATA:  BEGIN OF ITAB OCCURS 0 ,
            ebeln       LIKE ekko-ebeln  ,  " PO number
            aedat       LIKE ekko-aedat  ,  " creation date
            ebelp       LIKE ekpo-ebelp  ,  " item no
            lifnr       LIKE ekko-lifnr  ,  " vendor number
            name1       LIKE lfa1-name1  ,  " vendor name
            RESWK       LIKE EKKO-RESWK  ,  " PLANT NO
            MEMORY      LIKE EKKO-MEMORY , " ORDER INCOMPLETE
            matnr       LIKE ekpo-matnr  ,  " material number
            werks       like ekpo-werks  ,  " plant
            txz01       LIKE ekpo-txz01  ,  " material description
            eindt       LIKE eket-eindt  ,  " Promised date
            menge       LIKE eket-menge  ,  " quantity
            wemng       LIKE eket-wemng  ,  " delivered quantity
            netpr       like ekpo-netpr  ,  " value in AUD
            peinh       like ekpo-peinh  ,  " price unit
            banfn       like ekpo-banfn  ,  " PR no
            aufnr       like ebkn-aufnr  ,  " Production order no
            MAABC       LIKE MARC-MAABC  ,  " MATERIAL ABC Indicator
            maktx       like makt-maktx  ,  " material long description
            open_quant  type p decimals 2,  " quantity - delivered
            VALUE       TYPE p decimals 2,  " $ VALUE * OPEN QUANTITY
            end of ITAB.
    data: wa like itab.
    DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    DATA: TEMP TYPE EKKO-LIFNR.
    data: opt like CTU_PARAMS.
    *DATA:  WA TYPE FINAL.
    all ALV declarations
    type-pools: slis.                                 "ALV Declarations
    DATA:   fieldcatalog        TYPE slis_t_fieldcat_alv with header line,
            G_REPID             TYPE SY-REPID,
            GS_PRINT            TYPE SLIS_PRINT_ALV,
            GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
            GT_EVENTS           TYPE SLIS_T_EVENT,
            GT_SORT             TYPE SLIS_T_SORTINFO_ALV,
            GS_LAYOUT           TYPE SLIS_LAYOUT_ALV,
            COL_POS TYPE I.
    -----------------SELECTION SCREEN----------------------
      selection-screen begin of block b1 with frame title text-001.
      select-options VENDORNO for ekko-lifnr.
      select-options MATERIAL for ekpo-matnr.
      SELECT-OPTIONS PLANT FOR EKKO-RESWK.
      select-options REQDAT for eket-eindt.
      selection-screen end of block b1.
    *................... GET DATA..................
    START-OF-SELECTION.
    PERFORM GATHER_DATA.
    END-OF-SELECTION.
    FORM USER_COMMAND USING r_ucomm LIKE sy-ucomm
    rs_selfield TYPE slis_selfield.
    CASE r_ucomm.
    WHEN '&IC1'.
    CASE  rs_selfield-sel_tab_field.
    WHEN 'ITAB-EBELN'.
    CHECK NOT rs_selfield-value IS INITIAL.
    SET PARAMETER ID 'BUS' FIELD rs_selfield-value.
    CALL TRANSACTION 'ME22N' AND SKIP FIRST SCREEN.
    Do something at 'Sales document type' field selection
    when 'ITAB-MATNR'.
    SET PARAMETER ID 'BUS' FIELD rs_selfield-value.
    CALL TRANSACTION 'MD04' AND SKIP FIRST SCREEN.
    ENDCASE.
    ENDCASE.
    ENDFORM.
    form gather_data.
    SELECT EKKO~EBELN
           EKKO~AEDAT
           EKKO~LIFNR
          EKKO~MEMORY
          EKKO~RESWK
           EKPO~EBELP
           EKPO~MATNR
           ekpo~werks
           ekpo~netpr
           ekpo~peinh
           ekpo~banfn
           ekpo~txz01
          makt~maktx
           EKET~EINDT
           EKET~MENGE
           EKET~WEMNG
           LFA1~NAME1
    INTO corresponding fields of ITAB
    FROM (
    EKKO inner JOIN EKPO
    ON EKKOEBELN = EKPOEBELN
    inner JOIN EKET
    ON EKPOEBELN = EKETEBELN
    AND EKPOEBELP = EKETEBELP
    inner JOIN LFA1
    ON EKKOLIFNR = LFA1LIFNR
    *left outer join makt
    *on ekpomatnr = maktmatnr
    WHERE EKKO~LIFNR IN VENDORNO
    AND EKKO~RESWK IN PLANT
    and EKPO~MATNR IN MATERIAL
    and ekpo~elikz eq ' '
    and ekpo~loekz ne 'L'
    and eket~eindt in REQDAT.
    append itab.
    CLEAR ITAB.
    endselect.
    clear temp.
    sort itab by lifnr.
    loop at itab .
    ITAB-OPEN_QUANT = ITAB-MENGE - ITAB-WEMNG.
    if itab-matnr eq ''.
    select single aufnr from ebkn into itab-aufnr where banfn = itab-banfn.
      select single matnr from afpo into itab-matnr where aufnr = itab-aufnr.
    endif.
    select single maktx from makt into itab-maktx where matnr = itab-matnr.
    select single maabc from MARC INTO ITAB-MAABC WHERE MATNR = ITAB-MATNR.
    ITAB-VALUE = ITAB-NETPR * ITAB-OPEN_QUANT / itab-peinh.
    modify itab.
    endloop.
    SKIP.
      fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'LIFNR'.
      fieldcatalog-seltext_m   = 'vendor no'.
      fieldcatalog-col_pos     = 1.
      fieldcatalog-outputlen   = 15.
       fieldcatalog-inttype = 'C'.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    fieldcatalog-do_sum      = 'X'.
      fieldcatalog-no_zero     = 'X'.
      append fieldcatalog to fieldcatalog.
        clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'po Number'.
      fieldcatalog-col_pos     = 2.
       fieldcatalog-inttype = 'C'.
       fieldcatalog-emphasize = 'C401'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'po date'.
      fieldcatalog-col_pos     = 3.
       fieldcatalog-inttype = 'C'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
    fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'item number'.
      fieldcatalog-col_pos     = 4.
       fieldcatalog-inttype = 'C'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'MATNR'.
       fieldcatalog-no_zero     = 'X'.
      fieldcatalog-seltext_m   = 'material number'.
      fieldcatalog-col_pos     = 5.
       fieldcatalog-inttype = 'C'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'MAABC'.
      fieldcatalog-seltext_m   = 'material type'.
      fieldcatalog-col_pos     = 6.
       fieldcatalog-inttype = 'C'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'TXZ01'.
      fieldcatalog-seltext_m   = 'short text'.
      fieldcatalog-col_pos     = 7.
       fieldcatalog-inttype = 'C'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'MAKTX'.
      fieldcatalog-seltext_m   = 'long text'.
      fieldcatalog-col_pos     = 8.
       fieldcatalog-inttype = 'C'.
       fieldcatalog-outputlen   = 15.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
    fieldcatalog-fieldname   = 'EINDT'.
      fieldcatalog-seltext_m   = 'date promised'.
      fieldcatalog-col_pos     = 9.
       fieldcatalog-inttype = 'C'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'Quantity'.
      fieldcatalog-col_pos     = 10.
       fieldcatalog-inttype = 'C'.
      fieldcatalog-outputlen   = 15.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'WEMNG'.
      fieldcatalog-seltext_m   = 'Delivered'.
      fieldcatalog-col_pos     = 11.
       fieldcatalog-inttype = 'C'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
      fieldcatalog-fieldname   = 'OPEN_QUANT'.
      fieldcatalog-seltext_m   = 'Open quantity'.
      fieldcatalog-col_pos     = 12.
       fieldcatalog-inttype = 'C'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    fieldcatalog-tabname = 'ITAB'.
    fieldcatalog-fieldname   = 'VALUE'.
      fieldcatalog-seltext_m   = '$ value'.
      fieldcatalog-col_pos     = 13.
       fieldcatalog-inttype = 'C'.
       fieldcatalog-do_sum      = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = g_repid
                 I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
                it_fieldcat             = fieldcatalog[]
                is_layout               = GS_layout
                  IT_SORT                = gt_sort
                  I_DEFAULT = 'X'
                    I_SAVE = 'X'
               is_variant              = z_template
           tables
                t_outtab                = ITAB
                exceptions
                program_error           = 1
                others                  = 2.
    endform.

    hi,
    please run the code below.
    REPORT yfi7g_ing_mic_001 .
    *PROGRAM YFI7G_ING_MIC_001.
    TABLES: vbak .
    TABLES: mara .
    TYPES: BEGIN OF tp_vbak ,
          vbeln TYPE vbak-vbeln,
          erdat TYPE vbak-erdat,
          erzet TYPE vbak-erzet,
          ernam TYPE vbak-ernam,
          vbtyp TYPE vbak-vbtyp,
          trvog TYPE vbak-trvog,
          auart TYPE vbak-auart,
          lifsk TYPE vbak-lifsk,
          faksk TYPE vbak-faksk,
          waerk TYPE vbak-waerk,
          vkorg TYPE vbak-vkorg,
          kunnr TYPE vbak-kunnr,
          vgbel TYPE vbak-vgbel,
          vgtyp TYPE vbak-vgtyp,
    END OF tp_vbak .
    TYPES: BEGIN OF tp_mara ,
            matnr TYPE mara-matnr,
    END OF tp_mara .
    TYPES: BEGIN OF tp_alv1_data.
    INCLUDE TYPE tp_vbak .
    TYPES: END OF tp_alv1_data.
    TYPES: BEGIN OF tp_alv2_data.
    INCLUDE TYPE tp_mara .
    TYPES: END OF tp_alv2_data.
    TYPE-POOLS: slis.
    DATA: gt_vbak TYPE STANDARD TABLE OF tp_vbak WITH HEADER LINE.
    DATA: gt_mara TYPE STANDARD TABLE OF tp_mara WITH HEADER LINE.
    DATA: gs_variant LIKE disvariant.
    DATA: gt_alv1_data TYPE STANDARD TABLE OF tp_alv1_data WITH HEADER LINE.
    DATA: gt_alv2_data TYPE STANDARD TABLE OF tp_alv2_data WITH HEADER LINE.
    SELECTION-SCREEN                                                     *
    BLOCK b0                                                             *
    SELECTION-SCREEN BEGIN OF BLOCK b0 WITH FRAME.
    SELECT-OPTIONS: s_vbeln FOR vbak-vbeln.        "<field not defined?>
    PARAMETERS: p_matnr LIKE mara-matnr.           "<field not defined?>
    SELECTION-SCREEN END OF BLOCK b0.
    BLOCK bvar                                                           *
    SELECTION-SCREEN BEGIN OF BLOCK bvar WITH FRAME.
    PARAMETERS: p_vari  LIKE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK bvar.
    BLOCK bbox                                                           *
    SELECTION-SCREEN BEGIN OF BLOCK bbox WITH FRAME.
    PARAMETERS: p_box_up  RADIOBUTTON GROUP b1,
                p_box_do  RADIOBUTTON GROUP b1 DEFAULT 'X',
                p_box_no  RADIOBUTTON GROUP b1.
    SELECTION-SCREEN END OF BLOCK bbox.
          AT SELECTION-SCREEN ON P_VARI                                 *
    AT SELECTION-SCREEN ON p_vari.
      PERFORM alv_variant_existence USING    p_vari
                                    CHANGING gs_variant.
          AT SELECTION-SCREEN ON VALUE REQUEST FOR P_VARI               *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
      PERFORM alv_variant_f4 CHANGING p_vari
                                      gs_variant.
    INITIALIZATION                                                       *
    INITIALIZATION.
    START-OF-SELECTION                                                   *
    START-OF-SELECTION.
      PERFORM authority_check.
      PERFORM get_control_data.
      PERFORM get_transaction_data.
      PERFORM process_transaction_data.
    END-OF-SELECTION                                                     *
    END-OF-SELECTION.
      PERFORM output_data.
    F   O   R   M   S                                                   *
          FORM AUTHORITY_CHECK                                          *
          Perform authority checks for the report                       *
    FORM authority_check.
    !!! Note: authorisation checks are application-dependent.
    !!! Some common cases are listed below - please select one of them
    !!! or add new authorisation checks.
    !!! If the report is creating batch input session or using LDB
    !!! it may be sufficient to use automatic SAP auth.checks.
    Authorisation for displaying documents in a single company code
    authority-check object 'F_BKPF_BUK'
           id 'BUKRS' field p_bukrs
           id 'ACTVT' field '03'.
    if sy-subrc <> 0.
      message e001(z9) with 'No authorisation to display documents'
                            'in company code' p_bukrs.
    endif.
    Displaying documents from a list of company codes (select-options)
    call function 'Y_BUKRS_AUTHORITY_CHECK'
       EXPORTING
            ACTVT     = '03'
            NOMESSAGE = ' '
       tables
            s_bukrs   = s_bukrs.
    ENDFORM.                              " AUTHORITY_CHECK
          FORM GET_CONTROL_DATA                                         *
          Read configuration etc.                                       *
    FORM get_control_data.
    ENDFORM.                               " GET_CONTROL_DATA
          FORM GET_TRANSACTION_DATA                                     *
          Read documents etc.                                           *
    FORM get_transaction_data.
    !!! Data selection statement below has been generated automatically.
    !!! Please check if it is correct and complete.
    !!! Use table joins or 'SELECT FOR ALL ENTRIES' when selecting data
    !!! from related tables.
      SELECT
                vbeln
                erdat
                erzet
                ernam
       FROM vbak
          INTO CORRESPONDING FIELDS OF TABLE gt_vbak
      CHECK NOT gt_vbak[] IS INITIAL.
      SELECT
                matnr
       FROM mara
          INTO CORRESPONDING FIELDS OF TABLE gt_mara
          FOR ALL ENTRIES IN gt_vbak
          WHERE ernam = gt_vbak-ernam
    ENDFORM.                               " GET_TRANSACTION_DATA
          FORM PROCESS_TRANSACTION_DATA                                 *
    FORM process_transaction_data.
      LOOP AT gt_vbak .
        MOVE-CORRESPONDING gt_vbak TO gt_alv1_data .
        APPEND gt_alv1_data .
      ENDLOOP.
      FREE gt_vbak .
      LOOP AT gt_mara .
        MOVE-CORRESPONDING gt_mara TO gt_alv2_data .
        APPEND gt_alv2_data .
      ENDLOOP.
      FREE gt_mara .
    ENDFORM.                               " PROCESS_TRANSACTION_DATA
          FORM OUTPUT_DATA                                              *
    FORM output_data.
      PERFORM alv_list_display.
    ENDFORM.                               " OUTPUT_DATA
          FORM DISPLAY_RECORD                                           *
          Display object associated with the current ALV line           *
    FORM display_record USING is_selfield TYPE slis_selfield.
      READ TABLE gt_alv1_data INDEX is_selfield-tabindex.
      CHECK sy-subrc = 0.
    !!! SAMPLE IMPLEMENTATION FOR DISPLAYING FI DOCUMENTS:
      SET PARAMETER ID 'BUK' FIELD gt_alv1_data-vbeln.
    set parameter id 'BLN' field gt_alv1_data-belnr.
    set parameter id 'GJR' field gt_alv1_data-gjahr.
      CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
    ENDFORM.                               " DISPLAY_RECORD
          FORM ALV_LIST_DISPLAY                                         *
          Invoke main ALV function to format and show the report        *
    FORM alv_list_display.
      DATA: ls_layout      TYPE slis_layout_alv,
            ls_print       TYPE slis_print_alv,
            ls_keyinfo     TYPE slis_keyinfo_alv,
            lt_fieldcat    TYPE slis_t_fieldcat_alv,
            lt_exctab      TYPE slis_t_extab,
            lt_sorttab     TYPE slis_t_sortinfo_alv,
            lt_events      TYPE slis_t_event.
      PERFORM alv_init_report_events TABLES   lt_events.
      PERFORM alv_init_report_layout TABLES   lt_fieldcat
                                              lt_exctab
                                              lt_sorttab
                                     CHANGING ls_layout
                                              ls_print
                                              ls_keyinfo.
      CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
        EXPORTING
          i_interface_check        = ' '
          i_callback_program       = sy-cprog
          is_layout                = ls_layout
          it_fieldcat              = lt_fieldcat
          it_excluding             = lt_exctab
        IT_SPECIAL_GROUPS        =
          it_sort                  = lt_sorttab
        IT_FILTER                =
        IS_SEL_HIDE              =
        I_SCREEN_START_COLUMN    = 0
        I_SCREEN_START_LINE      = 0
        I_SCREEN_END_COLUMN      = 0
        I_SCREEN_END_LINE        = 0
        I_DEFAULT                = 'X'
          i_save                   = 'A'
          is_variant               = gs_variant
          it_events                = lt_events
        IT_EVENT_EXIT            =
          i_tabname_header         = 'GT_ALV1_DATA'
          i_tabname_item           = 'GT_ALV2_DATA'
        I_STRUCTURE_NAME_HEADER  =
        I_STRUCTURE_NAME_ITEM    =
          is_keyinfo               =  ls_keyinfo
          is_print                 =  ls_print
        IS_REPREP_ID             =
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER  =
        ES_EXIT_CAUSED_BY_USER   =
        TABLES
          t_outtab_header          = gt_alv1_data
          t_outtab_item            = gt_alv2_data.
      EXCEPTIONS
        PROGRAM_ERROR            = 1
        OTHERS                   = 2
    ENDFORM.                           " ALV_LIST_DISPLAY
          FORM ALV_INIT_REPORT_LAYOUT                                   *
          Set up report layout definition for ALV_LIST_DISPLAY          *
    <-- OT_FIELDCAT list of fields                                     *
    <-- OT_EXCTAB   excluded menu options                              *
    <-- OT_SORTTAB  sorting/grouping definition                        *
    <-- OS_LAYOUT   global report layout settings                      *
    <-- OS_PRINT    global report printout settings                    *
    <-- OS_KEYINFO  itab key fields (required only for hier.lists)     *
    FORM alv_init_report_layout TABLES ot_fieldcat TYPE slis_t_fieldcat_alv
                                       ot_exctab   TYPE slis_t_extab
                                       ot_sorttab  TYPE slis_t_sortinfo_alv
                              CHANGING cs_layout   TYPE slis_layout_alv
                                       cs_print    TYPE slis_print_alv
                                       cs_keyinfo  TYPE slis_keyinfo_alv.
    add menu items to be excluded to ot_exctab.
      REFRESH ot_exctab.
      REFRESH ot_fieldcat.
      REFRESH ot_sorttab.
    !!! List all ALV data fields for display here:
    DD-struct  = data dictionary structure name
    DD-field   = field of data dictionary structure
    itab       = internal table for output data
    itab-field = internal table field name
    key        = set to 'X' if key field
    sum        = set to 'X' for totals
    hid        = set to 'X' if field is initially hidden
    row        = list row number (multi-line list if >1)
    DD-struct    DD-field     itab         itab-field  key sum hid row
      PERFORM alv_build_fieldcat TABLES ot_fieldcat USING:
    'VBAK'       'VBELN'      'GT_ALV1_DATA' 'VBELN'     ' ' ' ' ' ' 1 ,
    'VBAK'       'ERDAT'      'GT_ALV1_DATA' 'ERDAT'     ' ' ' ' ' ' 1 ,
    'VBAK'       'ERZET'      'GT_ALV1_DATA' 'ERZET'     ' ' ' ' ' ' 1 ,
    'VBAK'       'ERNAM'      'GT_ALV1_DATA' 'ERNAM'     ' ' ' ' ' ' 1.
      PERFORM alv_build_fieldcat TABLES ot_fieldcat USING:
    'MARA'       'MATNR'      'GT_ALV2_DATA' 'MATNR'     ' ' ' ' ' ' 1 .
    !!! List all ALV data fields for sorting/grouping here
    itab       = internal table for output data
    itab-field = internal table field name
    up         = sort ascending
    down       = sort descending
    grp        = group by
    comp       = group initially compressed
    pos        = field position in sort sequence
    itab                   field              up down grp comp        pos
      PERFORM alv_build_sorttab TABLES ot_sorttab USING:
    'GT_ALV1_DATA'         'VBELN'             'X' ' ' ' ' ' '           1.
      PERFORM alv_build_sorttab TABLES ot_sorttab USING:
    'GT_ALV2_DATA'         'MATNR'             'X' ' ' ' ' ' '           1.
    !!! key definition - required only for hierarchical display (2 itabs)
      cs_keyinfo-header01 = 'VBELN' .
      cs_keyinfo-item01   = 'MATNR' .
    !!! See the declaration of type SLIS_LAYOUT_ALV and set the fields
    !!! of OS_LAYOUT record to change list-level attributes
    os_layout-no_colhead     = 'X'.         " no headings
      cs_layout-zebra          = 'X'.         " stripped pattern
    os_layout-no_vline       = 'X'.         " columns separated by space
    os_layout-totals_only    = 'X'.         " show only totals
    os_layout-totals_text    = 'Total'.     " totals line label
    os_layout-subtotals_text = 'Subtotal'.  " subtotals line label
    os_layout-subtotals_text = 'Subtotal'.  " subtotals line label
    os_layout-key_hotspot    = 'X'.         " keys as hotspot
    os_layout-expand_all     = 'X'.         " Expand all positions
    os_layout...
      cs_print-no_print_selinfos = 'X'.       " Skip selection statistics
      cs_print-no_print_listinfos = 'X'.      " Skip list statistics
    os_print-...
    ENDFORM.                               " INIT_REPORT_LAYOUT
          FORM ALV_BUILD_FIELDCAT                                       *
          Format a single line for ALV_INIT_REPORT_LAYOUT               *
    FORM alv_build_fieldcat TABLES ot_fieldcat
                            USING  iv_ref_tabname   "ref to a table/field
                                   iv_ref_fieldname
                                   iv_tabname     "actual table/field name
                                   iv_fieldname
                                   iv_key
                                   iv_do_sum
                                   iv_no_out
                                   iv_row_pos.
    status variables for auto-numbering of field column position
    (column number reset when a new table or row begins)
      STATICS: sv_last_tabname TYPE slis_tabname,
               sv_last_row_pos TYPE i,
               sv_current_col  TYPE i.
      IF sv_last_tabname <> iv_tabname OR sv_last_row_pos <> iv_row_pos.
        sv_current_col = 1.
      ELSE.
        ADD 1 TO sv_current_col.
      ENDIF.
      sv_last_tabname = iv_tabname.
      sv_last_row_pos = iv_row_pos.
      DATA: ls_fieldcat    TYPE slis_fieldcat_alv.
      DATA: lv_fieldname   TYPE slis_fieldname.
      lv_fieldname = iv_fieldname.
    !!! List all the special formatting requirements in cases below
    case lv_fieldname.
      when 'WRBTR'.                      "<-- link with currency required
        ls_fieldcat-cfieldname = 'WAERS'.
        ls_fieldcat-ctabname   = iv_tabname.
      when 'HKONT'.                     "<-- change default column header
        ls_fieldcat-seltext_s  = 'GL Acc.'.
        ls_fieldcat-ddictxt    = 'S'.          " (S)hort (M)iddle (L)ong
      when 'SOME_NUMBER'                 "<-- change number formatting
        ls_fieldcat-nosign     = 'X'.
        ls_fieldcat-nozero     = 'X'.
        ls_fieldcat-just       = 'L'.         " (L)eft (R)ight (C)enter
    endcase.
      ls_fieldcat-ref_tabname   = iv_ref_tabname.
      ls_fieldcat-ref_fieldname = iv_ref_fieldname.
      ls_fieldcat-tabname       = iv_tabname.
      ls_fieldcat-fieldname     = iv_fieldname.
      ls_fieldcat-key           = iv_key.
      ls_fieldcat-do_sum        = iv_do_sum.
      ls_fieldcat-no_out        = iv_no_out.
      ls_fieldcat-row_pos       = iv_row_pos.
      ls_fieldcat-col_pos       = sv_current_col.
      APPEND ls_fieldcat TO ot_fieldcat.
    ENDFORM.                          " ALV_BUILD_FIELDCAT
          FORM ALV_BUILD_SORTTAB                                        *
          Set up sorting information for ALV_INIT_REPORT_LAYOUT         *
    FORM alv_build_sorttab TABLES ot_sorttab TYPE slis_t_sortinfo_alv
                           USING  iv_tabname   TYPE slis_fieldname
                                  iv_fieldname TYPE slis_fieldname
                                  iv_up        TYPE c
                                  iv_down      TYPE c
                                  iv_subtot    TYPE c
                                  iv_comp      TYPE c
                                  iv_spos      TYPE n.
      ot_sorttab-spos      = iv_spos.
      ot_sorttab-fieldname = iv_fieldname.
      ot_sorttab-tabname   = iv_tabname.
      ot_sorttab-up        = iv_up.
      ot_sorttab-down      = iv_down.
      ot_sorttab-subtot    = iv_subtot.
      ot_sorttab-comp      = iv_comp.
      APPEND ot_sorttab.
    ENDFORM.                            " ALV_BUILD_SORTTAB
          FORM ALV_INIT_REPORT_EVENTS                                   *
          Set up program events for ALV_LIST_DISPLAY                    *
    <-- OT_EVENTS   list of events and associated report subroutines   *
    FORM alv_init_report_events TABLES ot_events TYPE slis_t_event.
      CLEAR   ot_events.
      REFRESH ot_events.
      ot_events-name = slis_ev_user_command.
      ot_events-form = 'USER_COMMAND'.
      APPEND ot_events.
      ot_events-name = slis_ev_pf_status_set.
      ot_events-form = ''.                         "'PF_STATUS_SET'.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_list.
      ot_events-form = 'TOP_OF_LIST'.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_list.
      ot_events-form = 'END_OF_LIST'.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_page.
      ot_events-form = 'TOP_OF_PAGE'.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_page.
      ot_events-form = 'END_OF_PAGE'.
      APPEND ot_events.
      ot_events-name = slis_ev_foreign_top_of_page.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_foreign_end_of_page.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_coverpage.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_coverpage.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_before_line_output.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_after_line_output.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_caller_exit_at_start.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_list_modify.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_subtotal_text.
      ot_events-form = ''.
      APPEND ot_events.
    ENDFORM.                            " ALV_INIT_REPORT_EVENTS
          FORM USER_COMMAND                                             *
          Subroutine attached as callback form to ABAP List Viewer      *
      --> UCOMM    - user command code passed from ALV                  *
      --> SELFIELD - information record describing current line/field   *
    FORM user_command USING value(iv_ucomm) LIKE sy-ucomm
                            is_selfield     TYPE slis_selfield.
      CASE iv_ucomm.
        WHEN '&IC1'.                                  "ALV record selection
          PERFORM display_record USING is_selfield.
      when ...
      ENDCASE.
    ENDFORM.                               " USER_COMMAND
          FORM PF_STATUS_SET                                            *
          Subroutine attached as callback form to ABAP List Viewer,     *
          allows setting alternative menu.  If necessary:               *
          1. Copy 'STANDARD' menu from SAPLKKBL and modify as required, *
          2. Activate callback                                          *
    FORM pf_status_set USING it_exctab TYPE slis_t_extab.
    set pf-status 'STANDARD' excluding it_exctab.
    ENDFORM.                               " PF_STATUS_SET
          FORM TOP_OF_LIST                                              *
          Subroutine attached as callback form to ABAP List Viewer,     *
          executed once at the start of list output.                    *
    FORM top_of_list.
      DATA: lt_seltab TYPE STANDARD TABLE OF rsparams WITH HEADER LINE.
      DATA: lv_report LIKE sy-repid.
      lv_report = sy-repid.             "do not pass sy-repid to function!
      IF p_box_up = 'X'. "display select options at report start
        CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
          EXPORTING
            curr_report     = lv_report
          TABLES
            selection_table = lt_seltab.
    remove 'technical' parameters with 'DELETE LT_SELTAB WHERE...'
    before display, if necessary
        CALL FUNCTION 'RS_LIST_SELECTION_TABLE'
           EXPORTING
                report        = lv_report
                seltext       = 'X'
            dyn_range     =
                newpage       = ' '
            screennr      = 1000
           TABLES
                sel_tab       = lt_seltab
           EXCEPTIONS
                sel_tab_empty = 1.
      ENDIF. "p_box_up = 'X'
    ENDFORM.                               " TOP_OF_LIST
          FORM END_OF_LIST                                              *
          Subroutine attached as callback form to ABAP List Viewer      *
          executed once at the end of list output.                      *
    FORM end_of_list.
      DATA: lt_seltab TYPE STANDARD TABLE OF rsparams WITH HEADER LINE.
      DATA: lv_report LIKE sy-repid.
      lv_report = sy-repid.             "do not pass sy-repid to function!
      IF p_box_do = 'X'. "display select options at report end
        CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
          EXPORTING
            curr_report     = lv_report
          TABLES
            selection_table = lt_seltab.
    remove 'technical' parameters with 'DELETE LT_SELTAB WHERE...'
    before display, if necessary
        CALL FUNCTION 'RS_LIST_SELECTION_TABLE'
           EXPORTING
                report        = lv_report
                seltext       = 'X'
            dyn_range     =
                newpage       = ' '
            screennr      = 1000
           TABLES
                sel_tab       = lt_seltab
           EXCEPTIONS
                sel_tab_empty = 1.
      ENDIF. "p_box_do = 'X'
    ENDFORM.                               " END_OF_LIST
          FORM TOP_OF_PAGE                                              *
          Subroutine attached as callback form to ABAP List Viewer      *
    FORM top_of_page.
    standard Ingram Micro report page heading
      DATA: lv_coco_pos TYPE i,          "CurPos of 'Company confidential'
            lv_title_pos TYPE i,           "CurPos of report title
            lv_title(70) TYPE c,           "Truncated report title
            lv_page_pos TYPE i,            "CurPos of page number
            lv_date_pos TYPE i,            "CurPos of date and time
            lv_page_no(10) TYPE c,
            lv_date(25) TYPE c,
            lv_time(20) TYPE c,
            lv_page(10) TYPE c.
    We may need to truncate title if the line size is < 81.
      IF sy-linsz < 81.
        lv_title = sy-title+0(50).
      ELSE.
        lv_title = sy-title.
      ENDIF.
    Decide on positioning of text depending on width of page
      lv_title_pos = ( sy-linsz / 2 ) - ( STRLEN( lv_title ) / 2 ).
      lv_coco_pos = sy-linsz - 20.
      FORMAT COLOR COL_HEADING INTENSIFIED ON.
      WRITE: / 'Ingram Micro',
               AT lv_title_pos lv_title,
               AT lv_coco_pos 'Company Confidential'.
    Setup data correctly in the correct format for the display fields.
      lv_page = sy-pagno.
      SHIFT lv_page LEFT DELETING LEADING ' '.
      CONCATENATE sy-datum6(2) sy-datum4(2) sy-datum+0(4)
                   INTO lv_date SEPARATED BY '.'.
      CONCATENATE sy-uzeit0(2) ':' sy-uzeit2(2) INTO lv_time.
      CONCATENATE lv_date lv_time INTO lv_date SEPARATED BY ' '.
      CONCATENATE 'Page' lv_page INTO lv_page_no SEPARATED BY ' '.
    Decide on positioning of text depending on width of page.
      lv_page_pos = sy-linsz - ( STRLEN( lv_page_no ) ).
      WRITE: / lv_date,
               AT lv_page_pos lv_page_no.
      ULINE.
    ENDFORM.                               " TOP_OF_PAGE
          FORM END_OF_PAGE                                              *
          Subroutine attached as callback form to ABAP List Viewer      *
    FORM end_of_page.
    ENDFORM.                               " END_OF_PAGE
          Form  ALV_VARIANT_EXISTENCE
          Reads ALV variant definition
    FORM alv_variant_existence  USING    iv_variant LIKE disvariant-variant
                                CHANGING os_variant LIKE disvariant.
      CHECK NOT iv_variant IS INITIAL.
      os_variant-report  = sy-repid.
      os_variant-variant = iv_variant.
      IF iv_variant CP '/*'.    "user-specific variants begin with slash
        os_variant-username = sy-uname.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
        EXPORTING
          i_save        = 'A'
        CHANGING
          cs_variant    = os_variant
        EXCEPTIONS
          wrong_input   = 1
          not_found     = 2
          program_error = 3
          OTHERS        = 4.
      IF sy-subrc <> 0.
        MESSAGE e001(z9) WITH 'Please select a valid display variant.'.
      ENDIF.
    ENDFORM.                               " ALV_VARIANT_EXISTENCE
          FORM ALV_VARIANT_F4                                           *
          Display list of layout variants on report selection screen    *
    FORM alv_variant_f4  CHANGING cv_varname  LIKE disvariant-variant
                                  cs_variant  LIKE disvariant.
      DATA: lv_exit(1) TYPE c.
      cs_variant-report = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                is_variant          = cs_variant
                i_save              = 'A'
              it_default_fieldcat =
           IMPORTING
                e_exit              = lv_exit
                es_variant          = cs_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 lv_exit = space.
          cv_varname = cs_variant-variant.
        ENDIF.
      ENDIF.
    hope this will help.
    see form  user_command.
    regards,
    Ruchika

  • N95-1 V21.0.016 CANNOT READ MEMORY CARD WITH PREVI...

    After i done my upgrade for my N95-1 fr V12.0.014 to latest V21.0.016, everything seem fast & good with the formatted standard 1GB micro Sd card..but when restore phone memory setting (which were previously bac up thru latest PC Suite mode to PC), it restore very slow...nevermind coz a lot of activation key, licence key to be put into phone, after 3 hrs only successfully restored just the setting...phone auto ask for restart now...terrible nightmare happen...my phone became very very slow to respond...nevermind coz 1st time restart...after wait i think half an hr, only can move the menu smoothly...to my BIG SUPRISE ! when i off my phone & restart 2nd time...it wait even longer ...abt more than 20 minute to start the phone...after that seem like hang . WHAT IS THIS , NOKIA ! U DID NOT TEST ON RESTORE ALSO CAUSING PROBLEM TOO, PLS REALLY SOFT OUT WHY SUCH PROBLEM HAPPEN IN THIS LATEST V21 ??? WHAT FOR NOKIA ASK OUR USER TO UPGRADE ?

    anybody suffering this annoying problem ? pls voice up pls....now i also don't know what to do...really sad...

  • Ultiboard 11 - New design layout challenges

    Hello again NI team,
    We have just recently started designing new PCBs using Ultiboard 11.0.1, and we've run into several challenges with the software, on issues ranging from setting up Global Preferences, to basic trace routing. Below are some of the issues we've discovered this past week:
    Trace vias can be moved and disconnected from their trace, and cannot be used to drag a trace by themselves.
    It is impossible to move two traces connected with a via without either creating two opposing all-angle traces, or disconnecting the trace from the next vectors.
    Vias apparently only come in two sizes; standard and micro. (no drop-down for multiple sizes within one design)
    Without any explanation, the ability to drag a component and have the trace redraw can be lost, whether with manually drawn traces or follow me traces. (‘Part drag’ in Global Prefs. was still checked)
    Redrawn traces change path significantly despite net topology set to ‘shortest’.
    If a trace is manually moved, attached 90 degree bends are lost. UB11 automatically inserts rounded/chamfered corners.
    If you move the trace further out, original geometry is lost altogether.
    DRC filters are not saved within the PCB, and must be re-added every time the file is opened.
    Layer visibility toggling has no keyboard shortcut. Only option is a two-click process in design toolbox.
    ‘Global Preferences’ such as color scheme, are not saved to the program, only the PCB. Newly created scheme settings are not saved once the program is exited.
    Traces drawn using ‘follow me’ can be attached off-grid. There is no clear way to move the trace back onto the grid. This makes manual adjustment impossible without redrawing the entire trace.
    Manual moving using the mouse to drag, or pasting of copied traces or objects results in 0.5 mil spacing, despite all PCB grids being set to 5.0 mil or higher.
    A section of a trace that is re-routed can become a separate piece of a trace, even when perfectly inline with the sections attached to it. This necessitates multiple selections when attempting to move a single trace run, or deleting and rerouting the trace manually.
    We are eager to use many of the advanced features available in this software, but these issues are making the process quite tedious. Are there functions we are overlooking?

    AVPro,
    Hello.  There are a few things here that we can help with through some simple work arounds, some things have been sent in as feature requests... others I'll need to look at directly to reproduce and see if there is something that can be done.  Please send me an email to setup an online discussion ([email protected]).
    Here are my intial thoughts - but we are certainly interested in helping you out and making you successful using the tool.   Also v12 may have addressed some of these things, but I'll need to follow up directly to verify....
    Trace vias can be moved and disconnected from their trace, and cannot be used to drag a trace by themselves.
    It is impossible to move two traces connected with a via without either creating two opposing all-angle traces, or disconnecting the trace from the next vectors.
    Try this:   highlight the VIA and the connecting trace segment(s) by drawing a box with the mouse around the via and the segments of interest.   Now when you move the via with the arrow keys, the traces should 'rubber band' with the VIA.    I agree its not as nice as just dragging the VIAs and having the traces move with the VIA, but its the best work around I have for now.
    Vias apparently only come in two sizes; standard and micro. (no drop-down for multiple sizes within one design)
    Yes, this is an active feature request into R&D - better VIA management / sizing.   You can adjust the VIA one by one (and adjust) but you can only setup/select 1 standard via as default and adjust as needed throughout the design.  This is something I have tried to prioritized with R&D.
    Without any explanation, the ability to drag a component and have the trace redraw can be lost, whether with manually drawn traces or follow me traces. (‘Part drag’ in Global Prefs. was still checked)
    Redrawn traces change path significantly despite net topology set to ‘shortest’.
    If a trace is manually moved, attached 90 degree bends are lost. UB11 automatically inserts rounded/chamfered corners.
    If you move the trace further out, original geometry is lost altogether.
    I think many of these things have been improved in UBv12, however I think we need to take a look at the design specifically.   You can use the <space> key to change the geometry as you are routing, but I am not sure about preserving redraw (lets look at in both v11 and v12).
    DRC filters are not saved within the PCB, and must be re-added every time the file is opened.
    We'll have to check on this for v12 - I think this was addressed.
    Layer visibility toggling has no keyboard shortcut. Only option is a two-click process in design toolbox.
    I think you are correct from a visibility standpoint, but when routing you can setup 'preferred layers' - F(X) keys and toggle between layers when routing (Q key in v12).  There are some suggested tricks to setting up visibility in UB - as an example if you have a ground plane, I suggest coloring that a dark color (gray) and then it will appear always in the background no matter the layer visibility settings.
    ‘Global Preferences’ such as color scheme, are not saved to the program, only the PCB. Newly created scheme settings are not saved once the program is exited.
    Ok - agreed - this should be changed to a universal scheme setting as a default.
    Traces drawn using ‘follow me’ can be attached off-grid. There is no clear way to move the trace back onto the grid. This makes manual adjustment impossible without redrawing the entire trace.
    Manual moving using the mouse to drag, or pasting of copied traces or objects results in 0.5 mil spacing, despite all PCB grids being set to 5.0 mil or higher.
    Ok - I'll need some additional information on this - can you send me a direct email so we can setup a dialog ([email protected]).
    A section of a trace that is re-routed can become a separate piece of a trace, even when perfectly inline with the sections attached to it. This necessitates multiple selections when attempting to move a single trace run, or deleting and rerouting the trace manually.
    Is the net settings getting changed?   Again lets look at this and we'll see what can be done (I'll try in v12 and see if its better).
    Regards,
    Pat Noonan

  • How to do a drill down whit 'REUSE_ALV_GRID_DISPLAY'

    Hi Guru,
    i must do a drill down with 2 field of a 'REUSE_ALV_GRID_DISPLAY'
    this is the program:
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
        I_INTERFACE_CHECK                 = ' '
        I_BYPASSING_BUFFER                = ' '
        I_BUFFER_ACTIVE                   = ' '
        I_CALLBACK_PROGRAM                = ' '
        I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = ' '
         IT_FIELDCAT                        = tabcatalogo
        TABLES
          t_outtab                          = appoggio
    where
    TYPE-POOLS slis.
    DATA : tabcatalogo TYPE slis_t_fieldcat_alv,
          rec_tabcatalogo TYPE slis_fieldcat_alv.
    TABLES: viob03,
            viob37,
            ekkn,
            ekko.
    DATA : BEGIN OF appoggio OCCURS 0,
           bukrs LIKE viob03-BUKRS,
           swenr LIKE viob03-swenr,
           j_objnr LIKE viob03-j_objnr,
           sgenr LIKE viob03-sgenr,
           anln1 LIKE viob37-anln1,
           anln2 LIKE viob37-anln2,
           ebeln LIKE ekkn-ebeln,
           kdatb LIKE ekko-kdatb,
           kdate LIKE ekko-kdate,
           END OF appoggio.
    THE FIELD FOR DRILL DOWN ARE swenr  AND  anln1
    Thanks and sorry for my english

    Hi
    See the sample code
    REPORT yfi7g_ing_mic_001 .
    *PROGRAM YFI7G_ING_MIC_001.
    TABLES: vbak .
    TABLES: mara .
    TYPES: BEGIN OF tp_vbak ,
    vbeln TYPE vbak-vbeln,
    erdat TYPE vbak-erdat,
    erzet TYPE vbak-erzet,
    ernam TYPE vbak-ernam,
    vbtyp TYPE vbak-vbtyp,
    trvog TYPE vbak-trvog,
    auart TYPE vbak-auart,
    lifsk TYPE vbak-lifsk,
    faksk TYPE vbak-faksk,
    waerk TYPE vbak-waerk,
    vkorg TYPE vbak-vkorg,
    kunnr TYPE vbak-kunnr,
    vgbel TYPE vbak-vgbel,
    vgtyp TYPE vbak-vgtyp,
    END OF tp_vbak .
    TYPES: BEGIN OF tp_mara ,
    matnr TYPE mara-matnr,
    END OF tp_mara .
    TYPES: BEGIN OF tp_alv1_data.
    INCLUDE TYPE tp_vbak .
    TYPES: END OF tp_alv1_data.
    TYPES: BEGIN OF tp_alv2_data.
    INCLUDE TYPE tp_mara .
    TYPES: END OF tp_alv2_data.
    TYPE-POOLS: slis.
    DATA: gt_vbak TYPE STANDARD TABLE OF tp_vbak WITH HEADER LINE.
    DATA: gt_mara TYPE STANDARD TABLE OF tp_mara WITH HEADER LINE.
    DATA: gs_variant LIKE disvariant.
    DATA: gt_alv1_data TYPE STANDARD TABLE OF tp_alv1_data WITH HEADER LINE.
    DATA: gt_alv2_data TYPE STANDARD TABLE OF tp_alv2_data WITH HEADER LINE.
    SELECTION-SCREEN *
    BLOCK b0 *
    SELECTION-SCREEN BEGIN OF BLOCK b0 WITH FRAME.
    SELECT-OPTIONS: s_vbeln FOR vbak-vbeln. "<field not defined?>
    PARAMETERS: p_matnr LIKE mara-matnr. "<field not defined?>
    SELECTION-SCREEN END OF BLOCK b0.
    BLOCK bvar *
    SELECTION-SCREEN BEGIN OF BLOCK bvar WITH FRAME.
    PARAMETERS: p_vari LIKE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK bvar.
    BLOCK bbox *
    SELECTION-SCREEN BEGIN OF BLOCK bbox WITH FRAME.
    PARAMETERS: p_box_up RADIOBUTTON GROUP b1,
    p_box_do RADIOBUTTON GROUP b1 DEFAULT 'X',
    p_box_no RADIOBUTTON GROUP b1.
    SELECTION-SCREEN END OF BLOCK bbox.
    AT SELECTION-SCREEN ON P_VARI *
    AT SELECTION-SCREEN ON p_vari.
    PERFORM alv_variant_existence USING p_vari
    CHANGING gs_variant.
    AT SELECTION-SCREEN ON VALUE REQUEST FOR P_VARI *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
    PERFORM alv_variant_f4 CHANGING p_vari
    gs_variant.
    INITIALIZATION *
    INITIALIZATION.
    START-OF-SELECTION *
    START-OF-SELECTION.
    PERFORM authority_check.
    PERFORM get_control_data.
    PERFORM get_transaction_data.
    PERFORM process_transaction_data.
    END-OF-SELECTION *
    END-OF-SELECTION.
    PERFORM output_data.
    F O R M S *
    FORM AUTHORITY_CHECK *
    Perform authority checks for the report *
    FORM authority_check.
    !!! Note: authorisation checks are application-dependent.
    !!! Some common cases are listed below - please select one of them
    !!! or add new authorisation checks.
    !!! If the report is creating batch input session or using LDB
    !!! it may be sufficient to use automatic SAP auth.checks.
    Authorisation for displaying documents in a single company code
    authority-check object 'F_BKPF_BUK'
    id 'BUKRS' field p_bukrs
    id 'ACTVT' field '03'.
    if sy-subrc <> 0.
    message e001(z9) with 'No authorisation to display documents'
    'in company code' p_bukrs.
    endif.
    Displaying documents from a list of company codes (select-options)
    call function 'Y_BUKRS_AUTHORITY_CHECK'
    EXPORTING
    ACTVT = '03'
    NOMESSAGE = ' '
    tables
    s_bukrs = s_bukrs.
    ENDFORM. " AUTHORITY_CHECK
    FORM GET_CONTROL_DATA *
    Read configuration etc. *
    FORM get_control_data.
    ENDFORM. " GET_CONTROL_DATA
    FORM GET_TRANSACTION_DATA *
    Read documents etc. *
    FORM get_transaction_data.
    !!! Data selection statement below has been generated automatically.
    !!! Please check if it is correct and complete.
    !!! Use table joins or 'SELECT FOR ALL ENTRIES' when selecting data
    !!! from related tables.
    SELECT
    vbeln
    erdat
    erzet
    ernam
    FROM vbak
    INTO CORRESPONDING FIELDS OF TABLE gt_vbak
    CHECK NOT gt_vbak[] IS INITIAL.
    SELECT
    matnr
    FROM mara
    INTO CORRESPONDING FIELDS OF TABLE gt_mara
    FOR ALL ENTRIES IN gt_vbak
    WHERE ernam = gt_vbak-ernam
    ENDFORM. " GET_TRANSACTION_DATA
    FORM PROCESS_TRANSACTION_DATA *
    FORM process_transaction_data.
    LOOP AT gt_vbak .
    MOVE-CORRESPONDING gt_vbak TO gt_alv1_data .
    APPEND gt_alv1_data .
    ENDLOOP.
    FREE gt_vbak .
    LOOP AT gt_mara .
    MOVE-CORRESPONDING gt_mara TO gt_alv2_data .
    APPEND gt_alv2_data .
    ENDLOOP.
    FREE gt_mara .
    ENDFORM. " PROCESS_TRANSACTION_DATA
    FORM OUTPUT_DATA *
    FORM output_data.
    PERFORM alv_list_display.
    ENDFORM. " OUTPUT_DATA
    FORM DISPLAY_RECORD *
    Display object associated with the current ALV line *
    FORM display_record USING is_selfield TYPE slis_selfield.
    READ TABLE gt_alv1_data INDEX is_selfield-tabindex.
    CHECK sy-subrc = 0.
    !!! SAMPLE IMPLEMENTATION FOR DISPLAYING FI DOCUMENTS:
    SET PARAMETER ID 'BUK' FIELD gt_alv1_data-vbeln.
    set parameter id 'BLN' field gt_alv1_data-belnr.
    set parameter id 'GJR' field gt_alv1_data-gjahr.
    CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
    ENDFORM. " DISPLAY_RECORD
    FORM ALV_LIST_DISPLAY *
    Invoke main ALV function to format and show the report *
    FORM alv_list_display.
    DATA: ls_layout TYPE slis_layout_alv,
    ls_print TYPE slis_print_alv,
    ls_keyinfo TYPE slis_keyinfo_alv,
    lt_fieldcat TYPE slis_t_fieldcat_alv,
    lt_exctab TYPE slis_t_extab,
    lt_sorttab TYPE slis_t_sortinfo_alv,
    lt_events TYPE slis_t_event.
    PERFORM alv_init_report_events TABLES lt_events.
    PERFORM alv_init_report_layout TABLES lt_fieldcat
    lt_exctab
    lt_sorttab
    CHANGING ls_layout
    ls_print
    ls_keyinfo.
    CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
    EXPORTING
    i_interface_check = ' '
    i_callback_program = sy-cprog
    is_layout = ls_layout
    it_fieldcat = lt_fieldcat
    it_excluding = lt_exctab
    IT_SPECIAL_GROUPS =
    it_sort = lt_sorttab
    IT_FILTER =
    IS_SEL_HIDE =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    I_DEFAULT = 'X'
    i_save = 'A'
    is_variant = gs_variant
    it_events = lt_events
    IT_EVENT_EXIT =
    i_tabname_header = 'GT_ALV1_DATA'
    i_tabname_item = 'GT_ALV2_DATA'
    I_STRUCTURE_NAME_HEADER =
    I_STRUCTURE_NAME_ITEM =
    is_keyinfo = ls_keyinfo
    is_print = ls_print
    IS_REPREP_ID =
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    t_outtab_header = gt_alv1_data
    t_outtab_item = gt_alv2_data.
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    ENDFORM. " ALV_LIST_DISPLAY
    FORM ALV_INIT_REPORT_LAYOUT *
    Set up report layout definition for ALV_LIST_DISPLAY *
    <-- OT_FIELDCAT list of fields *
    <-- OT_EXCTAB excluded menu options *
    <-- OT_SORTTAB sorting/grouping definition *
    <-- OS_LAYOUT global report layout settings *
    <-- OS_PRINT global report printout settings *
    <-- OS_KEYINFO itab key fields (required only for hier.lists) *
    FORM alv_init_report_layout TABLES ot_fieldcat TYPE slis_t_fieldcat_alv
    ot_exctab TYPE slis_t_extab
    ot_sorttab TYPE slis_t_sortinfo_alv
    CHANGING cs_layout TYPE slis_layout_alv
    cs_print TYPE slis_print_alv
    cs_keyinfo TYPE slis_keyinfo_alv.
    add menu items to be excluded to ot_exctab.
    REFRESH ot_exctab.
    REFRESH ot_fieldcat.
    REFRESH ot_sorttab.
    !!! List all ALV data fields for display here:
    DD-struct = data dictionary structure name
    DD-field = field of data dictionary structure
    itab = internal table for output data
    itab-field = internal table field name
    key = set to 'X' if key field
    sum = set to 'X' for totals
    hid = set to 'X' if field is initially hidden
    row = list row number (multi-line list if >1)
    DD-struct DD-field itab itab-field key sum hid row
    PERFORM alv_build_fieldcat TABLES ot_fieldcat USING:
    'VBAK' 'VBELN' 'GT_ALV1_DATA' 'VBELN' ' ' ' ' ' ' 1 ,
    'VBAK' 'ERDAT' 'GT_ALV1_DATA' 'ERDAT' ' ' ' ' ' ' 1 ,
    'VBAK' 'ERZET' 'GT_ALV1_DATA' 'ERZET' ' ' ' ' ' ' 1 ,
    'VBAK' 'ERNAM' 'GT_ALV1_DATA' 'ERNAM' ' ' ' ' ' ' 1.
    PERFORM alv_build_fieldcat TABLES ot_fieldcat USING:
    'MARA' 'MATNR' 'GT_ALV2_DATA' 'MATNR' ' ' ' ' ' ' 1 .
    !!! List all ALV data fields for sorting/grouping here
    itab = internal table for output data
    itab-field = internal table field name
    up = sort ascending
    down = sort descending
    grp = group by
    comp = group initially compressed
    pos = field position in sort sequence
    itab field up down grp comp pos
    PERFORM alv_build_sorttab TABLES ot_sorttab USING:
    'GT_ALV1_DATA' 'VBELN' 'X' ' ' ' ' ' ' 1.
    PERFORM alv_build_sorttab TABLES ot_sorttab USING:
    'GT_ALV2_DATA' 'MATNR' 'X' ' ' ' ' ' ' 1.
    !!! key definition - required only for hierarchical display (2 itabs)
    cs_keyinfo-header01 = 'VBELN' .
    cs_keyinfo-item01 = 'MATNR' .
    !!! See the declaration of type SLIS_LAYOUT_ALV and set the fields
    !!! of OS_LAYOUT record to change list-level attributes
    os_layout-no_colhead = 'X'. " no headings
    cs_layout-zebra = 'X'. " stripped pattern
    os_layout-no_vline = 'X'. " columns separated by space
    os_layout-totals_only = 'X'. " show only totals
    os_layout-totals_text = 'Total'. " totals line label
    os_layout-subtotals_text = 'Subtotal'. " subtotals line label
    os_layout-subtotals_text = 'Subtotal'. " subtotals line label
    os_layout-key_hotspot = 'X'. " keys as hotspot
    os_layout-expand_all = 'X'. " Expand all positions
    os_layout...
    cs_print-no_print_selinfos = 'X'. " Skip selection statistics
    cs_print-no_print_listinfos = 'X'. " Skip list statistics
    os_print-...
    ENDFORM. " INIT_REPORT_LAYOUT
    FORM ALV_BUILD_FIELDCAT *
    Format a single line for ALV_INIT_REPORT_LAYOUT *
    FORM alv_build_fieldcat TABLES ot_fieldcat
    USING iv_ref_tabname "ref to a table/field
    iv_ref_fieldname
    iv_tabname "actual table/field name
    iv_fieldname
    iv_key
    iv_do_sum
    iv_no_out
    iv_row_pos.
    status variables for auto-numbering of field column position
    (column number reset when a new table or row begins)
    STATICS: sv_last_tabname TYPE slis_tabname,
    sv_last_row_pos TYPE i,
    sv_current_col TYPE i.
    IF sv_last_tabname <> iv_tabname OR sv_last_row_pos <> iv_row_pos.
    sv_current_col = 1.
    ELSE.
    ADD 1 TO sv_current_col.
    ENDIF.
    sv_last_tabname = iv_tabname.
    sv_last_row_pos = iv_row_pos.
    DATA: ls_fieldcat TYPE slis_fieldcat_alv.
    DATA: lv_fieldname TYPE slis_fieldname.
    lv_fieldname = iv_fieldname.
    !!! List all the special formatting requirements in cases below
    case lv_fieldname.
    when 'WRBTR'. "<-- link with currency required
    ls_fieldcat-cfieldname = 'WAERS'.
    ls_fieldcat-ctabname = iv_tabname.
    when 'HKONT'. "<-- change default column header
    ls_fieldcat-seltext_s = 'GL Acc.'.
    ls_fieldcat-ddictxt = 'S'. " (S)hort (M)iddle (L)ong
    when 'SOME_NUMBER' "<-- change number formatting
    ls_fieldcat-nosign = 'X'.
    ls_fieldcat-nozero = 'X'.
    ls_fieldcat-just = 'L'. " (L)eft (R)ight (C)enter
    endcase.
    ls_fieldcat-ref_tabname = iv_ref_tabname.
    ls_fieldcat-ref_fieldname = iv_ref_fieldname.
    ls_fieldcat-tabname = iv_tabname.
    ls_fieldcat-fieldname = iv_fieldname.
    ls_fieldcat-key = iv_key.
    ls_fieldcat-do_sum = iv_do_sum.
    ls_fieldcat-no_out = iv_no_out.
    ls_fieldcat-row_pos = iv_row_pos.
    ls_fieldcat-col_pos = sv_current_col.
    APPEND ls_fieldcat TO ot_fieldcat.
    ENDFORM. " ALV_BUILD_FIELDCAT
    FORM ALV_BUILD_SORTTAB *
    Set up sorting information for ALV_INIT_REPORT_LAYOUT *
    FORM alv_build_sorttab TABLES ot_sorttab TYPE slis_t_sortinfo_alv
    USING iv_tabname TYPE slis_fieldname
    iv_fieldname TYPE slis_fieldname
    iv_up TYPE c
    iv_down TYPE c
    iv_subtot TYPE c
    iv_comp TYPE c
    iv_spos TYPE n.
    ot_sorttab-spos = iv_spos.
    ot_sorttab-fieldname = iv_fieldname.
    ot_sorttab-tabname = iv_tabname.
    ot_sorttab-up = iv_up.
    ot_sorttab-down = iv_down.
    ot_sorttab-subtot = iv_subtot.
    ot_sorttab-comp = iv_comp.
    APPEND ot_sorttab.
    ENDFORM. " ALV_BUILD_SORTTAB
    FORM ALV_INIT_REPORT_EVENTS *
    Set up program events for ALV_LIST_DISPLAY *
    <-- OT_EVENTS list of events and associated report subroutines *
    FORM alv_init_report_events TABLES ot_events TYPE slis_t_event.
    CLEAR ot_events.
    REFRESH ot_events.
    ot_events-name = slis_ev_user_command.
    ot_events-form = 'USER_COMMAND'.
    APPEND ot_events.
    ot_events-name = slis_ev_pf_status_set.
    ot_events-form = ''. "'PF_STATUS_SET'.
    APPEND ot_events.
    ot_events-name = slis_ev_top_of_list.
    ot_events-form = 'TOP_OF_LIST'.
    APPEND ot_events.
    ot_events-name = slis_ev_end_of_list.
    ot_events-form = 'END_OF_LIST'.
    APPEND ot_events.
    ot_events-name = slis_ev_top_of_page.
    ot_events-form = 'TOP_OF_PAGE'.
    APPEND ot_events.
    ot_events-name = slis_ev_end_of_page.
    ot_events-form = 'END_OF_PAGE'.
    APPEND ot_events.
    ot_events-name = slis_ev_foreign_top_of_page.
    ot_events-form = ''.
    APPEND ot_events.
    ot_events-name = slis_ev_foreign_end_of_page.
    ot_events-form = ''.
    APPEND ot_events.
    ot_events-name = slis_ev_top_of_coverpage.
    ot_events-form = ''.
    APPEND ot_events.
    ot_events-name = slis_ev_end_of_coverpage.
    ot_events-form = ''.
    APPEND ot_events.
    ot_events-name = slis_ev_before_line_output.
    ot_events-form = ''.
    APPEND ot_events.
    ot_events-name = slis_ev_after_line_output.
    ot_events-form = ''.
    APPEND ot_events.
    ot_events-name = slis_ev_caller_exit_at_start.
    ot_events-form = ''.
    APPEND ot_events.
    ot_events-name = slis_ev_list_modify.
    ot_events-form = ''.
    APPEND ot_events.
    ot_events-name = slis_ev_subtotal_text.
    ot_events-form = ''.
    APPEND ot_events.
    ENDFORM. " ALV_INIT_REPORT_EVENTS
    FORM USER_COMMAND *
    Subroutine attached as callback form to ABAP List Viewer *
    --> UCOMM - user command code passed from ALV *
    --> SELFIELD - information record describing current line/field *
    FORM user_command USING value(iv_ucomm) LIKE sy-ucomm
    is_selfield TYPE slis_selfield.
    CASE iv_ucomm.
    WHEN '&IC1'. "ALV record selection
    PERFORM display_record USING is_selfield.
    when ...
    ENDCASE.
    ENDFORM. " USER_COMMAND
    FORM PF_STATUS_SET *
    Subroutine attached as callback form to ABAP List Viewer, *
    allows setting alternative menu. If necessary: *
    1. Copy 'STANDARD' menu from SAPLKKBL and modify as required, *
    2. Activate callback *
    FORM pf_status_set USING it_exctab TYPE slis_t_extab.
    set pf-status 'STANDARD' excluding it_exctab.
    ENDFORM. " PF_STATUS_SET
    FORM TOP_OF_LIST *
    Subroutine attached as callback form to ABAP List Viewer, *
    executed once at the start of list output. *
    FORM top_of_list.
    DATA: lt_seltab TYPE STANDARD TABLE OF rsparams WITH HEADER LINE.
    DATA: lv_report LIKE sy-repid.
    lv_report = sy-repid. "do not pass sy-repid to function!
    IF p_box_up = 'X'. "display select options at report start
    CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
    EXPORTING
    curr_report = lv_report
    TABLES
    selection_table = lt_seltab.
    remove 'technical' parameters with 'DELETE LT_SELTAB WHERE...'
    before display, if necessary
    CALL FUNCTION 'RS_LIST_SELECTION_TABLE'
    EXPORTING
    report = lv_report
    seltext = 'X'
    dyn_range =
    newpage = ' '
    screennr = 1000
    TABLES
    sel_tab = lt_seltab
    EXCEPTIONS
    sel_tab_empty = 1.
    ENDIF. "p_box_up = 'X'
    ENDFORM. " TOP_OF_LIST
    FORM END_OF_LIST *
    Subroutine attached as callback form to ABAP List Viewer *
    executed once at the end of list output. *
    FORM end_of_list.
    DATA: lt_seltab TYPE STANDARD TABLE OF rsparams WITH HEADER LINE.
    DATA: lv_report LIKE sy-repid.
    lv_report = sy-repid. "do not pass sy-repid to function!
    IF p_box_do = 'X'. "display select options at report end
    CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
    EXPORTING
    curr_report = lv_report
    TABLES
    selection_table = lt_seltab.
    remove 'technical' parameters with 'DELETE LT_SELTAB WHERE...'
    before display, if necessary
    CALL FUNCTION 'RS_LIST_SELECTION_TABLE'
    EXPORTING
    report = lv_report
    seltext = 'X'
    dyn_range =
    newpage = ' '
    screennr = 1000
    TABLES
    sel_tab = lt_seltab
    EXCEPTIONS
    sel_tab_empty = 1.
    ENDIF. "p_box_do = 'X'
    ENDFORM. " END_OF_LIST
    FORM TOP_OF_PAGE *
    Subroutine attached as callback form to ABAP List Viewer *
    FORM top_of_page.
    standard Ingram Micro report page heading
    DATA: lv_coco_pos TYPE i, "CurPos of 'Company confidential'
    lv_title_pos TYPE i, "CurPos of report title
    lv_title(70) TYPE c, "Truncated report title
    lv_page_pos TYPE i, "CurPos of page number
    lv_date_pos TYPE i, "CurPos of date and time
    lv_page_no(10) TYPE c,
    lv_date(25) TYPE c,
    lv_time(20) TYPE c,
    lv_page(10) TYPE c.
    We may need to truncate title if the line size is < 81.
    IF sy-linsz < 81.
    lv_title = sy-title+0(50).
    ELSE.
    lv_title = sy-title.
    ENDIF.
    Decide on positioning of text depending on width of page
    lv_title_pos = ( sy-linsz / 2 ) - ( STRLEN( lv_title ) / 2 ).
    lv_coco_pos = sy-linsz - 20.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    WRITE: / 'Ingram Micro',
    AT lv_title_pos lv_title,
    AT lv_coco_pos 'Company Confidential'.
    Setup data correctly in the correct format for the display fields.
    lv_page = sy-pagno.
    SHIFT lv_page LEFT DELETING LEADING ' '.
    CONCATENATE sy-datum6(2) sy-datum4(2) sy-datum+0(4)
    INTO lv_date SEPARATED BY '.'.
    CONCATENATE sy-uzeit0(2) ':' sy-uzeit2(2) INTO lv_time.
    CONCATENATE lv_date lv_time INTO lv_date SEPARATED BY ' '.
    CONCATENATE 'Page' lv_page INTO lv_page_no SEPARATED BY ' '.
    Decide on positioning of text depending on width of page.
    lv_page_pos = sy-linsz - ( STRLEN( lv_page_no ) ).
    WRITE: / lv_date,
    AT lv_page_pos lv_page_no.
    ULINE.
    ENDFORM. " TOP_OF_PAGE
    FORM END_OF_PAGE *
    Subroutine attached as callback form to ABAP List Viewer *
    FORM end_of_page.
    ENDFORM. " END_OF_PAGE
    Form ALV_VARIANT_EXISTENCE
    Reads ALV variant definition
    FORM alv_variant_existence USING iv_variant LIKE disvariant-variant
    CHANGING os_variant LIKE disvariant.
    CHECK NOT iv_variant IS INITIAL.
    os_variant-report = sy-repid.
    os_variant-variant = iv_variant.
    IF iv_variant CP '/*'. "user-specific variants begin with slash
    os_variant-username = sy-uname.
    ENDIF.
    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
    EXPORTING
    i_save = 'A'
    CHANGING
    cs_variant = os_variant
    EXCEPTIONS
    wrong_input = 1
    not_found = 2
    program_error = 3
    OTHERS = 4.
    IF sy-subrc <> 0.
    MESSAGE e001(z9) WITH 'Please select a valid display variant.'.
    ENDIF.
    ENDFORM. " ALV_VARIANT_EXISTENCE
    FORM ALV_VARIANT_F4 *
    Display list of layout variants on report selection screen *
    FORM alv_variant_f4 CHANGING cv_varname LIKE disvariant-variant
    cs_variant LIKE disvariant.
    DATA: lv_exit(1) TYPE c.
    cs_variant-report = sy-repid.
    CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
    is_variant = cs_variant
    i_save = 'A'
    it_default_fieldcat =
    IMPORTING
    e_exit = lv_exit
    es_variant = cs_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 lv_exit = space.
    cv_varname = cs_variant-variant.
    ENDIF.
    ENDIF.
    here in output. if you will click on material. you can go to other transaction.
    also for drill down you can refer one standard program.
    DEMO_DYNPRO_DROPDOWN_LISTBOX
    Regards
    Anji

  • SDXC support in 13-p111 nr X2 notebook?

    Does the onboard card reader in my my 13-p111 nr X2 notebook (Win 8.1) support SDXC cards in one or both slots (standard and micro)?  Win 8.1 supports the file system, but my 64GB micro sd card is not being recognized in the onboard slot, making me think that the card reader hardware may not support that format.  If the onboard reader does not , should the notebook still recognize a 64GB SDXC card in a USB card reader stick?  
    I've looked in the service manual for this X2 notebook and it is not specific about SD 0r SDHC or SDXC support.  Where can I find detailed system specs for this machine?
    Thank you for any help you can give.
    This question was solved.
    View Solution.

    Hi,
    It supports microSD card up to 32Gb and more than 32Gb SDXC cards on card reader at the base.
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • Best way to clean the screen?

    I can't fully clean my screen. It is always dirty with finger prints here and there. What is the BEST and SAFEST way?

    Despite the cool features and operation of your MacBook Pro, it is indeed quite delicate. After eight months of ownership I have traveled to Europe twice and bounced around the airports here in the states quite often while using my Mac in every conceivable dirty location. I’ve only had to actually clean my machine twice in this period. I use a standard clean micro-fiber lens cleaning cloth with bottled water. It works. If you have accumulated any crud, then simply apply a small amount of plastic lens cleaner to the water dampened lens cloth and that will gently remove most any soil from the case. BTW: if haven’t already done so, consider a Marware case protector that will greatly reduce the accumulation of stains, scratches, etc from developing on the wrist area. I don’t think much of the overly thick keyboard cloth that’s included with it although the stick on pad works very well and adds a nice appearance to an already beautiful Mac.
    http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa/wo/3.RSLID?mco=B A1666B3&nplm=TJ547LL%2FA
    Regards,
     MBP-15"/2.16/2GB RAM/7200/W8612...   Mac OS X (10.4.8)   G4 Tower (OS 9/10), Dell 620 WorkStation (XP Pro), Gateway P4 (XP Home)

  • Drop down box in alv

    hi to all , my querry is as follows how to give dropdown box for one paricular column in alv grid . pls give sample code . i have searched for it in forum . but i could not get correct answer . pls give coding . points will be rwewarded.
    2, pls tell how to make one particular cell of one column editable . we know that we can make one column editable by using  is _layout- edit = 'x'.pls give coding . one sample program

    Hi.
    for editable ALV,
    refer the following link , it is havine one complete editable ALV program
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_editable.htm
    for drill down  run the following code.
    REPORT yfi7g_ing_mic_001 .
    *PROGRAM YFI7G_ING_MIC_001.
    TABLES: vbak .
    TABLES: mara .
    TYPES: BEGIN OF tp_vbak ,
          vbeln TYPE vbak-vbeln,
          erdat TYPE vbak-erdat,
          erzet TYPE vbak-erzet,
          ernam TYPE vbak-ernam,
          vbtyp TYPE vbak-vbtyp,
          trvog TYPE vbak-trvog,
          auart TYPE vbak-auart,
          lifsk TYPE vbak-lifsk,
          faksk TYPE vbak-faksk,
          waerk TYPE vbak-waerk,
          vkorg TYPE vbak-vkorg,
          kunnr TYPE vbak-kunnr,
          vgbel TYPE vbak-vgbel,
          vgtyp TYPE vbak-vgtyp,
    END OF tp_vbak .
    TYPES: BEGIN OF tp_mara ,
            matnr TYPE mara-matnr,
    END OF tp_mara .
    TYPES: BEGIN OF tp_alv1_data.
    INCLUDE TYPE tp_vbak .
    TYPES: END OF tp_alv1_data.
    TYPES: BEGIN OF tp_alv2_data.
    INCLUDE TYPE tp_mara .
    TYPES: END OF tp_alv2_data.
    TYPE-POOLS: slis.
    DATA: gt_vbak TYPE STANDARD TABLE OF tp_vbak WITH HEADER LINE.
    DATA: gt_mara TYPE STANDARD TABLE OF tp_mara WITH HEADER LINE.
    DATA: gs_variant LIKE disvariant.
    DATA: gt_alv1_data TYPE STANDARD TABLE OF tp_alv1_data WITH HEADER LINE.
    DATA: gt_alv2_data TYPE STANDARD TABLE OF tp_alv2_data WITH HEADER LINE.
    SELECTION-SCREEN                                                     *
    BLOCK b0                                                             *
    SELECTION-SCREEN BEGIN OF BLOCK b0 WITH FRAME.
    SELECT-OPTIONS: s_vbeln FOR vbak-vbeln.        "<field not defined?>
    PARAMETERS: p_matnr LIKE mara-matnr.           "<field not defined?>
    SELECTION-SCREEN END OF BLOCK b0.
    BLOCK bvar                                                           *
    SELECTION-SCREEN BEGIN OF BLOCK bvar WITH FRAME.
    PARAMETERS: p_vari  LIKE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK bvar.
    BLOCK bbox                                                           *
    SELECTION-SCREEN BEGIN OF BLOCK bbox WITH FRAME.
    PARAMETERS: p_box_up  RADIOBUTTON GROUP b1,
                p_box_do  RADIOBUTTON GROUP b1 DEFAULT 'X',
                p_box_no  RADIOBUTTON GROUP b1.
    SELECTION-SCREEN END OF BLOCK bbox.
          AT SELECTION-SCREEN ON P_VARI                                 *
    AT SELECTION-SCREEN ON p_vari.
      PERFORM alv_variant_existence USING    p_vari
                                    CHANGING gs_variant.
          AT SELECTION-SCREEN ON VALUE REQUEST FOR P_VARI               *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
      PERFORM alv_variant_f4 CHANGING p_vari
                                      gs_variant.
    INITIALIZATION                                                       *
    INITIALIZATION.
    START-OF-SELECTION                                                   *
    START-OF-SELECTION.
      PERFORM authority_check.
      PERFORM get_control_data.
      PERFORM get_transaction_data.
      PERFORM process_transaction_data.
    END-OF-SELECTION                                                     *
    END-OF-SELECTION.
      PERFORM output_data.
    F   O   R   M   S                                                   *
          FORM AUTHORITY_CHECK                                          *
          Perform authority checks for the report                       *
    FORM authority_check.
    !!! Note: authorisation checks are application-dependent.
    !!! Some common cases are listed below - please select one of them
    !!! or add new authorisation checks.
    !!! If the report is creating batch input session or using LDB
    !!! it may be sufficient to use automatic SAP auth.checks.
    Authorisation for displaying documents in a single company code
    authority-check object 'F_BKPF_BUK'
           id 'BUKRS' field p_bukrs
           id 'ACTVT' field '03'.
    if sy-subrc <> 0.
      message e001(z9) with 'No authorisation to display documents'
                            'in company code' p_bukrs.
    endif.
    Displaying documents from a list of company codes (select-options)
    call function 'Y_BUKRS_AUTHORITY_CHECK'
       EXPORTING
            ACTVT     = '03'
            NOMESSAGE = ' '
       tables
            s_bukrs   = s_bukrs.
    ENDFORM.                              " AUTHORITY_CHECK
          FORM GET_CONTROL_DATA                                         *
          Read configuration etc.                                       *
    FORM get_control_data.
    ENDFORM.                               " GET_CONTROL_DATA
          FORM GET_TRANSACTION_DATA                                     *
          Read documents etc.                                           *
    FORM get_transaction_data.
    !!! Data selection statement below has been generated automatically.
    !!! Please check if it is correct and complete.
    !!! Use table joins or 'SELECT FOR ALL ENTRIES' when selecting data
    !!! from related tables.
      SELECT
                vbeln
                erdat
                erzet
                ernam
       FROM vbak
          INTO CORRESPONDING FIELDS OF TABLE gt_vbak
      CHECK NOT gt_vbak[] IS INITIAL.
      SELECT
                matnr
       FROM mara
          INTO CORRESPONDING FIELDS OF TABLE gt_mara
          FOR ALL ENTRIES IN gt_vbak
          WHERE ernam = gt_vbak-ernam
    ENDFORM.                               " GET_TRANSACTION_DATA
          FORM PROCESS_TRANSACTION_DATA                                 *
    FORM process_transaction_data.
      LOOP AT gt_vbak .
        MOVE-CORRESPONDING gt_vbak TO gt_alv1_data .
        APPEND gt_alv1_data .
      ENDLOOP.
      FREE gt_vbak .
      LOOP AT gt_mara .
        MOVE-CORRESPONDING gt_mara TO gt_alv2_data .
        APPEND gt_alv2_data .
      ENDLOOP.
      FREE gt_mara .
    ENDFORM.                               " PROCESS_TRANSACTION_DATA
          FORM OUTPUT_DATA                                              *
    FORM output_data.
      PERFORM alv_list_display.
    ENDFORM.                               " OUTPUT_DATA
          FORM DISPLAY_RECORD                                           *
          Display object associated with the current ALV line           *
    FORM display_record USING is_selfield TYPE slis_selfield.
      READ TABLE gt_alv1_data INDEX is_selfield-tabindex.
      CHECK sy-subrc = 0.
    !!! SAMPLE IMPLEMENTATION FOR DISPLAYING FI DOCUMENTS:
      SET PARAMETER ID 'BUK' FIELD gt_alv1_data-vbeln.
    set parameter id 'BLN' field gt_alv1_data-belnr.
    set parameter id 'GJR' field gt_alv1_data-gjahr.
      CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
    ENDFORM.                               " DISPLAY_RECORD
          FORM ALV_LIST_DISPLAY                                         *
          Invoke main ALV function to format and show the report        *
    FORM alv_list_display.
      DATA: ls_layout      TYPE slis_layout_alv,
            ls_print       TYPE slis_print_alv,
            ls_keyinfo     TYPE slis_keyinfo_alv,
            lt_fieldcat    TYPE slis_t_fieldcat_alv,
            lt_exctab      TYPE slis_t_extab,
            lt_sorttab     TYPE slis_t_sortinfo_alv,
            lt_events      TYPE slis_t_event.
      PERFORM alv_init_report_events TABLES   lt_events.
      PERFORM alv_init_report_layout TABLES   lt_fieldcat
                                              lt_exctab
                                              lt_sorttab
                                     CHANGING ls_layout
                                              ls_print
                                              ls_keyinfo.
      CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
        EXPORTING
          i_interface_check        = ' '
          i_callback_program       = sy-cprog
          is_layout                = ls_layout
          it_fieldcat              = lt_fieldcat
          it_excluding             = lt_exctab
        IT_SPECIAL_GROUPS        =
          it_sort                  = lt_sorttab
        IT_FILTER                =
        IS_SEL_HIDE              =
        I_SCREEN_START_COLUMN    = 0
        I_SCREEN_START_LINE      = 0
        I_SCREEN_END_COLUMN      = 0
        I_SCREEN_END_LINE        = 0
        I_DEFAULT                = 'X'
          i_save                   = 'A'
          is_variant               = gs_variant
          it_events                = lt_events
        IT_EVENT_EXIT            =
          i_tabname_header         = 'GT_ALV1_DATA'
          i_tabname_item           = 'GT_ALV2_DATA'
        I_STRUCTURE_NAME_HEADER  =
        I_STRUCTURE_NAME_ITEM    =
          is_keyinfo               =  ls_keyinfo
          is_print                 =  ls_print
        IS_REPREP_ID             =
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER  =
        ES_EXIT_CAUSED_BY_USER   =
        TABLES
          t_outtab_header          = gt_alv1_data
          t_outtab_item            = gt_alv2_data.
      EXCEPTIONS
        PROGRAM_ERROR            = 1
        OTHERS                   = 2
    ENDFORM.                           " ALV_LIST_DISPLAY
          FORM ALV_INIT_REPORT_LAYOUT                                   *
          Set up report layout definition for ALV_LIST_DISPLAY          *
    <-- OT_FIELDCAT list of fields                                     *
    <-- OT_EXCTAB   excluded menu options                              *
    <-- OT_SORTTAB  sorting/grouping definition                        *
    <-- OS_LAYOUT   global report layout settings                      *
    <-- OS_PRINT    global report printout settings                    *
    <-- OS_KEYINFO  itab key fields (required only for hier.lists)     *
    FORM alv_init_report_layout TABLES ot_fieldcat TYPE slis_t_fieldcat_alv
                                       ot_exctab   TYPE slis_t_extab
                                       ot_sorttab  TYPE slis_t_sortinfo_alv
                              CHANGING cs_layout   TYPE slis_layout_alv
                                       cs_print    TYPE slis_print_alv
                                       cs_keyinfo  TYPE slis_keyinfo_alv.
    add menu items to be excluded to ot_exctab.
      REFRESH ot_exctab.
      REFRESH ot_fieldcat.
      REFRESH ot_sorttab.
    !!! List all ALV data fields for display here:
    DD-struct  = data dictionary structure name
    DD-field   = field of data dictionary structure
    itab       = internal table for output data
    itab-field = internal table field name
    key        = set to 'X' if key field
    sum        = set to 'X' for totals
    hid        = set to 'X' if field is initially hidden
    row        = list row number (multi-line list if >1)
    DD-struct    DD-field     itab         itab-field  key sum hid row
      PERFORM alv_build_fieldcat TABLES ot_fieldcat USING:
    'VBAK'       'VBELN'      'GT_ALV1_DATA' 'VBELN'     ' ' ' ' ' ' 1 ,
    'VBAK'       'ERDAT'      'GT_ALV1_DATA' 'ERDAT'     ' ' ' ' ' ' 1 ,
    'VBAK'       'ERZET'      'GT_ALV1_DATA' 'ERZET'     ' ' ' ' ' ' 1 ,
    'VBAK'       'ERNAM'      'GT_ALV1_DATA' 'ERNAM'     ' ' ' ' ' ' 1.
      PERFORM alv_build_fieldcat TABLES ot_fieldcat USING:
    'MARA'       'MATNR'      'GT_ALV2_DATA' 'MATNR'     ' ' ' ' ' ' 1 .
    !!! List all ALV data fields for sorting/grouping here
    itab       = internal table for output data
    itab-field = internal table field name
    up         = sort ascending
    down       = sort descending
    grp        = group by
    comp       = group initially compressed
    pos        = field position in sort sequence
    itab                   field              up down grp comp        pos
      PERFORM alv_build_sorttab TABLES ot_sorttab USING:
    'GT_ALV1_DATA'         'VBELN'             'X' ' ' ' ' ' '           1.
      PERFORM alv_build_sorttab TABLES ot_sorttab USING:
    'GT_ALV2_DATA'         'MATNR'             'X' ' ' ' ' ' '           1.
    !!! key definition - required only for hierarchical display (2 itabs)
      cs_keyinfo-header01 = 'VBELN' .
      cs_keyinfo-item01   = 'MATNR' .
    !!! See the declaration of type SLIS_LAYOUT_ALV and set the fields
    !!! of OS_LAYOUT record to change list-level attributes
    os_layout-no_colhead     = 'X'.         " no headings
      cs_layout-zebra          = 'X'.         " stripped pattern
    os_layout-no_vline       = 'X'.         " columns separated by space
    os_layout-totals_only    = 'X'.         " show only totals
    os_layout-totals_text    = 'Total'.     " totals line label
    os_layout-subtotals_text = 'Subtotal'.  " subtotals line label
    os_layout-subtotals_text = 'Subtotal'.  " subtotals line label
    os_layout-key_hotspot    = 'X'.         " keys as hotspot
    os_layout-expand_all     = 'X'.         " Expand all positions
    os_layout...
      cs_print-no_print_selinfos = 'X'.       " Skip selection statistics
      cs_print-no_print_listinfos = 'X'.      " Skip list statistics
    os_print-...
    ENDFORM.                               " INIT_REPORT_LAYOUT
          FORM ALV_BUILD_FIELDCAT                                       *
          Format a single line for ALV_INIT_REPORT_LAYOUT               *
    FORM alv_build_fieldcat TABLES ot_fieldcat
                            USING  iv_ref_tabname   "ref to a table/field
                                   iv_ref_fieldname
                                   iv_tabname     "actual table/field name
                                   iv_fieldname
                                   iv_key
                                   iv_do_sum
                                   iv_no_out
                                   iv_row_pos.
    status variables for auto-numbering of field column position
    (column number reset when a new table or row begins)
      STATICS: sv_last_tabname TYPE slis_tabname,
               sv_last_row_pos TYPE i,
               sv_current_col  TYPE i.
      IF sv_last_tabname <> iv_tabname OR sv_last_row_pos <> iv_row_pos.
        sv_current_col = 1.
      ELSE.
        ADD 1 TO sv_current_col.
      ENDIF.
      sv_last_tabname = iv_tabname.
      sv_last_row_pos = iv_row_pos.
      DATA: ls_fieldcat    TYPE slis_fieldcat_alv.
      DATA: lv_fieldname   TYPE slis_fieldname.
      lv_fieldname = iv_fieldname.
    !!! List all the special formatting requirements in cases below
    case lv_fieldname.
      when 'WRBTR'.                      "<-- link with currency required
        ls_fieldcat-cfieldname = 'WAERS'.
        ls_fieldcat-ctabname   = iv_tabname.
      when 'HKONT'.                     "<-- change default column header
        ls_fieldcat-seltext_s  = 'GL Acc.'.
        ls_fieldcat-ddictxt    = 'S'.          " (S)hort (M)iddle (L)ong
      when 'SOME_NUMBER'                 "<-- change number formatting
        ls_fieldcat-nosign     = 'X'.
        ls_fieldcat-nozero     = 'X'.
        ls_fieldcat-just       = 'L'.         " (L)eft (R)ight (C)enter
    endcase.
      ls_fieldcat-ref_tabname   = iv_ref_tabname.
      ls_fieldcat-ref_fieldname = iv_ref_fieldname.
      ls_fieldcat-tabname       = iv_tabname.
      ls_fieldcat-fieldname     = iv_fieldname.
      ls_fieldcat-key           = iv_key.
      ls_fieldcat-do_sum        = iv_do_sum.
      ls_fieldcat-no_out        = iv_no_out.
      ls_fieldcat-row_pos       = iv_row_pos.
      ls_fieldcat-col_pos       = sv_current_col.
      APPEND ls_fieldcat TO ot_fieldcat.
    ENDFORM.                          " ALV_BUILD_FIELDCAT
          FORM ALV_BUILD_SORTTAB                                        *
          Set up sorting information for ALV_INIT_REPORT_LAYOUT         *
    FORM alv_build_sorttab TABLES ot_sorttab TYPE slis_t_sortinfo_alv
                           USING  iv_tabname   TYPE slis_fieldname
                                  iv_fieldname TYPE slis_fieldname
                                  iv_up        TYPE c
                                  iv_down      TYPE c
                                  iv_subtot    TYPE c
                                  iv_comp      TYPE c
                                  iv_spos      TYPE n.
      ot_sorttab-spos      = iv_spos.
      ot_sorttab-fieldname = iv_fieldname.
      ot_sorttab-tabname   = iv_tabname.
      ot_sorttab-up        = iv_up.
      ot_sorttab-down      = iv_down.
      ot_sorttab-subtot    = iv_subtot.
      ot_sorttab-comp      = iv_comp.
      APPEND ot_sorttab.
    ENDFORM.                            " ALV_BUILD_SORTTAB
          FORM ALV_INIT_REPORT_EVENTS                                   *
          Set up program events for ALV_LIST_DISPLAY                    *
    <-- OT_EVENTS   list of events and associated report subroutines   *
    FORM alv_init_report_events TABLES ot_events TYPE slis_t_event.
      CLEAR   ot_events.
      REFRESH ot_events.
      ot_events-name = slis_ev_user_command.
      ot_events-form = 'USER_COMMAND'.
      APPEND ot_events.
      ot_events-name = slis_ev_pf_status_set.
      ot_events-form = ''.                         "'PF_STATUS_SET'.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_list.
      ot_events-form = 'TOP_OF_LIST'.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_list.
      ot_events-form = 'END_OF_LIST'.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_page.
      ot_events-form = 'TOP_OF_PAGE'.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_page.
      ot_events-form = 'END_OF_PAGE'.
      APPEND ot_events.
      ot_events-name = slis_ev_foreign_top_of_page.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_foreign_end_of_page.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_top_of_coverpage.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_end_of_coverpage.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_before_line_output.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_after_line_output.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_caller_exit_at_start.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_list_modify.
      ot_events-form = ''.
      APPEND ot_events.
      ot_events-name = slis_ev_subtotal_text.
      ot_events-form = ''.
      APPEND ot_events.
    ENDFORM.                            " ALV_INIT_REPORT_EVENTS
          FORM USER_COMMAND                                             *
          Subroutine attached as callback form to ABAP List Viewer      *
      --> UCOMM    - user command code passed from ALV                  *
      --> SELFIELD - information record describing current line/field   *
    FORM user_command USING value(iv_ucomm) LIKE sy-ucomm
                            is_selfield     TYPE slis_selfield.
      CASE iv_ucomm.
        WHEN '&IC1'.                                  "ALV record selection
          PERFORM display_record USING is_selfield.
      when ...
      ENDCASE.
    ENDFORM.                               " USER_COMMAND
          FORM PF_STATUS_SET                                            *
          Subroutine attached as callback form to ABAP List Viewer,     *
          allows setting alternative menu.  If necessary:               *
          1. Copy 'STANDARD' menu from SAPLKKBL and modify as required, *
          2. Activate callback                                          *
    FORM pf_status_set USING it_exctab TYPE slis_t_extab.
    set pf-status 'STANDARD' excluding it_exctab.
    ENDFORM.                               " PF_STATUS_SET
          FORM TOP_OF_LIST                                              *
          Subroutine attached as callback form to ABAP List Viewer,     *
          executed once at the start of list output.                    *
    FORM top_of_list.
      DATA: lt_seltab TYPE STANDARD TABLE OF rsparams WITH HEADER LINE.
      DATA: lv_report LIKE sy-repid.
      lv_report = sy-repid.             "do not pass sy-repid to function!
      IF p_box_up = 'X'. "display select options at report start
        CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
          EXPORTING
            curr_report     = lv_report
          TABLES
            selection_table = lt_seltab.
    remove 'technical' parameters with 'DELETE LT_SELTAB WHERE...'
    before display, if necessary
        CALL FUNCTION 'RS_LIST_SELECTION_TABLE'
           EXPORTING
                report        = lv_report
                seltext       = 'X'
            dyn_range     =
                newpage       = ' '
            screennr      = 1000
           TABLES
                sel_tab       = lt_seltab
           EXCEPTIONS
                sel_tab_empty = 1.
      ENDIF. "p_box_up = 'X'
    ENDFORM.                               " TOP_OF_LIST
          FORM END_OF_LIST                                              *
          Subroutine attached as callback form to ABAP List Viewer      *
          executed once at the end of list output.                      *
    FORM end_of_list.
      DATA: lt_seltab TYPE STANDARD TABLE OF rsparams WITH HEADER LINE.
      DATA: lv_report LIKE sy-repid.
      lv_report = sy-repid.             "do not pass sy-repid to function!
      IF p_box_do = 'X'. "display select options at report end
        CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
          EXPORTING
            curr_report     = lv_report
          TABLES
            selection_table = lt_seltab.
    remove 'technical' parameters with 'DELETE LT_SELTAB WHERE...'
    before display, if necessary
        CALL FUNCTION 'RS_LIST_SELECTION_TABLE'
           EXPORTING
                report        = lv_report
                seltext       = 'X'
            dyn_range     =
                newpage       = ' '
            screennr      = 1000
           TABLES
                sel_tab       = lt_seltab
           EXCEPTIONS
                sel_tab_empty = 1.
      ENDIF. "p_box_do = 'X'
    ENDFORM.                               " END_OF_LIST
          FORM TOP_OF_PAGE                                              *
          Subroutine attached as callback form to ABAP List Viewer      *
    FORM top_of_page.
    standard Ingram Micro report page heading
      DATA: lv_coco_pos TYPE i,          "CurPos of 'Company confidential'
            lv_title_pos TYPE i,           "CurPos of report title
            lv_title(70) TYPE c,           "Truncated report title
            lv_page_pos TYPE i,            "CurPos of page number
            lv_date_pos TYPE i,            "CurPos of date and time
            lv_page_no(10) TYPE c,
            lv_date(25) TYPE c,
            lv_time(20) TYPE c,
            lv_page(10) TYPE c.
    We may need to truncate title if the line size is < 81.
      IF sy-linsz < 81.
        lv_title = sy-title+0(50).
      ELSE.
        lv_title = sy-title.
      ENDIF.
    Decide on positioning of text depending on width of page
      lv_title_pos = ( sy-linsz / 2 ) - ( STRLEN( lv_title ) / 2 ).
      lv_coco_pos = sy-linsz - 20.
      FORMAT COLOR COL_HEADING INTENSIFIED ON.
      WRITE: / 'Ingram Micro',
               AT lv_title_pos lv_title,
               AT lv_coco_pos 'Company Confidential'.
    Setup data correctly in the correct format for the display fields.
      lv_page = sy-pagno.
      SHIFT lv_page LEFT DELETING LEADING ' '.
      CONCATENATE sy-datum6(2) sy-datum4(2) sy-datum+0(4)
                   INTO lv_date SEPARATED BY '.'.
      CONCATENATE sy-uzeit0(2) ':' sy-uzeit2(2) INTO lv_time.
      CONCATENATE lv_date lv_time INTO lv_date SEPARATED BY ' '.
      CONCATENATE 'Page' lv_page INTO lv_page_no SEPARATED BY ' '.
    Decide on positioning of text depending on width of page.
      lv_page_pos = sy-linsz - ( STRLEN( lv_page_no ) ).
      WRITE: / lv_date,
               AT lv_page_pos lv_page_no.
      ULINE.
    ENDFORM.                               " TOP_OF_PAGE
          FORM END_OF_PAGE                                              *
          Subroutine attached as callback form to ABAP List Viewer      *
    FORM end_of_page.
    ENDFORM.                               " END_OF_PAGE
          Form  ALV_VARIANT_EXISTENCE
          Reads ALV variant definition
    FORM alv_variant_existence  USING    iv_variant LIKE disvariant-variant
                                CHANGING os_variant LIKE disvariant.
      CHECK NOT iv_variant IS INITIAL.
      os_variant-report  = sy-repid.
      os_variant-variant = iv_variant.
      IF iv_variant CP '/*'.    "user-specific variants begin with slash
        os_variant-username = sy-uname.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
        EXPORTING
          i_save        = 'A'
        CHANGING
          cs_variant    = os_variant
        EXCEPTIONS
          wrong_input   = 1
          not_found     = 2
          program_error = 3
          OTHERS        = 4.
      IF sy-subrc <> 0.
        MESSAGE e001(z9) WITH 'Please select a valid display variant.'.
      ENDIF.
    ENDFORM.                               " ALV_VARIANT_EXISTENCE
          FORM ALV_VARIANT_F4                                           *
          Display list of layout variants on report selection screen    *
    FORM alv_variant_f4  CHANGING cv_varname  LIKE disvariant-variant
                                  cs_variant  LIKE disvariant.
      DATA: lv_exit(1) TYPE c.
      cs_variant-report = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                is_variant          = cs_variant
                i_save              = 'A'
              it_default_fieldcat =
           IMPORTING
                e_exit              = lv_exit
                es_variant          = cs_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 lv_exit = space.
          cv_varname = cs_variant-variant.
        ENDIF.
      ENDIF.
    here in output. if you will click on material. you can go to other transaction.
    also for drill down you can refer one standard program.
    DEMO_DYNPRO_DROPDOWN_LISTBOX
    regards
    Ruchika
    reward if useful.

  • Changing standard size sim to micro & keep existing number

    I have a standard size orange, payg sim card.  I want to buy a moto g phone which takes a micro sim card, I want to stay with payg.   If I order a micro sim card,  can I keep my existing phone number and any credit on my current sim?  What would I need to do?Thanks

    Take phone & old SIM into an EE shop & they'll transfer credit, no. & (SIM) contacts to SIM of correct size for free or order online https://explore.ee.co.uk/Order-a-new-SIM for £10.

  • IPhone 5 micro USB conversion to standard USB for car iPod input.

    My car has a USB port for iPod, but my iPhone 5 micro USB won't fit. How can I convert the micro USB to a Standard USB?

    It works now, must have been user error. Any suggestions on getting Pandora to work using iPhone 5 on my 2013 Honda Accord EXL? I downloaded the Honda Aha App, but still didn't work. Previously had a Droid X that worked slacker radio and Pandora with no problem in the car.

  • Recommend a Micros to Standard USB adapter

    Has anyone tried scanning from an HP Mobile 150 printer using an HP 10 ee tablet? Is there an dapter that can be used and can you recommend any? thanks!

    Hi!, Aly1016: Welcome, to forum !. Please, check this document ... http://support.hp.com/us-en/product/HP-Officejet-150-Mobile-All-in-One-Printer-series---L5/4231411/model/4231412/document/c03286146/

  • Apple Micro-DVI to Video Adapter New MacBook Air

    Hi All,
    I am brand new to the Mac world (Been a PC user my entire life). Thought I would take a gamble on a Mac and see how it goes. So far I have been really impressed and happy!
    I bought a MacBook Air a few weeks ago. It's a 2.13 GHZ MacBook Air. I would like to connect it to my "old school" standard TV which has S-Video and RCA (Yellow) inputs. I went on the Apple Store and found the Apple Micro-DVI to Video Adapter which says it is designed for a MacBook Air. Previosly though, I saw a discussion on another Mac type site that said this adapter was designed for the old MacBook Air laptops. Does anyone know if this adapter will work on my new MacBook Air? The techspecs call my MacBook Air video output a "MiniDisplay Port". Is this just a new name for Micro-DVI?
    Any help would be appreciated.
    Peter

    No, there is currently no adapter available to go from mini displayport to a compostie or s-video tv. Monoprice.com sells a mini displayport to hdmi cable. That's the closest there is.
    Your mba doesn't have a mini-dvi port.
    Glor

  • No video output from MacBook Air micro DVI to Polaroid HDTV via DVI to HDMI

    Grrr! What's going on? The Apple online store finally sent me a micro DVI to DVI adapter and a DVI to HDMI adapter cable as well as headphone output to RCA adapter cables (for separate audio, since DVI will not transmit audio) and I hooked it up and - NOTHING! When I initialize the appropriate input setting on the Polaroid 27"HDTV the MacBook Air seems to get some sort of query signal as its screen flickers for a moment and turns to a grey screen for a couple seconds but then, that's it! Nothing! The Polaroid's screensaver remains and no signal, audio or video, is transmitted. Now, the micro DVI to DVI adapter is Apple proprietary so I don't think it is a DRM related issue where the chip might block the video signal coming out of the MacBook Air. The longer, DVI to HDMI adapter cable is by Belkin. Am I overlooking something? Could the new 27" Polaroid HDTV not be compatible with DRM protocol? I don't think so since all digital TVs equipped with an HDMI input are supposed to have DRM compatibility built in. What gives?

    Well, BSteely, where to begin? After my extensive discussions with more than one support engineer at Apple in Toronto as well as in Austin an interesting picture is emerging. Seems that I'd omitted a few things: First, I was not trying to display HD content but rather standard definition content. Second, I made the mistake hoping for an elegant and easy solution in hookup via HDMI (new flatscreens don't even have a DVI port anymore) - bad mistake! As one of the technicians put it, HDMI is an "unsettled" platform when it comes to HDCP, currently in version 1.4 , meaning, I should have tried VGA instead, a "settled" platform after all. Now, whether this will work remains to be seen because I don't have a micro DVI to VGA adapter yet but suffice to say that in essence I've been getting the message from Apple that, yes, the MacBook Air will - in the near future - support HDCP, but for now it does not contain the necessary software simply because HDMI is in its forth incarnation; plus, as they put it, Apple can't be responsible for testing compatibility with every single HD television set on the market - while it is true that there are thousands in existence, at the same time there are only four versions of HDMI with different HDCP specs! So, while I may be partially answering my own query here, it seems that Apple at this point is not particularly eager to make this software available because they rather would like to sell their new displays with the micro DVI ports instead of us endusers being able to hook the computer video signal up to just ANY monitor or TV. In the end, it is my hope that they will reconsider and not forget who their customers are, maybe after the Christmas season....

Maybe you are looking for

  • Why can't I burn a movie to me external dvd drive?

    I can share movies digitally to itunes, youtube, cnnreport, and vimeo. But can't burn to my external drive. What am I doing wrong, or is the macbook pro just that way?

  • Annoying creation of TRC file every time I run script

    I'm using SAPNWRFC and everytime I run a script an XML tracefile is created. In my sap.yml file I have:    ashost: <my hostname>    sysnr: "00"    client: "000"    user: <username>    passwd: <pwd>    lang: EN    trace: 0    debug: 0 Tracefile starts

  • Get thumbnail for DICOM

    Hi, Could you please show me a way how I could use Oracle Multimedia DICOM java API to generate thumbnail for DICOM? I use the table you describe at http://www.oracle.com/technology/obe/11gr1_db/datamgmt/dicom/dicom.htm. I get the OracleResultSet fro

  • Table does not fit into JScrollPane...

    Hello, I created a JTable and want to put this table into a JScrollPane, because the table is larger than the screen-size. The problem is that I never get the horizontal ScrollBar displayed, and the columns of my table are pressed together. Just try

  • Why i can't set an veriable into animation attributes?

    Hello, I have an simple question, why i can't put variables into animations ? <?xml version="1.0" encoding="utf-8"?> <s:Application width="100%" height="100%"                xmlns:fx="http://ns.adobe.com/mxml/2009"                xmlns:s="library://n