0% found this document useful (0 votes)
109 views

R3 SAPscript Code To Workstation

This program downloads SAPscript forms stored in the SAP R/3 system as text elements. It retrieves the coding and options for selected forms from table STXH, downloads the text to the local workstation, and generates an HTML file with links to each downloaded form.

Uploaded by

Rakesh Rai
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views

R3 SAPscript Code To Workstation

This program downloads SAPscript forms stored in the SAP R/3 system as text elements. It retrieves the coding and options for selected forms from table STXH, downloads the text to the local workstation, and generates an HTML file with links to each downloaded form.

Uploaded by

Rakesh Rai
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 5

Download R/3 SAPscript Code to Workstation

SapScript Forms are stored as SAP R/3 text elements in the R/3 text pool. The are thus of
the same nature as text modules which you can edit using transaction SO10 . For each
SapScript form there are two corresponding entres in table STXH . One entry holds the
SapScript options and parameters of the form the other keeps the coding. The key values
are:

SapScript Option

STXH-TDOBJECT = 'FORM' .

STXH-TDID = 'DEF' .

STXH-TDNAME = formname .

SapScript Coding

STXH-TDOBJECT = 'FORM' .

STXH-TDID = 'TXT' .

STXH-TDNAME = formname .

REPORT Z_AXX_DOWNLOAD_SAPSCRIPT .
TABLES: RSSCF, THEAD.

DATA: TSTXH LIKE STXH OCCURS 0 WITH HEADER LINE.


DATA: TLINES LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA: HTML(1000) OCCURS 0 WITH HEADER LINE.
DATA: KEYWORDS(255).

SELECT-OPTIONS: FORMNAME FOR RSSCF-TDFORM MEMORY ID ZFO.


PARAMETERS: FILEPATH LIKE RLGRAP-FILENAME MEMORY ID FIL.
PARAMETERS: FILENAME LIKE RLGRAP-FILENAME DEFAULT '%'.

START-OF-SELECTION.
SELECT * FROM STXH INTO TABLE TSTXH WHERE TDOBJECT EQ 'FORM'
AND TDNAME IN FORMNAME.
CLEAR KEYWORDS.
LOOP AT TSTXH.
IF TSTXH-TDID EQ 'DEF'.
CONCATENATE KEYWORDS ',' TSTXH-TDNAME INTO KEYWORDS.
ENDIF.
ENDLOOP.

LOOP AT TSTXH.
PERFORM HTML_OPEN.
PERFORM DOWNLOAD_FORM USING TSTXH.
PERFORM HTML_CLOSE USING TSTXH-TDNAME.
ENDLOOP.

*---------------------------------------------------------------------*
* FORM DOWNLOAD_FORM *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> XSTXH *
*---------------------------------------------------------------------*
FORM DOWNLOAD_FORM USING XSTXH LIKE TSTXH.
DATA: XFILENAME LIKE FILENAME.
XFILENAME = FILENAME.
REPLACE '%' WITH XSTXH-TDNAME INTO XFILENAME.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
ID = XSTXH-TDID
LANGUAGE = XSTXH-TDSPRAS
NAME = XSTXH-TDNAME
OBJECT = XSTXH-TDOBJECT
* ARCHIVE_HANDLE = 0
IMPORTING
HEADER = THEAD
TABLES
LINES = TLINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
PERFORM DOWNLOAD USING XFILENAME XSTXH-TDID XSTXH-TDSPRAS.

PERFORM HTML_TABLE_ROW USING TSTXH-TDNAME


TSTXH-TDID
TSTXH-TDTITLE
TSTXH-TDSPRAS
XFILENAME.

ENDFORM.

*---------------------------------------------------------------------*
* FORM DOWNLOAD *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> XSTXH *
*---------------------------------------------------------------------*
FORM DOWNLOAD USING XFILENAME EXTENSION SPRAS.
DATA: XFILEPATH LIKE FILENAME.

CONCATENATE XFILENAME '.' EXTENSION INTO XFILENAME.


