300 likes | 408 Views
Unintended Consequences or…. Why Did FOCUS Do THAT !. Walter Brengel Information Builders FUN 2008. Agenda. -SET &ECHO=ALL; Dialogue Manager Vs Non Dialogue Manager CHECK FILE HOLD -READ -TYPE FILEDEF -GOTO Processing &ECHO On Steroids STYLING SQL TRACES.
E N D
Unintended Consequences or….Why Did FOCUS Do THAT! Walter Brengel Information Builders FUN 2008
Agenda • -SET &ECHO=ALL; • Dialogue Manager Vs Non Dialogue Manager • CHECK FILE HOLD • -READ • -TYPE • FILEDEF • -GOTO Processing • &ECHO On Steroids • STYLING • SQL TRACES
Execution ControlThe Report: This Is The Report We Would Like. Salaries greater than 54100.00 DEPT LASTNAME FIRSTNAME SALARY ---- -------- --------- ------ ACCOUNTING SANCHEZ EVELYN $83,000.00 SOPENA BEN $79,000.00 WANG JOHN $62,500.00 CUSTOMER SUPPORT WHITE VERONICA $62,500.00 HIRSCHMAN ROSE $62,500.00 FERNSTEIN ERWIN $54,100.00 MARKETING VALINO DANIEL $55,500.00 BELLA MICHAEL $62,500.00 ADAMS RUTH $62,500.00 PATEL DORINA $55,500.00 CVEK MARCUS $62,500.00 GOTLIEB CHRIS $58,800.00 PERSONNEL NOZAWA JIM $80,500.00 SALES CASSANOVA LOIS $70,000.00 ADDAMS PETER $54,100.00 LASTRA KAREN $115,000.00
Execution ControlThe Report: Our Code: TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -READ MYSAVE &SKIP.A16. &SALARY.D9. TABLE FILE EMPDATA "Salaries greater than &SALARY </1" PRINT LN FN SALARY BY DEPT WHERE SALARY GE &SALARY END
TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN -READ MYSAVE &SKIP.A16. &SALARY.D9. Add A –RUN Before The –READ Execution ControlThe Report: MYSAVE &SKIP.A16. &SALARY.D9. ERROR AT OR NEAR LINE 14 IN PROCEDURE setupforsummit (FOC339) DIALOGUE MANAGER -READ FAILED: CHECK FILEDEF OR ALLOCATION FOR: -READ MYSAVE &SKIP.A16. &SALARY.D9. Why Do We Get An Error ? TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -READ MYSAVE &SKIP.A16. &SALARY.D9. How Do We Fix It ?
Execution ControlThe Report: -READ MYSAVE &SKIP.A16. &SALARY.D9. ERROR AT OR NEAR LINE 33 IN PROCEDURE setupforsummit (FOC299) UNRECOGNIZED FORMAT OF AMPER VARIABLE IN -READ: -READ MYSAVE &SKIP.A16. &SALARY.D9. Why Do We Get This Error ? First Let’s See What We Are Getting -SET &ECHO=ALL: TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN -READ MYSAVE &SKIP.A16. &SALARY.D9. TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN 0 NUMBER OF RECORDS IN TABLE= 1 LINES= 1 -READ MYSAVE &SKIP.A16. &SALARY.D9. 0 ERROR AT OR NEAR LINE 33 IN PROCEDURE Setupforsummit (FOC299) UNRECOGNIZED FORMAT OF AMPER VARIABLE IN -READ: -READ MYSAVE &SKIP.A16. &SALARY.D9. How Do We Debug It ?
Execution ControlThe Report: -READ MYSAVE &SKIP.A16. &SALARY.D9. ERROR AT OR NEAR LINE 33 IN PROCEDURE setupforsummit (FOC299) UNRECOGNIZED FORMAT OF AMPER VARIABLE IN -READ: -READ MYSAVE &SKIP.A16. &SALARY.D9. TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN -READ MYSAVE &SKIP.A16. -EXIT -* &|SALARY.A9. TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN -READ MYSAVE &SKIP.A16. &SALARY.D9. Do We Get The Error? No – Not That Format Yes – It Is That Format How Do We Find It ? 0 NUMBER OF RECORDS IN TABLE= 1 LINES= 1 -READ MYSAVE &SKIP.A16. -*&|SALARY.D9. Extra Credit!! Why &|SALARY???
Execution ControlThe Report: -* ECHO OUTPUT TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN 0 NUMBER OF RECORDS IN TABLE= 1 LINES= 1 -READ MYSAVE &SKIP.A16. &SALARY.A9. TABLE FILE EMPDATA "Salaries greater than PETER </1" PRINT LN FN SALARY BY DEPT WHERE SALARY GE PETER END -EXIT TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN -READ MYSAVE &SKIP.A16. &SALARY.D9. • Looks Like The Problem Is With The SALARY! • &SALARY.D9 ????? D9?? • Only Allowed Formats Are: A & I • And I Is Read As A • Lets Change It To A9 0 ERROR AT OR NEAR LINE 23 IN PROCEDURE setupforsummit (FOC258) FIELDNAME OR COMPUTATIONAL ELEMENT NOT RECOGNIZED: PETER BYPASSING TO END OF COMMAND (FOC009) INCOMPLETE REQUEST STATEMENT
Execution ControlThe Report: TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN -READ MYSAVE &SKIP.A16. &SALARY.A9. TABLE FILE EMPDATA "Salaries greater than &SALARY </1" PRINT LN FN SALARY BY DEPT WHERE SALARY GE &SALARY END -* FILE NAME CHKMAST -* Make sure you use your hold file -* name or use an &VARIABLE CHECK FILE MYSAVE HOLD AS MYCHK TABLE FILE MYCHKPRINT FIELDNAME ALIAS FORMAT ACTUAL END -INCLUDE CHKMAST PAGE 1 FIELDNAME ALIAS FORMAT ACTUAL LASTNAME E01 A15 A016 FIRSTNAME E02 A10 A012 FIRSTNAME E03 A1 A004 SALARY E04 D12.2M D008 SALARY E05 D9 D008 • Where Is SALARY Coming From? • First TABLE Output – MYSAVE • MYSAVE Is The Result Of HOLD • Let’s Check the HOLD Master • Copy And –INCLUDE CHKMAST (Shown above)
Execution ControlThe Report: • What’s Wrong With This Picture? • Why Two Firstnames & Two Salaries • How Do We Correct This? • Correct &Skip • What Is The Length Of &Skip • HOLDLIST=PRINTONLY SET HOLDLIST=ALL (Default) The Output: PAGE 1 FIELDNAME ALIAS FORMAT ACTUAL LASTNAME E01 A15 A016 FIRSTNAME E02 A10 A012 FIRSTNAME E03 A1 A004 SALARY E04 D12.2M D008 SALARY E05 D9 D008 SET HOLDLIST=PRINTONLY The Output: PAGE 1 FIELDNAME ALIAS FORMAT ACTUAL LASTNAME E01 A15 A016 FIRSTNAME E02 A1 A004 SALARY E03 D9 D008 TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE END -RUN -READ MYSAVE &SKIP.A40. &SALARY.A8. TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE ON TABLE SET HOLDLIST PRINTONLY END -RUN -READ MYSAVE &SKIP.A20. &SALARY.A8.
Execution ControlThe Report: TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE ON TABLE SET HOLDLIST PRINTONLY END -RUN -READ MYSAVE &SKIP.A20. &SALARY.A8. TABLE FILE EMPDATA "Salaries greater than &SALARY </1" PRINT LN FN SALARY BY DEPT WHERE SALARY GE &SALARY ENDERROR AT OR NEAR LINE 20 IN PROCEDURE runcode FOCEXEC * (FOC258) FIELDNAME OR COMPUTATIONAL ELEMENT NOT RECOGNIZED: Çj?@ BYPASSING TO END OF COMMAND (FOC009) INCOMPLETE REQUEST STATEMENT • Lets Look At The &ECHO Output • TABLE FILE EMPDATA • PRINT • FIRSTNAME/A1 • SALARY/D9 • BY LASTNAME • IF LN EQ 'ADDAMS' • ON TABLE HOLD AS MYSAVE • ON TABLE SET HOLDLIST PRINTONLY • END • -RUN • NUMBER OF RECORDS IN TABLE= 1 LINES= 1 • -READ MYSAVE &SKIP.A20. &SALARY.A8. • TABLE FILE EMPDATA • "Salaries greater than Çj?@ </1" • PRINT LN FN SALARY • BY DEPT • WHERE SALARY GE Çj?@ • END • ERROR AT OR NEAR LINE 20 IN PROCEDURE runcode FOCEXEC * • (FOC258) FIELDNAME OR COMPUTATIONAL ELEMENT NOT RECOGNIZED: Çj?@ • BYPASSING TO END OF COMMAND • (FOC009) INCOMPLETE REQUEST STATEMENT • What’s Happening Now? • How Can We Find Out? • -TYPE
Execution ControlThe Report: TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE ON TABLE SET HOLDLIST PRINTONLY END -RUN -READ MYSAVE &SKIP.A20. &SALARY.A8. -TYPE THE VALUE FOR SKIP IS:&SKIP -TYPE THE VALUE FOR SALARY IS: &SALARY -EXIT TABLE FILE EMPDATA "Salaries greater than &SALARY </1" PRINT LN FN SALARY BY DEPT WHERE SALARY GE &SALARY END THE VALUE FOR SKIP IS:ADDAMS P THE VALUE FOR SALARY IS: Çj?@ • What Is Going On? • What Format Is The HOLD File Saved In? • How Can The HOLD Data Be Saved So That The Numeric Values Are Readable?
Execution ControlThe Report: ON TABLE HOLD FORMAT ALPHA ON TABLE SAVE TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE HOLD AS MYSAVE FORMAT ALPHA ON TABLE SET HOLDLIST PRINTONLY END -INCLUDE CHKMAST -EXIT TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE SAVE AS MYSAVE ON TABLE SET HOLDLIST PRINTONLY END -EXIT PAGE 1 FIELDNAME ALIAS FORMAT ACTUAL LASTNAME E01 A15 A015 FIRSTNAME E02 A1 A001 SALARY E03 D9 A009 ALPHANUMERIC RECORD NAMED MYSAVE FIELDNAME ALIAS FORMAT LENGTH LASTNAME LN A15 15 FIRSTNAME A1 1 SALARY D9 9 TOTAL 25
Execution ControlThe Report: TABLE FILE EMPDATA PRINT FIRSTNAME/A1 SALARY/D9 BY LASTNAME IF LN EQ 'ADDAMS' ON TABLE SAVE AS MYSAVE ON TABLE SET HOLDLIST PRINTONLY END -RUN -READ MYSAVE &SKIP.A16. &SALARY.A9. TABLE FILE EMPDATA "Salaries greater than &SALARY </1" PRINT LN FN SALARY BY DEPT WHERE SALARY GE &SALARY END Salaries greater than 54100.00 DEPT LASTNAME FIRSTNAME SALARY ---- -------- --------- ------ ACCOUNTING SANCHEZ EVELYN $83,000.00 SOPENA BEN $79,000.00 WANG JOHN $62,500.00 CUSTOMER SUPPORT WHITE VERONICA $62,500.00 HIRSCHMAN ROSE $62,500.00 FERNSTEIN ERWIN $54,100.00 MARKETING VALINO DANIEL $55,500.00 BELLA MICHAEL $62,500.00 ADAMS RUTH $62,500.00 PATEL DORINA $55,500.00 CVEK MARCUS $62,500.00 GOTLIEB CHRIS $58,800.00 PERSONNEL NOZAWA JIM $80,500.00 SALES CASSANOVA LOIS $70,000.00 ADDAMS PETER $54,100.00 LASTRA KAREN $115,000.00
Execution ControlFILEDEF Verification -SET &ECHO=ALL; FILEDEF ALLCRS DISK C:\IBI\APPS\DEBUGGGING\ALLCRS.FTM TABLE FILE ALLCRS PRINT * END &ECHO Output: FILEDEF ALLCRS DISK C:\IBI\APPS\DEBUGGGING\ALLCRS.FTM TABLE FILE ALLCRS PRINT * END -RUN NUMBER OF RECORDS IN TABLE= 0 LINES= 0 • Somethings wrong! • Let’s see if we can –READ the file
Execution ControlFILEDEF Verification -SET &ECHO=ALL; FILEDEF ALLCRS DISK C:\IBI\APPS\DEBUGGGING\ALLCRS.FTM -RUN -READ ALLCRS &LINE.A1. -TYPE &LINE -EXIT TABLE FILE ALLCRS PRINT * END -RUN TABLE FILE ALLCRS PRINT * END -READ ALLCRS &LINE.A10. 0 ERROR AT OR NEAR LINE 5 IN PROCEDURE FILEDEF FOCEXEC * 0 ERROR AT OR NEAR LINE 8 IN PROCEDURE FILEDEF FOCEXEC * (FOC295) A VALUE IS MISSING FOR: &LINE . • Let’s Look At The FILEDEF Oops!! Somebody Can’t Type! C:\IBI\APPS\DEBUGGGING\ALLCRS.FTM
-SET &ECHO=ALL; FILEDEF ALLCRS DISK C:\IBI\APPS\DEBUGGING\ALLCRS.FTM -RUN TABLE FILE ALLCRS PRINT * END Ah! Success….. PAGE 1 IPIN COURSESTART COURSECODE EXPENSES ---- ----------- ---------- -------- 000000410 91/02/11 EDP690 3,100.00 000000380 91/06/05 UNI780 3,350.00 000000370 91/06/01 UMI710 2,050.00 000000360 90/11/05 EDP690 3,000.00 000000350 90/09/28 SSI220 1,850.00 000000350 89/07/10 MC90 1,730.00 Execution Control FILEDEF Verification -SET &ECHO=ALL; FILEDEF ALLCRS DISK C:\IBI\APPS\DEBUGGING\ALLCRS.FTM -RUN -READ ALLCRS &LINE.A10. -TYPE &LINE -EXIT • FILEDEF ALLCRS DISK C:\IBI\APPS\DEBUGGING\ALLCRS.FTM • -RUN • -READ ALLCRS &LINE.A10. • -TYPE 0000004109 0000004109 • -EXIT • Well Did It Work??
Execution ControlUsing -GOTO • Use –GOTO For: • Transfer Of Control To A Specified Label. • If Dialogue Manager Finds The Label,processing Continues With The Line Following It. • If Dialogue Manager Does Not Find The Label, Processing Ends And An Error Message Is Displayed. • ‑Goto Label • ‑Label • Label - Is A User‑defined Name Of Up To 12 Characters That Specifies The Target Of The ‑GOTO Action. • Do Not Use • Embedded Blanks • The Name Of Any Other Dialogue Manager Command Except ‑Quit Or ‑Exit. • Words That Can Be Confused With Functions, Arithmetic And Logical Operations,
Execution ControlThe Report: -*GOTO RPT2 TABLE FILE CAR "THIS IS RPT1" PRINT CAR END -*EXIT -RPT2 TABLE FILE EMPDATA "THIS IS RPT2" PRINT LN END -*EXIT -RPT3 TABLE FILE CAR "THIS IS RPT3" PRINT COUNTRY END -*EXIT -RPT4 TABLE FILE EMPDATA "THIS IS RP41" PRINT FN END -GOTO RPT2 TABLE FILE CAR "THIS IS RPT1" PRINT CAR END -*EXIT -RPT2 TABLE FILE EMPDATA "THIS IS RPT2" PRINT LN END -EXIT -RPT3 TABLE FILE CAR "THIS IS RPT3" PRINT COUNTRY END -*EXIT -RPT4 TABLE FILE EMPDATA "THIS IS RP41" PRINT FN END PAGE 1 THIS IS RPT2 LASTNAME --------------- VALINO BELLA CASSANOVA ADAMS
Execution Control&ECHO On Steroids -SET DEFECHO=ON; • SET DEFECHO Command Enables You To Specify A Default Value For &ECHO That Spans All Procedures Executed In An Application. • Any FOCEXEC Executed That Does Not Explicitly Establish A Value For &ECHO Uses The Default Value Established By The SET DEFECHO Command. • You Can Explicitly Control The Value Of &ECHO For An Individual Procedure By Either: • Passing A Value On The EX Command • Issuing A -SET Command For &ECHO • Issuing A -DEFAULT Command For &ECHO. • SET DEFECHO = {OFF|ON|ALL} • where: • OFF - Establishes OFF as the default value for &ECHO. OFF is the default value. • ON - Establishes ON as the default value for &ECHO. • ALL - Establishes ALL as the default value for &ECHO.
Execution ControlREADLIMIT and RECORDLIMIT • READLIMIT Is Synonymous With RECORDLIMIT Except As Follows: • Oracle Data Adapter Passes Readlimit To The Oracle As; • SQL WHERE ROWNUM <=N Clauses. • Rownum Is A Pseudo Column Allowing Oracle To Limit The Number Of Rows Retrieved And Returned. • DB2, Readlimit Appends A “Fetch First N Rows Only” To The Generated SQL. • See Ibm DB2 SQL Reference Manual. • Readlimit And Recordlimit Reduce Communication Traffic, Terminal And Disk I/Os. • Search Limit Tests Are Helpful When: • Testing A New Master File.
Execution ControlStyling DEFINE FILE CAR BLANK/A1=' '; END TABLE FILE CAR SUM COMPUTE PROFIT/D6=RETAIL_COST - DEALER_COST; BLANK AS '' RETAIL_COST DEALER_COST BY COUNTRY ON TABLE PCHOLD FORMAT PDF ON TABLE SET STYLE * TYPE=REPORT,COLUMN=RETAIL_COST,COLOR=BLUE,$ ENDSTYLE END PAGE 1 COUNTRY PROFIT RETAIL_COST DEALER_COST ------- ------ ----------- ----------- ENGLAND 7,466 45,319 37,853 FRANCE 979 5,610 4,631 ITALY 9,830 51,065 41,235 JAPAN 966 6,478 5,512 W GERMANY 10,169 64,732 54,563
Execution Control Styling DEFINE FILE CAR BLANK/A1=' '; END TABLE FILE CAR SUM COMPUTE PROFIT/D6=RETAIL_COST - DEALER_COST; BLANK AS '' RETAIL_COST DEALER_COST BY COUNTRY ON TABLE PCHOLD FORMAT PDF ON TABLE SET STYLE * TYPE=REPORT,COLUMN=N3,COLOR=BLUE,$ ENDSTYLE END BACKCOLOR=RED PAGE 1 COUNTRY PROFIT RETAIL_COST DEALER_COST ------- ------ ----------- ----------- ENGLAND 7,466 45,319 37,853 FRANCE 979 5,610 4,631 ITALY 9,830 51,065 41,235 JAPAN 966 6,478 5,512 W GERMANY 10,169 64,732 54,563
Execution Control Styling DEFINE FILE CAR BLANK/A1=' '; END TABLE FILE CAR SUM COMPUTE PROFIT/D6=RETAIL_COST - DEALER_COST; BLANK AS '' RETAIL_COST DEALER_COST BY COUNTRY ON TABLE PCHOLD FORMAT PDF ON TABLE SET STYLE * TYPE=REPORT,COLUMN=N3,COLOR=BLUE,BACKCOLOR=RED,$ ENDSTYLE END PAGE 1 COUNTRY PROFIT RETAIL_COST DEALER_COST ------- ------ ----------- ----------- ENGLAND 7,466 45,319 37,853 FRANCE 979 5,610 4,631 ITALY 9,830 51,065 41,235 JAPAN 966 6,478 5,512 W GERMANY 10,169 64,732 54,563
Execution Control Styling DEFINE FILE CAR BLANK/A1=' '; END TABLE FILE CAR SUM COMPUTE PROFIT/D6=RETAIL_COST - DEALER_COST; BLANK AS '' RETAIL_COST DEALER_COST BY COUNTRY ON TABLE PCHOLD FORMAT PDF ON TABLE SET STYLE * TYPE=REPORT,COLUMN=N4, COLOR=BLUE,$ ENDSTYLE END PAGE 1 COUNTRY PROFIT RETAIL_COST DEALER_COST ------- ------ ----------- ----------- ENGLAND 7,466 45,319 37,853 FRANCE 979 5,610 4,631 ITALY 9,830 51,065 41,235 JAPAN 966 6,478 5,512 W GERMANY 10,169 64,732 54,563
Execution ControlSQL Traces • SQLDI - • Records SQL statements. • RDBMS return codes. • COMMIT and ROLLBACK commands. • SQL cursor operations such as PREPARE, OPEN, FETCH, and CLOSE. • Used with all FOCUS report requests, and native SQL commands. • Formerly FSTRACE. • SQLAGGR • Displays data adapter‑to‑RDBMS aggregation and join analysis. • Used only for FOCUS reporting operations such as TABLE, GRAPH, and MATCH FILE. • If the data adapter is able to pass all join, sort, and aggregation operations, the SQLAGGR trace is not populated. The message "AGGREGATION DONE..." appears. • Formerly FSTRACE3.
Execution Control SQL Traces • STMTRACE • Records SQL SELECT statements generated by the data adapter for FOCUS report requests. • MODIFY procedures, or Direct SQL Passthru SELECT requests. It also records the SQL Data. • Definition Language (DDL) statements generated by the CREATE FILE command. • Display the trace information online. • Store it in a file or sequential data set. • The data adapter terminates its generated SQL SELECT statements with a semicolon. • You can submit them to the RDBMS for processing, interactively or in batch. • Use STMTRACE for: • Debugging. • Performance tuning. • Capturing SQL Data Definition and Data Manipulation statements to reuse. • Formerly FSTRACE4. • SQLCALL • Traces commands and data exchange between the physical and the logical layers of the data adapter. • You can activate all or any combination of these traces during your FOCUS session or in batch. • You can display the results online or store them in a file or sequential data set.
Execution Control SQL Traces • SET TRACEOFF = ALL • SET TRACEON =SQLAGGR//CLIENT • SET TRACEON =STMTRACE//CLIENT • SET TRACEUSER = ON AGGREGATION DONE ... 07.27.38 AE SELECT T1."OrderID", SUM(T1."Freight"), SUM(T1."Freight") FROM 07.27.38 AE Northwind.dbo.Orders T1 GROUP BY T1."OrderID" ORDER BY 07.27.38 AE T1."OrderID"; • SET TRACEOFF = ALL • SET TRACEON = SQLAGGR//CLIENT • SET TRACEON = STMTRACE//CLIENT • SET TRACESTAMP = OFF • SET TRACEUSER = ON AGGREGATION DONE ... SELECT T1."OrderID", SUM(T1."Freight"), SUM(T1."Freight") FROM Northwind.dbo.Orders T1 GROUP BY T1."OrderID" ORDER BY T1."OrderID";
Execution ControlReview • -SET &ECHO=ALL; • Dialogue Manager Vs Non Dialogue Manager • CHECK FILE HOLD • -READ • -TYPE • FILEDEF • -GOTO Processing • &ECHO On Steroids • STYLING • SQL TRACES
Questions Thanks for Coming