#2
|
||||
|
||||
Ejemplo
Mira a mí por ejemplo si me llega un importe de este tipo "45678.23" y lo quiero transformar a "45.678,23"; hago esto:
FORM cambiar_formato CHANGING p_valor. DATA: lv_contador_ent TYPE i, lv_contador_dec TYPE i. DATA: lv_entero(13) TYPE c, lv_decimal(2) TYPE c. DATA: lv_num_aux TYPE string. CLEAR: lv_contador_ent, lv_contador_dec, lv_entero, lv_decimal, lv_num_aux. SPLIT p_valor AT '.' INTO lv_entero lv_decimal. lv_contador_dec = strlen( lv_decimal ). IF lv_contador_dec = 0. lv_decimal = '00'. ELSEIF lv_contador_dec = 1. CONCATENATE lv_decimal '0' INTO lv_decimal. ENDIF. lv_contador_ent = strlen( lv_entero ). CONCATENATE lv_entero lv_decimal INTO lv_num_aux. "POSITIVO... IF p_valor => 0. IF lv_contador_ent = 1. WRITE lv_num_aux USING EDIT MASK '_,__' TO p_valor. ELSEIF lv_contador_ent = 2. WRITE lv_num_aux USING EDIT MASK '__,__' TO p_valor. ELSEIF lv_contador_ent = 3. WRITE lv_num_aux USING EDIT MASK '___,__' TO p_valor. ELSEIF lv_contador_ent = 4. WRITE lv_num_aux USING EDIT MASK '_.___,__' TO p_valor. ELSEIF lv_contador_ent = 5. WRITE lv_num_aux USING EDIT MASK '__.___,__' TO p_valor. ELSEIF lv_contador_ent = 6. WRITE lv_num_aux USING EDIT MASK '___.___,__' TO p_valor. ELSEIF lv_contador_ent = 7. WRITE lv_num_aux USING EDIT MASK '_.___.___,__' TO p_valor. ELSEIF lv_contador_ent = 8. WRITE lv_num_aux USING EDIT MASK '__.___.___,__' TO p_valor. ELSEIF lv_contador_ent = 9. WRITE lv_num_aux USING EDIT MASK '___.___.___,__' TO p_valor. ELSEIF lv_contador_ent = 10. WRITE lv_num_aux USING EDIT MASK '_.___.___.___,__' TO p_valor. ELSEIF lv_contador_ent = 11. WRITE lv_num_aux USING EDIT MASK '__.___.___.___,__' TO p_valor. ELSEIF lv_contador_ent = 12. WRITE lv_num_aux USING EDIT MASK '___.___.___.___,__' TO p_valor. ENDIF. "NEGATIVO... ELSE. IF lv_contador_ent = 1. WRITE lv_num_aux USING EDIT MASK '_,__-' TO p_valor. ELSEIF lv_contador_ent = 2. WRITE lv_num_aux USING EDIT MASK '__,__-' TO p_valor. ELSEIF lv_contador_ent = 3. WRITE lv_num_aux USING EDIT MASK '___,__-' TO p_valor. ELSEIF lv_contador_ent = 4. WRITE lv_num_aux USING EDIT MASK '_.___,__-' TO p_valor. ELSEIF lv_contador_ent = 5. WRITE lv_num_aux USING EDIT MASK '__.___,__-' TO p_valor. ELSEIF lv_contador_ent = 6. WRITE lv_num_aux USING EDIT MASK '___.___,__-' TO p_valor. ELSEIF lv_contador_ent = 7. WRITE lv_num_aux USING EDIT MASK '_.___.___,__-' TO p_valor. ELSEIF lv_contador_ent = 8. WRITE lv_num_aux USING EDIT MASK '__.___.___,__-' TO p_valor. ELSEIF lv_contador_ent = 9. WRITE lv_num_aux USING EDIT MASK '___.___.___,__-' TO p_valor. ELSEIF lv_contador_ent = 10. WRITE lv_num_aux USING EDIT MASK '_.___.___.___,__-' TO p_valor. ELSEIF lv_contador_ent = 11. WRITE lv_num_aux USING EDIT MASK '__.___.___.___,__-' TO p_valor. ELSEIF lv_contador_ent = 12. WRITE lv_num_aux USING EDIT MASK '___.___.___.___,__-' TO p_valor. ENDIF. ENDIF. ENDFORM.
__________________
Consultor técnico SAP Úlima edición por vic3 fecha: 30/01/19 a las 13:39:15. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|