How to read list output into itab? - URGENT
hai experts,
how to read current report output for further validation i need all data which is showing in output.
my req is,
to read list output all data put into itab.
reward avail for useful answer....
regards,
jai.m
Hi kumar,
you said your using second one.
it's good. then use the below part.but check the syntax because it is there in other programs what i have already phased.
INCLUDE <%_list>.
DATA %_LIST TYPE SLIST_LIST_TAB ." WITH HEADER LINE.
DATA %_LIST_WA TYPE SLIST_LISTLINE.
DATA: BEGIN OF data_tab OCCURS 0,
line(255),
END OF data_tab.
& Then use:-
LOOP AT %_list into %_list_wa.
data_tab-line = %_list-line.
data_tab-line = %_list_wa-line.
APPEND data_tab.
Clear data_tab.
Clear %_list_wa.
ENDLOOP.
kindly reward me if it's ok
Similar Messages
-
How to read list of all files in folder on application server?
How to read list of all files in folder on application server?
Hi,
First get the files in application server using the following function module.
CALL FUNCTION 'RZL_READ_DIR_LOCAL'
EXPORTING
name = loc_fdir
TABLES
file_tbl = int_filedir.
Here loc_fdir contains the application server path.
int_filedir contains all the file names in that particular path.
Now loop at int_filedir.
OPEN DATASET int_filedir-name FOR INPUT IN TEXT MODE ENCODING DEFAULT MESSAGE wf_mess.
MESSAGE wf_mess.
IF sy-subrc = 0.
DO.
READ DATASET pa_sfile INTO wf_string.
IF sy-subrc <> 0.
EXIT.
endif.
close datset int_filedir-name.
endloop. -
How to export report output into excel.
Hi all
how to export report output into excel sheet can any on give me answer step by step please as soon as possible
kkHi Prashanth,
If you are executing Query from WAD ---> Right click on Table (only on Characteristics Data) --> Enhanced Menu ---> Export as --> CSV file or MS Excel
assign points if this helps,
Thanks,
Sudhakar -
How to write report output into table
Hi,
I want to get data out from report "RSPARAM" which list all system profile parameters my requirement is that i need to write output of this report to table so can anyone please tell me how should achieve this?
is there any FM which read report as parameters and write into table?
thanks in advance.
john.Looks like the program you are calling(rsparam) is just calling another report, RSPFPAR. Let's just call that one directly. Here is an updated version of the program.
This will also put the first 3 columns in a internal table. This should show you what you need to do.
report zrich_0003 .
data: begin of listout occurs 0,
line(1024) type c,
end of listout.
data: begin of itab occurs 0,
column1(100) type c,
column2(100) type c,
column3(100) type c,
therest(100) type c,
end of itab.
* Submit the report and export list to memory
submit rspfpar exporting list to memory
and return.
* Get list from memory and convert to ascii
perform retrieve_list_from_memory tables listout.
loop at listout.
if sy-tabix => 7.
clear itab.
split listout+1(500) at '|' into itab-column1 itab-column2
itab-column3 itab-therest.
append itab.
endif.
endloop.
loop at itab.
write:/ itab-column1, itab-column2, itab-column3.
endloop.
* RETRIEVE_LIST_FROM_MEMORY
form retrieve_list_from_memory tables reportlines.
data: list like abaplist occurs 0 with header line.
data: txtlines(1024) type c occurs 0 with header line.
clear list. refresh list.
clear reportlines. refresh reportlines.
call function 'LIST_FROM_MEMORY'
tables
listobject = list
exceptions
not_found = 1
others = 2.
check sy-subrc = 0.
call function 'LIST_TO_ASCI'
tables
listobject = list
listasci = txtlines
exceptions
empty_list = 1
list_index_invalid = 2
others = 3.
check sy-subrc = 0.
reportlines[] = txtlines[].
call function 'LIST_FREE_MEMORY'.
endform.
Regards,
Rich Heilman -
Regarding Downloading of Report[List] output into Excel Sheet
Hi All,
Hi i have written one Classical report. I got the output Correctly.
Now i want to download that data into Excel Sheet in excatly the way it displayed in List[Report] output.
I had followed the path <b>System->List->Save->LocalFile->Spread Sheet</b> and tried to download the same.
Though it is downloaded it has not come in exact format.
Now what i want is to add a button above that report & write a program in that to download that data into Excel Sheet.
Can anybody tell me how can solve this issue. If i follow above procedure will the data[List Output] be downloaded into exact format into excel.
If anybody knows other way please sujjest.
Thanks in advance.
Thanks & Regards,
Prasad.Hi Prasad,
I have done a program which downloads the output in the excel sheet in the correct format.
Just check the program. The code given in bold is what you have to use.
REPORT zexp MESSAGE-ID f4 LINE-SIZE 195.
Tables Used ***********************************
TABLES : bseg, bkpf, bsak, lfa1, payr .
Declaring Internal Tables **************************
DATA :
Internal table to hold header data *************
BEGIN OF header OCCURS 0,
ext_date(10) TYPE c,
delimit(1) TYPE c,
ext_time(8) TYPE c,
END OF header,
Internal table to hold detail info **************
BEGIN OF i_data OCCURS 0,
belnr LIKE bsak-belnr,
gjahr LIKE bsak-gjahr,
bukrs LIKE bsak-bukrs,
bldat LIKE bsak-bldat,
xblnr LIKE bsak-xblnr,
blart LIKE bsak-blart,
augdt LIKE bsak-augdt,
augbl LIKE bsak-augbl,
wrbtr LIKE bsak-wrbtr,
shkzg LIKE bsak-shkzg,
lifnr LIKE bsak-lifnr,
name1 LIKE lfa1-name1,
chect LIKE payr-chect,
status(1) TYPE c,
END OF i_data,
Internal table to to collect *****************
BEGIN OF i_data1 OCCURS 0,
belnr LIKE bsak-belnr,
gjahr LIKE bsak-gjahr,
bukrs LIKE bsak-bukrs,
bldat LIKE bsak-bldat,
xblnr LIKE bsak-xblnr,
blart LIKE bsak-blart,
augdt LIKE bsak-augdt,
augbl LIKE bsak-augbl,
wrbtr LIKE bsak-wrbtr,
shkzg LIKE bsak-shkzg,
lifnr LIKE bsak-lifnr,
name1 LIKE lfa1-name1,
sortl LIKE lfa1-sortl,
chect LIKE payr-chect,
status(1) TYPE c,
END OF i_data1,
String variables for formatting file data *************
fidoc_year TYPE string,
comp_code TYPE string,
check_numbr TYPE string,
vendor TYPE string,
inv_date TYPE string,
inv_nbr TYPE string,
paid_dat TYPE string,
inv_amt TYPE string,
status TYPE string,
ref_doc TYPE string,
************Internal table to store the file contents **************
BEGIN OF i_final_file OCCURS 0,
record(300) TYPE c,
END OF i_final_file,
Internal table to store the list of allowed document types ****
BEGIN OF i_doctype OCCURS 0,
blart LIKE bsak-blart,
END OF i_doctype,
Internal table to hold vendor information ************
BEGIN OF i_lfa1 OCCURS 0,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
sortl LIKE lfa1-sortl,
END OF i_lfa1,
Internal table to hold check information *************
BEGIN OF i_payr OCCURS 0,
chect LIKE payr-chect,
vblnr LIKE payr-vblnr,
gjahr LIKE payr-gjahr,
zbukr LIKE payr-zbukr,
END OF i_payr.
Data declarations **************************
DATA : ws_stblg TYPE bkpf-stblg,
todate TYPE bsak-augdt,
fromdate TYPE bsak-augdt,
w_day LIKE dtresr-weekday,
day LIKE scal-indicator,
d TYPE n,
e_date LIKE sy-datum,
e_time LIKE sy-uzeit,
dd(2) TYPE c,
mm(2) TYPE c,
yy(4) TYPE c,
hh(2) TYPE c,
min(2) TYPE c,
sec(2) TYPE c.
DATA : wa_filepath(50) TYPE c,
wa_filename(50) TYPE c,
wa_c_filename(100) TYPE c,
arch_path(50) TYPE c.
<b>* Data for downloading to list
DATA : list LIKE TABLE OF abaplist WITH HEADER LINE.
DATA : BEGIN OF list_asc OCCURS 0,
msg(300) TYPE c,
END OF list_asc.
DATA: BEGIN OF i_invoiceheader OCCURS 0,
name(30) TYPE c,
END OF i_invoiceheader.
RANGES dates FOR bkpf-budat.</b>
Selection Screen ************************
SELECTION-SCREEN SKIP 2.
SELECT-OPTIONS:
s_bukrs FOR bkpf-bukrs ,
s_blart FOR bkpf-blart ,
s_augdt FOR bsak-augdt. " memory id todat TO fromdat.
PARAMETERS :submit AS CHECKBOX DEFAULT ' ' .
<b>* Download list to file.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'LIST'.
PERFORM download.
WHEN 'BACK'.
EXIT.
ENDCASE.</b>
<b>----
FORM download *
FORM download.
if s_augdt is initial.
dates-sign = 'I'.
dates-option = 'BT'.
dates-low = '20050901'.
dates-high = '20050920'.
APPEND dates.
else.
dates = s_augdt.
append dates.
endif.
/* Submit the same program .
SUBMIT zexp WITH s_augdt IN dates
EXPORTING LIST TO MEMORY
AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = list
EXCEPTIONS
not_found = 1.
CALL FUNCTION 'LIST_TO_ASCI'
EXPORTING
LIST_INDEX = -1 "LIST_INDEX SY-LSIND.
TABLES
listasci = list_asc
listobject = list.
PERFORM download_file.
ENDFORM.
FORM download_file *
FORM download_file.
DATA fname TYPE rlgrap-filename VALUE 'c:\audit_report.xls'.
DATA ftype TYPE rlgrap-filetype VALUE 'DAT'.
DATA numeric_data(10) TYPE c VALUE '0123456789'.
*Table structure should match with list output.
DATA : BEGIN OF i_data1 OCCURS 0,
belnr(12) TYPE c,
gjahr(6) TYPE c,
bukrs(8) TYPE c,
chect(13) TYPE c,
lifnr(12) TYPE c,
name1(37) TYPE c,
bldat(14) TYPE c,
xblnr(18) TYPE c,
augdt(14) TYPE c,
wrbtr(17) TYPE c,
status(4) TYPE c,
augbl(18) TYPE c,
sortl(17) TYPE c,
END OF i_data1.
Header record of the excel sheet.
PERFORM fill_header.
LOOP AT list_asc.
Reads lines starting from the first record in the report. All informatory statements in the report are not read.
IF list_asc+1(10) CO numeric_data.
i_data1 = list_asc .
APPEND i_data1.
ENDIF.
ENDLOOP.
Call the download function.
CALL FUNCTION 'DOWNLOAD'
EXPORTING
filename = fname
filetype = ftype
TABLES
data_tab = i_data1
FIELDNAMES = i_invoiceheader.
ENDFORM.
FORM fill_header *
FORM fill_header.
i_invoiceheader-name = 'Doc Number'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Fsc Year'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Cmp Code'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Check No'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Vendor No'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Entered by'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Doc Date'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Ref Doc No'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Clearing Date'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Amount'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Status'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Clearing Doc No'.
APPEND i_invoiceheader.
i_invoiceheader-name = 'Sort field'.
APPEND i_invoiceheader.
ENDFORM. " fill_header</b>
Initialization *************************
INITIALIZATION.
To initialize the date parameter on the selection screen.
The date by default ranges from previous Monday to Sunday.
todate = sy-datum.
CALL FUNCTION 'DATE_COMPUTE_DAY'
EXPORTING
date = todate
IMPORTING
day = day.
d = day.
if d < 4.
todate = sy-datum - d - 4 .
else.
todate = sy-datum - d + 3 .
endif.
fromdate = todate - 6.
MOVE: 'BT' TO s_augdt-option,
fromdate TO s_augdt-low,
todate TO s_augdt-high.
APPEND s_augdt.
Start of Selection **************************
START-OF-SELECTION.
Checking the validity of the inputted dates ****************
IF s_augdt-low > sy-datum OR s_augdt-high > sy-datum.
MESSAGE i999 WITH 'You cannot input future date'.
EXIT.
ENDIF.
IF NOT s_bukrs IS INITIAL.
MESSAGE i999 WITH 'Program will run with input parameters in screen!!'.
ENDIF.
Initialize the header data ***********************
e_time = sy-uzeit.
MOVE e_time+0(2) TO hh.
MOVE e_time+2(2) TO min.
MOVE e_time+4(2) TO sec.
CONCATENATE hh min sec INTO header-ext_time SEPARATED BY ':'.
e_date = sy-datum.
MOVE e_date+0(4) TO yy.
MOVE e_date+4(2) TO mm.
MOVE e_date+6(2) TO dd.
CONCATENATE mm dd yy INTO header-ext_date SEPARATED BY '/'.
header-delimit = '~'.
APPEND header.
List allowed document types **********************
PERFORM fill_doc_types.
**To select the documents within the range of week or as inputted **
IF s_augdt IS INITIAL.
MOVE: 'I' TO s_augdt-sign,
'BT' TO s_augdt-option,
fromdate TO s_augdt-low,
todate TO s_augdt-high.
APPEND s_augdt.
ENDIF.
Selecting the records from the database ****************
IF s_bukrs IS INITIAL AND s_blart IS INITIAL.
Select all documents of company code 1000, *********
4200 and 8000, and allowed document types *********
SELECT belnr gjahr augdt augbl bukrs
blart bldat xblnr lifnr wrbtr shkzg
FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data
FOR ALL ENTRIES IN i_doctype
WHERE blart EQ i_doctype-blart
AND augdt IN s_augdt
AND ( bukrs = '1000' OR bukrs ='4200' OR
( bukrs = '8000' AND blart NE 'ZP' ) ).
loop at i_data.
Exclude reversed documents
select single stblg into ws_stblg
from bkpf
where bukrs = i_data-bukrs
and gjahr = i_data-gjahr
and belnr = i_data-belnr.
if not ws_stblg is initial.
delete i_data.
endif.
endloop.
ELSEIF s_blart IS INITIAL.
Select all documents of allowed document types ******
and inputted company code ************
SELECT belnr gjahr augdt augbl bukrs
blart bldat xblnr lifnr wrbtr shkzg
FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data
FOR ALL ENTRIES IN i_doctype
WHERE blart EQ i_doctype-blart
AND augdt IN s_augdt
AND bukrs IN s_bukrs .
LOOP AT i_data.
Exclude documents of type ZP
for company code 8000.
IF i_data-bukrs = '8000' AND i_data-blart = 'ZP'.
DELETE i_data.
continue.
ENDIF.
Exclude reversed documents
select single stblg into ws_stblg
from bkpf
where bukrs = i_data-bukrs
and gjahr = i_data-gjahr
and belnr = i_data-belnr.
if not ws_stblg is initial.
delete i_data.
continue.
endif.
ENDLOOP.
READ TABLE i_data INDEX 1.
IF sy-subrc NE 0.
MESSAGE i999 WITH 'No records have been selected'.
EXIT.
ENDIF.
ELSE.
Select the documents matching the company codes *****
and document types inputted in the selection screen ****
SELECT belnr gjahr augdt augbl bukrs bldat xblnr
blart lifnr wrbtr shkzg
FROM bsak INTO CORRESPONDING FIELDS OF TABLE i_data
WHERE bukrs IN s_bukrs AND blart IN s_blart
AND augdt IN s_augdt.
SORT i_data BY blart.
LOOP AT i_data.
Filtering the records selected
based on the document type
READ TABLE i_doctype WITH KEY blart = i_data-blart.
IF sy-subrc NE 0.
DELETE i_data.
continue.
ENDIF.
Exclude documents of type ZP
for company code 8000.
IF i_data-bukrs = '8000' AND i_data-blart = 'ZP'.
DELETE i_data.
continue.
ENDIF.
Exclude reversed documents.
select single stblg into ws_stblg
from bkpf
where bukrs = i_data-bukrs
and gjahr = i_data-gjahr
and belnr = i_data-belnr.
if not ws_stblg is initial.
delete i_data.
continue.
endif.
ENDLOOP.
READ TABLE i_data INDEX 1.
IF sy-subrc NE 0.
MESSAGE i999 WITH 'No records have been selected'.
EXIT.
ENDIF.
ENDIF.
IF sy-subrc NE 0.
MESSAGE i999 WITH 'No records have been selected'.
EXIT.
ENDIF.
credit/debit identification ***********************
LOOP AT i_data.
IF i_data-shkzg EQ 'H'.
i_data-wrbtr = i_data-wrbtr * 1.
ELSEIF i_data-shkzg EQ 'S'.
i_data-wrbtr = i_data-wrbtr * -1.
ENDIF.
MODIFY i_data.
ENDLOOP.
for summarizing ******************************
LOOP AT i_data.
MOVE-CORRESPONDING i_data TO i_data1.
COLLECT i_data1.
ENDLOOP.
Vendor informations and Check Informations *****************
SELECT lifnr name1 sortl
FROM lfa1
APPENDING CORRESPONDING FIELDS OF TABLE i_lfa1
FOR ALL ENTRIES IN i_data1
WHERE lifnr = i_data1-lifnr.
SELECT chect vblnr gjahr zbukr FROM payr APPENDING CORRESPONDING
FIELDS OF TABLE i_payr FOR ALL ENTRIES
IN i_data1 WHERE vblnr = i_data1-augbl
AND gjahr = i_data1-augdt(4)
AND zbukr = i_data1-bukrs.
SORT i_data1 BY augbl gjahr bukrs lifnr.
SORT i_payr BY vblnr gjahr zbukr.
SORT i_lfa1 BY lifnr.
LOOP AT i_data1.
READ TABLE i_payr WITH KEY vblnr = i_data1-augbl
gjahr = i_data1-gjahr
zbukr = i_data1-bukrs.
IF sy-subrc EQ 0.
i_data1-chect = i_payr-chect.
ENDIF.
READ TABLE i_lfa1 WITH KEY lifnr = i_data1-lifnr.
IF sy-subrc EQ 0.
i_data1-name1 = i_lfa1-name1.
i_data1-sortl = i_lfa1-sortl.
ENDIF.
i_data1-status = 'X'.
MODIFY i_data1.
ENDLOOP.
**The records are sorted by clearing date, check number and doc type**
SORT i_data1 BY augdt chect blart.
**********The header record is outputted on the screen****************
PERFORM write_header.
********Data is moved to internal table in the file format *************
PERFORM move_data.
Line items are outputted on the screen *********************
PERFORM write_output.
*& Form write_header &*
*& This outputs the header information to screen &*
FORM write_header.
SKIP.
SET PF-STATUS 'LIST'.
Outputting the header information *********************
WRITE : / 'Extraction Date : ' , header-ext_date.
WRITE : / 'Extraction Time : ' , header-ext_time.
FORMAT COLOR 1." INTENSIFIED.
SKIP.
ULINE AT 0(190) NO-GAP.
Outputting line level information **********************
WRITE:/ sy-vline NO-GAP,
(10) 'DOC NUMBER',
sy-vline NO-GAP,
(4) 'F-YR',
sy-vline NO-GAP,
(6) 'C-CODE',
sy-vline NO-GAP,
(10) 'CHECK NUM',
sy-vline NO-GAP,
(10) 'VENDOR NUM',
sy-vline NO-GAP,
(35) 'VENDOR NAME',
sy-vline NO-GAP,
(12) 'INVOICE DATE',
sy-vline NO-GAP,
(16) 'INVOICE NUMBER',
sy-vline NO-GAP,
(12) 'PAID DATE',
sy-vline NO-GAP,
(15) 'INVOICE AMOUNT',
sy-vline NO-GAP,
(2) 'SC',
sy-vline NO-GAP,
(16) 'REFERENCE FI DOC',
sy-vline NO-GAP,
(15) 'SORT FIELD',
sy-vline NO-GAP.
ULINE AT 0(190) NO-GAP.
ENDFORM. " write_header
*& FORM MOVE_DATA &*
*& Formats data in internal table as is required in the file &*
FORM move_data.
LOOP AT i_data1.
Document number and fiscal year should be separted by '|' *****
CONCATENATE i_data1-belnr i_data1-gjahr INTO fidoc_year
SEPARATED BY '|'.
MOVE i_data1-bukrs TO comp_code.
MOVE i_data1-chect TO check_numbr.
Vendor number and vendor name should be separted by '|' *****
CONCATENATE i_data1-lifnr i_data1-name1 INTO vendor
SEPARATED BY '|'.
SHIFT vendor LEFT DELETING LEADING '0'.
SHIFT vendor RIGHT DELETING TRAILING space.
Date fields converted to MM/DD/YYYY format ****************
MOVE i_data1-bldat+0(4) TO yy.
MOVE i_data1-bldat+4(2) TO mm.
MOVE i_data1-bldat+6(2) TO dd.
CONCATENATE mm dd yy INTO inv_date SEPARATED BY '/'.
MOVE i_data1-xblnr TO inv_nbr.
SHIFT inv_nbr RIGHT DELETING TRAILING space.
MOVE i_data1-augdt+0(4) TO yy.
MOVE i_data1-augdt+4(2) TO mm.
MOVE i_data1-augdt+6(2) TO dd.
CONCATENATE mm dd yy INTO paid_dat SEPARATED BY '/'.
MOVE i_data1-wrbtr TO inv_amt.
CONDENSE inv_amt.
SHIFT inv_amt RIGHT DELETING TRAILING space.
MOVE i_data1-status TO status.
MOVE i_data1-augbl TO ref_doc.
CONCATENATE fidoc_year
comp_code
check_numbr
vendor
inv_date
inv_nbr
paid_dat
inv_amt
status
ref_doc
INTO i_final_file-record SEPARATED BY '~'.
APPEND i_final_file.
ENDLOOP.
ENDFORM. " MOVE_DATA
*& Form write_output &*
*& Outputs all data to screen &*
FORM write_output.
LOOP AT i_data1.
FORMAT COLOR 2 INTENSIFIED.
Outputting line level information *******************
WRITE : / sy-vline NO-GAP,
(10) i_data1-belnr,
sy-vline NO-GAP,
(4) i_data1-gjahr,
sy-vline NO-GAP,
(6) i_data1-bukrs,
sy-vline NO-GAP,
(10) i_data1-chect,
sy-vline NO-GAP,
(10) i_data1-lifnr,
sy-vline NO-GAP,
(35) i_data1-name1,
sy-vline NO-GAP,
(12) i_data1-bldat MM/DD/YYYY,
sy-vline NO-GAP,
(16) i_data1-xblnr,
sy-vline NO-GAP,
(12) i_data1-augdt MM/DD/YYYY,
sy-vline NO-GAP,
(15) i_data1-wrbtr,
sy-vline NO-GAP,
(2) i_data1-status,
sy-vline NO-GAP,
(16) i_data1-augbl,
sy-vline NO-GAP,
(15) i_data1-sortl,
sy-vline NO-GAP.
ENDLOOP.
ULINE AT 0(190) NO-GAP.
ENDFORM. " write_output
In the program, I am downloading only the list.. The description of report outputted in the beginning of the report is not downloaded to excel.
What has to be taken into consideration is that, the structure of the table i_data1 which contains the data to be downloaded to the table.
I hope that this will help you.
Regards,
Susmitha -
How to export report output into excel file
hi friends,
i would like to get the solution from you for how to export the report output into a .xls file. i know how to convert it into .rtf and .txt files but i think it's difficult to do this .xls way, could you help me to comeover this problem?
thankyou very much.The official answer is "delimited", which
generates adequate comma or other delimited
text. No formatting, and without extra
effort no support for non-ASCII characters.
Might be sufficient for you.
Note that Excel can read html files - we
built programs to generate html files with
name of "blah.xls" and some Excel-ish
extensions, so Excel is automatically opened
and the document is all nice and pretty.
(Oracle html output has some odd logic about
choosing number of columns, we didn't use
it.)
-- Allan Plum -
How to caputre report output into an internal table?
Hi,
Is there a way to capture report output into one internal table?
Regards,
AmruthHi Amruth,
Use SUBMIT.. EXPORTING LIST TO MEMORY.
It saves the output of a report into memory. Use the function modules LIST_FROM_MEMORY. WRITE_LIST & DISPLAY_LIST to retrieve the data.
All these function modules belongs to function group 'SLST'.
However the submit does not display hte output list of the called report, but saves it in ABAP memory & leaves the called report immediately. Since the calling program can read the list from memory & process it furthe, you need to use the addition ..AND RETURN.
Regards,
Chandru -
How to convert ALV output into XML format.
Hi all,
I just want to know how to convert an ALV output into a XML format, this is really urgent.
regards,
Ruchika sainiThis program exports an internal table to an XML file. *----
Report ZPRUEBA_MML_13 *
Export an internal table to XML document *
NO BORRAR ESTE CODIGO *
REPORT ZPRUEBA_MML_13.
PANTALLA SELECCION *
PARAMETERS: GK_RUTA TYPE RLGRAP-FILENAME.
PANTALLA SELECCION *
TYPE TURNOS *
TYPES: BEGIN OF TURNOS,
LU LIKE T552A-TPR01,
MA LIKE T552A-TPR01,
MI LIKE T552A-TPR01,
JU LIKE T552A-TPR01,
VI LIKE T552A-TPR01,
SA LIKE T552A-TPR01,
DO LIKE T552A-TPR01,
END OF TURNOS.
TYPE TURNOS *
TYPE SOCIO *
TYPES: BEGIN OF SOCIO,
NUMERO LIKE PERNR-PERNR,
REPOSICION LIKE PA0050-ZAUVE,
NOMBRE LIKE PA0002-VORNA,
TURNOS TYPE TURNOS,
END OF SOCIO.
TYPE SOCIO *
ESTRUCTURA ACCESOS *
DATA: BEGIN OF ACCESOS OCCURS 0,
SOCIO TYPE SOCIO,
END OF ACCESOS.
ESTRUCTURA ACCESOS *
START OF SELECTION *
START-OF-SELECTION.
PERFORM LLENA_ACCESOS.
PERFORM DESCARGA_XML.
END-OF-SELECTION.
END OF SELECTION *
FORM LLENA_ACCESOS *
FORM LLENA_ACCESOS.
REFRESH ACCESOS.
CLEAR ACCESOS.
MOVE: '45050' TO ACCESOS-SOCIO-NUMERO,
'MOISES MORENO' TO ACCESOS-SOCIO-NOMBRE,
'0' TO ACCESOS-SOCIO-REPOSICION,
'T1' TO ACCESOS-SOCIO-TURNOS-LU,
'T2' TO ACCESOS-SOCIO-TURNOS-MA,
'T3' TO ACCESOS-SOCIO-TURNOS-MI,
'T4' TO ACCESOS-SOCIO-TURNOS-JU,
'T5' TO ACCESOS-SOCIO-TURNOS-VI,
'T6' TO ACCESOS-SOCIO-TURNOS-SA,
'T7' TO ACCESOS-SOCIO-TURNOS-DO.
APPEND ACCESOS.
CLEAR ACCESOS.
MOVE: '45051' TO ACCESOS-SOCIO-NUMERO,
'RUTH PEÑA' TO ACCESOS-SOCIO-NOMBRE,
'0' TO ACCESOS-SOCIO-REPOSICION,
'T1' TO ACCESOS-SOCIO-TURNOS-LU,
'T2' TO ACCESOS-SOCIO-TURNOS-MA,
'T3' TO ACCESOS-SOCIO-TURNOS-MI,
'T4' TO ACCESOS-SOCIO-TURNOS-JU,
'T5' TO ACCESOS-SOCIO-TURNOS-VI,
'T6' TO ACCESOS-SOCIO-TURNOS-SA,
'T7' TO ACCESOS-SOCIO-TURNOS-DO.
APPEND ACCESOS.
ENDFORM.
FORM LLENA_ACCESOS *
FORM DESCARGA_XML *
FORM DESCARGA_XML.
DATA: L_DOM TYPE REF TO IF_IXML_ELEMENT,
M_DOCUMENT TYPE REF TO IF_IXML_DOCUMENT,
G_IXML TYPE REF TO IF_IXML,
W_STRING TYPE XSTRING,
W_SIZE TYPE I,
W_RESULT TYPE I,
W_LINE TYPE STRING,
IT_XML TYPE DCXMLLINES,
S_XML LIKE LINE OF IT_XML,
W_RC LIKE SY-SUBRC.
DATA: XML TYPE DCXMLLINES.
DATA: RC TYPE SY-SUBRC,
BEGIN OF XML_TAB OCCURS 0,
D LIKE LINE OF XML,
END OF XML_TAB.
CLASS CL_IXML DEFINITION LOAD.
G_IXML = CL_IXML=>CREATE( ).
CHECK NOT G_IXML IS INITIAL.
M_DOCUMENT = G_IXML->CREATE_DOCUMENT( ).
CHECK NOT M_DOCUMENT IS INITIAL.
WRITE: / 'Converting DATA TO DOM 1:'.
CALL FUNCTION 'SDIXML_DATA_TO_DOM'
EXPORTING
NAME = 'ACCESOS'
DATAOBJECT = ACCESOS[]
IMPORTING
DATA_AS_DOM = L_DOM
CHANGING
DOCUMENT = M_DOCUMENT
EXCEPTIONS
ILLEGAL_NAME = 1
OTHERS = 2.
IF SY-SUBRC = 0.
WRITE 'Ok'.
ELSE.
WRITE: 'Err =',
SY-SUBRC.
ENDIF.
CHECK NOT L_DOM IS INITIAL.
W_RC = M_DOCUMENT->APPEND_CHILD( NEW_CHILD = L_DOM ).
IF W_RC IS INITIAL.
WRITE 'Ok'.
ELSE.
WRITE: 'Err =',
W_RC.
ENDIF.
CALL FUNCTION 'SDIXML_DOM_TO_XML'
EXPORTING
DOCUMENT = M_DOCUMENT
IMPORTING
XML_AS_STRING = W_STRING
SIZE = W_SIZE
TABLES
XML_AS_TABLE = IT_XML
EXCEPTIONS
NO_DOCUMENT = 1
OTHERS = 2.
IF SY-SUBRC = 0.
WRITE 'Ok'.
ELSE.
WRITE: 'Err =',
SY-SUBRC.
ENDIF.
LOOP AT IT_XML INTO XML_TAB-D.
APPEND XML_TAB.
ENDLOOP.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = W_SIZE
FILENAME = GK_RUTA
FILETYPE = 'BIN'
TABLES
DATA_TAB = XML_TAB
EXCEPTIONS
OTHERS = 10.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
Message was edited by:
Hymavathi Oruganti -
How to read the output from 'tlist entersq'
Hi
Where can I find information on interpreting the output from 'tlist entersq' ?
We have a box that seems to go into a lock, no communication through network, nor terminal ttya.
I did an abort on the panel and sync to force a memory dump
I'm using scat to investigate the result.
SolarisCAT(vmcore.0)> thread summary
reference clock = panic_lbolt: 0x114c6f9
11 threads ran since 1 second before current tick (11 user, 0 kernel)
11 threads ran since 1 minute before current tick (11 user, 0 kernel)
63 TS_RUN threads (50 user, 13 kernel)
2 TS_STOPPED threads (0 user, 2 kernel)
10 TS_FREE threads (0 user, 10 kernel)
0 !TS_LOAD (swapped) threads
0 threads trying to get a mutex
0 threads trying to get an rwlock
128 threads waiting for a condition variable (89 user, 39 kernel)
1 threads sleeping on a semaphore (0 user, 1 kernel)
12 threads sleeping on a user-level sobj (12 user, 0 kernel)
7 threads sleeping on a shuttle (door) (7 user, 0 kernel)
0 threads in biowait()
1* threads in entersq() (1 user, 0 kernel)
63 threads in dispatch queues (50 user, 13 kernel)
225 total threads in allthreads list (159 user, 66 kernel)
0 thread_reapcnt
5 lwp_reapcnt
230 nthread
SolarisCAT(vmcore.0)> tlist entersq
thread pri pctcpu idle pid wchan command
0x300027dd7a0 142 0.024 1m41.83s 1684 0x300007fff18 /sz/tcp/bin/tig_tcp.bin
1 thread in entersq() found.
threads in entersq() by syncq:
1 thread: 0x300027dd7a0
syncq @ 0x300007ffee0
sq_count: 0 sq_head: 0x30001de6e80 sq_tail: 0x30001de6e80
sq_evhead: 0xcff010000 sq_evtail: 0x100000000cafe sq_nqueues: 0
sq_needexcl: 0 sq_private: 0x3000155dd18 sq_next: 0xbaddcafe
sq_pri: 276
sq_occount: 0
sq_flags: 0x200 ()
sq_type: 0x0
sq_svcflags: 0x0
sq_lock @ 0x300007ffee0:
adaptive mutex: owner: 0x0 waiters: false
per-module syncq for ip
streamtab @ 0x14ad6b0
qinit @ 0x14ad570
modinfo @ 0x14ad540
queues:1 sq_msgs:1 sq_mblks:36 sq_alloc:13247273932581836904
SolarisCAT(vmcore.0)> thread 0x30001de6e80
==== user thread: 0x30001de6e80 address translation failed for pid: 32 bytes @ 0x452e0d0a2a2a2a20
pid: 0 PIL: 3 ====
cmd:
t_wchan: 0x30001dd5640
t_stk: 0x1263bfc sp: 0x0 t_stkbase: 0x30002aa3ec0
t_pri: 0 pctcpu: 0.000036 t_lwp: 0x30001de0d80 machpcb: 0x30001dd4c08
t_procp: 0x30002df2900 p_as: 0x30002df2978 hat: 0x6420373031206368address translation failed for hat_3: 80 bytes @ 0x6420373031206368
cnum: 0x0
address translation failed for hat_3: 80 bytes @ 0x6420373031206368
size: 4984936174853958176 rss: 0
bound cpuid: 768 bound psrset: 768 last cpuid: 0
idle: -17371523 ticks (190888 days 10 hours 34 minutes 34.26 seconds)
start: Wed Jul 10 21:34:52 6497
age: -3297429488912 seconds (38164693 days 3 hours 48 minutes 32 seconds)
swapped out: 3298566244800 (190888 days 4 hours 48 minutes 49.63 seconds later)
interrupted (pinned) thread: 0x30001de6ef8
tstate: unknown state
tflg: T_INTR_THREAD - thread is an interrupt thread
T_WOULDBLOCK - for lockfs
T_DONTBLOCK - for lockfs
T_DONTPEND - for lockfs
WAITCVSEM - waiting for a lwp_cv or lwp_sema on sleepq
tpflg: TP_CHKPT - thread is being stopped via CPR checkpoint
TP_PRVSTOP - thread is virtually stopped via /proc
TP_MSACCT - collect micro-state accounting information
TP_STOPPING - thread is executing stop()
tsched: none set
pflag: SLOAD - in core
SLOCK - process cannot be swapped
SPREXEC - process is in exec() (a flag for /proc)
SSCONT - SIGCONT has been posted to the process
SBPTADJ - adjust pc on breakpoint trap (/proc)
SUGID - process was result of set[ug]id exec
SJCTL - SIGCLD sent when children stop/continue
SNOWAIT - children never become zombies
SVFORK - process resulted from vfork
SVFWAIT - parent of vfork waiting for child to exec
EXITLWPS - have lwps exit within the process
SWAITSIG - SIGWAITING sent when all lwps block
HOLDFORK1 - hold lwps in place (not cloning)
SMSACCT - process is keeping micro-state accounting
pc: 0x30003e63600 0x30003e63600: illegaltrap 0x00000000
-- no stack --Hello ejp,
First of all i thank you for the reply.
I explain the process which i am doing in side the thread.
After connecting to the remote machine, it asks another password.
so i read the output after connecting. if it equals "password:", then write the 2nd password. then i read the output. it will be like "system>" . if this prompt comes like this, then i write the super user name and super user password. then the prompt will be like "system#". then i write the command which i need to execute and read the output whether the command is success or not.
So after every output read, i interrupt the thread using interrupt() method. its working fine if i execute via GUI ie, click the button. But its not working when i scheduled this job in a scheduler ie, it will be executed when the time elapsed.
Give an idea to fix this bug please.
rgds
tskarthikeyan -
ALV list output to smartforms (Urgent)
Hello Friends,
I have a requirement as below.
i have to copy standard report to Z-report(Customer Line Items). on the output of the report i have to add two pushbuttons(not on the Application tool bar or MENU bar) but on the body of the output list. these buttons are labelled as PRINT1 and PRINT2. this report displays all the line items for a customer with a checkbox at the begining of each item.
Now my requirement is
when the button PRINT1 is clicked all the selected line items (for which checkbox is clicked) should be printed in a smartform.
when the button PRINT2 is clicked each line item should be printed separately in the smartform. that is for each line item smartform should be called once.
And also how to create pushbuttons on the body of the list output. is it possible?
Any help in this regard is highly appreciated and rewarded.Your requirement seem to be achievable.
When you click PRINT1 your ALV program needs to accumulate the selected lines into a table, you need to create a smartform that has this table in its interface and call the form.
When you click PRINT2 your ALV program needs either to loop through the entries and call a smartform one for each loop or pass the whole table to the smartform and let the smartform perform the loop.
Not sure about putting a push buuton on an ALV grid, you may have to create some sort of hotspot.
Regards,
Nick -
How to read list item and display Title and on click hyperlink as value by javascript /jquery
on newform.aspx just above the top of cancel button I want to put 1 hyperlink "Help"
but I want to do this by script/jquery by reading my configuration list where 1 column is TITLE and other is- URL
in TITLE column will write "Help" and in URL column I will write
http://portal1234/sites/sudha/MyHelppage.aspx
so script should read Title and display Help--->1st part
Script should read Value column and on click of help-(display link) the respective url should be open in new window.-->second part
Please let me know reference code for adding anchor tag dynamically by reading from list
I can see hyperlink near cancel button-
$(document).ready(function(){
var HelpLinkhtml ='<a href="#" text="Help">Help</a>';
var position =$("input[value='Cancel']").parent("td").addClass('ms-separator').append(HelpLinkhtml);
now for reading from list I am trying below script-
$(document).ready(function() {
GetHelpLinkFromConfigList();
function GetHelpLinkFromConfigList()
//The Web Service method we are calling, to read list items we use 'GetListItems'
var method = "GetListItems";
//The display name of the list we are reading data from
var list = "configurationList";
//We need to identify the fields we want to return. In this instance, we want the Title,Value fields
//from the Configuration List. You can see here that we are using the internal field names.
var fieldsToRead = "<ViewFields>"+"<FieldRef Name='Title' />"+"<FieldRef Name='Value' />"+"</ViewFields>";
//comment
var query = "<Query>" +
"<Where>" +
"<Neq>" +
"<FieldRef Name='Title'/><Value Type='Text'>Help</Value>"
+
"</Neq>" +
"</Where>" +
"<OrderBy>" +
"<FieldRef Name='Title'/>" +
"</OrderBy>" +
"</Query>";
$().SPServices(
operation: method,
async: false,
listName: list,
CAMLViewFields: fieldsToRead,
CAMLQuery: query,
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var displayname = ($(this).attr("ows_Title"));
var UrlValue = ($(this).attr("ows_Value")).split(",")[0];
AddRowToSharepointTable(displayname,UrlValue)
function AddRowToSharepointTable(displayname,UrlValue)
$("#NDRTable").append("<tr align='Middle'>" +
"<td><a href='" +UrlValue+ "'>+displayname+</a></td>"
+
"</tr>");
<table id="NDRTable"></table>
Thanks :)
sudhanshu sharma Do good and cast it into river :)Hi,
From your description, you want to add a help link(read data from other list) into new form page.
The following code for your reference:
<script src="http://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(AddHelpLink, "sp.js");
function AddHelpLink() {
var context = new SP.ClientContext.get_current();
var list= context.get_web().get_lists().getByTitle("configurationList");
var camlQuery= new SP.CamlQuery();
camlQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>Help</Value></Eq></Where></Query></View>");
this.listItems = list.getItems(camlQuery);
context.load(this.listItems,'Include(Title,URL)');
context.executeQueryAsync(function(){
var ListEnumerator = listItems.getEnumerator();
while(ListEnumerator.moveNext())
var currentItem = ListEnumerator.get_current();
var title=currentItem.get_item("Title");
var url=currentItem.get_item("URL").get_url();
var HelpLinkhtml ='<a href="'+url+'">'+title+'</a>';
$("input[value='Cancel']").parent("td").addClass('ms-separator').append(HelpLinkhtml);
},function(sender,args){
alert(args.get_message());
</script>
Result:
Best Regards
Dennis Guo
TechNet Community Support -
How to break report output into files
Hi,
I need to submit my report output into different files based on the Sales person name.
When I submit my request from SRS window it asks the sales person name 'FROM' and 'To'parameters, if I choose the different sales person names then report output has to divide into files for each sales person. How can I do this? Do I nedd to add any code
in my report.
Could you help me in this?
Thanks in advanceThis maybe helpful:
Report Distribution -
How to read HDD serial number(Really urgent)...
Please do let me know how to read the hard disk unique(serial) number provided by manufactruer using java program....
Please do let me know how to read the hard disk
unique(serial) number provided by manufactruer using
java program....If you're in windows you can call "vol" on the command line.
That shows your hard disk serial number. You could run the command with Runtime.exec() and capture the output.
Ps. The hard disk serial number is not provided by the manufacturer.
Hard disk serial numbers are actually generated based on the time the hard disk was formatted. So it's more like a string generated from a timestamp.
regards,
Owen -
How to copy terminal output into clipboard
Good morning.
Sorry for posting this topic in mavericks, but there is no standard software part...
Ok.
I use the screen command in terminal to communicate with a serial interface.
The problem is, when the output is too long I can't see the beginning of ot , because screen only writes at the screen size of terminal and the user is not able to scroll above ... if u try this, u'll see earlier history of terminal.
It would be helpful to copy an output to the clipboard so I can paste it in vim, gedit, pages,... whatever.
I tried:
<command> |xclip
<command> |pbcopy
but both commands weren't found and have not worked yet.
Who can help me? :-)
Thanks in advance.When you in a 'screen' sesssion, everything you type is going to the serial port you are controlling, so normal Mac OS X commands are not going to apply, including pbcopy. If the serial device you are talking to is another Mac, then at best you would be telling that Mac to put the output into its paste buffer, which will not do you any good on your Mac.
The fact that you found <command> | less works, implies that your serial port is connected to a Unix type system.
Accourding to "man screen", screen has its own scrollback history buffer.
It also has the ability to log screen output to a screen.<n> file where <n> is the screen number.
Once you have something in a log file on your Mac, you can then extract the information using any utilitiy you want (nano, vim, gedit, pages, cat, grep, awk, perl, etc...), including pbcopy if that is the way you want to go.
NOTE: While I've used screen years ago, my use was very minimum and I never became all that good at it. My initial use was to preserve sessions when comm-lines were unreliable and screen would let me reconnect and continue the existing session, but they were not so unreliable that I spent that much time using screen. -
Ajax call to pageflow action: how to read action output objects?
I have a pageflow action like:
doSomething()
Customer[] customers = null;
// build the customer array
Forward f = new Forward("success");
f.addActionOutput("customers", customers);
return f;
I am calling this action from my javascript function using AJAX. How do I read the Customer array in my javascript? I am using the DOJO library.
dojo.xhrPost({
url: "/pageflow.doSomething", // I have URL rewrite rules set up whic forwards to the necessary pageflow function
content: {
"key":"value",
"param":"test",
handleAs: "JSON",
handle: function(data,args){
// WHAT GOES HERE?
});This isn't so much pageflow-specific, as AJAX specific. For the xhr call to work, the url (whatever it is) needs to output a valid json object structure so the dojo method can interpret it into a javascript object. So, you would need to make the jsp/servlet which is the forward of the pageflow action output that json structure (instead of HTML). There are many utility libraries out there for creating json from java objects -- just search around the internet; or you could create your own. [http://json.org] is handy starting point.
So, as an example, I could imagine your customer json looking like:
"customers" : [
{ "id": 1, "fname": "John", "lname": "Doe", "addr": "1234 5th St. Anytown, CA" },
{ "id": 2, "fname": "Joe", "lname": "Blow", "addr": "6789 10th St. Anytown, CA" }
Then, in the "// WHAT GOES HERE?" section, you would access that array as any javascript array, e.g:
function (data, args) {
var customers = data.customers;
for (var i = 0; i < customers.length; i++) {
alert('Customer ' + customers.id + ' is ' + customers.fname + ' ' + customers.lname + ' at ' + customers.addr);
(Sorry the formatting is messed up, but this forum doesn't seem to maintain whitespace correctly.)
Maybe in this case, you could populate a dojo list or a table grid, or you could just create an HTML structure in the DOM via javascript. It all depends on what you want your user interface to look like.
Greg
Edited by: gsmith on Feb 11, 2009 9:25 AM
Maybe you are looking for
-
Server 2008 Hyper-V Failover Cluster Error on Domain Controller Reboot
I am pretty new to Hyper-V virtual but I have 2 Hyper-V Clusters, each with 2 Nodes and a SAN, 1 Physical Domain Controller for failover cluster management and 1 virtual domain controller as backup. All is running well, no issues. I installed windo
-
Hey Guys, Heres my problem. A couple days ago my software update came up and i downloaded the new OS X update 10.4.6 (power PC). that was fine and when it was done I restarted my computer, and when i went to go on the internet it worked fine but once
-
Screen turns black while I'm working
My screen turns black, almost like it's going to sleep right when I'm in the middle of typing, searching the web; basically doing anything active... My screensaver and sleep settings are in the proper positions, so I don't think this should be happen
-
The old CC app manager put the installed and uninstalled (new) apps in alphabetical order in the sections for the lists. The new CC manager puts the installed apps in some type of random order you have to scroll and look to find where the apps are in
-
HT4285 I lost my iPod 4G three weeks ago. Help!
I lost my iPod at my high school. I've asked the assistant principal, searched in my classes, and looked in the lost and found. I can't find it using the 'Find my iPhone' app on my iPad. Also, I can't read the serial number on the receipt because it