How i can manipulate xml writeXML()
I am using wirteXML() Method for creating xml from
ADF BC Viewobject from generated xml i want to create txt file with the help of xslt but my consern is when i am creating concern file i want it align properly for that reason what i can do if is it possible to give RPAD for my view object query (i tried to give that it is working for Varchar of type but this method is not working for Number of type in this case how i can go forward )
How to manipulate xml ,If I want add spaces in any node values of an xml file using oracle.xml.parser.v2.DOMParser
Message was edited by:
prabeethsoy
Hi zxxxxwe,
>>I need to know how to get the numbers from the phonebook
What do you mean by "phonebook", does it mean contact list or contact history.
Currently, there is no API to get contact history in Windows phone for privacy
If you need to get contact information, for WP8/8.1 Silverlight, see:
#Walkthrough: Accessing contact and calendar data for Windows Phone 8
https://msdn.microsoft.com/en-us/library/windows/apps/hh286414(v=vs.105).aspx
For WinRT, See:
https://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.contacts.aspx
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.
Similar Messages
-
How i can transfer XML data from internet to SAP R/3?
Hi all,
I have an issue to catch data from internet (perticular website) in xml format and i want to update that xml data format into SAP R/3 database. so how i can do that?
Can I do directly or i should use any third party tools?Hi Deepak,
Refer these two weblogs,
/people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function
/people/jin.shin/blog/2007/05/21/handling-web-service-soap-fault-responses-in-sap-netweaver-xi
I hope, this will solve your problem
Regards,
Deviprasad -
How I can differentiate xml files coming from XI?
Hi all,
I have a dilemma!!! Im using NW Portal to publish logs from R/3; this is made with file adapter. At the moment, this file adapter only uses one shared folder as a repository in Portal and it works well.
But, in future I will have a lot of different messages to process, or either, one message per organism. Because a variety of organism will use the same interface to send files to R/3, I need to differentiate all these organisms.
So, when organism A sends the files to R/3 and it goes to Portal to see the log of these transactions, it can only see the log of your messages. So I think in one repository folder per organism and with this we can guarantee that only the organism sees your respective logs. (In xml message I have a field code for which organism).
My question is: There is a way, in runtime, to check the content of xml file and read this field code to verify what organism is and put the file in respective folder?
Anybody have an idea how I do something like that?
Thanks in advance,
Ricardo.Hi again Michal,
Im trying this:
Using ABAP Proxy to connect R3 -> XI and a simple receiver file adapter to place the log files in a new temporary content folder. In same business system I created two more file adapters, a sender with "Adapter Specific Message Properties", which tell the adapter to include those properties inside the SOAP message and with delete processing mode to maintaining clear the temporary content folder. And a receiver file adapter with those properties checked too, through program mapping with the user defined function to get the target directory.
But I continues without a DynamicConfiguration section in my SOAP header of Inbound message (CENTRAL).
And when I open the message the tag wit the directory path have the null code.
<DIR_PATH>null</DIR_PATH>
It means that something in user-defined function are wrong! Should I put something in field imports of User-defined function that I have created?
Java code:
imports (blank)
public String getTargetDirectory(String a,Container container){
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","Directory");
String ourSourceDirectory = conf.get(key);
return ourSourceDirectory;
Like I said my knowledge about java is very poor, do you see any error in this java code?
Thanks again for your great help.
Ricardo. -
hi,
I see that I have a particulier abonnee of my ISP , which has closed all the ports for security reason and they don't want to open any of it 80,443 ect.
suppose If I want to use Essential server 2012 how I can solve this problem , essential wants domain name whith A record.
I asked DDNS service provider if I lease from them a domain name whith A record would that help to open or manipulate the port 80,443 they said that I have to solve this problem myself . they lease only domain names with dynamic dns records.
so what can be a solution the ISP provider won't open this ports , how I can solve this problem . domain name with ip adres is not helping so what it's go to help?
thanks
johan
h.davidThe domain name in this instance is only used for remote access, and is seperate from the active directory domain name.
If your ISP blocks port 80 and 443, and you dont intend to use remote access anyway, the wizard will likely not complete successfully whether you have a valid domain name or not.
Robert Pearman SBS MVP
itauthority.co.uk |
Title(Required)
Facebook |
Twitter |
Linked in |
Google+ -
Hello Anybody, I have a question. Can any of you please suggest me how to make an xml file from the database table with all the records?
Note:- I am having the XSD Schema file and the resulted XML file should be in that XSD format only.The Oracle documentation has a good overview of the options available
Generating XML Data from the Database
Without knowing your version, I just picked 11.2, so you made need to look for that chapter in the documentation for your version to find applicable information.
You can also find some information in XML DB FAQ -
How I can create a XML file from java Aplication
How I can create a XML file from java Aplication
whith have a the following structure
<users>
<user>
<login>anyName</login>
<password>xxxx</password>
</user>
</users>
the password label must be encripted
accept any suggestionLet us assume you have all the data from the jsp form in an java bean object..
Now you want a xml file. This can be acheived in 2 ways
1. Write it into a file using java.io classes. Say you have a class with name
write("<name>"+obj.getName+</name>);
bingo you have a flat file with the xml
2. Use data binding to do the trick
will recommend JiBx and Castor for the 2nd option
Regards,
Rajagopal -
WCF Service and Sharepoint Form library : How i can read or access a form libray and query a item from file name and read form xml in WCF service ?
Ahsan RanjhaHi,
In SharePoint 2013, we can take use of REST API or Client Object Model to access the SharePoint objects like Form Library.
SharePoint 2013 REST API
http://msdn.microsoft.com/en-us/library/office/dn450841(v=office.15).aspx
http://blogs.technet.com/b/fromthefield/archive/2013/09/05/working-with-sharepoint-list-data-odata-rest-and-javascript.aspx
SharePoint 2013 Client Object Model
http://msdn.microsoft.com/en-us/library/office/fp179912(v=office.15).aspx
http://msdn.microsoft.com/en-us/library/office/jj193041(v=office.15).aspx
With the retrieved file, we can then use XmlDocument object to parse it and get the values you want:
http://weblogs.asp.net/jimjackson/opening-and-reading-an-xml-file-in-a-document-library
http://stackoverflow.com/questions/1968809/programatically-edit-infopath-form-fields
Best regards
Patrick Liang
TechNet Community Support -
how we can show the following data in a flex tree (without having any
label field) ?
<?xml version="1.0"?>
<rootNode>
<childNode>
< subchildNode >
<valueNode>1000</valueNode >
< valueNode >999-888-777</valueNode >
< valueNode >STORTZ</valueNode >
< valueNode >PAM STORTZ</valueNode >
< valueNode >88 ST. MORTON ROAD</valueNode>
</subchildNode>
</childNode >
</rootNode >as is - no how
wrap those xml chunk with a class having clear public properties like:
public class dataRecord {
protected var xml:XML;
function dataRecord(xml:XML) {
this.xml = xml;
public function get id ():String {
return XML(xml.descendants("valueNode")[0]).toString();
// and so on
simpliest way is to change xml structure to use attributes than wrapping that thing with AS code, it's time consuming and non efficient. -
HOW TEXT CAN BE MADE SUBSCRIPTED IN XML DOCUMENT?
SIR,
I WANT TO DISPLAY MATHEMATICAL FORMULAS,WHICH INCLUDE MATHAMATICAL NOTATIONS LIKE "SIGMA" "DELTA" AND SO ON, AND ALSO SYMBOLS WITH SUBSCRIPTED TEXTS OR LETTERS,IN XML DOCUMENT.
MY PROBLEM IS HOW CAN WE RENDER SUBSCRIPTED TEXTS IN XML DOCUMENT.
FOR Eg.CONSIDER THE FORMULA SHOWN BELOW,IN HTML FORMAT.
ÓAli * Bli / Cli
PLEASE,TELL HOW THIS CAN BE REPRESENTED IN XML DOCUMENT.
AND ALSO TELL ME HOW CAN A HORIZONTAL RULE BE DRAWN IN XML DOCUMENT
THANK YOU.Ouch. Would you please not type in all capitals. It's hard to read.
Anyway the question doesn't make sense. XML is just a format for storing and transmitting data. XML doesn't have the concepts of subscripting and drawing horizontal rules. Perhaps you were thinking of HTML? -
How I can append new node in existing XML file
I've just begun learning DOM XML , so I'm currently at a very beginner level.
I have an existing XML file that I would like to add an additional node to before saving it to another variable.
how I can append new node in this file.
now this code is overwrite new data over old data
The code looks like this:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class VerbXMLWriter
static String EVerb3;
static String englishTranslate3;
public void VerbXMLWriter(String EVerb, String englishTranslate )
EVerb3 = EVerb;
englishTranslate3=englishTranslate;
File xmlFile = new File("VerbDB.xml");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocument();
Element root = document.createElement("Verb");
document.appendChild(root);
Element verb = document.createElement(EVerb3);
verb.setAttribute("EnglishTranslate",englishTranslate3);
root.appendChild(verb);
Source xmlSource = new DOMSource( document );
Result result = new StreamResult( new FileOutputStream(xmlFile) );
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer =
transformerFactory.newTransformer();
transformer.setOutputProperty( "indent", "yes" );
transformer.transform( xmlSource, result );
catch(TransformerFactoryConfigurationError factoryError )
factoryError.printStackTrace();
catch (ParserConfigurationException pc)
pc.printStackTrace();
catch (IOException io)
io.printStackTrace();
catch(Exception excep )
excep.printStackTrace();
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Verb>
<Play EnglishTranslate="playing" />
</Verb>Edited by: itb402 on Mar 9, 2008 6:05 AMin your code you are already appending new nodes to the root node. so what exactly is your problem? The following steps are usually taken for appending a new node:
1. Read the XML document
2. Build a DOM tree
3. Navigate to the node under which you want to insert the new node
4. Create a new node.
5. Insert the new node to the node selected in point #3.
~Debopam -
Can you tell me How to loading sessions.xml in servlet
Can you tell me How to loading sessions.xml in servlet
Getting a session in a servlet is no different than in any other environment except that you need to be careful which classloader you pass to the SessionManager and correctly configure what to do if your application is reloaded. If you use the oracle.toplink.util.SessionFactory introduced in 10.1.3.1 you don't have to worry about these details--it uses the correct settings. The SessionFactory greatly simplifies the code required to get a session or unit of work. It's well documented in the SessionFactory javadoc.
If you do use SessionFactory beware there is a bug when running in a JTA environment and there's no transaction started. Doug posted a work around in his blog[1].
--Shaun
[1] http://www.jroller.com/page/djclarke/20060412 -
How to parse an XML document with oracle8i
Has anyone a good link or an example how to decode and store an XML document into an oracle8i database.
I' ve found only good things for oracle9i.
Thank you
RogerHere is an example of parsing xml taken fro Oracle8i 8.1.7 xdk.
This one uses external OS files to pase, but could be easily converted to
use CLOB or VARCHAR2 string for parsing XML documents.
IF you wanted to use CLOB to store and manipulate xml documents you can use XMLParser and XMLDom
packages along with the DBMS_LOB package to do that.
-- This file demonstates a simple use of the parser and DOM API.
-- The XML file that is given to the application is parsed and the
-- elements and attributes in the document are printed.
-- The use of setting the parser options is demonstrated.
set serveroutput on;
create or replace procedure domsample(dir varchar2, inpfile varchar2,
errfile varchar2) is
p xmlparser.parser;
doc xmldom.DOMDocument;
-- prints elements in a document
procedure printElements(doc xmldom.DOMDocument) is
nl xmldom.DOMNodeList;
len number;
n xmldom.DOMNode;
begin
-- get all elements
nl := xmldom.getElementsByTagName(doc, '*');
len := xmldom.getLength(nl);
-- loop through elements
for i in 0..len-1 loop
n := xmldom.item(nl, i);
dbms_output.put(xmldom.getNodeName(n) || ' ');
end loop;
dbms_output.put_line('');
end printElements;
-- prints the attributes of each element in a document
procedure printElementAttributes(doc xmldom.DOMDocument) is
nl xmldom.DOMNodeList;
len1 number;
len2 number;
n xmldom.DOMNode;
e xmldom.DOMElement;
nnm xmldom.DOMNamedNodeMap;
attrname varchar2(100);
attrval varchar2(100);
begin
-- get all elements
nl := xmldom.getElementsByTagName(doc, '*');
len1 := xmldom.getLength(nl);
-- loop through elements
for j in 0..len1-1 loop
n := xmldom.item(nl, j);
e := xmldom.makeElement(n);
dbms_output.put_line(xmldom.getTagName(e) || ':');
-- get all attributes of element
nnm := xmldom.getAttributes(n);
if (xmldom.isNull(nnm) = FALSE) then
len2 := xmldom.getLength(nnm);
-- loop through attributes
for i in 0..len2-1 loop
n := xmldom.item(nnm, i);
attrname := xmldom.getNodeName(n);
attrval := xmldom.getNodeValue(n);
dbms_output.put(' ' || attrname || ' = ' || attrval);
end loop;
dbms_output.put_line('');
end if;
end loop;
end printElementAttributes;
begin
-- new parser
p := xmlparser.newParser;
-- set some characteristics
xmlparser.setValidationMode(p, FALSE);
xmlparser.setErrorLog(p, dir || '/' || errfile);
xmlparser.setBaseDir(p, dir);
-- parse input file
xmlparser.parse(p, dir || '/' || inpfile);
-- get document
doc := xmlparser.getDocument(p);
-- Print document elements
dbms_output.put('The elements are: ');
printElements(doc);
-- Print document element attributes
dbms_output.put_line('The attributes of each element are: ');
printElementAttributes(doc);
-- deal with exceptions
exception
when xmldom.INDEX_SIZE_ERR then
raise_application_error(-20120, 'Index Size error');
when xmldom.DOMSTRING_SIZE_ERR then
raise_application_error(-20120, 'String Size error');
when xmldom.HIERARCHY_REQUEST_ERR then
raise_application_error(-20120, 'Hierarchy request error');
when xmldom.WRONG_DOCUMENT_ERR then
raise_application_error(-20120, 'Wrong doc error');
when xmldom.INVALID_CHARACTER_ERR then
raise_application_error(-20120, 'Invalid Char error');
when xmldom.NO_DATA_ALLOWED_ERR then
raise_application_error(-20120, 'Nod data allowed error');
when xmldom.NO_MODIFICATION_ALLOWED_ERR then
raise_application_error(-20120, 'No mod allowed error');
when xmldom.NOT_FOUND_ERR then
raise_application_error(-20120, 'Not found error');
when xmldom.NOT_SUPPORTED_ERR then
raise_application_error(-20120, 'Not supported error');
when xmldom.INUSE_ATTRIBUTE_ERR then
raise_application_error(-20120, 'In use attr error');
end domsample;
show errors; -
Hi I have the following bit of XML set to a variable like
so:-
<cfset var = "
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note2>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note2>
">
Can anyone tell me how i can parse throught thuis data and
turn it into a record set so that I can manipulate the data? I
think i need to write an script for this but not sure of where to
start?
ANy help appreciated
ThanksStart with this:
<cfset noteObj = xmlParse(var)> <!--- Note: 'var' is
a bad variable
name, it is a keyword in ColdFusion --->
<cfdump var="#noteObj#"> -
Anyone know how to output an XML file from ABAP to a non sapgui location?
I have a program that creates XML and then outputs a file via CALL METHOD cl_gui_frontend_services=>gui_download. But now I want to execute the program in background mode and therefore I need to be able to output that XML to a NON sapgui file location. Current code creates the XML to an internal table which is binary then the gui_download method converts that to output XML. . Does anyone know how I can change the code to either a) output the XML to an internal table which can be output via, say, a TRANSFER command..or, b) output the created binary table of XML to a NON sapgui file location?
Excerpts from current code are as follows:
first the XML is created (to the binary file)
Creating a ixml factory
l_ixml = cl_ixml=>create( ).
Creating the dom object model
l_document = l_ixml->create_document( ).
Fill root node with value XML
l_element_xml = l_document->create_simple_element(
name = 'XML'
parent = l_document ).
Create tag 'HEADER' as child of 'XML'
l_element_header = l_document->create_simple_element(
name = 'HEADER'
parent = l_element_xml ).
header information about the file and general data about the fleet follows
l_value = c_fleet_import.
l_element_dummy = l_document->create_simple_element(
name = 'TYPE'
value = l_value
parent = l_element_header ).
etc.......
then the xml is connected to the stream factory and rendered
Creating a stream factory
l_streamfactory = l_ixml->create_stream_factory( ).
Connect internal XML table to stream factory
l_ostream = l_streamfactory->create_ostream_itable( table = l_xml_table ).
Rendering the document
l_renderer = l_ixml->create_renderer( ostream = l_ostream
document = l_document ).
l_rc = l_renderer->render( ).
Saving the XML document
l_xml_size = l_ostream->get_num_written_raw( ).
and then output to the file
IF sy-subrc = 0.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
bin_filesize = l_xml_size
filename = 'g:\sapdms\BSCC-DEV\EFPAC XML Files\ALL.xml'
filename = '/TRICK/727/OUT/ZEFP/EFPAC.XML' "doesnt work with sap gui
filetype = 'BIN'
CHANGING
data_tab = l_xml_table
EXCEPTIONS
OTHERS = 24.
as implied by the comments the method above will successfully output the XML file to the g:drive but will not output to /TRICK/ location, which is where I need it to go in a background mode run.
This is a problem which has defeated all our local expertise and I would appreciate any help given... Barry JonesTry this code below:
data l_xml_table2 type table of xml_line with header line.
W_filename - This is a Path.
if w_filename(02) = '
open dataset w_filename for output in binary mode.
if sy-subrc = 0.
l_xml_table2[] = l_xml_table[].
loop at l_xml_table2.
transfer l_xml_table2 to w_filename.
endloop.
endif.
close dataset w_filename.
else.
call method cl_gui_frontend_services=>gui_download
exporting
bin_filesize = l_xml_size
filename = w_filename
filetype = 'BIN'
changing
data_tab = l_xml_table
exceptions
others = 24.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif. -
How I can transfer data from the database into a variable (or array)?
I made my application according to the example (http://corlan.org/2009/06/12/working-in-flash-builder-4-with-flex-and-php/). Everything works fine. I changed one function to query the database - add the two parameters and get the value of the table in String format. A test operation shows that all is ok. If I want to display this value in the text area, I simply drag and drop service to this element in the design mode
(<s:TextArea x="153" y="435" id="nameText" text="{getDataMeanResult.lastResult[0].name}" width="296" height="89" />).
It also works fine, just a warning and encouraged to use ArrayCollection.getItemAt().
Now I want to send the value to a variable or array, but in both cases I get an error: TypeError: Error #1010: A term is undefined and has no properties..
How can I pass a value from the database into a variable? Thank you.
public var nameTemp:String;
getDataMeanResult.token = authors.getDataMean(arrayOfNumber[0], dir_id);
nameTemp = getDataMeanResult.lastResult[0].name;
public var nameArray:Array = new Array();
for (var i:uint=o; i<3; i++){
getDataMeanResult.token = authors.getDataMean(arrayOfNumber[i], dir_id);
nameArray[i] = getDataMeanResult.lastResult[0].name;
And how i can use syntax highlighting in this forum?Astraport2012 wrote:
I have to go back to the discussion. The above example works fine when i want to get a single value of the database. But i need to pass an array and get an array, because i want to get at once all the values for all pictures tooltips. I rewrote the proposed Matt PHP-script and it works. However, i can not display the resulting array.
yep, it won't work for Arrays, you'll have to do something slightly more intelligent for them.
easiest way would be to get your PHP to generate XML, then read that into something like an ArrayList on your HTTPService result event (depends what you're doing with it).
for example, you could have the PHP generate XML such as:
<pictures>
<location>test1.png</location>
<location>test2.png</location>
<location>test3.png</location>
<location>test4.png</location>
<location>test5.png</location>
<location>test6.png</location>
</pictures>
then you'll read that in as the ResultEvent, and perform something like this on it
private var tempAC:ArrayList = new ArrayList
protected function getStuff_resultHandler(event:ResultEvent):void
for each(var item:Object in event.result.pictures)
var temp:String = (item.@location).toString();
tempAC.addItem(temp);
in my example on cookies
http://www.mattlefevre.com/viewExample.php?tut=flash4PHP&proj=Using%20Cookies
you'll see an example of how to format an XML structure containing multiple values:
if($_COOKIE["firstName"])
print "<stored>true</stored>";
print "<userInfo>
<firstName>".$_COOKIE["firstName"]."</firstName>
<lastName>".$_COOKIE["lastName"]."</lastName>
<userAge>".$_COOKIE["userAge"]."</userAge>
<gender>".$_COOKIE["gender"]."</gender>
</userInfo>";
else
print "<stored>false</stored>";
which i handle like so
if(event.result.stored == true)
entryPanel.title = "Welcome back " + event.result.userInfo.firstName + " " + event.result.userInfo.lastName;
firstName.text = event.result.userInfo.firstName;
lastName.text = event.result.userInfo.lastName;
userAge.value = event.result.userInfo.userAge;
userGender.selectedIndex = event.result.userInfo.gender;
depends on what type of Array you're after
from the sounds of it (with the mention of picture tooltips) you're trying to create a gallery with an image, and a tooltip.
so i'd probably adopt something like
<picture>
<location>example1.png</location>
<tooltip>tooltip for picture #1</tooltip>
</picture>
<picture>
<location>example2.png</location>
<tooltip>tooltip for picture #2</tooltip>
</picture>
<picture>
<location>example3.png</location>
<tooltip>tooltip for picture #3</tooltip>
</picture>
etc...
or
<picture location="example1.png" tooltip="tooltip for picture #1"/>
<picture location="example2.png" tooltip="tooltip for picture #2"/>
<picture location="example3.png" tooltip="tooltip for picture #3"/>
etc...
Maybe you are looking for
-
How do I minimize the window in itunes 11 to the size it used to be?
1. I've just installed the iTunes 11.0 update and the playlist window takes up way too much room on my desktop. I used to be able to click the green button in the upper left corner and it would shrink to a tiny size that let me control the volume,
-
I want to back out of Windows Phone Insider
Hello! I recently accidently signed up for Inside Fast on my Lumia 830. But now it starts downloading Windows 10 for phones and gives me no option to back out. I have uninstalled the Windows Insider app but that has not affected the download process.
-
Backlight bulbs in Cinema Displays
Does anyone know how many bulbs there are, where to get / replace, part number, etc. I have a 20" Apple Cinema Display, and the backlight is dimming on the top half.
-
Use JEditorPane to display HTML and RTF ?
Hello, Is it possible to use JEditorPane to open a HTML file and then save it as RTF? And open a RTF file and save it as HTML ??? Eric
-
Hello: I would like to get an online course about Multimedia applications with Lingo/Director and devices like LED's, switches, displays, etc. Controlled by Serial/USB/parallel ports. Do you know where I can get this online course? thank you