SAP BW Course Screens 6
SAP BW Course Screens 6
SAP BW Course Screens 6
REPORT ZEMP.
EMPID (10),
SAL TYPE I,
END OF EMP.
EMP-EMPID = RAMESH.
EMP-DEPT = MM.
EMP-SAL = 5000.
EMPID (10),
SAL TYPE I,
END OF EMP.
EMP-EMPID = RAMESH.
EMP-DEPT = MM.
EMP-SAL = 5000.
APPEND EMP TO EMP INSERTING DATA INTO INTERNAL TABLE. SHORT CUT IS APPEND EMP.
EMPID (10),
SAL TYPE I,
END OF EMP.
EMP-EMPID = RAMESH.
EMP-DEPT = MM.
EMP-SAL = 5000.
APPEND EMP TO EMP INSERTING DATA INTO INTERNAL TABLE. SHORT CUT IS APPEND EMP.
EMP-EMPID = SATISH.
EMP-DEPT = SD.
EMP-SAL = 5000.
APPEND EMP TO EMP INSERTING DATA INTO INTERNAL TABLE. SHORT CUT IS APPEND EMP.
EMP-EMPID = HARISH.
EMP-DEPT = CC.
EMP-SAL = 5000.
APPEND EMP TO EMP INSERTING DATA INTO INTERNAL TABLE. SHORT CUT IS APPEND EMP.
-- READING RECORDS
END LOOP.
COPYING DATA:
EMPID (10),
SAL TYPE I,
END OF EMP.
DATA: ITAB LIKE EMP OCCURS 10, -- NO WORK AREA / HEADER BY LIKE STATEMENT. IT CREATES ONLY THE BODY.
EMP-EMPID = RAMESH.
EMP-DEPT = MM.
EMP-SAL = 5000.
APPEND EMP TO EMP INSERTING DATA INTO INTERNAL TABLE. SHORT CUT IS APPEND EMP.
EMP-EMPID = SATISH.
EMP-DEPT = SD.
EMP-SAL = 5000.
APPEND EMP TO EMP INSERTING DATA INTO INTERNAL TABLE. SHORT CUT IS APPEND EMP.
EMP-EMPID = HARISH.
EMP-DEPT = CC.
EMP-SAL = 5000.
APPEND EMP TO EMP INSERTING DATA INTO INTERNAL TABLE. SHORT CUT IS APPEND EMP.
ITAB[] = EMP[]. ALL RECORDS FROM EMP COPIED TO ITAB.
-- READING RECORDS
WRITE : / WA-EMP, WA-DEPT, WA-SAL. WRITE TO WORK AREA WHICH IS A READ. -- / IS NEW LINE
END LOOP.
TO READ FROM SAP TABLE:
FOR EXAMPLE, TO READ FROM SAP TABLE MARA, BELOW STATEMENT SHOULD BE DEFINED.
TABLES /BIC/PTA_MATID.
*---------------------------------------------------------------------*
* CLASS routine DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform DEFINITION.
PUBLIC SECTION.
* Attributs
DATA:
p_check_master_data_exist
TYPE RSODSOCHECKONLY READ-ONLY,
*- Instance for getting request runtime attributs;
* Available information: Refer to methods of
* interface 'if_rsbk_request_admintab_view'
p_r_request
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
PRIVATE SECTION.
*$*$ begin of global - insert your declaration only below this line *-*
... "insert your code here
*$*$ end of global - insert your declaration only before this line *-*
METHODS
compute_TA_MATID
IMPORTING
request type rsrequest
datapackid type rsdatapid
SOURCE_FIELDS type _ty_s_SC_1
EXPORTING
RESULT type _ty_s_TG_1-/BIC/TA_MATID
monitor type rstr_ty_t_monitor
RAISING
cx_rsrout_abort
cx_rsrout_skip_record
cx_rsrout_skip_val.
METHODS
invert_TA_MATID
IMPORTING
i_th_fields_outbound TYPE rstran_t_field_inv
i_r_selset_outbound TYPE REF TO cl_rsmds_set
i_is_main_selection TYPE rs_bool
i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
i_r_universe_inbound TYPE REF TO cl_rsmds_universe
CHANGING
c_th_fields_inbound TYPE rstran_t_field_inv
c_r_selset_inbound TYPE REF TO cl_rsmds_set
c_exact TYPE rs_bool.
ENDCLASS. "routine DEFINITION
*$*$ begin of 2nd part global - insert your code only below this line *
... "insert your code here
TABLES: /BIC/PTA_MATID.
*$*$ end of 2nd part global - insert your code only before this line *
*---------------------------------------------------------------------*
* CLASS routine IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform IMPLEMENTATION.
METHOD compute_TA_MATID.
* IMPORTING
* request type rsrequest
* datapackid type rsdatapid
* SOURCE_FIELDS-/BIC/TA_MATID TYPE C LENGTH 000018
* EXPORTING
* RESULT type _ty_s_TG_1-/BIC/TA_MATID
DATA:
MONITOR_REC TYPE rsmonitor.
*$*$ begin of routine - insert your code only below this line *-*
... "insert your code here
*-- fill table "MONITOR" with values of structure "MONITOR_REC"
*- to make monitor entries
... "to cancel the update process
* raise exception type CX_RSROUT_ABORT.
... "to skip a record
* raise exception type CX_RSROUT_SKIP_RECORD.
... "to clear target fields
* raise exception type CX_RSROUT_SKIP_VAL.
SELECT SINGLE * FROM /BIC/PTA_MATID INTO /BIC/PTA_MATID WHERE
/BIC/TA_OLDMAT = SOURCE_FIELDS-/BIC/TA_MATID.
IF SY-SUBRC <> 0.
RESULT = SOURCE_FIELDS-/BIC/TA_MATID.
ELSE.
RESULT = /BIC/PTA_MATID-/BIC/TA_MATID .
ENDIF.
*$*$ end of routine - insert your code only before this line *-*
ENDMETHOD. "compute_TA_MATID
*----------------------------------------------------------------------*
* Method invert_TA_MATID
*----------------------------------------------------------------------*
*
* This subroutine needs to be implemented only for direct access
* (for better performance) and for the Report/Report Interface
* (drill through).
* The inverse routine should transform a projection and
* a selection for the target to a projection and a selection
* for the source, respectively.
* If the implementation remains empty all fields are filled and
* all values are selected.
*
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
METHOD invert_TA_MATID.
*$*$ begin of inverse routine - insert your code only below this line*-*
... "insert your code here
*$*$ end of inverse routine - insert your code only before this line *-*
ENDMETHOD. "invert_TA_MATID
ENDCLASS. "routine IMPLEMENTATION
-------------------------------------------
Expert routine menu is meant for experts who would like to code source to target movement without any transformation. When
the option is selected, if any mappings exist between source and target, it will get deleted.
READ MASTER DATA: ABOVE TRANSFORMATION READS MATERIAL ID MASTER DATA. NOTICE TA_MATID UNDER IOASSIGNMENT
COLUMN.