Programa 1
Muitas vezes, nós definimos uma grande variável alfa, em seguida, redefini-la para especificar seus componentes (estrutura). A palavra-chave INIT não é permitido nas redefinições, por isso, codificar declarações ASSIGN explícitas. No nosso exemplo, nós usamos a redefinição do valor inicial de um superdescriptor do arquivo de funcionários.
> > + Program AAFPCS01 Lib NAT2CUR
All ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0010 DEFINE DATA LOCAL
0020 1 EMP VIEW EMPLOYEES
0030 2 DEPT
0040 2 NAME
0050 1 #DEPT-PERSON (A26) 1 REDEFINE #DEPT-PERSON
0060 2 #DEPT (A6) /* INIT <"ADMA01">
0070 2 #PERSON (A20) /* INIT <"MADSen">
0080 END-DEFINE
0090 ASSIGN #DEPT = "ADMA01"
0100 ASSIGN #PERSON = "MADSEN"
0110 FIND EMP WITH DEPT-PERSON = #DEPT-PERSON
0120 DISPLAY DEPT
0130 NAME
0140 END
0150
0160
0170
0180
0190
0200
....+....1....+....2....+....3....+....4....+....5....+... S 14 L 1
Resultado do Programa
MORE
PAG 1 14/10/15 12:37:19
DEPARTMENT NAME
CODE
---------- --------------------
ADMA01 MADSEN
Program 2
Para as pequenas estruturas, como no nosso exemplo, temos a opção de inicializar o "grande alpha", mas para estruturas complexas isso seria complicado e difícil de ler e manter.
> > + Program AAFPCS01 Lib NAT2CUR
All ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0010 DEFINE DATA LOCAL
0020 1 EMP VIEW EMPLOYEES
0030 2 DEPT
0040 2 NAME
0050 1 #DEPT-PERSON (A26) INIT <"ADMA01MADSEN">
0060 END-DEFINE
0070 FIND EMP WITH DEPT-PERSON = #DEPT-PERSON
0080 DISPLAY DEPT
0090 NAME
0100 END
0110
0120
0130
0140
0150
0160
0170
0180
0190
0200
....+....1....+....2....+....3....+....4....+....5....+... S 10 L 1
Resultado do Programa
MORE
PAG 1 14/10/15 12:37:56
DEPARTMENT NAME
CODE
---------- --------------------
ADMA01 MADSEN
Programa 3
Uma solução simples é virar as redefinições. Começamos com uma estrutura e redefinindo-a para ser o "large alpha."
> > + Program AAFPCS01 Lib NAT2CUR
All ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0010 DEFINE DATA LOCAL
0020 1 EMP VIEW EMPLOYEES
0030 2 DEPT
0040 2 NAME
0050 1 #DP-DEF /* Define a structure
0060 2 #DEPT (A6) INIT <"ADMA01">
0070 2 #PERSON (A20) INIT <"MADSEN">
0080 1 REDEFINE #DP-DEF /* Define the block
0090 2 #DEPT-PERSON (A26)
0100 END-DEFINE
0110 FIND EMP WITH DEPT-PERSON = #DEPT-PERSON
0120 DISPLAY DEPT
0130 NAME
0140 END
0150
0160
0170
0180
0190
0200
....+....1....+....2....+....3....+....4....+....5....+... S 14 L 1
Resultado do Programa
MORE
PAG 1 14/10/15 12:38:30
DEPARTMENT NAME
CODE
---------- --------------------
ADMA01 MADSENOriginal - Clique Aqui
Sem comentários:
Enviar um comentário