Calling SAP Statistical Graphics, Without Dialog 

The following ABAP program illustrates some of the function module calls discussed in the preceding topics.

PROGRAM G_STAT_1.

 

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

* *

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

* This report calls SAP Statistics without interactive dialog*

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

* Representation of Sine and Cosine Functions *

* *

* Input: the number of subdivisions of the *

* circle (360 degrees). *

* The report ends when F3 is pressed in the *

* Statistics window. *

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

 

DATA: D TYPE F,

W TYPE F,

F TYPE F,

PI TYPE F.

DATA: BEGIN OF OPTS OCCURS 1, "// Options table

C(80),

END OF OPTS.

DATA: BEGIN OF DATA OCCURS 1, "// Data table

W TYPE P,

F TYPE F,

END OF DATA.

PARAMETER: NUMBER TYPE P DEFAULT '30'.

 

PI = '3.14159' / 180.

D = 360 / ( NUMBER - 1).

 

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

* Function 1 *

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

 

DO NUMBER TIMES. "// Fill data table

DATA-W = W.

DATA-F = COS( W * PI).

APPEND DATA.

ADD D TO W.

ENDDO.

OPTS = '$'. "// Fill options table

WRITE NUMBER TO OPTS+1. "// Provide number of points

APPEND OPTS.

OPTS = 'COLOR=7'. "// Color of curve

APPEND OPTS.

OPTS = 'THICK=1'. "// Width of curve

APPEND OPTS.

OPTS = 'LTEXT=COSINE Curve'. "// Legend text

APPEND OPTS.

OPTS = 'DTEXT=Description text for representing a COS curve'.

APPEND OPTS.

 

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

* Function 2 *

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

 

W = 0.

DO NUMBER TIMES.

DATA-W = W.

DATA-F = SIN( W * PI).

APPEND DATA.

ADD D TO W.

ENDDO.

OPTS = '$'.

WRITE NUMBER TO OPTS+1.

APPEND OPTS.

OPTS = 'COLOR=4'.

APPEND OPTS.

OPTS = 'THICK=1'.

APPEND OPTS.

OPTS = 'LTEXT=SINE Curve'.

APPEND OPTS.

OPTS = 'DTEXT=Representation of a SIN curve'.

APPEND OPTS.

 

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

* Function 3 *

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

 

W = 0.

DO NUMBER TIMES.

DATA-W = W.

DATA-F = COS( W * PI) * SIN( W * PI).

APPEND DATA.

ADD D TO W.

ENDDO.

OPTS = '$'.

WRITE NUMBER TO OPTS+1.

APPEND OPTS.

OPTS = 'C_ART=1'.

APPEND OPTS.

OPTS = 'CTYPE=4'.

APPEND OPTS.

OPTS = 'COLOR=3'.

APPEND OPTS.

OPTS = 'LTEXT=COSINE-SINE Curve'.

APPEND OPTS.

OPTS = 'DTEXT=Description text for representing a COSINE-SINE curve'.

APPEND OPTS.

 

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

* Graphical Output *

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

DATA X1 TYPE F VALUE '0'.

DATA X2 TYPE F VALUE '360'.

DATA Y1 TYPE F VALUE '-1.0'.

DATA Y2 TYPE F VALUE '1.0'.

 

CALL FUNCTION 'STAT_GRAPH'

EXPORTING

TTEXT = 'Wave Functions'

UTEXT = 'Sine and Cosine Functions'

TAXIS = 'Angle in Degrees'

X_ART = 'LIN'

Y_ART = 'LIN'

SCALE = 'MAN'

XRNGL = X1

XRNGU = X2

YRNGL = Y1

YRNGU = Y2

XTCKS = '13'

YTCKS = '11'

TABLES

OPTS = OPTS

DATA = DATA.