Mutiple lines in Excel sheet.
Hi Experts,
In my excel sheet I have 400 characters text is there for a single field.
I tried by using FM ALSM_EXCEL_TO_INTERNAL_TABLE and TEXT_CONVERT_XLS_TO_SAP
but the filds here is only 45, and 250 characters only.
How to upload taht 400 characters text.
in SAP possible text line is 132 chars, take your internal table text filed is 400 length, and truncate the each line 132 chars and append other internal table with multiple text lines.
wa_text-text+0(132) = Textline
wa_text-text+132(132) = Textline....
Similar Messages
-
Printer does not print all grid lines of EXCEL sheet
Running Micrsoft Vista. When printing an EXCEL sheet that has gride lines, the ENVY 5530 printer only prints some of the lines.
Hello , and welcome to the HP Forums! I see you're having issues printing from Excel. I would like to help! Do you have any issues making a copy? I'd recommend starting with a power reset. Disconnect the power cord from the printer and the power outlet, then wait 60 seconds. After 60 seconds, plug the printer back in. Ensure you plug the printer directly to a wall outlet. Make sure to bypass any sort of surge protector or power bar.
I would also recommend downloading and running the HP Print and Scan Doctor. Good luck and please let me know the results of your troubleshooting steps. Thank you for posting on the HP Forums! -
How to add a header line to excel sheet?
Hi Guru's
I have download the scheduling agreement report in a excel sheet, I want to know how to add the header line to that excel sheet.Hi
See this sample code:
Tables : zacg_cca,zacg_exsh.
data: P_file like RLGRAP-FILENAME.
Data: Begin of it_header occurs 0,
Header(15) ,
end of it_header.
Data : begin of it_final occurs 0,
ccode type zacg_cca-ccode,
mat_cd type zacg_cca-mat_cd,
ingr_desc type zacg_cca-ingr_desc,
conc type zacg_cca-conc,
quantity type zacg_cca-quantity,
percqty type zacg_cca-percqty,
flag ,
APP_DATE type zacg_cca-app_date,
rsamnos type zacg_cca-rsamnos,
end of it_final.
SELECTION-SCREEN : BEGIN OF BLOCK blk WITH FRAME TITLE text-000.
select-options : s_Date for zacg_cca-app_date.
SELECTION-SCREEN : END OF BLOCK blk.
it_header-Header = 'Samp_code'.
Append it_header.
it_header-Header = 'Mat_code'.
Append it_header.
it_header-Header = 'Ingr_Desc'.
Append it_header.
it_header-Header = 'Conc'.
Append it_header.
it_header-Header = 'Quan'.
Append it_header.
it_header-Header = 'Perc'.
Append it_header.
it_header-Header = 'Flag'.
Append it_header.
it_header-Header = 'Date'.
Append it_header.
it_header-Header = 'Rsamnos'.
Append it_header.
it_header-Header = 'Mat_code'.
Append it_header.
select ccode
mat_cd
ingr_desc
conc
quantity
percqty
app_date
rsamnos
from zacg_cca into corresponding
fields of table
it_final where zacg_cca~app_date in s_date.
loop at it_final.
it_final-flag = 'T'.
modify it_final.
it_final-quantity = it_final-quantity * 2 .
Modify it_final.
endloop.
CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
EXPORTING
FILE_NAME = 'E:\IT\P_FILE'
CREATE_PIVOT = 0
DATA_SHEET_NAME = ' '
PIVOT_SHEET_NAME = ' '
PASSWORD = ' '
PASSWORD_OPTION = 0
TABLES
PIVOT_FIELD_TAB =
DATA_TAB = it_final[]
FIELDNAMES = it_header[]
EXCEPTIONS
FILE_NOT_EXIST = 1
FILENAME_EXPECTED = 2
COMMUNICATION_ERROR = 3
OLE_OBJECT_METHOD_ERROR = 4
OLE_OBJECT_PROPERTY_ERROR = 5
INVALID_PIVOT_FIELDS = 6
DOWNLOAD_PROBLEM = 7
OTHERS = 8
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
regards
Satish -
Heading line in excel sheet.
Hi Experts,
I am working in R/3 4.7 system. I am populating an excel sheet with values from an internal table. Now I want to include a row for heading in the beginning of the excel
sheet. In ECC 6.0 there is a parameter in GUI_DOWNLOAD for heading. But it is not available
in 4.7 system. How should i proceed?
Thanks in advance.Hi,
Refer Below code
*& Form down_desktop_file
text
--> p1 text
<-- p2 text
FORM down_desktop_file .
*--Local Variables
DATA : l_file TYPE string.
SELECT * FROM zsd_ra
INTO TABLE it_sd_ra.
*-- for Heading in excel sheet
st_head-name = text-031.
APPEND st_head TO it_head.
st_head-name = text-032.
APPEND st_head TO it_head.
st_head-name = text-033.
APPEND st_head TO it_head.
st_head-name = text-034.
APPEND st_head TO it_head.
st_head-name = text-035.
APPEND st_head TO it_head.
st_head-name = text-036.
APPEND st_head TO it_head.
st_head-name = text-037.
APPEND st_head TO it_head.
st_head-name = text-038.
APPEND st_head TO it_head.
LOOP AT it_sd_ra INTO st_ra1.
st_data-gjahr = st_ra1-gjahr.
MOVE st_ra1-monat TO st_data-monat.
st_data-zzprojectid = st_ra1-zzprojectid.
st_data-zwbs = st_ra1-zwbs.
st_data-zeac_amount = st_ra1-zeac_amount.
st_data-zlabor = st_ra1-zlabor.
st_data-zmaterial = st_ra1-zmaterial.
st_data-zohead = st_ra1-zohead.
APPEND st_data TO it_data.
CLEAR: st_ra1,
st_data.
ENDLOOP.
Down load TAB delimited file
l_file = p_filep.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = l_file
filetype = 'ASC'
write_field_separator = c_chk
TABLES
data_tab = it_data
fieldnames = it_head
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 <> 0.
MESSAGE i368(00) WITH 'Error writing file'(m03) l_file.
ELSE.
WRITE:/ 'file downloaded', l_file.
ENDIF.
ENDFORM. " down_desktop_file
Regards,
Prashant -
HP Officejet j4550 All-In-One does not print all of the grid lines on my excel document. I have downloaded driver and updates with no results. I am on Windows 7 32 bit. What's next???
Hi - Do you see the gridlines in print preview? If not, it is most likely a setting in Excel. If the gridlines do show up in print preview, it sounds like the driver and Excel aren't getting along. At that point, click on Page Setup and the Sheet tab and make sure that Gridlines is checked under the Print heading.
If that doesn't take care of it, I believe there is also an OJ J4550 driver that comes with Win 7 (go into "start" (or equivalent in Win7), printers and add a printer. You should be able to find HP and a list of HP drivers that come with Windows. This might provide a workaround.
Hope that helps.
Say Thanks by clicking the Kudos thumbs up. Please mark the post that solves your problem as an Accepted Solution so other forum users can utilize the solution.
I am an HP employee. -
Add header line to excel sheet when using FM RH_START_EXCEL_WITH_DATA
Hi
I'm using FM RH_START_EXCEL_WITH_DATA to download an internal table to EXCEL. But when excel is started it's without a header line.
What I would like to do, is to take the field-names/field-text from the abap dictionary, and use them as the header line. How do I achieve this ?
Regards
Morten NielsenHi ,
See this sample code.
Tables : zacg_cca,zacg_exsh.
data: P_file like RLGRAP-FILENAME.
Data: Begin of it_header occurs 0,
Header(15) ,
end of it_header.
Data : begin of it_final occurs 0,
ccode type zacg_cca-ccode,
mat_cd type zacg_cca-mat_cd,
ingr_desc type zacg_cca-ingr_desc,
conc type zacg_cca-conc,
quantity type zacg_cca-quantity,
percqty type zacg_cca-percqty,
flag ,
APP_DATE type zacg_cca-app_date,
rsamnos type zacg_cca-rsamnos,
end of it_final.
SELECTION-SCREEN : BEGIN OF BLOCK blk WITH FRAME TITLE text-000.
select-options : s_Date for zacg_cca-app_date.
SELECTION-SCREEN : END OF BLOCK blk.
it_header-Header = 'Samp_code'.
Append it_header.
it_header-Header = 'Mat_code'.
Append it_header.
it_header-Header = 'Ingr_Desc'.
Append it_header.
it_header-Header = 'Conc'.
Append it_header.
it_header-Header = 'Quan'.
Append it_header.
it_header-Header = 'Perc'.
Append it_header.
it_header-Header = 'Flag'.
Append it_header.
it_header-Header = 'Date'.
Append it_header.
it_header-Header = 'Rsamnos'.
Append it_header.
it_header-Header = 'Mat_code'.
Append it_header.
select ccode
mat_cd
ingr_desc
conc
quantity
percqty
app_date
rsamnos
from zacg_cca into corresponding
fields of table
it_final where zacg_cca~app_date in s_date.
loop at it_final.
it_final-flag = 'T'.
modify it_final.
it_final-quantity = it_final-quantity * 2 .
Modify it_final.
endloop.
CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
EXPORTING
FILE_NAME = 'E:\IT\P_FILE'
CREATE_PIVOT = 0
DATA_SHEET_NAME = ' '
PIVOT_SHEET_NAME = ' '
PASSWORD = ' '
PASSWORD_OPTION = 0
TABLES
PIVOT_FIELD_TAB =
DATA_TAB = it_final[]
FIELDNAMES = it_header[]
EXCEPTIONS
FILE_NOT_EXIST = 1
FILENAME_EXPECTED = 2
COMMUNICATION_ERROR = 3
OLE_OBJECT_METHOD_ERROR = 4
OLE_OBJECT_PROPERTY_ERROR = 5
INVALID_PIVOT_FIELDS = 6
DOWNLOAD_PROBLEM = 7
OTHERS = 8
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
Regards
ABG -
Hi All,
In a ALV report, i would like to donwload the final internal table into an excel sheet.
The requirement is that the data should be filled from 8th row of excel sheet.
I am using GUI_DOWNLOAD and it makes the data to dump from first line of excel sheet itself.
How to incorprate the logic for these requirements?
Your help will be sincerely appreciated.
Thanks in Advance,
Pavan
Edited by: Pavan Sanganal on Dec 16, 2008 10:51 AMHello Pavan,
I think you have written a separate sub-routine for this. Use another internal table IT_XLS which has a similar structure as the int. table for ALV display (IT_ALV, say).
Now try this piece of code:
DO 8 TIMES.
APPEND WA_XLS TO IT_XLS. "Populate 8 blank rows in the table
ENDDO.
LOOP AT IT_ALV INTO WA_ALV.
WA_XLS = WA_ALV.
APPEND WA_XLS TO IT_XLS.
CLEAR WA_XLS.
ENDLOOP.
Use GUI_DOWNLOAD to download IT_XLS. Can you please tell what do you want to populate in these 8 blank rows?
BR,
Suhas -
How to send mail attachment excel sheet correctly
Hi,
I am working one program and there the out put should be sent in mail attachment in excel sheet. I have used one Function module SO_DOCUMENT_SEND_API1. I am able to send the output data mail attachment excel sheet. But one problem I am facing that last two lines in excel sheet are shifting one tab right. It should come from from first column itself.
How to correct this program any one can answer it with some code if possible.
Waiting for quick response.
Best Regards,
BDPHi,
I am working one program and there the out put should be sent in mail attachment in excel sheet. I have used one Function module SO_DOCUMENT_SEND_API1. I am able to send the output data mail attachment excel sheet. But one problem I am facing that last two lines in excel sheet are shifting one tab right. It should come from from first column itself.
How to correct this program any one can answer it with some code if possible.
Waiting for quick response.
Best Regards,
BDP -
Alv output download to excel sheet spliting into three line
hi,
i have developed alv report with 62 fields (62 colums).when i download this output into excel sheet each line spliting into three line.each field has 20 char length.i want download each row as single line.
i am using local file (ctrl + shift+F9) -> spreadsheet option
please advice me to solve this issue. i am using fm REUSE_ALV_GRID_DISPLAY.
In layout i am using
DATA: min_linesize like sy-linsz, " if initial min_linesize = 80
max_linesize like sy-linsz. " Default 250
min_linesize = 100.
max_linesize = 1000.
gt_layout-zebra = 'X'. "space.
gt_layout-colwidth_optimize = space.
gt_layout-max_linesize = min_linesize.
gt_layout-max_linesize = max_linesize.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_bypassing_buffer = ' '
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET-PF-STATUS'
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = gt_fieldcat[]
it_events = gt_events[]
is_layout = gt_layout
is_variant = v_stru_disvar
i_default = 'X'
i_save = 'A'
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_final[]
EXCEPTIONS
program_error = 1
OTHERS = 2
Edited by: Raja Ram on Aug 4, 2009 12:40 PMsolved
-
Unable to download the data perfectly into excel sheet
Hi Frnds,
when i am trying to download the data from the output of a report into excel, some of the records(line items/rows) are getting stored in one of column of the excel sheet. Fog eg: my report outputs 500 line items. In excel after 100 rows the next 5-10 records/rows are storing in one column. so at the end of excel sheet i may not find total 500 records/line items.
Plz suggest me how to handle this.
Thnks,
Pavan*& Report ZETA_EXCEL_DOWNLOAD_CLIPBOARD *
report zeta_excel_download_clipboard .
include ole2incl.
data: w_cell1 type ole2_object,
w_cell2 type ole2_object.
*--- Ole data Declarations
data: h_excel type ole2_object, " Excel object
h_mapl type ole2_object, " list of workbooks
h_map type ole2_object, " workbook
h_zl type ole2_object, " cell
h_f type ole2_object, " font
gs_interior type ole2_object, " Pattern
worksheet type ole2_object,
h_cell type ole2_object,
h_cell1 type ole2_object,
range type ole2_object,
h_sheet2 type ole2_object,
h_sheet3 type ole2_object,
gs_font type ole2_object,
flg_stop(1) type c.
Internal table Declaration
data: begin of t_excel occurs 0,
vkorg(20) type c, "Sales Org
vbtyp(20) type c, "Document Category
auart(20) type c, "Document Type
ernam(20) type c, "Created By
vbeln(20) type c, "Document Number
posnr(20) type c, "Item Number
erdat(20) type c, "Created Date
vdatu(20) type c, "Header Requested Delivery Date
reqdat(20) type c, "Request date
condat(20) type c, "Confirm date
lifsk(20) type c, "Header Block
txt30(30) type c, "Order User Status Description
lifsp(20) type c, "Line Block
dispo(20) type c, "MRP Controller
dsnam(20) type c, "MRP Controller Description
vmsta(20) type c, "Material Sales Status
kunnr(20) type c, "Sold To
cname(35) type c, "Sold To Name
regio(20) type c, "State
cufd(10) type c, "CUD
bstnk(20) type c, "PO#
bsark(20) type c, "Ordering Method
matnr(20) type c, "Material
maktx(35) type c, "Material Description
t200(20) type c, "T200
vtext(20) type c, "T200 Description
matkl(20) type c, "Material Group
zzbomind(7) type c, "BOM Indicator
ostat(20) type c, "Order Status
cmgst(20) type c, "CRD
inco1(20) type c, "Incoterms
oqty(20) type c, "Order Quantity
pqty(20) type c, "Open Quantity
unit(20) type c, "UOM
onet(20) type c, "Order Value
pnet(20) type c, "Open Value
curr(20) type c, "Currency key
so_bezei like tvkbt-bezei,"Sales Office
sg_bezei like tvgrt-bezei,"Sales Group
bname(20) type c, "Ordering Party
contact(20) type c, "Contact Name
telf1(20) type c, "Contact telf1
reqqty(20) type c, "Item Request qty
reqval(20) type c, "Item Request value
conqty(20) type c, "Item Confirm qty
conval(20) type c, "Item Confirm value
zzrev(02) type c, "Revenue recognition acceptance
bezei(20) type c, "Revenue recognition text
vgbel(20) type c, "Reference Order for RETURNS
0008text(255) type c, "Internal Order Comment Text
end of t_excel.
data: t_excel_bckord like t_excel occurs 0 with header line,
t_excel_bcklog like t_excel occurs 0 with header line,
t_excel_blkord like t_excel occurs 0 with header line.
types: data1(1500) type c,
ty type table of data1.
data: it type ty with header line,
it_2 type ty with header line,
it_3 type ty with header line,
rec type sy-tfill,
deli(1) type c,
l_amt(18) type c.
data: begin of hex,
tab type x,
end of hex.
field-symbols: <fs> .
constants cns_09(2) type n value 09.
assign deli to <fs> type 'X'.
hex-tab = cns_09.
<fs> = hex-tab.
data gv_sheet_name(20) type c .
M A C R O Declaration
define ole_check_error.
if &1 ne 0.
message e001(zz) with &1.
exit.
endif.
end-of-definition.
t_excel_bckord-vkorg = 'ABC'.
t_excel_bckord-vbtyp = 'DEF'.
t_excel_bckord-auart = 'GHI'.
t_excel_bckord-ernam = 'JKL'.
t_excel_bckord-vbeln = 'MNO'.
t_excel_bckord-0008text = 'XYZ'.
append t_excel_bckord.
t_excel_bckord-vkorg = 'ABC1'.
t_excel_bckord-vbtyp = 'DEF1'.
t_excel_bckord-auart = 'GHI1'.
t_excel_bckord-ernam = 'JKL1'.
t_excel_bckord-vbeln = 'MNO1'.
t_excel_bckord-0008text = 'XYZ1'.
append t_excel_bckord.
t_excel_bckord-vkorg = 'ABC2'.
t_excel_bckord-vbtyp = 'DEF2'.
t_excel_bckord-auart = 'GHI2'.
t_excel_bckord-ernam = 'JKL2'.
t_excel_bckord-vbeln = 'MNO2'.
t_excel_bckord-0008text = 'XYZ2'.
append t_excel_bckord.
t_excel_bcklog-vkorg = 'ABC'.
t_excel_bcklog-vbtyp = 'DEF'.
t_excel_bcklog-auart = 'GHI'.
t_excel_bcklog-ernam = 'JKL'.
t_excel_bcklog-vbeln = 'MNO'.
t_excel_bcklog-0008text = 'XYZ'.
append t_excel_bcklog.
t_excel_bcklog-vkorg = 'ABC1'.
t_excel_bcklog-vbtyp = 'DEF1'.
t_excel_bcklog-auart = 'GHI1'.
t_excel_bcklog-ernam = 'JKL1'.
t_excel_bcklog-vbeln = 'MNO1'.
t_excel_bcklog-0008text = 'XYZ1'.
append t_excel_bcklog.
t_excel_bcklog-vkorg = 'ABC2'.
t_excel_bcklog-vbtyp = 'DEF2'.
t_excel_bcklog-auart = 'GHI2'.
t_excel_bcklog-ernam = 'JKL2'.
t_excel_bcklog-vbeln = 'MNO2'.
t_excel_bcklog-0008text = 'XYZ2'.
append t_excel_bcklog.
t_excel_bcklog-vkorg = 'ABC3'.
t_excel_bcklog-vbtyp = 'DEF3'..
t_excel_bcklog-auart = 'GHI3'.
t_excel_bcklog-ernam = 'JKL3'.
t_excel_bcklog-vbeln = 'MNO3'.
t_excel_bcklog-0008text = 'XYZ3'.
append t_excel_bcklog.
t_excel_blkord-vkorg = 'ABC'.
t_excel_blkord-vbtyp = 'DEF'.
t_excel_blkord-auart = 'GHI'.
t_excel_blkord-ernam = 'JKL'.
t_excel_blkord-vbeln = 'MNO'.
t_excel_blkord-0008text = 'XYZ'.
append t_excel_blkord.
t_excel_blkord-vkorg = 'ABC1'.
t_excel_blkord-vbtyp = 'DEF1'.
t_excel_blkord-auart = 'GHI1'.
t_excel_blkord-ernam = 'JKL1'.
t_excel_blkord-vbeln = 'MNO1'.
t_excel_blkord-0008text = 'XYZ1'.
append t_excel_blkord.
t_excel_blkord-vkorg = 'ABC2'.
t_excel_blkord-vbtyp = 'DEF2'.
t_excel_blkord-auart = 'GHI2'.
t_excel_blkord-ernam = 'JKL2'.
t_excel_blkord-vbeln = 'MNO2'.
t_excel_blkord-0008text = 'XYZ2'.
append t_excel_blkord.
t_excel_blkord-vkorg = 'ABC3'.
t_excel_blkord-vbtyp = 'DEF3'..
t_excel_blkord-auart = 'GHI3'.
t_excel_blkord-ernam = 'JKL3'.
t_excel_blkord-vbeln = 'MNO3'.
t_excel_blkord-0008text = 'XYZ3'.
append t_excel_blkord.
t_excel_blkord-vkorg = 'ABC4'.
t_excel_blkord-vbtyp = 'DEF4'..
t_excel_blkord-auart = 'GHI4'.
t_excel_blkord-ernam = 'JKL4'.
t_excel_blkord-vbeln = 'MNO4'.
t_excel_blkord-0008text = 'XYZ4'.
append t_excel_blkord.
loop at t_excel_bckord.
concatenate
t_excel_bckord-vkorg
t_excel_bckord-vbtyp
t_excel_bckord-auart
t_excel_bckord-ernam
t_excel_bckord-vbeln
t_excel_bckord-posnr
t_excel_bckord-erdat
t_excel_bckord-vdatu
t_excel_bckord-reqdat
t_excel_bckord-condat
t_excel_bckord-lifsk
t_excel_bckord-txt30
t_excel_bckord-lifsp
t_excel_bckord-dispo
t_excel_bckord-dsnam
t_excel_bckord-vmsta
t_excel_bckord-kunnr
t_excel_bckord-cname
t_excel_bckord-regio
t_excel_bckord-cufd
t_excel_bckord-bstnk
t_excel_bckord-bsark
t_excel_bckord-matnr
t_excel_bckord-maktx
t_excel_bckord-t200
t_excel_bckord-vtext
t_excel_bckord-matkl
t_excel_bckord-zzbomind
t_excel_bckord-ostat
t_excel_bckord-cmgst
t_excel_bckord-inco1
t_excel_bckord-oqty
t_excel_bckord-pqty
t_excel_bckord-unit
t_excel_bckord-onet
t_excel_bckord-pnet
t_excel_bckord-curr
t_excel_bckord-so_bezei
t_excel_bckord-sg_bezei
t_excel_bckord-bname
t_excel_bckord-contact
t_excel_bckord-telf1
t_excel_bckord-reqqty
t_excel_bckord-reqval
t_excel_bckord-conqty
t_excel_bckord-conval
t_excel_bckord-zzrev
t_excel_bckord-bezei
t_excel_bckord-vgbel
t_excel_bckord-0008text
into it
separated by deli.
append it.
clear it.
endloop.
loop at t_excel_bcklog.
concatenate
t_excel_bcklog-vkorg
t_excel_bcklog-vbtyp
t_excel_bcklog-auart
t_excel_bcklog-ernam
t_excel_bcklog-vbeln
t_excel_bcklog-posnr
t_excel_bcklog-erdat
t_excel_bcklog-vdatu
t_excel_bcklog-reqdat
t_excel_bcklog-condat
t_excel_bcklog-lifsk
t_excel_bcklog-txt30
t_excel_bcklog-lifsp
t_excel_bcklog-dispo
t_excel_bcklog-dsnam
t_excel_bcklog-vmsta
t_excel_bcklog-kunnr
t_excel_bcklog-cname
t_excel_bcklog-regio
t_excel_bcklog-cufd
t_excel_bcklog-bstnk
t_excel_bcklog-bsark
t_excel_bcklog-matnr
t_excel_bcklog-maktx
t_excel_bcklog-t200
t_excel_bcklog-vtext
t_excel_bcklog-matkl
t_excel_bcklog-zzbomind
t_excel_bcklog-ostat
t_excel_bcklog-cmgst
t_excel_bcklog-inco1
t_excel_bcklog-oqty
t_excel_bcklog-pqty
t_excel_bcklog-unit
t_excel_bcklog-onet
t_excel_bcklog-pnet
t_excel_bcklog-curr
t_excel_bcklog-so_bezei
t_excel_bcklog-sg_bezei
t_excel_bcklog-bname
t_excel_bcklog-contact
t_excel_bcklog-telf1
t_excel_bcklog-reqqty
t_excel_bcklog-reqval
t_excel_bcklog-conqty
t_excel_bcklog-conval
t_excel_bcklog-zzrev
t_excel_bcklog-bezei
t_excel_bcklog-vgbel
t_excel_bcklog-0008text
into it_2
separated by deli.
append it_2.
clear it_2.
endloop.
loop at t_excel_blkord.
concatenate
t_excel_blkord-vkorg
t_excel_blkord-vbtyp
t_excel_blkord-auart
t_excel_blkord-ernam
t_excel_blkord-vbeln
t_excel_blkord-posnr
t_excel_blkord-erdat
t_excel_blkord-vdatu
t_excel_blkord-reqdat
t_excel_blkord-condat
t_excel_blkord-lifsk
t_excel_blkord-txt30
t_excel_blkord-lifsp
t_excel_blkord-dispo
t_excel_blkord-dsnam
t_excel_blkord-vmsta
t_excel_blkord-kunnr
t_excel_blkord-cname
t_excel_blkord-regio
t_excel_blkord-cufd
t_excel_blkord-bstnk
t_excel_blkord-bsark
t_excel_blkord-matnr
t_excel_blkord-maktx
t_excel_blkord-t200
t_excel_blkord-vtext
t_excel_blkord-matkl
t_excel_blkord-zzbomind
t_excel_blkord-ostat
t_excel_blkord-cmgst
t_excel_blkord-inco1
t_excel_blkord-oqty
t_excel_blkord-pqty
t_excel_blkord-unit
t_excel_blkord-onet
t_excel_blkord-pnet
t_excel_blkord-curr
t_excel_blkord-so_bezei
t_excel_blkord-sg_bezei
t_excel_blkord-bname
t_excel_blkord-contact
t_excel_blkord-telf1
t_excel_blkord-reqqty
t_excel_blkord-reqval
t_excel_blkord-conqty
t_excel_blkord-conval
t_excel_blkord-zzrev
t_excel_blkord-bezei
t_excel_blkord-vgbel
t_excel_blkord-0008text
into it_3
separated by deli.
append it_3.
clear it_3.
endloop.
if h_excel-header = space or h_excel-handle = -1.
start Excel
create object h_excel 'EXCEL.APPLICATION'.
endif.
PERFORM err_hdl.
*--- get list of workbooks, initially empty
call method of h_excel 'Workbooks' = h_mapl.
PERFORM err_hdl.
set property of h_excel 'Visible' = 1.
add a new workbook
call method of h_mapl 'Add' = h_map.
PERFORM err_hdl.
*GV_SHEET_NAME = '1st SHEET'.
gv_sheet_name = 'Back Orders'.
get property of h_excel 'ACTIVESHEET' = worksheet.
set property of worksheet 'Name' = gv_sheet_name .
*--Formatting the area of additional data 1 and doing the BOLD
call method of h_excel 'Cells' = w_cell1
exporting
#1 = 1
#2 = 1.
call method of h_excel 'Cells' = w_cell2
exporting
#1 = 1
#2 = 50.
call method of h_excel 'Range' = h_cell
exporting
#1 = w_cell1
#2 = w_cell2.
*CALL METHOD OF gs_cells 'Select' .
get property of h_cell 'Font' = gs_font .
set property of gs_font 'Bold' = 1 .
data l_rc type i.
call method cl_gui_frontend_services=>clipboard_export
importing
data = it[]
changing
rc = l_rc
exceptions
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
others = 4.
call method of h_excel 'Cells' = w_cell1
exporting
#1 = 1
#2 = 1.
call method of h_excel 'Cells' = w_cell2
exporting
#1 = 1
#2 = 1.
PERFORM err_hdl.
call method of h_excel 'Range' = range
exporting
#1 = w_cell1
#2 = w_cell2.
call method of range 'Select'.
PERFORM err_hdl.
call method of worksheet 'Paste'.
PERFORM err_hdl.
CALL METHOD OF h_excel 'QUIT'.
*GV_SHEET_NAME = '2ND SHEET'.
gv_sheet_name = 'Backlog'.
get property of h_excel 'Sheets' = h_sheet2 .
call method of h_sheet2 'Add' = h_map.
set property of h_map 'Name' = gv_sheet_name .
get property of h_excel 'ACTIVESHEET' = worksheet.
*--Formatting the area of additional data 1 and doing the BOLD
call method of h_excel 'Cells' = w_cell1
exporting
#1 = 1
#2 = 1.
call method of h_excel 'Cells' = w_cell2
exporting
#1 = 1
#2 = 50.
call method of h_excel 'Range' = h_cell
exporting
#1 = w_cell1
#2 = w_cell2.
get property of h_cell 'Font' = gs_font .
set property of gs_font 'Bold' = 1 .
call method cl_gui_frontend_services=>clipboard_export
importing
data = it_2[]
changing
rc = l_rc
exceptions
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
others = 4.
call method of h_excel 'Cells' = w_cell1
exporting
#1 = 1
#2 = 1.
call method of h_excel 'Cells' = w_cell2
exporting
#1 = 1
#2 = 1.
PERFORM err_hdl.
call method of h_excel 'Range' = range
exporting
#1 = w_cell1
#2 = w_cell2.
call method of range 'Select'.
PERFORM err_hdl.
call method of worksheet 'Paste'.
*GV_SHEET_NAME = '3rd SHEET'.
gv_sheet_name = 'Blocked Orders'.
get property of h_excel 'Sheets' = h_sheet3 .
call method of h_sheet3 'Add' = h_map.
set property of h_map 'Name' = gv_sheet_name .
get property of h_excel 'ACTIVESHEET' = worksheet.
*--Formatting the area of additional data 1 and doing the BOLD
call method of h_excel 'Cells' = w_cell1
exporting
#1 = 1
#2 = 1.
call method of h_excel 'Cells' = w_cell2
exporting
#1 = 1
#2 = 50.
call method of h_excel 'Range' = h_cell
exporting
#1 = w_cell1
#2 = w_cell2.
get property of h_cell 'Font' = gs_font .
set property of gs_font 'Bold' = 1 .
call method cl_gui_frontend_services=>clipboard_export
importing
data = it_3[]
changing
rc = l_rc
exceptions
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
others = 4.
call method of h_excel 'Cells' = w_cell1
exporting
#1 = 1
#2 = 1.
call method of h_excel 'Cells' = w_cell2
exporting
#1 = 1
#2 = 1.
PERFORM err_hdl.
call method of h_excel 'Range' = range
exporting
#1 = w_cell1
#2 = w_cell2.
call method of range 'Select'.
PERFORM err_hdl.
call method of worksheet 'Paste'.
*--- disconnect from Excel
free object h_zl.
free object h_mapl.
free object h_map.
free object h_excel. -
Header and footer in excel sheet (ole object)
How can we generate footer and header in an excel sheet with ole object ?
Thankshi brian,
Excel Upload Alternative - KCD_EXCEL_OLE_TO_INT_CONVERT
*Title : Excel Uploading
TYPES: BEGIN OF t_datatab,
col1(25) TYPE c,
col2(30) TYPE c,
col3(30) TYPE c,
col4(30) TYPE c,
col5(30) TYPE c,
col6(30) TYPE c,
col7(30) TYPE c,
col8(30) TYPE c,
col9(30) TYPE c,
col10(30) TYPE c,
col11(30) TYPE c,
END OF t_datatab.
DATA: it_datatab TYPE STANDARD TABLE OF t_datatab INITIAL SIZE 0,
wa_datatab TYPE t_datatab.
Data : p_table type t_datatab occurs 0 with header line.
DATA : gd_scol TYPE i VALUE '1',
gd_srow TYPE i VALUE '1',
gd_ecol TYPE i VALUE '256',
gd_erow TYPE i VALUE '65536'.
DATA: it_tab TYPE filetable,
gd_subrc TYPE i.
field-symbols : <fs>.
*Selection screen definition
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file LIKE rlgrap-filename
DEFAULT 'c:\test.xls' OBLIGATORY. " File Name
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
REFRESH: it_tab.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select File'
default_filename = '*.xls'
multiselection = ' '
CHANGING
file_table = it_tab
rc = gd_subrc.
LOOP AT it_tab INTO p_file.
so_fpath-sign = 'I'.
so_fpath-option = 'EQ'.
append so_fpath.
ENDLOOP.
START-OF-SELECTION.
PERFORM upload_excel_file TABLES it_datatab
USING p_file
gd_scol
gd_srow
gd_ecol
gd_erow.
END-OF-SELECTION.
END-OF-SELECTION.
LOOP AT it_datatab INTO wa_datatab.
WRITE:/ wa_datatab-col1,
wa_datatab-col2,
wa_datatab-col3,
wa_datatab-col4,
wa_datatab-col5,
wa_datatab-col6,
wa_datatab-col7,
wa_datatab-col8,
wa_datatab-col9,
wa_datatab-col10,
wa_datatab-col11.
ENDLOOP.
*& Form UPLOAD_EXCEL_FILE
upload excel spreadsheet into internal table
-->P_TABLE Table to return excel data into
-->P_FILE file name and path
-->P_SCOL start column
-->P_SROW start row
-->P_ECOL end column
-->P_EROW end row
FORM upload_excel_file TABLES p_table
USING p_file
p_scol
p_srow
p_ecol
p_erow.
DATA : lt_intern TYPE kcde_cells OCCURS 0 WITH HEADER LINE.
Has the following format:
Row number | Colum Number | Value
i.e. 1 1 Name1
2 1 Joe
DATA : ld_index TYPE i.
Note: Alternative function module - 'ALSM_EXCEL_TO_INTERNAL_TABLE'
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = p_file
i_begin_col = p_scol
i_begin_row = p_srow
i_end_col = p_ecol
i_end_row = p_erow
TABLES
intern = LT_INTERN
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'Error Uploading file'.
EXIT.
ENDIF.
IF lt_intern[] IS INITIAL.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'No Data Uploaded'.
EXIT.
ELSE.
SORT lt_intern BY row col.
LOOP AT lt_intern.
MOVE lt_intern-col TO ld_index.
assign component ld_index of structure
p_table to <fs>.
move : lt_intern-value to <fs>.
MOVE lt_intern-value TO p_table.
AT END OF row.
APPEND p_table.
CLEAR p_table.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. "UPLOAD_EXCEL_FILE
thanks
abdul -
hi all,
the following report fetches data from an excel sheet to an internal table itab and then data from this itab is populated into an idoc.
The segment ZVISTAPMS has two char fields.
at the following point:
Create a data segment for each line of I_ZVISTA
LOOP AT ITAB INTO WA_ZVISTA_PM.
MOVE-CORRESPONDING WA_ZVISTA_PM TO WA_Z1VISTAPM.
data is not getting transferred to wa_zvistapm .
kindly help ....
regards
shilpi
REPORT ZIDOC3.
DATA : ITAB TYPE TABLE OF DATA_TAB.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
FILENAME = 'E:\K.CSV'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = SPACE
CODEPAGE = SPACE
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
VIRUS_SCAN_PROFILE =
IMPORTING
FILELENGTH =
HEADER =
CHANGING
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
NOT_SUPPORTED_BY_GUI = 17
ERROR_NO_GUI = 18
others = 19
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CONSTANTS:
C_MESTYP TYPE EDIDC-MESTYP VALUE 'ZVISTAPMSH',
C_DOCTYP TYPE EDIDC-IDOCTP VALUE 'ZVISTAPM01S',
C_SEGNAM TYPE EDIDD-SEGNAM VALUE 'Z1VISTAPMS'.
DATA:
I_ZVISTA TYPE ITAB OCCURS 6000,
I_EDIDC TYPE EDIDC OCCURS 0,
I_EDIDD TYPE EDIDD OCCURS 0,
WA_ZVISTA_PM TYPE ITAB,
WA_EDIDC TYPE EDIDC,
WA_EDIDD TYPE EDIDD,
WA_Z1VISTAPM TYPE Z1VISTAPMS,
V_OCCMAX TYPE IDOCSYN-OCCMAX,
V_NBSEG TYPE I.
CLEAR WA_ZVISTA_PM.
CLEAR WA_EDIDC.
Save the message type and the basic IDoc type
in the control segment
MOVE C_MESTYP TO WA_EDIDC-MESTYP.
MOVE C_DOCTYP TO WA_EDIDC-IDOCTP.
Retrieve the maximum number of segments in the basic IDoc* typeSELECT MIN( OCCMAX ) FROM IDOCSYN INTO V_OCCMAX WHERE IDOCTYP EQ C_DOCTYP AND SEGTYP EQ C_SEGNAM.
SELECT MIN( OCCMAX )
FROM IDOCSYN
INTO V_OCCMAX
WHERE IDOCTYP EQ C_DOCTYP AND SEGTYP EQ C_SEGNAM.
Create a data segment for each line of I_ZVISTA
LOOP AT ITAB INTO WA_ZVISTA_PM.
MOVE-CORRESPONDING WA_ZVISTA_PM TO WA_Z1VISTAPM.
CLEAR WA_EDIDD.
MOVE C_SEGNAM TO WA_EDIDD-SEGNAM.
MOVE WA_Z1VISTAPM TO WA_EDIDD-SDATA.
APPEND WA_EDIDD TO I_EDIDD.
CLEAR WA_ZVISTA_PM.
CLEAR WA_Z1VISTAPM.
ENDLOOP.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = wa_edidc
OBJ_TYPE = ''
CHNUM = ''
TABLES
COMMUNICATION_IDOC_CONTROL = i_edidc
MASTER_IDOC_DATA = i_edidd
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.Hi,
You can use
TEXT_CONVERT_XLS_TO_SAP
or
'KCD_EXCEL_OLE_TO_INT_CONVERT' for excel to internal table
reward points if helpful.
Thanks and regards. -
hi all,
the following report fetches data from an excel sheet to an internal table itab and then data from this itab is populated into an idoc.
The segment ZVISTAPMS has two char fields.
at the following point:
Create a data segment for each line of I_ZVISTA
LOOP AT ITAB INTO WA_ZVISTA_PM.
MOVE-CORRESPONDING WA_ZVISTA_PM TO WA_Z1VISTAPM.
data is not getting transferred to wa_zvistapm .
kindly help ....
regards
shilpi
REPORT ZIDOC3.
DATA : ITAB TYPE TABLE OF DATA_TAB.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
FILENAME = 'E:\K.CSV'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = SPACE
CODEPAGE = SPACE
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
VIRUS_SCAN_PROFILE =
IMPORTING
FILELENGTH =
HEADER =
CHANGING
DATA_TAB = ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
NOT_SUPPORTED_BY_GUI = 17
ERROR_NO_GUI = 18
others = 19
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CONSTANTS:
C_MESTYP TYPE EDIDC-MESTYP VALUE 'ZVISTAPMSH',
C_DOCTYP TYPE EDIDC-IDOCTP VALUE 'ZVISTAPM01S',
C_SEGNAM TYPE EDIDD-SEGNAM VALUE 'Z1VISTAPMS'.
DATA:
I_ZVISTA TYPE ITAB OCCURS 6000,
I_EDIDC TYPE EDIDC OCCURS 0,
I_EDIDD TYPE EDIDD OCCURS 0,
WA_ZVISTA_PM TYPE ITAB,
WA_EDIDC TYPE EDIDC,
WA_EDIDD TYPE EDIDD,
WA_Z1VISTAPM TYPE Z1VISTAPMS,
V_OCCMAX TYPE IDOCSYN-OCCMAX,
V_NBSEG TYPE I.
CLEAR WA_ZVISTA_PM.
CLEAR WA_EDIDC.
Save the message type and the basic IDoc type
in the control segment
MOVE C_MESTYP TO WA_EDIDC-MESTYP.
MOVE C_DOCTYP TO WA_EDIDC-IDOCTP.
Retrieve the maximum number of segments in the basic IDoc* typeSELECT MIN( OCCMAX ) FROM IDOCSYN INTO V_OCCMAX WHERE IDOCTYP EQ C_DOCTYP AND SEGTYP EQ C_SEGNAM.
SELECT MIN( OCCMAX )
FROM IDOCSYN
INTO V_OCCMAX
WHERE IDOCTYP EQ C_DOCTYP AND SEGTYP EQ C_SEGNAM.
Create a data segment for each line of I_ZVISTA
LOOP AT ITAB INTO WA_ZVISTA_PM.
MOVE-CORRESPONDING WA_ZVISTA_PM TO WA_Z1VISTAPM.
CLEAR WA_EDIDD.
MOVE C_SEGNAM TO WA_EDIDD-SEGNAM.
MOVE WA_Z1VISTAPM TO WA_EDIDD-SDATA.
APPEND WA_EDIDD TO I_EDIDD.
CLEAR WA_ZVISTA_PM.
CLEAR WA_Z1VISTAPM.
ENDLOOP.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = wa_edidc
OBJ_TYPE = ''
CHNUM = ''
TABLES
COMMUNICATION_IDOC_CONTROL = i_edidc
MASTER_IDOC_DATA = i_edidd
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.Hi,
Export option is available once they click print IDOC. i.e, Menu->Idoc->print idoc after executing through WE02 and when list has been generated with technical name,description and value columns.Export option(with a right arrow sysmbol) is available above the list.
At this point they are again going to menu->list->print thats the reason they are getting for print option and asking for printer.
Please recheck again and explain the users.
Definately it will solve the issue -
BDC table control using Excel sheet upload
Hi All,
I am working BDC table control.I want to upload the From excel sheet.I am using the FM ALSM_EXCEL_TO_INTERNAL_TABLE to upload the the data into my internal table.The data is populating in the internal table.
Now i have problem tat how to populate this excel sheet data to the Bdc table control.
Can nybody help me out.\[removed by moderator\]
Thanks,
Swapna.
Edited by: Jan Stallkamp on Jul 25, 2008 10:57 AMafter fetching data from EXCEL sheet, each column data (in excel sheet) will be uploaded to individual record into your internal table along with row number and column number, loop through that internal table and collect all your excel data into record format.pls refer the below code.
data:
i_excel type alsmex_tabline occurs 0 with header line,
l_row type i value 1.
data:
begin of x_data occurs 0,
kunnr like RF02L-KUNNR,
klimk(17) type c,
CTLPC like knkk-CTLPC,
end of x_data,
begin of x_data1 occurs 0,
data(106),
end of x_data1.
call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
exporting
filename = p_fname
i_begin_col = 1
i_begin_row = 1
i_end_col = no.of columns in your excel file
i_end_row = no.of rows in your file
tables
intern = i_excel.
if sy-subrc = 0.
loop at i_excel.
if l_row <> i_excel-row.
append x_data.
clear x_data.
endif.
case i_excel-col.
when 1.
x_data-kunnr = i_excel-value.
when 2.
x_data-klimk = i_excel-value.
when 3.
x_data-CTLPC = i_excel-value.
endcase.
l_row = i_excel-row.
clear i_excel.
at last.
append x_data.
endat.
endloop.
endif.
then loop through the internal table X_DATA, pass the data to your table control like.
tbl_control-field1(1) = x_data-field1.
tbl_control-field2(1) = x_data-field2.
tbl_control-fieldn(1) = x_data-fieldn.
Regards,
Sreeram. -
In excel sheet tab name is not coming-urgent
hi all,
one small rewquirement. if u run this test program it opens a excel sheet which contains signle tab. here tab name is not coming. i dont no hot to display tabname here.anybody can make the changes and send me the code.
i am sending my code below.
thanks,
maheedhar.t
REPORT ytestvij MESSAGE-ID zv.
TABLES sscrfields.
TYPE-POOLS: icon.
TYPES : BEGIN OF zfnames_ds,
reptext TYPE reptext,
END OF zfnames_ds.
TYPE-POOLS ole2 .
DATA: wa_fntxt TYPE smp_dyntxt.
DATA : wa_t75_booking TYPE zvt75_booking_h,
t_t75_booking TYPE STANDARD TABLE OF zvt75_booking_h.
DATA : wa_fields TYPE dfies,
t_fields TYPE STANDARD TABLE OF dfies.
DATA : wa_fnames TYPE zfnames_ds,
t_fnames TYPE STANDARD TABLE OF zfnames_ds.
handles for OLE objects
DATA: h_excel TYPE ole2_object, " Excel object
h_mapl TYPE ole2_object, " list of workbooks
h_map TYPE ole2_object, " workbook
h_zl TYPE ole2_object, " cell
h_f TYPE ole2_object. " font
DATA h TYPE i.
DATA : lin TYPE i.
data: excel type ole2_object,
application type ole2_object,
books type ole2_object,
book type ole2_object,
sheet type ole2_object,
cell type ole2_object,
column type ole2_object.
PARAMETERS : p_input TYPE localfile.
Add button to application toolbar
SELECTION-SCREEN FUNCTION KEY 1. "Will have a function code of 'FC01'
INITIALIZATION.
Add displayed text string to buttons
wa_fntxt-icon_id = icon_xls.
wa_fntxt-icon_text = 'Input File template'.
wa_fntxt-quickinfo = 'T75 Header Data'.
sscrfields-functxt_01 = wa_fntxt.
AT SELECTION-SCREEN.
IF sscrfields-ucomm = 'FC01'.
do nothing
PERFORM open_excel.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_input.
PERFORM get_filename USING p_input.
START-OF-SELECTION.
*set pf-status 'ONE'.
END-OF-SELECTION.
WRITE : lin.
*& Form GET_FILENAME
text
--> p1 text
<-- p2 text
FORM get_filename USING p_file TYPE rlgrap-filename . "localfile.
DATA : w_rc TYPE i.
DATA : wa_file_table TYPE file_table ,
t_file_table TYPE STANDARD TABLE OF file_table.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
WINDOW_TITLE =
DEFAULT_EXTENSION =
DEFAULT_FILENAME =
FILE_FILTER =
INITIAL_DIRECTORY =
MULTISELECTION =
CHANGING
file_table = t_file_table[]
rc = w_rc
USER_ACTION =
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
OTHERS = 4
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT t_file_table INTO wa_file_table.
p_file = wa_file_table-filename.
ENDLOOP.
ENDFORM. " GET_FILENAME
*& Form open_excel
text
--> p1 text
<-- p2 text
FORM open_excel.
SELECT * FROM ZVT75_BOOKING_H
INTO TABLE t_t75_booking
UP TO 10 ROWS.
start Excel
CREATE OBJECT h_excel 'EXCEL.APPLICATION'.
PERFORM err_hdl.
SET PROPERTY OF h_excel 'Visible' = 1.
PERFORM err_hdl.
get list of workbooks, initially empty
CALL METHOD OF h_excel 'Workbooks' = h_mapl.
PERFORM err_hdl.
add a new workbook
CALL METHOD OF h_mapl 'Add' = h_map.
PERFORM err_hdl.
output column headings to active Excel sheet
PERFORM fill_cell USING 1 1 1 'Financial year'.
PERFORM fill_cell USING 1 2 1 'Financial quarter'.
PERFORM fill_cell USING 1 3 1 'Customer number'.
PERFORM fill_cell USING 1 4 1 'Booking Year'.
PERFORM fill_cell USING 1 5 1 'Financial quarter'.
PERFORM fill_cell USING 1 6 1 'Contract type'.
PERFORM fill_cell USING 1 7 1 'Sub Contract type'.
PERFORM fill_cell USING 1 8 1 'Customer purchase order number'.
PERFORM fill_cell USING 1 9 1 'Booking Amount'.
PERFORM fill_cell USING 1 10 1 'Currency Key'.
LOOP AT t_t75_booking into wa_t75_booking.
copy items to active EXCEL sheet
H = SY-TABIX + 1.
PERFORM FILL_CELL USING H 1 0 wa_t75_booking-BOOKYEAR.
PERFORM FILL_CELL USING H 2 0 wa_t75_booking-BOOKQTR.
PERFORM FILL_CELL USING H 3 0 wa_t75_booking-.
PERFORM FILL_CELL USING H 4 0 wa_t75_booking-BOOKYEAR.
PERFORM FILL_CELL USING H 5 0 wa_t75_booking-BOOKQTR.
ENDLOOP.
disconnect from Excel
FREE OBJECT h_excel.
PERFORM err_hdl.
ENDFORM. " open_excel
*& Form ERR_HDL
outputs OLE error if any *
--> p1 text
<-- p2 text
FORM err_hdl.
data test type sy-subrc.
test = sy-subrc.
IF test <> 0.
Message e000(ZV) with 'Error in OLE-Automation:'.
STOP.
ENDIF.
ENDFORM. " ERR_HDL
FORM FILL_CELL *
sets cell at coordinates i,j to value val boldtype bold *
FORM fill_cell USING i j bold val.
CALL METHOD OF h_excel 'Cells' = h_zl EXPORTING #1 = i #2 = j.
set property of sheet 'Name' = 'T75'.
PERFORM err_hdl.
SET PROPERTY OF h_zl 'Value' = val .
PERFORM err_hdl.
GET PROPERTY OF h_zl 'Font' = h_f.
PERFORM err_hdl.
SET PROPERTY OF h_f 'Bold' = bold .
PERFORM err_hdl.
ENDFORM.Hi,
Look at the below thread, i posted complete code in this one, just copy that Program and past in your SAP and run the Program, it will create 3 sheets with the names also, then look at the Sheet name in the code, you will understand where to add the code
Re: format an excel
Regards
Sudheer
Maybe you are looking for
-
Creation of SP Groups for a site using javascript
Hi, I need to create four SP Groups for a website. Here is my code to create a website: $(document).ready(function () { createSite(); function createSite() { var context = SP.ClientContext.get_current(); var collWeb = context.get_web().get_webs(); va
-
ITunes stops working when syncing my iPhone 4 with windows 7, why?
I got my new iPhone 4 today, I am trying to sync my music, photos and such and iTunes constantly stops working. All I can do is shut down the program. I have restarted my computer AND the iPhone bu no such luck. Any help out there?
-
How can i see the size of the songs listed in iTunes?
Is there any option to see the size of the songs and albums I have imported to iTunes? I think thats really basic information, but I'm not able to find it...
-
Need Information for transporting a file as IDOC through File Port!!!
Hi, All configurations are present in the system to transfer a file as IDOC using File Port. Now we are creating a custom program to transfer the same. Now i have all the data in an internal table which has to be send to Non SAP system. So can i know
-
QT file with embedded closed captioning created in Premiere converted to MPEG2
Having successfully added closed captioning to a half hour show, we now need to convert it to MPEG2 file. What is a good program to accomplish this (the cc must be embedded). I tried Sorensen, but it just locks up. Any help is appreciated.