IF SPRAS IS INITIAL. ELSE.
CONCATENATE XFILENAME '.' SPRAS '.txt' INTO XFILENAME.
ENDIF.

CONCATENATE FILEPATH XFILENAME INTO XFILEPATH.


CONDENSE XFILEPATH NO-GAPS.
TRANSLATE XFILEPATH TO LOWER CASE.

CALL FUNCTION 'WS_DOWNLOAD'


EXPORTING
FILENAME = XFILEPATH
TABLES
DATA_TAB = TLINES
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
GUI_REFUSE_FILETRANSFER = 8
OTHERS = 9.
ENDFORM. " download using xstxh like
stxh.
*---------------------------------------------------------------------*
* FORM HTML_OPEN *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM HTML_OPEN.
REFRESH HTML.
HTML = '<html>'.
APPEND HTML.
HTML = '<HEAD>'.
APPEND HTML.
HTML = '<TITLE>SAPSCRIPT TUTORIAL - EXAMPLE %</TITLE>'.
APPEND HTML.
CONCATENATE
'<META NAME="KEYWORDS" content="' KEYWORDS '">' INTO HTML.
APPEND HTML.
HTML = '</HEAD>'.
APPEND HTML.
HTML = '<BODY>'.
APPEND HTML.
HTML = '<TABLE>'.
APPEND HTML.
ENDFORM.

*---------------------------------------------------------------------*
* FORM HTML_CLOSE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM HTML_CLOSE USING VALUE(FORMNAME).
DATA: TMPFILENAME(32) VALUE 'TOC'.
HTML = '</TABLE>'.
APPEND HTML.
HTML = '</BODY>'.
REFRESH TLINES. APPEND LINES OF HTML TO TLINES.
CONCATENATE FORMNAME '.' TMPFILENAME INTO TMPFILENAME.
PERFORM DOWNLOAD USING TMPFILENAME 'HTM' SPACE.
ENDFORM.

*---------------------------------------------------------------------*
* FORM HTML_TABLE_ROW *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> COL1 *
* --> COL2 *
* --> LINK *
*---------------------------------------------------------------------*
FORM HTML_TABLE_ROW USING COL1 COL2 COL3 COL4 LINK.
HTML = '<TR>'. APPEND HTML.
HTML = '<TD>'. APPEND HTML.
HTML = COL2 . APPEND HTML.
HTML = '</TD>'. APPEND HTML.
HTML = '<TD>'. APPEND HTML.
HTML = COL4 . APPEND HTML.
HTML = '</TD>'. APPEND HTML.
HTML = '<TD>'. APPEND HTML.
HTML = '<A HREF="'. APPEND HTML.
HTML = LINK. APPEND HTML.
HTML = '">'. APPEND HTML.
HTML = COL1 . APPEND HTML.
HTML = '</A>'. APPEND HTML.
HTML = '</TD>'. APPEND HTML.
HTML = '<TD>'. APPEND HTML.
HTML = COL3 . APPEND HTML.
HTML = '</TD>'. APPEND HTML.
HTML = '</TR>'. APPEND HTML.
ENDFORM.

INITIALIZATION.
CALL FUNCTION 'WS_ULDL_PATH'
IMPORTING
DOWNLOAD_PATH = FILEPATH
* UPLOAD_PATH =
EXCEPTIONS
OTHERS = 1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FORMNAME-LOW.


SUBMIT RSTXFCAT VIA SELECTION-SCREEN AND RETURN.
PERFORM GET_PARAMETER(SAPMSSCF) USING FORMNAME-LOW RSSCF-TDSPRAS.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FORMNAME-HIGH.


SUBMIT RSTXFCAT VIA SELECTION-SCREEN AND RETURN.
PERFORM GET_PARAMETER(SAPMSSCF) USING FORMNAME-HIGH RSSCF-TDSPRAS.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILEPATH.


PERFORM QUERY_FILENAME(SAPLGRAP) USING FILEPATH 'S'.

You might also like