BDoc Monitoring 24x7
We are looking to implement a solution in CRM V5 that involves the creation of bespoke BDoc Types, the contents of which then populate customer defined Z tables within CRM. The business process that this supports is a critical process that can be initiated 7 days a week, 24 hours per day.
Failed BDocs or unprocessed BDocs would severely impact (negatively) this solution, as well as subsequent dependent processes that occur both within CRM and then in the linked OLTP system.
Standard transactions such as SMW01 allow us to monitor BDocs etc, but we require something more dynamic than this to prevent someone having to constantly monitor this transaction for failures 24 hours a day as this is just not realistic.
There must be other companies who have a similar dilemma and need to be made aware of when failures / issues occur irrespective of time of day or day of week, e.g. if a failure occurs at say 03:00am on a Sunday.
Is there a standard way that we can monitor the system and should a failure occur this is picked up and the appropriate support / call out person notified, e.g. workflow? If not has anyone developed their own non standard solution that can be shared or at least guidance given as to the approach to take?
Many Thanks
Ian
Shantala
Thanks for taking the time to reply, especially so promptly. However, although I accept that we can create a program to interrogate SMW3_BDOC I am still faced with the fact that if this program finds an error how this info is then notified to the person on support / call-out so that they can then log onto the system (e.g. at 03:00am) and analyse the error.
In my view the steps would be a) find a simple way (standard if possible) of identifying errors and / or issues such as unprocessed messages and then b) when this occurs triggering a notification to the support person that a problem has arisen. Your answer would help with point a) but I am still unclear as to how this would then help satisfy point b) especially if they are asleep in bed at the time.
Currently if a program falls over then this is captured by our organisation, an incident raised and call-out invoked to the relevant support person. I suppose we could implement a similar scenario off the back of the bespoke SMW3_BDOC program where if an error occurs the program aborts with suitable error message which then invokes callout. I am just wondering however whether there are more standard ways by which we could do this, because as I said in my initial post, there must be organisations who have similar business critical requirements.
Ian
Similar Messages
-
Hi ,
Can anyone provide some document for tips and tricks for debugging BDOC QRFC queue monitoring .
Thanks in advance !
regards
PiyushHi Piyush,
unfortuntately I don't know about a debugging document but perhaps you want to have a look into the "Setup Guide - Interface Monitoring" under https://service.sap.com/bpm > Media Library > Technical Information which explains how to monitor BDOCs and qRFC (and other interface technologies) automatically with the help of BPMon in SAP Solution Manager.
Regards
Volker -
Any possibility of getting automatic alerts for Bdocs?
Hi all,
Any possibility of getting automatic alerts for Bdocs Instead of doing manual bdoc monitoring using SMW02/SMW01.
For example Sales order is created in CRM, transferred to R/3. bcoz of some problems order is not posted successfully in R/3 . Any possibility of getting automatic alerts for Bdocs Instead of doing manual (checking) bdoc monitoring using SMW02/SMW01.
If yes, Plz let me know how to procees automatic alerts for Bdocs .
Thanks in advance,
P.VHi,
This is very much possible and though a very simple transaction:
Tcode: SMW00 Error Handler
Select 'Error Action for a Specific BDoc Type'
Press Execute
Press Maintain Configuration button or press F9
In the next screen, you can specify what BDOC types you want the alert to come for, what status of BDOc should the alert come for, the error action can be set as Workflow or Mail
Select 'Mail'
Select the Typr of reciopient (e.g. B Sap User)
Enter the recipient (User name)
Check Express for an alert to popup
Cehck always Process
SAVE and Execute
These settings will help you get an email and an alert popup whenever a BDOc fails
Thsi must work for you
Kindly reward with points in case helpful
Sharif -
Hi Experts,
In transaction BDoc monitor SMW01, the bdoc is showing in error state E02 (Partially send) and showing error "Personnel no. cannot be determined for Business partner xxxxxxxxxx". Please let me know how to resolve this error or tell me the step by step process to rectify this bdoc error.
Thanks,
VarunHello Varun,
You are getting this error because the corresponding persons do not exist in CRM with the corresponding personnel numbers
mentioned in the Bdocs errors. These personnel numbers do not correspond to customers from R/3, but to employees which are assigned to R/3 customers via employee specific partner functions.
Now the HR specific employee master data should be synchronized between R/3 and CRM first. In addition the HR integration must be active in your system so data for these employees is not rejected. You have information about it in the customizing documentation:
IMG: Customer Relationship Management > Master Data > Business Partner > Integration Business Partner-Employee >
Set Up Integration With HR.
You have to synchronise the HR and CRM data, this note 550055 contains necessary information.
thanks
Willie -
Automatically reprocess bdoc errors
Hi,
Every day we get a bunch of BP locking errors, its the R1 84 "BP is Currently Being Processed By".
We now want a report or something that reprocesses these errors automatically.
Does someone already have this kind of report? It would be very nice if someone could send me the program or at least some tips!
[email protected]
Thx!
MartinHi
create a report that calls specific FM to lookup specific bdocs, namely those that contain the error message that the object is locked, and reprocesses them. This report was then scheduled as a job every hour.
Make sure that you also read the number_of_tries attribute of the bdoc to make sure you're not reprocessing a bdoc infinetly.
Of course you could also go for the workflow solution and extend the standard workflow by adding a task that reprocesses the bdoc. We have never opted for this solution because volums of bdocs that fail can sometimes peak (eg R/3 system is down while CRM is still running), this causes a mayor load on the CRM server since many workflows must start at the same time. This could lead to a non responsive system or even crash the CRM server. I would not advise you this solution in a production environment.
To know what function modules are used to reprocess bdocs I have a little trick:
Open the bdoc monitor (SMW01) and get a list of the failed bdocs. Select one bdoc and activate debugging. Click on reprocess and check in debug which function module is called.
You can repeat the same process to know the FM that creates the list of failed bdocs.
This solution is suggested by Joost Stellaert(reg -3-12-07) i tried to give you the link but its not working thats why i am directly giving you the solution.
I hope that this information helps you.
Regards
Nadh. -
BDoc Error - Specify Contact Person - BP Relationship.
Hi Experts,
I am having a BDoc with an error msg of "Specify Contact Person". I have checked the extended data of BDoc; it refers to a two BPs id and a Contact Person relationship. I have checked for the relationship between them; it exists.
I am trying to re-process the BDocs but still they remain in the same error stage.
Kindly suggest.
Thanks,
Chaudh.Hi,
I have gone through your query.
I hope the error is "Specify the name of the Contact Person". If the direction of the replication is from CRM to ERP and you have not filled any of the name fields for contact person here in CRM, this error might occur. Because in ERP system the last name field is mandatory.
So you need to fill the Name fields here and check the Bdoc monitor.
Regards,
Venkat -
Hi I have a issue regarding how to find the Account details from BDOC
Hi I am new to Middleware and i am facing a issue.
I have a requirement where i have to find the account details like 'acc id, acc name', etc & the 'transaction status' from the unprocessed BDOCS from CRM to ECC.
Actually the data flows from Oracle - Siebel - Crm - Ecc. Their is no problem from Oracle to Crm but the problem lies btw CRM & ECC.
The problem is we have some un-processed Bdocs fron Crm to Ecc for which for every account details changed a new Bdoc have been created and those changed Bdocs have to be found and we should know the account details (like Acc id, Acc name) & Transaction Status for all the generated Bdocs and get them into one Excel sheet. suggest me for any tables to see the details.
Thankyou,
vamshiHi Vamshi,
the BDocs are stroed in tables SMW3_BDOC, SMW3_BDOC1, ..., SMW3_BDOC7. SMW3_BDOC contains the header data of the BDoc, the other tables further information. Getting the informations you want from the BDocs won't be easy, as you will have to map the BDoc structure to the correct ABAP structure depending on the BDoc type.
Having said this I wonder what you are trying to achieve. For example, which state are the BDocs in? Unprocesses, partially processed, failed? What do you want to do once you have the list of BDocs? Check the accounts manually, reprocess the BDocs (all or only some of them), trigger the updates in the source system again? Depending on the answers to these questions it might well be possible that you could simply use the standard tools provided by SAP. The BDoc monitor (SMW01), for example, allows to select BDocs by type, status, queue name. Depending on you MW configuration the queue name might already contain the account ID ans so there would be no need to write a custom report.
Best,
Christian -
Analyze messages for used BDOC's?
Hi,
How and where to analyze messages for used BDoc?
How will know particular BDoc is used and where the log is displayed?Hi Sreevani,
Use transactions for Bdoc monitoring:
SMW01
SMW02
SMW02A
SMW03
The usage is in the documentation. Each Bdoc has different update purpose.
SMBD is the Bdoc modeler, where you can see and change all Bdoc.
Hope this helps.
Martin -
We are facing Timesten LOCK timeout issue in client environment very frequently but it has not happening in local test environment tried to reproduce for many times. Below is the Error message
An exception occured while inserting data to USER_DATA_SATGING_TABLE : [TimesTen][TimesTen 11.2.1.8.0 ODBC Driver][TimesTen]TT6003: Lock request denied because of time-out
Details: Tran 199.4005 (pid 11169) wants Xni lock on rowid BMUFVUAAABPBAAAOjo, table DATA_STAGING_TABLE. But tran 194.2521 (pid 11169) has it in X (request was X). Holder SQL (DELETE FROM USER_DATA_STAGING_TABLE WHERE STATUS= 'COMPLETE') -- file "table.c", lineno 15230, procedure "sbTblStorLTupSlotAlloc":false
SYS.SYSTEMSTATS output on lock details:
< lock.locks_granted.immediate
, 5996359, 0, 0 >
< lock.locks_granted.wait
, 0, 0, 0 >
< lock.timeouts
, 8, 0, 0 >
< lock.deadlocks
, 0, 0, 0 >
< lock.locks_acquired.table_scans
, 10256, 0, 0 >
< lock.locks_acquired.dml
, 4, 0, 0 >
After doing rollback of transaction using ttXactAdmin, it is going fine without any issue and it is reoccurring in 2/3 days later.
Previous lock information by using ttXactAdmin command.
PID
Context
TransID
TransStatus Resource ResourceID
Mode SqlCmdID
Name
Program File Name: java
9291
0x16907fd0
198.6732 Active
Database 0x01312d0001312d00 IX
0
Command 1056230912
S
1056230912
0x16988810
199.4371 Active
Database 0x01312d0001312d00 IX
0
Row
BMUFVUAAABxAAAADD9 X
1055528832
USER.USER_DATA_STAGING_TABLE
Table
718096
IXn 1055528832
USER.USER_DATA_STAGING_TABLE
EndScan BMUFVUAAAAKAAAAGD1 U
1055528832
USER.USER_DATA_STAGING_VIEW
Table
718176
IXn 1055528832
USER.USER_DATA_STAGING_VIEW
Command 1056230912
S
1056230912
0x1882e610
201.16275 Active
Database 0x01312d0001312d00 IX
0
TTVERSION : TimesTen Release 11.2.1.8.0 (64 bit Linux/x86_64) (tt11:17001) 2011-02-02T02:20:46Z
sys.odbc.ini file configuration:
UID=user
PWD=user
Driver=/opt/TimesTen/tt11/lib/libtten.so
DataStore=/var/TimesTen/tt11/ds/TT_USER_DS
LogDir=/var/TimesTen/tt11/ttlog/TT_User
CacheGridEnable = 0
PermSize = 1000
TempSize = 200
CkptLogVolume = 200
DatabaseCharacterSet=WE8ISO8859P1
Connections = 128
Here we are using XLA message listener to get notification a USER.USER_DATA_STAGING_VIEW which in turn looks for a table USER.USER_DATA_STAGING_TABLE. Delete operation on this table locks table and blocks for further insert.
I want to know
1) why this happening ?
2) why is this happening in specific environment and not able to reproduce the same in other environment.
3) how to resolve this issue?
This is very critical issue which blocks us for further move in client solution. Expecting your reply ASAP.For critical issues you should always log an SR as Steve advised. These forums are not monitored 24x7 and are not the best way to get rapid assistance for critical problems.
For this issue it seems like a DELETE operation on the table was holding a lock on a row that an INSERT operation needed to get a lock on (looks like an INDEX 'next key' lock). The inserter was not able to acquire the lock within the defined timeout (which by default is 10 seconds unless you have configured it to be different). 10 secodns is a long time so the question is why the DELETE operation was not committed (which would release) the locks within 10 seconds. Maybe it was deleting a very large number of rows? If that is the issue then the best solution is to break such a large delete up into a series of smaller deletes. For example:
repeat
DELETE FIRST 256 FROM USER_DATA_STAGING_TABLE WHERE STATUS= 'COMPLETE';
COMMIT;
until 'rows deleted' = 0
Alternatively you could just increase the lock timeout value (but that is really just 'hiding' the issue).
Chris -
How can I Force/relaunch BP replication from CRM to ECC
Hi everybody,
We had some replication problem with sold-to-party BPs when creating them in CRM (Tr Code BP). The CRM002 id was not implemented in most cases. A job was planned to relaunch the Bdocs automatically every hour. It seemed to be ok for a moment.
However we still have some sold-to-party BPs that are not replicated at all in ECC (Master Data and sales data). The usual procedure we set to trigger the replication is checking a case in BP Tr. but when I uncheck the case and check it again, the replication doesnt happen.
Is there a way to force manually the replication of a sold to party BP from CRM to ECC?
Second question in replication subject : We also have partial replication in ECC. For example the Tax classification partially replicates. It's like if the replication process in crashing on the way and the result is no CRM002 id back in the BP master data in CRM. Do you have any idea of where it's coming from?
Is there a Transaction like SMW01 (CRM) in ECC in order to trace replication problems of processes?
Many Thanks.
LaurentHi,
Firstly , please check if you have any filters in for adapter object customer_main in trx. R3AC1 (which prevants data replication)
Next, check if your inbound (SMQR) or outbound queues (SMQS) of CRM are de-registered.
You can use trnx.
CRMM_BUPA_SEND
to manually replication a BP to the ECC system.
No.. there is no monitor in ECC like the Bdoc monitor (SMW01) in CRM.
Hope this helps. Reward if helpful!
Thanks,
Sudipta. -
Inbound Queues stuck with RFC errors
Hi Experts,
Greetings for the Day !
We have BDOC related issue and we need your expert help ASAP in resolving the same.
We ahev a few BDOCS lying in intermediate state in transaction SMW01, which we found using BDOC monitoring on daily basis. When we check the same in SMQR - inbound queue, we found that the queues are stuck with an RFC error message.
We are re-activate these queues to actually resolve the intermediate bdocs. But, my query is
1> The raeson for getting these BDOCS in intermediate state & stuck queues
2> A permanent resolution for the same.
Please help and let us know if you need more details.
Regards,
KanikaHi Kanika,
RFC error can be due to a bad connection as well. If the server is down, there might be a problem in communication with the connected system and the queues will not be processed further. You need to reactivate or unlock to get the queues processed.
But if there are any specific errors for which the queues are stuck do state the same, so that we can look into an actual resolution.
Regards,
Venkat -
In which table of CRM the Serial number and Equipment information stores.
Hi Experts
Recently I have downloaded all the serial numbers and Equipment numbers from backend system by doing the initial download of the object SERIALNUMBER and EQUIPMENT.
I can see the BDOC monitor in which all BDOC are in green ststus and R3AM1 the object ststus is also green.
My problem is I am unable to find the downloaded information in CRM system.Can anyone help me in finding out where can I get these information.
Thanks
SubhabrataHi Subhabrata
If I understand correctly your Serial number is not linked to any equipment which can be opened using IE03.
"Serial number download functionality allows you to replicate pure serial numbers (serial numbers that are not associated with equipment) along with their associated business partners and configuration from SAP ECC to SAP CRM as objects."
See this link:
http://help.sap.com/saphelp_crm70/helpdata/EN/ad/bc673f19299d51e10000000a114084/frameset.htm
In that case you should not download object EQUIPMENT. You just need to download object SERIALNUMBER. Check the number of entries in table COMM_PRODUCT before and after download. Search for Equipment number in field PRODUCT_ID. Check table COM_TA_R3_ID with the product guid from previous search.
I hope it helps
Regards
Rupesh -
How to modify the SQL being generated from BC, to fix the issue
Hi,
We have seen a strange issue in our implementation.The issue is also reproducible in Vanilla environment.
In Contact List Applet, if we Query in First Name or Last Name fields in UI, the Query being generated is,showing that, Siebel is Querying for first name in S_POSTN_CON.CON_FST_NAME. This is a normalized column for S_CONTACT.FST_NAME.
This is causing the performance issue.
When I check the configuration in Tools for Contact BC's First Name field, it is configured as follows.
Join = S_CONTACT
Column = FST_NAME.
I do not understand, Why it is still querying in S_POSTN_CON.
Any suggestions on how to fix this issue to make the Query to be performed on S_CONTACT.FST_NAME?
Regards
VamshiHi Vamshi,
As Robert mentioned, there just happens to be a number of things that need to be analyzed prior to changing the shape of the buscomp that triggers that sql.
If this siebel performance issue occurs on a production environment, you should certainly look at the performance trend/characteristics of that sql over time and assess its the impact on your business community (...), then carefully identify its -true- root-cause, implement a fix and validate it against a production-like environment in order to verify there is no regression associated with it; once the fix is deployed on your production system, you want to monitor its benefit overtime and on a 24x7 basis…all this may sound very generic yet good practices.
If you are looking at -effectively- solving this siebel peformance issue (and others...) in a timely manner, best is to have your Siebel Teams 1)use a Siebel-specific performance monitoring software technology built by Siebel Architects (like GMT v1.8.5, more info @ www.germainsoftware.com) that is able to collect 24x7 all the data needed for root-cause analysis(and more..), and 2)have senior siebel architects (like Robert's team) that have successfully solved tones and severe performance and scalability issues for many years, provide technical guidance to your team throughout the resolution process.
Siebel CRM is a great CRM software solution that is very complex. Every "switch you turn on/off", every customization you built into it may generate performance issues if it is not carefully implemented, optimized, tested...and monitored 24x7 once it is deployed onto your production system.
Good luck w/ this..
Regards,
Yannick Germain
CEO & Founder
GERMAIN SOFTWARE llc
Complete Siebel Performance Monitoring Tool
21 Columbus Avenue, Suite 221
San Francisco, CA 94111, USA
Cell: +1-415-606-3420
Fax: +1-415-651-9683
[email protected]
http://www.germainsoftware.com -
Entry SE01 1890 does not exists in T005G(Table)
Hi,
We are getting Bdoc error "Entry SE01 1890 does not exists in T005G(Table)" in CRM system.We are using CRM 7 and ECC 6.
Please help me in resolving this issue.
Thanks,
RahulHi,
Thanks for the reply.
We are getting this error in BDOC monitoring.Similarly we haev more errors related to same error like" Entry SE01 1880 does not exists in T005G(Table)".
.Actually when i check this table city code 1880 is mentioned under region 18 in the country key SE.
Please help me -
Middleware Monitoring (Trn: SMW01) BDoc Msgs
Hi All,
We are currentely working on CRM 4.0 and i am facing an issue in the area of Middleware Monitoring (Trn: SMW01) where we monitor BDoc Msgs. There are aproximately 1000 BDocs in error state with "BDoc Validation Error" for a particular period e.g. from 1st Feb 2008 to 29th Feb 2008.
I was told that i can reprocess them (by selecting some BDocs regularly).
While Reprocessing them there is a pop-up stating "Reprocessing BDocs can cause inconsistency"
But still our team is going for "YES" option.
Can we do this?
or Is there any other way we can make them clear. Kindly advise me in this issue. It is bit URGENT and need to be addressed immediately.
Thanks and Regards,
Ramana RaoHi
It is not suggested to reprocess the error BDoc.
BDocs in Error status should be marked as deleted to avoid re-processing that might lead to inconsistencies.
By marking the BDoc as deleted saving its IDs the object ID is added to the BDoc Recovery Work List which allows for further analysis in transaction SMW3RC.
Two main selection options are possible from SMW3RC: Displaying the work list and displaying the process list.
The work list is the list of BDoc messages which needs to be recovered. As soon as a BDoc message is deleted in SMW01 by saving the identifiers, it is stored into that work list.
This list can be analyzed by the administrator who must decide which operation is adequate for processing the data. Possible operations are:
1. Extracting the data from CRM (Post)
2. Create a Request from R/3
3. Create a DIMA comparison
4. Mark the BDoc message as completed
As soon as the administrator has selected the desired operation, the entries are removed from the work list and stored into the process list.
From the process list, it is possible to start the desired operation.
For mass processing of the process list use transaction SMW3RCW
Maybe you are looking for
-
S_ALR_87011994 - Asset Balances, filter
Hello, I have met problem with this report. Don't understand why in already opened report by setting filter according Cost center report is empty. Filter according other fields is working. I tried to find something in OAVI transaction, changed settin
-
Error when opening business rules table in BPC 4.2
Hi, I get the error "Unexpeted server error" when I try to open the business rules table in BPC 4.2 SP6. I've tried the optimisation, processing the cubes and restarting the send governor services. Rregards, Mosa
-
Comparision Merge clause vs If not exists
Hi Team, There exits various stored procedures, wherein developer has used if exists then update and if not then inserted records. I would like to know, what is good option, considering with the fact that, stored procedure must be optimized and need
-
Apple keyboard or mouse won't wake up iMac from sleep.
After I put my iMac to sleep the keyboard or mouse won't wake it up. I have to push the power button to awaken it. Wake from sleep is enabled in bluetooth preferences so that is not the problem. Otherwise keyboard and mouse are working fine. Any help
-
I'm trying to install a trial version of Illustration CS6, but keep getting the message, "application cannot be installed because the installer file is damaged." What does this mean? Can I fix it?