managing qrfc traffic
TRANSCRIPT
© 2008 Wellesley Information Services. All rights reserved.
Managing qRFC Traffic
Don KehoeSymmetry Corporation
11
In This Session ...
• We will go over the technology behind qRFC• We’ll look at the tools used to monitor and administer it• See examples of applications using qRFCs• Take a peek at the new bgRFC
22
What We’ll Cover …
• qRFC and underlying architecture• SAP Gateway• qRFC transactions• Other tools• Example applications using qRFC• bgRFC• Wrap-up
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
33
Transactional RFC (tRFC)
• An asynchronous communication method that executes the called function module in the RFC server only once
The remote system doesn’t need to be available when the RFC client program is executing a tRFCThe tRFC component stores both the called RFC function and the corresponding data in the SAP database under a unique transaction ID (TID)
• tRFC is always used if a function is executed as a Logical Unit of Work (LUW)
Within a LUW, all calls are executed in the order in which they are called, executed in the same program context in the target system, and run as a single transaction: they are either committed or rolled back as a unit
• Implementation of tRFC is recommended if you want to guarantee preserving the transactional order of the calls
44
Transactional RFC (tRFC) (cont.)
• tRFCs are transferred immediately to the target
Sending Application
tRFC
Receiving Application
tRFC
55
Queued RFC (qRFC)
• To guarantee that multiple LUWs are processed in the order specified by the application, you can serialize tRFC using queues (inbound and outbound queues)
• This type of RFC is called queued RFC (qRFC) qRFC is therefore an extension of tRFCIt transfers an LUW (transaction) only if it has no predecessors(in reference to the sequence defined in different application programs) in the participating queues
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
66
Queued RFC (qRFC) (cont.)
• Inbound and outbound queues
Sending Application
tRFC
Receiving Application
tRFC
Outbound Queue Inbound Queue
Outbound
Inbound
77
Outbound Queues
• qRFC is a layer between the application and tRFCIt only allows a LUW to be transferred to a target system if no predecessor LUWs exist in the participating queuesAfter a qRFC LUW is executed, the QOUT Scheduler automatically executes the next qRFC LUW waiting in the queue
• qRFC with outbound queue enables serialization of the LUWs in the sending system
You can use qRFC with outbound queue with every tRFC-supported target system, because the sequence of the calls is established in the application program
The target system therefore does not require any knowledge about the serialization
88
Outbound Queues (cont.)
• The queued RFC with outbound queue causes the pages of the sending system to be serialized
The target system has no knowledge of the serialization in the sending systemThis means that it is possible to communicate with any SAP target system from release 3.0 onwards
• A LUW (transaction) can be distributed between more than one queue
However, it is only transferred if all predecessor LUWs in all participating queues have been processedAfter a qRFC transaction has been executed, the system tries to start all waiting qRFC transactions in sequence
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
99
• Outbound queue processingqRFCs
System 1 System 2
qLUW 1
qLUW 2
qLUW 3
Queue1
Queue2
Queue3
Queue4
Queue5
Outbound Queues (cont.)
1010
Inbound Queues
• You use qRFC with inbound queue if the application itself determines when it processes the inbound qRFC LUWs in the target system
• You also use inbound qRFC if you want to remove the connection between the transfer of LUWs and their execution
• qRFC with inbound queue always means that an outbound queue also exists in the sending system
1111
Inbound Queues (cont.)
• Using an inbound queue separates the transfer of qRFC LUWs from their processing
The outbound queue is used to write the qRFC LUWs to the inbound queue of the target system
This reduces the processing workload in the sending system to the transfer of LUWs to the target system
• LUWs arriving in the inbound queue are read and processed from the queue either by the QIN Scheduler or by program calls from an application program
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
1212
SAP Web Application Server (WAS)
• WAS infrastructure
1313
qRFC Components
• When an application uses qRFC it uses all the underlying layers
qRFC
TCP/IPCPICRFC
tRFC
Applications
1414
Architecture
• CPI-C (Common Programming Interface for Communication)
Provides a cross-system-consistent and easy-to-use programming interface for applications that require program-to-program communicationThe conversational model of program-to-program communication is commonly used in applicationsThe model is described in terms of two applications —speaking and listening — hence, the term conversation
A conversation is simply a logical connection between two programs that allows the programs to communicate with each otherFrom an application’s perspective, CPI-C provides the function necessary to enable this communicationIt is an Opens Group (X/OPEN) standard
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
1515
Architecture (cont.)
• CPI-C (BC-CST-GW)• Gateway/CPIC (BC-CST-GW)
Standardized interface for system-wide communication between programsThe protocol can be divided into four areas:
Session setup Session control Communication End of session
1616
Architecture (cont.)
• Example CPI-C command: Send_Data (CMSEND)A program uses the Send_Data (CMSEND) call to send data to a remote programWhen issued during a mapped conversation, this call sends one data record to the remote program
The data record consists entirely of data and is not examined by the system for possible logical records
When issued during a basic conversation, this call sends data to the remote program
The data consists of logical recordsThe amount of data is specified independently of the data format
1717
What We’ll Cover …
• qRFC and underlying architecture• SAP Gateway• qRFC transactions• Other tools• Example applications using qRFC• bgRFC• Wrap-up
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
1818
SAP Gateway
• Each instance of an SAP system has a gatewayThe gateway enables communication between work processes and external programsIt also enables communication between work processes from different instances or SAP systems
• SAP also provides a stand-alone gateway for external systems
1919
Gateway Read Process
• Gateway read (gwrd, gwrd.exe) is the main process in the gateway system
• It is started by the application server (dispatcher) and checked by it periodically
• The gateway reader receives and processes all CPI-C requests
• If the executable gwrd program is called without parameters or with the switch -help, the program outputs a description of the possible command parameters, as well as all the patches
SAP Gateway speaks CPI-C
2020
Gateway Monitor
• Use the Gateway Monitor (gwmon, gwmon.exe) to analyze and administer the SAP Gateway
• When you start it, you initially get a list of active CPI-C connections
You can call up the other monitor functions via a menu • You can monitor the gateway from the SAP system
(transaction SMGW) or from the operating system
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
2121
What We’ll Cover …
• qRFC and underlying architecture• SAP Gateway• qRFC transactions• Other tools• Example applications using qRFC• bgRFC• Wrap-up
2222
qRFC Transactions
• SMQ1qRFC Monitor for the outbound queue
• SMQ2qRFC Monitor for the inbound queue
• SMQSOutbound Queue Scheduler used to register, deregister, and exclude destinations
• SMQRInbound Queue Scheduler used to register and deregister queues
• SMQEqRFC Administration
2323
SMQ1
• SMQ1 Outbound Queue Monitor
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
24
SMQ1 (cont.)
• SMQ1 Status InformationDouble clicking some fields gives more information
2525
SMQ1 (cont.)
• SMQ1 qRFC dataThis is a display of the LUW data being sent
2626
SMQ1 (cont.)
• BI – NOSENDLUWs of this queue are never sent but are retrieved by a special applicationThese queues are only used internally at SAP (BW or CRM during communication with mobile clients)Even if a LUW was read by the corresponding application (BW, CRM), this status does not changeThe LUW is only deleted from the queue if this application confirms collection (collective confirmation possible)Under no circumstances should this status be reset using transaction SMQ1 and the queue activated
Caution
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
2727
SMQ1 (cont.)
• BI – NOSEND (cont.)Status changes depending on BI state of the data
Caution
2828
SMQ2
• Initial screen
2929
SMQ2 (cont.)
• Inbound queueDouble clicking on some fields gives more information
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
3030
SMQ2 (cont.)
• Queue entriesYou can delete, display, and execute qRFCs from here
3131
SMQ2 (cont.)
• Inbound Queue Data
3232
SMQS Outbound Scheduler
• SMQS and registrationYou can register and deregister queues here
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
3333
SMQS Outbound Scheduler (cont.)
• SMQS and deregistration
3434
SMQS Outbound Scheduler (cont.)
• SMQS and excludeYou can use SMQS to exclude a destination
3535
SMQS Outbound Scheduler (cont.)
• RZ12 RFC quotasQuotas are used to limit resources used by qRFC
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
3636
SMQS Outbound Scheduler (cont.)
• SMQS RFC quotasYou can check on the resources allocated to qRFC
3737
SMQS Outbound Scheduler (cont.)
• SMQS RFC quotas (cont.)
3838
SMQS Outbound Scheduler (cont.)
• RZ12 RFC quotas
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
3939
SMQS Outbound Scheduler (cont.)
• SMQS Change RFC GroupYou can change the server group here
4040
SMQS Outbound Scheduler (cont.)
• SMQS Change RFC Group (cont.)
4141
SMQR Inbound Scheduler
• SMQR and registration
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
4242
SMQE qRFC Administration
• SMQEYou can see and change log and trace settings
4343
SMQE qRFC Administration (cont.)
• SMQE logs and traceYou can also activate and view traces
4444
SMQE qRFC Administration (cont.)
• SMQE qRFC Log
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
4545
SMQE qRFC Administration (cont.)
• SMQE qRFC Trace
4646
What We’ll Cover …
• qRFC and underlying architecture• SAP Gateway• qRFC transactions• Other tools• Example applications using qRFC• bgRFC• Wrap-up
47
Other Tools
• SMGW – Gateway Trace• ST11 – Developer Traces• ST05 – RFC Trace• SLG1 – Application Log• RZ20 – CCMS Monitoring
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
48
SMGW Gateway Trace
• The Gateway Trace File is an essential source of information
You can display the file by clicking on the icon
49
SMGW Gateway Trace (cont.)
• Gateway Trace File contains CPIC commands and dataWatch for the errors, data dumps, and time stamps
50
SMGW Increase Trace Level
• There are three trace levelsYou can change the trace levels here
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
51
ST11 Developer Traces
• Developer traces narrow the trace scopeIncluding RFC information for each work process
52
ST11 RFC Trace
RSTR0006: Display Developer Traces
**** Trace file opened at 20080115 211237 EST SAP-REL 700,0,75 RFC-VER 3 852527======> CPIC-CALL: 'ThSAPOCMINIT'Timeout during connection setup. Please check partner availabilityABAP Programm: RSRFCPIN (Transaction: SM59)Called function module: RFC_PINGUser: XXXXXX (Client: 000)Destination: SAPOSS (handle: 2, , {478D4BA3-4A07-02EC-0000-0000AC1600D0})Error RFCIO_ERROR_SYSERROR in abrfcpic.c : 2323CPIC-CALL: 'ThSAPOCMINIT'Timeout during connection setup. Please check partner availabilityHOST =77.71.78.74SERV =sap2224
• Developer RFC traces display data from a work processData is the same as in Gateway Trace
53
ST05 RFC Trace
• ST05 can be used to trace RFC You can filter the trace and the display
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
54
ST05 RFC Trace (cont.)
55
SLG1 Application Log
• SLG1 shows logs written by the applicationsThis can show reasons for qRFC failures
56
RZ20 CCMS Monitor
• QRFC errors can be viewed in CCMSAlerts can be monitored and sent out
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
57
Other Tools
• STAD – Statistics Records• ST03N – Workload Analysis• Tables ARFCRSTATE, ARFCRDATA, ARFCSSTATE, and
ARFCSDATA• SM21 – System Log• SM50 – Work Process Monitor and Trace File• SM04 – User Trace• Solution Manger Business Process Monitoring• Solution Manager Diagnostics
5858
What We’ll Cover …
• qRFC and underlying architecture• SAP Gateway• qRFC transactions• Other tools• Example applications using qRFC• bgRFC• Wrap-up
5959
Some Applications Using qRFC
• PI (Process Integration)/XI (Exchange Infrastructure)• SCM CIF(Core Interface)• CRM Middleware• NetWeaver BI (Business Intelligence)• SAP Tax Interface• ALE (Application Linking and Enabling)
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
6060
PI qRFC
• Inbound queue of PI Here the inbound queue has eight PI entries
6161
PI qRFC (cont.)
• PI provides tools for analyzing qRFC errorsYou can use these tools in SMQ1 and SMQ2Double clicking on Queue Name field shows diagnostic screen
6262
PI qRFC (cont.)
• PI LUW data diagnostic screen
12
3
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
6363
PI qRFC (cont.)
• PI Display Process 1
6464
PI qRFC (cont.)
• Display Message Monitor 2
6565
PI qRFC (cont.)
• PI Display XML Message
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
6666
PI qRFC (cont.)
• PI Display Trace 3
6767
PI qRFC (cont.)
• PI Manage Queues
6868
PI qRFC (cont.)
• PI provides a tool to manage its queues You can use this tool to register and deregister PI queues
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
6969
SCM Queue Manager
• SCM provides a Queue ManagerSCM Queue Manager manages both SCM and R3 queuesUse transaction /SAPAPO/CQ
7070
SCM Queue Manager (cont.)
• /SAPAPO/CQ
7171
SCM Using Inbound Queues to ERP from SCM
• Inbound queues are configured in SPROLook in Integration with SAP Components
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
7272
SCM Using Inbound Queues to ERP from SCM (cont.)
• Queue Type field is used to set inbound queuesBlank is for outbound queues, I for inbound queues
7373
SCM Using Inbound Queues from ERP to SCM
• Queue Type field is used to set inbound queues (cont.)Blank is for outbound queues, I for inbound queues
7474
SCM qRFC
• CIF Debugging can be set in SPROIn Basic Settings for Data Transfer
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
7575
SCM qRFC (cont.)
• Debugging is off (blank), on (X) or NOSENDS (R)An R setting will stop entries in the queue
7676
SCM CIF
• Planned Independent Requirements (PIR) sent to SAP R/3These commonly have application errors
77
SCM CIF (cont.)
• Planned Independent Requirements ErrorSYSFAIL
No Requirement Type found
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
7878
CRM Middleware Queues
• Outbound queuesCDB* Start queues for loads CRM to CDBCRM_SITE* Load queues for Mobile ClientsCSA* Send queues of CRM Server ApplicationsEXT* Start queues for loads CRM to Ext.R3AI/R* Start queues for loads from ERP Backend systemR3AU* Load queues CRM to ERP Backend system
• Inbound queuesCRI* Initial load queues CRM to CDBCRM_SITE* Load queues from Mobile ClientsR3A* Load queues ERP Backend to CRMCSA* Send inbound queues of CRM Server Applications
7979
CRM Middleware Queues (cont.)
• SMWP Monitoring CockpitGreat overview and tool for CRM Middleware
8080
CRM Middleware Queues (cont.)
• SMW01 BDOC MessagesList all BDOCS processed by CRM
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
8181
SAP Tax Interface
• Documents with errors in qRFC queue
8282
What We’ll Cover …
• qRFC and underlying architecture• SAP Gateway• qRFC transactions• Other tools• Example applications using qRFC• bgRFC• Wrap-up
8383
bgRFC
• Classic qRFCThe classic qRFC model detects the dependencies among the individual units only when the data is processed by the RFC scheduler
For each destination, the outbound scheduler starts a scheduler that processes the data for this destination
The schedulers run on each destination only for a limited period of time to ensure processing is consistent for all destinations
For this reason, the scheduler must determine the sequence again every time before it processes a destination
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
8484
bgRFC (cont.)
• bgRFCWith the bgRFC (background RFC), dependencies are determined when the data is stored
In doing so, the RFC scheduler can find all units that can be executed instantly with minimum effort and all dependencies are detected only onceThe additional effort when storing the data is compensated to a large extent by efficient algorithms and optimizations in the database design
For each client, a defined number of outbound schedules are started that process the queued load in parallel
The load on the target systems is determined in shorter intervals and is, therefore, more accurate than before
8585
bgRFC (cont.)
• bgRFC is configured in SM59 Special Options0 is Classic RFC, 1 is bgRFC
8686
bgRFC (cont.)
• bgRFCmonSelection screen
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
8787
bgRFC (cont.)
• bgRFCmon shows queue status and breakdown for bgRFCDetailed breakdown of bgRFC units
8888
bgRFC (cont.)
• bgrfcperfmon bgRFC Performance Monitor
8989
What We’ll Cover …
• qRFC and underlying architecture• SAP Gateway• qRFC transactions• Other tools• Example applications using qRFC• bgRFC• Wrap-up
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
90
Resources
• RFC Monitoring – Best Practices for Solution Management
http://service.sap.com/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700000657512007EOr search Service Marketplace for “Best Practices RFC Monitoring”
• SAP Professional Journal: May/June 2007Wolfgang Baur, “Increase the Efficiency of Your RFC Communications with bgRFC — A Scalable and Transactional Middleware Framework”
9191
7 Key Points to Take Home
• qRFC is a basic method for inter-system communication• SMQ1 is the main tool for qRFC monitoring as outbound
queues are default; SMQ2 is the main tool for inbound monitoring
There are many other tools you can use for qRFC administration• Most activities with qRFC are automatic• Additional activities are normally directed by SAP• Do not delete or change queues or qRFCs unless you
know exactly what the data is• Pay attention to bgRFC as it may be used in many
applications using qRFC in the future• Keep a close watch on changes to SAP communication
architecture
9292
Your Turn!
How to contact me:Don Kehoe
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
_________________________________
Wellesley Information Services, 990 Washington Street, Suite 308, Dedham, MA 02026
Copyright © 2008 Wellesley Information Services. All rights reserved.