In Which Database Table the Messages are Stored in XI

Folks,
When we run SXMB_MONI, Which table it access ? please let me know .
Manish

Hi
Here is how I did it after long debugging sessions.. you can pass MessageID and get the payload back as binary, here I download it for test purpose.. btw you have to change your client number.. and FYI, this code is draft version so there might be some unnecessary codes you might have to clean up..
REPORT  Z_READ_MESSAGES.
TYPES: BEGIN OF ts_resource,
         resource TYPE REF TO if_xms_resource,
         name     TYPE string,
         ref      TYPE string,
         kind     TYPE char1,
       END OF ts_resource.
DATA: persist             TYPE REF TO cl_xms_persist,
      g_message           TYPE REF TO if_xms_message,
      l_pro_s             TYPE sxms_pro_s,
      l_pro_t             TYPE REF TO sxms_pro_t,
      l_manifest          TYPE REF TO cl_xms_msghdr30_manifest,
      super_xstring       TYPE xstring,
      super_string        TYPE string,
      gt_raw_lines        TYPE sxmsraw512lines,
      binary,
      l_mf_s              TYPE sxms_mf_s,
      l_mf_t              TYPE sxms_mf_t,
      gv_length           TYPE int4,
      l_resource          TYPE REF TO if_xms_resource,
      lt_resource         TYPE TABLE OF ts_resource,
      ls_resource         TYPE ts_resource.
FIELD-SYMBOLS:  <fs1> TYPE sxms_pro_t.
CREATE OBJECT persist.
CALL METHOD persist->read_msg_pub
  call method persist->read_persist_tab_version 590C75F0F50611DC81E000110A31811B
    EXPORTING
       im_msgguid  = 'F7E02E28752CBA4B889B9C00AC306CD3'
       im_pid      = 'CENTRAL'
       im_version  = '000'
       im_client   = '001'
     IMPORTING
       ex_message  = g_message.
l_pro_t = g_message->getbodies( ).
ASSIGN l_pro_t->* TO <fs1>.
LOOP AT <fs1> INTO l_pro_s.
  IF l_pro_s-lcname = cl_xms_manifest=>lcname.
    l_manifest ?= l_pro_s-prop.
    l_mf_t = l_manifest->get_payload_refs( ).
    REFRESH lt_resource.
    LOOP AT l_mf_t INTO l_mf_s.
      CLEAR ls_resource.
      l_resource = g_message->getattachmentbyname( l_mf_s-href ).
      IF NOT l_resource IS INITIAL.
        ls_resource-resource = l_resource.
        ls_resource-name = l_mf_s-name.
        ls_resource-ref = l_mf_s-href.
        ls_resource-kind = l_resource->getkind( ).
        super_xstring = l_resource->GETbinarydATA( ).
        APPEND ls_resource TO lt_resource.
      ENDIF.
    endloop.
  endif.
endloop.
*xmbph = cl_xms_profile=>getinstance(
                         name = cl_xms_profile=>profile_name_xmb ).
*TRY.
   extmessage = xmbph->serialize( intmessage = g_message ).
CATCH cx_xms_exception .
CATCH cx_xms_system_error .
*ENDTRY.
*TRY.
   super_xstring = extmessage->WRITETO( ).
CATCH cx_xms_exception .
*ENDTRY.
binary = 'X'.
PERFORM display_xml.
CLEAR: binary.
CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    bin_filesize  = gv_length
    filename      = 'c:\a.xml'
    filetype      = 'BIN'
  TABLES
    data_tab      = gt_raw_lines
  EXCEPTIONS
    invalid_type  = 03
    no_batch      = 04
    unknown_error = 05
    OTHERS        = 99.
*&      Form  display_xml
      text
-->  p1        text
<--  p2        text
FORM display_xml .
  DATA: str_l               TYPE i,
        lv_len              TYPE i,
        lv_offset           TYPE i,
        lv_len_tmp          TYPE i,
        ls_raw_line(512)    TYPE x,
        gv_type(50)         TYPE c,
        l_xstring           TYPE xstring.
constants
  CONSTANTS: true           TYPE boolean VALUE 'X',
             false          TYPE boolean VALUE ' '.
  IF STRLEN( super_string ) = 0 AND XSTRLEN( super_xstring ) = 0.
    EXIT.
  ENDIF.
