Quantcast
Channel: SCN: Message List - Data Warehousing
Viewing all articles
Browse latest Browse all 3366

Re: How to compare two DSO data records ?

$
0
0

Hi Jawad,

 

If we have the DSO tables  by using the FM 'REUSE_ALV_BLOCK_DISPLAY' display the data in blocks.so that we can comapre easily.  Try the following the one example.

 

 

*TABLES: mara, makt, mard.

**type-pools

*TYPE-POOLS: slis.

*

*DATA: lv_repid TYPE sy-repid,

*      wa_mara_field TYPE slis_fieldcat_alv,       "it is for field catalog

*      wa_makt_field TYPE slis_fieldcat_alv,

*      wa_mard_field TYPE slis_fieldcat_alv,

*      wa_mara TYPE mara,

*      wa_makt TYPE makt,

*      wa_mard TYPE mard,

*      it_mara_field TYPE slis_t_fieldcat_alv,

*      it_makt_field TYPE slis_t_fieldcat_alv,

*      it_mard_field TYPE slis_t_fieldcat_alv,

*      it_mara TYPE TABLE OF mara,

*      it_makt TYPE TABLE OF makt,

*      it_mard TYPE TABLE OF mard,

*      lv_layout TYPE slis_layout_alv,

*      it_events TYPE slis_t_event,            "it is for events

*      wa_events TYPE slis_alv_event.

*

**select-options

*SELECT-OPTIONS: s_matnr FOR mara-matnr.

*

*

**select the data

*PERFORM select_data.

**field catalog perform

*PERFORM field_cat.

*PERFORM events.

*

*lv_repid = sy-repid.

*

**call the initial function module

*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

*  EXPORTING

*    i_callback_program             = lv_repid

**   I_CALLBACK_PF_STATUS_SET       = ' '

**   I_CALLBACK_USER_COMMAND        = ' '

**   IT_EXCLUDING                   =

*          .

*

*

**call mara append list

*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

*  EXPORTING

*    is_layout                        = lv_layout

*    it_fieldcat                      = it_mara_field[]

*    i_tabname                        = 'MARA'

*    it_events                        = it_events[]

**   IT_SORT                          =

**   I_TEXT                           = ' '

*  TABLES

*    t_outtab                         = it_mara

* EXCEPTIONS

*   program_error                    = 1

*   maximum_of_appends_reached       = 2

*   OTHERS                           = 3.

*

**call makt append list

*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

*  EXPORTING

*    is_layout                        = lv_layout

*    it_fieldcat                      = it_makt_field

*    i_tabname                        = 'MAKT'

*    it_events                        = it_events

**   IT_SORT                          =

**   I_TEXT                           = ' '

*  TABLES

*    t_outtab                         = it_makt

* EXCEPTIONS

*   program_error                    = 1

*   maximum_of_appends_reached       = 2

*   OTHERS                           = 3.

*

*

**call mard append list

*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

*  EXPORTING

*    is_layout                        = lv_layout

*    it_fieldcat                      = it_mard_field

*    i_tabname                        = 'MARD'

*    it_events                        = it_events

**   IT_SORT                          =

**   I_TEXT                           = ' '

*  TABLES

*    t_outtab                         = it_mard

* EXCEPTIONS

*   program_error                    = 1

*   maximum_of_appends_reached       = 2

*   OTHERS                           = 3.

*

*

**display the data

*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

** EXPORTING

**   I_INTERFACE_CHECK             = ' '

**   IS_PRINT                      =

**   I_SCREEN_START_COLUMN         = 0

**   I_SCREEN_START_LINE           = 0

**   I_SCREEN_END_COLUMN           = 0

**   I_SCREEN_END_LINE             = 0

** IMPORTING

**   E_EXIT_CAUSED_BY_CALLER       =

**   ES_EXIT_CAUSED_BY_USER        =

** EXCEPTIONS

**   PROGRAM_ERROR                 = 1

**   OTHERS                        = 2.

*.

*

**&---------------------------------------------------------------------*

**&      Form  FIELD_CAT

**&---------------------------------------------------------------------*

**       text

**----------------------------------------------------------------------*

**  -->  p1        text

**  <--  p2        text

**----------------------------------------------------------------------*

*FORM field_cat .

**- for mara

*  wa_mara_field-col_pos = 1.

*  wa_mara_field-fieldname = 'MATNR'.

*  wa_mara_field-ref_tabname = 'MARA'.

