Ver Mensaje Individual
  #3
Antiguo 10 de mayo de 2022, 13:50
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 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Ainda não tenho a solução para o problema.

Pretendia que a string:
"101.10.01"
fosse SEMPRE diferente de:
"101.10.10"

...e tenho casos em que o cálculo dá o mesmo valor.

Gracias por qualquer ajuda.


Citación del post de Kuk Ver Mensaje
¿Cómo lo haces? Prueba algo así:

Código COBOL:
  1.      01 wmyvar pic x(3000).
  2.      01 filler redefines wmyvar.
  3.         05  byte occurs 3000  pic 9(2) comp-5.
  4.      
  5.      01 idx-1      pic 9(4) comp-5.
  6.      01 suma       pic 9(9) comp-5.
  7.      procedure division.
  8.        
  9.         move 1 to idx-1
  10.         move 0 to suma
  11.        
  12.         perform until idx-1 > length of wmyvar
  13.             add byte(idx-1) to suma
  14.  
  15.             add 1 to idx-1
  16.         end-perform
  17.        

También mira esto a ver si dura menos, el cálculo será diferente pero puede servir igual creo:

Código COBOL:
  1.      01 wmyvar pic x(3000).
  2.      01 filler redefines wmyvar.
  3.         05  byte occurs 1500  pic 9(4) comp-5.
  4.      
  5.      01 idx-1      pic 9(4) comp-5.
  6.      01 suma       pic 9(9) comp-5.
  7.      procedure division.
  8.        
  9.         move 1 to idx-1
  10.         move 0 to suma
  11.        
  12.         perform until idx-1 > 1500
  13.             add byte(idx-1) to suma
  14.  
  15.             add 1 to idx-1
  16.         end-perform
  17.        

Código COBOL:
  1.      01 wmyvar pic x(3000).
  2.      01 filler redefines wmyvar.
  3.         05  byte occurs 750  pic 9(9) comp-5.
  4.      
  5.      01 idx-1      pic 9(4) comp-5.
  6.      01 suma       pic 9(18) comp-5.
  7.      procedure division.
  8.        
  9.         move 1 to idx-1
  10.         move 0 to suma
  11.        
  12.         perform until idx-1 > 750
  13.             add byte(idx-1) to suma
  14.  
  15.             add 1 to idx-1
  16.         end-perform
  17.        
Joseg is offline   Responder Con Cita