N81 map-like for 6120c
is there an n82 map-like application for nokia 6120c? thanks and god bless!
Nokia maps are yet not available for your phone.
But, you can download Google Maps frm here m.google.com/maps (by typing this in your mobile browser).Application is quite good and also provides satellite view unlike nokia maps.
Was this post of some help? Click 'Kudos' star on the right hand side of this post. Your gesture will be highly appreciated!
Similar Messages
-
Huge performance differences between a map listener for a key and filter
Hi all,
I wanted to test different kind of map listener available in Coherence 3.3.1 as I would like to use it as an event bus. The result was that I found huge performance differences between them. In my use case, I have data which are time stamped so the full key of the data is the key which identifies its type and the time stamp. Unfortunately, when I had my map listener to the cache, I only know the type id but not the time stamp, thus I cannot add a listener for a key but for a filter which will test the value of the type id. When I launch my test, I got terrible performance results then I tried a listener for a key which gave me much better results but in my case I cannot use it.
Here are my results with a Dual Core of 2.13 GHz
1) Map Listener for a Filter
a) No Index
Create (data always added, the key is composed by the type id and the time stamp)
Cache.put
Test 1: Total 42094 millis, Avg 1052, Total Tries 40, Cache Size 80000
Cache.putAll
Test 2: Total 43860 millis, Avg 1096, Total Tries 40, Cache Size 80000
Update (data added then updated, the key is only composed by the type id)
Cache.put
Test 3: Total 56390 millis, Avg 1409, Total Tries 40, Cache Size 2000
Cache.putAll
Test 4: Total 51734 millis, Avg 1293, Total Tries 40, Cache Size 2000
b) With Index
Cache.put
Test 5: Total 39594 millis, Avg 989, Total Tries 40, Cache Size 80000
Cache.putAll
Test 6: Total 43313 millis, Avg 1082, Total Tries 40, Cache Size 80000
Update
Cache.put
Test 7: Total 55390 millis, Avg 1384, Total Tries 40, Cache Size 2000
Cache.putAll
Test 8: Total 51328 millis, Avg 1283, Total Tries 40, Cache Size 2000
2) Map Listener for a Key
Update
Cache.put
Test 9: Total 3937 millis, Avg 98, Total Tries 40, Cache Size 2000
Cache.putAll
Test 10: Total 1078 millis, Avg 26, Total Tries 40, Cache Size 2000
Please help me to find what is wrong with my code because for now it is unusable.
Best Regards,
Nicolas
Here is my code
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.tangosol.io.ExternalizableLite;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
import com.tangosol.util.Filter;
import com.tangosol.util.MapEvent;
import com.tangosol.util.MapListener;
import com.tangosol.util.extractor.ReflectionExtractor;
import com.tangosol.util.filter.EqualsFilter;
import com.tangosol.util.filter.MapEventFilter;
public class TestFilter {
* To run a specific test, just launch the program with one parameter which
* is the test index
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage : java TestFilter 1-10|all");
System.exit(1);
final String arg = args[0];
if (arg.endsWith("all")) {
for (int i = 1; i <= 10; i++) {
test(i);
} else {
final int testIndex = Integer.parseInt(args[0]);
if (testIndex < 1 || testIndex > 10) {
System.out.println("Usage : java TestFilter 1-10|all");
System.exit(1);
test(testIndex);
@SuppressWarnings("unchecked")
private static void test(int testIndex) {
final NamedCache cache = CacheFactory.getCache("test-cache");
final int totalObjects = 2000;
final int totalTries = 40;
if (testIndex >= 5 && testIndex <= 8) {
// Add index
cache.addIndex(new ReflectionExtractor("getKey"), false, null);
// Add listeners
for (int i = 0; i < totalObjects; i++) {
final MapListener listener = new SimpleMapListener();
if (testIndex < 9) {
// Listen to data with a given filter
final Filter filter = new EqualsFilter("getKey", i);
cache.addMapListener(listener, new MapEventFilter(filter), false);
} else {
// Listen to data with a given key
cache.addMapListener(listener, new TestObjectSimple(i), false);
// Load data
long time = System.currentTimeMillis();
for (int iTry = 0; iTry < totalTries; iTry++) {
final long currentTime = System.currentTimeMillis();
final Map<Object, Object> buffer = new HashMap<Object, Object>(totalObjects);
for (int i = 0; i < totalObjects; i++) {
final Object obj;
if (testIndex == 1 || testIndex == 2 || testIndex == 5 || testIndex == 6) {
// Create data with key with time stamp
obj = new TestObjectComplete(i, currentTime);
} else {
// Create data with key without time stamp
obj = new TestObjectSimple(i);
if ((testIndex & 1) == 1) {
// Load data directly into the cache
cache.put(obj, obj);
} else {
// Load data into a buffer first
buffer.put(obj, obj);
if (!buffer.isEmpty()) {
cache.putAll(buffer);
time = System.currentTimeMillis() - time;
System.out.println("Test " + testIndex + ": Total " + time + " millis, Avg " + (time / totalTries) + ", Total Tries " + totalTries + ", Cache Size " + cache.size());
cache.destroy();
public static class SimpleMapListener implements MapListener {
public void entryDeleted(MapEvent evt) {}
public void entryInserted(MapEvent evt) {}
public void entryUpdated(MapEvent evt) {}
public static class TestObjectComplete implements ExternalizableLite {
private static final long serialVersionUID = -400722070328560360L;
private int key;
private long time;
public TestObjectComplete() {}
public TestObjectComplete(int key, long time) {
this.key = key;
this.time = time;
public int getKey() {
return key;
public void readExternal(DataInput in) throws IOException {
this.key = in.readInt();
this.time = in.readLong();
public void writeExternal(DataOutput out) throws IOException {
out.writeInt(key);
out.writeLong(time);
public static class TestObjectSimple implements ExternalizableLite {
private static final long serialVersionUID = 6154040491849669837L;
private int key;
public TestObjectSimple() {}
public TestObjectSimple(int key) {
this.key = key;
public int getKey() {
return key;
public void readExternal(DataInput in) throws IOException {
this.key = in.readInt();
public void writeExternal(DataOutput out) throws IOException {
out.writeInt(key);
public int hashCode() {
return key;
public boolean equals(Object o) {
return o instanceof TestObjectSimple && key == ((TestObjectSimple) o).key;
}Here is my coherence config file
<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>test-cache</cache-name>
<scheme-name>default-distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>default-distributed</scheme-name>
<backing-map-scheme>
<class-scheme>
<scheme-ref>default-backing-map</scheme-ref>
</class-scheme>
</backing-map-scheme>
</distributed-scheme>
<class-scheme>
<scheme-name>default-backing-map</scheme-name>
<class-name>com.tangosol.util.SafeHashMap</class-name>
</class-scheme>
</caching-schemes>
</cache-config>Message was edited by:
user620763Hi Robert,
Indeed, only the Filter.evaluate(Object obj)
method is invoked, but the object passed to it is a
MapEvent.<< In fact, I do not need to implement EntryFilter to
get a MapEvent, I could get the same result (in my
last message) by writting
cache.addMapListener(listener, filter,
true)instead of
cache.addMapListener(listener, new
MapEventFilter(filter) filter, true)
I believe, when the MapEventFilter delegates to your filter it always passes a value object to your filter (old or new), meaning a value will be deserialized.
If you instead used your own filter, you could avoid deserializing the value which usually is much larger, and go to only the key object. This would of course only be noticeable if you indeed used a much heavier cached value class.
The hashCode() and equals() does not matter on
the filter class<< I'm not so sure since I noticed that these methods
were implemented in the EqualsFilter class, that they
are called at runtime and that the performance
results are better when you add them
That interests me... In what circumstances did you see them invoked? On the storage node before sending an event, or upon registering a filtered listener?
If the second, then I guess the listeners are stored in a hash-based map of collections keyed by a filter, and indeed that might be relevant as in that case it will cause less passes on the filter for multiple listeners with an equalling filter.
DataOutput.writeInt(int) writes 4 bytes.
ExternalizableHelper.writeInt(DataOutput, int) writes
1-5 bytes (or 1-6?), with numbers with small absolute
values consuming less bytes.Similar differences exist
for the long type as well, but your stamp attribute
probably will be a large number...<< I tried it but in my use case, I got the same
results. I guess that it must be interesting, if I
serialiaze/deserialiaze many more objects.
Also, if Coherence serializes an
ExternalizableLite object, it writes out its
class-name (except if it is a Coherence XmlBean). If
you define your key as an XmlBean, and add your class
into the classname cache configuration in
ExternalizableHelper.xml, then instead of the
classname, only an int will be written. This way you
can spare a large percentage of bandwidth consumed by
transferring your key instance as it has only a small
number of attributes. For the value object, it might
or might not be so relevant, considering that it will
probably contain many more attributes. However, in
case of a lite event, the value is not transferred at
all.<< I tried it too and in my use case, I noticed that
we get objects nearly twice lighter than an
ExternalizableLite object but it's slower to get
them. But it is very intersting to keep in mind, if
we would like to reduce the network traffic.
Yes, these are minor differences at the moment.
As for the performance of XMLBean, it is a hack, but you might try overriding the readExternal/writeExternal method with your own usual ExternalizableLite implementation stuff. That way you get the advantages of the xmlbean classname cache, and avoid its reflection-based operation, at the cost of having to extend XMLBean.
Also, sooner or later the TCMP protocol and the distributed cache storages will also support using PortableObject as a transmission format, which enables using your own classname resolution and allow you to omit the classname from your objects. Unfortunately, I don't know when it will be implemented.
>
But finally, I guess that I found the best solution
for my specific use case which is to use a map
listener for a key which has no time stamp, but since
the time stamp is never null, I had just to check
properly the time stamp in the equals method.
I would still recommend to use a separate key class, use a custom filter which accesses only the key and not the value, and if possible register a lite listener instead of a heavy one. Try it with a much heavier cached value class where the differences are more pronounced.
Best regards,
Robert -
One mapping program for three diferent enviroments
Hello there,
I have developed a scenario in which an rfc requests a web service trough XI. In the process a BPM is involved together with some XSLT mappings.
R3->XI->WebService
The Web service request message looks like follows:
<?xml version="1.0" encoding="UTF-8"?>
<cem:Z_ORDER_SEARCH xmlns:cem="http://XXXXXXXX/yyyyyyyyyyyy">
<messageStructure/>
</cem:Z_ORDER_SEARCH>
Where "http://XXXXXXXX/yyyyyyyyyyyy" Is the web service destination.
Everything works fine, but as I have to manage three different environments for Development, Quality and Production I need three different versions of the XSL mapping since destinations are not the same for Dev, Qlty and Production environments.
I found out that I can get information of the sender using runtime parameters as follows:
<xsl:param name="SenderSystem">
I would like to evaluate this information to determine the target URL destination.
If the sender is the development sender then the URL target is the development destination and so on.
I tried the following code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:cemDev="http://developmentDestination"
xmlns:cemQlty="http://qualityDestination"
xmlns:cemPrd="http://productionDestination"
xmlns:cem=""
<xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemDev"/>
<xsl:template match="/">
<cem:mappingProgram/>
</xsl:template>
</xsl:stylesheet>
This works all right, but I cannot insert code to evaluate the destination.
On the other hand, this code is not valid:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:cemDev="http://developmentDestination"
xmlns:cemQlty="http://qualityDestination"
xmlns:cemPrd="http://productionDestination"
xmlns:cem="">
<xsl:param name="SenderSystem"/>
<xsl:choose>
<xsl:when test="string($SenderSystem) = 'PRODUCTION'">
<xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemPrd"/>
</xsl:when>
<xsl:when test="string($SenderSystem) = 'QUALITY'">
<xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemQlty"/>
</xsl:when>
<xsl:otherwise>
<xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemDev"/>
</xsl:otherwise>
</xsl:choose>
<xsl:template match="/">
<cem:mappingProgram/>
</xsl:template>
</xsl:stylesheet>
Neither this one:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:cemDev="http://developmentDestination"
xmlns:cemQlty="http://qualityDestination"
xmlns:cemPrd="http://productionDestination"
xmlns:cem="">
<xsl:param name="SenderSystem"/>
<xsl:template match="/">
<xsl:choose>
<xsl:when test="string($SenderSystem) = 'PRODUCTION'">
<xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemPrd"/>
</xsl:when>
<xsl:when test="string($SenderSystem) = 'QUALITY'">
<xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemQlty"/>
</xsl:when>
<xsl:otherwise>
<xsl:namespace-alias stylesheet-prefix="cem" result-prefix="cemDev"/>
</xsl:otherwise>
</xsl:choose>
<cem:mappingProgram/>
</xsl:template>
</xsl:stylesheet>
I tried this other code, which is obviously not valid:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:param name="SenderSystem"/>
<xsl:choose>
<xsl:when test="string($SenderSystem) = 'PRODUCTION'">
<cem:Z_ORDER_SEARCH xmlns:cem="http://productionDestination">
</xsl:when>
<xsl:when test="string($SenderSystem) = 'QUALITY'">
<cem:Z_ORDER_SEARCH xmlns:cem="http://qualityDestination">
</xsl:when>
<xsl:otherwise>
<cem:Z_ORDER_SEARCH xmlns:cem="http://developmentDestination">
</xsl:otherwise>
</xsl:choose>
<cem:mappingProgram/>
</cem:Z_ORDER_SEARCH>
</xsl:template>
</xsl:stylesheet>
So the only way I found to make it works is like this:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:param name="SenderSystem"/>
<xsl:choose>
<xsl:when test="string($SenderSystem) = 'PRODUCTION'">
<cem:Z_ORDER_SEARCH xmlns:cem="http://productionDestination">
<cem:mappingProgram/>
</cem:Z_ORDER_SEARCH>
</xsl:when>
<xsl:when test="string($SenderSystem) = 'QUALITY'">
<cem:Z_ORDER_SEARCH xmlns:cem="http://qualityDestination">
<cem:mappingProgram/>
</cem:Z_ORDER_SEARCH>
</xsl:when>
<xsl:otherwise>
<cem:Z_ORDER_SEARCH xmlns:cem="http://developmentDestination">
<cem:mappingProgram/>
</cem:Z_ORDER_SEARCH>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Unfortunately this doesnt solve my problem, because I need to reproduce the mapping program three times in the document.
Any ideas, or suggestions how to manage one mapping program for the three different environments?
Thanks a lot in advance, RaúHi there,
I just found one way of getting this done. It may not be the better waw, but I post it in case it is helpfull.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<!-- Sender System at runtime-->
<xsl:param name="senderSystem"/>
<!-- SenderSystem constants (development addressed by default)-->
<xsl:variable name="qualitySenderSystem" select="'WHATEVERTHENAMEOFTHEQUALITYSENDERSYSTEM'"/>
<xsl:variable name="productionSenderSystem" select="'WHATEVERTHENAMEOFTHEPRODUCTIONSENDERSYSTEM'"/>
<!-- Mapping program template to be called-->
<xsl:template name="mappingProgram" match="/">
<!-- MAPPING PROGRAM-->
<UNIQUE_MAPPING_PROGRAM/>
<!-- END OF MAPPING PROGRAM-->
</xsl:template>
<!Receiver determination depending on senderSystem>
<xsl:template match="/">
<xsl:choose>
<xsl:when test="$senderSystem=$productionSenderSystem">
<xxx:Z_ORDER_SEARCH xmlns:xxx="http://production">
<xsl:call-template name="mappingProgram"/>
</xxx:Z_ORDER_SEARCH>
</xsl:when>
<xsl:when test="$senderSystem=$qualitySenderSystem">
<xxx:Z_ORDER_SEARCH xmlns:xxx="http://quality">
<xsl:call-template name="mappingProgram"/>
</xxx:Z_ORDER_SEARCH>
</xsl:when>
<xsl:otherwise>
<xxx:Z_ORDER_SEARCH xmlns:xxx="http://development">
<xsl:call-template name="mappingProgram"/>
</xxx:Z_ORDER_SEARCH>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet> -
hello all,
my scenario is idoc to xml file
E1EDKT1-------segment (1:n)
-TDID----
ele
-E1EDKT2----segment (1:n)
-TDLINE-----ele
When TDID value is X then all values in TDLINE of undeline sement E1EDKT2 needs to be cocatenated and passed to target elemnt A
if TDID value is Y then all values in TDLINE of undeline sement E1EDKT2 needs to be cocatenated and passed to target elemnt B
i have written java function(for all values in context) to conctenate TDLINE elements.
also the context of TDLINE is changed to E1EDKT1.
i am getting all the concatenaed values of TDLINE for TDID=X in target element A but i am not geting any value in target element B for TDID=Y
can any one suggest what could be the problem.
Regards,
SandipHi Sandip,
Map like this for target element A:
use simple if stament. and for If give TDID equals(text function) to constant X
and for then TDLINE-->concattdline(udf) --> output A
Map like this for target element B:
use simple if stament. and for If give TDID equals(text function) to constant Y
and for then TDLINE-->concattdline(udf) --> output B
concattdline udf:
Create a Context udf with one argument a and name it as concattdline.
Imports: java.*;
Add this code:
//write your code here
String value = "";
for(int j=0; j<a.length - 1; j++){
value += a[j] + "";
value += a[a.length - 1];
result.addValue(value);
I just tested this and it should work for you.
Regards,
---Satish -
Creating external mapping file for C# application
Hi,
I'm using Robohelp 7 and producing HTMLHelp files. So far, the programmers have been making internal links in the program to call my help, but I'd like to take this over using an external mapping file.
Is it possible to use regular map files, using the built-in Map ID functionality, for C# .NET applications? If so, is there something special I have to do? Or do I just create a regular map file?
Thanks!I mean that, in the past, they have hard-coded the link to each help page within the application. But, I'd like to take that over by maintaining a Map file where I specify the link between the topic and the Map ID.
However, I'm not sure that the map file works for C# .Net applications, and the engineers aren't sure either. I told them I'd go investigate.
Is there a way to create a Map file, or something that works like a map file, for a C# .Net application? Or do they have to go on hard-coding the links to each topic? -
Mapping Help for replacing source value
Mapping Help for replacing source value
Posted: Mar 14, 2006 1:06 AM Reply
Hi all,
I am unable to do transform the source value to required target value,
From Source ADDRESS_TYPE = 'HOME' should be replaced with 03 to target field ANSSA, and 'MAIL' to be replaced with 05, I am trying to do it but i am unable to handle it, please give u r valuable suggestions,
The source structure is like this,
- <Event ID="239" TRANS_TYPE="ADR">
<PersAddr GEO_LOC_CD="US" EMPLID="29" ADDRESS_TYPE="HOME" EFFDT="02/15/2006" ADDRESS1="92nd Floor" ADDRESS2="812backstreet" ADDRESS3="" ADDRESS4="" CITY="London" COUNTY="" STATE="AN" POSTAL="EC2N 4AG1" COUNTRY="GBR" KEY1="29" KEY2="HOME" KEY3="02/10/2006" />
<PersAddr GEO_LOC_CD="US" EMPLID="29" ADDRESS_TYPE="MAIL" EFFDT="02/15/2006" ADDRESS1="92nd Floor" ADDRESS2="812backstreet" ADDRESS3="" ADDRESS4="" CITY="London" COUNTY="" STATE="AN" POSTAL="EC2N 4AG1" COUNTRY="GBR" KEY1="29" KEY2="MAIL" KEY3="02/10/2006" />
</Event>
REGARDS,
sridharHi,
This can be done using user-defined function as well.
Code the function as...
if(Addr_Type.equals("HOME"))
return "03";
else if(Addr_Type.equals("MAIL"))
return "05";
else
return "Invalid Address Type";
Here, Addr_Type is Input String Argument for this function.
Map this function between ADDRESS_TYPE and ANSSA.
Regards,
Uma -
Google Maps widget for Captivate 4
Hi people,
I am planning to create a google maps widget for captivate 4. Something like it will load a map of the location(longitude,latitude) set by the project author in the published SWF at runtime.
If you like the idea, then please give your suggestions and options which you would like to see in the widget. Then what kind of controls you want to have in the widget.Hey there,
Take a look at this web address
http://blogs.adobe.com/captivate/2009/03/use_world_in_your_elearning_co.html
This includes a Google Map widget created by the Adobe Captivate team.
Best - Mark
Visit the macrofireball blog -
How to Map Fomulas for Float Glass Process
Hi All,
Can anybody suggest how to map formulas for float glass process.
As in float Glass process continuous production is going on single line, within that continuous ingredients are added in furnace and molten glass mass is coming out. this molten glass is now adjusted to particular thickness and then finally cut into specific sizes as per cusotmer requirment.
Final product is in various thickness, width and length.
Entire process is automated.
If anybody already implemented same scenario, please share knowledge.Hi
The following is the mapping process and it is tricky process need to map carefully.
You can define this as a single formula.
Output: Packed - cut to size - Finished Good Item.
Input: All the Raw materials (Sand, Dolamite, Limestone, Soda Ash, Sodium Sulphate, Carbon, Iron Oxide)
Packaging materials + Labels + Boxes etc.
Define Routing:
Resource: Furnace, Any other importance resource like Equipment that controls thickness, cutter etc, Labor, Associated Overhead
Create recipe using the formula and routing.
Various factors that can affect the mapping:
1) Formula maintenance: You have to define formula for each output item.
2) Possibility of dynamic determination of output item: If it is possible to produce different combination of thickness/width (and hence different FG item) in the same batch, then this won't be the right mapping.
3) Process variations: Also formula mapping depends on how accurate is production process. If user wants to produce item X (say thickness 10mm) but due to quality issue produced item Y (say thickness 9mm) and such cases happens very often, this won't be right solution.
4) Inventory measurement: This will determine the break-points. If you cannot measure the quantity (or even estimate) then you cannot define it as an intermediate item.
I will explain how point 4 can lead to different way of formula mapping.
Say you have a furnace that needs to run continuously for better quality or throughput. Hence you will be continuously adding raw materials to furnace and produce different outputs. You can break the single formula into multiple formulas as -
Formula 1) Output: Molten mass of glass
Input: All the Raw materials (Sand, Dolamite, Limestone, Soda Ash, Sodium Sulphate, Carbon, Iron Oxide)
Formula 2) Output: Packed - cut to size - Finished Good Item.
Input: Molten mass of glass
To have formula in such fashion you should have a way to measure or estimate the weight of Molten mass of glass.
If you are estimating the weight, there should be historical data available to determine what should be realistic output quantity for given input quantity. How much will be process loss and loss due to unwanted by product such as slag etc.
Further you can break formula 2 as
Output: One large sheet of give thickness
Input: Molten mass of glass
Output: Packed - cut to size - Finished Good Item.
Input: The large sheet of give thickness.
This kind of different mapping is possible which normally depends on:
1) Complexity of process
2) How complex BOM structure user wants to have
3) Are there any benefits of maintaining such complex system - like accurate costing or accurate production monitoring or facilitating planning process.
4) Can user maintain the complex system? Are they ready to capture data at finer level. Is it possible to capture the data.
5) And most important thing is how to handle exceptions. If every thing goes smoothly as planned (less exceptions) then user can have and afford any level of complexity. But if there are many exceptions to the normal process you have to concentrate more on how to handle the exceptions.
6) Satisfy all users: Accounting, Planning, Production, Quality, Inventory handling. Formula/Recipe touches all these modules.
Regards
Raj
Sierra -
Export all maps (mappings for all dimensions in EXCEL)
Hi,
it shouldn't be an unknown issue - but unfortunately I can't find the way :-(Below is updated code with the following changes :
- Adjusted SaveAs logic to prevent Excel prompts in the event the file already exists, etc. (i.e. DisplayAlerts TRUE / FALSE)
- Added Range creation logic for each worksheet page. If I really wanted perfect code, could do this better, but it gets the job done.
Sub ExportAllCurrDimMapsForLocationtoXLS()
'UpStream WebLink DM Custom Script:
'Created By: cbeyer
'Date Created: 11-23-11
'Purpose: Export all dimension maps to an Excel workbook
'Declare Constant
'NOTE : This will control whether the function gets the current map in the system or whether it looks back for a specific Period
' FDM stores the Map for each period that was loaded... You may want to export a particular POV Period for audit purposes, etc.
' IF you enable this, be sure to set the POV Period before running.....
Const boolgetPOVPeriodMap = False
'Declare working variables
Dim intPartitionKey
Dim strOutputMessage
Dim strSQL
Dim strCategoryFreq
Dim objPeriodKey
Dim strOutputFileName
Dim strOutputFilePath
'Get the location (PartitionKey
intPartitionKey = RES.PlngLocKey
'Create SQL Query to get Current Map Data
If boolgetPOVPeriodMap = False Then
strSQL = "SELECT * FROM tDataMap where PartitionKey = " & intPartitionKey & " order by DimName ASC"
Else
strCategoryFreq = API.POVMgr.fCategoryFreq(API.POVMgr.PPOVCategory)
Set objPeriodKey = API.POVMgr.fPeriodKey(API.POVMgr.PPOVPeriod, 0, strCategoryFreq)
strSQL = "SELECT * from vDataMap where PartitionKey = " & intPartitionKey & " and PeriodKey = '" & objPeriodKey.dteDateKey & " 12:00:00 AM' order by DimName Asc"
End If
'Create Recordset for all Exported Entities
Set rsMap = DW.DataAccess.farsKeySet(strSQL)
If rsMap.EOF And rsMap.BOF Then
'No records
If boolgetPOVPeriodMap = False Then
strOutputMessage = "No Mapping data was found For " & API.POVMgr.PPOVLocation & ". If this location Is using Parent Maps, you can only export mapping data at the parent location."
Else
strOutputMessage = "No Mapping data was found For " & API.POVMgr.PPOVLocation & " for period " & API.POVMgr.PPOVPeriod & ". If this location Is using Parent Maps, you can only export mapping data at the parent location."
End If
Else
'Records Exist, process
'Generate file name / path
If boolgetPOVPeriodMap = False Then
strOutputFileName = API.POVMgr.PPOVLocation & "_DimensionMaps.xls"
Else
strOutputFileName = API.POVMgr.PPOVLocation & "_" & objPeriodKey.strDateKey & "_DimensionMaps.xls"
End If
strOutputFilePath = DW.Connection.PstrDirOutbox & "\ExcelFiles\"
'Create Excel file reference
'Declare Excel working variables
Dim oExcel
Dim oBook
Dim oSheet 'No puns here......
Dim oRange
Dim intCurrentSheetOrdinal
Dim intCurrentRowOrdinal
Dim intCurrentColOrdinal
'Intialize Excel
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
'Declare working variables
Dim strCurrDimName
'Initialize variables
strCurrDimName = ""
intCurrentSheetOrdinal = 1
intCurrentRowOrdinal = 1
intCurrentColOrdinal = 1
With rsMap
Do Until .eof
'Check to see if current DimName matches existing DimName. If not, add headers
If rsMap.fields("DimName") <> strCurrDimName Then
'If the dimension name has changed to a different dimension name, show total information before starting headers
'If the previous dimension was not "", then we are transitioning from one range to the next. Lets create a named range on the just
'finished worksheet because we can or because you may want to use this for re-uploading
'NOTE : The range I'm creating is more for reference as to how to implement this and I don't know if I'm making the range in a fashion that
'FDM will pickup for importing.
'NOTE : You probably want intCurrentRowOrdinal - 1 since it is 1 row past the last row of data at this point. If you want to clean it up,
'then you need to make sure RowOrdinal is not going to be less than the starting point and I didn't feel like adding the couple rows of
'code to do the work properly as FDM will just ignore the blank row in all likelihood.
If strCurrDimName <> "" Then
Set oRange = oSheet.Range("A6:K" & intCurrentRowOrdinal)
oBook.Names.Add "ups"&strCurrDimName, oRange
End If
'Create worksheet reference
Set oSheet = oBook.Worksheets(intCurrentSheetOrdinal)
'Create default header at top of each new dimension group
If boolgetPOVPeriodMap = False Then
oSheet.range("A1") = (API.POVMgr.PPOVLocation & " - Map Conversion")
Else
oSheet.range("A1") = (API.POVMgr.PPOVLocation & " - Map Conversion for " & rsMap.fields("PeriodKey"))
End If
oSheet.range("A3") = "Partition: " & API.POVMgr.PPOVLocation
oSheet.range("A4") = "User ID: " & DW.Connection.PstrUserID
'NOTE: I could make an array of the field names and do a loop here; however, this is easier to read.....
' probably not how I would do it from an efficiency standpoint, but since it's a limited number of fields
' this will work.....
oSheet.range("A5") = "PartitionKey"
oSheet.range("B5") = "DimName"
oSheet.range("C5") = "Source FM Account"
oSheet.range("D5") = "Description"
oSheet.range("E5") = "Target FM Account"
oSheet.range("F5") = "WhereClauseType"
oSheet.range("G5") = "WhereClauseValue"
oSheet.range("H5") = "-"
oSheet.range("I5") = "Sequence"
oSheet.range("J5") = "DataKey"
oSheet.range("K5") = "VBScript"
'Update variables
strCurrDimName = rsMap.fields("DimName")
intCurrentRowOrdinal = 6
intCurrentSheetOrdinal = intCurrentSheetOrdinal + 1
'Update worksheet name
oSheet.name = strCurrDimName
End If
'Write Details
oSheet.range("A" & intCurrentRowOrdinal) = intPartitionKey
oSheet.range("B" & intCurrentRowOrdinal) = rsMap.fields("DimName").Value
oSheet.range("C" & intCurrentRowOrdinal) = rsMap.fields("SrcKey").Value
oSheet.range("D" & intCurrentRowOrdinal) = rsMap.fields("SrcDesc").Value
oSheet.range("E" & intCurrentRowOrdinal) = rsMap.fields("TargKey").Value
oSheet.range("F" & intCurrentRowOrdinal) = rsMap.fields("WhereClauseType").Value
oSheet.range("G" & intCurrentRowOrdinal) = rsMap.fields("WhereClauseValue").Value
oSheet.range("H" & intCurrentRowOrdinal) = rsMap.fields("ChangeSign").Value
oSheet.range("I" & intCurrentRowOrdinal) = rsMap.fields("Sequence").Value
oSheet.range("J" & intCurrentRowOrdinal) = rsMap.fields("DataKey").Value
oSheet.range("K" & intCurrentRowOrdinal) = rsMap.fields("VBScript").Value
'Increment Counters
intCurrentRowOrdinal = intCurrentRowOrdinal + 1
'Move to the next record
.movenext
Loop
End With
'Final Sheet Named Range addition
'Since the loop will end and we will not execute the above logic to create the range for the previous sheet
'the easiest (laziest) solution is to just handle the last sheet after the loop.
'We're basically doing the same stuff we did above, just down here.
If strCurrDimName <> "" Then
Set oRange = oSheet.Range("A6:K" & intCurrentRowOrdinal)
oBook.Names.Add "ups"&strCurrDimName, oRange
End If
'Close / release file objects
'Added some logic here to ensure you don't get caught up on the file replace prompt.
oExcel.Application.DisplayAlerts = False
oBook.SaveAs strOutputFilePath & strOutputFileName
oExcel.Application.DisplayAlerts = True
oExcel.Quit
'Create output message
strOutputMessage = "Mapping data export for " & API.POVMgr.PPOVLocation & " complete. Extract file is : " & strOutputFilePath & strOutputFileName
End If
'Close / release data objects
rsMap.close
'Display output
If LCase(API.DataWindow.Connection.PstrClientType) = "workbench" Then
MsgBox strOutputMessage
Else
'Let the user know we are done
RES.PlngActionType = 2
RES.PstrActionValue = strOutputMessage
End If
End SubEdited by: beyerch2 on Dec 14, 2011 9:43 AM -
Need Seeburger Mapping name for DESADV .
Hi All,
I want the Seeburger mapping name for DESADV .
The format of the file is ANSI file.
Also i want the folder name or standard number for DESADV ??
I mean like for Orders the folder name will be " ANSIX12_V3020_850 "
Kindly let me know asap.
Thank You.
Regards
Seema.Hi,
These are the few naming conventions that will be followed while doing mapping in SEEBURGER BIC mapping designer.Let me know if they help u in any way..
ADOPTED NAMING CONVENTIONS
1 - For Application Rules:
DOCUMENT_APLLICATION_DIRECTION_DATA (FILE EXTENSION FOR REFERENCE)
Length for each:
Document = 3 Samples of: PUR, POC, POA, ASN, TXT
Application = 4 Samples of: RECL, SOMS, HRMS, CORP, COMS, CONT
Direction = 1 Samples of: I or O
Data = 3 Samples of: DAT, XML, RPT
NOTE: Since spaces are not allowed in the names, S will be used as filler .
Sample Application Naming:
For 824 for Banking doc TXT_CORP_I_RPT
2 - For Project Rules:
We decided that we would group these by related documents. Ex. All POs would be together.
Following are the Project definitions:
ORDERS (PURCHASING) = 850, 880
BANKING = 820, 824 (Related to the banking 820 only)
TRANSPORTATION = 404, 858, 856, 940, 945, 990, ..
INVOICING = 810, 857
TEXT = 824, 864, 870
INVENTORY = 852, 830, 846,..
3 General Rules:
1- IF mapping is the same with HRMS & COMS
THEN Use CONT for Application
ELSE Use HRMS or COMS (which ever is appropriate)
2- IF document is the same for the entire corporation
THEN Use CORP as the Application
3- IF Generic
THEN No Suffix is required
ELSE Trading Partner Specific maps add the suffix
For Trading Partner specific rules, add the Name extension to the end of the rule
Thanks . -
Seeburger Mapping Name for ORDERS EANCOM D01B format
Hi Experts,
Can anyone please let me know the Seeburger mapping name for ORDERS_EANCOM_D01B format.
See_E2X_ORDERS_EANCOM_D01B doesn't seem to be working.
Thanks.
Regards,
ShwetaLog on tothe physical system of the XI system, go to the Seeburger folder(Usually found in the D Drive).
Something like D:/Seeburger/HT/EDI Message Catalog/
Then look into the Folder corresponding to your EDI Standard/Message/Version combination.
YOu will find 3 files in the folder.
In that you will find a file name starting with msg_<XXXXXX>
YOu can get an Idea of the Mapping name because the mapping name would then be See_E2X_<XXXXXX> -
Request jquery.mobile-1.4.2.min.js.map like crazy.
http://cihuice/learn.html#choice
the site act normally in chrome.
and when firefox open it. fiddler2 can find out that it request jquery.mobile-1.4.2.min.js.map like crazy.
[at first we thought it's fiddler2's fault, but it isn't]
I firmly believe it's a firefox bug. due to experiment.
you can check it too, but becareful not to cause ddos to my site. it's have poor bandwidth.Hi bkb233,
It actually works perfectly for me in Firefox 34. Please try to clear the cache or try a new profile. [[Use the Profile Manager to create and remove Firefox profiles]] -
Exception: non-read-only mapping defined for the primary key field
Hello.
I'm new to Oracle and I created Java EE Web Project.
And I created entities from tableA, tableB, tableC from my database.
tableA has foreign key to tableB and has unidirectional Many-to-One relationship. tableC has two primary keys and one of these is foreign key to primary key in tableA. tableC also has unidirection Many-to-One relationship to tableA.
Then I created session bean and data control from it, in design window, created read-only table from tableA.
And I selected columns in tableA and also in tableB.
I ran the application and saw the following exception in log window.
Local Exception Stack:
Exception [EclipseLink-46] (Eclipse Persistence Services - 2.1.3.v20110304-r9073): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: There should be one non-read-only mapping defined for the primary key field [tableC.tableA_ID].
Descriptor: RelationalDescriptor(mypack.tableC --> [DatabaseTable(tableC)])
tableA_ID is a primary key in tableA.
How can I solve this error?
Please help me.
Edited by: 900471 on 2011. 12. 3 오전 5:32
Edited by: 900471 on 2011. 12. 3 오전 5:33
Edited by: 900471 on 2011. 12. 3 오전 5:33
Edited by: 900471 on 2011. 12. 3 오전 5:34There are not enough details to be sure since you have not provided the mappings. From just the error, it looks like you are using the tableC.tableA_ID field as the foreign key in the ManyToOne relationship to A, but have marked it as insertable=false, writeable=false, meaning that it cannot be updated or used for inserts.
Either make it writable (set the settings to true), or add another basic mapping/attribute in the entity for TableC that maps to the field which you can use to set when you insert a new tableC entity. A simple example is available at
http://wiki.eclipse.org/EclipseLink/Examples/JPA/2.0/DerivedIdentifiers
Best Regards,
Chris -
Login script not mapping drives for users
I am in the process of configuring a new Windows 2008 terminal server in an existing Windows 2003 domain. The TS is installed on a member server running Windows Server 2008 SP2. The problem is that the domain login script (set in group policy) does not seem to be working for the users.
I have a special TS group policy for the new terminal server and have enabled loopback processing on the default domain policy. The only setting configured in the TS policy is the location of the user's terminal server roaming profile. This seems to be working. Other than the login script, other elements of the domain-level group policy, such as folder redirection, seem to be working. When I run the GP result tool on the terminal server, it shows all of the appropriate group policies from both the TS policy and the domain-level policy, including the login script. This login script is vital, since it does drive mapping for a bunch of resources on the domain that users need to run certain programs. The odd thing is that the login script runs for the Administrator account, which uses a separate group policy that has inheritance blocked.
Any help would be appreciated!
LaurieI realize this is old, but for anyone who comes here after me, here goes. What i found, is that instead of running a vbs script to map the drives, i run a vbs script to get the parameters i need, then i run a batch file from the vbs and pass it the
parameters. For some reason, when the logon script is run as a batch file, all of the drives map, even for users who are local admins. It seems to run in the users current context, unlike a vbs script. Here is an example :
' maps a shared documents folder "S:/" to the same folder as the OU that the user is in.
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
strUserName = objUser.samAccountName
strOUPath = objUser.Parent
arrContainers = Split(strOUPath, ",")
arrOU = Split(arrContainers(0), "=")
strOU = arrOU(1)
Set objShell = CreateObject("WScript.Shell")
objShell.Run "\\domainname\NETLOGON\Login.bat """ & strOU & """", , TRUE
And the batch file takes the parameters like so :
:: Initialize variables
set parentOU=%~1
:: Delete all known shares
net use s: /delete
:: Map all known shares
net use S: "\\domainname\mainshare\%parentOU%" /persistent:yes
Make sure to use quotes around the variable in the vbs file, or your batch file will see it as two parameters. Then make sure to use %~1 as the variable in the batch file to remove the quotes from the parameter that is passed. -
Calling Java Script to open a Map (Like Google Map) from Oracle Forms 10g
Hello,
We are on Oracle EBS rel 12, Forms 10g. We have a requirement of calling a Custom Map application (Like Google Maps) from Oracle Forms 10g.
When the user enters the address like town, city, country etc and clicks on a button there should be a call to this Google Map like application which will pass the co-ordinates (Latittude, Longitude) to the map and shows the place on it. If the user selects a different location on this maps and closes the window the parameters co-ordinates (Latittude, Longitude) should be back in the calling form and this new location should replace the original location.
I appreciate if I can get some help for the above requirements.
Thank you.
GMThank you for your reply. I was reading on the metalink that we could use the to call the java script from oracle Forms 10g (Doc ID 265863.1)
Example:
WEB.SHOW_DOCUMENT ('javascript:void(window.open("http://www.oracle.com","","location=no,toolbar=no,menubar=no,status=no,"));self.close()','_blank');
I tried it but it did not open the any window as it claims. Am I missing anything? Is there any IE related setting which I need to modify for the above to work?
Regards
GM
Maybe you are looking for
-
Output field length issue in OO ALV
Hello Experts, I have an requirement to download ALV grid output into Excel but some of columns having more than 128 characters, as per standard SAP will not support so I have included one more button and I have written the below code. field-symbol
-
Hi ple let me know hopw can i get slow moving item analysis i am getting from 2lis_03_bf. please check below my requirement and let me know ur solution SLOW MOVING ITEM ANALYSIS (BI content Infocube - 0IC_MC01) Column E Slow Moving Items Value Th
-
How to change the answer text within the review widget of iBooks Author?
I want to change the answer text which appears after one has finished a test within the review widget of iBooks Author, but I can't figuere out how to do that. I also want to sum up the result of a couple of questions as a percentage. How does that w
-
Effects of Syncing Between Different Macs?
Hi. <background> My iPhone is currently sync'd to an iBook (500 MHz, dual USB) at my house - Mail, Safari, iCal, Address Book, the works. That iBook only has 1GB remaining on the hard drive which results in an iTunes Library consisting of only 1 albu
-
How do I downgrade to flash player 10.3 from 11.2?
I cannot record or playback when using the RAZKIDS website. I want to record a child taking while on the website and play the recording back later to check proficiency. The website no longer can do this with the flash player version 11. My friend ca