Thursday, 28 December 2017

Syncsort outrec binära alternativ


Följande är SyncSort-standardparametrar, som du kan ändra enligt ovan. BMSG listar alternativa parametrar som anges via ORTPARM på utmatningsdatasatsen. Denna standard orsakar begränsad validering av data som finns i fält som är betecknade som packad eller zonad decimal. För att få sorteringen att avsluta om data i PD - eller ZD-fält är ogiltiga anger du CMPCPD. För programanropade sorter med utgångsrutiner måste du bestämma mängden minne som behövs för utgångarna, ange sedan COREMAX-nnn K. NOSNAP kommer att undertrycka SyncSort SNAP-dumpningen, som produceras vid ett kritiskt fel. Om du har ett SYSUDUMP DD-meddelande får du den vanliga OS-dumpningen. Om du behöver en SNAP-dumpa, ange DEBUG-parametern. För en effektivare sortering bevaras inte postens ordning. Om ordern behålls, använd EQUALS-sökordet. Felmeddelanden utfärdas när ett IO-fel uppstår. Om IOERRABE anges, kommer en USER 999 ABEND att inträffa. Kontrollanvisningar kommer att listas på SYSOUT dataset. NOLIST stänger av det här. Standard DD-namnet på meddelandedatasatsen är SYSOUT. Alla andra giltiga DD-namn kan ersättas. För att vara kompatibla med visningsalternativen för COBOL-utgångsrutiner är de definierade egenskaperna hos meddelandedatasatsen: DCB (LRECL121, BLKSIZE121, RECFMFA) Ett misslyckat sort kommer att utfärda en returkod på 16. Om RC16ABE är angivet, är en USER 16 ABEND kommer att inträffa. Oanvänt utrymme i sorteringsdataset kommer att släppas under körtiden, om inte sorteringen är programinitierad. För att frigöra överskottsutrymme på SORTOUT-datamängden kan RLSOUT anges. RESET måste anges som en parameter om SORTOUT-datamängden är en VSAM-fil som skapades med alternativet REUSE för att förhindra att SyncSort behandlar SORTOUT som en MOD-dataset. En sekundär fördelning ges till sorteringsdatasätten om det behövs. Ingen validitetstestning av poster med variabel längd görs. Dokumentation för SyncSort-verktyget finns i SyncSort Release 3.4 Programmeringsguide från SyncSort, Inc. Du kan beställa manualer från säljaren på den här adressen: SyncSort Incorporated 50 Tice Boulevard Woodcliff Lake, NJ 07675 Telefon 201930-9700 e-post: mvstechsyncsort Fax: (201) 930-8284 Attn: Syncsort Produkttjänster Om du behöver hjälp med att använda SyncSort på EIampO, kontakta EIampO Support Desk via telefon (352) 392-2061 eller e-post till consultlists. ufl. edu. Dina kommentarer är välkommen Vi välkomnar dina kommentarer och förslag på denna och alla UFIT-dokumentation. Vänligen skicka dina kommentarer till: UF Informationsteknologi 2046 NE Waldo Rd, Suite 2100 Gainesville, Florida 32609-8942Låt mig bara blinka innan du Input Dataset, som I8217ve valt för detta exempel. Detta är uppgifterna från år 2008. -------- 1 -------- 2 -------- 3 -------- 4 ---- ---- 5 -------- 6 ---- AG10001160 Ramesh CHANDRA GUHA INDIA160160160160 MAHARASHT MUMBAI160160160 01 tusen AG10002160 QUASAR SHABBIR CHUN INDIA160160160160 MAHARASHT PUNE160160160160160 02 tusen AG10003160 Veeramani DARYAGANJ INDIA160160160160 MAHARASHT NAGPUR160160160 03 tusen AG10004160 DELPHAN FERANDAZ160160160 INDIA160160160160 TAMIL NAD CHENNAI160160 04 tusen AG10005160 PADMAVATHI SUNDARAM INDIA160160160160 TAMIL NAD SALEM160160160160 05000 AG10006160 NEELESHWARI IYER160160160 INDIA160160160160 TAMIL NAD Ernakulam 06000 AG10007160 AJAY NANUBHAI PARSA INDIA160160160160 WEST Beng KOLKATA160160 07000 AG10008160 Mehul POPATLAL SUTA INDIA160160160160 WEST Beng Kharagpur 08000 AG10009160 KRITHIKA RAMANUJAM160 INDIA160160160160 WEST Beng Sundarban 09000 AG10010160 Ankur CHOUDHARY160160160160 INDIA160160160160 PUNJAB160160160 AMRITSAR160 10000 AG10011160 HIREN NITIN SHETH160160 INDIA160160160160 PUNJAB160160160 JALANDHAR 11000 AG10012160 DARSHAN SHAH160160160160160160160 INDIA160160160160 INDIA160160160160 HARYANA160160 CHANDIGAR 12000 Under 2009, på grund av en prestationsbonus som gavs till försäkringsagenter, satsade de alla mer och i nästa kvartal observerades att deras försäljning ökade med 10 procent. Skriv en sats JOBJCL som ökar Försäljningen av Försäkringsagenter med 10 procent. Så, du måste skapa en rapport för försäljning för det finansiella året som slutade 2009, vilket visar en ökning av försäljningsgraden för alla agenter. För att utföra aritmetik (som ökande tillägg) på numeriska fält kan vi använda flera operatörer som ADD, SUB, MUL, DIV, MOD inom kontrollområdet UTREC FIELDS. För att behandla ett fält som numeriskt, och för att kunna utföra numeriska operationer på det, kodar vi ZD (Zoned Decimal) specifier. För att öka försäljningsgraden med 10 procent måste vi multiplicera försäljningen x 1.1. Men eftersom decimalvärden inte är tillåtna får vi multiplicera SALES x 11 och beskriv sedan formatet för det resulterande Redigerade fältet. Formatet för det redigerade fältet kan specificeras med EDIT Subparameter. Om vi ​​har inmatningsförsäljning 1000 multiplicerar vi med 11, 1000 x 11 11000. För att visa rätt resultat måste decimalpunkten flyttas en plats kvar. Så är formatet TTTT. T (där T står för vilken signifikant siffra som ska visas). Vi kan lägga till ett komma som T, TTT. T. Vissa försäljnings siffror är över 10 000 (5 siffror). Så vi måste se till att de också visas korrekt. Således måste vi lägga till en I (Obetydlig siffra). Vi anger formatet för utgångsfältet med EDIT-parametern. Vi kommer att koda EDIT-parametern för det ovanstående exemplet som, Så här ser Batch JOBJCL för att höja försäljningen med 10 procent. -------- 1 -------- 2 -------- 3 -------- 4 -------- 5 ----- --- 6 -------- 7-- CAA0176K JOBB A123, QUASAR, CLASSG, MSGCLASSY, NOTIFYampSYSUID160160160160160160160160160160160 STEP01 EXEC160 PGMSORT, REGION1024K160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 Sortering DD160160160 DSNCAA0176.DEMO. SORTIN, DISPSHR160160160160160160160160160160160160160160160160160160160160160160160160 SYSPRINT DD160 SYSOUT160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 SYSOUT DD160160160 SYSOUT160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 SORTXSUM DD160 DSNCAA0176. DEMO. REPORT, DISPSHR160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 SORTOUT DD160160 DSNCAA0176.DEMO. SORTOUT, DISPSHR160160160160160160160160160160160160160160160160160160160160160160160 SYSIN160 DD160160160 160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160 sorteringsfält (30,5, CH, A) -160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160 OUTREC FÄLT (30,5,2X, (60,5, ZD, MUL, 11), EDIT (IT, TTT. T), 80: X ) 160160160160160160160160 160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 efter att lämna ovanstående Job Stream, slutresultatet rapport för försäljning 2009, som visar en ökning av försäljningen av varje försäkringsagent 10, ser ut ungefär så här - -------- 1 ---- INDIA160160 1 100,0 INDIA160160 2 200,0 INDIA160160 3,300,0 INDIA160160 4,400,0 INDIA160160 5,500,0 INDIA160160 6,600,0 INDIA160160 7,700,0 INDIA160160 8,800,0 INDIA160160 9,900,0 I NDIA160 11,000,0 INDIA160 12,100,0 INDIA160 13,200,0 Q. Hur formaterar du dokument med OUTREC OVERLAY Control Statement När vi använder OUTREC FIELDS för att omformatera utdataposterna måste du ange alla de fältnamn som du vill se i Output Record. Du måste berätta DFSORT-verktyget genom kontrollregistret OUTREC FIELDS, varje objekt som du vill ha inspelningen. Således måste du bygga den omformaterade posten, ett objekt i taget - fält efter fält. Däremot kan du lägga till några specialtecken som komma (,) eller valutasymbol (). Detta kan vara väldigt tråkigt och omständligt, om posten har en stor längd och innehåller många fältkolumner. Om du har för avsikt att ändra enbart en handfull kolumner, är det enklare och bekvämare att använda överlättningsreglering. Observera att OVERLAY-uttalandet kan användas för att utföra samma uppgifter som du kan åstadkomma med OUTREC-uttalandet. Låt mig visa dig ett enkelt exempel som illustrerar hur man ökar Försäkringsagentens försäljningsfigur som i ovanstående exempel, men använder OUTREC OVERLAY-uttalandet. Detta exempel visar hur lätt det är att använda OVERLAY-satsen i motsats till den noggranna och omständliga OUTREC FIELDS Control Statement. -------- 1 -------- 2 -------- 3 -------- 4 -------- 5 ----- --- 6 -------- 7-- CAA0176A JOBB A123, QUASAR, CLASSG, MSGCLASSY, PRTY15, NOTIFYampSYSUID160 STEP01 EXEC160 PGMSORT, REGION1024K160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 Sortering DD160160160 DSNCAA0176.DEMO. SORTIN, DISPSHR160160160160160160160160160160160160160160160160160160160160160160 SYSPRINT DD160 SYSOUT160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 SYSOUT DD160160160 SYSOUT160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 SORTXSUM DD160 DSNCAA0176.DEMO. REPORT, DISPSHR160160160160160160160160160160160160160160160160160160160160160160 SORTOUT DD160160 DSNCAA0176.DEMO. SORTOUT, DISPSHR160160160160160160160160160160160160160160160160160160160160160 SYSIN160 DD160160160 16016016016016016016016016016016016016016016016 0160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160 OPTION COPY -160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160 OUTREC OVERLAY (60: 60,5, ZD, ADD, (60,5, ZD, DIV, 10), TOZD, LENGTH5) 160.160.160 Q. Hur OUTREC IFTHEN kontroll Statement arbete Kan du utveckla genom visar en enkel JCLJob-ström OUTREC FIELDS och OUTREC Overlay gör att du kan tillämpa samma formatering på alla Output Records. Om du emellertid vill använda olika omformatering till olika utdataposter, bör man använda alternativet IFTHEN. Genom att använda alternativet IFTHEN kan man tillämpa olika OUTREC-områden eller OUTREC OVERLAY-format (format) till olika utgångsposter. Antag att vi vill att Output Report ska genereras enligt följande - 1) Om SALG av Agent lt 06000, sedan Öka 10 2) Om SALG av Agent GT 06000, öka sedan 20 Så, för alla poster som har försäljning lt 06000 multiplicerar vi (MUL) med 1,1. För alla poster som har försäljning gt 06000 multiplicerar vi (MUL) med 1.2. Således kan vi multiplicera poster med 11 respektive 12 i JCL och visa utmatningsfältet med EDIT Format, EDIT (IT, TTT. T) -------- 1 -------- 2 -------- 3 -------- 4 -------- 5 -------- 6 -------- 7--160 - -------------------------------------------------- ----------------- UTREC IFTHEN Control Statement 8211 Reformatering Records differently160160160160 ------------------------- ------------------------------------------- CAA0176Q JOB A123, QUASAR, CLASSG , MSGCLASSY, PRTY15, NOTIFYampSYSUID160160160 STEP01 EXEC160 PGMSORT, REGION1024K160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 Sortering DD160160160 DSNCAA0176.DEMO. SORTIN, DISPSHR ltINPUT FILE160160160160160160160160160160 SYSPRINT DD160 SYSOUT160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 SYSOUT DD160160160 SYSOUT160160160160160160160160160160160160160160160160160160160160160160160160160160160 160160160160160160160160160160160160160160160160160160160160160 SORTOF01 DD160 DSNCAA0176.DEMO. REPORT, DISP (OLD, KEEP, KEEP) ltREPORT160160 SORTOUT DD160160 DSNCAA0176.DEMO. SORTOUT, DISP (OLD, KEEP, KEEP) ltOUTPUT160 SYSIN160 DD160160160 160160160160160160 lt Instream CONTROL STATEMENTS160160160160160160160160160160160160160160160160160 160 OPTION COPY160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160 OUTREC IFTHEN (NÄR (60,5, ZD, LT, 06000), -160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160 BUILD (1: 1,9,10: 10,20, X, (60,5, ZD, MUL, 11), EDIT (IT, TTT. T ), 160160160160160160160160160 160 IFTHEN (när (60,5, ZD, GE, 06000), -160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160 BUILD (1: 1,9,10: 10,20, X, (60,5, ZD, MUL, 12 ), EDIT (IT, TTT. T))) Utgångsrapporten för ovanstående Batch JobJCL ser ut som foll ows. AG10004 -------- 1 ------ AG10001160 1.100.0 AG10002160 2.200.0 AG10003160 3,300.0 AG10004160 4,400.0 AG10005160 5,500.0 AG10006160 7.200.0 AG10007160 8.400.0 AG10008160 9.600.0 AG10009 10.800.0 AG10010 12.000.0 AG10011 13.200.0 AG10012 14.400.0JCL sort Syncsort JCL SORT eller SYNCSORT verktyg i JCL används för att sortera dataset, sammanfoga dataset och kopiera dataset. De flesta installationer ändrar SYNCSORT-programmets namn till SORT. JCL SORT Statement format: Startposition anger placeringen av sorteringsnyckeln i posten. Längd anger längden på sorteringsnyckeln. Format anger fälttyp som kan ha värden CH Character, ZD Zonal Decimal, PD Packed Decimal och BI Binary. AscDes indikerar ordning av sorteringen Stigande Fallande. Exempel: SORT OMRÅDEN (1,3, CH, A) SORTFÄLDER (1,5, D), CH SUM FIELDS NONE alternativ eliminerar dubbletter. Ex: SORT-OMRÅDEN (1,5, D), CH SUM-OMRÅDEN INTE SKIPREC och STOPAFT-parametrar SKIPREC n-meddelandet hoppar över poster före kopiering eller sortering. SORT FIELDS COPY SKIPREC 1000 Ovannämnda uttalande hoppar över första 1000 poster och kopierar återstående poster. STOPAFT n uttalande kopierar eller sorterar högst n poster. SORT FIELDS COPY STOPAFT 1000 Ovannämnda uttalande matar ut första 1000 poster efter att någon behandling har gjorts. MERGE kan användas för att slå samman två eller flera förordnade dataset. Vi kan sammanfoga högst 32 dataset. MERGE Statement format: INCLUDE COND: Inkludera uttalande kan användas för att inkludera poster baserat på ett specifikt tillstånd. INKLUDERA COND (Startposition, Längd, tillståndsoperatör, värde) Exempel: SORTFÄLDER COPY INCLUDE COND (1,3, EQ, JCL) I ovanstående exempel kopieras de poster som innehåller JCL i de första 3 positionerna. OMIT COND: På samma sätt kan vi släppa bort dokumenten från datasetet baserat på ett specifikt tillstånd. SORT-OMRÅDEN COPY OMIT COND (1,3, EQ, JCL) I de ovanstående exemplen kopieras inte de poster som innehåller JCL i de första 3 positionerna. Beror på hur du vill omforma datumen. Ja, det finns sätt att omforma datumfält med sortering. Here8217s ett exempel på ett INCLUDE-meddelande som jämför ett fyllt decimaldatum i formuläret P8217yyyymmdd8217 och ett teckendatum i formuläret C8217yyyy-ddd8217, till yesterday8217s datum: INCLUDE COND (21,5, PD, GE, DATE1P-1, ELLER, 3,8, CH, GE, DATE3 (-) - 1) Skivor med ett datum P8217yyyymmdd8217 eller ett datum C8217yyyy-ddd8217 som är större än eller lika med datumet för gårdag8217 kommer att ingå i utdatasatsen. Hej, Tack för den information som lämnats. Har du någon bra mateiral som alla alla SYNCSORT-alternativ? Ett sätt att förklara - den applikation som jag arbetar med använder den fyllda decimalfältet som en nyckel till en VSAM-fil. Det numeriska (absoluta) värdet är garanterat att vara unikt. Negativa tecknet används för att indikera att posten behöver korrigeras. När posten uppdateras, viker tecknet till positivt värde. I denna speciella situtation, precis före laddning av vsam-filen finns ett synkroniseringssteg. Jag försöker att hävda att alla poster som passerar genom sorteringen har det negativa tecknet korrekt inställt innan du fyller i filen. ndash MikeC 8 okt 10 kl 19:43 Kanske försök att skicka detta på MVSForms under Utilities-ämnet. Moderatorn i den formen är Frank Yaeger - en ledande teknisk ledare hos IBM ansvarig för SYNCSORT samt ett antal andra verktyg. ndash NealB 12 okt 10 kl 16:16 Kanske borde jag påpeka det primära problemet jag har med min lösning. Det ultimata målet är att sortera data i nyckelföljden (med negativt tecken som är korrekt inställt) och lagra resultaten i en VSAM-fil. Med denna lösning delas data i två filer och I39m tvingas att rekombinera data med en annan sortering på ett 2: a pass. Eftersom rekordlayouten inte ändras ser jag inget behov av en 2-pass-process. Jag vill verkligen att alla utdata går till en enda fil (inte två). Missar jag en kodningsticka här ndash MikeC 14 okt 10 kl 21:21 Har du funderat på att skriva en E15-användareavslut Med E15-användarens exit kan du manipulera poster som de är inmatade på sorteringsprocessen. I det här fallet skulle du ha ett REXX-, COBOL - eller annat LE-kompatibelt språk subrutinplåster det packade decimaltegelfältet eftersom det är inmatat till sorteringsprocessen. Inget behov av att dela upp i flera filer som ska slås samman senare. Här är en länk till exempel JCL för att åberopa en E15-utgång från DFSORT (samma JCL för SYNCSORT). Kapitel 4 i denna referens beskriver hur man utvecklar användarutgångsrutiner, det här är en DFSORT-manual, men jag tror att SyncSort är fullt kompatibel i detta avseende. Att skriva en användaravgång är inte annorlunda än att skriva någon annan underrutin - få länken rätt och resten är lätt. Det här är en mycket allmän översikt, men jag hoppas det hjälper. Titta på sista byte av ett packat fält är möjligt. Du vill ha positiv uppgift till negativ, så om den är större än -1, subtrahera den från noll. Från ett kortvarigt svar av MikeC är det nu känt att data innehåller icke-föredragna tecken (det vill säga det kan innehålla A till F i lågordens halvbyte, medan ett föredraget tecken skulle vara C (positivt) eller D (negativ) F är osignerad, behandlad som positiv. Det testas med DFSORT. Det ska fungera med SyncSORT. Det visar sig att DFSORT kan förstå en negativ packad decimal, men det kommer inte att skapa en negativ packad decimal (det kommer att tillåta att en negativ noll för zonerad decimal skapas från en negativ nollpackad decimal). Tanken är att ett icke-föredraget tecken är giltigt och kommer att skrivas noggrant för ingång till en decimalinstruktion, men resultatet kommer att alltid vara ett föredraget tecken och kommer att vara korrekt. Så genom att lägga till noll först blir fältet omvandlat till ett föredraget tecken och sedan kommer testet för -1 att fungera som förväntat. Med data i teckenfönstret för packade decimala fält, SORT har några specifika och dokumenterade beteenden, som bara inte råkar hjälpa till här. Sedan där är bara ett värde för att hantera att bli negativ noll, X0C, efter normalisering av tecken som redan har gjorts finns det ett enkelt test och ersättning med en konstant X0D för negativ noll. Eftersom den negativa noll inte fungerar, ändras det andra testet från originalet minus en till noll. Med icke-föredragna tecken i data: Med föredragna tecken i data: Obs! Om icke-föredragna tecken fylls i ett COBOL-program som inte använder kompilatoralternativ NUMPROC (NOPFD) blir resultaten intressanta. svarade 26 april 12 kl 19:10 Jag skulle behöva ompröva detta igen, eftersom det har varit bra över ett år sedan jag kom fram till den lösning som jag äntligen genomfört. Jag håller med om det här verkar vara ett mycket enklare svar än vad jag kommit med men jag verkar tro att du kan råka ut i ett problem där tecknet nibble är b39. 111139. Återigen kan mitt minne vara felaktigt men vid testning tror jag att jag kom fram till att ett 390F39x packat fält behandlades som ett osignerat värde - varken positivt eller negativt, varför det var nödvändigt att behandlas som ett speciellt fall i min exempel nedan. ndash MikeC jun 12 13 klockan 23:30 Tyvärr fick jag inte en meddelande om din kommentar. X390F39 är verkligen unsigned, men den är större än -1. Jag vet inte för SyncSort, men DFSORT har säkert begreppet - ve noll och skulle göra nollnivån med ovanstående kod. Om du har quotmixedquot tecken (CD och F) är det i allmänhet en dålig idé i en fil ändå. Vill du byta till - ve måste dina fält vara signerade, så det borde egentligen inte finnas några Fs i data. - va noll kan vara en smärta i alla fall, men du vill att allt ska vara negativt. ndash Bill Woodger 17 okt 13 kl 10:16

No comments:

Post a Comment