Hi All,
currently I'm creating function exit for adding new record in table c_th_data.
In exit there is 1 field with type amount.
the proble is every time amount field have negative value, it converted into 0 (zero).
I'm using field symbol. in work area structure it's still in negative but when it's stored temporary table ( <t> ), the value is zero.
Any advice?
LOOP AT c_th_data INTO <s_data_wa>.
* CREATE DATA lr_struc LIKE <l>.
* ASSIGN lr_struc->* TO <s>.
MOVE-CORRESPONDING <s_data_wa> TO WA_CHECK.
MOVE-CORRESPONDING <s_data_wa> TO WA_CHECKN.
READ TABLE T_SEG INTO WA_SEG WITH KEY FISCYEAR = WA_CHECK-0FISCYEAR
COSTCENTER_SEND = WA_CHECK-0COSTCENTER.
IF SY-SUBRC EQ 0.
LOOP AT T_SEG INTO WA_SEG FROM SY-TABIX.
IF WA_SEG-FISCYEAR NE WA_CHECK-0FISCYEAR OR
WA_SEG-COSTCENTER_SEND NE WA_CHECK-0COSTCENTER.
EXIT.
ENDIF.
READ TABLE T_ALLSC INTO WA_ALLSC WITH KEY ALLSTRUC = WA_SEG-ALLSTRUC.
IF SY-SUBRC EQ 0.
LOOP AT T_ALLSC INTO WA_ALLSC FROM SY-TABIX.
IF WA_ALLSC-ALLSTRUC NE WA_SEG-ALLSTRUC.
EXIT.
ENDIF.
IF WA_CHECK-0COSTELMNT GE WA_ALLSC-COSTELMNT_FROM AND
WA_CHECK-0COSTELMNT LE WA_ALLSC-COSTELMNT_TO.
MOVE-CORRESPONDING WA_CHECK TO WA_CHECKN.
WA_CHECKN-0COSTELMNT = WA_ALLSC-COSTELMNT_ASS.
WA_CHECKN-ZAIP_AMNT = WA_CHECK-ZAIP_AMNT * WA_SEG-FACTOR / 100.
WA_CHECKN-ZAIP_AMNT = WA_CHECKN-ZAIP_AMNT * -1.
MOVE-CORRESPONDING WA_CHECKN TO <s_data_wa>.
** in <s_data_wa>. value stil negative*
*INSERT <s_data_wa> INTO TABLE <t>. " in <t> the value zero*
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
INSERT LINES OF <t> INTO TABLE c_th_data.