SAP ABAP Class CL_STACK_ENGINE_BRF (BRF: Formula Interpreter / Stack Engine)
Hierarchy
☛
SAP_BASIS (Software Component) SAP Basis Component
⤷
BC-SRV-BRF (Application Component) Business Rule Framework
⤷
SBRF (Package) Business Rule Framework
⤷
⤷
Properties
| Class | CL_STACK_ENGINE_BRF | |
| Short Description | BRF: Formula Interpreter / Stack Engine | |
| Super Class | ||
| Instantiability of a Class | 2 | Public |
| Final |
General Data
| Message Class | ||
| Program status | ||
| Category | 0 | |
| Package | SBRF | Business Rule Framework |
| Created | 20020522 | SAP |
| Last change | 20110908 | SAP |
| Shared Memory-enabled | ||
| Fixed point arithmetic | ||
| Unicode checks active |
Forward declarations
Class CL_STACK_ENGINE_BRF has no forward declaration.
Interfaces
Class CL_STACK_ENGINE_BRF has no interface implemented.
Friends
Class CL_STACK_ENGINE_BRF has no friend class.
Attributes
| # | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Static Attribute | Protected | Type reference (TYPE) | SBRF_STACK_REGISTER | Register A | 20041120 | |||
| 2 | Static Attribute | Protected | Type reference (TYPE) | SBRF_STACK_REGISTER | Register B | 20041120 | |||
| 3 | Static Attribute | Protected | Type reference (TYPE) | SBRF_STACK_REGISTER | Register Y | 20041120 | |||
| 4 | Static Attribute | Protected | Type reference (TYPE) | TBRF150_T | BRF: Expression | 20020522 | |||
| 5 | Static Attribute | Protected | Type reference (TYPE) | TBRF190_T | BRF: Operators - Table Category | 20020522 | |||
| 6 | Static Attribute | Protected | Type reference (TYPE) | TBRF192_T | BRF: Operators and Result Types - Table Category | 20030605 |
Methods
| # | Method | Level | Visibility | Method type | Description | Created on |
|---|---|---|---|---|---|---|
| 1 | Static method | Private | Method | BRF: Forward Message | 20020522 | |
| 2 | Static method | Public | Method | Calculates Difference Between Date 1 and Date 2 | 20020522 | |
| 3 | Static method | Public | Method | Calculates Formula with Stack Engine | 20020522 | |
| 4 | Static method | Public | Method | Executes Stated Operation on Operand Stack | 20020522 | |
| 5 | Static method | Public | Method | Token/Operand on Stack | 20020522 | |
| 6 | Static method | Public | Constructor | CLASS_CONSTRUCTOR | 20040809 | |
| 7 | Static method | Public | Method | Determines Decimal Places | 20020522 | |
| 8 | Static method | Public | Method | Determines Correct Operand Length | 20020522 | |
| 9 | Static method | Private | Method | BRF: One Line from TBRF190 Acc. to Complete Key | 20020522 | |
| 10 | Static method | Private | Method | BRF: A Line from TBRF192 acc. to Complete Key | 20030605 | |
| 11 | Static method | Private | Method | Prepares Next Parameter for Processing | 20041120 |
Events
Class CL_STACK_ENGINE_BRF has no event.
Types
Class CL_STACK_ENGINE_BRF has no local type.
Method Signatures
Method ADD_MESSAGE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | FIELDNAME | Call by reference | Type reference (TYPE) | SCRFNAME | Name eines Dynproelementes | 20020522 | |||
| 2 | IO_EVENT | Call by reference | Object reference (TYPE REF TO) | IF_EVENT_BRF | BRF: Ereignis | 20020522 | |||
| 3 | IV_SIMULATION | Call by reference | Type reference (TYPE) | BRF_BOOLE_D | SPACE | BRF: Simulation/Syntax-Check | 20020522 | ||
| 4 | LINE | Call by reference | Type reference (TYPE) | SYTABIX | Interne Tabellen, aktueller Zeilenindex | 20020522 | |||
| 5 | MSGID | Call by reference | Type reference (TYPE) | SYMSGID | SY-MSGID | Nachrichten, Nachrichtenklasse | 20020522 | ||
| 6 | MSGNR | Call by reference | Type reference (TYPE) | SYMSGNO | SY-MSGNO | Nachrichten, Nachrichtennummer | 20020522 | ||
| 7 | MSGTY | Call by reference | Type reference (TYPE) | SYMSGTY | SY-MSGTY | Nachrichten, Nachrichtentyp | 20020522 | ||
| 8 | MSGV1 | Call by reference | Type reference (TYPE) | ANY | SY-MSGV1 | Nachrichten, Nachrichtenvariable | 20020522 | ||
| 9 | MSGV2 | Call by reference | Type reference (TYPE) | ANY | SY-MSGV2 | Nachrichten, Nachrichtenvariable | 20020522 | ||
| 10 | MSGV3 | Call by reference | Type reference (TYPE) | ANY | SY-MSGV3 | Nachrichten, Nachrichtenvariable | 20020522 | ||
| 11 | MSGV4 | Call by reference | Type reference (TYPE) | ANY | SY-MSGV4 | Nachrichten, Nachrichtenvariable | 20020522 |
Method ADD_MESSAGE on class CL_STACK_ENGINE_BRF has no exception.
Method CALC_DATE_DIFFERENCE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | EV_RESULT | Call by reference | Type reference (TYPE) | F | Differenz | 20020522 | |||
| 2 | IV_DATE1 | Call by reference | Type reference (TYPE) | SYDATUM | Datum und Zeit, aktuelles (Applikationsserver-)Datum | 20020522 | |||
| 3 | IV_DATE2 | Call by reference | Type reference (TYPE) | SYDATUM | Datum und Zeit, aktuelles (Applikationsserver-)Datum | 20020522 | |||
| 4 | IV_RESULT_UNIT | Value transfer | Type reference (TYPE) | C | 'D' | Differenz in Tagen(D), Wochen (W) etc. | 20020522 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Überlauf | 20020522 |
Method CALC_FORMULA Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CT_BRF200 | Call by reference | Type reference (TYPE) | TBRF200_T | BRF: Verwendungsnachweis - Tabellentyp | 20030507 | |||
| 2 | CT_OP_STACK | Call by reference | Type reference (TYPE) | BRF_CALC_STACK_T | BRF: Stack-Struktur für Formelinterpreter - Tabellentyp | 20020522 | |||
| 3 | CT_VAR_STACK | Call by reference | Type reference (TYPE) | BRF_CALC_STACK_T | BRF: Stack-Struktur für Formelinterpreter - Tabellentyp | 20020522 | |||
| 4 | ES_STACK | Call by reference | Type reference (TYPE) | BRF_CALC_STACK | BRF: Stack-Struktur für Formelinterpreter | 20020522 | |||
| 5 | IO_EVENT | Call by reference | Object reference (TYPE REF TO) | IF_EVENT_BRF | BRF: Ereignis | 20020522 | |||
| 6 | IO_EXPRESSION | Call by reference | Object reference (TYPE REF TO) | CL_EXPRESSION_BASE_BRF | BRF: Basisklasse Ausdrücke | 20020522 | |||
| 7 | IS_BRF150 | Call by reference | Type reference (TYPE) | SBRF150 | BRF: Dynprostruktur für Ausdrücke | 20020522 | |||
| 8 | IT_TOKENS | Call by reference | Type reference (TYPE) | BRF_TOKEN_T | BRF: Tokentabelle für Stack-Maschine | 20020522 | |||
| 9 | IV_SIMULATION | Call by reference | Type reference (TYPE) | BRF_BOOLE_D | SPACE | BRF: Simulation/Syntax-Check | 20020522 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Fehler aufgetreten | 20020905 |
Method CALC_STACK_OPERATION Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CT_BRF200 | Call by reference | Type reference (TYPE) | TBRF200_T | BRF: Verwendungsnachweis - Tabellentyp | 20030507 | |||
| 2 | CT_VAR_STACK | Call by reference | Type reference (TYPE) | BRF_CALC_STACK_T | BRF: Stack-Struktur für Formelinterpreter - Tabellentyp | 20020522 | |||
| 3 | IO_EVENT | Call by reference | Object reference (TYPE REF TO) | IF_EVENT_BRF | BRF: Ereignis | 20020522 | |||
| 4 | IO_EXPRESSION | Call by reference | Object reference (TYPE REF TO) | IF_EXPRESSION_BRF | BRF: Ausdruck | 20020522 | |||
| 5 | IS_BRF150 | Call by reference | Type reference (TYPE) | SBRF150 | BRF: Dynprostruktur für Ausdrücke | 20020522 | |||
| 6 | IS_OPERATION | Call by reference | Type reference (TYPE) | BRF_CALC_STACK | BRF: Stack-Struktur für Formelinterpreter | 20020522 | |||
| 7 | IV_SIMULATION | Call by reference | Type reference (TYPE) | BRF_BOOLE_D | SPACE | BRF: Simulation/Syntax-Check | 20020522 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Fehler aufgetreten | 20020905 |
Method CALC_STACK_PUSH Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CT_BRF200 | Call by reference | Type reference (TYPE) | TBRF200_T | BRF: Verwendungsnachweis - Tabellentyp | 20030507 | |||
| 2 | CT_OP_STACK | Call by reference | Type reference (TYPE) | BRF_CALC_STACK_T | BRF: Stack-Struktur für Formelinterpreter - Tabellentyp | 20020522 | |||
| 3 | CT_VAR_STACK | Call by reference | Type reference (TYPE) | BRF_CALC_STACK_T | BRF: Stack-Struktur für Formelinterpreter - Tabellentyp | 20020522 | |||
| 4 | IO_EVENT | Call by reference | Object reference (TYPE REF TO) | IF_EVENT_BRF | BRF: Ereignis | 20020522 | |||
| 5 | IO_EXPRESSION | Call by reference | Object reference (TYPE REF TO) | IF_EXPRESSION_BRF | BRF: Ausdruck | 20020522 | |||
| 6 | IS_BRF150 | Call by reference | Type reference (TYPE) | SBRF150 | BRF: Dynprostruktur für Ausdrücke | 20020522 | |||
| 7 | IS_TOKEN | Value transfer | Type reference (TYPE) | BRF_CALC_STACK | BRF: Stack-Struktur für Formelinterpreter | 20020522 | |||
| 8 | IV_SIMULATION | Call by reference | Type reference (TYPE) | BRF_BOOLE_D | SPACE | BRF: Simulation/Syntax-Check | 20020522 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Fehler aufgetreten | 20020905 |
Method CLASS_CONSTRUCTOR Signature
Method CLASS_CONSTRUCTOR on class CL_STACK_ENGINE_BRF has no parameter.
Method CLASS_CONSTRUCTOR on class CL_STACK_ENGINE_BRF has no exception.
Method DETERMINE_DECIMALS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CV_VALUE | Call by reference | Type reference (TYPE) | BRF_RESULT_VALUE | BRF: Ergebnis | 20020522 | |||
| 2 | EV_DECIMALS | Call by reference | Type reference (TYPE) | I | BRF: Nachkommastellen für Typ P | 20020522 |
Method DETERMINE_DECIMALS on class CL_STACK_ENGINE_BRF has no exception.
Method DETERMINE_TYPE_LENGTH Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | EV_LENGTH | Call by reference | Type reference (TYPE) | I | BRF: Feldlänge/Strukturlänge | 20020522 | |||
| 2 | IV_TYPE | Call by reference | Type reference (TYPE) | BRF_RESULT_TYPE | BRF: Ergebnistyp | 20020522 | |||
| 3 | IV_VALUE | Call by reference | Type reference (TYPE) | BRF_RESULT_VALUE | BRF: Ergebnis | 20020522 |
Method DETERMINE_TYPE_LENGTH on class CL_STACK_ENGINE_BRF has no exception.
Method GET_LINE_BRF190 Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ES_BRF190 | Call by reference | Type reference (TYPE) | TBRF190 | BRF: Operatoren | 20020522 | |||
| 2 | IV_OPERATOR | Call by reference | Type reference (TYPE) | BRF_OPERATOR | BRF: Operator allgemein | 20020522 | |||
| 3 | IV_OP_UNARY | Call by reference | Type reference (TYPE) | BRF_OPERATOR_UNARY | SPACE | BRF: Unärer Operator | 20020522 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Nichts gefunden | 20020522 |
Method GET_LINE_BRF192 Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ES_BRF192 | Call by reference | Type reference (TYPE) | TBRF192 | BRF: Operatoren und Ergebnistypen - Nachfolge TBRF191 | 20030605 | |||
| 2 | IV_OPERAND1 | Call by reference | Type reference (TYPE) | BRF_RESULT_TYPE | BRF: Ergebnistyp | 20030605 | |||
| 3 | IV_OPERAND2 | Call by reference | Type reference (TYPE) | BRF_RESULT_TYPE | BRF: Ergebnistyp | 20030605 | |||
| 4 | IV_OPERATOR | Call by reference | Type reference (TYPE) | BRF_OPERATOR | BRF: Operator allgemein | 20030605 | |||
| 5 | IV_OP_UNARY | Call by reference | Type reference (TYPE) | BRF_OPERATOR_UNARY | SPACE | BRF: Unärer Operator | 20030605 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Nichts gefunden | 20030605 |
Method PREPARE_PARAMETER Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CT_BRF200 | Call by reference | Type reference (TYPE) | TBRF200_T | BRF: Verwendungsnachweis - Tabellentyp | 20041120 | |||
| 2 | CT_VAR_STACK | Call by reference | Type reference (TYPE) | BRF_CALC_STACK_T | BRF: Stack-Struktur für Formelinterpreter - Tabellentyp | 20041120 | |||
| 3 | ES_VAR | Call by reference | Type reference (TYPE) | BRF_CALC_STACK | BRF: Stack-Struktur für Formelinterpreter | 20041120 | |||
| 4 | EV_FUNCTION_END | Call by reference | Type reference (TYPE) | BRF_BOOLE_D | BRF: space = false, 'X' = true | 20041120 | |||
| 5 | IO_EVENT | Call by reference | Object reference (TYPE REF TO) | IF_EVENT_BRF | BRF: Ereignis | 20041120 | |||
| 6 | IO_EXPRESSION | Call by reference | Object reference (TYPE REF TO) | IF_EXPRESSION_BRF | BRF: Ausdruck | 20041120 | |||
| 7 | IS_BRF150 | Call by reference | Type reference (TYPE) | SBRF150 | BRF: Dynprostruktur für Ausdrücke | 20041120 | |||
| 8 | IV_SIMULATION | Call by reference | Type reference (TYPE) | BRF_BOOLE_D | SPACE | BRF: space = false, 'X' = true | 20041120 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Fehler aufgetreten | 20041120 |
History
| Last changed by/on | SAP | 20110908 |
| SAP Release Created in | 471 |