Transactional RFC Monitoring
hi all,
Can anyone explain to me how transactional RFC works? As what i've understand it, the first transaction to get in is the first to be executed right?
Here's my scenario. I always monitors the transactional RFC,and from time to time, I observe irregularities. For example, at arround 9:00 am, bunch of transactions are displayed and the status are "status recorded". By 11:00 am, transactions are added again but this time one of the status of transactions timed 11:00am is "status executing" even if there are still remaining transactions that are recorded by 9:00 am. The way i understand it, the "first in" "first out" here was not applied.
Could anyone clear this? am i right about the "first-in first-out" scenario? if yes, how can i correct tmy problem? If not, can you explain??
Your response is highly appreciated.
cheers,
Jay
Hi Jay,
As given in the RFC adapter help
Transactional RFC calls (tRFCs) in messages with quality of service Exactly Once (EO)
The tRFC in SAP sense means:
This scenario is suitable if the data being sent is not interrelated. A calling application (or client) in system 1 uses a tRFC connection to a called application (or server) in system 2. In this scenario, the data is transferred using tRFC. This means that each function module sent to the target system is guaranteed to be processed once. The order in which the function modules are executed, and the time they are executed, cannot be determined. If a transfer error occurs, a background job is scheduled that resends the function module after a defined period of time.
What you are talking abt is EOIO. As per the RFc adapter help, it supports:
Transactional RFC calls (tRFCs) in messages with quality of service Exactly Once (EO)
The receiver RFC adapter can also process messages with quality of service Exactly Once In Order (EOIO). They are mapped to transactional RFC calls (tRFC).
Hope this is of some help.
Regards
Vijaya
Similar Messages
-
Monitoring of remote system's Transactional RFC and Queued RFC
Hello,
In our production system, in rz20- CCMS monitor templates- Communication-Transactional RFC and Queued RFc- outbound queues- Queues otherwise not monitored we can see blocked queues for each client.
System is connected to solution manager and we wish the central auto reaction is implemented in solution manager
However i am unable to find Transactional RFC and Queued RFC for the remote system, they exist only for solution manager itself
Tell me how can i do the central monitoringHello,
First you need to check with your Landscape in solman in order to monitor any kind of activities to do so pls follow these steps.
Go to SMSY in solman under Landscape components>Product systemsselect you satellite system example SAP ECC.
On the main screen you will find client for which you have generated RFC connection. Please check though connection are working fine, Go to edit mode and try to click on generate button there will be a pop-up, which gives a clear picture of RFC connection which already exists, and you can also re-generate this RFC connection by clean it up when you re-generate pls select under Actions after generation assign RFC dest for system monitoring.
But make sure there is no project impact on this RFC, like they are not using any logical components and already have some projects running on this RFC connection.
I would advise you to first you the option of assign and check RFC button which is next to generate icon.
Regards
JUDE -
CCMS qRFC Monitoring: Missing Transactional and Queued RFC Monitoring Nodes
Hi ,
We are trying to create a Queued RFC monitoring for VERTEX Queued , but we are missing CCMS Monitor Templates,in monitor Communications -->Transactional RFC and Queued RFC in Dev and PROD ,but its present in QA System .
I have checked all system are at same level for support packs , kernel version .
I have refered following Notes - 441269,437187,455431, 485826
Can we create manually new one , but we are missing MTE class also ?
Can we create new monitoring template ?
We are running 4.6c with basis support pack level :
SAP_BASIS 46C 0054 SAPKB46C54
SAP_ABA 46C 0054 SAPKA46C54
Thanks
HamendraHamendra,
Please make sure background dispatching is activated in your system. Go to tcode RZ21 and menu Technical Infrastructure --> Method execution --> Active background dispatching.
This should schedule a job called SAP_CCMS_MONI_BATCH_DP. This is the job that will run the function for building the ALE/EDI monitoring segment.
After scheduling the job check back in a few hours, if the ALE/EDI monitor is still not there try the following.
1. Go to tcode RZ21
2. In the topology section choose radio button "Segment overview" and click display
3. Go into change mode and delete the monitoring segments
This will force the system to recreate all the monitoring contexts.
Check back in a few hours and see if the monitor is working.
Tarkesh -
Transactional RFC material (urgent)
Hi gurus,
i need some good matrial on Transactional Remote Function Call. Please provide me the same,
any help will be highly appreciated
Regards
vjhi vj,
Transactional RFC
1 This type of RFC was renamed from asynchronous to transactional RFC, because asynchronous RFC has another meaning in R/3 Systems.
2 The called function module is executed exactly once in the RFC server system. Each function call is seen as a transaction in the target system.
3 Transactional RFCs use the suffix IN BACKGROUND TASK. The remote system need not be available at the time when the RFC client program is executing a tRFC.
4 The tRFC component stores the called RFC function together with the corresponding data in the R/3 database, including a unique transaction identifier (TID).
5 If a call is sent, and the receiving system is down, the call remains in the local queue until a later time.
6 The calling dialog program can proceed without waiting to see whether or not the remote call was successful. If the receiving system does not become active within a certain amount of time, the call is scheduled to run in batch.
7 The system logs the remote call request in the database tables ARFCSSTATE and ARFCSDATA with all of its parameter values. You can display the log file using transaction SM58.
8 When the calling program reaches a COMMIT WORK, the remote call is forwarded to the requested system for execution.
9 Transactional RFC requests are transferred, with parameter data in byte-stream form, using TCP/IP or X400.
10 LUW's are identified by transaction ID's that are unique world-wide. The transaction ID can be determined from an ABAP program by calling function module ID_OF_BACKGROUNDTASK. (You must call this function after the first asynchronous CALL, and before the related COMMIT WORK.)
11 The system function module ARFC_DEST_SHIP transports the data to the target system and the function module ARFC_EXECUTE executes the stored function calls. If an error or an exception occurs during one of the calls, all the database operations started by the preceding calls are rolled back and an appropriate error message is written to the file ARFCSSTATE.
12 Once you have identified the ID of the LUW, you can use the function module STATUS_OF_BACKGROUNDTASK to determine the status of the transactional RFC.
13 Call transaction SM58 (Tools _ Administration _ Monitoring _ Transactional RFC). This tool lists only those transactonal RFCs that could not be carried out successfully or that had to be planned as batch jobs. The list includes the LUW ID and an error message. Error messages displayed in SM58 are taken from the target system. To display the text of the message, double-click on the message.
14 If a LUW runs successfully in the target system, the function module ARFC_DEST_CONFIRM is triggered and confirms the successful execution in the target system. Finally, the entries in the Tables ARFCSSTATE and ARFCSDATA are deleted.
DISADVANTAGES
1 These can reduce performance significantly in both the send and the target
systems.
2 In addition, the sequence of LUWs defined in the application cannot be kept. Therefore, there is no guarantee that the transactions are executed in the sequence dictated by the application. The only guarantee is that all LUWs are transferred sooner or later.
SYNTAX
Eg : CALL FUNCTION remotefunction IN BACKGROUND TASK
CALL FUNCTION func IN BACKGROUND UNIT
parameter_list. The field dest can be either a literal or a variable. Logical destinations are defined in the RFCDES table via transaction SM59 or via the menu path: Tools ->Administration,Administration->Network->RFC destinations.
SAMPLE PROGRAM
RSTRFCT0
regards
gaurav
<b>plz award pts if helpfull</b> -
Hello,
I'm implementing RFC monitor with CCMS and I have a problem.
I was able to implement the method with an auto-reaction method of send mail.
It is working fine but it doesn't repeat the alert! Let's say, imagine that the RFC isn't working since 3am... we are now at 13pm and the alert is not triggered anymore. In fact, in RZ20 I just see 1 Alert triggered at 3am.
Is there any way to set this alert to trigger every period of time?
thanks.
regards,
Filipe VasconcelosHello,
first it would be good to clarify which monitor are you implementing - there are multiple RFC monitors - for example:
Availability and Performance Overview Monitor :
http://help.sap.com/saphelp_nw70/Helpdata/en/ae/cd823bd26a5c42e10000000a114084/frameset.htm
Transactional RFC and Queued RFC Monitor
http://help.sap.com/saphelp_nw70/Helpdata/en/8b/ceea3b31aac554e10000000a114084/frameset.htm
Best to type the name of monitor as displayed in RZ20.
Based on the type of monitor you might find the answer here:
http://help.sap.com/saphelp_nw70/Helpdata/en/f6/c55c3bab977239e10000000a114084/frameset.htm
(for example for status monitor you can set option "When should a message trigger an alert?" to "Always (at every message)")
Anyway I am afraid that in case you are using performance monitor there is not much you can do. Possibility can be to check if data collection method (for example function) has parameter that can do this (but I am skeptical about this) - if not then you would have to adjust data collection method or implement the monitoring in another way.
Possibility can be to use some kind of "switch". You can activate option "Display All-Clears in Alert Browser" - this will generate green alerts. Then you can program your own autoreaction method that will perform the "switch operation" (simple insert/update/delete into some Z-table you will create - based on status of alert - red/yellow/green.) Then you can have batch job running another Z-program that is reading this value and constantly reminding use via email.
If you program this in a good way (abstract autoreaction method) - you can reuse this solution for other monitors as well and easily buid you own email notification functionality.
I hope it helps.
Best regards. -
Hi
When from a SAP/R3 system I call a BAPI program using the transaction SE37 to SAP XI and the awnser is correct, I can not see in the monitoring transaction (sxmb_moni) of XI the message I sent, but when the execution fail I can.
Can someone tell me why?
And how can I see in the transaction IDX5 the rfc messages?
RegardsHi Gerardo
try this:
Displaying Inbound and Outbound Messages
Choose this option if you want to determine which XML messages entered or exited the RFC adapter according to particular selection criteria. Proceed as follows:
1. Choose RFC Monitor.
2. Select XML messages by specifying a time and date the messages were created, or enter a specific message GUID to determine a specific message to be selected.
3. Choose Inbound and Outbound in the group box RFC (default).
4. Specify your selection criteria in the group box RFC.
Selection Criteria:
Selection Criterion
Entry
Transaction ID
Transaction ID in RFC adapter
System ID
Name of sender or receiver SAP component (for example, BCE)
RFC Destination
Logical destination of original RFC call from sender
Function module
Name of function module called
Client
Client in sender or receiver SAP component
5. Choose Execute.
The system sorts and lists the XML messages according to the time that they were created. Messages that were routed through as RFC calls are listed together and are identified by the same message ID (GUID).
Besides the specified selection criteria, the system also displays the function calls for each LUW (Logical Unit of Work).
It is extracted from http://help.sap.com/saphelp_xi20sr1/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
Good luck! -
RFC monitoring in CCMS if the patch level R/3 release 4.6C ?
Hi all,
FOr RFC monitoring is possible in CCMS if the patch level R/3 release 4.6C ?
ST-PI 2005_1_46C
ST-A/PI 01M_R3_46C
SAP_NOTES 46C
SAP_HR 46C
SAP_BASIS 46C
SAP_APPL 46C
SAP_ABA 46C
Please let me know the requirements for configuration?
Regards,
NeniHello Neni,
It certainly seems possible to Monitor RFCs in relearse R/3 4.6C for tRRCs and qRFCs.
Check your CCMS setup guide
You can
1. Start TX RZ20.
2. Open monitor collection SAP CCMS Monitor Templates.
3. Open the Communications monitor.
4. Choose Extras -> Maintenance functions on.
5. Mark the MTE 'Transactional RFC and Queued RFC'.
There you can edit your hosts.
You can restart the Monitor immdiately with transaction RZ2.
Hope this is helpful.
Regards,
Paul -
hi experts,
In SM58(Transactional RFCs) Status text showing "document is being distributed changes are not possible".
why this error comming.
Any one can help me out in this.
Regards,
BabuHi Babu,
In general, when you create any BP or Material or Order in R/3, it will move to CRM.
Now if you try to edit that document in CRM, it will give the error message "document is being distributed changes are not possible".
This can happen vice versa too, I mean if you create data in CRM and if it moves to R/3.
If you have not done any settings regarding changing data after moving one system to another, this error message gets triggered.
Check the below link to have a clear picture.
Document is being distributed - changes are not possible
Hope this helps.
Thanks.
Best Regards,
Arun Sankar. -
Hi All,
I have set up the RFC monitoring thru BPM in SOLMAN.Ihave set up alerts too. Now i get alerts whenver my RFC is down in the satellite system,but i should also get a alert in case no RFC fails also that every thing is fine.
How can i set that up ?
Regards
KiranHello Kiran,
This doesn't make sense.
You want to be alerted when there is a problem.
A problem would be an exception. Something you do not expect to happen frequently, but when it does, you want to be notified/alerted.
The concept is everything is running smoothly most the time, and for those few instance when an alert is triggered you want to notice it and take some kind of corrective/remedial action.
Normally there should not be alerts. Most the time there should be no alerts. Because most the time everything should be fine.
If you trigger an alert when there are no issues with RFCs that are being monitored, you will be creating constant alerts that are useless, because they are just indicating that evertything is okay.
And each one will have to be checked, the thousands that tell you everything is okay. You will have to check each one, just to make sure its not a real alert based on a problem with the RFC's that are being monitored.
You do not set an alert when everything is okay. This defeats the entire purpose of being alerted to a problem . How would you know when there is a problem, when alerts are being generated all the time? This makes no sense and there is no useful purpose to doing so. I would strongly recommend you do not attempt this, and understand that no alert is your alert that everything is fine. That's the concept of alerts..alert on error condition, you don't alerts when everything is fine, because the fact there is no alert means everything is fine..
Regards,
Paul -
Example Of Aynchronous and Transactional RFC
hi all
please give me an <b>example for Aynchronous and Transactional RFC</b>.
<b>note: dont give me the definitions. </b>i have the same.please give me the example
regards
ravishHi Ravish,
I am using the FM RFC_READ_TABLE for the examples,
In our Examples we are using the following systems.
Description Server Name RFC Destination
Calling System PDC ENT Server NONE
Target System 1 PDC 210 Server PDC210
Target System 2 PDC ISU Server BPD150
<b>Common Code</b>
REPORT yarfc_with_resp_ran_test .
DATA : lit_options TYPE TABLE OF rfc_db_opt.
DATA : wa_options LIKE LINE OF lit_options.
DATA : lit_fields TYPE TABLE OF rfc_db_fld.
DATA : wa_fields LIKE LINE OF lit_fields.
DATA : lit_data TYPE TABLE OF tab512.
DATA : wa_data LIKE LINE OF lit_data.
DATA : lv_count TYPE i.
DATA : flg_check TYPE flag.
DATA : lv_time LIKE sy-uzeit.
CONSTANTS : lc_dbtable TYPE tabname VALUE 'MARA'.
*Refreshing the tables
REFRESH : lit_options,lit_fields,lit_data.
*Populating the Option Table
*Populating the Field Table
CLEAR wa_fields.
wa_fields-fieldname = 'MATNR'.
wa_fields-offset = 000032.
wa_fields-length = 000018.
wa_fields-type = 'C'.
wa_fields-fieldtext = 'Material number'.
APPEND wa_fields TO lit_fields.
<b>aRFC with Response</b>
* aRFC Example With Response
*Refreshing the Data Table
REFRESH : lit_data.
*PDC-ENT to PDC210
CALL FUNCTION 'RFC_READ_TABLE'
STARTING NEW TASK 'taskPDC210'
DESTINATION 'PDC210'
PERFORMING resp_pdc210 ON END OF TASK
EXPORTING
query_table = 'MARA'
TABLES
options = lit_options
fields = lit_fields
data = lit_data
EXCEPTIONS
table_not_available = 1
table_without_data = 2
option_not_valid = 3
field_not_valid = 4
not_authorized = 5
data_buffer_exceeded = 6
OTHERS = 7.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR lv_count.
lv_count = LINES( lit_data ).
WRITE : 'aRFC Example With Response'.
SKIP 1.
*MARA DB Count Before Receiving the result of Function Call
WRITE : 'MARA DB Count(PDC210)' , lv_count , sy-uzeit.
*Waiting for 1 Second to identify the time difference
WAIT UP TO 1 SECONDS.
*Synchronisation Point
WAIT UNTIL flg_check = 'X'.
SKIP 1.
WRITE : 'Time When We Set Flag Check i.e. we are in Receiving FM' , lv_time.
CLEAR lv_count.
lv_count = LINES( lit_data ).
SKIP 1.
*Waiting for 1 Second to identify the time difference
WAIT UP TO 1 SECONDS.
*MARA DB Count After Receiving the result of Function Call
WRITE : 'MARA DB Count(PDC210)' , lv_count , sy-uzeit.
*& Form resp_pdc210
FORM resp_pdc210 USING taskname.
RECEIVE RESULTS FROM FUNCTION 'RFC_READ_TABLE'
TABLES
options = lit_options
fields = lit_fields
data = lit_data
EXCEPTIONS
table_not_available = 1
table_without_data = 2
option_not_valid = 3
field_not_valid = 4
not_authorized = 5
data_buffer_exceeded = 6
OTHERS = 7
*Flag set for the Synchronisation Check.
flg_check = 'X'.
CLEAR lv_time.
*Time when flag get set.
lv_time = sy-uzeit.
ENDFORM. " resp_pdc210
<b>tRFC</b>
* Transactional RFC Example
*Refreshing the Data Table
REFRESH : lit_data.
*PDC-ENT to PDCISU
CALL FUNCTION 'RFC_READ_TABLE'
IN BACKGROUND TASK
DESTINATION 'PDCISU'
EXPORTING
query_table = lc_dbtable
TABLES
options = lit_options
fields = lit_fields
data = lit_data
EXCEPTIONS
table_not_available = 1
table_without_data = 2
option_not_valid = 3
field_not_valid = 4
not_authorized = 5
data_buffer_exceeded = 6
OTHERS = 7.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*Refreshing the Data Table
REFRESH : lit_data,lit_fields.
*Populating the Field Table
CLEAR wa_fields.
wa_fields-fieldname = 'INT_UI'.
wa_fields-offset = 000032.
wa_fields-length = 000022.
wa_fields-type = 'C'.
wa_fields-fieldtext = 'Internal key for point of delivery'.
APPEND wa_fields TO lit_fields.
*PDC-ENT to PDCISU
CALL FUNCTION 'RFC_READ_TABLE'
IN BACKGROUND TASK
DESTINATION 'PDCISU'
EXPORTING
query_table = 'EUIHEAD1'
TABLES
options = lit_options
fields = lit_fields
data = lit_data
EXCEPTIONS
table_not_available = 1
table_without_data = 2
option_not_valid = 3
field_not_valid = 4
not_authorized = 5
data_buffer_exceeded = 6
OTHERS = 7.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'RFC_PING'
IN BACKGROUND TASK
DESTINATION 'PDCISU'.
*Commit Work
COMMIT WORK.
<b>Do reply for any further help.</b>
Regards,
Ranjit Thakur.
<b>Please Mark The Helpful Answer.</b> -
Limit for a Transactional RFC to be executed
Hi all,
I would like to know if there is a profile parameter in SAP NW 7.0 that defines the limit the time an transactional RFC can keep running?
If there is no profile parameter for that my question is can a transactional RFC running forever without any time limitation?
Regards,
MauricioTo search basis parameters you can query table TPFYPROPTY with rfc paraname field.
-
Many queues in Transactional RFC (SM58)
Hello,
There are many queues under transactional RFC(SM58) what should i do?
Can i delete the Queue's or execute that?
What is the mean of Execute LUW's and Debug LUW's ,when we wil use it?
Highly appriciate your immediate replies.
Thanks in advance.
Cheers,
Chinna.Hi Chinna
You have all the details mentioned in this link
http://help.sap.com/saphelp_nw04/helpdata/en/22/042585488911d189490000e829fbbd/content.htm
Cheers
Shaji -
UnknownServiceException in Transactional RFC calls(SM58)
Hi,
I found few com.wm.app.b2b.server.UnknownServiceException" messages in Transactional RFC calls status. Any clues to trouble shoot this problem?
Thanks in advance
Regards
SrinagarIn SM58, Click EXECUTE, by inputting username as "*"
I got that Unknow service Exception for function module "IDOC_INBOUND_ASYNCHRONOUS"
Regards
Srinivas -
Dear Experts,
I have an issue with transactional RFC.
There are many queues there (SM58) what should i do know?
Should i execute LUW for each row?
Thanks in advance.
RhesaHi
are you sure that you have issues in SM58 ? or in Smw01?
Sm58 for transactional data moving from source to destination
Pleasebe more specific
regards
venkat -
SM58 (transactional RFC)
Hi,
In our source system in SM58 (transactional RFC) i am getting the Status Text:
User is locked. Please notify the person responsib
Please advise how to proceed
Thanks
Please search the forum before posting a thread
Edited by: Pravender on Aug 12, 2011 4:09 PMHi
Thanks for the update.
I can execute the TCode SM58 and there i can see all the RFC queus are failed becaus of User Locked
Maybe you are looking for
-
When I try to sign onto my ipod it is in texting mode and not number mode so it won't let me sign in
I am trying to sign onto my ipod and I have a # passcode, but it is in letter mode.
-
Surprise behaviour of select in forms 4.5
Hi All, I am working on modification of a few old forms by some other programmer. a specific select statement is selecting null values SELECT max(DOCNO), max(UNIT_CODE) INTO STKSAL_DOCNO,:GROUP_COMP_CODE FROM DOHEAD WHERE DEFACNO = :BLOCK1.DOCNO; whe
-
Adobe Media Player disappeared
Hi I have recently transferred my files to a new Windows XP computer and uninstalled and reinstalled Adobe Air and Adobe Media Player. I recently also downloaded Windows XP Service Pack 3. My computer shows that AMP is installed but when I click on i
-
Adobe - you're starting to p**s me on!
My company is paying 250$ a month for your software and services. But it seems to me like we're just having problems. The commands of your software packages are apsolutly irregular one to an other. For ex.: why is "cmd + F" in Illustrator "place on s
-
Refund on app download by child
My 5 year old downloaded an app by mistake that costs over $100. How do I get a refund? I have tried unsuccessfully to call and never can get a live person.