Anfang des Inhaltsbereichs

SAP-Portfoliografik mit Dialog aufrufen Dokument im Navigationsbaum lokalisieren

Das folgende ABAP-Programm veranschaulicht den Aufruf des Funktionsbausteins GRAPH_PORT.

*-------------------------------------------------------------*

* Dieses Programm ruft die SAP-Portfoliografik auf. *

* *

* GRPORT_1 ruft GRAPH_PORT auf und sendet die Objekte des *

* Portfoliodiagramms sowie die Trendlinien, die zwischen *

* den Objekten gezeichnet werden sollen. *

*-------------------------------------------------------------*

REPORT GRPORT_1.

 

DATA: BEGIN OF OBJT OCCURS 1. "// Objektattribute

INCLUDE STRUCTURE GPOOBJT.

DATA: END OF OBJT.

 

DATA: BEGIN OF AREA_TAB OCCURS 1. "// Bereiche (nicht verwendet)

INCLUDE STRUCTURE GPOAREA.

DATA: END OF AREA_TAB.

 

DATA: BEGIN OF COL_TEXT OCCURS 1, "// Wertespalten

C(40),

END OF COL_TEXT.

 

DATA: BEGIN OF VALUES OCCURS 1, "// Objektfelder

P1 TYPE P,

P2 TYPE P,

P3 TYPE P,

P4 TYPE P,

P5 TYPE P,

P6 TYPE P,

P7 TYPE P,

P8 TYPE P,

P9 TYPE P,

END OF VALUES.

DATA: BEGIN OF AXIS OCCURS 4.

INCLUDE STRUCTURE GPOAXIS.

DATA: END OF AXIS.

 

DATA SAVE LIKE SY-TABIX.

 

 

SET PF-STATUS 'GRAF'.

 

* Einschränkungen: Anzahl der VALUES-Zeilen == Anzahl der OBJT-Reihen

* : Anzahl der VALUES-Spalten == Anzahl der COL_TEXT-
Reihen

 

* Spaltentitel für $OBJD::VALTIT

COL_TEXT = '% Market share'. APPEND COL_TEXT.

COL_TEXT = '% Growth'. APPEND COL_TEXT.

COL_TEXT = 'Sales'. APPEND COL_TEXT.

COL_TEXT = 'Market share trend'. APPEND COL_TEXT.

COL_TEXT = 'Growth trend'. APPEND COL_TEXT.

COL_TEXT = 'Fixed costs'. APPEND COL_TEXT.

COL_TEXT = 'Overhead costs'. APPEND COL_TEXT.

COL_TEXT = 'Admin. costs'. APPEND COL_TEXT.

COL_TEXT = 'Estimated profits'. APPEND COL_TEXT.

 

* Attribute für $AXIS

AXIS-POS = 'RIGHT'.

AXIS-BACKCLR = 'DARKGRAY'.

AXIS-TEXTCLR = 'WHITE'.

AXIS-SCALCLR = 'WHITE'.

AXIS-SHADOW = 'N'.

AXIS-TICKS = '50'.

AXIS-START = '0'.

AXIS-END = '100'.

APPEND AXIS.

 

AXIS-POS = 'TOP'.

AXIS-BACKCLR = 'DARKGRAY'.

AXIS-TEXTCLR = 'WHITE'.

AXIS-SCALCLR = 'WHITE'.

AXIS-SHADOW = SPACE.

AXIS-TICKS = '50'.

AXIS-START = '0'.

AXIS-END = '100'.

APPEND AXIS.

 

AXIS-POS = 'LEFT'.

AXIS-BACKCLR = 'DARKGRAY'.

AXIS-TEXTCLR = 'WHITE'.

AXIS-SCALCLR = 'WHITE'.

AXIS-SHADOW = 'N'.

AXIS-TICKS = '10'.

AXIS-START = '0'.

AXIS-END = '100'.

APPEND AXIS.

 

