Manual cobol

542 views 169 slides Sep 14, 2019
Slide 1
Slide 1 of 169
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106
Slide 107
107
Slide 108
108
Slide 109
109
Slide 110
110
Slide 111
111
Slide 112
112
Slide 113
113
Slide 114
114
Slide 115
115
Slide 116
116
Slide 117
117
Slide 118
118
Slide 119
119
Slide 120
120
Slide 121
121
Slide 122
122
Slide 123
123
Slide 124
124
Slide 125
125
Slide 126
126
Slide 127
127
Slide 128
128
Slide 129
129
Slide 130
130
Slide 131
131
Slide 132
132
Slide 133
133
Slide 134
134
Slide 135
135
Slide 136
136
Slide 137
137
Slide 138
138
Slide 139
139
Slide 140
140
Slide 141
141
Slide 142
142
Slide 143
143
Slide 144
144
Slide 145
145
Slide 146
146
Slide 147
147
Slide 148
148
Slide 149
149
Slide 150
150
Slide 151
151
Slide 152
152
Slide 153
153
Slide 154
154
Slide 155
155
Slide 156
156
Slide 157
157
Slide 158
158
Slide 159
159
Slide 160
160
Slide 161
161
Slide 162
162
Slide 163
163
Slide 164
164
Slide 165
165
Slide 166
166
Slide 167
167
Slide 168
168
Slide 169
169

About This Presentation

manual basico para amigos del cobol


Slide Content

MANUAL DE SUPERVIVENCIA 
Conceptos básicos  para mis amigos Coboleros 
"
"
"
Software Factory de Cáceres – CENIT 
INSA 
Rafael Campillo Lorenzo  
CÁCERES – Año lectivo 2006 – 2007 
"
"
"
"
"
"
"
"
"
"
"There is no way to happiness. Happiness is the way. 
There is no way to peace. Peace is the way. 
There is no way to enlightenment. Enlightenment is the way." 
 
...Thich Nhat Hanh-Buddha 
 
 
 
 
 
 
 

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
oS
SSS
ÍNDICE 
S
ftwareSweS aFcyRlC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m

pCSiLlSniz.ás–.(SLsIázT.SláOIT/(P CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC )
oCSal, SnaBá(ITAásH(SlEMá(VS,IO2zAásHsáES TAs.sáEPCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC u
dCSrarlCSnrzMáOV(ISaBóOIVTásOBSrOBáIO.SlEMá(VP CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC U
mCSrTITAá(I:MásATMS2(S.OMS–IO/ITVTMShT1OSrarlCS3RNrjSHMSbtSgateCCCCCCCCCCCCCCCCCCCCCCCCCCCC <
íCSgTSRIvzsá(AázITS2(Sw(MTIIO..OCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pD
)CSl>gCSw3oCSAzIMOI(MC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC po
)CpCSrzIMOI(MCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pd
)CoCSwOAzV(BáTAsGBS–TITS.TMS–Iz(hTMS2(S.TMSáTh.TMSw3oSzás.sYT2TM CCCCCCCCCCCCCCCCCCCCCCC pm
uCS ,ybFyRiRlS weS yeRyyRt>ceS -S S S Ie,blarabtRiaetNbCS S Ry>caNerNcyRS
3RNrjC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC p)

uCpCS zBAsOBTVs(BáOS2(.Sw3oCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC p)
uCoCSy(TIITBvz(S2(S–IO/ITVTM CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC p)
uCdCS sA=(IOMS2sB>VsAOMS–TITSMT.s2T CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC p)
uCmCSlO–OIá(S :MsAO CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pu
uCíCSrOBATá(BTAsGBS2(S sA=(IOMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pu
uC)CS3OIIT2OS2(S sA=(IOMS2(SrbiiaNC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC p)
uCuCS3OIIT2OS sA=(IOMSc.ásVOSrOVVsáC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC p,
uCUCSe1(V–.OMS2(S?rg@MCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pU
uC<CSeMvz(.(áOM CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pU
uCpDCS NITáTVs(BáOS TS M(/zsIS –OIS .OMS –IO/ITVTMS 2(S T–.sATAsGBS (BS hTM(S TS zBS (1(V–.OS
I(T.CS,IO/ITVTSg>33tDpC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC p<

UCS?rgSn?b3SrbtNybgSgRtFcR?eP CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mm
UCpCS sA=(IOMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mm
UCoCSLNbrCSNTh.TS2(SAOBá(Bs2OS2(.SHO.zV(BCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mm
UCdCS sA=(IOMS,TIásAsOBT2OMAS,wlCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mí
UCmCS OIVTMS2(S.OAT.sYTISzBSósA=(IOCSrTá>.O/OM CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mí
UCíCSg(B/zT1(S2(SrOBáIO.S2(SNIThT1OMCSlsBáTBsMC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mí
UC)CSl(Bá(BAsTS?b3 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mí
ilFgeLegnRC3P CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mí
ilFrgRll CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m)
rgRllCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m)
tbNa - CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m)
Naie CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m)
N-,yct CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m)
yelNRyN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m)

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
dS
SSS
yeFabt CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m)

rbtwSbSa DetwDegle CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCm)
UCuCSl(Bá(BAsTSwwCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m)
wlt CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mu
wal,CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC mU
ctaN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
LbgCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
wr3 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
l,Rre CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
way CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
l-lbcN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
UCUCSl(Bá(BAsTSeEerCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
tOVhI(S2(.S–IO/ITVT CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
tbi3yeSwegS,ybrewaiaetNbCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC m<
RAAáCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
R22IM–ACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
rOB2 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
w–IáE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
wEBTVBhI CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
,TIV CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
,(IóOIV CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
y2 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
y(/sOBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
ásV( CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
UC<CScás.s2T2(MS2(S?rgCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íD
aejgalN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íp
ae3Fetey CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íp
ae3rb,-CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ío
ae3rbi,yCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ío
ae 3ypm CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ío
w lbyN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ío
w wll CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íd
UCpDCSl(Bá(BAsTMSTHTBYT2TMS?rgCSrbtrRNetRraFtSweS a rjeybl CCCCCCCCCCCCCCCCCCCCC íd
yeFgRlSweSrbtrRNetRraFt CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íd
RteEbl CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íí
RteEbSRAStOáTMSEST–zBá(MSMOhI(Srb3bgSESAO2sósATAsGBC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC íí
RteEbSpASgsMáT2OS2(S ageSGSlNRNclCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC í)
RteEbSoASNzáOIsT.S2(S.OMSl>grbwelSESMzMSATzMTM CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC )o

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
mS
SSS
RteEbSoC3SSl>grbwelSetSrRlNeggRtbC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC Uo

RteEbSdASR3etwSrbwelShT1OSNlbSDSal, CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC UU
RteEbSmAScás.s2T2(MSESbh1(áOMS–TITS(.Sy(–OMsAsOBTVs(BáOS3TáA=C CCCCCCCCCCCCCCCCCCCCCCCCC <o
RteEbSmCpCSSwRye,blCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <o
RteEbSmCoSwR,ybr3RNrjC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <d
RteEbSmCdC atrgcwelSESrb,-lC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <m
cyrb,-lCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <m
cyietlR CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <í
cylHaNrjCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <í
cyl>grbwCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <)
cyHbyICCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <)
cywrgFetCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <u
cyrcylbyCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <u
ANEXO 4.4 Funciones. SEEJrRtregRrabtJ,ybrelblJ3RNrjC CCCCCCCCCCCCCCCCCCCCCCCC <U
RteEbSmCíCS?rgSye,blarabtRiaetNb CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <<
RteEbSíCSeBóI(BáTVs(BáOS2(SósA=(IOMC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDp
RteEbKlbyN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDd
bI2(BTAsGBSh>MsAT CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDd
bI2(BTAsGBS–TIAsT. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDm
rO–sTS2(SzBSósA=(IOCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDí
rO–sTS–TIAsT.S2(SzBSósA=(IO CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pD)
bI2(BTISESATVhsTIS2sM–OMsAsGBS2(SATV–OMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDu
e.sVsBTISI(–(ás2OM CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDU
RAzVz.TI CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pD<
b–(IT2OI(MSESás–OMS2(S2TáOM CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pD<
RteEbS)CS1zMáS(BOz/=SsM–óCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ppp
RteEbSuKSwelrya,rabtS ageSlNRNclSetSel,RLbgCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pdo
RteEbSUSK,ybFyRiRrabtScNagaMRtwbSjblNS-SRy>caNerNcy RSal3Rt CCCCCCCC pdí
ÍNDICE DE FIGURAS. 
S
 s/zITSpSKSlzhMsMá(VTMS2(.SblKd<D CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC U

 s/zITSoSKSRIvzsá(AázITS2(S2(MTIIO..OCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pD
 s/zITSdSKSj(IITVs(BáTMS2(S.TSTIvzsá(AázITS2(S2(MTIIO..O CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pD
 s/zITSmSKSj(IITVs(BáTMS2(S2(MTIIO..OSbtKgate CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pp
 s/zITSíSKSrTV–OMS2(S.TSáTh.TSwRye,bl CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC<o
 s/zITS)SKSrTV–OMS2(S.TSáTh.TSwR,ybr3RNrj CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC <d
 s/zITSuSKS,TI>V(áIOMS2(S.TSózBAsGBSEEJrRtregRrabtJ ,ybrelblJ3RNrjCCCCCCCCCCC <U
 s/zITSUSKSlbyNSKSbI2(BTAsOBSh>MsAT CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDd
 s/zITS<SKSlbyNSKSbI2(BTAsOBS–TIAsT.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDm
 s/zITSpDSKSlbyNSKSrO–sTS2(SzBSósA=(IO CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDí
 s/zITSppSKSlbyNSKSrO–sTS–TIAsT.S2(SzBSósA=(IOCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pD

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
íS
SSS
 s/zITSpoSKSlbyNSKSbI2(BTSESATVhsTS2sM–OMsAsOBS2(SATV–OMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDu

 s/zITSpdSKSlbyNSKSe.sVsBTISI(–(ás2OMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pDU
 s/zITSpmSKSlbyNSKSRAzVz.TICCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC pD<
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)S
SSS
1. MVS (MULTIPLE VIRTUAL STORAGE)  
iLlS niz.ás–.(S LsIázT.S láOIT/(CS iN.ás–.(S R.VTAOBS LsIázT.S (BS sB/.OMPS óz(S (.S MsMá(VTS
O–(ITásHOS V>MS zMT2OS (BS .OMS VO2(.OMS 2(S VTsBóITV(MS lEMá(VDduDS ES lEMá(VDd<DS 2(S
a3iCStOSás(B(SBsB/zBTSI(.TAsGBSAOBSLiDrilCSOáIOSMsMá(VTSO–(ITásHOS2(Sa3iCS
S
e.S iLlS óz(S .TBYT2OS T.S V(IAT2OS –OIS –IsV(ITS H(YS (BS p<umCS ES .z(/OS óz(S I(BOVhIT2OS TS
iLlDERS n–OIS TIvzsá(AázITS (Bá(B2s2TS (BS sB/.OMPCS V>MSáTI2(S TS iLlDelRS n–OIS
TIvzsá(AázITS2(SMsMá(VTMS(V–I(MTIsT.(MPCS.z(/OSM(SI(BOVhIGSAOVOSOS/390SAzTB2OSM(S
.(STPT2sGST.SMsMá(VTSO–(ITásHOS.OMSM(IHsAsOMS2(SctaECSESósBT.V(Bá(STSYDblSAzTB2OS.OMS
VO2(.OMS Yl(Is(MS óz(IOBS sBáIO2zAs2OMS T.S V(IAT2OCS NO2OMS (..OMCS MsBS (VhTI/OCS MOBS
ózB2TV(BáT.V(Bá(S (.S VsMVOS MsMá(VTS O–(ITásHOCS w(S =(A=OCS .OMS –IO/ITVTMS vz(S =TETBS
Ms2OS2sM(PT2OMS–TITS(.SMsMá(VTSiLlS–z(2(BSAOII(IS(BSYDblSMsBSVO2sósATAsGBST./zBTCS
iLlSóz(SAI(T2OShTMT2OS(BSlLlSnlsB/.(SLsIázT.SláOIT/(CSQBsAOSR.VTAOBSLsIázT.PCSESOMá(S
TS MzS H(YS óz(S AI(T2OS TS –TIásIS 2(S iLNCS zBTS 2(S .TMS HTIsTBá(MS 2(.S MsMá(VTS O–(ITásHOS
blDd)DCS
S
gTSHTIsTBá(SOIs/sBT.S2(.SblDd)DS(ITS,r,Sn,IO/ITVTS2(SrOBáIO.S,IsVTIsOPSBOSMO–OIáThTS
.TS(1(AzAsGBS2(SáTI(TMSVN.ás–.(MCSESiLNSniz.ásáTI(TMSAOBSBNV(IOS2(SNTI(TMSLTIsTh.(MPS
(ITSzBTSV(1OITSvz(S(ITSAT–TYS2(S.TS(1(AzAsGBS2(SVN.ás–.(MSáTI(TMCSlOhI(S(MáTShTM(CS(.S
MsMá(VTS lLlS TPT2sGS (.S RT.VTAOBS HsIázT.SCS V(1OIS AOBOAs2OS AOVOS V(VOIsTS HsIázT.TS (.S
(M–TAsOS 2(S 2sI(AAsOBTVs(BáOS 2(S (MáTS V(VOIsTS (ITS AOV–TIás2OS –OIS áO2TMS .TMS
T–.sATAsOB(MCSS
S
iLlCSósBT.V(Bá(CSTPT2sGS.TSAT–TAs2T2S2(Svz(SAT2TS–IO/ITVTSázHs(ITSMzS–IO–sOS(M–TAsOS
2(S2sI(AAsOBTVs(BáOS2(SV(VOIsTCS2(ST..:SMzSBOVhI(CS
S
eMá(SMsMá(VTSM(SzMTSá:–sATV(Bá(S(BST–.sATAsOB(MSAOV(IAsT.(MSEShTBATIsTMCSESOMáTMSMOBS
BOIVT.V(Bá(S (MAIsáTMS (BS rb3bgCS tOIVT.V(Bá(S (MáOMS –IO/ITVTMS (MAIsáOMS (BS rb3bgS
(ITBSzMT2OMS(BSMsMá(VTMSáITBMTAAsOBT.(MSAOVOSailSESrarlCS
S
JCLSn?OhSrOBáIO.SgTB/zT/(PCS.TSsBá(IóTYS2(S–IOA(MOS3TáA=CSS
S
TSOSnNsV(Sl=TIsB/Sb–ásOBPCS.TSsBá(IóTYSsBá(ITAásHTS2(Sás(V–OSAOV–TIás2OCS
S
ISPF SeMSzBTSsBá(IóTYSvz(S–(IVsá(ST.SzMzTIsOS.O/ITIS.TMSVsMVTMSáTI(TMSvz(SNlbS–(IOS
2(SzBTSVTB(ITSOIs(BáT2TSTSV(BNMSESóOIVz.TIsOMCS
S
e.S MsMá(VTS M(S zMTS BOIVT.V(Bá(S (BS B(/OAsOMS ES hTBAOMCS ES .TMS T–.sATAsOB(MS M(S Mz(.(BS
(MAIshsIS (BS rb3bgCS gOMS –IO/ITVTMS rb3bgS óz(IOBS áIT2sAsOBT.V(Bá(S zMT2OMS AOBS
MsMá(VTMS 2(S –IOA(MTVs(BáOS 2(S áITBMTAAsOB(MS AOVOS ailS -rarlCS ,TITS zBS –IO/ITVTS
(1(Azá>B2OM(S(BSrarlCSM(SsBM(IáTBS.TMSM(Bá(BAsTMS(M–(AsT.(MSeEerSrarlS(BS(.SAG2s/OS
óz(Bá(S rb3bgCS cBS –I(–IOA(MT2OIS I(–.TYTS 2sA=TMS M(Bá(BAsTMS eEerS rarlS –OIS (.SS
T–IO–sT2OSAG2s/OSrb3bgS–TITS..TVTISTSrarlSTBá(MS2(Svz(S(.S–IO/ITVTSM(SAOV–s.(CS
 
 
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
uS
SSS
2.  ISPF  (INTERACTIVE  SYSTEM  PRODUCTIVITY 
FACILITY)  
(Interfaz TSO/ISPF) 
 
eMSzBSAOB1zBáOS=(IITVs(BáTS–TITS(.SMsMá(VTSO–(ITásHOSa3iSYDblniLlCSblDd<DPS(BS.OMS
OI2(BT2OI(MSiTsBóITV(CSS
S
aBA.zE(SzBS(2sáOIS2(S–TBáT..TCS(.SsBá(IóTYS2(SzMzTIsOSóz(SAOV(IAsT.sYT2OSTSósBT.(MS2(S.OMS
TPOMSUDCSsBA.zE(B2OSl, ,rCS
S
,IsBAs–T.V(Bá(S –IOH((S TS .TS á(IVsBT.S a3iS douDS 2(S zBSsBá(IóTYS AOBS V(BNMS ES 2s>.O/OMS
–TITS (1(AzáTIS =(IITVs(BáTMS 2(S MsMá(VTS hT1OS NlbCS  I(Az(Bá(V(Bá(S (MS zás.sYT2OS –TITS
VTBs–z.TISTIA=sHOMS–OISV(2sOS2(SMzS,w Sn,IO2zAáSw(H(.O–V(BáS TAs.sáEPCS
e.Sal, S(MSTV–.sTh.(SESVzESTSV(Bz2OS(MSzás.sYT2OSAOVOSsBá(IóTYS–TITSOáIOMS–IO/ITVTMS
2(ST–.sATAsGBCSizA=OMS–IO2zAáOMSH(B2s2OMS–TITS(.SMsMá(VTSO–(ITásHOSiLlSzás.sYTBS.OMS
V(BNMS2(Sal, S–TITSTAA(2(ISTSMzMS=(IITVs(BáTMCS
 
 
 
 
 
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
US
SSS
3.  CICS.  (CUSTOMER  INFORMATION  CONTROL 
SYSTEM) 
S
S
 s/zITSpSKSlzhMsMá(VTMS2(.SblKd<DS
S
rarlS(MSzBS/(MáOIS2(SáITBMTAAsOB(MCSgTS(1(AzAsGBS2(SzBS–IO/ITVTS(MSzBTSáITBMTAAsGBCS
ESAT2TSáITBMTAAsGBS/(B(ITS zBTS NTI(TCScBTS NITBMTAAsGBS(MSAT2TS zBTS2(S.TMS(BáIT2TMS
vz(SM(SI(T.sYTS2(M2(S(.SN(IVsBT.CScBTSNTI(TS(MS.TSzBs2T2S2(SáIThT1OS2(Sr,cSAI(T2TS–OIS
zBTS áITBMTAAsGBCS rzTB2OS M(S sBHOATS zBTS áITBMTAAsGBCSzBS –IO/ITVTS 2(á(IVsBT2OS M(S
ATI/TS(BSV(VOIsTSESM(SsBsAsTS.TSNTI(TCSRM:STzBvz(SHTIsOMSzMzTIsOMSsBHOvz(BS.TSVsMVTS
áITBMTAAsGBCSAT2TSzBOSá(B2I>SzBTSáTI(TS2sMásBáTCS
rarlS(MSVz.ásáTI(TSnAOBAzII(BAsTPCSR2(V>MSHTIsTMSáTI(TMS2só(I(Bá(MS–z(2(BSAOV–TIásIS
(.S VsMVOS –IO/ITVTS MsS (Má(S (MS I((BáITBá(S nBOS ATVhsTS(BS BsB/NBS VOV(BáOPCS rarlS
–(IVsá(S AOV–TIásIS .TS ,IOA(2zI(S wsHsMsOBS 2(S zBS –IO/ITVTS ES MsBS (VhTI/OS TAA(2(IS TSS
HOIUsB/SláOIT/(Sl(AásOBMS2só(I(Bá(MCS
S
e.S rarlS (MS(.S VOBsáOIS 2(Sá(.(–IOA(MOCS eMS zBS –IO2zAáOS vz(S –(IVsá(S (.SáITáTVs(BáOS 2(S
–IOA(MOMS(BSás(V–OSI(T.CSzBTSsBá(IóTM(SMOóáVTI(S–TITSMO–OIáTISBz(MáIOMS–IO/ITVTMS2(S
T–.sATAsGBS(BSás(V–OSI(T.S(BáI(S.OMS–IO/ITVTMS2(ST–.sATAsGBSES(.SMsMá(VTSO–(ITásHOCSl(S
–O2I:TS–(BMTISvz(S(.SrarlS(MSzBSlsMá(VTSb–(ITásHOS2(BáIOS2(SOáIOSlsMá(VTSb–(ITásHOCS
eBS(MáOMSáOIVsBOMCSrarlS(MSzBSlbS(M–(AsT.sYT2OSAzETSósBT.s2T2S(MS–IOH((ISzBS(BáOIBOS
–TITS .TS (1(AzAsGBS 2(S –IO/ITVTMS 2(S T–.sATAsGBS btS gateCS sBA.zE(B2OS sBá(IóTM(MS –TITS
ósA=(IOMS ES –IO2zAáOMS 2(S 3TM(MS 2(S wTáOMCS e.S MsMá(VTSáOáT.S (MS AOBOAs2OS BOIVT.V(Bá(S
AOVOSzBSMsMá(VTSw3DwrSnwTáTS3TM(DwTáTSrOBáIO.PS
S
e.S(Mvz(VTS2(.S–IOA(MOS(BSás(V–OSI(T.S–z(2(SM(IS(.SMs/zs(Bá(AScBSO–(IT2OICS2(M2(SzBTS
OósAsBTCS sBáIO2zA(S T./NBS 2TáOS –OIS (.S N(IVsBT.TS .TS sBóOIVTAsGBS HsT1TS –OIS .TS .:B(TS
á(.(óGBsATS =TMáTS (.S OI2(BT2OIS A(BáIT.TS OMá(S –IOA(MTS .TS MO.sAsáz2S n–OIS (1(V–.OS zBTS
–(ásAsGBS2(SMT.2OPSES(BH:TS.TSI(M–z(MáTST.SN(IVsBT.Svz(S(ó(AázGS.TS–(ásAsGBCScBSiOBsáOIS
2(S N(.(–IOA(MOS nrarlPS 1zBáOS TS zBS T2(AzT2OS iOáO2OS 2(S RAA(MOS TS N(.(AOVzBsATAsOB(MS
nLNRiPCS–(IVsá(BSvz(S(Má(SáITMs(/OS2(SsBóOIVTAsGBSM(S(ó(AáN(S2(SóOIVTSVzESI>–s2TSES
(ósATYCS
S
eBS zBS MsMá(VTS 3RNrjS .OMS I(AzIMOMS zás.sYT2OMS n–IsBAs–T.V(Bá(S ósA=(IOMPS MG.OS (Má>BS
2sM–OBsh.(MSAzTB2OS(.S–IO/ITVTS=TSTAThT2OS2(SzMTI.OMCS..(/TB2OSTM:STS(MáTISTAA(Msh.(MS
–TITSAzT.vzs(IS–(ásAsGBCS
jTESHTIsOMSrarlAS,TITSw(MTIIO..OCSeB–.OáTAsGBCSN(MáCSrOII(OSe.(AáIGBsAOCS
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<S
SSS
4. CARACTERÍSTICAS DE LOS PROGRAMAS BAJO CICS. 
BATCH VS ON LINE 
S
w(M2(S(.S–zBáOS2(SHsMáTS2(S.TSEJECUCIÓNASS
S
• cBS–IO/ITVTSBATCHSM(S.TBYTS(1(Azá>B2OM(S2(S–IsBAs–sOSTSósBSMsBSvz(SBsB/NBS
zMzTIsOS–z(2TSsBá(Ió(IsIS(BS(.S–IOA(MOS2zITBá(S.TS(1(AzAsGBCSS
S
• cBS –IO/ITVTSON-LINES –(IVsá(S sBá(ITAAsOB(MS AOBS (.S zMzTIsOS TS áITHOMS 2(S zBSS
N(IVsBT.CS R2(V>MS –(IVsá(S vz(S zBS VsMVOS –IO/ITVTS M(TS (1(AzáT2OS
MsVz.á>B(TV(Bá(S–OISHTIsOMSzMzTIsOMCS
S
S
S
w(M2(S(.S–zBáOS2(SHsMáTS2(S.TSzás.sYTAsGBS2(SMEMORIAASS
S
• cBS–IO/ITVTSBATCHSVTBás(B(SI(M(IHT2OS–TITSMzSzMOS(BA.zMsHOSáO2OS(.S(M–TAsOS
ó:MsAOS 2(S V(VOIsTS I(vz(Is2OS –OIS (.S –IO/ITVTS 2zITBá(S áO2OS (.S ás(V–OS 2(S
(1(AzAsGBCSS
S
• lsBS (VhTI/OS (BS zBS –IO/ITVTSON-LINES hT1OSCICS,S (MS OMá(S (.S vz(S /(MásOBTS
2sB>VsATV(Bá(S .TS V(VOIsTCS –IO–OIAsOBTB2OS >I(TMS 2(S V(VOIsTS M(/NBS .TMS
B(A(Ms2T2(MS2(.S–IO/ITVTSvz(S(BS(M(SVOV(BáOSM(S(Má>BS(1(AzáTB2OCS
S
S
S
w(M2(S(.S–zBáOS2(SHsMáTS2(Szás.sYTAsGBS2(SFICHEROSCSS
S
• cBS–IO/ITVTSBATCHS=TA(SzBSzMOS(BA.zMsHOS2(S.TSsBóOIVTAsGBS2(S.OMSósA=(IOMS
vz(SI(vzs(I(S2(hs(B2OSM(IS2(ósBs2OMS(B–I(MTV(Bá(S(BS(.S–IO/ITVTS
S
• is(BáITMS vz(S (BS zBS –IO/ITVTSON-LINES hT1OSCICSCS M(S –O2I>S TAA(2(IS (BS áO2OS
VOV(BáOS TS .TS sBóOIVTAsGBS 2(S AzT.vzs(IS ósA=(IOS vz(S I(AOBOYATS (.SCICSS MsBS
I(vz(IsIS zBTS 2(ósBsAsGBS (B–I(MTS (BS (.S –IO/ITVTCS –z2s(B2OS M(IS (MáOS VsMVOS
I(T.sYT2OS –OIS AzT.vzs(IS OáIOS –IO/ITVTS vz(S áTVhsOBS M(S (MáOS (1(AzáTB2OS hT1OS
CICSCS
S
S
cBS –IO/ITVTSBATCHS (BH:TS MzMS sBMáIzAAsOB(MS 2(SE/SS 2sI(AáTV(Bá(S T.SSOCS gOMS
–IO/ITVTMS 2(S T–.sATAsGBS2(.SCICSS (BH:TS áT.(MS sBMáIzAAsOB(MS T.SCICSS ES OMá(S VTB(1TS (.S
sBá(IóTM(SAOBS(.SlsMá(VTSb–(ITásHOCS
w(MTIIO..OS2(ST–.sATAsOB(MS(BSHOSTCS
N(Bs(B2OS .TS (MáTAsGBS 2(S áIThT1OS AOB(AáT2TS T.SHOSTCS hT1OSMVSS ES 2(MTIIO..TB2OS .TMS
T–.sATAsOB(MShT1OSTSO 
S
bShs(BSózBAsOBTB2OS2(SóOIVTSTzáGBOVTS2sM–OBs(B2OS2(SzBSCICSDOS2CS
 
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDS
SSS
5. LA ARQUITECTURA DE DESARROLLO 
S
 s/zITSoSKSRIvzsá(AázITS2(S2(MTIIO..OS
S
eMS zBTS (MáIzAázITS vz(S –I(á(B2(S óTAs.sáTIS (.S 2(MTIIO..OS 2(S T–.sATAsOB(MS vz(S 2(h(BS
(1(AzáTIM(ShT1OSrb3bgDaaCSrarlSESw3oCS
l(SAOV–OB(S2(SzBTSM(Is(S2(S–IO2zAáOMCS–IO/ITVTMCS(B/TBA=(MSAOBSOáITMST–.sATAsOB(MCS
(áACCCS
eMáTS sBóIT(MáIzAázITS –IO–OIAsOBTS zBTS I>–s2TS –z(MáTS(BS VTIA=TS 2(S T–.sATAsOB(MS ES
T=OIIOS2(Sás(V–OS(BS(.SVTBá(BsVs(BáOCS
l(S–z(2(SH(ISAOVOSzBSAOB1zBáOS2(S=(IITVs(BáTMSvz(S–TITSMzS(Máz2sOS.TMST/Iz–TI(VOMS
(BS =(IITVs(BáTMS 2(S VTB(1OS 2(S 2TáOMCS –TITS (.S 2(MTIIO..OS btKgateS ES (.S 2(MTIIO..OS
3RNrjCS
j(IITVs(BáTMS2(SiTB(1OS2(SwTáOMCS
S
S
 s/zITSdSKSj(IITVs(BáTMS2(S.TSTIvzsá(AázITS2(S2(MTIIO..OS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ppS
SSS
S
S
wsAAsOBTIsOS2(SwTáOMASl(S2(ósB(BSeBás2T2(MS2(S.TMST–.sATAsOB(MCSTM:SAOVOS.OMSRáIshzáOMS
vz(S.TMSAOV–OB(BCS(MáOS(MCS.TMSáTh.TMSw3oSESMzMSATV–OMCS,(IVsá(SI(.TAsOBTISTáIshzáOMS
2(SOáITMS(Bás2T2(MSES(ó(AázTIS(.SVTBá(BsVs(BáOS2(S:B2sA(MSESHsMáTMCS
S
>i AS eMSzBS –IO2zAáOSV(2sTBá(S (.S AzT.S M(S –z(2(BS (VsásISM(Bá(BAsTMS n(BS l>gPS AOBáITS
3TM(MS2(SwTáOMSw3oS2(SóOIVTSsBá(ITAásHTCS
S
l,c aASNTVhsOBS(Vsá(SAOVTB2OMSl>gSAOBS.TSMT.H(2T2S2 (Svz(S(.S–IOA(MOSTSI(T.sYTIS(Má>S
ETS(MAIsáOS(BSzBSósA=(IOSES–(IVsá(SzMTISM(Bá(BAsTMS2(S2(ósBsAsGBS2(S2TáOMS
S
,ybewaNAS e2sáOIS –TITS áTh.TMS w3oS vz(S –(IVsá(S –IOA(MTIS áTh.TMS w3oS ó>As.S ES
I>–s2TV(Bá(S–z(MS(MS2(ST–TIs(BAsTSMsVs.TIST.Sal, CScMTB2OS(MáTST–.sATAsGBSM(S–z(2(BS
VO2sósATISós.TMS2(S.TMSáTh.TMSMsBSAOBOAsVs(BáOMS2(Sl>gCS
S
ga3yRyaRtAS eMS zBS /(MáOIS 2(S VG2z.OMS óz(Bá(MCS (MáOS (MCS –IO/ITVTMS ES AO–s(MS vz(S
VTBás(B(S =TMáTS pDS H(IMsOB(MS 2(S zBS –IO/ITVTS ES íS 2(S zBTS AO–ECS gTMS AO–s(MS 2(.S
–IO/ITVTS 2(h(BS M(IS –TMT2TMS TS .shITIsTBS TBá(MS vz(S O.S –TITS vz(S .TS AOV–s.TAsGBS 2(S
ATVhsOS2(S(BáOIBOSBOSóT..(CS
j(IITVs(BáTMS2(S2(MTIIO..OSbtKgateS
S
 s/zITSmSKSj(IITVs(BáTMS2(S2(MTIIO..OSbtKgateS
 
S
S
S
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
poS
SSS
6. SQL. DB2. CURSORES. 
DB2S (MS (.S MsMá(VTS /(MáOIS 2(S 3TM(MS 2(S wTáOMS 2(Sa3iCS njTS 2(S –(IVsásIS S AOBAzII(BAsTCS
M(/zIs2T2Sn–IsHs.(/sOMSES–IO=shsAsOB(MPS(SsBá(/Is2T2SI(ó(I(BAsT.CSnAO=(I(BAsTS2(BáIOS2(S.TS
3wPPCS
S
r.TH(S ,IsVTIsTS nPRIMARY  KEYPAS lsS zBTS AO.zVBTS (Má>S 2(ósBs2TS AOVOS A.TH(S –IsVTIsTCS
.OMS 2TáOMS 2(S (MTS AO.zVBTS nATV–OPS M(I>BS NBsAOMCS eMS zBTS AO.zVBTS OS zBS AOB1zBáOS 2(S
AO.zVBTMS vz(S s2(BásósATBS zB:HOATV(Bá(S TS AT2TS ós.TCSw(h(S M(IS NBsATCS BOS Bz.TS ES
Oh.s/TáOIsTCS rOVOS V>BsVOCS –O2(VOMS 2(ósBsIS zBTS A.TH( S –IsVTIsTS –OIS áTh.TCSS
eMáTS A.TH(S M(S –z(2(S I(ó(I(BAsTIS –OIS zBTS AO.zVBTS OS AO.zVBTMCS rzTB2OS M(S AI(TS zBTS
A.TH(S–IsVTIsTCSTzáOV>ásATV(Bá(SM(SAI(TSzBS:B2sA(Svz(SóTAs.sáTS(.STAA(MOSTS.TSáTh.TCS
S
r.TH(SR1(BTCSeBá(IBTSnFOREING KEY PASeMáTSóOIVT2TS–OISzBTSOSHTIsTMSAO.zVBTMSvz(S
(Má>BSTMOAsT2TMSTSzBTSA.TH(S–IsVTIsTS2(SOáITSOS2(S.TSVsMVTSáTh.TCSl(S–z(2(BS2(ósBsIS
áTBáTMS A.TH(MS T1(BTMS AOVOS M(S –I(AsM(CS ES –z(2(BS (MáTIS OS BOS (BS .TS VsMVTS áTh.TSvz(S .TS
A.TH(S –IsVTIsTCS e.S HT.OIS 2(S .TS AO.zVBTS OS AO.zVBTMS vz(S MOBS A.TH(MS T1(BTMS 2(h(S M(IAS
tcggSOSs/zT.STSzBSHT.OIS2(S.TSA.TH(SI(ó(I(BAsT2TSnI(/.TS2(SsBá(/Is2T2SI(ó(I(BAsT.PCS
S
SQLAS(MSzBS.(B/zT1(S2(A.TITásHOCSeBSAzT.vzs(IS3wSáIThT1TI(VOMSAOBS(.S.(B/zT1(Sl>gCS
S
wwgASwTáTSw(ósBsásOBSgTB/zT/(ASryeRNeCSwyb,CSRgNeyS
wigASwTáTSiTBs–z.TásOBSgTB/zT/(ASSlegerNCSatleyNCSc ,wRNeCSwegeNeCS
wrgASwTáTSrOBáIO.SgTB/zT/(ASWS
S
 
CREATE   DATABASE    NombreDB 
 
 
DROP         DATABASE    NombreDB 
 
 
CREATE        TABLE          NombreTabla  (Nom -campo    TipoDato  
RestriccionNulidad,  Nom-campo2    TipoDato2    RestricciónNulidad 
…) 
S
S
yelNyarraFtStcgawRwASS
tbNStcggASMsSTSzBSATV–OS.(S(M–(AsósATVOMStbNStcggCS Oh.s/TVOMSTSvz(S(BS(M(SATV–OS
M(SV(áTSsBóOIVTAsGBCSBOSM(S–z(2(Svz(2TISHTA:OCS
S
tbNStcggSHaNjSwe RcgNAStOS–(IVsá(SBz.OMCS–(IOSMsSM( S2(1TS(BSh.TBAOSI(..(BTCSrOBS
(MáTSO–AsGBS–O2I:TVOMS2(1TISATV–OMSMsBSI(..(BTIS(BS.TSáTh.TCS
S
tcggR3geAS S vz(S –(IVsá(S Bz.OMS nS (BS ATMOS 2(S BOS –OB(ISBT2TS AO/(I:TS (MTS O–AsGBS –OIS
2(ó(AáOS
S
DROP    TABLE   NombreTabla ( RESTRICT / CASCADE ) 
 
      SELECT     Campo1, ... ,CampoN 
            INTO     :Var1, ... , :VarN 
          FROM   Tabla 
        WHERE   condiciones 
GROUP BY   Agrupaciones para sacar datos comunes 

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pdS
SSS
    HAVING   Filtro. Establece condiciones pero para grupos 
ORDER BY   Ordena 
 
 
INSERT    INTO   Tabla 
     (Campo1, Campo2, … , CampoN) 
VALUES 
     (Valor  
 
S
UPDATE   Tabla 
SET 
     Campo1 = valor, … , CampoN = valor 
WHERE …SSSSS
 
 
DELETE FROM Tabla 
WHERE … 
S
S
w(M2(Svz(SBOMSAOB(AáTVOMS=TMáTSvz(S(1(Azá(VOMSybgg3 RrICSe.SIO..hTAUSI(Az–(ITS.TS
3wSES.TS2(1TSAOVOS(MáThTCSl(SzMTS(BSATMOS2(S(IIOICS
S
EXEC SQL 
  ROLLBACK 
END-EXECS
S
e.SAOVVsáST.SAOBáITIsOSvz(SyO..hTAUCS=TA(S.OMSATVhsOMS–(IVTB(Bá(MS(BS.TMSáTh.TMCSS
,TITS(HsáTIS.TI/OMSh.Ovz(OMS2(S.TMSáTh.TMCS.TMST–.sATAsOB(MS2(h(BS=TA(ISAOBósIVTAsOB(MS
2(S.OMSATVhsOMSI(T.sYT2OMSAT2TSAs(IáOSBNV(IOS 2(SI(/sMáIOMSnrbiiaNPCS.OS vz(S.sh(ITI>S
.OMSh.Ovz(OMS(BsMá(Bá(MS=TMáTS(M(SVOV(BáOCS
,TITS (..OCS 2zITBá(S (.S –IOA(MOS M(S =TI>BS AOBósIVTAsOB(MS –(IsG2sATMS 2(S .OMS 2TáOMS
VO2sósAT2OMSnrbiiaNPCS2(SóOIVTSvz(SAzTB2OS(.S–IOA(MOSóT..TS(BSMzS(1(AzAsGBCS(.Sw3oS
M(S (BATI/TS 2(S I(MáTh.(A(IS .TMS áTh.TMS TS MzS (MáT2OS (BS .TS N.ásVTS AOBósIVTAsGBCS
2(M=TAs(B2OSáO2OMS.OMSATVhsOMSBOSAOBósIVT2OMSnybggS3RrIPCS
S
EXEC SQL 
  COMMIT 
END-EXEC 
6.1. Cursores

jTMáTST=OITSMO.OSM(SBOMS2(HO.H:TS2(BáIOS2(SAOhO.SzBTSós.TCSgOMSAzIMOI(MSBOMS–(IVsásI>BS
áIThT1TISAOBSAOBMz.áTMS2(SV>MS2(SzBTSós.TCSw(A.TITAsGBAS
 
EXEC SQL 
  DECLARE   Nombre-cursor   CURSOR FOR 
  SELECT 
    WHERE Campo = var 
END-EXEC 
 
PROCEDURE DIVISION 

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmS
SSS
 
MOVE VALOR TO VAR 
 
EXEC SQL          EXEC SQL 
  OPEN Nombre-cursor       CLOSE Nombre-cursor 
END-EXEC         END-EXEC 
Lectura:      
  EXEC SQL 
SSS SSSSSFETCH   Nombre-cursor 
       INTO    :VAR 
  END-EXEC 
S S S
rTVhsOMS2(BáIOS2(S.TMSáTh.TMAS
S
WORKING STORAGE 
 
  EXEC SQL 
    DECLARE    Nombre-cursor CURSOR FOR 
    SELECT …  
    FOR UPDATE OF   Campo / s 
  END-EXEC 
S
lsS M(S =TA(BS S TAázT.sYTAsOB(MS (BS .TS áTh.TCS =TES vz(S sB2sA>IM(.OS T.S AzIMOIS AzTB2OS M(S
2(A.TITCS
S
PROCEDURE DIVISION 
 
 
EXEC SQL 
    UPDATE  Tabla 
    SET  Campo = :valor 
    WHERE   CURRENT   OF  Nombre-cursor 
  END-EXEC
  
S
lG.OSM(S–z(2(SVO2sósATIS.TSN.ásVTS.(AázITCSTzBvz(S(.S–zBá(IOST–zBá(STS.TSMs/zs(Bá(S
e.SAzIMOISBOMS2(Hz(.H(S.TSáTh.TSHsIázT.CSES–O2(VOMSáIThT1TISMOhI(S(..TCS–(IOS.TSáITáTVOMS
AOVOSzBSósA=(IOSM(Az(BAsT.S
6.2. Documentación para las pruebas de las tablas DB2 utilizadas

R–TIá(S 2(.S 2OAzV(BáOS 2(S AsA.OMS ES 2(S .OMS ósA=(IOMS 2(S eDlCS =TES vz(S –I(M(BáTIS (.S
AOBá(Bs2OS2(S.TMSáTh.TMSw3oSAOBS.TMSvz(S=(VOMS–IOhT2OS(.S–IO/ITVTCS
lsS Bz(MáIOS –IO/ITVTS =TA(S T./NBS ás–OS 2(S VO2sósATAsGBS nsBM(IáCS z–2Tá(S OS 2(.(á(PS MOhI(S
(MáTMSáTh.TMCSá(B2I(VOMSvz(S–I(M(BáTIS(.SAOBá(Bs2OS2(S.TMSVsMVTMSTBá(MS2(SI(T.sYTIS.TS
VO2sósATAsGBSES2(M–zOMS2(S=TA(I.TCS
,OIS AT2TS áTh.TS á(B2I(VOMS vz(S –I(M(BáTIS zBS n2OMS MsS MzóI(S VO2sósATAsGBPS ósA=(IOS AOBS
óOIVTáOSeEregSvz(SAOBMáIzsVOMS2(S.TSMs/zs(Bá(SóOIVTAS
LTVOMSTS.TSH(BáTBTS2(SVTB2TáOMSnilKwblPS
eB–OIáTVOMS .TS áTh.TS vz(S vz(I(VOMS –I(M(BáTICS ,TITS (..OS (1(AzáTVOMS (.S Ms/zs(Bá(S
AOVTB2OAS
S
w3oSeE,byNSNbSw(MásBOSb SHl SlegerNSXS ybiSBBBBS
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
píS
SSS
wOB2(AS BBBBS (MS (.S BOVhI(S 2(S .TS áTh.TS vz(S vz(I(VOMS (B–OIáTICS -S w(MásBOS (MS (.S .z/TIS
2OB2(SHTVOMSTS2(1TIS (.S ósA=(IOS vz(S AOBás(B(S .OMS 2TáOMS 2(S .TS áTh.TCSe.S BOVhI(S vz(S .(S
HTVOMSTS2TISá(B2I>S(Bá(BMsGBSVUMCS
S
tOMSHTVOMSTSeBA(.SESAI(TVOMSzBSósA=(IOSBz(HOCSRhIsVOMS2(M2(SeBA(.SBz(MáIOSósA=(IOS
VUMSESM(.(AAsOBTVOMSáO2TMS.TMSós.TMSES.TMSAO–sTVOMST.SósA=(IOSBz(HOCS
S
R=OITS(BS(M(SósA=(IOAS byiRNbSDSrbgcitRSDSRcNbR?clN RySlegerraFtS
 
 
 
 
 
 
 
 
 
S
S
S
S
S
 
 
 
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)S
SSS
7. PROGRAMAS DE REARRANQUE Y   
REPOSICIONAMIENTO.  ARQUITECTURA BATCH. 
gOMS /ITB2(MS –IOA(MOMS 3TáA=S AOBS /ITBS BNV(IOS 2(S TAázT.sYTAsOB(MS w3oS –.TBá(TBS
–IOh.(VTMSETSvz(SVTBás(B(BS2zITBá(S.TI/OSás(V–OSh.Ovz(OMS(BS.TMSáTh.TMSVO2sósAT2TMCS
sV–s2s(B2OS .TS AOBAzII(BAsTS 2(S OáIOMS –IOA(MOMS hTáA=SOS 2(.S OB.sB(CS ,OIS OáITS –TIá(S MzS
I(Az–(ITAsGBS(BSATMOS2(STh(B2SOS2(SI(TIITBvz(S2(SáO2OS(.SMsMá(VTS(MSVzESAOMáOMTSETS
vz(S (.S w3oS 2(h(S I(MáTzITIS MzMS áTh.TMS TS .TS MsázTAsGBS sBsAsT.CS h.Ovz(TB2OS áO2TMS .TMS
–>/sBTMSvz(SM(S=zhs(ITBSzás.sYT2OCS
,TITS (HsáTIS TVhOMS –IOh.(VTMS .TS T–.sATAsGBS 2(h(S (MáTIS –I(–TIT2TS –TITS (ó(AázTIS
AOBósIVTAsOB(MS 2(S .OMS ATVhsOMS nsBM(IAsOB(MCS hOIIT2OCS VO2sósATAsOB(MPS AT2TS As(IáOS
BNV(IOS2(STAázT.sYTAsOB(MSnrbiiaNPCS
w(S (MáTS VTB(ITS M(S .sh(ITITBS .OMS h.Ovz(OMS T2vzsIs2OMS =TMáTS (M(S VOV(BáOS ES M(S
MzTHsYTI>S.TSI(Az–(ITAsGBS2(.S–IOA(MOCS
,(IOSMzI/(S(.S–IOh.(VTS2(.SáITáTVs(BáOS2(S.OMSOh1(áOMSBOSw3oCSáT.(MSAOVOSósA=(IOMCSETS
vz(S(.SMsMá(VTSBOSAOBá(V–.TS2(SVTB(ITS(Má>B2TISMzSáITáTVs(BáOCS
,TITS (MáOS M(S =TS 2(MTIIO..T2OS zBTS M(Is(S 2(S zás.s2T2(MS vz(S V(2sTBá(S .TS T.OATAsGBS
2sB>VsATS2(SósA=(IOMSMsBAIOBsYTS.TSTAázT.sYTAsGBS2(SósA=(IOMSM(Az(BAsT.(MS2(SMT.s2TSAOBS
.TS2(SOh1(áOMSw3oCS
7.1. Funcionamiento del DB2

e.Sw3oS(BSATMOS2(Sá(B(ISvz(S=TA(ISI(Az–(ITAsGBS2(M–zOMS2(SzBS(IIOIS(BS(1(AzAsGBS2(S
–IO/ITVTCS 2(h(S hzMATIS (BS (.S gO/S –IO–sOS 2(.S MzhMsMá(VTS vz(S AOBás(B(S .OMS 2TáOMS 2(S
ATVhsOMS(BS3TM(S2(SwTáOMSES,zBáOMS2(SrOBáIO.S2(.SlsMá(VTCS
,TITS (.sVsBTIS (.S –IOh.(VTS 2(S h.Ovz(OCS w3oS zás.sYTS .TS M(Bá(BAsTS rbiiaNS vz(Slibera 
áO2OMS .OMS I(AzIMOMS w3oS vz(S (.S –IOA(MOS (MázHs(ITS zás.sYTB2OS n–>/sBTMCS áTh.(M–TA(MCS
:B2sA(MCS (áACPCS ,OIS 2(ó(AáOS As(IITS áO2OMS Tvz(..OMS AzIMOI(MS vz(S (MázHs(M(BS Ths(IáOMS ES
AOBMs2(ITS2(ósBsásHOMSáO2OMS.OMSATVhsOMSI(T.sYT2OMSMOhI(S.TMSáTh.TMCS
l(S..TVTSunidad de  recuperación  (URPS TS .TS M(Az(BAsTS2(S O–(ITAsOB(MSI(T.sYT2TMS (BáI(S
2OMS–zBáOMS2(SrbiiaNSES=TESvz(Sá(B(IS(BSAz(BáTSvz(S (BSATMOS2(SzBSR3etwS(.Sw3oS
2(M=TI:TS áO2OMS .OMS ATVhsOMS I(T.sYT2OMS (BS .TS N.ásVTScyCS (MS 2(AsICS =TMáTS (.S N.ásVOS
rbiiaNCS
S
e.Sw3oS2(M=TA(S.OMSATVhsOMSBOSAOBósIVT2OMS(BSATMOS2 (S(IIOISnybggS3RrIPCS–OIS(..OCS
–TITSI(–OMsAsOBTIS.OMS–IOA(MOMSvz(SMG.OSTAázT.sYTBS2TáOMS(BSw3oCShTMáTI>SAOBS/zTI2TIS
.TSN.ásVTSA.TH(SáITáT2TSESAOBósIVT2TS(BS.OMSósA=(IOMS2(S(BáIT2TCS–TITSAOBásBzTIS2(M2(S
(..TS T.S I(TIITBATICS wsA=TS A.TH(S M(S T.TVA(BTS (BS zBTSáTh.TS 2(S .TS TIvzsá(AázITS ES M(S
I(Az–(ITITI:TS(BSzBSI(.TBYTVs(BáOS2(.S–IO/ITVTS–TITSI(.((IS.OMSósA=(IOMS2(S(BáIT2TSOS
.TMS áTh.TMS =TMáTS (.S N.ásVOS rbiiaNS I(T.sYT2OS TBá(MS 2(S vz(S M(S sBá(IIzV–s(ITS .TS
(1(AzAsGBCS
S
S
cBOS2(S.OMS–IOh.(VTMS(MSvz(SBOSM(SAOBá(V–.TS(.SI(–OMsAsOBTVs(BáOS2(SOh1(áOMSBOSw3oS
áT.(MSAOVOSósA=(IOMS2(SMT.s2TTS–TITS(..OS.TSTIvzsá(AázITS=TS/(B(IT2OS=(IITVs(BáTMS–TITS
MzSáITáTVs(BáOCS
7.2. Rearranque de programas

l(SI(T.sYTI>S I(TIITBvz(S AzTB2OS .TS (1(AzAsGBS M(S sBá(IIzV–TS 2(S T./zBTS VTB(ITS nAT:2TS
2(S .:B(TCS 2(S w3oCS R3etwCS (áACPCS eBáOBA(MS (.S w3oS =TI>S ybgg3RrIS nHz(.áTS TáI>MS
TzáOV>ásATS 2(S .OMS ATVhsOMS I(T.sYT2OMS (BS .TMS áTh.TMS(BS .TS N.ásVTS zBs2T2S 2(S
I(Az–(ITAsGBCS2(M2(S(.SN.ásVOSrbiiaNPCS
7.3. Ficheros dinámicos para salida

rOVOSM(S=TST–zBáT2OS(.Sw3oCSTzáOV>ásATV(Bá(SHz(.H(S TS.TSMsázTAsGBSvz(S(BsMá:TS(BS(.S
N.ásVOS–zBáOS2(SrbiiaNCS–(IOS.OMSOh1(áOMSBOSw3oSBOCS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
puS
SSS
gOMS ósA=(IOMS 2(S MT.s2TS M(S =TBS M(/zs2OS /(B(ITB2OS ES BOS –O2(VOMS AOBOA(IS AzT.(MS (ITBS
MzMS 2TáOMS TBá(MCS ,OIS (..OS .TS TIvzsá(AázITS =TS AI(T2OS zBTS M(Is(S 2(S zás.s2T2(MS vz(S
V(2sTBá(S .TS T.OATAsGBS 2sB>VsATS 2(S ósA=(IOMS MsBAIOBsYTS .TS TAázT.sYTAsGBS 2(S ósA=(IOMS
M(Az(BAsT.(MS2(SMT.s2TSAOBS.TS2(S.OMSOh1(áOMSw3oCS
e.SMsMá(VTCS–OISAT2TSzBOS2(S.OMSósA=(IOMS2(SMT.s2TCSvz(SM(S=TBS2(ósBs2OS(BSzBTS2(S.TMS
áTh.TMS 2(S áIThT1OCS /(B(ITS áTBáOMS ósA=(IOMS 2sB>VsAOMS AOVOS –IOA(MOMS 2(S rbiiaNS M(S
=TETBSI(T.sYT2OSES–OMá(IsOIV(Bá(SI(T.sYTI>SzBTSzBsGBS2(SáO2OMS(..OMCS
7.4. Soporte Físico

rOVOS MO–OIá(S TS OMá(S áITáTVs(BáOS ES –TITS =TA(I.OS –OMsh.(S M(S zás.sYTBS 2OMS áTh.TMS w3oCS
HTIsTMSIzásBTMS–TITS.TST.OATAsGBS2sB>VsATCS2sH(IMOMS–TI>V(áIOMS(BS(.S?rgS2(S(1(AzAsGBS
2(S AT2TS –IOA(MOS ES HTIsOMS ?rg@MS vz(S (BVTIATBS .TS (1(AzAsGBS 2(S Bz(MáIOMS –IO/ITVTMS
hTáA=CS
S
eBS.TSTIvzsá(AázITSjblNS2(Sal3RtSgTMST–.sATAsOB(MS/zTI2TI>BSáO2TS.TSsBóOIVTAsGBS
B(A(MTIsTS–TITSI(–OMsAsOBTISMzMS–IOA(MOMS3TáA=S(BSATMOS2(SI(TIITBvz(CS(BS.TMSáTh.TMS
DAREPOS y DAPROCBATCH  –(Iá(B(As(Bá(MSTS.TSTIvzsá(AázITCSnH(ISRteEbdPS
S
NTVhsOBS M(S óTAs.sáTBS zBTS M(Is(S 2(S (Mvz(.(áOMS 2(S –IO/ITVTMCS TM:S AOVOS AO–EMS AOBS
ATV–OMS(Má>B2TIS–TITS.TSAO2sósATAsGBS2(S.OMSVsMVOMCSnH(ISrb,-lPS
DCLGEN de las Tablas DB2. 
 
D0204200SwA./(BS2(S.TSáTh.TSwRye,blS/(B(IT2TS–OISRIvzsá(AázITCS
D0204100SwA./(BS2(S.TSáTh.TSwR,ybr3RNrjS/(B(IT2TS–OISRIvzsá (AázITCS
URDCLGENSwA./(BS2(S.TSáTh.TSwRye,blSvz(SM(SzMTI>S(BS.OMS–IO/ITVTMCS
S
INCLUDES a Utilizar en los Programas con Reposicion amiento. 
 
URCOPYSSw(ósBsAsGBS2(S.TMSHTIsTh.(MSycyrbiiSESycyb,eyS2(SA OVzBsATAsGBS
AOBS.TSIzásBTScyDDDDCS
URWORKSw(ósBsAsGBS2(S.TMSHTIsTh.(MS2(SáIThT1OS–TITSI(–OMsAsOBTVs(BáOCS
URCURSOR S w(ósBsAsGBS 2(.S AzIMOIS TS zás.sYTIS (BS (.S –IO/ITVTS AO BS
I(–OMsAsOBTVs(BáOCS
S
COPYS a Utilizar en los Programas con Reposicionami entoCS
S
URSQLCODS w(ósBsAsGBS 2(S .TS HTIsTh.(S –TITS AOBáIO.TIS (.S l>grbweS 2(S .OMS
AzIMOI(MS2(SI(–OMsAsOBTVs(BáOCS
MURSWITCH Sw(ósBsAsGBS2(S.OMSlHaNrjelSzás.sYT2OMS–OIS(.S–IO/ITVTSAOBS
y(–OMsAsOBTVs(BáOCS
URMENSASw(ósBsAsGBS2(S.TMSHTIsTh.(MS2(SáIThT1OSTSzás.sYTIS–TITS.TSATBA(.TAsGBCS
7.5. Concatenación de Ficheros.

S
l(S (ó(AáNTS V(2sTBá(S (.S –IOA(2sVs(BáOS cylbyNECS w(h(S =Th(IS áTBáOMS ?rg@MS 2(S
AOBATá(BTAsGBSAOVOS2sMásBáOMSósA=(IOMS2(SMT.s2TSáITá(S(.S–IOA(MOCS
S
7.6. Borrado de Ficheros de COMMIT.

S
cBTS H(YS AOBATá(BT2OMS .OMS ósA=(IOMS ES TBá(MS 2(S HO.H(IS TS –TMTIS (.S –IOA(MOS M(S 2(h(BS
hOIITICS,TITS(..OS(BsMá(SzBS?rgSvz(S(1(AzáTSzBTSrgalNS..TVT2TScyrgeRyCS–TM>B2O.(S
AOVOS (BS (.S ATMOS TBá(IsOICS (.S BOVhI(S 2(.S –.TBCS BzV(IOS 2(S I(/sMáIOMS –OIS rbiiaNCS
–IOA(MOSES–I(ós1OS2(S.OMSósA=(IOMCS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pUS
SSS
eMáTS rgalNS (1(AzáTS zBS –.TBS vz(S hOIITS áO2OMS .OMS ósA=(IOMS ES I(MáTzITS (.S (MáT2OS 2(.S
–IOA(MOS TS ,S MOhI(S .TS áTh.TS wRye,blCS (MáT2OS vz(S 2(1TS S –I(–TIT2OS (.S –IOA(MOS –TITS
(1(AzáTIM(CS
rOVOS (BS (.S ATMOS TBá(IsOIS M(S AI(TS ES AO–sTS zBS ósA=(IOS 2(S ,yb ageS TS ósBS 2(S (HsáTIS
AOBá(BAsOB(MS(BáI(SHTIsOMS?rgMS2(SOMá(Sás–OCS
S
7.7. Borrado Ficheros Ultimo Commit.

S
eBSATMOS2(Sá(B(ISvz(SI(.TBYTIS(.S–IOA(MOS(MSB(A(MTIsOShOIITIS.OMSósA=(IOMS2(.SrbiiaNS
vz(SBOS..(/GSTS(ó(AázTICS,TITS(..OSM(S(1(AzáTSzBTSrgalNS..TVT2TScyrgeRycSSTS.TSvz(S
M(S .(S –TMTS AOVOS –TI>V(áIOMS (.S BOVhI(S 2(.S –.TBCS BzV(IOS 2(S I(/sMáIOMS 2(.S rbiiaNCS
–IOA(MOCS –I(ós1OS 2(S .OMS ósA=(IOMS ES (.S MzhMsMá(VTS w3oCS lsS BOS M(S =TS T.OAT2OS BsB/NBS
ósA=(IOS .TS rgalNS BOS =TA(S BT2TCS ITYGBS –OIS .TS vz(S M(S2(h(S (1(AzáTIS Ms(V–I(S TBá(MS 2(.S
–IO/ITVTS2(SI(–OMsAsOBTVs(BáOCS
lsSBOSM(SI(T.sYTSOMá(S–TMOS.TST–.sATAsGBSsBá(BáTI>ST.OATIS(.SósA=(IOSvz(SETS(BsMá(CS2TB2OS
zBS(IIOIS
2(SATáT.O/TAsGBStbNSrRNgFSoSES–OISAOBMs/zs(Bá(SzBSR3etwS2(.S–IOA(MOCS
,OISOáITS–TIá(SMsSM(SHTIsTST./zBTSATITAá(I:MásATS2(.SósA=(IOSnAOVOS(.SáTBáOS–OISAs(BáOS2(S
I(/sMáIOMS –OIS rbiiaNPS T.S I(zás.sYTIS (.S VsMVOS ósA=(IOS BOS M(S I(AO/(I>S (.S ATVhsOS
(ó(AázT2OSAOBS.OSAzT.SM(SI(–(ásI>S(.S(IIOISTBá(IsOICS
S
7.8. Ejemplos de JCL's.

,z(2(BS AOBMz.áTIM(S (BS .TS .shI(IsTS lalCFycyCye,blCS jTES 2sMásBáOMS ás–OMS M(/NBS (.S
(BáOIBOS2(S(1(AzAsGBCSETSvz(S.TMSrgalNSES.TMS.shI(I:TMSATVhsTBCS
eBS(MáOMS(1(V–.OMST–TI(A(BSAOBSITETSAOBásBzTSáO2TMS.TMSHTIsTh.(MSvz(SMOBS–IO–sTMS2(.S
–IOA(MOS OS 2(.S zMzTIsOS vz(S .OS (1(AzáTCS izA=OMS 2(S (MáOMS –TI>V(áIOMS (Má>BS
sBá(II(.TAsOBT2OMCS
NO2OMS .OMS ?rg@MS 2(h(I>BS M(/zsIS .TMS BOIVTMS /(B(IT.(MS 2(S .TS sBMáT.TAsGBCS AGVOS –OIS
(1(V–.OS.OMSBOVhI(MS2(S.OMSósA=(IOMSOS.OMS–TMOMSTS(1(AzáTICS
nH(ISY?rgye,blPS
7.9. Esqueletos
,TITS óTAs.sáTIS .TS AO2sósATAsGBS 2(S .OMS –IO/ITVTMS M(S2sM–OB(BS 2(S zBOMS (Mvz(.(áOMS (BS íS
VO2T.s2T2(MS2sMásBáTMSM(/NBSzás.sA(BSósA=(IOMSM(Az(BAsT.(MSOSáTh.TMSw3oCS2(S(BáIT2TSOS
MT.s2TCS
wsA=OMS(Mvz(.(áOMSMOBSzBTMS–.TBás..TMSMOhI(S.TMSvz(SM(SsBM(IáTI>S.TS.G/sATS2(SBz(MáIOS
–IO/ITVTCSeBS(..OMSM(SAOBáIO.TSáO2OS(.S–IOA(MOS2(SI(–OMsAsOBTVs(BáOSESI(.TBYTVs(BáOCS
S
l(S(BAz(BáITBS(BS.TS.shI(I:TASSSIS.GRUR.EJEMPLOS CS
S
REPOSPSASeMvz(.(áOS2(S–IO/ITVTSvz(S(ó(AáNTSI(–OMsAsOBTVs(BáOSzás.sYTB2OSzBSósA=(IOS
M(Az(BAsT.S 2(S (BáIT2TS ES zBOS 2(S MT.s2TCS e.S –.TBS 2(h(S ..(HTIS TMOAsT2OS .TS IzásBTS
'UR0000'CSye,bl,l

eBS (.S –IO/ITVTS BOS T–TI(A(I>S .TS ..TVT2TS TS 2sA=TS IzásBTS (B–.:AsáTV(Bá(S ETS vz(S M(S
zás.sYTI>S.TSHTIsTh.(SycyKrRggS2(S.TSAO–ESycyb,eyS–TITS=TA(IS..TVT2TMS2sB>VsATMSTS
IzásBTMCS
S
Entrada: Fichero secuencial. 
Salida: Fichero secuencialCS
S
l(S (Vsá(BS rbiiaN@MS AT2TS pDCDDDS I(/sMáIOMS áITáT2OMCS,OIS AT2TS rbiiaNS M(S As(IITS (.S
ósA=(IOS 2(S MT.s2TS TAázT.S ES M(S ThI(S OáIOS Bz(HOCS lsS M(S –IO2zA(S (.S R3etwCS (.SósA=(IOS 2(S
MT.s2TS vz(2TS sBAOV–.(áOS ES AOBS zBS AOBá(Bs2OS sV–I(2(Ash.(CS RBá(MS 2(S I(TIITBATIS (.S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p<S
SSS
–IOA(MOS 2(h(S hOIITM(S (.S N.ásVOS ósA=(IOS zás.sYT2OS –OIvz(S M(S sBá(BáTI>S AI(TIS 2(S Bz(HOCS
Ohá(Bs(B2OSzBS(IIOIS2(SATá>.O/OS–z(MáOSvz(SETS(BsMá(CS
R.SI(TIITBATICSM(SI(.((S(.SósA=(IOS2(S(BáIT2TSTS–TIásIS2(S.OMST–zBáT2OI(MS/zTI2T2OMS(BS
wRye,blST.S=TA(IS(.SN.ásVOSrbiiaNCSESM(SAOBásBNTS/I ThTB2OS(BS(.SósA=(IOS2(SMT.s2TS
AOII(M–OB2s(Bá(CS

@-------¬
| START |
$-------%
10k 20k 30k 40k 50k 60k
FIC [ - - - -_- - - - -_- - - - -_- - - - -_- - - - -_- - - - -_- - -
. . . .
. . . .
. . . .
. . . .
C C C A
S [--------_---------_---------_-----_
X1 Z1 Z2 Z3
X2 X3 X4----]

C = Punto de COMMIT
A = Punto de ABEND
X = Abre fichero de salida
Z = Cierra fichero de salida

@-------¬
|RESTART| Previo borrado del último fichero de C OMMIT (4)
$-------%

10k 20k 30k 40k 50k 60k
FIC [ - - - - - - - - - - - - - ->- - - - -_- - - - -_- - - - -_- - -
. 10k 20k . 30k
. . . .
. . . .
. . . .
R C C F
S _---------_------- --_----_
X4 Z4 Z5 Z6
X5 X6

R = Punto de RESTART
C = Punto de COMMIT
F = Punto de FINAL
X = Abre fichero de salida
Z = Cierra fichero de salida

7.10. Tratamiento a seguir por los programas de aplicación en base a
un ejemplo real. Programa LQBBN01.
gOS –IsV(IOS vz(S M(S =TS 2(S =TA(IS Ms(V–I(S vz(S BOMS (BóI(Bá(VOMS TS .TS I(MO.zAsGBS 2(S
–IO/ITVTMS2(S(Má(Sás–OS(MSs2(BásósATIS2(.Sás–OS2(S–IO/ITVTASl(S2(h(ShzMATIS(.S(Mvz(.(áOS
vz(SV>MSM(ST1zMá(ST.S–IO/ITVTSvz(SM(SHTSTS(1(AzáTICSS
S
RS AOBásBzTAsGBS M(S Ohás(B(S zBTS AO–sTS 2(.S (Mvz(.(áOS –TMTB2OS (.S (Mvz(.(áOS TS Bz(MáITMS
.shI(I:TMCS MsBS VO2sósATIS .OS2sI(AáTV(Bá(S–z(MSV>MS T2(.TBá(SM(I>BS zás.sYT2OMS–OIS OáIOMS
zMzTIsOMCS
S
wzITBá(S .TS AO2sósATAsGBS =TES vz(S á(B(IS (BS Az(BáTS vz(S AT2TS H(YS vz(S M(S I(T.sYTS zBS
rbiiaNSáO2OMS.OMSAzIMOI(MSM(SAs(IITBSnTzBvz(SBOSM(S=TETSI(T.sYT2OSrgblePTS–OIS(MOS
MsS M(S =TS Ths(IáOS T./zBOS vz(S BOS –(Iá(B(YATS T.S I(–OMsAsOBTVs(BáOCS =(VOMS 2(S I(AOI2TIS
ThIsI.OS2(SBz(HOCS
NO2OMS .OMS MVsáA=S vz(S AOBáIO.(BS (.S –IOA(MOS 2(h(BS /zTI2TIM(S n(BS .TS áTh.TS wRye,blPS
–OIvz(SMsS=TESI(.TBYTVs(BáOSM(S2(h(SMTh(ISvzOS–TIá(S2(.S–IO/ITVTSM(S2(h(S(1(AzáTICS
lsSM(Szás.sYTBSáTh.TMSsBá(IBTMS–TITSHT.s2TAsOB(MCS(.S–IsV(IS–TMOST.SI(TIITBATICS2(h(SM(IS
ATI/TI.TMS2(SBz(HOCSl(SáITáTS2(SI(AOBMáIzsIS.TSMsázTAsGBST.S–zBáOS2OB2(SM(Svz(2GCS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
oDS
SSS
w(h(Sá(B(IM(S(BSAz(BáTSvz(SMsSM(Szás.sYTBS(BS(.S–IO/ITVTSáTh.TMSsBá(IBTMS(BS.TMSvz(SM(S
/zTI2(BSTAzVz.T2OI(MSOS2TáOMSsBá(IV(2sOMCSBOSM(S2sM–OB2I>S2(S(..OMS(BS(.SVOV(BáOS
2(.SI(.TBYTVs(BáOCSeBáOBA(MSM(I>SB(A(MTIsOSzás.sYTISzBTSáTh.TSw3oSESáIThT1TISAOBS(..TS
2(S.TSVsMVTSóOIVTSvz(SAOBS.OMSAzIMOI(MS2(SI(–OMsAsOBTVs(BáOCS,O2I:TSM(ISzás.sYT2TS.TS
áTh.TSwRye,blSMsS(.SHO.zV(BS2(S.OMS2TáOMS.OS–(IVsá(CS
S
¡¡Es  importante  decidir  el  criterio  lógico  de  COMMIT,  es  decir,  cada  cuánto 
tiempo se realiza un commit. Se puede establecer se gún el número de registros 
leídos del fichero maestro, tratados o grabados en  el fichero de salida, o según 
el número de acceso a una tabla DB2, pero se ha de  tener clara la lógica para 
realizar  el  incremento  del  contador  que  nos  dirá  cuando  efectuamos  un 
COMMIT..!!  En  el  programa  LQBBN01  se  enfrentan  dos ficheros  de  entrada,  y 
como lógica se ha decidido ir incrementando el cont ador en base alas lecturas 
del fichero maestro. 
S
gOMS –IO/ITVTMS 3TáA=S AOBS I(–OMsAsOBTVs(BáOS I(Ash(BS AOVOS (BáIT2TS .OMS –TI>V(áIOMS
B(A(MTIsOMS –TITS MzS AOBáIO.CS tOS MOBS –TI>V(áIOMS 2(S T–.sATAsGBCS MsS B(A(MsáTM(S OáIOMS
–TI>V(áIOMS–TITSMzS–IOA(MOS(MáOMS2(h(I>BS–TMTIM(ST.S–IO/ITVTSV(2sTBá(SósA=(IOMS2(S
(BáIT2TCSgOMS–TI>V(áIOMS–TITS(.SAOBáIO.S2(.SI(–OMsAsOBTVs(BáOSMOBAS
S
PLANStOVhI(S2(.S–.TBSTS(1(AzáTISAOBSI(–OMsAsOBTVs(BáOCSw(h(I:TSAOII(M–OB2(ISAOBS(.S
–IO–sOCS
S
NUMREGS tNV(IOS 2(S I(/sMáIOMS vz(S M(S HTBS TS –IOA(MTIS TBá(MS 2(S AT2TS AOBósIVTAsGBCS
y(T.V(Bá(SBOSás(B(S–OIvz(SsB2sATIS(.SBNV(IOS2(SI(/sMáIOMS2(S(BáIT2TASMG.OS(MS(.SáO–(S
2(.SAOBáT2OIS2(.ShzA.(S2(S–IOA(MOS2(SI(/sMáIOMCS
S
NUMPROCStNV(IOS2(.S–IOA(MOSTMOAsT2OSTS(M(S?OhCStOIVT.V(Bá(SMs(V–I(S(MS@[email protected]
(.SATMOS2(S–IO/ITVTMSvz(ShsózIATBSESáITáTBSáTh.TMS2sMásBáTMSM(/NBST./zBTS(BáIT2TSvz(S
.(TBCS eBS (Má(S ATMOS M(S –z(2(BS .TBYTIS 2OMS OS V>MS ?OhMS(BS –TIT.(.OS AOBS (.S VsMVOS
–IO/ITVTD–.TBS–(IOS2sMásBáOStNV(IOS2(S,IOA(MOS–TITS–O2(ISI(–OMsAsOBTIM(SAT2TSAzT.S
AOII(AáTV(Bá(S(SsB2(–(B2s(Bá(V(Bá(S2(.SOáIOS?OhCS
S
PREFIXS,I(ós1OS2(S.OMSósA=(IOMS2(SMT.s2TS/(B(IT2OMCS
S
POOLS ,OO.S 2(S 2sMAOMCS eMá(S –TI>V(áIOS (MS O–AsOBT.CS MsS BOSM(S –OB(S áOVTS –OIS 2(ó(AáOS
l-lwRCS
S
R=OITSM(S=TBS2(S–I(–TITIS.TMSáTh.TMS–TITS.TS(1(AzAsGBCS,TITS(..OSM(S=TBS2(SOhá(B(ISES
VO2sósATIS.OMS?rg@MSAOII(M–OB2s(Bá(MCS
S
tOS 2(h(VOMS O.Hs2TIS –IOhTIS (.S –IOA(MOS 2(S I(.TBYTVs(BáOS zBTS H(IS AOBMáIz:2OS (.S
–IO/ITVTCS l(S 2(hS ATBA(.TIS zBTS H(YS S vz(S M(S (Má>S (1(AzáTB2OS ES HO.H(I.OS S TS MzhVsásICS
ne?ercNRyPCS


*************************************************** *************************************
***
*************************************************** *************************************
***
* PROGRAMA: LQBBN01
*
* FECHA CREACION: 07-11-2006
*
* AUTOR: INSA
*
* INSTALACION: CLIENTE.ISBAN.
*
* DESCRIPCION: EL PROCESO DARÁ NUEVAS ALTAS EN LA T ABLA DE SALDOS
* VALOR PARA LIQUIDACIÓN DE CONTRADOS DE PR STAMOS.(SALDO_VALOR_

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
opS
SSS
* _PTM).
* A PARTIR DEL FICHERO DE ALTAS DEL DÍA(ALTAS1),ORD ENADO POR
* CONTRATO, Y DEL FICHERO DE CONTRATOS QUE LIQUIDAN POR EL NUEVO
* SISTEMA(CONTBA3) ORDENADO POR CONTRATO, SELECCION AMOS LAS ALTAS
* ENFRENTANDO AMBOS FICHEROS. CON CADA ALTA VÁLIDA( ENCONTRADA EN
* EL FICHERO DE CONTRATOS) GENERAMOS UN REGISTRO EN LA TABLA
* SALDO_VALOR_PTM CON EL SALDO A 0 POR CADA POSICIÓ N LEÍDA EN EL
* FICHERO CONTBA3. LA PREESISTENCIA DEL REGISTRO QU E SE VA A DAR
* DE ALTA EN SALDO_VALOR_PTM IMPLICA UN ERROR, POR LO QUE SE
* GRABA EN EL FICHERO DE SALIDA DE ERRORES (ERRALTA )
*
*************************************************** *************************************
***
*
* RUTINAS:
* RUTINA1: XX_CANCELACION_PROCESOS_BATCH :
*
* CANCELAR LA EJECUCION DE UN P ROGRAMA POR
* CUALQUIER TIPO DE ERROR
*
* RUTINA2: UR0000:
*
* MUEVE LOS PARÁMETROS JCL A LA RURCOMM, Y
* ACCEDE AL DB2
*
*************************************************** *************************************
**
*
* TABLAS:
* TABLA1: SALDO_VALOR_PTM
*
* SALDOS VALOR PARA LIQUIDACIÓN DE CONTRATOS
* DE PR STAMOS
*
*************************************************** *************************************
***
*************************************************** *************************************
***
*
* MODIFICACIONES
* ----------------
*
* USUARIO FECHA DESCRIPCION
* ------- ----- ----------- ------------
* XXXXXXX DD-MM-AA XXXXXXXXXXX XXXXXXXXXXXX
*-------------------------------------------------- --------------
*************************************************** *************************************
***
*************************************************** *************************************
***

**************************
IDENTIFICATION DIVISION.
**************************
PROGRAM-ID. LQBBN01.
AUTHOR. RAFITASUPERSTAR.
DATE-WRITTEN. 10/11/2006.
DATE-COMPILED. 13/11/2006.

*################################################## ##############*
*#
#*
*# ENVIRONMENT DIVISION
*#
#*
*################################################## ##############*
**************************
ENVIRONMENT DIVISION .
**************************
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ooS
SSS

* FICHERO DE CONTRATOS DE PRESTAMOS QUE LIQUIDAN P OR EL NUEVO
* SISTEMA. FICHERO SECUENCIAL DE ENTRADA1
SELECT CONTBA3 ASSIGN TO CONTBA3
FILE STATUS IS FS-CONTBA3.

* FICHERO CON LAS ALTAS DEL DÍA.FICHERO SECUENCIAL DE ENTRADA2
SELECT ALTAS1 ASSIGN TO ALTAS1
FILE STATUS IS FS-ALTAS1.

* FICHERO DONDE SE GRABAN LAS ALTAS NO PRODUCIDAS P OR CLAVE
* DUPLICADA.FICHERO SECUENCIAL DE SALIDA.
SELECT ERRALTA ASSIGN TO ERRALTA
FILE STATUS IS FS-ERRALTA.

*################################################## ##############*
*#
#*
*# DATA DIVISION
#*
*#
#*
*################################################## ##############*
***************************************************

DATA DIVISION.
***************************************************
FILE SECTION.

FD CONTBA3
LABEL RECORD ARE STANDARD
BLOCK CONTAINS 0 RECORDS
RECORDING MODE IS F.
01 REGCONTBA3 PIC X(280).

FD ALTAS1
LABEL RECORD ARE STANDARD
BLOCK CONTAINS 0 RECORDS
RECORDING MODE IS F.
01 REGALTAS1 PIC X(140).

FD ERRALTA
LABEL RECORD ARE STANDARD
BLOCK CONTAINS 0 RECORDS
RECORDING MODE IS F.
01 REGERRALTA PIC X(147).

***************************************************
WORKING-STORAGE SECTION .
***************************************************

*************************************************** *************************************
**
*** COPY DE MENSAJES DE ERROR PARA PROGRAMAS BA TCH QUE
*** USEN " REPOSICIONAMIENTO "
*************************************************** *************************************
**

COPY URMENSA.

*************************************************** *************************************
***
*** COPY QUE CONTIENE LOS " SWITCHES " UTILIZAD OS
*** POR PROGRAMAS BATCH QUE UTILIZAN REPOSICIONA MIENTO.
*************************************************** *************************************
***

COPY URSWITCH.

*************************************************** *************************************
***
*** COPY QUE CONTIENE LOS CAMPOS DE TRABAJO UTIL IZADOS
*** EN PROGRAMAS BATCH QUE UTILIZAN REPOSICIONAM IENTO.
*************************************************** *************************************
***

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
odS
SSS

EXEC SQL INCLUDE URWORK END-EXEC.

*************************************************** *************************************
***
*** CLAVES DE RELANZAMIENTO Y DE REPOSICIÓN PA RA EL
*** FICHERO CONTBA3 Y ALTAS1
S
eBS ATMOS2(S vz(S zBS –IO/ITVTS H(TS ATBA(.T2TS MzS (1(AzAsGBS ES á(B/TVOMS vz(S I(.TBYTI.OCSá(B(VOMS
vz(SI(.((IS(.SósA=(IOSVT(MáIOS=TMáTS(.S–zBáOS/zTI2T2OSáITMS(.SN.ásVOSrbiiaNS(ó(AázT2OSTBá(MS2(S
MzS AT:2TCS gTS ATH(S /zTI2T2TS (BS (M(S N.ásVOS rbiiaNS M(I>S rgRLeKRgNRlpCS vz(S (MS .TS A.TH(S 2(S
I(–OMsAsOBTVs(BáOCS ES .TS A.TH(S á(V–OIT.S vz(S M(IS sI>SAOV–TITB2OS AOBS OMáTS (BS .TS I(.(AázITS 2(.S
VT(MáIOCSM(I>ScyKrgRLeKyegRtMRiaetNbC S
S
01 UR-CLAVE-RELANZAMIENTO.
10 IDEMPR-RELANZAMIENTO PIC X(4).
10 IDCENT-RELANZAMIENTO PIC X(4).
10 IDPROD-RELANZAMIENTO PIC X(3).
10 IDCONTR-RELANZAMIENTO PIC X(7).

* LA CLAVE DE REPOSICIONAMIENTO ES LA DEL FICHERO M AESTRO ALTAS1

01 CLAVE-ALTAS1.
10 IDEMPR-ALTAS1 PIC X(4).
10 IDCENT-ALTAS1 PIC X(4).
10 IDPROD-ALTAS1 PIC X(3).
10 IDCONTR-ALTAS1 PIC X(7).

01 CLAVE-CONTBA3.
10 IDEMPR-CONTBA3 PIC X(4).
10 IDCENT-CONTBA3 PIC X(4).
10 IDPROD-CONTBA3 PIC X(3).
10 IDCONTR-CONTBA3 PIC X(7).

*************************************************** *************************************
***
*--- ESTRUCTURA DE LQCBN02-TAB-SALDOS-VALOR:

01 TAB-SALDOS-VALOR-TRA.
02 REG-SALDOS-VALOR-TRA OCCURS 2.
05 ELE-SALDOS-VALOR-TRA OCCURS 600.
10 FEC-VALOR-TRA PIC S9(8) COMP-3.
10 DIAS-AVX-TRA PIC S9(8) COMP-3.
10 DIAS-AVB-TRA PIC S9(3) COMP-3.
10 SALDO-VALOR-TRA PIC S9(13)V9(2 ) COMP-3.

*************************************************** *************************************
***
*** INTRODUCIR AQUI LA COPY QUE CONTIENE LOS C AMPOS
*** DE LOS FICHEROS DE ENTRADA Y SALIDA
*************************************************** *************************************
***

* COPY DEL FICHERO DE ENTRADA CONTBA3 DE CONTRATOS DE PRESTAMOS
COPY LQYCONTL.

* COPY DEL FICHERO ALTAS1 CON LAS ALTAS DEL DÍA
COPY BNYDE008.

* COPY DEL FICHERO ERRALTA
COPY JWYARC01.
S
RPT2sIS(BS(.S–IO/ITVTS.TMSrb,-lS(SatrgcwelSB(A(MTIsTMS–TITS(.SI(–OMsAsOBTVs(BáOCS

*************************************************** *************************************
***
*** INCLUDES DE LA COPY PARA DB2
*************************************************** *************************************
***

EXEC SQL INCLUDE SQLCA END-EXEC .

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
omS
SSS
*************************************************** *************************************
***
*** INCLUDE DE LAS COPYS PARA REPOSICIONAMIE NTO
*** " RURCOMM " Y " RUROPER "
*************************************************** *************************************
***
*
EXEC SQL INCLUDE URCOPYS END-EXEC.

*************************************************** *************************************
***
*** INCLUDE DE LA COPY DE LA DCLGEN DE " DAREP OS ".
*** (TABLA UTILIZADA PARA EL REPOSICIONAMIENTO E N BATCH)
*************************************************** *************************************
***
*
EXEC SQL INCLUDE URDCLGEN END-EXEC.

*************************************************** *************************************
***
*** COPY QUE INCLUYE EL CURSOR FOR UPDATE DE DAREPOS.
*** TABLA UTILIZADA PARA EL REPOSICIONAMIENTO E N BATCH.
*************************************************** *************************************
***
*
EXEC SQL INCLUDE URCURSOR END-EXEC.

*-------------------------------------------------- ----------
* TABLA DE ACTUALIZACIÓN SALDO_VALOR_PTM
*-------------------------------------------------- ----------
EXEC SQL
INCLUDE D3445800
END-EXEC.

*-------------------------------------------------- ----------
* SWITCHES
*-------------------------------------------------- ----------
01 SW-SWITCHES.
05 SW-FIN-ALTAS1 PIC 9(1).
88 SW-SI-FIN-ALTAS1 VA LUE 1.
88 SW-NO-FIN-ALTAS1 VA LUE 0.

05 SW-FIN-CONTBA3 PIC 9(1).
88 SW-SI-FIN-CONTBA3 VA LUE 1.
88 SW-NO-FIN-CONTBA3 VA LUE 0.

* PARA LOS CONTROLES DE DB2

05 SW-DB2-RETURN-CODE PIC S9(04)
COMP VALUE ZEROES.
88 DB2-OK VA LUE 0.
88 DB2-CLV-NOT-FOUND VA LUE +100.
88 DB2-CLV-DUPLI-INSERT VA LUE -803.
88 DB2-CLV-DUPLI-SELECT VA LUE -811.
88 DB2-RECURSO-NO-DISPONIBLE VA LUE -911.
88 DB2-TABLA-BLOQUEADA VA LUE -904.
05 SW-LEER-ALTAS1 PIC 9(1).
88 SW-SI-LEE-ALTAS1 VA LUE 1.
88 SW-NO-LEE-ALTAS1 VA LUE 0.
*-------------------------------------------------- --------------*
* CONSTANTES *
*-------------------------------------------------- --------------*
01 CT-CONSTANTES.
05 CA-LQBBN01 PIC X(7) VAL UE 'LQBBN01'.
05 CA-PARRAFO-INICIO PIC X(14) VAL UE 'PARRAFO-INI
- 'CIO'.
05 CA-PROGRAMA-LQBBN01 PIC X(30) VAL UE ' PROGRAMA
- ' LQBBN01'.
05 CA-ASTERISCO PIC X(42) VAL UE '***********
- '********************** ********'.
05 CA-RESPONSABLE PIC X(26) VAL UE 'DESAROLLO-L
- 'IQUIDACIONES'.
05 CA-ALTAS1 PIC X(6) VAL UE 'ALTAS1'.
05 CA-CONTBA3 PIC X(7) VAL UE 'CONTBA3'.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
oíS
SSS
05 CA-ERRALTA PIC X(7) VAL UE 'ERRALTA'.
05 CA-ERROR-APERTURA PIC X(26) VAL UE 'ERROR AL AB
- 'RIR EL FICHERO'.
05 CA-ERROR-INSERT PIC X(26) VAL UE 'ERROR AL HA
- 'CER EL INSERT'.
05 CA-ERROR-LECTURA PIC X(26) VAL UE 'ERROR AL LE
- 'ER EL FICHERO'.
05 CA-ESCRIBIR-SALDO-PTM PIC X(28) VAL UE 'ESCRIBIR SA
- 'LDO-VALOR-PTM'.
05 CA-SALDO-VALOR-PTM PIC X(21) VAL UE 'SALDO-VALOR
- '-PTM'.
05 CA-LEER-ALTAS1 PIC X(21) VAL UE 'LEER FICHER
- 'O ALTAS1'.
05 CA-LEER-CONTBA3 PIC X(22) VAL UE 'LEER FICHER
- 'O CONTBA3'.
05 CN-CERO PIC 9(1) VAL UE 0.
05 CN-UNO PIC 9(1) VAL UE 1.
05 CN-OCHO PIC 9(1) VAL UE 8.
05 CN-DIECISIETE PIC 9(2) VAL UE 17.
05 CN-DIECIOCHO PIC 9(2) VAL UE 18.
05 CN-OCHENTA PIC 9(2) VAL UE 80.
05 CA-TIPO-ERROR-F PIC X(1) VAL UE 'F'.
05 CA-ESTADO-C PIC X(1) VAL UE 'I'.
05 CA-ESTADO-I PIC X(1) VAL UE 'P'.
05 CA-ESTADO-P PIC X(1) VAL UE 'C'.
05 CA-ESTADO-F PIC X(1) VAL UE 'F'.
05 CA-TIPO-ERROR-D PIC X(1) VAL UE 'D'.
05 CA-COD-RETORNO PIC X(4) VAL UE '3333'.
05 CA-FICH-OK PIC X(2) VAL UE '00'.
05 CA-FIN-FICH PIC X(2) VAL UE '10'.
05 CA-CODERROA PIC X(4) VAL UE 'GL01'.
05 CA-CODCESTX PIC X(3) VAL UE 'PTM'.
05 CA-AORIGEN PIC X(3) VAL UE 'CSV'.
*-------------------------------------------------- ----------
* CAMPOS PARA LA FUNCIÓN DE ERRORES
*-------------------------------------------------- ----------
01 WK-CANCELA.
05 WK-TIPO-ERROR PIC X(001).
05 WK-COD-RETORNO PIC X(004).
05 WK-DESCRIPCION PIC X(080).
05 WK-RESPONSABLE PIC X(030).
05 WK-PROGRAMA PIC X(008) VA LUE 'LQBBN01'.
05 WK-PARRAFO PIC X(030).
05 WK-ERROR-DB2.
10 WK-SQLCA PIC X(148).
10 WK-TABLA-DB2 PIC X(015).
10 WK-DATOS-ACCESO PIC X(104).
05 WK-ERROR-RUTINA.
10 WK-RUTINA PIC X(008).
10 WK-PARAMETROS PIC X(114).
05 WK-ERROR-TABLA-MEMORIA.
10 WK-TABLA-MEM PIC X(030).
10 WK-INDICE PIC X(006).
10 WK-DATOS-TABMEM PIC X(086).
05 WK-ERROR-FICHERO.
10 WK-DDNAME PIC X(008).
10 WK-FILE-STATUS PIC X(002).
10 WK-DATOS-REGISTRO PIC X(112).
05 WK-EXISTENCIA-CONTRATO.
10 FILLER PIC X(57) VA LUE 'YA EXISTE
- 'CONTRATO EN SALDO_VALO R_PTM PARA POSI
- 'CIÓN = '.
10 WK-TIPMVTO PIC X(3) VA LUE SPACES.
05 WK-LECTURAS-CONTBA3.
10 FILLER PIC X(42) VA LUE 'REGISTROS
- 'LEÍDOS EN EL FICHERO C ONTBA3: '.
10 WK-CONT-CONTBA3 PIC 9(9) VA LUE ZEROS.
05 WK-LECTURAS-ALTAS1.
10 FILLER PIC X(42) VA LUE 'REGISTROS
- 'LEÍDOS EN EL FICHERO ALTAS1: '.
10 WK-CONT-ALTAS1 PIC 9(9) VA LUE ZEROS.
05 WK-ESCRITURAS-ERRALTA.
10 FILLER PIC X(46) VA LUE 'REGISTROS
- 'ESCRITOS EN EL FICHER O ERRALTA: '.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
o)S
SSS
10 WK-CONT-ERRALTA PIC 9(9) VA LUE ZEROS.
05 WK-ESCRITURAS-SALDO-VALOR-PTM.
10 FILLER PIC X(57) VA LUE 'REGISTROS
- 'ESCRITOS EN LA TABLA S ALDO_VALOR_PTM'
.
10 WK-CONT-SALDO-VALOR-PTM PIC 9(9) VA LUE ZEROS.
* PARÁMETROS PARA EL RESTO DE INCIDENCIAS SIN CATAL OGAR(TIPO Q)
05 WK-ERROR-OTROS.
10 WK-RESTO-DATOS PIC X(122).
01 IND-I PIC 9(1).

01 FECAPER-NUM PIC X(8).
01 FECAPER-COMP3 REDEFINES FECA PER-NUM.
05 FECAPER-FECHA PIC 9(8).

*-------------------------------------------------- ----------
* DEFINICIÓN DE LOS CAMPOS DE LOS FICHEROS
*-------------------------------------------------- ----------
01 CONT-CONTBA3 PIC 9(9) VALU E ZEROS.
01 CONT-ALTAS1 PIC 9(9) VALU E ZEROS.
01 CONT-SALDO-VALOR-PTM PIC 9(9) VALU E ZEROS.
01 CONT-ERRALTA PIC 9(9) VALU E ZEROS.

*--- FILE STATUS
01 FS-CONTBA3 PIC X(2) VALU E '00'.
01 FS-ALTAS1 PIC X(2) VALU E '00'.
01 FS-ERRALTA PIC X(2) VALU E '00'.
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
*-------------------------------------------------- ----------
* TABLAS INTERNAS
*-------------------------------------------------- ----------
01 W-POSICION-ALTA PIC X(03).
01 W-POSICIONES.
05 W-POSICION OCCURS 8 PIC X(03).

******************

LINKAGE SECTION.
****************** SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
eBS(MáTSHTIsTh.(S2(S.sBUT/(SM(SI(AshsI>BS.OMS2TáOMS–TMT2OMS(BS,Ry[ieNyblS(BS(.S?rgS
TSáITHOMS2(S.TSAO–ESycyrbiiCS

01 PARMLIST.
05 PARM-LNG PIC XX.
05 PARAMETRO PIC X(200).

************************************
PROCEDURE DIVISION USING PARMLIST.
************************************
********************************************
* RUTINA-PRINCIPAL.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
********************************************
R./OSvz(S..TVTI>S.TSTá(BAsGBS–(IOSvz(SBOS=TS2(STMzMáTIBOMS(MS(.S=(A=OS2(Svz(SM(SzM(BS
2OMS sBsAsOMS ES 2OMS ósBT.(MS (BS .TS IzásBTS –IsBAs–T.S 2(.S –IO/ITVTCS eMáOS ás(B(S MzS M(Bás2OS
–OIvz(Szás.sYTVOMSzBSsBsAsOSESzBSósBT.S2(.S(Mvz(.(áOSvz(S(BS(.Svz(SM(SAOBáIO.TBSá(VTMS
I(.TAsOBT2OMS AOBS (.S I(–OMsAsOBTVs(BáOCS eMáOS BOS sV–.sATS vz(S .TS .G/sATS 2(S Bz(MáIOS
–IO/ITVTS (BAT1(S (BTAáTV(Bá(S AOBS RpDDKatarabK,ybFyRi RCS RmDDK,ybrelbK
,ybFyRiRS -S l<DDK atCS ETS vz(S sI(VOMS (BáI(V(YA.TB2OS Bz(MáITS .G/sATS AOBS .TS 2(.S
(Mvz(.(áOSAOBS.OSvz(S(MSB(A(MTIsOSAOBOA(ISvzOS=TA(S(.S(Mvz(.(áOS–TITS(BAT1TISBz(MáIOS
–IO/ITVTCS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSS
PERFORM S100-INICIO
THRU S100-INICIO-EXIT.
*-----------
PERFORM A100-INICIO-PROGRAMA
THRU A100-INICIO-PROGRAMA-EXIT.

PERFORM A400-PROCESO-PROGRAMA
THRU A400-PROCESO-PROGRAMA-EXIT.

PERFORM A900-FIN-PROGRAMA
THRU A900-FIN-PROGRAMA-EXIT.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ouS
SSS
*-----------
PERFORM S900-FIN
THRU S900-FIN-EXIT.

STOP RUN.
*************************************************** *************************************
**
***
*** S100-INICIO
***
*************************************************** *************************************
**
S100-INICIO.

*-------------------------------------------------- -------------*
*--- INICIALIZAR VARIABLES DE PROCESO (COPY U RSWITCH)
*-------------------------------------------------- -------------*
SET NO-HAY-ERROR-PROCESO TO TRUE.
SET NO-FIN-PROCESO TO TRUE.
SET NO-RELANZAMIENTO TO TRUE.
SET NO-FIN-DATOS TO TRUE.
SET NO-ERROR TO TRUE.
MOVE ZEROS TO CA-COMMIT.

*-------------------------------------------------- -------------*
*--- ACTUALIZACION DE DATOS DE RURCOMM CON LOS D ATOS DE
*--- PARAMETRO Y DAPROCBATCH.
*-------------------------------------------------- --------------*SS
S
eMáOMS–TI>V(áIOMSMOBS–TMT2OMST.S–IO/ITVTS–OIS(.S?rgSESI(Ashs2OMS(BSgatIRFeS
n,RyigalNPCS,TITSOhá(B(I.OMSM(SsBHOATS.TSIzásBTScyDDDDSAOBSycyKataNCSOMáTS2(1TS.OMS
–TI>V(áIOMS2(M/.OMT2OMS(BSMzhBsH(.(MS2(S.TSHTIsTh.(SycyrbiiCS
eMáTS..TVT2TSsBsAsT.STS.TSIzásBTScyDDDDSM(Sás(B(Svz(S=TA(ISMs(V–I(CSTzBvz(S(.S–IOA(MOS
BOSá(B/TSósA=(IOMS2(SMT.s2TCSS
gTS HTIsTh.(S ycyKrRggS ETS AOBás(B(S (.S BOVhI(S @cyDDDD@S ES –(Iá(B(A(S TS zBTS 2(S .TMS
rO–EMCSe.SóOIVTáOS2(S.TS..TVT2TS–z(2(SM(ISzBOS2(S.OMSMs/zs(Bá(MAS
S
eEerK ctScyJ,RyiS,Ryiln,RyRieNyblPSetwK ctS
OS
rRggSycyKrRggSclatFSycyKataNSycyrbiiS,RyRieNyblS
S
gTMSHTIsTh.(MSOhá(Bs2TMSMOBAS
CA-PLANNAME StOVhI(S2(.S–.TBCS
CA-PROCESOStNV(IOS2(S–IOA(MOCS
CA-NUMREG StNV(IOS2(SI(/sMáIOMSáITáT2OMS(BSAT2TSAOBósIVTAsGBSnrbiiaNPCS
CA-PREFS ,I(ós1OS 2(S .OMS ósA=(IOMCS 2(–(B2(I>S 2(.S MzhMsMá(VTS2OB2(S M(S (MáOS
(1(AzáTB2OSnwelAS2(MTIIO..OCSlalASMsMá(VTMCSeE,AS(B–.OáTAsGBPCS
rzTB2OS(.S–IOA(MOSás(B(SósA=(IOMS2(SMT.s2TCS(MáTS..TVT2TSTS.TSIzásBTSMsIH(SáTVhsOBS–TITS
I(Az–(ITIS MzMS 2TáOMCS vz(S M(S T.VTA(BTI>BS .TS HTIsTh.(S rRKwwtRielS 2(S .TS AO–ES
ycyrbiiCS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
CALL RUR-CALL USING RUR-INIT RURCOMM PARAMETR O

MOVE CA-PROCESO TO UR-PROCESO S
S
RBá(MS 2(S AOV(BYTIS (.S áITáTVs(BáOS 2(S .OMS 2TáOMS 2(S (BáIT2TCS M(S AOBMz.áTI>S (BS vzOS
estadoS M(S S (BAz(BáITS (.S –IOA(MOCS –TITS MTh(IS MsS (MS B(A(MTIsOS I(–OMsAsOBTIS OS –OIS (.S
AOBáITIsOS M(S AOVs(BYTS (.S –IOA(MOS 2(M2(S (.S –IsBAs–sOCS ,TITS (..OS M(S TAA(2(S TS .TS áTh.TS
wRye,blSzás.sYTB2OS(.SAzIMOISRye,SCS–IO–OIAsOBT2OS(BS.TSatrgcweScyrcylbyCSl(S
ThIsI>S (.S AzIMOIS –TITS (.S –.TBS ES (.S BNV(IOS 2(S –IOA(MOS –TMT2OMS (BS .OMS –TI>V(áIOMS 2(S
I(–OMsAsOBTVs(BáOSESM(SI(Az–(ITI>SzBTSNBsATSós.TCS
S
                                                                   
     EXEC SQL                                                      
         OPEN REP                                                  

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
oUS
SSS
     END-EXEC.                                                     
                                                                   
     MOVE  SQLCODE     TO  SW-DB2-RETURN-CODE                      
                                                                   
     EVALUATE TRUE                                                 
         WHEN DB2-OK       CONTINUE                                
         WHEN OTHER                                                
           EXEC-FUN XX_CANCELACION_PROCESOS_BATCH                  
             TIPO_ERROR('UR-MSG-TIPO-ERROR')                       
             DESCRIPCION('UR-MSG-OPEN-REP')                        
             PROGRAMA('CA-LQBBN01')                                
             PARRAFO('UR-MSG-INICIO')                              
             SQLCA('SQLCA')                                        
          END-FUN                                                  
         END-EVALUATE.                                             
                                                                   
     EXEC SQL                                                      
         FETCH REP INTO :RUR-PLANNAME,                             
                        :RUR-PROCES,                               
                        :RUR-ESTADO,                               
                        :RUR-NUMCOMM,                              
                        :RUR-PUNTEROS                              
     END-EXEC.                                                     
*                                                                  
                                                                   
     MOVE SQLCODE   TO   SW-DB2-RETURN-CODE                         
                                                                   
     EVALUATE TRUE                                                 
                                                                   
     WHEN DB2-OK                                                   
                                                                   
*---------------------------------------------------------------*  
*---   "I" :  ESTADO DE EJECUCIóN MEDIANTE ARSB (VIA ONLINE)  
*---          SE HA RESERVADO EL NUMERO DE PROCESO PARA LA    
*---          EJECUCION.                                      
*---------------------------------------------------------------*  
                                                                   
          IF RUR-ESTADO = CA-ESTADO-I                              
             MOVE SPACES TO UR-VALOR-REGISTRO-TEXT                 
             MOVE 254    TO UR-VALOR-REGISTRO-LEN                  
             MOVE ZEROES TO UR-CEROS                               
                                                                   
*---  ACTUALIZAR A ESTADO "C" Y GUARDAR PUNTEROS.                  
                                                                   
             EXEC SQL                                              
                UPDATE DAREPOS                                     
                SET RUR_ESTADO   = :CA-ESTADO-C,                   
                    RUR_NUMCOMM  = :UR-CEROS,                      
                    RUR_PUNTEROS = :UR-VALOR-REGISTRO              
                WHERE CURRENT OF REP                               
             END-EXEC                                              
                                                                   
             MOVE SQLCODE   TO  SW-DB2-RETURN-CODE                 
                                                                   
             EVALUATE TRUE                                         
             WHEN DB2-OK   CONTINUE                                
             WHEN OTHER                                            
              EXEC-FUN XX_CANCELACION_PROCESOS_BATCH               
                 TIPO_ERROR('UR-MSG-TIPO-ERROR')                   
                 DESCRIPCION('UR-MSG-UPDA-REP')                    
                 PROGRAMA('CA-LQBBN01')                            
                 PARRAFO('UR-MSG-INICIO')                          
                 SQLCA('SQLCA')                                    
              END-FUN                                              
             END-EVALUATE                                          
                                                                   
*---  REALIZAMOS COMMIT: Y ASÍ ACTUALIZAMOS LA TABLA DAREPOS.      
*---  SE RECOMIENDA CONTROLAR EL CODIGO DE RETORNO  DE LA SENTENCIA 
*---  COMMIT Y ABENDAR EL PROGRAMA EN CASO DE SQLCO DE DISTINTO DE  
*---  CERO, YA QUE LOS DATOS PUEDEN QUEDAR INCONSIS TENTES.    
S
RBá(MS2(SAOV(BYTISM(S2(h(S=TA(ISzBTS–IsV(ITSAOBósIVTAsGBSnrbiiaNPS–TITS.sh(ITIS(.S
h.Ovz(OS MOhI(S .TS áTh.TS wRye,blCS \MáTS BOS AOBáThs.sYTS (BS (.S –IOA(MOS 2(.S BNV(IOS 2(S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
o<S
SSS
AOBósIVTAsOB(MCS2(S=(A=OCSMsSBOS=TESI(–OMsAsOBTVs(BáOCSM(S=TSsBsAsT.sYT2OSTSA(IOS(BS.TS
áTh.TSwRye,blCS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
EXEC SQL COMMIT END-EXEC

MOVE SQLCODE TO SW-DB2-RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
EXEC-FUN XX_CANCELACION_PROCESOS_BATC H
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-COMM-REP')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-INICIO')
SQLCA('SQLCA')
END-FUN
END-EVALUATE

MOVE ZEROES TO RUR-NUMCOMM
ELSE


*-------------------------------------------------- -------------------------------------
*--- "P" : IMPLICA QUE LOS FICHEROS RESULTANTES DEL
*--- PROCESO HAN SIDO BORRADOS Y SE PUEDE EJECUTAR
*--- DE NUEVO EL PLAN.
*-------------------------------------------------- -------------------------------------
eMáT2OSaBsAsT.Sn,PCS
cBS –IOA(MOS (Má>S (BS (MáT2OS sBsAsT.SPS AzTB2OS MzS N.ásVTS (1(AzAsGBS M(S AOV–.(áGS
AOII(AáTV(Bá(CSMsBSBsB/NBS(IIOICSaV–.sATSvz(S(.S–IOA(MOSM(S(BAz(BáITS(BSAOB2sAsOB(MS
2(S M(IS I(.TBYT2OCS .OMS ósA=(IOMS I(Mz.áTBá(MS 2(.S N.ásVOS –IOA(MOS =TBS Ms2OS hOIIT2OMS ES M(S
–z(2(S(1(AzáTIS2(SBz(HOS(.S–.TBCSlsS(.S–IO/ITVTS2(SI(–OMsAsOBTVs(BáOSAOV–Iz(hTSvz(S
(.S–IOA(MOSM(S(BAz(BáITS(BS(MáT2OSsBsAsT.StbSye,blarabtRy[SlcSetNyRwRCS–z(MáOS
vz(S2(h(SAOV(BYTIS(.S–IOA(MOS2(M2(S(.S–IsBAs–sOCS
lsS.TSAOBMz.áTSTS.TSáTh.TSwRye,blSsB2sATSvz(S(.S–IOA(MOSM(S(BAz(BáITS(BS(MáT2OSsBsAsT.S
n,PCSM(SVO2sósATI>S–TITSsBsAsT.sYTIS(.SBNV(IOS2(SHT.s2TAsOB(MSTSA(IOCSR2(V>MSM(S–OB2I>S
(.SMVsáA=S2(SI(–OMsAsOBTVs(BáOSTSRtSCS–TITSvz(S(.S–IOA(MOSAOVs(BA(S2(M2(S(.S–IsBAs–sOCS
nlHKyegRtMRiaetNbSJStbKyegRtMRiaetNbPCS

IF RUR-ESTADO = CA-ESTADO-P
MOVE SPACES TO UR-VALOR-REGISTRO-TEXT
MOVE 254 TO UR-VALOR-REGISTRO-LEN
MOVE ZEROES TO UR-CEROS

*--- ACTUALIZAR A ESTADO "C" Y GUARDAR PUNTEROS.

EXEC SQL
UPDATE DAREPOS
SET RUR_ESTADO = :CA-ESTADO-C,
RUR_NUMCOMM = :UR-CEROS,
RUR_PUNTEROS = :UR-VALOR-REGIST RO
WHERE CURRENT OF REP
END-EXEC

MOVE SQLCODE TO SW-DB2-RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
EXEC-FUN XX_CANCELACION_PROCESOS_BATC H
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-UPDA-REP')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-INICIO')
SQLCA('SQLCA')
END-FUN
END-EVALUATE

*--- REALIZAMOS COMMIT:
*--- SE RECOMIENDA CONTROLAR EL CODIGO DE RETORNO DE LA SENTENCIA

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
dDS
SSS
*--- COMMIT Y ABENDAR EL PROGRAMA EN CASO DE SQLCO DE DISTINTO DE
*--- CERO, YA QUE LOS DATOS PUEDEN QUEDAR INCONSIS TENTES.

EXEC SQL COMMIT END-EXEC

MOVE SQLCODE TO SW-DB2-RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
EXEC-FUN XX_CANCELACION_PROCESOS_BATC H
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-COMM-REP')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-INICIO')
SQLCA('SQLCA')
END-FUN
END-EVALUATE

MOVE ZEROES TO RUR-NUMCOMM
ELSE

*-------------------------------------------------- -------------------------------------
*--- "C" : IMPLICA QUE SE ESTAN REALIZANDO COMMITS
* O QUE SE ES RELANZAMIENTO EN CASO DE NO SER LA P RIMERA VEZ
*-------------------------------------------------- ------------------------------------- SS
S
eMáT2OSaBá(IV(2sOSnrPCS
Un proceso está en estado intermedio cuando durante su última ejecución acabó con un abend
o un error después de haber hecho una o varias confirmaciones (COMMIT).
Si el programa de reposicionamiento comprueba que el proceso se encuentra en estado
intermedio REPOSICIONARÁ SU ENTRADA, puesto que deb e comenzar en el siguiente
registro de entrada al último confirmado.
lsS .TS AOBMz.áTS TS .TS áTh.TS wRye,blS sB2sATS vz(S (.S –IOA(MOS M(S (BAz(BáITS (BS (MáT2OS
sBá(IV(2sOS nrPS M(I>S B(A(MTIsOS I(–OMsAsOBTIM(S TBá(MS2(S AOV(BYTIS (.S áITáTVs(BáOCS ,TITS
(..OAS
]Sl(SVz(H(S.TSsBóOIVTAsGBS2(.S–zBá(IOSnycyJ,ctNeybl PSTS.TSHTIsTh.(Szás.sYT2TS–TITS
(.SI(–OMsAsOBTVs(BáOASCLAVE-ALTAS1 CS
]Sl(SI(Az–(ITS(.SBNV(IOS2(SHT.s2TAsOB(MSI(T.sYT2TMSnycyJtcirbiiPCSS
]S l(S –OB(S (.S MVsáA=S 2(S I(–OMsAsOBTVs(BáOS TS RlSCS –TITS vz(S (.S –IOA(MOS M(S I(–OMsAsOB(S
TBá(MS2(SAOV(BYTIS(.SáITáTVs(BáOCSnlHKyegRtMRiaetNb SJSlaKyegRtMRiaetNbPCS
S
IF RUR-ESTADO = CA-ESTADO-C
MOVE RUR-NUMCOMM TO CA-COMMIT
MOVE RUR-PUNTEROS-TEXT TO CLAVE-ALT AS1

SET SI-RELANZAMIENTO TO TRUE

EXEC SQL CLOSE REP END-EXEC

MOVE SQLCODE TO SW-DB2-RETURN-CO DE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
EXEC-FUN XX_CANCELACION_PRO CESOS_BATCH
TIPO_ERROR('UR-MSG-TIPO -ERROR')
DESCRIPCION('UR-MSG-CLO SE-CUR')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-INICIO' )
SQLCA('SQLCA')
END-FUN
END-EVALUATE

ELSE
EXEC-FUN XX_CANCELACION_PROCESOS_BA TCH
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-ESTADO-DAR')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-INICIO')

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
dpS
SSS
SQLCA('SQLCA')
END-FUN
END-IF
END-IF
END-IF

WHEN DB2-CLV-NOT-FOUND

MOVE SPACES TO UR-VALOR-REGISTRO-TEXT
MOVE 254 TO UR-VALOR-REGISTRO-LEN

*-------------------------------------------------- -------------*
*--- SI NO EXISTE EN DAREPOS SE CREA UNA ENTRAD A
*--- CON ESTADO "C" GUARDANDO PUNTEROS.
*-------------------------------------------------- -------------*
EXEC SQL
INSERT INTO DAREPOS
(RUR_PLANNAME,
RUR_PROCES,
RUR_ESTADO,
RUR_NUMCOMM,
RUR_PUNTEROS)
VALUES (:CA-PLANNAME,
:UR-PROCESO,
:CA-ESTADO-C,
:UR-CEROS,
:UR-VALOR-REGISTRO)
END-EXEC

MOVE SQLCODE TO SW-DB2-RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
EXEC-FUN XX_CANCELACION_PROCESOS_BATC H
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-INSERT-REP')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-INICIO')
SQLCA('SQLCA')
END-FUN
END-EVALUATE

*--- REALIZAMOS COMMIT:
*--- SE RECOMIENDA CONTROLAR EL CODIGO DE RETORNO DE LA SENTENCIA
*--- COMMIT Y ABENDAR EL PROGRAMA EN CASO DE SQLCO DE DISTINTO DE
*--- CERO, YA QUE LOS DATOS PUEDEN QUEDAR INCONSIS TENTES.

EXEC SQL COMMIT END-EXEC

MOVE SQLCODE TO SW-DB2-RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
EXEC-FUN XX_CANCELACION_PROCESOS_BAT CH
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-COMM-REP')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-INICIO')
SQLCA('SQLCA')
END-FUN
END-EVALUATE

MOVE ZEROES TO RUR-NUMCOMM

WHEN OTHER

EXEC-FUN XX_CANCELACION_PROCESOS_BATCH
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-FETCH-REP')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-INICIO')
SQLCA('SQLCA')

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
doS
SSS
END-FUN

END-EVALUATE.

S100-INICIO-EXIT.
EXIT.

*************************************************** *************************************
*********
*
* A100-INICIO-PROGRAMA.
*
* SE INICIALIZAN TODAS LAS VARIABLES PARA CAMPOS DE LA FUNCIÓN
* DE ERRORES Y LOS CAMPOS DE ESTADÍSTICAS. ADEMÁS S E ABREN LOS
* FICHEROS CONTBA3 Y ALTAS1 EN MODO ENTRADA Y EL FI CHERO ERRALTA
* EN MODO DE SALIDA, Y SE LEE EL PRIMER REGISTRO DE CONTBA3 Y
* ALTAS1.
*
*************************************************** *************************************
*********
A100-INICIO-PROGRAMA.

*-------------------------------------------------- -------------*
*--- INICIALIZAR DCLGEN DE LAS TABLAS Y CAMPOS DE WORKING
*-------------------------------------------------- -------------*
INITIALIZE DCLSALDO-VALOR-PTM
WK-ERROR-DB2
WK-ERROR-RUTINA
WK-ERROR-TABLA-MEMORIA
WK-ERROR-FICHERO
WK-ERROR-OTROS
CONT-CONTBA3
CONT-ALTAS1
CONT-ERRALTA
CONT-SALDO-VALOR-PTM

,TITS(.SATMOS2(S–IO/ITVTMSvz(Szás.sYTBSósA=(IOMS2(S(BáIT2TSn(BSBz(MáIOSATMOSrbtN3RdS
ES (.S VT(MáIOAS RgNRlpPS ás(B(BS vz(S AOBáIO.TIS V(2sTBá(S zBS MVsáA=S n
laKyegRtMRiaetNbP
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
MsS(MS.TS–IsV(ITSH(YSvz(S(BáITST.S–IO/ITVTSOS(MSI(.TBYTVs(BáOS–OIvz(S=TETSTh(B2T2OS
TBá(IsOIV(Bá(S(.S–IOA(MOCSeBSOMá(SATMOS2(h(I>S.((IM(S(.SósA=(IOS2(M2(S(.S–IsBAs–sOS=TMáTS
(.SI(/sMáIOS/IThT2OS(BSwRye,blSAOII(M–OB2s(Bá(ST.SN.ásVOSrbiiaNC
SSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
*-------------------------------------------------- -------------*
*--- SE ABREN LOS FICHEROS
*-------------------------------------------------- -------------*
PERFORM A150-ABRIR-FICHEROS
THRU A150-ABRIR-FICHEROS-EXIT

*-------------------------------------------------- -------------*
*--- SI ENTRA AL PROGRAMA POR RELANZAMIENTO PORQUE HAYA
*--- CASCADO EL PROCESO, DEBE LEERSE EL FICHERO DE ENTRADA
*--- DESDE EL PRINCIPIO HASTA EL ULTIMO REGISTRO G RABADO
*--- EN EL ULTIMO COMMIT, GRABADO EN "DAREPOS".
*-------------------------------------------------- -------------*

IF SI-RELANZAMIENTO
PERFORM A110-RELEER-FICH-ENTRADA THRU
A110-RELEER-FICH-ENTRADA-EXIT
UNTIL FIN-DATOS

*-------------------------------------------------- -------------*
*--- ENTRA A LEER LOS FICHEROS DE ENTRADA POR PRI MERA VEZ
*-------------------------------------------------- -------------*
ELSE
MOVE LOW-VALUE TO CLAVE-AL TAS1
CLAVE-CO NTBA3

PERFORM 9100-LEER-FICH-ALTAS1
THRU 9100-LEER-FICH-ALTAS1-EXIT

PERFORM 9200-LEER-FICH-CONTBA3
THRU 9200-LEER-FICH-CONTBA3-EXIT
END-IF.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ddS
SSS
A100-INICIO-PROGRAMA-EXIT.
EXIT.

*************************************************** **********
***
*** A110-RELEER-FICH-ENTRADA
***
*************************************************** **********
A110-RELEER-FICH-ENTRADA.

IF NO-FIN-PROCESO AND NO-FIN-DATOS
READ ALTAS1 INTO BNYDE008
AT END
SET FIN-DATOS TO TRUE
SET SW-SI-FIN-CONTBA3 TO TRUE
SET FIN-PROCESO TO TRUE
MOVE HIGH-VALUES TO CLAVE-ALTAS 1
NOT AT END
SET SW-NO-FIN-ALTAS1 TO TRUE
*--- MOVER LOS CAMPOS DEL REGISTRO AL CAMPO WORKIN G
*--- UR-CLAVE-RELANZAMIENTO.
MOVE BNYDE008-IDEMPR TO IDEMPR-RELA NZAMIENTO
MOVE BNYDE008-IDCENT TO IDCENT-RELA NZAMIENTO
MOVE BNYDE008-IDPROD TO IDPROD-RELA NZAMIENTO
MOVE BNYDE008-IDCONTRN TO IDCONTR-REL ANZAMIENTO
END-READ
IF FS-ALTAS1 NOT EQUAL CA-FI CH-OK AND
NOT EQUAL CA-FI N-FICH
MOVE CA-PARRAFO-INICIO TO WK-PARRAFO
MOVE CA-ALTAS1 TO WK-DDNAME
MOVE FS-ALTAS1 TO WK-FILE-STA TUS
MOVE CA-ERROR-APERTURA TO WK-DESCRIPC ION

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF
END-IF
*--- EL REGISTRO LEIDO ES MAYOR AL ULTIMO LEIDO AN TES DE
*--- CASCAR EL PROGRAMA, QUE ESTA GRABADO EN 'DARE POS'.

IF UR-CLAVE-RELANZAMIENTO > CLAVE-ALTAS1 SSSSSSSSSSSSSSSSSSSSSS
j(VOMS 2(S á(B(IS (BS Az(BáTS vz(S =TES vz(S TAázT.sYTIS .TSA.TH(S 2(S I(–OMsAsOBTVs(BáOS
rgRLeKRgNRlpS TS .TS Ms/zs(Bá(CS –OIvz(S (.S I(/sMáIOS T.VTA(BT2OS (BS (..TS ETS =TS Ms2OS
–IOA(MT2OCSESM(S=TS2(SAOBásBzTIS–OIS(.SMs/zs(Bá(CSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
MOVE UR-CLAVE-RELANZAMIENTO TO CLAVE-ALTAS1

SET FIN-DATOS TO TRUE
END-IF.
***
A110-RELEER-FICH-ENTRADA-EXIT.
EXIT.

*************************************************** ***********************************
* A150-ABRIR-FICHEROS.
*
* SE ABREN LOS FICHEROS CONTBA3 Y ALTAS1 EN MODO EN TRADA Y EL
* FICHERO ERRALTA EN MODO DE SALIDA Y SE COMPRUEBA QUE SE HA
* REALIZADO LA OPERACIÓN CORRECTAMENTE. EN CASO CON TRARIO SE
* LLAMA AL PÁRRAFO 9300-ERROR-FICHERO
*
*************************************************** ***********************************
A150-ABRIR-FICHEROS.
OPEN INPUT CONTBA3
ALTAS1

IF FS-CONTBA3 NOT EQUAL CA-FICH -OK
MOVE CA-PARRAFO-INICIO TO WK-PARRAF O
MOVE CA-CONTBA3 TO WK-DDNAME
MOVE FS-CONTBA3 TO WK-FILE-S TATUS
MOVE CA-ERROR-APERTURA TO WK-DESCRI PCION

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
dmS
SSS

IF FS-ALTAS1 NOT EQUAL CA-FICH -OK
MOVE CA-PARRAFO-INICIO TO WK-PARRAF O
MOVE CA-ALTAS1 TO WK-DDNAME
MOVE FS-ALTAS1 TO WK-FILE-S TATUS
MOVE CA-ERROR-APERTURA TO WK-DESCRI PCION

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF.
A150-ABRIR-FICHEROS-EXIT.
EXIT.

*************************************************** *************************************
**
* A400-PROCESO-PROGRAMA.
*
* PROCESO PRINCIPAL DEL PROGRAMA. SE REALIZARÁ UN P ROCESO CONTÍNUO
* EN EL QUE SÓLO SE SALDRÁ CUANDO SE LLEGUE AL FINA L DEL FICHERO
* DE ALTAS1 OR CONTBA3, O SE DETECTE ALGÚN ERROR ME NCIONADO A
* CONTINUACIÓN QUE INDIQUE EL FINAL DEL PROGRAMA
*
*************************************************** ***********************************
A400-PROCESO-PROGRAMA .
SSSSSSSSSSSSSSSSSSSSSSSSSSSS
l(SHTBST.OATB2OS.OMSósA=(IOMS2(SMT.s2TS2sB>VsATV(Bá(S–OISAT2TSAOVVsáSvz(SM(SI(T.sYTCSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSS
PERFORM S400-PROCESO-COMMIT
THRU S400-PROCESO-COMMIT-EXIT
UNTIL FIN-PROCESO OR SI-ERROR.

e.S–IO/ITVTSAOBá(B2I>CS2(M–zOMS2(SMzSsBsAsOCSzBShzA.(S(Bá(IBOSESOáIOSsBá(IBOCSe.ShzA.(S
(Bá(IBOCSM(SI(–(ásI>S=TMáTSvz(SBOS=TETSV>MS2TáOMS2(S(BáIT2TSnlHK atKwRNblPSOS=TMáTS
vz(SOAzIITSzBS(IIOICSS
SSSSSSSSSSSSSSS
A400-PROCESO-PROGRAMA-EXIT.
EXIT.

*************************************************** ******************
***
*** S400-PROCESO-COMMIT
***
*************************************************** ******************
S400-PROCESO-COMMIT.     
                                          
eBS(Má(ShzA.(S(Bá(IBOSM(SsBA.zsI>BS.TMSMs/zs(Bá(MSáTI(TMCST2(V>MS2(S.TMS–IO–sTMS2(S.TS
T–.sATAsGBCS
Ext. 1. Iniciación del contador de registros procesados a 1.
Ext. 2. Alocación de los ficheros de salida, si existen en el proceso.
l(S=TI>SzBTS..TVT2TSTS.TSIzásBTScyDDDDSAOBS(.S–TI>V(áIOSycyKteHS–TITST.OATIS.OMS
ósA=(IOMS2(SMT.s2TCS OIVTáOAS
S
CALL RUR-CALL USING RUR-NEW RURCOMM DCLDAREPOS

gTS IzásBTS cyDDDDS ..TVT2TS 2(S OMáTS VTB(ITS AOBMáIzsI>S(.S BOVhI(S 2(.S ósA=(IOS
AOII(M–OB2s(Bá(S –TITS AT2TS wwtRieS ES BNV(IOS 2(S AOBósI VTAsGBCS T.OATB2OS
2sB>VsATV(Bá(S AT2TS zBOS 2(S (..OMCS lsS 2zITBá(S (Má(S –IOA(MOS M(S –IO2z1(M(S T./NBS (IIOIS
T–TI(A(I>S I(ó.(1T2OS (BS (.S ósA=(IOS 2(S V(BMT1(MS nycyilFPS ES (.S ?b3S M(S ATBA(.TI>CS RM:S
VsMVOS–OISAT2TSósA=(IOST.OAT2OSM(S(BHsTI>SzBSV(BMT1(SsBóOIVTásHOSncyDDpíPCS

e.S BOVhI(S 2(S .OMS ósA=(IOMS (MS 2sMásBáOS –OIS AT2TS rbiiaNS ES M(S AOV–OB(S 2(AS
XXX.DDDDDDDD.PPPPPPPP.RnnVnnnn 
S
wOB2(SEEES(MS(.S–I(ós1OCS,TI>V(áIOS2(.S?rgCS
SSSSSSwwwwwwwwS(MS(.SBOVhI(S2(S.TS22S2(.SósA=(IOCSsBóOIVTAsGBSAOBá(Bs2TS(BS.TSáTh.TS
wR,ybr3RNrjCS
SSSSSS,,,,,,,,S(MS(.SBOVhI(S2(.S–.TBCS,TI>V(áIOS2(.S?rgCS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
díS
SSS
SSSSSSyBBCStNV(IOS2(.S–IOA(MOCS,TI>V(áIOS2(.S?rgCS
SSSSSSLBBBBCStNV(IOS2(.SrbiiaNST.Svz(SAOII(M–OB2(CS,OIS.OSáTBáOST.SósBT.S2(.S–IOA(MOS
=ThI>S áTBáOMS ósA=(IOMS –OIS 22BTV(S 2(ósBs2TS (BS wR,ybr3RNrjS AOVOS rbiiaNlS M(S
=TETBS=(A=OCS
No necesitan hacer ésta llamada los programas que no utilizan ficheros secuénciales de
salida.
Ext. 3. Abrir los ficheros de salida, si existen en el proceso.  
Bucle Interior. 
,IOA(MTSáO2OMS.OMSI(/sMáIOMS2(S(BáIT2TS(BáI(SHT.s2TAsOB(MCS=TMáTSvz(S(.SAOBáT2OIS
2(S I(/sMáIOMS –IOA(MT2OMS T.ATBYTS (.S HT.OIS 2(S rRKtciy eFS n–TI>V(áIOS
sBáIO2zAs2OS(BS(.S?rgPCSM(STAThTBS.OMS2TáOMS2(S(BáIT2TSOS=TEST./NBS(IIOICS
Int. 1CSg(AázITS2(.SMs/zs(Bá(S2TáOS2(S(BáIT2TCS
Int.  2CSProceso  propio  de  la  aplicación.  Instrucciones  para  el 
tratamiento de los datos de entrada.S
Int. 3.SRAázT.sYTAsGBS2(.SAOBáT2OIS2(SI(/sMáIOMSáITáT2OMCSS
lzVTSzBOST.SAOBáT2OIS2(SI(/sMáIOMSáITáT2OMCS
Ext. 4. Cerrar los ficheros de salida, si los hay. 
Ext. 5. Validar las modificaciones DB2. 
l(S=TA(SrbiiaNCS
Ext.  6.  SI  NO  HAY  FICHEROS  DE  SALIDA,  sumar  1  al  número  de  validaciones 
(CACOMMITPS
lG.OSMsSBOS=TESósA=(IOMS2(SMT.s2TCSM(S2(h(SMzVTISpST.SBNV(IOS2(SHT.s2TAsOB(MCSHTIsTh.(S
rRKrbiiaNS –IO–OIAsOBT2TS –OIS .OMS –TI>V(áIOMS 2(.S ?rgCS eBS ATMOS 2(S vz(S (BsMáTBS
ósA=(IOMS2(SMT.s2TStbSM(S2(h(STAázT.sYTIS(.SBNV(IOS2(SHT.s2TAsOB(MCS–OISvz(S.OS=TA(S.TS
IzásBTScyDDDDSESMsSM(SHz(.H(STS=TA(IS(BS(.S–IO/ITVTS–IOHOATI>S(IIOI(MCS
Ext.  7. Sólo  si  hay  ficheros de  salida,  actualizar el  número  de validaciones  y  el 
puntero en DAREPOS CS
RAázT.sYTS .TSós.TS 2(S.TSáTh.TS wRye,blSAOII(M–OB2s(Bá(STS(Má(S–.TBD–IOA(MOSMzVTB2OS
zBOS T.S BNV(IOS 2(S HT.s2TAsOB(MS ES TBOáTB2OS (BS (.S –zBá(IOS .TS N.ásVTS A.TH(S 2(S (BáIT2TS
áITáT2TSAOII(AáTV(Bá(CSe.S–.TBD–IOA(MOSAOBS(.Svz(S(MáTVOMSáIThT1TB2OSMOBS2TáOMSvz(S
M(S.(E(IOBS2(S.OMS–TI>V(áIOMS2(.S?rgST.S–IsBAs–sOS2(.S–IO/ITVTCS(BS(.S–TMOSaCSoCS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
*-------------------------------------------------- -------------------------------------
*--- REALIZA UNA LLAMADA DINAMICA A LA COPY DE R URCOMM
*--- PARA MONTAR EL NOMBRE DEL FICHERO Y ALOCARL O
*-------------------------------------------------- -------------------------------------
* RUR-NEW: LA RUTINA UR0000 LLAMADA DE ESTA MANERA POR EL PROG
* DE APLICACIÓN CONSTRUIRÁ EL NOMBRE DE FICHERO COR RESPONDIENTE
* PARA CADA DDNAME Y NÚMERO DE COMMIT, ALOCANDO DIN ÁMICAMENTE
* CADA UNO DE ELLOS. ESTA RUTINA A SU VEZ LLAMA A O TRAS RUTINAS
* ENSAMBLADOR. EL NOMBRE DE LOS FICHEROS ES DISTINT O POR CADA
* COMMIT.

CALL RUR-CALL USING RUR-NEW RURCOMM DCLDAREPOS.

*-------------------------------------------------- -------------------------------------
*--- ABRIMOS EL FICHERO DE SALIDA PARA EL REPOSICIONAMIENTO.
*-------------------------------------------------- -------------------------------------


OPEN OUTPUT ERRALTA.

IF FS-ERRALTA NOT EQUAL CA-FICH -OK
MOVE CA-PARRAFO-INICIO TO WK-PARRAFO
MOVE CA-ERRALTA TO WK-DDNAME
MOVE FS-ERRALTA TO WK-FILE-STATU S
MOVE CA-ERROR-APERTURA TO WK-DESCRIPCIO N

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF

*-------------------------------------------------- -------------------------------------
*--- INICIALIZA CONTADOR DE REGISTROS A 1
*-------------------------------------------------- -------------------------------------

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
d)S
SSS

MOVE CN-UNO TO UR-CONT-RE G


PERFORM S410-UNIDAD-COMMIT
THRU S410-UNIDAD-COMMIT-EXIT
UNTIL UR-CONT-REG GREATER CA-NUMREG OR
FIN-PROCESO OR SI-ERROR

*-------------------------------------------------- -------------------------------------
*--- CERRAR FICHERO SALIDA ERRALTA
*-------------------------------------------------- -------------------------------------

CLOSE ERRALTA

IF FS-ERRALTA NOT EQUAL CA-FICH-OK

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF
*-------------------------------------------------- -------------------------------------
*--- ACTUALIZAR NUMERO DE COMMITS Y PUNTEROS EN D AREPOS.
*-------------------------------------------------- -------------------------------------

MOVE CA-COMMIT TO UR-COMMIT
MOVE CA-PROCESO TO UR-PROCESO

*-------------------------------------------------- -------------------------------------
*--- MOVER LOS CAMPOS CLAVE DEL FICHERO A LOS CAMP OS DE WORKING
*--- PARA REPOSICIONAMIENTO: UR-CLAVE-REPOSIC.
*-------------------------------------------------- -------------------------------------

MOVE CLAVE-ALTAS1 TO UR-VALOR-RE GISTRO-TEXT
MOVE CN-DIECIOCHO TO UR-VALOR-RE GISTRO-LEN
*
EXEC SQL
UPDATE DAREPOS
SET
RUR_NUMCOMM = :UR-COMMIT,
RUR_PUNTEROS = :UR-VALOR-R EGISTRO
WHERE RUR_PLANNAME = :CA-PLANNAME
AND RUR_PROCES = :UR-PROCESO
END-EXEC.

MOVE SQLCODE TO SW-DB2-RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
SSSSSSSSSEXEC-FUN XX_CANCELACION_PROCESOS_BATCH
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-UPDA-REP')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-PROC-COMM')
SQLCA('SQLCA')
END-FUN
END-EVALUATE.

*-------------------------------------------------- -------------------------------------
*--- REALIZAMOS COMMIT:
*--- SE RECOMIENDA CONTROLAR EL CODIGO DE RETORNO DE LA SENTENCIA
*--- COMMIT Y ABENDAR EL PROGRAMA EN CASO DE SQLCO DE DISTINTO DE
*--- CERO, YA QUE LOS DATOS PUEDEN QUEDAR INCONSIS TENTES.
*-------------------------------------------------- -------------------------------------

EXEC SQL COMMIT END-EXEC.

MOVE SQLCODE TO SW-DB2-RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
EXEC-FUN XX_CANCELACION_PROCESOS_BATCH
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-PROC-COMM')

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
duS
SSS
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-PROC-COMM')
SQLCA('SQLCA')
END-FUN
END-EVALUATE
*-------------------------------------------------- -------------------------------------

*--- SI NO HAY ERROR VUELVE A LEER EL FICHERO DE E NTRADA
*-------------------------------------------------- -------------------------------------

IF SI-ERROR OR FIN-PROCESO
CONTINUE
ELSE
PERFORM 9100-LEER-FICH-ALTAS1
THRU 9100-LEER-FICH-ALTAS1-EXIT.
***
S400-PROCESO-COMMIT-EXIT.
EXIT.

*************************************************** *************
***
*** S410-UNIDAD-COMMIT
***
*************************************************** *************
S410-UNIDAD-COMMIT. SSSSSSSSSSSSSSS
S
*---   AQUÍ COMIENZA LA LÓGICA DEL PROGRAMA .   
eMá(S M(I:TS (.S –>IITóOS –IOA(MOS zás.sYT2OS (BS Bz(MáIOS–IO/ITVTCS eBóI(BáTVOMS (.S ósA=(IOS
VT(MáIOSRgNRlpSAOBS(.SósA=(IOSrbtN3RdCSSSSSSSSSSSSSSSSSSSSSS

IF CLAVE-ALTAS1 LESS THAN CLAVE-CONTBA3
SET SW-SI-LEE-ALTAS1 TO TRUE
CONTINUE
ELSE
IF CLAVE-ALTAS1 EQUAL CLAVE-CONTBA3

SET SW-SI-LEE-ALTAS1 TO TRUE

PERFORM 2100-PARRAFO-ALTAS
THRU 2100-PARRAFO-ALTAS-EXIT

PERFORM 9200-LEER-FICH-CONTBA3
THRU 9200-LEER-FICH-CONTBA3-EXIT

ELSE
SET SW-NO-LEE-ALTAS1 TO TRUE

PERFORM 9200-LEER-FICH-CONTBA3
THRU 9200-LEER-FICH-CONTBA3-EXIT
UNTIL (CLAVE-ALTAS1 LESS THAN CLAVE-CONTBA3) OR
(CLAVE-ALTAS1 EQUAL CLAVE-CONTBA3)
END-IF
END-IF

*--- AQUÍ TERMINA LA LÓGICA DEL PROGRAMA
(Ver #ANEXO4)

ADD CN-UNO TO UR-CONT-REG

*-------------------------------------------------- -------------------------------------
----------*
*--- CUANDO EL CONTADOR DE REGISTROS SEA MAYOR AL CAMPO CA-NUMREG
*--- DE "RURCOMM" : CIERRA EL FICHERO, HACE COMMI T Y ACTUALIZA DAREPOS.
*-------------------------------------------------- -------------------------------------
----------*

IF UR-CONT-REG GREATER THAN CA-NUMREG
CONTINUE

ELSE

IF SW-SI-LEE-ALTAS1

PERFORM 9100-LEER-FICH-ALTAS1

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
dUS
SSS
THRU 9100-LEER-FICH-ALTAS1-EXIT

END-IF
END-IF.

S410-UNIDAD-COMMIT-EXIT.
EXIT.

*************************************************** **********
***
*** A900-FIN-PROGRAMA
***
*************************************************** **********
A900-FIN-PROGRAMA.

*-------------------------------------------------- -------------*
*--- CERRAR FICHEROS DE ENTRADA
*-------------------------------------------------- -------------*

PERFORM 3100-CERRAR-FICHEROS
THRU 3100-CERRAR-FICHEROS-EXIT

PERFORM 9500-ESTADISTICAS
THRU 9500-ESTADISTICAS-EXIT.

A900-FIN-PROGRAMA-EXIT.
EXIT.

*************************************************** ****************
***
*** S900-FIN
***
*************************************************** ****************

S900-FIN.

Estado Final (F) 
cBS –IOA(MOS M(S (BAz(BáITS (BS (MáT2OS ósBT.S AzTB2OS 2(M–zOMS 2(S MzS N.ásVTS (1(AzAsGBS
AOII(AáTSRQtStbSleSjRtS clabtRwbSlclS arjeyblSweSlR gawRCS
lsS (.S –IO/ITVTS 2(S I(–OMsAsOBTVs(BáOS AOV–Iz(hTS vz(S (.S –IOA(MOS M(S (BAz(BáITS (BSS
(MáT2OS ósBT.S we3eS NeyiatRyS MsBS –IOA(MTIS BsB/NBS 2TáOCS ,z(MáOS vz(S .OMS ósA=(IOMS 2(S
MT.s2TS2(ósBsásHOMSTNBSBOSM(S=TBSAI(T2OCSeBS(Má(SATMOS2(h(I:TSTIITBATIM(S(.S?rgS2(M2(S
(.S –TMOS –OMá(IsOIS T.S –IO/ITVTS AOBS I(–OMsAsOBTVs(BáOCS vz(S ózMsOBTI>S .OMS 1z(/OMS 2(S
ósA=(IOMSAI(T2OMS–OIS(.S–IO/ITVTS(BS.OMSósA=(IOMS2(SMT.s2TS2(ósBsásHOMCS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
*-------------------------------------------------- -------------------------------------
----------*
*--- ACTUALIZA DAREPOS CON EL ESTADO IGUAL A " F".
*--- "F" : IMPLICA PROCESO FINALIZADO O PENDIENTE
*--- DE UTILIDADES
*-------------------------------------------------- -------------------------------------
----------*

EXEC SQL
UPDATE DAREPOS
SET RUR_ESTADO = : CA-ESTADO-F
WHERE RUR_PLANNAME = :CA-PLANNAME
AND RUR_PROCES = :UR-PROCESO
END-EXEC.

MOVE SQLCODE TO SW-DB2- RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK CONTINUE
WHEN OTHER
EXEC-FUN XX_CANCELACION_PROCESOS_BATCH
TIPO_ERROR('UR-MSG-TIPO-ERROR')
DESCRIPCION('UR-MSG-UPDA-REP')
PROGRAMA('CA-LQBBN01')
PARRAFO('UR-MSG-FIN')
SQLCA('SQLCA')
END-FUN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
d<S
SSS
END-EVALUATE.
GOBACK.
***
S900-FIN-EXIT.
EXIT.


*************************************************** ***********************************
* 2100-PARRAFO-ALTAS
*
* POR CADA POSICIÓN SE HA DE DAR UN ALTA EN LA TABL A SALDO_VALOR
* _PTM, COM EL CAMPO POSICIONES LQYCONTL-OSICIONES ES DE 24
* CARACTERES Y CADA POSICIÓN ESTÁ DEFINIDA CON 3 CA RACTERES,COMO
* MÁXIMO SERÁN 8 LAS POSICIONES QUE SE PODRÁN DAR D E ALTA
*************************************************** ***********************************
2100-PARRAFO-ALTAS.

MOVE LQYCONTL-POSICIONES TO W-POSICI ONES
MOVE CN-UNO TO IND-I

PERFORM 2150-POSICIONES
THRU 2150-POSICIONES-EXIT
UNTIL IND-I GREATER THAN CN-OCHO
OR W-POSICION(IND-I) EQUAL SPACES.

2100-PARRAFO-ALTAS-EXIT.
EXIT.

*************************************************** **********************************
* 2150-POSICIONES
*
* COMO MÁXIMO SE DAN DE ALTA 8 POSICIONES EN LA TAB LA
* SALDO_VALOR_PTM
*************************************************** **********************************
2150-POSICIONES.

MOVE W-POSICION(IND-I) TO W-POSIC ION-ALTA

PERFORM 2200-ESCR-SALDO-V-PTM
THRU 2200-ESCR-SALDO-V-PTM-EXIT

ADD 1 TO IND-I.

2150-POSICIONES-EXIT.

*************************************************** ***********************************
* 2200-ESCR-SALDO-V-PTM
*
* SE ESCRIBE EN LA TABLA SALDO_VALOR_PTM UN REGISTR O CON EL
* SALDO A 0 POR CADA POSICIÓN LEÍDA EN EL FICHERO C ONTBA3
*************************************************** ***********************************
2200-ESCR-SALDO-V-PTM.

MOVE LQYCONTL-IDCENT TO E42 94-IDCENT
MOVE LQYCONTL-IDPROD TO E42 94-IDPROD
MOVE LQYCONTL-IDCONTR TO E42 94-IDCONTR
MOVE W-POSICION-ALTA TO E42 94-TIPMVTO
MOVE LQYCONTL-CODMONBE TO E42 94-CODMONSW
MOVE CN-UNO TO E42 94-NUMERSEC
MOVE LQYCONTL-IDSTIPRO TO E42 94-IDSTIPRO
MOVE LQYCONTL-COESTREF TO E42 94-COESTREF
MOVE BNYDE008-FECAPER TO E42 94-FHSALV
MOVE CN-CERO TO E42 94-SALDCTA
*---
MOVE BNYDE008-FECAPER(1:4) TO FEC APER-NUM(1:4)
MOVE BNYDE008-FECAPER(6:2) TO FEC APER-NUM(5:2)
MOVE BNYDE008-FECAPER(9:2) TO FEC APER-NUM(7:2)
MOVE FECAPER-FECHA TO FEC -VALOR-TRA(1, 1)

MOVE CN-CERO TO DIA S-AVX-TRA(1, 1)
MOVE CN-CERO TO DIA S-AVB-TRA(1, 1)
MOVE CN-CERO TO SAL DO-VALOR-TRA(1, 1)
MOVE CN-DIECISIETE TO E42 94-IMPSALV-LEN
MOVE REG-SALDOS-VALOR-TRA(1) TO E42 94-IMPSALV-TEXT

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
mDS
SSS
*---
MOVE LQYCONTL-IDEMPR TO E4294- IDEMPR

EXEC SQL
INSERT INTO SALDO_VALOR_PTM
(E4294_IDCENT,
E4294_IDPROD,
E4294_IDCONTR,
E4294_TIPMVTO,
E4294_CODMONSW,
E4294_NUMERSEC,
E4294_IDSTIPRO,
E4294_COESTREF,
E4294_FHSALV,
E4294_SALDCTA,
E4294_IMPSALV,
E4294_IDEMPR)
VALUES
(:E4294-IDCENT,
:E4294-IDPROD,
:E4294-IDCONTR,
:E4294-TIPMVTO,
:E4294-CODMONSW,
:E4294-NUMERSEC,
:E4294-IDSTIPRO,
:E4294-COESTREF,
:E4294-FHSALV,
:E4294-SALDCTA,
:E4294-IMPSALV,
:E4294-IDEMPR)
END-EXEC

MOVE SQLCODE TO SW-D B2-RETURN-CODE

EVALUATE TRUE
WHEN DB2-OK
* ACUMULAR PARA ESTADISTICAS
ADD CN-UNO TO CONT -SALDO-VALOR-PTM

WHEN DB2-CLV-DUPLI-INSERT
PERFORM 2300-ESCR-ERR-ALTA
THRU 2300-ESCR-ERR-ALTA-EXIT

WHEN OTHER
MOVE CA-ERROR-INSERT TO WK-D ESCRIPCION
MOVE CA-ESCRIBIR-SALDO-PTM TO WK-P ARRAFO
MOVE CA-SALDO-VALOR-PTM TO WK-T ABLA-DB2
MOVE DCLSALDO-VALOR-PTM TO WK-D ATOS-ACCESO

PERFORM 9400-ERROR-DB2
THRU 9400-ERROR-DB2-EXIT
END-EVALUATE.

2200-ESCR-SALDO-V-PTM-EXIT.
EXIT.
*************************************************** ***********************************
* 2300-ESCR-ERR-ALTA
*
* LA PREEXISTENCIA DEL REGISTRO QUE SE VA A DAR DE ALTA EN
* SALDO_VALOR_PTM IMPLICA UN ERROR, POR LO QUE SE G RABA EN EL
* FICHERO DE SALIDA DE ERRORES (ERRALTA)
*************************************************** ***********************************
2300-ESCR-ERR-ALTA.

* ACUMULAR PARA ESTADÍSTICAS
ADD CN-UNO TO CONT-ERRALTA
INITIALIZE W-COPY-TABLA

MOVE E4294-IDEMPR TO W-COPY-IDEMP R
MOVE E4294-IDCENT TO W-COPY-IDCEN T
MOVE E4294-IDPROD TO W-COPY-IDPRO D
MOVE E4294-IDCONTR TO W-COPY-IDCON TR
MOVE CA-CODERROA TO W-COPY-CODER ROA
MOVE E4294-IDSTIPRO TO W-COPY-IDSTI PRO

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
mpS
SSS
MOVE E4294-COESTREF TO W-COPY-COEST REF
MOVE E4294-CODMONSW TO W-COPY-CODMO NBE
MOVE CA-CODCESTX TO W-COPY-CODCE STX
MOVE CA-AORIGEN TO W-COPY-AORIG EN
MOVE CA-AORIGEN TO W-COPY-ASUBO RIG
MOVE CN-OCHENTA TO W-COPY-DATCO MPV-LEN
MOVE E4294-TIPMVTO TO WK-TIPMVTO
MOVE WK-EXISTENCIA-CONTRATO TO W-COPY-DATCO MPV-TEXT
WRITE REGERRALTA FROM W-COPY-TAB LA

IF FS-ERRALTA NOT EQUAL CA-FI CH-OK
PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF.
2300-ESCR-ERR-ALTA-EXIT.
EXIT.

*************************************************** ***********************************
* 3100-CERRAR-FICHEROS.
*
* SE CIERRAN LOS TRES FICHEROS (CONTBA3,ALTAS1 Y ER RALTA)
* Y SE COMPRUEBA QUE SE HAN CERRADO CORRECTAMENTE,E N CASO
* CONTRARIO SE PROCEDE AL TRATAMIENTO DE ERROR DE F ICHERO
*
*************************************************** ***********************************
3100-CERRAR-FICHEROS.

CLOSE CONTBA3
ALTAS1

IF FS-CONTBA3 NOT EQUAL CA-FICH-OK

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF

IF FS-ALTAS1 NOT EQUAL CA-FICH-OK

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT

END-IF
.
3100-CERRAR-FICHEROS-EXIT.
EXIT.

*************************************************** ***********************************
* 9100-LEER-FICH-ALTAS1
*
* SE REALIZA LA LECTURA DEL FICHERO DE ALTAS1,ACUMU LANDO LAS
* ESTADÖSTICAS Y TRATANDO SI PROCEDE UN POSIBLE ERR OR EN LA
* LECTURA
*************************************************** ***********************************
9100-LEER-FICH-ALTAS1.

READ ALTAS1 INTO BNYDE008
AT END
SET SW-SI-FIN-ALTAS1 TO TRUE
SET FIN-PROCESO TO TRUE
MOVE HIGH-VALUES TO CLAVE-A LTAS1
NOT AT END
ADD CN-UNO TO CONT-AL TAS1
SET SW-NO-FIN-ALTAS1 TO TRUE
MOVE BNYDE008-IDEMPR TO IDEMPR- ALTAS1
MOVE BNYDE008-IDCENT TO IDCENT- ALTAS1
MOVE BNYDE008-IDPROD TO IDPROD- ALTAS1
MOVE BNYDE008-IDCONTRN TO IDCONTR -ALTAS1
END-READ
IF FS-ALTAS1 NOT EQUAL CA-F ICH-OK AND
NOT EQUAL CA-F IN-FICH
MOVE CA-LEER-ALTAS1 TO WK-PARR AFO
MOVE CA-ALTAS1 TO WK-DDNA ME
MOVE FS-ALTAS1 TO WK-FILE -STATUS
MOVE CLAVE-ALTAS1 TO WK-DATO S-REGISTRO

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
moS
SSS
MOVE CA-ERROR-LECTURA TO WK-DESC RIPCION

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF.

9100-LEER-FICH-ALTAS1-EXIT.
EXIT.

*************************************************** **********************************
* 9200-LEER-FICH-CONTBA3
*
* SE REALIZA LA LECTURA DEL FICHERO CONTBA3, ACUMU LANDO LAS
* ESTADÖSTICAS Y TRATANDO SI PROCEDE UN POSIBLE ERR OR EN LA
* LECTURA
*************************************************** ***********************************
9200-LEER-FICH-CONTBA3.

READ CONTBA3 INTO LQYCONTL
AT END
SET SW-SI-FIN-CONTBA3 TO TRUE
MOVE HIGH-VALUES TO CLAVE-CONT BA3
NOT AT END
ADD CN-UNO TO CONT-CONTB A3
SET SW-NO-FIN-CONTBA3 TO TRUE
MOVE LQYCONTL-IDEMPR TO IDEMPR-CON TBA3
MOVE LQYCONTL-IDCENT TO IDCENT-CON TBA3
MOVE LQYCONTL-IDPROD TO IDPROD-CON TBA3
MOVE LQYCONTL-IDCONTR TO IDCONTR-CO NTBA3
END-READ

IF FS-CONTBA3 NOT EQUAL CA-FICH- OK AND
NOT EQUAL CA-FIN-F ICH
MOVE CA-LEER-CONTBA3 TO WK-PARRAFO
MOVE CA-CONTBA3 TO WK-DDNAME
MOVE FS-CONTBA3 TO WK-FILE-ST ATUS
MOVE CLAVE-CONTBA3 TO WK-DATOS-R EGISTRO
MOVE CA-ERROR-LECTURA TO WK-DESCRIP CION

PERFORM 9300-ERROR-FICHERO
THRU 9300-ERROR-FICHERO-EXIT
END-IF.

9200-LEER-FICH-CONTBA3-EXIT.
EXIT.

*************************************************** ***********************************
* 9300-ERROR-FICHERO
*
* SE GUARDA EL TIPO DE ERROR Y SE LLAMA A LA RUTINA :
* XX_CANCELACION_PROCESOS_BATCH
*************************************************** ***********************************
9300-ERROR-FICHERO.

MOVE CA-TIPO-ERROR-F TO WK-TIPO-ERROR
MOVE CA-COD-RETORNO TO WK-COD-RETORNO
MOVE CA-RESPONSABLE TO WK-RESPONSABLE

EXEC-FUN XX_CANCELACION_PROCESOS_BATCH
TIPO_ERROR('WK-TIPO-ERROR')
COD_RETORNO('WK-COD-RETORNO')
RESPONSABLE('WK-RESPONSABLE')
DESCRIPCION('WK-DESCRIPCION')
PROGRAMA('WK-PROGRAMA')
PARRAFO('WK-PARRAFO')
DDNAME('WK-DDNAME')
FILE_STATUS('WK-FILE-STATUS')
DATOS_REGISTRO('WK-DATOS-REGISTRO')
END-FUN
.
9300-ERROR-FICHERO-EXIT.
EXIT.

*************************************************** ***********************************

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
mdS
SSS
* 9400-ERROR-DB2
*
* SE GUARDA EL TIPO DE ERROR Y SE LLAMA A LA RUTINA :
* XX_CANCELACION_PROCESOS_BATCH
*************************************************** ***********************************
9400-ERROR-DB2.
MOVE CA-TIPO-ERROR-D TO WK-TIPO-ERROR
MOVE CA-RESPONSABLE TO WK-RESPONSABLE
MOVE SQLCODE TO WK-SQLCA

EXEC-FUN XX_CANCELACION_PROCESOS_BATCH
TIPO_ERROR('WK-TIPO-ERROR')
RESPONSABLE('WK-RESPONSABLE')
DESCRIPCION('WK-DESCRIPCION')
PROGRAMA('WK-PROGRAMA')
PARRAFO('WK-PARRAFO')
SQLCA('WK-SQLCA')
TABLA_DB2('WK-TABLA-DB2')
DATOS_ACCESO('WK-DATOS-ACCESO')
END-FUN
.
9400-ERROR-DB2-EXIT.
EXIT.

*************************************************** ***********************************
* 9500-ESTADISTICAS
*
* SE MUESTRAN LAS ESTADISTICAS DE REGISTROS LEIDOS Y ESCRITOS
*************************************************** ***********************************

9500-ESTADISTICAS.

MOVE CONT-CONTBA3 TO WK-CON T-CONTBA3
MOVE CONT-ALTAS1 TO WK-CON T-ALTAS1
MOVE CONT-ERRALTA TO WK-CON T-ERRALTA
MOVE CONT-SALDO-VALOR-PTM TO WK-CON T-SALDO-VALOR-PTM

DISPLAY CA-
ASTERISCO
DISPLAY CA-PROGRAMA-LQBBN01
DISPLAY WK-LECTURAS-CONTBA3
DISPLAY WK-LECTURAS-ALTAS1
DISPLAY WK-ESCRITURAS-ERRALTA
DISPLAY WK-ESCRITURAS-SALDO-VALOR-PTM
DISPLAY CA-ASTERISCO.

9500-ESTADISTICAS-EXIT.
EXIT.                                                    
     
 
S
S
S
S
S
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
mmS
SSS
8. JCL (JOB CONTROL LANGUAJE) 
g(B/zT1(S2(SrOBáIO.S2(SNIThT1OMCSeMSzBSAOB1zBáOS2(S(M–(AsósATAsOB(MSvz(SAOBMásázE(BS
zBS .(B/zT1(S 2(S –IO/ITVTAsGBS 2(S áTI(TMS –TITS (.S MsMá(VTS O–(ITásHOS vz(S /Ohs(IBTS zBS
(vzs–OSsBóOIV>ásAOCS/(B(IT.V(Bá(SzBSiTsBóITV(CS
i(2sTBá(S 2(A.TITAsOB(MS ES M(Bá(BAsTMS 2(S ?rgS M(S sBóOIVTS T.S MsMá(VTS O–(ITásHOS 2(S .TMS
áTI(TMSvz(S2(h(SI(T.sYTICS.TSM(Az(BAsTAsGBS2(S.TMSVsMVTMSES.OMSAOBá(B(2OI(MS2(S2TáOMS
2(S(BáIT2TSESMT.s2TS–TITSAT2TSzBOS2(S.OMSáIThT1OMSTS(1(AzáTICSS
S
tOMSTEz2TSTS(1(AzáTIS–IO/ITVTMCS2(ósBsISósA=(IOMCS(áAS2(BáIOS2(.SlbS2(SzBSiTsBóITV(AS
OS 390CStOMSAOB(AáTI(VOMSTSáITHOMS2(S.TSsBá(IóTYSTSO/ISPFCS
,IO–OIAsOBTS zBS T.áOS /IT2OS 2(S ó.(Bshs.s2T2S (S sB2(–(B2(BAsTS I(M–(AáOS 2(S .TS .OAT.sYTAsGBS
ó:MsATS2(S.OMSósA=(IOMSES2(S.OMS–IO/ITVTMCS
S
?rgS 2(ósB(S .OMS I(vzsMsáOMS 2(S zBS áIThT1OS TBá(S (.S MsMá(VTS O–(ITásHOAS .TS sBóOIVTAsGBS 2(S
AOBáThs.s2T2CS .OMS –IO/ITVTMS vz(S =TES vz(S (1(AzáTICS .TS M(Az(BAsTS 2(S (1(AzAsGBCS .OMS
ósA=(IOMSB(A(MTIsOMCS(.S(vzs–OSó:MsAOSnjVPSB(A(MTIsOCS.TSOIs(BáTAsGBS2(.S–IOA(MOCS(áACS
S
?rgS ás(B(S pUS ás–OMS 2(S M(Bá(BAsTMS 2sMásBáTMS –(IOS .TMS V>MS sV–OIáTBá(MS ES .TMS vz(S BOMS
sBá(I(MTBSMOBAS?b3CSeEerS-SwwAS
S
K JOBAS RMs/BTS zBS BOVhI(S T.S áIThT1OS ES MzVsBsMáITS sBóOIVTAsGBS 2(S AOBáThs.s2T2CS
,z(2(S=Th(ISzBTS–OISáIThT1OCS
S
K EXECASe1(AzáTS–IO/ITVTMS2(BáIOS2(SzBS?b3CS
S
K DDAS wTáTS w(ósBsásOBCS w(ósB(S .OMS I(AzIMOMS vz(S HTS TS zás.sYTIS (.S –IO/ITVTCS –OIS
(1(V–.OS.OMSósA=(IOMCS
S
rT2TSáIThT1OSás(B(STMs/BT2OSzBTSA.TM(S2(S(1(AzAsGBSvz(S(MáTh.(A(SzBTMS–IsOIs2T2(MS(BS
.TSAO.TS2(S(1(AzAsGBCS
S
gTMSM(Bá(BAsTMS2(SAOBáIO.S2(SáIThT1OMS(ITBS(BSzBSS–IsBAs–sOSósA=TMS–(IóOIT2TMCS2(ST=:S
vz(SM(S..TV(SáIThT1OS–OIS.Oá(MST.Svz(SM(S(1(AzáTShT1OS(.SAOBáIO.S2(S2(.S?elSnMzhMsMá(VTS
2(S(1(AzAsGBS2(SáIThT1OMCPS
S
gTMSM(Bá(BAsTMS?rgSM(SsBA.zE(BS(BS(.SósA=(IOSl,bbgS(BS.TSAO.TS2(S(BáIT2TCS
nH(ISY?rgye,blPS
8.1. Ficheros
l(/zsVOMSáIThT1TB2OSAOBSósA=(IOMSM(Az(BAsT.(MCSw(ósBsAsGBS2(SI(/sMáIOMAS
S
• y(/sMáIOMSgG/sAOMASeMS(.Svz(SV(1OISM(ST2T–áTST.S –IO/ITVTSAOBS(.Svz(S(MáTVOMS
áIThT1TB2OCS
S
• y(/sMáIOMS  :MsAOMAS eMS (.S vz(S V(1OIS .(S Hs(B(S TS .TS V>vzsBTS AOBS .TS vz(S (Má(VOMS
áIThT1TB2OCS
8.2. VTOC. Tabla de contenido del volumen.

gTS(ásvz(áTS2(SHO.zV(BS(BS2sMAOSM(S(BAz(BáITS(BSI(/sMáIOSoS2(S.TS–sMáTSDCSrOBás(B(S(.S
BOVhI(S 2(.S 2sMAOS (S sBóOIVTAsGBS MOhI(S 2GB2(S (BAOBáITIS .TS áTh.TS 2(S AOBá(Bs2OS 2(.S
HO.zV(BSnLNbrPCS
S
e.SLNbrS(MS(.S(vzsHT.(Bá(S2(SiTsBóITV(STS.TSáTh.TS RNS(BSzBSAOV–záT2OIS–(IMOBT.CS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
míS
SSS
8.3. Ficheros Particionados: PDS.

eMS zBTS hsh.sOá(ATS–TITS (.S blKd<DS 2(S ósA=(IOMS M(Az(BAsT.(MCS rOBás(B(BS As(IáOS BNV(IOS
2(SVs(VhIOMSnósA=(IOMSM(Az(BAsT.(MPSESzBS2sI(AáOIsOCSS
S
e.S2sI(AáOIsOS(Má>SMsázT2OS(BS(.SAOVs(BYOS2(.SósA=(IOSESAOBás(B(SzBTS(BáIT2TS–TITSAT2TS
Vs(VhIOCSgTMS(BáIT2TMS(Má>BSOI2(BT2TMST.óThOásATV(Bá(S–OISBOVhI(S2(SVs(VhIOCS
8.4. Formas de localizar un fichero. Catálogos

jTES2OMSóOIVTMS–OMsh.(MASS
S
pC eBS.TS2(MAIs–AsGBS2(S.TSM(Bá(BAsTMSwwS(Má>S(.SBOVhI(S2(.SósA=(IOSESMzSzhsATAsGBS
nzBs2T2SESHO.zV(BPCS
S
oC ,OISV(2sOS2(SzBSATá>.O/OCSvz(S(MSzBSósA=(IOSvz(SAOBás(B(S(.SBOVhI(S2(SOáIOMS
ósA=(IOMSESMzMSzhsATAsOB(MCSeBS.TSM(Bá(BAsTSwwS=TESzBS–TI>V(áIOSvz(SM(Szás.sYTS
–TITS (Má(S –IO–GMsáOCS cBTS H(YS AI(T2OS zBS ósA=(IOCS M(S–z(2(S T.VTA(BTIS
sBóOIVTAsGBS MOhI(S O.S (BS zBS ATá>.O/OCS ls(V–I(S =TES zBS ATá>.O/OS 2sM–OBsh.(S (BS
AzT.vzs(ISMsMá(VTCS(.S2(BOVsBTB2OSATá>.O/OSVT(MáIOCSvz(S(MS–TITSósA=(IOMS2(.S
MsMá(VTCS
8.5. Lenguaje de Control de Trabajos. Sintaxis.

rTV–OMS2(S.TMSM(Bá(BAsTMS?rgASS
S
Identificador    Nombre    Operación    Parámetros 
 
//SSS S rTV–OS 2(.sVsáT2OIS 2(S zBTS M(Bá(BAsTCS (MáTB2OS TVhTMS hTIITMS (BS .TMS 2OMS
–IsV(ITMSAO.zVBTMCS
S
//  *SSSSrOBásBzTAsGBS2(SzBTSM(Bá(BAsTS(BS.TSMs/zs(Bá(S.:B(TCS
S
NOMBRES-SENTENCIAS AS jTBS 2(S M(IS AOVOS V>BsVOS US ATITAá(I(MS T.óTBzVOIsAOMS V>MSS
YCS^SESS_CSESBOS–z(2(BSAOV(BYTIS–OISzBSBNV(IOCS
S
rT2TSM(Bá(BAsTS?rgS2(h(S(MáTIS(BSVTENMAz.TMCS
8.6. Sentencia JOB

//    NOMBREJOB    JOB    parámetros_posicionales:  (p1,p2,p3)  param_palabra_  clave,  campo 
contabilidad, programador 
 
gTS M(Bá(BAsTS ?b3S sB2sATS (.S AOVs(BYOS 2(S zBS áIThT1OS (S sB2sATS T.S MsMá(VTS AGVOS
–IOA(MTI.OCSeMSB(A(MTIsTSES2(h(SM(IS.TS–IsV(ITS(BSAT2TSáIThT1OCS
S
,TI>V(áIOMS2(S–T.ThITSA.TH(S(BS.TSM(Bá(BAsTS?b3AS
MSGLEVEL(A,B)
aB2sATSMsSM(S=TBS2(SsV–IsVsISOSBOS.TMSM(Bá(BAsTMS2(S?rgSES.OMSV(BMT1(MS2(STMs/BTAsGBS
2(SI(AzIMOMS(BS(.SósA=(IOS2(STAásHs2T2S2(.SáIThT1OSn1OhS.O/PCS
S
RASl(Bá(BAsTMS?rgCS S SSS S S3ASi(BMT1(M S
RASSSSDSSS?b3SSSSSSSSSSSSSSSSSSSSSSSSS S S3ASSSbSSSStRwRS
SSSSSSSpSSS?b3CSeEerCSwwS`S–IOA(2sVCSSSSSSSSSSSSSSSSpSSSSlilCS?elCSyRr S
SSSSSSSoSSS?b3CSeEerCSwwS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
m)S
SSS
MSGCLASS
RMs/BTS(.SósA=(IOS2(STAásHs2T2S2(.SáIThT1OSTSzBTSA.TM(S2(SMT.s2TCSnM–OO.PS
CLASS
RMs/BTS(.SáIThT1OSTSzBTSA.TM(CSSCLASS=A SSr.TM(S2(Se1(AzAsGBCS
NOTIFY
lO.sAsáTSvz(CSAzTB2OS(.SáIThT1OSósBT.sA(CS(.SMsMá(VTS(BH:(SzBSV(BMT1(ST.SawS2(SzMzTIsOS
2(SNlbS(M–(AsósAT2OCSSSSSSNOTIFY=&SYSUID 
TIME
eM–(AsósATS .TS .OB/sáz2S V>BsVTS 2(S ás(V–OS 2zITBá(S .TSAzT.S zBS áIThT1OS OS zBS –TMOS 2(S
áIThT1OSzás.sYTI>BS(.S–IOA(MT2OICSe.Sás(V–OS2(S–IOA(MT2OISzás.sYT2OSM(SsB2sATSV(2sTBá(S
V(BMT1(MCS rOBS (Má(S –TI>V(áIOS –O2(VOMS (HsáTIS vz(S zBS–IOA(MOS hTáA=S vz(S M(S vz(2(S
h.Ovz(T2OCSOAz–(SI(AzIMOMS2(.SMsMá(VTS–OISzBSás(V–OSsB2(ósBs2OCS
TYPRUN
l(S zMTS –TITS MO.sAsáTIS zBS ás–OS 2(S –IOA(MTVs(BáOS (M–(AsT.S –TITS (.S áIThT1OCSS
TYPRUN=SCANCS
RESTART
l(SzMTS–TITSI(TIITBATISzBSáIThT1OCSAOV(BYTB2OS2(M2(SzBS–TMOS(M–(AsósAT2OSESMT.áTB2OS
.OMS –TMOMS TBá(IsOI(MS OS AOV(BYTB2OS 2(M2(S (.S –zBáOS 2( S AOV–IOhTAsGBCS
RESTART=NombrePasoCS
REGION
l(SzMTS–TITS(M–(AsósATIS.TSATBás2T2SV>BsVTS2(S(M–TAsOS2(SV(VOIsTSvz(S–z(2(SzMTISzBS
áIThT1OCS
COND O IF/END/ELSE
,O2(VOMS(MáTh.(A(ISAOB2sAsOB(MS–TITSvz(SzBSáIThT1OSM(S(1(Azá(SOSBOCSS
8.7. Sentencia DD

//  NOMBREDD  DD  parámetros_posicionales   parámetros_palabra_clave 
 
gOMS–IO/ITVTMSI(ó(I(BAsTBSStbi3yelwwSn2(ósBsAsGBS2( S2TáOMPAS
S
COBOL         JCL  
 
SELECT  PEDIDOS      //BE05R JOB CLASS=…
ASSIGN TO PEDIDOS                              //*
//INFPEDID EXEC PGM=DEMOPROG
// PEDIDOS DD DSN=PEDIDOS.DIC,DISP=SHR
//INFORME   DD SYSOUT=X (S SPOOL) 
          //* 
 
e.Stbi3yewwS(MSzBSBOVhI(S.G/sAOCSS
cBSBOVhI(S2(SósA=(IOSn2TáTSM(áSBTV(S(MS(.SBOVhI(S2(SzBSósA=(IOSó:MsAOSn(BSAsBáTCS2sMAOCS
(áAPCS
gTSMT.s2TS –z(2(S (BHsTIM(S TS zBSspoolS(BS .z/TIS 2(S(BHsTIM(S TS zBS ósA=(IOCSgTS M(Bá(BAsTS
wwS(MáTh.(A(S(.S(B.TA(S(BáI(SzBSBOVhI(S2(SwwS.G/sAOSESzBSósA=(IOSOSspoolSó:MsAOCS
 
,TI>V(áIOMS–OMsAsOBT.(MAS
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
muS
SSS
S *ASw(ósBsVOMSzBSósA=(IOSsBAOI–OIT2OCS,O2(VOMS(MAIshsIS(BS.TMS.:B(TMS2(SS2(hT1OS
(.SAOBá(Bs2OS2(.SósA=(IOCSars(II(bSAS/* 
 
  DATA: S a/zT.S vz(S .TS TBá(IsOICS –(IOS –O2(VOMS sBA.zsIS M(Bá(BAsTMS ?rgCS rzTB2OS
BOMOáIOMSAI(TVOMSzBSáIThT1OS.OS=TA(VOMS2(BáIOS2(SzBSósA=(IOCS
S
  DUMMI: SNO2TMS.TMSO–(ITAsOB(MS2(SeDlS2(h(BS–TMTIM(S–OIST.áOCSES.TSTMs/BTAsGBS
2(S2sM–OMsásHOMCS.TSTMs/BTAsGBS2(S(M–TAsOSES.TS2sM–OMsAsGBS2(SósA=(IOMS2(h(BSs/BOITIM(CS
w(ósB(SzBSósA=(IOSósAásAsOCSeMSzBTS(M–(As(S2(SAOVO2:BCS
S
//NOMBREDD DD [* / DATA]
… (DATOS)
/* ó //* ó //(fin de datos)

//NOMBRE DD DUMMY
 
,TI>V(áIOMS2(S–T.ThITSA.TH(AS
DSN
eM–(AsósATS (.S BOVhI(S 2(S zBS ósA=(IOCS jTS 2(S á(B(IS .TMS VsMVTMS AOB2sAsOB(MS vz(S .OMS
BOVhI(MS(BS?b3SESeEerS–TITSzBSBOVhI(S2(SósA=(IOSMsV –.(CSTzBvz(SáTVhsOBS –z(2(S
=Th(IS BOVhI(MS 2(S ósA=(IOMS AOV–z(MáOMCS vz(S á(B2I>BS AOVOS V>BsVOS mmS ATITAá(I(MS
nsBA.zE(B2OS.OMS–zBáOMPAST971650.FICHERO.COBOL. tOS(MSVzES–I>AásAOSzás.sYTISBOVhI(MS
MsV–.(MS 2(S ósA=(IOS (BS zBS (BáOIBOS AOBS VzA=OMS ósA=(IOMCS lz(.(BS zás.sYTIM(S BOVhI(MS
AOV–z(MáOMCSR2(V>MCSzBSBOVhI(S2(SósA=(IOSAOBSzBSNBs AOSAT.sósAT2OISM(SATáT.O/TI>S(BS
(.SATá>.O/OSVT(MáIOCSMsázTAsGBSvz(SM(S2(h(S(HsáTISTSáO2TSAOMáTCSrT2TSBOVhI(S2(h(SM(IS
NBsAOSAzTB2OSM(Szás.sYTS(.SATá>.O/OCS
cBS Vs(VhIOS 2(S zBS ósA=(IOS –TIásAsOBT2OS –z(2(S zás.sYTIM(S AOVOS MsS óz(ITS zBS ósA=(IOS
M(Az(BAsT.S–OBs(B2OS(.SBOVhI(S2(SVs(VhIOS(BáI(S–TIOBá(MsMCS
w(BáIOS 2(S zBS ósA=(IOS ,wlS nhsh.sOá(ATPCS á(B(VOMS áTVhsOBS ósA=(IOMS M(Az(BAsT.(MS
..TVT2OMSVs(VhIOMCSRM:SM(SI(ó(I(BAsTSzBSVs(VhIOAS
S
DSN=T971650.FICHERO.COBOL(MIEMBRO1). SS
S
 arjeyblSNei,byRgelASS
gOMSBOVhI(MS2(SósA=(IOSá(V–OIT.SMz(.(BSzMTIM(S–TITS(M–(AsósATIST.SMsMá(VTSósA=(IOMS2(S
áIThT1OCSe.SMsMá(VTShOIITI>S.OMSósA=IOMSá(V–OIT.(MSzBTSH(YSá(IVsBT2OS(.SáIThT1OCSETSM(TS
2(SóOIVTSBOIVT.SOSTBOIVT.CSS
DSN=&&NOMBRE  ó  DSN= , 
lsSOVsásVOMS(.S–TI>V(áIOSSwltS2(S.TSM(Bá(BAsTSwwSM(I>S(.SMsMá(VTSvzs(BSTMs/BTI>SzBS
BOVhI(CSS
eMS S –OMsh.(S =TA(IS I(ó(I(BAsTS TS zBS ósA=(IOS 2(M–zOMS 2(S MzS –IsV(ITS zás.sYTAsGBS (BS (.S
áIThT1OCS,TITS(..OCS2(h(S=TA(IM(SI(ó(I(BAsTSTSzBTSM(Bá(BAsTSwwSTBá(IsOISvz(Ss2(Básósvz(S
(.SósA=(IOCS
S
//TRABAJO1 JOB 
//PASO1 EXEC 
//FICH1  DD  DSN=FICHERO 
//FICH2  DD  DSN=*.FICH1 
… 
//PASO2  EXEC 
//FICH3  DD  DSN=*.PASO1.FICH1 
S
rOBS (.S XS M(S =TA(S I(ó(I(BAsTS TS T./OS TBá(IsOICS RM:S –O2(VOMS TAA(2(IS TS  arjpS 2(.S –TMOS
TBá(IsOICS–OIvz(ST.S..(/TIST.SósBT.S2(.S–TMOpS(.SósA=(IOSM(S.sh(ITCS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
mUS
SSS
DISP
aB2sATS.TS2sM–OMsAsGBS2(.SósA=(IOCS,z(2(S(MáTISAI(T2OSOSM(ISBz(HOCS–O2(VOMSAOV–TIásI.OS
OSBOWS
S
DISP=(ESTADO INICIAL,    TERMINACIÓN NORMAL,    TERM INACIÓN ANORMAL) 
        =(NEW                              ,DELETE                                      ,DELETE) 
        =(OLD                               ,KEEP                                           ,KEEP) 
        =(SHR                                ,CATLG                                        ,CATLG) 
        =(MOD                              ,PASS                                            ,UNCATLG) 
 
NO2OMS.OMSMzh–TI>V(áIOMS2(.S–TI>V(áIOSwal,SMOBS–OMsAsOBT.(MCS
S
elNRwbSataraRgASeMS(.S(MáT2OSTAázT.S2(.SósA=(IOAS
S
K NEWSM(SzMTSAzTB2OS(.SósA=(IOSTNBSBOS(BsMá(SES2(h(SAI(TIM(S(BS(Má(S–TMOCS
K OLDS M(S zMTS AzTB2OS (.S ósA=(IOS ETS (BsMá(S ES (.S áIThT1OS .OS 2(h(S zás.sYTIS 2(S óOIVTS
(BA.zMsHTCS
K SHRS M(S zMTS AzTB2OS (.S ósA=(IOS ETS (BsMá(S ES –z(2(S M(IS AOV–TIás2OS –OIS HTIsOMS
áIThT1OMCSbáIOSzMzTIsOS.OS–z(2(Szás.sYTIS(BSOáIOSáIThT1OSVs(BáITMSvz(SAOBSbgwS
.OSThIsVOMS2(SóOIVTS(BA.zMsHTCS
K MODSM(SzMTSAzTB2OS2(h(BSTPT2sIM(SBz(HOMS2TáOMS2(áI>MS2(S.OMSETS(BsMá(Bá(MS
(BSzBSósA=(IOSM(Az(BAsT.CSlsS(.SósA=(IOSTNBSBOS(BsMá(CSibwS(vzsHT.2I>STSteHCS
S
NeyiatRraFtStbyiRgA SaB2sATS .TS 2sM–OMsAsGBS 2(.SósA=(IOS AzTB2OS(.S –TMOSósBT.sYTS 2(S
VTB(ITSBOIVT.CS
S
NeyiatRraFtSRtbyiRgASaB2sATS.TS2sM–OMsAsGBS2(.SósA=(IOSAzTB2OS(.S–TMOSósBT.sYTS2(S
VTB(ITSTBOIVT.SnR3etwPCS
S
K DELETEAS3OIITS(.SósA=(IOCSNTVhsOBS2(MT–TI(A(SMzSBOVhI(S2(.SATá>.O/OCS
K KEEPASiTBás(B(S(.SósA=(IOSES.OS/zTI2TS
K CATLGAS rTáT.O/TS (.S ósA=(IOCS lsS M(S áITáTS 2(S ósA=(IOMS –(IVTB(Bá(MCS Mz(.(S
zás.sYTIM(SMs(V–I(SrRNgFSAzTB2OS=TESvz(SAI(TI.OMCSgOMSósA=(IOMSvz(SETS(Má>BS
ATáT.O/T2OMSBOSB(A(MsáTBSnBsS–z(2(BPSHO.H(IM(STSATáT.O/TICS
K UNCATLGAS w(MATáT.O/TS (.S ósA=(IOCS e.S BOVhI(S 2(.S ósA=(IOS M(S(.sVsBTS 2(.S
ATá>.O/OCS–(IOS(.SósA=(IOSBOSM(ShOIITS2(SMzSHO.zV(BCS
K PASSASl(Szás.sYTSAzTB2OSzBSósA=(IOSá(V–OIT.S2(h(SáITBMó(IsIM(STSOáIOS–TMOS2(.S
áIThT1OCS
K S
Nota:S lsS M(S sBá(BáTS ATáT.O/TIS zBS Bz(HOS ósA=(IOS AOBS (.S VsMVOS BOVhI(S vz(S zBOS ETS
ATáT.O/T2OCS(.SMsMá(VTSM(SB(/TI>STS=TA(I.OSES(BS(.SósA=(IOS2(STAásHs2T2S2(.SáIThT1OSnjob 
logPST–TI(A(I>S(.SV(BMT1(S2(S(IIOIStbNSrRNRgbFcewCStOS OhMáTBá(CS(.SMsMá(VTSAI(TI>S
(.SósA=(IOSES.OSMsázTI>S(BSzBSHO.zV(BST.á(IBTásHOCSe.STAA(MOSMG.OSM(I>S–OMsh.(SV(2sTBá(S
.TSLNbrCS
S
lsS BOS M(S sB2sATS (.S –TI>V(áIOS wal,CS –OIS 2(ó(AáOS áOVT I>S .OMS HT.OI(MAS
DISP(NEW,DELETE,DELETE) S rI(TI:TS zBSósA=(IOSá(V–OIT.Svz(ST.Sá(IVsBOS 2(.SáIThT1OS
M(ShOIITI:TCS
cMOMSV>MSóI(Az(Bá(MS2(Swal,AS
S DISP=SHRS SSS S NOVTS AOVOS HT.OIS –OIS OVsMsGBS ljyCIee,CIee,CS l(S zMTS –TIS
TósA=(IOSMSETS(BsMá(Bá(MSAOV–TIás2OMSAOBSOáIOMSzMzTIsOMCCS
S DISP=OLD   S    OLD,KEEP,KEEPCS l(S zMTS –TITS ósA=(IOMS ETS (BsMá(Bá(MS vz(S BOS M(S
AOV–TIá(BSAOBSOáIOMSzMzTIsOMCS
S DISP=(,CATLG,DELETE)   S    NEW,CATLG,DELETECS l(S zMTS –TITS AI(TIS Bz(HOMS
ósA=(IOMS–(IVTB(Bá(MCSS\MáOMSMs(V–I(S2(h(BSATáT.O/TIM(CS
S DISP=(OLD,DELETE,KEEP) SSSSl(SzMTS–TITS(.sVsBTISzBSósA=(IOS(BsMá(Bá(Svz(SETS
BOSM(SB(A(MsáTCSlzSBOVhI(SM(S(.sVsBTSTzáOV>ásATV(Bá(S2(.SATá>.O/OCS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
m<S
SSS
UNIT
jTA(VOMSI(ó(I(BAsTSTS .TSzBs2T2S(BS .TSvz(S(Má>SOSvz(I(VOMSvz(SM(S/zTI2(S(.SósA=(IOCS
Rvz:S(BáITS(BS1z(/OS(.SMzhMsMá(VTSlilCSlsSMTh(VOMSvz(SlilS(Má>STAásHT2OCSctaNSM(S
–z(2(S OVsásIS ETS vz(S lilS M(S (BATI/TI>S 2(S /zTI2TIS (.SósA=(IOS 2OB2(S .(S sBá(I(M(S
sB2(–(B2s(Bá(V(Bá(S2(S.OSvz(SBOMOáIOMS.(SsB2svz(VOMS(BS(Má(S–TI>V(áIOCS
S
UNIT=TAPE 
UNIT=SYSDA 
        =SYSALLDA 
VOL
Lbgcleycew,RIíSS SSSleySM(I:TS(.SBNV(IOS2(SM(Is(S
SSSSSSScye ctbi3ye arjS
 
<<Una unidad es física, y un volumen es lógica.  Mi HD sería la unidad y una partición 
sería un volumen>> 
DCB
3.Ovz(S2(SrOBáIO.S2(SwTáOMCS
 
         FORMATO DEL REGISTRO    LG DEL REGISTRO      TAMAÑO BLOQUE 
DCB=(RECFM=(F,FB,V,VB,V),            LRECL=80,                BLKSIZE=3600) 
SPACE
SPACE=(TipoUnidad(TRK,CYL,…),  (PQ,SQ,DIR),  RLE (Defragmentar o comprimir)) 
 
DIRAS tNV(IOS 2(S h.Ovz(MS 2(S 2sI(AáOIsOCS lz(.(S M(IS A(IATBOS TS .OMS íS Vs(VhIOMCS lsS .OS
sB2sATVOMS(MáTVOMSAI(TB2OSzBS,wlCS
SYSOUT
jTA(VOMSI(ó(I(BAsTSTSzBTSA.TM(S2(SMT.s2TCSSSSSSl-lbcNScXSSSSSSSSS?b3WilFrgRllcECS
8.8. Sentencia EXEC

//  NOMBRE-PASO  EXEC   parámetros_posicionales   p arámetros_palabra_clave 
 
rT2TS –TMOS 2(.S áIThT1OS (V–s(YTS AOBS zBTS M(Bá(BAsTS eEerS vz(CS OS hs(BS sB2sATS (.S
–IO/ITVTS vz(S M(S 2(M(TS (1(AzáTICS OS hs(BS sBHOATS zBS –IOA(2sVs(BáOS ATáT.O/T2OS OS
sBAOI–OIT2OCSS
eMSB(A(MTIsTSzBTSM(Bá(BAsTSeEerS–TITSAT2TS–TMOS2(.SáIThT1OCS
cBSáIThT1OS–z(2(Sá(B(ISAOVOSV>BsVOSoííS–TMOMCS
S
,TI>V(áIOMS–OMsAsOBT.(MAS
NOMBRE DEL PROGRAMA
,IO–OIAsOBTS(.SBOVhI(S2(.S–IO/ITVTSvz(SM(S(1(AzáTI>CSS
//PASO1 EXEC PGM=LQBBN01
NOMBRE DEL PROCEDIMIENTO
a2(BásósATS(.S–IOA(2sVs(BáOSvz(SM(S..TVTI>SESM(S(1(AzáTI>CS
//PASO1 EXEC PROC=BASICJCL
//PASO1 EXECE BASICJCL
S
,TI>V(áIOMS2(S–T.ThITSr.TH(AS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
íDS
SSS
ACCT
eM–(AsósATSsBóOIVTAsGBS2(SAOBáThs.s2T2S–TITS(Má(S–TMOS
ADDRSPC
aB2sATS(.Sás–OS2(SV(VOIsTS–TITS(Má(S–TMOSnHsIázT.SOSI(T.PS
COND
aB2sATS .TS AOV–IOhTAsGBS 2(.S AG2s/OS 2(S I(áOIBOS vz(S M(S zás.sYTS –TITS 2(á(IVsBTIS MsS (Má(S
–TMOS2(h(S(1(AzáTIM(SOSBOCSNs(B(S.TSVsMVTSzás.s2T2Svz(S(BS(.S?b3S–(IOSTSSBsH(.S.OAT.S(BS
(.SeEerCSES(BSATMOS2(Svz(S(MáOS2(ósBs2OSáTVhsOBS(BS(.S?b3CS(MS(.S2(SOMá(S(.Svz(SVTB2TCS
DPRTY
RMs/BTSzBTS–IsOIs2T2S2(S2(M–TA=OS–TITS(.S(M–TAsOS2(S2sI(AAsOB(MS
DYNAMNBR
iTBás(B(SzBSBNV(IOS2(STMs/BTAsOB(MS2(SósA=(IOMS–TITSMzSI(zás.sYTAsGBS
PARM
NITBMós(I(SsBóOIVTAsGBSHTIsTh.(ST.S–IO/ITVTS(BS–IOA(MOCS
PERFORM
aB2sATS(.S/Iz–OS2(SI(B2sVs(BáOSvz(SM(Szás.sYTS(BS(Má(S–TMOCS
RD
aB2sATSMsS(.SO–(IT2OIS2(h(S(1(AzáTIS(.SI(TIITBvz(STzáOV>ásAOS2(.S–TMOSMsSOMá(SóT..TS
REGION
eM–(AsósATS(BSV(/TOAá(áOMSOSUs.OAá(áOMS.TSATBás2T2S2(S(M–TAsOSvz(S–z(2(Szás.sYTIS(Má(S
–TMOCSNs(B(S.TSVsMVTSzás.s2T2Svz(S(BS(.S?b3S–(IOSTSSBsH(.S.OAT.S(BS(.SeEerCSES(BSATMOS
2(Svz(S(MáOS2(ósBs2OSáTVhsOBS(BS(.S?b3CS(MS(.S2(SOMá(S(.Svz(SVTB2TCS
TIME
aB2sATS (.S ás(V–OS V>BsVOS vz(S (.S –TMOS –z(2(S zás.sYTIS(.S –IOA(MT2OICS Ns(B(S .TS VsMVTS
zás.s2T2Svz(S(BS(.S?b3S–(IOSTSSBsH(.S.OAT.S(BS(.SeEerCSES(BSATMOS2(Svz(S(MáOS2(ósBs2OS
áTVhsOBS(BS(.S?b3CS(MS(.S2(SOMá(S(.Svz(SVTB2TCS
8.9. Utilidades de JCL

lOBS –IO/ITVTMS sBá(IBOMS 2(BáIOS 2(.S lbCS cBS AOB1zBáOS 2(S –IO/ITVTMS AO2sósAT2OMS ES
AOV–IOhT2OMSvz(SI(T.sYTBSzBTSM(Is(S2(SózBAsOB(MSNás.(MCSREz2TBSTS.TSOI/TBsYTAsGBSES(.S
VTBá(BsVs(BáOS 2(S .OMS 2TáOMCS gTMS (1(AzáTI(VOMS 2(BáIOS 2(.S eEerCS 2(BáIOS 2(S .TS
(1(AzAsGBS2(SAT2TS–TMOCS
gOMS–IO/ITVTMS2(Szás.s2T2SM(SAOBáIO.TBSV(2sTBá(S2OMSás–OMS2(SM(Bá(BAsTMAS
S
K l(Bá(BAsTMS2(S?rgS
K l(Bá(BAsTMS2Scás.s2T2CS
S
Las sentencias de control de utilidadesStbSei,aeMRtSAOBS//CS
w(h(BSAO2sósATIM(S2(M2(S.TSAO.zVBTSoS=TMáTS.TSupSnTVhTMSsBA.zMsH(PCS
lsS zBTS M(Bá(BAsTS MOhI(–TMTS .TS AO.zVBTS upCS M(S zás.sYTBS .TMS I(/.TMSMOhI(S AOBásBzTAsGBS
2(SM(Bá(BAsTMAS
S
pK sBá(IIzV–sIS.TSM(Bá(BAsTS(BSzBTSAOVTS
oK á(A.(TISzBSATI>Aá(ISnvz(SBOSM(TS(M–TAsOS(BSh.TBAOPS(BS.TSAO.zVBTSuoS
*K AOBásBzTIS.TSM(Bá(BAsTS(V–(YTB2OS(BS.TSAO.zVBTSp)S2(S.TS.:B(TSMs/zs(Bá(CS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ípS
SSS
S
S
gTS M(Bá(BAsTS 2(S AOBáIO.S 2(S zás.s2T2(MS M(S AO2sósATS sBV(2sTáTV(Bá(S 2(M–zOMS 2(S .TS
M(Bá(BAsTS//SYSIN  DD  *     n(.STMá(IsMAOSM(S–z(2(SMzMásázsIS–OIS(.SwRNRP      /* 
IEHLIST
gsMáTS.OMS2sI(AáOIsOMS2(SzBSósA=(IOS–TIásAsOBT2OSOShs(BS.OMSAOBá(Bs2OMS2(S.TSáTh.TS2(SzBS
HO.zV(BASLNbrCS
S
//PASO1 EXEC PGM=IEHLIST
//* Sentencia DD que suele estar en la mayoría de l os programas de
//* utilidades. En SYSOUT indicamos la clase de sal ida de los mensajes
//* de utilidad
//SYSPRINT DD SYSOUT=*
//NOMBRE1 DD VOL=, UNIT=, DISP=SHR,
//SYSIN DD *
LISTPDS DSNAME=NOMBREFICHERO,VOL=Dispositivo=num- serie,FORMATO
Ó
LISTVTOC DSNAME=NOMBREFICHERO,VOL=Dispositivo=num -serie,FORMATO

/*

galN,wlS .sMáTS (.S 2sI(AáOIsOS 2(S zBS ,wlCS 2OB2(S –z(2(BS OhM(IHTIM(S .OMS Vs(VhIOMS 2(.S
ósA=(IOS
galLNbrS.sMáTS.TSLNbrSAOV–.(áTS2(SzBSHO.zV(BS(BSzBS2sMAOSOS–TIá(S2(S.TSVsMVTCS
e.SóOIVTáOSM(I>Swci,Snj(BT2(AsVT.PS–OIS2(ó(AáOSOS byiRNSnlTATS.sMáT2OS.(/sh.(PCSSSSSSSSSSSSS
IEBGENER
l(S zás.sYTS MOhI(áO2OS –TITS AI(TICS AO–sTIS OS sV–IsVsISósA=(IOMS M(Az(BAsT.(MS ES
–TIásAsOBT2OMCSrO–sTS2TáOMS2(SzBS2sM–OMsásHOSTSOáIOCSAI(TSzBS,wlSTS–TIásIS2(SzBSósA=(IOS
M(Az(BAsT.CSTV–.:TSOSsBAOI–OITSVs(VhIOMSTSzBS,wlCSAI(TSósA=(IOMS(2sáT2OMCSATVhsTS.TS
2sMáIshzAsGBS(BSh.Ovz(MSOSVO2sósATS.TMS.OB/sáz2(MS2(SI(/sMáIOS.G/sAOS2(SzBSósA=(IOWS
S
//PASO1 EXEC PGM=IEBGENER
//* Sentencia DD que suele estar en la mayoría de l os programas de
//* utilidades. En SYSOUT indicamos la clase de sal ida de los mensajes
//* de utilidad
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD …
//SYSUT2 DD …
//SYSIN DD *
SENTENCIA DE CONTROL DE UTILIDAD
/*
S
l-lcNpS2(ósB(S(.SósA=(IOS2(S(BáIT2TCSl-lcNoS2(ósB(S(.SósA=(IOS2(SMT.s2TCSl-latS2(ósB(S
.TS(BáIT2TS 2(S.TMSM(Bá(BAsTMS2(SAOBáIO.S2(S.TSzás.s2T2CSgTSM(Bá(BAsTS l-latSwwS–z(2(S
AO2sósATIM(S AOVOS wcii-S MsS (.S –IO/ITVTS nae3FeteyPS tbS ye>caeyeS ewaraFtCS
e1(V–.OAS//SYSIN DD DUMMY CSlsSM(SAO2sósATS.TSM(Bá(BAsTSl-latSSwwSAOVOSwcii-CS
áO2OS(.SósA=(IOS2(SetNyRwRSM(SAO–sTSM(Az(BAsT.V(Bá(CS
S
gTSM(Bá(BAsTSl-lcNoS2(MAIsh(S(.SósA=(IOS2(SMT.s2TSES–z(2(SAO2sósATIM(SAOVOSMT.s2TS(BS
ósA=TMCSMT.s2TSsV–I(MTCSzBSósA=(IOSM(Az(BAsT.SOSzBSósA=(IOS–TIásAsOBT2OCSS
S
,O2(VOMS 2(MóIT/V(BáTIS nAOV–IsVsIPS zBS ósA=(IOS –OBs(B2OS AOVOS ósA=(IOMS 2(S (BáIT2TS ES
MT.s2TS.OMSVsMVOMSósA=(IOMAS
//SYSUT1 DD DSN=FICH1
//SYSUT2 DD DSN=FICH1

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
íoS
SSS
Sólo usamos las sentencias de control de utilidades de IEBGENER cuando
el fichero no existe y lo creamos directamente:
//SYSUT1 DD DSN=FICH1
//SYSUT2 DD DSN=NOMBRE.PDS, DISP=SHR,…
//SYSIN DD *
GENERATE MAXNAME=1 S NÚMERO DE MIEMBROS
MEMBERNAME=MIEMBRO S NOMBRES DE LOS MIEMBROS
/*
IEBCOPY
tOMSHTSTSM(IHsIS–TITSAO–sTISVs(VhIOMS2(S–TIásAsOBT2OMSTSOáIOS,wlSOS–TITSózMsOBTI.OMCS
–TITS AO–sTIS 2(S zBS ,wlS TS zBS M(Az(BAsT.S n2(MATI/TPCS AO–sTS 2(S zBOS OS V>MS ósA=(IOMS
M(Az(BAsT.(MSAI(T2OMS–OISzBTSO–(ITAsGBS2(S2(MATI/TSTSzBS,wlnATI/TPSESAOV–I(MsGBS2(S
zBS,wlASAO–s>B2O.OSMOhI(SM:SVsMVOCS
S
//PASO1 EXEC PGM=IEBCOPY
//* Sentencia DD que suele estar en la mayoría de l os programas de
//* utilidades. En SYSOUT indicamos la clase de sal ida de los mensajes
//* de utilidad
//SYSPRINT DD SYSOUT=*
//NOMBRE1 DD … S FICHERO DE ENTRADA
//NOMBRE2 DD …

//NOMBREN DD … S FICHEROS TEMPORALES.
//SYSIN DD *
COPY OUTDD=NOMBRE1 S NOMBRE DEL FICHERO DE SALIDA
INDD=(ONMBREDD,(NOMBREDD,R),…) S FICHEROS DE ENTRADA.

SELECT MEMBER=(NOMBRE1,NOMBRE2,…)
EXCLUDE MEMBER=(NOMBRE1,NOMBRE2,…) S O PONEMOS UN U OTRA, LOS
QUE QUEREMOS COPIAR, O LOS QUE NO.
/*
S
IEBCOMPR
tOMSHTSTSM(IHsIS–TISTAOV–TITISoSósA=(IOMCSáTBáOSoSM(Az(BAsT.(MSAOVOSoS–TIásAsOBT2OMS
nl-lcNpS-Sl-lcNoPCS
wOMS ósA=(IOMS M(Az(BAsT.(MS .OMS AOV–TITVOMS 2sI(AáTV(Bá(CS eBS (.S ATMOS 2(S .OMS ,wlS BOS
VsITS (.S AOBá(Bs2OS 2(S .OMS Vs(VhIOMCS MsBOS (.S 2(S .OMS 2sI(AáOIsOMCS ,OIS áTBáOS –TITS
ae3rbi,yCSS pSES oSMOBSs/zT.(MSsB2(–(B2s(Bá(V(Bá(S2(.SAOBá(Bs2OS2(S.OMSVs(VhIOMCS
IEFBR14
eMá(S –IO/ITVTS BOS =TA(S BT2TS (BS –TIásAz.TICS eMS zBS rbibwftCS e1(V–.OAS sVT/sB(VOMS
vz(Svz(I(VOMSAI(TISzBSósA=(IOS(BSzBS–TMOSESBOSvz(I(VOMSvz(S=T/TSBT2TSV>lAS
S
//PASO1 EXEC PGM=IEFBR14
//FICHERO1 DD DSN=FICHERO,DISP=…,…
S
?rgSBOSBOMS2(1TI:TS–OB(IS(MáTSM(Bá(BAsTSMO.TCS,TITS(..OSB(A(MsáTI:TVOMSV(á(I.TS(BSzBS
–TMOCScMTVOMSBz(MáIOSAOVO2:BSvz(SBOS=TA(SBT2TCS
DFSORT
MERGE, SORTCS zMsOBTVOMSESOI2(BTVOMSósA=(IOMCS
 
//PASO1 EXEC PGM=MERGE ó SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN= fichero a ordenar

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ídS
SSS
//SORTIN2 DD….

… PODEMOS ORDENAR HASTA 16 FICHEROS

//SORTIN16 DD…
//SORTOUT DD DSN=fichero de salida.
---
--- ficheros de trabajo
---
//SYSIN DD *...
... sentencias de control
/*
S
l(Bá(BAsTMS 2(S AOBáIO.AS sBA.zsVOMS zBTS M(Is(S 2(S ATV–OMS –OIS .OMS vz(S vz(I(VOMS vz(S
OI2(B(SESvz(SM(SsBA.zETBS(BS(.SósA=(IOS2(SMT.s2TAS
S
SORT FIELDS=( Pos inicial, longitud, tipodato, orden (A,D))
MERGE FIELDS=(…)
INCLUDE FIELDS=(…)
OMIT FIELDS=(…)
INCLUDE COND=(Pos inicial, longitud, tipodato, o perador, valor)
Operador: eq, neq, gt, lt, ngt, nlt
DFDSS
j(IITVs(BáTS2(S/(MásGBS2(S(M–TAsOS2(S2TáOMS(BSwsMAOCSl(Bá(BAsTMASrbi,yellCSrb,-CS
wci,CSyegeRleCSyelNbyeCS
S
8.10. Sentencias avanzadas JCL. CONCATENACIÓN DE FIC HEROS

rOBATá(BTAsGBS (MS .TS T/Iz–TAsGBS 2(S zBS AOB1zBáOS 2(S ósA=(IOMS sB2(–(B2s(Bá(MS (BS zBS
NBsAOSósA=(IOS.G/sAOCS
REGLAS DE CONCATENACIÓN
K oííS sA=(IOMSM(Az(BAsT.(MSAOVOSV>BsVOS
K p)SósA=(IOMS–TIásAsOBT2OMSAOVOSV>BsVOS
K gOMSósA=(IOMS–TIásAsOBT2OMSBOS–z(2(BSV(YA.TIM(SAOBS.OMSM(Az(BAsT.(MCS
K gOMS Vs(VhIOMS 2(S .OMS ósA=(IOMS –TIásAsOBT2OMS M(S AOBMs 2(ITBS ósA=(IOMS
M(Az(BAsT.(MCS
K e.SóOIVTáOS2(SI(/sMáIOSnyer iPS2(h(SM(IS(.SVsMVOS(BSáO2OMS.OMSósA=(IOMSvz(SM(S
AOBATá(BTBCS
K e.S áTVTPOS 2(S h.Ovz(S n3gIlaMePS BOS ás(B(S –OIS vzOS M(IS(.S VsMVOS (BS áO2OMS .OMS
ósA=(IOMCS –(IOS 2(h(I>S (M–(AsósATIM(S (BS –IsV(IS .z/TIS (.S ósA=(IOS AOBS (.S VTEOIS
áTVTPOS2(Sh.Ovz(CS
K eBS ósA=(IOMS 2(S óOIVTáOS 2(S I(/sMáIOS HTIsTh.(CS .TS .OB/sáz2S 2(S I(/sMáIOS .G/sAOS
ngyergPS BOS ás(B(S –OIS vzOS M(IS .TS VsMVTS –TITS áO2OMS .OMS ósA=(IOMCS –(IOS 2(h(I>S
(M–(AsósATIM(S(BS–IsV(IS.z/TIS(.SósA=(IOSvz(Sá(B/TS.TSVTEOIS.OB/sáz2S2(SI(/sMáIOS
.G/sAOCS
K tOáTAS.OMS2OMS–zBáOMSTBá(IsOI(MSBOSMz–OB(BSAOBó.sAáOCSeBSATMOS2(Svz(S(.SósA=(IOS
AOBS (.S VTEOIS 3gIlaMeS BOS AOsBAs2TS AOBS (.S 2(S VTEOIS gyergCS M(S (M–(AsósATS (BS
–IsV(IS .z/TIS (.S 2(S VTEOIS 3gIlaMeS ES M(S .(S TMs/BTS .TSVTEOIS 2(S .TMS gyergS
nTzBvz(SBOSM(TS.TSMzETPCS
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ímS
SSS
ewcrCrSSSSSewcrC3S
S
S S S S SSSSSSdewcrCRSSSSSSewcrC3SSSSSSSewcrCreS
SSSSSSewcrCRS
S
w(1TIS (BS h.TBAOS (.S ATV–OS 2(S BOVhI(S 2(S wwS 2(.S ósA=(IOS AOBATá(BT2OS ES AO2sósATIS
NBsATV(Bá(S.TMSDDS(BS.TMSAO.zVBTMSpSESoCS
nH(ISY?rgye,blPS
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
 
 
 
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ííS
SSS
ANEXOS 
ANEXO A: Notas y apuntes sobre COBOL y codificación.

S
• gOMS /Iz–OMS 2(S 2TáOMS (BS rb3bgS MOBS Rg Rtci\yarblS nrTI TAá(I(MPCS S cBS
BNV(IOStbSM(S–z(2(SVOH(ISTSzBST.óTBzVOIsAOCS–(IOSM:STSzBS/Iz–OCSAOBS.OSvz(S
TM:S –O2I:TVOMS =TA(IS zBTS AOBH(IMsGBS 2(S tQieybS TS Rg R tci\yarbS
2(A.TITB2OS (.S T.óTBzVOIsAOS AOVOS BzVOIsAOS 2(BáIOS 2(.S /Iz–OS ES AOBS (.S VsMVOS
áTVTPOCS–(IOSOA–zTVOMSoSSYOBTMS2sMásBáTMS2(SV(VOIsT SSSyewe ateCSRVhTMS
HTIsTh.(MST–zBáTBSTS.TSVsMVTSYOBTS2(SV(VOIsTCSjTS2(SsISTSAOBásBzTAsGBS2(S.TS
HTIsTh.(Svz(SM(SI(2(ósB(CS
S
05 A PIC X(10)
05 B REDEFINES A
PIC 9(10)

Usando los REDEFINES se pueden crear COPYS con dife rentes
esctructuras redefiniendo siempre la anterior estru ctura con el
mismo tamaño.

Para realizar la operación contraria, es decir, mov er un
ALFANUMÉRICO a un NUMÉRICO o compacto, definimos ta mbién un
grupo. Ejemplo: mover BNYDE008-FECAPER S FEC-VALOR-TRA(1 1)
X(10) S 9(8)
*--------------
01 FECAPER-NUM PIC X(8).
01 FECAPER-COMP3 REDEFINES FEC APER-NUM.
05 FECAPER-FECHA PIC 9(8).

*--------------
MOVE BNYDE008-FECAPER(1:4) TO FECAPER- NUM(1:4)
MOVE BNYDE008-FECAPER(6:2) TO FEC APER-NUM(5:2)
MOVE BNYDE008-FECAPER(9:2) TO FEC APER-NUM(7:2)
*--------------
MOVE FECAPER-FECHA TO FEC-VALO R-TRA(1)

• ,TITSCREARSzBTSáTh.TS2(SzBTS3TM(S2(SwTáOMCSVO2sósATVOMS(.Swrg FetS2(S.TS
áTh.TCSvzsáTB2OS.TS–TIá(S2(Srb3bgSESvz(2>B2OBOMSAOB S.TS2(Sw3oCSES–O2(VOMS
AI(TIS zBS Bz(HOS ósA=(IOS ryeRNR3Cl>gS ATVhsTB2OS .OMS tbNS tcggS –OIS tbNS
tcggSHaNjSwe RcgNCS
S
báITSVTB(ITSM(I:TS s2OBásATS–(IOSzMTB2OS(.S lrya,NS2(.SA(BáIOS2(.SVTB2TáOMS(S
sBM(IáTB2OS .TS M(Bá(BAsTS l>gS nryeRNeS NR3geS tOVhI(wrg FetPCS zMTB2OS
áTVhsOBS.TSwrgFetCS
S
,TITSINSERTARS HT.OI(MS (BS .TS áTh.TCS á(B(VOMS áTVhsOBS 2OMS O–AsOB(MCS bS BOMS
AI(TVOMS zBS ósA=(IOS atleyNCl>gS 2OB2(S /(B(ITVOMS .TS M(Bá(BAsTS l>gS 2(.S
atleyNSnAO–sTI:TVOMS.TS–TIá(S2(S.TSáTh.TS2(S.TS wrgFetSES2TI:TVOMSHT.OI(MSTS
.OMSATV–OMSvz(SBOMSsBá(I(MTM(PCSOS
eBS (.S A(BáIOS 2(S VTB2TáOMCS –sBA=TVOMS (BS .TS –(MáTPTS atNeyRrNaLblS DS l>gS
RllalNCSSM(.(AAsOBTVOMS.TSO–AsGBSataraRySDSatleyNCSES(BS.TS–(MáTPTSNR3gRlS
M(.(AAsOBTVOMS .TS áTh.TS (BS .TS vz(S vz(I(VOMS sBM(IáTICS ,OIS N.ásVOS HTVOMS TS .TS
–(MáTPTS atleyNRyS 2OB2(S ETS BOMS T–TI(A(BS áO2OMS .OMS ATV–OMS 2(S .TS áTh.TCS w(S
(MáTS VTB(ITS T2(V>MS M(S AOBáIO.TS .TS ATBás2T2S ES ás–OS 2(S HT.OI(MS T.S sBM(IáTICS
rzTB2OS .TS ATMs..TS 2(S I(..(BOS M(S –OB(S 2(S AO.OIS IO1OSMs/BsósATS vz(S BOMS =(VOMS
(BA(2s2OS(BS.TS.OB/sáz2S2(.SATV–OCS
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
í)S
SSS
báITS hz(BTS s2(TS TS .TS =OITS 2(S –IOhTIS (.S –IO/ITVTS (MSAI(TIS zBTS áTh.TS TzBs.sTIS
AOBSOáIOSBOVhI(CSAO–sTS2(S.TSvz(SzM(VOMS–TITSAO–sTB2OS2sA=TSáTh.TSS2(M–zOMS
2(S AT2TS (1(AzAsGBS vz(S BOMS ATVhs(S .OMS HT.OI(MS 2(S .TSáTh.TCS OS hs(BS zMTIS (BS (.S
AG2s/OS.TSM(Bá(BAsTSybgg3RrISvz(SHz(.H(S.TMSáTh.TMSTSMzS(MáT2OSsBsAsT.SáITMS.TS
(1(AzAsGBS2(SzBS–IOA(MOCS
S
• ,TITSAI(TISFICHEROSSSzMTVOMSzBS–IO/ITVTS..TVT2OSl, ,rCeEeCSS
gOMSATITAá(I(MS2(S.TMSAT2(BTMSM(SsBáIO2zA(BSáT.SAzT.CSES–TITS.OMSAOV–TAáOMS=TS
2(Sá(B(IM(S(BSAz(BáTSvz(SOAz–TBAS
S
S ,RyelASntfSrsóITMSDSoPS`SpS
S ai,RyelASntfSrsóITMS`SpPSDSoS
S
gOMS–TI(MSAOVs(BYTBS–OISDSES.OMSsV–TI(MStbCSSe1(V–.OASSmíSESdmíCS
S
rsóITMS–TI(MS S S S S S rsóITMSsV–TI(MCS
S
0  5    3  5 
4  C    4  C 
S
gTSrSMs(V–I(S=TS2(STAThTISThT1OCS
S
lsS ázHsOM(VOMS zBSósA=(IOS2(S(BáIT2TSAzETS rb,-S ázHs(M(S VzA=OMS ATV–OMS ES .TS
VTEOI:TS 2(S (..OMS óz(M(BS rbi,S KdCS I(Mz.áTI:TS á(2sOMOS sBM(IáTIS 2(S (MáTS VTB(ITS
HTIsOMSI(/sMáIOMS(BS(.SósA=(IOS–TITS=TA(IS.TMS–Iz(hTMCSS
,TITS (..OS hTMáTI:TS AOBS /(B(ITIS OáIOS –IOE(AáOS AOBS zBS –(vz(POS –IO/ITVTS vz(S
2(A.TITM(S zBS ósA=(IOS 2(S MT.s2TCS (MAIshs(M(S zBOS OS HTIsOMS I(/sMáIOMS (BS O.CS ES .OS
A(IITM(CS eM(S ósA=(IOS 2(S MT.s2TS M(I:TS (.S ósA=(IOS 2(S(BáIT2TS vz(S zMTM(S Bz(MáIOS
–IO/ITVTCS
eMáTS O–(ITAsGBS BOS I(vzs(I(S VzA=OS (Móz(IYOS 2(M2(S (.SVOV(BáOS vz(S –O2(VOMS
AO/(IS .TS rb,-S 2(.S ósA=(IOS –TITS =TA(IS .OMS ibLeS CCCS NbCS RM:S AOBáIO.TI:TVOMS
VzA=OS V(1OIS .OS vz(S sBM(IáTVOMS (BS AT2TS I(/sMáIOS ES 2GB2(S .OS sBM(IáTVOMCS
tOMOáIOMS –OB(VOMS HT.OI(MS S BzVOIsAOMS ES (.S –IO/ITVTS BOMS .OMS (MAIsh(S AOVOS
rbi,KdCS
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
íuS
SSS
ANEXO 1: Listado de FILE – STATUS

S
Código Significado

00 No hay información adicional

02 La sentencia READ fue ejecutada satisfactoriamente, pero fue detectada una
clave duplicada.

04 La sentencia READ fue ejecutada satisfactoriamente, pero el largo de registro
procesado no corresponde

05 Una sentencia OPEN es ejecutada satisfactoriamente, pero el archivo
referenciado no es está presente al momento de ejecutar el OPEN. Si el modo de
apertura es I-O o EXTEND, el archivo se creará

10 Una sentencia secuencial READ fue intentada y no existe otro registro lógico en
el archivo porque ha sido encontrado el fin de archivo.

12 Extensión IBM. No se encontró un registro de Subfile modificado

14 Una sentencia READ secuencial fue intentada para un archivo relativo y el
número de dígitos significativos en el número relativo de registro fue más largo que el
tamaño del ítem de datos de la clave relativa descrita para el archivo

21 Existe un error de secuencia para un archivo indexado accesado
secuencialmente. El valor de la clave de registro ha sido cambiada por el programa entre
la ejecución satisfactoria de una sentencia READ y la ejecución de la siguiente
sentencia REWRITE para el archivo, o los requerimientos de orden ascendente para los
valores claves de registro fueron violados.

22 Se intentó escribir un registro que creará una clave duplicada en un archivo
relativo; o se intentó escribir o sebreescribir (WRITE/REWRITE) un registro que creará
una clave de registro principal duplicada en un archivo indexado. CPF4759, CPF5008,
CPF5026, CPF5034, CPF5084, CPF5085

23 Se intentó hacer un acceso directo (Random) a un registro que no existe en el
archivo.
CPF5001, CPF5006, CPF5013, CPF5020, CPF5025
24 Se intentó realizar una escritura más allá de los límites definidos externamente
para un archivo relativo o indexado. Una sentencia secuencial WRITE fue intentada
para un archivo relativo y el número de dígitos significativos en el número relativo de
registro era más largo que el tamaño de la clave de registro relativo descrito para el
archivo.
CPF5006, CPF5018, CPF5021, CPF5043, CPF5272

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
íUS
SSS
30 No hay información adicional.
CPF4192, CPF5101, CPF102, CPF5129, CPF5030, CPF5143
34 Existe un error permanente porque existe una violación, se intentó escribir más
allá de los límite definidos externamente para un archivo secuencial.
CPF5116, CPF5018, CPF5272, sí la organización es secuencial.
35 Se intentó una sentencia OPEN con la frase INPUT, I-O o EXTEND sobre un
archivo no opcional que no está presente.
CPF4101, CPF4102, CPF4103
37 Se intento una sentencia OPEN sobre un archivo que no soporta el modo de
apertura especificado en la sentencia OPEN. Posibles Violaciones son:
La frase EXTEND o OUTPUT fue especificada pero el archivo no soporta operaciones
de escritura.
La frase I-O fue especificada pero el archivo no soporta las operaciones de entrada y
salida permitidas.
La frase INPUT fue especificada pero el archivo no soporta las operaciones de lectura.
38 Se intentó una sentencia OPEN sobre un archivo cerrado previamente con
bloqueo (lock).

39 La sentencia OPEN no fue ejecutada satisfactoriamente debido a un conflicto
entre los atributos del archivo físico y los atributos especificados para ése archivo en el
programa.
Comprobar error de nivel para el archivo.
CPF4131
41 Se intentó una sentencia OPEN para el archivo en el modo de apertura.

42 Se intentó una sentencia CLOSE para un archivo que no está abierto.

43 Para un archivo secuencial, en el modo acceso secuencial, la última sentencia de
entrada salida ejecutada para el archivo asociado previa a la ejecución de una sentencia
REWRITE ¿???.
Para archivos relativos e indexados en el modo de acceso secuencial, la última sentencia
de entrada-salida ejecutada para el archivo. ¿???.
44 Una violación de ¿??, existe porque se intento sobreescribir un registro en el
archivo y el registro no es del mismo tamaño que el registro a reemplazar.

46 Se intentó una sentencia secuencial READ sobre un archivo que está abierto en
el modo I-O sin haber establecido un registro válido debido a que la sentencia start no
se ejecutó con éxito, la sentencia READ precedente fue insatisfactoria o causa una

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
í<S
SSS
condición AT END.
CPF5001, CPF5025, CPF5183
47 La ejecución de una sentencia READ o START fuen intentada sobre un archivo
que no está abierto en el modo INPUT o I-O.

48 La ejecución de una sentencia WRITE fue intentada sobre un archivo que no
está abierto en el modo I-O, OUTPUT o EXTEND.

49 La ejecución de una sentencia DELETE o REWRITE fue intentada sobre un
archivo que no está abiertoen el modo I-O.

90 Otros errores:
Archivo no encontrado.
Miembro no encontrado.
Falta exepciones I-O.
CPF4101, CPF4102, CPF4103 si un USE es aplicable para el archivo (sobre un no
opcional con OPEN OUTPUT).
Las siguientes excepciones se monitora genéricamente :
CPF4101 al CPF4399
CPF4501 al CPF4699
CPF4701 al CPF4899
CPF4901 al CPF4999
CPF5001 al CPF5099
CPF5101 al CPF5399
CPF5501 al CPF5699
Estas excepciones causan un FILE STATUS = 90. Si un procedimiento USE es
aplicable, se ejecuta. De otra manera, el programa termina y entrega al operador la
excepción y la opción de cancelar, vaciado parcial o vaciado total de variables.
91 Tipo de acceso no definido o no autorizado.
CPF2207, CPF4104, CPF4236, CPF5057, CPF5109, CPF5134, CPF5279
92 Error lógico:
Archivo bloqueado
El archivo ya está abierto
I-O para un archivo cerrado
READ después de fin de archivo

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)DS
SSS
CLOSE para un archivo ya cerrado
CPF4106, CPF4132, CPF4740, CPF5013, CPF5067, CPF5070, CPF5119, CPF5145,
CPF5146, CPF5149, CPF5176, CPF5209

93 El archivo esta en conflicto con otro usuario.

94 ¿??? y la última operación no fue un READ satisfactorio.

95 Información del archivo inválido o incompleta.

Se especifican claves duplicadas en el programa COBOL. El archivo ha sido abierto
satisfactoriamente pero el archivo indexado de base de datos fue creado con clave única;
o
No se especificó clave duplicada en el programa COBOL, y el archivo de base de datos
fue creado permitiendo claves duplicadas.
98 Grave errór interno en la estructura del fichero, generalmente se suelen provocar
cuando hay un corte eléctrico o una salida brusca del programa y algún fichero indexado
se ha quedado abierto, lo que suele ocurrir es problema de correspondencia entre claves
y datos, se recomienda hacerle un RECOBERY (RM/COBOL) o el que corresponda a
cada compilador para rehacer las claves.
En algunos casos , es posible que éste error se deba a un problema físico del disco, en
ese caso también será conveniente copiarlo en otro sitio "físico"
99 Al borrar, leer o reescribir un registro que está siendo bloqueado por otro
usuario.
9 A El trabajo a sido cancelado de una manera controlada por comandos CL, CNLJOB,
TRMSBS, TRMCPF, PWRDWNSYS.
CPF4741
Se ha enviado un mensaje de escape durante una operación de entrada READ desde
dispositivo de programa
9 C Falla de adquisición, la sección no ha partido o conectado.
9 D El registro está bloqueado
CPF5027, CPF5032
9 G Excepción de salida para dispositivo o sesión
9 H Operación ACQUIRE fallida. ¿? Apropiado por otro programa o inhabilitado. (9H
es el resultado cuando una operación ACQUIRE causa cualquiera de las excepciones
monitoreadas para 90 o 9N cuando ocurre.
9 I Operación WRITE fallida
CPF4702, CPF4737, CPF5052, CPF5076

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)pS
SSS
9 K Nombre de formato inválido, formato no encontrado
CPF5022, CPF5023, CPF5053, CPF5054, CPF5121, CPF5152, CPF5153, CPF5186,
CPF5187
9 M Último registro escrito en Subfile
CPF5003
9 N Error temporal de I-O en hardware (potencialmente recuperable). Error durante la
sesión de comunicaciones.
CPF4145, CPF4146, CPF4193, CPF4229, CPF 4291, CPF4299, CPF4354, CPF4354,
CPF4526, CPF4542, CPF5477, CPF4592, CPF4602, CPF4603, CPF4611, CPF4612,
CPF4616, CPF4617, CPF4622, CPF4623, CPF4624, CPF4624, CPF4625, CPF4628,
CPF4629, CPF4630, CPF4631, CPF4632, CPF4705, CPF5107, CPF5128, CPF5166,
CPF5198, CPF5280, CPF5280, CPF5282, CPF5287, CPF5293, CPF5352, CPF5353,
CPF5517, CPF5524, CPF5529, CPF5530, CPF5532, CPF5533
9 P Open falló porque el archivo no puede ser ubicado bajo control ¿???
CPF4293, CPF4326, CPF4327, CPF4328, CPF4329
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)oS
SSS
ANEXO 2: Tutorial de los SQLCODES y sus causas

S
rzTB2OS(1(AzáTVOMSzBS–IO/ITVTSvz(SzMTSl>gCSw3oSBOMS 2(Hz(.H(SzBSl>grbweSvz(S
BOMS sBóOIVTS MsS Bz(MáIOS AG2s/OS l>gS M(S (1(AzáGS AOII(AáTV(Bá(S OS BOCS eMáOMS MOBS .OMS
l>grbwelS V>MS AOVzB(MS vz(S –z(2(S 2(HO.H(IS w3oS áITMS .TS (1(AzAsGBS 2(S M(Bá(BAsTMS
l>gAS

SQLCODE +100 SQLSTATE 02000

SQLCODE -102 String constant is too long

SQLCODE -117 The number of values you are trying to INSERT
does not match the number of columns

SQLCODE -180 SQLSTATE 22007
Bad data in Date/Time/Timestamp
String representation of DATE, TIME, TIMESTAMP is invalid

SQLCODE -181 SQLSTATE 22007
Bad data in Date/Time/Timestamp
Value for DATE, TIME, TIMESTAMP is invalid

SQLCODE -199 Illegal use of the specified keyword.

SQLCODE -204 Object not defined to DB2

SQLCODE -205 Column name not in specified table

SQLCODE -206 Column does not exist in any table in the SELECT

SQLCODE -216
You need to use the same number of expressions on both sides of the comparison.
when using multiple operands in a comparison,
Correct example:
WHERE (E.SALARY, E.COMM) IN
(SELECT S.PAY, S.COMMISSION
Incorrect example:

SQLCODE +222 Trying to fetch a row that fell throug h a DELETE hole

SQLCODE +223 Trying to fetch a row that fell throug h an UPDATE hole

SQLCODE -224 FETCH cannot make an INSENSITIVE curso r SENSITIVE

SQLCODE -229 The locale specified in a SET LOCALE s tatement was not found.

SQLCODE +231 FETCH
but you did a BEFORE or AFTER and you are not on a valid row

SQLCODE +304 Value cannot be assigned to this host variable because it is out of range

SQLCODE -305 Null indicator needed

SQLCODE -311 Varchar, insert or update.
You didn’t set the -LEN field with the right data length

SQLCODE -482 he procedure returned no locators

SQLCODE -501 Cursor not open on FETCH

SQLCODE -502 Opening cursor that is already open

SQLCODE -503 Updating column which needs to be spec ified in FOR UPDATE OF

SQLCODE -530 SQLSTATE 23503
Referential integrity prevents the INSERT/UPDATE

SQLCODE -532 SQLSTATE 23504
Referential integrity (DELETE RESTRICT rule) prev ents the DELETE

SQLCODE -536 SQLSTATE 42914
Referential integrity (DELETE RESTRICT rule) prev ents the DELETE

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)dS
SSS


SQLCODE -545 SQLSTATE 23513
Check constraint prevents the INSERT/UPDATE

SQLCODE -747 The table specified is not available
because tables and/or indexes need to be created.

SQLCODE +802 The null indicator was set to -2
because an arithmetic statement didn't work.

SQLCODE -803 SQLSTATE 23505
Duplicate key on insert or update

SQLCODE -805
DBRM or package not found in plan
Is plan name correct?
SQLCODE -811 More than one row retrieved in SELECT INTO

SQLCODE -818 Plan and program: timestamp mismatch

SQLCODE -904 SQLSTATE 57011
Unavailable resource. Someone is locking the data you need
you may choose to terminate the program

SQLCODE -911 SQLSTATE 40000
Deadlock or timeout. Rollback has been done.

SQLCODE -913 SQLSTATE 40502
Your program was the victim of a deadlock or timeo ut.
NO rollback has been done.
You should do a ROLLBACK.

SQLCODE -922 Authorization needed

SQLCODE -927 The language interface was called but no connection had been

*************************************************** ************************************

SQLCODE -991, Error: CALL ATTACH WAS UNABLE TO ES TABLISH AN IMPLICIT CONNECT OR OPEN
TO DB2. RC1= RC2=

SQLCODE -981, Error: THE SQL STATEMENT FAILED BE CAUSE THE RRSAF CONNECTION IS NOT IN
A STATE THAT ALLOWS SQL OPERATIONS, REASON

SQLCODE -950, Error: THE LOCATION NAME SPECIFIED IN THE CONNECT STATEMENT IS INVALID
OR NOT LISTED IN THE COMMUNICATIONS DATABASE

SQLCODE -948, Error: DISTRIBUTED OPERATION IS IN VALID

SQLCODE -947, Error: THE SQL STATEMENT FAILED BE CAUSE IT WILL CHANGE A TABLE DEFINED
WITH DATA CAPTURE
CHANGES, BUT THE DATA CANNOT BE PROPAGATED

SQLCODE -939, Error: ROLLBACK REQUIRED DUE TO UN REQUESTED ROLLBACK OF A REMOTE SERVER

SQLCODE -929, Error: FAILURE IN A CHANGED DATA C APTURE EXIT:

SQLCODE -927, Error: THE LANGUAGE INTERFACE (LI) WAS CALLED WHEN THE CONNECTING
ENVIRONMENT WAS NOT
ESTABLISHED. THE PROGRAM SHOULD BE INVOKED UNDER TH E DSN COMMAND

SQLCODE -926, Error: ROLLBACK NOT VALID IN IMS O R CICS ENVIRONMENT

SQLCODE -925, Error: COMMIT NOT VALID IN IMS OR CICS ENVIRONMENT

SQLCODE -924, Error: DB2 CONNECTION INTERNAL ERR OR, , ,

SQLCODE -923, Error: CONNECTION NOT ESTABLISHED: DB2 , REASON , TYPE , NAME

SQLCODE -922, Error: AUTHORIZATION FAILURE: ERR OR. REASON

SQLCODE -919, Error: A ROLLBACK OPERATION IS REQ UIRED

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)mS
SSS
SQLCODE -918, Error: THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE A CONNECTION HAS
BEEN LOST

SQLCODE -917, Error: BIND PACKAGE FAILED

SQLCODE -913, Error: UNSUCCESSFUL EXECUTION CAUS ED BY DEADLOCK OR TIMEOUT. REASON
CODE , TYPE OF RESOURCE , AND RESOURCE NAME


SQLCODE -911, Error: THE CURRENT UNIT OF WORK HA S BEEN ROLLED BACK DUE TO DEADLOCK OR
TIMEOUT. REASON ,
TYPE OF RESOURCE , AND RESOURCE NAME

SQLCODE -910, Error: THE SQL STATEMENT CANNOT AC CESS AN OBJECT ON WHICH A DROP OR
ALTER IS PENDING

SQLCODE -909, Error: THE OBJECT HAS BEEN DELETED OR ALTERED

SQLCODE -908, Error: ERROR USING AUTHORITY. B IND, REBIND, OR AUTO-REBIND OPERATION
IS NOT ALLOWED

SQLCODE -906, Error: THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THIS FUNCTION IS
DISABLED DUE TO A PRIOR ERROR

SQLCODE -905, Error: UNSUCCESSFUL EXECUTION DUE TO RESOURCE LIMIT BEING EXCEEDED,
RESOURCE NAME = LIMIT =
CPU SECONDS ( SERVICE UNITS) DERIVED FROM

SQLCODE -904, Error: UNSUCCESSFUL EXECUTION CAUS ED BY AN UNAVAILABLE RESOURCE. REASON
, TYPE OF RESOURCE , AND RESOURCE NAME

SQLCODE -902, Error: POINTER TO ESSENTIAL CONTRO L BLOCK(RDA/CT) HAS VALUE 0, REBIND
REQUIRED

SQLCODE -901, Error: UNSUCCESSFUL EXECUTION CAUS ED BY A SYSTEM ERROR THAT DOES NOT
PRECLUDE THE SUCCESSFUL
EXECUTION OF SUBSEQUENT SQL STATEMENTS

SQLCODE -900, Error: THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THE APPLICATION
PROCESS IS NOT CONNECTED
TO AN APPLICATION SERVER

SQLCODE -882, Error: SAVEPOINT DOES NOT EXIST

SQLCODE -881, Error: A SAVEPOINT WITH NAME ALRE ADY EXISTS, BUT THIS SAVEPOINT NAME
CANNOT BE REUSED

SQLCODE -880, Error: SAVEPOINT DOES NOT EXIST O R IS INVALID IN THIS CONTEXT

SQLCODE -879, Error: CREATE OR ALTER STATEMENT F OR CANNOT DEFINE A COLUMN, DISTINCT
TYPE, FUNCTION OR
STORED PROCEDURE PARAMETER AS MIXED OR GRAPHIC WITH ENCODING SCHEME

SQLCODE -878, Error: THE PLAN_TABLE USED FOR EXP LAIN CANNOT BE ASCII

SQLCODE -877, Error: CCSID ASCII IS NOT ALLOWED FOR THIS DATABASE OR TABLE SPACE

SQLCODE -876, Error: CANNOT BE CREATED, REASON

SQLCODE -875, Error: CANNOT BE USED WITH THE AS CII DATA REFERENCED

SQLCODE -874, Error: THE ENCODING SCHEME SPECIFI ED FOR THE MUST BE THE SAME AS THE
CONTAINING TABLE SPACE OR OTHER PARAMETERS

SQLCODE -873, Error: DATA ENCODED WITH DIFFERENT CCSIDS CANNOT BE REFERENCED IN THE
SAME SQL STATEMENT

SQLCODE -872, Error: A VALID CCSID HAS NOT YET B EEN SPECIFIED FOR THIS SUBSYSTEM

SQLCODE -870, Error: THE NUMBER OF HOST VARIABLE S IN THE STATEMENT IS NOT EQUAL TO
THE NUMBER OF DESCRIPTORS

SQLCODE -867, Error: INVALID SPECIFICATION OF A ROWID COLUMN

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)íS
SSS
SQLCODE -846, Error: INVALID SPECIFICATION OF AN IDENTITY COLUMN

SQLCODE -843, Error: THE SET CONNECTION OR RELEA SE STATEMENT MUST SPECIFY AN EXISTING
CONNECTION

SQLCODE -842, Error: A CONNECTION TO x ALREADY E XISTS

SQLCODE -840, Error: TOO MANY ITEMS RETURNED IN A SELECT OR INSERT LIST

SQLCODE -822, Error: THE SQLDA CONTAINS AN INVAL ID DATA ADDRESS OR INDICATOR VARIABLE
ADDRESS

SQLCODE -820, Error: THE SQL STATEMENT CANNOT BE PROCESSED BECAUSE CONTAINS A VALUE
THAT IS NOT VALID IN THIS RELEASE

SQLCODE -819, Error: THE VIEW CANNOT BE PROCESSE D BECAUSE THE LENGTH OF ITS PARSE
TREE IN THE CATALOG IS ZERO

SQLCODE -818, Error: THE PRECOMPILER-GENERATED T IMESTAMP IN THE LOAD MODULE IS
DIFFERENT FROM THE BIND
TIMESTAMP BUILT FROM THE DBRM

SQLCODE -817, Error: THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THE STATEMENT WILL
RESULT IN A PROHIBITED UPDATE OPERATION

SQLCODE -815, Error: A GROUP BY OR HAVING CLAUSE IS IMPLICITLY OR EXPLICITLY
SPECIFIED IN A SUBSELECT OF A
BASIC PREDICATE OR A SET CLAUSE OF AN UPDATE STATEM ENT

SQLCODE -812, Error: THE SQL STATEMENT CANNOT BE PROCESSED BECAUSE A BLANK
COLLECTION-ID WAS FOUND IN THE CURRENT
PACKAGESET SPECIAL REGISTER WHILE TRYING TO FORM A QUALIFIED PACKAGE NAME FOR PROGRAM
USING PLAN

SQLCODE -811, Error: THE RESULT OF AN EMBEDDED S ELECT STATEMENT OR A SUBSELECT IN THE
SET CLAUSE OF AN
UPDATE STATEMENT IS A TABLE OF MORE THAN ONE ROW, O R THE RESULT OF A SUBQUERY OF A BASIC
PREDICATE IS MORE THAN VALUE

SQLCODE -808, Error: THE CONNECT STATEMENT IS NO T CONSISTENT WITH THE FIRST CONNECT
STATEMENT

SQLCODE -807, Error: ACCESS DENIED: PACKAGE IS NOT ENABLED FOR ACCESS FROM

SQLCODE -805, Error: DBRM OR PACKAGE NAME NOT F OUND IN PLAN . REASON

SQLCODE -804, Error: AN ERROR WAS FOUND IN THE A PPLICATION PROGRAM INPUT PARAMETERS
FOR THE SQL STATEMENT, REASON

SQLCODE -803, Error: AN INSERTED OR UPDATED VALU E IS INVALID BECAUSE INDEX IN INDEX
SPACE CONSTRAINS
COLUMNS OF THE TABLE SO NO TWO ROWS CAN CONTAIN DUP LICATE VALUES IN THOSE COLUMNS. RID
OF EXISTING ROW IS X''

SQLCODE -802, Error: EXCEPTION ERROR HAS OCCURR ED DURING OPERATION ON DATA,
POSITION

SQLCODE -798, Error: YOU CANNOT INSERT A VALUE I NTO A COLUMN THAT IS DEFINED WITH THE
OPTION GENERATED ALWAYS. COLUMN NAME

SQLCODE -797, Error: ATTEMPT TO CREATE TRIGGER WITH AN UNSUPPORTED TRIGGERED SQL
STATEMENT

SQLCODE -771, Error: INVALID SPECIFICATION OF A ROWID COLUMN

SQLCODE -770, Error: TABLE CANNOT HAVE A LOB CO LUMN UNLESS IT ALSO HAS A ROWID
COLUMN

SQLCODE -769, Error: SPECIFICATION OF CREATE AUX TABLE DOES NOT MATCH THE
CHARACTERISTICS OF THE BASE TABLE

SQLCODE -768, Error: AN AUXILIARY TABLE ALREADY EXISTS FOR THE SPECIFIED COLUMN OR
PARTITION

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
))S
SSS
SQLCODE -767, Error: MISSING OR INVALID COLUMN S PECIFICATION FOR INDEX

SQLCODE -766, Error: THE OBJECT OF A STATEMENT I S AN AUXILIARY TABLE FOR WHICH THE
REQUESTED OPERATION IS NOT PERMITTED

SQLCODE -765, Error: TABLE IS NOT COMPATIBLE WIT H DATABASE

SQLCODE -764, Error: A LOB TABLE SPACE AND ITS A SSOCIATED BASE TABLE SPACE MUST BE IN
THE SAME DATABASE

SQLCODE -763, Error: INVALID TABLE SPACE NAME

SQLCODE -752, Error: THE CONNECT STATEMENT IS IN VALID BECAUSE THE PROCESS IS NOT IN
THE CONNECTABLE STATE

SQLCODE -751, Error: (SPECIFIC NAME ) ATTEMPTED TO EXECUTE AN SQL STATEMENT THAT IS
NOT ALLOWED

SQLCODE -750, Error: THE SOURCE TABLE CANNOT BE RENAMED BECAUSE IT IS REFERENCED IN
EXISTING VIEW
DEFINITIONS OR TRIGGER DEFINITIONS

SQLCODE -748, Error: AN INDEX ALREADY EXISTS ON AUXILIARY TABLE

SQLCODE -747, Error: TABLE IS NOT AVAILABLE UNT IL THE AUXILIARY TABLES AND INDEXES
FOR ITS EXTERNALLY
STORED COLUMNS HAVE BEEN CREATED

SQLCODE -746, Error: THE SQL STATEMENT IN AN EXT ERNAL FUNCTION, TRIGGER, OR IN STORED
PROCEDURE VIOLATES
THE NESTING SQL RESTRICTION

SQLCODE -742, Error: DSNDB07 IS THE IMPLICIT WOR K FILE DATABASE

SQLCODE -741, Error: A DATABASE IS ALREADY DEFI NED FOR MEMBER

SQLCODE -740, Error: FUNCTION IS DEFINED WITH T HE OPTION MODIFIES SQL DATA WHICH IS
NOT VALID IN THE
CONTEXT IN WHICH IT WAS INVOKED

SQLCODE -739, Error: ALTER FUNCTION FAILED BECA USE FUNCTIONS CANNOT MODIFY DATA WHEN
THEY ARE PROCESSED IN PARALLEL

SQLCODE -737, Error: IMPLICIT TABLE SPACE NOT AL LOWED

SQLCODE -736, Error: INVALID OBID SPECIFIED

SQLCODE -735, Error: DATABASE CANNOT BE ACCESSE D BECAUSE IT IS NO LONGER A SHARED
DATABASE

SQLCODE -734, Error: THE ROSHARE ATTRIBUTE OF A DATABASE CANNOT BE ALTERED FROM
ROSHARE READ

SQLCODE -733, Error: THE DESCRIPTION OF A TABLE SPACE, INDEX SPACE, OR TABLE IN A
ROSHARE READ DATABASE
MUST BE CONSISTENT WITH ITS DESCRIPTION IN THE OWNE R SYSTEM

SQLCODE -732, Error: THE DATABASE IS DEFINED ON THIS SUBSYSTEM WITH THE ROSHARE READ
ATTRIBUTE BUT THE
TABLE SPACE OR INDEX SPACE HAS NOT BEEN DEFINED ON THE OWNING SUBSYSTEM

SQLCODE -731, Error: USER-DEFINED DATASET MUST BE DEFINED WITH SHAREOPTIONS (1,3)

SQLCODE -730, Error: THE PARENT OF A TABLE IN A READ-ONLY SHARED DATABASE MUST ALSO
BE A TABLE IN A
READ-ONLY SHARED DATABASE

SQLCODE -729, Error: A STORED PROCEDURE SPECIFYI NG COMMIT ON RETURN CANNOT BE THE
TARGET OF A NESTED CALL STATEMENT

SQLCODE -728, Error: DATA TYPE IS NOT ALLOWED I N DB2 PRIVATE PROTOCOL PROCESSING

SQLCODE -726, Error: BIND ERROR ATTEMPTING TO R EPLACE PACKAGE = . THERE ARE ENABLE
OR DISABLE ENTRIES

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)uS
SSS
CURRENTLY ASSOCIATED WITH THE PACKAGE

SQLCODE -725, Error: THE SPECIAL REGISTER AT LO CATION WAS SUPPLIED AN INVALID VALUE

SQLCODE -724, Error: THE ACTIVATION OF THE OBJE CT WOULD EXCEED THE MAXIMUM LEVEL OF
INDIRECT SQL CASCADING

SQLCODE -723, Error: AN ERROR OCCURRED IN A TRIG GERED SQL STATEMENT IN TRIGGER ,
SECTION NUMBER .
INFORMATION RETURNED: SQLCODE , SQLSTATE , AND MESS AGE TOKENS

SQLCODE -722, Error: ERROR USING AUTHORITY PACK AGE DOES NOT EXIST

SQLCODE -721, Error: BIND ERROR FOR PACKAGE = C ONTOKEN = ''X IS NOT UNIQUE SO IT
CANNOT BE CREATED

SQLCODE -720, Error: BIND ERROR, ATTEMPTING TO R EPLACE PACKAGE = WITH VERSION = BUT
THIS VERSION ALREADY EXISTS

SQLCODE -719, Error: BIND ADD ERROR USING AUTHO RITY PACKAGE ALREADY EXISTS

SQLCODE -718, Error: REBIND OF PACKAGE FAILED B ECAUSE IBMREQD OF IS INVALID

SQLCODE -717, Error: FOR WITH MARK FAILED BECA USE DEPENDS ON FUNCTIONS OF THE
RELEASE FROM WHICH FALLBACK HAS OCCURRED

SQLCODE -716, Error: PROGRAM PRECOMPILED WITH I NCORRECT LEVEL FOR THIS RELEASE

SQLCODE -715, Error: PROGRAM WITH MARK FAILED BECAUSE IT DEPENDS ON FUNCTIONS OF
THE RELEASE FROM WHICH FALLBACK HAS OCCURRED

SQLCODE -713, Error: THE REPLACEMENT VALUE FOR IS INVALID

SQLCODE -697, Error: OLD OR NEW CORRELATION NAME S ARE NOT ALLOWED IN A TRIGGER
DEFINED WITH THE FOR EACH
STATEMENT CLAUSE. OLD_TABLE OR NEW_TABLE NAMES ARE NOT ALLOWED IN A TRIGGER WITH THE
BEFORE CLAUSE

SQLCODE -696, Error: THE DEFINITION OF TRIGGER INCLUDES AN INVALID USE OF
CORRELATION NAME OR TRANSITION TABLE NAME . REASON CODE=

SQLCODE -694, Error: THE DDL STATEMENT CANNOT BE EXECUTED BECAUSE A DROP IS PENDING
ON THE DDL REGISTRATION TABLE

SQLCODE -693, Error: THE COLUMN IN DDL REGISTRA TION TABLE OR INDEX IS NOT DEFINED
PROPERLY

SQLCODE -692, Error: THE REQUIRED UNIQUE INDEX FOR DDL REGISTRATION TABLE DOES NOT
EXIST

SQLCODE -691, Error: THE REQUIRED REGISTRATION T ABLE DOES NOT EXIST

SQLCODE -690, Error: THE STATEMENT IS REJECTED B Y DATA DEFINITION CONTROL SUPPORT.
REASON

SQLCODE -689, Error: TOO MANY COLUMNS DEFINED FO R A DEPENDENT TABLE

SQLCODE -688, Error: INCORRECT DATA RETURNED FRO M FIELD PROCEDURE, ,

SQLCODE -687, Error: FIELD TYPES INCOMPARABLE

SQLCODE -686, Error: COLUMN DEFINED WITH A FIELD PROCEDURE CAN NOT COMPARE WITH
ANOTHER COLUMN WITH
DIFFERENT FIELD PROCEDURE

SQLCODE -685, Error: INVALID FIELD TYPE,

SQLCODE -684, Error: THE LENGTH OF LITERAL LIST BEGINNING IS TOO LONG

SQLCODE -683, Error: THE SPECIFICATION FOR COLUM N, DISTINCT TYPE, FUNCTION, OR
PROCEDURE CONTAINS INCOMPATIBLE CLAUSES

SQLCODE -682, Error: FIELD PROCEDURE COULD NOT BE LOADED

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)US
SSS
SQLCODE -681, Error: COLUMN IN VIOLATION OF INS TALLATION DEFINED FIELD PROCEDURE
RT: , RS: , MSG:

SQLCODE -680, Error: TOO MANY COLUMNS SPECIFIED FOR A TABLE, VIEW, OR TABLE FUNCTION

SQLCODE -679, Error: THE OBJECT CANNOT BE CREAT ED BECAUSE A DROP IS PENDING ON THE
OBJECT

SQLCODE -678, Error: THE LITERAL SPECIFIED FOR THE INDEX LIMIT KEY MUST CONFORM TO
THE DATA TYPE OF THE CORRESPONDING COLUMN

SQLCODE -677, Error: INSUFFICIENT VIRTUAL STORAG E FOR BUFFERPOOL EXPANSION

SQLCODE -676, Error: ONLY A 4K PAGE BUFFERPOOL C AN BE USED FOR AN INDEX

SQLCODE -672, Error: OPERATION DROP NOT ALLOWED ON TABLE

SQLCODE -671, Error: THE BUFFERPOOL ATTRIBUTE OF THE TABLE SPACE CANNOT BE ALTERED AS
SPECIFIED BECAUSE IT
WOULD CHANGE THE PAGE SIZE OF THE TABLE SPACE

SQLCODE -670, Error: THE RECORD LENGTH OF THE TA BLE EXCEEDS THE PAGE SIZE LIMIT

SQLCODE -669, Error: A TABLE IN A PARTITIONED TA BLE SPACE CANNOT BE EXPLICITLY
DROPPED

SQLCODE -668, Error: THE COLUMN CANNOT BE ADDED TO THE TABLE BECAUSE THE TABLE HAS AN
EDIT PROCEDURE

SQLCODE -667, Error: THE CLUSTERING INDEX FOR A PARTITIONED TABLE SPACE CANNOT BE
EXPLICITLY DROPPED

SQLCODE -666, Error: CANNOT BE EXECUTED BECAUSE IS IN PROGRESS

SQLCODE -665, Error: THE PART CLAUSE OF AN ALTER STATEMENT IS OMITTED OR INVALID

SQLCODE -663, Error: THE NUMBER OF KEY LIMIT VAL UES IS EITHER ZERO, OR GREATER THAN
THE NUMBER OF COLUMNS IN THE KEY OF INDEX

SQLCODE -662, Error: A PARTITIONED INDEX CANNOT BE CREATED ON A NON-PARTITIONED TABLE
SPACE

SQLCODE -661, Error: INDEX CANNOT BE CREATED ON PARTITIONED TABLE SPACE BECAUSE THE
NUMBER OF PART
SPECIFICATIONS IS NOT EQUAL TO THE NUMBER OF PARTIT IONS OF THE TABLE SPACE

SQLCODE -660, Error: INDEX CANNOT BE CREATED ON PARTITIONED TABLE SPACE x BECAUSE
KEY LIMITS ARE NOT SPECIFIED

SQLCODE -658, Error: A CANNOT BE DROPPED USING THE STATEMENT

SQLCODE -655, Error: THE CREATE OR ALTER STOGROU P IS INVALID BECAUSE THE STORAGE
GROUP WOULD HAVE BOTH
SPECIFIC AND NON-SPECIFIC VOLUME IDS

SQLCODE -653, Error: TABLE IN PARTITIONED TABLE SPACE IS NOT AVAILABLE BECAUSE ITS
PARTITIONED INDEX HAS NOT BEEN CREATED

SQLCODE -652, Error: VIOLATION OF INSTALLATION D EFINED EDIT OR VALIDATION PROCEDURE

SQLCODE -651, Error: TABLE DESCRIPTION EXCEEDS M AXIMUM SIZE OF OBJECT DESCRIPTOR

SQLCODE -650, Error: THE ALTER INDEX CANNOT BE E XECUTED, REASON

SQLCODE -647, Error: BUFFERPOOL CANNOT BE SPECI FIED BECAUSE IT HAS NOT BEEN
ACTIVATED

SQLCODE -646, Error: TABLE CANNOT BE CREATED IN SPECIFIED TABLE SPACE BECAUSE IT
ALREADY CONTAINS A TABLE

SQLCODE -644, Error: INVALID VALUE SPECIFIED FOR KEYWORD IN STATEMENT

SQLCODE -643, Error: CHECK CONSTRAINT EXCEEDS MA XIMUM ALLOWABLE LENGTH

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
)<S
SSS
SQLCODE -642, Error: TOO MANY COLUMNS IN UNIQUE CONSTRAINTS

SQLCODE -640, Error: LOCKSIZE ROW CANNOT BE SPEC IFIED BECAUSE TABLE IN THIS
TABLESPACE HAS TYPE 1 INDEX

SQLCODE -639, Error: A NULLABLE COLUMN OF A FORE IGN KEY WITH A DELETE RULE OF SET
NULL CANNOT BE A COLUMN
OF THE KEY OF A PARTITIONED INDEX

SQLCODE -638, Error: TABLE CANNOT BE CREATED BE CAUSE COLUMN DEFINITION IS MISSING

SQLCODE -637, Error: DUPLICATE KEYWORD

SQLCODE -636, Error: THE PARTITIONING KEYS FOR P ARTITION ARE NOT SPECIFIED IN
ASCENDING OR DESCENDING ORDER

SQLCODE -635, Error: THE DELETE RULES CANNOT BE DIFFERENT OR CANNOT BE SET NULL

SQLCODE -634, Error: THE DELETE RULE MUST NOT BE CASCADE

SQLCODE -633, Error: THE DELETE RULE MUST BE

SQLCODE -632, Error: THE TABLE CANNOT BE DEFINED AS A DEPENDENT OF BECAUSE OF DELETE
RULE RESTRICTIONS

SQLCODE -631, Error: FOREIGN KEY IS TOO LONG OR HAS TOO MANY COLUMNS

SQLCODE -630, Error: THE WHERE NOT NULL SPECIFIC ATION IS INVALID FOR TYPE 1 INDEXES

SQLCODE -629, Error: SET NULL CANNOT BE SPECIFIE D BECAUSE FOREIGN KEY CANNOT CONTAIN
NULL VALUES

SQLCODE -628, Error: THE CLAUSES ARE MUTUALLY EX CLUSIVE

SQLCODE -627, Error: THE ALTER STATEMENT IS INVA LID BECAUSE THE PAGESET HAS USER-
MANAGED DATA SETS

SQLCODE -626, Error: THE ALTER STATEMENT IS NOT EXECUTABLE BECAUSE THE PAGE SET IS
NOT STOPPED

SQLCODE -625, Error: TABLE DOES NOT HAVE AN IND EX TO ENFORCE THE UNIQUENESS OF THE
PARENT KEY

SQLCODE -624, Error: TABLE ALREADY HAS A PRIMAR Y KEY

SQLCODE -623, Error: A CLUSTERING INDEX ALREADY EXISTS ON TABLE

SQLCODE -622, Error: FOR MIXED DATA IS INVALID B ECAUSE THE MIXED DATA INSTALL OPTION
IS NO

SQLCODE -621, Error: DUPLICATE DBID WAS DETECTE D AND PREVIOUSLY ASSIGNED TO

SQLCODE -620, Error: KEYWORD IN STATEMENT IS N OT PERMITTED FOR A SPACE IN THE
DATABASE

SQLCODE -619, Error: OPERATION DISALLOWED BECAUS E THE WORK FILE DATABASE IS NOT
STOPPED

SQLCODE -618, Error: OPERATION IS NOT ALLOWED O N SYSTEM DATABASES

SQLCODE -617, Error: A TYPE 1 INDEX IS NOT VALID FOR TABLE

SQLCODE -616, Error: CANNOT BE DROPPED BECAUSE I T IS REFERENCED BY

SQLCODE -615, Error: IS NOT ALLOWED ON A PACKAGE IN USE

SQLCODE -614, Error: THE INDEX CANNOT BE CREATED OR THE LENGTH OF THE COLUMN CANNOT
BE CHANGED BECAUSE THE
SUM OF THE INTERNAL LENGTHS OF THE IDENTIFIED COLUM NS IS GREATER THAN THE ALLOWABLE
MAXIMUM

SQLCODE -613, Error: THE PRIMARY KEY OR A UNIQUE CONSTRAINT IS TOO LONG OR HAS TOO
MANY COLUMNS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
uDS
SSS
SQLCODE -612, Error: IS A DUPLICATE COLUMN NAME

SQLCODE -611, Error: ONLY LOCKMAX 0 CAN BE SPECI FIED WHEN THE LOCK SIZE OF THE
TABLESPACE IS TABLESPACE OR TABLE

SQLCODE -607, Error: OPERATION OR OPTION IS NOT DEFINED FOR THIS OBJECT

SQLCODE -604, Error: A DATA TYPE DEFINITION SPEC IFIES AN INVALID LENGTH, PRECISION,
OR SCALE ATTRIBUTE

SQLCODE -603, Error: A UNIQUE INDEX CANNOT BE CR EATED BECAUSE THE TABLE CONTAINS ROWS
WHICH ARE DUPLICATES
WITH RESPECT TO THE VALUES OF THE IDENTIFIED COLUMN S

SQLCODE -602, Error: TOO MANY COLUMNS SPECIFIED IN A CREATE INDEX

SQLCODE -601, Error: THE NAME OF THE OBJECT TO B E CREATED OR THE TARGET OF A RENAME
STATEMENT IS IDENTICAL
TO THE EXISTING NAME OF THE OBJECT TYPE

SQLCODE -594, Error: ATTEMPT TO CREATE A NULLABL E ROWID OR DISTINCT TYPE COLUMN

SQLCODE -593, Error: NOT NULL MUST BE SPECIFIED FOR ROWID OR DISTINCT TYPE COLUMN

SQLCODE -592, Error: NOT AUTHORIZED TO CREATE FU NCTIONS OR PROCEDURES IN WLM
ENVIRONMENT

SQLCODE -590, Error: PARAMETER NAME IS NOT UNIQ UE IN THE CREATE FOR ROUTINE

SQLCODE -586, Error: THE TOTAL LENGTH OF THE CUR RENT PATH SPECIAL REGISTER CANNOT
EXCEED 254 CHARACTERS

SQLCODE -585, Error: THE SCHEMA NAME CANNOT APP EAR MORE THAN ONCE IN THE CURRENT
PATH

SQLCODE -582, Error: THE SEARCH-CONDITION IN A S EARCHED-WHEN-CLAUSE CANNOT BE A
QUANTIFIED PREDICATE, IN
PREDICATE, OR AN EXISTS PREDICATE

SQLCODE -581, Error: THE DATA TYPES OF THE RESUL T-EXPRESSIONS OF A CASE EXPRESSION
ARE NOT COMPATIBLE

SQLCODE -580, Error: THE RESULT-EXPRESSIONS OF A CASE EXPRESSION CANNOT ALL BE NULL

SQLCODE -579, Error: ATTEMPTED TO READ DATA WH EN THE DEFINITION OF THE FUNCTION OR
PROCEDURE DID NOT SPECIFY THIS ACTION

SQLCODE -577, Error: ATTEMPTED TO MODIFY DATA WHEN THE DEFINITION OF THE FUNCTION
OR PROCEDURE DID NOT SPECIFY THIS ACTION

SQLCODE -574, Error: THE SPECIFIED DEFAULT VALUE OR IDENTITY ATTRIBUTE VALUE
CONFLICTS WITH THE DEFINITION OF COLUMN

SQLCODE -573, Error: TABLE DOES NOT HAVE A UNIQ UE KEY WITH THE SPECIFIED COLUMN
NAMES

SQLCODE -571, Error: THE STATEMENT WOULD RESULT IN A MULTIPLE SITE UPDATE

SQLCODE -567, Error: AUTHORIZATION ERROR USING AUTHORITY PACKAGE = PRIVILEGE =

SQLCODE -559, Error: ALL AUTHORIZATION FUNCTIONS HAVE BEEN DISABLED

SQLCODE -558, Error: INVALID CLAUSE OR COMBINATI ON OF CLAUSES ON A GRANT OR REVOKE

SQLCODE -557, Error: INCONSISTENT GRANT/REVOKE K EYWORD . PERMITTED KEYWORDS ARE

SQLCODE -556, Error: CANNOT HAVE THE PRIVILEGE REVOKED BY BECAUSE THE REVOKEE DOES
NOT POSSESS THE
PRIVILEGE OR THE REVOKER DID NOT MAKE THE GRANT

SQLCODE -555, Error: AN AUTHORIZATION ID CANNOT REVOKE A PRIVILEGE FROM ITSELF

SQLCODE -554, Error: AN AUTHORIZATION ID CANNOT GRANT A PRIVILEGE TO ITSELF

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
upS
SSS
SQLCODE -553, Error: SPECIFIED IS NOT ONE OF TH E VALID AUTHORIZATION IDS

SQLCODE -552, Error: DOES NOT HAVE THE PRIVILEG E TO PERFORM OPERATION

SQLCODE -551, Error: DOES NOT HAVE THE PRIVILEG E TO PERFORM OPERATION ON OBJECT

SQLCODE -549, Error: THE STATEMENT IS NOT ALLOW ED FOR BECAUSE THE BIND OPTION
DYNAMICRULES(RUN) IS NOT IN EFFECT FOR

SQLCODE -548, Error: A CHECK CONSTRAINT THAT IS DEFINED WITH IS INVALID

SQLCODE -546, Error: THE CHECK CONSTRAINT IS IN VALID

SQLCODE -545, Error: THE REQUESTED OPERATION IS NOT ALLOWED BECAUSE A ROW DOES NOT
SATISFY THE CHECK CONSTRAINT

SQLCODE -544, Error: THE CHECK CONSTRAINT SPECIF IED IN THE ALTER TABLE STATEMENT
CANNOT BE ADDED BECAUSE AN
EXISTING ROW VIOLATES THE CHECK CONSTRAINT

SQLCODE -543, Error: A ROW IN A PARENT TABLE CAN NOT BE DELETED BECAUSE THE CHECK
CONSTRAINT RESTRICTS THE DELETION

SQLCODE -542, Error: CANNOT BE A COLUMN OF A PR IMARY KEY, A UNIQUE CONSTRAINT, OR A
PARENT KEY BECAUSE IT CAN CONTAIN NULL VALUES

SQLCODE -540, Error: THE DEFINITION OF TABLE IS INCOMPLETE BECAUSE IT LACKS A
PRIMARY INDEX OR A REQUIRED UNIQUE INDEX

SQLCODE -539, Error: TABLE DOES NOT HAVE A PRIM ARY KEY

SQLCODE -538, Error: FOREIGN KEY DOES NOT CONFO RM TO THE DESCRIPTION OF A PARENT KEY
OF TABLE

SQLCODE -537, Error: THE PRIMARY KEY CLAUSE, A F OREIGN KEY CLAUSE, OR A UNIQUE CLAUSE
IDENTIFIES COLUMN MORE THAN ONCE

SQLCODE -536, Error: THE DELETE STATEMENT IS INV ALID BECAUSE TABLE CAN BE AFFECTED
BY THE OPERATION

SQLCODE -534, Error: THE PRIMARY KEY CANNOT BE U PDATED BECAUSE OF MULTIPLE-ROW UPDATE

SQLCODE -533, Error: INVALID MULTIPLE-ROW INSERT

SQLCODE -532, Error: THE RELATIONSHIP RESTRICTS THE DELETION OF ROW WITH RID X''

SQLCODE -531, Error: PARENT KEY IN A PARENT ROW CANNOT BE UPDATED BECAUSE IT HAS ONE
OR MORE DEPENDENT ROWS IN RELATIONSHIP

SQLCODE -530, Error: THE INSERT OR UPDATE VALUE OF FOREIGN KEY IS INVALID

SQLCODE -526, Error: THE REQUESTED OPERATION OR USAGE DOES NOT APPLY TO TEMPORARY
TABLE

SQLCODE -525, Error: THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE IT WAS IN ERROR AT
BIND TIME FOR SECTION
= PACKAGE = CONSISTENCY TOKEN = X''

SQLCODE -519, Error: THE PREPARE STATEMENT IDENT IFIES THE SELECT STATEMENT OF THE
OPENED CURSOR

SQLCODE -518, Error: THE EXECUTE STATEMENT DOES NOT IDENTIFY A VALID PREPARED
STATEMENT

SQLCODE -517, Error: CURSOR CANNOT BE USED BECA USE ITS STATEMENT NAME DOES NOT
IDENTIFY A PREPARED SELECT STATEMENT

SQLCODE -516, Error: THE DESCRIBE FOR STATIC STA TEMENT DOES NOT IDENTIFY A PREPARED
STATEMENT

SQLCODE -514, Error: THE CURSOR IS NOT IN A PRE PARED STATE

SQLCODE -513, Error: THE ALIAS MUST NOT BE DEFI NED ON ANOTHER LOCAL OR REMOTE ALIAS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
uoS
SSS
SQLCODE -512, Error: STATEMENT REFERENCE TO REMO TE OBJECT IS INVALID

SQLCODE -511, Error: THE FOR UPDATE CLAUSE CANNO T BE SPECIFIED BECAUSE THE TABLE
DESIGNATED BY THE CURSOR CANNOT BE MODIFIED

SQLCODE -510, Error: THE TABLE DESIGNATED BY THE CURSOR OF THE UPDATE OR DELETE
STATEMENT CANNOT BE MODIFIED

SQLCODE -509, Error: THE TABLE IDENTIFIED IN THE UPDATE OR DELETE STATEMENT IS NOT
THE SAME TABLE
DESIGNATED BY THE CURSOR

SQLCODE -508, Error: THE CURSOR IDENTIFIED IN TH E UPDATE OR DELETE STATEMENT IS NOT
POSITIONED ON A ROW

SQLCODE -507, Error: THE CURSOR IDENTIFIED IN TH E UPDATE OR DELETE STATEMENT IS NOT
OPEN

SQLCODE -504, Error: THE CURSOR NAME IS NOT DEF INED

SQLCODE -503, Error: A COLUMN CANNOT BE UPDATED BECAUSE IT IS NOT IDENTIFIED IN THE
UPDATE CLAUSE OF THE
SELECT STATEMENT OF THE CURSOR

SQLCODE -502, Error: THE CURSOR IDENTIFIED IN AN OPEN STATEMENT IS ALREADY OPEN

SQLCODE -501, Error: THE CURSOR IDENTIFIED IN A FETCH OR CLOSE STATEMENT IS NOT OPEN

SQLCODE -500, Error: THE IDENTIFIED CURSOR WAS C LOSED WHEN THE CONNECTION WAS
DESTROYED

SQLCODE -499, Error: CURSOR HAS ALREADY BEEN AS SIGNED TO THIS OR ANOTHER RESULT SET
FROM PROCEDURE

SQLCODE -497, Error: THE MAXIMUM LIMIT OF INTERN AL IDENTIFIERS HAS BEEN EXCEEDED FOR
DATABASE

SQLCODE -496, Error: THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE IT REFERENCES A
RESULT SET THAT WAS NOT
CREATED BY THE CURRENT SERVER

SQLCODE -495, Error: ESTIMATED PROCESSOR COST OF PROCESSOR SECONDS ( SERVICE UNITS)
IN COST CATEGORY
EXCEEDS A RESOURCE LIMIT ERROR THRESHOLD OF SERVIC E UNITS

SQLCODE -492, Error: THE CREATE FUNCTION FOR HA S A PROBLEM WITH PARAMETER NUMBER .
IT MAY INVOLVE A
MISMATCH WITH A SOURCE FUNCTION

SQLCODE -491, Error: CREATE STATEMENT FOR USER-D EFINED FUNCTION MUST HAVE A RETURNS
CLAUSE, AND EITHER THE
EXTERNAL CLAUSE (WITH OTHER REQUIRED KEYWORDS) OR T HE SOURCE CLAUSE

SQLCODE -490, Error: NUMBER DIRECTLY SPECIFIED IN AN SQL STATEMENT IS OUTSIDE THE
RANGE OF ALLOWABLE
VALUES IN THIS CONTEXT (, )

SQLCODE -487, Error: ATTEMPTED TO EXECUTE AN S QL STATEMENT WHEN THE DEFINITION OF
THE FUNCTION OR
PROCEDURE DID NOT SPECIFY THIS ACTION

SQLCODE -483, Error: IN CREATE FUNCTION FOR STA TEMENT, THE NUMBER OF PARAMETERS DOES
NOT MATCH THE NUMBER
OF PARAMETERS OF THE SOURCE FUNCTION

SQLCODE -482, Error: THE PROCEDURE RETURNED NO LOCATORS

SQLCODE -480, Error: THE PROCEDURE HAS NOT YET BEEN CALLED

SQLCODE -478, Error: DROP OR REVOKE ON OBJECT TY PE CANNOT BE PROCESSED BECAUSE
OBJECT OF TYPE IS
DEPENDENT ON IT

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
udS
SSS
SQLCODE -476, Error: REFERENCE TO FUNCTION WAS NAMED WITHOUT A SIGNATURE, BUT THE
FUNCTION IS NOT UNIQUE
WITHIN ITS SCHEMA

SQLCODE -475, Error: THE RESULT TYPE OF THE SOU RCE FUNCTION CANNOT BE CAST TO THE
RETURNS TYPE OF THE
USER-DEFINED FUNCTION

SQLCODE -473, Error: A USER DEFINED DATA TYPE CA NNOT BE CALLED THE SAME NAME AS A
SYSTEM PREDEFINED TYPE
(BUILT-IN TYPE)

SQLCODE -472, Error: CURSOR WAS LEFT OPEN BY EX TERNAL FUNCTION (SPECIFIC NAME )

SQLCODE -471, Error: INVOCATION OF FUNCTION OR P ROCEDURE FAILED DUE TO REASON

SQLCODE -470, Error: SQL CALL STATEMENT SPECIFIE D A NULL VALUE FOR INPUT PARAMETER ,
BUT THE STORED
PROCEDURE DOES NOT SUPPORT NULL VALUES

SQLCODE -469, Error: SQL CALL STATEMENT MUST SPE CIFY AN OUTPUT HOST VARIABLE FOR
PARAMETER

SQLCODE -463, Error: EXTERNAL FUNCTION (SPECIFI C NAME ) HAS RETURNED AN INVALID
SQLSTATE , WITH DIAGNOSTIC TEXT

SQLCODE -461, Error: A VALUE WITH DATA TYPE CAN NOT BE CAST TO TYPE

SQLCODE -458, Error: IN A REFERENCE TO FUNCTION BY SIGNATURE, A MATCHING FUNCTION
COULD NOT BE FOUND

SQLCODE -457, Error: A FUNCTION OR DISTINCT TYPE CANNOT BE CALLED SINCE IT IS
RESERVED FOR SYSTEM USE

SQLCODE -456, Error: IN CREATE FUNCTION FOR , TH E SPECIFIC NAME ALREADY EXISTS IN
THE SCHEMA

SQLCODE -455, Error: IN CREATE FUNCTION FOR , TH E SCHEMA NAME PROVIDED FOR THE
SPECIFIC NAME DOES NOT
MATCH THE SCHEMA NAME OF THE FUNCTION

SQLCODE -454, Error: THE SIGNATURE PROVIDED IN T HE CREATE FUNCTION STATEMENT FOR
MATCHES THE SIGNATURE OF
SOME OTHER FUNCTION ALREADY EXISTING IN THE SCHEMA

SQLCODE -453, Error: THERE IS A PROBLEM WITH THE RETURNS CLAUSE IN THE CREATE
FUNCTION STATEMENT FOR

SQLCODE -451, Error: THE DEFINITION, IN THE CRE ATE FUNCTION FOR CONTAINS DATA TYPE
WHICH IS NOT
APPROPRIATE FOR AN EXTERNAL FUNCTION WRITTEN IN THE GIVEN LANGUAGE

SQLCODE -450, Error: USER-DEFINED FUNCTION OR ST ORED PROCEDURE , PARAMETER NUMBER ,
OVERLAYED STORAGE
BEYOND ITS DECLARED LENGTH

SQLCODE -449, Error: CREATE OR ALTER STATEMENT F OR FUNCTION OR PROCEDURE CONTAINS AN
INVALID FORMAT OF THE
EXTERNAL NAME CLAUSE OR IS MISSING THE EXTERNAL NAM E CLAUSE

SQLCODE -444, Error: USER PROGRAM COULD NOT BE FOUND

SQLCODE -443, Error: EXTERNAL FUNCTION (SPECIFI C NAME ) HAS RETURNED AN ERROR
SQLSTATE WITH DIAGNOSTIC TEXT

SQLCODE -441, Error: INVALID USE OF 'DISTINCT' O R 'ALL' WITH SCALAR FUNCTION

SQLCODE -440, Error: NO BY THE NAME HAVING COM PATIBLE ARGUMENTS WAS FOUND IN THE
CURRENT PATH

SQLCODE -438, Error: APPLICATION RAISED ERROR WI TH DIAGNOSTIC TEXT:

SQLCODE -435, Error: AN INVALID SQLSTATE IS SPE CIFIED IN THE FUNCTION RAISE_ERROR OR
IN A SIGNAL SQLSTATE STATEMENT

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
umS
SSS

SQLCODE -433, Error: VALUE IS TOO LONG

SQLCODE -430, ERROR: (SPECIFIC NAME ) HA S ABNORMALLY TERMINATED

SQLCODE -427, Error: DYNAMIC ROLLBACK NOT VALID AT AN APPLICATION SERVER WHERE
UPDATES ARE NOT ALLOWED

SQLCODE -426, Error: DYNAMIC COMMIT NOT VALID AT AN APPLICATION SERVER WHERE UPDATES
ARE NOT ALLOWED

SQLCODE -423, Error: INVALID VALUE FOR LOCATOR I N POSITION

SQLCODE -421, Error: THE OPERANDS OF A UNION OR UNION ALL DO NOT HAVE THE SAME NUMBER
OF COLUMNS

SQLCODE -420, Error: THE VALUE OF A CHARACTER ST RING ARGUMENT WAS NOT ACCEPTABLE TO
THE FUNCTION

SQLCODE -419, Error: A DECIMAL DIVIDE OPERATION IS INVALID BECAUSE THE RESULT WOULD
HAVE A NEGATIVE SCALE

SQLCODE -418, Error: A STATEMENT STRING TO BE PR EPARED CONTAINS AN INVALID USE OF
PARAMETER MARKERS

SQLCODE -417, Error: A STATEMENT STRING TO BE PR EPARED INCLUDES PARAMETER MARKERS AS
THE OPERANDS OF THE SAME OPERATOR

SQLCODE -416, Error: AN OPERAND OF A UNION CONTA INS A LONG STRING COLUMN

SQLCODE -415, Error: THE CORRESPONDING COLUMNS, , OF THE OPERANDS OF A UNION OR A
UNION ALL DO NOT HAVE
COMPARABLE COLUMN DESCRIPTIONS

SQLCODE -414, Error: A LIKE PREDICATE IS INVALID BECAUSE THE FIRST OPERAND IS NOT A
STRING

SQLCODE -413, Error: OVERFLOW OCCURRED DURING NU MERIC DATA TYPE CONVERSION

SQLCODE -412, Error: THE SELECT CLAUSE OF A SUBQ UERY SPECIFIES MULTIPLE COLUMNS

SQLCODE -411, Error: CURRENT SQLID CANNOT BE USE D IN A STATEMENT THAT REFERENCES
REMOTE OBJECTS

SQLCODE -410, Error: THE FLOATING POINT LITERAL CONTAINS MORE THAN 30 CHARACTERS

SQLCODE -409, Error: INVALID OPERAND OF A COUNT FUNCTION

SQLCODE -408, Error: THE VALUE IS NOT COMPATIBLE WITH THE DATA TYPE OF ITS TARGET

SQLCODE -407, Error: AN UPDATE, INSERT, OR SET V ALUE IS NULL, BUT THE OBJECT COLUMN
CANNOT CONTAIN NULL VALUES

SQLCODE -406, Error: A CALCULATED OR DERIVED NUM ERIC VALUE IS NOT WITHIN THE RANGE OF
ITS OBJECT COLUMN

SQLCODE -405, Error: THE NUMERIC LITERAL CANNOT BE USED AS SPECIFIED BECAUSE IT IS
OUT OF RANGE

SQLCODE -404, Error: THE SQL STATEMENT SPECIFIES A STRING THAT IS TOO LONG

SQLCODE -402, Error: AN ARITHMETIC FUNCTION OR O PERATOR IS APPLIED TO CHARACTER OR
DATETIME DATA

SQLCODE -401, Error: THE OPERANDS OF AN ARITHMET IC OR COMPARISON OPERATION ARE NOT
COMPARABLE

SQLCODE -400, Error: THE CATALOG HAS THE MAXIMUM NUMBER OF USER DEFINED INDEXES

SQLCODE -399, Error: ATTEMPTED TO INSERT AN INVA LID VALUE INTO A ROWID COLUMN

SQLCODE -398, Error: A LOCATOR WAS REQUESTED FOR HOST VARIABLE NUMBER BUT THE
VARIABLE IS NOT A LOB

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
uíS
SSS
SQLCODE -397, Error: THE OPTION GENERATED IS SPE CIFIED WITH A COLUMN THAT IS NOT A
ROW ID OR DISTINCT TYPE BASED ON A ROW ID

SQLCODE -396, Error: ATTEMPTED TO EXECUTE AN SQL STATEMENT DURING FINAL CALL
PROCESSING

SQLCODE -392, Error: SQLDA PROVIDED FOR CURSOR HAS BEEN CHANGED FROM THE PREVIOUS
FETCH

SQLCODE -390, Error: THE FUNCTION NAME , SPECIFI C NAME , IS NOT VALID IN THE CONTEXT
IN WHICH IT OCCURS

SQLCODE -373, Error: DEFAULT CANNOT BE SPECIFIED FOR IDENTITY COLUMN

SQLCODE -372, Error: ONLY ONE ROWID OR IDENTITY COLUMN IS ALLOWED IN A TABLE

SQLCODE -359, Error: THE RANGE OF VALUES FOR THE IDENTITY COLUMN IS EXHAUSTED

SQLCODE -355, Error: A LOB COLUMN IS TOO LARGE T O BE LOGGED

SQLCODE -352, Error: AN UNSUPPORTED SQLTYPE WAS ENCOUNTERED IN POSITION OF THE
INPUT-LIST

SQLCODE -351, Error: AN UNSUPPORTED SQLTYPE WAS ENCOUNTERED IN POSITION OF THE
SELECT-LIST

SQLCODE -350, Error: INVALID SPECIFICATION OF A LARGE OBJECT COLUMN

SQLCODE -339, Error: THE SQL STATEMENT CANNOT BE EXECUTED FROM AN ASCII BASED DRDA
APPLICATION REQUESTOR TO
A V2R2 DB2 SUBSYSTEM

SQLCODE -338, Error: AN ON CLAUSE IS INVALID

SQLCODE -333, Error: THE SUBTYPE OF A STRING VAR IABLE IS NOT THE SAME AS THE SUBTYPE
KNOWN AT BIND TIME AND
THE DIFFERENCE CANNOT BE RESOLVED BY TRANSLATION

SQLCODE -332, Error: SYSSTRINGS DOES NOT DEFINE A TRANSLATION FROM CCSID TO

SQLCODE -331, Error: A STRING CANNOT BE ASSIGNED TO A HOST VARIABLE BECAUSE IT CANNOT
BE TRANSLATED.
REASON , CHARACTER , POSITION

SQLCODE -330, Error: A STRING CANNOT BE USED BEC AUSE IT CANNOT BE TRANSLATED. REASON
, CHARACTER , HOST VARIABLE

SQLCODE -327, Error: THE ROW CANNOT BE INSERTED BECAUSE IT IS OUTSIDE THE BOUND OF
THE PARTITION RANGE FOR
THE LAST PARTITION

SQLCODE -314, Error: THE STATEMENT CONTAINS AN A MBIGUOUS HOST VARIABLE REFERENCE

SQLCODE -313, Error: THE NUMBER OF HOST VARIABLE S SPECIFIED IS NOT EQUAL TO THE
NUMBER OF PARAMETER MARKERS

SQLCODE -312, Error: IS AN UNDEFINED OR UNUSABL E HOST VARIABLE OR IS USED IN A
DYNAMIC SQL STATEMENT OR A
TRIGGER DEFINITION

SQLCODE -311, Error: THE LENGTH OF INPUT HOST VA RIABLE NUMBER IS NEGATIVE OR GREATER
THAN THE MAXIMUM

SQLCODE -310, Error: DECIMAL HOST VARIABLE OR PA RAMETER CONTAINS NON-DECIMAL DATA

SQLCODE -309, Error: A PREDICATE IS INVALID BECA USE A REFERENCED HOST VARIABLE HAS
THE NULL VALUE

SQLCODE -305, Error: THE NULL VALUE CANNOT BE AS SIGNED TO OUTPUT HOST VARIABLE NUMBER
BECAUSE NO INDICATOR
VARIABLE IS SPECIFIED

SQLCODE -304, Error: A VALUE WITH DATA TYPE CAN NOT BE ASSIGNED TO A HOST VARIABLE
BECAUSE THE VALUE IS NOT

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
u)S
SSS
WITHIN THE RANGE OF THE HOST VARIABLE IN POSITION WITH DATA TYPE

SQLCODE -303, Error: A VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER
BECAUSE THE DATA TYPES ARE
NOT COMPARABLE

SQLCODE -302, Error: THE VALUE OF INPUT VARIABLE OR PARAMETER NUMBER IS INVALID OR
TOO LARGE FOR THE
TARGET COLUMN OR THE TARGET VALUE

SQLCODE -301, Error: THE VALUE OF INPUT HOST VAR IABLE OR PARAMETER NUMBER CANNOT BE
USED AS SPECIFIED
BECAUSE OF ITS DATA TYPE

SQLCODE -300, Error: THE STRING CONTAINED IN HOS T VARIABLE OR PARAMETER IS NOT NUL-
TERMINATED

SQLCODE -251, Error: TOKEN IS NOT VALID

SQLCODE -250, Error: THE LOCAL LOCATION NAME IS NOT DEFINED WHEN PROCESSING A THREE-
PART OBJECT NAME

SQLCODE -240, Error: THE PART CLAUSE OF A LOCK T ABLE STATEMENT IS INVALID

SQLCODE -229, Error: THE LOCALE SPECIFIED IN A SET LOCALE OR OTHER STATEMENT THAT IS
LOCALE SENSITIVE WAS NOT FOUND

SQLCODE -221, Error: "SET OF OPTIONAL COLUMNS" I N EXPLANATION TABLE IS INCOMPLETE.
OPTIONAL COLUMN IS MISSING

SQLCODE -220, Error: THE COLUMN IN EXPLANATION TABLE IS NOT DEFINED PROPERLY

SQLCODE -219, Error: THE REQUIRED EXPLANATION TA BLE DOES NOT EXIST

SQLCODE -214, Error: AN EXPRESSION STARTING WITH IN THE CLAUSE IS NOT VALID.
REASON CODE =

SQLCODE -212, Error: IS SPECIFIED MORE THAN ONC E IN THE REFERENCING CLAUSE OF A
TRIGGER DEFINITION

SQLCODE -208, Error: THE ORDER BY CLAUSE IS INVA LID BECAUSE COLUMN IS NOT PART OF
THE RESULT TABLE

SQLCODE -206, Error: IS NOT A COLUMN OF AN INSE RTED TABLE, UPDATED TABLE, OR ANY
TABLE IDENTIFIED IN A
FROM CLAUSE, OR IS NOT A COLUMN OF THE TRIGGERING T ABLE OF A TRIGGER

SQLCODE -205, Error: IS NOT A COLUMN OF TABLE

SQLCODE -204, Error: IS AN UNDEFINED NAME

SQLCODE -203, Error: A REFERENCE TO COLUMN IS A MBIGUOUS

SQLCODE -199, Error: ILLEGAL USE OF KEYWORD , TO KEN WAS EXPECTED

SQLCODE -198, Error: THE OPERAND OF THE PREPARE OR EXECUTE IMMEDIATE STATEMENT IS
BLANK OR EMPTY

SQLCODE -197, Error: QUALIFIED COLUMN NAMES IN O RDER BY CLAUSE NOT PERMITTED WHEN
UNION OR UNION ALL
SPECIFIED

SQLCODE -191, Error: A STRING CANNOT BE USED BEC AUSE IT IS INVALID MIXED DATA

SQLCODE -190, Error: ATTRIBUTES OF COLUMN IN TA BLE ARE NOT COMPATIBLE WITH THE
EXISTING COLUMN

SQLCODE -189, Error: CCSID IS UNKNOWN OR INVALI D FOR THE DATA TYPE OR SUBTYPE

SQLCODE -188, Error: THE STRING REPRESENTATION O F A NAME IS INVALID

SQLCODE -187, Error: A REFERENCE TO A CURRENT DA TE/TIME SPECIAL REGISTER IS INVALID
BECAUSE THE MVS TOD
CLOCK IS BAD OR THE MVS PARMTZ IS OUT OF RANGE

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
uuS
SSS

SQLCODE -186, Error: THE LOCAL DATE LENGTH OR LO CAL TIME LENGTH HAS BEEN INCREASED
AND EXECUTING PROGRAM
RELIES ON THE OLD LENGTH

SQLCODE -185, Error: THE LOCAL FORMAT OPTION HAS BEEN USED WITH A DATE OR TIME AND NO
LOCAL EXIT HAS BEEN INSTALLED

SQLCODE -184, Error: AN ARITHMETIC EXPRESSION WI TH A DATETIME VALUE CONTAINS A
PARAMETER MARKER

SQLCODE -183, Error: AN ARITHMETIC OPERATION ON A DATE OR TIMESTAMP HAS A RESULT THAT
IS NOT WITHIN THE
VALID RANGE OF DATES

SQLCODE -182, Error: AN ARITHMETIC EXPRESSION WI TH A DATETIME VALUE IS INVALID

SQLCODE -181, Error: THE STRING REPRESENTATION O F A DATETIME VALUE IS NOT A VALID
DATETIME VALUE

SQLCODE -180, Error: THE DATE, TIME, OR TIMESTAM P VALUE IS INVALID

SQLCODE -173, Error: UR IS SPECIFIED ON THE WITH CLAUSE BUT THE CURSOR IS NOT READ-
ONLY

SQLCODE -171, Error: THE DATA TYPE, LENGTH, OR V ALUE OF ARGUMENT OF IS INVALID

SQLCODE -170, Error: THE NUMBER OF ARGUMENTS SPE CIFIED FOR IS INVALID

SQLCODE -164, Error: DOES NOT HAVE THE PRIVILEG E TO CREATE A VIEW WITH QUALIFICATION

SQLCODE -161, Error: THE INSERT OR UPDATE IS NOT ALLOWED BECAUSE A RESULTING ROW DOES
NOT SATISFY THE VIEW DEFINITION

SQLCODE -160, Error: THE WITH CHECK OPTION CANNO T BE USED FOR THE SPECIFIED VIEW

SQLCODE -159, Error: DROP OR COMMENT ON IDENTIF IES A(N) RATHER THAN A(N)

SQLCODE -158, Error: THE NUMBER OF COLUMNS SPECI FIED FOR THE VIEW IS NOT THE SAME AS
THE NUMBER OF COLUMNS SPECIFIED BY THE SELECT CLAUS E, OR THE NUMBER OF COLUMNS SPECIFIED
IN THE CORRELATION CLAUSE IN A FROM CLAUSE IS NOT T HE SAME AS THE NUMBER OF COLUMNS IN
THE CORRESPONDING TABLE, VIEW, TABLE EXPRESSION, OR TABLE FUNCTION

SQLCODE -157, Error: ONLY A TABLE NAME CAN BE SP ECIFIED IN A FOREIGN KEY CLAUSE. IS
NOT THE NAME OF A TABLE

SQLCODE -156, Error: THE STATEMENT DOES NOT IDEN TIFY A TABLE

SQLCODE -154, Error: THE STATEMENT IS INVALID BE CAUSE THE VIEW OR TABLE DEFINITION IS
NOT VALID

SQLCODE -153, Error: THE STATEMENT IS INVALID BE CAUSE THE VIEW OR TABLE DEFINITION
DOES NOT INCLUDE A
UNIQUE NAME FOR EACH COLUMN

SQLCODE -152, Error: THE DROP CLAUSE IN THE ALT ER STATEMENT IS INVALID BECAUSE IS A

SQLCODE -151, Error: THE UPDATE STATEMENT IS INV ALID BECAUSE THE CATALOG DESCRIPTION
OF COLUMN INDICATES
THAT IT CANNOT BE UPDATED

SQLCODE -150, Error: THE OBJECT OF THE INSERT, D ELETE, OR UPDATE STATEMENT IS A VIEW
OR TRANSITION TABLE
FOR WHICH THE REQUESTED OPERATION IS NOT PERMITTED

SQLCODE -148, Error: THE SOURCE TABLE CANNOT BE RENAMED OR ALTERED

SQLCODE -147, Error: ALTER FUNCTION FAILED BECA USE SOURCE FUNCTIONS CANNOT BE
ALTERED

SQLCODE -144, Error: INVALID SECTION NUMBER

SQLCODE -142, Error: THE SQL STATEMENT IS NOT SU PPORTED

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
uUS
SSS
SQLCODE -138, Error: THE SECOND OR THIRD ARGUMEN T OF THE SUBSTR FUNCTION IS OUT OF
RANGE

SQLCODE -137, Error: THE LENGTH RESULTING FROM IS GREATER THAN

SQLCODE -136, Error: SORT CANNOT BE EXECUTED BEC AUSE THE SORT KEY LENGTH IS GREATER
THAN 4000 BYTES

SQLCODE -134, Error: IMPROPER USE OF LONG STRING COLUMN OR AN EXPRESSION OF MAXIMUM
LENGTH GREATER THAN 255

SQLCODE -133, Error: A COLUMN FUNCTION IN A SUBQ UERY OF A HAVING CLAUSE IS INVALID
BECAUSE ALL COLUMN
REFERENCES IN ITS ARGUMENT ARE NOT CORRELATED TO TH E GROUP BY RESULT THAT THE HAVING
CLAUSE IS APPLIED TO

SQLCODE -132, Error: AN OPERAND OF x IS NOT VALI D

SQLCODE -131, Error: STATEMENT WITH LIKE PREDICA TE HAS INCOMPATIBLE DATA TYPES

SQLCODE -130, Error: THE ESCAPE CLAUSE CONSISTS OF MORE THAN ONE CHARACTER, OR THE
STRING PATTERN CONTAINS
AN INVALID OCCURRENCE OF THE ESCAPE CHARACTER

SQLCODE -129, Error: THE STATEMENT CONTAINS TOO MANY TABLE NAMES

SQLCODE -128, Error: INVALID USE OF NULL IN A PR EDICATE

SQLCODE -127, Error: DISTINCT IS SPECIFIED MORE THAN ONCE IN A SUBSELECT

SQLCODE -126, Error: THE SELECT STATEMENT CONTAI NS BOTH AN UPDATE CLAUSE AND AN ORDER
BY CLAUSE

SQLCODE -125, Error: AN INTEGER IN THE ORDER BY CLAUSE DOES NOT IDENTIFY A COLUMN OF
THE RESULT

SQLCODE -123, Error: THE PARAMETER IN POSITION IN THE FUNCTION MUST BE A CONSTANT
OR KEYWORD

SQLCODE -122, Error: A SELECT STATEMENT WITH NO GROUP BY CLAUSE CONTAINS A COLUMN
NAME AND A COLUMN
FUNCTION IN THE SELECT CLAUSE OR A COLUMN NAME IS C ONTAINED IN THE SELECT CLAUSE BUT NOT
IN THE GROUP BY CLAUSE

SQLCODE -121, Error: THE COLUMN IS IDENTIFIED M ORE THAN ONCE IN THE INSERT OR UPDATE
OR SET TRANSITION VARIABLE STATEMENT

SQLCODE -120, Error: A WHERE CLAUSE, SET CLAUSE, VALUES CLAUSE, OR A SET ASSIGNMENT
STATEMENT INCLUDES A
COLUMN FUNCTION

SQLCODE -119, Error: A COLUMN IDENTIFIED IN A HA VING CLAUSE IS NOT INCLUDED IN THE
GROUP BY CLAUSE

SQLCODE -118, Error: THE OBJECT TABLE OR VIEW OF THE DELETE OR UPDATE STATEMENT IS
ALSO IDENTIFIED IN A FROM CLAUSE

SQLCODE -117, Error: THE NUMBER OF ASSIGNED VALU ES IS NOT THE SAME AS THE NUMBER OF
SPECIFIED OR IMPLIED
COLUMNS

SQLCODE -115, Error: A PREDICATE IS INVALID BECA USE THE COMPARISON OPERATOR IS
FOLLOWED BY A PARENTHESIZED
LIST OR BY ANY OR ALL WITHOUT A SUBQUERY

SQLCODE -114, Error: THE LOCATION NAME DOES NOT MATCH THE CURRENT SERVER

SQLCODE -113, Error: INVALID CHARACTER FOUND IN: . REASON CODE

SQLCODE -112, Error: THE OPERAND OF A COLUMN FUN CTION IS ANOTHER COLUMN FUNCTION

SQLCODE -111, Error: A COLUMN FUNCTION DOES NOT INCLUDE A COLUMN NAME

SQLCODE -110, Error: INVALID HEXADECIMAL LITERAL BEGINNING

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
u<S
SSS

SQLCODE -109, Error: CLAUSE IS NOT PERMITTED

SQLCODE -108, Error: THE NAME IS QUALIFIED INCO RRECTLY

SQLCODE -107, Error: THE NAME IS TOO LONG. MAX IMUM ALLOWABLE SIZE IS

SQLCODE -105, Error: INVALID STRING

SQLCODE -104, Error: ILLEGAL SYMBOL "". SOME SYM BOLS THAT MIGHT BE LEGAL ARE:

SQLCODE -103, Error: IS AN INVALID NUMERIC LITE RAL

SQLCODE -102, Error: LITERAL STRING IS TOO LONG. STRING BEGINS

SQLCODE -101, Error: THE STATEMENT IS TOO LONG O R TOO COMPLEX

SQLCODE -097, Error: THE USE OF LONG VARCHAR OR LONG VARGRAPHIC IS NOT ALLOWED IN
THIS CONTEXT

SQLCODE -084, Error: UNACCEPTABLE SQL STATEMENT

SQLCODE -079, Error: QUALIFIER FOR DECLARED GLOB AL TEMPORARY TABLE OR INDEX MUST BE
SESSION, NOT

SQLCODE -060, Error: INVALID SPECIFICATION :

SQLCODE -029, Error: INTO CLAUSE REQUIRED

SQLCODE -010, Error: THE STRING CONSTANT BEGINNI NG IS NOT TERMINATED

SQLCODE -007, Error: STATEMENT CONTAINS THE ILLE GAL CHARACTER

SQLCODE 000,SUCCESSFUL EXECUTION

SQLCODE 012, Warning: THE UNQUALIFIED COLUMN NAM E WAS INTERPRETED AS A CORRELATED
REFERENCE

SQLCODE 098, Warning: A DYNAMIC SQL STATEMENT EN DS WITH A SEMICOLON

SQLCODE 100, NOT FOUND:ROW NOT FOUND FOR FETCH, UPDATE, OR DELETE, OR THE RESULT OF A
QUERY IS AN EMPTY TABLE

SQLCODE 110, Warning: SQL UPDATE TO A DATA CAPTU RE TABLE NOT SIGNALED TO ORIGINATING
SUBSYSTEM

SQLCODE 111, Warning: THE SUBPAGES OPTION IS NOT SUPPORTED FOR TYPE 2 INDEXES

SQLCODE 117, Warning: THE NUMBER OF INSERT VALUE S IS NOT THE SAME AS THE NUMBER OF
OBJECT COLUMNS

SQLCODE 162, Warning: TABLE SPACE . HAS BEEN PLA CED IN CHECK PENDING

SQLCODE 203, Warning: THE QUALIFIED COLUMN NAME WAS RESOLVED USING A NON-UNIQUE OR
UNEXPOSED NAME

SQLCODE 204, Warning: IS AN UNDEFINED NAME

SQLCODE 206, Warning: IS NOT A COLUMN OF AN INS ERTED TABLE, UPDATED TABLE, OR ANY
TABLE IDENTIFIED IN A FROM CLAUSE

SQLCODE 218, Warning: THE SQL STATEMENT REFERENC ING A REMOTE OBJECT CANNOT BE
EXPLAINED

SQLCODE 219, Warning: THE REQUIRED EXPLANATION T ABLE DOES NOT EXIST

SQLCODE 220, Warning: THE COLUMN IN EXPLANATION TABLE IS NOT DEFINED PROPERLY

SQLCODE 236, Warning: SQLDA INCLUDES SQLVAR ENT RIES, BUT ARE REQUIRED FOR COLUMNS

SQLCODE 237, Warning: SQLDA INCLUDES SQLVAR ENT RIES, BUT ARE REQUIRED BECAUSE AT
LEAST ONE OF THE COLUMNS
BEING DESCRIBED IS A DISTINCT TYPE

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
UDS
SSS
SQLCODE 238, Warning: SQLDA INCLUDES SQLVAR ENT RIES, BUT SQLVAR ENTRIES ARE NEEDED
FOR COLUMNS BECAUSE
AT LEAST ONE OF THE COLUMNS BEING DESCRIBED IS A LO B

SQLCODE 239, Warning: SQLDA INCLUDES SQLVAR ENT RIES, BUT ARE REQUIRED FOR COLUMNS
BECAUSE AT LEAST ONE
OF THE COLUMNS BEING DESCRIBED IS A DISTINCT TYPE

SQLCODE 304, Warning: A VALUE WITH DATA TYPE CA NNOT BE ASSIGNED TO A HOST VARIABLE
BECAUSE THE VALUE IS
NOT WITHIN THE RANGE OF THE HOST VARIABLE IN POSITI ON WITH DATA TYPE

SQLCODE 331, Warning: THE NULL VALUE HAS BEEN AS SIGNED TO A HOST VARIABLE BECAUSE THE
STRING CANNOT BE
TRANSLATED. REASON , CHARACTER , HOST VARIABLE

SQLCODE 339, Warning: THE SQL STATEMENT HAS BEEN SUCCESSFULLY EXECUTED BUT THERE MAY
BE SOME CHARACTER
CONVERSION INCONSISTENCIES

SQLCODE 394, Warning: USER SPECIFIED OPTIMIZATIO N HINTS USED DURING ACCESS PATH
SELECTION

SQLCODE 395, Warning: USER SPECIFIED OPTIMIZATIO N HINTS ARE INVALID (REASON CODE =
''). THE OPTIMIZATION HINTS ARE IGNORED

SQLCODE 402, Warning: LOCATION IS UNKNOWN

SQLCODE 403, Warning: THE LOCAL OBJECT REFERENCE D BY THE CREATE ALIAS STATEMENT DOES
NOT EXIST

SQLCODE 434, Warning: OPTION IS A DEPRECATED FE ATURE

SQLCODE 445, Warning: VALUE HAS BEEN TRUNCATED

SQLCODE 462, Warning: EXTERNAL FUNCTION OR PROCE DURE (SPECIFIC NAME ) HAS RETURNED A
WARNING SQLSTATE, WITH DIAGNOSTIC TEXT

SQLCODE 464, Warning: PROCEDURE RETURNED QUERY RESULT SETS, WHICH EXCEEDS THE
DEFINED LIMIT

SQLCODE 466, Warning: PROCEDURE RETURNED QUERY RESULT SETS

SQLCODE 494, Warning: NUMBER OF RESULT SETS IS G REATER THAN NUMBER OF LOCATORS

SQLCODE 495, Warning: ESTIMATED PROCESSOR COST O F PROCESSOR SECONDS ( SERVICE UNITS)
IN COST CATEGORY EXCEEDS A RESOURCE LIMIT WARNING T HRESHOLD OF SERVICE UNITS SQLCODE
535, Warning: THE RESULT OF THE POSITIONED UPDATE O R DELETE MAY DEPEND ON THE ORDER OF
THE ROWS

SQLCODE 541, Warning: THE REFERENTIAL OR UNIQUE CONSTRAINT HAS BEEN IGNORED BECAUSE
IT IS A DUPLICATE

SQLCODE 551, Warning: DOES NOT HAVE THE PRIVILE GE TO PERFORM OPERATION ON OBJECT

SQLCODE 552, Warning: DOES NOT HAVE THE PRIVILE GE TO PERFORM OPERATION

SQLCODE 558, Warning: THE WITH GRANT OPTION IS I GNORED

SQLCODE 561, Warning: THE ALTER, INDEX, REFERENC ES, AND TRIGGER PRIVILEGES CANNOT BE
GRANTED TO PUBLIC AT ALL LOCATIONS

SQLCODE 562, Warning: A GRANT OF A PRIVILEGE WAS IGNORED BECAUSE THE GRANTEE ALREADY
HAS THE PRIVILEGE FROM THE GRANTOR

SQLCODE 585, Warning: THE SCHEMA NAME APPEARS M ORE THAN ONCE IN THE CURRENT PATH

SQLCODE 599, Warning: COMPARISON FUNCTIONS ARE N OT CREATED FOR A DISTINCT TYPE BASED
ON A LONG STRING DATA TYPE

SQLCODE 610, Warning: A CREATE/ALTER ON OBJECT HAS PLACED OBJECT IN PENDING

SQLCODE 625, Warning: THE DEFINITION OF TABLE H AS BEEN CHANGED TO INCOMPLETE

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
UpS
SSS
SQLCODE 626, Warning: DROPPING THE INDEX TERMINA TES ENFORCEMENT OF THE UNIQUENESS OF
A KEY THAT WAS DEFINED
WHEN THE TABLE WAS CREATED

SQLCODE 645, Warning: WHERE NOT NULL IS IGNORED BECAUSE THE INDEX KEY CANNOT CONTAIN
NULL VALUES

SQLCODE 650, Warning: THE TABLE BEING CREATED OR ALTERED CAN NOT BECOME A DEPENDENT
TABLE

SQLCODE 653, Warning: TABLE IN PARTITIONED TABL E SPACE IS NOT AVAILABLE BECAUSE ITS
PARTITIONED INDEX HAS
NOT BEEN CREATED

SQLCODE 655, Warning: STOGROUP HAS BOTH SPECIFI C AND NON-SPECIFIC VOLUME IDS. IT
WILL NOT BE ALLOWED IN
FUTURE RELEASES.

SQLCODE 658, Warning: THE SUBPAGES VALUE IS IGNO RED FOR THE CATALOG INDEX

SQLCODE 664, Warning: THE INTERNAL LENGTH OF THE LIMIT-KEY FIELDS FOR THE PARTITIONED
INDEX EXCEEDS THE
LENGTH IMPOSED BY THE INDEX MANAGER

SQLCODE 738, Warning: DEFINITION CHANGE OF MAY REQUIRE SIMILAR CHANGE ON READ-ONLY
SYSTEMS

SQLCODE 799, Warning: A SET STATEMENT REFERENCES A SPECIAL REGISTER THAT DOES NOT
EXIST AT THE SERVER SITE

SQLCODE 802, Warning: EXCEPTION ERROR HAS OCCUR RED DURING OPERATION ON DATA,
POSITION

SQLCODE 806, Warning: BIND ISOLATION LEVEL RR CO NFLICTS WITH TABLESPACE LOCKSIZE PAGE
OR LOCKSIZE ROW AND LOCKMAX 0

SQLCODE 807, Warning: THE RESULT OF DECIMAL MULT IPLICATION MAY CAUSE OVERFLOW

SQLCODE 863, Warning: THE CONNECTION WAS SUCCESS FUL BUT ONLY SBCS WILL BE SUPPORTED

SQLCODE 883, Warning: ROLLBACK TO SAVEPOINT OCCU RRED WHEN THERE WERE OPERATIONS THAT
CANNOT BE UNDONE OR AN OPERATION THAT CANNOT BE UND ONE OCCURRED WHEN THERE WAS A
SAVEPOINT OUTSTANDING
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
UoS
SSS
ANEXO 2.B SQLCODES EN CASTELLANO.

S
+0 LA SENTENCIA SE HA REALIZADO SATISFACTORIAMENTE.
+100 LA FILA QUE SE PRETENDE BUSCAR NO SE HA ENCONTRADO, BIEN PORQUE NO EXISTE CON LAS
CONDICIONES DE BUSQUEDA O BIEN PORQUE LA TABLA.
ESTA VACIA.
+162 EL ESPACIO PARA TABLAS O LA TABLA ESTAN REVISÁNDOSE O COMPROBÁNDOSE ( NO ESTA
DISPONIBLE).
+304 UN VALOR NO PUEDE SER ASIGNADO A UNA VARIABLE HOST PORQUE EL VALOR NO ESTA DENTRO DEL
RANGO DE LA VARIABLE HOST.
+402 POSICION DESCONOCIDA O IGNORADA.
+403 EL OBJETO REFERENCIADO NO EXISTE PORQUE HA SIDO CRE ADO CON OTRO NOMBRE.
+558 LA OPCION "GRANT" ES IGNORADA PORQUE EL "GRANT" EST A HECHO PUBLICO.
+560 LA OPCION "GRANT" ES IGNORADA PARA MODIFICAR COLUMN AS.
+561 LOS PRIVILEGIOS "ALTER" E "INDEX" NO PUEDEN SER CON CEDIDOS AL HACER EL 'GRANT TO PUBLIC AT
ALL LOCATIONS'.
+625 LA DEFINICION DE UNA TABLA (NOMBRE DE LA TABLA) HA SIDO CAMBIADA A INCOMPLETA.
+802 UN ERROR EXCEPCIONAL (TIPO DE EXCEPCION) HA OCURRID O DURANTE UNA OPERACIÓN (TIPO DE
OPERACIÓN) EN UN DATO (TIPO DE DATO), EN UNA
POSICION (NUMERO DE POSICION).
-007 UNA SENTENCIA SQL CONTIENE UN CARÁCTER ILEGAL, INVA LIDO.
-010 LA CONSTANTE DE "STRING" COMENZADA NO HA SIDO TERMI NADA.
-020 ESTE ERROR DIO EN MICROFOCUS AL INTENTAR HACER UNA UPDATE EN LA QUE SE HABIA PUESTO LA
PALBRA 'SET' DOS VECES.
-060 LA ESPECIFICACION REFERENCIADA ES UN TIPO DE ESPECI FICACION O CARACTERISTICA INVALIDA
PARA EL DB2.
-084 ESTE ERROR DIO UNA VEZ QUE EL COMPILADOR TRAGO UN C AMPO REFERENCIADO EN UNA
SENTENCIA DB2, Y NO EXISTIENDO EN LA WORKING, PASO LA
COMPILACION, CASCANDO EN LA EJECUCION. COMPROBAR LA LINEA DE MENSAJE DEL DB2(ALGUNA DE
LAS PALABRAS ESCRITAS, BIEN NOMBRES
DE COLUMNA, BIEN CAMPOS WORKING, O BIEN LA WHERE ES TAN MAL ESCRITAS). AL HACER UNA
'SELECT COUNT(*)' COMPROBAR QUE TIENE CORRECTA
LA SINTAXIS. AL ABRIR UN CURSOR: COMPROBAR QUE NOM BRE DEL ULTIMO CAMPO DE UNA SELECT
NO LLEGUE HASTA LA COLUMNA 72. SI SUCEDE
ESTO PASAR ESTE ULTIMO CAMPO A LA LINEA SIGUIENTE. EN LA WHERE SE ESTA COMPARANDO UN
NOMBRE DE COLUMNA CON UN CAMPO WORKING
QUE ESTA SUBDIVIDIDO. SOLUCION: MOVER EL CAMPO SUBD IVIDIDO A OTRO CAMPO SIN SUBDIVIDIR Y
COMPARAR CON ESTE.
-101 LA SENTENCIA DB2 ES DEMASIADO LARGA O DEMASIADO COM PLEJA.
-102 UNA CADENA TIENE MAS DE 254 CARACTERES ALFANUMERICO S O MAS DE 124 CARACTERES
GRAFICOS.
-103 HAY UNA CONSTANTE NUMERICA QUE CONTIENE CARACTERES NO NUMERICOS.
-104 CUANDO TENEMOS PUESTO UN SIMBOLO ERRONEO DENTRO DE EL FICHERO UTILIZADO PARA LA
OPERACIÓN REALIZADA.( POR EJEMPLO, UN
ASTERISCO, EN VEZ DE UN GUION). OCURRIO EN EL BIND AL COMPILAR UN PROGRAMA PORQUE EN EL
JCL HABIA UN / EN VEZ DE DOS EN LA DD.
OCURRIO AL HACER UN UPDATE POR SPUFI PORQUE FALTABA ALGUNA COMA DETRÁS DE CADA VALOR
DEFINIDO EN EL 'SET' PARA MODIFICARLO.
OCURRIO AL HACER UNA SELECT CON ORDER BY POR SPUFI Y FALTABA UNA COMA DETRÁS DE CADA
CAMPO DEL ORDER BY. OCURRIO AL HACER
UNA SELECT CON ORDER BY POR SPUFI Y FALTABA UNA COM A DETRÁS DE CADA CAMPO DEL ORDER
BY. OCURRIO AL HACER UNA SELECT CON
CON ORDER EN DESCENDENTE POR SPUFI Y SE PUSO: NOMBR E-CAMPO D , EN VES DE DESC..
-105 CONSTANTE DE CADENA INVALIDA.
-107 HAY UN NOMBRE DE CAMPO DEMASIADO LARGO (VER MAXIMA LONGITUD EN EL MENSAJE DE DE
ERROR).
-109 CLAUSULA NO PERMITIDA EN ESTA SENTENCIA.
-110 COMIENZO DE UN LITERAL HEXADECIMAL ERRONEO.
-111 UNA FUNCION SQL NO INCLUYE NOMBRE DE CAMPO.
-112 EL OPERANDO DE UNA FUNCION SQL ES OTRA FUNCION SQL, O DISTINCT SEGUIDO DE OTRA
EXPRESION.
-113 SE HA DETECTADO UN CARÁCTER INVALIDO EN UNA PALABRA DE LA SENTENCIA SQL.
-115 LA PARTE DERECHA DE UNA COMPARACION ES ERRONEA PORQ UE EL OPERADOR ESTA SEGUIDO DE
UN GRUPO DE PARENTESIS Y EN ALGUNO O EN
TODOS FALTA UNA SUBSELECT.
-117 EL NUMERO DE VALORES EN UNA INSERT ES DISTINTO DEL DE COLUMNAS DE LA TABLA. CUANDO LA
DCL DE LA TABLA ES SUPERIOR, EN LONGITUD,
A LA DCL QUE TENEMOS NOSOTROS EN TSO17. TENDREMOS Q UE CREAR LA TABLA DE NUEVO EN
'TSO17.FUENTES.DB2'.
-118 LA TABLA O VISTA EN UNA INSERT, DELETE O UPDATE DEB E SER IDENTIFICADA TAMBIEN EN LA
CLAUSULA FROM. SE INTENTA DECLARAR UN CURSOR
CON UNA JOIN, O CON UNA SUBSELECT, PARA INSERCION, MODIFICADO O BORRADO.
-119 HAY UNA COLUMNA EN LA CLAUSULA HAVING QUE NO ESTA I NCLUIDA EN LA CLAUSULA GROUP BY.
-120 ERROR EN LA CLAUSULA WHERE DE UNA FUNCION SQL, O EN UNA COLUMNA DE UN GROUP BY DE UNA
VISTA.
-121 SE HA REPETIDO EL NOMBRE DE ALGUNA COLUMNA EN ALGUN A INSTRUCCIÓN UPDATE.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
UdS
SSS
-122 SE INTENTA HACER UNA SELECT CON GROUP BY EN LA QUE EXISTEN CAMPOS EN LA SELECT QUE NO
ESTAN EN EL GROUP BY.
-125 UN ENTERO EN LA CLAUSULA ORDER BY NO IDENTIFICA LA COLUMNA DEL RESULTADO.
-126 UNA SENTENCIA CONTIENE A LA VEZ LAS CLAUSULAS FOR U PDATE Y ORDER BY.
-127 NOS DIO CUANDO INTENTAMOS HACER DOS SENTENCIAS: SEL ECT COUNT (DISTINCT XXXXXXXX) EN LA
MISMA SENTENCIA SQL.
-128 UTILIZACION INCORRECTA DE 'NULL'.
-129 LA SENTENCIA SQL TIENE DEMASIADOS NOMBRES DE TABLA.
-131 SENTENCIA CON ATRIBUTOS SEMEJANTES TIENEN TIPOS DE DATOS NO COMPATIBLES.
-132 UN ATRIBUTO ES INVALIDO PORQUE EL PRIMER OPERANDO N O ES UN NOMBRE DE CAMPO O EL
SEGUNDO NO ES UNA CADENA.
-133 HAY UNA FUNCION SQL ERRONEA EN UNA CLAUSULA HAVING PORQUE SE ESTA APLICANDO UN
OPERADOR ARITMETICO A UNA REFERENCIA
CORRELATIVA.
-134 SE HA HECHO UN USO INAPROPIADO DE UN CAMPO DE LA TA BLA DEFINIDO COMO UN 'LONG STRING' O
DE UNA VARIABLE DEL HOST O SU LONGITUD
ES MAYOR QUE 254.
-136 NO SE PUEDE HACER UN SORT PORQUE LA LONGITUD DE LA CLAVE DE ORDENACION ES MAYOR QUE
4000.
-144 LA SECCION NUMERO NNNNN ES INVALIDA. SE HA MODIFICA DO ALGUN DBRM INCLUIDO EN EL PLAN DB2
Y NO SE HA EFECTUADO EL BIND.
-150 EL OBJETO PARA LA SENTENCIA INSERT, DELETE O UPDATE ES UNA VISTA PARA LA CUAL LA
OPERACIÓN SOLICITADA NO ESTA PERMITIDA.
-151 LA COLUMNA NO PUEDE SER ACTUALIZADA PORQUE ESTA INC LUIDA EN UNA CLAVE PARTICIONADA, EN
UN ESPACIO PARA TABLA PARTICIONADO O ES EL
RESULTADO DE UNA FUNCION O EXPRESION SQL.
-153 LA SENTENCIA CREATE VIEW (CREAR VISTA ) NO INCLUYE NINGUN NOMBRE DE COLUMNA.
-154 LA SENTENCIA CREATE VIEW (CREAR VISTA ) HA FALLADO PORQUE LA DE COLUMNA.
-155 LA CLAUSULA 'FROM' ES INVALIDA PORQUE UNA DE LAS TA BLAS ES UNA VISTA QUE INCLUYE UNA
CLAUSULA 'GROUP BY'.
-156 ALGUNA SENTENCIA 'ALTER TABLE', 'DROP TABLE', 'LOCK TABLE' O 'CREATE INDEX' IDENTIFICA A UNA
VISTA.
-158 EL NUMERO DE COLUMNAS ESPECIFICADO PARA LA VISTA NO ES EL MISMO QUE EL DE LA CLAUSULA
SELECT.
-159 EL NOMBRE ESPECIFICADO EN UNA 'DROP VIEW' ES UN NOM BRE DE TABLA.
-160 LA OPCION 'WITH CHECK' NO PUEDE SER UTILIZADA EN LA VISTA ESPECIFICADA.
-161 LA SENTENCIA SELECT O UPDATE NO ESTA PERMITIDA PORQ UE LA FILA RESULTANTE NO SATISFACE LA
DEFINICION DE LA VISTA.
-164 NO SE TIENEN LOS PRIVILEGIOS PARA CREAR UNA VISTA C ON CALIFICACION 'WITH'.
-180 UN CAMPO DE UNA TABLA DB2 DEFINIDO COMO DATE CONTIE NE UNA SINTAXIS ERRONEA O VALORES
INVALIDOS. POR EJEMPLO UNA FECHA A BLANCOS
O SIN GUIONES.
-181 UN CAMPO DE UNA TABLA DB2 DEFINIDO COMO DATE O COMO TMESTAMP CONTIENE VALORES
INVALIDOS, FUERA DE RANGO. POR EJEMPLO UNA
FECHA : 1993-10-35 O UNA HORA: 12.68,15
-198 EL OPERANDO DE UNA SENTENCIA INTERACTIVA ESTA A BLA NCOS O VACIO.
-199 ERROR AL CODIFICAR ALGUNA SENTENCIA DB2 POR SPUFI ( FALTA O SOBRA ALGUN PARAMETRO). AL
HACER UNA INSERT POR SPUFI CON VALUES EN
TODOS LOS CAMPOS SI ESTA ASTERISCADA LA LINEA ULTIM A CON PARTE DE LOS VALUES Y CON EL
PARENTESIS Y PUNTO Y COMA DA ESTE CODIGO.
AL HACER UNA SELECT POR SPUFI AL FINAL DE LOS CAMPO S SELECCIONADOS HABIA UNA COMA. USO
ILEGAL DE UNA PALABRA CLAVE O ESTA
ESPERANDO UN COMANDO.
-203 HAY UN NOMBRE DE COLUMNA AMBIGUO ( HAY MAS DE UNO O NO SE LE PUEDE UBICAR POR
INCONSISTENCIA EN SU REFERENCIA).
-204 LA TABLA DB2 NO EXISTE. LOS CAMPOS DE LA TABLA ESTA N MAL DEFINIDOS ( NO COINCIDE LA PICTURE
DE LA DEFINICION DE LA TABLA CON LA IOAREA
DE LA "DESA.MASCARA1". SUCEDIÓ EN LA OPEN DE UN CUR SOR DEBIDO A QUE EN LA SELECT DEL
DECLARE CURSOR HABIA ESCRITO UN CAMPO CON
DISTINTO NOMBRE AL QUE EXISTIA COMO NOMBRE DE COLUM NA EN LA TABLA DB2. SUCEDIÓ AL HACER
UNA DELETE CON CURSOR PORQUE EN LA
DELETE FALTABA LA PALABRA 'FROM'. SUCEDIÓ AL HACER PUBLICO EL PLAN DE UN PROGRAMA DEL
QUE SE HABIA HECHO EL FREE PERO NO SE
HABIA COMPILADO, CON LO CUAL NO EXISTE EL NOMBRE DE L PROGRAMA.
-205 HAY UN NOMBRE DE COLUMNA QUE NO ESTA EN LA TABLA.
-206 COLUMNA EN UNA INSERT O UPDATE QUE NO ESTA EN LA TA BLA DE LA CLAUSULA FROM. SUCEDIÓ AL
HACER UNA SELECT EN LA QUE SE HABIA PUESTO
EN LA ' WHERE' UN NOMBRE DE COLUMNA QUE NO EXISTIA EN LA TABLA REFERENCIADA EN EL 'FROM'.
TAMBIEN SUCEDIÓ AL PONER EN LA SELECT UN
CAMPO QUE NO ERA UN NOMBRE DE COLUMNA.
-207 LA CLAUSULA 'ORDER BY' ES INVALIDA PORQUE INCLUYE U N NOMBRE DE COLUMNA PERO ESTA
UTILIZADA COMO RESULTADO DE UNA UNION.
-208 SUCEDIÓ AL DECLARAR UN CURSOR CON 'ORDER BY' EN EL QUE LOS CAMPOS DEL ORDER BY NO SE
ESTABAN SELECCIONANDO.
-219 EL NOMBRE DE UNA TABLA EN UNA DECLARE NO EXISTE.
-220 HAY UN NOMBRE DE COLUMNA EN UNA DECLARE QUE NO ESTA DEFINIDA CORRECTAMENTE.
-301 EL VALOR DE UNA COLUMNA DE LA TABLA NO SE PUEDE UTI LIZAR PORQUE ES DE UN TIPO 'DATA'.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
UmS
SSS
-302 CUANDO SE REALIZA UNA INSERT, Y LA DUMMY DE LA TABL A ES DE DISTINTA LONGITUD QUE LA TABLA
DB2. OCURRE TAMBIEN, CUANDO SE HAN INCLUIDO
COLUMNAS EN LA TABLA, Y NO SE INICIALIZAN EN EL PRO GRAMA. SE MOVIA UN CAMPO WORKING PIC
X(10), A UN CAMPO DE LA DCL DE LA TABLA QUE
ESTABA DEFINIDO COMO NUMERICO DE MENOR LONGITUD.
-303 CUANDO LAS COLUMNAS DE LA SELECT EN EL DECLARE CURS OR NO ESTAN REFERENCIADAS EN LA
FETCH. LOS CAMPOS DE LA TABLA ESTAN MAL
DEFINIDOS (NO COINCIDE LA PICTURE DE LA DEFINICION DE LA TABLA CON LA DE LA IOAREA DE LA
"DESA.MASCARA1") Y AL EJECUTAR EN BTS DEVUELVE
ESTE CODIGO.
-304 HAY UN VALOR QUE NO PUEDE SER ASIGNADO A UNA COLUMN A DE LA TABLA PORQUE ESTA FUERA
DEL RANGO DEL TIPO DE DATOS DE ESA COLUMNA.
-305 DA AL UTILIZAR CUALQUIERA DE LAS FUNCIONES PREDEFIN IDAS: MAX, MIN, SUM, AVG O COUNT, Y NO
EXISTE NINGUNA FILA EN LA TABLA O LAS FILAS QUE
EXISTEN NO CUMPLEN LAS CONDICIONES DE LA WHERE. SI LA FUNCION PREDEFINIDA UTILIZADA ES LA
COUNT, ESTA DEVUELVE SQLCODE +0 EN VEZ DE
-305 (EN PC Y EN HOST) TANTO SI EXISTEN FILAS COMO SI NO, POR LO QUE HABRA QUE PREGUNTAR SI
EL CONTADOR ES MAYOR O IGUAL A CERO PARA
SABER SI HA ENCONTRADO FILAS O NO. EL VALOR NULL NO SE PUEDE ASIGNAR A UNA COLUMNA DE LA
TABLA PORQUE NO ESTA DEFINIDA COMO
VARIABLE. AL RECUPERAR UNA FILA CON UNA FECHA A BLA NCOS QUE TIENE FORMATO 'DATE'.
-309 EL ATRIBUTO ES INVALIDO PORQUE EL CAMPO DE LA TABLA TIENE VALOR NULO.
-310 UN CAMPO NUMERICO CONTIENE VALORES RAROS.
-311 EL INDICADOR DE LONGITUD DE UN CAMPO DE LA TABLA ES NEGATIVO.
-312 NOMBRE DE CAMPO DE UNA TABLA NO DEFINIDO O NO SE PU EDE USAR.
-313 EL NUMERO DE CAMPOS DE LA TABLA ESPECIFICADOS NO ES EL MISMO QUE EL DE PARAMETROS
MARCADOS.
-401 EN GENERAL SUCEDE AL COMPARAR DOS CAMPOS DE DISTINT O TIPO: NUMERICO-ALFANUM., DATE-
ALFANUMERICO, ETC... CUANDO ESTAMOS
INTENTANDO MODIFICAR UNA FILA POR SPUFI CON UN VALO R ALFANUMERICO Y EL CAMPO A
MODIFICARES NUMERICO. CUANDO ESTAMOS INTENTAN-
DO HACER UNA SELECT POR SPUFI CON UN VALOR ALFANUME RICO Y VICEVERSA. CUANDO SE
SELECCIONA UN CAMPO QUE NO EXISTE EN LA TABLA.
-402 SE INTENTA HACER UNA OPERACIÓN ARITMETICA O UNA SUM A CON UNA COLUMNA DEFINIDA COMO
ALFANUMERICA: SUCEDIÓ AL HACER UNA SELECT
SUM POR SPUFI, PIDIENDO QUE SUMARA UN NOMBRE DE COL UMNA DEFINIDA COMO ALFANUMERICA.
-404 CUANDO ESTAMOS INTENTANDO INSERTAR, O MODIFICAR UNA FILA CON UN VALOR QUE EXCEDE A LA
LONGITUD DETERMINADA PARA LA COLUMNA EN
EL AREA TABLA-WORKING.
-405 DIO AL ACCEDER A UNA TABLA DB2 PORQUE UN NOMBRE DE COLUMNA DE LA TABLA ESTABA DEFINIDO
COMO "COMP-3" QUE SE USABA EN LA WHERE
Y SE LE HABIA MOVIDO CONTENIDO NO NUMERICO. SE HA U TILIZADO UN LITERAL NUMERICO QUE ESTA
FUERA DE RANGO.
-406 EL VALOR NUMERICO HALLADO ESTA FUERA DEL RANGO DE L A COLUMNA OBJETO DE LA OPERACIÓN.
-407 EN UNA OPERACIÓN UPDATE O INSERT EL VALOR A ACTUALI ZAR ES NULO Y EL CAMPO NO PUEDE
CONTENER NULOS.
-408 CUANDO ESTAMOS INTENTANDO INSERTAR O MODIFICAR UNA FILA CON UN VALOR NUMERICO Y LA
COLUMNA ES ALFANUMERICA. EL VALOR EN UNA
INSERT O UPDATE NO ES EL MISMO TIPO QUE LA COLUMNA QUE SE QUIERE ACTUALIZAR.
-409 OPERADOR INVALIDO EN UNA FUNCION 'COUNT'.
-410 HAY UN LITERAL EN COMA FLOTANTE QUE TIENE MAS DE 30 CARACTERES.
-411 LA CLAVE DEL USUARIO NO SE PUEDE UTILIZAR COMO SE E SPECIFICA.
-412 LA CLAUSULA SELECT DE UNA SUBSELECT ESPECIFICA MULT IPLES COLUMNAS.
-413 HAY UN DESBORDAMIENTO DURANTE UNA CONVERSION DE TIP OS DE DATOS.
-414 HAY UNA COLUMNA NUMERICA ESPECIFICADA COMO ATRIBUTO EN UNA 'LIKE'.
-415 LAS COLUMNAS CORRESPONDIENTES EN LOS OPERANDOS DE U NA CLAUSULA 'UNION' NO TIENEN LAS
MISMAS DESCRIPCIONES DE CAMPO.
-416 UN OPERANDO DE UNA 'UNION' CONTIENE UNA COLUMNA CON ATRIBUTO LONG STRING.
-417 LA SENTENCIA DE CADENA A PREPARAR INCLUYE PARAMETR OS UTILIZADOS COMO OPERANDOS DEL
MISMO OPERADOR.
-418 LA SENTENCIA DE CADENA A PREPARAR INCLUYE PARAMETRO S UTILIZADOS EN UNA CLAUSULA
SELECT.
-419 EL RESULTADO DE UNA DIVISION DECIMAL DIO UN VALOR N EGATIVO.
-421 LOS OPERANDOS DE UNA 'UNION' NO TIENEN EL MISMO NUM ERO DE COLUMNAS.
-501 SE INTENTA LEER O CERRAR UN CURSOR QUE NO HA SIDO A BIERTO.
-502 SE INTENTA ABRIR UN CURSOR QUE YA ESTA ABIERTO.
-503 CUANDO EN UNA UPDATE SE QUIERE MODIFICAR UN CAMPO Q UE NO HA SIDO ESPECIFICADO EN EL
FOR UPDATE AL CREAR EL CURSOR.
-504 EL CURSOR ESPECIFICADO NO HA SIDO DEFINIDO.
-507 EL CURSOR ESPECIFICADO PARA LA UPDATE O DELETE NO S E HA ABIERTO.
-508 EL CURSOR ESPECIFICADO PARA LA UPDATE O DELETE NO S E HA POSICIONADO CORRECTAMENTE. SE
INTENTA HACER UPDATE O DELETE DE UNA FILA
QUE NO EXISTE (SQLCODE DEL CURSOR ES +100).
-509 SE PRODUCE CUANDO DECLARAMOS UN CURSOR PARA UNA TAB LA Y AL HACER EL ACCESO LO
UTILIZAMOS PARA OTRA TABLA.
-510 SE PRODUCE CUANDO SE INTENTA MODIFICAR UNA COLUMNA DE UNA TABLA QUE NO ESTA EN LA
SELECT DEL CURSOR O QUE NO SE HA PUESTO EN LA

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
UíS
SSS
CLAUSULA FOR UPDATE OF. (ESTE ERROR DA EN EL BIND E N COMPILACION). LA TABLA DESIGNADA EN
EL DECLARE DEL CURSOR PARA MODIFICAR O
BORRAR DICHA TABLA, NO PUEDE MODIFICARSE O BORRARSE (DEBIDO A QUE FALTA EN EL DECLARE
CURSOR LA CLAUSULA "FOR UPDATE OF...".
-511 LA CLAUSULA 'FOR UPDATE' NO SE PUEDE UTILIZAR PORQU E LA TABLA UTILIZADA POR EL CURSOR NO
SE PUEDE MODIFICAR.
-514 EL CURSOR UTILIZADO NO ESTA PREPARADO.
-516 LA SENTENCIA DE DESCRIPCION NO IDENTIFICA UNA SENTE NCIA PREPARADA.
-517 EL CURSOR UTILIZADO NO SE PUEDE UTILIZAR PORQUE NO ESTA DEFINIDO EN LA SENTENCIA SELECT
CORRESPONDIENTE.
-518 LA SENTENCIA EJECUTADA NO ES UNA SENTENCIA SELECT V ALIDA.
-519 LA SENTENCIA DE PREPARACION IDENTIFICA LA SENTENCIA DE SELECCIÓN DEL CURSOR ABIERTO
NOMBRE-DE-CURSOR.
-530 SE INTENTA DAR DE ALTA O MODIFICAR EN UNA TABLA CON INTEGRIDAD REFERENCIAL Y NO EXISTE EL
PADRE DE LA RELACION.
-535 EN UNA UPDATE CON CURSOR, NO SE PUEDEN PONER LOS CA MPOS QUE SON CLAVE E INDICE UNICO.
-540 SE INTENTA CREAR UNA TABLA QUE TIENE INTEGRIDAD REF ERENCIAL SIN HABER CREADO ANTES LA
TABLA O EL/LOS INDICE/S DE LA TABLA PADRE.
-551 NO SE TIENE PRIVILEGIO PARA REALIZAR ALGUNA OPERACI ÓN .POR EJEMPLO AL HACER EL CREATE DE
UNA TABLA DB2. TAMBIEN PUEDE OCURRIR
POR: EL OBJETO DB2 NO EXISTE. EL OBJETO ESTA EN EST ADO READ ONLY. SE ESTA INTENTANDO
CREAR UN OBJETO CON UN AUTHORIZATION-ID QUE
NO TIENE AUTORIZACION PARA DICHA FUNCION. SI SE EST A HACIENDO UN CREATE O UN ALTER DE
UNA TABLA DEFINIDA CON INTEGRIDAD REFERENCIAL
Y NO SE TIENE AUTORIZACION.
-552 EL USUARIO NO TIENE PRIVILEGIOS, PARA HACER LA OPER ACIÓN.
-554 UN USUARIO AUTORIZADO NO PUEDE CONCEDERSE PRIVILEGI OS A SI MISMO.
-555 UN USUARIO AUTORIZADO NO PUEDE REVOCARSE PRIVILEGIO S A SI MISMO.
-556 UN PRIVILEGIO NO SE PUEDE REVOCAR PORQUE NO LO PUED E MODIFICAR EL USUARIO(PARAMETRO1).
-557 COMANDO GRANT/REVOKE (PARAMETRO1) ERRONEO, LOS MAND ATOS PERMITIDOS SON
(PARAMETRO2).
+558 LA OPCION 'WITH' DE UNA GRANT ES IGNORADA PORQUE LA GRANT ES PUBLICA (WARNING).
-559 TODAS LAS FUNCIONES AUTORIZADAS HAN SIDO DESACTIVAD AS.
+560 LA OPCION WITH DE UNA GRANT ES IGNORADA PARA ACTUAL IZAR COLUMN-LIST (WARNING).
-601 SE INTENTA CREAR ALGO QUE YA ESTA CREADO.
-602 SE HAN ESPECIFICADO DEMASIADAS COLUMNAS AL INTENTAR CREAR UN INDICE.
-603 SE INTENTA CREAR UN INDICE QUE EN SU TABLA CORRESPO NDIENTE TIENE FILAS CON LA CLAVE
REPETIDA.
-604 LA DEFINICION DE UNA COLUMNA TIENE ERRORES EN SU LO NGITUD, PRECISION O ATRIBUTOS.
-607 LA OPERACIÓN (PARAMETRO1) NO ESTA DEFINIDA PARA LAS TABLAS.
-612 LA COLUMNA (PARAMETRO1) ESTA DUPLICADA.
-614 EL INDICE NO SE PUEDE CREAR PORQUE LA SUMA INTERNA DE LAS LONGITUDES DE SUS CAMPOS
CORRESPONDIENTES ES MAYOR QUE EL MAXIMO
PERMITIDO.
-616 EL OBJETO (PARAMETRO1) NO SE PUEDE BORRAR PORQUE ES UTILIZADO POR EL OBJETO
(PARAMETRO2).
-618 LA OPERACIÓN (PARAMETRO1) NO ESTA PERMITIDA EN EL S ISTEMA DE BASES DE DATOS.
-619 OPERACIÓN NO PERMITIDA PORQUE LA BASE DE DATOS DE T RABAJO NO ESTA INACTIVA.
-620 EL COMANDO (PARAMETRO1) EN SENTENCIA (PARAMETRO2) N O ESTA PERMITIDO PARA EL ESPACIO DE
TABLAS EN LA BASE DE DATOS DE TRABAJO.
-623 YA EXISTE ESTE INDICE PARA LA TABLA (PARAMETRO1).
-636 LA CLAVE PARTICIONADA NO TIENE ESPECIFICADO SI ES E N ORDEN ASCENDENTE O DESCENDENTE.
-637 LA CLAVE ESTA DUPLICADA.
-644 EL VALOR ESPECIFICADO PARA LA CLAVE (PARAMETRO1) EN LA SENTENCIA (PARAMETRO2) ES
ERRONEO.
-646 LA TABLA (PARAMETRO1) NO SE PUEDE CREAR EN EL ESPAC IO PARA TABLAS (PARTICIONADO/POR
DEFECTO)(PARAMETRO2) PORQUE YA ESTA
OCUPADO POR OTRA TABLA.
-647 EL BUFFER COMUN (PARAMETRO1) NO SE PUEDE UTILIZAR P ORQUE NO HA SIDO ACTIVADO.
-652 VIOLACION DEL PROCEDIMIENTO DE EDICION O DE VALIDAC ION(PARAMETRO1) DE LA INSTALACION.
-653 LA TABLA (PARAMETRO1) EN EL ESPACIO PARTICIONADO PA RA TABLAS(PARAMETRO2) NO ESTA
DISPONIBLE PORQUE EL INDICE CORRESPONDIENTE
NO HA SIDO CREADO.
-660 EL INDICE (PARAMETRO1) NO SE PUEDE CREAR EN EL ESPA CIO PARTICIONADO PARA TABLAS
(PARAMETRO2)PORQUE NO SE HAN ESPECIFICADO LOS
LIMITES PARA LA CLAVE.
-661 EL INDICE (PARAMETRO1) NO SE PUEDE CREAR EN EL ESPA CIO PARTICIONADO PARA TABLAS
(PARAMETRO2)PORQUE EL NUMERO DE PARTES
ESPECIFICADO NO ES IGUAL AL NUMERO DE PARTICIONES D EL ESPACIO PARA TABLAS.
-662 EL INDICE PARTICIONADO NO SE PUEDE CREAR EN EL ESPA CIO NO PARTICIONADO PARA TABLAS
(PARAMETRO1).
-663 EL NUMERO DE VALORES POSIBLES PARA LA CLAVE ES ZERO O MAYOR QUE EL NUMERO DE
COLUMNAS EN LA CLAVE INDICE (PARAMETRO1).
-664 LA LONGITUD INTERNA DE LOS CAMPOS CLAVE-LIMITE DEL INDICE PARTICIONADO (PARAMETRO1)
EXCEDE DE LA LONGITUD IMPUESTA POR EL GESTOR
DE INDICES.
-665 LA CLAUSULA PART DE UNA SENTENCIA ALTER HA SIDO OMI TIDA O ES ERRONEA.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
U)S
SSS
-666 PENDIENTE DE UNA UTILIDAD: UNA VEZ ESTABA 'COPY PEN DING': SOLUCION : DESDE LA OPCION 7
(COMANDOS) DEL DB2: START DATABASE
(BT999PROG) SPACENAN (ETXXXXXX) ACCESS (FORCE).
-667 UN GRUPO DE INDICES DE UN ESPACIO PARTICIONADO PARA TABLAS NO PUEDE SER EXPLICITAMENTE
BORRADO.
-668 NO SE PUEDE CREAR UNA NUEVA COLUMNA PORQUE LA TABLA SE ESTA EDITANDO.
-669 UNA TABLA DE UN ESPACIO PARTICIONADO PARA TABLAS NO PUEDE SER EXPLICITAMENTE BORRADA.
-670 LA LONGITUD DEL REGISTRO DE LA TABLA EXCEDE EL MARC O DE PAGINA.
-671 EL ATRIBUTO DE BUFFER COMUN DEL ESPACIO PARA TABLAS NO SE PUEDE CAMBIAR PORQUE ESTO
CAMBIARIA EL TAMAÑO DE LA PAGINA DEL
ESPACIO PARA TABLAS.
-676 NO SE PUEDE UTILIZAR PARA UN INDICE UNA PAGINA DE 3 2 K DEL ESPACIO PARA TABLAS.
-677 NO HAY SUFICIENTE ESPACIO VIRTUAL PARA LA EXPANSION DEL BUFFER COMUN.
-678 EL LITERAL (PARAMETRO1) ESPECIFICADO COMO VALOR LIM ITE DEL INDICE DEBE ESTAR DE ACUERDO
CON EL TIPO DE DATO (PARAMETRO2) DE LA
COLUMNA CORRESPONDIENTE (PARAMETRO3).
-679 SE INTENTA HACER EL DROP Y LA CREATE DE UNA TABLA, EL DROP LO REALIZA BIEN PERO NO LA
CREATE DEBIDO A QUE SE NECESITA HACER UN
COMMIT ENTRE EL DROP Y LA CREATE DE LA TABLA DB2.
-680 LA TABLA TIENE DEMASIADAS COLUMNAS.
-681 LA COLUMNA (PARAMETRO1) HA VIOLADO LOS PROCEDIMIENT OS DE DEFINICIÓN DE CAMPOS DE LA
INSTALACION. RT: CODIGO-RETORNO
RS: REASON-CODE MSG: MENSAJE.
-682 PROCEDIMIENTO (PARAMETRO1) NO PUEDE SER CARGADO.
-683 TIPO DE COLUMNA (PARAMETRO1) INVALIDO PARA ESTE PRO CEDIMIENTO.
-684 LA LONGITUD DEL LITERAL QUE COMIENZA CON ( PARAMETR O1) ES DEMASIADO LARGA.
-685 TIPO DE CAMPO INVALIDO, NOMBRE-DE-COLUMNA.
-686 NO SE PUEDEN COMPARAR DOS COLUMNAS DE DIFERENTE TIP O.
-687 DOS TIPOS DE DATOS QUE NO SE PUEDEN COMPARAR.
-688 DATOS INCORRECTOS DEVUELTOS POR EL PROCEDIMIENTO (P ARAMETRO1, PARAMETRO2).
-802 HA HABIDO UNA DIVISION POR ZERO O UN DESBORDAMIENTO (OVERFLOW) ARITMETICO.
-803 SE INTENTA INSERTAR UNA FILA CON CLAVE YA EXISTENTE .MODIFICAR EL INDICE UNICO DE UNA FILA
(INSERTAR Y YA EXISTE).
-804 UN ERROR HA SIDO ENCONTRADO EN EL PGM, EN LOS PARAM ETROS DE ENTRADA PARA EL SQL
STATEMENT: OCURRIO AL DESBORDARSE UNA TABLA
WORKING MACHACANDO LA SQLDA DE DB2. OCURRIO UNA VEZ QUE SISTEMAS HABIA MODIFICADO EL
PROCEDIMIENTO DE COMPILACION...
OCURRIO CON UNA LECTURA IMS, EN LA QUE SE INDICO UN A LONGITUD MAYOR QUE LA INFORMACION
ENVIADA, POR LO QUE SE MACHACABA LA SQLCA...
SE HA DECLARADO UNA TABLA WORKING CON MENOS FILAS D E LAS NECESARIAS.
-805 NOMBRE DEL PROGRAMA (PARAMETRO1) NO ENCONTRADO EN E L PLAN (PARAM2); OCURRE CUANDO
EL MODULO EN EL QUE ESTA ACCEDIENDO A DB2
NO ESTA EN EL PASO BIND DEL JCL, O BIEN AUSENCIA DE L MODULO EN LA DBRM, PRODUCIDO POR NO
EXISTIR EN LA TSOXX.PGMPRUE.
-811 CUANDO SE INTENTA REALIZAR CUALQUIER CASO DE SELECT (NORMAL, JOIN, ETC.), Y SE RECUPERA
MAS DE UNA FILA.
-815 SE HA INCLUIDO UNA CLAUSULA ORDER BY O HAVING EN UN A SUBSELECT O UNA SUBCONSULTA DE UN
PREDICADO.
-817 LA SENTENCIA INSERT, UPDATE, DELETE, DDL O GRANT NO PUEDE SER EJECUTADA PORQUE LA
TRANSACCION IMS HA SIDO DEFINIDA COMO DE LECTURA
SOLUCION: GENERAR LA TRANSACCION IMS COMO LECTURA Y ACTUALIZACION.
-818 NO COINCIDEN LOS TIMESTAMP: VOLVER A COMPILAR. AL C OMPILAR, EN EL PROCEDIMIENTO DE
COMPILACION EL NOMBRE DEL PLAN ESTA MAL.
ESTE ERROR SUCEDE SI: EL PROGRAMA SE HA PRECOMPILAD O, COMPILADO Y LINKEDITADO, PERO NO
SE HA HECHO EL BIND.
SE HA PRECOMPILADO Y SE HA HECHO EL BIND, SIN HABE R HECHO LA COMPILACION Y EL LINK-EDIT, O
LA LINK-EDIT NO HA ACABADO BIEN. EL BIND
SE HA HECHO CON UN DBRM QUE NO SE HA CREADO EN EL M ISMO PROCESO DE LINK-EDIT QUE EL
MODULO CARGABLE. AL COMPILAR UN BATCH(B2),
NO SE HABIA HECHO EL FREE DEL PROGRAMA. SOLUCION: P ARAR Y ARRANCAR LA REGION.
-819 LA VISTA NO SE PUEDE UTILIZAR PORQUE ES UNA REFEREN CIA A OTRA VISTA QUE NO SE PUEDE
UTILIZAR.
-820 LA SENTENCIA SQL NO SE PUEDE PROCESAR PORQUE (PARAM ETRO1) CONTIENE UN VALOR NO VALIDO
EN ESTA VERSION DEL PRODUCTO.
-822 LA SQLCA CONTIENE UNA DIRECCION DE DATOS O UNA DIRE CCION DE INDICADOR DE VARIABLE QUE
NO ES VALIDA.
-840 DEMASIADAS FILAS DEVUELTAS POR UNA SELECT O QUE SE PRETENDEN INSERTAR
-901 NO SE EJECUTO LA SENTENCIA POR UN ERROR EN EL SISTE MA, QUE NO IMPEDIRIA LA EJECUCION DE
LAS SIGUIENTES SENTENCIAS SQL.
-904 RECURSO NO DISPONIBLE (REASON CODE 00C200F6). REIN TENTAR ALGO MIGRADO O PILLADO
(REASON CODE 00C90081). AL HACER UNA "LOAD" (SI DA
ERROR) SE PUEDE QUEDAR LA TABLA CON DISPOSICION "CO PY" (NO DEJA ACCEDER);
CONTENCION (DEADLOCK). EL PROCESO ESTA ESPERANDO UN RECURSO QUE ESTA UTILIZANDO OTRO
PROCESO Y A SU VEZ ESTE ESTA ESPERANDO
EL RECURSO QUE EL PRIMER PROCESO ESTA UTILIZANDO (R EASON CODE 00C9008E).
EL OBJETO DB2 ESTA SIENDO UTILIZADO POR OTRO PROCES O, SU PROCESO HA ESTADO ESPERANDO
HASTA EL TIEMPO LIMITE Y LUEGO HA SIDO CANCELADO.PR OCESO CON CONTENCION

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
UuS
SSS
EN SDSF. DA EN LA TAREA T005MSTR. (REASON CODE 00C9 0089).
ALGO NO DISPONIBLE SE LLAMO A TECNICA DE SISTEMAS Y HABIA UN DISCO DAÑADO. (REASON CODE
00C90094).
AL INTENTAR BORRAR UNA TABLA PORQUE HA SIDO CREADA CON VSAM Y EL CATALOGO DEL DB2 NO
SE HA ENTERADO. (REASON CODE 00C90097).
PENDIENTE DE UNA UTILIDAD.(REASON CODE 00D70014)./ UNFICHERO HA INTENTADO EXTENDERSE Y
NO EXISTE ESPACIO EN DISCO. UN FICHERO HA
TOMADO EL MAXIMO NUMERO DE EXTENSIONES(119) Y AL IN TENTAR COGER UNA MAS HA PROVOCADO
EL ERROR.(REASON CODE 00D70023).
FALTA DE ESPACIO (REASON CODE 00D70024). / EXISTE E L CATALOGO PERO NO LOS FICHEROS
(REASON CODE 00E70010).
EL RECURSO NO DISPONIBLE NO SE ENCUENTRA EN ALGUNA LIBRERÍA. SUCEDIÓ CON UN PGM ON-LINE
CUYA COMPILACION NO EXISTIA EN LA 'DESA.
PGMPRUE.ONLINE'
-905 LA SENTENCIA SQL CONTRA EL RECURSO (PARAMETRO1) HA EXCEDIDO EL TIEMPO LIMITE DE CPU
(PARAMETRO2) Y SU PROCESO HA SIDO CANCELADO
EL PROGRAMA PUEDE SEGUIR EJECUTANDO OTRAS SENTENCIA S SQL.
-906 LA SENTENCIA SQL NO SE PUEDE EJECUTAR PORQUE ESTA F UNCION HA SIDO DESACTIVADA DEBIDO A
UN ERROR PREVIO.
-909 EL OBJETO HA SIDO BORRADO.
-910 LA SENTENCIA SQL NO PUEDE ACCEDER A UN OBJETO SOBRE EL QUE ESTA PENDIENTE UNA
SENTENCIA DROP O ALTER.
-911 LOS CAMBIOS EFECTUADOS DESDE EL ULTIMO PUNTO DE SIN CRONIA HAN SIDO ANULADOS
(ROLLBACK) DEBIDO A QUE LOS RECURSOS NO ESTAN
LIBRES (DEADLOCK) O SE PASO EL TIEMPO DE ESPERA (TI ME-OUT).
-913 EJECUCION CANCELADA DEBIDO A UN DEADLOCK O A UN TIM E-OUT. RAZON (PARAMETRO1), TIPO DE
RECURSO (PARAMETRO2), NOMBRE DEL RECURSO
(PARAMETRO3). EL PROGRAMA DE APLICACIÓN DEBERIA HAC ER COMMIT O ROLLBACK. VOLVER A
EJECUTAR. SI LA FRECUENCIA DE ESTE SQLCODE ES
ALTA ESTUDIAR LA POSIBILIDAD DE HACER VARIOS PUNTOS DE COMMIT.
-922 FALTA DE AUTORIZACION: HACER PUBLICO EL PLAN (GRANT ). SI (PARAMETRO1) ES UN USUARIO INDICA
QUE EL USUARIO NO TIENE AUTORIZACION PARA
CONECTARSE A DB2. SI (PARAMETRO1)ES UN PLAN INDICA QUE EL DB2 NO PUEDE ALOCAR ESE PLAN.
SI (PARAMETRO1) ES UN SUBSISTEMA INDICA QUE
EL NOMBRE DE ESTE SUBSISTEMA ES INVALIDO.
-923 CONEXIÓN NO ESTABLECIDA - DB2 NO OPERACIONAL. HACER UN GRANT PUBLIC. EN EL JCL DE
EJECUCION FALTA LA FICHA DB2. ESTO SUCEDE SI :
NO SE HECHO EL BIND. EL PLAN ES INVALIDO O NO ESTA OPERATIVO. HACER EL BIND. UNA BASE DE
DATOS, UN TABLESPACE, UN INDICE O UNA TABLA QUE
VAN A SER ACCEDIDAS POR AL PLAN NO ESTAN DISPONIBLE S. FALLOS EN ALGUN FICHERO VSAM. DB2
PARADO.
-924 PROBLEMAS DE CONEXIÓN CON EL DB2: OCURRE CUANDO SE HA CAIDO EL DB2.
-925 COMMIT NO VALIDO EN EL ENTORNO IMS/VS O CICS/OS/VS.
-927 EL INTERFACE DEL LENGUAJE (LI) FUE LLAMADO CUANDO L A CONEXIÓN DEL ENTORNO AUN NO HABIA
SIDO ESTABLECIDA. EL PROGRAMA FUE LLAMADO
BAJO EL COMANDO DSN. EN UNA EJECUCION BATCH CON DB2 LE FALTAN LAS FICHAS DEL DB2.
-1010 (EN MICROFOCUS) FALTA DE MEMORIA


-1013 (EN MICROFOCUS) EL COD-IDENT NO ESTA DEFINIDO COMO "COMP" S9(4)COMP, SI NO COMO S9(4).
-1034 FALTAN LOS DOS PUNTOS QUE PRECEDEN A LOS CAMPOS WOR KING DE LA WHERE EN UNA SELECT O
EN UN CURSOR. ENTRE LOS CAMPOS SELECCIONA-
DOS DE UN CURSOR HABIA UN PUNTO EN VEZ DE UNA COMA
-1045 (EN MICROFOCUS) UN CAMPO DEL REGISTRO TRATADO (FICH ERO REAL) NO ESTA EN EL FORMATO QUE
LE CORRESPONDE. EL ERROR SE PRODUCE
CUANDO SE COMPARA CON SU IGUAL EN LA TABLA DB2 DE T RABAJO.
-1084 (EN MICROFOCUS) ERROR DE ESCRITURA EN LA SENTENCIA DB2. (EJ.: ALGUNA PALABRA MAL ESCRITA,
ETC...).
-1206 (EN MICROFOCUS) EN UNA UPDATE HABIA UN CAMPO QUE NO ERA DE ESA TABLA.
-1408 -1451, -14...(OTROS) (EN MICROFOCUS)- LA TABLA DB2 POSEIA UN CAMPO DEFINIDO COMO TIMESTAMP
Y DABA PROBLEMAS AL INTENTAR REALIZAR UNA
COSULTA AL MOVERLE LOW-VALUES A ESE CAMPO. TAMBIEN SE OBTUVIERON AL INTENTAR
INSERTAREN LA TABLA YA QUE LA INSERT NO TIENE QUE
LLEVAR VALUE DE ESE CAMPO Y EN EL INTO HAN DE NOMBR ARSE TODOS LOS CAMPOS EXCEPTO EL
CAMPO TIMESTAMP.
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
UUS
SSS
ANEXO 3: ABEND CODES bajo TSO / ISPF

S001-4 Abend  
aB–záSós.(SI(AOI2S.(B/á=SsMSBOáS(vzT.SáOSá=(S.(B/á=SMáTá(2SsBSá=(SwwSOISá=(S wCSS
HIOB/S.(B/á=SI(AOI2CSS
abS(IIOICS2TVT/(2SáT–(CS2(HsA(SVT.ózBAásOBCSS
Hsá=S2sMUCSI(T2sB/STS2TáTM(áSá=TáSVTMST..OATá(2ShzáSB(H(ISVIsáá(BSáOCSS
HIsásB/SáOSsB–záSós.(SS
rOBATá(BTásOBSOóSós.(MSVsá=S2sóó(I(BáSI(AOI2S.(B/á=MSOISI(AOI2SóOIVTáMCSS
S
S001-5 Abend  
y(T2sB/STóá(ISá=(S(B2SOóSá=(Sós.(ShESBOBKrb3bgS–IO/ITVCSS
rb3bgSsBá(IA(–áMSá=sMSTB2S2sM–.TEMSg>lRiS(IIOICSMáTázMS<ogCSS
bzáSOóSM–TA(SOBSOzá–záS2sMUSós.(CSS
S
S002 Abend  
Hsá=SHTIsTh.(SóOIVTáSós.(MSzM(2SóOISOzá–záCSS
N=(SI(AOI2SsMS.TI/(ISá=TBSá=(SáITAUSMsY(CSS
N=(SI(AOI2S.(B/á=SsMS/I(Tá(ISá=TBST..OV(2SVTBsVzVSdoCu)UCSS
N=(SVIOB/SI(AOI2S.(B/á=SsMSh(sB/SzM(2SOBSOzá–záCSS
N=(SmKhEá(SI(AOI2S.(B/á=SsB2sATáOISsMSVIOB/CSS
y(AOI2S/I(Tá(ISá=TBSdoCu)UShEá(MSS
S
S013-10 Abend  
RS2zVVESós.(SVsá=SBOSh.OAUMsY(CSS
S
S013-14 Abend  
RS.shITIES=TMSIzBSOzáSOóSM–TA(SsBSsáMS2sI(AáOIECSS
-OzS=TH(SáOShTAUz–CS2(.(á(CSTB2SI(MáOI(Sá=(S.shITIESVsá=Sae3rb,-CSS
RS2TáTM(áSsMSM(vz(BásT.CShzáSá=(S?rgSsB2sATá(MSá=TáSsáSsMSTS.shITIED,wlCSS
S
S013-18 Abend  
RS.shITIESV(Vh(ISVTMSM–(Asós(2SsBSá=(S?rgShzáSVTMSBOáSóOzB2CSS
S
S013-20 Abend  
N=(Sh.OAUSMsY(SsMSBOáSTSVz.ás–.(SOóSI(AOI2S.(B/á=CSS
r=(AUSI(AOI2S.(B/á=SsBS–IO/ITVCSAOV–TI(SáOSTAázT.SI(AOI2S.(B/á=SOóSós.(SS
S
S013-34 Abend  
N=(Sh.OAUSMsY(SVTMSóOzB2SáOSh(SDCSS
RSB(VSós.(SsMSh(sB/SAI(Tá(2ShzáSh.OAUSMsY(SVTMSBOáSsBSá=(S?rgCSS
S
S013-40 Abend  
y(T2sB/STSós.(SV=OM(S?rgS=TMSl-lbcNcSS
S
S106 Abend  
N=(S–IO/ITVSOBSá=(S–IO/ITVS.shITIESVTMSzBI(T2Th.(CSy(AOV–s.(STB2S.sBUCSS
S
S122 Abend  
N=(S1OhSVTMSATBA(.(2Sh(ATzM(SsáSHsO.Tá(2SMOV(SI(MáIsAásOBCSS
RS2zV–SVTMSI(vz(Má(2SS
S
S137 Abend  
RSáT–(S=TMSTShT2SáITs.(IS.Th(.CSS
rO–ESá=(Sós.(SVsá=Sae3FeteyCSs/BOIsB/Sá=(S(IIOICSN=(SAO–ESVs..Sh(S/OO2CSS
cMsB/SgR3egcoSV=(BSá=(I(@MSOB.ESOB(S2TáTM(áSOBSá=(SáT–(CSS
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
U<S
SSS
S213 Abend  
RS2sMUS2TáTM(áSVTMSBOáSTAázT..ESOBSá=(SHO.zV(SMáTá(2SsBSá=(SLbgcleycCSS
RS2sMUS2TáTM(áSVTMSBOáSTAázT..ESOBSá=(SHO.zV(SsB2sATá(2SsBSá=(SATáT.O/CSS
S
S222 Abend  
N=(S1OhSVTMSATBA(..(2Sh(ATzM(SsáSHsO.Tá(2SMOV(SI(MáIsAásOBCSS
tOS2zV–SVTMSI(vz(Má(2CSS
S
S237 Abend  
N=(Sh.OAUSAOzBáSOBSTSáT–(SáITs.(IS.Th(.SsMSVIOB/CSS
,IOhTh.ESATzM(2ShES=TI2VTI(S(IIOICSS
rO–ESá=(Sós.(SVsá=Sae3FeteyCSs/BOIsB/Sá=(S(IIOICSN=(SAO–ESVs..Sh(S/OO2CSS
RS–IOh.(VSVsá=Sá=(SM(AOB2SHO.zV(SOóSáT–(SOIS2sMUCSS
S
S313, 314 Abend  
RBSaB–záDOzá–záS(IIOISsBSá=(SLNbrSOóSTS2sMUSHO.zV(CSaBóOIVSMz––OIáSMáTóóCSS
S
S322 Abend  
N=(S1OhSzM(2SVOI(Sr,cSásV(Sá=TBSsáSM=Oz.2S=TH(CSS
esá=(ISá=(S(MásVTá(SsMSVIOB/SOISá=(S–IO/ITVSsMSsBSTBSzBAOBáIO..Th.(S.OO–CSS
S
S413 Abend  
RSHO.zV(SVTMSB((2(2Sá=TáSAOz.2SBOáSh(SVOzBá(2CSS
S
S422 Abend  
NOOSVTBES1OhSMá(–MCSS
S
S513 Abend  
NVOS1OhMSOISwwtRielSVTBásB/SMTV(SáT–(STáSMTV(SásV(C SS
S
S522 Abend  
?OhSVTMSVTsásB/SáOOS.OB/CSS
S
S613 Abend  
RShT2SáT–(S.Th(.CSS
S
S637 Abend  
RShT2SAOBATá(BTásOBCS2sóó(I(BáSáE–(MSOóS2(HsA(MSV(I(SzM(2CSS
RBSzBI(T2Th.(SáT–(SVTIUSOIS.Th(.CSS
S
S706 Abend  
N=(S–IO/ITVSOBSá=(S.shITIESVTMSBOáS(B(AzáTh.(CSS
l((S.sBUT/(S(2sáOISI(–OIáSá=TáS–záSá=(S–IO/ITVSOBS.shITIECSS
S
S713 Abend  
N=(SáT–(SVTMSzB(B–sI(2STB2Sá=(SO–(ITáOISá(IVsBTá(2Sá=(S1OhCSS
S
S714 Abend  
gTh(.MSOBSá=(SáT–(SV(I(ShT2CSS
S
S722 Abend  
NOOSVTBES.sB(MSOóS–IsBáCSS
S
S804 Abend  
y(/sOBSáOOSMVT..SóOISá=(S–IO/ITVCSS
S
S806 Abend  

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<DS
SSS
,IO/ITVSBOáSOBSá=(S.shITIECSiTESB((2STS?b3ga3SOISlNe,ga3CSS
S
S80A Abend  
y(/sOBSáOOSMVT..SóOISá=(S–IO/ITVCSS
S
S813 Abend  
ys/=áSáT–(SHO.zV(CSVIOB/S2TáTM(áSBTV(CSSys/=áS2TáTM(áSBTV(CSVIOB/SáT–(SHO.zV(CSS
S
S913 Abend  
l(AzIsáESHsO.TásOBCSS
S
SA13 Abend  
gTh(.cBSMáTá(MSá=(SVIOB/SBzVh(ICSS
S
SB14 Abend  
tOSM–TA(SsBSTS.shITIES2sI(AáOIESóOISá=sMSV(Vh(I@MSBTV(CSS
S
SB37 Abend  
aBMzóósAs(BáS2sMUSM–TA(CSS
S
SD37 Abend  
aBMzóósAs(BáS2sMUSM–TA(CSS
S
SE37 Abend  
aBMzóósAs(BáS2sMUSM–TA(CSS
á=(SVTBsVzVSBzVh(ISOóS(Bá(BáMSVOz.2Sh(S(BA((2(2CS OISsBMáTBA(CSV=(BS(BA((2sB/Sp)S
(Bá(BáMSOóSTS,wlCSSRBSeduSOBSáT–(S2TáTM(áMSsMSVOMáSOóá(BSATzM(2SV=(BSá=(SBzVh(ISOóS
I(vz(Má(2SHO.zV(MSsMS(BA((2(2CSN=(S2(óTz.áSsMSíCSá=(I(óOI(STSI(vz(MáSóOISá=(SMsBá=S
HO.zV(SVs..SóTs.SVsá=STSeduCSS
S
S0C1 Abend  
eB(AzásB/STS–IO/ITVSVsá=STBSzBI(MO.H(2S(Bá(IBT.SI(ó(I(BA(CSS
rT..sB/STS–IO/ITVSTB2Sá=(S–IO/ITVSVTMSBOáSsBA.z2(2S2zIsB/S.sBUS(2sáCSS
RBSzBAOBáIO..(2S.OO–SVOH(2S2TáTSOBSáO–SOóSsBMáIzAásOBMCSSy(T2sB/STSós.(Sá=TáSsMSBOáS
O–(BS-OzISlbyNatSwr3SVTMSBOáSAOII(AáSSisBsB/SAOV–s.(SO–ásOBMSyelSTB2StbyelSsBS
2sóó(I(BáSVO2z.(MSS
S
S042Privileged Operation Abend  
y(T2DVIsá(SáOSzBO–(B(2Sós.(SS
RBSzBAOBáIO..(2S.OO–SVOH(2S2TáTSOBSáO–SOóSsBMáIzAásOBMCSS
S
S0C4 Protection Abend  
RBSzBAOBáIO..(2S.OO–SVOH(2S2TáTSOBSáO–SOóSsBMáIzAásOBMCSI(ó(I(BAsB/STSós(.2SsBSTSI(AOI2S
OóSTSA.OM(2Sós.(SSI(ó(I(BAsB/STBSsá(VSsBSgsBUT/(Kl(AásOBSV=(BSá=(I(SVTMSBOS,RyicSsBS
á=(S?rgCSSrT..sB/DAT..(2S–IO/ITVMS=TH(S2sóó(I(BáS.(B/á=SóOISsá(VMS–TMM(2SsBSgsBUT/(S
l(AásOBSSVsá=Srb3bgSlOIáCS2OsB/STSlNb,SyctSOISFb3Rr ISV=s.(SSTBSsB–záSOISOzá–záS
–IOA(2zI(SsMSMás..SIzBBsB/SS
S
S0C5 Addressing Abend  
l((SI(TMOBMSTMSóOISDrmCSS
 T..sB/Sá=IOz/=SsBáOSTBSetNy-SMáTá(V(BáSS
NITBMó(IIsB/SAOBáIO.SsBáOSá=(SVs22.(SOóSTSlbyNS–IOA(2zI(CSS
S
S0C6 Specification Abend  
3T2ShOzB2TIEST.s/BV(BáSóOIShsBTIES2TáTCSS
l((SI(TMOBMSóOISDrmSS
 

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<pS
SSS
S0C7 Abend  
,IO/ITVSTáá(V–ásB/SáOS2OSVTá=SOBSs..(/T.S2TáTCSS
wTáTSsMSBOáSBzV(IsACShzáSM=Oz.2Sh(CSS
iOHsB/SMeyblSáOS/IOz–Ssá(VSV=OM(SMzhOI2sBTá(Ssá(VMSS
TI(S–TAU(2K2(AsVT.SS
cBsBsásT.sY(2S–TAU(2K2(AsVT.Sós(.2MCSS
y(AOI2S2(MAIs–ásOBSsMSVIOB/CS s(.2SMáTIáMSOIS(B2MSsBSá=(SVIOB/S–.TA(SsBSá=(SI(AOI2CSS
 sB2SI(AOI2S2(MAIs–ásOBSOóSAI(TásB/S–IO/ITVCSS
S
S0CB Abend  
Ráá(V–ásB/SáOS2sHs2(ShESDSTB2SBOáSzMsB/SbtSlaMeSeyybySS
S
U1002 Abend  
rOBó.sAásB/Sós.(STááIshzá(MCSl((SlDpdCSS
 
U1005 AbendSS
eB(AzásB/SVsá=SVO2z.(MSAOV–s.(2ShOá=SVsá=SyelSTB2StbyelSS
S
U1006 Abend  
lzhMAIs–áSOzáSOóSITB/(SS
S
U1017 Abend  
isMMsB/SwwSMáTá(V(BáSsBS?rgSóOISwal,gR-SOISRrre,NSH(IhSS
S
U1020 Abend  
,IOh.(VSO–(BsB/SOIS–IOA(MMsB/STSós.(CSS
r=(AUSá=(Sós.(SMáTázMCSS
S
U1026 Abend  
rb3bgSMOIáSóTs.(2CSS
S
U1034 Abend  
lTV(STMSl3duSRh(B2SS
S
U1035 Abend  
rOBó.sAásB/Swr3S–TITV(á(IMCSlTV(STMSlDpdCSS
S
U1037 Abend  
,IO/ITVSAOBáIO.SóT..MSá=IOz/=Sá=(S.TMáS–=EMsAT.SMáTá(V(BáSsBS–IO/ITVCSS
V=sA=SsMSBOáSFb3RrIDlNb,SyctCSS
S
U1056 Abend  
,IO/ITVS2s2B@áSA.OM(STSós.(Sh(óOI(S(B2sB/SS
S
U1066, U1075 Abend  
rOBó.sAásB/Swr3SsBóOIVTásOBSóOISós.(S2(ósB(2STMSeENeytRgSS
S
U1072, U1073, U1074 Abend  
a..(/T.SBzVh(IMSsBSI(ó(I(BA(SVO2sósATásOBSS
S
U3000 Abend  
rb3bgSgeSsBá(IA(–á(2Sá=(SRh(B2CSi(MMT/(MSsBSl-lw3bc NCSS
S
U4038 Abend  
rb3bgSgeSsBá(IA(–á(2Sá=(SRh(B2CSi(MMT/(MSsBSreewci, S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<oS
SSS
ANEXO 4: Utilidades y Objetos para el Reposicionamiento Batch.

ANEXO 4.1. DAREPOS.
eBS .TS áTh.TS wRye,blS M(S /zTI2TI>S (.S (MáT2OS TAázT.S 2(S AT2TS –IOA(MOS ES áO2TS .TS
sBóOIVTAsGBSB(A(MTIsTS–TITSMzSI(–OMsAsOBTVs(BáOCSAzTB2OS(Má(Sóz(M(SB(A(MTIsOCS
g.TVTI(VOMS A.TH(S 2(S (BáIT2TS OS –zBá(IOS TS .TS sBóOIVTAsGBS T.VTA(BT2TS (BS wRye,blCS
vz(S M(S zás.sYTS –TITS I(MáTh.(A(IS .TS MsázTAsGBS 2(.S –IOA(MOS T.S VOV(BáOS (BS (.S vz(S M(S
–IO2z1OS(.S(IIOICS–TITSMzSI(TIITBvz(CS
S
e.S–I(ós1OS2(S.TSáTh.TSwRye,blS(MSycySESM(SAOV–OB(S2(S.OMSMs/zs(Bá(MSATV–OMAS
S
Figura 5 - Campos de la tabla DAREPOS 
S
 
DCLGEN DE LA TABLA DAREPOS

********************************************* **********************************
* DCLGEN TABLE( DAREPOS)
* LIBRARY(SIS.GRSIS.COPYLIB( D0204200))
* ACTION(REPLACE)
* APOST
* ... IS THE DCLGEN COMMAND THAT MADE THE FOL LOWING STATEMENTS
********************************************* ***********************************
EXEC SQL DECLARE DAREPOS TABLE
( RUR_PLANNAME CHAR(8) NOT NULL,
RUR_PROCES DECIMAL (2, 0) NOT NULL,
RUR_ESTADO CHAR(1) NOT NULL,
RUR_NUMCOMM SMALLIN T NOT NULL,
RUR_PUNTEROS VARCHAR (254) NOT NULL
) END-EXEC.
********************************************* ***********************************
* COBOL DECLARATION FOR TABLE DAREPOS
********************************************* ***********************************
01 DCLDAREPOS.
10 RUR-PLANNAME PIC X(8).
10 RUR-PROCES PIC S99V USAGE COMP-3.
10 RUR-ESTADO PIC X(1).
10 RUR-NUMCOMM PIC S9(4) USAGE COMP.
10 RUR-PUNTEROS.
49 RUR-PUNTEROS-LEN PIC S9(4) USAGE COMP.
49 RUR-PUNTEROS-TEXT PIC X(254).
********************************************* ***********************************
* THE NUMBER OF COLUMNS DESCRIBED BY THIS DEC LARATION IS 5
********************************************* ***********************************
 
S
nHO.H(IS
lO–OIá( :MsAOPS
nL(ISYg>33tDpPS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<dS
SSS
ANEXO 4.2 DAPROCBATCH.
gTS áTh.TS wR,ybr3RNrjS /zTI2TS sBóOIVTAsGBS MOhI(S .OMS ósA=(IOMS 2(S MT.s2TS 2(S AT2TS
–IOA(MOSMzMA(–ásh.(S2(SM(ISI(–OMsAsOBT2OCS
w(h(S2TIM(S2(ST.áTS(BS(MáTSáTh.TSzBTS.:B(TS–OISAT2TSzBOS2(S.OMSósA=(IOMS2(SMT.s2TSvz(S
á(B/TS(.S–IOA(MOSTSI(–OMsAsOBTICS
S
e.S–I(ós1OS2(S.TSáTh.TSwR,ybr3RNrjS(MSa,3SESM(SAOV–OB(S2(S.OMSMs/zs(Bá(MSATV–OMAS
S
S
Figura 6 - Campos de la tabla DAPROCBATCH 
S
S
DCLGEN DE LA TABLA DAPROCBATCH 
 
********************************************* *****************************
* DCLGEN TABLE(DBS1.EXP01.DAPROCBATCH)
* LIBRARY(SIS.GRSIS.COPYLIB(D0204100))
* ACTION(REPLACE)
* APOST
* ... IS THE DCLGEN COMMAND THAT MADE THE FOL LOWING STATEMENTS
********************************************* *****************************
EXEC SQL DECLARE DAPROCBATCH TABLE
( IPB_PLANNAME CHAR(8) NOT NULL,
IPB_DDNAME CHAR(8) NOT NULL,
IPB_LONREG SMALLIN T NOT NULL,
IPB_LONBLK SMALLIN T NOT NULL,
IPB_REGTRK SMALLIN T NOT NULL,
IPB_DISPOS CHAR(4) NOT NULL,
IPB_NUMREGS SMALLIN T NOT NULL,
IPB_TIPREG CHAR(3) NOT NULL
) END-EXEC.
********************************************* *****************************
* COBOL DECLARATION FOR TABLE DAPROCBATCH
********************************************* *****************************
01 DCLDAPROCBATCH.
10 IPB-PLANNAME PIC X(8).
10 IPB-DDNAME PIC X(8).
10 IPB-LONREG PIC S9(4) USAGE COMP.
10 IPB-LONBLK PIC S9(4) USAGE COMP.
10 IPB-REGTRK PIC S9(4) USAGE COMP.
10 IPB-DISPOS PIC X(4).
10 IPB-NUMREGS PIC S9(4) USAGE COMP.
10 IPB-TIPREG PIC X(3).
SnHO.H(IS
lO–OIá( :MsAOPS
nL(ISYg>33tDpPS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<mS
SSS
ANEXO 4.3.
 INCLUDES Y COPYS.
RS AOBásBzTAsGBS M(S 2(MAIsh(BS .TMS atrgcwelS ES rb,-lS vz(S 2(h(BS zás.sYTIM(S –TITS
(MáTB2TIsYTIS(.SzMOS2(S.TMSáTh.TMSES2(S.TSIzásBTScyDDDDS2(BáIOS2(S.OMS–IO/ITVTMAS
S
eBsMá(BSzBTMSAO–EMSvz(SAOBás(B(BSATV–OMS2(SáIThT1OS(Má>B2TIS–TITSM(ISzás.sYT2OMS–OIS
(.S–IO/ITVTS2(ST–.sATAsGBCSl(S(BAz(BáITBS(BS.TS.shI(I:TASSSIS.GRUR.COPYLIB. 
S
URCOPYS. 
eMáTS AO–ES AOBás(B(S .TMScopys  RURCOMM  y  RUROPER S vz(S M(S zás.sYTBS –TITS
AOVzBsATIM(S AOBS .TS IzásBTS cyDDDDS vz(S /(MásOBTS (.S áITáTVs(BáOS 2(S .OMS ósA=(IOMS 2(S
MT.s2TS2(.S–IOA(MOCS2(1TB2OS(BS(..TMS.TSsBóOIVTAsGBS
B(A(MTIsTS–TITS(.SVsMVOCS
S
eBS ycyrbiiS 2(1TS sBóOIVTAsGBS TA(IATS 2(.S BNV(IOS 2(S AOVVsáS –OIS (.S vz(S HTVOMCS
BOVhI(S 2(.S –.TBCS (.S BNV(IOS 2(S I(/sMáIOMS vz(S M(S –TMTS (BS (.S ?rgS –OIS .OMS vz(S =TA(S
rbiiaNS(SsBóOIVTAsGBSMOhI(S.OMSósA=(IOMS2(SMT.s2TSAOVOS(.SBOVhI(S2(S.TS22BTV(CS(.S
h.OAT1(CS (.S ás–OS 2(S 2sM–OMsásHOCS BNV(IOS 2(S I(/sMáIOMS –OIS –sMáTCS (áACS eBS ycyb,eyS =TES
sBóOIVTAsGBSMOhI(S.TMS..TVT2TMSTS.TSIzásBTScyDDDDCSAzTB2OS(Má>S(BSsBsAsOCST.SósBT.CS(áACS
 
               *************************************************** **************
              ***
*** COPY RUROPER
***
********************************************* ********************

01 RUR-OPER.
05 RUR-CALL PIC X(8) VALUE 'UR0000 '.
05 RUR-INIT PIC X(4) VALUE 'INIT'.
05 RUR-NEW PIC X(4) VALUE 'NEW '.
05 RUR-READ.
10 FILLER PIC X(4) VALUE 'READ'.
10 RUR-READ-DD PIC X(8) VALUE SPACES.
05 RUR-SHR PIC X(4) VALUE 'SHR '.
05 RUR-DEL PIC X(4) VALUE 'DEL '.
05 RUR-END PIC X(4) VALUE 'END '.

********************************************* ********************
***
*** COPY RURCOMM
***
********************************************* ********************

01 RURCOMM.
05 CA-OPER PIC X(4).
05 CA-PARAM.
10 CA-PLANNAME PIC X(8).
10 CA-PROCESO PIC 99.
10 CA-COMMIT PIC (4).
10 CA-NUMREG PIC S9(8) COMP.
10 CA-PREF PIC X(4).
05 CA-PARMOK PIC X.
88 PARMOK VALUE 'S'.
05 CA-MSG PIC X(6).
05 CA-PARM1 PIC X(20).
05 CA-PARM2.
10 CIRC PIC 999.
10 FILLER PIC X.
10 CIEC PIC 9999.
10 FILLER PIC X.
10 CIIC PIC 999.
10 FILLER PIC X(2).
10 CIRCX PIC S9(4) COMP.
10 CIECX PIC S9(4) COMP.
10 CIICX PIC S9(4) COMP.
05 CI-AMSG PIC X(4).
05 CA-OCCUR PIC S9(4) COMP.
05 CA-DDNAMES.
06 CA-ELE-DDNAMES OCCURS 50 TIMES.
10 CIDD PIC X(8).

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<íS
SSS
10 CILDSN PIC X.
10 CIDSN PIC X(30).
10 CIPRI PIC S9(4) COMP.
10 CISEC PIC S9(4) COMP.
10 CIPOOL PIC X(8).
10 CIBLK PIC S9(4) COMP.
10 CILRECL PIC S9(4) COMP.
10 CIREGTRK PIC S9(4) COMP.
10 CIDISPOS PIC X(4).

 
URMENSACS
eMáTSAO–ESAOBás(B(SATV–OMS/(B(IT.(MS–TITSV(BMT1(MS2(S(IIOICS
 
000100********************************************* ******************
000200***
000300*** COPY DE MENSAJES DE ERROR PARA PROGRAMAS BATCH
000400*** QUE USEN " REPOSICIONAMIENTO "
000500***
000600********************************************* ******************
000700
000800*
000900*** RUTINA DE CANCELACION UTILIZADA POR PRO GRAMAS BATCH
001000*
001100
001200 01 XXCANCEL PIC X(8) VALUE 'XXCANCEL'.
001300
001400
001500*
001600*** CODIGOS DE MENSAJES :
001700*
001800
001900 01 UR-CODICAN PIC 9(4) VALUE 3700.
002000
002100 01 UR-OPEN-ERROR PIC 9(4) VALUE 3701.
002200 01 UR-FETCH-ERROR PIC 9(4) VALUE 3702.
002300 01 UR-CLOSE-ERROR PIC 9(4) VALUE 3703.
002400
002500 01 UR-SELECT-ERROR PIC 9(4) VALUE 3704.
002600 01 UR-UPDATE-ERROR PIC 9(4) VALUE 3705.
002700 01 UR-INSERT-ERROR PIC 9(4) VALUE 3706.
 
URSWITCH.
rO–ESvz(SAOBás(B(SSgSMVsáA=(MSgSS/(B(IT.(MSzás.sYT2OMS–OIS.OMS–IO/ITVTMS2(ST–.sATAsGBS
/(B(IT2OMS–OIS TIvzsá(AázITCS ES zBS MVsáA=S (M–(A:ósAOS2(SI(.TBYTVs(BáOS–TITS (.S ATMOS 2(S
.OMS–IO/ITVTMSvz(Szás.sYTBS
I(–OMsAsOBTVs(BáOSES.((BS2(SzBSósA=(IOSM(Az(BAsT.CS
 
000100********************************************* ************
000200*
000300* COPY QUE CONTIENE LOS " SWITCHES " UTILIZADOS
000400* POR PROGRAMAS BATCH QUE UTILIZAN REPOSICIONAMIENTO .
000500*
000600********************************************* ************
000700*
000800 01 FILLER PIC X.
000900 88 HAY-ERROR-PROCESO VAL UE 'S'.
001000 88 NO-HAY-ERROR-PROCESO VAL UE 'N'.
001100
001200*
001300 01 FILLER PIC X.
001400 88 FIN-PROCESO VAL UE 'S'.
001500 88 NO-FIN-PROCESO VAL UE 'N'.
001600
001700*
001800 01 SW-ERROR PIC X.
001900 88 SI-ERROR VAL UE 'S'.
002000 88 NO-ERROR VAL UE 'N'.
002100
002200*
002300 01 SW-FIN-DATOS PIC X.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<)S
SSS
002400 88 FIN-DATOS VAL UE 'S'.
002500 88 NO-FIN-DATOS VAL UE 'N'.
002600
002700*--- SOLO PARA PROGRAMAS QUE UTILIZEN FICHER O SECUENCIAL
002800*--- DE ENTRADA.
002900
003000 01 SW-RELANZAMIENTO PIC X.
003100 88 SI-RELANZAMIENTO VAL UE 'S'.
003200 88 NO-RELANZAMIENTO VAL UE 'N'.
URSQLCOD
 rTV–OMS–TITS(.SAOBáIO.S2(.Sl>grbweCS
 
000100********************************************* ********************
000200***
000300*** COPY PARA EL CONTROL DE SQLCODE UTIL IZADO PARA
000400*** PROGRAMAS BATCH QUE UTILICEN REPOSIC IONAMIENTO
000500*** Y UTILICEN TABLAS DB2 DE ENTRADA AL PROCESO.
000600*** (EJEMPLO PARA 4 CURSORES DE REPOSICI ONAMIENTO).
000700***
000800********************************************* ********************
000900*
001000 01 UR-SQL-CUR1 PIC S9(9) COMP .
001100 01 UR-SQL-CUR2 PIC S9(9) COMP .
001200 01 UR-SQL-CUR3 PIC S9(9) COMP .
001300 01 UR-SQL-CUR4 PIC S9(9) COMP .
001400
001500*
001600*** SWITCH QUE INDICA EL CURSOR QUE ESTA ABI ERTO EN ESE MOMENTO
001700*
001800 01 SW-UR-CSR PIC X.
001900 88 UR-CSR1 VALUE ' 1'.
002000 88 UR-CSR2 VALUE ' 2'.
002100 88 UR-CSR3 VALUE ' 3'.
002200 88 UR-CSR4 VALUE ' 4'.
 
URWORK  
rO–ESvz(SAOBás(B(SATV–OMS2(SáIThT1OS(Má>B2TIS(M–(A:ósAOMS–TITS–IO/ITVTMShTáA=Svz(S
zás.sA(BSI(–OMsAsOBTVs(BáOCS

000100********************************************* ********************
000200***
000300*** COPY QUE CONTIENE LOS CAMPOS DE TRABAJO UTILIZADOS
000400*** EN PROGRAMAS BATCH QUE UTILIZAN REPOSICIONAMIENTO .
000500***
000600********************************************* ********************
000700*
000800 01 UR-CONT-REG PIC S9(8) COMP.
000900
001000*
001100 01 UR-CEROS PIC S9(4) COMP VALUE ZEROES.
001200 01 UR-PROCESO PIC S9(2) COMP-3.
001300 01 UR-COMMIT PIC S9(4) COMP.
001400
001500*--- CAMPOS PARA GUARDAR LA ULTIMA CLAVE LEI DA DE LA TABLA.
001600*--- SOLO PARA PROGRAMAS QUE UTILIZAN TABLAS DB2 DE ENTRADA.
001700
001800 01 UR-VALOR-CURSOR.
001900 49 UR-VALOR-CURSOR-LEN PIC S9(4) COMP.
002000 49 UR-VALOR-CURSOR-TEXT PIC X(254) .
002100
002200*--- CAMPOS PARA GUARDAR EL ULTIMO REGISTRO LEIDO DEL FICHERO.
002300*--- PARA PROGRAMAS QUE UTILIZAN FICHEROS SE CUENCIALES DE ENTRAD
002400
002500 01 UR-VALOR-REGISTRO.
002600 49 UR-VALOR-REGISTRO-LEN PIC S9(4 ) COMP.
002700 49 UR-VALOR-REGISTRO-TEXT PIC X(25 4).

 
 
 
 

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<uS
SSS
URDCLGEN
 
Dclgen de DAREPOS: NTh.TS–TITS/zTI2TIS.OMS–zBá(IOMS–TITS(.SI(–OMsAsOBTVs(BáOCS
 
********************************************* ********************
              * DCLGEN TABLE(DAREPOS)
* LIBRARY(SIS.GRSIS.COPYLIB( D0204200))
* ACTION(REPLACE)
* APOST
* ... IS THE DCLGEN COMMAND THAT MADE THE FOL LOWING STATEMENTS
********************************************* ********************
EXEC SQL DECLARE DAREPOS TABLE
( RUR_PLANNAME CHAR(8) NOT NULL,
RUR_PROCES DECIMAL (2, 0) NOT NULL,
RUR_ESTADO CHAR(1) NOT NULL,
RUR_NUMCOMM SMALLIN T NOT NULL,
RUR_PUNTEROS VARCHAR (254) NOT NULL
) END-EXEC.
********************************************* ********************
* COBOL DECLARATION FOR TABLE DAREPOS
********************************************* ********************
01 DCLDAREPOS.
10 RUR-PLANNAME PIC X(8).
10 RUR-PROCES PIC S99V USAGE COMP-3.
10 RUR-ESTADO PIC X(1).
10 RUR-NUMCOMM PIC S9(4) USAGE COMP.
10 RUR-PUNTEROS.
49 RUR-PUNTEROS-LEN PIC S9(4) USAGE COMP.
49 RUR-PUNTEROS-TEXT PIC X(254).
********************************************* ********************
* THE NUMBER OF COLUMNS DESCRIBED BY THIS DEC LARATION IS 5
********************************************* ********************
 
URCURSOR
rO–ESvz(SsBA.zE(S(.SAzIMOISóOISz–2Tá(S2(SwRye,blCS
 
00100********************************************** *******************
000200***
000300*** COPY QUE INCLUYE EL CURSOR FOR UPDATE DE DAREPOS
000400*** (TABLA EN LA QUE SE GUARDAN LOS PUNTEROS UTILIZADOS
000500*** PARA REALIZAR REPOSICIONAMIENTO EN PROGRAMAS BATCH) .
000501***
000510*** PARA PROGRAMAS QUE LLAMAN A LA RUTINA "UR0000".
000600***
000700********************************************* ********************
000800
000900 EXEC SQL
001000 DECLARE REP CURSOR FOR
001100 SELECT RUR_PLANNAME,
001200 RUR_PROCES,
001300 RUR_ESTADO,
001400 RUR_NUMCOMM,
001500 RUR_PUNTEROS
001600 FROM DAREPOS
001700 WHERE RUR_PLANNAME = :CA-PLANNAME
001800 AND RUR_PROCES = :UR-PROCESO
001900 FOR UPDATE OF RUR_ESTADO, RUR_NUMCO MM, RUR_PUNTEROS
002000 END-EXEC.
nHO.H(IS
lO–OIá( :MsAOPS
nL(ISYg>33tDpPS
 
 
 
 
 
 
 
 
 
 

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<US
SSS
ANEXO 4.4 FUNCIONES. XX_CANCELACION_PROCESOS_BATCH .
l(S zás.sYTS (BS .OMS –IOA(MOMS 3TáA=S –TITS ATBA(.TIS .TS (1(AzAsGBS 2(S zBS –IO/ITVTS –OIS
AzT.vzs(ISás–OS2(S(IIOICScás.sYTS.OMSMs/zs(Bá(MS–TI>V(áIOMAS
S
S
Figura 7 - Parámetros de la función XX_CANCELACION_ PROCESOS_BATCH
S
nHO.H(ISlO–OIá( :MsAOPS
nL(ISYg>33tDpPS
S
 




S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
<<S
SSS
ANEXO 4.5. JCL REPOSICIONAMIENTO
CLEARCOM S
eMáTS zás.s2T2S M(S (1(AzáTS TBá(MS 2(S .OMS –IO/ITVTMS 2(ST–.sATAsGBS –TITS AOV–IOhTIS (.S
(MáT2OS 2(.S –IOA(MOS ES .OS –I(–TITI.OS –TITS MzS (1(AzAsGBS 2(M2(S (.S –IsBAs–sOS OS –TITS MzS
I(–OMsAsOBTVs(BáOCSy(T.sYTS.TMSMs/zs(Bá(MSózBAsOB(MAS
S
1. Comprobación del estado del proceso y el número de confirmaciones
realizadas.
,TITS(..OSAOBMz.áTS.TSáTh.TSwRye,blCS
KS lsS BOS (BAz(BáITS (.S I(/sMáIOS AOII(M–OB2s(Bá(S T.S –.TBD–IOA(MOS AOBMs2(ITS vz(S (MS .TS
–IsV(ITS(1(AzAsGBCS
S
KSlsS(.S–IOA(MOSM(S(BAz(BáITS(BSzBS(MáT2OS2sMásBáOS2(.SsBsAsT.Sn,PSOS(.SsBá(IV(2sOS
nrPCS2(Hz(.H(SzBSV(BMT1(S2(STHsMOCS–(IOSTAThTSAOBSAG2s/OS2(SI(áOIBOSRDSCS
S
2. Consulta la tabla DAPROCBATCH.
,TITS MTh(IS AzT.S (MS .TS wwtRieS 2(S .OMS ósA=(IOMS 2(S MT.s2TS T.OAT2OMS 2sB>VsATV(Bá(S ES
–O2(ISAOBMáIzsISMzSBOVhI(CS
S
3. Borrado de los ficheros de salida no confirmados.
eBS ATMOS 2(S vz(S (.S –IOA(MOS M(S (BAz(BáI(S (BS (MáT2OS sBá(IV(2sOS nrPCS M(S (.sVsBTBS .OMS
ósA=(IOMS2(SMT.s2TSAOII(M–OB2s(Bá(MSTS.OMSN.ásVOMS2TáOMS–IOA(MT2OMSEStbSAOBósIVT2OMCS
S
JCLREPOSAS?rgS2(S(1(AzAsGBS2(.S–IO/ITVTSAOBSr.sMáS–TITShOIIT2OS2(.SN.ásVOSósA=(IOS
2(SrbiiaNS(BSATMOS2(SI(.TBYTIS(.S–IO/ITVTCS

//SI4MAAB JOB (DES),'*** MANUAL ***',NOTIFY=SI4M AA,
// CLASS=2,MSGCLASS=X,MSGLEVEL=1,REGION=2M
//*
//**---------------------------------------------- -------------------
//** CLEARCOM : BORRADO DEL ULTIMO FICHERO DE COMMIT EN EL
//** CASO DE QUE SEA NECESARIO RELANZAR EL PROCESO.
//**---------------------------------------------- -------------------
//*
//CLEARCOM EXEC PGM=IKJEFT01,DYNAMNBR=20,REGION=3M,COND=(0,NE)
//ISPCTL0 DD DISP=NEW,UNIT=DISKDES,SPACE=(CYL,(1, 1)),
// DCB=(LRECL=080,BLKSIZE=0800,RECFM=FB)
//ISPCTL1 DD DISP=NEW,UNIT=DISKDES,SPACE=(CYL,(1, 1)),
// DCB=(LRECL=080,BLKSIZE=0800,RECFM=FB)
//ISPCTL2 DD DISP=NEW,UNIT=DISKDES,SPACE=(CYL,(1, 1)),
// DCB=(LRECL=080,BLKSIZE=0800,RECFM=FB)
//ISPCTL3 DD DISP=NEW,UNIT=DISKDES,SPACE=(CYL,(1, 1)),
// DCB=(LRECL=080,BLKSIZE=0800,RECFM=FB)
//ISPSLIB DD DSN=ISP.V3R2M0.ISPSLIB,DISP=SHR
// DD DSN=ISR.V3R2M0.ISRSENU,DISP=SHR
//ISPPROF DD DSN=&PROFILE,SPACE=(TRK,(1,1,1)),UNI T=DISKDES,
// DCB=(DSORG=PO,LRECL=80,BLKSIZE=3200),
// DISP=(NEW,DELETE,DELETE)
//ISPPLIB DD DSN=ISP.V3R2M0.ISPPENU,DISP=SHR
// DD DSN=ISR.V3R2M0.ISRPENU,DISP=SHR
// DD DSN=SIS.GRAR.PLIB,DISP=SHR
//ISPMLIB DD DSN=SIS.ISPF.MLIB,DISP=SHR
// DD DSN=ISR.V3R2M0.ISRMENU,DISP=SHR
// DD DSN=ISP.V3R2M0.ISPMENU,DISP=SHR
// DD DSN=SIS.GRAR.MLIB,DISP=SHR
//ISPTLIB DD DSN=ISP.V3R2M0.ISPTENU,DISP=SHR
// DD DSN=SIS.GRAR.TABL,DISP=SHR
//ISPTABL DD DSN=SIS.GRAR.TABL,DISP=SHR

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDDS
SSS


//ISPLLIB DD DSN=SIS.GRAR.PGM,DISP=SHR
//SYSUADS DD DSN=SYS1.UADS,DISP=SHR
//ISPLOG DD SYSOUT=*
//SYSPROC DD DSN=ISR.V3R2M0.ISRCLIB,DISP=SHR
// DD DSN=SIS.ISPF.CLIST,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSABOUT DD SYSOUT=*
//SYSDBOUT DD SYSOUT=*
//RURMSG DD SYSOUT=*
//SYSTSIN DD *
PROFILE NOPREFIX
ISPSTART CMD(%URCLEARU PL( D) NR( ) NP(1) PX(DES ) DB2(DBD1))
/*
(Ver 
#EJEMPLOJCL) 


S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDpS
SSS
ANEXO 5. Enfrentamiento de ficheros.

jTES–IOA(MOMS(BS.OMSvz(SM(SB(A(MsáTSAOV–TITISI(/sMáIOMS2(SzBSósA=(IOSAOBSI(/sMáIOMS2(S
OáIOS zS OáIOMS ósA=(IOMCS eMáOS M(S AOBOA(S AOVOS (BóI(BáTVs(BáOS 2(S ósA=(IOMCS ,TITS –O2(IS
T–.sATIS (MáTS áOABsATCS M(S I(vzs(I(S vz(S .OMS ósA=(IOMSM(TBS M(Az(BAsT.(MS ES vz(S (MáOBS
OI2(BT2OMS –OIS zBS VsMVOS ATV–OCS eMá(S ATV–OS M(I>S .TS A.TH(CS –OIS .TS vz(S HTVOMS TS
AOV–TITISTVhOMSósA=(IOMCSS
S
,O2(VOMS(BóI(BáTIS2OMSósA=(IOMS–TITSózMsOBTI.OMS(BSzBSá(IA(IOSOI2(BT2OCS–TITSOhá(B(IS
2TáOMSESáITáTI.OMS(áACSS
S
gOSNBsAOSvz(S=(VOMS2(Sá(B(IS(BSAz(BáTS(MSvz(SAzTB2OSM(S..(/z(ST.SósBT.S2(SzBOS2(S.OMS
ósA=(IOMCS M(S –OB/TS .TS A.TH(S TSHIGH-VALUESCS ETS vz(S (BS (M(S ATMOS –O2I(VOMS M(/zsIS
.(E(B2OS2(.SOáIOSósA=(IOSESAOV–TITIS.TMSA.TH(MS2(STVhOMSósA=(IOMCSgTSA.TH(S2(.SósA=(IOS
vz(S TNBS BOS M(S =TS á(IVsBT2OS 2(S .((IS Ms(V–I(S M(I>S V(BOIS vz(S .TS 2(.S OáIOS vz(S (Má>S TS
jaFjKLRgcelCSnhPS
S
e1(V–.OS2(SózMsGBS2(S2OMSósA=(IOMS(BSzBSá(IA(IOSV(2sTBá(S(BóI(BáTVs(BáOS2(SósA=(IOMAS
S
<INICIO>SSSl(SThI(BS.OMSósA=(IOMSTS(BóI(BáTISES(.S2(SMT.s2TCSl(S.((S(.S–IsV(ISI(/sMáIOS
2(SAT2TSósA=(IOCS
S
,ey byiSSoDDDK,ybrelbKet yetNRiaetNbS
SSSSSSSNjycSSoDDDK,ybrelbKet yetNRiaetNbKeEaNS
SSSSSSSctNagSSnrgRLepSijSjaFjKLRgcelSSbySSrgRLeoSij SjaFjKLRgcelPS
S
<FIN>SSSl(SAs(IITBS.OMSáI(MSósA=(IOMCS
S
S
oDDDK,ybrelbKet yetNRiaetNbCS
S
S IFSSSSrgRLepSSSSLESSSSTHANSSSSSrgRLeoS
S S iiOH(IS.OMSATV–OMS2(.S sA=(IOpST.S sA=(IOdjS
S S ieMAIshsIS(BS(.S sA=(IOdjS S S
S
S S ,ey byiSS<pDDKgeeyK arjeybpS
S S SSSSSSSNjycSS<pDDKgeeyK arjeybpKeEaNS
S egleS
S S IFSSSSrgRLepSSSSGREATERSSTHANSSSSSrgRLeoS
S S S iiOH(IS.OMSATV–OMS2(.S sA=(IOoST.S sA=(IOdjS
S S S ieMAIshsIS(BS(.S sA=(IOdjS S S
S S
S S S ,ey byiSS<oDDKgeeyK arjeyboS
S S S SSSSSSSNjycSS<oDDKgeeyK arjeyboKeEaNS S S S S
S S egleS
S S S iiOH(IS.OMSATV–OMS2(.S sA=(IOpSGS2(.S sA=(IOoST. S sA=(IOdjS S
S S S ieMAIshsIS(BS(.S sA=(IOdjS S S
S
S S S ,ey byiSS<pDDKgeeyK arjeybpS
S S SSS SSSSSSSNjycSS<pDDKgeeyK arjeybpKeEaNS
S
S S S ,ey byiSS<oDDKgeeyK arjeyboS
S S SSS SSSSSSSNjycSS<oDDKgeeyK arjeyboKeEaNS
S S etwKa SSSS
S etwKa S
S CS
oDDDK,ybrelbKet yetNRiaetNbKeEaNCS
S eEaNCS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDoS
SSS
 
 
9100-LEER-FICHERO1 SncS,TITSgeeyK arjeyboPS
SSSS
SSSSSREADSS arjeybpSSSINTOSSSS<COPY-FICHERO1> 
SSSSSSSSSATSENDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSleNSSlHKlaK atK arjeybpSSSSNbSSNyceSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSibLeSSjaFjKLRgcelSSSSSSSSSSSNbSSrgRLepSS
SSSSSetwKyeRwS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSIFSS lK arjeybpSSSSSSSSSSSSStbNSe>cRgSrRK arjKbISSSSSANDSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSStbNSe>cRgSrRK atK arjSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSS,ey byiS<dDDKeyybyK arjeybSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSNjycS<dDDKeyybyK arjeybKeEaNSSSSSSSSSSSSSSSSSSSSSSSSSSS
S
SSSSSetwKa S
SSSSSCSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
S<pDDKgeeyK arjeybpS
     EXIT.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
S
nL(IS
YlmpDctawRwrbii S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDdS
SSS
S
ANEXO-SORT

SS
ORDENACIÓN BÁSICA
S
Figura 8 - SORT - Ordenacion básica 
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDmS
SSS
ORDENACIÓN PARCIAL
S
Figura 9 - SORT - Ordenacion parcial 
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDíS
SSS
COPIA DE UN FICHERO
S
Figura 10 - SORT - Copia de un fichero 
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pD)S
SSS
COPIA PARCIAL DE UN FICHERO
S
Figura 11 - SORT - Copia parcial de un fichero 
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDuS
SSS
ORDENAR Y CAMBIAR DISPOSICIÓN DE CAMPOS
S
Figura 12 - SORT - Ordena y cambia disposicion de c ampos 
S
S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pDUS
SSS
ELIMINAR REPETIDOS
S
Figura 13 - SORT - Eliminar repetidos 
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pD<S
SSS
ACUMULAR
S
Figura 14 - SORT - Acumular 



OPERADORES Y TIPOS DE DATOS
- ,TITS=TA(ISI(ó(I(BAsTSTS.OMSás–OMS2(S2TáOMSM(/NBSMzSOIs/(BCSM(Szás.sYTBS.OMS
Ms/zs(Bá(SO–(IT2OI(MAS
o ,MASS ,arS<nPSS S SStzVOIsAOS2sM–.TES
o ,wAS ,arS<nPSrbi,KdS SStzVOIsAOS(V–Tvz(áT2OS
o 3aAS ,arS<nPSrbi,S S SStzVOIsAOShsBTIsOS
o rjAS ,arSBnPSS S SSR.óTBzVOIsAOS
- ,TITS.TMSAOV–TITAsGBS2(SVTEOICSV(BOICS(áATSM(Szás.sYTITBS.OMSMs/zs(Bá(MS
O–(IT2OI(MAS
o FNAS iTEOISvz(S
o e>AS a/zT.S
o gNAS i(BOISvz(S
S
S
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
ppDS
SSS
S
S

ANEXO 6. just enough ispf

Creating a PDS/Library 

:KAYmlÍn5Í3AYMYAc5ÍuQmiÍAzGÍioYlÍiGlRÍ
Menu Utilities Compilers Options Status Help
------------------------------------------------------------------------------
ISPF Primary Option Menu
Option ===> 3
0 Settings Terminal and user parameters User ID . : userid
1 View Display source data or listings Time. . . : 06:49
2 Edit Create or change source data Terminal. : 3278
3 Utilities Perform utility functions Screen. . : 1
4 Foreground Interactive language processing Language. : ENGLISH
5 Batch Submit job for language processing Appl ID . : ISR
6 Command Enter TSO or Workstation commands TSO logon : TRAINING
7 Dialog Test Perform dialog testing TSO prefix: userid
8 LM Facility Library administrator functions System ID : SYS1

Enter X to Terminate using log/list defaults
1zGlÍmKAYmlÍNÍuQmiÍ3AYMYAcÍiGlR5ÍRtoAopGAÍRAYMYAcSÍ
Menu Help
------------------------------------------------------------------------------
Utility Selection Panel
Option ===> 2
1 Library Compress or print data set. Print index listing. Print,
rename, delete, browse, edit or view members
2 Data Set Allocate, rename, delete, catalog, uncatalog, or display
information of an entire data set
3 Move/Copy Move, copy, or promote members or data sets
4 Dslist Print or display (to process) list of data set names.
Print or display VTOC information
5 Reset Reset statistics for members of ISPF library

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
ppoS
SSS
r=OOM(SiSóOIS(B=TBA(2ST..OATá(S S nsóSá=(I(SsMSBOSiCSzM(SRPS
Menu RefList Utilities Help
------------------------------------------------------------------------------
Data Set Utility
Option ===> M
A Allocate new data set C Catalog data set
R Rename entire data set U Uncatalog data set
D Delete entire data set S Data set information (short)
blank Data set information M Enhanced data set allocation
V VSAM Utilities
ISPF Library:
Project . .
Group . . .
Type . . . .
Other Partitioned, Sequential or VSAM Data Set:
Data Set Name . . . 'userid.CLASS.CNTL'
,I(MMSetNeyS
Menu RefList Utilities Help
Allocate New Data Set ----------------------------.
Command ===>
Data Set Name . . . . : userid.CLASS.CNTL
Management class. . . . (Blank for default management class)
Storage class . . . . . (Blank for default storage class)
Volume serial . . . . (Blank for authorized default volume)
Data class . . . . . . (Blank for default data class)
Space units . . . . . TRACK (BLKS, TRKS, CYLS, KB, MB or BYTES)
Primary quantity. . . 10 (In above units)
Secondary quantity. . 5 (In above units)
Directory blocks. . . 10 (Zero for sequential data set) *
Record format . . . . FB
Record length . . . . 80
Block size . . . . . 0
Data Set Name type. . PDS (LIBRARY, HFS, PDS, or blank) *
Expiration date . . . (YY/MM/DD, YYYY/MM/DD
Enter "/" to select option DDDD for retention period in days S
NE–(SsBSTááIshzá(MS.sU(Sá=(SOB(MSM=OVBSsBShO.2CSaóSEOzISsBMáT..TásOBS=TMSOá=(ISMáTB2TI2MCSzM(Sá=(VCS
N=(BS/OSáOSá=(Se2sáOIS S áE–(ScoCSá=(BSetNeyS
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
ppdS
SSS
S Menu RefList RefMode Utilities LMF Workstation Help
------------------------------------------------------------------------------
Edit Entry Panel
Command ===>
ISPF Library:
Project . . .
Group . . . . . . . . . . . . .
Type . . . .
Member . . . (Blank or pattern for member selection list)

Other Partitioned or Sequential Data Set:
Data Set Name . . . 'userid.CLASS.CNTL(NEWMEMB)'
Volume Serial . . . (If not cataloged)

Initial Macro . . . . Options
Profile Name . . . . . / Confirm Cancel/Move/Replace
Format Name . . . . . Mixed Mode
Data Set Password . . Edit on Workstation

NE–(SsBSá=(SBTV(SOóSEOzISB(VS.shITIECSTMSV(..STMSTSV(Vh(ISBTV(STMSM=OVBCSN=(BS–I(MMSetNeyS
-OzS=TH(SáOS2OSsáSá=sMSVTESOBSá=sMSMAI((BCSsóSsákMS á=(SósIMáSásV(SEOzkI(S
(2sásB/Sá=sMS,wlDgshITIECS
S
S File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.00 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
==MSG> -Warning- The UNDO command is not available until you change
==MSG> your edit profile using the command RECOVERY ON.
''''''

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
ppmS
SSS
3(óOI(SáE–sB/STBEá=sB/SsBCSA=(AUSEOzIS–IOós.(S
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.00 Columns 00001 00072
Command ===> PROFILE Scroll ===> CSR
****** ***************************** Top of Data ******************************
==MSG> -Warning- The UNDO command is not available until you change
==MSG> your edit profile using the command RECOVERY ON.
''''''RECOVERY OFF NULLS OFF CAPS ON
''''''
''''''
''''''

NOST21zMáSEOzIS–IOós.(ASEOzSATB@áS/OSVIOB/SVsá=Sá=(M(SAOVVTB2MAS
SóOISrtNgCSwRNRCSzM(Sá=(M(ACSyerbLey-SbtTyetciTcttciTtcgglSbtSRggS
SóOISrb3bgCSzM(Sá=(M(ASSSSSSSyerbLey-SbtTyetciTcttciTyetciSrb3TtcgglSbtSRggS gsB(SBzVh(IMSTI(SI(AOVV(B2(2SóOISrb3bgCSATzM(SáIOzh.(SVsá=ST..SOá=(ISáE–(MCS
S ****** **************************** Bottom of Data ****************************
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.00 Columns 00001 00072
Comman ===> RECOVERY ON;RENUM;UNNUM;NULLS ON ALL:
nM((SBOá(SThOH(P
Scroll ===> CSR
****** ***************************** Top of Data ******************************
****** **************************** Bottom of Data ****************************

yeleNSVs..SI(VOH(Sá=(S,yb ageS2sM–.TES
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.00 Columns 00001 00072
Command ===> RESET Scroll ===> CSR

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
ppíS
SSS
tOVSsBM(IáSMOV(S.sB(MSOóS1A.SOIS2TáTCSaUSVs..SO–(BSz–SUSh.TBUS.sB(MSóOISEOzSáOSáE–(SsBCS
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.00 Columns 00001 00072
Command ===> Scroll ===> CSR
I8 ***************************** Top of Data ******************************
****** **************************** Bottom of Data ****************************



File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.00 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
''''''
''''''
''''''
''''''
****** **************************** Bottom of Data ****************************


File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.00 Columns 00001 00072
Command ===> Scroll ===> CSR
_
****** ***************************** Top of Data ******************************
'''''' //useridA JOB (xxxx),’SAL MONELLA’,CLASS=c,MSGCLASS=m,
'''''' // NOTIFY=userid,TIME=(,5)
'''''' //STEP1 EXEC PGM=IEFBR14
''''''
y(–.TA(SzM(Is2ShESEOzISzM(Is2S
BBBBShESEOzISAOV–TBEkMSTAAOzBásB/SsBóOIVTásOBCS
AShESá=(S–IO–(ISá(MásB/SA.TMMCSTB2SVShESá=(S–IO–(IS=(.2S–IsBáSA.TMMSzM(2SsBSá(MásB/S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
pp)S
SSS
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.00 Columns 00001 00072
Command ===> SUBMIT Scroll ===> CSR
****** ***************************** Top of Data ******************************
'''''' //useridA JOB (xxxx),’SAL MONELLA’,CLASS=c,MSGCLASS=m,
'''''' // NOTIFY=userid,TIME=(,5)
'''''' //STEP1 EXEC PGM=IEFBR14
''''''
''''''

aóSsákMS?rgSEOzkI(S2OsB/CSEOzSVTESMzhVsáSsáCS
S
lTH(STB2S(BsáShES–I(MMsB/S, dS
N=(BS/(áSsBáOSlwl SáOSHs(VS?rgS1Oh@MSOzá–záS
cM(Sá=(SV(BzSBzVh(IMSsBSzM(STáSEOzISAOV–TBECS
Display Filter View Print Options Help
-------------------------------------------------------------------------------
V1R6M0 ------------------ SDSF PRIMARY OPTION MENU --------------------------
COMMAND INPUT ===> H SCROLL ===> PAGE

Type an option or command and press Enter.

DA - Display active users in the sysplex
I - Display jobs in the JES2 input queue
O - Display jobs in the JES2 output queue
H - Display jobs in the JES2 held output queue
ST - Display status of jobs in the JES2 queues

TUTOR - Short course on SDSF (ISPF only)
END - Exit SDSF

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
ppuS
SSS
Display Filter View Print Options Help
-------------------------------------------------------------------------------
SDSF HELD OUTPUT DISPLAY ALL CLASSES LINES 36,115 LINE 1-13 (29)
COMMAND INPUT ===> PREFIX userid* SCROLL ===> PAGE
NP JOBNAME JOBID OWNER PRTY C ODISP DEST TOT-REC TOT-

N(..Slwl SáOS2sM–.TES1OhMSMáTIásB/SVsá=SEOzISzM(Is2CSOB.ECS
Display Filter View Print Options Help
-------------------------------------------------------------------------------
SDSF HELD OUTPUT DISPLAY ALL CLASSES LINES 36,115 LINE 1-13 (29)
COMMAND INPUT ===> SCROLL ===> PAGE
NP JOBNAME JOBID OWNER PRTY C ODISP DEST TOT-REC TOT-
? useridW JOB00669 userid 144 H HOLD LOCAL 664
useridX JOB00648 userid 144 H HOLD LOCAL 240 S
bSB(BáSáOSá=(S1OhSBTV(ShI(TUMSá=(S1OhS2OVBSsBáOSM(–TITá(S–IsBáSós.(MS
Display Filter View Print Options Help
-------------------------------------------------------------------------------
SDSF JOB DATA SET DISPLAY - JOB useridW (JOB00669) LINE 1-6 (6)
COMMAND INPUT ===> SCROLL ===> PAGE
NP DDNAME STEPNAME PROCSTEP DSID OWNER C DEST REC-CNT PAGE
JESMSGLG JES2 2 userid H LOCAL 17
JESJCL JES2 3 userid H LOCAL 51
JESYSMSG JES2 4 userid H LOCAL 110
SYSPRINT STEP1 COB2 103 userid H LOCAL 97
SYSPRINT STEP1 LKED 104 userid H LOCAL 387
SYSOUT STEP1 GO 109 userid H LOCAL 2

Display Filter View Print Options Help
-------------------------------------------------------------------------------
SDSF JOB DATA SET DISPLAY - JOB useridW (JOB00669) LINE 1-6 (6)
COMMAND INPUT ===> SCROLL ===> PAGE
NP DDNAME STEPNAME PROCSTEP DSID OWNER C DEST REC-CNT PAGE
JESYSMSG JES2 4 userid Q LOCAL 110
SYSPRINT STEP1 COB2 103 userid Q LOCAL 97
SYSPRINT STEP1 LKED 104 userid Q LOCAL 387
S SYSOUT STEP1 GO 109 userid Q LOCAL 2
l(.(AáSá=(S–IsBáSós.(SEOzSVTBáSVsá=SlS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
ppUS
SSS



Display Filter View Print Options Help
-------------------------------------------------------------------------------
SDSF OUTPUT DISPLAY useridC JOB00985 DSID 109 LINE 0 COLUMNS 02- 81
COMMAND INPUT ===> SCROLL ===> PAGE
********************************* TOP OF DATA **********************************
THIS IS PROGRAM ABCDEF WRITTEN BY MOE SCHMOE
******************************** BOTTOM OF DATA ********************************

Display Filter View Print Options Help
-------------------------------------------------------------------------------
SDSF HELD OUTPUT DISPLAY ALL CLASSES LINES 662 LINE 1-1 (1)
COMMAND INPUT ===> SCROLL ===> PAGE
NP JOBNAME JOBID OWNER PRTY C ODISP DEST TOT-REC TOT-
P useridC JOB00985 userid 144 Q HOLD LOCAL 662

aóSEOzS=TH(SósBsM=(2CS,zI/(Sá=(S–IsBáSós.(S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
pp<S
SSS
The list of files, and a few Editing features 
S
jTH(Sal, SM=OVSEOzSTS.sMáSOóSEOzISós.(MS
S
cdTmCSá=(BSetNeyS

Menu RefList RefMode Utilities Help
------------------------------------------------------------------------------
Data Set List Utility
Option ===>

blank Display data set list P Print data set list
V Display VTOC information PV Print VTOC information

Enter one or both of the parameters below:
Dsname Level . . . userid
Volume serial . .

Data set list options
Initial View . . . 1 1. Volume Enter "/" to select option
2. Space / Confirm Data Set Delete
3. Attrib / Confirm Member Delete
4. Total

The following actions will be available when the list is displayed:
Enter a "/" on the data set list command field for command prompt pop-up.
Enter TSO commands, CLIST, REXX execs, or "=" to execute previous command.
S
NE–(SsBSEOzISzM(Is2S
N=(BS–I(MMSetNeyS
 IOVS=áá–ADDVVVCá=(TV(IsATB–IO/ITVV(ICAOVSAOVV(IAsT.SzM(SOISI(MT.(SOóSá=sMS2OAzV(BáSsMSTSHsO.TásOBSOóS AO–EIs/=áS.TVMCS
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
poDS
SSS
Menu Options View Utilities Compilers Help
------------------------------------------------------------------------------
DSLIST - Data Sets Matching userid Row 1 of 26
Command ===> Scroll ===> CSR

Command - Enter "/" to select action Message Volume
-------------------------------------------------------------------------------
E userid.CLASS.CNTL TSO001
userid.CLASS.COBOL TSO001
userid.ISPF.PROFILE TSO001
S
NE–(SeCSáOS(2sáSEOzIS,wlDgshITIE


File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL Member List
Command ===> S NEWMEMB Scroll ===> CSR
****** ***************************** Top of Data ******************************
MEMBER1
MEMBER2
MEMBER3

RS.sMáSOóSV(Vh(IMST––(TIMCSnN=(I(SVTESh(SBOB(SsBSá=(S.sMáPS
NE–(SlSB(BáSáOSá=(SBTV(SOóSá=(SV(Vh(ISEOzSVsM=SáOS(2sáS
aóSá=(SBTV(S2O(MSBOáST––(TISOBSá=(S.sMáCSáE–(SlSV(Vh(IBTV(SOBSá=(SAOVVTB2S.sB(S

File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
HELLO THIS IS A TEST
THIS IS LINE 2
THIS IS LINE 3
****** **************************** Bottom of Data ****************************
S
 OISá=(SMTU(SOóS(BTV–.(CSáE–(SsBSá=(M(Sá=I((S.sB(MS
S File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
popS
SSS
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
_
****** ***************************** Top of Data ******************************
M HELLO THIS IS A TEST
000002 THIS IS LINE 2
A THIS IS LINE 3
****** **************************** Bottom of Data ****************************

iOHsB/Sá=(SósIMáS.sB(STóá(ISá=(S.TMáS
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 THIS IS LINE 2
000002 THIS IS LINE 3
000003 HELLO THIS IS A TEST
****** **************************** Bottom of Data ****************************


File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
C THIS IS LINE 2
000002 THIS IS LINE 3
A HELLO THIS IS A TEST
****** **************************** Bottom of Data ****************************



tOVSAO–ESá=(SósIMáS.sB(STóá(ISá=(S.TMáS
S File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 THIS IS LINE 2
000002 THIS IS LINE 3

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
pooS
SSS
000003 HELLO THIS IS A TEST
000004 THIS IS LINE 2
****** **************************** Bottom of Data ****************************

File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 THIS IS LINE 2
000002 THIS IS LINE 3
R HELLO THIS IS A TEST
000004 THIS IS LINE 2
****** **************************** Bottom of Data ****************************

tOVSI(–(TáSá=(Sá=sI2S.sB(S
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 THIS IS LINE 2
000002 THIS IS LINE 3
000003 HELLO THIS IS A TEST
000004 HELLO THIS IS A TEST
000005 THIS IS LINE 2
****** **************************** Bottom of Data ****************************

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
podS
SSS
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 THIS IS LINE 2
000002 THIS IS LINE 3
D HELLO THIS IS A TEST
000004 HELLO THIS IS A TEST
000005 THIS IS LINE 2
****** **************************** Bottom of Data ****************************

w(.(á(STS.sB(S
File Edit Confirm Menu Utilities Compilers Test Help
-------------------------------------------------------------------------------
EDIT userid.CLASS.CNTL(NEWMEMB) - 01.01 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
MM THIS IS LINE 2
MM THIS IS LINE 3
000003 HELLO THIS IS A TEST
A THIS IS LINE 2
****** **************************** Bottom of Data ****************************
VOH(Sá=(SósIMáSáVOS.sB(MSTóá(ISá=(S.TMáS

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
pomS
SSS
Taming TSO Version 4 

r=OOM(Sb–ásOBSDSóIOVSá=(SVTsBSV(BzCSM(áásB/MS
Menu Utilities Compilers Options Status Help
------------------------------------------------------------------------------
ISPF Primary Option Menu
Option ===> 0
0 Settings Terminal and user parameters User ID . : userid
1 View Display source data or listings Time. . . : 06:49
2 Edit Create or change source data Terminal. : 3278
3 Utilities Perform utility functions Screen. . : 1
4 Foreground Interactive language processing Language. : ENGLISH
5 Batch Submit job for language processing Appl ID . : ISR
6 Command Enter TSO or Workstation commands TSO logon : TRAINING

Enter X to Terminate using log/list defaults


Log/List Function keys Colors Environ Workstation Identifier Help
------------------------------------------------------------------------------
ISPF Settings
Command ===>
Options Print Graphics
Enter "/" to select option Family printer type 2
/ Command line at bottom Device name . . . .
/ Panel display CUA mode Aspect ratio . . . 0
/ Long message in pop-up
/ Tab to action bar choices
/ Tab to point-and-shoot fields General
/ Restore TEST/TRACE options Input field pad . . N
/ Session Manager mode Command delimiter . ;
/ Jump from leader dots
/ Edit PRINTDS Command
/ Always show split line
Terminal Characteristics
Screen format 1 1. Data 2. Std 3. Max 4. Part

Terminal Type 3 1. 3277 2. 3277A 3. 3278 4. 3278A
-OzSATBSMTó(.ESI(VOH(ST..Sá=(SM.TM=(MS
Log
/List Function keys Colors Environ Workstation Identifier Help
------------------------------------------------------------------------------

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
poíS
SSS
ISPF Settings
Command ===>
Options Print Graphics
Enter "/" to select option Family printer type 2
Command line at bottom Device name . . . .
Panel display CUA mode Aspect ratio . . . 0
Long message in pop-up
Tab to action bar choices
Tab to point-and-shoot fields General
Restore TEST/TRACE options Input field pad . .
Session Manager mode Command delimiter . ;
Jump from leader dots
Edit PRINTDS Command
Always show split line

Terminal Characteristics
Screen format 1 1. Data 2. Std 3. Max 4. Part

Terminal Type 3 1. 3277 2. 3277A 3. 3278 4. 3278A

etNeySOIS, dSVs..SMTH(SEOzISA=OsA(MS
Log/List Function keys Colors Environ Workstation Identifier Help
------------------------------------------------------------------------------
ISPF Settings
Command ===>
Options Print Graphics
Enter "/" to select option Family printer type 2
Command line at bottom Device name . . . .
Panel display CUA mode Aspect ratio . . . 0
Long message in pop-up
Tab to action bar choices
Tab to point-and-shoot fields General
Restore TEST/TRACE options Input field pad . .

Terminal Type 3 1. 3277 2. 3277A 3. 3278 4. 3278A
5. 3290A 6. 3278T 7. 3278CF 8. 3277KN
9. 3278KN 10. 3278AR 11. 3278CY 12. 3278HN
,záSá=(SAzIMOISOBSgbFDgalNCS–I(MMSetNeyS
S
Log/List Function keys Colors Environ Workstation Identifier Help
.-------------------------------------. --------------------------------------

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
po)S
SSS
1 1. Log Data set defaults tings
2. List Data set defaults
3. List Data set characteristics More: +
4. JCL... Print Graphics
'-------------------------------------' Family printer type 2
Command line at bottom Device name . . . .
Panel display CUA mode Aspect ratio . . . 0
Long message in pop-up
Tab to action bar choices
Tab to point-and-shoot fields General
Restore TEST/TRACE options Input field pad . .
Session Manager mode Command delimiter . ;
Jump from leader dots
Edit PRINTDS Command
Always show split line

NE–(SpSóOISgbFCS–I(MMSetNeyS
Log/List Function keys Colors Environ Workstation Identifier Help
- .------------------------- ISPF Settings --------------------------. -------
Log Data Set Defaults

Process option . . . 2 1. Print data set and delete : +
2. Delete data set (without printing)
3. Keep data set (append subsequent
information to same data set)
4. Keep data set and allocate new data
set
SYSOUT class . . . . . . A
Local printer ID or
writer-name . . . . . .
Lines per page . . . . . 60
Primary pages . . . . . 0
Secondary pages . . . . 0
Log Message ID . . . . . (/ = Yes)

aSMz//(MáSO–ásOBSoSKSáOS2(.(á(Sá=(S.O/CSR.MOS–záSY( IOMSOBSá=(S–T/(MSáOSh(S–IsBá(2S
tOVSáOSáTU(SATI(SOóSá=(SgsMáS
Log
/List Function keys Colors Environ Workstation Identifier Help
------------------------------------------------------------------------------
ISPF Settings
Command ===>

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
pouS
SSS
Options Print Graphics
Enter "/" to select option Family printer type 2
Command line at bottom Device name . . . .
Panel display CUA mode Aspect ratio . . . 0
Long message in pop-up
Tab to action bar choices
Tab to point-and-shoot fields General
Restore TEST/TRACE options Input field pad . .
Session Manager mode Command delimiter . ;
Jump from leader dots
Edit PRINTDS Command
Always show split line

Terminal Characteristics
Screen format 1 1. Data 2. Std 3. Max 4. Part

Terminal Type 3 1. 3277 2. 3277A 3. 3278 4. 3278A
S
,záSá=(SAzIMOISOBSgbFDgalNCS–I(MMSetNeyS
Log/List Function keys Colors Environ Workstation Identifier Help
.-------------------------------------. --------------------------------------
2 1. Log Data set defaults tings
2. List Data set defaults
3. List Data set characteristics More: +
4. JCL... Print Graphics
'-------------------------------------' Family printer type 2
Command line at bottom Device name . . . .
Panel display CUA mode Aspect ratio . . . 0
Long message in pop-up
Tab to action bar choices
Tab to point-and-shoot fields General
Restore TEST/TRACE options Input field pad . .
Session Manager mode Command delimiter . ;
NE–(SoSóOISgalNCS–I(MMSetNeyS

Log/List Function keys Colors Environ Workstation Identifier Help
- .------------------------- ISPF Settings --------------------------. -------
List Data Set Defaults
C
Process option . . . 4 1. Print data set and delete : +
O 2. Delete data set (without printing)

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
poUS
SSS
3. Keep data set (append subsequent
information to same data set)
4. Keep data set and allocate new data
set
SYSOUT class . . . . . . A
Local printer ID or
writer-name . . . . . .
Lines per page . . . . . 60
Primary pages . . . . . 100
Secondary pages . . . . 200
*** List already allocated ***

aSMz//(MáSO–ásOBSmSKSdo nothingSVsá=Sá=(SgsMáSS
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
po<S
SSS
The Keys and Keylists 
 
aóSEOzSVTBáSáOS=TH(SOB(SM(áSOóSU(EMSTB2Sá=(sISV(TBsB/MSS
OBS(H(IESal, S–TB(.CSEOzSATBS2sMTh.(SU(E.sMáMCS
aóSEOzS–I(ó(ISáOS=TH(S(H(IES–TB(.SVsá=STS2sóó(I(BáSM(áSOóSU(EMCS.(TH(Sá=sB/MST.OB(CSS
aBSl(áásB/MCS–záSá=(SAzIMOISOBS zBAásOBSU(EMCS–I(MMS(Bá(IS
S Log/List Function keys Colors Environ Workstation Identifier H
--------- .-----------------------------------. ----------------------
| 1. Non-Keylist PF Key settings |
Command = | 2. Keylist settings... |
| 3. Tailor function key display | Mor
Options | 4. Show all function keys | Graphics
Enter " | 5. Show partial function keys | ly printer type 2
Comm | *. Remove function key display | ce name . . . .
Pane | *. Use private and shared | ct ratio . . . 0
/ Long | 8. Use only shared |
Tab | 9. Disable keylists |
Tab | *0. Enable keylists | l
Rest '-----------------------------------' t field pad . . N
Session Manager mode Command delimiter . ;
/ Jump from leader dots
Edit PRINTDS Command
Always show split line
------------------------------------

Menu RefList RefMode Utilities Workstation Help
----------------------------------------------------------------------
View Entry Panel
Command ===>
ISPF Library:
Project . . .
Group . . . . . . . . . . . . .
Type . . . .
Member . . . (Blank or pattern for member selectio

Other Partitioned or Sequential Data Set:

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
pdDS
SSS
Data Set Name . . .
Volume Serial . . . (If not cataloged)

Workstation File:
File Name . . . . .

Initial Macro . . . . Options
Profile Name . . . . . / Confirm Cancel/Move/Replace
Format Name . . . . . / Browse Mode
Data Set Password . . View on Workstation

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSS SSSSSSSSSS SSSSSSS
S
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
SS
pdpS
SSS
Removing Key Captions

Command ===> PFSHOW OFF Scroll ===> PAGE

RBOá=(ISMz//(MásOBASF(áSIs2SOóSá=(SU(ESAT–ásOBMSóIOVSá=(ShOááOVSOóSEOzISMAI((BCS
MsBA(SMAIO..sB/SsMSzBTVTI(SOóSá=(SU(ESAT–ásOBMSnV=sA=SV(TBMSá=(ES=s2(SsV–OIáTBáSsBóOIVTásOBlPS
NE–(S, ljbHSb  SOBSTBESAOVVTB2S.sB(CSS
S
S
S
S
S
S
------------------------------------------------- T able of ContentsS------------------------------------------------
KS
SrI(TásB/STS,wlDgshITIESS S S S SoS
F(áásB/SsBáOSá=(Se2sáOISS S S S SíS
lwl S S S S S S SUS
N=(S.sMáSOóSós.(MCSTB2STSó(VSe2sásB/Só(TázI(MSSS ppS
NTVsB/SNlbSL(IMsOBSmSS S S S píS
I(EMSTB2SU(E.sMáMS S S S S opS
y(VOHsB/SI(ESrT–ásOBMSS S S S ooS
S
nL(IS
YfB2sA(
PS
S
S
S
S
S
S
S
S
S

ANEXO 7- DESCRIPCION FILE STATUS EN ESPAÑOL
C
Código  Significado  
00  No  hay  información  adicional   
02  La  sentencia  READ  fue  ejecutada  satisfactoriamente,  pero  fue  detectada  una  clave 
duplicada.  
04 La sentencia READ fue ejecutada satisfactoriamente, pero el largo de registro procesado 
no  corresponde  
05 Una sentencia OPEN es ejecutada satisfactoriamente,  pero el archivo referenciado no es 
está presente al momento de ejecutar el OPEN. Si el modo  de apertura es I-O o EXTEND, el 
archivo  se  creará  
10 Una sentencia secuencial READ fue intentada y no existe otro registro lógico en el archivo 
porque  ha  sido  encontrado  el  fin  de  archivo.   
12  Extensión  IBM.  No  se  encontró  un  registro  de  Subfil e  modificado  
14  Una  sentencia  READ  secuencial  fue  intentada  para  un  archivo  relativo  y  el  número  de 
dígitos significativos en el número relativo de registro fue más largo que el tamaño del ítem 
de  datos  de  la  clave  relativa  descrita  para  el  archivo   
21 Existe un error de secuencia para un archivo indexado accesado secuencialmente. El valor 
de la clave de registro ha sido cambiada por el programa entre la ejecución satisfactoria de 
una sentencia READ y la ejecución de la siguiente sentencia REWRITE para el archivo, o los 
requerimientos  de  orden  ascendente  para  los  valores  claves de  registro  fueron  violados.  
22 Se intentó escribir un registro que creará una clave duplicada en un archivo relativo; o se 
intentó  escribir  o  sebreescribir  (WRITE/REWRITE)  un  registro  que  creará  una  clave  de 
registro principal duplicada en un archivo indexado. CPF4759, CPF5008, CPF5026, CPF5034, 
CPF5084,  CPF5085  
23 Se intentó hacer un acceso directo (Random) a un regi stro que no existe en el archivo.  
CPF5001, CPF5006, CPF5013, CPF5020, CPF5025   
24 Se intentó realizar una escritura más allá de los límites definidos externamente para un 
archivo relativo o indexado. Una sentencia secuencial WRITE fue intentada para un archivo 
relativo y el número de dígitos significativos en el número relativo de registro era más largo 
que el tamaño de la clave de registro relativo descrito para el archivo.  
CPF5006, CPF5018, CPF5021, CPF5043, CPF5272   
30 No hay información adicional.  
CPF4192, CPF5101, CPF102, CPF5129, CPF5030, CPF5143    
34 Existe un error permanente porque existe una violación, se intentó escribir más allá de los 
límite definidos externamente para un archivo secuencial.  
CPF5116, CPF5018, CPF5272, sí la organización es secuencial.   
35 Se intentó una sentencia OPEN con la frase INPUT, I-O o EXTEND sobre un archivo no 
opcional que no está presente.  
CPF4101, CPF4102, CPF4103   
37 Se intento una sentencia OPEN sobre un archivo que no soporta el modo de apertura 
especificado en la sentencia OPEN. Posibles Violaciones son:  
La frase EXTEND o OUTPUT fue especificada pero el archivo no soporta operaciones de 
escritura.  
La frase I-O fue especificada pero el archivo no soporta las operaciones de entrada y salida 
permitidas.  
La frase INPUT fue especificada pero el archivo no soporta las operaciones de lectura.   
38 Se intentó una sentencia OPEN sobre un archivo cerrado previamente con bloqueo (lock).  
39 La sentencia OPEN no fue ejecutada satisfactoriamente debido a un conflicto entre los 
atributos del archivo físico y los atributos especificados para ése archivo en el programa.  
Comprobar error de nivel para el archivo.  
CPF4131   

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pddS
SSS
41 Se intentó una sentencia OPEN para el archivo en el modo de apertura.  
42 Se intentó una sentencia CLOSE para un archivo que no está abierto.  
43 Para un archivo secuencial, en el modo acceso secuencial, la última sentencia de entrada 
salida ejecutada para el archivo asociado previa a la ejecución de una sentencia REWRITE 
¿???.  
Para archivos relativos e indexados en el modo de acceso secuencial, la última sentencia de 
entrada-salida ejecutada para el archivo. ¿???.   
44 Una violación de ¿??, existe porque se intento sobreescribir un registro en el archivo y el 
registro no es del mismo tamaño que el registro a reemplazar.  
46 Se intentó una sentencia secuencial READ sobre un archivo que está abierto en el modo 
I-O sin haber establecido un registro válido debido a que la sentencia start no se ejecutó con 
éxito, la sentencia READ precedente fue insatisfactoria o causa una condición AT END.  
CPF5001, CPF5025, CPF5183   
47 La ejecución de una sentencia READ o START fuen intentada sobre un archivo que no está 
abierto en el modo INPUT o I-O.  
48 La ejecución de una sentencia WRITE fue intentada sobre un archivo que no está abierto 
en el modo I-O, OUTPUT o EXTEND.  
49 La ejecución de una sentencia DELETE o REWRITE fu e intentada sobre un archivo que no 
está abiertoen el modo I-O.  
90 Otros errores:  
Archivo no encontrado.  
Miembro no encontrado.  
Falta exepciones I-O.  
CPF4101, CPF4102, CPF4103 si un USE es aplicable para  el archivo (sobre un no opcional 
con OPEN OUTPUT).  
Las siguientes excepciones se monitora genéricamente :   
CPF4101 al CPF4399  
CPF4501 al CPF4699  
CPF4701 al CPF4899  
CPF4901 al CPF4999  
CPF5001 al CPF5099  
CPF5101 al CPF5399  
CPF5501 al CPF5699  
Estas excepciones causan un FILE STATUS = 90. Si un procedimiento USE es aplicable, se 
ejecuta. De otra manera, el programa termina y entrega al operador la excepción y la opción 
de cancelar, vaciado parcial o vaciado total de variables.  
91 Tipo de acceso no definido o no autorizado.  
CPF2207, CPF4104, CPF4236, CPF5057, CPF5109, CPF513 4, CPF5279   
92 Error lógico:  
Archivo bloqueado  
El archivo ya está abierto  
I-O para un archivo cerrado  
READ después de fin de archivo  
CLOSE para un archivo ya cerrado  
CPF4106, CPF4132, CPF4740, CPF5013, CPF5067, CPF507 0, CPF5119, CPF5145, CPF5146, 
CPF5149, CPF5176, CPF5209  

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pdmS
SSS
93 El archivo esta en conflicto con otro usuario.  
94 ¿??? y la última operación no fue un READ satisfactorio.  
95 Información del archivo inválido o incompleta.  
Se especifican claves duplicadas en el programa COBOL. El archivo ha sido abierto 
satisfactoriamente pero el archivo indexado de base de datos fue creado con clave única; o  
No se especificó clave duplicada en el programa COBOL, y el archivo de base de datos fue 
creado permitiendo claves duplicadas.   
98 Grave errór interno en la estructura del fichero, generalmente se suelen provocar cuando 
hay un corte eléctrico o una salida brusca del programa y algún fichero indexado se ha 
quedado abierto, lo que suele ocurrir es problema de correspondencia entre claves y datos, 
se recomienda hacerle un RECOBERY (RM/COBOL) o el que cor responda a cada compilador 
para rehacer las claves.  
En algunos casos , es posible que éste error se deba a un problema físico del disco, en ese 
caso también será conveniente copiarlo en otro sitio "físico"   
99 Al borrar, leer o reescribir un registro que está siendo bloqueado por otro usuario.  
9 A El trabajo a sido cancelado de una manera controlada por comandos CL, CNLJOB, 
TRMSBS, TRMCPF, PWRDWNSYS.  
CPF4741   
Se ha enviado un mensaje de escape durante una operació n de entrada READ desde 
dispositivo de programa  
9 C Falla de adquisición, la sección no ha partido o conectado.  
9 D El registro está bloqueado  
CPF5027, CPF5032   
9 G Excepción de salida para dispositivo o sesión  
9 H Operación ACQUIRE fallida. ¿? Apropiado por otro programa o inhabilitado. (9H es el 
resultado cuando una operación ACQUIRE causa cualqui era de las excepciones monitoreadas 
para 90 o 9N cuando ocurre.  
9 I Operación WRITE fallida  
CPF4702, CPF4737, CPF5052, CPF5076   
9 K Nombre de formato inválido, formato no encontrado  
CPF5022, CPF5023, CPF5053, CPF5054, CPF5121, CPF515 2, CPF5153, CPF5186, CPF5187   
9 M Último registro escrito en Subfile  
CPF5003   
9 N Error temporal de I-O en hardware (potencialmente recuperable). Error durante la sesión 
de comunicaciones.  
CPF4145, CPF4146, CPF4193, CPF4229, CPF 4291, CPF42 99, CPF4354, CPF4354, CPF4526, 
CPF4542, CPF5477, CPF4592, CPF4602, CPF4603, CPF461 1, CPF4612, CPF4616, CPF4617, 
CPF4622, CPF4623, CPF4624, CPF4624, CPF4625, CPF462 8, CPF4629, CPF4630, CPF4631, 
CPF4632, CPF4705, CPF5107, CPF5128, CPF5166, CPF519 8, CPF5280, CPF5280, CPF5282, 
CPF5287, CPF5293, CPF5352, CPF5353, CPF5517, CPF552 4, CPF5529, CPF5530, CPF5532, 
CPF5533   
9 P Open falló porque el archivo no puede ser ubicado bajo control ¿???  
CPF4293, CPF4326, CPF4327, CPF4328, CPF4329   
 
S
S
S
S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pdíS
SSS
ANEXO 8 -PROGRAMACION UTILIZANDO HOST Y ARQUITECTUR A
ISBAN

1. HOST

1.1 MANEJO DEL HOST.
Accedemos haciendo un doble clic en el icono de escritorio Redb1 .

En la ventana que aparece ponemos TSOD NOMBRE_DE_USUARIO y pulsamos
CONTROL.



Aparece la siguiente ventana. En ella, donde pone PASSWORD ponemos nuestra
contraseña y pulsamos CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pd)S
SSS


Nos aparece la primera ventana del HOST informativa de que hemos accedido.




Pulsamos Control y nos aparece la segunda ventana informativa de que tenemos acceso
al CISC.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pduS
SSS

Pulsamos CONTROL de nuevo y aparece el menú inicial.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pdUS
SSS
En el vamos a poner la opción 2 y pulsamos CONTROL para entrar en el menú general
de desarrollo, que es el que vamos a usar siempre.


1.2 TECLAS DE FUNCION PARA USAR EL HOST.

Las teclas de función que más se utilizan en los menús del HOST son las siguientes:

F2 S Abrir una nueva ventana del HOST.
F3 SSSS Volver al menú anterior.
F7 SSSS Visualizar el contenido de la pagina anterior.
F8 SSSS Visualizar el contenido de la pagina siguiente.
F9 SSSS Con esta tecla de función pasamos de una ventana abierta a otra. Aparece una
ventana al pulsar esta tecla que permite abrir una nueva ventana colocando el
cursor delante de start a new screen y pulsando CONTROL, o pasar de una
ventana abierta a otra poniendo el cursor a la izquierda en la línea de la ventana
que queremos visualizar y pulsando CONTROL. Notar que un * delante de una
línea de ventana activa indica que esa es la ventana que actualmente estamos
visualizando.

(( PONER AQUI VENTANA F9)))

F10SSSS Ver el contenido de la izquierda de la ventana.
F11SSSS Ver el contenido de la derecha de la ventana.

1.3 COMANDOS PARA USAR EL HOST.
En la línea de comandos podemos poner:

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pd<S
SSS
KEYS S Muestra las asignaciones de las teclas de función para la ventana
activa.
SWAP LIST SSSS Muestra la ventana de listado de ventanas abiertas. Normalmente hace
lo mismo que F9.
SCRNAME nombre-ventana S Pone el nombre-ventana a la ventana actual y se
mostrará ese nombre en el listado de ventanas abiertas al pulsar F9.
START S Abre una nueva ventana directamente sin necesidad de acceder a
través de F9 al listado de ventanas.

1.4 SALIR DE TSOD.

Para salir de TSOD, pulsamos F3 hasta llegar al menú general de desarrollo y pulsamos
como opción la X y CONTROL. Debemos cerrar todas las ventanas de sesión que
hayamos abierto.



(((En caso de que en alguna de ellas nos lleve hasta otro menú (ver imagen siguiente), al
pulsar la X, indicaremos en esa ventana la opción 2 y pulsaremos CONTROL))).





1.5 MENÚ DE EDICIÓN.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmDS
SSS
A través del menú de edición podemos crear o editar un archivo para programar el
código COBOL en él. Accedemos a través de la opción 2 desde el menú general de
desarrollo.



En la ventana que aparece, el panel de entrada del editor indicaremos la librería en la
que vamos a trabajar. Una librería es la dirección donde se van a almacenar los archivos
y se compone de distintos campos seguidos por un ‘.’ .
Si vamos a trabajar por ejemplo en la librería DES.ISWF.TRABAJO.INS.FTE,
pondremos:

En Proyect: DES.ISWF
En Group: TRABAJO
En Type: INS.FTE
En Member: Nombre_del_archivo

En Member pondremos el nombre del archivo donde vamos a escribir, si el archivo
existe lo abrirá y si no existe lo creará y lo abrirá vacío.

Pulsamos CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmpS
SSS




NOTA: En el caso de que el nombre de la librería sea demasiado largo y no podamos
ponerlo en proyect, group y type al editar, podemos borrar lo que contengan esas
cuatro líneas y ponerlo en la línea de data set name con el nombre del documento
entre paréntesis. Para editar el programa del ejemplo se pondrá en esa línea:

DES.ISWF.TRABAJO.INS.FTE(NOMBRE_DEL_ARCHIVO)

Ahora tenemos abierto el editor.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmoS
SSS


Vamos a ver como podemos utilizarlo. Existen tres formas de dar instrucciones al
editor:

La numeración de las líneas.

Las opciones de escritura del texto vamos a indicarlas a través de la inserción de una
serie de caracteres y números en la posición que queramos del editor dentro de la
numeración de líneas. Así, si en esa columna, en una fila determinada ponemos por
ejemplo una I, se insertará una línea debajo de esa fila donde podremos continuar
escribiendo. Las opciones más habituales son:

I SSSS Inserta una línea debajo de la línea donde hemos puesto la I.
In SSSS Inserta n líneas a continuación de esta, siendo n el número de líneas.
R SSSS Repite el contenido de esta línea en la línea de debajo.
RnSSSS Repite n veces esta línea debajo, siendo n el número de líneas.
D SSSS Borra una línea.
DnSSSS Borra n líneas, siendo n el número de líneas.
C SSSS Copia esta línea en el portapapeles.
M SSSS Mover esta línea. La corta y la guarda en el portapapeles.
A SSSS Escribe la línea o el bloque de líneas que hayamos copiado o movido debajo de
ésta.
B SSSS Escribe la línea o el bloque de líneas que hayamos copiado o movido encima de
ésta.
)) SSSS Mueve un espacio hacia la derecha el texto de esta línea.
))nSSSS Mueve n espacios hacia la derecha el texto de esta línea.
tzV(ITAsGBS 2(S
g:B(TS 2(S
N(A.TMS 2(S

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmdS
SSS
(( SSSS Mueve un espacio hacia la izquierda el texto de esta línea.
((nSSSS Mueve n espacios hacia la izquierda el texto de esta línea.

Para bloques de texto se coloca dos caracteres indicativos de lo que queremos hacer en
la primera línea del bloque y esos mismos caracteres en la última línea del bloque de
texto.

Por ejemplo:
• Borrar en bloque: Ponemos DD en la primera línea y DD en la última línea del
bloque y al pulsar CONTROL se eliminará todo el contenido que haya entre ambas
líneas.
• Copiar en bloque: Ponemos CC en la primera línea del bloque y CC en la última.
Escribimos una A (after) o una B (befote) en la posición donde queremos copiar el
bloque de texto dependiendo si queremos que se copie a continuación de esa línea o
antes de la misma y pulsamos CONTROL.
• Mover en bloque: Se hace igual que copiar en bloque, pero en lugar de poner CC
pondremos MM en la primera y la última línea del bloque.
• Desplazar a la izquierda o derecha un bloque de texto: Se pone ))n en la primera
línea del bloque y ))n en la última línea del bloque y al pulsar CONTROL desplaza
todo el texto del bloque n espacios a la izquierda. ( Si en lugar de poner ))n, se pone
((n, desplazará a la derecha).

En la parte inferior de la pantalla del editor aparece la posición del cursor (el número de
fila y el número de columna en la que se encuentra), pero esta posición no es la posición
COBOL, por lo que debemos conocer la posición COBOL para no tener errores de
sintaxis a la hora de realizar la compilación.

Por ejemplo:
• Los 01 van en la posición COBOL 8.
• Los 05 en la posición cobol 12, igual que los niveles 88.
• Los 10 van en la posición cobol 16.
• Los 03 van en la posición cobol de los 05 desplazando todo a la posición del
siguiente (el 05 pasaría a la posición del 10, ...)
• Los comentarios (*) comienzan en la posición cobol 7.
• Los exec comienzan en la posicion COBOL 12.

Para poder visualizar la posición COBOL, el editor nos muestra la regla para COBOL si
ponemos COLS en la numeración de una línea.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmmS
SSS
La línea de mandatos.


En la línea de mandatos vamos a indicar las operaciones que queremos realizar con este
fichero o entre varios ficheros. Las que más utilizamos son:

SAVE SSSS Guardar el contenido del documento.
F textoSSSS Buscar un texto en el documento. Utilizando la tecla de función F5
continuará buscando el mismo texto a través del documento.
CUT SSSS Copia al portapapeles un texto seleccionado mediante cc a través de la
numeración de líneas para poder llevarlo posteriormente a otro documento.
PASTESSSS Pega un texto copiado mediante CUT en la posición de la línea indicada
mediante una A o una B en la numeración de línea.
L número_de_línea SSSS Posiciona el cursor en la línea del documento indicada por
número de línea.
CREATESSSS Sale de la ventana de edición y muestra la ventana de librerías para indicar
la librería y el nombre de programa con el que queremos crear el nuevo. El
fichero nuevo se creara con todos las líneas indicadas mediante Cn en la
numeración de línea y desde la posición en la que hayamos puesto la Cn.
RESSSSS Quita los avisos que aparecen en las líneas superiores en el editor.
HI COLSSSS Pone el editor en el modo de colores para que muestre las palabras
reservadas, comentarios, cadenas de caracteres, errores, ... en distintos
colores.
M (F8)SSSS Si escribimos una M en la línea de comandos y pulsamos la tecla de función
F8, el cursor se mueve hasta la última línea escrita que exista en el
documento.
M(F7)SSSS Si escribimos una M en la línea de comandos y pulsamos la tecla de función
F7, el cursor se mueve hasta la primera línea escrita que contenga el
documento.
NUM STD ON COBOL -> Con este comando estandarizamos la ventana de edición de
código para COBOL, eliminando las primeras 6 columnas que están a
continuación de la columna de numeración. Si ahora ponemos COLS, la
numeración de COLS sería la misma que las posiciones indicadas por el
cursor en la parte inferior izquierda de la pantalla. Esta opción no es
recomendable cuando tengamos escrito texto a continuación de la
numeración de pantalla ya que eliminará todo el trozo de texto que esté en
las 6 primeras columnas.
CANCELS Sale del editor sin guardar los cambios.

DOS EJEMPLOS:
1. Copiar de un fichero a otro existente.
a) Abrimos dos ventanas del editor, una con el documento desde el que queremos
copiar y otra con el documento destino.
b) Ponemos CC en la primera línea que queremos copiar y CC en la última línea
del bloque a copiar.
c) En la línea de comandos ponemos CUT.
d) Nos vamos al documento destino y en la línea anterior a la posición donde
queremos poner el bloque de texto escribimos una A.
e) Ponemos en la línea de comando PASTE.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmíS
SSS



2. Crear un documento con la misma información de otro.
a) Abrimos una ventana del editor con el documento desde el que queremos copiar.
b) En la primera línea del documento ponemos C9999.
c) En la línea de comandos ponemos CREATE.
d) Sale de la ventana del editor y aparece una ventana de guardado en la que
indicamos la información de la librería y el nombre del nuevo documento.

NOTA: Si en lugar de utilizar C9999, utilizamos M9999 movemos el contenido del
fuente al destino dejando el documento fuente vacío.

Las teclas de Función.


Las que más se utilizan:

F3SSSS Salir del editor. Guarda el documento cuando sale.
F5SSSS Si se ha indicado en la línea de comando F texto_a_buscar, permite seguir
buscando el texto a través del documento.
F7SSSS Muestra la pantalla siguiente de contenido del documento.
F8SSSS Muestra la pantalla anterior de contenido del documento.
F9SSSS Abre el menú que permite pasar de una abierta a otra o abrir una nueva ventana.
F10SSSS Muestra el texto de la parte derecha de la pantalla.
F11SSSS Muestra el texto de la parte izquierda de la pantalla si lo hay.

NOTA: Siempre que pongamos una orden en una línea o un comando debemos pulsar
control para que se ejecute o borrarla si queremos cancelarla.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pm)S
SSS
1.6 MENÚ DE MANEJO DE LIBRERIAS.
A través de la opción 3 desde el Menú general de desarrollo entramos en el menú de
selección de utilidades.




Si ponemos la opción 4 entramos en la ventana de especificación de fichero.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmuS
SSS


A través de ella podemos acceder a las distintas librerías y archivos, permitiéndonos
abrir los documentos en modo de edición y visualización o realizar copias de archivos
desde una librería a otra sin necesidad de abrirlos.

Para ello indicamos la librería principal y a través de ella podremos ir entrando en las
que contiene. Por ejemplo, si queremos entrar a ver los documentos que contiene la
librería DES.ISWF.TRABAJO.SWF.FTE, podemos poner lo siguiente:

En Cualificador 1: DES
En Cualificador 2: ISWF
En Resto: TRABAJO.INS.FTE

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pmUS
SSS


Pulsamos CONTROL y en la ventana que aparece (DATA SET LIST UTILITY )
volvemos a pulsar CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pm<S
SSS
Nos muestra la librería DES.ISWF.TRABAJO.INS cerrada. Para poder ver su contenido
vamos a poner una V delante del nombre de la librería (en la columna de COMMAND )
y pulsamos CONTROL.




Se abre la librería y nos muestra un listado de los archivos que contiene.



En el caso de que queramos editar alguno de ellos, pondremos una E delante de la línea
donde aparece el nombre del documento y pulsaremos CONTROL. Si queremos
solamente visualizarlo sin permiso para realizar modificaciones, entonces en lugar de
una E pondremos una V. En ambos casos, se abrirá la ventana del editor mostrándonos
el contenido del documento.

Copiar un archivo.

Si lo que queremos es copiarlo a otra librería, entonces pondremos una C delante y
pulsaremos CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
píDS
SSS



Nos mostrará una nueva ventana, el panel de entrada de copia, en el que en
CURRENT FROM DATA SET aparece la librería y el programa fuente que queremos
copiar y a continuación nos aparecen tres líneas en las que vamos a especificar la
librería destino:
Por ej. supongamos que la librería destino es DES.ISWF.TRABAJO.SWF.FTE.
En la sección TO LIBRARY pondremos:

En Proyect: DES.ISWF
En Group: TRABAJO
En Type: SWF.FTE

Si el fichero ya existe en esa librería nos dará un error, por lo que si queremos copiarlo
y ya existe en Replace Option debemos poner una / indicando que remplace el
miembro con el mismo nombre. Si no existe no es necesaria la /.

Una vez indicada la librería de forma correcta, pulsamos CONTROL y de esta forma se
ha copiado el archivo. Salimos con F3 al menú inicial de desarrollo y desde ahí
podemos comprobar entrando de nuevo a través del menú de selección de utilidades si
existe el nuevo archivo en la librería donde lo hemos copiado.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pípS
SSS


Renombrar un archivo.

Si queremos renombrar el archivo, escribiremos una R y pulsaremos CONTROL.
Aparecerá una ventana en la que mostrará el nombre actual y en la siguiente línea nos
permitirá escribir el nombre nuevo.

(((PONER PANTALLA DE RENOMBRAR AQUÍ)))

Eliminar un archivo.
Si lo que queremos es eliminar definitivamente un archivo (¡Cuidado con esto!)
entonces lo que haremos será poner una D delante y pulsar CONTROL. Nos aparece
una ventana en la que se nos indica el archivo que vamos a eliminar y si pulsamos
CONTROL se eliminará el archivo. Con F3 cancelamos la eliminación.

(((PONER PANTALLA DE ELIMINAR FICHERO)))








1.7 MENÚ DE BÚSQUEDA DE CADENAS DE CARACTERES EN LIB RERIAS.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
píoS
SSS
A través de la opción 3 desde el Menú general de desarrollo entramos en el menú de
selección de utilidades.



Si ponemos la opción 14 entramos en la Ventana de utilidades de búsquedas.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pídS
SSS



A través de ella podemos buscar cadenas de caracteres dentro de los ficheros existentes
en una librería. Para ello, en la línea de SEARCH STRING pondremos la cadena de
caracteres a buscar entre comillas simples. En ISPF LIBRARI indicaremos la librería
donde queremos buscar. Podemos indicar una librería que contenga a otras para
encontrar así más archivos.
Por ejemplo, vamos a buscar la cadena BPBF en la librería
DES.ISWF.TRABAJO.SWF.FTE.

Para ello escribimos:

En Search String: 'BPBF'

Y dentro de ISPF Librari:
En Proyect: DES.ISWF
En Group: TRABAJO
En Type: SWF.FTE

Si hay algo escrito en la línea de Data Set Name, lo borramos y Pulsamos CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pímS
SSS



Esperamos un poco de tiempo. Aparecerá un listado con el/los nombre/s de los fichero/s
donde aparece la cadena y mostrará el párrafo en el que ha encontrado esa cadena
dentro del documento.

1.8 VISUALIZAR LAS COPYS Y RUTINAS.

Las COPYS y las RUTINAS (y algunos programas) existentes en la arquitectura las
podemos visualizar en el editor. Para ello, en la línea de comandos del menú general
de desarrollo ponemos:

TSO LIBRARI

y pulsamos CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pííS
SSS

Aparece una ventana llamada Consulta Módulos de Librarian en la que podemos
indicar en PROGRAMA/COPY una C (si es una COPY) o una P (si es una RUTINA o
programa), y en NOMBRE MÓDULO el nombre de la COPY o RUTINA ( o el
programa). Pulsamos CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pí)S
SSS
En la ventana informativa que aparece podemos ver si ha encontrado el archivo que
buscamos. Pulsamos de nuevo CONTROL.



Si encuentra la COPY, la RUTINA o el programa se abre el editor mostrando el
contenido del documento solicitado.



Si no lo ha encontrado vuelve al menú general de desarrollo.

1.9 VISUALIZAR LA COLA DE FICHEROS DE COMPILACIÓN.

Cuando compilamos un programa o hacemos un bind desde la Arquitectura ISBAN, la
información sobre la terminación correcta o no y los archivos de compilación y bind se
muestran en la cola del spool. Esta cola se visualiza desde el ISPF, por lo que tenemos
que verla a través de TSOD. Para visualizar la cola, desde el menú general de desarrollo
accedemos al submenú SDSF poniendo una S en la línea de opciones y pulsando
CONTROL.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
píuS
SSS


Entramos así en el menú de opciones primarias de SDSF.


Ponemos una H y pulsamos CONTROL.
Entramos en la ventana que muestra las salidas mantenidas de SDSF, es decir la cola
del spool.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
píUS
SSS

Para poder visualizar la cola del spool referente a nuestra compilación o bind, si no la
vemos aún, debemos indicar lo siguiente en la línea de comandos:
owner * (CONTROL)
pre nombre_usuario*

Si el usuario que hemos utilizado para compilar o hacer bind es distinto al usuario que
hemos utilizado para abrir la sesión de TSOD, entonces debemos de poner en
nombre_usuario* el usuario de compilación o de bind.
Normalmente, las compilaciones tienen como nombre en la cola el del usuario con una
C al final y los bind tiene como nombre el del usuario con una A al final.
Con M(F8) vamos a ir al final de la cola, ya que si acabamos de compilar normalmente
nuestra compilación estará al final de la cola. Si otra persona ha compilado con el
mismo usuario, su compilación también estará en esta cola, por lo que debemos
comprobar que la los archivos de compilación que estamos viendo sean los nuestra.
Además, si hemos realizado más de una compilación debemos ver también la hora de la
compilación para comprobar que sea la última realizada.

Para hacer todas estas cosas, en la línea de la compilación que creemos es la nuestra
debemos:
-> Fijarnos en el número que aparece detrás del nombre de la compilación. Si aparece
un valor 12 o un valor 8 detrás del nombre de la compilación indica error. Si aparece un
4 o un 24 indica errores warning y si aparece un 0 es que no hay ningún error. Estos son
los valores más usuales que aparecen, pero hay más. Para ver si es nuestra compilación
y la hora:
• Delante del nombre de la compilación que queremos ver ponemos:
o SJ para que nos muestre el documento con el nombre del programa al
principio.
o Salimos con F3 y en esa misma línea ponemos S para que nos muestre la
hora de compilación.
Si es nuestra compilación y queremos ver los posibles errores que tengamos escribimos
una ? delante de la línea donde aparece el nombre de la compilación y pulsamos
CONTROL.
Ahora nos muestra los archivos de nuestra compilación. En el último documento de la
lista que tenga terminación -out pondremos una S para que lo abra, escribiremos en la
línea de comandos M y pulsaremos F8 para que vaya al final del documento. Veremos
en el final del documento los errores de compilación que existan. Para modificar el
código del programa y solucionar los errores encontrados en la compilación abriremos
con F9 otra nueva ventana en la que tendremos el programa editado y cuando hayamos
quitado todos los errores posibles, volveremos a compilar saliendo antes del editor. Si
en el documento de errores de compilación, delante de la descripción del error nos
aparece una:
SSSSS Indica que el error es severe.
ESSSS Indica error.
Estos dos tipos primeros hay que solucionarlos completamente porque sino no funciona
el programa.
WSSSS Indica que es un warning.
I SSSS Indica que es un informativo.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
pí<S
SSS
Si nos da errores de este tipo, el programa puede funcionar correctamente. Tratar de
quitarlos si se puede y sino dejarlos. Si ya ha compilado, ahora debemos preparar todo
lo necesario para ejecutar el programa y ver si funciona. Normalmente lo ejecutaremos
a través del debugger, pero también se puede ejecutar mediante un JCL. Ver apartados
1.12 y anexo.

1.10 CREACION Y ALLOCATE DE FICHEROS.
(((HAY QUE EXPLICAR MEJOR ESTE APARTADO Y PONER
PANTALLAS)))
Para crear un fichero, podemos hacerlo de varias maneras, entre otras:
1. Utilizando un fichero de entrada existente:
• Entramos a través de la opción 3.2 desde el menú general de desarrollo.
• Escribimos entre comillas simples en Data Set Name el nombre del fichero de
entrada existente (ej. 'DES.JM.LR.BDK.ENTRADA1')
• Si pulsamos CONTROL nos informa sobre las características del fichero.
(Volvemos a la pantalla anterior si hemos pulsado CONTROL).
• Escribimos en la línea de comandos una A (de allocate) y nos pedirá que le
indiquemos el nombre nuevo del fichero.
• Indicaremos el tamaño de nuestro registro (normalmente el tamaño de la copy) y
pulsamos control.
• Si queremos cambiarle el nombre, desde la pantalla donde hemos indicado A,
ahora indicamos R (teniendo en Data Set Name el nombre del fichero al que
queremos cambiárselo) y nos aparece una nueva pantalla en la que podemos
escribir el nombre nuevo, siempre indicando la librería y el nombre).

2. Utilizar alguno de los ficheros JCL existente:

Hay un fichero llamado Allocate en la librería DES.DESILEH.FTE de creación de
ficheros. Modificar en el documento JCL el nombre del fichero (y si es necesario la
librería) y el tamaño del registro que utiliza el fichero en LRECL que queremos crear.
Para que cree nuestro fichero de entrada en la línea de comandos poner SUB.
Seguir estos pasos para cada uno de los ficheros de entrada que tengamos y al finalizar
ponemos CANCEL en la línea de comandos y pulsamos CONTROL para salir sin
modificar el archivo JCL.




1.11 ENTRADA DE REGISTROS EN FICHEROS CON DX

Para poder almacenar información en los ficheros de entrada que hemos creado, vamos
a editar primero el fichero de entrada que acabamos de crear (y por tanto estará vacío) y
añadirle una línea en blanco. Lo salvamos y salimos del editor.
En la librería de trabajo propia (DES.DESRLB.FTE) creamos o guardamos las COPYS
de cada uno de los fichero de entrada que tenemos, ya que para poder utilizar el
programa de inserción de datos en ficheros, DX, necesitamos las COPYS de todos los
ficheros a los que vamos a añadir registro.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)DS
SSS
Vamos al menú general de desarrollo y escribimos la opción DX en la línea de
comandos y pulsamos control.
Se abre el programa DX. Pulsamos control en todas las pantallas informativas que nos
van saliendo hasta la pantalla de menú. Seleccionamos la opción 2 y aparece una
ventana en la que vamos a rellenar los campos de información sobre el fichero al que
vamos a añadir registros. En los campos que aparecen escribimos:
• En EDIT MODE ponemos F.
• En EDIT DATASET ponemos el nombre completo del fichero de entrada
donde vamos a escribir los registros.
• En CREATE AUDIT TRAIL ponemos N.
• En COBOL LAYOUT USAGE ponemos S.
• En COBOL LAYOUT DATASET ponemos la librería donde hemos guardado
la COPY.
• En MEMBER COPY ponemos el nombre de la COPY.
• En SELECTION CRITERIA USAGE ponemos N.

Pulsamos CONTROL y nos aparece la ventana de introducción del registro con todos
los campos de la COPY a la izquierda, el tipo de datos (C-alfanumérico, PS-comp3 y P-
numérico???) y a la derecha la zona donde podemos introducir los valores para cada
campo. Introducimos los valores en los campos necesarios y escribimos en la línea de
comando SAVE para que nos lo guarde. Para ver el resto de campos que pueda haber en
la siguiente pantalla, debemos poner en SCROLL la instrucción CSR y CONTROL y
luego pulsar F8.

Si queremos introducir un nuevo registro, en comandos escribimos CHAR y nos
muestra la ventana de edición de fichero. En esta ventana se ve cada registro como una
fila del fichero. Para insertar una nueva fila nos colocamos encima de la numeración de
la última línea, escribimos una I y pulsamos CONTROL. Si queremos eliminar una fila
del fichero, haremos lo mismo, pero en lugar de una I, pondremos una D. Igual haremos
si queremos repetir una fila, pero pondremos una R. Para seleccionar un registro y
poder rellenar sus campos, en la fila del registro ponemos una S en la zona numerada de
la izquierda. Al pulsar control vuelve a la pantalla de introducción de datos y en este
caso introduciremos datos para el nuevo registro que hemos seleccionado. Cada vez que
queramos escribir o modificar un registro lo haremos a través de la selección con S del
registro en la ventana de CHAR.
La ventana de introducción de registro se llama FMT, y poniendo FMT en comando
cuando estamos en CHAR, nos vuelve a mostrar la ventana de introducción de registro
sin necesidad de seleccionar ninguno, con el que ya teníamos seleccionado. Hay otra
opción de visualización de ficheros, la opción que muestra el fichero en Hexadecimal.
Para poder visualizar el fichero de esta forma, escribiremos en la línea de comandos la
instrucción HEX y pulsaremos CONTROL.
Una vez salvados todos los registros salimos del programa pulsando varias veces F3.

1.12 EL DEBUG.
Dependiendo del programa que tengamos que ejecutar vamos a utilizar 3 tipos de
debug. El Debug de programas Batch, el Debug de programas Batch con DB2 y el
Debug de programas On-line.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)pS
SSS
1.12.1 El Debug de programas Batch. El debug IB.

Si nuestro programa es un programa Batch y no utiliza DB2 (utilice o no ficheros)
vamos a utilizar el programa IB para ejecutarlo o hacerle trazas.
Si el programa utiliza ficheros, entonces además debemos de ALLOCAR los ficheros
antes de ejecutar el programa. Para entrar en IB, desde el menú general de desarrollo
escribimos en la línea de comandos IB y pulsamos CONTROL.

A. ALLOCATE DE FICHEROS CON IB.
Para allocar los ficheros que utiliza el programa debemos haber creado previamente un
JCL de asociación de los ficheros que utilizamos en nuestro programa con el espacio
físico de los ficheros. Ver anexo.
Entramos en la opción 3 del IB (ALLOCATION) y después en la opción 2 (JCL) y
en la ventana que aparece ponemos la librería donde esta el JCL de los ficheros y el
nombre del JCL. Pulsamos CONTROL.
Aparece una línea con el nombre del JCL de ficheros. Delante de la línea ponemos
una S y pulsamos CONTROL.

((DUDAS!!! ESTO ES ASÍ O HAY QUE SELECCIONAR ALGO)) )
Nos muestra una nueva pantalla con el final del JCL, pulsamos F3.
Ahora aparece vemos el JCL completo y en la parte superior de la pantalla una línea
de comandos. En esa línea:
• Ponemos FREE y pulsamos control. Comprobamos que en la parte superior
derecha de la pantalla pone freed.
• Ponemos ALLOC y pulsamos CONTROL. Comprobamos que en la parte
derecha de la pantalla pone SUCESSFULLY COMPLETED (hay veces que
pone RESERVED, si pone esto no escribirá en el fichero de salida por lo que
debemos salirnos y volver a intentarlo de nuevo borrando antes el/los fichero/s
de salida de la librería donde se han creado).
• Salimos del programa hasta el menú inicial de IB.

B. ACCEDER AL MENÚ DEBUG IB DE COBOL.
• En el menú principal de IB ponemos ahora la opción 1 (Cobol Test) y pulsamos
CONTROL.
• En la ventana que aparece (panel de control de ejecucion BATCH) Nos pide que
indiquemos el nombre del programa y el nombre de las librería que utilizamos
en el programa. Estas librerías van a depender del tipo de programa que usemos.
Si no llama a rutinas tendrá una librería llamada DES.GRXX.PGM con XX las
dos primeras iniciales de nuestro programa. Si usamos rutinas también tendrá
que existir una librería con las dos primeras iniciales de cada rutina. Pulsamos
CONTROL.
• En la pantalla que aparece (panel de control de monitor BATCH) , aparecen una
serie de campos donde vamos a escribir el nombre de nuestro programa y el
nombre de todas las rutinas que usamos en el. Pulsamos CONTROL.
• En esta ventana ya estamos en el debugger. Aparece el inicio de nuestro
programa y podremos ir haciendo trazas, modificando los valores de las
variables, visualizando los valores de los campos y realizar una ejecución
completa. Antes de utilizarlo, miramos la teclas de función que tenemos

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)oS
SSS
asignadas para el Debugger poniendo en la línea de comandos la opción KEYS
y pulsando CONTROL. Vemos que teclas de función se utilizan para:
STEP-> Sirve para ejecutar línea a línea el programa.
GO-> Sirve para ejecutar completamente el programa, de principio a fin.
LEFT-> Permite ver el contenido de la parte izquierda de la pantalla.
RIGHT-> Permite mirar el contenido de la parte derecha de la pantalla.
• Comenzamos haciendo una traza. La línea que se va a ejecutar a continuación
aparece en blanco. A medida que vamos pasando de línea, en la parte central de
la pantalla aparecen los valores de las variables que vamos utilizando. Si antes
de ejecutar la línea cambiamos el valor actual de la variable por otro y pulsamos
control, se ejecutará la línea con el nuevo valor que le hayamos dado.
• Siempre podremos visualizar los valores de las variables que queramos, si no
aparecen en la parte superior de la ventana con:
o En la línea de comando ponemos K nombre-variable y nos aparece en la
parte superior de la ventana su valor.
o Si no vemos el valor, o es un campo de grupo de variables, podemos
visualizar su contenido en una nueva ventana y modificarlo allí
poniendo:
S DIS nombre-variable. Pulsamos CONTROL y nos muestra la variable
en la nueva ventana. Modificamos su valor si es necesario y pulsamos
CONTROL para cada modificación. Volvemos a la ventana del
debugger con F3.
S Si tenemos ficheros y queremos ver como su estado, podemos hacerlo
desde la línea de comandos de la ventana del debugger poniendo
FILES y pulsando CONTROL. Si se había hecho el allocate
correctamente, en esta ventana veremos que la dirección física que
aparece para cada fichero es donde realmente lo hemos creado. El
fichero de salida tendrá una dirección física temporal y después se
copiará a la dirección física que le hayamos indicado en el JCL de
ficheros. También nos indicará si el fichero esta abierto o no y su file
status.
o Cuando queramos ejecutar completamente el programa podemos hacerlo
mediante la tecla de función definida para go o escribiendo go en la línea
de comandos del debugger. Pero también podemos poner breakpoints
para hacer llegar la ejecución hasta una línea determinada. Para poder
poner breakpoints debemos escribir en la línea de comandos: AT num-
linea. En la línea indicada por num-linea aparecerá en la parte izquierda
una U y cuando hagamos un GO llegará a esa posición y se detendrá.


1.12.2 El debug de programas Batch con DB2. El debug IBD.

El debug IBD se maneja igual que el IB, pero tiene una opcion para indicar la base de
datos que se va a utilizar y el plan del programa, ya que para todo programa que trabaje
con DB2 debemos haber creado su plan y haber hecho un bind del programa y del plan.
Si ademas el programa utiliza ficheros, debemos de hacer un allocate a través de la
opción 3 del menú principal del IBD tal y como se hacia con IB.
Para entrar en IBD ponemos en el menú general de desarrollo IBD y pulsamos
CONTROL.
En la ventana que nos aparece escribimos:

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)dS
SSS
-> En db2 System Name ponemos el nombre de la base de datos con la que trabaja el
programa (la que usamos nosotros es DBD1).
-> En Plan Name escribimos el nombre del plan de nuestro programa que será el
nombre del programa con una D al final.
-> En Library Name ponemos la librería de desarrollo con base de datos que es:
DES.GRDE.DBRM
Pulsamos CONTROL.
Aparece una ventana con el menú de IBD. Si utilizamos ficheros, antes de entrar en el
debugger tenemos que hacer un allocate de los ficheros a través del
JCL de ficheros, por lo que entraríamos en la opción 3 y seguiriamos los mismos pasos
que explicamos para IB.
Si no tenemos ficheros, o ya hemos hecho el allocate, seleccionaremos la opcion 1
(COBOL Test) y pulsaremos CONTROL.
Aparece una nueva ventana en la que tenemos que rellenar los siguientes campos:
-> En PGM escribiremos el nombre de nuestro programa.
-> En Task Libraries escribiremos todas las librerias que necesitemos para ejecutar el
programa. Estas librerías van a depender del tipo de programa que
usemos. Si no llama a rutinas tendrá una librería llamada DES.GRXX.PGM con XX
las dos primeras iniciales de nuestro programa. Si usamos rutinas
tambien tendrá que existir una librería con las dos primeras iniciales de cada rutina.
Pulsamos CONTROL.
Nos aparece una nueva ventana, el panel de control de monitor batch. En esta ventana,
en la zona de programas monitorizados pondremos el nombre de nuestro programa y de
todas las rutinas a las que llama el programa. Pulsamos CONTROL y aparece la
ventana del debugger. El manejo del debugger de IBD es igual al de IB explicado en el
apartado anterior.


1.13 HACER UN TRANSFER.

Con transfer podemos pasar documentos de texto escritos en el editor de MS-DOS al
HOST y viceversa. Para ello entramos en el Host desde el Menú general de desarrollo
poniendo en la linea de comandos 6 y pulsando CONTROL.
En la ventana del Host, en la parte superior hacemos un clic con el ratón en el botón
Recibir Archivo (si nos fijamos en el icono del botón se ven una serie de folios saliendo
de una pantalla en negro hacia un documento en blanco). En la ventana emergente que
aparece ponemos en archivo del sistema principal, entre comillas simples, la librería y
entre paréntesis el nombre del fichero que queremos copiar desde el host (si es un
fichero de los de entrada o salida de un programa, no se pone entre paréntesis). En
archivo pc ponemos el nombre del archivo que le vamos a dar en windows con
extension txt. En tipo de transferencia, si es un archivo corto ponemos txt y si es un
archivo extenso ponemos append. Seleccionamos la carpeta de windows donde
queremos guardarlo y pulsamos en el botón recibir.

((ENVIAR CON TRANSFER???)))

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)mS
SSS
2. MANEJO DE LA ARQUITECTURA ISBAN.



Una vez escrito el programa en el editor del host, para poder compilarlo en la
arquitectura ISBAN, debemos antes darle de alta y crear su plan.

2.1 ACCESO A ISBAN.
Accedemos haciendo un doble clic en el icono del escritorio Redb1.
En la ventana que aparece ponemos DEST y pulsamos CONTROL.
En la pantalla que aparece pondremos nuestro usuario de compilación y la contraseña y
pulsamos CONTROL.

De esta forma, accedemos al menú inicial de la arquitectura ISBAN.




Desde el menú inicial, tecleamos la opcion AR y pulsamos CONTROL, accediendo así
al menú de la arquitectura. Desde este menú es desde donde vamos a dar de alta al
programa, dar de alta al plan del programa y compilar.


2.2. MENÚ DE DISEÑO DE OBJETOS DE ARQUITECTURA

Desde el menú de la arquitectura accedemos a la opción 3, diseño de objetos
arquitectura tecleando 3 y pulsando CONTROL.
Desde el menú de Diseño de objetos vamos a poder acceder a las opciones para dar de
alta al programa y a su plan, además del manejo de transacciones y sus mapas.


2.2.1 Dar de alta al programa en ISBAN.
Para dar de alta al programa accedemos a la opción programas poniendo como opción la
número 6 y pulsando CONTROL.



Escribimos los datos necesarios para dar de alta al programa:
•  ENTORNO: Pondremos como entorno DE.
•  MÓDULO: El módulo es el nombre de nuestro programa.
•  SUBAPLICACIÓN: Un código que nos deben de dar y que indica la
subaplicación en la que se va a utilizar nuestro programa.
•  INDICE VIGENCIA: Pondremos como índice vigencia la letra V.
•  CÓDIGO TÉCNICO: Las dos primeras letras de nuestro programa.

Después de asegurarnos que todos los campos han sido rellenados correctamente,
pulsamos F6 para dar de alta.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)íS
SSS
En la pantalla que aparece terminamos de rellenar los datos necesarios para dar de alta
al programa:

•  ENTORNO, COD.TÉCNICO Y PROGRAMA: Tendrán los valores de la
pantalla anterior. Si no fuese así pondríamos lo mismo que en la pantalla anterior
(entorno: de, Cod. Técnico las dos primeras letras de nuestro programa y programa:
nombre de nuestro programa).
•  RESPONSABLE: Si no se nos indica nada, pondremos las dos primeras
letras del programa.
•  SUBAPLICACIÓN: El código que nos hayan indicado para este
programa.
•  LENGUAJE: Este campo indica el tipo de lenguaje en el que hemos
programado el programa. Si en este campo ponemos una ? y pulsamos CONTROL,
aparecerá una ventana informativa sobre los códigos de lenguaje que se pueden poner.
Nos lo indicará la tercera letra del nombre de nuestro programa. Por ejemplo, si la
tercera letra del nombre del programa es una B, indica que el programa utiliza el
lenguaje COBOL con DB2 y la letra que tenemos que poner en este apartado es una B.



•  TIPO DE EJECUCIÓN: El tipo de ejecución de nuestro programa. Puede
ser B (Batch), O (On-line) o M (Mixta, Batch y On-line).
•  DESCRIPCION: Texto de más de tres palabras que resume qué hace el
programa.
•  FUNCIONALIDAD: Ponemos como funcionalidad AP.
•  El resto de campos se dejan como están.

Para confirmar el alta del programa, pulsamos la tecla de función F5. Si no ha habido
ningún problema, en la parte inferior de la pantalla nos indicará que el alta se ha
realizado correctamente.

2.2.2 Dar de alta al plan en ISBAN.


Los programas que utilizan DB2 necesitan un plan. En otras arquitecturas el plan
es único para todos los programas, pero en ISBAN no, por lo que
vamos a crear un plan para cada uno de los programas que demos de alta en la
arquitectura y que usen DB2.
Para dar de alta al plan del programa accedemos a la opción planes poniendo como
opción la número 7 y pulsando CONTROL.
En la ventana que aparece rellenamos los siguientes datos:
* ENTORNO: Pondremos como entorno DE (desarrollo).
* PLAN: Pondremos el nombre del plan, que es el nombre del programa con una D al
final.
* SUBAPLICACION: La misma subaplicación que hayamos puesto al dar de alta al
programa.
* IND. VIGENCIA: Pondremos una V.
* COD. TECNICO: Las dos primeras letras del nombre del plan.
* PROGRAMA: El nombre del programa al que estamos creando el plan.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p))S
SSS

Cuando hemos comprobado que todos los datos son correctos, pulsamos la tecla F6.
Mostrará una nueva ventana para continuar dando de alta al plan. En esta ventana
aparecen todos los datos rellenos (Entorno, Codigo Técnico, Plan y Subaplicacion) por
lo que pulsamos control y continuamos dando de alta al plan. Rellenamos los siguientes
campos:
* FUNCIONALIDAD: Si no esta puesta, la funcionalidad es AP.
* DESCRIPCION: Un texto largo indicando a que programa se le ha creado este plan.
* PROGRAMA PRINCIPAL: El nombre del programa al que se le está realizando el
Plan.
Una vez escritos estos datos, pulsamos CONTROL para confirmar. Pulsamos F3 para
volver a la pantalla anterior y hemos terminado de dar de alta al plan.

En el caso de que además dentro del programa principal se llame a alguna rutina, desde
la pantalla inicial de creacion del plan pondremos el nombre del plan en el campo Plan
y pulsamos CONTROL. Aparece en el centro de la pantalla una línea con el nombre del
plan y sus características. Delante de esa línea escribimos una P (Programas Plan) y
pulsamos CONTROL. Nos muestra una pantalla con todos los programas que tenemos
asignados a este plan indicando si son programa principal o no. Para añadir una nueva
rutina al plan debemos de pulsar la tecla F6. Se abre la ventana de añadir programas al
Plan. En el campo Ind.Pgm.Principal indicamos que no es un programa principal (ya
que es una rutina que llamamos desde dentro del principal) con una N. En el campo
Programa escribimos el nombre de la rutina y para confirmar pulsamos CONTROL. Si
queremos añadir más rutinas seguimos introduciendo sus nombres y pulsando
CONTROL, comprobando siempre que en Ind.Pgm.Principal siga estando una N.
Cuando terminamos de introducir todas las rutinas, volvemos a la pantalla inicial del
plan y volvemos a poner una P a la izquierda en la linea del nombre del plan y pulsamos
CONTROL para comprobar que en el listado de la pantalla que se nos muestra aparece
el programa principal y todas las rutinas que utiliza. Debemos de tener cuidado al
introducir todo esto ya que luego no se nos permite realizar modificaciones.

2.3. COMPILAR Y HACER UN BIND DEL PROGRAMA.
La compilación del programa y el bind del programa y el plan los vamos a realizar a
través de la opción 9 (Repositorio de objetos de arquitectura) que se encuentra dentro
del menú de la arquitectura. Escribimos como opción la número 9 y pulsamos
CONTROL.

2.3.1 Compilar el programa.

Para compilar el programa debemos hacerlo a través de la arquitectura y para
corregir los errores de compilación debemos hacerlo a través de la
cola del spool y con el editor del ISPF como se explicó en los apartados ...
((PONER LOS APARTADOS)).
Al entrar en la opcion 9 de la arquitectura aparece la ventana de control de repositorio.
Ponemos la opción 2, Compilaciones y pulsamos CONTROL.
En el menú de Compiladores, escribimos la opcion 1 (solicitud de compilaciones) y
pulsamos CONTROL. La opcion 2 (Consulta de compilaciones Diferidas) no se utiliza
porque son las compilaciones en diferido, es decir, se lanza un Job y ya se ejecutará
cuando se pueda ya que se mete en una cola.
Cuando hemos entrado en la ventana de compilación ponemos:

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)uS
SSS
-> En ENTORNO ponemos DE si no esta puesto.
-> En MÓDULO escribimos el nombre del programa que queremos compilar.
Dejamos los demas campos vacíos y pulsamos CONTROL.
Nos aparece en esa pantalla una línea con el nombre de nuestro programa y sus
características. Delante del Nombre escribimos un Z de Compilacion en Pruebas y
pulsamos CONTROL.

Se abre una nueva ventana en la que tenemos que rellenar los siguientes Campos:

-> En 1er PUNTERO ponemos la primera parte de la librería donde se encuentra el
código del programa. (En nuestro caso, normalmente es
DES.ISWF)
-> En 2dos PUNTEROS ponemos la siguiente direccion de la librería donde se
encuentra el programa. (En nuestro caso, normalmente TRABAJO).
-> En 3ros PUNTEROS el resto de la libreria del programa. (En nuestro caso,
normalmente es INS.SWF).
-> En miembro ponemos el nombre del programa que queremos compilar.
-> En borrar Spool si Comp. OK ponemos una N indicando asi que siempre nos escriba
en la cola del spool el resultado de nuestra compilacion.
Una vez rellenados todos estos campos, dejamos los otros como vienen por defecto y
pulsamos CONTROL.

Se abre una nueva ventana emergente informativa de las librerias y base de datos que
utilizará para la compilacion. Pulsamos F5 y esperamos a que desaparezca esa ventana y
vuelva a la pantalla inicial de compilacion.

Una vez haya vuelto a esa pantalla, debemos ir al ISPF, a la cola del spool para ver
nuestra compilacion como se explica en el apartado .... ((PONER APARTADO)).


2.3.2 Hacer BIND del programa y su plan.

Hacer Bind significa que enlazamos el contenido del programa o del plan al resto de
componentes que necesita para su ejecución, sobre todo DB2.
Por tanto, es necesario hacer el Bind del Programa y del Plan del Programa cuando este
utilice DB2.
Al entrar en la opcion 9 de la arquitectura aparece la ventana de control de repositorio.
Ponemos la opción 3, Bind y pulsamos CONTROL.
Entramos en la pantalla de Lanzar Bind en Batch, en la que tenemos que informar los
siguientes campos:
-> En Entorno de Bind escribimos DE.
-> En Nombre de Objeto ponemos el nombre del programa o del plan del programa,
dependiendo del bind que estemos realizando.
-> En Tipo de objeto pondremos:
* PGM si lo que estamos haciendo es el Bind del Programa.
* PLN si lo que estamos haciendo es el Bind del Plan.
El resto de campos los dejamos como están y pulsamos CONTROL para confirmar el
Bind.

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)US
SSS
2.4. VISUALIZACION Y MANEJO DE LAS TABLAS DB2 DE LA
ARQUITECTURA.

UNA ADVERTENCIA ANTES DE UTILIZAR LAS TABLAS D B2 DE LA
ARQUITECTURA: ESTAS TABLAS SON COMUNES PARA TODOS L OS
USUARIOS DE LA ARQUITECTURA, POR LO QUE SI TENEMOS UN
PROGRAMA QUE INSERTA DATOS O BORRA DATOS DE LAS TAB LAS,
DEBEMOS DE AVISAR ANTES A NUESTRO JEFE PARA VER COM O LO
HACEMOS (O LO INSERTAMOS O BORRAMOS DE LA TABLA O L O
SIMULAMOS DE ALGUNA MANERA EN NUESTRO PROGRAMA, PER O
DEBEN DE INDICARNOSLO).

La tablas con las que trabajamos en nuestros programas pertenecen a bases de
datos que se encuentran en la arquitectura ISBAN, por lo para poder
visualizar su contenido hay que hacerlo desde el menú de desarrollo de ISBAN
(pantalla del menú inicial de ISBAN). Desde aqui, en lugar de poner
la opcion AR, vamos a poner la Opcion QMF. Pulsamos CONTROL y nos
aparece una ventana donde tenemos que seleccionar la base de datos que
usamos de las dos existentes. La que nosotros utilizamos es DBD1, por lo que
ponemo como opcion 1 y pulsamos CONTROL.
Se muestra la pantalla de QMF. Para poder escribir una sentencia SQL (un
QUERY) de alguna de las tablas, pulsamos la tecla F6 y se nos muestra la
pantalla de SQL QUERY.
Debajo de donde pone SQL QUERY, en la parte superior izquierda de la pantalla
escribiremos la sentencia select que queremos realizar. Para los
nombres de las tablas, debemos ponerles antes del nombre el campo DESADM.
Por ejemplo, si tenemos la tabla T_EJEMPLO, una sentencia select
quedaría:
SELECT * FROM DESADM.T_EJEMPLO;

Una vez escrita la sentencia, pulsamos la tecla F2 para que la ejecute y nos
muestre la información que contiene la tabla.

2.5 EL DEBUG DE PROGRAMAS ON-LINE (CICS).


CICS ((TRANSACCIONES)).

ANEXO1. COMPILACION Y EJECUCIÓN DE FICHEROS CON JCL.
(((Poner varios ejemplos de JCL e indicar que existen manuales sobre como usar
JCL).

ANEXO2. CREAR UN PROGRAMA DE PRUEBA DE RUTINAS CUAND O
HEMOS PROGRAMADO UNA RUTINA.

Cuando el programa que estamos realizando es una Rutina, debemos hacer un programa
de pruebas para él. Para ello, en la librería de pruebas que tengamos (en nuestro caso
DES.DESRLB.FTE) editamos un programa que ya exista (ver ejemplo de programa que
viene debajo) y lo modificamos para llamar a nuestra rutina. Debemos tomar un

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSS
S
Software Factory     Rafael Campillo Lorenzo.   
Cáceres –  
S
S S
p)<S
SSS
programa de pruebas que ya exista y este dado de alta en la arquitectura y esté tambien
dado de alta su plan, dando de alta a la nueva rutina dentro del plan del programa de
pruebas. Si el programa es nuevo, entonces tendremos que darle de alta en la
arquitectura, dar de alta su plan, añadir la rutina al plan y si usa DB2 hacer un bind del
programa y el plan.
Cuando tengamos modificado el programa (o creado y dado de alta si lo hacemos
nuevo), lo compilamos a través de la arquitectura y comprobamos después a través del
debugger IBD si funciona. Como el programa llama a la rutina, probamos por tanto si
funciona nuestra rutina.
S
Tags