Professional Documents
Culture Documents
* ---------------------------------------------------------------------*
INITIALIZATION.
PERFORM get_parameter_descr USING 'XSELOPT' 'L' CHANGING t_params.
TRANSLATE t_params TO UPPER CASE.
PERFORM get_parameter_descr USING 'AFAPL' '' CHANGING l_afapl.
PERFORM get_parameter_descr USING 'AFABER' '' CHANGING l_afaber.
PERFORM get_parameter_descr USING 'AREA_USAGE_IND' 'L' CHANGING l_area_u.
PERFORM get_parameter_descr USING 'VVJTEST' '' CHANGING l_test.
AT SELECTION-SCREEN OUTPUT. "AAPO5nn
* check use of old calculation program AFAR is required
TRY.
ld_class = 'CF_FAA_CFG_DEPRKEY'.
CALL METHOD (ld_class)=>use_old_calculation
RECEIVING
rb_old_calculation = ld_use_old_calc.
CATCH cx_sy_dyn_call_illegal_func.
ld_use_old_calc = 'X'.
ENDTRY.
* If old depreciation calculation is active, do not allow to set area_usage_ind
IF NOT ld_use_old_calc IS INITIAL.
MESSAGE E400(AP) WITH 'Report may not be executed.' 'Old depreciation calcul
ation is active.'.
ENDIF.
* ---------------------------------------------------------------------*
START-OF-SELECTION.
SELECT SINGLE * FROM t093 INTO ls_t093 WHERE afapl = p_afapl
AND afaber = p_afaber
AND xstore = space.
IF sy-subrc = 0.
IF p_test IS INITIAL.
WRITE:/ 'PRODUCTION RUN'.
WRITE:/ '=============='.
ELSE.
WRITE:/ 'TEST RUN'.
WRITE:/ '========'.
ENDIF.
WRITE:/ 'AREA_USAGE_IND set to', p_area_u.
WRITE: 'for:'.
WRITE:/ 'Chart of depreciation', p_afapl.
WRITE:/ 'Derived area ', p_afaber.
IF p_test IS INITIAL.
UPDATE t093 SET area_usage_ind = p_area_u WHERE afapl = p_afapl
AND afaber = p_afaber.
COMMIT WORK.
WRITE:/ 'Update performed successfully'.
ENDIF.
ELSE.
WRITE:/ 'Check selection criteria. No entry found to change.'.
ENDIF.
*&---------------------------------------------------------------------*
* Liefert sprachabhängigen Feldbezeichner
*----------------------------------------------------------------------*
* -->U_DELEM Datenelement
* <--C_DESCR Text
*----------------------------------------------------------------------*
FORM get_parameter_descr USING ud_delem TYPE char30
ud_length TYPE c
CHANGING c_descr LIKE l_afapl.
DATA ls_dfies TYPE dfies.
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
tabname = ud_delem
* LANGU = SY-LANGU
all_types = 'X'
IMPORTING
dfies_wa = ls_dfies
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3
.
CASE ud_length.
WHEN 'L'.
c_descr = ls_dfies-scrtext_l.
WHEN OTHERS.
c_descr = ls_dfies-scrtext_m.
ENDCASE.
ENDFORM. "get_parameter_descr