Sorting of definite articles

Running iTunes 9.0 on Windows XP. I have a number of foreign albums in my collection but the sorting criteria does not treat foreign definite/indefinite articles the same as English 'the'. e.g. 'Die Toten Hosen' gets sorted by Die instead of Toten. Found the below reference in iTunes support which indicates international equivalents of 'A, An & The' would be treated the same? Anyone aware of a setting or preference to enable?
• iTunes 7.3: Changes in music sort order
Other Ignore leading definite and indefinite articles The Beatles sorts as Beatles
http://support.apple.com/kb/HT2642
Ignore leading definite and indefinite articles
• "The Beatles" sorts as "Beatles"
• "A Night in Tunisia" sorts as "Night in Tunisia"
Note: In English these are "A ", "An ", and "The " and includes the localized or international equivalents.
thanks, Robert

Robert,
iTunes uses its SortPrefixes files to determine how to do that. (If you want to look at them, in XP they are in C:\Program Files\iTunes\iTunes.Resources). The one for English lists +a an the+ . The one for Spanish lists +el la los las un uno unas unos+ . And so on for others.
You can switch languages, but there is (unsurprisingly) no logic that will figure out what language a specific title is in and sort accordingly.
Since you just have a few German albums, it would probably be easiest to avail yourself of the Sort field as described in the support article that you referenced. Right-click the track(s), go to the Sort tab, and edit as you wish.

