Dynamic Load Plan creation using scripting
Hello All,
We have a requirement to create load plans dynamically i.e using script groovy. Idea is that we will store interface scenarios in a table and then script will read these scenarios an create dynamic load plans. Now following are my question.
1) Is it possible to create load plans through script ? (different blogs on net claims that you can do anything or everything whatever ODI studio can do)
2) Any pointer what API to use for this task ? I am very new to scripting and have zero idea about how to go about it . if possible please suggest sample script to create load plans (I can see some sample to create interface,folder etc on net.)
Thanks in advance for your reply.
Thanks & Regards
ODI SDK apis allows dynamic creation of Loadplans. Oracle Fusion Middleware Java API Reference for Oracle Data Integrator
Studio too uses these APIs for LP related operations so you should be able to do using these whatever studio allows.
You can find SDK samples at Oracle Data Integration Sample Code
Similar Messages
-
Alpha transparency borders on dynamically loaded images for use with textures
Hi there folks. Well, I have been beating my head over this
and am hoping one of you can help me out.
Essentially I have 16bit images that are loaded into my
shockwave application at run-time. These images are user defined
which means that I will not know their size ahead of time. Once the
images are loaded I then create textures and apply them to various
shaders. Ok, all of this works just fine. What I need to do though
is create an alpha transparent border around the images, so when I
apply them to their surfaces I only see the image and nothing
around it. I am doing this because these images will only appear at
specific parts on a surface, textureRepeat will be false, and many
models will be stacked in the same exact location using the same
model resource. I have everything working, but I cannot figure out
the alpha part for the life of me. Also, when I test the alpha
based image by itself it works just fine. It is not until I try and
combine the 16bit (converted to 32bit at run-time) image that I run
into problems.
I have tried:
- Creating a 32bit alpha image in Fireworks with a
transparent border and a black rect for the inside. I then copy the
dynamic image over the alpha image (only after going from 16bit to
32bit in imaging Lingo) and leave a little room at the edges for
the transparency. Well, I get a crazy amount of streaks here even
when I try to up the trans border by around 24 pixels on each side.
- Using another similiar alpha based image as a mask with
copyPixels and extractAlpha/setAlpha like this... (code is a little
rough here)
newImage = new(#bitmap)
newImage.name = "place_Test"
newImage.image = member("place").image
newAlpha = new(#bitmap)
newAlpha.name = "AHH"
newAlpha.image = image(newImage.image.width + 24,
newImage.image.height + 24, 32)
newAlpha.image.useAlpha = true
newAlpha.image.copyPixels(member("vase").image,
newAlpha.image.rect, member("vase").image.rect)
newAlphaInfo = newAlpha.image.extractAlpha()
newAlpha.image.useAlpha = false
--reverse dark to light
iAlphaReverse = image(newAlpha.image.width,
newAlpha.image.height, 8, #grayscale)
iAlphaReverse.fill(iAlphaReverse.rect, rgb(0,0,0))
iAlphaReverse.copyPixels(newAlphaInfo, iAlphaReverse.rect,
newAlphaInfo.rect, [#ink : #reverse])
--newAlphaInfo.copyPixels(iAlphaReverse, newAlphaInfo.rect,
iAlphaReverse.rect, [#ink:#subtractpin])
newAlphaMask = iAlphaReverse.createMask()
rescaleAbs(newImage, newImage.image.width,
newImage.image.height, "place_Test", 32)
destImage = member("place_Test").image.duplicate()
destImage.fill(destImage.rect, rgb(0,0,0))
newAlpha.image.useAlpha = false
destImage.copyPixels(newImage.image, newImage.image.rect,
newImage.image.rect, [#maskImage:newAlphaMask, #ink:#add])
destImage.setAlpha(iAlphaReverse)
destImage.useAlpha = true
member("place_Test").image = destImage
I apologize for the messy code. I have cut and pasted from
all over the place and am getting confused. In any case, I think I
am making this harder then it needs to be and hope someone can
help.
Thank you in advance,
DaveHi, you can try using other texture layer as mask on the same
shader. As usually you create the texture from a dynamic loaded
image, then apply this texture to the shader on the texture list
index 1 (textureList[1]). Next part does the job, create other
texture from a 32 bits image with the alpha information and fill
all pixels with white color, this is very important because the
second texture layer will be multiply with the first texture layer.
This texture set its render format to rgba8888. Apply the mask
texture to the same shader at texture list index 2, verify that the
blendFunctionList index 2 is #multiply.
I include the code of a project that use this masking
approach:
property pMember
property pEarthSphere
property pNightSphere
property pLastTransform
on beginSprite me
pMember = sprite(me.spriteNum).member
me.setupWorld()
end
on setupWorld(me)
pMember.resetWorld()
repeat with i = pMember.light.count down to 1
pMember.deletelight(i)
end repeat
vEarthModelResource = pMember.newModelResource("EARTH MODEL
RESOURCE", #sphere)
vEarthModelResource.radius = 50.000
vEarthModelResource.resolution = 20
vEarthTexture = pMember.newTexture("EARTH TEXTURE",
#fromCastMember, member(3,1))
vEarthShader = pMember.newShader("EARTH SHADER", #standard)
vEarthShader.emissive = color(255,255,255)
vEarthShader.flat = TRUE
vEarthShader.transparent = FALSE
vEarthShader.textureList[1] = vEarthTexture
pEarthSphere = pMember.newModel("EARTH MODEL",
vEarthModelResource)
pEarthSphere.shaderList = vEarthShader
vNightModelResource = pMember.newModelResource("NIGHT MODEL
RESOURCE", #sphere)
vNightModelResource.radius = 50.2000
vNightModelResource.resolution = 20
vNightTexture = pMember.newTexture("NIGHT TEXTURE",
#fromCastMember, member(4,1))
vNightTexture.quality = #lowFiltered
vNightTexture.nearFiltering = FALSE
vNightTexture.renderFormat = #rgba8880
vNightShader = pMember.newShader("NIGHT SHADER", #standard)
vNightShader.emissive = color(255,255,255)
vNightShader.flat = TRUE
vNightShader.transparent = TRUE
vNightShader.textureList[1] = vNightTexture
vMaskNightTexture = pMember.newTexture("MASK NIGHT TEXTURE",
#fromCastMember, member(6,1))
vMaskNightTexture.renderFormat = #rgba8888
vNightShader.textureList[2] = vMaskNightTexture
vNightShader.textureModeList[2] = #wrapPlanar
pNightSphere = pMember.newModel("NIGHT MODEL",
vNightModelResource)
pNightSphere.shaderList[1] = vNightShader
pNightSphere.parent = pEarthSphere
end
on exitFrame(me)
pEarthSphere.rotate(0.0,0.1,0.0)
me.moveMaskNightTexture()
end
on moveMaskNightTexture(me)
vRotationVector = - pEarthSphere.transform.rotation
pNightSphere.shaderList[1].wrapTransformList[2].rotation =
vRotationVector
end -
Getting a #7 error when dynamically loading a VI using a DLL
Problem invoking a VI dynamically in LabVIEW 7.0.
Example files are attached (simply extract the files
in one directory).
I have a VI, Invoker.vi, that dynamically invokes
another one, Basic VI.vi.
If I use Invoker.vi natively, no problem, everything
works.
Now, I build Invoker.vi as a shared library
(Invoker.dll), and call it from an executable
(CallingLabVIEW.exe, requires .Net Framework 1.1,
you can create your own by simply calling the
long Invoker(LVBoolean *status) method from the DLL).
I get an error:
Open VI Reference in Invoker.vi->Invoker.vi.ProxyCaller
Anyone knows what I may be doing wrong?
I've tried putting the full path name of Basic VI.vi,
same result
Thanks in advance,
phil
Attachments:
Invoker.zip 42 KBZvezdana,
Thanks for the help, but... ...I had forgotten to mention that I *had* tried adding the VI in the build process. It didn't solve the issue, and in any case having to build with all the dynamic VIs would not be practical for what I'm trying to achieve.
Another note on this matter: I have an application (an EXE) built that calls dynamic VIs without having them included in the build, and that works. I believe adding dynamic VIs to the build is only useful if the dynamic VIs are not going to be deployed with the application otherwise. But, if they are available on the target host at the path specified when you run the application, it should work even if you didn't include them in the build.
Thanks again,
phil -
Dynamic file name creation using FTP adapter wired from a mediator
Hi All,
My Requirement is as follows....
Mediator is wired to Three FTP adapters to create three files.
File names are dynamic.
In the mediator those three routings, mappings and assignment for the directory and file name are being created.
But out of 3 files, 2 files are being created with the names mentioned during the FTP adapter configuration and the last one is being created
with the dynamic value.
Any help in this regard is highly thankful.
Thank you.
Srivatsasa.Create a UDF in mapping taking counter from IDoc as input parameter
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
String totalFilename = "AAAA_" + counter;
conf.put(key,totalFilename);
return totalFilename;
Map output of this UDF to Top node at target.
you will not be able to see the result in test tab of mapping but it works end to end
Select Adapter Specific Message Attributes in receiver file adapter..here select filename checkbox -
Cannot dynamically load dylib library using Alchemy?
hello,
I'm on Mac osx Leopard , i have build a dylib from C code who
basically invert a string ("hello" becomes "olleh")
I want to compile and create with Alchemy a .swc file who
call my dylib file.
Finally i want to import my .swc file in flex builder and
being able to use my invert function who is in my dylib library
Is it technally possible ?
Thanks everyone for your help.Every line of C/C++ code you want to use in Alchemy must be
compiled using Alchemy. You cannot link in naively compiled code.
So if you have the source for each library, you can compile them
using the alchemy toolset and then link those static libs into a
swc with a glugen or raw alchemy interface. -
Dynamic Drop Down creation using simple data types
Hi all,
I have got a requirement in which i have to create an iView which is going to have 6 drop down values and with in that 1 value is going to have sub values which needs to get displayed in the similar drop down fashion.
I have created a simple data type having enumeration of the 6 values and linked the same to iView with drop down by key which is working successfully. And for the purpose of sub values i have created a similar simple data type with two values and linked the same with a value attribute.
Well, can any one tell me the further process to proceed ?
Thanks in advance ...
VipinVipin,
There are quite some steps to achieve what you need. Since you have both your DropDownByKey elements defined and bound to context elements, it may make sense to keep the Second DropDownByKey element invisible and make it visible only when user selects a specified key from first DropDownByKey. To achieve this, follow these steps.
1. Create an action with a parameter "key" of type string.
2. Bind this action with onSelect event of your First DropDownByKey UI Element.
3. Do mapping of parameter "key" in your wdDoModifyView with following code.
if (firstTime)
final IWDDropDownByKey dk = (IWDDropDownByKey)view.getElement("DropDownByKey1");
// Replace DropDownByKey1 with id of your DropDownByKey Element.
dk.mappingOfOnSelect().addSourceMapping("key", "key");
4. Create a context attribute of type WDVisibility say "DDVisible" and bind to "visible" property of your second DropDownByKey.
5. Set DDVisible to NONE in wdInit().
wdContext.currentContextElement().setDDVisible(WDVisibility.NONE);
6. In onSelect action write this code to make second visible
if(key.equalsIgnoreCase("Two")){
//Replace "Two" with your required value.
wdContext.currentContextElement().setDDVisible(WDVisibility.VISIBLE);
else{
wdContext.currentContextElement().setDDVisible(WDVisibility.NONE);
This should give the desired results.
Hope this helps.
Vishwas. -
Role Creation using CAT Scripts
Hi,
Step by step procedure needed.
I need role creation using scripts(SECATT),org values that needs to maintain
is full authorization.
pls help me.
ramHi Ram,
There is a SECATT tutorial here: http://www.*********************/tutorials/secatt_user_create.html
If you learn that & the principles associated with SECATT then you can apply that to creating and populating roles.
In my opinion SCAT is much easier to use, though less flexible, -
I want to use my Time Capsule as a central 'hub/hard-drive' in order to keep all my working files in one place. I then plan to use my laptops/desktops as peripheral devices for editing and creation of these files. Is it possible? To create a personal cloud?
Can someone advise as to whether i can do the following:
Future Internet connection -------------------TIME CAPSULE (containing all files) -------------- Backed up on the WD 2T Hard-drive I have
(not connected yet) I (*connected to timecapsule physically)
I
I I I I I
Macbook Pro iMac HP (PC) OLD Macbook Pro iPhone
(used for remote working) (Used for home working) (used for heavy CAD and rendering) (not being used for anything at the moment) (& iPods)
I am looking to have all my files in one place as i am hopelessly disorganised. I know the online clouds are a good solution (used Dropbox at work and uni for 3 years) however i am wanting to create my own 'dropbox/icloud' at home. So whenever i get back home with my laptop, any work i have been working on whilst out that day is updated to the timecapsule, and then ultimately as i turn on the other devices, they update to those newer versions of the files. Please tell me that the 3TB time capsule i have can do this, otherwise it feels rather overpriced as a wireless storage device?
Another note (to those in the know) If i am to be working on large files (REVIT/SOLIDWORKS/KEYSHOT/CREO/AUTOCAD) - is the timecapsule connection good enough to support editing and updating these files?
I know i may be asking a question that many have before, but as a bit of a technical novice I wanted a clear-cut answer to my specific circumstances. Your help is greatly appreciated.
(*can i use this WD hard-drive that is connected to the Time Capsule as a back up? so that the time machine back-ups/any back ups are also backed up onto this one? can the WD be a backup for the TC?)
Kind Regards
JoeThe diagram was supposed to look more like this......
Internet ---------TIME CAPSULE(containing all files) --------WD 2T Harddrive
I
I I I I I
Macbook Pro iMac HP (PC) OLD Macbook Pro iPhone
Sorry!
Regards
Joe -
Unable to load data to Hyperion planning application using odi
Hi All,
When I try to load data into planning using odi, the odi process completes successfully with the following status in the operator ReportStatistics as shown below but the data doesn't seem to appear in the planning data form or essbase
can anyone please help
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 2, in <module>
Planning Writer Load Summary:
Number of rows successfully processed: 20
Number of rows rejected: 0
source is oracle database
target account dimension
LKM SQL TO SQL
IKM SQL TO HYPERION PLANNING is used
In Target the following columns were mapped
Account(load dimension)
Data load cube name
driverdimensionmetadata
Point of view
LOG FILE
2012-08-27 09:46:43,214 INFO [SimpleAsyncTaskExecutor-3]: Oracle Data Integrator Adapter for Hyperion Planning
2012-08-27 09:46:43,214 INFO [SimpleAsyncTaskExecutor-3]: Connecting to planning application [OPAPP] on [mcg-b055]:[11333] using username [admin].
2012-08-27 09:46:43,277 INFO [SimpleAsyncTaskExecutor-3]: Successfully connected to the planning application.
2012-08-27 09:46:43,277 INFO [SimpleAsyncTaskExecutor-3]: The load options for the planning load are
Dimension Name: Account Sort Parent Child : false
Load Order By Input : false
Refresh Database : false
2012-08-27 09:46:43,339 INFO [SimpleAsyncTaskExecutor-3]: Begining the load process.
2012-08-27 09:46:43,355 DEBUG [SimpleAsyncTaskExecutor-3]: Number of columns in the source result set does not match the number of planning target columns.
2012-08-27 09:46:43,371 INFO [SimpleAsyncTaskExecutor-3]: Load type is [Load dimension member].
2012-08-27 09:46:43,996 INFO [SimpleAsyncTaskExecutor-3]: Load process completed.Do any members exist in the account dimension before the load? if not can you try adding one member manually then trying the load again.
Cheers
John
http://john-goodwin.blogspot.com/ -
*** Question How to load a file into BI-Integrated Planning and use WAD 7.0
Hi, I created an manual DTP upload to my planning infocube and it works fine. The transformation rules convert 0CALMONTH into the relevant Calendar and Fiscal characteristics. So all of my Time Characteristics are fine, both Calendar and Fiscal.
However, When using the "How to load a file into BI-Integrated Planning and use WAD 7.0" solution, only the Calendar Characteristics are populated and not the Fiscal. The upload application somehow knows to populate the 0CALMONTH2, 0CALQUART1, 0CALQUARTER, and 0CALYEAR.
How can I get the upload to populate my Fiscal Period Characteristics?
Would it be best to modify the "Upload Application, or can I write a planning function to update the fiscal characteristics, or some other way?
Thanks!My planning data is being uploaded via the SDN Planning File Upload Solution. What I did was end up modifiying the upload class ZCL_RSPLF_FILE_UPLOAD Method EXECUTE.
I added the following code if anyone is interested.
*{ INSERT BWDK902323 1
THIS SECTION OF CODE POPULATES THE FISCAL PERIOD CHARACTERISTICS
USING THE FISCAL YEAR VARIANT 'NK' AND THE CALENDAR MONTH/YEAR
FIELD-SYMBOLS <0FISCVARNT> TYPE /BI0/OIFISCVARNT. " Fiscal Year Variant
FIELD-SYMBOLS <0FISCYEAR> TYPE /BI0/OIFISCYEAR. " Fiscal Year
FIELD-SYMBOLS <0FISCPER> TYPE /BI0/OIFISCPER. " Fiscal Year/Period
FIELD-SYMBOLS <0FISCPER3> TYPE /BI0/OIFISCPER3. " Posting Period
FIELD-SYMBOLS <0CALMONTH> TYPE /BI0/OICALMONTH. " Calendar Month/Year
ASSIGN COMPONENT '0CALMONTH' OF STRUCTURE <L_S_DATA> TO <0CALMONTH>.
ASSIGN COMPONENT '0FISCPER' OF STRUCTURE <L_S_DATA> TO <0FISCPER>.
ASSIGN COMPONENT '0FISCVARNT' OF STRUCTURE <L_S_DATA> TO <0FISCVARNT>.
ASSIGN COMPONENT '0FISCPER3' OF STRUCTURE <L_S_DATA> TO <0FISCPER3>.
ASSIGN COMPONENT '0FISCYEAR' OF STRUCTURE <L_S_DATA> TO <0FISCYEAR>.
<0FISCVARNT> = 'NK'.
CALL FUNCTION 'FISCPER_FROM_CALMONTH_CALC'
EXPORTING
IV_CALMONTH = <0CALMONTH>
IV_PERIV = <0FISCVARNT>
IMPORTING
EV_FISCPER3 = <0FISCPER3>
EV_FISCPER = <0FISCPER>
EV_FISCYEAR = <0FISCYEAR>.
*} INSERT -
How to delete the data loaded into MySQL target table using Scripts
Hi Experts
I created a Job with a validation transformation. If the Validation was failed the data passed the validation will be loaded into Pass table and the data failed will be loaded into failed table.
My requirement was if the data was loaded into Failed database table then i have to delete the data loaded into the Passed table using Script.
But in the script i have written the code as
sql('database','delete from <tablename>');
but as it is an SQL Query execution it is rising exception for the query.
How can i delete the data loaded into MySQL Target table using scripts.
Please guide me for this error
Thanks in Advance
PrasannaKumarHi Dirk Venken
I got the Solution, the mistake i did was the query is not correct regarding MySQL.
sql('MySQL', 'truncate world.customer_salesfact_details')
error query
sql('MySQL', 'delete table world.customer_salesfact_details')
Thanks for your concern
PrasannaKumar -
Dynamically Loading VI using DLL
Hi all,
In Labview, I have made a GUI and a library for interfacing to a device. I have compiled this to an .exe and it all work well.
I haved compiled these exposed VIs into a DLL using LV2012 and written a small C++ program that is linked to my DLL. The problem I am having is that when I run my "begin" function (it calls some dynamically loaded VIs), I get Error 7 Path not found. Now, I imagine that this is something to do with either me not including the dynamic VIs when I compile the DLL (which I am sure I have done) or, the paths somehow being changed. When I load my VI, I use a relative path constant e.g. "UserCommands\Device1\Device1CommandFactory.vi" that gets converted to an absolute path.
What do I need to do in order to get the DLL to load the VI properly?
Thanks in advanceI'm not trying to load a front panel VI dynamically. I load a "server" vi that interfaces with the device. I also dynamically load my device class. I do this because, the DLL should be able to interface with 2 different devices.
I've added the error source as an output of my begin vi and I can see that the error occurs when trying to load my device class. It's in german sorry
Get LV Class Default Value.vi<APPEND>
<b>Vollstõndige Aufrufkette:</b>
Get LV Class Default Value.vi
myDevice_Interface.lvlib:LoadDeviceFromAbsolutePath.vi
myDevice_Interface.lvlib:LoadDevice.vi
myDevice_Interface.lvlib:begin.vi
myDevice_Interface.lvlib:begin.vi.ProxyCaller
<b>Klasse wurde versucht, hier zu laden:</b>
C:\Users\myname\Desktop\myDevice_Interface_DLL_Example\myDeviceInterface.dll\myDevice Interface\Devices\myDevice1\myDevice1.lvclass
I have included the class in the source data tab when I compile the DLL. I do specify the path to find the class as Devices\myDevice1\myDevice1.lvclass. Where should it be looking? -
Re: Executing Planning Sequence using java script.
Hi All,
Can anyone tell me how to execute a planning sequence using a java script.
Regards.
Shafi.Hi Deepti,
i have written a java script which will display the error message from IP in a Pop up window.
For this to work the java script function needs to be called once the planning sequence is done with execution.
I didn't find ways to do it based on the WAD commands.
hence i thought i can run the planning sequence in the same java script that i have written.
Can you help me based on the inpus ihave given ?
Regards.
Shafi. -
Planned Order Creation using MD_PLANNED_ORDER_CREATE
Hi ,
I am using the FM MD_PLANNED_ORDER_CREATE , to create planned order .
The start date of the planned order changes based on the factory calendar, is there some way to avoid this the FM has a parameter ECM61S used to pass the scheduling paramaters , but using that also does not help.
Can any one please suggest me some way of doing it.
Regards
ArunHi Mangalraj ,
Thanks for the details.
Even when i try to create a planned order using the transaction MD11 , if i enter 01.01.2008 , it then changes the date to a working day .
Can you provide me with some more input on the use if the parameter ECM61S in the FM MD_PLANNED_ORDER_CREATE .
Is there some setting the factory calendar where we can set it such that planned orders are created even on holidays , kindly also tell transaction to view a factory calendar.
Regards
Arun -
Creation of SNP Planned Orders using Optimizer
Dear Experts .....
I am facing some problems while creating SNP Planned orders using Optmizer ( Discret Optimization).....
For eg.
I am using 3 months horizon ... the first two months is daily buckets with 12 hours capacity each one and the last month is weekly buckets.
The product minimun lot size exceed the daily capacity .... this way planned order have been created in the weekly buckets at the end of the horizon.
I need the system to create orders in the correct date avoiding use of safety stock .....
Regards
MauricioThose other 2 settings was already done .....
It is still not working .... iI am receiving the following message ...
Production process model/PDS 00000000000001011301001 S: Cannot be executed
Message no. /SAPAPO/SNPOPT159
Diagnosis
Production process model 00000000000001011301001 S at location 0100 is intended for cross-period lot size planning. It can be started in bucket 20110404->20110404. However, it does not then end in the same bucket.
Thanks for your effort trying to help me with this issue.
Maybe you are looking for
-
How do I remove my iCloud account from an iPhone without deleting the account?
I need to know if there is any way to simply remove it from this iPhone, but not delete it. The only button I can see on the iCloud screen at Settings -> iCloud is "delete account". As I use this account for both iTunes and iCloud, pressing it is not
-
Hi All, Can we create Process chains in R/3.If means how? Can we call process chains in R/3 means Background scheduling? Please give information regarding this? Thanks, Mahesh
-
Customer credit limit - Report
Hi I need to take a report as below Customer a/c Terms of payment Credit limit is there any standart report available in SAP. Please let me know regards Hari
-
Alter database recover to logical standby is hanging
Hi, when I try to convert my physical standby to logical standby using alter database recover to logical standby STANDBYL; the command just hangs I have seen the usual hit on this which is to create the Redo Dictionary on the Primary using execute db
-
Sorry guys - I should have asked the last question before doing what I did. I dumped the QT icon from the Apps folder in the trash and emptied it - so that I could download 7.2 Now - I can't get 7.2 and I can't find my old QT pro (7.4 I believe)? Wen