Output Data to CSV File with headers
So I'm trying to create a powershell script that outputs a list of computers with their default printers. Here's what I have to far:
cls
$obj = New-Object PSObject
$ComputerList = Import-CSV C:\test\PCList.csv
ForEach ($Computer in $ComputerList)
$DefaultPrinter = Get-WmiObject -Query "select * from Win32_Printer where Default=True"
$DefaultPrinterName = $DefaultPrinter.ShareName
$obj | Add-Member WorkstationName $Computer.Name -Force
$obj | Add-Member DefaultPrinter $DefaultPrinterName -Force
Write-Output -InputObject $obj | Out-File -FilePath C:\test\PCList_defaultprinter.csv -Append
It's not formatting the CSV in a workable format. What I'd like is to have 2 columns (Workstation Name and Default Printer Name) but it's not exactly doing that.
Any help would be greatly appreciated!!!
Use Export-CSV instead of Out-File, as in:
cls
$obj = New-Object PSObject
$ComputerList = Import-CSV C:\test\PCList.csv
ForEach ($Computer in $ComputerList)
$DefaultPrinter = Get-WmiObject -Query "select * from Win32_Printer where Default=True"
$DefaultPrinterName = $DefaultPrinter.ShareName
$obj | Add-Member WorkstationName $Computer.Name -Force
$obj | Add-Member DefaultPrinter $DefaultPrinterName -Force
$obj | Export-Csv -Path C:\test\PCList_defaultprinter.csv -NoTypeInformation -Append
Sam Boutros, Senior Consultant, Software Logic, KOP, PA http://superwidgets.wordpress.com (Please take a moment to Vote as Helpful and/or Mark as Answer, where applicable) _________________________________________________________________________________
Powershell: Learn it before it's an emergency http://technet.microsoft.com/en-us/scriptcenter/powershell.aspx http://technet.microsoft.com/en-us/scriptcenter/dd793612.aspx
Similar Messages
-
Output data to txt file with full length of the field as in database
Hi
I have a problem related to output data I ntxt file on server
for eg
CONCATENATE
wa_sagadr_outtab-seqno
wa_sagadr_outtab-bpext
wa_sagadr_outtab-name_org1
wa_sagadr_outtab-country INTO wa_sagadr_text SEPARATED BY ''.
the output is separated by single space irrespective of database length of the field , I want to display all the lenth of the database field eventhough the remaining space is blank ie if a field is 20 char in dtabase and only filled with 6 char the whole 20 char lenth should be displayed in the output file
ouput as below
required format ie space equvalent to as in database lenght
000001 700006 C4 Plant AMD Export Sdn.Bhd.so on.
my format as coming single space in between only
000001 700006 C4 Plant AMD Export Sdn.Bhd
pls suggestFor this maintain an work area with the fields and structure same as the one which you want.
ten populate the work are and write to file.
concatenate will not work.
e.g.
DATA: begin of wa_sagadr_text,
seqno like wa_sagadr_outtab-seqno,
bpext like wa_sagadr_outtab-bpext,
name_org1 like wa_sagadr_outtab-name_org1,
country like wa_sagadr_outtab-country
end of wa_sagadr_text,
clear wa_sagadr_text.
wa_sagadr_text-seqno = wa_sagadr_outtab-seqno.
wa_sagadr_text-bpext= wa_sagadr_outtab-bpext.
wa_sagadr_text-name_org1 = wa_sagadr_outtab-name_org1.
wa_sagadr_text-country = wa_sagadr_outtab-country INTO wa_sagadr_text.
transfer wa_sagadr_text to outputfile
or write:/ your fields. -
How to import data from CSV file with columns separated by semicolon?
I migrate database from MS SQL 2008 to ORACLE 11g
I export data to CSV file from MS SQL
then I try to import it to Oracle
several tables goes fine using Import data option in the SQL Developer
Standard CSV files with data separated by comma were imported.
chars, date (with format string), and integer data are imported via import wizard without problems
the problems were when I try to import table with noninteger numbers with modal part separated by comma not by dot
comma is the standard separator for columns in CSV file
so I must change the standard separator to semicolon
then the import wizard have problem to correct recognize the columns data because it use only standard CSV comma separator :-/
In SQL Developer 1.5.3 Tools -> Preferences -> Migration -> Data Move Options
I change "End of Column Delimiter" to ; but it doens't work
Is this possible to change the standard column separator for import data wizzard in SQL Developer 1.5.3?
Or maybe someone know how to import data in SQL Developer 1.5.3 from CSV when CSV colunn separator is set to semicolon?A new preference has been added to customize the import delimiter in main code line. This should be available as part of future release.
-
Help with output to 2 CSV files
I created a script to parse through AD and output a list of computers that have certain info in the description field and it is working (wouldn't mind some critique if things could be done a better/faster way). Now, what I am trying to do is split
the output into 2 CSV files based on what is in the $descwho variable. But I am not sure where to start (not looking for someone to rewrite the script but point me in the right direction). I have tried a couple things but so far I have not gotten
anywhere.
Function Get-ScriptDirectory {
if($hostinvocation -ne $null) {
Split-Path $hostinvocation.MyCommand.path
} else {
Split-Path $script:MyInvocation.MyCommand.Path
#Variable that provides the location of the script
[string]$ScriptDirectory = Get-ScriptDirectory
Function Clean-OU {
#clean OU removes FQDN/RootOU from the start and $computername from the end of the OU string
Param (
$OriginalOU,
$computer
$ouArray = $OriginalOU.split("/")
$newOU = $null
Foreach ($OU in $ouArray) {
If (($ou -ne "FQDN") -and ($ou -ne "RootOU") -and ($ou -ne $computer)){
If (!$newOu) {
$newOU = ".../$ou"
} Else {
$newOU += "/$ou"
return $newOU
$path = "$ScriptDirectory\ad_report_2.csv" #path to where report is saved
Get-ADComputer -Filter * -Properties Description,Enabled,MemberOf,CanonicalName | % {
$computer = $_.Name #name of computer
$desc = $_.Description #description field associated with computer
$DistinguishedName = Clean-OU -OriginalOU $_.CanonicalName -Computer $computer #FQDN/RootOU/PROD/WIN7/64bit/LT/PF-123456
# is PC in the SpecialGroup security group?
If ($_.memberof -match "SpecialGroup"){[string]$memberOf = "SpecialGroup"}else{$memberOf = "N/A"}
If ($desc){#if Desc = true
If (($desc.StartsWith("AEHT")) -or ($desc.StartsWith("VF-")) -or ($desc.StartsWith("Disabeled:"))) {
$descArr = $desc.Split(":").Trim()
$descWho = $descArr[0]
$description = $descArr[1]
$dwTemp = $descArr[2]
If ($dwTemp -match "\[IT Support\]"){$dwPrefix = "IT Support"}
elseif($dwTemp -match "\[App Dev\]"){$dwPrefix = "App Dev"}
elseIf($dwTemp -match "\[Business\]"){$dwPrefix = "Business"}
$dwTemp = $dwTemp -replace "\[IT Support\]" -replace "\[App Dev\]" -replace"\[Business\]"
$descWhen = "$dwPrefix - $dwTemp"
Write-Host $Computer -NoNewline
#Write-Host - $memberOf -NoNewline
#Write-Host - $enabled -NoNewline
Write-Host - $descWho -NoNewline
Write-Host - $description -NoNewline
Write-Host - $descWhen -NoNewline
Write-Host
$Record = @{"Computer" = $Computer}
$record.add("DescByWho",$descWho)
$record.add("Description",$description)
$record.add("DescWhen",$descWhen)
$record.add("OU",$DistinguishedName)
$record.add("MemberOf",$memberof)
New-Object PSObject -Property $record |Sort-Object -Property DescByWho | Select Computer, DescByWho, Description, DescWhen, MemberOf, OU
} | export-csv -path $path -NoTypeInformationHi Mike,
If you want to divide the output to two csv files based on the variable $descWho, please refer to this script, please also note I havn't tested:
#modify
$path1 = "$ScriptDirectory\ad_report_1.csv" #path to where report is saved
$path2 = "$ScriptDirectory\ad_report_2.csv" #path to where report is saved
$output1=@()
$output2=@()
#modify
Get-ADComputer -Filter * -Properties Description,Enabled,MemberOf,CanonicalName | % {
$computer = $_.Name #name of computer
$desc = $_.Description #description field associated with computer
$DistinguishedName = Clean-OU -OriginalOU $_.CanonicalName -Computer $computer #FQDN/RootOU/PROD/WIN7/64bit/LT/PF-123456
# is PC in the SpecialGroup security group?
If ($_.memberof -match "SpecialGroup"){[string]$memberOf = "SpecialGroup"}else{$memberOf = "N/A"}
If ($desc){#if Desc = true
If (($desc.StartsWith("AEHT")) -or ($desc.StartsWith("VF-")) -or ($desc.StartsWith("Disabeled:"))) {
$descArr = $desc.Split(":").Trim()
$descWho = $descArr[0]
$description = $descArr[1]
$dwTemp = $descArr[2]
If ($dwTemp -match "\[IT Support\]"){$dwPrefix = "IT Support"}
elseif($dwTemp -match "\[App Dev\]"){$dwPrefix = "App Dev"}
elseIf($dwTemp -match "\[Business\]"){$dwPrefix = "Business"}
$dwTemp = $dwTemp -replace "\[IT Support\]" -replace "\[App Dev\]" -replace"\[Business\]"
$descWhen = "$dwPrefix - $dwTemp"
Write-Host $Computer -NoNewline
#Write-Host - $memberOf -NoNewline
#Write-Host - $enabled -NoNewline
Write-Host - $descWho -NoNewline
Write-Host - $description -NoNewline
Write-Host - $descWhen -NoNewline
Write-Host
$Record = @{"Computer" = $Computer}
$record.add("DescByWho",$descWho)
$record.add("Description",$description)
$record.add("DescWhen",$descWhen)
$record.add("OU",$DistinguishedName)
$record.add("MemberOf",$memberof)
#modify
New-Object PSObject -Property $record
if($descWho -like "a*"){ #use if statement to filter the $descwho begin with "a" character
$output1+=New-Object PSObject -Property $record}
else{
$output2+=New-Object PSObject -Property $record}
$output1|Sort-Object -Property DescByWho | Select Computer, DescByWho, Description, DescWhen, MemberOf, OU|export-csv -path $path1 -NoTypeInformation
$output2|Sort-Object -Property DescByWho | Select Computer, DescByWho, Description, DescWhen, MemberOf, OU|export-csv -path $path2 -NoTypeInformation
Best Regards,
Anna Wang -
Issue with spooling data to csv file
Hi,
I am trying to spool a table data to csv file using spool command in command prompt. and its spooling around thousand records.
I am able to see all the thousnad records on dos prompt while spooling happening.
Instwead of that, is there any other way that will stop printing output on dosprompt rather it will spool directly to csv file?
Please help me...
Thanks,
Ravi.user10403630 wrote:
Thanks for all your suggestions...
I have tried a sample script which does have only set termout off and its working fine...
but my script is having some thing like below
SET ESCAPE ON
SET SERVEROUTPUT ON
SET ECHO OFF
SET HEADING ON
SET COLSEP ','
SET FEEDBACK OFF
SET PAGESIZE 0
SET LINESIZE 5000
SET TRIMSPOOL OFF
SET TERMOUT OFF
This is not working...
I believe something is trying to overwrite the functionalilty of set termout off in this case
Please help me,....So go to the SQL*Plus reference manual and read up on each of the SET options you listed above . . . -
Problem in converting table data into CSV file
Hi All,
In my Process i need to convert my error table data into csv file,my data is converted as csv file by using OdisqlUnload function,but the column headers are not converted,i use another procedure for converting column headers but iam getting below error ...
com.sunopsis.sql.SnpsMissingParametersException: Missing parameter string.find, string.find
SQL: import string import java.sql as sql import java.lang as lang import re sourceConnection = odiRef.getJDBCConnection("SRC") output_write=open('C:/Oracle/Middleware/Oracle_ODI2/oracledi/pro/PRO.txt','r+') myStmt = sourceConnection.createStatement() my_query = "select * FROM E$_LOCAL_F0911Z1" my_query=my_query.upper() if string.find(my_query, '*') > 0: myRs = myStmt.executeQuery(my_query) md=myRs.getMetaData() collect=[] i=1 while (i <= md.getColumnCount()): collect.append(md.getColumnName(i)) i += 1 header=','.join(map(string.strip, collect)) elif string.find(my_query,'||') > 0: header = my_query[7:string.find(my_query, 'FROM')].replace("||','||",',') else: header = my_query[7:string.find(my_query, 'FROM')] print header old=output_write.read() output_write.seek(0) output_write.write (header+'\n'+old) sourceConnection.close() output_write.close()
And i used below code for converting.......
import string
import java.sql as sql
import java.lang as lang
import re
sourceConnection = odiRef.getJDBCConnection("SRC")
output_write=open('C:/Oracle/Middleware/Oracle_ODI2/oracledi/pro/PRO.txt','r+')
myStmt = sourceConnection.createStatement()
my_query = "select FROM E$_COMPANY"*
*my_query=my_query.upper()*
*if string.find(my_query, '*') > 0:*
*myRs = myStmt.executeQuery(my_query)*
*md=myRs.getMetaData()*
*collect=[]*
*i=1*
*while (i <= md.getColumnCount()):*
*collect.append(md.getColumnName(i))*
*i += 1*
*header=','.join(map(string.strip, collect))*
*elif string.find(my_query,'||') > 0:*
*header = my_query[7:string.find(my_query, 'FROM')].replace("||','||",',')*
*else:*
*header = my_query[7:string.find(my_query, 'FROM')]*
*print header*
*old=output_write.read()*
*output_write.seek(0)*
*output_write.write (header+'\n'+old)*
*sourceConnection.close()*
*output_write.close()*
Any one can you help regarding this
Edited by: 30021986 on Oct 1, 2012 6:04 PMThis may not be an option for you but in pinch you may want to consider outputing your data to an MS Spreadsheet, then saving it as a CSV. It's somewhat of a cumbersome process, but it will get you by for now.
You will need to change your content type to application/vnd.ms-excel.
<% response.setContentType("application/vnd.ms-excel"); %> -
Report Total Wrapping/Missing Data in CSV FIle
PROBLEM:
We have an application were the totals in the report region will wrap when the total is negative and formatted with a negative sign preceding the number (e.g. -43,567.99). The wrapping results in users being confused to wether or not a value is negative or positive. We want all non-numeric columns to wrap so that the user does not have to scroll horizontally.
SOLUTIONS TRIED
1. Set the CCS Style attribute of a column to white-space:nowrap.
The value of CCS Style is inserted into span tags associated with a column value which in turn elliminates the wrapping in the detailed area of the report. However, I have no found a way to insert this type of span tag to the Total of a report region.
2. Modifying the format mask to present negative numbers in brackets (e.g. <43,567.99>).
This solves the wrapping issue . . . however results in a problem when outputting the report to a CSV file. When outputting to a CSV file the negative number that have been formatted using bracket are not included in the output. I believe that it interprets them as html tags <> and therefore eliminates them from the output.
3. Create duplicate amount columns in the report and apply a number format that places a negative sign in front of negative numbers and make this column display conditionally for CSV output only Then change the original column format mask to use brackets. Although this will work it seem a bit clunky, results in unnecessary pull of excess data and will require a lot of re-work/re-testing of our system.
REQUEST
Does anyone have any ideas on how I might either:
1. Add white-space:nowrap to the totals of the report region
2. Overcome the exclusion of negative numbers containing brackets from the CSV output.
3. HAve another approach to resolving this wrapping issue.
Thanks,
DavidAccording to this article http://www.cs.tut.fi/~jkorpela/html/nobr.html this is a known wrapping issue with Internet Explorer. Wrapping will occure when the following characters exists -()[]{}«»%°·\/!?. The author of the article suggest that the only way around this issue is too place -a or use white-space:nowrap in a [td] or [tr] tag.
This would suugest that I need to find a way to add html to the total column in the htmldb report . . . which I don't believe I can do . . . Does anyone know of a way to insert html into these total columns similiar to how we can be done using the CCS Style or HTML Expression attributes.
Thanks,
David. -
Unable to Load CSV file with comma inside the column(Sql Server 2008)
Hi,
I am not able load an CSV file with Comma inside a column.
Here is sample File:(First row contain the column names)
_id,qp,c
"1","[ ""0"", ""0"", ""0"" ]","helloworld"
"1","[ ""0"", ""0"", ""0"" ]","helloworld"
When i specify the Text Qualifier as "(Double quotes) it work in SQL Server 2012, where as fail in the SQL Server 2008, complaining with error:
TITLE: Microsoft Visual Studio
The preview sample contains embedded text qualifiers ("). The flat file parser does not support embedding text qualifiers in data. Parsing columns that contain data with text qualifiers will fail at run time.
BUTTONS:
OK
I need to do this in sql server 2008 R2 with Service pack 2, my build version is 10.50.1600.1.
Can someone let me know it is possible in do the same way it is handle in SQL Server 2012?
Or
It got resolved in any successive Cumulative update after 10.50.1600.1?
Regards HarshHello,
If you have CSV with double quotes inside double quotes and with SSIS 2008, I suggest:
in your data flow you use a script transformation component as Source, then define the ouput columns id signed int, Gp unicode string and C unicode string. e.g. Ouput 0 output colmuns
Id - four-byte signed
gp - unicode string
cc - unicode string
Do not use a flat file connection, but use a user variable in which you store the name of the flat file (this could be inside a for each file loop).
The user variable is supplied as a a readonly variable argument to the script component in your dataflow.
In the script component inMain.CreateNewOutputRows use a System.IO.Streamreader with the user variable name to read the file and use the outputbuffer addrow method to add each line to the output of the script component.
Between the ReadLine instraction and the addrow instruction you have to add your code to extract the 3 column values.
public override void CreateNewOutputRows()
Add rows by calling the AddRow method on the member variable named "<Output Name>Buffer".
For example, call MyOutputBuffer.AddRow() if your output was named "MyOutput".
string line;
System.IO.StreamReader file = new System.IO.StreamReader( Variables.CsvFilename);
while ((line = file.ReadLine()) != null)
System.Windows.Forms.MessageBox.Show(line);
if (line.StartsWith("_id,qp,c") != true) //skip header line
Output0Buffer.AddRow();
string[] mydata = Yourlineconversionher(line);
Output0Buffer.Id = Convert.ToInt32(mydata[0]);
Output0Buffer.gp = mydata[1];
Output0Buffer.cc = mydata[2];
file.Close();
Jan D'Hondt - SQL server BI development -
How to upload .csv file with tab as delimiter.
HI,
I want to upload a .csv file with tab as delimiter to unix path in background.
I know there is function module 'GUI_UPLOAD', but in my case data is available in an internal table .
upload the *.CSV :
OPEN DATASET lv_filename
FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc = 0.
* Write file records into file on application server
LOOP AT gt_datatab INTO gs_datatab.
TRANSFER gs_datatab TO lv_filename.
ENDLOOP.
CLOSE DATASET lv_filename.Bhanu,
Define a local variable of type CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
LV_TAB TYPE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB
LOOP AT GT_DATATAB INTO GS_DATATAB.
CONCATENATE GS_DATATAB-FIELD1
GS_DATATAB-FIELD2
GS_DATATAB-FIELDN
INTO LV_STRING SEPARATED BY LV_TAB.
TRANSFER LV_STRING TO lv_filename.
ENDLOOP.
Thanks,
Vikram.M -
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> -
Is there a way to open CSV files with more than 255 columns?
I have a CSV file with more than 255 columns of data. It's a fairly standard export of social media data that shows volume of posts by day for the past year, from which I can analyze the data and publish customized charts. Very easy in Excel but I'm hitting the Numbers limit of 255 columns per table. Is there a way to work around the limitation? Perhaps splitting the CSV in two? The data shows up in the CSV file when I open via TextEdit, so it's there. Just can't access it in Numbers. And it's not very usable/useful for me in TextEdit.
Regards,
TimYou might be better off with Excel. Even if you could find a way to easily split the CSV file into two tables, it would be two tables when you want only one. You said you want to make charts from this data. While a series on a chart can be constructed from data in two different tables, to do so takes a few extra steps for each series on the chart.
For a test to see if you want to proceed, make two small tables with data spanning the tables and make a chart from that data. Make the chart the normal way using the data in the first table then repeat the following steps for each series
Select the series in the chart
Go to Format sidebar
Click in the "Value" box
Add a comma then select the data for this series from the second chart
Press Return
If there is an easier way to do this, maybe someone else will chime in with that info. -
I also have a .csv file with the name of a jpeg in one column and a text description of each jpeg in a second column. Is there a way to automatically insert one jpeg (photo) and its corresponding text, each pair on one page, into a Indesign document?
I would also recommend to write the description into the meta data. This would allow to place a text frame above the image and it is possible to add meta information and file name automatically together with the image, when you place it or even in a prepared template.
Meta data information can be written easily in Bridge in the Meta File Workspace. -
Loading data from .csv file into existing table
Hi,
I have taken a look at several threads which talk about loading data from .csv file into existing /new table. Also checked out Vikas's application regarding the same. I am trying to explain my requirement with an example.
I have a .csv file and I want the data to be loaded into an existing table. The timesheet table columns are -
timesheet_entry_id,time_worked,timesheet_date,project_key .
The csv columns are :
project,utilization,project_key,timesheet_category,employee,timesheet_date , hours_worked etc.
What I needed to know is that before the csv data is loaded into the timesheet table is there any way of validating the project key ( which is the primary key of the projects table) with the projects table . I need to perform similar validations with other columns like customer_id from customers table. Basically the loading should be done after validating if the data exists in the parent table. Has anyone done this kind of loading through the APEX utility-data load.Or is there another method of accomplishing the same.
Does Vikas's application do what the utility does ( i am assuming that the code being from 2005 the utility was not incorporated in APEX at that time). Any helpful advise is greatly appreciated.
Thanks,
AnjaliHi Anjali,
Take a look at these threads which might outline different ways to do it -
File Browse, File Upload
Loading CSV file using external table
Loading a CSV file into a table
you can create hidden items in the page to validate previous records before insert data.
Hope this helps,
M Tajuddin
http://tajuddin.whitepagesbd.com -
How to load the data from .csv file to oracle table???
Hi,
I am using oracle 10g , plsql developer. Can anyone help me in how to load the data from .csv file to oracle table. The table is already created with the required columns. The .csv file is having about 10lakh records. Is it possible to load 10lakh records. can any one please tell me how to proceed.
Thanks in advance981145 wrote:
Can you tell more about sql * loader??? how to know that utility is available for me or not??? I am using oracle 10g database and plsql developer???SQL*Loader is part of the Oracle client. If you have a developer installation you should normally have it on your client.
the command is
sqlldrType it and see if you have it installed.
Have a look also at the FAQ link posted by Marwin.
There are plenty of examples also on the web.
Regards.
Al -
How to output data to a file in SCC-SG04?
I am using SCC-2345 with SCC-SG04 connected to NI-6221 in Windows 2000 in VC6.
How to output data to a file like data1.dat in VC6 or in Labwindows/CVI?Hello mwibm,
If you just want to do file input/output in LabWindows/CVI, I would take a look at the Formatting and I/O CVI library or the ANSI File I/O functions. For example, if you just want to write an array of data to a file, I would look at the ArrayToFile function or the fwrite/fputs/fprintf ANSI C functions included in stdio.h. The ANSI C functions will also work in Visual Studio. More information on the LabWindows/CVI File I/O functions can be found in CVI help, and more information on ANSI C functions can be found in CVI Help and online at various websites.
Maybe you could further clarify what problems you are having and what kind of data you want to write to a file.
Thanks.
Wendy L
LabWindows/CVI Developer Newsletter - ni.com/cvinews
Maybe you are looking for
-
I have been lucky to install the new iLife '11, but after I have installed it for about a few weeks, it can't open. It happened to me when I tried to open it pops up a notice like this: In order to open iPhoto, you need to update to the latest versio
-
IDOC_INPUT_GLMAST - GLMAST
Hello All, For Message typ GLMAST, for inbound delivery i use the standard Function Module IDOC_INPUT_GLMAST. I need to delete few segements and i dont see an EXIST which will help me do so. Please lte me know your suggestions on this. 1. I cannot de
-
I reinstalled my Adobe Acrobat 6.0 Professional only to get the message "Your version of Acrobat Professional/Standard 6 isn't compatible with this version of Windows" when I tried to run the program. I am using Windows 8.1 on a Dell laptop PC. How
-
Video streaming possibilities?
Dear Video pros I am trying to figure out what options I have to stream content from my server. flv content that is. The main effect is something like the brightcove player where you can hit a full sccreen button in the middle of a movie and the full
-
I had Acrobat Standard 6.0 on my computer (Windows XP Pro) that came with a copier purchased by a small company I'm in. I recently installed Acrobat Pro 8.0 that a company member purchased. He installed it. I installed it. Our secretary installed it.