Similar Messages

  • Sort Order Definitions:

    looking for help in the sort order choices and how each one works to sort in grid view. Some are self evident but others I am not sure of...like PICK and EDIT COUNT.
    can anybody define how they sort...not finding any info in the LR4 help system
    Thnak you.

    Thank you for the tip. I've modified my Formular in order to look like this:
    // Declare and initialize variable
    Local NumberVar ProjectNo;
    // Extract Main project no out of database field and store it in local var.
    ProjectNo := ToNumber(
                    Left(
                        {Dienstleistungen.verweistAuf},
                        InStr({Dienstleistungen.verweistAuf},'-') - 1
    if (ProjectNo) = 0 then
    0
    else
    ProjectNo
    But this produces the same effect as above. Still no luck. Did I miss something?
    Thank you.

  • Assortment modules: Sorting by article

    Dear colleagues,
    for the effective articles search in Assortment module (WSV2) we need
    to sort it by product hierarchy (PRDHA), but now we have sorting only
    by article number.
    This changes we need to have in the table RV45A, program SAPMV45A,
    screen 0470, transaction VA01, reference to Contract.
    Could we have sorting Assortment module by product hierarchy in the determination of sales order position with referens to the contract position with Assortment Module?
    Best regards,
    Konstantin

    See Snow Leopard Snubs Document Creator Codes: http://db.tidbits.com/article/10537
    That's because [they have a better way|http://rixstep.com/2/20090909,00.shtml]. After four years, you'd think developers would update their software/data files instead of whining.
    My Kind listing shows what created the file, Microsoft Word document, Adobe Photoshop Elements file, MacDraft document, etc. I even see Textwrangler text document--they apparently figured it out. It comes from the kMDItemKind metadata.
    Message was edited by: Barney-15E

  • Selecting Import Settings (MP3, Apple Lossless, AAC...): definitive guide?

    Can anyone point me to a "definitive" article discussing the various choices importing CDs into iTunes? I'm looking for something that gives sound advice (pun intended!) on which format to use, laying out some sort of matrix that compares file size to sound "quality".
    Apologies for posting what's been posted a gazillion times before, but my searches in the forum led me to lots of long threads, short on information).

    Argelius, It is truly an area with thousands of opinions being expressed. Each of the formats represents some tradeoff of size, audio quality, and compatibility. If you have particular uses or preferences, that will influence your choice.
    If you are interested in knowing what the commercial stores are doing, the iTunes Store uses AAC at 256 kb/s and amazon.com uses MP3 at 256 kb/s.
    Across the total range of players, programs, and phones, MP3 is by far the most widely accepted.
    Lossless formats are used by people whose ears, systems, and listening conditions will benefit from top-notch audio quality. Lossless formats are also used by those who plan to do further processing (e.g. remixing) of their music.

  • Sort Key Purpose

    Hi,
    Can anyone clarify me on the following issues
    1. While posting billing document in TC: VF01 on what base system will trigger GL accounts. I know it is from VKOA but my doubt is how system knows this GL gets posted debit and another GL gets posted credit. Look at an example on the following entry...
    At the time of billing for Sales:
    Customer A/c Dr
    VAT Payable A/c Dr
    To Sales
    At the time of sales returns
    Sales Returns A/c Dr
    To Customer
    To VAT Payable
    2. What is the purpose Sort Key & Definition
    Thanks in advance
    Deepu

    Hi Deepu,
    1.  In VFO1 we are used table 1, it contains customer group, material group and sales revenue account determination.
    through this assignment sales ledger will be update.
    2. while doing sales order we used to mentioned customer number, through sales order we are delivery the material to customer. Through this delivery order we have to raise the bill, so automatically the customer will debit according to sap and stanadard accounting rules.
    3. sort key : it is used for only for document assignment.
    bye,,,,,,,,,,,,

  • Sorting KM news / xml forms

    I've created xml forms / news.
    The publication is working fine but,
       - the news are sorted by News name
    and I would like to change the sorting
       - or by creating date
       - or by a specific field of the news' data model
    Does someone have experience with this ?
    Kind regards
    Vincent

    Hi Vincent,
    It appears the default setting for the "NewsBrowser" are as follows:
    Property for Sorting: modified
    Sorting Mode: descending
    This means the default NewsBrowser will renders all news articles
    on the last modified date in descending order where the property
    id modified maps to the property cm_modified.
    There is no property existing called "date", if you wish to sort
    the news articles on the creation date the property id you would
    use is created which maps to the property cm_created, so you
    parameters would look like this:
    Property for Sorting: created
    Sorting Mode: descending
    Did you tried above configrations?
    Best Regards
    Anjali

  • HD DVD Burners and DVD Players

    Someone recently told me that to have HD Quality video using an HD digital camera such as the HDR-FX1, i need an HD DVD burner, and an HD DVD player. Is this true? Or can I just use my LaCie DVD burner and my Sony DVD player and still get HD quality?

    It is unknown at this time what will play in HD DVD players when they arrive. Sony, Apple, HP and other are supporting BluRay(tm) and H.264 as their selected format, Intel, Microsoft, Toshiba and others another encoding technology, some sort of Window Media stuff.
    Yes, HD does take 4 times as many bits, and more than that for up to 24 channels of audio; but compression technology continues to improve. WRT H.264, I don't know what it's maximum bit rate is and I've not seen definitive articles on compression artifacts and other concerns on HD material. When HD DVD arrives, many of us will want to see substantial improvements over the best DVD has to offer; I'd really like 1080p rather than interlaced, for example. Bluray certainly has the technical specs to provide the data storage for that. But we'll have to wait and see who wins the technology battles.
    Ed.
    PS: there was a news article today which said the Chinese are even going to invent their OWN HD DVD standards for a third competing method of creating DVDs. Something about wanting to avoid licensing fees in the Chinese market.

  • Alphabetize Artist Name without "The"

    Hey,
    I know it's pretty silly, but before the last itunes upgrade artist were alphabetized without the "The". That is, you could find "The Strokes" in the S and "The Killers" in the K.
    I liked that a lot, how can I go back to it with itunes 7.0.1?
    It's not necessary at all, but thanks a lot anyway!

    Are you sure about that Quentin-Alexandre?
    iTunes still sorts the artists in my Library without reference to the "The" - not that I have either The Strokes or The Killers but I do have The Beatles and the Temptations. ; - )
    Although I do seem to recall reading reports that certain non-English languages (French and German come to mind) did include the definite article in their sortation.
    I can't find any documentation on that right now but before following up on it, can you say whether you're using an English language iTunes or not.

  • Bug Italian version iTunes 7.3

    Some italian users reported a bug in songs' alphabetical order in iTunes 7.3.
    An example:
    The Author "Led Zeppelin" follows the author "The Cure" and it's followed by "David Bowie".
    The Author "Iggy Pop" is between "George Michael" and "Gianna Nannini".
    I think that iTunes does not consider "Led Zeppelin" as an entire word but as a word composed by "Le-d Zeppelin".
    The same thing happens with "Iggy Pop", processed by iTunes as "I-ggy Pop".
    That's because the italian words "Il" "Le" or "I" are sometimes wrogly considered as the definite article, like “The” in English, and therefore ignored in the alphabetical order.
    The author "I Dik Dik" in fact is correctly ordered between "Dire Straits" and "Dido".
    Hoping for a Bug Fix.
    Thanx for attention and Help!
    Luca

    Yes, great timeliness in relasing an update, thank you.
    but the bug isn't fixed at all:
    in Italy "i" is an article (plural) and then an english song like "I want more" is sorted as "Want More"
    Moreover:
    luckily you fixed the bug with italian, french and spanish articles, but unfortunately you've introduced another little bug (maybe just in the italian, french and spanish versions of iTunes 7.3.1): now artists like "The Beatles" are sorted under the letter T, where as in the former versions of iTunes were sorted without the english article.
    Hope you'll fix this soon, thank you again.

  • Need div to sit at bottom of containing div, now top content wont displace lower content when expanding

    I wanted to make a site with a fixed height, but after
    posting on this forum have decided against it.
    Im now trying to make a sort of ‘best of both
    worlds’ design that isn't a fixed height, but uses a
    min-height value so it will have the same height for the majority
    of users. The site will normally look like it want it to, but will
    also be able to expand in the rare times this is needed,
    sacrificing aesthetics only when necessary.
    My site is here;
    http://tfproperty.co.uk/testing/tfemp6/
    Most of the top links work fine. I put extra text in the
    ‘Products and Services’ page and you can see that the
    text does not displace the content below it, but instead goes
    ‘underneath’ it. The reason for this is the CSS below;
    .bottom {
    bottom:0;
    left:0;
    position:absolute;
    If I remove this CSS then the text displaces the content
    below it like it should. That CSS is there for a reason though. I
    want the content of the div 'bottom' to sit at the bottom of the
    div 'container'. If you click on the ‘TFE’s Energy
    Plan’ links at the bottom of the page, the text ‘coming
    soon’ appears. I need this text to appear from the bottom of
    the page (which it currently does).
    Thanks for all the help that has got me to this stage, but
    how can I get round this final problem?
    thanks

    > what do you mean by 'clear the float'? something like
    this?;
    >
    http://www.positioniseverything.net/easyclearing.html
    Sorta, but definitely not that. Read this to see -
    http://www.tjkdesign.com/articles/clearing-floats_and_block-formatting_context.asp
    > Will using more id and less class think make a
    difference on this page or
    > is
    > it more just good habit in general?
    It is a good habit. And it forces you to think in terms of
    the normal flow
    of the page, rather than just slapping a class on an element.
    In addition,
    it will encourage you to begin thinking of the expanded use
    of descendent
    selectors.
    > you can see the background image doesn't go all the way
    down, despite
    > being
    > set to repeat. If i click on 'products and services' the
    background image
    > does
    > repeat behind the text, but again only goes down about
    10px into the div
    > 'bottom'.
    This will definitely be fixed by clearing the floats within
    that container.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "jdldn" <[email protected]> wrote in message
    news:[email protected]...
    > what do you mean by 'clear the float'? something like
    this?;
    >
    http://www.positioniseverything.net/easyclearing.html
    >
    > Will using more id and less class think make a
    difference on this page or
    > is
    > it more just good habit in general?
    >
    > ive taken screen shots to show the problem.
    >
    > according to a render site ie is working fine;
    >
    http://tfproperty.co.uk/testing/ie.tiff
    >
    > but his is how it looks to me in FF;
    >
    http://tfproperty.co.uk/testing/ff.tiff
    >
    > you can see the background image doesn't go all the way
    down, despite
    > being
    > set to repeat. If i click on 'products and services' the
    background image
    > does
    > repeat behind the text, but again only goes down about
    10px into the div
    > 'bottom'.
    >
    > 'container' and 'bottom' should both be contained in
    'wrapper'
    > thanks
    >

  • 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

  • What's New in CS 4?

    I'm trying to find a definitive article/link showing all of
    the =
    enhancements in DreamweaverCS 4 over CS 3. Anybody have any
    decent =
    pointers?
    Thanks!
    Ross

    > Now I should be able to answer the question "is the
    upgrade worth it?"
    The best way would be to get the trial (when it's available)
    and take it for
    a test drive.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "ross m. greenberg" <[email protected]> wrote in
    message
    news:gbluun$8qq$[email protected]..
    Polishing away! :-)
    Looking at your link answers most of my questions! Now I
    should be able to
    answer the question "is the upgrade worth it?"
    Thank you!
    Ross
    "danilocelic AdobeCommunityExpert"
    <[email protected]> wrote in
    message news:gblog7$1n4$[email protected]..
    > ross m. greenberg wrote:
    >> "Murray *ACE*"
    <[email protected]> wrote in message
    >> news:gbllvq$s5i$[email protected]..
    >>>
    http://www.adobe.com
    >>>
    >>
    >> I was looking for something a bit more definitive!
    >>
    >> I've been spelunking around that site for a while
    and really have not
    >> found a definitive document that outlines, say, the
    top 10 enhancements
    >> in CS 4.
    >
    > Me thinks your spelunking skills need a little
    polishing. :-p
    >
    > Two click from the main page (click the Dreamweaver
    logo, then click the
    > "See top new features" link) and that will get you here:
    >
    http://www.adobe.com/products/dreamweaver/features/?view=topnew
    >
    > --
    > Danilo Celic
    > |
    http://blog.extensioneering.com/
    > | WebAssist Extensioneer
    > | Adobe Community Expert

  • View on DB Table

    I want to create a view on DB Table eg CSKS. Can anyone show me how to do this or Show me where I can find information to create view on DB Table.
    Thanks.

    hi anil,
    In database theory, a view is a virtual or logical table composed of the result set of a query. Unlike ordinary tables (base tables) in a relational database, a view is not part of the physical schema: it is a dynamic, virtual table computed or collated from data in the database. Changing the data in a table alters the data shown in the view.
    The result of a view is stored in a permanent table whereas the result of a query is displayed in a temporary table.
    Views can provide advantages over tables;
    They can subset the data contained in a table
    They can join and simplify multiple tables into a single virtual table
    Views can act as aggregated tables, where aggregated data (sum, average etc.) are calculated and presented as part of the data
    Views can hide the complexity of data, for example a view could appear as Sales2000 or Sales2001, transparently partitioning the actual underlying table
    Views take very little space to store; only the definition is stored, not a copy of all the data they present
    Depending on the SQL engine used, views can provide extra security.
    Views can limit the exposure to which a table or tables are exposed to the outer world
    Just like functions (in programming) provide abstraction, views can be used to create abstraction. Also, just like functions, views can be nested, thus one view can aggregate data from other views. Without the use of views it would be much harder to normalise databases above second normal form. Views can make it easier to create lossless join decomposition.
    Rows available through a view are not sorted. A view is a relational table, and the relational model states that a table is a set of rows. Since sets are not sorted - per definition - the rows in a view are not ordered either. Therefore, an ORDER BY clause in the view definition is meaningless and the SQL standard (SQL:2003) does not allow this for the subselect in a CREATE VIEW statement.
    Read-only vs. updatable views
    Views can be read-only or updatable. If the database system is able to determine the reverse mapping from the view schema to the schema of the underlying base tables, then the view is updatable. INSERT, UPDATE, and DELETE operations can be performed on updatable views. Read-only views do not support such operations because the DBMS is not able to map the changes to the underlying base tables.
    Some systems support the definition of INSTEAD OF triggers on views. This technique allows the definition of logic that shall be executed instead of an insert, update, or delete operation on the views. Thus, data modifications on read-only views can be implemented. However, an INSTEAD OF trigger does not change the read-only or updatable property of the view itself.
    Advanced view features
    Various database management systems have extended the views from read-only subsets of data. The Oracle database introduced the concept of materialized views, which are pre-executed, non-virtual views commonly used in data warehousing. They are a static snapshot of the data and may include data from remote sources. The accuracy of a materialized view depends on the frequency or trigger mechanisms behind its updates. DB2 provides so-called materialized query tables (MQTs) for the same purpose. Microsoft SQL Server, introduced in the 2000 version, indexed views which only store a separate index from the table, but not the entire data.
    Equivalency:
    A view is equivalent to its source query. When queries are run against views, the query is modified. For example, if there exists a view named Accounts_view and the content is:
    accounts view:
    SELECT name,
           money_received,
           money_sent,
           (money_received - money_sent) AS balance,
           address,
      FROM table_customers c
      JOIN accounts_table a
        ON a.customerid = c.customer_id
    The application would simply run a simple query such as:
    Sample query
    SELECT name,
           balance
      FROM accounts_view
    The RDBMS then takes the simple query, replaces the equivalent view, then sends the following to the optimiser:
    Preprocessed query:
    SELECT name,
           balance
      FROM (SELECT name,
                   money_received,
                   money_sent,
                   (money_received - money_sent) AS balance,
                   address,
              FROM table_customers c JOIN accounts_table a
                   ON a.customerid = c.customer_id        )
    From this point on the optimizer takes the query, removes unnecessary complexity (i.e. it is not necessary to read the address, since the parent invocation does not make use of it) and then sends the query to the SQL engine for processing.
    thanks
    karthik
    reawrd me if usefull

  • Invoke Error while inserting consumed JMS Topic msg in table thru DBadapter

    Hi All,
    To brief abt my requirement, I am integrating Peoplesoft HRMS module with Oracle SOA i.e.,
    +
    1. PS HRMS module will publish a JMS msg into a JMS Topic
    2. I will consume the same msg using JMS adapter consume operation in my SOA project
    3. The Payload(msg) is coming into RECEIVE activity and thru ASSIGN activity invoking the DB adapter to insert the msg into a table.
    4. INVOKE activity is throwing the below error(along with the error, able to see the payload in INVOKE activity )
    <part name="summary"> +
    <summary>*Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: Mapping Not Found Exception. The mapping [EMPLID] for descriptor [class insert.Employee] could not be found. The input xml record had an element [Employee/EMPLID]. Most likely the wrong xml input variable (not matching the expected xsd) was passed to this invoke. Make sure that the input xml is valid relative to the xsd and that the mapping exists in the Mappings.xml. If an old version of the descriptor without this mapping has been loaded by the database adapter, you may need to bounce the app server. If the same descriptor is described in two separate Mappings.xml files, make sure both versions include this attribute/mapping. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. *</summary>
    </part>
    Please, provide some suggestions.
    Regards,
    Satya

    Hi Satya,
    Try replacing the Assign activity with a Transform acitivity.
    Also please check the schema that comes of the DB adapter is having the similar sort of definition that you are getting in your input.
    What I mean is to check for length of fields, type of the fields etc.
    Thanks,
    Deepak.
    Edited by: DeepakDabbiru on Oct 23, 2012 3:29 AM

  • COMPUTE_BCD_OVERFLOW Runtime Error in 'Z' Program

    Hi Gurus,
    In one of my report, i am getting this error:
    Run Time Error: Compute_BCD_Overflow
    Exception              CX_SY_ARITHMETIC_OVERFLOW
    Short text
        Overflow during the arithmetical operation (type P) in program
    Error analysis
        An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_ARITHMETIC_OVERFLOW', was not
         caught in
        procedure "OUTPUT_DATA" "(FORM)", nor was it propagated by a RAISING clause.
        Since the caller of the procedure could not have anticipated that the
        exception would occur, the current program is terminated.
        The reason for the exception is:
        An overflow was discovered in an ongoing arithmetical operation with
        operands of type P. Possible causes are:
        1. The result field of type P is too small for the result.
        2. The result or a intermediate result has more than 31 decimal places.
    I searched a lot on SCN but most of the solutions are for standard SAP programs and SAP has provided notes for that.
    I am pasting a part of subroutine. Below is subroutine in which error is coming:
    FORM output_data .
       gt_data1_copy = gt_data1.
       SORT gt_data2 BY article site sloc.
       SORT gt_data1_copy BY article site sloc.
       LOOP AT gt_data1 INTO gwa_data1.
         READ TABLE gt_data2 INTO gwa_data2 WITH KEY article = gwa_data1-article
                                                     site = gwa_data1-site
                                                     sloc = gwa_data1-sloc BINARY SEARCH.
         IF sy-subrc = 0.
           gwa_output-soh_qty = gwa_data2-soh_qty.
           gwa_output-count_qty = gwa_data2-count_qty.
           gwa_output-var_qty = gwa_data2-var_qty.
           gwa_output-var_value = gwa_data2-var_qty * gwa_data2-map. "Error is coming at this point.
                 "Here I am multiplying variance quantity to Moving average price(MAP) to get variance value.
         ENDIF.
    endloop.
    endform.
    Request your help.
    Appreciate Your Help in Advance.
    Regards,
    Pankaj

    Hi Nabheet,
    Thanks for your reply.
    ok..I ll try by keeping this as of type quantity.
    data : var_value type mseg-menge.
    Hope this will work fine.Actually this reports takes too much time. I ll run this in background and get back to you with result.
    Regards,
    Pankaj

Maybe you are looking for

  • Downloading Zip files

    I use a Blackberry Storm 2 9520 Why do I get a "Request Entity Too Large" message when I download a zip file, even if I've downloaded larger video files without having that problem.?

  • 2nd Display Low Resolution...

    I just got my Macbook pro yesterday. It has the 8600gt 512 GFX. I also have a Samsung LCD Television which supports up to 1440 X 900 Resolution. Whenever I connect the Television to the Laptop Via VGA I can only get 800 X 600 Resolution. 1440 X 900 d

  • How to remove entries for Enterprise Manager farm ?

    I installed the Oracle 10g application server middle tier (Forms and Report Services) on one server and made a mistake in the instance name. I deinstalled it and installed it again with the correct instance name. Note that my infrastructure (Identity

  • Migrating Logic and all plug ins from old mac to new mac

    Hi, I understand Migration Assistant will bring over all my old files from my Macbook Pro to my new Mac Pro.  My question is, I have Logic Pro 7 and authorization key (USB), my new Mac Pro has Logic Pro 9, can I use all my old music files by just usi

  • SAP BI Quality system appearing in SAP folder and not in BI folder in RSA1

    Dear SAP experts, We recently did a system refresh of our BI 3.5 Quality system QED from the BI 7.0 Production system PED .We ran the BDLS for all the connected source system that were to QED. But after this i find that in RSA1 under "source system"