MUNDOSAP

MUNDOSAP (foro/index.php)
-   RUEGOS Y PREGUNTAS (foro/forumdisplay.php?f=20)
-   -   Cambio de Signo (foro/showthread.php?t=76868)

ABellamy 06/03/17 21:43:36

Cambio de Signo
 
Buenas tardes.
Estoy armando un ALV en el que al cumplirse cierta condición, el importe debe de presentarse con signo negativo.

Mi código (lo presento abajo) es este y cuando lv_dmbtr sale del modulo de funciones se presenta algo así como: -1000.

Lo paso al campo que quiero y en la tabla interna se pone como 1000-
Inclusive hago un WRITE para ver como se presenta y sale lo mismo (1000-).
Destaco que el lv_dmbtr es tipo string ya que definiendolo como el tipo de dmbtr es moneda y este FM me da problemas con ese tipo de dato.

* Cambio de Signo en Importe.
LOOP AT lt_bseg INTO wa_bseg.
IF wa_bseg-shkzg = 'H'.
MULTIPLY wa_bseg-dmbtr BY -1.

lv_dmbtr = wa_bseg-dmbtr.

CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
value = lv_dmbtr.

wa_bseg-dmbtr = lv_dmbtr.
MODIFY lt_bseg FROM wa_bseg TRANSPORTING dmbtr.
ENDIF.
ENDLOOP.


Alguna idea que puedan proporcionarme, por favor?

Gracias.

bruky 07/03/17 16:46:23

Buenas tardes ABellamy,

La verdad que yo de ABAP estoy muy perdido y espero que lo que te diga no sea una aberración.

El campo que guarda el 1000- entiendo que es un char, no?

Quizá lo que pudieras hacer es:

Definirte tres variables:
- var1(4) type c.
- var2 type c.
- var3(5) type c.

Después hacer algo así:
var1 = campodelmil+1 (4)
var2 = campodelmil +4 (1)

concatenate var2 var1 into var3

Siento no tener mucha idea de ABAP, pero es lo primero que se me vino a la cabeza.
Un saludo.

ABellamy 08/03/17 21:53:25

Gracias por tú aporte, Bruky
A pesar de que no es lo más correcto el funcional lo ha aceptado así como está (1000-). Ni modo.

Gracias.


Saludos


Husos Horarios son GMT. La hora en este momento es 07:04:34.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web