edgar19

12 Mensajes
OFF-Line
| Enviado el 29-07-2010 :: 15:28  
Hola gente!
Soy nuevo programando en Rmcobol85 Unix, tengo un inconveniente si pueden ayudarme, es sobre eliminación de una linea cuando es un arreglo, ejemplo.
02 CF-EXD-CTO-PORC OCCURS 10 TIMES.
03 CF-EXD-COD-CTO PIC 9(4).
03 CF-EXD-PORC PIC 9(3)V99.
03 CF-EXD-TIPO PIC 9(1).
-Cuando le ingreso 3 lineas
linea descripcion porc tipo
1 descuento 10.00 deudor
2 binifacacion 5.00 acreedor
3 promoción 7.00 deudor
Quiero eliminar la 2 linea, y la 3 linea debe ir a la segundo y asi consecutivamente.
Lo intente de varias formas.
MOVE W-LINEA TO CW-IND
PERFORM UBICAR-SGTE-LINEA
VARYING CW-IND FROM 1 BY 1
UNTIL CW-IND > CW-MAX-ITEM.
*
UBICAR-SGTE-LINEAS.
*
W-LINEA : el numero de linea
CW-IND : el indice
Desde ya le estoy agradecido...
saludos.
|
 
|
|
FitoCirano

Villa María
148 Mensajes
OFF-Line
| Enviado el 29-07-2010 :: 15:38  
Hola Amigo:
Yo haría algo asi:
02 CF-EXD-CTO-PORC OCCURS 10 TIMES.
03 cf-exd-linea.
04 CF-EXD-COD-CTO PIC 9(4).
04 CF-EXD-PORC PIC 9(3)V99.
04 CF-EXD-TIPO PIC 9(1).
01 W-LINEA pic 99.
01 CW-IND pic 99.
Procedure Division.
perform varying cw-ind from w-linea by 1 until cw-ind = 10
move cf-exd-linea(cw-ind + 1) to cf-exd-linea(cw-ind)
end-perform.
initialize cf-exd-linea(10).
Creo que así funcionaría.
Saludos.
----------------- Fito (Villa María - CBA - Argentina)
|
 
|
|
edgar19

12 Mensajes
OFF-Line
| Enviado el 29-07-2010 :: 16:13  
Lo voy a hacer asi a ver como lo haces. gracias.
|
 
|
|