#1
|
||||
|
||||
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.
__________________
Es más fácil encontrar el final del arcoíris que el de un estándar SAP. |
#2
|
||||
|
||||
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.
__________________
Persigue tu objetivo, nunca te rindas! |
#3
|
||||
|
||||
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
__________________
Es más fácil encontrar el final del arcoíris que el de un estándar SAP. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|