AXIS-POS = 'BOTTOM'.

AXIS-BACKCLR = 'DARKGRAY'.

AXIS-TEXTCLR = 'WHITE'.

AXIS-SCALCLR = 'WHITE'.

AXIS-SHADOW = 'N'.

AXIS-TICKS = '50'.

AXIS-START = '0'.

AXIS-END = '100'.

APPEND AXIS.

 

* Objekte

*BJT-LINECLR = 'WHITE'.

 

* 1. Trendlinie

 

OBJT-FORM = 'RECTANGLE'.

OBJT-FILLCLR = 'YELLOW'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Clarion 1990'.

OBJT-INFO = 'Sales in 1990'.

VALUES-P1 = 10.

VALUES-P2 = 20.

VALUES-P3 = 10000.

VALUES-P4 = 22.

VALUES-P5 = 22.

VALUES-P6 = 400.

VALUES-P7 = 300.

VALUES-P8 = 200.

VALUES-P9 = 100.

APPEND OBJT.

APPEND VALUES.

 

 

OBJT-FORM = 'RECTANGLE'.

OBJT-FILLCLR = 'YELLOW'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Clarion 1991'.

OBJT-INFO = 'Sales in 1991'.

VALUES-P1 = 22.

VALUES-P2 = 22.

VALUES-P3 = 15000.

VALUES-P4 = 45.

VALUES-P5 = 35.

VALUES-P6 = 100.

VALUES-P7 = 200.

VALUES-P8 = 300.

VALUES-P9 = 400.

APPEND OBJT.

APPEND VALUES.

 

 

OBJT-FORM = 'RECTANGLE'.

OBJT-FILLCLR = 'YELLOW'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Clarion 1992'.

OBJT-INFO = 'Sales in 1992'.

VALUES-P1 = 45.

VALUES-P2 = 35.

VALUES-P3 = 22000.

VALUES-P4 = 62.

VALUES-P5 = 33.

VALUES-P6 = 20.

VALUES-P7 = 40.

VALUES-P8 = 80.

VALUES-P9 = 160.

APPEND OBJT.

APPEND VALUES.

 

OBJT-FORM = 'RECTANGLE'.

OBJT-FILLCLR = 'YELLOW'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Clarion 1993'.

OBJT-INFO = 'Sales in 1993'.

VALUES-P1 = 62.

VALUES-P2 = 33.

VALUES-P3 = 12000.

VALUES-P4 = 62.

VALUES-P5 = 33.

VALUES-P6 = 600.

VALUES-P7 = 700.

VALUES-P8 = 600.

VALUES-P9 = 700.

APPEND OBJT.

APPEND VALUES.

 

* 2. Trendlinie

 

OBJT-FORM = 'CIRCLE'.

OBJT-FILLCLR = 'GREEN'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Sony 1988'.

OBJT-INFO = 'Sony UX400/CD, Sales in 1988'.

VALUES-P1 = 2.

VALUES-P2 = 50.

VALUES-P3 = 2500.

VALUES-P4 = 26.

VALUES-P5 = 57.

VALUES-P6 = 100.

VALUES-P7 = 700.

VALUES-P8 = 20.

VALUES-P9 = 50.

APPEND OBJT.

APPEND VALUES.

 

OBJT-FORM = 'CIRCLE'.

OBJT-FILLCLR = 'GREEN'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Sony 1989'.

OBJT-INFO = 'Sony UX400/CD, Sales in 1989'.

VALUES-P1 = 26.

VALUES-P2 = 57.

VALUES-P3 = 3500.

VALUES-P4 = 58.

VALUES-P5 = 70.

VALUES-P6 = 100.

VALUES-P7 = 600.

VALUES-P8 = 20.

VALUES-P9 = 70.

APPEND OBJT.

APPEND VALUES.

 

OBJT-FORM = 'CIRCLE'.

OBJT-FILLCLR = 'GREEN'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Sony 1990'.

