-
Notifications
You must be signed in to change notification settings - Fork 0
/
as400.html
125 lines (115 loc) · 4.77 KB
/
as400.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<h1>Validar RUT!<br>AS400</h1>
<p>Enviado por Rodrigo Riveros</p>
<pre>
En la hoja I crear las DS
I DS
I 1 10 RUT
I 1 1 D1A
I 2 2 D2A
I 3 3 D3A
I 4 4 D4A
I 5 5 D5A
I 6 6 D6A
I 7 7 D7A
I 8 8 D8A
I 9 9 GUIA
I 10 10 DIGA
*
I DS
I 1 8 RUTVAL
I 1 1 D1V
I 2 2 D2V
I 3 3 D3V
I 4 4 D4V
I 5 5 D5V
I 6 6 D6V
I 7 7 D7V
I 8 8 D8V
I DS
I 1 10 RUTOK
I 1 10D1
I 2 20D2
I 3 30D3
I 4 40D4
I 5 50D5
I 6 60D6
I 7 70D7
I 8 80D8
I 9 9 RAYA
I 10 10 DIGV
Luego en la Hoja C, Validacion.
C N03 EXSR VALIDA
*---------------------------------------------------------------*
* VALIDA: VALIDA RUT *
*---------------------------------------------------------------*
C VALIDA BEGSR
*
C MOVE RUTDS RUT ' RUTDS = rut ingresado por pantalla'
C EXSR VALID
C *IN40 IFEQ '1'
C D1 MULT 3 D1X 30
C D2 MULT 2 D2X 30
C D3 MULT 7 D3X 30
C D4 MULT 6 D4X 30
C D5 MULT 5 D5X 30
C D6 MULT 4 D6X 30
C D7 MULT 3 D7X 30
C D8 MULT 2 D8X 30
C ADD D1X SUMA 130
C ADD D2X SUMA
C ADD D3X SUMA
C ADD D4X SUMA
C ADD D5X SUMA
C ADD D6X SUMA
C ADD D7X SUMA
C ADD D8X SUMA
C DIV 11 SUMA
C MVR RESTO 20
C 11 SUB RESTO DIG 20
C DIG IFEQ 10
C MOVE 'K' DIGF 1
C ELSE
C DIG IFEQ 11
C MOVE '0' DIGF
C ELSE
C MOVE DIG DIGF
C ENDIF
C ENDIF
C DIGF IFNE DIGV
C* EXSR ???????
C ELSE
C MOVEL'ERROR' ERR 10
C ENDIF
C ENDIF
C SETON LR
C RETRN
C ENDSR
*---------------------------------------------------------------*
* VALID : Valida Datos *
*---------------------------------------------------------------*
C VALID BEGSR
C D1A IFEQ ' '
C MOVE *ZEROS D1V
C ELSE
C MOVE D1A D1V
C ENDIF
C MOVE D2A D2V
C MOVE D3A D3V
C MOVE D4A D4V
C MOVE D5A D5V
C MOVE D6A D6V
C MOVE D7A D7V
C MOVE D8A D8V
C MOVELDIGA DIGV
C TESTN RUTVAL 40
C 40 MOVE D1V D1
C 40 MOVE D2V D2
C 40 MOVE D3V D3
C 40 MOVE D4V D4
C 40 MOVE D5V D5
C 40 MOVE D6V D6
C 40 MOVE D7V D7
C 40 MOVE D8V D8
C ENDSR
C*
</pre>