1. Create email variable at data section
DATA: L_SMTP_ADDR type adr6-SMTP_ADDR.
2. Get username from ADR6 and USR21 tables
select ADR6~SMTP_ADDR INTO L_SMTP_ADDR FROM
USR21 LEFT OUTER JOIN ADR6 On
USR21~addrnumber = ADR6~addrnumber
and USR21~persnumber = ADR6~persnumber
WHERE USR21~BNAME = sy-uname.
ENDSELECT.
Tuesday, November 27, 2018
Monday, November 26, 2018
SSIS SQL Server Integration Services - execute query based on flat file csv datasource
SSIS SQL Server Integration Services - execute oracle query based on flat file csv datasource
1. Create variable to store file path
f.e.
FilePath with value C:\file.txt
File.txt will be ";" separeted flat file. I will use second column of file with material numbers.
2. Create variable to store query you wish to execute
f.e Query which will later be referenced as User::Query
3. Create script task to read file contents and prepare query
4. Create Execute SQL Task to run query created inside previous script task, using variable User::Query
// Script
public void Main()
{
// TODO: Add your code here
//get file path
string FilePath = Dts.Variables["User::FilePath"].Value.ToString();
string temp;
string email = "przemyslaw.wawrzyczek@valeo.com";
string content = "";
int i = 0;
bool contentExists = false ;
// Open file reader
StreamReader sr = new StreamReader(FilePath);
// Loop while end of file, read line
while ((temp = sr.ReadLine()) != null)
{
// Split into columns
string[] columns = temp.Split(';');
// Skip header
if (i > 0)
{
//Get distinct values
if (!content.Contains(columns[1]))
{
// add value
content += "'" + columns[1] + "',";
email = columns[12].ToString();
contentExists = true;
}
}
else
{
// open bracket
content = "(";
}
i++;
}
//remove last coma
content = content.TrimEnd(',');
//close bracket
content += ")";
if (contentExists)
{
// create query and pass it into ssis variable
Dts.Variables["User::Query"].Value = "BEGIN DELETE FROM TABLE WHERE material_number in " + content + "; COMMIT; END;";
Dts.Variables["User::Email"].Value = email;
content = content.Replace("'", "");
Dts.Variables["User::EmailSubject"].Value += " " + content;
Dts.TaskResult = (int)ScriptResults.Success;
}
else
{
Dts.Variables["User::Query"].Value = "";
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
Power Shell: Remove files, subfolders older than X days
Power Shell: Remove files, subfolders older than X days
1. Power shell script to remove files and subfolders older than 30 days from directory "E:\directory\
Get-ChildItem -path "E:\directory\" -recurse | where-object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | Remove-Item -Recurse -Force
2. Schedule script: E:\RemoveFiles.ps1
Action: Start a program
Program: PowerShell.exe
Add arguments (optiona): -ExecutionPolicy Bypass E:\RemoveFiles.ps1
ORACLE RMAN: Delete archivelogs older than X hours batch
ORACLE RMAN: Delete archive logs older than X hours
Oracle, RMAN
1. Create .bat script to start rman script
rman @C:\RMAN_delete.rman
2. Create rman script at location from previous script. Script is deleting archive logs older than hours without prompting.
CONNECT TARGET SYS/SysPassword
RUN
{
DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'sysdate-12/24';
}
EXIT;
SAP PU: Delete purchase requisition
SAP PU: Delete purchase requisition
SAP PU ME52
Single requisition
1. Go into ME52
2. Select item and press delete
3. Check deletion at transaction MD04 or SE16N (table: EBAN, deletion indicator not equal to 'X' expample below)
Tuesday, November 20, 2018
SSIS SQL Server Integration Services - convert string to number, replace special characters
SSIS SQL Server Integration Services - convert string to number, replace special characters
Type conversion
- Use data conversion component
- Select desired type from data conversion component
Replace special characters
1. Use delivered column component
2. Use formula expression to replace special charaters f.e REPLACE( [Target qty] , "-","0" ) replaces "-" with 0
SSIS SQL Server Integration Services - limit number of rows
SSIS SQL Server Integration Services - limit number of rows
SSIS Microsoft Sql server
1. Use Row Sampling component from toolbox
2. Double click at Row Sampling component to set number of rows
4. Set Sampling unselected output to redirect all rows available
Subscribe to:
Posts (Atom)
Problem with database open ORA-19804, ORA-19809, ORA-03113
1. Try to login to database with SYS AS SYSDBA user. If the instance is idle, run the startup command. 2. If ORA-03113 occured, check the la...
-
To assign access rights manually (to both users and groups) use secpol.msc → Local Policies → User Rights Assignment → Log on as batch job....
-
ORACLE: Microsoft Access x64 connect to x86 oracle data source (workaround) Microsoft Access, Oracle 1. Install oracle drivers 2. F...
-
SAP/ABAP: Connection to external database SAP, ORACLE, ABAP 1. Transaction code: ST04 - Add connection 2. Press “Add DB Entry”...













