Seeking to fetch thcorrect  sales text and comment for a material number

Ladys and Gents,
Currently I have the problem to fetch correct sales text and comment text on the data base for a certain material.
For this purpose I’ll  can use the CALL FUNCTION 'READ_TEXT' as bellow which works quite good. I just have to call it two time, once for the sales text and next time to fetch the comment text. But first I need to know for which languages a sales text is maintained before I call this function and give the language as an input like ‘E’. I would be very thankful for any comments.
/Kam
PS:
CALL FUNCTION 'READ_TEXT'
      EXPORTING
        ID                                                   = '0001'
        LANGUAGE                                    = 'E'
        NAME                                            = l_tdname          “that contains mat.Number
        OBJECT                                         = 'MVKE'
      TABLES
        LINES                                            = i_sales_text       “contains the return text
      EXCEPTIONS
        ID                                                  = 1
        LANGUAGE                                   = 2
        NAME                                            = 3
        NOT_FOUND                                  = 4
        OBJECT                                         = 5
        REFERENCE_CHECK                     = 6
        WRONG_ACCESS_TO_ARCHIVE    = 7
        OTHERS                                         = 8.

hi check this...
http://help.sap.com/saphelp_nw04/helpdata/en/e0/7846ec17e111d2b429006094b944c8/frameset.htm
regards,
venkat

