Breew, aqui tienes un pequeño ejemplo, el cual puedes adaptar un poco:
Código COBOL:
WORKING-STORAGE SECTION.
01 IDX-POS PIC 9(5).
01 IDX-LON PIC 9(5).
01 IDX-TBL PIC 9(5).
01 WS-TEXTO-BSQ PIC X(100).
01 TBL-LISTA.
05 TB-LISTA OCCURS 50 TIMES.
10 FILLER PIC X(100).
PROCEDURE DIVISION.
MOVE 100 TO IDX-LON
PERFORM UNTIL IDX-LON = ZEROS OR WS-TEXTO-BSQ(IDX-LON:1) NOT = SPACES
SUBTRACT 1 FROM IDX-LON
END-PERFORM
IF IDX-LON > ZEROS
MOVE 1 TO IDX-TBL
PERFORM UNTIL IDX-TBL > 50
MOVE 1 TO IDX-POS
PERFORM UNTIL (IDX-LON + IDX-POS > 100)
OR WS-TEXTO-BSQ(1:IDX-LON) = TB-LISTA(IDX-TBL)(IDX-POS:IDX-LON)
ADD 1 TO IDX-POS
END-PERFORM
IF WS-TEXTO-BSQ(1:IDX-LON) = TB-LISTA(IDX-TBL)(IDX-POS:IDX-LON)
INVOKE CmList1 "AddString" USING TB-LISTA(IDX-TBL)
END-IF
ADD 1 TO IDX-TBL
END-PERFORM
END-IF
P.D. Amigos, intentad no pasar cosas por e-mail, porque asi el resto no lo vemos.