Pregunta: | 9130 - RMCOBOL |
Autor: | andrea cosentino |
necesito informacion sobre como hacer que en rmcobol al ingresar un campo numerico con decimal, y al transferirlo a un archivo reconozca la coma como , y no llene los espacios a la izquierda con 0.
ej. si cargo 120,00 en un campo pic 9(6)v99. lo cargue como 120,00 y no como 00001200. muchas gracias. espero una pronta respuesta |
Respuesta: | VICTOR F. |
Andrea;
Ojalas que no se a muy tarde la respuesta a tu consulta; 1.- Por defecto el rmcobol esta orientado con el punto (.) para separar las cantidades. Para cambiar esto solo tienes que agregar una instruccion ; DECIMAL-POINT IS COMMA. 2:- Si no colocas esta intruccion ocurre lo que mencionas. Para mostrarla correctamente, ademas, debe agregarle al DISPLAY de la cantidad la instruccion CONVERT. por Ej.; DISPLAY campo LINE xx POSITION zz CONVERT. Si tiene alguna consulta, ya tienes mi correo. |
Respuesta: | Héctor Ramírez Capetillo |
Perú 23/03/2001
Estimada Andrea, No sé la fecha de publicación de tu anuncio y si me mensaje llegue a tiempo, parece que les falta añadir éste detalle en los avisos, pero respecto a tu pregunta no existe intruccion que permita lo que pretendes, pero te sugiero la siguiente rutina que hará posible lo que necesitas. Working-Storage.... 77 CAMPO-NUMERO PIC 9(5)V99. 01 CAMPO-ALFA. 03 ENTERO PIC XXXXX. 03 DECIMAL PIC XX. 01 CAMPO-EDITADO. 03 E-ENTERO PIC XXXXX. 03 FILLER PIC X VALUE " ". 03 E-DECIMAL PIC XX. ... PROCEDURE DIVISION. ACCEPT CAMPO-NUMERO. MOVE CAMPO-NUMERO TO CAMPO-ALFA. (DESAPARECE EL DECIMAL). MOVE ENTERO TO E-ENTERO. MOVE DECIMAL TO E-DECIMAL. INSPECT E-ENTERO REPLACING ALL " " WITH "0". INSPECT E-DECIMAL REPLACING ALL " " WITH "0". Luego puedes hacer uso de la variable CAMPO-EDITADO y moverlo donde desees. Nota: el comando INSPECT, puede quizá tenga otro nombre como VERIFY depende de la versión de Cobol que utilizas. Espero haberte ayudado.. Saludos. |