Monitoring a Supplier's Quality Performance: A Drilldown Approach Using SAS® Software PatriCk D. Bivens, Caterpillar Inc., Morton, IL With the development of this system, data access was notably improved. However, the system required over ninety menu, inquiry, and maintenance screens which made it difficutt for the infrequent user to remember how to access the information that he desires. To reduce the need for navigation when inquiring on only one supplier's data, the Supplier Ouality Report Card (SORC) was developed. SORC minimizes the need to remember menu and inquiry screen codes by substnuting point-and-click drilldown capability. This significantly reduces keyboard input for specifying criteria and menu selections. Besides providing easier access to the data, SORC also provided graphical depiction of the supplier's data. ABSTRACT Caterpillar Inc. developed a supplier quafity system that uses drilldown capabilnies to provide information conceming a supplie~s performance. The system was designed and developed intemally for Caterpillar Inc. using SAS software. This paper focuses on the use of SAS software to develop a user interface that significantly reduces the time required to gather the data relating to a supplie~s qualny performance. INmODUCTION A supplie~s qualny performance is critical to any business seeking to maintain high levels of customer satisfaction. Caterpillar Inc. has striven since 1985 to achieve one standard source to retrieve a supplie~s quality performance, Part of achieving this goal was the development of the Supplier Oualny Report Card (SORC) that mon~ors a supplie~s total qual~y performance. SAS software was used to intemally design and develop the application which provides drilldown capabilities for analyzing the quality data The SORC was originally designed to operate on mainframe computers for the MVS environment using SAS software for Release 6.07. The SAS software that the system uses include Base SASe, SAS/W, SAS/GRAP~, and SAS/ACCESS-Interface to DB2TM. SORC uses Screen Control language (SCl) extensively for screen navigation, validation of input for errors, popup lists, and overall system development. USER INTERFACE The SORC allows easy access to corporate DB2TM databases and SAS data sets to monnor a supplier's quality performance by providing timely reports and graphs. This paper explains how the use of SAS software allowed the development of a user interface that significantly reduced the time required to access data related to a suppliers quality performance. The objective for the development of the user interface was to minimize the training required for the user to access the desired quality information. This was achieved by allowing point-and-cliick capabilnies, reducing the number of menu screens required, and replicating the corporate systems menu, input screens, and function keys closely. BACKGROUND ~ 1 2) ) The first screen (Figure 1) requests the user to enter the supplier code or sup pier name wnh the option of using wildcards. During the 1980's, the Supplier Oualny and PurchaSing departments realized the need to consolidate supplier's quality data into one central storage location instead of having different departments writing their own programs to access the data from source systems. This would allow purchasing and quality personnel easier access to the information and improve the overall accuracy for the reported information. The resutt was the creation of DB2 databases for storage with a menu driven system to retrieve the data. The menu System was created using Interactive System Productivity Facil~y (ISPF) panels. Command List (CLlSn. and Ouery Management Facility (OMFTM). The data relating to quality inciudes receipt costs, rejection costs. quant~ies. nonconformance documents, supplier ratings for qual~y audits, warranty claims, complaints, and delivery performances. ~~ ... _ , __, ........ _ ... _.f _ _ ._ -~, 1'1'1_~ ==--_______ __ _.-u..afJ..o1<loo _ _ _ • _ _ _ _ • .n _ _ _ J. _ fr.I_f_ ",2l Figure 1 108 If nothing matches the selection criterion, then an error message will appear at the bottom of the screen. If muRiple suppliers match the input criterion, then a selection list will pop-up to select the exact supplier. Once a specific supplier is determined, data is retrieved from 082 tables using the Structured Ouery language (SOL) procedure pass-through facility along w~h information from SAS data sets. This information is then presented on a Supplier Oual~y Report Card screen (Figure 2). next screen presented would be the ReceipllRejection SubMenu (Figure 4). -.- J:ICIIlJT/~_ u _ , _ •., I ~... __ .., •• '"d'" _-.j'" ~fJS,J ..... '10 .",.5, __ l1A _-.:s'" 2 .•• "-j.-.JIUI. ~iI". .-- ~lClftW Ii",JN _ _ 0.'" 11297 ~. _ . 0." l.-.I ,.". 12 .......... ",1_~ .0:...-. n-" .. Ole _ Figure 4 •• - . . n " t . . . . U 1m SIllS •, __ _u_~ --. l.la_or 171111n1 Sf» 1.U ~ ........loool ".,2110 t:U,.K( Next, Wthe user places the cursor on the screen code "DA1" or types tt in the next screen field the user would view an inquiry screen (Figure 5) to further qualWy the selection criteria. p.u.....*-. ~J._O"T~. .. Oa r-. 0..11_. f_.lah_.-_ fI?_ _ 1'1'5 _ _. ,,"_"".la' n-_,.._.aWf . .- _ Wl_\to .... _~~ • _/oeu _ _ . ' "_ ~-.,-----. 1:&,.. Kft.....,. P.:N3.s:K. ,_'a, ".1" I ~... 1.lA! .. f lod"a. 'a. _11.. . ta1. m:I • ft'AJQ; _ _ _ »<o<....._ u .. -.....- _ ru-mlLL_ .............. &tU'U "'.~ U.U Figure 2 ~, UflnJ MaL1'Sm (W 0-"1' mPPLDIl mG ~~-~~~ (,.., ...1~1''''' ..., C-.l f,.., ...lDol.1.&o. or ' ' - 1 The suppUer report card screen provides a summary of the supplier's performance for e~er the past year or for the current year. On this screen the user can click ~h a mouse on attribute fields that are color coded. These attribute fields are defined with a single choice group and use the attribute list value to pass the selection to the SCl program. (Figure 3). - . .... Ci/" ., - ';:.,.c:: _-__ N U-t _. _ _ __ •• ..._""le.!., =:: -." un _u.4 . ft3_ ..,__ -~ '"'"'" • __ . ." " " _ _ _ _ D~ u.u. ___ ..- _ _ . Iho 1'1'1"'~ ~ WS_I_ u ... Figure 5 -..u _IaUII12 _.1 _.J a.Jo. _ , _ _ . IlIaU. n::s _. ~ ,~-. lID ltlGI't After specWying the criteria and pressing <ENTER>, the user would see monthly receipt and rejection information displayed in an extended table (Figure 6). . . ., _ IJaTUor. eaornat _ "1, ................ . --'"'"'"..... rn..-lp .n_ "'_.. m_ ""_ 1'1'1_ Cll.ft, ~ ' " • ..,!>o~ 1't.lII:IIID&IHIIII..nI_~I'o._Dl'D.zt.. -....1>-. ~"UJ SUl'rt.DII_ Cri""""", -=::1.711,"" I'M:, 47 """'" _ Figure 3 1"' 01 _,n.2 un Ull .( 1t1) IS un IC 1'J;] .. un •• lin OJ Based upon the CHOICE GROUP's value, the program retrieves the desired information. The user will then be presented with additional menu screens, data input screens, extended tables with certain variables defined for additional selection and drilldown, or screens that report the requested information. UI) l ' U" 11 1'" II • __ ::1U,:n, t:I,,~' 1'(,75l 1ff,ll' 2(1,,.5 In,(2' lil"" :u~,10" ::1",1" ::1",U7 )54.5," li3.IC' _ .., • • "US SOOl" . .' • ""''':1(,tiS., ··•• ·· · 2,7~ l.U' ~ ··• ""' ·· · 1,70:1 ~ 0.17 ......" a.JWCftD '.00 '.t. 1.15 '.t5 .... ' •• 0 '.00 ' •• 0 '.00 •. tt 13,17 Figure 6 The best example of this can be explained by detailing the process for retrieving a supplier's receipt and rejection information. The usar would first place the cursor on "PREY 12 MONTHS RCPTIREJ" or "YEAR TO DATE RCPTIREJ" and click w~h his left mouse button. The For further. detail, the user would select the month desired and view receipts and rejection at the ident level (Figure 7). 109 __ ,"-Il.110 ...,_ _ _ Extended Tables "'_t -~~ 1I"l_ _ _ IUc._GIII __ _ _ ~. _.. ._u ~.u _ •• MII_~ ._nc,n- .-" _.. n n ~ _ ·".. ... UU,,""..... ........'.0'..., ..·• .. .. .. .-" _... $l.'".. .- n o.u... _"ne, un" &1.1.1.7' "' H • IP &&Y.IHU A.'" ~ ~ " , N.'"n n Extended tables were very useful in the development of the application. However. a stumbling block was noticed when selecting a row from an extended table that required scrolling. The design required that after more detailed information was reviewed the user would then return to the extended table with the row that was previously selected at the top. To accomplish this a macro variable was created that stored the value for the row selected from the extended table. Then when returning from a lower level screen the row selected would be displayed as the first row instead of the first observation in the data set. The code that was used follows: -~ ~ " " )13AU'" UllM3G;S n.lu tl.'u un or.!; un K n.u =.U u.a Figure 7 If there are rejection dollars or pieces for a given nem. the user can select the ident and view a list of nonconformance documents (Figure 8). __ 191_~ --~ lin_ ~'-". _ ..,._ __ ...._ ,.,.....l.oot: "'''MIl _1LDIk _ t. 1110000 acu_ DaM _l:rI'ocu. INIT: TRMONROW=SYMGETNfTRMONROW); IF "(TRMONROW = . OR TRMONROW = _BLANKJ THEN DO; CALl. TOPROW(TRMONROW); CALl. SYMPUTN('TRMONROW •.); END; rUT :II> .... _ _ _ k:l8q~aJ"l'Q a.jll'l' 2. 51 ..,. ..,. "CI 2r U , II ~02S .u.u.uns -.urn -.umiI RETURN; PUTROW: IF (ISSELLCURROW,j) THEN DO: CAlL SYMPUTN('TRMONROW_CURROW,j; Figure 8 END; RETURN; The detailed rejection information is then accessed by clicking on the MRDRlQCIR number (Figure 9). The above code stores the extended table row in the macro TRMONROW and if n is not misSing or blank uses n with the CAll TOPROW Screen Control function to make that row the first row displayed upon return to the extended table. _oeD_ll ,,_ ) . _ ..-...a-.. , . _ ... _ _ . 100... _ft.DIl .Uft' 1D_ ItIc. _ .... ":I ..... n -..gep. .... _ , " _ _ t..• U.,,,, rna. 01;, 1~"'" .....11.... "'.,,'" --.3ns l1/li.1'1: I'Q .... k:I Gt;)'. SI ow. 01. n ..... ......&at. _,~ ~ ..... _ n- -..../kl>o lIooI. II ~'if07,5t 05111uun 01;, Printing Reports :III 0.. 2L1QClJJl _ . 'Za '.N" ._.'OO! GO u-=a. n _ _WUn _ntn _01;, ._ntn -.111;, Ulan.» _1M;, _MAn," k:I DDI. _ ~aI. '.IUi. OD The corporate system allowed the user to press the PF9 function key to print reports on local and mainframe printers. Therefore, on any screen that provides the user wfth a supplie~s qualfty information. he can press the function key PF9 and a report routing screen appears. The report can then be routed to a local printer or a high speed mainframe printer. For a local print this is accomplished by using the following corporate developed macros. __• 1)." Figure 9 APPUCATION DEVELOPMENT %MACRO LPRTON(DEST=); %IF %SUBSTR(&sYSVER.l.l)=5 %THEN %00; During the development. three critical areas needed addressed. These included the following: %DMSCMD(X ESFALLOC FT25FOOl OEST(&OEST) RECFM(FBA) LRECL(l33),WlD=P) PROC PRINTTO UNIT=25; RUN; %END; %ELSE%OO; OM "PGM"; 1) Ability to drilldown from extended tables with scrolling 2) Imitation of the current corporate system for printing 3) Creation of charts and graphs. 110 OM "X ESFALlOC FT25FOO1 DEST(&DES1) RECFM(FBAl LRECL(133)"; PROC PRINTTO UNIT=25; RUN; %END; %MEND LPRTON; RUN; CONCLUSION The SORC provides easy ac::c::ess to a supplier's quality performance through a user"friendly information system that integrates SAS software. By employing point-andclick drilldown capabil~y, the user is relieved from memorizing the screens required to ac::c::ess supplier data. The result is a comprehensive information system that eliminales the need for users to program. This allows the time and provides the information necessary for the Supplier OualHy and Purchasing departments to ac::c::omplish their primary task of analyzing supplier qual~ performance. %MACRO LPRTOFF; %IF %SUBSTR(&sYSVER,1,1)=5 %THEN %00; PROC PRINTTO; RUN; %DMSCMD(X FREE DD(FT25FOO1l,WlD=Pl RUN; %END; %ELSE%DO; PROC PRINTTO; RUN; OM 'X FREE DD(FT25FOO1)'AF; RUN; %END; %MEND LPRTOFF; RUN; ACKNOWLEDGMENTS My sincere thanks are extended to members of Caterpillar Corporate and Facil~y Information Center Services who support SAS software. Their help and guidance made the development of this system possible. The LPRTON macro opens a file and uses PROC PRINTIO to route output to the file. The LPRTOFF macro routes the file to the local printer. SAS, SAs/ACCESS, SAS/AF, SAS/CONNECT, SASIGRAPH, and SAS!SHARE are registered trademarks of SAS Inst~ute Inc. in the USA and other countries. OB2, OMF, and OS/2 are registered trademarks or trademarks of Intemational Business Machines Corporation. ® indicates USA registration. To route the information to the high speed mainframe printer, job control language is created for running a batch job along with a copy of the SAS data set used to create the report. The copy of Ihe data set is created within a SAS data library that has been allocated using SASISHAR~ software. This allows the batch job to be run at any time w~hout affecting the application. Charts and Graphs Besides reports, the system can also generate horizonlal bar charts, line charts, and pie charts for receipt and/or rejection data and delivery performance. Based on the user's terminal, the graphics display as high resolution or character. The user can route these graphs to a local printer and receive character graphics output or to the high speed mainframe and receive black and wh~e high resolution graphics output. PORTING TO PERSONAL COMPUTER PLATFORMS SORC was easily transported to both Microsoft Windows and OS/ZO using SAs/CONNEC~ to move SAS catalogs and part~ioned data set members from the MVS environment. After the transport of the application, minor modifications were required to the Screen Control Language to allow SASlCONNECT remote ac::c::ess to the data. The major benefrts gained by using the SAS System for personal computers are reduced usage of mainframe resources and improved graphics output by having ac::c::ess to attached personal computer output devices. Unfortunately, response time is longer when downloading large data sets. 111