Facing Issue with Stock Ageing report
In Blocked Stock Ageing report Output, I am facing following issues
1. Stock is correct but once we include the "Reason For Movement" then the aging is getting wrong and in some cases value is coming Negative.
2. In some cases "Reason For Movement" is coming in ‘#’, but this is a mandatory field. Hence cannot be blank.
Note:
1. Overall stock is coming correct.
2. Reason Movement chat. is in free char
3. Report is based 0IC_C03.
Hi Nadeem,
Reason for Movement is loading from what attribute? check in RSRV for that attribute.
RSRV-->All Elementary Tests ->Master Data ->Compare Size of P-, Q- with X- and Y- Tables respectively .
If it has any error then correct that error in RSRV. It will solve your problem.
Regards,
Rajesh
Similar Messages
-
Issue with stock qty of component in Structured Articles in SAP BI
Dear Experts,
We are extracting stock in BI through SAP standard data source. We have used 2lis_03_bx and 2lis_03_bf data sources. We are facing issue with stock data validation due to structure articles (pre-pack) available in SAP source system.
We have stock of structure articles available at DC in source system. When we extract this information in BI, this article gets split into its components automatically. Due to which stock of components articles gets increased with huge amounts.
To analysis it in further detail, we have created below scenario:
Article Document Number: 4900000827
Article Number (Pre-pack): 300000082901
Article Number (Component): 300000082002
Stock of pre- pack article at this article document number: 174 pc
Stock of component article at this article document number: 348 pc (due to splitting of pre-pack article) + 151 (its own stock movement). Total stock for this article is 499. But actually total stock for this article should be 151 only.
As per our Business requirement, pre-pack article should not be split into its components. And stock in BI should be totally in sync with SAP stock.
I kindly request you to suggest the solution to rectify the same.
Thanks in advance.
--VikasHi Vikas,
Check the OSS note L 1320386 - Frequently asked questions regarding BW Trade Foundation too.
Regards,
Rajesh -
Stock ageing report with batch Management active
Hi Experts,
My client wants a Stock ageing report and batch management is active
According to my client, Inventory ageing report should show stock quantities and stock value as follows,
1. Below one year
2. Between one and two years
3. Above two years
What are the table and fields to be considered for this report.
Thanks
NDSWhat steps do you mean? taking an ABAP course and doing it yourself, or stepping to an ABAPer and let him know what he shall do?
you asked for a stock report, not for a movement report.
If I go into my warehouse and looking at all the stuff sitting there and want a report that should tell me how old this stuff is, then i am not intrested if there was a goods receipt movement.
However I would like to know the last movement date. In this case you have to look into table S032 or into the movements MSEG (with MKPF as header table) -
Stock Aging report with current date
Dear Experts
Can we able to take stock aging report with current date?
Thanks&Regards,
Vinoth Raj KYou're posting in the Portuguese B1 space.
You might want to post in the English one: SAP Business One Application -
Urgent: Regarding Stock Ageing report
hi,
i want to have stock ageing report in which i want to have the deatils :-
This is the material which is present in the palnt from dis <b>date</b> and further details of it consumption. plzz tell the <b>tcode</b> for it.
plzz help me out as it is most urgent to me..
regards,
ric.s
Message was edited by:
ric .sHi
The report MC.9 shows Last movement date/Last receipt date / Last issue date.
In period to analyze give appropriate date range
Or
check MSEG & MARD table to get details about material documents with date
Vishal... -
Urgent: regarding stock aging report
hi,
i want to have t-code for 'STOCK AGING REPORT' which shows that this material is present in the plant from this <b>date</b>. <b>plzzz provide me the tcode for it.</b>
if anybody provide me solution to it will be definately rewarded.
Message was edited by:
ric .s
Message was edited by:
ric .s
Message was edited by:
ric .sHi,
Please try transaction code MC50
also u can use mc.9 in that use fields like last consumed last good issued and last goods receipt
after runing report u will get material and values t add above fields
press f6 and add last consumed last good issued and last goods receipt
and with this data u can analys this data
Reward if found helpful ...
Cheers,
Chandra Sekhar. -
Batch transaction stock aging report
Hi Experts,
Can you some one help me with query which give stock aging report base on Batch wise transactions (IBT1).
Item Code, Item description Batch#(Qty which are >0), Batch Qty, Stock "IN" creation Date,
Thanks for your help.
Regards,
SureshDear parneeth,
As requested please try this Query to fulfill your requirement.
SELECT T0.docnum,
T2.BatchNum,T2.ItemCode,T2.Quantity,
T2.ItemName,T0.CardName as Supplier,
T2.SuppSerial,T2.IntrSerial,T2.ExpDate,T2.PrdDate,T2.InDate,T2.Located,
convert(varchar(8000),T2.Notes)
FROM OPDN T0 INNER JOIN PDN1 T1 ON T0.DocEntry=T1.DocEntry
inner join
OIBT T2 on T1.ItemCode = t2.ItemCode and T0.objtype=T2.basetype and T2.baseentry=T1.Docentry
inner join
oitm T5 on T1.Itemcode=T5.Itemcode
WHERE
T2.quantity>0
group by T0.docnum,T2.BatchNum,T2.ItemCode,T2.Quantity,
T2.ItemName,T0.CardName,
T2.SuppSerial,T2.IntrSerial,T2.ExpDate,T2.PrdDate,T2.InDate,T2.Located,
convert(varchar(8000),T2.Notes),T1.Linetotal,T1.Quantity
REGARDS
MANGESH PAGDHARE.
Edited by: MANGESH PAGDHARE on Jan 9, 2012 6:31 PM -
Hi ,
There is a report requirement from stock aging report based on the bucket scenario.
I need to calculate the stock based on quantity(MSEG - MENGE) and moving average price/periodic unit price(MBEW - VERPR).
Then i need to perform the same into bucket scenario like 0-09 ,91-180,180-360,>360.
I can see the field (MENGE) in the standard datasource 2LIS_03_BF which is connecting with the infoobject 0QUANT_B.
But in the update rule/transformation there no assignment for this.
For which infoobject i can map to the cube and what logic i need to perform.
There is a calculation for this in the report for the value of the stock below.
Value = Quantity(MENGE)xmoving average price/periodic unit price(VERPR).
Stock Logic:
Stock is consider based on the movement types: 101,701,712.
Can anyone give me the idea on this how to perform the logic.
Thanks,
satyaHi Vijay,
Functional consultant has given the logic for calculating the stock is
Stock Quantity is restricted based on the movement types 101,701,712.
Stock Value = QuantityxMoving average price /periodic unit price
The logic for calculating the buckets based on the Posting date(0PSTNG_DATE).
My concern is how i can perform the same logic in BW side to calculate the value of the stock.
Advice...
Thanks,
Satya
Edited by: satya prasad on Aug 5, 2011 7:03 AM -
Hi Friends,
We have a requirement to create stock ageing report in BIW.
If i create the report based on the material documnet date which is coming in 0IC_C03 cube,i will get correct ageing as far as manufacturing plant is concerned.
But we have defined the sales depots also as plants in our R/3,so if i take the material doc date from the ic_c03 cube,my ageing will be wrong for my sales depots because here it will consider the documnet(material) received into the depot date and will not consider the material manufacture(updated into system by 101 movement).
So in my depots,i will get the wrong ageing based on the material received date and not the manuf date.
So how do i go about this issue.
Awaiting your inputs..
Thanks & Regards
Sudhakar MHi
You can look for some standard date fileds in MM03 transaction under Production for material manufacturing data and map this field in BW to fetch data and use the field in your query for ageing
Assign points if useful
Regards
N Ganesh -
Stock ageing report without Batch Management
Hi Gurus,
My client wants a Stock ageing report. But my concern here is can we achieve this without batch management
According to my client, Inventory ageing report should show stock quantities and stock value as follows,
1. Below one year
2. Between one and two years
3. Above two years
We can accumulate the goods receipt as per Material document date and movement type according to the above age requirement.
But, can we track goods issues from the above age groups without Batch Management.
Experts Pls reply and If possible, pls explain how we can achieve this.
Thanks
NDSAs you already noticed not only the input (GR) but the output (GI) is also important.
The date of the GR is only one thing, but after that you received the goods in your SLoc you cannot make difference between stocks received at different times.
As your stock is not distinguished in the system as per the GR date you cannot say that which sub-stock has been consumed during GI.
So, without batch management you cannot achieve your goal in standard system.
Of course, physically you can realize your idea by putting labels on different batches - this would mean batch management physically and not in SAP.
If you use warehouse management you can use a workaround: the GR date is stored in the quants and this makes possible to track the age of the stock without batch management. Please check:
http://help.sap.com/erp2005_ehp_04/helpdata/EN/c6/f83b5e4afa11d182b90000e829fbfe/frameset.htm
Regards,
Csaba -
Stock Aging report Whwise & IT group wise
Hi All,
I want query for stock aging report Warehouse wise and Itemgroup wise in 0-45, 46-90 and greater then 90 days with value,
Thanks in advance.
Thanks & regards,Hi,
Check this...
SELECT distinct T0.ITEMCODE, T1.itemName,T0.ONHAND as 'Total Qty', T1.ManBtchNum,T1.ManSerNum,
CASE WHEN Datediff (day,T1.LastPurDat, Getdate ()) <45 THEN T0.ONHAND END '<45 Days (Qty)',
CASE WHEN Datediff (day,T1.LastPurDat, Getdate ()) <45 THEN T0.ONHAND * T0.Avgprice END '<45 Days (Value)',
CASE WHEN Datediff (day,T1.LastPurDat, Getdate ())>45 AND Datediff (day,T1.LastPurDat, Getdate ()) <90 THEN T0.ONHAND END '<45 T0 90 Days (Qty)',
CASE WHEN Datediff (day,T1.LastPurDat, Getdate ())>45 AND Datediff (day,T1.LastPurDat, Getdate ()) <90 THEN T0.ONHAND * T0.Avgprice END '<45 T0 90 Days (Value)',
CASE WHEN Datediff (day,T1.LastPurDat, Getdate ()) >90 THEN T0.ONHAND END '>90 Days (Qty)',
CASE WHEN Datediff (day,T1.LastPurDat, Getdate ())>90 THEN T0.ONHAND * T0.Avgprice END '>90 Days (Value)'
FROM OITW T0 INNER JOIN OITM T1 ON T0.ITEMCODE = T1.ITEMCODE
INNER JOIN OITB T2 ON T1.ITMSGRPCOD=T2.ITMSGRPCOD
left join ibt1 t3 on t3.itemcode = t0.whscode
WHERE T0.ONHAND >0 AND T0.WhsCode = '[%0]' AND T2.ItmsGrpNam ='[%1]'
Thanks
Sachin -
Facing issues with oracle client installation 32 bit 10.2.0.1
Hi ,
I am facing issues with oracle client installation 32 bit 10.2.0.1
Windows 2008 R2 enterprise edition 64 bit
Java 1.6 update 34
Below is the error recieved:
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x8079055
Function=[Unknown.]
Library=C:\Users\ADMINI~1\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\client\jvm.dll
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at oracle.sysman.oii.oiip.osd.win32.OiipwWin32NativeCalls.RegSetValue(Native Method)
at oracle.sysman.oii.oiip.osd.win32.OiipwWin32NativeCalls.RegSetValue(OiipwWin32NativeCalls.java:516)
at oracle.sysman.oii.oiip.osd.win32.OiipwWin32NativeCalls.RegSetValue(OiipwWin32NativeCalls.java:473)
at oracle.sysman.oii.oiip.oiipg.OiipgBootstrap.setInstallerKey(OiipgBootstrap.java:511)
at oracle.sysman.oii.oiip.oiipg.OiipgBootstrap.updateInventoryLoc(OiipgBootstrap.java:418)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.doInvSetupOperations(OiicSessionInterfaceManager.java:401)
at oracle.sysman.oii.oiic.OiicInvSetupWCCE.doOperation(OiicInvSetupWCCE.java:217)
at oracle.sysman.oii.oiif.oiifb.OiifbCondIterator.iterate(OiifbCondIterator.java:171)
at oracle.sysman.oii.oiic.OiicPullSession.doOperation(OiicPullSession.java:1273)
at oracle.sysman.oii.oiic.OiicSessionWrapper.doOperation(OiicSessionWrapper.java:289)
at oracle.sysman.oii.oiic.OiicInstaller.run(OiicInstaller.java:547)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:935)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:872)
Dynamic libraries:
0x00400000 - 0x0040B000 C:\Users\ADMINI~1\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\javaw.exe
0x77C60000 - 0x77DE0000 C:\Windows\SysWOW64\ntdll.dll
0x75AB0000 - 0x75BC0000 C:\Windows\syswow64\kernel32.dll
0x77420000 - 0x77467000 C:\Windows\syswow64\KERNELBASE.dll
0x77370000 - 0x77410000 C:\Windows\syswow64\ADVAPI32.dll
0x76610000 - 0x766BC000 C:\Windows\syswow64\msvcrt.dll
0x75DD0000 - 0x75DE9000 C:\Windows\SysWOW64\sechost.dll
0x776E0000 - 0x777D0000 C:\Windows\syswow64\RPCRT4.dll
0x757C0000 - 0x75820000 C:\Windows\syswow64\SspiCli.dll
0x757B0000 - 0x757BC000 C:\Windows\syswow64\CRYPTBASE.dll
0x77470000 - 0x77570000 C:\Windows\syswow64\USER32.dll
0x764F0000 - 0x76580000 C:\Windows\syswow64\GDI32.dll
0x77C30000 - 0x77C3A000 C:\Windows\syswow64\LPK.dll
0x75820000 - 0x758BD000 C:\Windows\syswow64\USP10.dll
0x74EA0000 - 0x74EEC000 C:\Windows\system32\apphelp.dll
0x6EF10000 - 0x6EF9D000 C:\Windows\AppPatch\AcLayers.DLL
0x76720000 - 0x7736A000 C:\Windows\syswow64\SHELL32.dll
0x761D0000 - 0x76227000 C:\Windows\syswow64\SHLWAPI.dll
0x76350000 - 0x764AC000 C:\Windows\syswow64\ole32.dll
0x75F30000 - 0x75FBF000 C:\Windows\syswow64\OLEAUT32.dll
0x74660000 - 0x74677000 C:\Windows\system32\USERENV.dll
0x74650000 - 0x7465B000 C:\Windows\system32\profapi.dll
0x74340000 - 0x74391000 C:\Windows\system32\WINSPOOL.DRV
0x74570000 - 0x74582000 C:\Windows\system32\MPR.dll
0x6E8B0000 - 0x6EAC8000 C:\Windows\AppPatch\AcGenral.DLL
0x6EFA0000 - 0x6F020000 C:\Windows\system32\UxTheme.dll
0x6F060000 - 0x6F092000 C:\Windows\system32\WINMM.dll
0x74840000 - 0x7484F000 C:\Windows\system32\samcli.dll
0x6F0D0000 - 0x6F0E4000 C:\Windows\system32\MSACM32.dll
0x74C80000 - 0x74C89000 C:\Windows\system32\VERSION.dll
0x6F340000 - 0x6F343000 C:\Windows\system32\sfc.dll
0x6F260000 - 0x6F26D000 C:\Windows\system32\sfc_os.DLL
0x6F040000 - 0x6F053000 C:\Windows\system32\dwmapi.dll
0x758C0000 - 0x75A5D000 C:\Windows\syswow64\SETUPAPI.dll
0x75C90000 - 0x75CB7000 C:\Windows\syswow64\CFGMGR32.dll
0x77570000 - 0x77582000 C:\Windows\syswow64\DEVOBJ.dll
0x75DF0000 - 0x75F27000 C:\Windows\syswow64\urlmon.dll
0x775A0000 - 0x77695000 C:\Windows\syswow64\WININET.dll
0x75FD0000 - 0x761CF000 C:\Windows\syswow64\iertutil.dll
0x76230000 - 0x7634E000 C:\Windows\syswow64\CRYPT32.dll
0x75FC0000 - 0x75FCC000 C:\Windows\syswow64\MSASN1.dll
0x6F0C0000 - 0x6F0C6000 C:\Windows\system32\SHUNIMPL.DLL
0x6F030000 - 0x6F03D000 C:\Windows\system32\SortServer2003Compat.dll
0x75CC0000 - 0x75D20000 C:\Windows\system32\IMM32.DLL
0x75BC0000 - 0x75C8C000 C:\Windows\syswow64\MSCTF.dll
0x08000000 - 0x08138000 C:\Users\ADMINI~1\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\client\jvm.dll
0x10000000 - 0x10007000 C:\Users\ADMINI~1\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\hpi.dll
0x003F0000 - 0x003FE000 C:\Users\ADMINI~1\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\verify.dll
0x007B0000 - 0x007C9000 C:\Users\ADMINI~1\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\java.dll
0x007D0000 - 0x007DE000 C:\Users\ADMINI~1\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\zip.dll
0x051D0000 - 0x052E2000 C:\Users\Administrator\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\awt.dll
0x052F0000 - 0x05341000 C:\Users\Administrator\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\fontmanager.dll
0x6E7C0000 - 0x6E8A7000 C:\Windows\system32\ddraw.dll
0x6F020000 - 0x6F026000 C:\Windows\system32\DCIMAN32.dll
0x75DA0000 - 0x75DCD000 C:\Windows\syswow64\WINTRUST.dll
0x6E6F0000 - 0x6E7BC000 C:\Windows\system32\D3DIM700.DLL
0x05770000 - 0x05793000 C:\Users\Administrator\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\JavaAccessBridge.dll
0x007E0000 - 0x007E5000 C:\Users\Administrator\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\jawt.dll
0x007F0000 - 0x007F7000 C:\Users\Administrator\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\JAWTAccessBridge.dll
0x06340000 - 0x06359000 C:\Users\Administrator\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\oui\lib\win32\oraInstaller.dll
0x06470000 - 0x0648E000 C:\Users\Administrator\AppData\Local\Temp\2\OraInstall2013-08-22_02-41-00PM\jre\1.4.2\bin\jpeg.dll
0x776B0000 - 0x776DA000 C:\Windows\syswow64\imagehlp.dll
0x6E600000 - 0x6E6EB000 C:\Windows\syswow64\dbghelp.dll
0x776A0000 - 0x776A5000 C:\Windows\syswow64\PSAPI.DLL
Heap at VM Abort:
Heap
def new generation total 704K, used 90K [0x10010000, 0x100d0000, 0x10770000)
eden space 640K, 13% used [0x10010000, 0x10026448, 0x100b0000)
from space 64K, 2% used [0x100c0000, 0x100c07a8, 0x100d0000)
to space 64K, 0% used [0x100b0000, 0x100b0000, 0x100c0000)
tenured generation total 8436K, used 5698K [0x10770000, 0x10fad000, 0x16010000)
the space 8436K, 67% used [0x10770000, 0x10d00a40, 0x10d00c00, 0x10fad000)
compacting perm gen total 12288K, used 12049K [0x16010000, 0x16c10000, 0x1a010000)
the space 12288K, 98% used [0x16010000, 0x16bd47a0, 0x16bd4800, 0x16c10000)
Local Time = Thu Aug 22 14:42:03 2013
Elapsed Time = 40
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002EF
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
# Java VM: Java HotSpot(TM) Client VM (1.4.2_08-b03 mixed mode)
Thanks10.2.0.1 is not supported/certified on Win 2008, so expect issues with the install and/or with using the software.
Why cannot you use a supported version - minimum is 10.2.0.4, which is only available to customers with an Extended Support contract
http://docs.oracle.com/cd/B19306_01/relnotes.102/b14264/toc.htm#BABGFAJI
HTH
Srini -
Issue with Exceptions in Reporting
Hi BW Gurus,
I am still new to BW, Like I have a issue with exceptions in reporting.
Let me explain clearly, I created a report which gives me two MRP values they are for example V1 and PD(there other MRP types but I am focusing only this two). Here I can see in my report those two values and the overall result of all MRP types (they are 6 different types). My report looks like this for examply
V1 46,782,434(this are rough figures)
PD 56,232,453
Overall Result 102,434,111
Here my requirement is I need to find this overall result like accroding to thresold values this overall result shows RED,YELLOW,GREEN.
I have given threshold values in exceptions. like
0 -
> 45,000,000(Red)
45,000,001 -
> 65,000,000 (Yellow)
65,000,001 -
> 500,000,000 (Green)
But according to this values I should get Red( Overall Result), I cant see any change in the overall result.
Please can some one give advice how to reflect this threshold values in my report.Or I have to select any other options in exceptions.
Thanks in advance.
Regds
SamNot really possible with BEx functions, but if you provide a workbook to users you can just type in this information in a non-Bex cell and save the workbook.
Else you can try to name your exception such that it shows the value ranges. Then in the report, from the toolbar Layout > Display Exceptions.
Hope this helps... -
Hi all,
I am developing stock ageing report i would not able to find Below fields in existing cube, kindly guide me how i can get those fields data in BI. whether i can create generic extraction or ? please give yr suggestion.
Fields:
vendor sub range
consignment no
Return flag(Returnable)
And also GR data and GR qty already data availble how to find last GR date based on user input.Please sugges me.
Last GR date
Last GR qty
Thanks & Regards,
R. SaravananTry extractor 2LIS_03_BF. Or table MSEG.
-
Strange issue with WEBI schedule Report
Hi All,
I have a strange issue with schedule WEBI reports, a schedule report runs for Hours , i reschedule it again by deleting the instance and the schedule report never got succeed even after running for hours.
Any idea???
regardsHi Manoj,
1. Try to put some filters in the report and then run the report. if it takes less time, then probably your query is fetching very large data.
2. MDX query error may be the reason , this error come when a query runs endless, please try running the query 2-3 times, or when load on server is less.
Hope this will help,
Anamika.
Maybe you are looking for
-
hi, Is there any problem if we compress the export file .dmp, with linux gzip, or with winzip or 7-zip on windows machines ? Is the unzipped file still OK for an import ??? I think I heard once this is not recommended, but I'm not sure Thanks !
-
Save printer to layout in crystal reports XI R2 and windows vista ,7 , 2008
Hi , I have a problem with the crystal report design , I use CRXI R2 SP6 and with windows vista , windows 7 and windows server 2008 . The problem is that when I built the report and I go to set page from file , in the page setup form I don't have the
-
Applet servlet comincation.
i tried to send a object from servlet amd read it in an applet using Object streams.iam getting java.io.StreamCorruptedException: Caught EOFException while reading the stream header. aplet code: import java.io.*; import java.applet.*; import java.net
-
Starting DevStudio ends in error message
Hello Experts I'm working with the SAP Netweaver Developer Studio since the year 2005. We haven't made any changes to the configuration besides updating it to higher service pack levels, but we had no problems with that. Now the DevStudio does not st
-
Regex: searches for first letter in word return all letters
I want to init-cap the words in a sentence, and I use the pattern "\\b[a-z]" to search for the first letter of each word. However, it actually matches all the letters, so that the entire sentence is capitalized. If I reverse the pattern to look for t