REPORT RSAN_WB_ROUTINE_TEMP_REPORT .
TYPES: BEGIN OF y_source_fields ,
BILL_DATE TYPE /BI0/OIBILL_DATE ,
/BIC/ZZCBSARK TYPE /BIC/OIZZCBSARK ,
SOLD_TO TYPE /BI0/OISOLD_TO ,
ZZCBSARK__ZZCECFLAG TYPE /BIC/OIZZCECFLAG ,
KYF_0001 TYPE /BIC/OIZZKSB25_L ,
KYF_0002 TYPE /BIC/OIZZKWI07_L ,
END OF y_source_fields .
TYPES: yt_source_fields TYPE STANDARD TABLE OF y_source_fields .
TYPES: BEGIN OF y_target_fields ,
COUNTRY TYPE /BIC/OIZZCOUNTRY ,
CALMONTH TYPE /BI0/OICALMONTH ,
ZZCBSARK TYPE /BIC/OIZZCBSARK ,
ZZCECFLAG TYPE /BIC/OIZZCECFLAG ,
CUSTOMER TYPE /BI0/OISOLD_TO ,
CUSTOMER_NAME TYPE RSTXTMD ,
REVENUE TYPE /BIC/OIZZKSB25_L ,
FEADJCOST TYPE /BIC/OIZZKWI07_L ,
END OF y_target_fields .
TYPES: yt_target_fields TYPE STANDARD TABLE OF y_target_fields .
*---------- Begin of type definitions -------------------------------
*TYPES: ...
*----------- End of type definitions --------------------------------
FORM compute_data_transformation
USING it_source TYPE yt_source_fields
ir_context TYPE REF TO if_rsan_rt_routine_context
EXPORTING et_target TYPE yt_target_fields .
*--------- Begin of transformation code -----------------------------
DATA: ls_source TYPE y_source_fields,
ls_target TYPE y_target_fields.
LOOP AT it_source INTO ls_source.
*-1. COUNTRY IS ALWAYS US.
ls_target-country = 'US'.
*-2. CALENDAR DAY.
ls_target-calmonth = ls_source-bill_date.
*-3. METHOD OF ORDER.
ls_target-zzcbsark = ls_source-/bic/zzcbsark.
*-4. ORDER METHOD EC GROUP
ls_target-zzcecflag = ls_source-zzcbsark__zzcecflag.
*-5. CUSTOMER
ls_target-customer = ls_source-sold_to.
*-6. CUSTOMER NAME.
SELECT SINGLE txtmd
INTO ls_target-customer_name
FROM /bi0/tcustomer
WHERE customer = ls_source-sold_to.
IF sy-subrc <> 0.
CLEAR ls_target-customer_name.
ENDIF.
*-6. REVENUE
ls_target-revenue = ls_source-kyf_0001.
*-7. Front End Adj COST $.
ls_target-FEADJCOST = ls_source-kyf_0002.
APPEND ls_target TO et_target.
ENDLOOP.
*---------- End of transformation code ------------------------------
ENDFORM.