create t-code for abap query
1 *first , you can run query and get the proid , then create t-code by
2 *the proid. this way is not good,beacause the proid may be changed when
3 *query transport to the prd client . in every client the querys
4 *proid will be regenerated.
5 *
6 *you can write a report by following three functions for call abab-query,
7 *set a paramter(query-name) for query name , and then create a
8 *tcode (example:"ZA") for the report. last Create a new Tcode calling
9 *tcode "ZA" with query-name parameter .
10
11
12 "get proid by query name
13 FUNCTION RSAQ_REPORT_NAME.
14 *"----------------------------------------------------------------------
15 *"*"Lokale Schnittstelle:
16 *" IMPORTING
17 *" VALUE(WORKSPACE) LIKE AQADEF-WSID
18 *" VALUE(USERGROUP) LIKE AQADEF-BGNAME
19 *" VALUE(QUERY) LIKE AQADEF-QUNAME
20 *" EXPORTING
21 *" VALUE(REPORTNAME) LIKE AQADEF-PGNAME
22 *"----------------------------------------------------------------------
23
24
25 "get query name by proid
26 FUNCTION RSAQ_DECODE_REPORT_NAME.
27 *"----------------------------------------------------------------------
28 *"*"Lokale Schnittstelle:
29 *" IMPORTING
30 *" VALUE(REPORTNAME) LIKE AQADEF-PGNAME
31 *" EXPORTING
32 *" VALUE(WORKSPACE) LIKE AQADEF-WSID
33 *" VALUE(USERGROUP) LIKE AQADEF-BGNAME
34 *" VALUE(QUERY) LIKE AQADEF-QUNAME
35 *" VALUE(CLIENT) LIKE SY-MANDT
36 *" EXCEPTIONS
37 *" NO_QUERY_REPORT
38 *"-------------------------------
39
40
41 "call report by proid
42 FUNCTION SUBMIT_REPORT.
43 *"----------------------------------------------------------------------
44 *"*"Globale Schnittstelle:
45 *" IMPORTING
46 *" VALUE(RDIR) LIKE TRDIR STRUCTURE TRDIR DEFAULT TRDIR
47 *" VALUE(REPORT) LIKE RALDB-REPORT "ProID
48 *" VALUE(RET_VIA_LEAVE) LIKE RALDB-MARKFIELD DEFAULT 'X'
49 *" VALUE(VARIANT) LIKE RALDB-VARIANT DEFAULT SPACE
50 *" VALUE(VARIPROG) LIKE RALDB-REPORT DEFAULT SPACE
51 *" VALUE(SKIP_SELSCREEN) DEFAULT SPACE
52 *" VALUE(EXPRESSIONS) TYPE RSDS_TEXPR OPTIONAL
53 *" EXPORTING
54 *" VALUE(VARIANT) LIKE RALDB-VARIANT
55 *" TABLES
56 *" SELECTION_TABLE STRUCTURE RSPARAMS OPTIONAL
57 *" EXCEPTIONS
58 *" JUST_VIA_VARIANT
59 *" NO_SUBMIT_AUTH
60 *"----------------------------------------------------------------------
2 *the proid. this way is not good,beacause the proid may be changed when
3 *query transport to the prd client . in every client the querys
4 *proid will be regenerated.
5 *
6 *you can write a report by following three functions for call abab-query,
7 *set a paramter(query-name) for query name , and then create a
8 *tcode (example:"ZA") for the report. last Create a new Tcode calling
9 *tcode "ZA" with query-name parameter .
10
11
12 "get proid by query name
13 FUNCTION RSAQ_REPORT_NAME.
14 *"----------------------------------------------------------------------
15 *"*"Lokale Schnittstelle:
16 *" IMPORTING
17 *" VALUE(WORKSPACE) LIKE AQADEF-WSID
18 *" VALUE(USERGROUP) LIKE AQADEF-BGNAME
19 *" VALUE(QUERY) LIKE AQADEF-QUNAME
20 *" EXPORTING
21 *" VALUE(REPORTNAME) LIKE AQADEF-PGNAME
22 *"----------------------------------------------------------------------
23
24
25 "get query name by proid
26 FUNCTION RSAQ_DECODE_REPORT_NAME.
27 *"----------------------------------------------------------------------
28 *"*"Lokale Schnittstelle:
29 *" IMPORTING
30 *" VALUE(REPORTNAME) LIKE AQADEF-PGNAME
31 *" EXPORTING
32 *" VALUE(WORKSPACE) LIKE AQADEF-WSID
33 *" VALUE(USERGROUP) LIKE AQADEF-BGNAME
34 *" VALUE(QUERY) LIKE AQADEF-QUNAME
35 *" VALUE(CLIENT) LIKE SY-MANDT
36 *" EXCEPTIONS
37 *" NO_QUERY_REPORT
38 *"-------------------------------
39
40
41 "call report by proid
42 FUNCTION SUBMIT_REPORT.
43 *"----------------------------------------------------------------------
44 *"*"Globale Schnittstelle:
45 *" IMPORTING
46 *" VALUE(RDIR) LIKE TRDIR STRUCTURE TRDIR DEFAULT TRDIR
47 *" VALUE(REPORT) LIKE RALDB-REPORT "ProID
48 *" VALUE(RET_VIA_LEAVE) LIKE RALDB-MARKFIELD DEFAULT 'X'
49 *" VALUE(VARIANT) LIKE RALDB-VARIANT DEFAULT SPACE
50 *" VALUE(VARIPROG) LIKE RALDB-REPORT DEFAULT SPACE
51 *" VALUE(SKIP_SELSCREEN) DEFAULT SPACE
52 *" VALUE(EXPRESSIONS) TYPE RSDS_TEXPR OPTIONAL
53 *" EXPORTING
54 *" VALUE(VARIANT) LIKE RALDB-VARIANT
55 *" TABLES
56 *" SELECTION_TABLE STRUCTURE RSPARAMS OPTIONAL
57 *" EXCEPTIONS
58 *" JUST_VIA_VARIANT
59 *" NO_SUBMIT_AUTH
60 *"----------------------------------------------------------------------