Monday, April 10, 2006

[BW] Note 500966 Data is missing: Pre-analyzing the problem in the PSA

You can apply this note to know the PSA table for specific request

*&---------------------------------------------------------------------*
*& Report ZGET_PSA_TAB *
*& *
*&---------------------------------------------------------------------*
*& *
*& This report belongs to note 500966. *
*& *
*& Version 1.0 *
*& *
*& Function: *
*& ========= *
*& This report determins the name of a PSA table for a certain *
*& request *
*& *
*& Attributes: *
*& =========== *
*& Type: executable program *
*&---------------------------------------------------------------------*

REPORT ZGET_PSA_TAB .

type-pools:
rsa.

INCLUDE .


parameters:
request type RSREQUNR default 'REQU_EIUN4YI1LS86EWJNMWY58TDO9'.

data:
ld_odsname_db type RSA_ODSDBNAME,
ls_rsseldone type rsseldone.

start-of-selection.

write:/ 'Get PSA table:'.
uline.

select single * from rsseldone into ls_rsseldone
where
rnr eq request.

if sy-subrc ne 0.
write: / icon_led_red as icon, 'ERROR: Request', request,
' does not exist!'.
else.
write: / icon_led_green as icon, 'Request:', at 30 request .
uline.
write: / icon_led_green as icon, 'DataSource:',
ls_rsseldone-oltpsource
under request.
write: / icon_led_green as icon, 'Selection Date:',
ls_rsseldone-seldate
under request,
ls_rsseldone-seltime.
endif.

CALL FUNCTION 'RSAR_ODS_NAME_GET'
EXPORTING
I_LOGSYS = ls_rsseldone-logsys
I_ISOURCE = ls_rsseldone-oltpsource
I_ISTYPE = ls_rsseldone-typ "changed 12.03.2002
I_DATE = ls_rsseldone-seldate
* I_VERSION =
* I_SELTYPE = 'D'
* I_SEGMENT_ID =
IMPORTING
* E_ODSNAME =
E_ODSNAME_DB = ld_odsname_db
* E_ODS_TABTYPE =
* E_S_ODS =
* E_T_ODSFIELDS =
* E_PARTITIONED =
EXCEPTIONS
PARAMETER_FAILURE = 1
NO_ODS_FOUND = 2
NO_FIELDS_TO_ODS = 3
OTHERS = 4
.

uline.

IF SY-SUBRC <> 0.
write:/ icon_led_red as icon, 'ERROR: No PSA table found !'.
else.
write:/ icon_led_green as icon, 'Name of PSA table:',
ld_odsname_db under request.
ENDIF.