Nicht auf einem Dynpro...!
Code: Alles auswählen.
TABLES: /cth/vm_str_plan.
DATA: ok_code TYPE sy-ucomm.
PARAMETERS: p_betrag TYPE /cth/vm_str_plan-p_volumen_gesamt,
p_waers TYPE /cth/vm_str_plan-p_waehrung_hw.
START-OF-SELECTION.
CALL SCREEN '100'.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS '100'.
SET TITLEBAR '100'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
IF ok_code = 'BACK'
OR ok_code = 'EXIT'
OR ok_code = 'CANC'.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module GET_VALUES OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE get_values OUTPUT.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module GET_WAERS OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE get_waers OUTPUT.
/cth/vm_str_plan-p_waehrung_hw = p_waers.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module GET_AMOUNT OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE get_amount OUTPUT.
/cth/vm_str_plan-p_volumen_gesamt = p_betrag.
ENDMODULE.
Code: Alles auswählen.
PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE get_waers.
MODULE get_amount.
*
PROCESS AFTER INPUT.
MODULE user_command_0100.
Kann es vielleicht sein, weil der Umrechnungsfaktor in der Tabelle TCURF mit 100 angegeben ist?
Code: Alles auswählen.
FORM curr .
FIELD-SYMBOLS <x> type x.
data wbetr type dmbtr.
data waers type waers.
wbetr = '10.23'.
waers = 'EUR'.
assign wbetr to <x> CASTING .
write : / 'write ohne WAERS', wbetr, 'EUR:', wbetr CURRENCY waers, 'HEX:', <x>.
waers = 'HUF'.
assign wbetr to <x> CASTING .
write : / 'write ohne WAERS', wbetr,'HUF:', wbetr CURRENCY waers, 'HEX:', <x>.
waers = 'JOD'.
assign wbetr to <x> CASTING .
write : / 'write ohne WAERS', wbetr,'JOD:', wbetr CURRENCY waers, 'HEX:', <x>.
endform.
Verstehen tue ich das aber nicht... Man spart ja nichts. Die Währung benutzt ja trotzdem das gleich Feld.