How to use extensionout of bapi from BAPI_SALESORDER_GETDETAILBOS
Hi Every one
I have typical requirment to create sales order from 4.6 to ecc6.0
I am using BAPI_SALESORDER_GETDETAILBOS thrugh RFC to get all details of sales order .
and passing that details to BAPI_SALESORDER_CREATEFROMDAT2 to create sales order.
I am able to create the sales order . But I am facing problem to pass the zfields from extensionout of
BAPI_SALESORDER_GETDETAILBOS to extensionin of BAPI_SALESORDER_CREATEFORMDAT2.
Can any one help me out
Thanks in advance
Vivek
Hi,
look for the structure BAPIPAREX where used in your z progams..
bapiparex is nothing but a extension structure used in bapi..
and all the field move to strcutre bapiparex value part1 or value part2 according to field lenght or offset..
see the below example..
"deckare the structure
DATA : t_bapiparex TYPE STANDARD TABLE OF bapiparex,
w_bapiparex LIKE bapiparex.
w_bapiparex-structure = 'BAPE_VBAP'. "append the custom structure ot bapi filed
CONCATENATE t_vbap-vbeln t_vbap-posnr 'ZA' INTO w_bapiparex-valuepart1. "concatenate field or move offset to vlaue part1.
APPEND w_bapiparex TO t_bapiparex.
"finally pass the t_bapiparex to extension structre in bapi..
regards,
Prabhudas
Similar Messages
-
hi yesterday i downloaded a software from i tunes for keyboard short cut and i don't know how to use them and install them, how to use keyboard shorts bought from i tunes
You can install it on your iOS device (iPad, iPhone, iPod Touch) either by redownloading it directly on the device via the Purchased tab in the App Store app on it, or by connecting the device to your computer's iTunes and syncing it to it.
Syncing apps from a Mac : iTunes 11 for Mac: Sync and organize iOS apps
from a PC : iTunes 11 for Windows: Sync and organize iOS apps
As to how to then use the app, if the description on the app's description page in the store doesn't describe how to use it in enough detail, then is there a link to the developer's website on its description page, and does that have details ? -
How to use 'DELETE ADJACENT DUPLICATES FROM' for deleting as some field
How to use 'DELETE ADJACENT DUPLICATES FROM' for deleting as some field
eg:
I have a inner table ,it contains a field named ast_guid,now,I search ten records,contains some duplicate records in the field of ast_guid.but I can not delete the duplicate records as ast_guid.If the type of inner table is standard table, you should sort the inner table by the fields before user 'DELETE ADJACENT DUPLICATES ', and use COMPARING addtion.
Edited by: Justin on Jun 28, 2009 9:48 AM -
How to use Sql data source from Essbase 9.3.1
Hi All,
How to use Sql data source from Essbase 9.3.1 for ASO cube.Are there any rules and limitations for that.
Do we need to create any data source connection for this purpose. If there please let me know the dteps to create that connection.
RegardsYes you need to create one DSN connection and you have to use DSN name and login details at the time of building/loading of the outline.
Create DSN
Goto Administrative tools -> DataSources (ODBC) and add the DSN name and specify the Server name of SQL and login details and database.
goto data prep editor and click on File Menu and Click on Open SQL option Next window opens.
There you have to enter the details of the DSN connection and SQL query to build/load.
Thanks,
Prathap -
As far as I know this two bapi used to create accounting document. But how do we use them ? and what's the different between them?
The most important thing is in what condition we use which bapi to post accounting doc?
Such as there is one requirement to post accounting doc though t-code F-02 in BDC, but how do I know whether I can use this two bapi to replace the BDC?
BAPI_ACC_DOCUMENT_POST
BAPI_ACC_GL_POSTING_POSTHello,
how we use BAPI_ACC_DOCUMENT_POST:
gs_documentheader-ref_doc_no = .... your document number (from number range)
gs_documentheader-bus_act = 'RFBU'.
gs_documentheader-username = sy-uname.
gs_documentheader-header_txt = .... your header text
gs_documentheader-comp_code = '0001'.
gs_documentheader-doc_date = ..... date
gs_documentheader-pstng_date = .... date
gs_documentheader-fisc_year =.... year
gs_documentheader-fis_period = .... period
gs_documentheader-doc_type = 'BS'.
loop at ... items ... assigning <belpos_line>.
gs_accountgl-itemno_acc = <belpos_line>-posnr. "10 digits !
gs_accountgl-bus_area = ... your business area
gs_accountgl-tax_code = <belpos_line>-tax_code.
gs_accountgl-gl_account = <belpos_line>-gl_account.
gs_accountgl-comp_code = ... your company code.
gs_accountgl-alloc_nmbr = ... some identity number
gs_accountgl-item_text = .... item text
gs_accountgl-costcenter = <belpos_line>-kostl.
gs_accountgl-plant = .... werks
append gs_accountgl to gt_accountgl.
gs_currencyamount-itemno_acc = <belpos_line>-posnr.
gs_currencyamount-currency = ... waers
gs_currencyamount-amt_doccur = .... waers
append gs_currencyamount to gt_currencyamount.
endloop.
call function 'BAPI_ACC_DOCUMENT_POST'
exporting
documentheader = gs_documentheader
importing
obj_type = gd_obj_type
obj_key = gd_obj_key
obj_sys = gd_obj_sys
tables
accountgl = gt_accountgl
currencyamount = gt_currencyamount
return = gt_return.
Regards -
How to find particular CRM BAPIs from Java code of ISA B2B application?
Hi Guys,
I am newbie in CRM ISA field. I am supporting CRM ISA 5.0 B2B application.
Basically I had a question about how to go about finding the BAPIs which are getting called from the Java side of ISA.
I know that the framework uses JCO connection in order to execute BAPIs in the back-end and usually these BAPIs are standard.
So I can put a break-point on the CRM bapis and see which is called when.
But if I want to track BAPIs from Java code, what should be my approach?
Please help.
Thanks!Hi,
To setup the trace logs you need to use the following URL.
https://<system domain name>:port/<application_name>/admin
typically it should look like as below:
https://abc.com:50001/b2b/admin
Here there is an option to start and stop the logs and after stopping it will generate a Zip file which you need to download and from there you can easily find out the BAPI's or teh RFC calls.
Also when you search you should alwways keep one thing mind that these FM's normally start with CRM_ISA*
Hope it helps.
Regards
Sidd -
How to use the pps function from JCOP?
Hi
I'm trying to use the pps function from JCTerminal (JCOP API: [url http://www.cs.ru.nl/~woj/jcopapi/com/ibm/jc/JCTerminal.html#pps(int, int)]pps function ) to connect my client to a virtual card with a specific protocol (T=0).
But I always got the error: "Protocol and parameter selection not supported by this terminal!"
I've tried to make an ATR that support both protocol : [url http://smartcard-atr.appspot.com/parse?ATR=3b909580811fc7dc]3B 90 95 80 81 1F C7 DC.
I really don't know what value to put in the second parameter (baud rate), I've tried with 150000, which is in the range of the ATR but I'm not sure this is correct. And I could't find any example of it.
I'm also not sure where to put the pps command, the specification say directly after a reset, so I tried this implementation:
System.out.print("Start");
readers = TerminalFactory.getDefault().terminals().list(State.CARD_PRESENT);
//If no readers has a card it ends the process
if(readers.isEmpty()){
System.out.println("\nNo card in the reader...");
return;
System.out.println("\nReader Type: "+readers.get(0).toString());
term = (PCSCJCTerminal)JCTerminal.getInstance("PCSC", readers.get(0).toString().substring(15));
term.open();
System.out.println("\nTerminal opened");
//Getting the ATR
atr = new ATR(term.waitForCard(2000));
try {
term.pps(JCTerminal.PROTOCOL_T0, (int)150000);
} catch (Exception e) {
e.printStackTrace();
System.out.println("ATR: "+toHex(atr.getBytes()));
//sending a data 11223344
System.out.println("\nsending data: 11223344");
byte[] responsesend = term.send(0,cmdsend,0,cmdsend.length);
System.out.println("Response data is:" + toHex(responsesend));
//close terminal
term.close();
System.out.println("\nTerminal closed");I've got this output on the console:
<font size="2">StartReader Type: PC/SC terminal Virtual CAD Reader 0
Terminal opened
ATR: 3b 90 95 90 00 81 1f c7 cc
sending data: 11223344
<font color="red">Protocol and parameter selection not supported by this terminal!</font>
at com.ibm.jc.JCTerminal.pps(Unknown Source)
at com.test.essai.main(essai.java:46)
</font>>
And If I take a look at the data exchanged with the card:
<font size="2">Running in Virtual Card mode...
ATR: 3B909580811FC7DC
Waiting for event (power: off, protocol: unknown/undefined)...
Waiting for event (power: off, protocol: unknown/undefined)...
Raw event data: 01
Event: VCAD_EC_POWER_ON (0x01)
Reply: VCAD_SC_OK (0x00) (in reply to VCAD_EC_POWER_ON) ATR: 3b909580811fc7dc
Raw reply data: 003b909580811fc7dc
Sending reply...
Waiting for event (power: on, protocol: unknown/undefined)...
Waiting for event (power: on, protocol: unknown/undefined)...
Raw event data: 06ff11957b
Event: VCAD_EC_EXCHANGE_TPDU (0x06) C-TPDU: ff11957b
Accepting any PPS request parameters: Protocol: t=1; FI=9, DI=5
Reply: VCAD_SC_OK (0x00) (in reply to VCAD_EC_EXCHANGE_TPDU) R-TPDU: ff11957b
Raw reply data: 00ff11957b
Sending reply...
</font>>
This (above) is the PPS command but not from the PPS function, it is always sent with protocol T=1
<font size="2">Waiting for event (power: on, protocol: t=1)...
Raw event data: 0501
Event: VCAD_EC_SET_PROTOCOL (0x05) Protocol: t=1
Reply: VCAD_SC_OK (0x00) (in reply to VCAD_EC_SET_PROTOCOL)
Raw reply data: 00
Sending reply...
Waiting for event (power: on, protocol: t=1)...
Raw event data: 0600c10120e0
Event: VCAD_EC_EXCHANGE_TPDU (0x06) C-TPDU: 00c10120e0
Handling protocol-specific command...
Protocol block:
NAD: 0x00
PCB: 0xc1 (T1_S_BLOCK); S-Block type: T1_SBT_IFS_REQ
LEN: 1
INF:
IFS: 20
EDC: 0xe0
Changing IFS(other) from 32 to 32
Reply: VCAD_SC_OK (0x00) (in reply to VCAD_EC_EXCHANGE_TPDU) R-TPDU: 00e10120c0
Raw reply data: 0000e10120c0
Sending reply...
Waiting for event (power: on, protocol: t=1)...
Raw event data: 0600001300a404000d54657374436c69656e7441707000f0
Event: VCAD_EC_EXCHANGE_TPDU (0x06) C-TPDU: 00001300a404000d54657374436c69656e74
41707000f0
Processing app. command...
App. block:
NAD: 0x00
PCB: 0x00 (T1_I_BLOCK); Seq. #: 0; More data: 0
LEN: 13
INF:
00a404000d54657374436c69656e7441707000
EDC: 0xf0
cmd name: N/A (class #4)
cmd: 00a40400 0d 54657374436c69656e74417070 70
Responding with the reversed command data, SW is hardcoded to 90<INS>
rsp: 707041746e65696c4374736554 90a4
Reply: VCAD_SC_OK (0x00) (in reply to VCAD_EC_EXCHANGE_TPDU) R-TPDU: 00000f70704
1746e65696c437473655490a475
Raw reply data: 0000000f707041746e65696c437473655490a475
Sending reply...
Waiting for event (power: on, protocol: t=1)...
Raw event data: 060040041122334400
Event: VCAD_EC_EXCHANGE_TPDU (0x06) C-TPDU: 0040041122334400
Processing app. command...
App. block:
NAD: 0x00
PCB: 0x40 (T1_I_BLOCK); Seq. #: 1; More data: 0
LEN: 4
INF:
11223344
EDC: 0x00
cmd name: N/A (class #1)
cmd: 11223344
Responding with the reversed command data, SW is hardcoded to 90<INS>
rsp: 9022
Reply: VCAD_SC_OK (0x00) (in reply to VCAD_EC_EXCHANGE_TPDU) R-TPDU: 0040029022f
0
Raw reply data: 000040029022f0
Sending reply...
Waiting for event (power: on, protocol: t=1)...
Raw event data: 03
Event: VCAD_EC_POWER_OFF (0x03)
Reply: VCAD_SC_OK (0x00) (in reply to VCAD_EC_POWER_OFF)
Raw reply data: 00
Sending reply...
Waiting for event (power: off, protocol: unknown/undefined)...
</font>>
If someone know how to use this function or have any advice to help me to select a specific protocol with Jcop API, please let me know.
If you you need any more information don't hesitate to ask.
Best regards
Edited by: Cyril on Sep 22, 2011 9:54 AM-1
I'm using a virtual terminal (windows driver), and I don't see how I could turn off the Auto-pps. I've also tried with a real reader and a card and I have the same error.
-2
I've tried value in the range of the atr (based on this analysis: [url http://smartcard-atr.appspot.com/parse?ATR=3b909580811fc7dc]http://smartcard-atr.appspot.com/parse?ATR=3b909580811fc7dc ). But I don't know if only I value of baud-rate is possible in the range. Anyway I just would like to change the protocol, not the baud-rate.
-3
I've already tried to call pps function before, after the first reset, or with another reset later and I always got the same thing.
term = (PCSCJCTerminal)JCTerminal.getInstance("PCSC", readers.get(0).toString().substring(15));
term.open();
System.out.println("\nTerminal opened");
//Getting the ATR
atr = new ATR(term.waitForCard(2000));
System.out.println("ATR: "+toHex(atr.getBytes()));
jcard = new JCard(term,atr,0);
jcard.reset();
try {
term.pps(JCTerminal.PROTOCOL_T0, (int)312500);
} catch (Exception e) {
e.printStackTrace();
}The same pps is always send after each reset... -
How to use the google search from inside a java program
Hi guys
How can i use google search in my java program?
What will be the type of the reply i get back from google?
Thanks in advance
[http://javamilestone.blogspot.com/|http://javamilestone.blogspot.com/]Hi,
You have here some examples about how to make search on google from a Java application.
The type of reply is JSON
Here some documentation about it:
[http://code.google.com/apis/ajaxsearch/documentation/#fonje|http://code.google.com/apis/ajaxsearch/documentation/#fonje]
And here some snippets:
[http://code.google.com/apis/ajaxsearch/documentation/#fonje_snippets|http://code.google.com/apis/ajaxsearch/documentation/#fonje_snippets]
Regards,
David. -
How to create SynBO with BAPIs from R/3 server?
Hi,
Can I get any documents or links regarding Syncbo creation with BAPIs from another R/3 server. I think I have to create RFC destination for this. The steps for creating RFC destination in Netweaver 2004s is also helpful for me.
Also I need the required configurations also.
Regards
ShemimHi Shemin,
Refer the following link for Mobile Development Kit
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/21eba3a7-0601-0010-b982-92f1fca3258a
This will provide you with rules of creating BAPI wrappers and sample BAPI wrappers.
For creating RFC destination, contact your BASIS team member. You may not rights to do it by yourself. They will also tell the exact prodecure. It start with transaction SM59.
Regards,
Rahul -
How to use the Worklist API from Java (classpath ??)
Hi all,
Sorry for a novice question but I couldn't find the way to go about this (probably because it's such common knowldge...)
I would like to try and use the Worklist API from my Java code in Eclipse, and according to the BPEL dev-guide I need to add an Import command for oracle.tip.pc.api.worklist. Where do I find these classes ?????
I guess I need to change my CLASSPATH but I couldn't find a single word about this in the BPEL dev-guide (chapter 17), BPEL installation guide or elseware.
thanks.Hi all,
Ok now.
To summarize - I was trying the code from BPEL developer guide, chapter 17, page 40 for using the Worklist local API's.
Only after adding the following JAR's to the build path, was I able to compile it:
orabpel-common.jar
orabpel.jar
bpm-infra.jar
bpm-services.jar
So, these 4 JAR's are required for using the Worklist local API's (not a clue in the dev guide itself for this requirement though...)
Thank you very much for your help,
assaf. -
How to use an Object Type from Another Database
Hi,
I have this requirement that I need to call a stored procedure from another DB (db1) but I am having a problem with this because one of the input parameters uses an object type defined in that DB (db1). Is it possible to use an object type from another database? TIA!Sven W. wrote:
At least for queries, but I think also for procedure arguments..You (both) probably missed my post?
We can't use a remote type as procedure argument, even with the same OID.
It's OK for query on a remote object column though :
SQL> conn remote_user@remote_db
Entrez le mot de passe :
Connecté.
SQL> create type mytype oid '19A57209ECB73F91E03400400B40BBE3'
2 as object (att1 number);
3 /
Type créé.
SQL> create table mytable (col1 mytype);
Table créée.
SQL> insert into mytable values (mytype(777));
1 ligne créée.
SQL> create or replace function myfunc (p_in in mytype) return number
2 is
3 begin
4 return p_in.att1;
5 end;
6 /
Fonction créée.
SQL> disconn
Déconnecté de Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
SQL>
SQL>
SQL>
SQL>
SQL> conn my_user@local_db
Entrez le mot de passe :
Connecté.
SQL> create type mytype oid '19A57209ECB73F91E03400400B40BBE3'
2 as object (att1 number);
3 /
Type créé.
SQL> select * from mytable@test_dbl;
COL1(ATT1)
MYTYPE(777)
SQL> declare
2 res number;
3 begin
4 res := myfunc@test_dbl(mytype@test_dbl(777));
5 end;
6 /
res := myfunc@test_dbl(mytype@test_dbl(777));
ERREUR à la ligne 4 :
ORA-06550: Ligne 4, colonne 26 :
PLS-00331: référence non valide à REMOTE_USER.MYTYPE@TEST_DBL.WORLD
ORA-06550: Ligne 4, colonne 2 :
PL/SQL: Statement ignored
SQL> declare
2 res number;
3 begin
4 res := myfunc@test_dbl(mytype(777));
5 end;
6 /
res := myfunc@test_dbl(mytype(777));
ERREUR à la ligne 4 :
ORA-06550: Ligne 4, colonne 9 :
PLS-00306: numéro ou types d'arguments erronés dans appel à 'MYFUNC'
ORA-06550: Ligne 4, colonne 2 :
PL/SQL: Statement ignored -
How can we call a BAPI from a scheduler?
My project involves reading some data from R/3 and send a mail at regular intervals. I intend to use a schedular for that but dont know how to call a BAPI there. Is there a better way to go about it?
Scheduler Task->Portal Service->RFC or BAPI
You still have one issue which is IPortalComponentRequest. Portal service doesn't have access to it but you can get around it by setting up a SAP system for usermapping and then mapping that userid to a generic userid. Example code:
private IConnection getConnection(
String alias)
throws Exception {
IUser user =
UMFactory.getUserFactory().getUserByLogonID("Administrator");
IConnectorGatewayService cgService = (IConnectorGatewayService) PortalRuntime.getRuntimeResources().getService(IConnectorService.KEY);
ConnectionProperties prop = new ConnectionProperties(user.getLocale(), user);
return cgService.getConnection(alias, prop);
thanks.
sridhar -
Hi fellow LV'ers
Okay - this is a bit tricky, but i'll try and explain the problem, then ask for the solution, because it may be that someone knows a better way to deal with this.. might get a bit long, sorry - if a solution comes up this will enable all of us to make more memory efficient LV code so please read on..
Here is the deal:
When building even a very simple LV executable, looking at the windows task manager will yield a rather large amount of memory allocated for such a small program - and the only way to free this up is by physically clicking the windows minimize button, then suddenly the amount drops to only a few MB and upon maximizing the window again the memory consumption will increase somewhat again, but for a simple VI build to an exe this move may change the consumption from +70MB to less than 15 MB.. This is irregardless of the code you put in the VI, so no coding example in this post as it is how LV works - you can even test it with the development environment - look at the task mgr and check LabVIEW's memory consumption, minimze ALL open NI windows incl project explorer etc, and you will see a significant decrease in memory usage even after maximizing again.. This has annoyed me since day one, but since RAM is a near zero cost these days it is not something I stay awake at night to think about.. However - I have moved into the "publish to web" tools now, wanting to do a remote monitoring part for my application for my customers to experience increased usability from the software i sell them..
All is well, publishing is really easy (i use the monitor function, NOT the embeded, as customers need not have Labview RunTimeEngine installed, because they might look at it from a non RTE supported platform such as a mobilephone web browser)
Everything is working fine also for the build application. However - I have noticed that once users start to remote monitor the running application - memory consumption of the running LV application starts to increase - and it keeps doing so - to such an extend that you can drain the computer complete and run off the cliff with a windows error... This is off course not very productive for me, being specialized in measurement applications that usually runs for a long period of time - I initially thought that I had done some poor programming in the VI used to display on the webpage - but it turns out that I can reproduce this behaviour with a simple boolean on an empty front panel..
NI support has been informed, and they admit there is a problem, but so far solutions from them has been a bit too exotic for my taste, and thus I'm seeking the help of fellow LV programmers...
You see - The method to solve the increasing memory consumption, is the exact same as mentioned above..minimize the application running with the "minimize" button and all memory will be freed, as soon as you maximize the application and users are viewing it remotely, the memory usage raises again, and history repeats... As previously mentioned, minimizing the window via normal LV calls to property nodes does not yield the same result, nor does a request deallocation of a VI(When you profile a project, there are no VI's increasing in memory, it is the LV process it self doing it)
After many many hours googling I stumbled upon this:
http://support.microsoft.com/?kbid=293215
I believe trimming the process with SetProcessWorkingSetSize would solve this problem, and now I would really like to be able to do this in my program, so that users are not forced to minimize the program every X hour depending on their system size...
However - I have absolutely NO experience in calling windows API from LV, i need someone with that knowledge to provide an example of how to call this.. I've looked at examples on how to do calls to windows API - there is an example in this forum with some llb's in it, and I have gained a fair understanding of how parameters are passed between the calls, but none of those include the "hProcess" handle that is apparently needed for this specific winAPI call to work - Anyone in this forum with the knowledge on how to obtain this handle from a VI, if at all possible, and could provide an example VI for me to use - or even better , someone with the knowledge of how to do this within LV it self??
Your help is much appreciated
Best Regards
Jacob
LV8.6.1 patch something
Win XP
Solved!
Go to Solution.Hi Enrico
Finally I can give something to the community that has given me so much :-)
The "official" statement is that "yes we know it is a problem".. Not sure what that will do to the future..
I have the problem on 8.6.1 as well - and in fact it is a general LV problem, that I first time reported to NI with LV8.2 as I was pissed by the fact that even the smallest exe file would consume + 50MB of memory until you manually minimized the window. Well - thanks to the feedback from Cosmin I seem to have solved the problem.
I most warn that having started to "empty process" once in a while has led to occasional program crashes in the lethal "app.exe performed an illegal action and is closed" windows dialog - however what I did was to move the webserver to a seperate exe file and then communicate the data that I want to use via datasocket in a cluster.. It works like a charm and I simply stall the single thread that the webserver is running when ever the empty process is called and I have not seen a crash since then.. (the initial implementation was done in the main app with 4 parallel loops running, and I guess that was a disaster waiting to happen)
Either way - what I have done is made a VI that at a user defined interval calls the empty process, simply by getting the .exe name from the task manager of the calling program - it is simple and very effective. I call it every 5 minutes - needless to say that flushing too often will most likely kill performance of the system. I have not noticed problems with VM - are you sure you are not storing large arrays or moving around copies of data not used frequently?
For future reference to this forum, it is attached here including the .dll required to call - it is a LV8.6.1 file as I have not had the time to yet again test every single function of my program for new problems that could occur with upgrading to LV2009
I hope this solves your problem..
best regards
Jacob
www.10EaZy.com
Attachments:
EmptyProcess.zip 32 KB -
How to use existing plugin transformation from a new plugin
Hi,
Begginer's question:
I use the SDK examples for a new plugin I want to write.
I want to invoke several commands of an existing plugins from my plugin.
For example I define a new Effect Control: My Opacity. For start I would like to invoke the functionality of Transform->Opacity.
Now, I saw in the example Projector that I can invoke
suites.EffectSuite2()->AEGP_ApplyEffect
Is this the way to do it?
How can I pass the parameter that the user gave me to the needed effect?
I guess rhere is a quicker way to find the effect by name instead of iteration on all available as done in the Projector example.
Thanx in advance,
MiroHello miro A, welcome to the forum!
i'm having some trouble understanding the process you're creating, so i have a couple of questions:
1. is your effect a layer effect? (like "gaussian blur")
or is it a general plug-in? (like layer->transform->fit vertical, or the "wiggler" panel)
the two (effects and AEGPs) differ in many ways and will determine the way you approach the problem.
2. when you say "the parameter that the user gave me", what do you mean?
is there a standard slider on your effect that the user can manipulate?
in the mean time i'll do my best to answer you questions:
yes, suites.EffectSuite2()->AEGP_ApplyEffect() is the way to add a new effect to a layer,
BUT if your effect is a layer effect (again, like "curves"), then you're in for some major problems.
layer effects can't add new effects to the same layer as themselves.
it causes errors and crashes, because by the time your effect returns from it's call AE discovers that the layer has changed in the mean time (you added an effect), and AE doesn't cope with that change well. at all.
no, there is no way of knowing what effect to access on a layer without iterating through them at some point in time.
to access an effect you must retrieve an effectRef.
to get an effectRef you must call it's index on a layer, along with the identifier of a specific layer. (layerH and effect index on that layer (say... 3rd effect))
to know the index, you must iterate though the effects on a layer and check each one for it's name or matchName.
you don't have to do it every time.
you can store the index for later use, but keep in mind that the user might move effects around,
so make smart decisions.
wait. it gets worse.
now you want to affect a parameter on a different effect.
that can be done using streamRefs. these refer to the different parameters on all effects.
once you obtain the streamRef of a wanted parameter, you can read it or write to it.
to get a param's stream ref on an effect for which you already have an effectRef, you must know it's index in the effect. (for example, the "blurriness" on "gaussian blur" is 1 (never 0. zero is the input buffer))
the index is not always what it seems. there may be hidden params (and other stuff in the way).
the param index might change if the vendor of the other effect decides to change it.
in short:
yes, it's as complex as you feared it would be, and as you saw in the "projector" sample. -
How do use an Import Command from DB2 into a java program
I have to use a csv file to load data into a table, after connecting to the database and using the execute, it does not recognise the import statement.
How do i import that file into a table using a java programImport is a DB2 utility program which uses sql Insert to write data into a table. Insert is called from the CLP (command line processor), not from Java. If you want to do this job using Java, then you need to establish a connection to the database, and write your own sql insert statements.
Maybe you are looking for
-
Printing mid-month to mid-month on one page?
Is it possible to print a calendar on one page that runs from the middle of one month through the middle of another (eg. March 14 - April 17? I know I could do screen grabs and join them in photoshop, but I was hoping for something more elegant (and
-
Hi, I have an After Effects file. I have several comps that are 1920x1080 at 29.97 drop frame. When I go to Encore, I use, Import After Effects Composition and import several compositions from my AE project. I've tried using both Automatic transcode
-
The document could not be saved. There was a Macintosh system error (-38).
I am getting this error when I try to save a document that I am working on in Acrobat. I thought Macintosh system errors went away with OS 9? Please let me know your thoughts.
-
Xcode 4 crashes after project opening
Hello. When i open xcode (the final version) it s crashed. I reinstall it, and i removed these files. "~/Library/Preferences/com.apple.Xcode.plist", ~/library/preferences/com.apple.dt.Xcode.plist ~/library/preferences/com.apple.dt.Xcode.LSSharedFil
-
Hi!?Ive recently aquired a new computer. With a sound card i can't really decide upon which it is. Its either a X-fi audio or an X-fi platinum. My DxDiag says "SB X-fi Audio" but i have X-fi Platinum drivers installed. I have modell nr i think.. SB06