BO 4.0 save as csv file format issue
Hi All,
We are using BO 4.0 Webi for reporting on SAP BW 7.3 system. Some of our reports have to be scheduled to bring the output in CSV file format. When I schedule the report in CSV format, the final output has data in two sets. The first set has the list of columns which I have selected in my report. Starting on the next row I get to see the second set of data with all the objects selected in the query panel including the detail objects.
We only need the data for the columns which is selected in the report, but it is bringing the dump from all the objects in the dataprovider.
Can anyone tell me how to get rid of the second set of data in the same csv file ?
Thanks,
Prasad
Hi,
CSV format is reserved for 'data only' dataprovider dumps. it exports the entire webi microcube (query results)
You don't get that option when going 'save as' - which preserves the report formatting - in which case you should consider .xls
regards,
H
Similar Messages
-
Excel 2007 csv file formatting issue
Our users create .csv files for upload to SAP. Their habit is to include a number of blank lines in excel to make it more readable.
In Excel 2003, blank lines were handled as, literally, blank lines, and opening in a text editor shows exactly that, a blank line (with a CR-LF character to terminate the row).
In Excel 2007 however, the blank line consists of a number of commas equal to the no. of columns, followed by the CR-LF termination. Hope that makes sense.
While the 2003-generated .CSVs are fine, the 2007 versions cause SAP to throw an exception ("Session never created from RFBIBL00") and the upload fails. The question therefore is, has anyone ever come across anything similar, or is anyone aware of any remediation that might be possible? Haven't been able to find any documentation on this Excel 2003-2007 change sonot able to address the issue through Excel config.
Thanks!
DuncanHello
Please refer to the consulting note 76016 which will provide information on the performance of the standard program
RFBIBL00.
Regards. -
Simple save as .csv file
Hi,
is it possible to simplyfie the save as .csv file dialog? etc. by using filedialog in vba?
each time i save as .csv i need to say yes to save in older format, select wich map i want to use...
if i in VBA could have som file dialog brosing to the file i want to use etc.:
stringtosave = "c:\testfiles\test.csv"
and then call:
FileSaveAs Name:=stringtosave , FormatID:="MSProject.CSV", map:="MapiwillUse"
Regards
ToniHello Toni,
I haven't had time to test this myself (it's Saturday!), but i suspect if you bracket your FileSaveAs command turning the MS Project alerts off and back on again, the alert box you're seeing will be suppressed:
Application.DisplayAlerts = False
FileSaveAs Name:=stringtosave , FormatID:="MSProject.CSV", map:="MapiwillUse"
Application.DisplayAlerts = True
If you wanted to get a dialogue to browse for the folder, you'll need to use an API call. Chip Pearson has posted a how to guide on how to browse for a folder using the API call "SHBrowseForFolderA". His website focusses on MS Excel VBA, but I've
used this code myself in MS Project and can confirm it works the same.
http://www.cpearson.com/excel/browsefolder.aspx
####Update####
Rereading your question after posting my response, I think you'll want to browse for a file rather than a folder, which is a different api call - "ahtCommonFileOpenSave".
I did a quick google search and the clearest example I came across was this one - again, not written for MS Project, but the code is the same:
http://access.mvps.org/access/api/api0001.htm
Andrew -
Save a csv file on local host, executing a DTP Open hub in a Process chain?
Hi All,
my client has asked me to try if there is a way to save in the local host c:\ a .CSV file generated from an Open HUB executed by a DTP in a Process chain.
when i execute my DTP it work correctly and it save the .csv file on my c:\ directory.
my client doesn't want to give th users authtorization on RSA1 and want to try if there is a way to put the DTP in a process chain
and when executing the process chain every user can have the file on his own local c:\ directory.
i tried this solution but it doesn't work i get an error on executin the process chain:
Runtime Errors OBJECTS_OBJREF_NOT_ASSIGNED
Except. CX_SY_REF_IS_INITIAL
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
caught in
procedure "FILE_DELETE" "(METHOD)", nor was it propagated by a RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
You attempted to use a 'NULL' object reference (points to 'nothing')
access a component (variable: "CL_GUI_FRONTEND_SERVICES=>HANDLE").
An object reference must point to an object (an instance of a class)
before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using the
CLEAR statement.
can you give some advices please?
Thanks for All
BilalHi Bilal,
Unfortunately, DTPs belonging to Open Hubs wich are targeted to a local workstation file, can't be executed through a process chain.
The only way of including such DTP in a process chain is changing the Open Hub so that it writes the output file in the application server. Then, you can retrieve the file -through FTP or any other means- from the application server to the local workstation.
Hope this helps.
King regards,
Maximiliano -
File upload - issue with European .csv file format
All,
when uploading the .csv file for "Due List for Planned Receipts" in the File Transfer Upload center I receive an error. It appears that it is due to the european .csv file format that is delimited by semicolon rather than comma. The only way I could solve this issue is to change Regional and Language options to English. However, I don't think this is a great solution as I can't ask all our suppliers to change their settings. Has anyone come across this issue and another way of solving it?
Thank you!
Have a good day,
JohannaIgor thank you for your suggestion.
I found this SAP note:
+If you download a file, and the formatting of the CSV file is faulty, it is possible that your column separator does not match the standard settings of the SAP system. In the standard SAP system, the separator is ,.
To ensure that the formatting is correct, set your global default for column separation in your system, so that it matches that of the SAP system you are using.+
To do that Microsoft suggests to change the "List separator" in the Regional and Language Options Customize view. Though like you suggest that does not seem to do the trick. Am I missing something?
However, if I change the whole setting from say German to English (UK) the .csv files are comma delimited and can be easily uploaded. Was hoping there would be another way of solving this without need for custom development. -
Extract data from Oracle Database and store it into a CSV file format
Hello.
I'm trying to export a table from an Oracle Database into CSV file format with any Oracle adaptor and store it into a HDFS system.
How could I do it?
Thanks in advance!Xavi wrote:
HI Charles. Could I use.. Oracle Data Integrator Application Adapter for Hadoop? For this purpose?
Thanks in advancePerhaps. I have to confess that I am not familiar enough with ODI to know if that is within its capabilities.
You might see if there is a forum for ODI and post your question to that.
Charles Lamb -
To download data into csv file format
Hi All
I have to download data into csv file format. I use the FM
GUI_DOWNLOAD and gave the filename text.csv. But data is stored in excel
file in place of csv file.
Can anyone tell me what should i do to load the data into csv file or any other function module should used?
Regardssee this sample code
REPORT YSG_MATSTK_REPT LINE-SIZE 220
LINE-COUNT 50(5).
*& DATA DECLARATION *
TABLES: MARA, "GENERAL MASTER DATA
MARC, "PLANT DATA FOR MATERIAL
MARD, "STORAGE LOCATION DATA FOR MATERIAL
MVKE, "SALES DATA FOR MATERIAL
MAKT, "MATERIAL DESCRIPTION
EKKO, "PURCHASING DOCUMENT HEADER
EKPO, "PURCHASING DOCUMENT ITEM
VBAK, "SALES DOCUMENT HEADER DATA
VBAP. "SALES DOCUMENT ITEM DATA
TYPE-POOLS : SLIS.
DATA: VT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
V_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
V_LAYOUT TYPE SLIS_LAYOUT_ALV,
BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
BEGIN OF I_MARA OCCURS 0,
MATNR LIKE MARA-MATNR, "MATERIAL NUMBER
MBRSH LIKE MARA-MBRSH, "INDUSTRY SECTOR
MEINS LIKE MARA-MEINS, "BASE UNIT OF MEASURE
MATKL LIKE MARA-MATKL, "MATERIAL GROUP
END OF I_MARA,
BEGIN OF I_MARC OCCURS 0,
MATNR LIKE MARC-MATNR, "MATERIAL NUMBER
WERKS LIKE MARC-WERKS, "PLANT
LVORM LIKE MARC-LVORM, "FLAG MATERIAL FOR DELETION AT PLANT
"LEVEL
DISPO LIKE MARC-DISPO, "MRP CONTROLLER
END OF I_MARC,
BEGIN OF I_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR, "MATERIAL NUMBER
MAKTX LIKE MAKT-MAKTX, "MATERIAL DESCRIPTION
SPRAS LIKE MAKT-SPRAS, "LANGUAGE KEY
END OF I_MAKT,
BEGIN OF I_MVKE OCCURS 0,
MATNR LIKE MVKE-MATNR, "MATERIAL NUMBER
VKORG LIKE MVKE-VKORG, "SALES ORGANIZATION
VTWEG LIKE MVKE-VTWEG, "DISTRIBUTION CHANNEL
END OF I_MVKE,
BEGIN OF I_MARD OCCURS 0,
MATNR LIKE MARD-MATNR, "MATERIAL NUMBER
LGORT LIKE MARD-LGORT, "STORAGE LOCATION
LABST LIKE MARD-LABST, "VALUATED STOCK WITH UNRESTRICTED USE
END OF I_MARD,
BEGIN OF I_EKPO OCCURS 0,
EBELN LIKE EKPO-EBELN, "PURCHASING DOCUMENT NUMBER
EBELP LIKE EKPO-EBELP, "ITEM NUMBER OF PURCHASING DOCUMENT
MATNR LIKE EKPO-MATNR, "MATERIAL NUMBER
END OF I_EKPO,
BEGIN OF I_VBAP OCCURS 0,
VBELN LIKE VBAP-VBELN, "SALES DOCUMENT
POSNR LIKE VBAP-POSNR, "SALES DOCUMENT ITEM
MATNR LIKE VBAP-MATNR, "MATERIAL NUMBER
END OF I_VBAP,
BEGIN OF I_OUT OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LVORM LIKE MARC-LVORM,
DISPO LIKE MARC-DISPO,
MBRSH LIKE MARA-MBRSH,
MEINS LIKE MARA-MEINS,
MATKL LIKE MARA-MATKL,
VKORG LIKE MVKE-VKORG,
VTWEG LIKE MVKE-VTWEG,
SPRAS LIKE MAKT-SPRAS,
MAKTX LIKE MAKT-MAKTX,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
END OF I_OUT,
BEGIN OF I_HEADING OCCURS 0,
TEXT1(20),
TEXT2(20),
TEXT3(20),
TEXT4(20),
TEXT5(20),
TEXT6(20),
TEXT7(20),
TEXT8(20),
TEXT9(20),
TEXT10(20),
TEXT11(40),
TEXT12(20),
TEXT13(20),
TEXT14(20),
TEXT15(20),
TEXT16(20),
TEXT17(20),
END OF I_HEADING.
*& S E L E C T I O N - S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR. "OBLIGATORY.
PARAMETERS: P_WERKS LIKE MARC-WERKS. "OBLIGATORY.
SELECT-OPTIONS: S_LGORT FOR MARD-LGORT,
S_DISPO FOR MARC-DISPO,
S_EBELN FOR EKPO-EBELN .
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-101.
PARAMETERS : RB1 RADIOBUTTON GROUP G1,
RB2 RADIOBUTTON GROUP G1,
RB3 RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK B2.
*& I N I T I A L I Z A T I O N *
*INITIALIZATION.
*& S T A R T - O F - S E L E C T I O N *
START-OF-SELECTION.
SELECT MATNR WERKS LVORM DISPO FROM MARC
INTO CORRESPONDING FIELDS OF TABLE I_MARC
WHERE MATNR IN S_MATNR
AND DISPO IN S_DISPO
AND WERKS = P_WERKS.
IF I_MARC[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARC'.
EXIT.
ENDIF.
PERFORM PURCHASEDATA_VALIDATION.
PERFORM SALESDATA_VALIDATION.
SELECT MATNR LGORT LABST FROM MARD INTO TABLE I_MARD
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND WERKS EQ P_WERKS
AND LGORT IN S_LGORT.
IF I_MARD[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARD'.
EXIT.
ENDIF.
SELECT MATNR VKORG VTWEG FROM MVKE INTO TABLE I_MVKE
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
IF I_MVKE[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MVKE'.
EXIT.
ENDIF.
LOOP AT I_MARC.
MOVE-CORRESPONDING I_MARC TO I_OUT.
CLEAR MARC.
SELECT SINGLE MATNR MBRSH MEINS MATKL FROM MARA
INTO CORRESPONDING FIELDS OF MARA
WHERE MATNR = I_OUT-MATNR.
IF SY-SUBRC = 0.
MOVE: MARA-MBRSH TO I_OUT-MBRSH,
MARA-MEINS TO I_OUT-MEINS,
MARA-MATKL TO I_OUT-MATKL.
ELSE.
CONTINUE.
ENDIF.
SELECT SINGLE MATNR MAKTX SPRAS FROM MAKT
INTO CORRESPONDING FIELDS OF MAKT
WHERE MATNR = I_OUT-MATNR.
IF SY-SUBRC = 0.
MOVE: MAKT-MAKTX TO I_OUT-MAKTX,
MAKT-SPRAS TO I_OUT-SPRAS.
ELSE.
CONTINUE.
ENDIF.
LOOP AT I_EKPO WHERE MATNR = I_MARC-MATNR.
MOVE: I_EKPO-EBELN TO I_OUT-EBELN,
I_EKPO-EBELP TO I_OUT-EBELP.
ENDLOOP.
LOOP AT I_VBAP WHERE MATNR = I_MARC-MATNR.
MOVE: I_VBAP-VBELN TO I_OUT-VBELN,
I_VBAP-POSNR TO I_OUT-POSNR.
ENDLOOP.
LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR.
MOVE: I_MARD-LABST TO I_OUT-LABST,
I_MARD-LGORT TO I_OUT-LGORT.
ENDLOOP.
LOOP AT I_MVKE WHERE MATNR = I_MARC-MATNR.
MOVE: I_MVKE-VKORG TO I_OUT-VKORG,
I_MVKE-VTWEG TO I_OUT-VTWEG.
ENDLOOP.
APPEND I_OUT.
CLEAR I_OUT.
ENDLOOP.
PERFORM OPTIONS.
FORM OPTIONS *
FORM OPTIONS.
IF RB2 = 'X'.
PERFORM FIELDCAT.
PERFORM OUTPUT.
ELSE.
IF RB1 = 'X'.
PERFORM HEADINGS.
PERFORM DLOAD.
ELSE.
IF RB3 = 'X'.
PERFORM HEADINGS.
PERFORM DLOAD.
PERFORM FIELDCAT.
PERFORM OUTPUT.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. "OPTIONS
FORM HEADINGS *
FORM HEADINGS.
I_HEADING-TEXT1 = 'MATNR'.
I_HEADING-TEXT2 = 'WERKS'.
I_HEADING-TEXT3 = 'LVORM'.
I_HEADING-TEXT4 = 'DISPO'.
I_HEADING-TEXT5 = 'MBRSH'.
I_HEADING-TEXT6 = 'MEINS'.
I_HEADING-TEXT7 = 'MATKL'.
I_HEADING-TEXT8 = 'VKORG'.
I_HEADING-TEXT9 = 'VTWEG'.
I_HEADING-TEXT10 = 'SPRAS'.
I_HEADING-TEXT11 = 'MAKTX'.
I_HEADING-TEXT12 = 'LGORT'.
I_HEADING-TEXT13 = 'LABST'.
I_HEADING-TEXT14 = 'EBELN'.
I_HEADING-TEXT15 = 'EBELP'.
I_HEADING-TEXT16 = 'VBELN'.
I_HEADING-TEXT17 = 'POSNR'.
APPEND I_HEADING.
ENDFORM. "HEADINGS
FORM DLOAD *
FORM DLOAD.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:\MATSTK.csv'
FILETYPE = 'DAT'
WRITE_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_HEADING
EXCEPTIONS
FILE_WRITE_ERROR = 1.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:\MATSTK.csv'
FILETYPE = 'DAT'
APPEND = 'X'
WRITE_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_OUT.
ENDFORM. "DLOAD
FORM FIELDCAT *
FORM FIELDCAT.
V_FIELDCAT-COL_POS = '1'.
V_FIELDCAT-FIELDNAME = 'MATNR'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'MATNR'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '2'.
V_FIELDCAT-FIELDNAME = 'WERKS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'WERKS'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '3'.
V_FIELDCAT-FIELDNAME = 'LVORM'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'LVORM'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '4'.
V_FIELDCAT-FIELDNAME = 'DISPO'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'DISPO'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '5'.
V_FIELDCAT-FIELDNAME = 'MBRSH'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MBRSH'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '6'.
V_FIELDCAT-FIELDNAME = 'MEINS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MEINS'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '7'.
V_FIELDCAT-FIELDNAME = 'MATKL'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MATKL'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '8'.
V_FIELDCAT-FIELDNAME = 'VKORG'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'VKORG'.
V_FIELDCAT-REF_TABNAME = 'MVKE'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '9'.
V_FIELDCAT-FIELDNAME = 'VTWEG'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'VTWEG'.
V_FIELDCAT-REF_TABNAME = 'MVKE'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '10'.
V_FIELDCAT-FIELDNAME = 'SPRAS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'SPRAS'.
V_FIELDCAT-REF_TABNAME = 'MAKT'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '11'.
V_FIELDCAT-FIELDNAME = 'MAKTX'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MAKTX'.
V_FIELDCAT-REF_TABNAME = 'MAKT'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '12'.
V_FIELDCAT-FIELDNAME = 'LGORT'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'LGORT'.
V_FIELDCAT-REF_TABNAME = 'MARD'.
V_FIELDCAT-SELTEXT_L = 'STRG LOCT'.
V_FIELDCAT-OUTPUTLEN = 10.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '13'.
V_FIELDCAT-FIELDNAME = 'LABST'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-SELTEXT_M = 'STOCK'.
V_FIELDCAT-OUTPUTLEN = 15.
V_FIELDCAT-REF_FIELDNAME = 'LABST'.
V_FIELDCAT-REF_TABNAME = 'MARD'.
V_FIELDCAT-DO_SUM = 'X'.
V_LAYOUT-TOTALS_TEXT = 'TOTAL STOCK:'.
V_FIELDCAT-HOTSPOT = 'X'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '14'.
V_FIELDCAT-FIELDNAME = 'EBELN'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'EBELN'.
V_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '15'.
V_FIELDCAT-FIELDNAME = 'EBELP'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'EBELP'.
V_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '16'.
V_FIELDCAT-FIELDNAME = 'VBELN'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'VBELN'.
V_FIELDCAT-REF_TABNAME = 'VBAP'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '17'.
V_FIELDCAT-FIELDNAME = 'POSNR'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'POSNR'.
V_FIELDCAT-REF_TABNAME = 'VBAP'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
ENDFORM. "FIELDCAT
FORM OUTPUT *
FORM OUTPUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
I_GRID_TITLE = 'CLICK ON MATERIAL/PURDOC/SALESDOC FOR DETAILS'
I_CALLBACK_USER_COMMAND = 'DISPLAYDETAILS'
IS_LAYOUT = V_LAYOUT
IT_FIELDCAT = VT_FIELDCAT1
TABLES
T_OUTTAB = I_OUT.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. "OUTPUT
FORM TOP-OF-PAGE *
FORM TOP-OF-PAGE.
DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
WA_HEADER TYPE SLIS_LISTHEADER.
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = 'REPORT FOR : '.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'MATERIAL DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'PURCHASE ORDER DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'SALES ORDER DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'GEAR'
IT_LIST_COMMENTARY = T_HEADER.
ENDFORM. "TOP-OF-PAGE
*& FORM DISPLAYDETAILS *
FORM DISPLAYDETAILS USING UCOMM LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
IF SELFIELD-FIELDNAME = 'EBELN'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM PORECDNG.
CLEAR BDCDATA[].
ENDIF.
ELSE.
IF SELFIELD-FIELDNAME = 'MATNR'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM MMRECDNG.
CLEAR BDCDATA[].
ENDIF.
ELSE.
IF SELFIELD-FIELDNAME = 'VBELN'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM SALESRECDNG.
CLEAR BDCDATA[].
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. "DISPLAYDETAILS
FORM PORECDNG *
FORM PORECDNG.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0105'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM06E-BSTNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RM06E-BSTNR'
I_OUT-EBELN.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM06E-BSTPO(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AH'.
PERFORM BDC_FIELD USING 'RM06E-EBELP'
I_OUT-EBELP.
PERFORM BDC_FIELD USING 'RM06E-TCSELFLAG(01)'
'X'.
PERFORM BDC_TRANSACTION USING 'ME23'.
ENDFORM. "PORECDNG
FORM MMRECDNG *
FORM MMRECDNG.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
I_OUT-MATNR.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM BDC_TRANSACTION USING 'MM03'.
ENDFORM. "MMRECDNG
FORM SALESRECDNG *
FORM SALESRECDNG.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '0102'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'VBAK-VBELN'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'VBAK-VBELN'
I_OUT-VBELN.
PERFORM BDC_TRANSACTION USING 'VA03'.
ENDFORM. "SALESRECDNG
FORM BDC_TRANSACTION *
FORM BDC_TRANSACTION USING TCODE.
CALL TRANSACTION TCODE USING BDCDATA MODE 'E'.
ENDFORM. "BDC_TRANSACTION
FORM BDC_DYNPRO *
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
INSERT FIELD *
FORM BDC_FIELD USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM. "BDC_FIELD
*& FORM PURCHASEDATA_VALIDATION *
FORM PURCHASEDATA_VALIDATION.
SELECT EBELN EBELP MATNR
FROM EKPO
INTO TABLE I_EKPO
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND EBELN IN S_EBELN
AND WERKS EQ P_WERKS.
IF I_EKPO[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM TABLE EKPO'.
EXIT.
ENDIF.
DATA: T_EKPO LIKE I_EKPO OCCURS 0 WITH HEADER LINE.
T_EKPO[] = I_EKPO[].
REFRESH I_EKPO.
FREE I_EKPO.
LOOP AT T_EKPO.
SELECT SINGLE EBELN FROM EKKO INTO EKPO-EBELN
WHERE EBELN = T_EKPO-EBELN.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING T_EKPO TO I_EKPO.
APPEND I_EKPO.
CLEAR I_EKPO.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
SORT I_EKPO.
ENDFORM. "PURCHASEDATA_VALIDATION
*& FORM SALESDATA_VALIDATION *
FORM SALESDATA_VALIDATION.
SELECT VBELN POSNR MATNR
FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE
I_VBAP FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
IF I_VBAP[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM TABLE VBAP'.
EXIT.
ENDIF.
DATA: T_VBAP LIKE I_VBAP OCCURS 0 WITH HEADER LINE.
T_VBAP[] = I_VBAP[].
REFRESH I_VBAP.
FREE I_VBAP.
LOOP AT T_VBAP.
SELECT SINGLE VBELN FROM VBAK INTO VBAK-VBELN
WHERE VBELN = T_VBAP-VBELN.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING T_VBAP TO I_VBAP.
APPEND I_VBAP.
CLEAR I_VBAP.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
SORT I_VBAP.
ENDFORM. "SALESDATA_VALIDATION
regards,
srinivas
<b>*reward for useful answers*</b> -
How to save from a JTable to .CSV file format?
i am building a client sever model in which the client will send the details to the server...
the server will take all the details and display it in a jtable..
now, after sorting it using autorowsorter(..), how can i save the data from table to a .CSV file???
Thanks in advance..Here is one code from my own my application. It should compile straight away, but if there are any compile time bugs, you can easily fix them. Pls do read the comments at the top.
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.*;
import javax.swing.table.*;
* This class is now JDK 1.6 Dependent, with the addition of the use of the Desktop
* class instead of the default application launch procedure, and the use of the new
* FileNameExtensionFilter class introduced under javax.swing.filechooser.
* This class can be used in one line of code by passing the appropriate JTable to the
* desired constructor.
public class ExcelExporter extends Object {
public JTable source;
public JFileChooser chooser;
public File csvFile;
private boolean cancelOp = false, isDefault = true;
private String topText = "";
public ExcelExporter(JTable source) {
this(source, "");
public ExcelExporter(JTable source, String topText) {
this(source, topText, true);
public ExcelExporter(JTable source, String topText, boolean isDefault, File target, JProgressBar bar) {
super();
this.source = source;
this.topText = topText;
this.isDefault = isDefault;
new ProgressDialog(source, target, bar);
public ExcelExporter(JTable source, String topText, boolean isDefault) {
super();
this.source = source;
this.topText = topText;
this.isDefault = isDefault;
obtainFileName();
public void obtainFileName() {
cancelOp = false;
FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel Format (CSV)", "csv");
if(chooser == null) {
chooser = new JFileChooser();
chooser.setDialogTitle("Saving Database");
chooser.setFileFilter(filter);
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.setSelectedFile( new File("database.csv") );
chooser.setAcceptAllFileFilterUsed(false);
int val = chooser.showSaveDialog((Component)null);
if(val == JFileChooser.APPROVE_OPTION) {
csvFile = chooser.getSelectedFile();
boolean fixed = fixExtension(csvFile, "csv");
if(!fixed && !cancelOp) {
JOptionPane.showMessageDialog(null,"File Name Specified Not Supported",
"File Name Error", JOptionPane.ERROR_MESSAGE);
obtainFileName();
return;
if(!cancelOp) {
//storeTableAsCSV(csvFile, source);
new ProgressDialog(source, csvFile).setVisible(true);
public boolean fixExtension(File file, String prefExt) {
String fileName = file.getName();
String dir = file.getParentFile().getAbsolutePath();
String ext = null;
try {
ext = fileName.substring( fileName.lastIndexOf("."), fileName.length() );
System.out.println("Original File Extension: " + ext);
} catch(StringIndexOutOfBoundsException e) {
ext = null;
if(ext != null && !ext.equalsIgnoreCase("."+prefExt)) {
return false;
String csvName = null;
if(ext == null || ext.length() == 0) {
csvName = fileName + "." + prefExt;
} else {
csvName = fileName.substring(0, fileName.lastIndexOf(".") + 1) + prefExt;
System.out.println("Corrected File Name: " + csvName);
File csvCert = new File(dir, csvName);
if(csvCert.exists()) {
int val = JOptionPane.showConfirmDialog(null, "Replace Existing File?", "File Exists",
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);
if(val == JOptionPane.NO_OPTION) {
obtainFileName();
cancelOp = true;
return false;
} else if(val == JOptionPane.CANCEL_OPTION) {
cancelOp = true;
return false;
if(!file.renameTo(csvCert)) {
file = new File(dir, csvName);
try {
file.createNewFile();
} catch(IOException ioe) {}
System.out.println("Exporting as: " + file.getAbsolutePath() );
return true;
public void storeTableAsCSV(File target, JTable src) {
String csvData = topText + "\n\n";
for(int i = 0; i < src.getModel().getRowCount(); i++) {
for(int x = 0; x < src.getModel().getColumnCount(); x++) {
int col = src.convertColumnIndexToView(x);
String curVal = (String)src.getModel().getValueAt(i,col);
if(curVal == null) {
curVal = "";
csvData = csvData + removeAnyCommas(curVal) + ",";
if(isDefault) {
if(x == src.getModel().getColumnCount() - 3) {
csvData = csvData + "\n";
continue;
} else {
if(x == src.getModel().getColumnCount() - 1) {
csvData = csvData + "\n";
try {
FileWriter writer = new FileWriter(target);
writer.write(csvData);
writer.flush();
writer.close();
writer = null;
csvData = null;
} catch(IOException ioe) {
JOptionPane.showMessageDialog(source, "Error Writing File.\nFile may be in use by another application."
+ "\nCheck and try re-exporting", "Export Error", JOptionPane.ERROR_MESSAGE);
public String removeAnyCommas(String src) {
if(src == null) {
return "";
for(int i = 0; i < src.length(); i++) {
if(src.charAt(i) == ',') {
src = src.substring(0,i) + src.substring(i+1, src.length());
return src;
class ProgressDialog extends JDialog {
JProgressBar progress;
JLabel progressLabel;
javax.swing.Timer timer;
int rowPoint = -1;
StringBuffer data;
JTable srcTable;
DefaultTableModel srcModel;
File targetFile;
public ProgressDialog(JTable src, File target) {
super( new JDialog(), "Exporting", true);
createUI();
setLocationRelativeTo(null);
srcTable = src;
srcModel = (DefaultTableModel)src.getModel();
targetFile = target;
exportDataProgressively();
public ProgressDialog(JTable src, File target, JProgressBar progress) {
super();
srcTable = src;
srcModel = (DefaultTableModel)src.getModel();
targetFile = target;
setProgressBar(progress);
exportDataProgressively();
public void createUI() {
progress = new JProgressBar(0, 100);
progress.setIndeterminate(true);
progress.setValue(0);
progress.setBorder( BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(10,10,10,10),
UIManager.getBorder("ProgressBar.border") ) );
progress.setPreferredSize( new Dimension(300, 38) );
progressLabel = new JLabel("Writing Excel Format. Please Wait...");
progressLabel.setFont( new Font("Verdana", Font.PLAIN, 11) );
progressLabel.setBorder( BorderFactory.createEmptyBorder(10,10,10,10) );
JPanel progressPanel = new JPanel( new BorderLayout() );
progressPanel.add(progressLabel, BorderLayout.NORTH );
progressPanel.add(progress, BorderLayout.CENTER);
progressPanel.setBorder( BorderFactory.createEmptyBorder(10,10,10,10) );
setContentPane(progressPanel);
pack();
public void exportDataProgressively() {
//progress.setString("");
progress.setMaximum(srcModel.getRowCount());
progress.setIndeterminate(false);
data = new StringBuffer("Autogenerated Excel Format"
+ topText + "\n\n");
timer = new javax.swing.Timer(15, new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(rowPoint > -1 && srcModel.getValueAt(rowPoint,0) == null) {
timer.stop();
progress.setValue(rowPoint);
appendData();
timer.setRepeats(false);
timer.start();
public void appendData() {
timer.stop();
for(int j = 0; j < srcModel.getColumnCount(); j++) {
int col = srcTable.convertColumnIndexToView(j);
if(rowPoint == -1) {
data.append(removeAnyCommas((String)srcModel.getColumnName(col)).toUpperCase());
} else if(col != -1){
String text = (String)srcModel.getValueAt(rowPoint,col);
if(srcModel.getColumnName(col).equalsIgnoreCase("Phone Number(s)") && !isPrintableText(text) ) {
text = "\'" + getPrintableText(text);
} else if( srcModel.getColumnName(col).equalsIgnoreCase("Phone Number(s)") && isPrintableText(text) ) {
text = "\'" + removeAnyCommas(text);
} else {
text = removeAnyCommas(text);
data.append(text);
if(isDefault) {
if(j != srcModel.getColumnCount() - 3 ){
data.append(",");
} else {
data.append("\n");
break;
} else {
if(j != srcModel.getColumnCount() - 1 ){
data.append(",");
} else {
data.append("\n");
rowPoint++;
if(rowPoint < srcModel.getRowCount()) {
timer.start();
} else {
try {
if(!targetFile.exists())
targetFile.createNewFile();
FileWriter writer = new FileWriter(targetFile);
writer.write(data.toString());
writer.close();
progress.setValue(progress.getMaximum());
progress.setStringPainted(true);
progress.setString("Done");
openFile(targetFile);
setVisible(false);
data = null;
} catch(IOException ioe) {
JOptionPane.showMessageDialog(source, "Error Writing File. Try Resaving",
"Save Error", JOptionPane.ERROR_MESSAGE);
} catch(Exception exc) {
System.out.println(exc);
public void setProgressBar(JProgressBar bar) {
progress = bar;
public boolean isPrintableText(String text) {
return !text.contains("::");
public String getPrintableText(String text) {
try {
text = text.substring(2);
} catch(StringIndexOutOfBoundsException sie) {
System.out.println(sie);
String generated = "";
StringTokenizer st = new StringTokenizer(text, ",");
try {
for(int i = 0; st.hasMoreTokens(); i++ ) {
if(i > 0) {
generated = generated + " / ";
String token = st.nextToken();
generated = generated + token.substring( token.indexOf("-") + 2 );
} catch(NoSuchElementException nse) {}
return generated;
public void openFile(File file) {
int val = JOptionPane.showConfirmDialog(null, "Would You Like To View The File Right Now?",
"View File", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
try {
if(val == JOptionPane.YES_OPTION) {
if(Desktop.isDesktopSupported()) {
Desktop.getDesktop().open(file);
} else {
new ExcelExecutor(file.getAbsolutePath());
} catch(IOException ioe) {
JOptionPane.showMessageDialog(null, "Failed to Open File", "Error",
JOptionPane.ERROR_MESSAGE);
}ICE -
Hello Experts,
We have a requirement to create quality certificate as flat file in CSV format. I am afraid this cant be achieved through any of the exit and option is to copy and create Z print program. Please advice if there is an option without creating custom program.
Thanks
PrathibYou are correct in that there is some programming involved but NOT a Z print program. If you do ned to do the Z program, ONLY change the final forms module NASTEDFO. Do not change any of the other submodules.
SAP already provides an example program that is supported in the form of the print program RSNASTED which is delivered out of the box for EDI processing.
An EDI file is nothing more than a text file formatted in a particular way with particular syntax. If you look at how this is set up for the LQCA and LQCB output types, you should be able to duplicate this setup to produce a text file that matches your CSV requirement. You can assign the changed programs maybe to "8 - Special function" or "4 - Telex" or "5 - external send".
In config:
QM-->Quality Certificates-->Process Output-->Assign print Program to Output/Type/Medium
QM-->Quality Certificates-->Process Output-->Define Output Types with Certificate
Make sure you read the help files for each field and all configuration documentation.
Craig -
How to save a .csv file to database server
Hi every body,
I need to upload a .csv file from the client machine and save it to a directory in a database sever.
I could do the uploading part. Can anyone tell me how to save the file?
Another option is save the file as a CLOB in a database column. But I'm not aware of doing that too.
Please guide me.
Thanks in advance.
Surangi.See Steve Muench's Not Yet Documented Example #85 at http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html#85. While this is for 10.1.3, this is still relevant for 11g. Steve's example is for uploading to a BLOB - same thing for a CLOB. Once your data is in the database, you can use the DBMS_LOB package to write the file to a directory on the database server, if you like.
Also the Developers Guide is your friend - Chapter 9.9 in the Fusion Web User Interface Developers Guide for Oracle ADF 11g, or 19.6 in the ADF Developers Guide for Forms/4GL Developers for JDeveloper 10.1.3. -
How to save a csv file in a local directory
I am trying to save a regular csv file in a local directory. Any suggestions of how I should approach it. And also I was wondering how I would email that csv file to multiple users
Use a PrintWriter and a FileOutputStream. Look in javax.mail.* for API's to do mailing, or open a socket connection to a pop server and post it.
Posting these kind of questions to "new to java" might be more appropriate... -
LCM in csv File Format 11.1.2
Is it possible to export dimension metadata into a .csv file using LCM in 11.1.2?
I can only see it as .xml format and no options to change to .csv.xml is the default and only format when it comes to LCM.
You can refresh the outline from Planning to Essbase and can use outline extractor to get the metadata in to CSV file
http://www.appliedolap.com/free-tools/outline-extractor
You can use ODI for the same as well.
Its a good practice to mark the answers as helpful or correct if you think they are.
Cheers...!!! -
.CSV files format needs to be changes
Hi ,
I have procdure which converts all my data to .csv format, The problem here is i have used the SQL which has the alias name's Jan-12...upto Dec-12.
The resulting .csv file dispalying this format as 12-Jan ---------up to 12-Dec
I want the .CSV format should contain Jan-12...upto Dec-12.
Pleae advice.
Thanks876639 wrote:
Hi ,
I have procdure which converts all my data to .csv format, The problem here is i have used the SQL which has the alias name's Jan-12...upto Dec-12.
The resulting .csv file dispalying this format as 12-Jan ---------up to 12-DecNo, the resulting .csv file contains whatever data you put into it. It's just a text file with characters in it.
If data is getting changed then that's either being changed by your own code before it's put in the .csv file, or by the application you are using to view the .csv file.
Let me guess, you're loading the .csv file into Microsoft Excel to view it...?
Excel can recognise certain data and change the display formats accordingly e.g. it can recognise numbers and dates and display them in it's default formats. That's not a fault with Oracle or your code in that case, but with how the data is being viewed through Excel.
Is the data still wrong if you open it up in WordPad or Notepad? -
Error in upload CSV file format ?
Hi everyone !
What to do in this case when I've to upload my CSV file
(Report 2.14MB & Form 430KB), getting error.Can anybody help me in this regard when the values stored (Numeric+character), my data is considerably long,What I can do that in this respect?
"Error ORA-20001:Unable to create collection
Error ORA-06502:numeric or value error"
Helps in helping you !
Thanks in advance
Oracle is not just a Database, it's the lifestylehi muhammad--
though your initial post seemed to suggest that you were trying to upload a very large spreadsheet into a table via our DataWorkshop (for which i'd still run with holger's suggestion above), your follow up seems to ask about enabling spreadsheet upload/download from within your app. you probably know by now that it's a pretty simple matter to turn on the ability for your report regions in htmldb to output to csv format. there's a "CSV Output" region on the report attributes page to let you control that stuff. regarding the ability to upload spreadsheet data into a table within HTML DB, there's no functionality built into htmldb for facilitate this for you. i'm still not sure if this is what you're looking for, but i explained a little about what it would take to implement one method of excel data upload functionality into one's app at the bottom of...
Bulk Insert, SQL*Loader style
...hope this helps,
raj -
prodorder;batchno ;text1 ; text2; text3;text4;text5;
"100001012;0008339492;487-07-G1;22;6,86;000081022G; "
"100001013;0008339493;487-07-G1;22;6,86;000081022E;1 "
This is my sample csv file.
i want to upload using bdc.
im splitting the internal table and uploading like this.
call function 'GUI_UPLOAD'
exporting
FILENAME = FILE
FILETYPE = 'ASC'
has_field_separator = ','
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
IMPORTING
FILELENGTH =
HEADER =
tables
DATA_TAB = ITAB
loop at ITAB.
split ITAB at ';' into ITAB1-AUFNR
ITAB1-CHARG
ITAB1-TEXT1
ITAB1-TEXT2
ITAB1-TEXT3
ITAB1-TEXT4
ITAB1-TEXT5.
append ITAB1.
endloop.
But finally im getting output as
"100001012 in ordernumber of co01 transaction.
it should display 100001012 in ordernumber field.
please suggest how we can rectify this problem.Hi Vijay,
I can sugest you one thing. Before splitting ITAB at " , " .
use REPLACE command to remove inverted code value ( " ) .
Eg Loop at Itab.
REPLCE ALL OCCURANCES OF " WITH SPACE ( Check syntax).
Hope this will solve your problem.
Regards
Sourabh
Maybe you are looking for
-
Private key from 5.1 to 7.0
Hi, we're currently upgrading from WebLogic server 5.1 to 7.0. The private key generated by WLS 5.1 does not use any password, and can therefore not be used with 7.0 Do I have to generate a new private key and order a new SSL certificate, or is there
-
Is it still possible to attach sticky notes to a pdf file? Which Adobe product do I need to do this?
-
How to clear counter in Cat OS
Cat OS WS-C4506 Software, Version NmpSW: 7.4(1) i have try perform clear counter, and below error still occured. any advice??? Xmit-Err Rcv-Err U 3148308 1564
-
How to change to working with referenced images but keep library on laptop
Hi, So, my iPhoto library is getting too big - I'd like to be able to have the images stored on an external drive and refer to them from within iPhoto, whilst keeping the iPhoto Library itself on the laptop. I know exactly how to do this from scratch
-
EJB Injection in Seperated Managed Bean
Hi All, I have a JSF project consisting of a number of different WARs, containing the Web logic, and a bunch of different JARs, containing the application logic; which are deployed together in a single EAR file. Thus far this approach has worked exce