‎2007 Oct 17 5:00 AM
i want submit the one report internal table values to other report initial screen parameters?
‎2007 Oct 17 5:04 AM
Hi,
U can use the SUBMIT report WITH SELECTION-TABLE itab.
Here itab needs to be of type rspar.
Itab has the structure:
SELNAME (length 8),
KIND (length 1),
SIGN (length 1),
OPTION (length 2),
LOW (length 45),
HIGH (length 45).
U fill the itab with the parameters or select-options of the report to be called and the corresponding values and then submit it.
Regards,
Himanshu
‎2007 Oct 17 5:04 AM
Hi,
U can use the SUBMIT report WITH SELECTION-TABLE itab.
Here itab needs to be of type rspar.
Itab has the structure:
SELNAME (length 8),
KIND (length 1),
SIGN (length 1),
OPTION (length 2),
LOW (length 45),
HIGH (length 45).
U fill the itab with the parameters or select-options of the report to be called and the corresponding values and then submit it.
Regards,
Himanshu
‎2007 Oct 17 5:08 AM
Hi Karthikeyan,
Please refer to the below code for Submit:
REPORT zs_alr MESSAGE-ID zs_alr .
type-pools : truxs.
TABLES : ska1, skb1,bkpf.
DATA : rspar TYPE TABLE OF rsparams,
rspar_wa LIKE LINE OF rspar.
DATA : var1(15) TYPE c,
var2(15) TYPE c ,
temp(15) TYPE c.
DATA : listobject1 LIKE abaplist OCCURS 0.
DATA : BEGIN OF wa,
bukrs2(10) TYPE c,
bmonat2(10) TYPE c,
currtyp1(4) TYPE c,
saknr1(6) TYPE c,
text1(59) TYPE c,
totals(21) TYPE c,
END OF wa.
DATA : BEGIN OF wa2,
bukrs2(5) TYPE c,
saknr1(6) TYPE c,
totals(21) TYPE c,
END OF wa2.
data : itab type truxs_t_text_data.
DATA : ascitab LIKE TABLE OF wa.
DATA : ascitab1 LIKE TABLE OF wa2.
*DATA : ASCITAB LIKE LISTZEILE OCCURS 0 WITH HEADER LINE,
ASCITAB1 LIKE LISTZEILE OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF wa1,
bukrs3 TYPE skb1-bukrs,
saknr3 TYPE ska1-saknr,
totals1 TYPE p DECIMALS 2,
END OF wa1.
DATA : result LIKE TABLE OF wa1.
data : filenam1 type string.
SELECTION-SCREEN BEGIN OF BLOCK b1.
PARAMETERS: bilaver1 LIKE t011t-versn DEFAULT 'ss7b' NO-DISPLAY,
bilaspr1 LIKE t011-dspra DEFAULT 'EN' NO-DISPLAY,
bilbjah1 LIKE bkpf-gjahr DEFAULT '2007',
bmonat1 LIKE rfsdo-bilabmon,
bilvjah1 LIKE bkpf-gjahr DEFAULT '2006' NO-DISPLAY,
vmonat1 LIKE rfsdo-bilavmon NO-DISPLAY.
*parameters : BILAGRI1 LIKE RFBILA_ALV_SETTINGS-GRID
default 'X' RADIObutton group ALV ,
BILALIS1 LIKE RFBILA_ALV_SETTINGS-CLASSIC
RADIOBUTTON GROUP ALV.
PARAMETERS : currtype LIKE rfpdo2-allgcrtp DEFAULT '30' NO-DISPLAY.
SELECT-OPTIONS : bukrs1 FOR skb1-bukrs,
ktopl1 FOR ska1-ktopl DEFAULT 'ss7' NO-DISPLAY.
PARAMETERS : filename TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK b1.
*break shahv.
IF bukrs1-low IS INITIAL AND bukrs1-high IS INITIAL.
MESSAGE i001.
LEAVE TO SCREEN 1000.
ENDIF.
IF bmonat1 IS INITIAL.
MESSAGE i001.
LEAVE TO SCREEN 1000.
ENDIF.
vmonat1 = bmonat1.
IF bilaver1 IS NOT INITIAL.
rspar_wa-selname = 'BILAVERS'.
rspar_wa-kind = 'P'.
rspar_wa-sign = 'I'.
rspar_wa-option = 'EQ'.
rspar_wa-low = bilaver1.
APPEND rspar_wa TO rspar.
CLEAR rspar_wa.
ENDIF.
IF bilaspr1 IS NOT INITIAL.
rspar_wa-selname = 'BILASPRA'.
rspar_wa-kind = 'P'.
rspar_wa-sign = 'I'.
rspar_wa-option = 'EQ'.
rspar_wa-low = bilaspr1.
APPEND rspar_wa TO rspar.
CLEAR rspar_wa.
ENDIF.
IF bilbjah1 IS NOT INITIAL.
rspar_wa-selname = 'BILBJAHR'.
rspar_wa-kind = 'P'.
rspar_wa-sign = 'I'.
rspar_wa-option = 'EQ'.
rspar_wa-low = bilbjah1.
APPEND rspar_wa TO rspar.
CLEAR rspar_wa.
ENDIF.
IF bmonat1 IS NOT INITIAL.
rspar_wa-selname = 'B-MONATE'.
rspar_wa-kind = 'P'.
rspar_wa-sign = 'I'.
rspar_wa-option = 'EQ'.
rspar_wa-low = bmonat1.
APPEND rspar_wa TO rspar.
CLEAR rspar_wa.
ENDIF.
IF bilvjah1 IS NOT INITIAL.
rspar_wa-selname = 'BILVJAHR'.
rspar_wa-kind = 'P'.
rspar_wa-sign = 'I'.
rspar_wa-option = 'EQ'.
rspar_wa-low = bilvjah1.
APPEND rspar_wa TO rspar.
CLEAR rspar_wa.
ENDIF.
IF vmonat1 IS NOT INITIAL.
rspar_wa-selname = 'V-MONATE'.
rspar_wa-kind = 'P'.
rspar_wa-sign = 'I'.
rspar_wa-option = 'EQ'.
rspar_wa-low = vmonat1.
APPEND rspar_wa TO rspar.
CLEAR rspar_wa.
ENDIF.
*IF BILAGRI1 IS NOT INITIAL.
*RSPAR_WA-SELNAME = 'BILAGRID'.
*RSPAR_WA-KIND = 'P'.
*RSPAR_WA-SIGN = 'I'.
*RSPAR_WA-OPTION = 'EQ'.
*RSPAR_WA-LOW = BILAGRI1.
*APPEND RSPAR_WA TO RSPAR.
*CLEAR RSPAR_WA.
*ENDIF.
*
*
*IF BILALIS1 IS NOT INITIAL.
*RSPAR_WA-SELNAME = 'BILALIST'.
*RSPAR_WA-KIND = 'P'.
*RSPAR_WA-SIGN = 'I'.
*RSPAR_WA-OPTION = 'EQ'.
*RSPAR_WA-LOW = BILALIS1.
*APPEND RSPAR_WA TO RSPAR.
*CLEAR RSPAR_WA.
*ENDIF.
*
IF ktopl1 IS NOT INITIAL.
rspar_wa-selname = 'SD_KTOPL'.
rspar_wa-kind = 'P'.
rspar_wa-sign = 'I'.
rspar_wa-option = 'EQ'.
rspar_wa-low = ktopl1-low.
rspar_wa-high = ktopl1-high.
APPEND rspar_wa TO rspar.
CLEAR rspar_wa.
ENDIF.
IF currtype IS NOT INITIAL.
rspar_wa-selname = 'SD_CURTP'.
rspar_wa-kind = 'P'.
rspar_wa-sign = 'I'.
rspar_wa-option = 'EQ'.
rspar_wa-low = currtype.
APPEND rspar_wa TO rspar.
CLEAR rspar_wa.
ENDIF.
var1 = bukrs1-low.
var2 = bukrs1-high.
move filename to filenam1.
IF bukrs1-low IS NOT INITIAL AND bukrs1-high IS INITIAL.
SUBMIT rfbila00
WITH SELECTION-TABLE rspar
WITH sd_bukrs EQ var1
EXPORTING LIST TO MEMORY
AND RETURN.
ELSEIF bukrs1-low LT bukrs1-high.
SUBMIT rfbila00
WITH SELECTION-TABLE rspar
WITH sd_bukrs BETWEEN var1 AND var2
EXPORTING LIST TO MEMORY
AND RETURN.
ELSEIF bukrs1-low GT bukrs1-high.
temp = var1.
var1 = var2.
var2 = temp.
SUBMIT rfbila00
WITH SELECTION-TABLE rspar
WITH sd_bukrs BETWEEN var1 AND var2
EXPORTING LIST TO MEMORY
AND RETURN.
ENDIF.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = listobject1
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'LIST_TO_ASCI'
EXPORTING
list_index = -1
WITH_LINE_BREAK = ' '
TABLES
listasci = ascitab
listobject = listobject1
EXCEPTIONS
EMPTY_LIST = 1
LIST_INDEX_INVALID = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*CALL FUNCTION 'LIST_TO_TXT'
EXPORTING
LIST_INDEX = -1
TABLES
listtxt = ascitab
LISTOBJECT = listobject1
EXCEPTIONS
EMPTY_LIST = 1
LIST_INDEX_INVALID = 2
OTHERS = 3
.
*IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
*break shahv.
*WRITE : 'HI'.
*LOOP AT ASCITAB FROM 13.
*MOVE ASCITAB TO ASCITAB1.
*APPEND ASCITAB1.
*ENDLOOP.
LOOP AT ascitab INTO wa FROM 13.
MOVE wa-bukrs2+2(4) TO wa2-bukrs2.
*MOVE WA-RYEAR+6(2) TO WA2-RYEAR.
MOVE wa-saknr1 TO wa2-saknr1.
*MOVE wa-BMONAT2 TO WA2-BMONAT2.
*MOVE wa-CURRTYP1 TO WA2-CURRTYP1.
MOVE wa-totals+1(14) TO wa2-totals.
*MOVE wa-TEXT1 TO WA2-TEXT1.
*CONDENSE WA2.
*CONDENSE WA2.
*CONDENSE WA2.
IF wa2-bukrs2 EQ '----'.
EXIT.
ELSEIF wa2-bukrs2 EQ ' '.
CONTINUE.
ELSEIF wa2-bukrs2 GE bukrs1-low OR wa2-bukrs2 LE bukrs1-high.
APPEND wa2 TO ascitab1.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
*sort ascitab1 by bukrs2.
*sort ascitab1 by bukrs2.
*loop at ascitab1 into wa2.
*write : / wa2-bukrs2,
wa2-saknr1,
wa2-totals.
*endloop.
*BREAK SHAHV.
*LOOP AT ASCITAB1 INTO WA2.
*WA1-BUKRS3 = WA2-BUKRS2.
*WA1-SAKNR3 = WA2-SAKNR1.
*WA1-TOTALS1 = WA2-TOTALS.
*APPEND WA1 TO RESULT.
*ENDLOOP.
*BREAK SHAHV.
*WRITE : 'HI'.
if ascitab1 is initial.
message i002.
leave to screen 1000.
endif.
*CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
I_FIELD_SEPERATOR = ','
I_LINE_HEADER =
I_FILENAME =
I_APPL_KEEP = ' '
TABLES
i_tab_sap_data = ascitab1
CHANGING
I_TAB_CONVERTED_DATA = itab
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2
.
*IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
EXPORTING
i_field_seperator = ','
I_LINE_HEADER =
I_FILENAME =
I_APPL_KEEP = ' '
tables
i_tab_sap_data = ascitab1
CHANGING
I_TAB_CONVERTED_DATA = itab
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = filenam1
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE
IMPORTING
FILELENGTH =
tables
data_tab = itab
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
IF sy-subrc eq 0.
message s003.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
In case you have any further clarifications,do let me know.
Regards,
Puneet Jhari.
‎2007 Oct 17 5:42 AM
REPORT report2.
DATA: text TYPE c LENGTH 10,
rspar_tab TYPE TABLE OF rsparams,
rspar_line LIKE LINE OF rspar_tab.
rspar_line-selname = 'SELCRIT1'.
rspar_line-kind = 'S'.
rspar_line-sign = 'I'.
rspar_line-option = 'EQ'.
rspar_line-low = 'ABAP'.
APPEND rspar_line TO rspar_tab.
SUBMIT report1 USING SELECTION-SCREEN '1100'
WITH SELECTION-TABLE rspar_tab
WITH selcrit2 BETWEEN 'H' AND 'K'
AND RETURN.