Subject Selection
I have tried extracting a portion of a photo using a variety of methods, e.g. mag lasso, magic wand, and others but simply cannot get any kind of accurately defined edges. For the most part, just about all my edges look like I've chopped out the subject using a meat clever.
For example, I've taken fairly close up pictures of flowers, however behind the flowers are the background lawns, or houses or something that distracts from the flower. So I've tried to extract the flower, stem, and leaves using the mag lasso, picture select, and magic wand. The result is almost always chopped up subjects and/or critical missing portions.
Same goes for animals and people. There is inevitably something missing, e.g. our shaggy dog always gets an unwanted "haircut" in PSE6.
What am I doing wrong and how can I fix this, for that matter is there a fix?
PS, I would be happy to email or attach some of my sample pictures if that would help with tips/advice.
Thanks,
Ken
Ken W.,
http://www.pixentral.com/show.php?picture=12Xvt0LOdpQUptihQ4DJ3seTM6mfkY1
I spent a few minutes on this picture.
1. I duplicated the background layer, worked on the background copy layer, then shut off the visibility of the background layer
2. I got rid of the black with the magic wand tool. My usual setting is Tolerance=32, and in this case I unchecked contiguous, as I wanted to fetch all the black
3. I eliminated the grass with the magnetic lasso tool set at Feather=1px, width=3px, edge contrast=3%, frequency=57. I eliminated each segment of grass separately & sequentially, then got rid of the marching ants by Select>deselect. I worked under magnification.
4. I inserted a blank layer between the background and background copy layers, filled it with white for contrast in this exercise, not for aesthetics.
5. As you will see, I applied the smudge tool to the leaf at the upper left, but I don't like the result, but it gives you an idea about the use of the other tools available for refinements.
I like to use the magnetic lasso tool. Other people like to use a mask for detailed selections, as one can toggle between black/white to hide/show in making the selection. The magnetic lasso tool is a bit tricky to use. I place my wrist down firmly, and move the mouse with fingers. One can lay down additional selection points with a left mouse click, and one can back-track and remove a fixation point by hitting the delete key. When one works near an edge of the picture at the interface with the work space, there may be a sudden jump of the picture. One can avoid this annoyance by moving the picture away from the edge of the work space with the hand tool.
HTH,
Ken L.
Similar Messages
-
Submit Button Automated Email subject selection
Hi
I've generated a new form and added a submit button, I've managed to bumble my way through adding the mailto: javascript but it would be very benaficial if I could define the subject feild from on of the form text boxes.
Is this possible?
Thanks in advance
JamesThis is currently outside the scope of the Formscentral product. If you want this type of functionality I suggest you switch to a Formscentral based submission workflow instead of an email submission based one.
Andrew Yarborough -
Using selection to hide a mask in CS6
Hello
I wish to apply a grunge effect to portraits but for it not to show on the subject, just the background. I have done this by applying the grunge effect then creating a mask and then using the brush tool to paint away the effect from the subject carefully so as not to spill over into the background. It works fine but is time consuming.
I would like to apply the grunge effect using a selection instead whereby I select the subject and apply the effect. Because the subject has a selection arouind it, I can use the brush tool without straying outside the selection. I would like ti know how to do this, using perhaps the Quick Mask. I hope you can help. Thank you.
Kind Regards
Farrukh HyderWith your effect on a seperate layer having a blank (white) mask, load your subject selection, go to the effect mask, and fill with black.
-
How to find resource mailbox property "Add the organizer name to the subject" in Exchange 2013
Use the Resource Information tab to specify the meeting information that appears in the resource's calendar:
Delete attachments Select this check box to remove attachments from all incoming requests.
Delete comments Select this check box to remove comments from all incoming requests.
Delete the subject Select this check box to remove the subject of all incoming requests.
Delete non-calendar items Select this check box to remove non-calendar items from all incoming requests.
Add the organizer's name to the subject Select this check box to specify whether the resource requestor's name is added to the subject of the request.
Remove the private flag on an accepted meeting Select this check box to remove the private flag for all incoming requests.
Send organizer information when a meeting request is declined because of conflicts Select this check box to send the meeting organizer information regarding
a denied request.
Customize the response message that organizers will receive Select the Add additional text check box to customize the message that
the requester receives when the meeting has been declined, and then type the additional information in the Additional text field.
Mark pending requests as Tentative on the calendar Select this checkbox to specify that all pending requests are marked as Tentative in the resource's calendar.
The delegate can then accept or deny the request as needed.
This is how these settings can be found in exchange server 2010(highlighted) but I am unable to find a similar setting in the admin center of Exchange 2013. I know this can be done through shell commands but I want to know where I can find the same UI setting
in 2013.
Any help is much appreciated.Those settings are not exposed in the EAC or the Resource settings in OWA, afaik. Just use the shell.
-
Re: Select statement fails under Express, but works underForte when usi
Hi there,
I have logged this with Forte and it as been recognized as a bug ( #46554 ).
The Express methods you need to look at if you want to modify this behavior
are :
1 - BusinessQuery.BuildQuery() starting at line 217
2 - SqlQuery.GetWhereText() starting at line 60
We have gotten around the problem by modifying what Express generates by
changing it from ( col1, col2 ) in ( select col1, col2 ... ) to ( col1 +
col2 ) in ( select col1 + col2 ... )
Just one thing i'm not sure that the '+' is standard on every DBMS for
concatenation.
We are using SQL Server 6.5
Hope this helps.
Christian Boult ([email protected])
Programmeur - Analyste
Influatec inc.
-----Original Message-----
From: Metcalf, Roger <[email protected]>
To: '[email protected]' <[email protected]>
Date: Thursday, May 06, 1999 1:55 PM
Subject: Select statement fails under Express, but works under Forte when
using DB2
Express sometimes (e.g. with nested windows) generates SQL with a select
subquery, e.g.
select x1, x2 from t1 where (x1,x2) in (select x1,x2 from t2.....)
This fails on DB2 with a message that the comma in the where clause (x1,x2)
is not allowed.
This works on Oracle.
Does anyone have a workaround or other suggestion?
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>joe.meszaros wrote:
(SELECT ? AS Id, ? AS UserBytes FROM dual)I suggest that you test to see if that statement and ONLY that statement works at all.
There are rules for bind variables and that statement certainly looks suspicious.
If you can't get that to work then the rest of the attempt is pointless. -
Re: Select statement fails under Express, but works underForte whenusin
Roger,
This was a bug with Express and was fixed in Express E.2.0.L.0.
You might be able to get more details on Forte's website.
Ajith Kallambella M
From: "Metcalf, Roger" <[email protected]>
Reply-To: "Metcalf, Roger" <[email protected]>
To: "'[email protected]'" <[email protected]>
Subject: Select statement fails under Express, but works under Forte
whenusing DB2
Date: Thu, 6 May 1999 11:55:19 -0400
Express sometimes (e.g. with nested windows) generates SQL with a select
subquery, e.g.
select x1, x2 from t1 where (x1,x2) in (select x1,x2 from t2.....)
This fails on DB2 with a message that the comma in the where clause (x1,x2)
is not allowed.
This works on Oracle.
Does anyone have a workaround or other suggestion?
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>_______________________________________________________________
Get Free Email and Do More On The Web. Visit http://www.msn.com
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>joe.meszaros wrote:
(SELECT ? AS Id, ? AS UserBytes FROM dual)I suggest that you test to see if that statement and ONLY that statement works at all.
There are rules for bind variables and that statement certainly looks suspicious.
If you can't get that to work then the rest of the attempt is pointless. -
We have just begun using SELECT ENTERPRISE to perform OO
modeling in conjuction with Forte development . We have not yet
reach the point of code generation but have heard through the
grapevine that there are problems with SELECT/FORTE in the original
generation of code and in the reverse engineering of tool code.
Would/Could anyone enlighten me with known problems ??
Karl Perna
[email protected]Karl
We have been using SELECT and the Forté generator to aid our
development.
To be honest it has not proven very successful SELECT itself is fine and
a great aid to the development ( Enterprise 5.1) but the generator does
cause problems under certain conditions.
1. Configuration of the templates in SELECT is a must - you have to
enable the users generating the code access to most of the Forte
settings. E.g.. Without this when classes are renamed the generator will
create classes with the old name etc.
2. There is a bug in Forté apparently that only seems to be caused when
we generate classes from SELECT. The project that contains the classes
generated cannot be exported ( Ftexec error - GPF ).
3. We are using a Third party framework and all our business classes
inherit from a framework class which is fine until you try
roundtripping. The classes generated are changed in Forte to inherit
from the framework class. This causes the class to be reverse engineered
into SELECT and then generated as a forward declaration when the code is
again generated into Forte. Any new classes that are forward generated
subsequently cannot inherit from the framework class as Forte will not
allow inheritance from forward declared classes.
This last problem is overcome by the use of categories/packages in the
next version of SELECT - when SELECT will be able to generate true Pex
files and know about the relationship between categories thus removing
the need for forward declarations. We have just received the new beta
version of SELECT and the generator.
From: Karl Perna[SMTP:[email protected]]
Sent: 27 March 1997 23:02
To: 'ForteUsersML'
Subject: Select - Forte
We have just begun using SELECT ENTERPRISE to perform OO
modeling in conjuction with Forte development . We have not yet
reach the point of code generation but have heard through the
grapevine that there are problems with SELECT/FORTE in the original
generation of code and in the reverse engineering of tool code.
Would/Could anyone enlighten me with known problems ??
Karl Perna
[email protected] -
Loading multiple dependent select lists
What is the best way to load select lists that are dependent on the previous one?
ex.
Select School
based on school you select the subjects
select subject
based on subject you select the courses,
etc
I'm trying to stay away from as much javascript as possible.
thanks for the help!
MichaelYou can use javascript, or resubmit the page and laod the dependant select list based on what was selected.
-
I am using Illustrator CS5 on Windows XP.
I have a layer containing type of various font sizes.
Is there a way to select type of a particular font size?
Is there a script that I can use to achieve this.
I have searched through the forum and have seen that this has been requested before, but have not found a solution.
ThanksHi Wade,
Thanks for your response.
I have checked out the scripts and they are just what I needed
Cheers
Eddie Frankel | Technical Officer, GeoScience Victoria
Department of Primary Industries | GPO Box 4440 Melbourne VIC 3001
' . +61 3 9658 4539 | f. +61 3 9658 4555 | 8 .
[email protected]
www.dpi.vic.gov.au/earth-resources
Wade_Zimmerman <[email protected]>
07/08/2010 02:18 AM
Please respond to
[email protected]
To
eddie frankel <[email protected]>
cc
Subject
select font of same size
That looks promising have you tried it?
I realize my last post was a bit incoherent but I meant to say was that I
have seen plug ins that do this for other programs.
It is not presently available in AI although this script does look like
it might do what you want. -
Selected images disappearing from compiled CHM
I've got a project that I'm trying to get compiled into a CHM file from RoboHTML 8. Everything seems to have gone fine, except that four of the images I added to the project prior to compilation don't show up in the CHM. They seem to be fine when viewed from RoboHelp, they're where they're supposed to be, and the source code of the compiled CHM refrences them correctly. And yet... they don't actually show up! I have tried renaming them, and reimporting them into the project, but these tricks didn't work. I'm hoping someone out there has some suggestions!
I've had this happen a few times.
I deleted the image from the topic and then inserted it again from the
RoboHelp project files (from the "Images in Project Folders" section on
the left side - not from the open folder icon).
This solved the problem for me; hope it helps you as well.
Debbie
Debbie Sarig | Documentation Manager | Magic Software Enterprises Ltd
Tel.03-538-9386 | Fax. 03-538-9333
Email. [email protected] | www.magicsoftware.com
(Embedded image moved to file: pic19072.jpg)Magic Software Logo
DISCLAIMER. Information in this message and its attachments may be
privileged or confidential. It is for the exclusive use of the intended
recipient(s). If you are not one of the intended recipients, you are hereby
informed that any use, disclosure, distribution, and/or copying of this
information is strictly prohibited. If you receive this message in error,
please notify the sender immediately and delete all copies of this message.
We recommend that you scan your incoming Emails. We cannot accept
responsibility for any transmitted viruses.
From: elemonated <[email protected]>
To: Debbie Sarig <[email protected]>
Date: 06/17/2009 05:56 PM
Subject: Selected images disappearing from compiled CHM
I've got a project that I'm trying to get compiled into a CHM file from
RoboHTML 8. Everything seems to have gone fine, except that four of the
images I added to the project prior to compilation don't show up in the
CHM. They seem to be fine when viewed from RoboHelp, they're where they're
supposed to be, and the source code of the compiled CHM refrences them
correctly. And yet... they don't actually show up! I have tried renaming
them, and reimporting them into the project, but these tricks didn't work.
I'm hoping someone out there has some suggestions! -
How can I automatically create a rectangular layer mask from an irregularly shaped selection?
I am trying to automatically crop images. The subject is on a white background and extends from the left edge of the image to the right. The top and bottom of the subject are within the frame. I need to crop a certain distance from the top and bottom of the subject and a predefined width that would be calculated from the height of the subject.
My current idea is to create a duplicate layer and run Threshold on it, which allows me to select the subject clearly. Once I have the subject selected I can use Image -> Crop to create the desired rectangle, but I can't figure out a way to create a mask from the irregularly selected subject. Does anyone know a way to take a selection and convert it to a rectangle? I hope this makes sense, I can try to explain better if not. Thanks.
--Chris// make selection rectangular;
// 2013, use it at your own risk;
#target photoshop
if (app.documents.length > 0) {
var myDocument = app.activeDocument;
try {
var theBounds = myDocument.selection.bounds;
var theArray = [[theBounds[0], theBounds[1]], [theBounds[2], theBounds[1]], [theBounds[2], theBounds[3]], [theBounds[0], theBounds[3]]];
myDocument.selection.select(theArray, SelectionType.REPLACE, 0, false);
catch (e) {} -
TSQL query to calculate Count / Sum grouping by date on a Pivot Table
Hi All
I need help to group the pivot table output to group by dates and sum/count the values. I have a table like shown below.
Date
Student
Subject
Hunt
Marks
18/02/2014
Sam
Maths
1
20
18/02/2014
Sam
Maths
1
10
18/02/2014
Sam
Maths
2
30
18/02/2014
Luke
Science
1
50
17/02/2014
Sam
Maths
2
50
17/02/2014
Luke
Science
2
60
16/02/2014
Luke
Science
2
20
16/02/2014
Luke
Science
3
20
I want to Group by dates and move the Hunt to columns calculating their counts and sum their marks too. Like given below.
I wrote a pivot query like below but If i group it with dates and calculate the total marks it throws aggregate errors.
Create Table Student_Log ([Date] datetime ,Student varchar (20), Subject varchar (20) ,Hunt int ,Marks int )
Go
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-18 15:00:00.000','Sam ','Maths','1','20')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-18 15:00:00.000','Sam ','Maths','1','10')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-18 15:00:00.000','Sam ','Maths','2','30')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-18 15:00:00.000','Luke','Science','1','50')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-17 15:00:00.000','Sam ','Maths','2','50')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-17 15:00:00.000','Luke','Science','2','60')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-16 15:00:00.000','Luke','Science','2','20')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-16 15:00:00.000','Luke','Science','3','20')
Go
select * from Student_Log
select [DATE] , [Student], [Subject] ,[1],[2],[3],[4],Total =([1]+[2]+[3]+[4])
from
( select [Date], [Student], [Subject],[Hunt],[Marks] from Student_Log
)x
pivot
count ( [Hunt]) for [Hunt]
in ([1],[2],[3],[4])
)p
order by [Date] desc
I have done this far only. More than this I need to enhance it with the Percentage of Hunts for each Student.
ie like below table.
On 18th Sam in Maths he had 2 rows on 1st hunt and 1 row on 2nd hunt. So On the Pivot table is it possible to represent it on percentage using the Total Attempts column.
Thanks a lot in advance.
Its runnung in SQL 2000 Server.Create Table Student_Log ([Date] datetime ,Student varchar (20), Subject varchar (20) ,Hunt int ,Marks int )
Go
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-18 15:00:00.000','Sam ','Maths','1','20')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-18 15:00:00.000','Sam ','Maths','1','10')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-18 15:00:00.000','Sam ','Maths','2','30')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-18 15:00:00.000','Luke','Science','1','50')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-17 15:00:00.000','Sam ','Maths','2','50')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-17 15:00:00.000','Luke','Science','2','60')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-16 15:00:00.000','Luke','Science','2','20')
INSERT INTO Student_Log ([Date],Student, [Subject],Hunt,Marks) VALUES('2014-02-16 15:00:00.000','Luke','Science','3','20')
Go
select * from Student_Log
;with mycte as
Select [Date], [Student], [Subject] ,
Count(CASE WHEN [Hunt]=1 Then Hunt End) as Hunt1,
Count(CASE WHEN [Hunt]=2 Then Hunt End) as Hunt2,
Count(CASE WHEN [Hunt]=3 Then Hunt End) as Hunt3,
Count(CASE WHEN [Hunt]=4 Then Hunt End) as Hunt4,
Count(CASE WHEN [Hunt]=1 Then Hunt End)
+Count(CASE WHEN [Hunt]=2 Then Hunt End)
+Count(CASE WHEN [Hunt]=3 Then Hunt End)+
+Count(CASE WHEN [Hunt]=4 Then Hunt End) as Total,
ISNULL(SUM(CASE WHEN [Hunt]=1 Then Marks End),0) as Mark1,
ISNULL(SUM(CASE WHEN [Hunt]=2 Then Marks End),0) as Mark2,
ISNULL(SUM(CASE WHEN [Hunt]=3 Then Marks End),0) as Mark3,
ISNULL(SUM(CASE WHEN [Hunt]=4 Then Marks End),0) as Mark4
from Student_Log
Group By [Date], [Student], [Subject]
Select [Date], [Student], [Subject]
, Cast(Hunt1*1./Total*100 as int) as [1]
, Cast(Hunt2*1./Total*100 as int) as [2]
,Cast(Hunt3*1./Total*100 as int) as [3]
,Cast(Hunt4*1./Total*100 as int) as [4]
,Total,Marks=( Mark1+Mark2+Mark3+Mark4)
from mycte
order by [Date] DESC, Student desc
drop table Student_Log -
Compare String in a table and insert the common values into a New table
Hi all,
Anyone has idea on how to compare a string value in a table.
I have a Students Table with Student_id and Student_Subject_list columns as below.
create table Students( Student_id number,
Student_Subject_list varchar2(2000)
INSERT INTO Students VALUES (1,'Math,Science,Arts,Music,Computers,Law,Business,Social,Language arts,History');
INSERT INTO Students VALUES (2,'Math,Law,Business,Social,Language arts,History,Biotechnology,communication');
INSERT INTO Students VALUES (3,'History,Spanish,French,Langage arts');
INSERT INTO Students VALUES (4,'History,Maths,Science,Chemistry,English,Reading');
INSERT INTO Students VALUES (5,'Math,Science,Arts,Music,Computer Programming,Language arts,History');
INSERT INTO Students VALUES (6,'Finance,Stocks');
output
Student_id Student_Subject_list
1 Math,Science,Arts,Music,Computers,Law,Business,Social,Language arts,History
2 Math,Law,Business,Social,Language arts,History,Biotechnology,communication
3 History,Spanish,French,Langage arts
4 History,Maths,Science,Chemistry,English,Reading
5 Math,Science,Arts,Music,Computer Programming,Language arts,History
6 Finance,Stocks
I need help or some suggestion in write a query which can compare each row string value of Student_Subject_list columns and insert the
common subjects into a new table(Matched_Subjects).The second table should have the below colums and data.
create table Matched_Subjects(Student_id number,
Matching_studesnt_id Number,
Matched_Student_Subject varchar2(2000)
INSERT INTO Matched_Subjects VALUES (1,2,'Math,Law,Business,Social,Language arts,History');
INSERT INTO Matched_Subjects VALUES (1,3,'History,Langage arts');
INSERT INTO Matched_Subjects VALUES (1,4,'History,Maths,Science');
INSERT INTO Matched_Subjects VALUES (1,5,'Math,Science,Arts,Music,Language arts,History');
INSERT INTO Matched_Subjects VALUES (2,3,'History,Langage arts');
INSERT INTO Matched_Subjects VALUES (2,4,'History,Maths');
INSERT INTO Matched_Subjects VALUES (2,5,'Math,Language arts,History');
INSERT INTO Matched_Subjects VALUES (3,4,'History');
INSERT INTO Matched_Subjects VALUES (3,5,'Language arts,History');
INSERT INTO Matched_Subjects VALUES (4,5,'Math,Science');
output:
Student_id Match_Student_id Matched_Student_Subject
1 2 Math,Law,Business,Social,Language arts,History
1 3 History,Langage arts
1 4 History,Maths,Science
1 5 Math,Science,Arts,Music,Language arts,History
2 3 History,Langage arts
2 4 History,Maths
2 5 Math,Language arts,History
3 4 History
3 5 Language arts,History
4 5 Math,Science
any help will be appreciated.
Thanks.
Edited by: user7988 on Sep 25, 2011 8:45 AMuser7988 wrote:
Is there an alternate approach to this without using xmlagg/xmlelement What Oracle version are you using? In 11.2 you can use LISTAGG:
insert
into Matched_Subjects
with t as (
select student_id,
column_value l,
regexp_substr(student_subject_list,'[^,]+',1,column_value) subject
from students,
table(
cast(
multiset(
select level
from dual
connect by level <= length(regexp_replace(student_subject_list || ',','[^,]'))
as sys.OdciNumberList
select t1.student_id,
t2.student_id,
listagg(t1.subject,',') within group(order by t1.l)
from t t1,
t t2
where t1.student_id < t2.student_id
and t1.subject = t2.subject
group by t1.student_id,
t2.student_id
STUDENT_ID MATCHING_STUDESNT_ID MATCHED_STUDENT_SUBJECT
1 2 Math,Law,Business,Social,Language arts,History
1 3 Language arts,History
1 4 Science,History
1 5 Math,Science,Arts,Music,Language arts,History
2 3 Language arts,History
2 4 History
2 5 Math,Language arts,History
3 4 History
3 5 History,Language arts
4 5 History,Science
10 rows selected.
SQL> Prior to 11.2 you can create your own string aggregation function STRAGG - there are plenty of example on this forum. Or use hierarchical query:
insert
into Matched_Subjects
with t1 as (
select student_id,
column_value l,
regexp_substr(student_subject_list,'[^,]+',1,column_value) subject
from students,
table(
cast(
multiset(
select level
from dual
connect by level <= length(regexp_replace(student_subject_list || ',','[^,]'))
as sys.OdciNumberList
t2 as (
select t1.student_id student_id1,
t2.student_id student_id2,
t1.subject,
row_number() over(partition by t1.student_id,t2.student_id order by t1.l) rn
from t1,
t1 t2
where t1.student_id < t2.student_id
and t1.subject = t2.subject
select student_id1,
student_id2,
ltrim(sys_connect_by_path(subject,','),',') MATCHED_STUDENT_SUBJECT
from t2
where connect_by_isleaf = 1
start with rn = 1
connect by student_id1 = prior student_id1
and student_id2 = prior student_id2
and rn = prior rn + 1
STUDENT_ID MATCHING_STUDESNT_ID MATCHED_STUDENT_SUBJECT
1 2 Math,Law,Business,Social,Language arts,History
1 3 Language arts,History
1 4 Science,History
1 5 Math,Science,Arts,Music,Language arts,History
2 3 Language arts,History
2 4 History
2 5 Math,Language arts,History
3 4 History
3 5 History,Language arts
4 5 History,Science
10 rows selected.SY. -
Sending ALV output in a mail in PDF format
Hi folks,
I have a requiremtnt. If i execute my ALV report in background, the output should be sent to the reciepient's mail in pdf format. i have used the function moudles CONVERT_ABAPSPOOLJOB_2_PDF and SO_DOCUMENT_SEND_API1. Now i am able to see my report output in spool in some pdf formt. how can i send this to the reciever mail as an attachement...pls send me any sample report which suits my reqirement...thanks in advance,
Ram.REPORT ZSAP_EMAIL MESSAGE-ID Z001.
*TABLES: rlgrap, btcxpm." zlookup.
DATA:
V_ZCODE(3) TYPE C,
*svrname LIKE zlookup-zdesc,
WA_ERROR(80) TYPE C,
GLOBAL_FILEMASK_ALL(80).
DATA: T_SOUD LIKE SOUD.
DATA: P_INFOLDER LIKE SOFDK.
DATA: P_OUTFOLDER LIKE SOFDK.
DATA: OBJECT_HD_DISPLAY LIKE SOOD2.
DATA: OBJECT_ID LIKE SOODK.
DATA: DOCUMENT LIKE SOOD4.
DATA: HEADER_DATA LIKE SOOD2.
DATA: LINK_FOLDER_ID LIKE SOODK.
DATA: FOLDER_SELECTIONS LIKE SOFDS.
DATA: FOLDER_LIST LIKE SOXLI OCCURS 0 WITH HEADER LINE.
DATA: RECEIVERS LIKE SOOS1 OCCURS 0 WITH HEADER LINE.
DATA: OBJCONT LIKE SOLI OCCURS 0 WITH HEADER LINE.
DATA: OBJHEAD LIKE SOLI OCCURS 0 WITH HEADER LINE.
DATA: OBJECT_CONTENT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
DATA: OBJECT_HD_CHANGE LIKE SOOD1.
DATA: BEGIN OF FILES OCCURS 0,
LINE(200) TYPE C,
END OF FILES.
DATA: LISTOBJECT LIKE ABAPLIST OCCURS 1 WITH HEADER LINE.
*Email to addresses
SELECTION-SCREEN: BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-BL1.
PARAMETERS: P_MAILTO(240) TYPE C.
*PARAMETERS:P_MAILTO TYPE SOLI-LINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN COMMENT 10(2) TEXT-001.
*Use zlookup-ztype as group to define multiple email to addresses
*SELECT-OPTIONS: s_mailto FOR zlookup-ztype.
SELECTION-SCREEN: END OF BLOCK BL1.
*Subject
SELECTION-SCREEN: BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-BL2.
PARAMETERS: P_SUBJ LIKE DOCUMENT-OBJDES.
SELECTION-SCREEN: END OF BLOCK BL2.
*Body
SELECTION-SCREEN: BEGIN OF BLOCK BL3 WITH FRAME TITLE TEXT-BL3.
PARAMETERS: P_BODY1 LIKE SOLISTI1-LINE LOWER CASE.
PARAMETERS: P_BODY2 LIKE SOLISTI1-LINE LOWER CASE.
PARAMETERS: P_BODY3 LIKE SOLISTI1-LINE LOWER CASE.
PARAMETERS: P_BODY4 LIKE SOLISTI1-LINE LOWER CASE.
PARAMETERS: P_BODY5 LIKE SOLISTI1-LINE LOWER CASE.
PARAMETERS: P_BODY6 LIKE SOLISTI1-LINE LOWER CASE.
SELECTION-SCREEN: END OF BLOCK BL3.
*Attachments
SELECTION-SCREEN: BEGIN OF BLOCK BL4 WITH FRAME TITLE TEXT-BL4.
PARAMETERS: P_FNAME1 LIKE FILES-LINE.
PARAMETERS: P_FNAME2 LIKE FILES-LINE.
PARAMETERS: P_FNAME3 LIKE FILES-LINE.
PARAMETERS: P_FNAME4 LIKE FILES-LINE.
PARAMETERS: P_FNAME5 LIKE FILES-LINE.
PARAMETERS: P_FNAME6 LIKE FILES-LINE.
SELECTION-SCREEN: END OF BLOCK BL4.
AT SELECTION-SCREEN.
PERFORM CHK_SELECTION.
IF NOT WA_ERROR IS INITIAL.
MESSAGE E001 WITH WA_ERROR.
ENDIF.
START-OF-SELECTION.
END-OF-SELECTION.
PERFORM SEND_EMAIL.
FORM chk_selection
FORM CHK_SELECTION.
CLEAR WA_ERROR.
*Loop only once ???
*If more checkings to be done.
*Think about it and if not clear.
*Let it sink in for a couple of minutes.
*Still doesn't make sence? Go home and sleep on it.
DO 1 TIMES.
*Check Email to
IF P_MAILTO IS INITIAL .
*AND s_mailto IS INITIAL.
WA_ERROR = 'Invalid or no EMAIL TO selection'.
EXIT.
ENDIF.
ENDDO.
ENDFORM. "chk_selection
*& Form send_email
*text
*--> p1 text
*<-- p2 text
FORM SEND_EMAIL.
PERFORM GET_FOLDER_INFO.
PERFORM FILL_BODY.
PERFORM INS_NEW_OBJECT.
PERFORM CRT_ATTACHMENTS.
PERFORM FILL_RECEIVERS_INFO.
PERFORM SND_EMAIL.
ENDFORM. " send_email
*--+--
*FORM Get_folder_info
FORM GET_FOLDER_INFO.
CLEAR T_SOUD.
*Small so should be quick.
SELECT * FROM SOUD
INTO T_SOUD
WHERE SAPNAM = SY-UNAME.
P_INFOLDER-FOLTP = 'FOL'.
P_INFOLDER-FOLYR = T_SOUD-INBYR. "inbox
P_INFOLDER-FOLNO = T_SOUD-INBNO.
P_OUTFOLDER-FOLTP = 'FOL'.
P_OUTFOLDER-FOLYR = T_SOUD-OUTYR. "outbox
P_OUTFOLDER-FOLNO = T_SOUD-OUTNO.
ENDSELECT.
ENDFORM. "get_folder_info
*FORM fill_body *
FORM FILL_BODY.
OBJECT_CONTENT-LINE = P_BODY1.
APPEND OBJECT_CONTENT.
OBJECT_CONTENT-LINE = P_BODY2.
APPEND OBJECT_CONTENT.
OBJECT_CONTENT-LINE = P_BODY3.
APPEND OBJECT_CONTENT.
OBJECT_CONTENT-LINE = P_BODY4.
APPEND OBJECT_CONTENT.
OBJECT_CONTENT-LINE = P_BODY5.
APPEND OBJECT_CONTENT.
OBJECT_CONTENT-LINE = P_BODY6.
APPEND OBJECT_CONTENT.
ENDFORM. "fill_body
*FORM ins_new_object *
FORM INS_NEW_OBJECT.
OBJECT_HD_CHANGE-OBJNAM = 'Notes'.
OBJECT_HD_CHANGE-OBJDES = P_SUBJ.
CALL FUNCTION 'SO_OBJECT_INSERT'
EXPORTING
FOLDER_ID = P_OUTFOLDER
OBJECT_HD_CHANGE = OBJECT_HD_CHANGE
OBJECT_TYPE = 'RAW'
OWNER = SY-UNAME
IMPORTING
OBJECT_HD_DISPLAY = OBJECT_HD_DISPLAY
OBJECT_ID = OBJECT_ID
TABLES
OBJCONT = OBJECT_CONTENT
OBJHEAD = OBJHEAD
EXCEPTIONS
ACTIVE_USER_NOT_EXIST = 1
COMMUNICATION_FAILURE = 2
COMPONENT_NOT_AVAILABLE = 3
DL_NAME_EXIST = 4
FOLDER_NOT_EXIST = 5
FOLDER_NO_AUTHORIZATION = 6
OBJECT_TYPE_NOT_EXIST = 7
OPERATION_NO_AUTHORIZATION = 8
OWNER_NOT_EXIST = 9
PARAMETER_ERROR = 10
SUBSTITUTE_NOT_ACTIVE = 11
SUBSTITUTE_NOT_DEFINED = 12
SYSTEM_FAILURE = 13
X_ERROR = 14
OTHERS = 15.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "ins_new_object
*FORM crt_attachments *
*--> P_SUBJ *
FORM CRT_ATTACHMENTS.
DOCUMENT-FOLTP = P_OUTFOLDER-FOLTP.
DOCUMENT-FOLYR = P_OUTFOLDER-FOLYR.
DOCUMENT-FOLNO = P_OUTFOLDER-FOLNO.
DOCUMENT-OBJTP = OBJECT_ID-OBJTP.
DOCUMENT-OBJYR = OBJECT_ID-OBJYR.
DOCUMENT-OBJNO = OBJECT_ID-OBJNO.
DOCUMENT-OBJNAM = 'Notes'.
DOCUMENT-OBJDES = P_SUBJ.
DOCUMENT-OKCODE = 'CHNG'.
DOCUMENT-FILE_EXT = 'TXT'.
LINK_FOLDER_ID = OBJECT_ID.
HEADER_DATA-OBJLA = 'EN'.
HEADER_DATA-OBJNAM = DOCUMENT-OBJNAM.
HEADER_DATA-OBJDES = DOCUMENT-OBJDES.
HEADER_DATA-OBJPRI = '5'.
HEADER_DATA-OBJSNS = 'O'.
HEADER_DATA-FILE_EXT = 'TXT'.
REFRESH FILES.
CLEAR FILES.
IF NOT P_FNAME1 IS INITIAL.
FILES-LINE = P_FNAME1.
APPEND FILES.
ENDIF.
IF NOT P_FNAME2 IS INITIAL.
FILES-LINE = P_FNAME2.
APPEND FILES.
ENDIF.
IF NOT P_FNAME3 IS INITIAL.
FILES-LINE = P_FNAME3.
APPEND FILES.
ENDIF.
IF NOT P_FNAME4 IS INITIAL.
FILES-LINE = P_FNAME4.
APPEND FILES.
ENDIF.
IF NOT P_FNAME5 IS INITIAL.
FILES-LINE = P_FNAME5.
APPEND FILES.
ENDIF.
IF NOT P_FNAME6 IS INITIAL.
FILES-LINE = P_FNAME6.
APPEND FILES.
ENDIF.
IF NOT FILES[] IS INITIAL.
CALL FUNCTION 'SO_DOCUMENT_REPOSITORY_MANAGER'
EXPORTING
METHOD = 'ATTCREATEFROMPC'
TABLES
FILES = FILES
CHANGING
DOCUMENT = DOCUMENT
HEADER_DATA = HEADER_DATA.
IF SY-SUBRC = 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. "crt_attachments
*FORM fill_receivers_info *
FORM FILL_RECEIVERS_INFO.
DATA: BEGIN OF RECLIST OCCURS 0,
REC LIKE RECEIVERS-RECEXTNAM,
END OF RECLIST.
*Build reclist
REFRESH RECLIST.
IF NOT P_MAILTO IS INITIAL.
RECLIST-REC = P_MAILTO.
APPEND RECLIST.
ENDIF.
*IF NOT s_mailto IS INITIAL.
*SELECT zdesc
*INTO reclist-rec
*FROM zlookup
*WHERE ztype IN s_mailto.
*APPEND reclist.
*ENDSELECT.
*ENDIF.
REFRESH RECEIVERS.
LOOP AT RECLIST.
FOLDER_SELECTIONS-FOLNAM = 'INBOX'.
CALL FUNCTION 'SO_FOLDER_LIST_READ'
EXPORTING
FOLDER_SELECTIONS = FOLDER_SELECTIONS
OWNER = SY-UNAME
REGION = 'P'
TABLES
FOLDER_LIST = FOLDER_LIST
EXCEPTIONS
COMPONENT_NOT_AVAILABLE = 1
OPERATION_NO_AUTHORIZATION = 2
OWNER_NOT_EXIST = 3
PARAMETER_ERROR = 4
X_ERROR = 5
OTHERS = 6.
IF SY-SUBRC = 0.
CLEAR RECEIVERS.
MOVE: SY-DATUM TO RECEIVERS-RCDAT,
SY-UZEIT TO RECEIVERS-RCTIM,
' ' TO RECEIVERS-RECESC,
P_MAILTO TO RECEIVERS-RECNAM,
'X' TO RECEIVERS-SNDEX.
APPEND RECEIVERS.
RECEIVERS-RCDAT = SY-DATUM.
RECEIVERS-RCTIM = SY-UZEIT.
RECEIVERS-RECNAM = RECLIST-REC.
RECEIVERS-RECNO = FOLDER_LIST-PARNO.
RECEIVERS-RECTP = FOLDER_LIST-PARTP.
RECEIVERS-RECYR = FOLDER_LIST-PARYR.
RECEIVERS-SNDTP = FOLDER_LIST-PARTP.
RECEIVERS-SNDYR = FOLDER_LIST-PARYR.
RECEIVERS-SNDNO = FOLDER_LIST-PARNO.
RECEIVERS-SNDNAM = SY-UNAME.
RECEIVERS-SNDPRI = '1'.
RECEIVERS-MSGID = 'SO'.
RECEIVERS-MSGNO = '619'.
RECEIVERS-DELIVER = 'X'.
RECEIVERS-NOT_DELI = 'X'.
RECEIVERS-READ = 'X'.
RECEIVERS-MAILSTATUS = 'E'.
**receivers-ADR_NAME
RECEIVERS-RESEND = ' '.
RECEIVERS-SORTFIELD = ' '. "'USER WF_BATCH INDIGO BATCH'.
RECEIVERS-SORTCLASS = '5'.
APPEND RECEIVERS.
ELSE.
CLEAR RECEIVERS.
RECEIVERS-SEL = 'X'.
RECEIVERS-RECESC = 'U'.
RECEIVERS-RECNAM = 'U-'.
RECEIVERS-RECEXTNAM = RECLIST-REC.
RECEIVERS-DELIVER = 'X'.
RECEIVERS-NOT_DELI = 'X'.
RECEIVERS-READ = 'X'.
RECEIVERS-MAILSTATUS = 'E'.
RECEIVERS-ADR_NAME = RECLIST-REC.
RECEIVERS-SORTFIELD = RECLIST-REC.
RECEIVERS-SORTCLASS = '5'.
APPEND RECEIVERS.
ENDIF.
ENDLOOP.
ENDFORM. "fill_receivers_info
*FORM snd_email *
FORM SND_EMAIL.
CALL FUNCTION 'SO_OBJECT_SEND'
EXPORTING
FOLDER_ID = P_OUTFOLDER
OBJECT_ID = OBJECT_ID
OUTBOX_FLAG = 'X'
OWNER = SY-UNAME
CHECK_SEND_AUTHORITY = 'X'
ORIGINATOR_TYPE = 'J'
LINK_FOLDER_ID = LINK_FOLDER_ID
TABLES
OBJCONT = OBJECT_CONTENT
RECEIVERS = RECEIVERS
EXCEPTIONS
ACTIVE_USER_NOT_EXIST = 1
COMMUNICATION_FAILURE = 2
COMPONENT_NOT_AVAILABLE = 3
FOLDER_NOT_EXIST = 4
FOLDER_NO_AUTHORIZATION = 5
FORWARDER_NOT_EXIST = 6
NOTE_NOT_EXIST = 7
OBJECT_NOT_EXIST = 8
OBJECT_NOT_SENT = 9
OBJECT_NO_AUTHORIZATION = 10
OBJECT_TYPE_NOT_EXIST = 11
OPERATION_NO_AUTHORIZATION = 12
OWNER_NOT_EXIST = 13
PARAMETER_ERROR = 14
SUBSTITUTE_NOT_ACTIVE = 15
SUBSTITUTE_NOT_DEFINED = 16
SYSTEM_FAILURE = 17
TOO_MUCH_RECEIVERS = 18
USER_NOT_EXIST = 19
ORIGINATOR_NOT_EXIST = 20
X_ERROR = 21
OTHERS = 22.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "snd_email
go through this.
Thanks -
I have created an XMLType view with an INSTEAD OF trigger to insert data into the underlying tables. I used your example on XMLType view of Relational Content
It works great if I have no attributes defined in the root element of the XML document (i.e. xmlns, schemaLocation, etc.). However, if my document contains any of those attributes, it will not load. I have tried creating the view with and without the xml attributes, as well as making sure that the schemaLocation is identical to the one in the document (copied and pasted just to make sure).
Is there anything that you can point to right away that I'm missing?
If needed, I can post code for you.
Thanks!Here is the code I used to generate the tables, view, and triggers:
drop table p_student_demographics;
create table p_student_demographics -- a
wiser_id varchar2(8),
first_name varchar2(15),
middle_name varchar2(15),
last_name varchar2(25),
birthdate date,
school_id varchar2(7),
special_ed_teacher varchar2(50)
drop table p_scorer_info;
create table p_scorer_info -- b
test_record_id number,
scorer_number number,
name varchar2(80),
email varchar2(50)
drop table p_test_record;
create table p_test_record -- c
wiser_id varchar2(8),
test_record_id number,
grade_tested varchar2(2),
first_scorer_completed varchar2(3),
second_scorer_completed varchar2(3)
drop table p_psw_test_results;
create table p_psw_test_results -- d
test_record_id number,
subject varchar2(7),
entry_number number,
complexity varchar2(1),
performance varchar2(1),
independence varchar2(1),
generalization varchar2(1),
non_scorable varchar2(4)
drop table p_spe_test_results;
create table p_spe_test_results -- e
test_record_id number,
subject varchar2(7),
entry_number number,
item_number number,
response varchar2(1)
drop table p_total_scores;
create table p_total_scores -- f
test_record_id number,
subject varchar2(7),
psw_total_raw_score varchar2(2),
spe_total_raw_score varchar2(2),
tas_score varchar2(2),
tas_portfolio_score varchar2(2),
tas_spe_score varchar2(2),
overall_total_raw_score varchar2(2),
overall_performance_level varchar2(1)
drop table p_school_info;
create table p_school_info
district_id varchar2(7),
district_name varchar2(80),
school_id varchar2(7),
school_name varchar2(80)
create or replace view paws_alt_test_results
of xmltype
xmlschema "http://www.k12.wy.us/public/paws-alt-results-v1.xsd" element "PawsAltResults"
with object id
(to_number(extractValue(object_value,'/PawsAltResults/Students/TestRecord/TestRecordId')))
as
select xmlelement
"PawsAltResults",
xmlelement
"Students",
xmlelement
"StudentInfo",
xmlelement
"StudentDemographics",
xmlelement("WiserId", a.wiser_id),
xmlelement("FirstName", a.first_name),
xmlelement("MiddleName", a.middle_name),
xmlelement("LastName", a.last_name),
xmlelement("BirthDate", a.birthdate)
xmlelement("SchoolId", a.school_id),
xmlelement("SpecialEdTeacher", a.special_ed_teacher),
xmlelement
"DocumentCompletedBy",
xmlelement("FirstScorer", c.first_scorer_completed),
xmlelement("SecondScorer", c.second_scorer_completed)
xmlelement
"FirstScorerInfo",
xmlelement("Name", b1.name),
xmlelement("Email", b1.email)
xmlelement
"SecondScorerInfo",
xmlelement("Name", b2.name),
xmlelement("Email", b2.email)
xmlelement
"TestRecord",
xmlelement("TestRecordId", c.test_record_id),
xmlelement("GradeTested", c.grade_tested),
xmlelement
"Subjects",
select xmlagg
xmlelement
"Subject",
xmlelement("SubjectName", f.subject),
xmlelement
"Psw",
xmlelement
"Entries",
select xmlagg
xmlelement
"Entry",
xmlelement("EntryNumber", x.entry_number),
xmlelement("Complexity", x.complexity),
xmlelement("Performance", x.performance),
xmlelement("Independence", x.independence),
xmlelement("Generalization", x.generalization),
xmlelement("NonScorable", x.non_scorable)
from p_psw_test_results x
where f.test_record_id = x.test_record_id
and f.subject = x.subject
xmlelement("TotalRawScore", f.psw_total_raw_score)
xmlelement
"Spe",
xmlelement
"Entries",
select xmlagg
xmlelement
"Entry",
xmlelement("EntryNumber", x.entry_number),
xmlelement
"Items",
select xmlagg
xmlelement
"Item",
xmlelement("ItemNumber", y.item_number),
xmlelement("Response", y.response)
from p_spe_test_results y
where x.test_record_id = y.test_record_id
and x.subject = y.subject
and x.entry_number = y.entry_number
from (select distinct
test_record_id,
subject,
entry_number
from p_spe_test_results) x
where f.test_record_id = x.test_record_id
and f.subject = x.subject
xmlelement("TotalRawScore", f.spe_total_raw_score)
xmlelement("TasScore", f.tas_score),
xmlelement("TasPortfolioScore", f.tas_portfolio_score),
xmlelement("TasSpeScore", f.tas_spe_score),
xmlelement("OverallTotalRawScore", f.overall_total_raw_score),
xmlelement("OverallPerformanceLevel", f.overall_performance_level)
from p_total_scores f
where c.test_record_id = f.test_record_id
xmlelement
"Districts",
select xmlagg
xmlelement
"DistrictInfo",
xmlelement("DistrictId", district_id),
xmlelement("DistrictName", district_name)
from (select distinct
district_id,
district_name
from p_school_info)
xmlelement
"Schools",
select xmlagg
xmlelement
"SchoolInfo",
xmlelement("DistrictId", district_id),
xmlelement("SchoolId", school_id),
xmlelement("SchoolName", school_name)
from p_school_info
from p_student_demographics a,
p_scorer_info b1,
p_scorer_info b2,
p_test_record c
where a.wiser_id = c.wiser_id
and b1.test_record_id = b2.test_record_id
and b1.test_record_id = c.test_record_id
and b1.scorer_number = 1
and b2.scorer_number = 2;
create or replace trigger io_ins_paws_alt_results
instead of insert on paws_alt_test_results
begin
insert all
into p_student_demographics
(wiser_id, first_name, middle_name, last_name, birthdate, school_id,
special_ed_teacher)
values
(wiser_id, first_name, middle_name, last_name, birthdate, school_id,
special_ed_teacher)
into p_scorer_info
(test_record_id, scorer_number, name, email)
values
(test_record_id, 1, name1, email1)
into p_scorer_info
(test_record_id, scorer_number, name, email)
values
(test_record_id, 2, name2, email2)
into p_test_record
(wiser_id, test_record_id, grade_tested, first_scorer_completed,
second_scorer_completed)
values
(wiser_id, test_record_id, grade_tested, first_scorer_completed,
second_scorer_completed)
select a.*
from xmltable
'/PawsAltResults'
passing :new.object_value
columns
wiser_id varchar2(8) path 'Students/StudentInfo/StudentDemographics/WiserId',
first_name varchar2(15) path 'Students/StudentInfo/StudentDemographics/FirstName',
middle_name varchar2(15) path 'Students/StudentInfo/StudentDemographics/MiddleName',
last_name varchar2(25) path 'Students/StudentInfo/StudentDemographics/LastName',
birthdate date path 'Students/StudentInfo/StudentDemographics/Birthdate',
school_id varchar2(7) path 'Students/StudentInfo/SchoolId',
special_ed_teacher varchar2(50) path 'Students/StudentInfo/SpecialEdTeacher',
test_record_id number path 'Students/StudentInfo/TestRecord/TestRecordId',
name1 varchar2(80) path 'Students/StudentInfo/FirstScorerInfo/Name',
email1 varchar2(50) path 'Students/StudentInfo/FirstScorerInfo/Email',
name2 varchar2(80) path 'Students/StudentInfo/SecondScorerInfo/Name',
email2 varchar2(50) path 'Students/StudentInfo/SecondScorerInfo/Email',
grade_tested varchar2(2) path 'Students/StudentInfo/TestRecord/GradeTested',
first_scorer_completed varchar2(3) path 'Students/StudentInfo/DocumentCompletedBy/FirstScorer',
second_scorer_completed varchar2(3) path 'Students/StudentInfo/DocumentCompletedBy/SecondScorer'
) a;
insert all
into p_psw_test_results
(test_record_id, subject, entry_number, complexity, performance,
independence, generalization, non_scorable)
values
(test_record_id, subject, entry_number, complexity, performance,
independence, generalization, non_scorable)
into p_total_scores
(test_record_id, subject, psw_total_raw_score, spe_total_raw_score,
tas_score, tas_portfolio_score, tas_spe_score,
overall_total_raw_score, overall_performance_level)
values
(test_record_id, subject, psw_total_raw_score, spe_total_raw_score,
tas_score, tas_portfolio_score, tas_spe_score,
overall_total_raw_score, overall_performance_level)
select a.test_record_id,
b.subject,
b.psw_total_raw_score,
b.spe_total_raw_score,
b.tas_score,
b.tas_portfolio_score,
b.tas_spe_score,
b.overall_total_raw_score,
b.overall_performance_level,
c.*
from xmltable
'/PawsAltResults/Students/StudentInfo/TestRecord'
passing :new.object_value
columns
test_record_id number path 'TestRecordId',
subjects xmltype path 'Subjects/Subject'
) a,
xmltable
'/Subject'
passing a.subjects
columns
subject varchar2(7) path 'SubjectName',
psw_total_raw_score varchar2(2) path 'Psw/Entries/TotalRawScore',
spe_total_raw_score varchar2(2) path 'Spe/TotalRawScore',
tas_score varchar2(2) path 'TasScore',
tas_portfolio_score varchar2(2) path 'TasPortfolioScore',
tas_spe_score varchar2(2) path 'TasSpeScore',
overall_total_raw_score varchar2(2) path 'OverallTotalRawScore',
overall_performance_level varchar2(1) path 'OverallPerformanceLevel',
entries xmltype path 'Psw/Entries/Entry'
) b,
xmltable
'/Entry'
passing b.entries
columns
entry_number number path 'EntryNumber',
complexity varchar2(1) path 'Complexity',
performance varchar2(1) path 'Performance',
independence varchar2(1) path 'Independence',
generalization varchar2(1) path 'Generalization',
non_scorable varchar2(4) path 'NonScorable'
) c;
insert
into p_spe_test_results
(test_record_id, subject, entry_number, item_number, response)
select a.test_record_id,
b.subject,
c.entry_number,
d.*
from xmltable
'/PawsAltResults/Students/StudentInfo/TestRecord'
passing :new.object_value
columns
test_record_id number path 'TestRecordId',
subjects xmltype path 'Subjects/Subject'
) a,
xmltable
'/Subject'
passing a.subjects
columns
subject varchar2(7) path 'SubjectName',
entries xmltype path 'Spe/Entries/Entry'
) b,
xmltable
'/Entry'
passing b.entries
columns
entry_number number path 'EntryNumber',
items xmltype path 'Items/Item'
) c,
xmltable
'/Item'
passing c.items
columns
item_number number path 'ItemNumber',
response varchar2(1) path 'Response'
) d;
insert
into p_school_info
(district_id, district_name, school_id, school_name)
select a.district_id,
a.district_name,
b.school_id,
b.school_name
from xmltable
'PawsAltResults/Districts/DistrictInfo'
passing :new.object_value
columns
district_id varchar2(7) path 'DistrictId',
district_name varchar2(80) path 'DistrictName'
) a,
xmltable
'PawsAltResults/Schools/SchoolInfo'
passing :new.object_value
columns
district_id varchar2(7) path 'DistrictId',
school_id varchar2(7) path 'SchoolId',
school_name varchar2(80) path 'SchoolName'
) b
where a.district_id = b.district_id;
end io_ins_paws_alt_results;
XML document:
<?xml version="1.0" encoding="UTF-8"?>
<PawsAltResults xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.k12.wy.us/public/paws-alt-results-v1.xsd" xmlns="http://www.w3.org/2001/XMLSchema">
<Students>
<StudentInfo>
<StudentDemographics>
<WiserId>12345678</WiserId>
<FirstName>TestFirst</FirstName>
<MiddleName>M</MiddleName>
<LastName>TestLast</LastName>
<BirthDate>2000-02-02</BirthDate>
</StudentDemographics>
<SchoolId>2222222</SchoolId>
<SpecialEdTeacher>Test Special Ed Teacher</SpecialEdTeacher>
<DocumentCompletedBy>
<FirstScorer>Yes</FirstScorer>
<SecondScorer>No</SecondScorer>
</DocumentCompletedBy>
<FirstScorerInfo>
<Name>Test First Scorer</Name>
<Email>[email protected]</Email>
</FirstScorerInfo>
<SecondScorerInfo>
<Name>Test Second Scorer</Name>
<Email>[email protected]</Email>
</SecondScorerInfo>
<TestRecord>
<TestRecordId>1</TestRecordId>
<GradeTested>08</GradeTested>
<Subjects>
<Subject>
<SubjectName>Reading</SubjectName>
<Psw>
<Entries>
<Entry>
<EntryNumber>1</EntryNumber>
<Complexity>1</Complexity>
<Performance>2</Performance>
<Independence>3</Independence>
<Generalization>B</Generalization>
</Entry>
</Entries>
<TotalRawScore>20</TotalRawScore>
</Psw>
<Spe>
<Entries>
<Entry>
<EntryNumber>1</EntryNumber>
<Items>
<Item>
<ItemNumber>1</ItemNumber>
<Response>1</Response>
</Item>
<Item>
<ItemNumber>2</ItemNumber>
<Response>2</Response>
</Item>
</Items>
</Entry>
</Entries>
<TotalRawScore>30</TotalRawScore>
</Spe>
<TasScore>10</TasScore>
<TasPortfolioScore>20</TasPortfolioScore>
<TasSpeScore>15</TasSpeScore>
<OverallTotalRawScore>50</OverallTotalRawScore>
<OverallPerformanceLevel>3</OverallPerformanceLevel>
</Subject>
</Subjects>
</TestRecord>
</StudentInfo>
</Students>
<Districts>
<DistrictInfo>
<DistrictId>1111111</DistrictId>
<DistrictName>Test District Name</DistrictName>
</DistrictInfo>
</Districts>
<Schools>
<SchoolInfo>
<DistrictId>1111111</DistrictId>
<SchoolId>2222222</SchoolId>
<SchoolName>Test School Name</SchoolName>
</SchoolInfo>
</Schools>
</PawsAltResults>
Insert statement:
insert into paws_alt_test_results values (xmltype(bfilename('XMLDIR','test-paws-alt.xml'),nls_charset_id('AL32UTF8')));
There are no errors shown on the insert statement. It tells me that one row was inserted, but there is no data when looking at the tables (unless I remove the attributes from the root element of the XML file).
I'm using version 10.2.0.3
Thanks for your help!
Maybe you are looking for
-
Timeout for user session/connection
Hi All, We have 81741 database acessed by windowNT/2000 users connecting via formswebserver(6.0.8.21.1) using JInitiator 1.1.8.19, we use Apache server and/or webDb listener on webserver. Users are assigned different roles like engineer, technician,
-
How can I achieve to print label without packaging
hello As I do not handle packaging for label . Is there any way to achieve this . Also I tried to put different gen variant for different label size in material master and put the same region but the system is not allowing to put two different gen va
-
Quicktime Operation could not be completed when trying to save
I have recently been watching webinars online and have been using Quicktime to record these so I can go back when I have more time to study them and learn from them. I have run into an issue when I go to save my most recent file. I get the error me
-
Status Profile in Item Category Definition
Hello All, Whats the significance of status Profile in Item category definition. Please provide your inputs. Thanks & regards Vittal
-
I got an ipad2 for Christmas but I am unable to connect to itunes
I have downloaded OS 5.0.1 and restored factory settings. I can connect to the internet without problems, but when I try to connect to the app store or itunes the asterisk just keeps spinning and it says "loading" until eventually it says it cannot c