Sorting nodes based on Alias
Dear DRM gurus
I have a requirement where i have to sort employees by their surname which is part of the full Alias name.
Alias Name looks like this - Leatherface,Texas (USD) - Slaughterer
Leatherface is the surname, Texas is the first name, USD is the currency and Slaughterer is the Job Title. There are 10000 employees.
I tried creating a derived sort property with the formula If(Equals(String,Substring(Propvalue(Core.PrimaryName_MDM),1,4),EMP_),Propvalue(Custom.Surname),Propvalue(Core.SortOrder)) and assigned it to Default Hierarchy Sort property, but it doesn't seem to work (I tried to capture the surname part of the full Alias string before the comma in my actual formula).
I have tried tweaking the formula using the Node ID as well to check whether if it dynamically sorts the nodes (after reloading all the nodes in the right order) whenever i create new nodes, but to no avail.
What i have done now is reloaded all the employees in the correct sort order (done this in Excel) and exported it. But i want DRM to sort all nodes based on surname and also insert any new nodes correctly in the order automatically going forward.
Having to manually update sort orders for thousands of employees doesn't sound like a great idea for maintenance.
I'm using DRM 11.1.2.1.102.
Many Thanks for your help.
Cheers
Area 51
Dear DRM gurus
I have a requirement where i have to sort employees by their surname which is part of the full Alias name.
Alias Name looks like this - Leatherface,Texas (USD) - Slaughterer
Leatherface is the surname, Texas is the first name, USD is the currency and Slaughterer is the Job Title. There are 10000 employees.
I tried creating a derived sort property with the formula If(Equals(String,Substring(Propvalue(Core.PrimaryName_MDM),1,4),EMP_),Propvalue(Custom.Surname),Propvalue(Core.SortOrder)) and assigned it to Default Hierarchy Sort property, but it doesn't seem to work (I tried to capture the surname part of the full Alias string before the comma in my actual formula).
I have tried tweaking the formula using the Node ID as well to check whether if it dynamically sorts the nodes (after reloading all the nodes in the right order) whenever i create new nodes, but to no avail.
What i have done now is reloaded all the employees in the correct sort order (done this in Excel) and exported it. But i want DRM to sort all nodes based on surname and also insert any new nodes correctly in the order automatically going forward.
Having to manually update sort orders for thousands of employees doesn't sound like a great idea for maintenance.
I'm using DRM 11.1.2.1.102.
Many Thanks for your help.
Cheers
Area 51
Similar Messages
-
How to blink TreeView Nodes based on condition c#
suppose i am populating my tree view with data from database and i want to blink those nodes which has a specific data. now guide me with code how can i efficiently blink multiple tree view nodes based on condition in winform application.
Hi Mou_kolkata,
>> anyone can give me small working code for tree node blinking
Thank Armin for the details about blinking TreeView Nodes.
For a simple demo to blink TreeView nodes, you could refer the link below:
# Treeview control - How to make a node blink?
https://social.msdn.microsoft.com/Forums/en-US/64e7a4d7-3098-4370-990f-390cb3a640a1/treeview-control-how-to-make-a-node-blink
If you have issues when you blink Treeview nodes, please feel free to post a new thread in this forum, then you would get more help.
Best Regards,
Edward
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. -
N9 Photo Gallery sort order - based on what?
Hello,
I am thrilled with my N9, but have one problem: I want to use the phone to keep not only photos made with it. I therefore saved extra photos in the Pictures folder. They appear in the gallery, but in a weird order, not based on either the name, EXIF date, modification date or creation date. Is there a possibility to sort them on either of these? All I want is to control the sort order. After all, it is MY gallery...
On my previous phone (N8) sorting was based on the last modification date. Also not optimal (EXIF date would have been perfect) but still controllable.
Solved!
Go to Solution.Well, maybe those pictures were never edited outside the phone, I don't know.
Anyway, I believe I found the explanation: I exported the photos from Picasa, maxing them to a resolution of 1600xXXX. This way all files were created... today. Nevertheless the EXIF information is correctly saved by Picasa, so Date Image Taken was preserved. Although I modified in all files the creation date to be equal to EXIF Date Image Taken (ACDSee/batch/AdjustTimeStamp) , and then also renamed all pictures based on that, the "new" creation date still remains saved somewhere in the picture files and the Gallery sorts the pictures on it! The pictures were sorted in the reversed order I exported them from Picasa... Bad.
Anyway, since this is not a request forum, it would be futile to say (again) that Nokia should use the EXIF Date Picture Taken for picture sorting. So I don't say it (!). -
Get masks up to node based systems level?
Ok seriously, I don't feel one way or the other about node based systems, they are powerfull but then again the project UI gets quickly cluttered and I prefer the way AE utilizes the screen space (most of the screen for viewing the actual image your working on instead of the project tree )
But one thing I can't get over are masks. In node based systems each mask is a separate node, with all of the node transform properties.
So you can scale the mask or rotate it on top of the shape animation it already has.
Would it really be that hard to add a transforms property to every mask, right there with feather and opacity? So we could for instace apply tracking data to each mask separately on the same layer?
Being a developer myself, I'm guessing masks are treated as vectors all the way to the end so multiplying them by one more transformation matrix is really simple from the coding side. It is also clean and simple from UI and usability point of view. Can't believe that after all these years we still don't have this
Who would want that in AE? Maybe with enough votes we could actually put this inBresnev Shu's Expression Effects did that 10 years ago, but the devolper abandoned things pretty shortly after that. If you can whip it up quickly enough, there may still be a market for it, otherwise it's a good bet that something like it might be in CS6.5/ CS7 and beyond. Users have been begging for it for eons and it's time AE caught up...
Mylenium -
XML Forms Builder: Sorting news based on a date field in a XML form
Hi Experts
I have a requirement and I am stuck up in finding a solution. I have a XML form and this has been mapped to a folder in KM. It publishes news. In the collection renderer settings there is an option to sort the news ascending or descending based on created/modified criteria.
The requirement is to sort the news based on a date field in XML form. Can you experts help me in getting the solution for same?
The users who post the news in our portal needs the information to be sorted based on a date field shown.
Thank you
Best regards
Ramamoorthy DHi Experts
I have not got any solution for this issue. Can any of you get me some clue to work on this issue with sorting news based on a date field in a XML form?
I removed the property link from the screen field Input field.
Thank you
Best Regards
Ramamoorthy D -
Sort file based on Creation Time in Windows XP/2003
Hi All,
I want ot sort files in a folder based on the Creation time, not the modified time.
We can get the creation time with dir /tc DOS command.
Now i want to capture the output and sort it based on creation time. How i do it.Please explain with code.
Thanks.Hi Aaron,
Based on my research, these Events could be caused by the fact that you haven’t
configured the
security access control list (SACL) on the object that you are auditing or you have configured the SACL, but not for all the listed accesses.
Here is a KB article below that I suggest you refer to:
Event IDs 560 and 562 appear many times in the security event log
http://support.microsoft.com/kb/841001/en-us
I hope this helps.
Best Regards,
Amy Wang -
Want to sort HashMap based on Values with duplicate values
Hi. I have a requirement to sort the HashMap based on the values not on the keys. My HashMap contains the values which are duplicates. My program is some thing like this.
Map m = new HashMap();
m.put ("Gosling", new Integer(2000));
m.put ("Joy", new Integer(2000));
m.put ("Schwartz", new Integer(3000));
m.put ("Bracha", new Integer(4000));
m.put ("Gafter", new Integer(3000));
still i need to sort HashMap based on the values. How can i do it. I want the output some like this.
Gosling 2000
joy 2000 (may be interchanged)
Schwartz 3000
Gafter 3000 (Same as above)
Bracha 4000
Thanks.I found syntactical problems with above mentioned code.
Here is edited working version:
* test sortMap
public void testSortMap () {
Map m = new HashMap();
m.put ("IGGHHG", new Integer(232353453));
m.put ("ASDF", new Integer(345555000));
m.put ("DSF", new Integer(345555000));
m.put ("XYZ", new Integer(45555555));
m.put ("AAA", new Integer(0));
ArrayList outputList = sortMap(m);
int count = 0;
count = outputList.size();
while(count > 0) {
Map.Entry entry = (Map.Entry) outputList.get(--count);
System.out.print("Key:" + entry.getKey());
System.out.println("\tValue:" + entry.getValue());
* This method will use Arrays.sort for sorting Map
* @param map
* @return outputList of Map.Entries
public ArrayList sortMap(Map map) {
ArrayList outputList = null;
int count = 0;
Set set = null;
Map.Entry[] entries = null;
// Logic:
// get a set from Map
// Build a Map.Entry[] from set
// Sort the list using Arrays.sort
// Add the sorted Map.Entries into arrayList and return
set = (Set) map.entrySet();
Iterator iterator = set.iterator();
entries = new Map.Entry[set.size()];
while(iterator.hasNext()) {
entries[count++] = (Map.Entry) iterator.next();
// Sort the entries with your own comparator for the values:
Arrays.sort(entries, new Comparator() {
public int compareTo(Object lhs, Object rhs) {
Map.Entry le = (Map.Entry)lhs;
Map.Entry re = (Map.Entry)rhs;
return ((Comparable)le.getValue()).compareTo((Comparable)re.getValue());
public int compare(Object lhs, Object rhs) {
Map.Entry le = (Map.Entry)lhs;
Map.Entry re = (Map.Entry)rhs;
return ((Comparable)le.getValue()).compareTo((Comparable)re.getValue());
outputList = new ArrayList();
for(int i = 0; i < entries.length; i++) {
outputList.add(entries);
return outputList;
}//End of sortMap -
Sum on child nodes based on attribute value in xslt
Hi all,
Any one can post helpful code to calculate the sum of child nodes based on the attribute value of other child node.
Let's say for example.
I have one child element has attribute value let's say Tax so I have to put condition on child element having value of "Tax" I need to calcualte sum of Invoice amount that element is also child node
After calculating sum I have to apply that sum at the header level of the Invoice. For each Invoice I have calculate sum and apply at the header level.It isn't working :(.Got the following error:
An error was reported compiling the XPath expression: error: XPath expression invalid, not a selection: declare namespace ws = 'http://www.bea.com/wli/sb/transports/ws';
declare namespace tuxedo = 'http://www.bea.com/wli/sb/transports/tuxedo';
declare namespace wsa = 'http://schemas.xmlsoap.org/ws/2004/08/addressing';
declare namespace http = 'http://www.bea.com/wli/sb/transports/http';
declare namespace xsi = 'http://www.w3.org/2001/XMLSchema-instance';
declare namespace wsp = 'http://schemas.xmlsoap.org/ws/2004/09/policy';
declare namespace file = 'http://www.bea.com/wli/sb/transports/file';
declare namespace xsd = 'http://www.w3.org/2001/XMLSchema';
declare namespace soap12-env = 'http://www.w3.org/2003/05/soap-envelope';
declare namespace flow = 'http://www.bea.com/alsb/flow/transport';
declare namespace sftp = 'http://www.bea.com/wli/sb/transports/sftp';
declare namespace sb = 'http://www.bea.com/wli/sb/transports/sb';
declare namespace soap-enc = 'http://schemas.xmlsoap.org/soap/encoding/';
declare namespace ejb = 'http://www.bea.com/wli/sb/transports/ejb';
declare namespace soap-env = 'http://schemas.xmlsoap.org/soap/envelope/';
declare namespace jpd = 'http://www.bea.com/wli/sb/transports/jpd';
declare namespace email = 'http://www.bea.com/wli/sb/transports/email';
declare namespace tp = 'http://www.bea.com/wli/sb/transports';
declare namespace dsp = 'http://www.bea.com/dsp/transport/sb';
declare namespace ctx = 'http://www.bea.com/wli/sb/context';
declare namespace soap12-enc = 'http://www.w3.org/2003/05/soap-encoding';
declare namespace wsu = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd';
declare namespace jms = 'http://www.bea.com/wli/sb/transports/jms';
declare namespace ftp = 'http://www.bea.com/wli/sb/transports/ftp';
fn:string(./xml-fragment/@IntObjectName). -
Visual Node-Based 8bf Plug-in Creator???
Hi everyone :) I was wondering if there is a visual node-based program out there (similar to Filter Forge's filter editor) that will allow me to create 8bf plug-ins???
Any info would be greatly appreciated!!!
Steve :)Protected View wasn't introduced until 10.1.
From: Adobe Forums <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
Date: Thu, 12 Jan 2012 10:40:33 -0800
To: Leonard Rosenthol <[email protected]<mailto:[email protected]>>
Subject: Browser/plug-in problems with Acrobat 10.1
Re: Browser/plug-in problems with Acrobat 10.1
created by wildcathoya<http://forums.adobe.com/people/wildcathoya> in Acrobat SDK - View the full discussion<http://forums.adobe.com/message/4135961#4135961 -
How to sort the members by alias names
I am trying to create dimension build rule whicl will sort the dimension members in an ascending order, but it has to be based on the alias name instead of the member name.
I have tried both Parent-CHild and Generation reference but it doesn't work.
For example
for the city members PSE ( alias name Purchase), and USALB ( alias Albany) needs to be sorted by alias names
the current order is
PSE(Purchase)
USALB(albany)
but the requirement is to be
USALB( Albany)
PSE(Purchase)Even with presorting the input, you still have work to do. By default, Essbase will add new members to the bottom of the list of membrers, it does not insert them into an existing hierarchy in the right places. If your trying to update existing hierarchies and are going the SQL route, you will need two rules (or 1 rule and a flat file). You also need to specify remove unspecified as part of the dimension build process.
HAve a dummy input (either sql or file) that gets loaded the first time. IT will basically wipe out all the members of the dimension, then your second rule (or same rule calling your SQL) can reload the dimension sorted in alias order.
IT is important that these two rules be done together (either in MaxL using comasin a single statement) or in a BSO cube in the outline before the outline is saved. Otherwise you will have deleted any data that existed in the database. It would be impartant that your SQL also pulls all members (including any special members)
Edited by: GlennS_2 on Jan 6, 2010 9:48 AM
You say you are going to change the stored procedure. That is not necessary, you could put an order by clause in your sql extract statement -
Problem when sorting data based on date
I am trying to sort the following data based on the Transaction Receipt date column,unable to do it usi g the following syntax:
<?sort:TRANSACTION_RECEIPT_DATE;'ascending';data-type='date'?>
I have problem in converting the date in report to canonical date ,is there any other way to achieve the output without converting the date format.
<?xml version="1.0"?>
<!-- Generated by Oracle Reports version 6.0.8.27.0 -->
<RECDTREP>
<LIST_G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO104</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>07-APR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1></SNO_ATTRIBUTE1>
<OBJECT_ID>24636</OBJECT_ID>
<INITIALIZATION_DATE>07-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863063</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO107</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>07-APR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1></SNO_ATTRIBUTE1>
<OBJECT_ID>24641</OBJECT_ID>
<INITIALIZATION_DATE>07-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863068</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO123</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>07-APR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/11 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>24658</OBJECT_ID>
<INITIALIZATION_DATE>07-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863086</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO75</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>31-MAR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1></SNO_ATTRIBUTE1>
<OBJECT_ID>22190</OBJECT_ID>
<INITIALIZATION_DATE>14-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510860842</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>31-Mar-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>971515</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO116</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>25-JUN-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/11 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>64271</OBJECT_ID>
<INITIALIZATION_DATE>30-JUN-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863077</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>25-Jun-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO92</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>31-MAR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/11 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>22253</OBJECT_ID>
<INITIALIZATION_DATE>14-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510860890</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>31-Mar-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>971515</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO99</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>31-MAR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1></SNO_ATTRIBUTE1>
<OBJECT_ID>22263</OBJECT_ID>
<INITIALIZATION_DATE>14-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510860899</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>31-Mar-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>971515</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO109</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>25-JUN-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1></SNO_ATTRIBUTE1>
<OBJECT_ID>64204</OBJECT_ID>
<INITIALIZATION_DATE>30-JUN-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863070</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>25-Jun-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO135</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>25-JUN-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/18 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>64296</OBJECT_ID>
<INITIALIZATION_DATE>30-JUN-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510875546</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>25-Jun-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO101</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>07-APR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1></SNO_ATTRIBUTE1>
<OBJECT_ID>24618</OBJECT_ID>
<INITIALIZATION_DATE>07-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863046</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO120</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>07-APR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/11 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>24653</OBJECT_ID>
<INITIALIZATION_DATE>07-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863081</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO122</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>07-APR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/11 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>24657</OBJECT_ID>
<INITIALIZATION_DATE>07-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863085</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO127</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>07-APR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/11 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>24662</OBJECT_ID>
<INITIALIZATION_DATE>07-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863090</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO100</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>07-APR-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1></SNO_ATTRIBUTE1>
<OBJECT_ID>24585</OBJECT_ID>
<INITIALIZATION_DATE>07-APR-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863033</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO110</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>25-JUN-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/11 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>64265</OBJECT_ID>
<INITIALIZATION_DATE>30-JUN-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510863071</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>25-Jun-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
<G_ASW_REC_DATE>
<SNO_CREATED_BY>1433</SNO_CREATED_BY>
<SNO_REQUEST_ID>-1</SNO_REQUEST_ID>
<VENDOR_LOT_NUM>PO130</VENDOR_LOT_NUM>
<SNO_CREATION_DATE>25-JUN-09</SNO_CREATION_DATE>
<SNO_ATTRIBUTE1>2008/06/13 00:00:00</SNO_ATTRIBUTE1>
<OBJECT_ID>64275</OBJECT_ID>
<INITIALIZATION_DATE>30-JUN-09</INITIALIZATION_DATE>
<ORGANIZATION_CODE>10</ORGANIZATION_CODE>
<ORGANISATION_NAME>NDC - PARTS</ORGANISATION_NAME>
<SERIAL_NUMBER>6510875487</SERIAL_NUMBER>
<ITEM_CODE>3000.006</ITEM_CODE>
<DESCRIPTION>ALLISON 3000 SERIES ON HWY TRANSMISSION E016392</DESCRIPTION>
<MANUFACTURER>ALLISON</MANUFACTURER>
<APPLICATION>On Highway</APPLICATION>
<ITEM_COST>8879.02</ITEM_COST>
<MATERIAL_COST>631.09</MATERIAL_COST>
<CURRENCY_CODE>AUD</CURRENCY_CODE>
<PO_UNIT_PRICE></PO_UNIT_PRICE>
<TRANSACTION_RECEIPT_DATE>25-Jun-09</TRANSACTION_RECEIPT_DATE>
<PO_NUMBER>982121</PO_NUMBER>
</G_ASW_REC_DATE>
</LIST_G_ASW_REC_DATE>
<CF_SORT_BY>Manufacture,Receipt Date,Organization,Item Code</CF_SORT_BY>
<CF_SERIAL_WHERE></CF_SERIAL_WHERE>
</RECDTREP>HI Mahesh,
<TRANSACTION_RECEIPT_DATE>07-Apr-09</TRANSACTION_RECEIPT_DATE>
this is not a date,
so you should change the query to get you the format in xsd format : YYYY-MM-DDThh:mm:ss+HH:MM
otherwise, you have to write a custom sort function to decode and order it it.
if you dont do the custom order and use
<?sort:TRANSACTION_RECEIPT_DATE;'ascending';data-type='date'?>
the data will be treated as string and you will see the row is sorted on string. -
Hello all,
please see below input document which should be converted to output below in PI.
Nodes //node1/item should be sorted in same order like //node2/item (identified by value of <pid>) and if item does not exist in node2 (like with pid=501 below) it should get a position at the end. //node2 should be copied 1:1.
Any ideas for this mapping in XSLT, Java Mapping or with Graphical Mapping and UDF?
Regards
Markus
Input:
<root>
<node1>
<item>
<pid>201</pid>
<name>MA</name>
<street>
<no>123</no>
</street>
</item>
<item>
<pid>401</pid>
<name>MA</name>
<street>
<no>123</no>
</street>
</item>
<item>
<pid>501</pid>
<name>MA</name>
<street>
<no>123</no>
</street>
</item>
<item>
<pid>101</pid>
<name>MA</name>
<street>
<no>123</no>
</street>
</item>
<node1>
<node2>
<item>
<pid>101</pid>
</item>
<item>
<pid>401</pid>
</item>
<item>
<pid>201</pid>
</item>
<node2>
</root>
Output:
<root>
<node1>
<item>
<pid>101</pid>
<name>MA</name>
<street>
<no>123</no>
</street>
</item>
<item>
<pid>401</pid>
<name>MA</name>
<street>
<no>123</no>
</street>
</item>
<item>
<pid>201</pid>
<name>MA</name>
<street>
<no>123</no>
</street>
</item>
<item>
<pid>501</pid>
<name>MA</name>
<street>
<no>123</no>
</street>
</item>
<node1>
<node2>
<item>
<pid>101</pid>
</item>
<item>
<pid>401</pid>
</item>
<item>
<pid>201</pid>
</item>
<node2>
</root>Hi Markus,
This is only achievable by using UDF. Please refer to mapping below:
for node1:
pid(node1) --> mapWithDefault:suppressed --> concat: : --> concat: : --> removeContext --> UDF1 --> node1
name --> mapWithDefault:suppressed ----------> / / /
no --> mapWithDefault:suppressed ------------------------> / /
pid(node2) --> removeContext ------------------------------------------------------------> /
UDF1 is of CONTEXT Type, the arguments are:
Arr1
Arr2
Here is the code:
GlobalContainer globalContainer = container.getGlobalContainer();
String sortedArr[] = new String[Arr1.length];
String out = "";
int cnt = 0;
for(int a=0;a<Arr2.length;a++){
for(int b=0;b<Arr1.length;b++){
if(Arr1<b>.indexOf(Arr2[a])>-1){
sortedArr[cnt]=Arr1<b>;
Arr1<b> = "retrieved";
cnt++;
for(int a=0;a<Arr1.length;a++){
if(!Arr1[a].equals("retrieved")){
sortedArr[cnt]=Arr1[a];
cnt++;
for(int a=0;a<sortedArr.length;a++){
out += sortedArr[a] + " ";
result.addValue(sortedArr[a]);
globalContainer.setParameter("Result",out);
for pid:
Constant:PID --> mapWithDefault --> UDF2 --> SplitByValue:eachValue --> pid
for name:
Constant:NAME --> mapWithDefault --> UDF2 --> SplitByValue:eachValue --> name
for no:
Constant:NUMBER --> mapWithDefault --> UDF2 --> SplitByValue:eachValue --> no
UDF2 is of CONTEXT TYPE, input argument is: param
Here is the code for UDF2:
GlobalContainer globalContainer = container.getGlobalContainer();
String temp = (String) globalContainer.getParameter("Result");
String arr[] = temp.split(" ");
if(param[0].equals("PID")){
for(int a=0;a<arr.length;a++){
result.addValue(arr[a].substring(0,arr[a].indexOf(":")));
else if(param[0].equals("NAME")){
for(int a=0;a<arr.length;a++){
result.addValue(arr[a].substring(arr[a].indexOf(":"),arr[a].lastIndexOf(":")));
else
for(int a=0;a<arr.length;a++){
result.addValue(arr[a].substring(arr[a].lastIndexOf(":"),arr[a].length()));
Hope this helps,
Mark -
SORT NODE Fn. in Mapping
Hello,
I am trying to use this node fn sort in my gui mapping and whenever i use this fn and execute my mapping shows error:
RuntimeException in Message-Mapping transformation: Exception:[java.lang.IllegalArgumentException: Unknown comparator type: Lexicografical] in class com.sap.aii.mappingtool.flib3.NodeFunctions method sort[com.sap.aii.mappingtool.flib3.Plainer@9a64eb0]
Have any of you experienced such a situation?Hi
check this thread,
Message Mapping - Dump
it maybe a different error, but it guides u in the right direction to analyse the problem.
Sameer -
How to create xml nodes based on a value
Dear friends,
I've a question about graphical mapping in SAP PI...
How can I create XML nodes on the target side based on a value in a XML field on the source side.
For example:
This XML field on the source:
<NO_OF_LINES>4</NO_OF_LINES>
Must result on 4 Lines on the Target:
<LINE></LINES>
<LINE></LINES>
<LINE></LINES>
<LINE></LINES>
So it's actually the opposite of the Count function...
I appreciate your help,
Thank you in Advance,
Kind regards,
JohnHi ,
Try this
NO_OF_LINES---> count---> UDF---> LINE
example :
UDF Code :
for (int i=0;i<var1[0];i++)
result.addValue(""); -
Can someone please help me. I got this class (MyTreeNode) from this forum but has problem compiling/using it due to my beginners status in Java. My current program is shown below. My problem is that if I change DefaultMutableTreeNode to MyTreeNode the program won't compile as the constructor for MyTreeNode does not take a parameter. Please show my how I can modify this to make use of the new class. I only want to sort the nodes in alphabetical order. If someone has a better way of doing it, please post it here.
public void xpy()
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(field1);
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode(field2);
node1.add(node2);
class MyTreeNode extends DefaultMutableTreeNode
private static Comparator nodeComparator = new Comparator ()
public int compare(Object o1, Object o2)
return o1.toString().compareTo(o2.toString());
public boolean equals(Object obj)
return false; //static class -- 1 instance only
public void add(MutableTreeNode node)
super.add(node);
Collections.sort(this.children, nodeComparator); //this.children is a proteced variable reference to the node's vector of children.
Thanks
psllooJust add a constructor to your subclass:
class MyTreeNode extends DefaultMutableTreeNode {
public MyTreeNode(Object obj) {
super(obj);
...Regards
Maybe you are looking for
-
LaserJet P3005 Intermitent printing issue
Hi there, We have a LaserJet P3005 on a local LAN which receives print jobs from Windows XP users/ Word 2003 and also print jobs from SAP. What we have noticed is that from time to time some pages output with a lot of the characters on the page sque
-
How to manage users in generic syncronization process
Hi, We need to solve the following issue: We are developping a generic sync application in synchronous mode , it means, our application use generic syncronization to comunicate with backend R/3 in synchronous mode and this is an indispensable require
-
How much Hard drive space lion uses
How do I find out how HD space my upgraded Lion OS and Apps are using? I am purchasing a new iMac with 256GB SSD for the main drive and 1 TB for the secondary drive, but I want to make sure that 1. My current apps and lion will fit on the new HD as
-
Debug Multiple Flex Projects with shared PHP project
Hi ! I have a problem debugging Flex/PHP applications. I have many Flex projects with a shared PHP project, so I need to set the the output folder to the Flex project's folder, not the PHP's project folder. But it doesn't work, I mean the application
-
Best file splitting/joining software
I have a big QT Pro Res file that I'd like to split into 4 parts to transfer to a film festival. Any recommnedations on the best software out there to do this with? I want it to be simple for the other end to re-connect these files. I guess ideally t