How to pass BindVariables to External Process (Workflow)

I build a shell script (unix) which accepts a command line parameter .... a "filename"
The "filename" is a dynamic name!
The workflow is build with a custom input parameter "filename" ... which I want to pass to an external process, which calls this shell script:
How can I do that ?
ExtProcess:
Command : Val=/bin/ksh
Parameter_List : Val=":/home/bin/myscript.sh:${Task.Input}:"
(Binding ":Filename" replaces the whole value, sorry)
Succes_Threshold: Val=0
Script : Val="" , Binding=":Filename"
... does not pass the value of ":Filename"
Script : Val="/tmp/fixed.name"
... works only with fixed names
what I really need is something simple like:
Parameter_list : Val=":/home/bin/myscript.sh:${Parameter.Filename}:FIXPARAM:"
or Script : Val=":${Parameter.Filename}:${Parameter.Param2}:${Parameter.Pram3}"
... similar problem I had with FTP, I found no way to pass dynamic filenames or other parameters (except LOCATION Parameters)
... similar problem I had with EMAIL I found no way to include PARAMETERS to the mail body (except to replace the whole body by 1 parameter)
Is there a solution or is in current version OWB 9.2 only "static" parameters supported.
I also was missing to pass OUTPUT-parameters for example of a TRANSFORMation,
I also was missing some urgent SYSTEM-parameters for self identification of the process(like "SYSTEM.TASK_NAME" "SYSTEM.EXECUTION_AUDIT_ID" "SYSTEM.ITEM_KEY" )
Thanks for all hints and best regards
Martin

Actually... After further investigation this may not be needed. I'd be interested in the answer, to understand what is possible.
The concept of passing parameters in the OWB workflow designer is rather limited, in my humble opinion. Sure, you can designate a "start" sequence that takes a parameter and you can pass that to mappings/transformations but there is no chance for feedback. Ie, if I manually (or through some rigged script) execute the flow with the "PARAMETER" then it will be able to bind. What about mid-flow. IE, select the record to be "processed", then call a "flow" with that as a parameter.
Am I mistaken? Is there a way to expose the "out" parameters of a mapping, or the return of a "transformation function" as "OUTS" in the process flow.
Of course, in a world where everything is OWB and in the DB one can leave data in tables, and pick it up on the other mappings. HOWEVER, most BI systems involve external retrievals, etc. that need a bit more "intelligence" then "run and return 1,2,3" . :)
Hope this is helpful for product feedback. If I'm mistaken on the WF capabilities please clue me in. :)
btw, I'm an OWB fan, certainly. The progress over the past two years has been excellent.

