Crm_order_maintain - how to add a doc_flow link?

Problem:
I have searched several topic, articles, google, standard code, but have failed to add a doc_flow item (a campaign element) using the FM crm_order_maintain.
Source code:
Here is a paste of my function module:
[http://pastebin.com/XL7c9DUr|http://pastebin.com/XL7c9DUr]
Here is a SAPLINK nugget of the function group (FM ZORDER_DOCFLOW_CAMP_ELEMENT):
[http://www.filedropper.com/nuggordermaintainfm|http://www.filedropper.com/nuggordermaintainfm]
Detail:
The first parameter is the GUID of an opportunity (or any other transaction type)
The second parameter is the external id (= campaign id) in table cgpl_task or cgpl_project.
I based my script on the data I got while debugging a subsequent assignment in an opportunity or adding a relation in crmd_order to an opportunity. (Breakpoint in fm CRM_ORDER_MAINTAIN)
If I try adding a subsequent assignment through my FM or the program "CRM_ORDER_MAINTAIN" (not the fm) neither gives a dump but nor does it save! (meaning: the return values of  FM "CRM_ORDER_SAVE_OW" are empty)
I have alread managed to adjust partner relationships and the opport_h type-field through the crmd_order FM but this one I can't seem to figure out.
Feel free to ask additional info! Any help would be greatly appreciated!!

Hi Olivier,
just copy-paste this source code, it works fine in our systems:
*       << Add link to marketing campaign/ element
*       Determine call list related campaign/ element
        CLEAR: lv_cl_mktpl_guid, lv_cl_mkt_objtype.
        IF NOT zmd_cl_mkt=>gs_task_info-guid IS INITIAL. "Task (element)
          lv_cl_mktpl_guid  = zmd_cl_mkt=>gs_task_info-guid.
          lv_cl_mkt_objtype = gc_object_type-campaign_element.
        ELSE. "Campaign (root)
          lv_cl_mktpl_guid  = zmd_cl_mkt=>gs_project_info-guid.
          lv_cl_mkt_objtype = gc_object_type-campaign.
        ENDIF.
        IF NOT lv_cl_mktpl_guid IS INITIAL.
          REFRESH lt_input_field_names.
          ls_input_field_names-fieldname = 'VONA_KIND'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
          ls_input_field_names-fieldname = 'BREL_KIND'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
          ls_input_field_names-fieldname = 'RELTYPE'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
          ls_input_field_names-fieldname = 'RELATION_HANDLE'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
          ls_input_field_names-fieldname = 'RELATIONID'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
*         construct header relationship
          CLEAR ls_doc_flow_mnt.
          ls_doc_flow_mnt-objkey_a  = lv_cl_mktpl_guid.
          ls_doc_flow_mnt-objtype_a = lv_cl_mkt_objtype.
          ls_doc_flow_mnt-objkey_b  = iv_guid.
          ls_doc_flow_mnt-objtype_b = ls_orderadm_h-object_type.
          ls_doc_flow_mnt-vona_kind = gc_vona_kind-nocopy_noupdate.
          ls_doc_flow_mnt-brel_kind = gc_brel_kind-header_header.
          ls_doc_flow_mnt-reltype   = gc_bin_rel_type-predecessor_successor.
*         ls_doc_flow_h-relation_handle = 1.
          INSERT ls_doc_flow_mnt INTO TABLE lt_doc_flow_mnt.
          ls_input_fields-ref_guid      = iv_guid.
          ls_input_fields-ref_kind      = gc_object_ref_kind-orderadm_h.
          ls_input_fields-objectname    = gc_object_name-doc_flow.
          ls_input_fields-field_names   = lt_input_field_names.
          INSERT ls_input_fields INTO TABLE lt_input_fields.
*         create header relationship
          CALL FUNCTION 'CRM_DOC_FLOW_MAINTAIN_OW'
            EXPORTING
              iv_header_guid             = iv_guid
              iv_ref_guid                = iv_guid
*             IV_GAID_NUMBER_CHECK       = TRUE
*             IV_EXTERNAL_CALL           = FALSE
*             IT_PNT_ATTR                = IT_PNT_ATTR
*             IV_CAMP_DETERMINED         = FALSE
            CHANGING
              ct_doc_links               = lt_doc_flow_mnt
              ct_input_fields            = lt_input_fields
           EXCEPTIONS
             error_occurred             = 1
             OTHERS                     = 2.
          IF sy-subrc NE 0.
*           MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
        ENDIF.
*       >> Add link to marketing campaign/ element
A few comments:
- here we determine what to save (comes from another BADI) - either campaign or its element
- use INCLUDEs CRM_BIN_RELATION_CON, CRM_OBJECT_KINDS_CON, CRM_OBJECT_NAMES_CON
Enjoy!
BR,
Alexander Kirillov

Similar Messages

  • How to add an internal link on pages 5.0.1?

    Could anyone please tell me how to add an internal link on pages 5.0.1.
    I am making FAQ list, and I would like to make the first page of the document as a list of questions and when a user click on each question, it jumps to the answer (in the same document).
    I found "Add link" tool but it allows you to jump URL or email only.
    I was able to  set the list of questions as an index page of "Table of contents" tool and jump to a question page by clicking each page number, however, it fails when I put a question in a table (I would like to place each question and answer in tables for a visual purpose).
    It seems a jump by using "Table of contents" become invalid when the contents are placed in a chart.  WHy?
    Are there any way to solve this problem?
    any advise will be appreciated.

    Bookmarks have been removed from Pages 5 along with 90+ other features.
    http://www.freeforum101.com/iworktipsntrick/viewforum.php?f=22&sid=bb95ac0944151 2bc797f0c2dbd918f4c&mforum=iworktipsntrick
    You may have Pages '09 still in your Applications/iWork folder.
    The T.O.C. does not index text inside objects which includes Tables.
    Peter

  • How to add a website link into a final cut video

    Does anyone know how to add a website link that someone can click on that I can add to a video I might be creating in Final Cut Express? I am looking for an easy way to do this and I cannot find one. Thanks.

    I believe Media100 is the only application that can do this. Or at least it used to, don't know if it still does. There is a company called VideoClix that can create hot spots on QuickTime files. The technology is in QuickTime, who'd just have to learn how to do it.

  • How to add an orange link arrow on a report

    Hi forumers !
    I added an orange link arrow on a simple report (just to know how to add the orange drill down link). My report displays the following fields: CardCode, CardName and Balance taken from OCRD table.
    I want to add a link arrow on CardCode such that if I click on it, I can see the BP card. For this, i added the image of an orange arow, then create a hyperlink on it. The query I used is  'http://$b1$/link?table=OCRD&key='+{OCRD.CardCode}.
    When I run the report and click on the link, IE opens and I get the following error message :"unable to open the page".
    I've tried several ideas found on this forum , but I still getting the same error message.
    My questions are:
    How can I do to correctly see the BP card using the link arrow?
    Is there any security settings in IE I must do in order to display the BP card?
    Thanks !

    Hi Yves
    try to type at the end of your query the following
    select cardcode,cardname,balance from ocrd
    for browse
    and execute it again
    Edited by: Fasolis Vasilios on Nov 30, 2011 12:10 PM

  • How to add a download link in a report directed by a navigation link?

    I have searched the net but could not find the solution.
    I added a link in a dashboard page. The link is connected to a request. When the link is clicked, the page goes to a report, which is not placed in a section region.
    Now, how to configure the report so that a download link is displayed right under the navigated report?
    I know that if a report is placed under a section in a dashboard design page, use the "Request Link..." to add the download link. But such a "Request Link..." feature is not available for a navigate-link directed report.
    Many thanks in advance.
    Quin

    I haven't seen this done, but it may be possible. As a workaround why not create a new hidden dashboard page and put your request on that page with the appropriate 'Download' report link?

  • How to add a URL link to text

    I need t add a URL link to a word but have not bee able to locate this option, and the usual CTRL + K isn't working. Thanks!

    Hi experts,
    I findout that there is no option in the standard text to add a url link and i findout the solution also we can create text module sepreatly ,here we can add a url link and then add in the smartfrom.In this way the user only can edit the text contents of the samrtfrom without seeing ht settings.
    Thanks everyone for help.

  • How to add a "custom" link to a report column

    I have a "Tasks" report that is based on a view. the view is a union of 2 tables: "Project tasks" and "Non-project tasks", each one of them has its own form to enter the data.
    I need to add a link from my report to to either form of the mentioned tables. So, if the task is project related, it should go to the "Projects Task" form, but if the task is no related to projects, the link should point to the second form.
    How can I accomplish that in Apex 4.0 ?
    Thanks

    The view has a column for project name, if it was a non-project task, the column is defaulted to "Non-Project"Add another column to the report query (or to the view if it's a Wizard report), based on that column:
    case project_name
      when 'Non-Project' then '201' /* Page ID of non-project task form */
      else '202' /* Page ID of project task form */
    end form_page
    ...Then add a link to the required report column as described above by Alan, setting the target Page attribute to <tt>#FORM_PAGE#</tt>, the Name attribute of the task ID parameter to <tt>P#FORM_PAGE#_TASK_ID</tt> (the form pages will need to take task ID parameters following this naming convention), and the Value attribute to the task ID column from the view.

  • How to add buttons with links to different pages in my flash document?

    Hi I created a template for my flash animation which is a simple content box and a scroll bar beside it.. Anyway at the top I also have 3 pages (they are currently just part of the png background image so they are not buttons of any sort).. My question is how can I make links to these different pages so when clicked in the flash animation they will just open normally like they would in like a website..
    I am a flash beginner so I'm not too technical with it... I don't know if I would have to create 3 seperate documents for my 3 pages or something else?
    Thanks!

    Do you expect the loaded SWF to load "into" the SWF that contains the buttons or are you expecting it to overwrite the existing SWF you're already in (similar to a web page)?
    Loading a SWF inside is pretty straight forward, as long as the SWF is on the same domain or the domain you're loading from has a crossdomain.xml policy allowing it and the SWF is set to publish with the networking sandbox:
    import flash.display.Loader;
    import flash.net.URLRequest; 
    import flash.events.Event;
    var myLoader:Loader = new Loader();
    // listen for completion
    myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleCompleteF);
    // usually add some IOErrorEvent or SecurityErrorEvent handlers here
    // button hook here
    myButtonInstanceName.addEventListener(MouseEvent.CLICK, loadPageF);
    function loadPageF(e:MouseEvent):void
         // try to load
         try
              myLoader.load(new URLRequest('another.swf'));
         catch (e:*)
              // catch any error, trace it to flash IDE for debugging
              trace("Error loading SWF: " + e);
    function handleCompleteF(e:Event):void
         // success, add to display list
         addChild(myLoader);
    Season to taste, like moving the position of the Loader object. The Loader will contain the SWF in the .content property (e.g. myLoader.content) and is a display object so you can just add it directly to the display list.
    If you add a second button you can re-use the myLoader to .load() a different SWF, just point it to a new function. You could re-use the same function but you'd need to detect the different buttons (possibly via the .name property). I presume you might want to do "different things" when different pages are loaded so I'm assuming you'd probably use a different function rather than make a huge reused branching function.
    More info on Loader with sample code here:
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.ht ml#includeExamplesSummary

  • How to add "create subsite link" on my site home page?

    We are using SharePoint 2013 online for our intranet application. One of the requirements is to  add a "create sub-site link" on the home page. Are there any available webparts I can use to add this functionality on the home page? I remember
    seeing this on one of our users home page but not able to remember how it was setup? The home page will be a custom template.

    Hi,
    Let me if I understood your requirement, and based on my understanding you can simple use the Link webpart (App) which is OOTB in SharePont 2013 and use this url
    http://yourSite/_layouts/15/newsbweb.aspx to the link webpart (App).
    This one is a simple solution, since its OOTB you would not have any overhead in maintaining it.
    Hope this helps!
    Ram - SharePoint Architect
    Blog - SharePointDeveloper.in
    Please vote or mark your question answered, if my reply helps you

  • URGENT: How to add an URL link to an Image?

    Hi,
    I need to be able to link a web page from an image . How can I do this using Oracle Portal?
    Many THANKS
    Mariela

    this link try to connect to a page named page_name
    <img src="images/24librar.gif" border="1">
    here is the code
    &lt;a href=/pls/portal30/url/page/page_name &gt;&lt;img src=images/24librar.gif border=1 &gt;&lt/a&gt;
    pedro

  • How to add a movie link in html

    Hi,
    I have a CD about history of our company(Movie) I am developing a web page for our company. In this web page, i need to include one link. If user clicks on that link, user shuold be able to view the running movie in Media player.
    Can anyone please guide me how to do it ? which tag i should use ?
    Please help
    Regards
    Ashvini

    Hai
    U just try this
    <jsp:plugin type="applet" code="<here u put ur JMF class" codebase="/URPackdir" width="300" height="200">
    <jsp:params>
    <jsp:param name="file" value="<%=UrURL%>" />
    </jsp:params>
    <jsp:fallback>
    <p> Unable to start Plug-in. </p>
    </jsp:fallback>
    </jsp:plugin>Regards
    K.Suresh

  • How to add external URL link to SAP object (Purchase Order, Invoice, etc)

    Hello,
    Is there any function module /BAPI that allows me to add an external URL link to a existing Purchase Order
    or Invoice document in R3 system?
    I tried to debug the system but have not found no suitable function module for it.
    I also analyzed the ABAP code of the small GUI window that allows to add a external URL link to
    a Purchase Order, and found the function module SO_OBJECT_INSERT. However I could not debug
    it (seems to be created with BOR objects) so I've no example for it.
    Please help!
    Regards,
    Manuel Dias

    CONSTANTS:
        c_http(36)    TYPE c VALUE '/BpHttpApis/slaphapi?ibmperson/(uid=',
        c_listxml(12) TYPE c VALUE ').list/byxml',
        c_value(5)    TYPE c VALUE 'value',
        c_cn(2)       TYPE c VALUE 'cn',
        c_mail(4)     TYPE c VALUE 'mail',
        c_em_num(19)  TYPE c VALUE 'managerserialnumber',
        c_em_cou(18)  TYPE c VALUE 'managercountrycode'.
      DATA  client          TYPE REF TO if_http_client.
      DATA  url             TYPE string.
      DATA  xbuffer         TYPE xstring.
      DATA  l_value         TYPE zchar2000.
      DATA  l_value_string  TYPE string.
      DATA  content         TYPE string .
      DATA  rows            TYPE STANDARD TABLE OF string.
      DATA  wa_rows         TYPE string .
      DATA  conv            TYPE REF TO cl_abap_conv_in_ce.
      DATA  ixml            TYPE REF TO if_ixml.
      DATA  streamfactory   TYPE REF TO if_ixml_stream_factory.
      DATA  parser          TYPE REF TO if_ixml_parser.
      DATA  istream         TYPE REF TO if_ixml_istream.
      DATA  document        TYPE REF TO if_ixml_document.
      DATA  node            TYPE REF TO if_ixml_node.
      DATA  xmldata         TYPE string.
      DATA  iterator        TYPE REF TO if_ixml_node_iterator.
      DATA  nodemap         TYPE REF TO if_ixml_named_node_map.
      DATA  attr            TYPE REF TO if_ixml_node.
      DATA  name            TYPE string.
      DATA  prefix          TYPE string.
      DATA  value           TYPE string.
      DATA  indent          TYPE i.
      DATA  count           TYPE i.
      DATA  index           TYPE i.
      url = 'http://bluepages.ibm.com'.
      CLEAR: l_value_string, l_value.
    ***Create the HTTP client
      CALL METHOD cl_http_client=>create_by_url
        EXPORTING
          url    = url
        IMPORTING
          client = client
        EXCEPTIONS
          OTHERS = 1.
      IF sy-subrc <> 0.
    Create the HTTP client failure, sy-subrc =
        MESSAGE i005(zm) WITH text-026 sy-subrc.
        EXIT.
      ENDIF.
      CONCATENATE c_http
                  p_accnt
                  p_couty
                  c_listxml
                  INTO l_value.
      l_value_string = l_value.
    ***Get employee information
      CALL METHOD client->request->set_header_field
        EXPORTING
          name  = '~request_uri'
          value = l_value_string.
      client->send( ).
      client->receive( ).
    ***Load to xstring
      CLEAR xbuffer .
      xbuffer = client->response->get_data( ).
      conv = cl_abap_conv_in_ce=>create( input = xbuffer ).
      conv->read( IMPORTING data = content ).
    create the ixml main factory
      ixml = cl_ixml=>create( ).
    create a stream factory
      streamfactory = ixml->create_stream_factory( ).
      xmldata = content.
    create a input stream
      istream  = streamfactory->create_istream_string( string = xmldata )
    create a ixml document
      document = ixml->create_document( ).
    create a xml parser
      parser  = ixml->create_parser( document       = document
                                     stream_factory = streamfactory
                                     istream        = istream ).
    parse the xml document into DOM tree
      IF parser->parse( ) <> 0.
    parse the xml document into DOM tree failure
        MESSAGE i005(zm) WITH text-027.
        EXIT.
      ELSE.
        node ?= document.
        IF node IS INITIAL.
    To be done
        ENDIF.
    create a node iterator
        iterator  = node->create_iterator( ).
    get current node
        node = iterator->get_next( ).
    loop over all nodes
        WHILE NOT node IS INITIAL.
          indent = node->get_height( ) * 2.
          indent = indent + 20.
          CASE node->get_type( ).
            WHEN if_ixml_node=>co_node_element.
          element node
              name    = node->get_name( ).
              nodemap = node->get_attributes( ).
              IF NOT nodemap IS INITIAL.
            attributes
                count = nodemap->get_length( ).
                DO count TIMES.
                  index  = sy-index - 1.
                  attr   = nodemap->get_item( index ).
                  name   = attr->get_name( ).
                  prefix = attr->get_namespace_prefix( ).
                  value  = attr->get_value( ).
                ENDDO.
              ENDIF.
            WHEN if_ixml_node=>co_node_text.
    User name
              IF name  = c_value AND
                 value = c_cn.
          text node
                value  = node->get_value( ).
                p_name = value.
              ENDIF.
    User email
              IF name  = c_value AND
                 value = c_mail.
          text node
                value  = node->get_value( ).
                p_email = value.
              ENDIF.
    Employ serial number
              IF name  = c_value AND
                 value = c_em_num.
          text node
                value  = node->get_value( ).
                p_em_num = value.
              ENDIF.
    Employ country code
              IF name = c_value AND
                 value = c_em_cou.
          text node
                value  = node->get_value( ).
                p_em_cou = value.
              ENDIF.
          ENDCASE.
      advance to next node
          node = iterator->get_next( ).
        ENDWHILE.
      ENDIF.

  • How to add a URL link to a WAD template

    Hi,
    the requirement is to have a kind of button in a WAD template
    that opens a document in a new browser window.
    (The document actually contains an extensive help for the application.
    It shall be stored in the portal CM and we have the URL for that)
    Any suggestions fr a simple solution?
    P.S.
    - A single document might be an option as well, however than we would have to attach the document to an BW object and it seems not to open directly after the call
    - A button group item that starts a script item?

    Hello,
    Try this one as Web Template:
    START ###
    <bi:bisp  xmlns="http://www.w3.org/TR/REC-html40" xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp" xmlns:jsp="http://java.sun.com/JSP/Page" >
        <html >
            <head >
                <title >BEx Web Application</title>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            </head>
            <body >
                <p >
                    <bi:TEMPLATE_PARAMETERS name="TEMPLATE_PARAMETERS" />
    <!-- insert data providers, items and other template content here -->
                    Button with portal style:
                </p>
                <p >
                    <span class="urBtnRow" >
                        <a class="urBtnStd" id="BUTTON_DOCUMENTATION" title="Documentation" href="http://sap.com" target="_new">Documentation</a>
                    </span>
                </p>
                <p >Hyperlink:</p>
                <p >
                    <span class="urBtnRow" >
                        <a href="http://sap.com" >[Documentation]</a>
                    </span>
                </p>
            </body>
        </html>
    </bi:bisp>
    END ###
    Probably you have to look into source code of this page, because you have to copy the text directly into WAD.
    Search for ### START ###
    Regards, Karol
    SAP NetWeaver BI, Development

  • How to add a link in the masthead in the portal

    Hi,
    Actuallly i want to add a new link for ex-help link or user info etc..in the masthead in theportal,can any one please suggest me how to go about it as iam completely new to E.P and have not done any development ,till now have been dealing with support issues ,so your help will be greatly appreciated.
    Regards
    Pooja

    Hi,
    Follow this link,
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d07bf112-1705-2a10-1a9f-d0a705e550fa
    This article will clearly explain how to add a new link in masthead.
    I hope this is helpful for you. You have any doubt regards this ask me, i will help you.
    Regards
    Prakash T

  • How to add a link to an interactive svg using edge commons library

    Hi,
    I've been playing around with this wonderful Edge Commons interactive SVG tutorial
    My question is : How to add an external link "url" to an interactive svg using edge commons library ?
    Edge commons example file :
    http://edgedocks.com/market/interactive-svg-example-project-edge-commons
    Edge commons  video tutorial :
    http://www.youtube.com/watch?v=4UEB6gaLKuw
    I have adapted this tutorial to an interactive map, http://madudesign.com/works/france/ every thing is going fine until I couldn't figure out to link a particular url on each part of the region of the map.
    I managed to figure out how to change colors on the different parts of the map on mouse over and mouse out but I'm not quite comfortable with JavaScript since I don't use it every day...
    I have tryed to link to an url by passing it on the illustrator layer and via the onclick event (event.target.id) to a simple url
    http://redpen.io/6svh5u
    then working in Edge and publishing on the browser the link returns me a weird url line by replacing the original url slashes "//" by "_x2F_" and I must have misunderstood the proper JavaScript line to open that link from there...
    for example on my actual exemple "http://madudesign.com/works/france/"
    the first top region of France is normally a link to "http://www.google.com" and it returns "http:_x2F__x2F_www.google.com" plus the complete path to the file too...
    I don't know how to get around this trick and have back for each region a particular clean link from the event target id of the svg...
    thank-you for any help
    matt
    link to my edge animate file if needed :
    http://madudesign.com/works/france/carte_de_france.zip

    I got an answer from the Edge Commons dream team and I am very grateful to them :
    "The problem that you bumped into was that you hadn't included a valid URL so far. We weren't sure if you wanted to include them within the SVG file or if you wanted to implement the functionality within Edge Animate. We came up with a solution for the latter one, with a simple switch in the js code:
    You have to type in the appropriate URL of course for all the cases."
    I have to share the final result:
    http://www.madudesign.com/works/france/france_map/
    And the zipped project file:
    http://www.madudesign.com/works/france/france_map.zip
    Thanks to Daniel & Simon
    Matt

Maybe you are looking for

  • Schedule line in delivery

    Hi friends, I have  a scenario where the client has created the sale order say on 22.2.2008 ,but did not get the confirmed quantities on that day.Now assume the quantity receieved is on 22.3.2008 during availibilty check. Now the client wants to do a

  • BAPI for creation Stock transfer oder

    Hello Gurus Is there a BAPI to create a Stock transfer order( UB - within the company code )? regards mohammed

  • Editing multiple ending symbols in score editor...what the heck?!?!?

    I must be dense or something - in ver. 7 lengthening the end bracket on repeated ending symbols was as easy and click-dragging the end to the desired measure. In ver. 8 it appears that there is no editing possible - you're stuck with the default one

  • Please HELP-Problem of Standalone OC4J Container

    Hi All, I developed one ERP Product using ADF BC Swing and deploymed at 3 clients running online,But problem is of OC4J, When i Start Standalone OC4J then user connects and do the entries,but when he close his form or Application then oc4j is not rel

  • Iphoto on yosemite crashes when trying to update old photo library

    Hi there, I have a Imac 24" from 2008 with 3.06 GHz Intel Core 2 Duo processor, 4GB memory. I just upgraded to Yosemite 10.10.1 The iphoto library was old so I downloaded the iphoto library upgrader as instructed and ran it on Iphoto Library (made a