Sei sulla pagina 1di 16

Simsession Handler

Author: Date: Signature:

Approval: Date: Signature:

<Name>
<Application/Service/System Manager>
<Organization>

<Name>
<Information Security Officer>
<Organization>
(Optional Approver – remove if not required)

<Name>
<IT Quality Manager>
<Organization>
(Optional Approver – remove if not required)
Technical Design Specification

Document History

Version Date Author Comment


07.12.2017 Daniel Wacker Initial Version

2/16
Document1 last changed: 29.03.2019
Technical Design Specification

Table of contents

1 List of Abbreviations and References .............................................................................. 4


1.1 List of Abbreviations ..................................................................................................... 4
1.2 References ................................................................................................................... 4
1.3 Figures ......................................................................................................................... 4
2 Introduction ........................................................................................................................ 5
2.1 Purpose ........................................................................................................................ 5
2.2 Scope ........................................................................................................................... 5
2.3 Prerequisites & Assumptions........................................................................................ 5
3 Business Process Overview ............................................................................................. 7
4 Requirements ..................................................................................................................... 8
5 Software Architecture ........................................................................................................ 9
5.1 Static Structure ............................................................................................................. 9
5.2 Dynamic Behavior .......................................................................................................10
5.3 System Landscape ......................................................................................................11
6 Realization Specification ................................................................................................. 12
6.1 Customizing and Configuration ...................................................................................12
6.2 Program Logic .............................................................................................................12
6.3 Data Model ..................................................................................................................13
6.4 Lock Concept ..............................................................................................................13
6.5 Error Handling .............................................................................................................13
6.6 User Interface ..............................................................................................................14
6.7 Technical Interfaces ....................................................................................................14
6.8 Background System Jobs ............................................................................................14
6.9 Authorization Concept .................................................................................................14
7 Remarks ............................................................................................................................ 15
8 Attachments and Appendix ............................................................................................. 16

3/16
Document1 last changed: 29.03.2019
Technical Design Specification

1 List of Abbreviations and References

1.1 List of Abbreviations


Abbreviation Term
N/A Not applicable

1.2 References
Document ID Title
N/A

1.3 Figures
Figure 1: Class Diagram Simsession Handler ............................................................................. 9
Figure 2: Flow Diagram INSTANCE_GET ................................................................................. 10
Figure 3: Flow Diagram SIMSESSION_GET ............................................................................ 10
Figure 4: Flow Diagram SIMSESSION_LEAVE ........................................................................ 11

4/16
Document1 last changed: 29.03.2019
Technical Design Specification

2 Introduction

The functionality itself is implemented in system SCE as class ZCL_SIMSESSION_HANDLER. The


class could be also found at our Code Snippet side. Search for ‘SIMSESSION_HANDLER’
Nugget file and tag ‘Stand Alone Code Snippet’.

2.1 Purpose
The purpose of this development is to encapsulate the handling for SAP Simsessions within one
class.

2.2 Scope
Standardized SAP Simsession handling.

2.3 Prerequisites & Assumptions

2.3.1 Prerequisites

N/A

2.3.2 Assumptions

N/A

2.3.3 Constraints and Dependencies

N/A

Type Constraint
<Regulatory> N/A
<Hardware> N/A
<Operating system> N/A
<License> N/A
<Bandwidth> N/A

5/16
Document1 last changed: 29.03.2019
Technical Design Specification

<Additional constraints> N/A

6/16
Document1 last changed: 29.03.2019
Technical Design Specification

3 Business Process Overview

The purpose of this development is to encapsulate the handling for SAP Simsessions within one
class with the objective to standardize the handling SAP Simsessions. Due to this development
a reusable standardized way of SAP Simsession handling will be provided.

7/16
Document1 last changed: 29.03.2019
Technical Design Specification

4 Requirements

Encapsulate SAP Simsession handling within one single class. The implementation itself should
be reusable in general.

8/16
Document1 last changed: 29.03.2019
Technical Design Specification

5 Software Architecture

The basic idea is to encapsulate the handling of SAP Simsessions within one class which
provides methods to create and leave SAP Simsessions.

The class is implemented with Singleton Pattern to use the same context the same Object. E.g.
usage within custom transaction and BAdI within the same context.

5.1 Static Structure

Figure 1: Class Diagram Simsession Handler

9/16
Document1 last changed: 29.03.2019
Technical Design Specification

5.2 Dynamic Behavior


By calling method INSTANCE_GET the calling program receives a singleton object of this class.

Figure 2: Flow Diagram INSTANCE_GET

By calling method SIMSESSION_GET the calling program receives the current simsession. A new
simsession will be created in case there is no open simsession and the calling program requested
to open a new one.

Figure 3: Flow Diagram SIMSESSION_GET

10/16
Document1 last changed: 29.03.2019
Technical Design Specification

By calling method SIMSESSION_LEAVE the simsession merged and closed or a rollback will be
performed depending on the import parameters. If an error occurred during RRP Commit, a
rollback will be performed and an exception is raised to inform the calling program about the
rollback.

Figure 4: Flow Diagram SIMSESSION_LEAVE

5.3 System Landscape


<Please describe the underlying system landscape and corresponding transport connections>

11/16
Document1 last changed: 29.03.2019
Technical Design Specification

6 Realization Specification

6.1 Customizing and Configuration


N/A

6.2 Program Logic


This chapter will describe the program logic. Please refer also chapter 5.2.

6.2.1 INSTANCE_GET

6.2.1.1 <Overview>

Returns a singleton instance of this class.

6.2.1.2 <Definition>

The static object reference SO_INSTANCE will be returned to the caller. In case the static object
reference is initial the constructor will be called first.

6.2.2 SIMSESSION_GET

6.2.2.1 <Overview>

Returns the current simsession and generation parameters.

6.2.2.2 <Definition>

The simsession MV_SIMSESSION and its generation parameters MS_GEN_PARAMS will be


returned to the caller. In case the simsession is initial and the import parameter
IV_OPEN_SIMSESSION is true, then a new simsession will be created first.

12/16
Document1 last changed: 29.03.2019
Technical Design Specification

6.2.3 SIMSESSION_LEAVE

6.2.3.1 <Overview>

Merge or rollback the current simsession.

6.2.3.2 <Definition>

The current simsession will be merged in case the import parameter IV_ROLLBACK is initial. In
case of an error during the merge a rollback will be performed and exception
ERROR_DURING_COMMIT will be raised afterwards. Was the parameter IV_ROLLBACK set by the
caller to true, then a rollback will be performed.

6.3 Data Model


N/A

6.4 Lock Concept


N/A

6.5 Error Handling


In case of an error during the simsession merge a rollback will be performed and exception
ERROR_DURING_COMMIT will be raised afterwards. See also method SIMSESSION_LEAVE in
chapter 6.2.3.

13/16
Document1 last changed: 29.03.2019
Technical Design Specification

6.6 User Interface


N/A

6.7 Technical Interfaces


N/A

6.8 Background System Jobs


N/A

6.9 Authorization Concept


N/A

14/16
Document1 last changed: 29.03.2019
Technical Design Specification

7 Remarks

N/A

15/16
Document1 last changed: 29.03.2019
Technical Design Specification

8 Attachments and Appendix

Document ID Title
N/A

16/16
Document1 last changed: 29.03.2019

Potrebbero piacerti anche