IMPORT to memory id with field exit
hi everyone, i need your help, i'm import to memory/export with field exit, I must capture a data of ik11, from table IMRG... this is the code:
FUNCTION FIELD_EXIT_IMRC_MDOCM.
DATA: V_MDOC LIKE IMRG-MDOCM.
EXPORT V_MDOC TO MEMORY ID 'DOC'.
ENDFUNCTION.
And the field exit where capture the data and import to memory:
FUNCTION FIELD_EXIT_IMRC_CNTRC.
GET PARAMETER ID 'IPT' FIELD V_POINT.
IMPORT V_MDOC FROM MEMORY ID 'DOC'.
MESSAGE E001(ZEXITS_PRUEBAS) WITH V_MDOC.
ENDFUNCTION.
I proof with message, 'cause i can't use a break, really?!!!!
Please help me!
Thanks.!
Hi Jimena,
I remember a field exit being connected to a data element and program screen (dynpro). The field exit is processed when the screen field is processed by dynpro processor. But I do not see the screen field's value being exported to memory.
The reason you can't put brekpoints is that actually the code is triggered by dynpro processor not abap runtime environment.
If you want to proove thecode beeing executed, you can write info to file.
SAP does not actively support field exits since a couple of releases. Are you sure this still works?
You could try to find a BADI: Use the method I found at SDN some time ago:
Follow the below steps to find out what all BADI's are called when you press any button in any transaction.
1) Goto se24 (Display class cl_exithandler)
2) Double click on the method GET_INSTANCE.
3) Put a break point at Line no.25 (CASE sy-subrc).
Now
4) Execute SAP standard transaction
5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
7) This way you will find all the BADIs called on click of any button in any transaction.
Regards,
Clemens
Similar Messages
-
Can any one tell me how to work with field exit????
Hi
Can any one tell me how to work with field exit I know how to create them. I want to know how it works. Actually I want to create a field exit for T-CODE MIRO. Where I want to put the value ebeln of the PO Reference tab into the Assignment of details tab and make Assignment field disable.
Thanks in advanceHi,
Follow the Steps,
1. Go to CMOD transaction
2. From the menu "GOTO->TEXT ENHANCEMENTS->DATA ELEMENTS- ->NEW DE CUST DOCU".
3. In the displayed box specify the data element and
press either "CHANGE" or " Ref to screen" button
4. CHANGE button is for defining the documentation
5. "Ref. to screen" if for assigning the screen in which
a field has the this type data element.
Note: You should have used this data element for a
field in that screen.
6. Now it will ask for Function Module name, specify the
FM name and double click it. It will go to the editor.
7. Now using the Import parameters code accordingly
8. Activate and go back
9. Now "Assign the created program ( that is FM) to the
screen by specifying the Program name and Screen
number.
10. Now save and activate.
Note: No need to create a separate project for creating field exit through transaction CMOD.
I hope this is suffice.
Regs,
Venkat Ramanan -
I have created an field exit through a program RSMODPRF. The requirement is that I have to change the type of screen field from CHAR to NUMC. That I have already done, but how to validate the felid if the user enters the character values or how to prevent user not to use character values.
I don't understand your problem. I'm in 4.7 and made small test:
REPORT ztest.
TABLES wlk1.
PARAMETERS p_lfdnr like wlk1-lfdnr.
I even can't type in any characters - that's already handled by GUI!
Field-exits (even with RSMODPRF) will not be available in future release - if possible (and necessary) make your checks in a user-exit.
Regards,
Christian -
Hi Gurus
i have a problem, in MM01/MM02(Basic data1) there is field called Prod.hierarchy(dataelement is prodh_d), for this data element how to create and change Field Exits and how to assign to MM01/MM02 Tcode.
the code part i have to write is
1. To validate MARA-PRDHA field length (field exit can handle this). the field length should be 18 char.
2.Copy the value of MARA-PRDHA to MVKE-PRODH (the code of the field exit above, you can do field-symbol technique to transfer value from mara-prhda to mvke-prodh).
plz. do the needfull information with all the steps with codeASAP.
I am using Ecc 6.0 Version.
Thanks & Regards,
Sudheer.Hello,
If you want to create a user exit execute report RSMODPRF with out parameters and create the FM to the field you need, and active it.
But before doing that, check if there is a user exit or badi implementation availavle, it will be a better solution.
Check for instance, the following:
USER EXIT
MGA00001 Material Master (Industry): Checks and Enhancements
MGA00002 Material Master (Industry): Number Assignment
MGA00003 Material Master (Industry and Retail): Number Display
Business Add-in
BADI_EAN_SYSTEMATIC BAdI for Internal Control of EAN Logic
WRF_DISCONT_PARAMS_I BAdI: Parameters in Fashion Discontinuation
WRF_DISCONT_FACT_E BAdI: Follow-Up Actions in Discontinuation
WRF_DISCONT_CHECKS_I BAdI: Scope of Check in Material Reorganization
MG_MASS_NEWSEG User-Specific Fields & Segments in Mass Maintenance
MATGRP_SKU_UPD BAdI for Article Hierarchy Connection
CDT_CHECK_MATERIAL Checks for Existence of a Material in a CDT
BADI_MM_MATNR Modification-Free Archiving Enhancement of MM_MATNR
BADI_MAT_F_SPEC_SEL BAdI for Material Special Field Selection
BADI_MATNR_CHECK_PVS Check Material for Use in iPPE
BADI_MATERIAL_REF Addition of customer-defined default data for material
BADI_MATERIAL_OD Integration of New Objects in Material or Article Master
BADI_MATERIAL_CHECK Enhanced Checks for Material Master Tables
BADI_GTIN_VARIANT User Exit for Customer-Specific GTIN Variant Check
Hope this helps,
Dont forget to reward. -
How could I work with them?
Yes you can.
SE 38 --> Prog RSMODPRF
http://www.sapdevelopment.co.uk/enhance/fexits.htm
But Have a look at OSS note 29377 as well:
Symptom
Problems and questions concerning field exits
Other terms
FAQ, Q+A, SMOD/CMOD, field exits
Reason and Prerequisites
Note
Field exits are frozen on the 4.6C maintenance level and are not further developed. This means that the existing functionality is kept with all restrictions (see also the last item below). Existing exits can be further used and are called at runtime as usual.
Existing exits can be maintained using program RSMODPRF (run the
program using transaction SE38). Activation of the field exits and
assignment of the dynpros can also be carried out using program
RSMODPRF. For this purpose, the program must be started without
parameters (input fields remain blank).
If required, new field exits can be created using program
RSMODPRF (see the program documentation).
Solution
1. Field exit was created with CMOD, but is not processed when calling the screen.
Since the field exit is not processed until PAI, an action must be triggered on the screen (Return, Save, ...).
Set profile parameter abap/fieldexit to YES and restart the system.
After activating the function module FIELD_EXIT... and the field exit, leave the transaction on whose screen the field exit is to be executed. The screen is not generated until the transaction is started.
Do not work on different application servers since there may be some delay before the field exit is activated.
The profile parameter must be set on all or none of the application servers.
If the field exit is to only be active on specific screens, check whether you chose the correct program and the correct screen number (take care with subscreens).
Generate the screen on which the exit should be active using SE51. It is possible that it was not correctly generated. If you want to be sure that all screens that use the data element are regenerated, you can transfer Report rsmodfdg from the correction instructions and start it with SE38. The Report uses the affected data element as the input parameter and regenerates all screens that use the data element.
Using SE51 -> Field list, check that the screen field does have a reference to a data element. In the name of the field exit, use the name of the data element and not the field name.
After transport, field exits are marked as active but will not be processed. Tip: First try deactivating the field exit once more and then activate it again.
2. How is performance affected by setting abap/fieldexit?
If a screen is generated and the profile parameter is set, a check is run on 2 tables (TDDIR, TDDIRS) to see whether a field exit must be generated for the respective field. In practice, the screen load is not generated until the screen is selected after an update. The user should not notice any difference because screen generation is very fast.
3. Can you read the contents of other screen fields in the field exit?
In principle, every field exit can store its value in the global variables of the function group (TOP) and hence make them available to other field exits. Note here that field exits are always called, not only if an entry is made in the field or if the field is empty. In addition, it is not possible to make any assumptions about the order in which the field exits will be called in the future.
4. How does the field exit behave on step loop fields ?
After the user has entered data, the field exit is called in PAI as often as there are visible fields in the step loop. The system variable SY-STEPL is incremented each time. If a new value is assigned to the field, it is displayed in the module between LOOP and ENDLOOP. This module is also called once for each visible step loop line.
5. Can field exits be debugged ?
No. Field exits must be tested separately in the ABAP/4 Development Workbench. For errors which only occur in the screen environment, it is helpful to write interesting variables to the file system using TRANSFER... . These can then be analysed there.
6. What can you do if the field contents are no longer transported to ABAP/4?
Check whether a value is assigned to the field OUTPUT.
7. When is the field exit called if a conversion exit is attached to the data element?
The field exit is called after the conversion exit. This means that the INPUT field receives the data in the same format as the ABAP/4 program receives it.
8. Although a global field exit is inactive, a function module is called which does not exist (for example FIELD_EXIT_PROGRAMM_@). This can lead to an ABAP dump error when function module FIELD_EXIT_<data element name> is called.
This is an error in the kernel which no longer occurs as of Release 3.0C. As a temporary measure, it is useful to assign a program and a screen which do not exist to the field exit and then activate the field exit.
Due to performance reasons, the active/inactive indicator is stored in the screenload. This can cause inconsistencies between Source and Load. Generate the affected screen with se51. If you want to be sure that all screens that use the data element are regenerated, you can transfer Report rsmodfdg from the correction instructions and start it with se38. The Report uses the affected data element as the input parameter and regenerates all screens that use the data element.
9. Field exit is not visible in CMOD, although created.
If you want to create a field exit for a data element, a function module is proposed with the name FIELD_EXIT_<data_element>. This function module must exist for the field exit to work. If you do not create this function module, but do create one with a suffix, the data element is not displayed in CMOD.
10. Field exit is not executed although it is active.
Fields which do not have the 'Input field' attribute usually do not trigger a field exit. The field exit is designed to allow an extended input check. It is therefore only called for input fields - even if they are not ready for input at runtime of the application by LOOP AT SCREEN.
This rule does not apply, however, if the field is located within a steploop. Here the field will be always activated, even if it is invisible.
Field exits can only be executed for fields that are directly related to the dictionary. If the relation is indirect, i.e. via an ABAP declaration (<fieldname> LIKE <dictionary element>), no field exit can be executed.
11. Field exits do not work on selection screens.
Results from the previous item since ABAP-internal fields and never the original Dictionary fields are used on selection screens.
12. Field exists do not work on check buttons.
Field exits are only intended for input fields. As check buttons count as graphical elements, you cannot install field exits on them.
13. How can all screens that use a data element be generated?
If you want to be sure that all screens that use a specific data element are regenerated, you can transfer Report rsmodfdg from the correction instructions into a customer report (e.g. zsmodfdg). The Report regenerates all screens. In this way, you can ensure that active field exits refer to screens and that inactive exits cannot be called on any screen. The Report uses the affected data element as the input parameter. The affected data element is in the name of the exit: FIELD_EXIT_<data element name>.
14. Restriction of usage
Field exit technology was developed for input fields on dynpros and cannot be used for other/new dynpro elements. This means that this technology does not offer support for the new ScreenPainter elements such as graphical elements (e.g. checkbuttons, radiobuttons, dropdown listboxes), controls (except for table controls which are supported like a step loop), or selection screens.
Erwan -
I abap expert...
I have a problem with field exit for KOB1.
I created field exit for the 'Order' field, in the first screen of kob1.
data element AUFNR, screen 0110 and program RKAEP000.
AUFNR ACTIVE RKAEP000 0110 <- this my.
SAPLKACB 1007 <- already exist.
SAPLKACB 2007 <
In the FM for aufnr:
function field_exit_aufnr.
""Interfaccia locale:
*" IMPORTING
*" VALUE(INPUT)
*" EXPORTING
*" VALUE(OUTPUT)
output = input.
message e000(zo) with 'bella'.<-this message no work
Someone help me? i forget or wrong something?
Thank youyou can check if it is active running RSPARAM program in SE38 transaction . YOu have to find abap/fieldexits in parameters name. There must by 'YES' value in user defined vales column (second one). I dont know if you can do it by yourself it depends of your authorisations. Bu there is one warning. After setting value to yes you have to restart your whole system !!! , to have it working.
BR, Jacek
P>S plese reward helpful answers
have you activated your field exit ?? (chec using RSMODPRF
- program)
ANd opne more question - are you testing it on your develpment system ?? ora after transporting to otehr system ??
Message was edited by: Jacek S³owikowski
Message was edited by: Jacek S³owikowski -
Field exit for VA02 / for GOTO- HEADER- SHIPPING
Hello ,
Please help me out with field exit for GOTO->HEADER->SHIPPING in VA02 transaction .
I have to check if the shipping condition enetered against values in TVARV variable .
If unequal i need to display a warining messge .
But the requirement is it needs to be checked against field exit .
Thanks ,
RahulDear Sheo
I know OMJN can set the material Slip mandatory. but my question is how to seperate by company code.
for example:
company code D001 mandatory
company code D002 Input
regards,
Yang -
Adding a Search Help to a Field Exit
Hi!!!.
I have a little doubt with field exits.
I have just created a field exit for field BEDNR. The next thing I'd have to do is to assign the same help search used for LFA1-BRSCH field ( H_T016 Search Help ) in field exit's function module.
The question is: How can I do that?. Does anyone have a clue of a function to retreive the values of that search help?. Could anybody tell me how should I do that?
Thaaaaanks in advance!
RaúTry function module F4IF_FIELD_VALUE_REQUEST and fill in tabname with 'LFA1', fieldname with fieldname, search help with name of search help('H_T016') and the field you are searching on in shlpparam which must be one of the parameters in the search help you heve entered.
Hope this helps
Regards
Larissa Maryniuk -
Increasing length of equvalnce number (BADI/field exits)
Hi friends,
Currently I have one requirement in which
I need to increase the length the Equivalnce number which is present on Apportonment to Co-products tab on Costing tab of material master.
Path for same is given below,
"<b>Material Matser</b>" screen >> "<b>Costing1</b>" Tab >> Click on "<b>Joint Production</b>" Button (it will bring to Cost Apportonment to Co-products:Apportionment Structures screen ) >> Click on "<b>Equivalnce Numbers</b>" ( it will bring to Cost Apportonment to Co-products:Equivalnce Numbers screen)
Currently length of euivalncve number (last column) is 3 as standard,In my requirnment I will have to increase the length.
How it could been done ? With field exits or BADI.
Regards,
AmitHi,
SAP provides as 18 charcter by default.
You can even use the reference field of House bank to put extra digits.
Account number BANKN - 18 + Reference info REFZL - 4.
While exporting the data use functional module CONVERT_HOUSEBANK_ACCOUNT_NUM and pass data in this.
This solution is valid only where you have new developments but need to check SAP standard reports for the flexibility.
John -
Hello all,
I am trying to display a list of values as a popup from with in a Field Exit. But i am getting a short dump saying CALL SCREEN is not allowed in this form.
I have tried FMs like REUSE_ALV_POPUP_TO_SELECT, POPUP_WITH_TABLE_DISPLAY to get the popup but i am getting this short dump. Any ideas to get around this....Hi Raju,
When you're working with field exit some statements are not allowed, such as:
- break-point;
- CALL.....;
- SUBMIT;
- COMMIT WORK/ROLLBACK WORK;
- STOP, REJECT,
- Message I, Message W
best regards,
Aline -
How to find EXPORT MODE of MEMORY ID with ref to IMPORT MODE of MEMORY ID
HI ,Friends,Iam not able to find Export memory ID with ref to available IMPORT Memory ID in particular SD routine of a program.
Plz let me know how to find Export Memory ID reference program with available import memeory ID as I need to do changes for exiting routine program done by somebody .As it's an SD routine probably the simplest way is to set a breakpoint on the keyword 'EXPORT' when you first enter the transaction. May need to skip a few but eventually you will come across the correct one. When you do find it I would also suggest placing a comment on the IMPORT statement to say where the value has come from for future reference.
-
Export to memory" (bukrs) in one user exit and import to memory in other.
I have to "export to memory" (bukrs) in one user exit and import to memory in other.
Does anyone has an examplein one user exit:
EXPORT field TO MEMORY ID 'Z_BUKRS'.
in another user exit:
IMPORT field FROM MEMORY ID 'Z_BUKRS'.
what is the problem? -
How To Import Into A Table with Multi-Value Fields
Hello:
I have a table with a multi-value field that contains states in which a company does business. It is multi-value because there can be more than one state. I tried to import a text tab-delimited file in which the data was arranged as follows:
Field1 Tab Field 2 Tab OR, WA, CA Tab
The "State field contained the multiple entries separated by a comma (like they appear in a query of the multi-value field), but it won't accept it. Does anyone know how to import into a multi-value field?
Thanks,
Rich Locus, Logicwurks, LLCJoana:
Here's the code I used to populate a multi-value field from a parsed field. The parsing routine could be greatly improved by using the Split function, but at that time, I had not used it yet. FYI... the field name of the multi-value field in
the table was "DBAInStatesMultiValue", which you can see in the example below how it is integrated into the code.
Option Compare Database
Option Explicit
Option Base 1
Dim strInputString As String
Dim intNumberOfArrayEntries As Integer
Dim strStateArray(6) As String
' Loop Through A Table With A Multi-Value Field
' And Insert Values Into the Multi-Value Field From A
' Parsed Regular Text Field
Public Function InsertIntoMultiValueField()
Dim db As DAO.Database
' Main Recordset Contains a Multi-Value Field
Dim rsBusiness As DAO.Recordset2
' Now Define the Multi-Value Fields as a RecordSet
Dim rsDBAInStatesMultiValue As DAO.Recordset2
' The Values of the Field Are Contained in a Field Object
Dim fldDBAInStatesMultiValue As DAO.Field2
Dim i As Integer
' Open the Parent File
Set db = CurrentDb()
Set rsBusiness = db.OpenRecordset("tblBusiness")
' Set The Multi-Value Field
Set fldDBAInStatesMultiValue = rsBusiness("DBAInStatesMultiValue")
' Check to Make Sure it is Multi-Value
If Not (fldDBAInStatesMultiValue.IsComplex) Then
MsgBox ("Not A Multi-Value Field")
rsBusiness.Close
Set rsBusiness = Nothing
Set fldDBAInStatesMultiValue = Nothing
Exit Function
End If
On Error Resume Next
' Loop Through
Do While Not rsBusiness.EOF
' Parse Regular Text Field into Array For Insertion into Multi-Value
strInputString = rsBusiness!DBAInStatesText
Call ParseInputString
' If Entries Are Present, Add Them To The Multi-Value Field
If intNumberOfArrayEntries > 0 Then
Set rsDBAInStatesMultiValue = fldDBAInStatesMultiValue.Value
rsBusiness.Edit
For i = 1 To intNumberOfArrayEntries
rsDBAInStatesMultiValue.AddNew
rsDBAInStatesMultiValue("Value") = strStateArray(i)
rsDBAInStatesMultiValue.Update
Next i
rsDBAInStatesMultiValue.Close
rsBusiness.Update
End If
rsBusiness.MoveNext
Loop
On Error GoTo 0
rsBusiness.Close
Set rsBusiness = Nothing
Set rsDBAInStatesMultiValue = Nothing
End Function
Public Function ParseInputString()
Dim intLength As Integer
Dim intStartSearch As Integer
Dim intNextComma As Integer
Dim intStartOfItem As Integer
Dim intLengthOfItem As Integer
Dim strComma As String
strComma = ","
intNumberOfArrayEntries = 0
strInputString = Trim(strInputString)
intLength = Len(strInputString)
' Skip Zero Length Strings
If intLength = 0 Then
Exit Function
End If
' Strip Any Leading Comma
If Mid(strInputString, 1, 1) = "," Then
Mid(strInputString, 1, 1) = " "
strInputString = Trim(strInputString)
intLength = Len(strInputString)
If intLength = 0 Then
Exit Function
End If
End If
' Strip Any Trailing Comma
If Mid(strInputString, intLength, 1) = "," Then
Mid(strInputString, intLength, 1) = " "
strInputString = Trim(strInputString)
intLength = Len(strInputString)
If intLength = 0 Then
Exit Function
End If
End If
intStartSearch = 1
' Loop Through And Parse All the Items
Do
intNextComma = InStr(intStartSearch, strInputString, strComma)
If intNextComma <> 0 Then
intNumberOfArrayEntries = intNumberOfArrayEntries + 1
intStartOfItem = intStartSearch
intLengthOfItem = intNextComma - intStartOfItem
strStateArray(intNumberOfArrayEntries) = Trim(Mid(strInputString, intStartOfItem, intLengthOfItem))
intStartSearch = intNextComma + 1
Else
intNumberOfArrayEntries = intNumberOfArrayEntries + 1
intStartOfItem = intStartSearch
intLengthOfItem = intLength - intStartSearch + 1
strStateArray(intNumberOfArrayEntries) = Trim(Mid(strInputString, intStartOfItem, intLengthOfItem))
End If
Loop Until intNextComma = 0
End Function
Regards,
Rich Locus, Logicwurks, LLC
http://www.logicwurks.com -
Importing into Address Book with Custom Fields from a Text File.
Hello
I'm a teacher and like to create contacts for my students. The information that I want in each contact besides their name, email address and phone number are their
student id's, semester enrolled, class number and class title. For these four fields I create a "Custom" field with the appropriate names: "ID", "Term", "Course" and "Class" respectively.
All this information I can download from the school's server in a CSV file.
To import the information into Address Book, I choose "File -> Import -> Text File" and then select the CSV file that I downloaded. The import utility opens up correctly showing all the fields I would like to import, however, many of the fields are marked as "Do not import." When I click on that term to select my Custom fields, they do not show up. Is this a bug or "feature" of the Address Book? It seems to me that if you are allowed to create useful custom fields, you should be able to import data into them as well.
If I'm just ignorant of how to do this, I would appreciate some help. If there is no way to currently do this efficiently, it would be nice to have this feature added to the Address book in the near future.
Thanks for your consideration,
GaryThanks for posting your question and the reply from rojok...
I'm a teacher as well - in Entourage I was able to just copy a column of email addresses (say from an Excel spreadsheet, downloaded from the school's server here at U MD) and then create a group and simply paste that list into the group. Address Book makes you do the extra step of importing all the addresses first. (Note: Your last imported list of contacts in this manner shows up as "Last Import" in the groups lists column to the left in Address Book - so to add contacts to a Group there, you select that Last Import group, click once in that list column one contact, say, then select all of the list - then Command + A, for select all - then drag them all to your group you've made - i.e. "MySpringClassList"). This is NOT very intuitive I might add and incredibly cumbersome of a process.
To get around the customizable info I needed to import... I just chose options that I don't regularly use for those things I needed to import - i.e. student I.D., these I placed under "ICQ Other" - that way they're imported at least.
Good luck,
Andrew -
Field Exit with DYNP_VALUES_UPDATE
Hello, I am trying to develop a validation in a SAP transaction (XD01) to check some field values and if them are right then fill automatically the rest of the field in the screen, using a Function Modulo and the FM DYNP_VALUES_READ I am able to retrieve the field values correctly, my problem is when a try to fill the rest of the screen's fields with FM DYNP_VALUES_UPDATE it doesn't work. Does anybody have used this FM? is possible what I am trying to do?
Thanks in advice for your help.Hi Fernando,
Using Field exit we can't populate multiple fileds, One filed exit is applicable for only one input filed.If you want to implement the
filed exit for multiple fileds you have to implement the one exit for one filed.
Regards,
Mahender Reddy
Maybe you are looking for
-
My iphone screen has gone completely blank I have tried holding down both the sleep and home buttons and nothing has happened and I have tried to connect it to my laptop but itunes will not recognise, what can I do ?
-
Yesterday I did an update on software to get the facetime to work. It downloaded along with eight other updates an Itunes update now I cannot even get Itunes to open I am now completely frustrated Now two applications are not working. Help
-
Display PO item text before save
Need to display item text of Purchase Order in print preview before the PO is saved. How do I achieve this. When PO is saved Iable to get the Item text using FM : Read_Text. I have searched the thread mentioned solutions donot satisfy my requirement.
-
Special characters in iPhone.
Hello, I'm trying to write a street address in a contact but, when it arrives at the door number + the floor number I need to write the 'º' character (e.g. nº 14/ 2º Direito) does anybody knows how can I do that?
-
Color issues in Mountain Lion with Acrobat Pro
I'm not sure I'm in the right forum, but here it goes. Since upgrading my OS to Mountain Lion, I've noticed when viewing PDFs output from InDesign 5.5 that once in Acrobat Pro the colors look muted and inaccurate. I never saw this in Snow Leopard,