Counting Unique Records: very urgent

Hi,
I have to create a query for which i have to count the unique records appearing for a particular selection. For that i created a CK and in its agregation set Count all values <> 0 For customer. we are having Modality in my rows and CK in column. Now what happens if for 4 different records there is one customer then output appears one against that modality but it should show 4. As such there is no unique field in the cube that i can count. But we have maintined a Count key figure against each record in the cube that has value 1 for each row. But as it is a Key figure i cannot use it in aggregation. Is there any way to solve this situation....
Please help. Its very urgent..
Thanks
Points assured.

Hello,
  Use Exception Aggregation as Customer. It will work.
Crearte CKF
        Assign 1 initial value
       Count all properties
      Exception aggretion is Customer.
I think It should work
Thanks,
Kishore
@KR

Similar Messages

  • Info records very urgent

    I will try explaining my scenario .client has given me a list of materials around 40,000 that need to be transferred from one SAP plant to another .Now i have to pull the corresponding info records to these materials.I tried EINE table but it would give me the whole list of info records for the plant not corresponding to these materials.
    Please if someone could suggest how do i choose purchasing info records and Q info records corresponding to those materials so that they could be moved to the new plant as well.....
    Regards
    Neha

    Hi Neha,
      Do the following checks
    1. Find out if all those 40k+ materials have something in common, i.e. MRP grp or Material Group or something which can identify these materials as a group. (The reason am saying this is because, your client would have been able to download only these materials out of the total materials list based on some common criteria).
    2. Once you know what is it that is common for all these 40k+ materials, then do a table join & pull out the info you require.
    3. Check on this matter & let me know, what is it that is common for all these materials, will then let you know which tables to join.
    Vivek

  • Duplicate records found while loading master data(very urgent)

    Hi all,
    One infopackage in the process chain failed while laoding the master data(full update).Its showing the following error-->duplicate record found ..1 record used in /BI0/PTCTQUERY and the same record occured in /BI0/PTCTQUERY tables.
    can anyone give me the solution...its very urgent...
    Thanks & Regards,
    Manjula

    Hi
    You can see the check box in the Processing tab page. Make a tick mark for the check box Ignore Duplicate Data Records indicator . When multiple data records that have the same key are transferred, the last data record in the request is updated to BI. Any other data records in the request with the same key are ignored.
    Help says that:
    To maintain consistency, ignoring duplicate data records is only possible if the data is updated serially. A serial update is when data is first updated into the PSA then, after it has been successfully written to the PSA, it is updated into the master data or text tables of the InfoObject.
    If a DataSource transfers potentially duplicate data records or if you manually set the Ignore Duplicate Data Records indicator, the PSA Only update type is automatically selected in the scheduler.
    hope it clears ur doubt, otherwise let me know.
    Regards
    Kiran

  • Setting max record per page property at runtime (very urgent)

    We need to display 7 record for first page and 25 for other pages...
    we tried a reperating frame max record per page property is a report level property. So it cannot change for pages.
    Then We try other way..
    we seperated our query to the different frame to do these
    But we need to summaries some field at page level and
    reset at page has fallowing restriction
    "A Reset At of Page will not work for reports that have multiple repeating frames associated with a group that is involved in the summary. One common case of this is a matrix report. As a result, matrix reports cannot have page-level summaries."
    So all the ways we tried failed.
    How can we do this ... it is very urgent. (we can use any version of report.)
    Thanks for your help...

    repost

  • Time overlapping of data record..very urgent

    Hi All,
    while loading time dependent data(texts..0HRPOSITION), i am geeting the following error....
    Processing (data packet): Errors occurred
       Data Package 1 ( 7418 Records ) : Errors occurred
              Update ( 0 new / 0 changed ) : Errors occurred
                   Data records for package 1 selected in PSA - 2 error(s)
                   Record 7415 :0HRPOSITION : Time overlapping of data record 7415 with 7416 : '['20100924'/'20070618'] " .
                   Record 7416 :0HRPOSITION : Time overlapping of data record 7415 with 7416 : '['20100924'/'20070618'] ....
    Could anyone let me know how to rectify this error and reload the IP..I am workning on production system.....its very urgent
    Thanks in advance.
    Manjula

    Hi Manjula
    !)0HRposition infobject and check what is the time previously for that record..
    2)Edit the PSA for the 7415 or 7416  and change the vlaue to the previous record time which u found in the infoobject
    3) i think ur doing a full load.  so better edit the PSA and repload the data from PSA
    Regards
    AK

  • How to get a count of unique records

    How do you get a count of unique records? Looking only for one number, not a list..so if the data is:
    ID
    ===
    1234
    1234
    1234
    1236
    1236
    1237
    Then, the count total will be one field called 'ID' with the value '3' in it..
    All I know how to do is get a count that will count all records, or do it in two queries. Looking to do this in one query statment..
    Thanks..

    Just a small clarification...
    Concatenation could potentially give wrong result, depending on the data.
    For example...
    sudhakar@ORCL>ed
    Wrote file afiedt.buf
      1  with t1 as
      2  (select 'AA' c1, '101' c2 from dual union
      3  select 'AA1' c1, '01' c2 from dual union
      4  select 'AA101' c1, null c2 from dual union
      5  select 'BB2' c1, '345' c2 from dual union
      6  select 'AA101' c1, null c2 from dual union
      7  select 'BB2' c1, '345' c2 from dual union
      8  select 'BB234' c1, '5' c2 from dual
      9  )
    10* select count(distinct c1 || c2) from t1
    sudhakar@ORCL>/
                        2IMHO, the required answer will be...
    sudhakar@ORCL>ed
    Wrote file afiedt.buf
      1  with t1 as
      2  (select 'AA' c1, '101' c2 from dual union
      3  select 'AA1' c1, '01' c2 from dual union
      4  select 'AA101' c1, null c2 from dual union
      5  select 'BB2' c1, '345' c2 from dual union
      6  select 'AA101' c1, null c2 from dual union
      7  select 'BB2' c1, '345' c2 from dual union
      8  select 'BB234' c1, '5' c2 from dual
      9  )
    10* select count(distinct c1 ||'.'|| c2) from t1
    sudhakar@ORCL>/
                             5
    sudhakar@ORCL>vr,
    Sudhakar B.

  • Error during GR(very very urgent)

    Hi all,
    i am using a developed program for GR.i used this program before.there was no error.but now i am facing error like
    <b>PO ordered quqntity exceeded by 18,000 EA.</b>.i am using <b>BAPI_GOODSMVT_CREATE</b> for goods transfer.
    In the selection screen, i am putting
    PO number- PO1
    material number- MAT
    GR quantity- 18,000
    delivery order-111
    i want to receive the material MAT of quantity 18,000 from that PO.initially i have ordered PO quntity as 1 lakh. Till now i have received 42,000 materials,now i try to receive 18,000 materials.but it is showing this type of error.
    This error is fired from the return parameter of that BAPI only.error having message class-M7 & error no-022
    is comming.
    i am giving my coding below.plz suggest where is the problem.it is very very urgent.recently my company has added some patches to update the SAP.is this the cause for that error.plz suggest.
    any idea will be highly appreaciated.
    Regards
    REPORT zmui001
           LINE-SIZE 140
           LINE-COUNT 65
           NO STANDARD PAGE HEADING.
    *-- DATA DECLARATION--
    *-- tables
    TABLES : ekpo,
                ekbe,
             marv.
    *--Includes
    INCLUDE : <icon>.                   " Include for Icons
    *-- Types
    TYPES : BEGIN OF t_mseg,
              ebeln LIKE ekko-ebeln,
              name1 LIKE lfa1-name1,
              lifnr LIKE lfa1-lifnr,
              eknam LIKE t024-eknam,
              mblnr LIKE mkpf-mblnr,
              matnr LIKE ekpo-matnr,
              maktx LIKE makt-maktx,
              lgort LIKE mseg-lgort,
              charg LIKE mseg-charg, "chg: 10/17/2005
              menge LIKE mseg-menge,
              budat LIKE mkpf-budat,
              bldat LIKE mkpf-bldat, " chg : 08/18/2003
              xblnr LIKE mkpf-xblnr,
              END OF t_mseg.
    DATA:  BEGIN OF t_ekbe,
              ebeln LIKE ekbe-ebeln,
              ebelp LIKE ekbe-ebelp,
              bwart LIKE ekbe-bwart,
              matnr LIKE ekbe-matnr,
              menge LIKE ekbe-menge,
              END OF t_ekbe,
              BEGIN OF t_ekpo,
              ebeln LIKE ekpo-ebeln,
              ebelp LIKE ekpo-ebelp,
              matnr LIKE ekpo-matnr,
              menge LIKE ekpo-menge,
              END OF t_ekpo.
    TYPES : BEGIN OF t_options.
            INCLUDE STRUCTURE itcpo.
    TYPES : END OF t_options.
    *--Internal tables
    DATA: BEGIN OF i_item OCCURS 50.    "Create Material Document Item
            INCLUDE STRUCTURE bapi2017_gm_item_create.
    DATA: END OF i_item .
    DATA: BEGIN OF i_return OCCURS 20.  "Return parameter
            INCLUDE STRUCTURE bapiret2.
    DATA: END OF i_return.
    DATA: BEGIN OF i_part OCCURS 0,     " Internal table for split data
            part(20),
          END OF i_part.
    DATA: BEGIN OF i_return1 OCCURS 20.  "Return parameter
            INCLUDE STRUCTURE bapiret1.
    DATA: END OF i_return1.
    *-- Work areas
    DATA: BEGIN OF wa_header .       "Material Document Header Data
            INCLUDE STRUCTURE bapi2017_gm_head_01.
    DATA: END OF wa_header .
    DATA: BEGIN OF wa_return .       "Output Structure
            INCLUDE STRUCTURE bapi2017_gm_head_ret.
    DATA: END OF wa_return .
    *-- Work areas
    DATA: wa_mseg TYPE t_mseg,
             wa_ekbe LIKE t_ekbe,
             wa_ekpo  LIKE t_ekpo,
          wa_options TYPE t_options,
           i_ekbe LIKE STANDARD TABLE OF  t_ekbe,
            i_ekbe2 LIKE STANDARD TABLE OF  t_ekbe,
           i_ekpo  LIKE STANDARD TABLE OF  t_ekpo.
    *---Variables
    DATA: v_first,         " variable to get first digit
          v_set TYPE c,
          v_found TYPE p,
          v_menge TYPE p,
          v_ebeln LIKE ekko-ebeln,
          v_lifnr LIKE ekko-lifnr,
          v_belnr LIKE ekbe-belnr,
          v_postdate LIKE mkpf-budat,
          v_bukrs LIKE marv-bukrs,
          v_datum LIKE sy-datum,
          v_lgort LIKE mard-lgort,   " Stge. location
          v_bwart LIKE mseg-bwart,   " Movement type
          v_infnr LIKE eina-infnr,   " Info record no.
          v_ltsnr LIKE eina-ltsnr.
    *---Constants
    CONSTANTS: c_comma TYPE c VALUE ',',   " For splitting data at commas
               c_01(2) TYPE c VALUE '01',  " For movement code in Bapi
               c_b     TYPE c VALUE 'B',   " For mvt. Indicator in Bapi
               c_save(4) TYPE c VALUE 'SAVE', " For button text
               c_clear(5) TYPE c VALUE 'CLEAR', " For clear button
               c_mvmt(4) TYPE c VALUE 'MVMT',
               c_ok(2)   TYPE c VALUE 'OK',
               c_error(5) TYPE c VALUE 'Error'.
    *--SELECTION SCREEN DESIGN--
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
    PARAMETERS:     p_bar(75) ,  " Scanned data from barcode
                p_ebeln LIKE ekko-ebeln, " PO number
                p_matnr LIKE ekpo-matnr, " Material number
                p_menge LIKE ekpo-menge, " Quantity
               p_lifnr LIKE ekko-lifnr, " Vendor code
                p_frbnr LIKE mkpf-frbnr, " Reference doc for goods mvt
                p_status(5) TYPE c.
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN PUSHBUTTON 15(10) v_save USER-COMMAND mvmt.
    SELECTION-SCREEN PUSHBUTTON 40(10) v_clear USER-COMMAND clear.
      INITIALIZATION -
    INITIALIZATION.
      v_save = c_save .
      v_clear = c_clear.
    *--AT SELECTION_SCREEN--
    AT SELECTION-SCREEN .
      IF sy-ucomm = c_clear.
        PERFORM f_clear.
      ELSE.
        IF sy-ucomm <> c_mvmt.
           if not  sy-tabix is initial and  sy-ucomm <> c_mvmt.
    *--- Extracting the data by splitting the scanned values.
          PERFORM f_get_split_data.
    *--- Validating the input data.
          PERFORM f_check_inputs.
        ELSE .
    *--- Validating the input data.
          PERFORM f_check_inputs.
    *-- Determining the posting date and period check.
          PERFORM f_get_posting_date.
    *---Post goods movement
          PERFORM f_post_receipt.
        ENDIF.
      ENDIF.
               SUBROUTINES                                               *
    *&      Form  f_check_inputs
        Validating the input parameters
    FORM f_check_inputs.
    *-- Validating material no.
      SELECT SINGLE matnr INTO p_matnr
        FROM mara
          WHERE matnr = p_matnr.
      IF sy-subrc = 4.
        p_status =  c_error.
        MESSAGE e003(zm) WITH 'Material no.'.
      ENDIF.
    *-- Validating JHT reference no.
      SELECT SINGLE ebeln
                    lifnr
                    bukrs
                    INTO (p_ebeln, v_lifnr , v_bukrs)
                    FROM ekko
            where unsez = p_unsez. chg:07072003
              WHERE ebeln = p_ebeln.
      IF sy-subrc = 4.
        p_status =  c_error.
        MESSAGE e003(zm) WITH 'Purchase order no.'.
      ENDIF.
    *-- Validating material po combination
      SELECT SINGLE *
           FROM ekpo
             WHERE ebeln = p_ebeln
               AND matnr = p_matnr.
      IF sy-subrc = 4.
        p_status =  c_error.
        MESSAGE e003(zm) WITH 'Purchase order no.' ' and Material no.'.
      ENDIF.
    *--- Checking for DO entry . (chng : 30/06/2003)
      IF  p_frbnr IS INITIAL.
        MESSAGE e018(m7) WITH 'Delivery no.'.
        p_status =  c_error.
        PERFORM f_clear.
      ENDIF.
    *-- Validating material po do combination
      SELECT SINGLE a~belnr
                    INTO v_belnr
                    FROM ekbe AS a
                      INNER JOIN mkpf AS b
                       ON   abelnr = bmblnr
                       AND agjahr = bmjahr
                      WHERE a~ebeln = ekpo-ebeln
                        AND  a~ebelp = ekpo-ebelp
                        AND  b~xblnr = p_frbnr.
      IF sy-subrc = 0.
        MESSAGE e019(zm) WITH v_belnr.
        p_status = c_error.
        PERFORM f_clear.
      ENDIF.
      p_status =  c_ok.
    ENDFORM.                    " f_check_inputs
    *&      Form  f_get_split_data
       Extracting the data by splitting the Scanned data
    FORM f_get_split_data.
    *-- Splitting the data at commas
      SPLIT p_bar AT c_comma INTO TABLE i_part.
    *-- Assigning the parts to variables.
      LOOP AT i_part.
        v_first = i_part-part+0(1).
        TRANSLATE  v_first TO UPPER CASE.
        CASE v_first .
         WHEN 'V'.
           p_lifnr =  i_part-part+1(10).
          WHEN 'P'.
            p_matnr = i_part-part+1(18).
          WHEN 'Q'.
            p_menge = i_part-part+1(13).
          WHEN 'K'.
            p_ebeln = i_part-part+1(10).
          WHEN 'D'.
            p_frbnr = i_part-part+2(16).
          WHEN OTHERS.
            CONTINUE.
        ENDCASE.
      ENDLOOP.
    ENDFORM.                    " f_get_split_data
    *&      Form  f_get_posting_date
    Determing the posting date for document
    FORM f_get_posting_date.
    *-- get the current period for todays date.
      DATA: l_period LIKE t009b-poper.
      CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
        EXPORTING
          i_date               = sy-datum
          i_periv              = 'K4'
       IMPORTING
         e_buper               = l_period
      E_GJAHR              =
       EXCEPTIONS
         input_false          = 1
         t009_notfound        = 2
         t009b_notfound       = 3
         OTHERS               = 4
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *-- Determining whether the open period
      SELECT SINGLE *
                    FROM marv
                    WHERE bukrs = v_bukrs.
      IF sy-subrc = 0.
        IF l_period = marv-lfmon .
          v_postdate = sy-datum.
        ELSE.
          CALL FUNCTION 'BAPI_CCODE_GET_FIRSTDAY_PERIOD'
               EXPORTING
                    companycodeid       = v_bukrs
                    fiscal_period       = marv-lfmon
                    fiscal_year         = marv-lfgja
               IMPORTING
                    first_day_of_period = v_postdate
                    return              = i_return1.
          IF NOT i_return[] IS INITIAL.
            LOOP AT i_return1.
              MESSAGE i016(zm) WITH i_return-message.
            ENDLOOP.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f_get_posting_date
    *&      Form  f_post_receipt
    Post the goods receipt for entered data.
    FORM f_post_receipt.
      PERFORM f_fill_item.
      PERFORM f_fill_header.
      PERFORM f_execute_transfer.
      PERFORM f_clear.
    ENDFORM.                    " f_post_receipt
    *&      Form  f_fill_item
      Updating the item data for the GR
    FORM f_fill_item.
    Checking for IQC cycle is done here.(chng : 23/07/2003)
      PERFORM f_check_iqc.
    *---- Assigning movement type as per IQC cycle.(chng : 23/07/2003)
      IF v_lgort IS INITIAL.
        MOVE '101'   TO i_item-move_type.
        SELECT SINGLE lgort INTO i_item-stge_loc
        FROM ekpo
         where ebeln  = v_ebeln and  " chg :07/07/2003
           WHERE ebeln  = p_ebeln AND
               matnr = p_matnr .
      ELSE.
        MOVE v_lgort TO i_item-stge_loc.
        MOVE v_bwart TO i_item-move_type.
      ENDIF.
      MOVE p_matnr TO i_item-material.
      MOVE p_menge TO i_item-entry_qnt.
    move v_ebeln to i_item-po_number. " 07/07/2003
      MOVE p_ebeln TO i_item-po_number.
      MOVE v_lifnr TO i_item-vendor.
      MOVE c_b TO i_item-mvt_ind.
    select single ebelp into i_item-po_item " chg :29/07/2003
       from ekpo
          where ebeln  = p_ebeln
            and   matnr = p_matnr
           and elikz = ''.
      SELECT ebeln
                ebelp
                matnr
                menge
                INTO CORRESPONDING FIELDS OF TABLE i_ekpo
                FROM ekpo
                WHERE ebeln = p_ebeln
                   AND matnr = p_matnr
                   AND loekz = '' .
      SORT i_ekpo BY ebeln ebelp matnr.
      LOOP AT i_ekpo INTO wa_ekpo.
        IF v_found = 0.
          SELECT ebeln  ebelp
                bwart  menge
                INTO CORRESPONDING FIELDS OF TABLE i_ekbe
                FROM ekbe
                WHERE ebeln = p_ebeln
                AND ebelp = wa_ekpo-ebelp
                AND matnr = p_matnr.
                          and elikz = '' .  CHG -- 03/19/2004
          IF sy-subrc = 0.
            LOOP AT i_ekbe INTO wa_ekbe .
              IF wa_ekbe-bwart = '101'.
                v_menge = v_menge + wa_ekbe-menge.
              ENDIF.
              IF wa_ekbe-bwart = '102'.
                v_menge = v_menge - wa_ekbe-menge.
              ENDIF.
              IF wa_ekbe-bwart = '122'.
                v_menge = v_menge - wa_ekbe-menge.
              ENDIF.
            ENDLOOP.
    chng: 03/19/2004 compare po qty against receipt
            v_menge = v_menge + p_menge .
            IF wa_ekpo-menge >= v_menge .
              v_found = 1.
              MOVE wa_ekpo-ebelp TO i_item-po_item.
            ENDIF.
          ELSE .
            v_found = 1.
            MOVE wa_ekpo-ebelp TO i_item-po_item.
          ENDIF.
        ENDIF.
        CLEAR : wa_ekbe, i_ekbe, v_menge.
      ENDLOOP.
      IF v_found = 0 .
        MESSAGE e003(zm) WITH ' delivery items'.
      ENDIF.
      APPEND i_item.
      CLEAR : i_item, v_found .
    ENDFORM.                    " f_fill_item
    *&      Form  f_check_iqc
    Checking the storage location for the (chng : 23/07/2003)
    FORM f_check_iqc.
      CALL FUNCTION 'Z_M_GET_IQC_STATUS'
           EXPORTING
                matnr          = p_matnr
                lifnr          = v_lifnr
           IMPORTING
                lgort          = v_lgort
                bwart          = v_bwart
                ltsnr          = v_ltsnr
                infnr          = v_infnr
           EXCEPTIONS
                non_iqc_vendor = 1
                OTHERS         = 2.
      IF sy-subrc <> 0.
        CLEAR : v_lgort , v_bwart , v_ltsnr.
      ENDIF.
    ENDFORM.                    " f_check_iqc
    *&      Form  f_fill_header
      Updating data in the header
    FORM f_fill_header.
      MOVE v_postdate TO wa_header-pstng_date.
      MOVE sy-datum TO wa_header-doc_date.
      MOVE p_frbnr TO wa_header-ref_doc_no.
    ENDFORM.                    " f_fill_header
    *&      Form  f_execute_transfer
          Executing the goods movement.
    FORM f_execute_transfer.
      CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
           EXPORTING
                goodsmvt_header  = wa_header
                goodsmvt_code    = c_01
           IMPORTING
                goodsmvt_headret = wa_return
           TABLES
                goodsmvt_item    = i_item
                return           = i_return.
      IF i_return[] IS INITIAL .
        COMMIT WORK.
    *---  UPdating Info record for IQC cycle ind.(chng : 23/07/2003)
        IF NOT v_ltsnr IS INITIAL.
          UPDATE eina SET ltsnr = v_ltsnr
          WHERE infnr = v_infnr.
        ENDIF.
        REFRESH : i_item.
        CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
        MESSAGE i012(migo) WITH wa_return-mat_doc.
        PERFORM f_do_print.
      ELSE.
        REFRESH : i_item.
        CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
        PERFORM write_errors.
      ENDIF.
    ENDFORM.                    " f_execute_transfer
    FORM write_errors.
      WRITE: 0(90) sy-uline ,
             /0'|',
              3 'System messages for GR posting',
              90 '|',
             /0(90) sy-uline .
      LOOP AT i_return.
        CASE  i_return-type.
          WHEN 'E'.
            MESSAGE i016(zm) WITH i_return-message.
          WHEN 'W'.
            MESSAGE i017(zm) WITH i_return-message.
          WHEN 'I'.
           WRITE: /0'|',
                  icon_yellow_light AS ICON ,
                  '|',
                  10 i_return-message,
                  90 '|'.
            MESSAGE i018(zm) WITH i_return-message.
          WHEN 'S'.
           WRITE: /0'|',
                  icon_green_light AS ICON ,
                  '|',
                  10 i_return-message,
                  90 '|'.
            MESSAGE i018(zm) WITH i_return-message.
          WHEN OTHERS.
           WRITE: /0'|',
                  icon_red_light AS ICON ,
                  '|',
                  10 i_return-message,
                  90 '|'.
            MESSAGE e016(zm) WITH i_return-message.
        ENDCASE.
       AT LAST .
         WRITE:/0(90) sy-uline .
       ENDAT.
      ENDLOOP.
    ENDFORM.                    " write_errors
    *&      Form  f_clear
    Clearing the input parameters
    FORM f_clear.
      CLEAR : p_ebeln ,
              p_bar,
              p_matnr,
              p_frbnr,
              v_lifnr,
              p_menge,
              p_status.

    Hi all,
    can anyone suggest any idea?
    Regrds
    pabitra

  • Very Urgent Table Column Design

    Hi,
    This is what i have done, I am having a table with 2 columns.One is Text view and the other is Link to Action. I set the Table row count as 10. Table design is standard and all columns design is standard. Now The first text view column appears blue in colour and the second Link to action appears in White. To make both to have same white colour i made the table as Read only now both columns appear as white. If the table have more than 10 records it works fine. But if it is less say 4 records then first four records are in  white remaining are in light blue. I want to make every thing to appear same white or same blue color. How to do this .
    Kindly Help this is very Urgent
    Rk

    hi rk.......
              try this out.......
              consider your are having 4 records but the line count is 10 in the table.
              insert 6 empty records into the table.
              it will work fine.
    ---regards,
       alex b justin

  • Query Issue(Very Urgent)

    Hi,
         I have issue with select statement to pull the records from two tables. Here I have two tables one is with Billing Document Items and Service Order Operations.
    I have service order as unique field in both tables, When I execute select statement with one service order I got 10 records like
    S Ord Oper                           Billing Document Items
    Oper    Repair Code                 Item    Oper    Repair Code
    10        AD01                           1         10        AD01
    20        AD01                           2         20        AD01  
    30        OT01                           3         10        AD01
    40        RE01                           4         20        AD01
    50        RP01                           5         20        AD01
                                                   6        20         AD01
                                                    7        30         OT01
                                                    8        40         RE01  
                                                    9        50         RP01
                                                   10      50         RP01
                 This are the records with same Service order number, and my select statement giving data like
    O/P
    Service Order =  60001212
    OPER    ITEM    REPAIR TYPE
    10         1           AD01
    20         1           AD01
    10         2           AD01
    20         2           AD01
    10         3           AD01
    20         3           AD01
    10         4           AD01
    20         4           AD01
    10         5           AD01
    20         5           AD01
    10         6           AD01
    20         6           AD01
    30         7           OT01
    40         8           RE01
    50         9           RP01
    50         10         RP01
    But I need output like this
    Item  Oper                   Rep Code
    1      10                      AD01
    2      20                      AD01
    3      10                      AD01
    4      20                      AD01
    5      20                      AD01
    6      20                      AD01
    7      30                      AD01
    8      40                      RE01
    9      50                      RP01
    10    50                      RP01
             Please give me the select statement which gives the above output. I need very urgent please....
    Thanks
    Robbie

    hi robert,
    The ouput u want is just a little away from the one u r actually getting. it is the two fields OPER and ITEM interchangeably..
    U just have to use GROUP BY ITEM..........if u want the desired output with ITEM as first field.
    <group-by-clause> &#8594; GROUP BY [<column-ref>,*]<column-ref>
    if it helps please reward points.
    thanks

  • SQL Loader Oracle 10g problem in upload date with time data -- Very urgent.

    Hi
    I am trying to upload data using SQL loader. There are three columns in the table
    defined as DATE. When I tried upload a data like this '2007-02-15 15:10:20', it is not loading time part. The date stored as 02/15/2008' only. There is not time on that. I tried with many different format nothing work. Can please help me ?
    I have also tried with to_date --> to_timestamp it did not work.
    The application is going to be in production, I cannot change DATE to TIME STAMP. This is very urgent.
    LASTWRITTEN "decode(:LASTWRITTEN,'null',Null, to_date(:LASTWRITTEN,'YYYY-MM-DD HH24:Mi:SS'))",
    CREATEDON "decode(:CREATEDON,'null',Null, to_date(:CREATEDON,'YYYY-MM-DD HH24:Mi:SS'))",
    LASTUPDATEDON(21) "decode(:LASTUPDATEDON,'null',Null, to_date(:LASTUPDATEDON(21),'DD/MM/YYYY HH24:MI:SS'))"

    Your problem is most likely in decode - the return type in your expression will be character based on first search value ('null'), so it will be implicitly converted to character and then again implicitly converted to date by loading into date column. At some of this conversions you probably are loosing your time part. You can try instead use cast:
    SQL> desc t
    Name                                      Null?    Type
    LASTWRITTEN                                        DATE
    CREATEDON                                          DATE
    LASTUPDATEDON                                      DATE
    SQL> select * from t;
    no rows selected
    SQL> !cat t.ctl
    LOAD DATA
    INFILE *
    INTO TABLE T
    TRUNCATE
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
    LASTWRITTEN
    "decode(:LASTWRITTEN,'null',cast(Null as date),
      to_date(:LASTWRITTEN,'YYYY-MM-DD HH24:MI:SS'))",
    CREATEDON
    "decode(:CREATEDON,'null',cast(Null as date),
      to_date(:CREATEDON,'YYYY-MM-DD HH24:MI:SS'))",
    LASTUPDATEDON
    "decode(:LASTUPDATEDON,'null',cast(Null as date),
      to_date(:LASTUPDATEDON,'DD/MM/YYYY HH24:MI:SS'))"
    BEGINDATA
    2007-02-15 15:10:20,null,null
    null,2007-02-15 15:10:20,null
    null,null,15/02/2007 15:10:20
    SQL> !sqlldr userid=scott/tiger control=t.ctl log=t.log
    SQL*Loader: Release 10.2.0.3.0 - Production on Fri Feb 29 00:20:07 2008
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Commit point reached - logical record count 3
    SQL> select * from t;
    LASTWRITTEN         CREATEDON           LASTUPDATEDON
    15.02.2007 15:10:20
                        15.02.2007 15:10:20
                                            15.02.2007 15:10:20Best regards
    Maxim

  • Very urgent please ----repetting values in the output

    I am getting values for acc seq   access seq number and codndition table  repeting values as in the output of the report, please have a look in my code and please do respond immediatley.
    regards always, below is my code and output
    REPORT zmaster_condition LINE-COUNT 80 LINE-SIZE  225.
         D A T A                                                         *
    INCLUDE zmaster_condition_top.
        S E L E C T I O N S                                              *
    SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
    SELECT-OPTIONS: s_kvewe FOR  t683s-kvewe,
                    s_kappl  FOR  t683s-kappl,
                    s_kalsm  FOR  t683s-kalsm,
                    s_kschl  FOR   t683s-kschl,
                    s_kabnr  FOR  t682i-kotabnr,
                    s_kozgf  FOR  t682i-kozgf.
    SELECTION-SCREEN END OF BLOCK b01.
    *SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s04.
    *PARAMETERS:      p_vari     LIKE   disvariant-variant.
    *SELECTION-SCREEN END OF BLOCK b4.
    **SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
    *SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
    PARAMETERS R1 RADIOBUTTON GROUP RADI1 DEFAULT 'X'.
    *SELECTION-SCREEN END OF BLOCK b02.
         A T   S E L E C T I O N - S C R E E N                           *
         M A I N   P R O G R A M                                         *
    START-OF-SELECTION.
    *Initializing the local tables.
      CLEAR:it_t682i,it_t683s,it_t685.
      REFRESH:it_t682i,it_t683s,it_t685.
      clear it_output_report.
      refresh it_output_report.
    *Selection of data from pricing procedure tables
    SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
                INTO TABLE  it_t682i
                WHERE kvewe = 'B'
                AND  kappl = 'V1'.
      SELECT kvewe kappl kalsm stunr zaehk kschl  FROM t683s
           INTO   TABLE  it_t683s
           WHERE  kvewe = 'B'
           AND    kappl = 'V1'
           and    kschl in s_kschl
           AND    kalsm  IN s_kalsm.
    sort it_t683s by kvewe kappl.
      DELETE   adjacent duplicates  FROM
             it_t683s  .
    SELECT kvewe kappl kschl kozgf FROM t685
        INTO TABLE it_t685
        WHERE kvewe = 'B'
        AND kappl = 'V1'
        AND  kschl IN s_kschl
        AND kozgf IN s_kozgf.
      LOOP AT it_t683s.
        it_output_report-kvewe = it_t683s-kvewe.
        it_output_report-kappl =  it_t683s-kappl.
        it_output_report-kalsm =  it_t683s-kalsm.
        it_output_report-stunr =  it_t683s-stunr.
        it_output_report-zaehk =  it_t683s-zaehk.
        it_output_report-kschl =  it_t683s-kschl.
      SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
                 INTO TABLE  it_t682i
                 WHERE kvewe = it_t683s-kvewe
                 AND  kappl = it_t683s-kappl
                 and  kozgf   in s_kozgf
                 and  kotabnr in s_kabnr.
                 clear it_t682i.
    loop at it_t682i.
    it_output_report-kozgf = it_t682i-kozgf.
    it_output_report-kozgf = it_t682i-kozgf.
      it_output_report-kolnr = it_t682i-kolnr.
      it_output_report-kotabnr = it_t682i-kotabnr.
       APPEND it_output_report.
       CLEAR it_output_report.
    endloop.
    APPEND it_output_report.
      ENDLOOP.
            E N D - O F - S E L E C T I O N
    END-OF-SELECTION.
    *Output to a list
      FORMAT COLOR 2 .
      WRITE:/2 'Usage',09 'App',17 'Proced',24 'Step',
                37 'Counter',50 'CondType',63 'Description',85 'AccSeq',
               97 'AccSeqNum',108 'ConTable'.
      WRITE:/1(225) sy-uline.
      LOOP AT it_output_report.
        WRITE:/ it_output_report-kvewe UNDER 'Usage',
                it_output_report-kappl UNDER 'App',
                it_output_report-kalsm UNDER 'Procedure',
                it_output_report-stunr UNDER  'Step',
                it_output_report-zaehk UNDER  'Counter',
                it_output_report-kschl UNDER 'CondType',
               it_output_report- UNDER  'Description',
                it_output_report-kozgf UNDER 'AccSeq',
                it_output_report-kolnr UNDER 'AccSeqNum',
                it_output_report-kotabnr UNDER  'ConTable'.
                it_output_report- UNDER  'SalesOrg',
                it_output_report- UNDER  'DocType'.
                it_output_report- UNDER  'Customer'.
      ENDLOOP.
    output of the report:
    Usage  App     Proced   Step   Counter CondType   AccSeq AccqNum  ConTable                                                                               
    B      V1        V10000      220   00           ZCR1        Z200         05           511     
    B      V1 V10000      220          01           ZRAS        Z200        05         511     
    B      V1 V10000      225          00           ZTPT         Z200        05         511     
    B      V1 V10000      230          00           ZOP4         Z200        05         511     
    B      V1 V10001      010          01           RD03         Z200        05         511     
    B      V1 V10002      010          00           ZREP         Z200        05         511     
    B      V1 V10000      200          00           ZOP3          z200        05         511     
    B      V1 V10000      130          00           ZOC3           z200        05         511

    i would like to thanks you for your valuable help.
    i am still getting repeated values for access seq , access number and cond table,last three columns in the output, pls see as it it is very urgent...
    here is the code:
    REPORT zmaster_condition LINE-COUNT 80 LINE-SIZE  225.
         D A T A                                                         *
    INCLUDE zmaster_condition_top.
        S E L E C T I O N S                                              *
    SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
    SELECT-OPTIONS: s_kvewe FOR  t683s-kvewe,
                    s_kappl  FOR  t683s-kappl,
                    s_kalsm  FOR  t683s-kalsm,
                    s_kschl  FOR   t683s-kschl,
                    s_kabnr  FOR  t682i-kotabnr.
                   s_kozgf  FOR  t682i-kozgf.
    SELECTION-SCREEN END OF BLOCK b01.
    *SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s04.
    *PARAMETERS:      p_vari     LIKE   disvariant-variant.
    *SELECTION-SCREEN END OF BLOCK b4.
    **SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
    *SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
    PARAMETERS R1 RADIOBUTTON GROUP RADI1 DEFAULT 'X'.
    *SELECTION-SCREEN END OF BLOCK b02.
         A T   S E L E C T I O N - S C R E E N                           *
         M A I N   P R O G R A M                                         *
    START-OF-SELECTION.
    *Initializing the local tables.
      CLEAR:it_t682i,it_t683s,it_t685.
      REFRESH:it_t682i,it_t683s,it_t685.
      REFRESH it_output_report.
      SELECT kvewe kappl kalsm stunr zaehk kschl  FROM t683s
           INTO   TABLE  it_t683s
           WHERE  kvewe IN s_kvewe
           AND    kappl IN s_kappl
           AND    kalsm  IN s_kalsm
            AND    kschl IN s_kschl.
    *delete adjacent duplicates from it_t683s comparing
                                    kvewe kappl kschl.
    SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
                     INTO TABLE  it_t682i
                    FOR ALL ENTRIES IN it_t683s
                     WHERE kvewe = it_t683s-kvewe
                     AND  kappl = it_t683s-kappl
                    AND  kozgf   IN s_kozgf
                     AND  kotabnr IN s_kabnr.
      LOOP AT it_t683s.
       it_output_report-kvewe = it_t683s-kvewe.
       it_output_report-kappl =  it_t683s-kappl.
       it_output_report-kalsm =  it_t683s-kalsm.
       it_output_report-stunr =  it_t683s-stunr.
       it_output_report-zaehk =  it_t683s-zaehk.
       it_output_report-kschl =  it_t683s-kschl.
      move-corresponding it_t683s to it_output_report.
    sort it_t683s.
    sort it_t682i.
    READ TABLE it_T682i with KEY KVEWE = it_T683s-KVEWE
                                kappl = it_t683s-kappl.
    LOOP AT it_T682i  WHERE KVEWE = it_T683s-KVEWE
                           AND  kappl = it_t683s-kappl.
                          AND  kotabnr IN s_kabnr.
    IF SY-SUBRC EQ 0.
       move-corresponding it_T682i to it_output_report.
         it_output_report-kozgf = it_t682i-kozgf.
         it_output_report-kolnr = it_t682i-kolnr.
         it_output_report-kotabnr = it_t682i-kotabnr.
    ENDIF.
    APPEND it_output_report.
      ENDLOOP.
    *DATA TAB(4).
    *DATA VKORG LIKE  TAB-VKORG.
    *CONCATENATE it_t683s-kvewe it_t682i-kotabnr INTO TAB .
    *SELECT SINGLE VKORG INTO VKORG FROM  TAB WHERE
    KSCHL = 'ZRC1'.
            E N D - O F - S E L E C T I O N
    END-OF-SELECTION.
    *Output to a list
      FORMAT COLOR 2 .
      WRITE:/2 'Usage',09 'App',15 'Proced',24 'Step',
                37 'Counter',50 'CondType',63 'Description',85 'AccSeq',
               97 'AccSeqNum',108 'ConTable'.
      WRITE:/1(225) sy-uline.
      LOOP AT it_output_report.
        WRITE:/ it_output_report-kvewe UNDER 'Usage',
                it_output_report-kappl UNDER 'App',
                it_output_report-kalsm UNDER 'Proced',
                it_output_report-stunr UNDER  'Step',
                it_output_report-zaehk UNDER  'Counter',
                it_output_report-kschl UNDER 'CondType',
               it_output_report- UNDER  'Description',
                it_output_report-kozgf UNDER 'AccSeq',
                it_output_report-kolnr UNDER 'AccSeqNum',
                it_output_report-kotabnr UNDER  'ConTable'.
                it_output_report- UNDER  'SalesOrg',
                it_output_report- UNDER  'DocType'.
                it_output_report- UNDER  'Customer'.
    here is the output:
    Report to list out all Condition Records for Output and Pricing.                                                                               
    Usage  App   Proced   Step  Counter CondType  AccSeq  AccSeqNum  ConTable
                                                                                    B      V1     V05000   010        01      AF00             Z001        05         551    
    B      V1    V05000   020          02      MAIL           Z001        05         551    
    B      V1    V05000   030          01      ESYM         Z001        05         551    
    B      V1    V06000   010          01      AN00          Z001        05         551    
    B      V1    V06000   020          02       MAIL          Z001        05         551

  • CODING  EXAMPLE - LAYOUT ALV - ( very urgent )

    Could any body please give me the  coding example
    where slis_layout_alv is used ? Please treat this as very urgent.
                              Yours sincerely,
                               SAURAV  LAHIRY

    Hi Saurav,
    Please check this code.
    REPORT  y56098rdup_list
                    NO STANDARD PAGE HEADING LINE-SIZE 240 LINE-COUNT 65(8) .
    Declartion of Tables.
    TABLES: ztril_logtable,zreasoncodes,zsdcustxref, usr21, adrp.
      TABLES-POOLS
    TYPE-POOLS: slis.
    Internal tables declarations.
    Declaration of output internal table
    DATA: BEGIN OF tb_output OCCURS 0,
            user_id TYPE xubname,                                " Requestor ID
            role TYPE zrole,                                     "Role
            kunnr TYPE kunnr ,                                   "Customer Number 1
            customer_name    TYPE name1,                         "Customer Name
            stras TYPE stras_gp,                                 "Street Address
            ort01 TYPE city,                                     "City
            regio TYPE regio,                                    "State
            pstlz TYPE pstlz,                                    "Postal Code
            land1 TYPE land1_gp,                                 "COUNTRY CODE
            po_box TYPE ad_pobx,                                 "PO Box Number
            tril_po_postal  TYPE zpobox_postal,                  "PO BOX Postal Code
            tril_err_msg TYPE zerr_message,                      "Error Message
            reason_type TYPE zreason_type,                       "Reason Type
            reason_code TYPE zreason_code,                       "Reason Code
            perc_prob TYPE zprobability ,                        "Probability Percentage
            pattern_number TYPE z_pattern_no,                     "Match Pattern Number
            country_code TYPE land1,                             "COUNTRY CODE
            user_id_name(92) TYPE c,                             "UserID + Fast Name + Last Name
            zlkunnr LIKE zsdcustxref-zlkunnr,                    "Legacy Customer NO
            saplegcustno(20) TYPE c,                             "SAP + Legacy Customer No
            reason_desc LIKE zreasoncodes-reason_desc,           "Reason Description
            saplegcustno1(20) TYPE c,
          END OF tb_output.
    Declation of work area.
    DATA: wa_output LIKE tb_output.
    Declaration of Internal Table.
    DATA: tb_fill_output LIKE tb_output OCCURS 0 WITH HEADER LINE,
          wa_fill_output LIKE tb_fill_output.
    Declaration of internal table for ZREASONCODES
    DATA: BEGIN OF tb_reasoncodes OCCURS 0.
            INCLUDE STRUCTURE zreasoncodes.
    DATA: END OF tb_reasoncodes.
    DATA: wa_reasoncodes LIKE tb_reasoncodes.
    Declaration of internal table ZSDCUTXREF.
    DATA: BEGIN OF tb_zsdcustxref OCCURS 0,
            zlkunnr LIKE zsdcustxref-zlkunnr,                      " Legacy Customer No
            zlsourc LIKE zsdcustxref-zlsourc,                      " Legacy customer source code
            kunnr   LIKE zsdcustxref-kunnr,                        " Customer No
          END OF tb_zsdcustxref.
    Declation of work area.
    DATA: wa_zsdcustxref LIKE tb_zsdcustxref.
    Declaration of internal table for USR21.
    DATA: BEGIN OF tb_usr21 OCCURS 0,
           bname      LIKE usr21-bname,                           " USER NAME IN USER MASTER RECORD
           persnumber LIKE usr21-persnumber,                      " PERSON NUMBER
           name_first LIKE adrp-name_first,                       " FIRST NAME
           name_last  LIKE adrp-name_last,                        " LAST NAME
          END OF tb_usr21.
    Declation of work area.
    DATA: wa_usr21 LIKE tb_usr21.
    Declaration of internal table for ADRP.
    DATA: BEGIN OF tb_adrp OCCURS 0,
           persnumber LIKE adrp-persnumber,                       " PERSON NUMBER
           name_first LIKE adrp-name_first,                       " FIRST NAME
           name_last  LIKE adrp-name_last,                        " LAST NAME
          END OF tb_adrp.
    DATA: wa_adrp LIKE tb_adrp.
      Declaration for fieldcatalog
    DATA: tb_fieldcat TYPE slis_t_fieldcat_alv,
          wa_fieldcat TYPE slis_fieldcat_alv.
      Declaration for events
    DATA: tb_events TYPE slis_t_event,
          wa_event TYPE slis_alv_event.
      Declaration for Layout
    DATA: tb_layout TYPE slis_layout_alv,
          wb_layout TYPE slis_layout_alv.
    DATA: wa_line TYPE slis_listheader,
          tb_list_header TYPE slis_t_listheader.
    DATA:   g_date1(40) TYPE c,
            g_date2(40) TYPE c,
            g_date3(80) TYPE c.
      Declaration for Selection Screen Fields
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_userid FOR ztril_logtable-user_id,                  "Requestor ID
                    s_r_type FOR zreasoncodes-reason_type,                " Reason Type
                    s_r_code FOR zreasoncodes-reason_code
                                                MATCHCODE OBJECT zr_code. " Reason Code
    PARAMETERS    : p_frmdat LIKE ztril_logtable-curr_date OBLIGATORY,     " from date
                    p_to_dat LIKE ztril_logtable-curr_date OBLIGATORY.     " to date
    SELECTION-SCREEN: END OF BLOCK b1.
      Declaration for Varialbes
    DATA: g_sc_no(20) TYPE c,     " To combine the SAP & Legacy Customer No
          g_user_name(92) TYPE c. " To concatnate the Userid and User Name.
    DATA : tb_repid LIKE trdir-name.
    tb_repid = 'Y56098RDUP_LIST'.
    *tb-repid type sy-repid.
    DATA: BEGIN OF tb_user OCCURS 0,
           user_id LIKE ztril_logtable-user_id,
          END OF tb_user.
    To get the P_USERID F4 Functionality for LOW and HIGH.
    AT SELECTION-SCREEN ON  VALUE-REQUEST FOR s_userid-low.
      SELECT user_id FROM ztril_logtable INTO TABLE tb_user.
      SORT tb_user.
      DELETE ADJACENT DUPLICATES FROM tb_user.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'S_USERID'
          dynpprog        = sy-repid
          dynpnr          = sy-dynnr
          dynprofield     = 'S_USERID'
          value_org       = 'S'
        TABLES
          value_tab       = tb_user
        EXCEPTIONS
          parameter_error = 1
          no_values_found = 2
          OTHERS          = 3.
      IF sy-subrc <> 0.
        MESSAGE e210(zsd).
      ENDIF.
    AT SELECTION-SCREEN ON  VALUE-REQUEST FOR s_userid-high.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'S_USERID'
          dynpprog        = sy-repid
          dynpnr          = sy-dynnr
          dynprofield     = 'S_USERID'
          value_org       = 'S'
        TABLES
          value_tab       = tb_user
        EXCEPTIONS
          parameter_error = 1
          no_values_found = 2
          OTHERS          = 3.
      IF sy-subrc <> 0.
        MESSAGE e210(zsd).
      ENDIF.
    At selection screen event.
    AT SELECTION-SCREEN.
    Validation of User_id(USER_ID) & Reason Type(REASON_CODE)
      PERFORM checking_user_id.
    Validation of Reason type from the table ZREASONCODES
      PERFORM check_reasontype.
    Validation of Reason code from the table ZREASONCODES
      PERFORM check_reasoncode.
    Validation for checking From-Date
      PERFORM checking_from_date.
    Validation for checking To-Date
      PERFORM checking_to_date.
    Start of selection event.
    START-OF-SELECTION.
    REFRESH data & clear data.
      PERFORM refresh_tables.
    Get ZTRIL_LOGTABLE Data.
      PERFORM get_tril_logtable.
    Get data from ZREASONCODE.
      PERFORM get_reasoncode_data.
    Get the data Customer No from ZSDCUSTREF based on ZTRIL_LOGTABLE-KUNNR
      PERFORM get_sdcustrefdata.
    Get the data First Name and Last Name
      PERFORM get_data_from_usr21_adrp.
    Updateing the output internal table i.e. IT_OUTPUT  data
      PERFORM fill_output_data.
    Displaying output data with two different Rows.
      PERFORM output_data.
    Populate the field catelog.
      PERFORM build_fieldcatlog.
    Declartion Events.
      PERFORM event_call.
    Top of page Information
      PERFORM top_of_page.
    Declation of Layout
      PERFORM layout USING tb_layout.
    To get the Output Format( Simple List/ ALV )
      PERFORM grid_display.
    *&      Form  get_tril_logtable
          To get the data from table ztril_logtable
    FORM get_tril_logtable.
      REFRESH: tb_output.
    Reading data from the table ZTRIL_LOGTABLE
      SELECT user_id
             role                      "Role
             kunnr                     "Customer Number 1
             customer_name             "Customer Name
             stras                     "Street Address
             ort01                     "City
             regio                     "State
             pstlz                     "Postal Code
             land1                     "COUNTRY CODE
             po_box                    "PO Box Number
             tril_po_postal            "PO BOX Postal Code
             tril_err_msg              "Error Message
             reason_type               "Reason Type
             reason_code               "Reason Code
             perc_prob
             pattern_number
             FROM ztril_logtable INTO
             CORRESPONDING FIELDS OF
             TABLE tb_output
             WHERE
            ( curr_date GE p_frmdat AND curr_date LE p_to_dat )
           ( curr_date BETWEEN  p_frmdat AND  p_to_dat )
             AND
             user_id IN s_userid
             AND reason_code IN s_r_code
             AND reason_type IN s_r_type.
      IF sy-subrc NE 0.
        MESSAGE i202(zsd).
      ENDIF.
    ENDFORM.                    " get_tril_logtable
    *&      Form  get_reasoncode_data
          To get the Reason code and Reason type
    FORM get_reasoncode_data .
    checking internal table initial data.
      IF NOT tb_output[]  IS INITIAL.
        SELECT reason_type
               reason_code
               reason_desc
               FROM zreasoncodes
               INTO CORRESPONDING FIELDS OF TABLE tb_reasoncodes
               WHERE reason_type IN s_r_type
               AND reason_code IN s_r_code.
      ENDIF.
    ENDFORM.                    " get_reasoncode_data
    *&      Form  get_sdcustrefdata
          To get the legasy customer number data
    FORM get_sdcustrefdata .
      IF NOT tb_output[] IS INITIAL.
        SELECT  zlkunnr                      " Legacy Customer No
                zlsourc                      " Legacy customer source code
                kunnr                        " Customer No
                FROM zsdcustxref INTO TABLE tb_zsdcustxref
                FOR ALL ENTRIES IN tb_output
                WHERE kunnr EQ tb_output-kunnr.
      ENDIF.
    ENDFORM.                    " get_sdcustrefdata
    *&      Form  fill_output_data
          To get the final data into the Internal Table
    FORM fill_output_data .
      IF NOT tb_output[] IS INITIAL.
        SORT tb_output BY role user_id.
        LOOP AT tb_output INTO wa_output.
          READ TABLE tb_reasoncodes INTO wa_reasoncodes
                        WITH KEY
                        reason_type = wa_output-reason_type
                        reason_code = wa_output-reason_code BINARY SEARCH.
          IF sy-subrc EQ 0.
            wa_output-reason_desc = wa_reasoncodes-reason_desc.
            CLEAR wa_reasoncodes.
          ENDIF.
          READ TABLE  tb_zsdcustxref INTO wa_zsdcustxref
                                     WITH KEY
                                     kunnr = wa_output-kunnr.
          IF sy-subrc EQ 0.
            CONCATENATE  wa_zsdcustxref-zlkunnr
                         wa_zsdcustxref-zlsourc
                           INTO
                         g_sc_no SEPARATED BY ' - '.
           wa_output-saplegcustno1 = wa_zsdcustxref-zlkunnr.
            wa_output-saplegcustno1 = g_sc_no.
          ELSE.
            wa_output-saplegcustno = wa_output-kunnr.
            CLEAR: wa_reasoncodes,g_sc_no.
          ENDIF.
          READ TABLE tb_usr21 INTO wa_usr21 WITH KEY bname = wa_output-user_id.
          IF sy-subrc EQ 0.
           CONCATENATE wa_usr21-bname
            CONCATENATE   wa_usr21-name_first
                          wa_usr21-name_last
                             INTO
                          g_user_name SEPARATED BY space.
            wa_output-user_id_name = g_user_name.
          ENDIF.
          MODIFY tb_output FROM wa_output
                                TRANSPORTING
                                reason_desc
                                saplegcustno
                                user_id_name
                                saplegcustno1.
          CLEAR: g_user_name,wa_usr21, wa_adrp.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " fill_output_data
    *&      Form  get_data_from_USR21_ADRP
          To get the first name and last name from ADRP table
    FORM get_data_from_usr21_adrp .
      IF NOT tb_output[] IS INITIAL.
        SELECT bname
               persnumber
               FROM usr21
               INTO CORRESPONDING FIELDS OF TABLE tb_usr21
               FOR ALL ENTRIES IN tb_output
               WHERE bname EQ tb_output-user_id.
        IF NOT tb_usr21[] IS INITIAL.
          SELECT persnumber
                 name_first
                 name_last
                 FROM adrp INTO TABLE tb_adrp
                 FOR ALL ENTRIES IN tb_usr21
                 WHERE persnumber EQ tb_usr21-persnumber.
        ENDIF.
      ENDIF.
      LOOP AT tb_usr21 INTO wa_usr21.
        READ TABLE tb_adrp INTO wa_adrp WITH KEY persnumber = wa_usr21-persnumber.
        IF sy-subrc EQ 0.
          wa_usr21-name_first = wa_adrp-name_first.
          wa_usr21-name_last = wa_adrp-name_last.
          CLEAR wa_adrp.
          MODIFY tb_usr21 FROM wa_usr21 TRANSPORTING name_first name_last.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " get_data_from_USR21_ADRP
    *&      Form  build_fieldcatlog
          It is used to build the fieldcatlog
    FORM build_fieldcatlog .
      wa_fieldcat-col_pos = 1.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'USER_ID'.
      wa_fieldcat-seltext_l = 'Requestor ID'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 2.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'USER_ID_NAME'.
      wa_fieldcat-seltext_l = 'Requestor Name'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 3.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'SAPLEGCUSTNO'.
      wa_fieldcat-seltext_l = 'SAP & Legacy Customer No'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 4.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'CUSTOMER_NAME'.
      wa_fieldcat-seltext_m = 'Customer Name'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 5.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'STRAS'.
      wa_fieldcat-seltext_m = 'Street Address'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 6.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'ORT01'.
      wa_fieldcat-seltext_m = 'City'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 7.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'REGIO'.
      wa_fieldcat-seltext_m = 'State'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 8.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'PSTLZ'.
      wa_fieldcat-seltext_m = 'Postal Code'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 9.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'LAND1'.
      wa_fieldcat-seltext_m = 'Country Code'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 10.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'PO_BOX'.
      wa_fieldcat-seltext_m = 'PO BOX NO'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 11.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'TRIL_PO_POSTAL'.
      wa_fieldcat-seltext_m = 'PO Box Postal Code'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 12.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'REASON_TYPE'.
      wa_fieldcat-seltext_m = 'Reason Type'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 13.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'REASON_CODE'.
      wa_fieldcat-seltext_m = 'Reason Code'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 14.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'REASON_DESC'.
      wa_fieldcat-seltext_m = 'Reason Description'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 15.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'PERC_PROB'.
      wa_fieldcat-seltext_m = 'TOP %'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-col_pos = 16.
      wa_fieldcat-tabname = 'TB_FILL_DATA'.
      wa_fieldcat-fieldname = 'PATTERN_NUMBER'.
      wa_fieldcat-seltext_m = 'Match Pattern'.
      wa_fieldcat-input = 'X'.
      wa_fieldcat-edit = 'X'.
      wa_fieldcat-datatype = 'N'.
      APPEND wa_fieldcat TO tb_fieldcat.
      CLEAR wa_fieldcat.
    ENDFORM.                    " build_fieldcatlog
    *&      Form  event_call
         It is used to call the events
    FORM event_call .
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 0
        IMPORTING
          et_events       = tb_events
        EXCEPTIONS
          list_type_wrong = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " event_call
    *&      Form  grid_display
          To display the output in ALV Grid  format
    FORM grid_display .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
           i_callback_program                = tb_repid
          i_callback_pf_status_set          = 'SET_PF_STATUS'
           i_callback_user_command           = 'USER_COMMAND'
           i_callback_top_of_page            = 'TOP_OF_PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
           is_layout                         = wb_layout
           it_fieldcat                       = tb_fieldcat[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
       I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
           it_events                         = tb_events
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
         TABLES
          t_outtab                          = tb_output
          t_outtab                          = tb_fill_output
        EXCEPTIONS
          program_error                     = 1
          OTHERS                            = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " grid_display
    *&      Form  top_of_page
          It is used to display the Top-of-page
    FORM top_of_page .
      CLEAR: wa_line, tb_list_header[].
      wa_line-typ = 'H'.
      wa_line-info = 'Duplicates Ignored by Requestor Report'.
      APPEND wa_line TO tb_list_header.
      CLEAR wa_line.
      wa_line-typ = 'S'.
      WRITE p_frmdat TO g_date1 DD/MM/YY.
      WRITE p_to_dat TO g_date2 DD/MM/YY.
      CONCATENATE 'From Date : ' g_date1  '        To Date : ' g_date2
                    INTO g_date3 SEPARATED BY  space .
      wa_line-info = g_date3.
      APPEND wa_line TO tb_list_header.
      CLEAR wa_line.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = tb_list_header.
       i_logo                   =
       I_END_OF_LIST_GRID       =
    ENDFORM.                    " top_of_page
    *&      Form  layout
       It is used to display the output layout
    FORM layout  USING    p_tb_layout.
      tb_layout-detail_popup      = 'X'.
      tb_layout-colwidth_optimize = 'X'.
    ENDFORM.                    " layout
    *&      Form  refresh_tables
    TO Refresh the internal table workarea
    FORM refresh_tables .
      REFRESH: tb_output, tb_reasoncodes, tb_zsdcustxref, tb_usr21, tb_fill_output.
      CLEAR: wa_output, wa_reasoncodes, wa_zsdcustxref, wa_usr21, wa_fill_output.
    ENDFORM.                    " refresh_tables
    *&      Form  SET_PF_STATUS
    It is used to populate the PF_STATUS
    FORM set_pf_status USING tb_extab TYPE slis_t_extab.
      SET PF-STATUS 'ZSTANDARD'.
    ENDFORM.                    " SET_PF_STATUS
    *&      Form  USER_COMMAND
    To avoid the shortdump of ALV Report
    FORM user_command USING rf_ucomm    LIKE sy-ucomm
                            rs_selfield TYPE slis_selfield.
    ENDFORM.                              "user_command
    *&      Form  check_reasoncode
          Checking Reason Code
    FORM check_reasoncode .
      IF NOT s_r_type IS INITIAL.
        SELECT SINGLE reason_code FROM zreasoncodes INTO s_r_code
                                  WHERE reason_type IN s_r_type
                                  AND reason_code IN s_r_code.
        IF sy-subrc NE 0.
          SET CURSOR FIELD 'S_R_CODE-LOW'.
          MESSAGE e204(zsd).
        ELSEIF s_r_code = 'TP'.
          MESSAGE e208(zsd).
        ENDIF.
      ENDIF.
    ENDFORM.                    " check_reasoncode
    *&      Form  check_reasontype
       Checking Reason Type
    FORM check_reasontype .
      IF s_r_type-low = 'TP' OR
           s_r_type-high = 'TP'.
        MESSAGE e208(zsd).
      ENDIF.
      SELECT SINGLE reason_type FROM zreasoncodes INTO s_r_type
                                 WHERE reason_type IN s_r_type.
      IF sy-subrc NE 0.
        MESSAGE e201(zsd).
      ENDIF.
    ENDFORM.                    " check_reasontype
    *&      Form  checking_From_date
          Checking From Date
    FORM checking_from_date .
      SELECT SINGLE
              curr_date
              FROM ztril_logtable
              INTO ztril_logtable-curr_date
              WHERE curr_date EQ  p_frmdat.
      IF sy-subrc NE 0.
        MESSAGE e205(zsd).
      ENDIF.
    ENDFORM.                    " checking_From_date
    *&      Form  checking_To_date
      Checking To_date
    FORM checking_to_date .
      SELECT SINGLE
               curr_date
               FROM ztril_logtable
               INTO ztril_logtable-curr_date
               WHERE curr_date EQ  p_to_dat.
      IF sy-subrc NE 0.
        MESSAGE e206(zsd).
    elseif p_frmdat lt p_to_dat.
       Message e209(zsd).
      ELSEIF p_frmdat GT p_to_dat.
        MESSAGE e207(zsd).
      ENDIF.
    ENDFORM.                    " checking_To_date
    *&      Form  checking_user_id
          text
    FORM checking_user_id .
      SELECT SINGLE user_id
               FROM ztril_logtable
               INTO s_userid
               WHERE user_id IN s_userid.
      IF sy-subrc NE 0.
        MESSAGE e200(zsd).
      ENDIF.
    ENDFORM.                    " checking_user_id
    *&      Form  output_data
      To print the Legacy customer No and SAP no into two different rows.*
    FORM output_data .
      LOOP AT tb_output INTO wa_output.
        wa_fill_output-user_id = wa_output-user_id.
        wa_fill_output-role = wa_output-role.
        wa_fill_output-saplegcustno = wa_output-kunnr.
        wa_fill_output-user_id_name = wa_output-user_id_name.
        wa_fill_output-customer_name = wa_output-customer_name.
        wa_fill_output-stras = wa_output-stras.
        wa_fill_output-ort01 = wa_output-ort01.
        wa_fill_output-regio = wa_output-regio.
        wa_fill_output-pstlz = wa_output-pstlz.
        wa_fill_output-land1 = wa_output-land1.
        wa_fill_output-po_box = wa_output-po_box.
        wa_fill_output-tril_po_postal = wa_output-tril_po_postal.
        wa_fill_output-tril_err_msg = wa_output-tril_err_msg.
        wa_fill_output-reason_type = wa_output-reason_type.
        wa_fill_output-reason_code = wa_output-reason_code.
        wa_fill_output-country_code = wa_output-country_code.
        wa_fill_output-reason_desc = wa_output-reason_desc.
        wa_fill_output-pattern_number =  wa_output-pattern_number.
        wa_fill_output-perc_prob = wa_output-perc_prob.
        CLEAR:  wa_output-user_id,
                wa_output-role,
                wa_output-kunnr,
                wa_output-user_id_name,
                wa_output-stras,
                wa_output-ort01,
                wa_output-regio,
                wa_output-pstlz,
                wa_output-land1,
                wa_output-po_box,
                wa_output-tril_po_postal,
                wa_output-tril_err_msg,
                wa_output-reason_type,
                wa_output-reason_code,
                wa_output-country_code,
                wa_output-reason_desc,
                wa_output-customer_name,
                wa_output-pattern_number,
                wa_output-perc_prob.
        APPEND wa_fill_output TO tb_fill_output.
        IF NOT wa_output-saplegcustno1 IS INITIAL.
          CLEAR:  wa_fill_output-user_id,
                  wa_fill_output-role,
                  wa_fill_output-kunnr,
                  wa_fill_output-user_id_name,
                  wa_fill_output-stras,
                  wa_fill_output-ort01,
                  wa_fill_output-regio,
                  wa_fill_output-pstlz,
                  wa_fill_output-land1,
                  wa_fill_output-po_box,
                  wa_fill_output-tril_po_postal,
                  wa_fill_output-tril_err_msg,
                  wa_fill_output-reason_type,
                  wa_fill_output-reason_code,
                  wa_fill_output-country_code,
                  wa_fill_output-reason_desc,
                  wa_fill_output-customer_name,
                  wa_fill_output-pattern_number,
                  wa_fill_output-perc_prob.
          wa_fill_output-saplegcustno = wa_output-saplegcustno1.
          APPEND wa_fill_output TO tb_fill_output.
          CLEAR: wa_output.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " output_data

  • Alternative to find unique records with 60 character in selection string.

    Hi,
    We have to find out the values from the Infoobject. When we try to display data from an master object, the maximum length of selection it accepts 45 characters only but we need to input data around 60 characters in selection.
    Thing we tried:
    1. Selecting complete data without any condition but it did not work due to large volume of data.
    2. We tried to extract data from RSA3 but it did not work due to large volume of data.
    Please suggest me alternative to find unique records with 60 character in selection string.
    Regards,
    Himanshu Panchal.

    This sounds a bit strange. Are you perhaps mistakenly storing text data incorrectly as the primary key of the master data? I can't think of any actual data that is that length to ensure usinqueness - even GUIDs are maximum 32 characters - but GUIDs don't count as actual "readable" data although you do need to be able to select it from time to time. Perhaps you have a super secure password hash or something like it ?
    Also are you expecting to have a unique single record returned by your selection? To do this would in general REQUIRE that ALL the data is read because master data is not stored in the DB sorted by the data itself, but stored instead sorted by the it's SID.
    When you say you are selecting data from master data, which master data tables are you using? I have been able to select data from very large MD table (15 million unique records) using SE16 with no problems. Just enter the table name, and before you execute just count the number of records - it helps to know what you want to end up with.
    Have you tried using wild cards (the *) to preselect a smaller number of records : * a bit of your 60 character string *
    If you are trying to select from a non-key field you will encounter performance issues, but you can still use the wildcards, and get a result.
    Don't use RSA3 it was designed to make selections and group them into datapackets. It's not the same as selecting directly on the table in SE11 or SE16

  • Update Routine ... Help me Please--VERY URGENT

    Hi All ,
    I Moving data from Cube to ODS . Let me explain abt the records in the cube .
    There are 6 key figures in the cube as well as dimensions, UNIQKEY TRANSACTION is One Dimension and ARTICLE is another dimension which is having an Navigational attribute called CORE ELEMENT.
    I am showing the data with those two dimension and the key figures which are to be used in the routine.
    Charc----
    Key Figures
    UNIQKEY-ARTICLE-Coreelement--
    billqty     
    in base unit
    A00N----1006330--1--
    10.5
    A00M -
    1006320----2--
    2.5
    A00P-----1006330--1--
    10.5  
    A00P-----1006320--2--
    2.5
    A00Q-----1006320--2--
    2.5
    A00Q-----1006340--3--
    10.5
    Now Lets see what the core element numbers mean,
    core element 1 means -- fuel .
    Core elemnet other 1 -- food .   
    I need to move these data into ODS Which will have an extra field called No of items in the transaction --ITEMS.For this i need to write  a routine .
    The Logic is ...
    1.if Materail is of type 1(Means if the core element - 1)
    I need to Populate the No of items in tnx = 1 .--ITEMS.
    2.If Material is of type(Means if the core element)2or 3 I need to populate the billing quantity to the no of transcations.--ITEMS
    3. If the Uniqkey tanscation contains two line items as  suppose that you have 20 litres of fuel and 2 cans of coke, then No of Items in the transaction should be 3 and Billing Quantity in BUoM 22
    billing quantity in BUoM = 20 litres for the first line item and 2 for the second line item...
    then as the first line item is fuel, field No OF Items in the Transcation should be 1 (replacing the 20) + 2 = 3
    so the final result in the ODS should be billing quantity in BUoM = 22 and The Items in the Transcation= 3
    So the ODS Data should look like this.
    UNIQKEY--billqty--
    ITEMS
    in base unit 
    A00N--10.5--
    1
    A00M--2.5--
    2.5
    A00P--13--
    3.5
    A00Q--13--
    12.5  
    NOTE : IN the ODS only the UNIQKEY IS THE KEY FIELD and the rest are DATA FIELDS.
    I Posted this one before also. But didnt get proper responses.
    I am Pasting the piece of code which I have written . This code will work for the first two records in the cube , But it is failing for the UNIQKEY Transcation having Line items.
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line  -
    TABLES: /BI0/PMATERIAL.
    DATA: TITEMS LIKE /BIC/AZPOCODS00-/BIC/ZTITEMS,
           CORE_ELEMENT like /BI0/PMATERIAL-RPA_WGH1.
    $$ end of global - insert your declaration only before this line   -
    FORM compute_data_field
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
      USING    COMM_STRUCTURE LIKE /BIC/CS8ZPOCTUS04
               RECORD_NO LIKE SY-TABIX
               RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING RESULT LIKE /BIC/AZPOCODS00-/BIC/ZTITEMS
               RETURNCODE LIKE SY-SUBRC "Do not use!
               ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line        -
    fill the internal table "MONITOR", to make monitor entries
    check not COMM_STRUCTURE-material is initial.
      select SINGLE RPA_WGH1
            INTO CORE_ELEMENT
            from /BI0/PMATERIAL
            where
            material = COMM_STRUCTURE-material
            and  OBJVERS <>'D'.
       IF CORE_ELEMENT EQ '1'.
       TITEMS = '1'.
         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
             input         = titems
          IMPORTING
            OUTPUT        = titems
       ELSE.
       TITEMS = COMM_STRUCTURE-BILL_QTY.
       ENDIF.
    result value of the routine
      RESULT = TITEMS..
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    PLease give me ideas on how to acheive this . As I am not Aware of ABAP very well.. PLease try to give me the code. I hope one of you may got the same requirement before.
    Its very urgent and I need to deliver it today itself.
    Thanks in advance , you can mail me to [email protected]. If anybody intersted to discuss this Issue they can reach at +91 9845922955.

    Hi ,
    While I am moving the data from cube to ods . I need to create the update rules with cube -- 8cube . WHen i am doing this the billqty is a key figure in cube so that is not a problem but the ITEMS is not there in the cube ,SO for that I need to write a routine to populate that one.
    Its strange but the user what to analyse with the UNIQKEY transaction. And these objects will be added as navigational attributes to the Characteristic. as it acts as another dimension.
    He wants to laod these from ODS to Master data -Characteristic.
    to say for each transcation hpw many items are getting sold.
    Message was edited by: Nagarjuna Reddy
    ONce again thanks for the qucik replies
    Message was edited by: Nagarjuna Reddy

  • UPDATE ROUTINE --- CUBE --- ODS Very Very URGENT

    Hi Collegues/Friends ,
    First I need to thank for the intiators of this site , as I came to know that for many
    problems we will get different best solutions ... Hoping the same I am posting a question
    which is very very very urgent as the client is running after me for this .
    My Requirement is as Follows. ..
    I Moving the data from Cube to ODS . While i need to write a routine for an extra field in
    ODS based on Billing Quantity in Base Unit of Measure . The Key Field in the ODS Is UNIQKEY
    Transaction and It is a Characterstic in the Cube and we have MAterial as another
    Characteristic  and core element as navigational attribute .
    In the Cube for every UNIQKEY transaction- there are more than One line items. 
    My data fields in the ODS are Billing Quantity in Base Unit of MEasure and and EXTRA FIELD
    : No of Items in Transaction . But the thing is that I have only Billing Quantity in Base
    Unit of Measure in cube as a key figure
    BAsing on the UNIQKEY transcation and Billing Quantity In Base Unit Of Measure I need to
    populate the No of Items in Transaction... For this i need to write a routine .
    Let suppose say that for the Materials the core elements are as follows
    Material  Core element
    10         1 -- fuel -- In liters
    20         2 -- Cigar - in PAck
    30         3 -- Coke - in Cans
    Now Lets see how the records are there in InfoCUbe
    Uniqkey  /  Material  / Core element /Billin Quantiy
    A          /   10      /     1        /    22
    B          /   30      /     3        /    2
    C          /   10      /    1         /  15
    C          /   30      /     3        /     2
    D          /   20      /     2        /    10
    D          /   30      /     3        /    2
    And IN the ODS -- I need to Populate the No OF items in Transaction.
    the Logic behind this as follows .
    1.if Materail is of type  1(Mean if the core element - 1)
    I need to Populate the No of items in tnx = 1
    2.If Material id of type 2 or 3 I need to populate the billing quantity to the no of
    transcations.
    3. If the Uniqkey tanscation contains two line items as  suppose that you have 20 litres of
    fuel and 2 cans of coke, then No of Items in the transaction should be 3 and Billing
    Quantity in BUoM 22
    billing quantity in BUoM = 20 litres for the first line item and 2 for the second line
    item...
    then as the first line item is fuel, field No OF Items in the Transcation should be 1
    (replacing the 20) + 2 = 3
    so the final result in the ODS should be billing quantity in BUoM = 22 and The Items in the
    Transcation = 3
    For this I have Written a Rouinte like this for that field
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line  -
    TABLES: /BI0/PMATERIAL.
    DATA: TITEMS LIKE /BIC/AZPOCODS00-/BIC/ZTITEMS,
           CORE_ELEMENT like /BI0/PMATERIAL-RPA_WGH1.
    $$ end of global - insert your declaration only before this line   -
    FORM compute_data_field
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
      USING    COMM_STRUCTURE LIKE /BIC/CS8ZPOCTUS04
               RECORD_NO LIKE SY-TABIX
               RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING RESULT LIKE /BIC/AZPOCODS00-/BIC/ZTITEMS
               RETURNCODE LIKE SY-SUBRC "Do not use!
               ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line        -
    fill the internal table "MONITOR", to make monitor entries
    check not COMM_STRUCTURE-material is initial.
      select SINGLE RPA_WGH1
            INTO CORE_ELEMENT
            from /BI0/PMATERIAL
            where
            material = COMM_STRUCTURE-material
            and  OBJVERS <>'D'.
       IF CORE_ELEMENT EQ '1'.
       TITEMS = '1'.
         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
             input         = titems
          IMPORTING
            OUTPUT        = titems
       ELSE.
       TITEMS = COMM_STRUCTURE-BILL_QTY.
       ENDIF.
    result value of the routine
      RESULT = TITEMS..
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    Does it satisfy all the conditions ?? mentioned above if . As far As i know as the only key
    field in the transcation it will satisfy the first two conditions .
    I want to know or If possioble anybody pls take some pain for me to send the code or any
    Ideas for satisfying all the conditions.
    Hope I will get immediate replies....
    Mail me to [email protected]

    Reddy,
    Please do not post in all sections ... makes it hard to follow up on posts..
    Arun

Maybe you are looking for

  • [Sol 10 11/06 SPARC on Sun Blade 2500] Could not determine boot disk?

    dear all, I have a problem during installation of Solaris 10 11/06 Sparc on Sun Blade 2500. After I choosing "Initial Install" at "Select Upgrade or Initial Install" stage, appears the following error message : "Note : Default install is not possible

  • ITicker getColumnValue() - Not returning Values

    Hi All, I'm on SAP MII 14.0 SP5 web application which is migrated from xMII 11.5. In xMII 11.5, the iTicker method - String getColumnValue(int nIndex, String sColumnName)'' is returning appropriate values for all the columns of record set fetched by

  • HOW TO override/modify default PTG homepage?

    Hi: I want to know how to override default portal to go homepage. I've create my wireless app that is already well deployed in a container and already working in PTG. I want to know how to modify the default ptg home. I've removed all apps from ptg t

  • Problem with the Signature field

    Hi All, Good day. I am having problem making a script work in the Adobe LiveCycle. Basically what I am trying to achieve is lock most of the fields on a form when the signature field is click. Note: Not all the fields should be locked. I then wrote a

  • Client-Side Caching of Static Objects

    Hi, We just installed SPS12 for NWs.  I learned of this new client-side caching of static objects while reading through the release notes, and I went in to our portal to check it out.  I went to the location where the <a href="http://help.sap.com/sap