View previous topic :: View next topic
Author
Message
services New User Joined: 20 May 2009Posts: 38 Location: India
yes, i need to consider PROP-NUM, ctestkat is the proposal and it comes
05 PS-OWNER-CD PIC X(01) VALUE SPACES.
05 PROP-NUM PIC X(11) VALUE SPACES.
c - PS-OWNER-CD
testkat- PROP-NUM
i need ouput of all proposals(ctestkat,C9M5101,CJMF0019, CCPI-0001 and so) . initially i mentioned ctestkat proposal for your understand easily,
KEY is
PROP-NUM PIC X(11) VALUE SPACES.
PPTS-ITM-NUM PIC X(08)
PROPOSAL-YEAR PIC X(04) VALUE SPACES
COST-POOL1-3 PIC X(03) VALUE SPACES
DOLLARS-COST PIC S9(11)V9(04) VALUE 0
01 WS-COST-RECORD.
05 PS-OWNER-CD PIC X(01) VALUE SPACES.
05 PROP-NUM PIC X(11) VALUE SPACES.
05 PPTS-ITM-NUM PIC X(08) VALUE SPACES.
05 PROP-ITM-SUFX PIC X(02) VALUE SPACES.
05 PROP-SUBITEM-SUFFIX-CD PIC X(06) VALUE SPACES.
05 FILLER PIC X(01) VALUE SPACES.
05 UNIT-CD PIC X(04) VALUE SPACES.
05 FILLER PIC X(01) VALUE SPACES.
05 DELIVERY-OPTION-ID PIC 9(02) VALUE ZEROES.
05 FILLER PIC X(01) VALUE SPACES.
05 PROPOSAL-YEAR PIC X(04) VALUE SPACES.
05 FILLER PIC X(01) VALUE SPACES.
05 RATE-MATL-INPUT-YEAR PIC X(04) VALUE SPACES.
05 DELIVERED-HARDWARE-CD PIC X(01) VALUE SPACES.
05 COST-POOL.
10 COST-POOL1-3 PIC X(03) VALUE SPACES.
10 COST-POOL4 PIC X(01) VALUE SPACES.
05 CALENDAR-TYPE PIC X(01) VALUE SPACES.
05 LABOR-HOURS PIC S9(06)V9(04) VALUE 0.
05 DOLLARS-COST PIC S9(11)V9(04) VALUE 0.
Back to top
Terry Heinze JCL Moderator Joined: 14 Jul 2008Posts: 1249 Location: Richfield, MN, USA
Hari,
Please use BBCode to make your posts more readable.
Back to top
services New User Joined: 20 May 2009Posts: 38 Location: India
Hi Terry, i am new to this forum . i am not aware of BBCode, could you pls give more idea about this and guide me how to do this..
Back to top
Skolusu Senior Member Joined: 07 Dec 2007Posts: 2205 Location: San Jose
services,
Now the issue of key is over, but we still have another problem. What happens if you don't have a matching record of '697' but has a 513 or 523 record?
ex :
Code:
CTESTKAT 0001 000000 JAX1 01 2009 2009N523 C000000000{00000000400000{
CCPI-0001 0006 000000 OVOV 01 2010 2010N513 C000000000{00000000272000{
Both of these records don't have a matching 697 record on key. What do you do in this case? Do you need to create a 697 record?
Back to top
services New User Joined: 20 May 2009Posts: 38 Location: India
if the proposal has 513 or 523 then only 697 will be applied, otherwise no worries.
if both 513 and 523 add both and assign to 697
if only 513, assign 513 values to 697
if only 523 ,assign 523 values to 697.
CCPI-0001 0006 has no 523, so 513 will be applied to 697,i missed below two lines
CCPI-0001 0006 000000 OVOV 01 2010 2010N696 C000000000{00000000272000{
CCPI-0001 0006 000000 OVOV 01 2010 2010N697 C000000000{00000000272000{
in the output
ctestkat 0001 has both 513 and 523, so summed value to apply 697.
Back to top
Terry Heinze JCL Moderator Joined: 14 Jul 2008Posts: 1249 Location: Richfield, MN, USA
BBCode is explained in the FAQ at the top of the screen.
Back to top
Skolusu Senior Member Joined: 07 Dec 2007Posts: 2205 Location: San Jose
services,
pff. Do you even read my questions clearly? Pay attention to the questions asked and please try to answer them
skolusu wrote:
What happens if you don't have a matching record of '697' but has a 513 or 523 record? What do you do in this case? Do you need to create a 697 record?
Back to top
services New User Joined: 20 May 2009Posts: 38 Location: India
yes, we need to create and assign 513 or 523 cost
Back to top
Skolusu Senior Member Joined: 07 Dec 2007Posts: 2205 Location: San Jose
services,
Hopefully this should be the last time you change your requirement. Try the following JCL
Code:
//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=Your input file,DISP=SHR
//T1 DD DSN=&&T1,DISP=(,PASS),SPACE=(CYL,(X,Y),RLSE)
//OUT DD SYSOUT=*
//TOOLIN DD *
SORT FROM(IN) USING(CTL1)
SORT FROM(T1) USING(CTL2)
//CTL1CNTL DD *
OPTION EQUALS
SORT FIELDS=(02,11,CH,A, $ PROP-NUM
13,08,CH,A, $ PPTS-ITM-NUM
38,4,CH,A, $ PROPOSAL-YEAR
48,3,CH,A) $ COST-POOL1-3
SUM FIELDS=(63,15,ZD) $ DOLLARS-COST
OUTREC IFTHEN=(WHEN=INIT,OVERLAY=(78:16C'0')),
IFTHEN=(WHEN=(48,3,SS,EQ,C'513,523'),OVERLAY=(78:63,15,93:C'1')),
IFTHEN=(WHEN=(48,3,CH,EQ,C'697'),OVERLAY=(78:23C'0'))
OUTFIL FNAMES=T1,REMOVECC,BUILD=(1,92,8C'0',101:X),
SECTIONS=(02,19,SKIP=0L,38,4,SKIP=0L,
TRAILER3=(1,47,C'697',51,27,
78:TOT=(78,15,ZD,ZDC,LENGTH=15),
93:TOT=(93,1,ZD,ZD,LENGTH=8),'T'))
//*
//CTL2CNTL DD *
OMIT COND=(93,8,ZD,EQ,0,AND,101,1,CH,EQ,C'T')
OPTION EQUALS
SORT FIELDS=(02,11,CH,A, $ PROP-NUM
13,08,CH,A, $ PPTS-ITM-NUM
38,4,CH,A, $ PROPOSAL-YEAR
48,3,CH,A) $ COST-POOL1-3
SUM FIELDS=(78,15,ZD, $ DOLLARS-COST
93,08,ZD) $ DOLLARS-COST
OUTFIL FNAMES=OUT,IFOUTLEN=77,
IFTHEN=(WHEN=(48,3,CH,EQ,C'697',AND,93,8,ZD,GT,0),
OVERLAY=(63:78,15,ZD,ZDC,LENGTH=15))
//*
Back to top
services New User Joined: 20 May 2009Posts: 38 Location: India
thanks a lot,really you helped me out from this issue...it seems result are looks good...
i need a another help if you free today else i will work with you on monday or your convenient time.
problem:
what will be the jcl if i include additinoal 5 digit from 78th possition to 82.
result should be same from above you mentioned jcl and possion 78 to 83 should be the same as it is(HOOKS)
CTESTKAT 0004 000000 7300 01 2009 2009N697 C000000000{00000000596990BHOOKS
HOOKS needs to be displayed after 697 calculation,
Back to top
services New User Joined: 20 May 2009Posts: 38 Location: India
CTESTKAT 0001 000000 JAX1 01 2009 2009N523 C000000000{00000000400000{JAX
CTESTKAT 0001 000000 JAX1 01 2009 2009N513 C000000000{00000000500000{JAX
CTESTKAT 0001 000000 JAX1 01 2009 2009N696 C000000000{00000000500000{JAX
CTESTKAT 0001 000000 JAX1 01 2009 2009N697 C000000000{00000000500000{JAX
CTESTKAT 0002 000000 NOR1 01 2009 2009N523 C000000000{00000000200000{JAX
CTESTKAT 0002 000000 NOR1 01 2009 2009N513 C000000000{00000000500000{JAX
CTESTKAT 0002 000000 NOR1 01 2009 2009N696 C000000000{00000000500000{JAX
CTESTKAT 0002 000000 NOR1 01 2009 2009N697 C000000000{00000000500000{JAX
CTESTKAT 0003 000000 SWC1 01 2009 2009N523 C000000000{00000000300000{JAX
CTESTKAT 0003 000000 SWC1 01 2009 2009N513 C000000000{00000000000000{JAX
CTESTKAT 0003 000000 SWC1 01 2009 2009N696 C000000000{00000000000000{JAX
CTESTKAT 0003 000000 SWC1 01 2009 2009N697 C000000000{00000000000000{JAX
CTESTKAT 0004 000000 7300 01 2009 2009N603 C000001000{00000000000000{HOOKS
CTESTKAT 0004 000000 7300 01 2010 2010N603 C000001000{00000000000000{HOOKS
CTESTKAT 0004 000001 NOR1 01 2009 2009N523 C000000000{00000000100000{HOOKS
CTESTKAT 0004 000001 NOR1 01 2010 2010N523 C000000000{00000000610000{HOOKS
CTESTKAT 0004 000005 JAX1 01 2009 2009N523 C000000000{00000000001060{HOOKS
CTESTKAT 0004 000005 JAX1 01 2010 2010N523 C000000000{00000000001060{HOOKS
CTESTKAT 0004 000006 NOR1 01 2009 2009N523 C000000000{00000000400000{HOOKS
CTESTKAT 0004 000006 NOR1 01 2010 2010N523 C000000000{00000000400000{HOOKS
CTESTKAT 0004 000007 SWC1 01 2009 2009N523 C000000000{00000000037289DHOOKS
CTESTKAT 0004 000007 SWC1 01 2010 2010N523 C000000000{00000000037289DHOOKS
CTESTKAT 0004 000009 NOR1 01 2009 2009N523 C000000000{00000000030000{HOOKS
CTESTKAT 0004 000009 NOR1 01 2010 2010N523 C000000000{00000000030000{HOOKS
CTESTKAT 0004 000010 SWC1 01 2009 2009N523 C000000000{00000000006620{HOOKS
CTESTKAT 0004 000010 SWC1 01 2010 2010N523 C000000000{00000000006620{HOOKS
CTESTKAT 0004 000011 JAX1 01 2009 2009N523 C000000000{00000000000120{HOOKS
CTESTKAT 0004 000011 JAX1 01 2010 2010N523 C000000000{00000000000120{HOOKS
CTESTKAT 0004 000012 OVRO 01 2009 2009N524 C000000000{00000000400000{HOOKS
CTESTKAT 0004 000012 OVRO 01 2010 2010N524 C000000000{00000000800000{HOOKS
CTESTKAT 0004 000013 OVRO 01 2009 2009N524 C000000000{00000000264000{HOOKS
CTESTKAT 0004 000013 OVRO 01 2010 2010N524 C000000000{00000000267000{HOOKS
CTESTKAT 0004 000000 7300 01 2009 2009N513 C000000000{00000000596990BHOOKS
CTESTKAT 0004 000000 7300 01 2009 2009N696 C000000000{00000000596990BHOOKS
CTESTKAT 0004 000000 7300 01 2009 2009N697 C000000000{00000000596990BHOOKS
last five(jax or hooks) possition should display from above input file to output file with your new sort jcl..
Back to top
services New User Joined: 20 May 2009Posts: 38 Location: India
I have found some error from our result,i have compared out output files with input files.i have mentioned both for your understanding.
Input
======
CUNISON 0001 000000 7300 01 2009 2009N513 C000000000{00000000567000{
CUNISON 0001 000001 NOR1 01 2009 2009N523 C000000000{00000000967000{
CUNISON 0001 000002 SWC1 01 2009 2009N523 C000000000{00000001750000{
CUNISON 0001 000000 7300 01 2009 2009N603 C000005210{00000000000000{
CUNISON 0001 000000 7300 01 2009 2009N696 C000000000{00000000567000{
CUNISON 0001 000000 7300 01 2009 2009N697 C000000000{00000000567000{
CUNISON 0002 000000 JAX1 01 2009 2009N513 C000000000{00000000000000{
CUNISON 0002 000000 JAX1 01 2009 2009N523 C000000000{00000000109000{
CUNISON 0002 000000 JAX1 01 2009 2009N696 C000000000{00000000000000{
CUNISON 0002 000000 JAX1 01 2009 2009N697 C000000000{00000000000000{
CUNISON 0003 000000 NOR1 01 2010 2010N513 C000000000{00000000000000{
CUNISON 0003 000000 NOR1 01 2010 2010N523 C000000000{00000000545000{
CUNISON 0003 000000 NOR1 01 2010 2010N696 C000000000{00000000000000{
CUNISON 0003 000000 NOR1 01 2010 2010N697 C000000000{00000000000000{
DUNISON 0001 000000 7370 01 2010 2010N513 C000000000{00000000000000{
DUNISON 0001 000001 NOR1 01 2010 2010N523 C000000000{00000005670000{
DUNISON 0001 000000 7370 01 2010 2010N602 C000146000{00000000000000{
DUNISON 0001 000000 7370 01 2010 2010N696 C000000000{00000000000000{
DUNISON 0001 000000 7370 01 2010 2010N697 C000000000{00000000000000{
DUNISON 0002 000000 JAX1 01 2010 2010N513 C000000000{00000000000000{
DUNISON 0002 000000 JAX1 01 2010 2010N523 C000000000{00000001090000{
DUNISON 0002 000000 JAX1 01 2010 2010N696 C000000000{00000000000000{
DUNISON 0002 000000 JAX1 01 2010 2010N697 C000000000{00000000000000{
DUNISON 0003 000000 SWC1 01 2010 2010N513 C000000000{00000000000000{
DUNISON 0003 000000 SWC1 01 2010 2010N523 C000000000{00000000888000{
DUNISON 0003 000000 SWC1 01 2010 2010N696 C000000000{00000000000000{
DUNISON 0003 000000 SWC1 01 2010 2010N697 C000000000{00000000000000{
DUNISON 0005 000000 OVOV 01 2009 2009D513 C000000000{00000000000081{
DUNISON 0005 000000 OVOV 01 2009 2009N513 C000000000{00000000000027{
DUNISON 0005 000000 OVOV 01 2009 2009D696 C000000000{00000000000081{
DUNISON 0005 000000 OVOV 01 2009 2009N696 C000000000{00000000000027{
DUNISON 0005 000000 OVOV 01 2009 2009D697 C000000000{00000000000081{
DUNISON 0005 000000 OVOV 01 2009 2009N697 C000000000{00000000000027{
output:
=======
correct
CUNISON 0001 000000 7300 01 2009 2009N513 C000000000{00000000567000{
CUNISON 0001 000001 NOR1 01 2009 2009N523 C000000000{00000002717000{
CUNISON 0001 000000 7300 01 2009 2009N603 C000005210{00000000000000{
CUNISON 0001 000000 7300 01 2009 2009N696 C000000000{00000000567000{
CUNISON 0001 000000 7300 01 2009 2009N697 C000000000{00000003284000{
correct
DUNISON 0001 000000 7370 01 2010 2010N513 C000000000{00000000000000{
DUNISON 0001 000001 NOR1 01 2010 2010N523 C000000000{00000005670000{
DUNISON 0001 000000 7370 01 2010 2010N602 C000146000{00000000000000{
DUNISON 0001 000000 7370 01 2010 2010N696 C000000000{00000000000000{
DUNISON 0001 000000 7370 01 2010 2010N697 C000000000{00000005670000{
correct
CUNISON 0002 000000 JAX1 01 2009 2009N513 C000000000{00000000000000{
CUNISON 0002 000000 JAX1 01 2009 2009N523 C000000000{00000000109000{
CUNISON 0002 000000 JAX1 01 2009 2009N696 C000000000{00000000000000{
CUNISON 0002 000000 JAX1 01 2009 2009N697 C000000000{00000000109000{
correct
DUNISON 0002 000000 JAX1 01 2010 2010N513 C000000000{00000000000000{
DUNISON 0002 000000 JAX1 01 2010 2010N523 C000000000{00000001090000{
DUNISON 0002 000000 JAX1 01 2010 2010N696 C000000000{00000000000000{
DUNISON 0002 000000 JAX1 01 2010 2010N697 C000000000{00000001090000{
not correct ( 523 value is 00000000545000 from input file, cunison 0003 523(545000) value and dunison 0003 523(888000) values are added below)
CUNISON 0003 000000 NOR1 01 2010 2010N513 C000000000{00000000000000{
CUNISON 0003 000000 NOR1 01 2010 2010N523 C000000000{00000001433000{
CUNISON 0003 000000 NOR1 01 2010 2010N696 C000000000{00000000000000{
CUNISON 0003 000000 NOR1 01 2010 2010N697 C000000000{00000001433000{
correct
DUNISON 0005 000000 OVOV 01 2009 2009D513 C000000000{00000000000108{
DUNISON 0005 000000 OVOV 01 2009 2009D696 C000000000{00000000000108{
DUNISON 0005 000000 OVOV 01 2009 2009D697 C000000000{00000000000108{
and missed below lines from our ouput file
DUNISON 0003 000000 SWC1 01 2010 2010N513 C000000000{00000000000000{
DUNISON 0003 000000 SWC1 01 2010 2010N523 C000000000{00000000888000{
DUNISON 0003 000000 SWC1 01 2010 2010N696 C000000000{00000000000000{
DUNISON 0003 000000 SWC1 01 2010 2010N697 C000000000{00000000000000{
Back to top
services New User Joined: 20 May 2009Posts: 38 Location: India
i have solved the above problem
I have changed SORT FIELDS=(01,12,CH,A,
from SORT FIELDS=(02,11,CH,A,
its working fine now.. thanks a lot Kolosu and your team, really this forum helping a lot
Back to top
Skolusu Senior Member Joined: 07 Dec 2007Posts: 2205 Location: San Jose
services wrote:
i have solved the above problem
I have changed SORT FIELDS=(01,12,CH,A,
from SORT FIELDS=(02,11,CH,A,
its working fine now.. thanks a lot Kolosu and your team, really this forum helping a lot
You change your requirements so often that I have no clue as to what the real requirement is anymore.
Btw I would really appreciate if you can at least spell my name correctly
thanks
Back to top
services New User Joined: 20 May 2009Posts: 38 Location: India
I am really sorry for misspelled your name.
thanks a lot for your help!
Back to top
Please enable JavaScript!