Ver Mensaje Individual
  #3
Antiguo 21 de noviembre de 2017, 15:34
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 21.09.2026 18:39
Posts Posts: 402
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Gatomalo Ver Mensaje
Bueno siguiendo la politica del foro

Código COBOL:
  1.  01 DATOS-DET.
  2.      02 MED-ITEM PIC X(3).
  3.      02 FILLER PIC X VALUE ",".
  4.      02 CANT PIC ZZZ,ZZ9.99.
  5.       02 FILLER PIC X VALUE ",".
  6.      02 COD-PROD PIC ZZZ,ZZ9.99.
  7.       02 FILLER PIC X VALUE ",".

este codigo se registra como "NUI, 10.15, 105.30".
para que se ponga de esta manera "NUI,10.15,105.30".

compilador rmcobolv7


Tirar os espaços de uma string:

Código COBOL:
  1.  working-storage section.
  2.  01  source-field    pic x(100).
  3.  01  source-index    pic 9(004).
  4.  01  source-size     pic 9(004) value 999.
  5.        
  6.  01  target-field    pic x(100).
  7.  01  target-index    pic 9(004).
  8.  
  9.  procedure division.
  10.  move 100 to source-index              *> (depende do tamanos máximo da string)
  11.  move "NUI,    10.15,   105.30"  to source-field
  12.  perform remove-spaces

target-field fica = a "NUI,10.15,105.30"

Código COBOL:
  1.  remove-space.
  2.           move spaces to target-field.
  3.            move zeroes to target-index
  4.            perform varying source-index from 1 by 1
  5.                    until source-index > source-size
  6.                if source-field(source-index:1) > space
  7.                   add 1 to target-index
  8.                   move source-field(source-index:1) to
  9.                        target-field(target-index:1)
  10.                end-if
  11.           end-perform.
Joseg is offline   Responder Con Cita