Similar Messages

  • Sales text and config for a material

    Hi,
    I need to know on which table are the maintained Sales text, languages and configuration for a material are stored on R/3
    Thanks for any comments
    Kamran

    Hi vahed kamran,
    As said by Aparna, the text are stored in table STXH. we need to fetch them by using the fields
    TDOBJECT     Texts: Application Object
    TDNAME             Name
    TDID             Text ID
    TDSPRAS             Language Key
    we can use READ_TEXT Function module to get the text.
    For Example
    CALL FUNCTION 'READ_TEXT'
      EXPORTING
           ID = '0001'
           LANGUAGE = 'E'
           NAME = XNAME
           OBJECT = 'VBBP'
      TABLES
           LINES = i_XTLINE
      EXCEPTIONS
          ID = 1
          LANGUAGE = 2
          NAME = 3
          NOT_FOUND = 4
         OBJECT = 5
        REFERENCE_CHECK = 6.
    Best regards,
    raam

  • Sales text and  Purchase Order Text

    Hi,
    in what tables are stored Sales text and Purchase Order Text of the material master ?
    Best Regards

    Hi
    All long text is stored in STXH and STXL.
    Object is MATERIAL.
    Text-Id for basic data text is GRUN
    Text-Id for purchase order text is BEST
    For sales order text it is text object MVKE with text-id 0001
    Go to SE37 function builder. Enter READ_TEXT and do a single test ( F8 )
    Enter your parameters and execute. Example below.
    NAME is a comibation of materialnumber (00000000008000000)WITH leading zeros
    if numeric and sales org (1000) plus distribution channel (10)
    Import parameters - Value
    CLIENT - 010
    ID - 0001
    LANGUAGE - E
    NAME - 000000000008000000100010
    OBJECT - MVKE
    ARCHIVE_HANDLE - 0
    LOCAL_CAT
    Just for future reference with regards to getting text id's etc.
    eg: PO texts.
    --> Go into the material master PO text
    --> Double click into the required text.
    --> Click the "GO TO" menu option.
    --> click Header.
    and all the info you need is there.
    Thanks..

  • Uploading sales text and Purchase order text for material master

    Hi,
      I have created, material master with LSMW  byt not updated SALES TEXT and Purchase order text with LSMW  now i want to uplaod the sales and po text for material master can you give some link or ref. code to upload the text i have near 1000 items for which i want to uplaod text  when i have done the recording with SHDB  i have not found filed in recording.
    regards,
      zafar

    Hi,
    I have made the code in se38
    as below but still it is not working
    REPORT  ZTEST_TEXT.
      data: headerl like thead occurs 0 with header line.
      data itab3 like tline occurs 0 with header line.
    headerl-tdobject = 'MATERIAL'.
    headerl-tdname = '00000000000LSMW123'.          "(Material : 000000000300000560, Sorg : 0001, Dist channel: 01)
    headerl-tdid  = 'BEST'.
    headerl-tdspras = 'E'.
    append headerl.
    move '*' to itab3-tdformat.
    move 'Testing PO text' to itab3-tdline.
    append itab3.
    call function 'SAVE_TEXT'
      exporting
        header                = headerl
      insert                = ' '
       savemode_direct       = ' '
      tables
        lines                 = itab3
    exceptions
       id                    = 1
       language              = 2
       name                  = 3
       object                = 4
       others                = 5.
       IF SY-SUBRC = 0.
         CALL FUNCTION 'COMMIT_TEXT'
           EXPORTING
                OBJECT   = headerl-tdobject
                NAME     = headerl-tdname.
       ENDIF.
       break-point.
    regards,
    zafar

  • How to download material sales text and purchase order text information

    Here is situation:
    goto MM03 transaction,
    Take any material -- and select below views
    1. sales text
    2. purchase order text
    i have to write the download program with the sales text and purchasing text information of all the materials.
    could you pls tell me in which table I will get all the above sales text and purchase order text infrmation.
    I think it will store in standard text. I checked STXH table also for getting information text object, text id, text name, language, etc.
    If anybody knows .. please share.
    Thanks in advance.
    Regards
    Raghu

    Declare internal tables as follows: - An example
    TYPES: BEGIN OF TY_PO_LINES,
         INCLUDE STRUCTURE TLINE.
         END OF TY_PO_LINES,
         TY_PO_LINES_T TYPE STANDARD TABLE OF TY_PO_LINES.
    TYPES: BEGIN OF TY_PO_TEXT,
           TDOBJECT TYPE TDOBJECT
           TDNAME TYPE TDOBNAME,
           TDID TYPE TDID,
           SPRAS TYPE SPRAS,
         TDLINES TYPE TY_PO_LINES OCCURS 0,
         END OF TY_PO_TEXT,
         PO_TEXT_T TYPE STANDARD TABLE OF TY_PO_TEXT.
    DATA: PO_TEXT TYPE TY_PO_TEXT_T
    PO text:
    Looping at your internal table which consists of PO number,
    SELECT TDID TDSPRAS FROM STXH INTO A INTERNAL TABLE say PO_TEXT
    TDOBJECT = EKKO "PO Header Text
    TDNAME = PO NUMBER
    SELECT TDID TDSPRAS FROM STXH INTO A INTERNAL TABLE say PO_TEXT
    TDOBJECT = EKPO "PO line item text
    TDNAME = PO NUMBER
    ENDLOOP
    Looping at PO_TEXT
    CALL FUNCTION 'READ_TEXT'
      EXPORTING
         ID = PO_TEXT-TDID
         LANGUAGE = PO_TEXT-TDSPRAS
         NAME = PO_TEXT-TDNAME
         OBJECT = PO_TEXT-TDOBJECT
      TABLES
         LINES = PO_TEXT-TDLINES
    ENDLOOP
    Follow the same above logic for material with suitable TDID you need to extract
    Hope this helps,
    SKJ

  • Sales text And PO text

    Hi friends,
    Please somebody tell me what is sales text and Purchase order text???and why these are used???

    Hi Reema ,
                     The usage of texts in SAP is very generic and it is used for all entities and documents . For example the texts exist for Vendor master / CUstomer master and in Sales as well as Purchase orders at item and header level .The long texts are used to maintain certain informative texts which the user wants to have and major benefit is that the additional long texts can be provided to the user through functional customising in IMG - SPRO you do not need any ABAP exit or enhancement for this.
    Now you can maintain these texts programatically using the FM :
    CREATE_TEXT
    SAVE_TEXT
    while you can read the existing texts using the FM ' READ_TEXT' .
    For this purpose you can also go thru this blog /people/deepak.bhalla/blog/2005/01/24/storing-and-retreiving-of-texts .
    I am giving extract from same below :
    Please let me know if you need anything further on this .
    There are following ways of storing text in SAP.
    1. Using Text Object and Text ID
    2. Using Standard text with placeholders
    <U>1. Using Text Object and Text ID:</U>
    I am assuming that we already have a data in structure required by function module save_text for tables paramenter lines.
    1. Use Transaction SE75 to create Text Object and Text ID.
    2. Choose first radio button Text Object and ID's
    3. Click at create. It will create Text Object.
    4. Create Text ID for Text Object.
    Now this created Text ID and Text Object can be used to Save and Retreive texts using following function module.
    CALL FUNCTION 'ZSAVE_READ_TEXT'
    EXPORTING
    Save_read_indicator = 'X'
    header = p_header
    TABLES
    lines = p_line.
    Exporting parameter Save_read_inidcator type char1. default 'X' for Save.
    Header should be of type thead
    Tables parameter lines should be of type tline.
    Header values should be populated as follows.
    p_header-tdobject = name of the text object created.
    p_header-tdname = It can be any Unique name.
    p_header-tdid = name of text id created.
    p_header-tdspras = sy-langu.
    p_header-tdtitle = title of text.
    Table P_lines will contain all data that is to be saved.It may be through Text control.
    call function module save_text as follows to Save text.
    If save_read_indicator = 'X'.
    CALL FUNCTION 'SAVE_TEXT'
    EXPORTING
    client = sy-mandt
    header = p_header
    IMPORTING
    FUNCTION =
    NEWHEADER =
    TABLES
    lines = p_line
    EXCEPTIONS
    ID = 1
    LANGUAGE = 2
    NAME = 3
    OBJECT = 4
    OTHERS = 5.
    ELSE.
    CALL FUNCTION 'READ_TEXT'
    EXPORTING
    CLIENT = SY-MANDT
    ID = TEXT_ID
    LANGUAGE = SY-LANGU
    NAME = Same as TDNAME in Save_text
    OBJECT = TEXT_OBJECT
    TABLES
    LINES = LI_LINE
    EXCEPTIONS
    ID = 1
    LANGUAGE = 2
    NAME = 3
    NOT_FOUND = 4
    OBJECT = 5
    REFERENCE_CHECK = 6
    WRONG_ACCESS_TO_ARCHIVE = 7
    OTHERS = 8.
    Endif.
    <U>2. Using Standard text with placeholders</U>
    Here I am assuming that for all placeholders we will have value availble.
    1. Maintain standard text with place holder using transaction SO10.
         for example :
              Dear &1,
              Your purchase requisition &2 was approved on &3 .
    2. Use following following function module to read Standard text.
    CALL FUNCTION 'READ_STDTEXT'
    EXPORTING
    id = 'ST'
    language = sy-langu
    name = name of standard text
    USE_AUX_LANGUAGE = ' '
    USE_THRUCLIENT = ' '
    LOCAL_CAT = ' '
    IMPORTING
    HEADER =
    TABLES
    lines = p_std_text
    EXCEPTIONS
    ID = 1
    LANGUAGE = 2
    NAME = 3
    NOT_FOUND = 4
    REFERENCE_CHECK = 5
    OTHERS = 6.
    3. Use following code to replace Placeholders returned in table p_std_text.
    Loop at p_std_text.
      SEARCH p_std_text-tdline FOR '&1'.
      IF sy-subrc = 0.
        REPLACE '&1' WITH p_name INTO p_std_text-tdline.
      ENDIF.
      SEARCH p_std_text-tdline FOR '&2'.
      IF sy-subrc = 0.
        REPLACE '&2' WITH p_name INTO p_std_text-tdline.
      ENDIF.
      SEARCH p_std_text-tdline FOR '&3'.
      IF sy-subrc = 0.
        REPLACE '&3' WITH p_name INTO p_std_text-tdline.
      ENDIF.
      MODIFY p_std_text.
    Endloop.

  • Is there a mobile device for just text and games for a child?

    is there a mobile device for just text and games for a child?

    iPod touch?  That's the only "iPod" that can play games (run apps).  It connects to the Internet over WiFi (not mobile carrier).  It's basically an iPhone without the phone parts.  If you get a used one, earlier models cannot run all the software available to the latest model (include the latest version of iOS).  That may be perfectly OK for a child, but you should look into and understand the imitations of older models, before getting one used or refurbished.  Apple-certified refurb iPod touch is available here
    http://store.apple.com/us/browse/home/specialdeals/ipod
    (The current version of iPod touch is 5th gen.)

  • [svn:sb-sherlock] 13663: Improved javadoc, variable names, and comments for calcCheckBits().

    Revision: 13663
    Revision: 13663
    Author:   [email protected]
    Date:     2010-01-20 09:58:41 -0800 (Wed, 20 Jan 2010)
    Log Message:
    Improved javadoc, variable names, and comments for calcCheckBits().
    Also added an assertion to enforce a pre-condition on one input.
    r=etierney+
    tests: flex checkin tests
    Modified Paths:
        flex/sdk/sandbox/sherlock/modules/compiler/src/java/flex2/compiler/CompilerAPI.java

  • What is category and subcategory for a material?

    Hi all,
            Can anyone explain about what category and subcategory for a material are?
    Thanks,
    Balaji

    category is to specify what type of material it belongs to....
    sub-category is like what is the componnent of the category for the material...
    These are category....
    00 Single material
    01 Generic material
    02 Variant
    10 Sales set
    11 Prepack
    12 Display
    20 Material group material
    21 Hierarchy material
    22 Group material
    30 Material group reference material
    These are sub-category....
    00 Single material
        10   Raw
         20  Paper
         30 Park
    etc.......

  • How To Find Opening Stock And Value For a Material

    Hi Experts,
    How To Find Opening Stock And Value For a Material  in Given Dates
    Moderator Message: Search.
    Edited by: kishan P on Sep 15, 2010 4:05 PM

    Thanks For Answering.....
    But I Need Any Function Module To Get Opening Stock And Value For Given Material With in Dates.

  • How to find classtype and class for a material.

    Hi,
    How to find classtype and class for a material.
    which table contains this data.
    Thanks
    Kiran

    Hi Kiran,
    Check below sample code. Use this BAPI which will give all info about the class for the material.
      DATA:      l_objectkey_imp    TYPE bapi1003_key-object
                                         VALUE IS INITIAL.
      CONSTANTS: lc_objecttable_imp TYPE bapi1003_key-objecttable
                                         VALUE 'MARA',
                 lc_classtype_imp   TYPE bapi1003_key-classtype
                                         VALUE '001',
                 lc_freight_class   TYPE bapi1003_alloc_list-classnum
                                         VALUE 'FREIGHT_CLASS',
                 lc_e               TYPE bapiret2-type VALUE 'E',
                 lc_p(1)            TYPE c             VALUE 'P',
                 lc_m(1)            TYPE c             VALUE 'M'.
      SORT i_deliverydata BY vbeln posnr matnr.
      CLEAR wa_deliverydata.
      LOOP AT i_deliverydata INTO wa_deliverydata.
        REFRESH: i_alloclist[],
                 i_return[].
        CLEAR:   l_objectkey_imp.
        l_objectkey_imp = wa_deliverydata-matnr.
    *Get classes and characteristics
        CALL FUNCTION 'BAPI_OBJCL_GETCLASSES'
          EXPORTING
            objectkey_imp         = l_objectkey_imp
            objecttable_imp       = lc_objecttable_imp
            classtype_imp         = lc_classtype_imp
    *   READ_VALUATIONS       =
            keydate               = sy-datum
            language              = sy-langu
          TABLES
            alloclist             = i_alloclist
    *   ALLOCVALUESCHAR       =
    *   ALLOCVALUESCURR       =
    *   ALLOCVALUESNUM        =
            return                = i_return
    Thanks,
    Vinod.

  • App for viewing mark up text and comments in Word doc

    I'm looking for an app that can edit word documents but specifically can show any mark up text or comments.  Is there such an app?

    Nope.  I researched this issue myself a while ago and did not find any app that will let you edit with Track Changes.  Best I could find was Documents to Go Premium, but there it would only show the Track Changes, not let you make new ones on further edits.
    Office2 HD is said to have track changes, but I've not used it.
    http://www.cultofmac.com/172013/office2-hd-for-ipad-adds-track-changes-and-comme nts/
    Another program is Onlive Desktop, but it is more of a remote access program to your office computer.

  • Suggestion and Comments for a w530 unit

    Hello Everyone,
    I've been using macbookpro for almost 4 years, and since I heavily use AutoCad, Sketchup and Lightroom on a daily basis it has been a bothersome to rebooth from one OS to another. I have been looking at the W530 for quite sometime and decided to make the swtich. I hope someone can enlighten me on how to go about the purcahsing of W530. From Lenovo site, i intend of getting this specification and minor upgrade of some specs:
    Lenovo w530 Intel Core i7-3940XM Processor Extreme Edition (8M Cache, up to 3.80 GHz)
    Window 7 pro 64 bit
    Lightroom 4
    15.6" FHD (1920 x 1080) LED Backlit AntiGlare Display, Mobile Broadband Ready
    NVIDIA Quadro K2000M Graphics with 2GB DDR3 
    16 GB PC3-12800 DDR3 (4 DIMM)
    500GB Hard Disk Drive, 7200rpm
    Bluetooth 4.0
    Third Party Source Items:
    Additional 2 8gb Ram, so total of 32GB 
    msata AData XPG x300 256gb 
    2.5" sata ssd 512gb
    Hard drive caddy from new mode us. com
    Questions:
    1.   If in case, I need to add additional ram, would it be okey to just buy an additional 2 pcs of 8GB of Corsair Vengance, or do i need to buy a new 4 pcs of 8GB? so the total ram would be 32GB. Or would it be wise to just get the 32GB of Ram from Lenovo?
    2.  I plan to use the 500gb HDD in the hard drive caddy and use the msata and 2.5" ssd for primary drive, What would be the best way to copy the Windows and Lightroom from the HDD to msata drive (256gb adata)?
    3. How come some unit with the w530 comes with a color sensor option and the higher w530 specs does not? would it be wise to get the Color sensor/ calibration from Lenovo or Just get other calibration software? and can you suggest in your experience a good calibration software for w530?
    4.  and lastly, does all w530 whether it be lower end specs or high end spec has a msata connection? Sorry of the ignorance.
    Really sorry for a long post and questions.  I hope someone could enlighten me before i purchase this unit. Any suggestions and comment would be highly appreciated. Thanks

    Hi.
    I'm almost in your same boat; used a Macbook when travelling for AutoCAD and I just ordered a W530 (should arrive Thursday) after a long period of agonizing of the purchase. I'll update this thread once I've used it a bit if you'd like, but I have some comments on your post:
    1. My understanding is that RAM works best when all sticks are of the same capacity. Personally, I ordered the W530 with the least RAM possible and am replacing all factory with Corsair Vengance.
    2. Use drive cloning software.(check out this site: http://lifehacker.com/5839753/the-best-disk-cloning-app-for-windows). I'm eschewing the mSATA and going with a 500gb SSD (found the Samsung 840 for $279) as the main drive with the 500gb HDD in the ultrabay (mSATA slot vacant). Why do you need the hard drive caddy?
    3. Not sure. I didn't go top-of-the-line as you are so my config had the color sensor option.
    4. All have the mSATA.

  • IC Weclient 2007 -Configuring Sales Order and Taxes for Standalone

    Gurus,
    I need documents for standalone configuration for Sales order and tax configuration.
    I have already created products but having problems with configuring SO.
    Please could pls share some documents with me.
    Regards,
    Shreya Kadu
    Edited by: Shreya Kadu  on Dec 10, 2008 3:08 PM

    Hi Glenn,
    Thanks for your reply. yeah we maintained subsriptions in SMOEAC.Transactions created in other roles like SalesPro and MarketingPro are flowing to R3. We are having the problem only with the transactions created in IC.
    Also as i mentioned in my posting, BDocs are also being created for Interaction records created along with sales orders. We are not sure whether this is standard process or not ?
    If this is a standard process, how these interaction records will be stored in R3 ?
    Please provide your inputs.
    Thanks in advance,
    RK.

  • Ask for helps and comments for a practicing ADF sample: Entering bank transaction records

    Dear experts:
    I'm redeveloping a practicing ADF sample application based on an exist application system of  my company.
    Here is the goal for this redeveloping:
    What degree of productivity can adf achieve compare to eclipse?
    And hereby is a small example I began from last Monday. some progress has been achieved, but pretty lot of difficulties remained,
    so I post all neccessary informations to this forum, and ask for your kind helps and comments.
    Thank you all in advance!
    Introduction                                                      
    The X company has some bank accounts in different banks, also it’s customers may have more than one bank account in different banks. Transactions between the X company’s bank accounts and it’s new or regular customers’ bank accounts happened heavily in daily. Bank transfer records in paper form will be collected and need to be entered into an in-house Financial System(NX1)  of the X company every day.
    This module will implement the function of Entering Bank transactions records for NX1.
    In future, this Data Entering work for NX1 will be handled by some data exchange interface automatically.
    And the following implementation will be based on ORACLE XE 11g,  Jdev/ADF 12c.
    This link can download  the document for the example, I will upload Database scripts and JDEV application files tonight.
    http://223.4.132.24:8180/BlobUtilServlet?tableName=FILE_TABLE&columnName=BODY&stuffID=020010110000001481&strNO=1&type=downfile&fileName=NXDemo1.doc&directOpen=true
    (The above link is a website of our own. if you meet any difficulty when access it, please let me know: [email protected]).

    Hi, Timo and Frank,
    Thank you all for your kind replies and sound suggestions!
    Now let me talk freely on this thread-and I will limit my topic scope within this Jdev/ADF Space’s theme but maybe in a more broad perspectives. And I will separate topics into different posts to avoid over length of each post. Hope you will have enough patience to read through this some long story!
    Notice: Links in this article will refer to somewhere of OTN itself or a website of our own. There is no security concern on the server. For example:
    http://223.4.132.24:8180/webfavorite.do?method=index&topTag=shou_A&txtTitle=ADF
    (This link is collection of internet links and some abstract for each article on ADF. Not much contents on ADF in Chinese can be found.)
    What you are up to?
    First of all, I need to make some introduction of myself to answer “what you are up to”.
    I come from China, living and working at Shenzhen city which is close to Hong Kong. And now I am running a small software company with 20 employees, our main business is to develop database centered applications which include in-house workflow/information management systems and websites/portals for organizations.
    I have a pretty strong conviction that software technology should emancipate people from routine trivial mental works, just like engines in the industry revolution free people from heavily physical works. So I have a strong inclination for everything to be “automated”.
    For running a company, this “automation” will not only bring the “aesthetics of everything running by itself”, but also will mean more productivity, quality and profits.—After all, no-living stuff is always cheaper than living creatures, let alone to say human beings.
    However, when we software industry tried to automate business fields for our clients, the process of making software itself was still a manpower intensive, less-automation business. and this result a expensive products.
    More than 15 years ago, when I began to work in an IT department of a big organization, I got to know the Oracle Designer/Developer 2000, and have being a diligent FORM/REPORT programmer for more than 4 years. I like the concept and practice of declarative design and automated generation.
    And then more years past, and I left that organization and began to run a software company myself. And during these days, the mainstream technology of software development had been web oriented, Java/J2EE which I had no idea totally. But we have other guys who had expertise on it. So I just leave these works and decisions to them. And it seemed works at the beginning.
    But after several years of business operation of application development for clients, I found this was a difficult-money-earn business. Even if our guys had worked hard, project schedules’ delay, over budget, clients’ complain was easily happened. Sometime we had more projects/contracts than what we can undertake, but we dare not to hire more people. I was confused:
    -Was it a common situation in this field all over the world?
    -What’s the key factor should responsible for?
    -Where to start to improve the situation?
    I know there are many factors should responsible, it’s a complex situation. Find more talented people and give better incentives for them to work hard is one choice—but it’s also a difficult task especially for a small company like ours. So to start from easy and confine solution’s scope is:
    -We have these guys now, what we can do best?
    (To be continued)

Maybe you are looking for

  • Applet very slow and shows no activity, but its running

    I have a new applet for the users, but I am reluctant to implement until I get some others opinions. It is very slow (30 - 40 seconds) Before it outputs a screen with about 20 lines, it reads 90 different html files. It looks at the forth rec of each

  • Align more than one element in same line in a selection screen

    I have to align more than one element in same line in a selection screen. It is possible with the following code. now the problem is i need space between these elements. how can i achieve it? SELECTION-SCREEN BEGIN OF LINE.   SELECTION-SCREEN COMMENT

  • Interactive slideshows

    Hi, I'm looking to make an interactive slideshow for my website. As a photographer, I would like to be able to have each categorical page of photos be easy to scroll through without clicking a large number of thumbnails. An example of what I would li

  • A problem about gcc

    I installed Solaris8 x86 on my PC successfully, including software companion CD, which was installed under /opt. Following was added in .profile : PATH=/opt/sfw/bin:$PATH Then I created two programs in a subdirectory: C code, HelloWorld.c, compiled u

  • Photos move from where i place them once published

    i've created my site and it's been working great for a couple months. I just added new photos to several pages and they all look fine once published except one page! have tried moving them again in iweb, saving, then publishing again, but same thing