Message Count in application log of a job
After running mass job (example: EA29 - Mass processing of bill printout), there is an option to display the application log. The application log shows counts for the following: "Success Message", "Statistical Data", "Information", "Normal Error".
Are these counts stored somewhere like a database table?
Hi Blumtain,
You can find logs in the database with the function module BAL_DB_SEARCH.
You pass the log header filter criteria (structure BAL_S_LFIL), and a table of log headers (structure BALHDR) which satisfy the criteria is returned. You can pass this to the function module BAL_DB_LOAD, which loads these logs into memory.
Regards,
Manish
Similar Messages
-
Custom error message in SAP application log
Is there a way to add a custom error message to the SAP application log without passing the message variables MSGV1, MSGV2, MSGV3, MSGV4 and the Message class and number.
We want to pass a custom message from the BAPIRET2-MESSAGE without giving it a Message class and number. The reason for this is that we are using class based exceptions instead of the traditional message class with errors. When we catch the class based exception, we take the error text of the exception and put in in the BAPIRET2-message and set the BAPIRET2-TYPE as 'E'. Now we want to add this to the SAP application log.
The call to 'BAL_LOG_MSG_ADD' takes a structure BAL_S_MSG which is just like BAPIRET2. However this function builds the entry to the application log use the message variables MSGV1, MSGV2, MSGV3, MSGV4. There is no provision to pass in the BAPIRET2 message.
Add message to application log
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
i_log_handle = app_log_handle
i_s_msg = log_message
Thanks,
JayHi Jay,
Did you see <b>BAL_LOG_EXCEPTION_ADD</b>?
This FM is represented by the structure <b>BAL_S_EXC</b>. This can have various versions as described below:
<b>Data of BAL_S_EXC Structure / Use</b>
<b>EXCEPTION</b> / Exception class from which an exception text
is added to the log. This field must be filled.
<b>MSGTY</b> / Message type (MSGTY) of a T100 message.
This field must also be filled for exceptions.
<b>PROBCLASS,
DETLEVEL,
ALSORT, TIME_STMP</b> / Message or exception attributes, such as
problem class (PROBCLASS, for
example, "very important"), level of detail
(DETLEVEL, from 1 to 9), sort criterion
(ALSORT, unrestricted) and timestamp
(TIME_STMP). These fields can be displayed
in the log (except TIME_STMP).
<b>MSG_COUNT</b> / This attribute is not used for exceptions.
Follow the link below for more details:
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/d6/5d7f38f52f923ae10000009b38f8cf/frameset.htm">SAP Help DOc</a>
Hope this helps.
Thanks
Sanjeev -
Error Message in portal application.log
Hi all,
There are error messages continually been written to application.log.
Here is the path.
$ORACLE_HOME/j2ee/OC4J_Portal/application-deployments/portal/OC4J_Portal_default_island_1/application.log
We couldn't find out what's wrong.
Portal Version is 10.1.2.2.0.
application.log
07/01/31 16:54:54 portal: [module=RepositoryServlet, ecid=103102642203,1] ERROR: Repository Gateway error: Request Processing Error:
maxlength.htc: PROCEDURE DOESN'T EXIST
07/01/31 17:23:44 portal: [module=RepositoryServlet, ecid=133169185626,1] ERROR: Repository Gateway error: Request Processing Error:
maxlength.htc: PROCEDURE DOESN'T EXIST
07/01/31 17:23:58 portal: Broken pipe
07/01/31 17:23:58 portal: Broken pipe
07/01/31 17:23:58 portal: id=146054097151,1 Exception processing portlet response
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at com.evermind.server.http.EvermindServletOutputStream.write(EvermindServletOutputStream.java:216)
at com.evermind.server.http.EvermindServletOutputStream.write(EvermindServletOutputStream.java:151)
at oracle.webdb.repository.service.RepositoryHttpResponseWrapper$RepositoryOutputStreamWrapper.write(Unknown Source)
at oracle.webdb.page.CharConvertingOutputStream.write(Unknown Source)
at oracle.webdb.page.v2.BaseDataProcessor.addToOutputStream(Unknown Source)
at oracle.webdb.page.v2.BaseDataProcessor.includePortlet(Unknown Source)
at oracle.webdb.page.v2.BaseDataProcessor.parseLayout(Unknown Source)
at oracle.webdb.page.v2.BaseDataProcessor.assemblePage(Unknown Source)
at oracle.webdb.page.v2.BaseDataProcessor.process(Unknown Source)
at oracle.webdb.page.PageBuilder.process(Unknown Source)
at oracle.webdb.page.Main.doRequest(Unknown Source)
at oracle.webdb.page.ParallelServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:834)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:340)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:260)
at oracle.webdb.portal.servlet.PortalServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:834)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:340)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:228)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
----------------------$ORACLE_HOME/j2ee/OC4J_Portal/application-deployments/portal/OC4J_Portal_default_island_1/application.log
os the log of the "parent application". This is rather high level in the container. The message in the logfiles tells you that a procedure doesn't exist.
This can mean 3 things:
1. The procedure really doesn't exist
2. The procedure expects different parameters then passed
3. In the procedure a specific array member is called (but not found). (don't know how to explain this better in English, sorry for that).
It has been a while since I touched portal. In the past portal used a DAD (located in your HTTP-Server configuration). By changing the error style of the dad, you might find a more comprohensive error message. -
How to add custom error message in standard application log of change doc.
Hi,
While saving chnage document I need to add raise an error on specific condition. As Error messages is being shown in application log I added custom message in include LCRM_1O_UIF15 by using BAL_LOG_MSG_ADD FM however it is not showing in the screen. What could be the reason? Can anybody please explain?
Rgds
SudhanshuMuhammed,
Have you tried throwing a JboException in your AM code?
John -
Any guidelines using RSAL_LOG_WRITE to post message in the application log
Hi SDN!
I've programmed a rather complex extractor. As most you will know, the real test is when the extractor goes live in productions;-) So in order to be able to check if everything works as designed - I've customized the extractor in order to post more or less entries in the application logs - This setting can be alterered in the uses system directly.
I've tested the functionality using RSA3 and the application log is filled as expected. The Application log object is RSFH and everything shows up fine. When tring to use it from BW - The application log gets no entries under object RSAP (Where they normally will end up).
I'm using the function module RSAL_LOG_WRITE to add entries to the same log as the macroes LOG_WRITE uses.
Does anybody have any experiance adding entries to the standard application log in the source system when extracting data into BW?
Best Regards
Søren HansenSorry Arkesh,
I to don't know that how to install the jar files, actually thats the role of BASIS guys.
Watch the below threads for which jar files we need to deploy and how to deploy the jar files
Re: Required jar files for using jdbc adapter
Re: Error in JDBC adapter -
Warning message into Application log of Service request
Hi Experts,
I have a requirement where I am using Event handlers(CRMV_EVENT) to redetermine partners of a service request whenever certain values are changed in the transaction CRMD_ORDER.
Partners will be retrieved from a custom table.
In any circumstances, if the partners cannot be determined then we need to push a WARNING message stating that "Partners can not be determined, pls maintain the values in the custom table'.
For this purpose I am using the function module CRM_MESSAGE_COLLECT with the following parameters, but still I am not able to see the same into the Application log of the Service request that is going to be created.
CALL FUNCTION 'CRM_MESSAGE_COLLECT'
EXPORTING
iv_caller_name = 'ORDERADM_H'
IV_REF_OBJECT = iv_header_guid
IV_REF_KIND = 'A'
IV_LOGICAL_KEY = '0001'
IV_MSGNO = '001'
IV_MSGID = 'ZSP'
IV_MSGTY = 'W'
IV_MSGV1 = SY-MSGV1
IV_MSGV2 = SY-MSGV2
IV_MSGV3 = SY-MSGV3
IV_MSGV4 = SY-MSGV4
IV_MSGLEVEL = '1'
IV_FIELDNAME =
IV_ACTION =
IV_LOG_HANDLE = lv_log_handle
IV_CUMULATE = 'X'
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Do I missed in passing of any additional parameters?
Can any one of you have encountered the same problem and solved this, pls through some light on me too(if possible with block of code).
Thanks in advance.Hi,
Here is the block of code that I used to push a message in to Application log.
Push your message into a variable called dummy and then call the below mentioned function module.
DATA: lv_dummy(254) TYPE c, "#EC NEEDED
MESSAGE w052(sppf_media) WITH text-001
text-002
INTO lv_dummy.
CALL FUNCTION 'CRM_MESSAGE_COLLECT'
EXPORTING
iv_caller_name = 'ORDERADM_H'
iv_ref_object = iv_header_guid
iv_ref_kind = lc_ref_kind_a
iv_msgno = sy-msgno
iv_msgid = sy-msgid
iv_msgty = sy-msgty
iv_cumulate = lc_x
IMPORTING
ev_msgty = lv_msgtyp
es_msg_handle = gv_msghandle
EXCEPTIONS
not_found = 1
appl_log_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
Hope this helps to resolve your issue.
Regards,
Usha. -
Table that stores the application logs messages for transaction CRMD_ORDER
Hi Guru's,
I would like to know which CRM table that is used to store application logs (consist of error / warning / information messages) in transaction CRMD_ORDER? I would like to retrieve the text messages of the application log.
Thanks.Hi there,
The logs are on tables BALHDR (header) and BALDAT (detail).
In BALHDR you can fill OBJECT with 'CRM_DOCUMENT' and EXTNUMBER with the document GUID (you can obtain it in CRMD_ORDERADM_H table).
The BALDAT is a cluster table, so the information is a little 'encoded' there for direct consulting without abap code.
Alternatively, you can use FM APPL_LOG_READ_DB to read the messages that are contained in any CRM document.
Kind regards, -
Write to application log in user exit
Hi all,
I want to write a collection messages to the application log in user exit EBIA0003, user exit for transaction EA00, but I only can write one if I just use
message eYYY(x) with lv_msgv1
lv_msgv2
lv_msgv3
lv_msgv4.
It will be placed in the log after the exit.
I've already tried with the BAL functions, but it doesn't seem to work or maybe I'm doing something wrong. Is there a way to write a collection of messages in to the application log in this user exit?
greetz PieterHi Pieter,
you can do using BAL functions if the lop is already opened. Try to find out what parameters the transaction uses for LOG access (handle!). Do the calls in the exit accordingly.
We append messages to the current log using FUNCTION 'BAL_LOG_MSG_ADD'. If the log handle is not available, you might access it using dynamic assign like
ASSIGN ('(<program>)<field>') TO <field> .
Regards,
Clemens -
Issue regarding application log in standard program RPCLMSU0
System Status: SAP ECC6, SP15.
This probem has been observed after we have upgraded from 4.6C.
In the include RPCLMSUF of the Report RPCLMSU0, there is an FM BAL_LOG_MSG_ADD, which adds messages to an application log.
A structure is passed to the FM, of type bal_s_msg.
The first 3 components of the structure are of type:
sy-msgt, sy-msgid and sy-msgno.
These should normally be filled in by values from the FM called just above it: BAL_LOG_CREATE.
But this doesnu2019t happen.
So, SAP has hardcoded values for these 3 as u2018Eu2019 (Message type), HRPAYNA_ALV (Message ID) and u2018998u2019 (Message no).
These are the values that get printed when the program is tested. i.e. the hardcoded text is getting displayed.
Output in the ALV : HRPAYNA_ALV:998 ***********No records found***********
We have checked the documentation for the FMs, and even gone through a few sample programs that SAP has created like SBAL_DEMO_02. The output is perfect here.
Since this is code that SAP has added (Entire form added "SL0K008292) by SAP to its standard code, they must believe that these hardcoded text will still not get printed. Can this error can be corrected by making some configuration changes in the system (SLG1?).
The code of the suroutine where this FM is called is given below:
FORM alv_appl_msg_add USING iv_text1 TYPE any
iv_text2 TYPE any
iv_text3 TYPE any
iv_text4 TYPE any.
Constants delcation.....
CONSTANTS: lc_msgid TYPE sy-msgid VALUE 'HRPAYNA_ALV', " Message ID
lc_msgty TYPE sy-msgty VALUE 'E'. " Message Type
Data declarations.....
DATA ls_msglog TYPE bal_s_msg. " Structure for msg log
ls_msglog-msgty = lc_msgty.
ls_msglog-msgid = lc_msgid.
ls_msglog-msgno = gv_msgno.
ls_msglog-msgv1 = iv_text1.
ls_msglog-msgv2 = iv_text2.
ls_msglog-msgv3 = iv_text3.
ls_msglog-msgv4 = iv_text4.
Function module is used to add the messages to message log
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
i_s_msg = ls_msglog
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. " IF sy-subrc <> 0
ENDFORM. " alv_appl_msg_addHi
Pass IDoc Number, Date, Time from EDIDC table to FM-
'APPL_LOG_READ_DB'.
You'll get all log details of that IDoc.
For only Message, check FM - 'IDOC_GET_MESSAGE_ATTRIBUTE'.
Regards. -
How to create application log in SAP
According to my reqirement,I need to display messages in the application log whenever some updation is done.
How to do create application log and display messages in the application log.Hello Smriti
If you have interface IF_RECA_MESSAGE_LIST available on your system then I highly recommend to use as message collector.
When you create an instance of the interface (CF_RECA_MESSAGE_LIST=>CREATE) you can provide an application log object.
The collected messages can easily be saved as log.
For an example have a look at my Wiki posting [Message Handling - Finding the Needle in the Haystack|https://wiki.sdn.sap.com/wiki/display/profile/2007/07/09/MessageHandling-FindingtheNeedleintheHaystack]
Regards
Uwe -
I have a scenario in which I have to display error logs when exception occurs.
There is a transaction SLG1 where you can see all the application log for a particular process. Has anyone worked on calling these types of transactions to display error or application logs. If so, please throw some light on this.
Thanks a lot
DenoHi Deno,
If you want to see the error message in SLG1. Follow the following steps:
1. Use the FM BAL_LOG_CREATE to create the application log.
2. Use the FM BAL_LOG_MSG_ADD to add the message to the application log.
3. Save the application log using FM BAL_DB_SAVE.
Now you can see your error message in the SLG1 transaction.
<b>Reward points if it helps.</b> -
Portion creation - Internal error: application log is not customized (IU15/)
When we try to create a Portion (E41B) we are getting a message "Internal error: application log is not customized (IU15/)" and a Portion can not be created.
Does anyone have idea what may be the reason for such message? How to solve the problem and create a Portion?
In Business Object Repository for SAP Utilities we can see object type "Portion" as well as "Application log IS-U" (ISUIDOCLOG).
Since these are standard object types it seem to us that application log should be written by Event Viewer (the same as System and Security log). Are we missing something out?
P.S. A word about our system:
SAP ERP 6.0 (IDES version) EHP7, OS: Windows server 2012, DB: Oracle (release 11.2.0.3.0) and switch for IS-U is recently activated.
Postal Regional Structure is successfully imported, Political structure defined, Country specific settings customized, Parameter record defined.
Regards,
JulijaProblem solved. Note 400322 was very helpful. We defined object IU15 and a appropriate sub objects, after that Portion was created successfully.
-
How to use Application log (slg0 & slg1)
Hi all,
Can u please give me some hints to utilize Application log?
Hope you will help me.
Thanq in advance,
Bye.hi John,
Check these FM's out
BAL_GLB_SEARCH_LOG
BAL_LOG_CREATE
BAL_LOG_EXC_ADD
BAL_LOG_HDR_CHANGE
BAL_LOG_HDR_READ
BAL_LOG_MSG_ADD
BAL_LOG_MSG_ADD_FREE_TEXT
BAL_LOG_MSG_CHANGE
BAL_LOG_MSG_CUMULATE
BAL_LOG_MSG_DELETE
BAL_LOG_MSG_DELETE_ALL
BAL_LOG_MSG_READ
BAL_LOG_REFRESH
SBAL_DETAIL Application Log: Display: Detail Screens
BAL_DSP_LOG_PARAMETERS Application Log: Display: Display log header parameter set
BAL_DSP_LOG_TECHNICAL_DATA Application Log: Display: Display log header technical data
SBAL_DISPLAY Application Log: Display Log
BAL_DSP_LOG_DISPLAY Application Log: Fullscreen log output
BAL_DSP_LOG_PRINT Application Log: Print log
SBAL_PROFILE Application Log: Display Profile
BAL_DSP_PROFILE_SINGLE_LOG_GET Application Log: Display profile: Standard profile (SLG1) for one log
SBAL_SERVICE Application Log: Service Functions
BAL_LOG_HDR_CHECK Application Log: Log: Header data: Check
BAL_LOG_MSG_CHECK Application Log: Log: Message: Check
SBAL_TOOLBOX Application Log: Toolbox
BAL_DB_LOGNUMBER_GET Application Log: Database: Get internal log number from number range
BAL_LOG_DELETE Application Log: Log: Delete log (from DB also at save)
BAL_LOG_EXIST Application Log: Log: Check existence (in memory)
BAL_LOG_MSG_EXIST Application Log: Log: Message: Check existence (in memory)
BAL_LOG_MSG_REPLACE Application Log: Log: Message: Replace last
BAL_STATISTICS_LOG_GET
BAL_STATISTICS_LOG_SET
Regards,
Santosh
Note: Reward Points if helpful -
HI SAP Gurus,
Please let me know the purpose of application log and the creation of it.
I am strugling with one standard report which have a BADI to it.
It is equipement status report(IW38).
In the production we find some equipments which are not serviceable even all the orders are done.
I need to find the reason for that. So, i was sugested to create application logs. But i dont know about it. Please let me know.
Will be rewarded with points.
Regards,
KishoreHi
Look at the Tcode <b>SLG1</b> which gives the application log
You have to create a Object, Subobject for your application to see your own tcode log
and you can use the following fun modules in your code as per the requirement
SBAL Application Log: Collect Messages
BAL_GLB_SEARCH_LOG Application Log: Global: Find log(s) (in memory)
BAL_GLB_SEARCH_MSG Application Log: Global: Find message(s) (in memory)
BAL_LOG_CREATE Application Log: Log: Create with Header Data
BAL_LOG_EXCEPTION_ADD Application Log: Log: Add Exception
BAL_LOG_EXCEPTION_CHANGE Application Log: Log: Exception: Change
BAL_LOG_EXCEPTION_DELETE Application Log: Log: Delete Exception
BAL_LOG_EXCEPTION_READ Application Log: Log: Exception: Read Data and Texts
BAL_LOG_EXC_ADD Application Log: Log: Exception: Add
BAL_LOG_HDR_CHANGE Application Log: Log: Header data: Change
BAL_LOG_HDR_READ Application Log: Log: Header Data: Read Data and Texts
BAL_LOG_MSG_ADD Application Log: Log: Message: Add
BAL_LOG_MSG_ADD_FREE_TEXT Application Log: Log: Message: Insert as free text
BAL_LOG_MSG_CHANGE Application Log: Log: Message: Change
BAL_LOG_MSG_CUMULATE Application Log: Log: Message: Add Cumulatively
BAL_LOG_MSG_DELETE Application Log: Log: Message: Delete
BAL_LOG_MSG_DELETE_ALL Application Log: Log: Message: Delete All Messages
BAL_LOG_MSG_READ Application Log: Log: Message: Read data and texts
BAL_LOG_REFRESH Application Log: Log: Delete log from memory
SBAL_DB Application Log: Database Interface
BAL_ARCHIVE_LOAD Application Log: Archive: Load Logs
BAL_ARCHIVE_SEARCH
BAL_DB_DELETE Application Log: Database: Delete Logs from Database
BAL_DB_LOAD Application Log: Database: Load Logs
BAL_DB_SAVE Application Log: Database: Save logs
BAL_DB_SEARCH Application Log: Database: Find Logs
Regards
Anji -
Log messages for 'auditing' are different in 'general' and'application log
Hi,
From UI, When I audit a file using a profile which comprises of user-defined 'rules/categories/analyzers', I will get log messages at ''File-name(Application) log window' and 'Messages' log window, which are located at bottom of Jdev UI page. One common message in both the log windows is
" <n1> violations, <n2> exceptions, <n3> documents, <n4> seconds>.
But here the 'n1,n2,...' numbers are dfferent in two windows though the log output is for a same file. In this the 'file-name' log shows the correct
Example:-
In 'file-name' log window ,it shows as:
3 documents, 8 violations, no exceptions
In messages window, it shows as
"Audit starting on EFC.jpr (Default)
Audit completed: no violations, no exceptions, 3 documents, 1 second"
If I use the 'pre-existed'(Jdev's) rules profile, I will get similar output in both log windows.
From this I concluded that there is something missing to register for a new 'rule/category/analyzer'.
Could you suggest me in this case. Do I forgot anything to do in any files of '<rule-implementation.java>', 'audit.properties', <add-in launcher>.java, extension.xml.
Actually, I want to use 'ojaudit' executable from command line to my project files. Here I observed that the output of the 'ojaudit' is similar to the above explained 'Message' log window in JDeveloper UI. But where the 'Message' log window output is not correct for user-defined rules.
Regards
MadhuRomano,
In the upcoming production release (planned to be released next week), we added caching of authorized roles and permissions in JhsAuthorizationProxy class.
I suggest you wait for this relase, if the problem persists, it is most likely an ADF issue (as is the logging)
Steven Davelaar,
JHeadstart team.
Maybe you are looking for
-
Hi Guys, Do you know to how update my iCloud ID to match my Apple ID if I don't know the password for the old ID and I don't have access to the old e-mail address?
-
Remote / Home Sharing not working on a particular user account
I have recently purchased a new MacBook Pro 13" (Core i5) and I'm having issues using the Remote app on my iPhone 3GS, as well as using Home Sharing. I used Migration Assistant to transfer my account and files across from my previous MacBook (with wh
-
How to include text file in classes directory of war file.
I have a project that uses a text file called cache.ccf (JCS configuration file) when debugging the webservices, I have to dig into the inflated war file directory and manually place the cache.ccf file in the WEB-INF/classes/ directory/ How can i hav
-
Portal Password Reset - Active Directory - Urgent
Friends We are using SAP Portal 6.0 SP 18. The Portal UME data source has been configured with Microsoft ADS. Now we have an requirement to change the user Password in the Active Directory from the Portal. How can we achieve this...? I am OK even t
-
DNG conversion fails sporadically with Get Photos From Camera
Camera: Canon 40D and 5D XP SP2 CS3 Bridge 2.1.1.9 ACR 4.4.1 DNG Converter 4.3.1 Importing my files to Bridge using the Get Photos from Camera (GPFC) option results in sporadic DNG conversion failure. There's no pattern, just a lump of files that don