*  APPEND wa_mara_field TO it_mara_field.

*  CLEAR wa_mara_field.

*

*  wa_mara_field-col_pos = 2.

*  wa_mara_field-fieldname = 'ERSDA'.

*  wa_mara_field-ref_tabname = 'MARA'.

*  APPEND wa_mara_field TO it_mara_field.

*  CLEAR wa_mara_field.

*

*  wa_mara_field-col_pos = 3.

*  wa_mara_field-fieldname = 'ERNAM'.

*  wa_mara_field-ref_tabname = 'MARA'.

*  APPEND wa_mara_field TO it_mara_field.

*  CLEAR wa_mara_field.

*

*  wa_mara_field-col_pos = 4.

*  wa_mara_field-fieldname = 'LAEDA'.

*  wa_mara_field-ref_tabname = 'MARA'.

*  APPEND wa_mara_field TO it_mara_field.

*  CLEAR wa_mara_field.

*

**-from makt

*  wa_makt_field-col_pos = '1'.

*  wa_makt_field-fieldname = 'MATNR'.

*  wa_makt_field-ref_tabname = 'MAKT'.

*  APPEND wa_makt_field TO it_makt_field.

*  CLEAR wa_makt_field.

*

*  wa_makt_field-col_pos = 2.

*  wa_makt_field-fieldname = 'MAKTX'.

*  wa_makt_field-ref_tabname = 'MAKT'.

*  APPEND wa_makt_field TO it_makt_field.

*  CLEAR wa_makt_field.

*

*  wa_makt_field-col_pos = 3.

*  wa_makt_field-fieldname = 'MAKTG'.

*  wa_makt_field-ref_tabname = 'MAKT'.

*  APPEND wa_makt_field TO it_makt_field.

*  CLEAR wa_makt_field.

*

**- mard

*  wa_mard_field-col_pos = 1.

*  wa_mard_field-fieldname = 'MATNR'.

*  wa_mard_field-ref_tabname = 'MARD'.

*  APPEND wa_mard_field TO it_mard_field.

*  CLEAR wa_mard_field.

*

*  wa_mard_field-col_pos = 2.

*  wa_mard_field-fieldname = 'WERKS'.

*  wa_mard_field-ref_tabname = 'MARD'.

*  APPEND wa_mard_field TO it_mard_field.

*  CLEAR wa_mard_field.

*

*  wa_mard_field-col_pos = 3.

*  wa_mard_field-fieldname = 'LGORT'.

*  wa_mard_field-ref_tabname = 'MARD'.

*  APPEND wa_mard_field TO it_mard_field.

*  CLEAR wa_mard_field.

*ENDFORM.                    " FIELD_CAT

*

*

*

**&---------------------------------------------------------------------*

**&      Form  SELECT_DATA

**&---------------------------------------------------------------------*

**       text

**----------------------------------------------------------------------*

**  -->  p1        text

**  <--  p2        text

**----------------------------------------------------------------------*

*FORM select_data .

**-mara

*  SELECT * FROM mara

*          INTO TABLE it_mara

*          WHERE matnr IN s_matnr.

**-makt

*  SELECT * FROM makt

*          INTO TABLE it_makt

*          WHERE matnr IN s_matnr.

**- mard

*  SELECT * FROM mard

*          INTO TABLE it_mard

*          WHERE matnr IN s_matnr.

*ENDFORM.                    " SELECT_DATA

*

*

*

**&---------------------------------------------------------------------*

**&      Form  EVENTS

**&---------------------------------------------------------------------*

**       text

**----------------------------------------------------------------------*

**  -->  p1        text

**  <--  p2        text

**----------------------------------------------------------------------*

*FORM events .

*  wa_events-form = 'TOP_PAGE'.

*  wa_events-name = 'TOP_OF_PAGE'.

*  APPEND wa_events TO it_events.

*ENDFORM.                    " EVENTS

*

*

*

**&--------------------------------------------------------------------*

**&      Form  TOP_PAGE

**&--------------------------------------------------------------------*

**       text

**---------------------------------------------------------------------*

*FORM top_page.

*  WRITE:/ 'THIS IS BLOCKED ALV REPORT ' COLOR 6.

*ENDFORM.                    "TOP_PAGE

 

 

 

 

 


In above example,fetching the data from 3 tables and displaying in blocks.hope your problem will solve.

 

 

Let me know if any issues.

 

Regards,

Gurunath Kumar D


Viewing all articles
Browse latest Browse all 3366

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>