R3 SAPscript Code To Workstation
R3 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.
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.
ENDFORM.
*---------------------------------------------------------------------*
* FORM DOWNLOAD *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> XSTXH *
*---------------------------------------------------------------------*
FORM DOWNLOAD USING XFILENAME EXTENSION SPRAS.
DATA: XFILEPATH LIKE FILENAME.
*---------------------------------------------------------------------*
* 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.