OBJT-INFO = 'Sony UX400/CD, Sales in 1990'.

VALUES-P1 = 58.

VALUES-P2 = 70.

VALUES-P3 = 11000.

VALUES-P4 = 79.

VALUES-P5 = 68.

VALUES-P6 = 100.

VALUES-P7 = 500.

VALUES-P8 = 25.

VALUES-P9 = 90.

APPEND OBJT.

APPEND VALUES.

 

OBJT-FORM = 'CIRCLE'.

OBJT-FILLCLR = 'GREEN'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Sony 1991'.

OBJT-INFO = 'Sony UX400/CD, Sales 1991'.

VALUES-P1 = 79.

VALUES-P2 = 68.

VALUES-P3 = 13000.

VALUES-P4 = 87.

VALUES-P5 = 54.

VALUES-P6 = 100.

VALUES-P7 = 430.

VALUES-P8 = 45.

VALUES-P9 = 120.

APPEND OBJT.

APPEND VALUES.

 

OBJT-FORM = 'CIRCLE'.

OBJT-FILLCLR = 'GREEN'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Sony 1992'.

OBJT-INFO = 'Sony UX400/CD, Sales in 1992'.

VALUES-P1 = 87.

VALUES-P2 = 54.

VALUES-P3 = 13500.

VALUES-P4 = 80.

VALUES-P5 = 34.

VALUES-P6 = 90.

VALUES-P7 = 390.

VALUES-P8 = 44.

VALUES-P9 = 150.

APPEND OBJT.

APPEND VALUES.

 

OBJT-FORM = 'CIRCLE'.

OBJT-FILLCLR = 'GREEN'.

OBJT-TEXTCLR = 'BLUE'.

OBJT-TITLE = 'Sony 1993'.

OBJT-INFO = 'Sony UX400/CD, Sales in 1993'.

VALUES-P1 = 80.

VALUES-P2 = 34.

VALUES-P3 = 23000.

VALUES-P4 = 80. "// Eigene Linie

VALUES-P5 = 34.

VALUES-P6 = 90.

VALUES-P7 = 370.

VALUES-P8 = 47.

VALUES-P9 = 165.

APPEND OBJT.

APPEND VALUES.

 

AREA_TAB-FORM = 'RECTANGLE'.

AREA_TAB-FILLCLR = 'RED'.

AREA_TAB-XFROM = '10'.

AREA_TAB-YFROM = '70'.

AREA_TAB-XTO = '40'.

AREA_TAB-YTO = '90'.

AREA_TAB-TITLE = 'Winner takes all'.

APPEND AREA_TAB.

 

LOOP AT OBJT.

WRITE: / OBJT-TITLE(20).

SAVE = SY-TABIX.

READ TABLE VALUES INDEX SAVE.

WRITE 25 VALUES-P3.

ENDLOOP.

 

AT PF08.

 

CALL FUNCTION 'GRAPH_PORT'

EXPORTING

TITLE_TITLE = 'Trend-Portfolio for Sony and Clarion
Radio'

TITLE_INFO = 'The two objects over several years'

TITLE_TEXTCLR = 'YELLOW'

TITLE_BACKCLR = 'DARKGRAY'

TITLE_SIZE = '2'

FRM_BACKCLR = 'GRAY'

FRM_CORDCLR = 'WHITE'

FRM_SCALCLR = 'WHITE'

FRM_SCALMOD = 'LONGDASH'

FRM_GRIDX = '10'

FRM_GRIDY = '10'

FRM_SHADOW = 'X'

OBJ_XVAL = '0'

OBJ_YVAL = '1'

OBJ_SVAL = '2'

OBJ_XARR = '3'

OBJ_YARR = '4'

TABLES

AXIS = AXIS

COL_TEXT = COL_TEXT

OBJT = OBJT

VALUES = VALUES

AREA_TAB = AREA_TAB.

 

 

Ende des Inhaltsbereichs