Upload
dmk
View
1.751
Download
52
Embed Size (px)
Citation preview
Core Interface and Consistency
Interface Between Backend and APO
CIF Monitoring
CIF Performance Troubleshooting
Consistency
Contents/Objectives
Contents
� Core Interface and Queued RFC
� Inbound and Outbound Queues
� Queue Management
� Application Logging
Objectives
At the end of this unit, you will be able to:
� Describe the components of CIF
� Describe the technology of CIF
� Set up and use monitoring tools for CIF
SDLO
SAP OLTPSAP OLTP
SAP APO
qRFC
Interface Scenario
HR
CIFCore Interface
CIF guarantees Serialization and Transactional Update
Core Interface with Help of Queued RFC (1)
Queue 2
Queue 1
tRFC
tRFC
Sending System Receiving System
.
.
tRFC
Processing
of RFCs
Outbound
Queues
Queue 10
Queue <n>tRFC
qRFC LUW
.
.
.
.
.
Core Interface with Help of Queued RFC (2)
tRFC
tRFC
Sending System Receiving System
Queue 2
Queue 1
.
.
tRFC
Processing
of RFCs
Outbound
Queues
tRFC
qRFC LUW
Queue 10
Queue <n>
.
.
.
.
.
Core Interface with Help of Queued RFC:
Errors
tRFC
tRFC
Sending System Receiving System
Dependency
Error
Queue 2
Queue 1
.
tRFC
Processing
of RFCs
Outbound
Queues
tRFC
qRFC LUW
Queue 2
Queue 10
Queue <n>
.
.
.
.
.
.
Outbound Queue Scenario
Standard APO CIF delivery : Only Outbound queues are used
Outbound scheduler is responsible to book LUW
on target system
Outbound schedulerbooking of LUWs
booking of LUWs
Outbound scheduler
Outbound scheduler
OLTP APO
Inbound Queue Scenario
SAP Recommended : Outbound and inbound queues are used
Outbound scheduler is responsible to deliver LUW
to the inbound queue of the target system
Inbound scheduler is responsible to book LUW on target system
deliver LUWs to inbound queue
deliver LUWs to inbound queue
Outbound scheduler
Outbound scheduler
Inbound scheduler
OLTPAPO
Inbound scheduler
book LUW
book LUW
Customizing of Queue Scenario in R/3
Transaction SPRO -> Button “Display SAP Reference IMG”
Transaction CFC1Transaction CFC1
QOUT Scheduler
Transaction SMQS
Transaction SM59
double click on RFC-Destination <SID>CLNT<nnn>
-> Destination -> TRFC options
Transactional RFC Options for automatic Error
Handling
Only entries in CPIC-ERR or RETRY status, no SYSFAIL
Automatic Error Handling in Batch or Dialog ?
BatchBatch DialogDialog
� Background job
ARFC:<Transactional ID> based on RSTRFCSL
� High number of such
background jobs if there are
� Manual scheduling of
periodic background job RSQOWKEX ( outbound ) and
RSQIWKEX ( inbound )
for example every 15 min
� SAP recommendation : background jobs for connection errors
� Set the time between tries to 2 or 3 minutes
� Set the number of tries to 10
� Adapt your response to the customer situation!
background jobs if there are network problems
for example every 15 min
� Higher waiting time in
queues if there is an error
� Resets status of all queues
Example for SAP recommended Automatic Error
Handling
Transaction SM37
Retry every Entry every 3 Minutes
in a batch job with upto 10 Attempts
Remind that status complete does not mean that the transmission was
successful – you have to look into the queue to determine the entry status.
QIN Scheduler
Transaction SMQR
Customizing Possibilities in Inbound Scenario
RFC logongroup
distributes RFC-Calls
rfc-Profileparameters
limit the WPs usedDialog logongroup
distributes RFC-Calls
Outbound scheduler
Inbound schedulerCalls WP2
using AS-Group
Calls WP using RFC-logongroup
in RFC-Destination
Saves LUW into inbound queue
Calls WP5using AS-Group
Books LUWWP2
WP1
WP5
WP4
WP3
Customizing Possibilities : RZ12
rdisp/rfc_use_quotas
rdisp/rfc_max_queue
SAP Profile Parameter
Keep in mind that there is only ONE rfc profile parameter set per instance :
If two different rfc-Logon Groups of the same Instance refer to the same set
of online parameters and you change the parameters for Logon Group „CIF“
for instance cigsb_GSB_10 also the parameters of Logon Group „Clientcopy“
for instance cigsb_GSB_10 are changed accordingly.
rdisp/rfc_max_login
rdisp/rfc_max_own_login
rdisp/rfc_max_own_used_wp
rdisp/rfc_min_wait_dia_wp
rdisp/rfc_max_comm_entries
rdisp/rfc_max_wait_time
Quota Parameter :
rdisp/rfc_check
Check available resources for RFCs
Work processes
currently availabe for
qRFC / tRFC / aRFC qRFC / tRFC / aRFC
processing
Central Tool : Queue Manager in APO (1)
Queue Manager (transaction /SAPAPO/CQ)
� Makes systemwide CIF queue monitoring possible
� Is especially appropriate for monitoring from the application point of
view: queues are classified according to object types
� Contains a link to technical monitors SMQ1/SMQ2 in the APO system
Transaction /SAPAPO/CQ
Central Tool : Queue Manager in APO (2)
As of SCM 4.1 : CIF Cockpit
Transaction /SAPAPO/CC :
CIF Cockpit – Monitoring Features (1)
CIF Cockpit – Monitoring Features (2)
Activation of time measurement for CIF
Cockpit
Transaction ASACT :
Flag for activationFlag for activation
Saving CIF Cockpit evaluations into APO
database
Define a daily variant for transaction /SAPAPO/CC_PERF_SAVE
Schedule a daily background job with transaction SM36
Transaction SMQ1
Local Outbound Queue Overview
Show
blocked
Queues
Details of Selected Queues
SMQ1 – Click on bell or use key F8
Activate the qRFC Manager for a selected queue. The LUWs in the
queue will be sent immediately.
Lock a selected queue. A stop mark will be set on the end of existing
queue. All previously recorded LUWs will be processed up to the
stop mark.
SMQ1: Outbound Queue Management
Unlock a selected queue. The first stop mark in the queue will be
removed. The qRFC Manager will be started immediately and
execute the LUWs until the next stop mark, or the end of the queue,
if no stop mark is set.
Lock a selected queue immediately. The stop mark will be set to the
very first line in the queue, so the complete queue will be stopped.
Unlock a selected queue without activation. The stop mark will be
removed without activating the qRFC Manager ( e.g. used for
debugging).
Deletion of CIF Queues
!!
Don't simply delete queue entries.
You might cause inconsistencies.
Protocol of deleted CIF Entries
Transaction SM21
Transaction SMQ2
Local Inbound Queue Overview
Display Inbound Queues with Problems
SMQ2 – Click on bell or use key F8
Queue name Description
CFSTK* Stock
CFPO* Purchase orders and purchase requisition
CFPLO* Planned orders/Production orders
CFSLS* Sales orders
CFRSV* Manual reservations
CFCNF* Confirmations
CFPIR* Planned independent requirements (created in R/3)
CFMAT* Reduction of PIRs
CFFCC* Reduction of PIRs (if separate Imod is used)
Queue names R/3 => SCM (for a complete list see
Note 786446)
CFFCC* Reduction of PIRs (if separate Imod is used)
CFPCM* Production campaigns
CFCLA* Master data for classes
CFCHR* Master data for characteristics
CFCUVT* Planning tables
CFSHP* Transports (TP/VS scenario)
CFTL* Transport locks (TP/VS scenario)
CFTG* Deletion of temporary quantity assigments GATP (in one LUW with CFSLS*)
FC* Fulfillment coordination (only if qRFC consumption is used)
CFCB* CBase Configuration
CFCR* CBase Configuration, special case
CFCD** CDP Configuration
CFCL* Classification
Queue name Description
CFEP* External Procurement APO - R/3
CFIP* In-house Production APO - R/3
CFFO* Planned independent Requirements
CFCO* Sales Orders
CFPC* Production Campaign
Queue names SCM => R/3 (for a complete list see Note 786446)
CFSH* Transport
CFDL* Delivery
CFRV* Reservations
CFPF* Planning file entry (IS Automotive)
CFCF* Confirmation (IS Automotive)
CFCD* Confirmation of deletions (IS Automotive)
CFRP* Reporting points (IS Automotive)
READY Not yet executed (only temporary)
RUNNING Execution active
WAITING Waiting until the LUWs with a higher priority are executed
SYSLOAD No free DIALOG work processes in the sending syste
RETRY Temporary problem during execution (locking issue),
background job scheduled
Common Queue Status – Note 378903
background job scheduled
STOP Execution explicitly stopped
NOSENDS Outbound: LUW is not sent (only used for debugging)
NOEXEC Inbound: LUW is not processed (only used for debugging)
SYSFAIL A serious error has occurred in the target system (APO)
while the LUW was executed
CPICERR An error occurred during establishing the connection
Enhanced Display of queue contents in SCM
double-click
Queue display with all related tables and
their content in DDIC format on SCM side
Enhanced Display of queue contents in OLTP
Prerequisites of Enhanced Display
TA SMQE on SCM side
TA SMQE on OLTP side
CIF Data Storage
TRFCQOUT
Used for tRFC and qRFC calls
Used for qRFC calls only
Sender system
ARFCSDATA ARFCSSTATE
ARFCRDATA ARFCRSTATE
This table is not filled by tRFC – instead the function module is called directly
Receiver systemTRFCQIN
TRFCQDATA
TRFCQSTATE
OLTP and APO: Stopping and Starting Queues
Outbound Queue
Transaction / Report
Inbound Queue
Transaction / Report
Stop selected queue(s) SMQ1 / RSTRFCQ1 SMQ2 / RSTRFCI1
Start selected queue(s) SMQ1 / RSTRFCQ3 SMQ2 / RSTRFCI3
� Queues can be stopped / started without losing data changes
� To stop selected remote CIF queues :
� Lock remote queue immediately with report /SAPAPO/CIFSTOPQUEUES
� To start selected remote CIF queues:
� Reactivate remote queue with report /SAPAPO/CIFSTARTQUEUES
/SAPAPO/CIFSTOPQUEUES /SAPAPO/CIFSTARTQUEUES
APO only : Remote Stopping and Starting
Queues
/SAPAPO/CIFSTOPQUEUES /SAPAPO/CIFSTARTQUEUES
APO only : Restart CIF after system shutdown
Tasks of Report /SAPAPO/RCIFRESTART
1. Determination of change pointer entries in APO and publish them
2. Determination of CIF outbound queue entries and restart them
3. Restart the APO CIF inbound queues
4. Determination of R/3 systems integrated with APO system and restart CIF
outbound queues towards APO
� Transaction CFP2 or report RCPQUEUE
� Start / Stop data channels without losing data changes
� Monitor / Display details
SAP OLTP only : CIF Data Channel Control
� Display Application Log in OLTP System: Transaction CFG1
� Display Application Log in APO System: Transaction /SAPAPO/C3
Local Application Logging
� Maintain Logging Level: CFC2 in OLTP, /SAPAPO/C41 in APO
Delete entries in the Application Log regularly
Report SBAL_DELETE
Reorganize Application Log
!
� qRFC monitor
� Display transfer queues
� Display waiting qRFC calls
� Restart waiting calls
� qRFC problem causes:
� Communication errors
� Network problems
qRFC Monitoring
� Network problems
� Dialog work processes unavailable
� Application errors (non-posting of data to APO)
� Bugs
� Missing master data
� Locking of objects
Application problems must be solved by a system administrator in cooperation
with an application manager
Transaction /SAPAPO/CW (report /SAPAPO/RCIFQUEUECHECK)
APO: qRFC Alert Monitor
Example: RZ20 with qRFC Monitors
RZ20 : Important Parameters for APO /
liveCache
� Standard SAP Basis Monitoring (APO, OLTP)
� System log - SM21
� ABAP dump - ST22
� System process overview - SM50, SM66, SM51
� Locking - SM12, DB01
Standard System Monitoring
� Update - SM13
� Batch - SM37
� Database - DB02
� RFC destination - SM59
� Gateway - SMGW
Different Measurement needed for OLTP and
APO
Area Indicators Value Trend
System Performance Active Users 1065 steady
Avg. Response Time in Dialog
Task638 ms down
Max. Dialog Steps per Hour 73508 down
Value
10
2862 ms
181
OLTP APO
Avg. Response Time at Peak
Dialog Hour672 ms down
Avg. Availability per Week 100 % steady
Database
Performance
Avg. DB Request Time in Dialog
Task402 ms down
Avg. DB Request Time in Update
Task390 ms down
Database Space
ManagementDB Size 880.98 GB steady
Last Month DB Growth 17.98 GB up
3591 ms
100 %
214 ms
214 ms
88.81 GB
0.07 GB
Example: APO and R/3
Active Users
� Normally very high number in R/3,
� Less in APO ( only Planners )
Average Dialog Response Time
� in R/3 should be about 1 - 1,5 seconds as a rule.
� No rules for APO available, may differ because of very different business processes. � No rules for APO available, may differ because of very different business processes.
� In general it is higher than in R/3 systems.
Database Size
� R/3 databases are often big and increase rapidly
� In general APO is smaller and growths slowly
� R/3 Key Performance Indicators ( KPI ) do not work in APO
� Service Level Agreements ( SLA ) have to be adapted
Alternative CIF handling procedure
PostprocessingPostprocessing
is an alternative strategy to avoid blocked CIF queues.
CIF Error Handling Default
Confirmation
CFCNF1111111111
Planned Order
CFPLO1111111111
Receiving System
qRFC
LUW of 2222222222
Planned Order
CFPLO2222222222
LUW of 1111111111
Example without error handling
Error
CFCNF1111111111
Stock XXX
CFSTKXXX
Stock YYY
CFSTKYYY
Confirmation
CFCNF2222222222
CIF Error Handling with Postprocessing
Confirmation
Planned Order
CFPLO1111111111
Receiving System
qRFC
LUW of 2222222222
Planned Order
CFPLO2222222222
LUW of 1111111111
Example with error handling
Error
Confirmation
CFCNF1111111111
Stock XXX
CFSTKXXX
Stock YYY
CFSTKYYY
Confirmation
CFCNF2222222222
LUW is skipped and will be rebuilt during post processing
Postprocessing Facts
�After activation of CIF error handling, the chance of blocked queues after online data transfers of transactional data will decrease
� Improved analysis of qRFC warnings and errors without automatic interruption of queue transfer process
Instead of blocked queues a so called CIF error log will be created� Instead of blocked queues a so called CIF error log will be created
�Warnings/Errors can be solved offline without stopping data transfers
� Integration of new CIF Error Handling in CCMS is currently not planned
Postprocessing Limitations
� No Postprocessing possible for
� initial loads
� integration of master data ( transaction data only ! )
� ABAP dumps
� APO system / liveCache not available
IS-specific objects (e.g. DI-backflush)� IS-specific objects (e.g. DI-backflush)
� Application specific limitations
� See note 602484
Queue monitoring in Postprocessing is still necessary
Activation of CIF Error Handling with
Postprocessing
Switch on Error Handling in APO Customizing or in transaction /SAPAPO/C2
(for error handling in both directions)
Default :
Error handling is switched OFF
Storing Postprocessing Records
APO OLTP
CIF
Store CIF post Store CIF post
DB
Store CIF post
processing
records
APO -> OLTP
DB
Store CIF post
processing
records
OLTP -> APO
Resent Postprocessing Records
APO OLTP
CIF
Procedure of postprocessing
CIF Post Processing
Resend LUWs
DB DB
Read CIF post
processing
records
Resend LUWs
Usage types for Postprocessing
/SAPAPO/CPP: one user exclusively
Postprocessing transactions!
Postprocessing Records
must be reorganized
/SAPAPO/CPP: one user exclusively
/SAPAPO/CPP1: more than one user simultaneously
/SAPAPO/CPP2: same as CPP1, but only for display
/SAPAPO/CPPR: mark records as obsolete and delete
/SAPAPO/CPPA: set up alert options
Alerting for Postprocessing Records
Postprocessing alert screen /SAPAPO/CPPA
Handling of Postprocessing Records
Postprocessing screen as result of /SAPAPO/CPP
Set entry as
obsoleteSend to R/3
APO to R/3
R/3 to APO
Drill Down Area
Postprocessing Records for processing
Postprocessing records already processed
List of actions done
Add to
Worklist
Refresh
button
Responsibility for Postprocessing
!
Whether an entry should be postprocessed or not must be determined by the application
team
You are now able to:
� Describe the components of CIF
� Describe the technology of CIF
� Set up and use monitoring tools for CIF
Summary