Manual Commit using Process Flows

Hi,
I have 2 mappings, each with commit control property set as 'Manual'. I created a process flow to run these mappings. Following the instructions in the OWB user guide, I added a single SQLPLUS activity in the process flow, and entered the following in the 'SCRIPT' parameter of the SQLPLUS activity :
DECLARE
status VARCHAR2(30);
BEGIN
SCHEDULER_TESTING.main(status);
IF status!='OK' THEN
ROLLBACK;
ELSE
ERROR_LOG_TESTING.main(status);
IF status!='OK' THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
END IF;
END;
When I deploy and run this process flow, it shows the execution as successful (COMPLETE:OK) in the control center. But when I check the target tables, no records have been inserted.Also, when I check the execution job report in the repository browser, it shows the status as 'Complete:Failure' ,without displaying any error message.
There is no problem with the mappings, as executing them independantly gives the desired result.
Any idea what is going wrong?
Thanks and Regards,
Amit

OK, well from the process flow perspective your script exited normally which is why it shows the sqlplus activity as having completed properly. You would need an exit variable in the script that the activity's outgoing transformation was checking to in order to have the process flow know that a failure occurred. Because whether the mappings succeed or not is not known to the process flow from this script.
But the other problem, of course, is why the script isn't running the process flows properly, but you haven't any way to determine this without doing some logging from the script.
Perhaps, as a quick and dirty testing idea you could create a table proc_log(msg varchar2(500) and amend your script to:
DECLARE
status1 VARCHAR2(30);
status2 VARCHAR2(30);
BEGIN
SCHEDULER_TESTING.main(status1);
IF status!='OK' THEN
ROLLBACK;
ELSE
ERROR_LOG_TESTING.main(status2);
IF status!='OK' THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
END IF;
insert into yourSchema.proc_log('Status for scheduler_testing: '||status1);
insert into yourSchema.proc_log('Status for error_log_testing: '||status2);
commit;
EXCEPTION
when other then
rollback;
insert into yourSchema.proc_log('EXCEPTION: '||sqlerrm);
commit;
END;
just to try and see what is happening in there.
Now, to put an exit variable into your script you would need to do something like:
variable exec_return_code number;
DECLARE
-- we'll use 0 for success and 1 for failure
returncode number := 0;
status VARCHAR2(30);
BEGIN
SCHEDULER_TESTING.main(status);
IF status!='OK' THEN
returncode := 1;
ROLLBACK;
ELSE
ERROR_LOG_TESTING.main(status);
IF status!='OK' THEN
returncode := 1;
ROLLBACK;
ELSE
COMMIT;
END IF;
END IF;
:exec_return_code := returncode;
END;
exit :exec_return_code;
I haven't tried this yet, but it would be the only way I could think of to have any sort of success/failure returned from a sqlplus activity to the process flow.
Cheers,
Mike

Similar Messages

  • Problem in external process using process flow

    Hi All,
    I want to execute a batch file ( which is appending 2 text files ) using OWB process flow.
    For this i am using external process in OWB process flow and giving the parameters for external process as below:
    COMMAND --- VALUE as c:\winnt\system32\cmd.exe
    PARAMETERS_LIST --- VALUE as ?c:\\fileappend.bat
    when i execute the process flow....it is showing
    Completion Status Completed successfully
    Starting Execution BATCH_PROC
    Starting Task BATCH_PROC
    Starting Task BATCH_PROC:EXTERNALPROCESS
    Microsoft Windows 2000 [Version 5.00.2195]
    (C) Copyright 1985-2000 Microsoft Corp.
    C:\owb\owb\bin\win32>
    C:\owb\owb\bin\win32>
    WARNING: Log file truncated - see RAB for further information.
    Completing Task BATCH_PROC:EXTERNALPROCESS
    Completing Task BATCH_PROC
    Completing Execution BATCH_PROC
    But i couldn't see the result, means the files appended.
    It is working when i execute the batch file through MS-DOS.
    Please let me know is there any other necessary steps i need to take.
    Thanks in advance
    Malli

    Hi Malli,
    Because you are using an external process you do not need to specify the cmd command to perform the execution. You can just put the call to the batch file you have in the command string and that is it. Beware that the working directory is <owb home>\owb\bin\win32.
    Mark.

  • Using Process Flow variable on sqlplus activity

    Hellow all,
    I´m trying to use a OWB 10gR2 variable (called LAST_RUN) as an input to a Sqlplus activity.
    I tried using PARAMETERS_LIST and binding the variable; created a new parameters; but i was not succesful.
    The script of the SQLPLUS activity is something like:
    SELECT COUNT(1) from T_ACTIVITIES WHERE LAST_UPDATE >= :LAST_RUN;
    EXIT;
    Where LAST_RUN is my process flow variable.
    How do i call a process flow variable inside the sqlplus script?
    thanks,

    Hi,
    I too had faced this problem earlier, it remember we passed a inut parameter to the script like @scriptname input_param1,input_param_2,input_param3 etc.
    however we later had faced few other problems while implementing sql plus acctivity. so we chose to write a stored procedure having all the logic of sql activity and called it from process flow.

  • Manual Bank Statement process flow

    I need to manually enter details of a manual bank statement in SAP, for checks outgoing and incoming.
    Here are some of my questions:
    1) How should the Cash GL be setup? Main Bank GL and clearing accounts: Bank Check outgoing and Bank Check incoming?
    2) How will this affect the payable / receivable entries?
    Payable
    DR Vendor
    CR Bank GL Check outgoing
    Receivable
    DR Bank GL Check incoming
    CR Customer
    3) After I enter the details in the manual bank statement (assuming that my GL setup is correct), will the postings be as follows?
    Payable
    DR Bank GL Check outgoing
    CR Bank Main Account GL
    Receivable
    DR Bank Main Account GL
    CR Bank GL Check incoming
    Thanks for your help!

    Hi,
    You are right. If you are using Automatic payment program, you should link the bank sub accounts like Bank-Outgoing check account, Incoming check account etc in APP or use those accounts at the time of manual payment. This will ensure that initial posting is done to the Bank-outgoing check account. When you enter the bank statement, it will reverse the entry from this account and post to Main bank account mentioned in House bank master record. This helps in preparing bank reconciliation if you have structured your bank accounts properly.
    Regards
    Suresh

  • How to run shell script using External Process in Process Flow?

    Hi,
    We can run external process using Process flow.
    I would like to run shell script as external process in Process flow.
    Could any one please explain it?
    Thanks and regards
    Gowtham Sen.

    HI,
    As you said I tried this case. I got the following error. The script is running successfully while I tested at unix command prompt.
    The error is as follows..
    tarting Execution PFPS_SMPL_RUNSHELL
    Starting Task PFPS_SMPL_RUNSHELL
    Starting Task PFPS_SMPL_RUNSHELL:EXTERNALPROCESS
    /SOURCE_FILES/CollectFiles.sh: line 1: ls: command not found
    /SOURCE_FILES/CollectFiles.sh: line 1: wc: command not found
    /SOURCE_FILES/CollectFiles.sh: line 1: ls: command not found
    Completing Task PFPS_SMPL_RUNSHELL:EXTERNALPROCESS
    Starting Task PFPS_SMPL_RUNSHELL:EXTERNALPROCESS_1
    SQL*Plus: Release 10.1.0.2.0 - Production on Fri Sep 29 22:57:39 2006
    Copyright (c) 1982, 2004, Oracle. All rights reserved.
    ERROR:
    ORA-12545: Connect failed because target host or object does not exist
    Enter user-name: SP2-0306: Invalid option.
    Usage: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]
    where <logon> ::= <username>[<password>][@<connect_identifier>] | /
    Enter user-name: SP2-0306: Invalid option.
    Usage: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]
    where <logon> ::= <username>[<password>][@<connect_identifier>] | /
    SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
    Completing Task PFPS_SMPL_RUNSHELL:EXTERNALPROCESS_1
    Completing Task PFPS_SMPL_RUNSHELL
    Completing Execution PFPS_SMPL_RUNSHELL
    My scenario is---
    I am trying to return a file name from one shell script. I created a external process for that. After completion of this process, I am running another script which takes that file name and trying to create a external table. The both scripts are runnning successfully. But while I am trying to run using process flow, its not coming.
    And I am not getting the way to catch the output of external process and pass it as parameter as another external process.
    Any suggestions are welcome.
    Thanks and regards
    Gowtham Sen.

  • CRM - Process Flow of Authorization Check in Business Transactions

    Hello Folks:
    I have implemented CRM security using Process Flow of Authorization Check in Business Transactions.
    What I have in place:
    CRM_ORD_OP (inactive, don't want access to own documents)
    CRM_ORD_LP (inactive, not using standard org level values Distribution Channel, Sales Group, Sales Office, Sales Organization, and Service Organization.)
    CRM_ACT (active)
    CRM_CMP (active)
    CRM_ORD_OE (active, restricted to display with dummy value ' ' for Distribution Channel
    Sales Group, Sales Office, Sales Organization and Service Organization, as we are not restricting on them)
    CRM_ORD_PR (active and restricted to display)
    Issue:
    Restrictions to display for documents works fine when using CRM backend system and the system throws out a message that you are not authorized to change. But, when i come in through Portals (PCUI), i dont get the display at all and it throws out a message insufficient access authorizations.
    Traces on backend CRM reveal failing on change access for CRM_ORD_LP and CRM_ORD_PR, which we dont want to give out b/c we dont want to provide change for documents.
    OSS notes to SAP have resulted in no results....please advise what is wrong here.
    Thanks
    KT

    Thanks for the Priyanka for the reply, but what you mention is not correct.
    BSP errors are different from what I am refering to.
    The issue is still open...and looks like a SAP bug, which even they havent been able to fix so far.
    Regards,
    KT

  • Process Flow log shows RPE-01003 on mapping execution

    Process Flow log shows this following error mappings execution:
    oracle.wh.runtime.platform.adapter.InfrastructureException: RPE-01003: An infrastructure condition prevented the request from completing.
    - no rows found for select into statement
    The Process Flow never recover from this error - owb_owner.all_rt_audit_executions shows the mapping in BUSY and I have to manually abort the process flow to recover.
    Steps to Reproduce Problem:
    We recently upgrade our test system from *10.2 into 11.1* and OWB client from *10.2.0.3 into 10.2.0.4*
    During the upgrade DBA update OWB location setting into 11.1
    After the upgrade, I re-deploy several Process Flows, but I did not re-deploy mappings that get call by the PF
    When I run the PF, the mapping was stuck in 'BUSY' status (owb_owner.all_rt_audit_executions)
    When i check the log it shows this following error:
    oracle.wh.runtime.platform.adapter.InfrastructureException: RPE-01003: An infrastructure condition prevented the request from completing.
    - no rows found for select into statement
    Full log:
    2009/04/23-12:33:10-CDT [1FA1BB6] Initializing execution for auditId= 2702852 parentAuditId= 2702837 topLevelAuditId=2702837 taskName= NIHUB_NI_ZWEB_PF:NIHUB_NIUP_ADDR_TYPES_ZWEB_MAP
    2009/04/23-12:33:10-CDT [1FA1BB6] oracle.wh.runtime.platform.adapter.InfrastructureException: RPE-01003: An infrastructure condition prevented the request from completing.
    - no rows found for select into statement
         at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.initialize(ExecutionContextImpl.java:1505)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.initialize(ExecutionController.java:32)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:50)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:23)
         at oracle.wh.runtime.platform.service.ExecutionManager.run(ExecutionManager.java:36)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: java.sql.SQLException: no rows found for select into statement
         at sqlj.runtime.error.Errors.raiseError(Errors.java:118)
         at sqlj.runtime.error.Errors.raiseError(Errors.java:60)
         at sqlj.runtime.error.RuntimeRefErrors.raise_NO_ROW_SELECT_INTO(RuntimeRefErrors.java:62)
         at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.initialize(ExecutionContextImpl.java:1482)
         ... 5 more
    java.sql.SQLException: no rows found for select into statement
         at sqlj.runtime.error.Errors.raiseError(Errors.java:118)
         at sqlj.runtime.error.Errors.raiseError(Errors.java:60)
         at sqlj.runtime.error.RuntimeRefErrors.raise_NO_ROW_SELECT_INTO(RuntimeRefErrors.java:62)
         at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.initialize(ExecutionContextImpl.java:1482)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.initialize(ExecutionController.java:32)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:50)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:23)
         at oracle.wh.runtime.platform.service.ExecutionManager.run(ExecutionManager.java:36)
         at java.lang.Thread.run(Thread.java:534)
    2009/04/23-12:33:10-CDT [1FA1BB6] Thread terminating due to fatal exception of type oracle.wh.runtime.platform.adapter.InfrastructureException
    2009/04/23-12:33:10-CDT [1FA1BB6] oracle.wh.runtime.platform.adapter.InfrastructureException: RPE-01003: An infrastructure condition prevented the request from completing.
    - null
         at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.createMessage(ExecutionContextImpl.java:3686)
         at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.reportMessage(ExecutionContextImpl.java:1084)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:116)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:23)
         at oracle.wh.runtime.platform.service.ExecutionManager.run(ExecutionManager.java:36)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: java.lang.NullPointerException
         at oracle.wh.runtime.platform.service.controller.AdapterContextImpl.getPlatformConnection(AdapterContextImpl.java:83)
         at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.createMessage(ExecutionContextImpl.java:3639)
         ... 5 more
    2009/04/23-12:33:10-CDT [1FA1BB6] {Cause Exception with null message}
    java.lang.NullPointerException
         at oracle.wh.runtime.platform.service.controller.AdapterContextImpl.getPlatformConnection(AdapterContextImpl.java:83)
         at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.createMessage(ExecutionContextImpl.java:3639)
         at oracle.wh.runtime.platform.service.controller.ExecutionContextImpl.reportMessage(ExecutionContextImpl.java:1084)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:116)
         at oracle.wh.runtime.platform.service.controller.ExecutionController.execute(ExecutionController.java:23)
         at oracle.wh.runtime.platform.service.ExecutionManager.run(ExecutionManager.java:36)
         at java.lang.Thread.run(Thread.java:534)

    Steps to Reproduce Problem:
    We recently upgrade our test system from 10.2 into 11.1 and OWB client from 10.2.0.3 into 10.2.0.4
    During the upgrade DBA update OWB location setting into 11.1
    After the upgrade, I re-deploy several Process Flows, but I did not re-deploy mappings that get call by the PF
    When I run the PF, the mapping was stuck in 'BUSY' status (owb_owner.all_rt_audit_executions)
    When i check the log it shows this following error:
    oracle.wh.runtime.platform.adapter.InfrastructureException: RPE-01003: An infrastructure condition prevented the >request from completing.
    - no rows found for select into statementFirst deploy alll dependent object of Process Flow.
    like tables ,mappings then try to execute PF.

  • Process Flow Parameter Binding.

    The docs on using process flow parameters are a bit sparse, so I wonder if anyone else has some input.
    We kick off our ETL processes by an external enterprise scheduling tool due to several remote dependencies. This tool provides us with an audit id that we want to tag all of our current rows loaded with. Now, creating input parameters on the mappings is easy, but the docs seem to indicate that a parameter passed into a process flow can only be bound to one location. Given that our process includes a few hundred mappings, this would require the input parameter be input several hunderd times with each instance bound to a single mapping. That is not a maintainable option. Similarly, any documentation on passing OUT parameters from mappings to subsequent mappings seems entirely absent, so I'm not sure if I can "daisy chain" passing this parameter along.
    Which, at this point, leaves me with passing in the variable to the process flow, having the first step be a SQL call that saves this ID to a table, and then having each mapping query this table for the audit ID in a pre-mapping procedure to use to tag the rows. The Process Flow will also have to have a closing SQL script to clear the audit id out of the table.
    Is this my best option? Or does anyone have a better idea?
    Thanks,
    Mike

    In 9.2, parameters were added by way of the property sheet for the Start activity.
    In 10.2 what you do is, in the Explorer portion (the top section) of the palette you select the "Start" activity. If you then look at the top bar of the Explorer portion of the palette you will note that the leftmost icon (a green plus sign over a folder) is enabled. This is the Create button which, when pressed, will create an input parameter to the process flow. This paramter may then be used as a bind variable by other activities in the process flow.
    Cheers,
    Mike

  • How to pass a paramter to a schedued process flow

    I have a process flow with a one varchar type parameter.
    I want to schedule this process flow and for that I have created a schedule and then attached it to the process flow using Process Flow -> Configuration -> Referred Calendar Option.
    Now my issue was how can I pass the parameter value into the process flow?
    OWB Version : 10.2.x
    Thanks,
    mc

    Hi Si,
    This is what I did.
    I have deployed the process flow with schedule and then goto control center and start the job.
    Then under parameters it's ask for a "EVAL_LOCATION" value. Which is something else.
    In my process flow I have a parameter called "Job_Name" and I want to pass a value for that parameter. But in either control center, no in direct API allow me to pass a value for that parameter.
    Thanks,
    mc

  • Materialized View Refresh; Process Flow

    I was wondering if anyone has used process flow to refresh materialized view;
    I am trying to use a process flow for this i.e. run something similiar to below
    EXECUTE dbms_refresh.refresh('"ODW_SRC"."MV_SERVICE_DAILY_AUDIT"');
    I am trying to avoid using DB scheduler because I want to make sure process flow doesn't clash with update of materialized view causing possible conflict of longer than expected job run time goes into refresh window.
    I am assuming I could use a transformation and build it out; but I was wondering if there is an easier way in just executing this one line ... any idea's
    Thank you in advance for your help

    Sorry, I think the OWB term is post mapping process, its actually an operator in an OWB mapping where you can add a procedure call for example. The procedure can do pretty much what it wants.
    Cheers
    David

  • Flash Back Recovery in process flows?

    Hi,
    I am using Oracle Warehouse Builder 10 G R1.
    I am using process flows. In order to get the old data into the tables, whenever the process flow fails, the availabe option is Flash Back Recovery.
    Could you please suggest me, does it a good practice to use flash back recovery in a datawarehousing project?
    Thank you,
    Regards,
    Gowtham Sen.

    Hi,
    Could anyone please explain, how to implement flashback recovery in process flows?
    Any suggesitions are welcome.
    Thank you,
    Regards,
    Gowtham Sen.

  • Regarding Process Flow

    Hi All,
    I want to use Processflow in OWB (version 10.2.0.4.36). Can any body please tell me how to use process flow in owb?
    Thanks,
    Siva

    Hi Siva,
    Oracle Workflow 2.6.4 is required in order to use Process Flow (in OWB 10gR2) .
    You can get the Oracle Workflow 2.6.4 (I am giving for MS Windows .. please find for your OS )
    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
    Oracle Database 10g Companion CD Release 2 (10.2.0.1.0)
    Oracle Workflow 2.6.4 is included in the Companion CD .
    Thanks,
    Sutirtha

  • Passing parameters from mapping to mapping with in process flows

    I am new to OWB and i would appreciate if any one can suggest me on how to solve the issue i have.
    I am trying to pass a parameter from one mapping to another mapping.
    ex: key need to be passed
    start ----->A--->B--->C----->END
    B needs to pass the key to mapping C
    In B i have mapping Out put parameter and in C i have a mapping input parameter.
    In process flow palatte i could see Key as OUT and in C properties i could bind it to Key .
    but i try to deploy this mapping i am getting error below
    PF_PKG Create Error
    RPE-02040: Internal error: KEY cannot be converted to a constant value. Please correct the value. If the problem persists then please contact Oracle Support with the stack trace and details on how to reproduce it.
    TEST_PFCreate INFORMATIONAL
    RPE-02071: Deployment has been aborted due to a previously reported critial error.
    please suggest me how to pass parameters between mappings with in a process flow.

    Hi
    You have to use process flow variables. So the output of map A, say parameter P would bind to variable V and then the input of map B, say Q would bind to variable V. In this way you can push parameters from one activity to the other. Although the UI lets you bind B.Q to A.P, it should not, I think there is a bug reported on this.
    Cheers
    David

  • Process Flow: variable checking/email parameters

    I'm new to using process flows and it seems to me that I want to something very simple.
    I've created a boolean variable VAR1 (default is FALSE) which I want to assign depending on warning/failure of 2 mappings (not sure if using a variable is the correct way to go).
    So in my process flow, I call MAPPING1. On success, it calls MAPPING2.
    To bring more into it, if MAPPING1 produces a warning or error, then through an 'assign' activity (I think it should be an assign activity), VAR1 is set to TRUE.
    It returns back to process MAPPING2 (this same error handling occurs for MAPPING2).
    At the end, a CHECK on VAR1 needs to be performed.
    If VAR1=FALSE then end (success!).
    If VAR1=TRUE then call a function to grab the audit records for the error, and send an email, then end.
    My problems are
    (1)what activity in the pallete should I use for CHECK (which checks whether VAR1 is true/false)?
    (2)how do I read the VAR1 variable... I've been experimenting a whole load but nothing!
    (3)if VAR1 is TRUE and calls the function, how does the email activity receive the output from the function? (I've managed to get email working ..hurrrahh!)
    Thanks for any help... much appreciated
    Ansel

    Hi,
    Have you tried using conditions on your transitions?
    You can have in total three different endings to your process flow, end_success(in the process flow by default), end_warning and end_error. If you also include to 'or' operators in your processflow you can use these to collect the warning transitions,and between the or operator and the end operator you can put your email activities without having to use a if statement.
    Ragnar

  • Upload Process Flow to detail Submitter and Reviewer using some mechanism

    Hi All
    In creating the process flow, we have to feed details of the person who inputs data and who reviews or approves/rejects the data. The only way I know to do this very manual, to feed in the name of the submitter/reviewer one by one against all lines shown.
    Is there an Excel upload or some other functionality to it in a more efficient manner?
    Thanks
    AJ

    Rembrandt,
    Did the two updates to Office 2011 get you to 14.3.9? That's the latest Mac version of Office.
    I use Office 2013 and Mac Office 2011 on the same machine and have no problems opening any files shared between the two. You followed the instructions for uninstalling and updated your new installation correctly, I have to assume. It sounds as if there is a problem with your cuurent configuration but if it's not an update problem, or an installation problem, I can only direct you to the MS Office for Mac user community -> http://answers.microsoft.com/en-us/mac (sometimes you get lucky and get an actual MS employee answering your question).
    Good luck,
    Clinton

Maybe you are looking for

  • Troubles with JRE 1.4.2 and iReport (with db2 connection)

    Hello everyone. My company is developing a product, and the client is working with JRE 1.4.2 . They (the client) are using db2 Database. We are using iReport to generate the product reports, but we encounter a problem with it - the report will compil

  • Mac not starting and cannot view harddrive

    Hello, My Power Mac G5 is not starting anymore. I've tried putting in the installation disk and starting the disk utility but I can't see my disk in the list (only the DVD-ROM appears) so I can't repair anything. I'm not sure what to do from there. A

  • Error when opening t-code

    Hi,   while i am trying to open Transaction RSA1, i am geting the error "Destination is not supported" . Message No RSBO102. Can anybody please guide me, what is the problem? Thanks Dep

  • Content Aware Fill for CS5

    Just saw this for CS5: http://tv.adobe.com/watch/photoshop-20th-anniversary/contentaware-fill-sneak-peek/ Me like alot.

  • Iphoto won't open any more after software update

    Hi, I just had an automatic software update on my computer (Macbookpro OSX 10.6.8), and when I attempt to open iphoto, the following message window opens... Help! Many thanks Process:     iPhoto [431] Path:        /Applications/iPhoto.app/Contents/Ma