by shyamsaravan » Tue May 18, 2010 4:16 pm
Kolusu: I tried your previous code
mY Input file is
000001 00HEADER 18/05/10
000002 01AEDUNITED ARAB EMIRATESUAE DIRHAM OTHER FOREIGN
000003 01ALLALBANIA ALBANIAN LEK OTHER FOREIGN
000004 01ARAARGENTINA AUSTRAL (OLD) LATIN AMERICA
000005 01ARPARGENTINA PESO (OLD) LATIN AMERICA
000006 01ARSARGENTINA ARGENTINE PESO OTHER FOREIGN
000007 01ATSAUSTRIA SCHILLING EUROPE Y199901
000008 01AUDAUSTRALIA AUSTRALIAN DOLLAR ASIA-PACIFIC
000009 0301FRF1981093000001790000000000000000000000
000010 0301ILS2000093000002485089500000000000000000ZZZ
000011 0310RON2010051700000007203540800000000000000
000012 0301NLG1987033100004907000000000000000000000
000013 0310EUR2010051700003114294612300000000000000
000014 0310BRL2010012800005408778301500000000000000
000015 0310CNY2007041000001292826191600000000000000
000016 0311CYP2007091700023753851420700000000000000
000017 0311RON2010051700022650207182300000000000000
000018 0311EUR2010051700012602000000000000000000000
.
.
042221 99TRAILER 042219 000001 000001 042221
I tried below as the control card
SORT FIELDS=COPY
INREC IFTHEN=(WHEN=INIT,OVERLAY=(89:C'20')),
IFTHEN=(WHEN=GROUP,BEGIN=(1,2,CH,EQ,C'00'),
PUSH=(91:16,2,13,2,10,2)),
IFTHEN=(WHEN=(1,2,SS,EQ,C'00,99',OR,
1,7,CH,EQ,C'0310EUR',AND,8,8,CH,LT,89,8,CH,OR,
1,7,CH,EQ,C'0310RON',AND,8,8,CH,LT,89,8,CH,OR,
1,7,CH,EQ,C'0311EUR',AND,8,8,CH,LT,89,8,CH,OR,
1,7,CH,EQ,C'0311RON',AND,8,8,CH,LT,89,8,CH),
OVERLAY=(97:SEQNUM,6,ZD))
OUTFIL INCLUDE=(97,1,CH,GT,C' '),IFOUTLEN=88,
IFTHEN=(WHEN=(1,2,ZD,EQ,99),
BUILD=(1,10,11:C'0000002 0000001 000001 ',97,6))
//*
output dispalyed like this
000001 00HEADER 18/05/10
000002 0310EUR2008112100012602000000000000000000000
000003 0311RON2010051700002948030000000000000000000
000004 0310EUR2006052200012753000000000000000000000
000005 0310RON2010040600003272105520200000000000000
000006 0310RON2010021900003272573226800000000000000
000007 0310EUR2010021100013718000000000000000000000
000008 0310EUR2010051700012909000000000000000000000
000009 0310EUR2010012000014132000000000000000000000
000010 0311RON2009051300003290010000000000000000000
000011 0310EUR2008061300015336000000000000000000000
000012 0310RON2009102700003465921006600000000000000
000013 0311EUR2009041700013078999877600000000000000
000014 0310RON2009100800003449299065400000000000000
000015 0311EUR2009012800013250318608800000000000000
000016 0311RON2010051700002940230000000000000000000
000017 0310EUR2008081400014907000000000000000000000
003167 0310RON2005102000003313374913300000000000000
003168 0310EUR2006020700011973000000000000000000000
003169 0310RON2008062000004248197033600000000000000
003170 0311EUR2010051700014107720385300000000000000
.
.
003171 99TRAILER 0000002 0000001 000001 003171
bUT I NEED BELOW SHOULD BE THE OUTPUT
000001 00HEADER 18/05/10
000002 0310RON2010051700000007203540800000000000000
000003 0310EUR2010051700003114294612300000000000000
000004 0311RON2010051700022650207182300000000000000
000005 0311EUR2010051700012602000000000000000000000
000006 99TRAILER 000004 000001 000001 000006
For the above code it displayed all records which are all having the date field less than the Header date .
But i need one day prior day record,if not available in the input file means, needs three day prior day record(ie 20100514 date record).
Please any one can help me