Conversion only if the output is to be displayed in the HTML-Viewer
additional actions for non binary sources
  IF binary  = false.
convert string to xstring
    CALL METHOD cl_xms_main=>convert_string_to_xstring
      EXPORTING
        im_string          = super_string
        im_encoding        = 'UTF-8'
       im_endian          = im_endian
       im_replacement     = im_replacement
       im_ignore_conv_err = im_ignore_conv_err
      IMPORTING
        ex_xstring         = super_xstring
        ex_length          = gv_length.
    gv_type = 'application'.
  ELSE.
    gv_length = XSTRLEN( super_xstring ).
  ENDIF.
  lv_len     = gv_length.
  lv_offset  = 0.
  lv_len_tmp = lv_len.
break string into lines of 512 bytes
  IF lv_len_tmp > 512.
    DO.
      ls_raw_line  = super_xstring+lv_offset(512).
      APPEND ls_raw_line TO gt_raw_lines.
      lv_offset = lv_offset + 512.
      lv_len_tmp = lv_len_tmp - 512.
      IF lv_len_tmp < 512.
        EXIT.
      ENDIF.
    ENDDO.
  ENDIF.
  IF lv_len_tmp > 0.
    ls_raw_line  = super_xstring+lv_offset(lv_len_tmp).
    APPEND ls_raw_line TO gt_raw_lines.
  ENDIF.
  CLEAR: super_string, super_xstring.
ENDFORM.                    " display_xml