Similar Messages

  • How to pass concurrent request_id dynamically into workflow Business event subscription.

    Hi All,
    I created a workflow to send notification to user with the details in the message body of the workflow.
    Attached the same workflow to the subscription created under the seeded Business event 'oracle.apps.fnd.concurrent.request.completed'.
    Enabled the Business event for the concurrent program 'XXTEST' for 'request completed.'
    Workflow flow is:  Event>FUNCTION>Notification>END.
    In my workflow there are 4 attributes, 1 attribute is input (request id) for the function(procedure) attached in the workflow, based on that 1 input attribute (request id) the rest of 3 attributes are derived.
    Presently I have given constant value for the Attribute (request id) under its properties. I need to pass it dynamically as soon as the conc request is submitted.
    As I said its working perfectly, i.e., user (EG_AFZAL) receives notification after conc request is completed.
    Kindly suggest how to pass request id in the workflow.
    Regards,
    Afzal.

    Hi SamK,
    I applied as u suggested above in the procedure, but it is giving compilation errors.
    Below is my procedure which is attached to function in the workflow.
    CREATE OR REPLACE PROCEDURE APPS.XXWF_EMP_DETAILS
    ( ITEM_TYPE IN VARCHAR2,
      ITEM_KEY IN VARCHAR2,
      ACT_ID IN NUMBER,
      FUNC_MODE IN VARCHAR2,
      RESULT_OUT OUT VARCHAR2)
      AS
      V_REQUEST_ID NUMBER;
      V_USER_NAME VARCHAR2(240);
      V_PAYROLL_NAME VARCHAR2(40);
      V_CREATION_DATE DATE;
       BEGIN
      IF FUNC_MODE = 'RUN' THEN
        --  V_REQUEST_ID := getvalueforparameter('REQUEST_ID') ;
      SELECT REQUEST_ID INTO V_REQUEST_ID
    FROM PAY_PAYROLL_ACTIONS
    WHERE CREATION_DATE IN (SELECT MAX(CREATION_DATE) FROM PAY_PAYROLL_ACTIONS);
    select pap.payroll_name, fu.user_name, paa.creation_date
    INTO V_PAYROLL_NAME, V_USER_NAME,V_CREATION_DATE
      from
    pay_payroll_actions paa,
    pay_all_payrolls_f pap,
    fnd_user fu
    WHERE PAA.REQUEST_ID =V_PERSON_ID-- 44345723
    and paa.payroll_id = pap.payroll_id
    and fu.user_id = paa.created_by;
      --ASSIGNING VALUES TO THE ATTRIBUTES IN THE WORKLOW
      WF_ENGINE.SETITEMATTRTEXT(ITEM_TYPE,ITEM_KEY,'EMP_NUMBER',  V_PAYROLL_NAME);
      WF_ENGINE.SETITEMATTRTEXT(ITEM_TYPE,ITEM_KEY,'FULL_NAME', V_USER_NAME);
      WF_ENGINE.SETITEMATTRDATE(ITEM_TYPE,ITEM_KEY,'HIRE_DATE',V_CREATION_DATE);
      END IF;
        RESULT_OUT := 'COMPLETE';
      END;
    Kindly suggest.
    Regards,
    Afzal.

  • How to pass execution_audit_id of the process flow to an external process

    Hi,
    I'd like to execute this sql
    SELECT EXECUTION_AUDIT_ID
    FROM RUNTIME_OWNER.ALL_RT_AUDIT_EXECUTIONS
    within a process flow, and pass the returned value to an external process(within the same process flow) which is a unix script. Is this doable? How can it be accomplished?
    Thanks!

    Hi Patrick,
    Yes, I did look at those threads, but they don't help me with what I am trying to accomplish. Here is the design
    The map runtime audit id value is used to uniquely name a file created by one map. Within the process flow, which contains the map that creates this file, I need to rename the file using a suffix string provided by the user. So, if file created is med_admin_1234 (1234 is map runtime audit id), and suffix is "fac_a", then new filename is med_admin_fac_a. For this renaming functionality I am using a Unix script (file is created in a Unix server), but I need to pass the map runtime id that's part of the initial name in order to rename the file. Makes sense? Within the process flow, I need to retrieve a value (instead of an input parameter, have like an output parameter instead). Not sure this is doable, but asking just in case.
    Thanks.

  • How to pass data from external Actionscript file to MXML file

    HI...
    I do not know about the Application.application.whateverFieldIWantToReference and it does work on my computer, but only when the external .as file is in the same folder as the main .mxml application... But in my case, the .as file is in another folder (ie. package)...
    Also i want to know When I use the standard Application.application way, it does not spit out any error, but it just doesn't work either.
    Alternatively, I guess I could pass the field (in this case, a  TextArea) as an argument, but how do I do that? How to pass a  TextArea(or any other element, for that matter) as an argument? What  type is it?
    Does anybody know how to circumvent this? Any help is appreciated,
    Thanks.

    HI...
    I do not know about the Application.application.whateverFieldIWantToReference and it does work on my computer, but only when the external .as file is in the same folder as the main .mxml application... But in my case, the .as file is in another folder (ie. package)...
    Also i want to know When I use the standard Application.application way, it does not spit out any error, but it just doesn't work either.
    Alternatively, I guess I could pass the field (in this case, a  TextArea) as an argument, but how do I do that? How to pass a  TextArea(or any other element, for that matter) as an argument? What  type is it?
    Does anybody know how to circumvent this? Any help is appreciated,
    Thanks.

  • How to Pass Attachment from one process to other.

    Hi,
    Suppose there are two processes.I am starting 2nd process from 1st process through GP API.
    How to pass the attachments?
    Regards,
    Pratik

    Hi,
       I seems its GP related. Try out the link below hope u find the solution

  • How to handle starting of external processes with Runtime.exec() properly

    hi people,
    you find a lot about starting external processes with the Runtime class in every forum.
    -> that the stdout of the started processes has to be redirected and read
    due to os buffer problems
    -> that calling batches is done by starting the interpreter and the batch as parameter (cmd.exe, /bin/sh,..)
    -> that the created process doesn't have an os environment
    -> ...
    but what if you don't know anything about the started process.
    what if you only want only to start an external process. if you don't want to wait til waitfor() returns and if you don't read the streams of the created processes, the os stdout buffer will overflow immediately an the started process will be blocked.
    you can read the stdout of the started process, but what if the process does print nothing to stdout, and your bufferreader.readLine() will block ?
    you can do this (read buffer, waitFor()) in an separate thread, but the thread lives til the started process will finish, so maybe you got dozens of senseless thread ?
    So, what is an effective and good way to start external programs/processes if you don't know about them.
    so i would be grateful for an answer
    regards
    Alen

    I realize that's a pat answer, but it's true. Spawing off another program without being able to predict its behavior is dangerous.
    But anyway, as I understand it creating a new process is relatively expensive. The cost of creating new threads to read the process's I/O and later garbage collecting those threads when the process dies, probably isn't much of an additional burden.

  • How to pass version number of process using API's

    Locator locator = new Locator("default","bpel");
         IDeliveryService deliveryService = (IDeliveryService) locator.lookupService(IDeliveryService.SERVICE_NAME );
         // Construct a normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage();
    nm.addPart("payload", xml);
    // Initiate the BPEL process
    deliveryService.post("AsyncProc1", "initiate", nm);
    When I run this code, I get the following error:
    09/03/31 15:07:46.953 workflowform: Servlet error
    ORABPEL-02178
    Process not found.
    The BPEL process "AsyncProc1", revision "" has not been loaded. Either the process was not initialized properly or the process has
    been disabled.
    Please consult your administrator regarding this error. The application server logs may provide more information regarding this error
    I had created many versions of the same process. I need to use version 4.0 of this workflow. Is it possible to pass the version number while initiating the process?
    Thanks.

    Hi Badri,
    I think you can identify the bpel with different versions as follows:
    bpelprocessName_1.1 or bpelprocessName_v1.1
    either one of these should be correct.
    Thanks
    Saikrishna

  • How to pass value standard program to Workflow after than to call Transaction

    Hi Experts..
        While We are Cancel any PO in Me29n, it will Pass values(Like reason for cancel With PO No) and Send a mail (User name whose reject the cancel against Release of PO No) in workflow inbox(workplace) After than getting a mail any particular User, they will See the Message of  Purchase  order against  Canceled. After then they will double click on that message it will trigger ME29N Tcode with the particular PO.
            Using with Badi in Me29N we have to Passed  Values and sent a Mail in work place but When  Double click on Message I Dont Know HOw to Call ME29N in work place....
         Cancel Po in Me29N-->WORK PLACE --> Double click on message,will call ME29N
       So, please help me how to i can Rectified this.
    Regards,
    kumar

    hi Kumar
    BUS2012 is a business object, see it in tcode SWO1.
    You can try blow code:
    INCLUDE <CNTN01>.
    DATA: OBJ TYPE SWC_OBJECT.
    DATA: PO_ITEMS TYPE TABLE OF BAPIEKPOC.
    DATA: PURCHASEORDER     TYPE     BAPIEKKO-PO_NUMBER VALUE '4500000004'.
    SWC_CONTAINER CONTAINER.
    SWC_CREATE_OBJECT OBJ 'BUS2012' ''.
    SWC_CREATE_CONTAINER CONTAINER.
    SWC_SET_ELEMENT CONTAINER 'NotificationType' 'S1'.
    SWC_SET_ELEMENT CONTAINER 'PurchaseOrder' PURCHASEORDER.
    SWC_CALL_METHOD OBJ 'Display' CONTAINER.  " call method 'Display' show ME29N.
    Infact, you can achieve all your requirment in workflow, don`t need implement BADI.
    The trigger event is event 'rejection_start' in BUS2012. Create a user decision(which will show in workplace) and create a task bounding the 'Display' method of BUS2012.
    There are so many detail content in scn or wiki. thanks.
    hope can help you.
    Regards,
    Archer

  • How to pass RAW to external editor (after an iPhoto edit) ?

    Let us suppose that I edit (in iPhoto) a pic imported in RAW format. If I am not satisfied with the result I may think that an external editor with more edit tools can allow me to edit the pic to my taste.
    What I have observed is that BEFORE any edit I can request edition in an external editor and this gets the original RAW format (in spite of the existence of a JPEG version of the pic), but AFTER any edit what the external editor gets is a JPEG. That is surprising if one considers that the ability to work with RAW is precisely to be able to start afresh with the original capture data.
    Altogether I am left with the impression that the help panels about working with RAW leaves too many points in the air.

    What you need to do is Control-click on the thumbnail and select the Reprocess RAW option. Then you'll be able to get the external editor to work with the RAW file.
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto (iPhoto.Library for iPhoto 5 and earlier) database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
    I've created an Automator workflow application (requires Tiger), iPhoto dB File Backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. It's compatible with iPhoto 6 and 7 libraries and Tiger and Leopard. iPhoto does not have to be closed to run the application, just idle. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file.

  • How to pass argument to App Process wo using hidden item

    Basically if i take this javascript that calls application process:
    function get_APP(pThis,pSelect){   
    var l_Return = null;
    var l_Select = $x(pSelect);
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=get_APP_List',0);
    get.add('P1_BA_TEMP',pThis.value);
    gReturn = get.get('XML');
    // skip
    I have ( according to many examples on the web ) to use the "hidden" item over wise it doesn't seem to work.
    It seems to be an excessive use of the items. It's just the variable. Right ?
    Thank you
    Andrew

    Andrew,
    "doesn't seem to work" is the worst way to describe something not working ;)
    1. the name of your on demand process is case sensitive
    2. have you tested the on demand code in SQL Workshop > SQL Commands? does it return the expected XML?
    3. put an
    alert(gReturn);
    in your javascript code after
    gReturn = get.get('XML');
    and see what kind of alert you get.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Passing parameters to the process chain

    Hi friends,
    I want to know ,how to pass parameters to the process chain. Suppose i want to pass parameter to my DTP in my process chain in order to filter the data and do the delta upload in my cube .

    Hi,
    I dont think there is any direct way to achieve this.
    There is a work Around which can be achieved with help of abap.
    You need to write ABAP routine to get the selection values from user and store them in the table TVARVC.
    Then you need to write a routine in the DTP filter to fetch these values.
    In the ABAP program where you get the values, you can trigger the process chain once the values are entered for the selections using an event,
    Regds,
    Shashank

  • How to pass process flow input parameter to unix script external process

    Hi,
    I'm trying to pass a process flow input paramter (string) to an external process which is a unix script. I've been working on this for the last 2 days but can't get it to work. Here is the design. I have a process flow with 3 maps that create a file in the unix file system. I have a suffix, which is an input parameter to the process flow, that will need to be passed to the unix script to rename the file appending the suffix to the filename. I've tried different things and nothing works for me. Has anyone done something similar in OWB?
    Thanks much!

    I tried using useBean inside the Jsp for this.
    But following error comes:
    OracleJSP error: oracle.jsp.parse.JavaCodeException: Line # 13, oracle.jsp.parse.JspParseTagExpression@102e37e
    Error: Java code in jsp source files is not allowed in ojsp.next mode.
    Please explain why?
    How can set POST request params when calling to an external servlet?

  • Pass output parameter from mapping to external process in a Process Flow

    In Process flow, how do we pass an Output parameter from a mapping (generated by a post mapping operator) into an external process (shell script)?
    I have a mapping that generates an output parameter and I would like to pass this parameter to an external process (a shell script) with a process flow. Is this possible?

    Hi Norman,
    Unfortunately in the current release, you cannot do this. What you can do, is store the value into a table and read it in the external process, or write it into a file and read it from there. The next release will support passing output parameters from one activity to the next.
    Thanks,
    Mark.

  • Passing parameter to the external process like notepad, calc etrc.

    Dear Experts,
    Can anyone help me, to find out how can we pass the value parameter, during calling external process like Notepad, Calculator etc.
    I want to fetch other data related to the parameter from the other ERP.
    Eg. If I pass 'Hi ' as a parameter, then I want to print this text into the Notepad.
    Please help.
    Thanks  in Advance
    Kedar
    Edited by: Kedar Paranjape on Jan 30, 2012 4:08 AM

    Hi Kedar,
    Welcome to SCN.First check whether is any rfc available for this or not.You can use GUI_RUN to call from sap.
    Regards,
    Madhu.

  • How to pass a report value to an external website URL??

    Hello,
    Clicking on one of the fields in a report needs to take me to an external website and should pass the value of the field to the URL
    Example:
    1. Let's assume external site is http://www.abc.com
    2. The values in a column in my report range from 1 to 1000.
    3. When I click on say value 21 in my report, the URL formed should be http://www.abc.com/21 and should open in a new browser. Similary, when I click on value 994 in my report, the URL should be http://www.abc.com/994
    Note: I have created reports before and linked them(passed parameters) sucessfully to other objects(forms,reports) etc.. But, haven't passed parameters to external websites before!
    Would really appreciate if anyone could point me in the right direction.
    Thanks
    Dev Govindaswamy

    Please take a look @
    how-to-pass-null-value-to-multi-value
    Passing NULL parameter from aspx page to Report Server

Maybe you are looking for

  • TS1702 I have just installed iso6 and now no apps will open and the iphone will not power down

    Help required I have just installed iso6 now the iphone4 will not open any app nor will the phone power down

  • Problem loading from an attached MovieClip

    Project: Flash Professional CS5.5 | AS3 Platform: Mac OSX Lion Hello: I have a projector that calls on an attached movieclip with the following function: function fbtnclicka(e:MouseEvent):void{ var mc:moduleexit_mc=new moduleexit_mc(); The functions

  • How to define data carrier?

    Dear colleagues, I am trying to use DMS and when defining data carrier I deleted the default configuration "Identify front end computers" for NT type. Now, is not being possible to back the standard configuration. I click in "default entry" but the s

  • SAPCAR: could not open for writing SAPCAR (error 28). Text file busy

    Hi, I´m trying to decompress this file( is for a kernel upgrade): SAPEXE_15-10006264.SAR And when I do SAPCAR u2013xvf SAPEXE_15-10006264.SAR, SAPCAR only decompress a few files and I´ve this error: SAPCAR: could not open for writing SAPCAR (error 28

  • What kind of Landscapes can I cover with B1i?

    You can connect and exchange data between B1/R3 and B1/B1 by creating or using content (BIUs - Business Integration Units) Till now the delivered BIUs cover common business practices when exchanging data between R/3 and B1 and vice versa, how ever it