IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

help needed for sort


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Sat Aug 08, 2009 3:49 am
Reply with quote

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
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1249
Location: Richfield, MN, USA

PostPosted: Sat Aug 08, 2009 4:38 am
Reply with quote

Hari,
Please use BBCode to make your posts more readable.
Back to top
View user's profile Send private message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Sat Aug 08, 2009 4:41 am
Reply with quote

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
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Sat Aug 08, 2009 4:46 am
Reply with quote

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
View user's profile Send private message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Sat Aug 08, 2009 5:00 am
Reply with quote

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
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1249
Location: Richfield, MN, USA

PostPosted: Sat Aug 08, 2009 5:03 am
Reply with quote

BBCode is explained in the FAQ at the top of the screen.
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Sat Aug 08, 2009 5:10 am
Reply with quote

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
View user's profile Send private message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Sat Aug 08, 2009 5:14 am
Reply with quote

yes, we need to create and assign 513 or 523 cost
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Sat Aug 08, 2009 5:38 am
Reply with quote

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
View user's profile Send private message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Sat Aug 08, 2009 5:52 am
Reply with quote

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
View user's profile Send private message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Sat Aug 08, 2009 5:58 am
Reply with quote

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
View user's profile Send private message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Mon Aug 10, 2009 3:10 pm
Reply with quote

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
View user's profile Send private message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Mon Aug 10, 2009 4:04 pm
Reply with quote

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
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Mon Aug 10, 2009 9:39 pm
Reply with quote

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
View user's profile Send private message
services

New User


Joined: 20 May 2009
Posts: 38
Location: India

PostPosted: Mon Aug 10, 2009 9:48 pm
Reply with quote

I am really sorry for misspelled your name.
thanks a lot for your help!
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL Goto page Previous  1, 2

 


Similar Topics
Topic Forum Replies
No new posts Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts JCL sort card - get first day and las... JCL & VSAM 9
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
Search our Forums:

Back to Top