Similar Messages

  • Message-mappings: stored in which database-table?

    Hello everybody,
    I want to code some ABAP to check some message-mappings.
    Does anybody know in which DB-tables the mapping including the mapping steps are stored?
    Thanks a lot.
    Regards Mario

    Hi Muller,
    Check these tables,
    <b>/SAPDMC/LSOMAP</b>                 Field Mapping
    <b>/SAPTRX/SCAOTMAP              </b>
    <b>/SAPTRX/SCCNDMAP              </b>  <b>/SAPTRX/SCEVTMAP              </b>
    <b>/SAPTRX/SCFUNMAP              </b> /<b>SAPTRX/SCSOMAP               </b>
    or Just say map in SE11 and u will get a list..
    Regfards,
    Sridhar

  • The type of the database table and work area are not Unicode convertible

    ***Data declaration
    TYPES : BEGIN OF t_zle_lagerplanung,
                       SEl, "stores which row user has selected
                       kdauf TYPE zle_lagerplanung-kdauf,
                       kdpos TYPE zle_lagerplanung-kdpos,
                       etenr TYPE zle_lagerplanung-etenr,
                       papiermaschine TYPE zle_lagerplanung-papiermaschine,
                       runnr TYPE zle_lagerplanung-runnr,
                       prio TYPE zle_lagerplanung-prio,
                       werk TYPE zle_lagerplanung-werk,
                       durchmesser TYPE zle_lagerplanung-durchmesser,
                       breite TYPE zle_lagerplanung-breite,
                       anzle TYPE zle_lagerplanung-anzle,
                       lgpla TYPE zle_lagerplanung-lgpla,
                       lgtyp TYPE zle_lagerplanung-lgtyp,
                       art TYPE zle_lagerplanung-art,
                       anzhoehe TYPE zle_lagerplanung-anzle,
                       fa TYPE zle_lagerplanung-fa,
    END OF t_zle_lagerplanung.
    DATA : it_zle_lagerplanung TYPE STANDARD TABLE OF t_zle_lagerplanung INITIAL SIZE 0,
                wa_zle_lagerplanung TYPE t_zle_lagerplanung.
    Here I am getting the data in internal table by using thiis select statement.
    SELECT kdauf kdpos etenr papiermaschine runnr prio werk durchmesser breite
                  anzle lgpla lgtyp art anzhoehe fa
    FROM    zle_lagerplanung INTO CORRESPONDING FIELDS OF TABLE it_zle_lagerplanung
    WHERE  kdauf IN s_kdauf
    AND       KDPOS IN s_kdpos
    AND      werk = p_werks.
    But while updating the particular field in zle_lagerplanung using this statement
    UPDATE zle_lagerplanung from table it_zle_lagerplanung.
    it is giving syntax error
    "The type of the database table and work area (or internal table)
    "IT_ZLE_LAGERPLANUNG" are not Unicode convertible. "
    Could any one help me out how to resolve this problem....
    Thanks in advance

    Dear Shayamal,
    XXX....are not Unicode convertible
    This  error comes while inserting or updating database and the fields are not matching between  data base table and structure .
    Check you fields of data base table and  "zle_lagerplanung" and struture "it_zle_lagerplanung" . There fields must match.
    thanks and regrds,
    Anup Banerjee

  • Changing where the sent messages are stored

    Hi, I was wondering is there any way you can change where the sent messages are stored. I have switched from a few programs.. and there is a 'sent' folder and ' sent messages' folder on my folder list in addition to that of what mail is putting them in. I just want one folder.

    Sounds like you are accessing an IMAP type account.
    If so, is this the only email account and account type you are accessing with the Mail.app?

  • The type of the database table and work area (or internal table)...

    Hello
    I am trying to use a database and select all records from it and store them into an internal table.
    My code:
    Select * from xixi_dbcurrency into table gt_currency.
    The error:
    "The type of the database table and work area (or internal table) "GT_CURRENCY" are not Unicode-convertible . . . . . . . . . .     "
    Any suggestions?
    Thank you

    Hi Thomas,
    Thank you for your inputs above.
    But as you suggested is we use INTO CORRESPONDING FIELDS OF TABLE then it resolve the error.
    But I have below piece of code:
    DATA:    it_new_source TYPE STANDARD TABLE OF _ty_s_sc_1,
                  wa_source TYPE _ty_s_sc_1,
                  wa_new_source TYPE _ty_s_sc_1,
                  ls_target_key TYPE t_target_key.
    SELECT * INTO CORRESPONDING FIELDS OF TABLE it_new_source
           FROM /bic/afao06pa100
           FOR ALL ENTRIES IN SOURCE_PACKAGE
           where /bic/fcckjobno = SOURCE_PACKAGE-/bic/fcckjobno
           and /bic/fcckjitid = SOURCE_PACKAGE-/bic/fcckjitid.
    But since this is reading into corresponding fields of table the data load from one DSO to other DOS is running for long more that 15 hours and still not getting completed and giving dump.
    So if I switch the search to below:
    SELECT * FROM /bic/afao06pa100
       INTO TABLE it_new_source
           FOR ALL ENTRIES IN SOURCE_PACKAGE
           where /bic/fcckjobno = SOURCE_PACKAGE-/bic/fcckjobno
           and /bic/fcckjitid = SOURCE_PACKAGE-/bic/fcckjitid.
    Then I am getting below error:E:The type of the database table and work area (or internal table) "IT_NEW_SOURCE" are not Unicode convertible.
    Can you please advice on this, as performance need to improve in start routine code.
    Thank You.

  • HT201363 How do i delete my iphone 4s from my account on apple ID? I change phones and i am not getting regular txt messages because somehow the messages are still sending through imessage which i no longer have.... I deleted my phone number from the acco

    I change phones and i am not getting regular txt messages because somehow the messages are still sending through imessage which i no longer have.... I deleted my phone number from the account though as per instructiions from the phone carrier and is still not working...Any help?

    Hello jn_andrade,
    It sounds like you are no longer getting text messages becuase your Apple ID is still using your phone number for iMessage. I would use these steps to unlink your phone number from your account:
    Unlink a phone number
    To remove a phone number from an Apple ID, sign out of FaceTime and Messages on your iPhone:
    Settings > Messages > Send & Receive. Tap your Apple ID, then tap Sign Out.
    Settings > FaceTime. Tap your Apple ID, then tap Sign Out.
    This should remove your phone number from other devices using the same Apple ID with FaceTime and Messages. If the phone number is still available on other devices after you sign out of FaceTime and iMessage on the iPhone, you may need to sign out of iMessage and FaceTime on all your devices, then sign in to FaceTime and Messages again on devices you want to use.
    Note: If you no longer have access to the iPhone that is using the number you want to remove, reset your Apple ID password.
    From: iOS and OS X: Link your phone number and Apple ID for use with FaceTime and iMessage
              http://support.apple.com/kb/ht5538
    Thank you for using Apple Support Communities.
    Regards,
    Sterling

  • Where the INTERACTION HISTORY for the BP are stored in SAP CRM

    Hi all,
    We are using CRM 7.0 EHP1.
    In the WEBUI, under Accounts, we are seeing the Interaction history as seperate assignment block. Like wise we are seeing the same assignment block with details for Contact, Employee etc.
    Where these Interaction history is located in BP transaction for the same Account or Contact or Employee. If not, pl suggeest in which tables these info are stored in CRM.
    Regards
    ISWARI.

    Thanks Stephen for your response.
    Indeed we are not deleting entries in any environment, except for the sandbox, would be preposterous . This was just to know the dependencies on tables as we needed a quick answer and which is why we thought lets see if CRMD_PARTNER is the only table from where it comes from or is there another one.
    Is there a quick way to know about the table that a particular BOL object interacts with instead of checking the code in its handler class, which could be time consuming.
    Cheers
    Nikunj

  • ATWRT field is from which database table.

    Hi Gurus,
        I need to see the field name ATWRT(Manufac Method) for the particular material number.from which database table can i access both the data.Please help me .
    Thanks in advance.
    Points will be rewarded.
    Thanks & Regards,
    A.Ashok kumar.

    Hi
    these are the tables where atwrt exists:
    ABAUSP
    AFFV
    AFFVB
    AFFVD
    APICAWN
    API_CAWN
    API_CCHAR
    API_VALI
    API_VALUE
    API_VAL_IN
    CCIHS_IHPRIOT
    CCRCS_EHS_SVT_MA
    CLGO_MULTIPLE
    CLRS_OBJ_KEYS
    CLRS_OBJ_VALUES
    CLSELSTATISTICS
    CLS_CHARAC
    COFIV
    COFV
    COFVP
    COME
    COMEP
    COMER
    COMSE
    COMW
    COVLP
    CRMT_IC_SCRIPT_M
    CSIM_ST_DETAIL
    CTBW_VALUE_TEXT
    CTIH_01
    CTMSEXIT001
    CTMS_02
    CUCD_CONF
    CUD0_02
    CUGEN_SIMPLE_LIT
    CUGEN_SIMPLE_SIN
    CUGEN_VALUE
    CURTO_CU_GEN_SIMPLE_L
    CURTO_CU_GEN_SIMPLE_S
    CUSL_01
    CUSL_02
    CUSL_05
    CUSL_06
    CUSTOMER_FILTER_CHAR
    CUXREF
    CUXR_OBJ
    CUX_EXP_VALUE
    DDB_AW
    DDB_C01
    DDB_C02
    DDB_C03
    DDB_C04
    DDB_C06
    DDB_C07
    DESCR
    DIWPS_ATINN
    DIWPS_CA
    DIWPS_CONF
    DIWPS_CONF_MARK
    DIWPS_RV_ATINN
    DIWPS_RV_CA
    DIWPS_RV_CONF
    DIWPS_RV_CONF_MARK
    DIWPS_RV_NAV
    DIWPS_WA_WORKPACKAGE
    DIWPS_WPID_CONF
    DIWPS_WP_NAV
    E1AUSPM
    E1CAWNM
    E1CUV1M
    E1EDL12
    E1EDL15
    E1ISU_SDORD_POS_CONF
    E1WBB17
    DIWPS_ATINN
    DIWPS_CA
    DIWPS_CONF
    DIWPS_CONF_MARK
    DIWPS_RV_ATINN
    DIWPS_RV_CA
    DIWPS_RV_CONF
    DIWPS_RV_CONF_MARK
    DIWPS_RV_NAV
    DIWPS_WA_WORKPACKAGE
    DIWPS_WPID_CONF
    DIWPS_WP_NAV
    E1AUSPM
    E1CAWNM
    E1CUV1M
    E1EDL12
    E1EDL15
    E1ISU_SDORD_POS_CONF
    E1WBB17
    E1WTADDI12
    E2AUSPM
    E2CAWNM
    E2CUV1M
    E2EDL12
    E2EDL15
    E2WBB17
    E3AUSPM
    E3CAWNM
    E3CUV1M
    E3EDL12
    E3EDL15
    E3WBB17
    ECONF_OUT
    EHQMSAPIM1
    Regards
    Preeti
    <b>
    Reward if useful</b>

  • How the values are stored in Claneder week/year internally

    Hi BW Gurus,
    Can any one please let me know in which format the values are stored in the Calender week.year time characterstic?
    is it YYYYWW or WWYYYY or YYYY.WW or WW.YYYY or YYYY/WW or WW/YYYY?????
    Thanks in Advacne,
    Dilse...
    Hash

    Hi Bhanu & Alessanrdo,
    Thanks for the prompt response. Actually I was trying to populate some values in to the calender week/year variable through the user exit.So, I got confused while updating the values in to the variable. I used the value format which you both had suggested. But no luck.
    The olap control is passing out of my code successfully.
    After the coming out of my inlcude program it entered in the function RRS_VAR_VALUES_EXIT_AFTER there the following if condition is met.
    " IF -vartyp EQ rro04_c_vartyp-value". after that it raised the exceptions and the above message is displayed. Can you please look in to the issue.
    and the message number that was shown is Message No: 00010004 with the following note :
    "AError for variable  in customer enhancement ZLASWK"
    Can you suggest me why it went wrong and what needs to be done...?????
    Thanks in Advance,
    Dilse...
    Hash

  • Deleting all emails for 1 of 2 email accounts in the Message area

    Background:
    I do not have Blackberry Enterprise ServerI have 2 email accounts setup on my Blackberry Pearl 8130: 
    1 personal Yahoo account and 1 work account 
    Everything works fine, I receive email for both accounts, all is good.  Except that I get 200+ emails a day on my work account!I do not want to go in and delete work emails one by one or in groups  The lowest number of days I can choose to choose in General Options -> Keep Messages is 15 days (and it looks like that is an overall setting, I would like 2 days for my work account and 3 months for my personal account which is a whole other question) 
    So, I deleted my work account from the Email Settings thinking that all emails linked to the work email account would ‘go away’, then I will just recreate the account later.  BUT all the emails are still in the Messages area, all 1500+ work emails that I want to get rid of. 
    Question:How can I, without going 1 by 1 or in groups of emails, have all the emails in the Messages area deleted that are for a specific email account?I do want and need to keep my personal email on my phone so I can’t just in and “Delete Prior” as it will delete my personal emails that I need to keep on my phone  
    Any thoughts?
    Or does it matter if at some point I end up with 10K emails?  I'm not sure.
    Thanks!
    Solved!
    Go to Solution.

    Since you can't do a Delete Prior, the only other options is to hold down the SHIFT button (lower left button, may look like aA) to scroll and select groups of emails to delete. There isn't a way to only show emails from a certain group to delete. You can either delete all at once, Delete Prior by the date, or select groups of messages.
    If someone has been helpful please consider giving them kudos by clicking the star to the left of their post.
    Remember to resolve your thread by clicking Accepted Solution.

  • Which database table store page names?

    Hi, I'm trying to retrieve the corresponding page name based on the NAME column from the OWA_PERF.TOP_PAGE_BYDAY table. I've tried to get the value from RTAL.WWPOB_PAGE$ using SITE_ID and ID, but it returns duplicates records with the same name. May I know which database table actually stores the specific page names without repeats?

    Sorry. there was a small mistake in my previous post. Here is the updated one:
    Hi, I'm trying to retrieve the corresponding page name based on the NAME column from the OWA_PERF.TOP_PAGE_BYDAY table. I've tried to get the value from PORTAL.WWPOB_PAGE$ using SITE_ID and ID (which is the first two parts of the NAME value), but it returns duplicates records with the same name. May I know which database table actually stores the specific page names without repeats?

  • I deleted some of my text message histories to get rid of 'other' space (6.33 gb). They were gone from iMessage, but they still showed up in search, so they were still taking up space on my phone. I synced my iPhone (4s) but the messages are still there.

    I deleted some of my text message histories to get rid of 'other' space (6.33 gb). They were gone from iMessage, but they still showed up in search, so they were still taking up space on my phone. I synced my iPhone (4s) with iTunes but the messages are still there. How can I get rid of these texts for good and have more space on my phone? 6.33 gb of other space is way too much, thats almost half of my overall available space (13.5 gb.) I don't want to reset my phone and lose all my other texts/ app progress/ photos. I do have backups, but when I restore from the backup the other space comes back along with everything else. What can I do to get rid of this other space and the 'deleted' text messages? (I'm running iOS 6.1.3 if that helps)

    But once again, I do not want to lose my other texts, app progress, and photos. I could sync the photos but i would still lose the app progress and texts. I would only restore if it was the only option left, but the other space, as already stated, isnt the main concern. The main concern is those 'deleted' texts. If they go, then a good size chunk of the other space goes. I know you CAN delete texts for good. It worked fine before. All i want to know is why its not working for me now, and how to fix it.
    I also know that when you delete texts on your iphone, they get marked for deletion, however they stay on your device (thats why they show up when you search for them.) then when you sync your device with itunes, the texts marked for deletion should disappear. When i synced they didnt disappear. Thats what i need an explanation/solution for. Why the texts marked for deletion didnt get fully deleted after the sync.

  • HT4863 I have an error message coming up when trying to send an email which says 'sending the message failed because you're exceeding the limit' can anyone help me to resolve this please

    I have an error message coming up when trying to send an email which says 'sending the message failed because you're exceeding the limit' can anyone help me to resolve this please

    Try reentering the password in your iCloud mail settings.

  • I am unable to see any POP3 or IMAP tab when I set up an account in my iphone 4S. Hence by default all my email accounts become IMAP and the messages are deleted from the server when I delete them from the iphone.

    I am unable to see any POP3 or IMAP tab when I set up an account in my iphone 4S. Hence by default all my email accounts become IMAP and the messages are deleted from the server when I delete them from the iphone.

    ok sorry everyone but i solved it myself but the solution is so nuts i've posted it here to help others who have the same problem.
    to setup a comcast imap account on your iphone:
    go to mail, contacts, etc in settings
    under accts, select add account
    select "other"
    new screen, choose "add mail account"
    now on the new acct screen you must enter your name, email address and password for your GMAIL acct ! (yes i said your gmail acct !, or some other acct with a NON comcast address).
    hit next
    then the acct verifies
    when verified a screen will open with all the acct settings for this acct AND @ the top of the screen are the 2 buttons > imap or POP
    select imap and THEN CHANGE ALL THE ACCOUNT information to the comcast account !
    then hit next and the account will take a couple minutes to verify but it will verify and now you have a comcast imap acct set up on your iphone.  The problem must be that when the iphone sends the initial verify acct info to comcast (if you enter that information first) the comcast server is simply not setup yet to signal the iphone that there is an imap option.

  • HT1386 I HAVE A PROBLEM WHEN SYNC CONTACTS IN MY COMPUTER TO IPHONE 4S after update to iOS6. The message are " waiting for change to be applied".

    I HAVE A PROBLEM WHEN SYNC CONTACTS IN MY COMPUTER TO IPHONE 4S after update to iOS6. The message are " waiting for change to be applied".
    PLAESE advise how to solve this problem.

    Hi applerinneedforhelp,
    Thanks for visiting Apple Support Communities.
    If iTunes is asking you to authorize the computer, and you've already done so, the troubleshooting steps in this article can help:
    iTunes repeatedly prompts to authorize computer to play iTunes Store purchases
    http://support.apple.com/kb/ts1389
    Regards,
    Jeremy

Maybe you are looking for

  • How do I make multiple buttons in my flash animation?

    I am new to flash, and I have no training in it whatsoever. I created a flash animation with flash CS3 for my photography website, and I want to link each of the images to different galleries on my site. When I created my first button it worked fine,

  • Need some help with Slow Downs in Java3D and Servlets

    Hi, I realize that there is a separate forum for Java 3D, but I posted there, and did not get any response. This is kinda the crux of my program, so I would like to invite anybody on this forum with knowledge of Java 3D and servlets to give it a stab

  • Emailing with iPhoto 11

    I have been an enthusiastic Apple/Mac user for over 20 years, and have always kept the software up to date as I held the highest regard for Mac software....until now!! The latest version of IPhoto 11 (V9.1) is a disaster, compared to the previous iPh

  • Html db backup question?

    Is HTMLDB appllication on http://htmldb.oracle.com backed up daily? Or is it the responsibility of the developer to backup the data. I was able to create a export of the application and the tables easily. However I couldn't find anything that would e

  • Delete shared workbooks when owner no longer available

    We need to delete some old workbooks shared by a user who can no longer access the schema used to create the tables (due to legal issues). The only way I know of to do this is to grant the access back temporarily and have him unshare everything. Is t