2007 Oct 16 5:18 PM
Hi Abapers,
I have created a workflow where i will be generating document numbers for a particular company code. then i have to submit to another report with these document numbers.
for one document number, im able to achieve this by using 'set parameter' and submit to report. but inorder to consider multiple document numbers with high and low values of selection screen. how can i do this?
urgent plz help.
thanks,
Radhika.
Hi Abapers,
I have created a workflow where i will be generating document numbers for a particular company code. then i have to submit to another report with these document numbers.
for one document number, im able to achieve this by using 'set parameter' and submit to report. but inorder to consider multiple document numbers with high and low values of selection screen. how can i do this?
urgent plz help.
thanks,
Radhika.
2007 Oct 16 5:20 PM
You can try with addition <b>WITH SELECTION-TABLE rspar </b> Simple press F1 over <b>Submit</b> to get the SAP Help -:)
Greetings,
Blag.
2007 Oct 16 5:23 PM
Hi,
You can use the export and import..
EXPORT itab TO MEMORY ID 'ZTEST'. from the calling program
IMPORT itab FROM MEMORY ID 'ZTEST'. in the called program
OR
You can use the SUBMIT statement to pass the values..
Thanks
Naren
2007 Oct 16 5:24 PM
Hi Premraj,
Use Submit with the selection table.
Populate the selection table with the company code values and declare the internal table as rsparams variable.
refer to the below code:
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.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |