ZPR2 value = Net Value 1 / (100 + MWST configured percentage)
- Configure in V/08
- Expected Result
- Code of Condition Value
FORM FRM_KONDI_WERT_998.
*{ INSERT DEVK900324 1
DATA: ls_knumh LIKE konp-knumh,
ls_komv LIKE LINE OF xkomv,
ls_stunr LIKE ls_komv-stunr,
ls_kwert LIKE ls_komv-kwert.
IF komk-taxk1 IS NOT INITIAL AND komp-taxm1 IS NOT INITIAL.
* -- Calculate the amount of Net Value 1
ls_stunr = xkomv-stunr.
LOOP AT xkomv INTO ls_komv WHERE kschl IS NOT INITIAL
AND kposn = komp-kposn
AND stunr < ls_stunr.
ls_kwert = ls_kwert + ls_komv-kwert.
ENDLOOP.
* -- Get percentage value o MWST
READ TABLE xkomv INTO ls_komv WITH KEY kschl = 'MWST'
kposn = komp-kposn.
IF sy-subrc = 0.
* -- sign of value
IF ls_komv-knega = 'X'.
ls_komv-kbetr = 0 - ls_komv-kbetr.
ENDIF.
* -- 5% -> 1.05, 10% -> 1.10
ls_komv-kbetr = ls_komv-kbetr + 100000.
xkwert = ls_kwert * 100000 / ls_komv-kbetr.
xkomv-kbetr = xkwert * 1000 / xkomv-kawrt.
ENDIF.
ENDIF.
*} INSERT
ENDFORM.
*{ INSERT DEVK900324 1
DATA: ls_knumh LIKE konp-knumh,
ls_komv LIKE LINE OF xkomv,
ls_stunr LIKE ls_komv-stunr,
ls_kwert LIKE ls_komv-kwert.
IF komk-taxk1 IS NOT INITIAL AND komp-taxm1 IS NOT INITIAL.
* -- Calculate the amount of Net Value 1
ls_stunr = xkomv-stunr.
LOOP AT xkomv INTO ls_komv WHERE kschl IS NOT INITIAL
AND kposn = komp-kposn
AND stunr < ls_stunr.
ls_kwert = ls_kwert + ls_komv-kwert.
ENDLOOP.
* -- Get percentage value o MWST
READ TABLE xkomv INTO ls_komv WITH KEY kschl = 'MWST'
kposn = komp-kposn.
IF sy-subrc = 0.
* -- sign of value
IF ls_komv-knega = 'X'.
ls_komv-kbetr = 0 - ls_komv-kbetr.
ENDIF.
* -- 5% -> 1.05, 10% -> 1.10
ls_komv-kbetr = ls_komv-kbetr + 100000.
xkwert = ls_kwert * 100000 / ls_komv-kbetr.
xkomv-kbetr = xkwert * 1000 / xkomv-kawrt.
ENDIF.
ENDIF.
*} INSERT
ENDFORM.
No comments:
Post a Comment