Citación del post de
Kuk
|
❞
@Joseg,
MainForm -> EDIT PROCEDURE DIVISION -> NEW, renombra en PRC-CALC
Edita y pega esto:
Código COBOL:
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 idx-1 pic 9(4) comp-5. 01 wsomamodelos pic 9(18) comp-5. LINKAGE SECTION. 01 LNK-DATOS. 05 LNK-INPUT PIC X(3000). 05 filler redefines LNK-INPUT. 10 byte occurs 750 pic 9(8) comp-5. 05 LNK-OUTPUT PIC 9(18). PROCEDURE DIVISION USING LNK-DATOS. move 1 to idx-1 move function current-date(5:12) to LNK-OUTPUT perform until idx-1 > 750 add byte(idx-1) to wsomamodelos add 1 to idx-1 end-perform add wsomamodelos to LNK-OUTPUT display LNK-OUTPUT
Código del botón Nº1:
Código COBOL:
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 LNK-DATOS. 05 LNK-INPUT PIC X(3000). 05 LNK-OUTPUT PIC 9(18). PROCEDURE DIVISION. MOVE "Text" OF CmText1 TO LNK-INPUT perform 5 times *> PARA TEST RAPIDO CALL "PRC-CALC" USING LNK-DATOS end-perform MOVE LNK-OUTPUT TO "Text" OF CmText3
Código del botón Nº2:
Código COBOL:
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 LNK-DATOS. 05 LNK-INPUT PIC X(3000). 05 LNK-OUTPUT PIC 9(18). PROCEDURE DIVISION. MOVE "Text" OF CmText2 TO LNK-INPUT CALL "PRC-CALC" USING LNK-DATOS MOVE LNK-OUTPUT TO "Text" OF CmText4
|
Gracias pela ajuda !!!
Entendo a ideia. Mas não posso usar.
Eu quero mais tarde validar o registo voltando a calcular o valor original tendo por base esta string "121-03-10;121-17-00;121-03-10;121-17-00;121-05-01;", para ver se o registo já existe.
Se a "primary key" não tivesse o limite de apenas 255 bytes (ficheiros ISAM), não tinha este problema. Simplesmente definia como chave única:
Código COBOL:
01 wmodelosori PIC X(3000).
e tinha o problema resolvido.
Mas como a String pode conter até 3000 bytes tenho que procurar outra solução.