We are working in a new shop and since the data sent to us usually has errors in it, we tried to create some basic validators using the Splice function to validate if a record in file B(POBJ) exists in a catalog File A(CAMPA) by comparing their Keys. We have done this other times and it works, fine, but in this shop, I'm not sure what might be happening. This is the JCL we are Executing:
In this file we detected the wrong execution on records number 15, 20 and 25.
The desired result afte the splice should be a file with records wich key is not found and File A and it's secuential order in the original file. , however, after the splice, the result we are getting is this:
Since we want the "22" records, that is, records from file B that did not match any record in file A, we used the Keepbase in order not to lose any record, so we should have, from the temporary file, 3 records with key 99999999999, with secuences 5, 10 and 15. It seems as if the base record is getting lost, though we are coding the KEEPBASE operator.
The shop in which are executing has an outdated sort version, it throws this message on execution:
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
The complete toolmsg for this execution is this:
Code:
********************************* TOP OF DATA **********************************
ICE600I 0 DFSORT ICETOOL UTILITY RUN STARTED
ICE650I 0 VISIT http://www.ibm.com/storage/dfsort FOR ICETOOL PAPERS, EXAMPLES A
ICE282I 1 PERFORMING SYMBOL SUBSTITUTION AS NEEDED
ICE630I 0 MODE IN EFFECT: STOP
COPY FROM(CAMPA) TO(T2) USING(CTL1)
ICE606I 0 DFSORT CALL 0001 FOR COPY FROM CAMPA TO T2 USING CTL1CNTL COM
ICE602I 0 OPERATION RETURN CODE: 00
COPY FROM(POBJ) TO(T2) USING(CTL2)
ICE606I 0 DFSORT CALL 0002 FOR COPY FROM POBJ TO T2 USING CTL2CNTL COM
ICE602I 0 OPERATION RETURN CODE: 00
SPLICE FROM(T2) TO(SALIDA1) ON(1,12,ZD) WITH(44,1) WITH(13,10)-
KEEPNODUPS KEEPBASE
ICE627I 0 DFSORT CALL 0003 FOR SORT FROM T2 TO SALIDA1 COMPLETED
ICE628I 0 RECORD COUNT: 000000000000091
ICE638I 0 NUMBER OF RECORDS RESULTING FROM CRITERIA: 000000000000024
ICE602I 0 OPERATION RETURN CODE: 00
ICE601I 0 DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE: 00
******************************** BOTTOM OF DATA ********************************
And the complete DFSMSG output for this step is as follows:
Code:
1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0001
ICE805I 0 JOBNAME: INREPOBJ , STEPNAME: SPLICE01
ICE802I 0 BLOCKSET TECHNIQUE IN CONTROL
ICE280I 1 ORIGINAL STATEMENTS FROM CTL1CNTL FOLLOW
OUTREC FIELDS=(PMEC3020-COD-CAMPA,10X,20X,C'11')
ICE280I 2 ORIGINAL STATEMENTS FROM PARMLIST FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=CAMPA,*
SORTOUT=T2,DYNALLOC
SORT FIELDS=COPY
ICE282I 0 PERFORMING SYMBOL SUBSTITUTION AS NEEDED
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E9-K90007 C9-BASE E5-K24705 E7-K24705
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 03:59 ON THU JUN 30, 2011 -
0 OUTREC FIELDS=(1,12,10X,20X,C'11')
ICE146I 0 END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=CAMPA,*
SORTOUT=T2,DYNALLOC
SORT FIELDS=COPY
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E9-K90007 C9-BASE E5-K24705 E7-K24705
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED
ICE088I 0 INREPOBJ.SPLICE01. , INPUT LRECL = 266, BLKSIZE = 27930, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6286430)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6209094,6209094)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=NO ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N ,ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,STIMER=Y,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=Y,DSA=0
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=20 ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE084I 0 BSAM ACCESS METHOD USED FOR T2
ICE084I 0 BSAM ACCESS METHOD USED FOR CAMPA
ICE889I 0 CT=MAX , SB=241, L=0, D=0000
ICE902I 0 O PS10 I PS10
ICE751I 1 EF-K10929 F0-K30362 E8-K24705
ICE900I 0 CON=1,MUV=0,VOL=59,ENU=0,SBK=0,SRC=0,VEM=0
ICE090I 0 OUTPUT LRECL = 44, BLKSIZE = 32736, TYPE = FB (SDB)
ICE171I 0 SORTOUT LRECL OF 44 IS DIFFERENT FROM SORTIN(NN) LRECL OF 266 - RC=0
ICE055I 0 INSERT 0, DELETE 0
ICE054I 0 RECORDS - IN: 10, OUT: 10
ICE891I 1 6278488 WMAIN, 7936 CMAIN, MAX CALLOC, N SCN, B BA, 0 AZ, 0 BZ, NN QC
ICE892I 1 266 RIN 27930 BLI 32736 BLO 10 RUN 0 BUN 2817 CPU 00 CVC
ICE893I 1 0 XIN 0 WIN 0 GIN NDEN PFP BJJ CM0B0 CIX UPTH LMD VS RUX
ICE052I 0 END OF DFSORT
1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0002
ICE805I 0 JOBNAME: INREPOBJ , STEPNAME: SPLICE01
ICE802I 0 BLOCKSET TECHNIQUE IN CONTROL
ICE280I 1 ORIGINAL STATEMENTS FROM CTL2CNTL FOLLOW
OUTREC FIELDS=(PMEC3010-COD-CAMPA,SEQNUM,10,ZD,20X,C'22')
ICE280I 2 ORIGINAL STATEMENTS FROM PARMLIST FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL2,SORTIN=POBJ,S*
ORTOUT=T2,DYNALLOC
SORT FIELDS=COPY
ICE282I 0 PERFORMING SYMBOL SUBSTITUTION AS NEEDED
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E9-K90007 C9-BASE E5-K24705 E7-K24705
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 03:59 ON THU JUN 30, 2011 -
0 OUTREC FIELDS=(11,12,SEQNUM,10,ZD,20X,C'22')
ICE146I 0 END OF STATEMENTS FROM CTL2CNTL - PARAMETER LIST STATEMENTS FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL2,SORTIN=POBJ,S*
ORTOUT=T2,DYNALLOC
SORT FIELDS=COPY
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E9-K90007 C9-BASE E5-K24705 E7-K24705
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED
ICE088I 0 INREPOBJ.SPLICE01. , INPUT LRECL = 78, BLKSIZE = 27924, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6286430)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6209026,6209026)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=NO ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N ,ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,STIMER=Y,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=Y,DSA=0
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=20 ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE084I 0 BSAM ACCESS METHOD USED FOR T2
ICE084I 0 BSAM ACCESS METHOD USED FOR POBJ
ICE889I 0 CT=MAX , SB=8, L=0, D=0000
ICE902I 0 O PS10 I PS10
ICE751I 1 EF-K10929 F0-K30362 E8-K24705
ICE900I 0 CON=1,MUV=0,VOL=59,ENU=0,SBK=0,SRC=0,VEM=0
ICE090I 0 OUTPUT LRECL = 44, BLKSIZE = 32736, TYPE = FB
ICE171I 0 SORTOUT LRECL OF 44 IS DIFFERENT FROM SORTIN(NN) LRECL OF 78 - RC=0
ICE055I 0 INSERT 0, DELETE 0
ICE054I 0 RECORDS - IN: 81, OUT: 81
ICE891I 1 6278504 WMAIN, 7920 CMAIN, MAX CALLOC, N SCN, B BA, 0 AZ, 0 BZ, NN QC
ICE892I 1 78 RIN 27924 BLI 32736 BLO 78 RUN 0 BUN 2817 CPU 00 CVC
ICE893I 1 0 XIN 0 WIN 0 GIN NDEN PFP BJJ CM0B0 CIX UPTH LMD VS RUX
ICE052I 0 END OF DFSORT
1ICE200I 0 IDENTIFIER FROM CALLING PROGRAM IS 0003
ICE805I 0 JOBNAME: INREPOBJ , STEPNAME: SPLICE01
ICE802I 0 BLOCKSET TECHNIQUE IN CONTROL
ICE280I 2 ORIGINAL STATEMENTS FROM PARMLIST FOLLOW
DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTIN=T2,SORTOUT=SALIDA1*
,DYNALLOC,SZERO,EQUALS,NOVLSHRT,LOCALE=NONE,NOCHECK
SORT FIELDS=(1,12,ZD,A)
MODS E35=(ICE35DU,12288)
ICE282I 0 PERFORMING SYMBOL SUBSTITUTION AS NEEDED
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E4-K90007 C9-BASE E5-K24705 E6-K18181 E7-K24705
ICE143I 0 BLOCKSET SORT TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 03:59 ON THU JUN 30, 2011 -
0 DEBUG NOABEND,ESTAE
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTIN=T2,SORTOUT=SALIDA1*
,DYNALLOC,SZERO,EQUALS,NOVLSHRT,LOCALE=NONE,NOCHECK
SORT FIELDS=(1,12,ZD,A)
MODS E35=(ICE35DU,12288)
ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E4-K90007 C9-BASE E5-K24705 E6-K18181 E7-K24705
ICE193I 0 ICEAM2 ENVIRONMENT IN EFFECT - ICEAM2 INSTALLATION MODULE SELECTED
ICE088I 5 INREPOBJ.SPLICE01. , INPUT LRECL = 44, BLKSIZE = 32736, TYPE = FB
ICE093I 0 MAIN STORAGE = (MAX,6291456,6266880)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (5259264,5242880)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSAMEMT=Y,DYNSPC=256
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=Y,LIST=Y,ERET=RC16 ,MSGDDN=DFSMSG
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=NO ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=(SYSDA ,004),ABCODE=MSG
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=N,WRKREL=Y,OUTREL=Y,CKPT=N,STIMER=Y,COBEXIT=COB2
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=16384,CINV=Y,CFW=Y,DSA=0
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN=DFSPARM ,FSZEST=N
ICE133I 0 OPTIONS: HIPRMAX=OPTIMAL,DSPSIZE=20 ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=MAX
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE084I 0 BSAM ACCESS METHOD USED FOR SALIDA1
ICE084I 0 BSAM ACCESS METHOD USED FOR T2
ICE750I 0 DC 4004 TC 0 CS DSVVV KSZ 11 VSZ 11
ICE752I 0 FSZ=91 RC IGN=0 E AVG=56 0 WSP=6 C DYN=0 0
ICE915I 0 MOFSZ=1,MOSZ=1,MOSYS=2676(3),MOSTG=2676,MEML=17592186040320(3)
ICE917I 0 MOQP=1,MOQA=1,MOHI=168,MOLI=168,MOMI=168,MOTZ=4
ICE916I 0 MOFR=0000,MOVR=VV
ICE996I 0 ESM=1536768,ESO=1536768,ESR=0,ESP=4096,ESS=16384,CES=1536768,HSZ=524288
ICE997I 0 HWSP=1,HMAX=685079,HES=0,ASV=685079,EQ=I1,HN=0
ICE898I 0 OMAX=16063,NMAX=685079,TMAX=685079,CMAX=0,HU=0,BUN=0,MD=NM,DU=0,DR=0,HN=0
ICE889I 0 CT=MAX , SB=241, L=0, D=0000
ICE901I 0 W 01NS13 02NS13 03NS13 04NS13
ICE902I 0 O PS10 I PS10
ICE751I 1 BA-K22788 BB-K24705 BC-K24705 E8-K24705
ICE900I 0 CON=1,MUV=0,VOL=59,ENU=0,SBK=0,SRC=0,VEM=0
ICE999I 0 PWK=0 PSP=0 SWK=0 SSP=0 TWK=0 TSP=0 RWK=0 RSP=0 AWK=0 AWP=0
ICE090I 0 OUTPUT LRECL = 44, BLKSIZE = 32736, TYPE = FB (SDB)
ICE080I 0 IN MAIN STORAGE SORT
ICE055I 0 INSERT 24, DELETE 91
ICE054I 0 RECORDS - IN: 91, OUT: 24
ICE134I 0 NUMBER OF BYTES SORTED: 4004
ICE165I 0 TOTAL WORK DATA SET TRACKS ALLOCATED: 0 , TRACKS USED: 0
ICE199I 0 MEMORY OBJECT STORAGE USED = 1M BYTES
ICE180I 0 HIPERSPACE STORAGE USED = 0K BYTES
1ICE188I 0 DATA SPACE STORAGE USED = 0K BYTES
ICE891I 1 6258176 WMAIN, 8704 CMAIN, MAX CALLOC, N SCN, B BA, 0 AZ, 0 BZ, NN QC
ICE892I 1 44 RIN 32736 BLI 32736 BLO 56 RUN 56624 BUN 2817 CPU 00 CVC
ICE893I 1 90 XIN 25 WIN 16382 GIN NDEY PFP4 BJJ CMBB0 CIX UPTH LMK VS RUX
ICE894I 0 1 STR 0 MOR 0 IPB 30 OPB 0 CYL I MN
ICE885I 1 DAT 00 DSR 0007 BINS 16382 BSZ 64 RCP 55 AJC 0 RLC 0 DUNIT 64
ICE888I 1 INIO1 90 AXIO1 90 W1 50 INIO3 30 AXIO3 30 BRUNS 1 VDN
ICE895I 0 0 MUNIT 0 SUNIT 0 OUNIT
ICE896I 0 0 SET 0 DEXTOT 0 BLK 91 CSZ 4 WE
ICE804I 1 SORTWK04 EXCP COUNT: 1
ICE804I 1 SORTWK03 EXCP COUNT: 1
ICE804I 1 SORTWK02 EXCP COUNT: 1
ICE804I 1 SORTWK01 EXCP COUNT: 1
ICE052I 0 END OF DFSORT
Assuming below is typo as well in your post and it should be all 0s before 3. If this is not typo, your ON definition is wrong, you need ON(1,12,CH). Also, if this is not typo, the record becomes orphan and needs to selected in output.
About the results, maybe i wasn't clear in my statement. I just used the 999999999999 key field as an example of the behavior I noted that was wrong, that one of the records, the BASE record was "missing" after the Splice.
The card you included in your example was omitted on purpose from the example. I didn't selected the records at this time, so I could review all the spliced recors and check if everything was in order. Once the splice was working ok we would included the aforementioned card
In regards with the blank before the 3, that was not a typo but the file itself. We edited those records for the test and I see now what you mention about the error in format. The rigth format is indeed ZD since it is a numeric field, though i don't know if it works wrong if it has an invalid numeric field
Group is not an option basically for what enrico-sorichetti said, this shop as a very outdated sort version, and NO, sadly, it is out of the question to ask for an upgrade.
In regards with the blank before the 3, that was not a typo but the file itself. We edited those records for the test and I see now what you mention about the error in format. The rigth format is indeed ZD since it is a numeric field, though i don't know if it works wrong if it has an invalid numeric field
May be someone from DFSort team can correct me but... This happens because ZD is converted to packed for the splice/join which converts spaces to zeros.
If you are expecting spaces, then ZD is not the correct format, rather CH is the correct format. Run the same job with spaces in the field and ON as ZD. You will notice that space is converted to 0 in/after the splice and because you already have a record with 0 in file1, record with space in file2 is no longer considered orphan.
Regardless, I hope that the given card worked for what you asked.
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
ojdiaz,
1. You are running DFSORT V1R5 which is out of service.
2. You are getting the wrong results as you are missing the WITHALL keyword on your splice statement. You need WITHALL as your File2 has duplicates on the key.
use the following control cards. I assumed that you only want the unmatched records '22'
May be someone from DFSort team can correct me but... This happens because ZD is converted to packed for the splice/join which converts spaces to zeros.
Sqlcode1,
You are wrong. Where did you did get such information ? DFSORT does not perform any such conversions. Please don't assume
1. You are running DFSORT V1R5 which is out of service.
since when did IBM change the <in service> <out of service> definition ?
being out of service simply implies ( IIRC ) that IBM will not accept any new apars against the product, nor carry on any problem determination on it,
not that it would stop providing existing PTFs for it
and from the link posted seems that it should be possible to bring DFSORT 1.5 up to the G level
Quote:
the G indicates you have the November, 2009 DFSORT functions (JOINKEYS, TOJUL, TOGREG, WEEKDAY, etc) and all of the earlier functions. This function level corresponds to z/OS DFSORT V1R5 PTF UK51706
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
enrico-sorichetti,
DFSORT V1R5 can run on z/OS V1R5 - z/OS VR19. DFSORT service is tied to z/OS being in service. Here is a webpage which gives you the end of service dates for z/OS.
The latest release DFSORT V1R5 can run is z/OS V1R9 and its end of service date is September 30 2010. However The IBM Lifecycle Extension for z/OS V1.9 provides fee-based corrective (fix, bypass, or restriction to a problem) service for up to two years beyond the withdrawal of service dates for z/OS V1.9.
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
ojdiaz wrote:
[...]
In regards with the blank before the 3, that was not a typo but the file itself. We edited those records for the test and I see now what you mention about the error in format. The rigth format is indeed ZD since it is a numeric field, though i don't know if it works wrong if it has an invalid numeric field
[...]
If you want to set up invalid numeric data for your test, you have to do a little more. A space, x'40', in the left-most bytes of a zoned decimal will be treated as a zero in any language. The '4' is in the "zone" part of the byte, and will be ignored. The '0' is numeric in the number part of the byte, and that will be the value for that byte in a numeric operation.
If you want to see what happens with something really not numeric, find a keyboard character with a non-numeric in the right-hand half of the byte. Or, put the space, or anything else which has an invalid sign (0-9) in the first half of the byte, as the last byte (which should contain a valid sign in the first half-byte (A-F).
If you want to have DFSORT find invalid numeric data for you, look at VERIFY in the manual.
I see you have Cobol. It works the same.
PIC 999.
If this contains two spaces followed by a zero, x'4040F0', you can "successfully" use it in numeric operations.
If this contains two zeros and a space, x'F0F040', you will get a(n) S0C7.
If this contains x'4BF0FA0', S0C7. x'F0F0A2', it "works".
For numeric fields from external files, you'd use a NUMERIC test in Cobol. For DFSORT, see how VERIFY operates for you.
Thanks. That was the problem. Sorry for the silly question, but we were watching over and over and we didn't realized that the operator was missing. We've got the desired results.
Sadly, i don't know but shops around this parts won't upgrade the software, I don't know why ¬_¬
Really? I heard the phrase for the first time a long time ago when i first played Duke Nukem 3D and he said AND. At that time that was what it sounded to me.
Hmm.. I couln't stop my self. I checked it, HERE , and around the 26th second he says it, and it says AND. Does the phrase has some origin other than the game? As I said, that was the first time i heard it, around 1995 or 96
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
Hello,
The phrase was quite common more than 25 year before Duke Nukem (any version) was invented. . . They published a mis-quote and to some/many younger people, it stuck
In our original, i don't remember "bubble" - it was simply "time to kick ass or chew gum, and i'm all outta gum". . .
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
I was intrigued enough to google (doesn't take much, does it?).
There are claims that it was an Ad Lib. It looks more like a fluffed line (Like the Neil Armstrong thing.), unless the intention was to provoke thought(!)
The phrase was quite common more than 25 year before Duke Nukem (any version) was invented. . . They published a mis-quote and to some/many younger people, it stuck
In our original, i don't remember "bubble" - it was simply "time to kick ass or chew gum, and i'm all outta gum". . .
d
I see.. I did some research and it turns out that many of Duke's phrases are "borrowed", like some Dirty Harry quotes I think. It is fun though . Guess I'm one of those "younglins" (don't aske my real age ) in wich the mis-quote was stuck, heheh
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
Quote:
Guess I'm one of those "younglins" (don't aske my real age ) in wich the mis-quote was stuck, heheh
When things attract my attention, i try to let people know . . .
In the 80's i was on a contract in Phoenix, AZ, USA and one of my daughters had a free airline ticket and flew "out west" for most of a week. Part of her trip was to visit the Embry Riddle University campus in Prescott, AZ. We stopped at a little roadside gas station and called my wife to tell her that in addition to a husband, she also had a daughter in AZ. Mom must have asked daughter just where we were and my daughter told her we were somewhere in East BuFU (slang for in the middle of nowhere). Unfortunately East BuFu is (was) a rather notoriously named place (East Bum F**k). After we hung up, i asked her where she came up with that locale and her answer was "that's what everyone calls the boonies". When i gave her the translation, she was more than a little surprised/concerned - "My Mom doesn't know i said that?". I told her not to worry - it went right by Mom - if Mom had caught it, we might still be on that phone. . .