Ver Mensaje Individual
  #4
Antiguo 6 de febrero de 2017, 20:55
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Begoguay, el INSPECT no permite sustituciones de cadenas de caracteres de diferentes tamaños. Es decir, la longitud del texto a reemplazar debe coincidir con la longitud del texto nuevo. En este caso si haces

Código COBOL:
  1.      INSPECT TEXTO REPLACING
  2.          ALL X"0D0A" BY "- "

Te va a funcionar.

Si no quieres 2 caracteres, ya debes hacer un bucle:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  IDX-1       PIC 9(4) COMP-5.
  5.  01  WS-CAMPO    PIC X(8192).
  6.  PROCEDURE       DIVISION.
  7.      
  8.      MOVE "Text" OF CmText1 TO WS-CAMPO
  9.      
  10.      MOVE 1 TO IDX-1
  11.      
  12.      PERFORM UNTIL (IDX-1 + 2) > LENGTH OF WS-CAMPO
  13.          IF  WS-CAMPO(IDX-1:2) = X"0D0A"
  14.              MOVE SPACES               TO WS-CAMPO(IDX-1:1)            
  15.              MOVE WS-CAMPO(IDX-1 + 2:) TO WS-CAMPO(IDX-1 + 1:)
  16.          END-IF
  17.          
  18.          ADD 1 TO IDX-1
  19.      END-PERFORM
  20.      
  21.      MOVE WS-CAMPO TO ...



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita