0
Hola buenas.
Comparto el código para convertir un campo decimal/currency a campos numéricos legible para COBOL de IBM, muy útil para importación de archivos generados desde Windev.
WinDev Código:
PROCEDURE PUBLIC convertir_DECIMAL_PIC_COBOL(IMPORTE is numeric(15,2), NUMERO_ENTEROS is int, SIGNO is boolean) IMPORTE_FINAL is numeric(15,2) CARACTER_SIGNO is fixed string on 1 = "" RESULTADO is UNICODE string = "" SWITCH IMPORTE CASE < 0 IMPORTE_FINAL = IMPORTE * (-1) CARACTER_SIGNO = "N" OTHER CASE IMPORTE_FINAL = IMPORTE CARACTER_SIGNO = "0" END SWITCH SIGNO CASE True NUMERO_ENTEROS-=1 RESULTADO = CARACTER_SIGNO+NumToString((IMPORTE_FINAL * 100),"0"+NUMERO_ENTEROS+".0F") CASE False RESULTADO = NumToString((IMPORTE_FINAL * 100),"0"+NUMERO_ENTEROS+".0F") END RESULT RESULTADO
Sí el número fuera -4.85 donde tiene 15 enteros y 2 decimales, el resultado sería así : N00000000000485
Saludos y espero que os sirvan para aquellos que trabajen desde la plataforma de IBM.
Marcadores