FI Upload file (Approval Workflow)

Hi All,
Need some assistance:
Currently our company has a standard approval workflow built.  So when we receive an invoice without a PO, we manually post the invoice to a GL & Cost Centre.  Once the invoice is coded, It’s then sent to the GL owners to approve using the workflow currently in place.  All this works perfectly fine.
My issue is FI Upload files……. As Upload files contain several GL accounts – we are currently attaching a manual email approval from the approver to the file upload so the Accounts Payable department could post without any further approvals in Workflow as an email approval is sufficient.
We would like to build the same workflow approval cycle that we have already in place for Fi Invoices.
Note – an upload file come in with 10 different GL accounts ( ideally we don’t want to send it to 10 different approvers) as this will slow down the process, so I was wondering if there is a better solution that you could share to eliminate the upload going to 10 approvers.
Any Suggestions are greatly appreciated.
Thanks
Alex

Hi All,
Need some assistance:
Currently our company has a standard approval workflow built.  So when we receive an invoice without a PO, we manually post the invoice to a GL & Cost Centre.  Once the invoice is coded, It’s then sent to the GL owners to approve using the workflow currently in place.  All this works perfectly fine.
My issue is FI Upload files……. As Upload files contain several GL accounts – we are currently attaching a manual email approval from the approver to the file upload so the Accounts Payable department could post without any further approvals in Workflow as an email approval is sufficient.
We would like to build the same workflow approval cycle that we have already in place for Fi Invoices.
Note – an upload file come in with 10 different GL accounts ( ideally we don’t want to send it to 10 different approvers) as this will slow down the process, so I was wondering if there is a better solution that you could share to eliminate the upload going to 10 approvers.
Any Suggestions are greatly appreciated.
Thanks
Alex

Similar Messages

  • FI Uploads (Approval Workflow)

    Hi All,
    Need some assistance:
    Currently our company has a standard approval workflow built.  So when we receive an invoice without a PO, we manually post the invoice to a GL & Cost Centre.  Once the invoice is coded, It’s then sent to the GL owners to approve using the workflow currently in place.  All this works perfectly fine.
    My issue is FI Upload files……. As Upload files contain several GL accounts – we are currently attaching a manual email approval from the approver to the file upload so the Accounts Payable department could post without any further approvals in Workflow as an email approval is sufficient.
    We would like to build the same workflow approval cycle that we have already in place for Fi Invoices.
    Note – an upload file come in with 10 different GL accounts ( ideally we don’t want to send it to 10 different approvers) as this will slow down the process, so I was wondering if there is a better solution that you could share to eliminate the upload going to 10 approvers.
    Any Suggestions are greatly appreciated.
    Thanks
    Alex

    As such there are no events available in BUS2023, therefore extend it to add the event and call this event in your BTE FM using FM SWE_EVENT_CREATE_IN_UPD_TASK
    Regards, IA

  • Upload of PO Approval Workflow Customization showing errors.

    Hi,
    As per the client requirement, I have customized the PO approval Workflow
    For customization i did take care that only those standard workflow processes are customized which are prescribed by Oracle as customizable.
    For ex: PO Approval Top Process (Protection Level 1000)
    1. All other custom processes are defined and then included in the standard processes.
    2. I have done all this activity at an access level of 100 in Workflow Builder.
    3. For every custom object in workflow i have checked the Preserve Customization checkbox
    4. Though Preserve Customization Checkbox is not checked for PO Approval Top Process.
    5. After Verifying the design in Workflow Builder i tried Uploading the Workflow to the instance but it is giving Errors
    First I tried to upload in FORCE mode
    1. Copying the customized poxwfpoa.wft file to PO_TOP/patch/115/import/US directory
    Command execurted
    $FND_TOP/bin/WFLOAD apps/simple4u 0 Y FORCE poxwfpoa.wft
    After running this it was giving errors like
    Display name conflict for ACTIVITY entitiy 'POAPPRV/APPROVE_AND_FORWARD_PO' with APPROVE_AND_FORWARD_THE_PO:D:Bestellung genehmigen und weiterleiten
    and so on ....like this
    Then i tried it in UPGRADE Mode
    $FND_TOP/bin/WFLOAD apps/simple4u 0 Y UPGRADE poxwfpoa.wft
    after this it was giving errors like
    MESSAGE 'POAPPRV/XML_NOT_SET' is protected, no changes were saved.
    MESSAGE 'WFSTD/WFSTD_DEFAULT_VOTE' is protected, no changes were saved.
    MESSAGE 'POAPPRV/EMAIL_PO_PDF_SUPP' is protected, no changes were saved.
    MESSAGE 'POAPPRV/EMAIL_PO_PDF' is protected, no changes were saved.
    MESSAGE 'POAPPRV/PO_PO_APPROVE_PDF' is protected, no changes were saved.
    MESSAGE 'POAPPRV/PO_EMAIL_PO_PDF_WITH_RESPONSE' is protected, no changes were saved.
    MESSAGE 'POAPPRV/NOTIFY_PDF_ERROR' is protected, no changes were saved.
    ACTIVITY 'POAPPRV/ACCEPTANCE_REQUIRED' is protected, no changes were saved.
    ACTIVITY 'POAPPRV/ANY_REQUESTER_CHANGE' is protected, no changes were saved.
    ACTIVITY 'POAPPRV/ANY_SUPPLIER_CHANGE' is protected, no changes were saved.
    Display name conflict for ACTIVITY entitiy 'POAPPRV/APPROVE_AND_FORWARD_PO' with APPROVE_AND_FORWARD_THE_PO:D:Bestellung genehmigen und weiterleiten
    ACTIVITY 'POAPPRV/APPROVE_AND_FORWARD_THE_PO' is protected, no changes were saved.
    ACTIVITY 'POAPPRV/APPROVE_PO' is protected, no changes were saved.
    Display name conflict for ACTIVITY entitiy 'POAPPRV/APPROVE_PO_SUB_PROCESS' with APPROVE_PO:D:Bestellung genehmigen
    ACTIVITY 'POAPPRV/BLANKET_PO_REAPPROVAL' is protected, no changes were saved.
    Though after this i checked, by creating a purchase order, whether the customization have been uploaded or not to my surprise they got uploaded and workflow was working fine
    But my problem is that why is this error is coming and in what all scenarios the workflow can fail because of this?
    Please advice as i m not getting any clue to it !!
    Will request forum members to reply ASAP.
    Thanks,
    Sachin Relan

    Hi,
    I believe the feature is available.
    Oracle Purchasing User's Guide Release 11i/R12
    http://www.oracle.com/technetwork/documentation/applications-167706.html
    Setup Notes for E-mail Purchase Orders [ID 198539.1]
    Release 12: New Features For Purchasing Approvals [ID 429314.1]
    FAQ: Document Approval and Routing [ID 210488.1]
    Thanks,
    Hussein

  • Triggering workflow through an upload file

    Hello All,
    My requirement is:
    If transaction ZGUPACCR is started, it is based on an upload text file. The transaction should start a WF for approval before it posts the document. The text file that was approved would have to be stored as an attachment to the SAP document. In case of a rejection, the posting should be aborted and a message should go to the initiator to change the accrual upload file and restart the whole process for approval. The approver identification will  be rule based.
    Which BO & event should I use to trigger the workflow?
    Can I send the text file as an attachment to the approval workitem? How can this be accomplished?
    Thanks alot in advance!!
    Regards,
    Sangeeta

    Hi,
    I'm not sure whether ther is any  BO & event. If not start with custom BO & Event.
    1- Create a prgam and  assign the same to tcode.
    2- Create custom BO& Event.
    3- Create the WF temeplate
    4- Create Rule for Approver Identification
    5- Step to send mail to the Approver using the Program exit (Where the step will waiting for the Approver's decision)
    6- If yes, post the file else send the rejection reason.
    Please close the thread, if solved
    Regards,
    Aditya

  • Upload file in Web Dynpro and add to Workflow container as SOFM object

    Hi!
    I have a Web Dynpro for ABAP application that should send attachments of uploaded files to a workflow container. I have already managed to do this, and it works fine for TXT files, but when I try to attach a WORD (.DOC) file the file looks corrput when I open it from the SAP inbox.
    When uploading files in Web Dynpro it is as an XSTRING. I have tried out the following alternatives regarding convertion of the XSTRING before it is inserted in the SOFM object:
    1) Convert from XSTRING to STRING using codepage 4110.
    Then it is split into a string table of 255 chars
    2) Convert from XSTRING to STRING using codepage 4102
    Then it is split into a string table of 255 chars
    3) Convert from XSTRING to BINARY format
    I use function module 'SWL_SOFM_CREATE_WITH_TABLE'
    and then swf_create_object lr_sofm 'SOFM' ls_sofm_key.
    before I call some macros to fill the container.
    Anyone else who have tried to do this with success? I'm greatful for any help.
    Regards, Tine

    Hi,
    I had the same problem in the last days and finally I got a quite simple solution:
    I had a look at the FM SWL_SOFM_CREATE_WITH_TABLE an noticed that it calls another FM (SO_DOCUMENT_INSERT_API1) which has a tables parameter for HEX data and is actually able to  create a SOFM object from HEX data.
    I simply copied SWL_SOFM_CREATE_WITH_TABLE as a customer FM and applied a few changes to make it accept HEX data:
    First I added a new table parameter in the interface which gets the HEX data from the calling application (uploaded data using BIN format):
    OBJECT_CONTENT_HEX     LIKE     SOLIX
    Here is the code of the FM (I marked all additional and changed lines with a comment):
    function z_test_sofm_create_with_table .
    *"*"Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(NOTE_TITLE) LIKE  SODOCCHGI1-OBJ_DESCR OPTIONAL
    *"     VALUE(DOCUMENT_TYPE) LIKE  SOODK-OBJTP DEFAULT SPACE
    *"  EXPORTING
    *"     VALUE(SOFM_KEY) LIKE  SWOTOBJID-OBJKEY
    *"  TABLES
    *"      NOTE_TEXT STRUCTURE  SOLISTI1 OPTIONAL
    *"      OBJECT_CONTENT_HEX STRUCTURE  SOLIX OPTIONAL
    *"  EXCEPTIONS
    *"      ERROR_SOFM_CREATION
      data: region like sofd-folrg.
      data: folder_id like soodk.
      data: l_folder_id like soobjinfi1-object_id.
      data: document_data like sodocchgi1.
      data: document_info like sofolenti1.
      data: object_content like solisti1 occurs 0 with header line.
      data: lines like sy-tabix.
    *- set default
      if document_type is initial.
        document_type = 'RAW'.
      endif.
    *- create office object
    *-- get dark folder
      region = 'B'.
      call function 'SO_FOLDER_ROOT_ID_GET'
        exporting
          region                = region
        importing
          folder_id             = folder_id
        exceptions
          communication_failure = 1
          owner_not_exist       = 2
          system_failure        = 3
          x_error               = 4
          others                = 5.
      if sy-subrc ne 0.
        message e696(wl)                       "<== Add message class
                raising error_sofm_creation.
      endif.
    *- get description
      if note_title is initial.
        read table note_text index 1.
        note_title = note_text.
      endif.
    *-- create office document
      document_data-obj_name = 'ATTACHMENT'.
      document_data-obj_descr = note_title.
      document_data-obj_langu = sy-langu.
      object_content[] = note_text[].
      describe table object_content lines lines.
      document_data-doc_size = ( lines - 1 ) * 255 + strlen( object_content ).
      if object_content[] is initial.                     "<== insert
        describe table object_content_hex lines lines.    "<== insert
        document_data-doc_size = lines * 255.             "<== insert
      endif.                                              "<== insert
      l_folder_id = folder_id.
      call function 'SO_DOCUMENT_INSERT_API1'
        exporting
          folder_id                  = l_folder_id
          document_data              = document_data
          document_type              = document_type
        importing
          document_info              = document_info
        tables
          object_content             = object_content
          contents_hex               = object_content_hex   " <== Insert line
        exceptions
          folder_not_exist           = 1
          document_type_not_exist    = 2
          operation_no_authorization = 3
          parameter_error            = 4
          x_error                    = 5
          enqueue_error              = 6
          others                     = 7.
      if sy-subrc ne 0.
        message e696(wl)                              "<== Add message class
                raising error_sofm_creation.
      endif.
    *- set export parameter
      sofm_key = document_info-doc_id.
    endfunction.
    The returned  SOFM key I added to a container element. The element refers to event parameter of type OBJ_RECORD in my ABAP OO Class
    Using this function I was able to raise an event by using Method cl_swf_evt_event=>raise
    that invoked a workitem containing an Excel-File i had uploaded as binary file and passed to the FM z_test_sofm_create_with_table as document type 'XLS'.
    In the woritem preview when clicking on the attachment the file was opened directly in Excel.
    Actually the new lines for calculation the file size is not yet quite correct. At first glance it does not seem to cause any trouble, but I will stll check that. In FM SO_OBJECT_INSERT the size is again checked and calculated if initial, so leaving size initial might also be an option.
    I hope this helps anyone having a similar issue.
    Greetings,
    Michael Gulitz

  • GP: Creation of process for uploading file with approval or a rejection

    Problem: It is necessary to organise process of uploading files in KM repository with approval or a rejection.
    I have created process with two callable objects.
    1. File Input
    2. Interactive Form/File Approval
    Has grouped structure "File"
    In Runtime, during object performance "Interactive Form/File Approval" there is an error:
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: pdfSource of InteractiveForm UI element should be populated with pdf binary content in USE_PDF mode
    It is one problem, the second problem consists in that how to organise a folder choice where the file will be loaded.

    Hi Pustovoytov Stanislav ,
    Check whether if the context attribute pdfsource is of binary type or any other type. It sbould be of binary type.
    And about the second one you can organize the folder structure in the KM administration.
    Thanks
    Satya

  • Upload file in custom program and pass it to workflow

    Hi, guys.  Now, i have the requirment to allow user to upload file in the custom program and trigger the workflow with the attached file.
    Any one has experience on this? i would like to know how to upload the file from custom program, and how to create instance of the BO "SOFM".  Then, i can pass this instance to workflow.

    HI Jrockman,
    Please check the solved reply in this thread
    Passing a file from a report  to workflow container
    Hope this would solve your issue.
    Good luck
    Narin

  • Start Workflow when Upload File using drag and drop

    Hi,
    I am working with SharePoint 2013.
    I have a workflow needed to be started and run only once after a document is uploaded into the document library. The document library has
    required custom columns with default values. If I set workflow starting option as 'On Created', when user got redirected to the edit form and click 'Save', there would be error as
    "The <filename> has been modified by <user> on <datetime>". Besides the unwanted error dialog, the metadata entered by users are not reflected. I understand the issue is because the workflow had already started before
    the edit form showed and it modified the file.
    So I changed the starting option to 'On Changed", created an additional column to record if the workflow has been run or not to avoid running the whole workflow more than once. This works fine for normal upload. However on drag and drop, the
    event 'On Changed' is not triggered and the workflow is not started. I checked the version of the file but in both normal upload and drag and drop, there is another version after the first version. But
    only the version of normal upload triggers the workflow.
    I read an article about some Mode = Upload on the edit form.
    https://go4answers.webhost4life.com/Example/workflow-triggered-during-upload-user-149297.aspx
    It seems that the Mode = Upload is not there anymore for normal upload, but it's still there for drag and drop. Not sure about this
    Is there a solution for my case. Basically I want to start the workflow only once when the document is uploaded normally or via drag and drop. For normal upload, user can
    edit the custom metadata right after they browse the file. For drag and drop, the
    metadata will be set as default values.
    Thank you.

    I'm still researching your issue, but as an interesting note... This is an issue only when I use a 2013 style workflow. I do not get the error when using a 2010 style workflow.
    Mike Smith TechTrainingNotes.blogspot.com
    Books:
    SharePoint 2007 2010 Customization for the Site Owner,
    SharePoint 2010 Security for the Site Owner

  • Sending uploaded file to the approver using GP Process

    Hai all,
    i my project i need to send the resource files for approver ...
    in my application i have created three actions under one sequencial block ..i need to send the user uploaded files to the three approvers .....

    Hi Ravi,
    You can send email with attachment to multiple approver's using webdynpro api. Please check below link -
    http://wiki.sdn.sap.com/wiki/display/WDJava/Sendmailwithattachmentusingwebdynpro+API%27s
    Regards,
    Sen

  • Handling Multiple Approval Workflows

    I have a scenario where documents need to be uploaded into SharePoint, triggering specific approval workflows depending on the destination of the uploaded document. I initially thought this could be done through one document library with a separate approval
    workflow set for specific folders within this document library. It now appears there is no easy solution for accomplishing this within one document library and multiple sub-folders, as the sub-folders inherit all workflows from the parent document library.
    As a SharePoint beginner I am unsure the best solution for this scenario. Should I be using something other then multiple document libraries to accomplish this task (this seems messy, thus why I tried to use one document library with multiple sub-folders)?
    Thanks for the help in advance.

    Hi Brian,
    I think this can be handled multiple ways but here are the 2 that came to my mind first.
    1. add a column to your doc lib that is a dropdown of all the sub folder names that they can upload to. Make it a required field so they need to fill it in on upload. then in your workflow you can lookup the value of that dropdown and write an if condition
    based on the dropdown selection to determine which approval to start.
    2. you might be able to use the substring functions that exist when building your workflow located under Action>Utility actions and then do a substring on the url path field to determine the subfolder that the doc was uploaded to.
    I am sure there are other ways to accomplish this without multiple document libraries. You could probably also do a taxonomy (similar to the way I said to do the dropdown) it probably depends if you would find it useful to have a taxonomy on your files
    Have fun! Let me know if this is useful and if you have any other questions, please let me know.
    Alex

  • Approval workflow in the rooms

    Hello to all,
    i need to active the approval workflow for the room's documents.
    One member create a new document, and only he and the leader should see the document, and when the leader approve the document the others members should see this document. And all the members can create and uploat documents at the room.
    Can sombody helpme??

    Hi Anna Maria ,
    you are right... let's see if a user has read/write access to a folder he/she can see any document in any status.
    if another user has read access permission over that folder he/she won't see any document until it is approved.
    Of course you need all the user have read/write access.... so
    I'm thinking about two options:
    1.  once an user upload a file you remove the write permission over that file.. you need to develop your own upload app.
    2.  this is the tricky one...
    create a folder for every user in your room, give them read/write permission over their own folder
    for example, user01 ---> read/write over the folder named user01 in this room
    everyone else only read access
    activate the approval process over every single folder.
    This way, every time a user upload a document, only he/she and the people in the approval workflow can see it, not his/her partners.
    Ok, but now maybe you don't wanna navigate for every folder to see the approved documents, so..
    create an index over the root folder
    create a query-base taxonomy with a public folder
    for the public folder create a query something like
    property
    Folder IS your <rootfolder>
    Finally, create an readonly iView to this folder taxonomy
    for example
    /taxonomies/<your index>/<your taxonomy>/public
    In this iView all the people in the project will see only the approved documents.
    You can read about the query based taxonomies here
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bd1db090-0201-0010-eaab-82bcdf1c85ae
    Regards
    DV

  • Setting up Sharepoint 2013 approval workflows depending on field value

    Dear Microsoft Support,
    I am still relatively new to Sharepoint-Infopath and would need help with setting up workflows for a requisition form I am creating. I have designed and created a form using Infopath 2013 and have successfully created the link
    to have the data uploaded into my Sharepoint Server 2013 library. This form's purpose is to have our users make supply requisitions from the Warehouse department. We are a school, therefore, there are numerous different departments with different approvers.
    My goal now is to setup the approval workflows using Sharepoint Designer 2013. The complication now is that only certain people need to approve the requests, depending on the department selected. For example, I am in the IT department, if I put a field's value
    as "IT" the form will be sent to the IT department manager prior to going to the Warehouse department for processing. If the user chose "English", the form will be routed to the English department head for approval. What are the steps that
    I would take to have that kind of customization? How do I setup approval workflows in Sharepoint Designer 2013 to meet that?
    I have tried searching for solutions over the web, but all of them are too generalized and would not be related to my case in terms of different approvers depending on the different departments in our school. Your assistance would be greatly appreciated.
    Thanks. Jason

    I would create a second SharePoint list that is set up with two columns. The first column is Title (which is a default column) and the second column is 'Person or Group' column and name it 'Approver'. Then enter the department in the title field and select
    the person who needs to approve that department's forms in the 'Approver' field. Use this list and pull in this information in the InfoPath form by creating a data connection to the newly created list and set up the filter to only pull
    back the information where 'Title' = 'Department'. After this information is pulled into your form, store the approver information in a hidden field in the InfoPath form and use that field throughout the workflow.
    I know this is a very brief explanation so let me know if you need more information.

  • Powershell: How do I upload files with metadata from a manifest file?

    I am using the script from this blog to try to upload files into SharePoint, using a manifest file to specify the metadata associated with each file. Right now, the script works, but is not populating
    the metadata from the manifest (xml) file. When I write the $metadataManifest variable out to the console, I get the contents of my xml file, so the code is reading the file when it should. However when it gets to the line in bold ($metadataManifest.Columns.Column),
    it does not go into that block...it just skips on to checkin the file. Again the $metadataManifest variable shows all the content in my xml manifest file. Here is what the script looks like...
    #Get web and document library objects
    $web = Get-SPWeb "http://companySite"
    $Library = "My Library"
    $docLibrary = $web.Lists[$Library]
    $ManifestFilePath = "C:\PowerShellScripts\Manifest.xml"
    $LocalPath = "C:\Upload\Test Upload\My Upload Directory\"
    if ($ManifestFilePath)
    $metadataManifest = (Get-Content ($ManifestFilePath))
    write-host "Manifest file: " $metadataManifest
    else
    write-host "Manifest file not specified for categorising uploaded documents"
    #Check for the LibraryStartFolder parameter to specify a root folder
    if ($PSBoundParameters.ContainsKey('LibraryStartFolder')) {
    $folder = $web.GetFolder($docLibrary.Title + $LibraryStartFolder)
    else
    $folder = $docLibrary.RootFolder
    #Attach to local folder and enumerate through all files
    if($IncludeSubFolders) {
    $files = Get-ChildItem $LocalPath -Recurse
    else
    $files = Get-ChildItem $LocalPath
    $files | ForEach-Object {
    #Check if the object is a folder - if so, create it in doc library
    if ($_.PSIsContainer) {
    if (($IncludeSubFolders) -and (!$FlattenStructure)) {
    #Generate folder path for creation in SharePoint
    #by looking at the parent folder on the local path
    $spFolderPath = ($_.Parent.FullName.Replace($LocalPath,"")).Replace("\","/")
    #Get the folder into which the new folder will be created
    #by adding the folder path generated above, if one existed
    if ($spFolderPath -eq "") {
    $currentFolder = $web.GetFolder($folder.Url)
    else
    $currentFolder = $web.GetFolder($folder.Url + $spFolderPath)
    #Check to see if subfolder already exists
    #and create it if not
    $testFolder = $currentFolder.SubFolders[$_.Name]
    if ($testFolder -eq $null) {
    write-host "`nAdding folder" $_.Name "to" $docLibrary.Title "in" $web.Title "..." -foregroundcolor Green
    $newFolder = $currentFolder.SubFolders.Add($_.Name)
    else
    write-host "`nFolder" $_.Name "already exists in" $docLibrary.Title "and shall not be created" -foregroundcolor Red
    else
    #Generate file path for upload into SharePoint
    if ($FlattenStructure) {
    $spFilePath = ("/" + $_.Name)
    else
    $spFilePath = ($_.FullName.Replace($LocalPath,"")).Replace("\","/")
    $spFullPath = $folder.Url + "/" + $spFilePath
    #Check if the file exists and the overwrite option is selected before adding the file
    if ((!$web.GetFile($spFullPath).Exists) -or ($Overwrite)) {
    #Add file
    write-host "`nCopying" $_.Name "to" $spFullPath.Replace("/" + $_.Name,"") "in" $web.Title "..." -foregroundcolor Green
    $spFile = $folder.Files.Add($spFullPath, $_.OpenRead(), $true)
    #$spFile = $folder.Files.Add($folder.Url + "/" + $file.Name, [System.IO.Stream]$fileStream, $true)
    $spItem = $spFile.Item
    #Walk through manifest XML file and configure column values on the file
    $metadataManifest.Columns.Column | ForEach-Object {
    #Single value text columns
    try
    if (($_.Type -eq "Text") -or
    ($_.Type -eq "Choice") -or
    ($_.Type -eq "Boolean") -or
    ($_.Type -eq "Number") -or
    ($_.Type -eq "Currency")) {
    $columnName = $_.Name
    write-host "Setting value on column"$columnName "..." -foregroundcolor Blue
    $_.Values.Value | ForEach-Object {
    $spItem[$columnName] = $_
    write-host "Value set to"$_
    catch {}
    #Multiple line text column
    try
    catch {}
    #Multiple choice columns
    try
    catch {}
    #Hyperlink columns
    try
    catch {}
    #Single User column
    try
    catch {}
    #Multiple User column
    try
    catch {}
    #Single value Managed Metadata column
    try
    catch {}
    #Multi value Managed Metadata column
    try
    catch {}
    #Update document with new column values
    $spItem.SystemUpdate($false)
    #Check in file to document library (if required)
    #MinorCheckIn=0, MajorCheckIn=1, OverwriteCheckIn=2
    if ($CheckIn) {
    if ($spFile.CheckOutStatus -ne "None") {
    $spFile.CheckIn("File copied from " + $filePath, 1)
    write-host $spfile.Name"checked in"
    #Approve file (if required)
    if ($Approve) {
    if ($spItem.ListItems.List.EnableModeration -eq $true) {
    $spFile.Approve("File automatically approved after copying from " + $filePath)
    if ($spItem["Approval Status"] -eq 0) { write-host $spfile.Name"approved" }
    else
    write-host "`nFile"$_.Name "already exists in" $spFullPath.Replace("/" + $_.Name,"") "and shall not be uploaded" -foregroundcolor Red
    $web.Dispose()
    And here is what the manifest file looks like...
    <?xml version="1.0" encoding="utf-8"?>
    <Columns>
    <Column Name="Column1" Type="Text">
    <Values>
    <Value>First File</Value>
    </Values>
    </Column>
    <Column Name="Column2" Type="Text">
    <Values>
    <Value>12585</Value>
    </Values>
    </Column>
    <Column name="Column3" type="Text">
    <Values>
    <Value>Some Data</Value>
    </Values>
    </Column>
    <Column name="Column4" type="Text">
    <Values>
    <Value>More Data</Value>
    </Values>
    </Column>
    </Columns>
    <Columns>
    <Column Name="Column1" Type="Text">
    <Values>
    <Value>Second File</Value>
    </Values>
    </Column>
    <Column Name="Column2" Type="Text">
    <Values>
    <Value>9876</Value>
    </Values>
    </Column>
    <Column name="Column3" type="Text">
    <Values>
    <Value>Some Data2</Value>
    </Values>
    </Column>
    <Column name="Column4" type="Text">
    <Values>
    <Value>More more Data</Value>
    </Values>
    </Column>
    </Columns>
    I can't figure out what am doing wrong...why my script is not iterating through the manifest file to upload the document along with the metadata. I would really appreciate any help. Thanks

    Hi Spawn,
    Name should not be a problem.. I will probably post you the entire code (I modified it to meet your goals for having multiple column xml nodes as well)
    For the code snippet below:
    a. In powershell all my changes will have ## prefixed comments
    b. in XML I have changed one column name to "Name" to replicate your case and also added a parent node for making the xml well formed.
    and the SharePoint output
    Please see the code below
    $web = Get-SPWeb "http://intranet/sites/test"
    $Library = "My Library"
    $docLibrary = $web.Lists[$Library]
    $ManifestFilePath = "D:\Manifest.xml"
    $LocalPath = "D:\UploadPath\"
    if ($ManifestFilePath)
    ##read the xml file as an xml object
    [xml]$metadataManifest = (Get-Content ($ManifestFilePath))
    write-host "Manifest file: " $metadataManifest
    else
    write-host "Manifest file not specified for categorising uploaded documents"
    #Check for the LibraryStartFolder parameter to specify a root folder
    if ($PSBoundParameters.ContainsKey('LibraryStartFolder')) {
    $folder = $web.GetFolder($docLibrary.Title + $LibraryStartFolder)
    else
    $folder = $docLibrary.RootFolder
    #Attach to local folder and enumerate through all files
    if($IncludeSubFolders) {
    $files = Get-ChildItem $LocalPath -Recurse
    else
    $files = Get-ChildItem $LocalPath
    $counter=0
    $files | ForEach-Object {
    #Check if the object is a folder - if so, create it in doc library
    if ($_.PSIsContainer) {
    if (($IncludeSubFolders) -and (!$FlattenStructure)) {
    #Generate folder path for creation in SharePoint
    #by looking at the parent folder on the local path
    $spFolderPath = ($_.Parent.FullName.Replace($LocalPath,"")).Replace("\","/")
    #Get the folder into which the new folder will be created
    #by adding the folder path generated above, if one existed
    if ($spFolderPath -eq "") {
    $currentFolder = $web.GetFolder($folder.Url)
    else
    $currentFolder = $web.GetFolder($folder.Url + $spFolderPath)
    #Check to see if subfolder already exists
    #and create it if not
    $testFolder = $currentFolder.SubFolders[$_.Name]
    if ($testFolder -eq $null) {
    write-host "`nAdding folder" $_.Name "to" $docLibrary.Title "in" $web.Title "..." -foregroundcolor Green
    $newFolder = $currentFolder.SubFolders.Add($_.Name)
    else
    write-host "`nFolder" $_.Name "already exists in" $docLibrary.Title "and shall not be created" -foregroundcolor Red
    else
    #Generate file path for upload into SharePoint
    if ($FlattenStructure) {
    $spFilePath = ("/" + $_.Name)
    else
    $spFilePath = ($_.FullName.Replace($LocalPath,"")).Replace("\","/")
    $spFullPath = $folder.Url + "/" + $spFilePath
    #Check if the file exists and the overwrite option is selected before adding the file
    if ((!$web.GetFile($spFullPath).Exists) -or ($Overwrite)) {
    #Add file
    write-host "`nCopying" $_.Name "to" $spFullPath.Replace("/" + $_.Name,"") "in" $web.Title "..." -foregroundcolor Green
    $spFile = $folder.Files.Add($spFullPath, $_.OpenRead(), $true)
    #$spFile = $folder.Files.Add($folder.Url + "/" + $file.Name, [System.IO.Stream]$fileStream, $true)
    $spItem = $spFile.Item
    ## ensure we pick the corresponding node in the columns xml (first file, first xml node, second file - second node likewise)
    #Walk through manifest XML file and configure column values on the file
    $metadataManifest.FileData.Columns[$counter].Column | ForEach-Object {
    #Single value text columns
    try
    if (($_.Type -eq "Text") -or
    ($_.Type -eq "Choice") -or
    ($_.Type -eq "Boolean") -or
    ($_.Type -eq "Number") -or
    ($_.Type -eq "Currency")) {
    $columnName = $_.Name
    write-host "Setting value on column"$columnName "..." -foregroundcolor Blue
    $_.Values.Value | ForEach-Object {
    $spItem[$columnName] = $_
    write-host "Value set to"$_
    catch {}
    #Multiple line text column
    try
    catch {}
    #Multiple choice columns
    try
    catch {}
    #Hyperlink columns
    try
    catch {}
    #Single User column
    try
    catch {}
    #Multiple User column
    try
    catch {}
    #Single value Managed Metadata column
    try
    catch {}
    #Multi value Managed Metadata column
    try
    catch {}
    #Update document with new column values
    $spItem.SystemUpdate($false)
    ##increment the counter to read the next xml node
    $counter++
    #Check in file to document library (if required)
    #MinorCheckIn=0, MajorCheckIn=1, OverwriteCheckIn=2
    if ($CheckIn) {
    if ($spFile.CheckOutStatus -ne "None") {
    $spFile.CheckIn("File copied from " + $filePath, 1)
    write-host $spfile.Name"checked in"
    #Approve file (if required)
    if ($Approve) {
    if ($spItem.ListItems.List.EnableModeration -eq $true) {
    $spFile.Approve("File automatically approved after copying from " + $filePath)
    if ($spItem["Approval Status"] -eq 0) { write-host $spfile.Name"approved" }
    else
    write-host "`nFile"$_.Name "already exists in" $spFullPath.Replace("/" + $_.Name,"") "and shall not be uploaded" -foregroundcolor Red
    $web.Dispose()
    and the xml file
    <?xml version="1.0" encoding="utf-8"?>
    <FileData>
    <Columns>
    <Column Name="Name" Type="Text">
    <Values>
    <Value>First File</Value>
    </Values>
    </Column>
    <Column Name="Column2" Type="Text">
    <Values>
    <Value>12585</Value>
    </Values>
    </Column>
    <Column name="Column3" type="Text">
    <Values>
    <Value>Some Data</Value>
    </Values>
    </Column>
    <Column name="Column4" type="Text">
    <Values>
    <Value>More Data</Value>
    </Values>
    </Column>
    </Columns>
    <Columns>
    <Column Name="Name" Type="Text">
    <Values>
    <Value>Second File</Value>
    </Values>
    </Column>
    <Column Name="Column2" Type="Text">
    <Values>
    <Value>12585</Value>
    </Values>
    </Column>
    <Column name="Column3" type="Text">
    <Values>
    <Value>Some Data</Value>
    </Values>
    </Column>
    <Column name="Column4" type="Text">
    <Values>
    <Value>More Data</Value>
    </Values>
    </Column>
    </Columns>
    <Columns>
    <Column Name="Name" Type="Text">
    <Values>
    <Value>Third File</Value>
    </Values>
    </Column>
    <Column Name="Column2" Type="Text">
    <Values>
    <Value>12585</Value>
    </Values>
    </Column>
    <Column name="Column3" type="Text">
    <Values>
    <Value>Some Data</Value>
    </Values>
    </Column>
    <Column name="Column4" type="Text">
    <Values>
    <Value>More Data</Value>
    </Values>
    </Column>
    </Columns>
    <Columns>
    <Column Name="Name" Type="Text">
    <Values>
    <Value>Fourth File</Value>
    </Values>
    </Column>
    <Column Name="Column2" Type="Text">
    <Values>
    <Value>12585</Value>
    </Values>
    </Column>
    <Column name="Column3" type="Text">
    <Values>
    <Value>Some Data</Value>
    </Values>
    </Column>
    <Column name="Column4" type="Text">
    <Values>
    <Value>More Data</Value>
    </Values>
    </Column>
    </Columns>
    <Columns>
    <Column Name="Name" Type="Text">
    <Values>
    <Value>Fifth File</Value>
    </Values>
    </Column>
    <Column Name="Column2" Type="Text">
    <Values>
    <Value>12585</Value>
    </Values>
    </Column>
    <Column name="Column3" type="Text">
    <Values>
    <Value>Some Data</Value>
    </Values>
    </Column>
    <Column name="Column4" type="Text">
    <Values>
    <Value>More Data</Value>
    </Values>
    </Column>
    </Columns>
    </FileData>
    Thanks and Regards,
    Partha
    AvePoint

  • PO Approval workflow error

    I customized POAPPRV (PO Approval Workflow) and uploaded it successfully to DB. Now when I try to view the workflow for a new PO it gives following error
    Failed Activity PO Approval Top Process (Custom)
    Activity Type Process
    Error Name WFENG_ACTID
    Error Message 3121: Activity ID '185096' is invalid as of date '01-JUN-09'.
    Error Stack Wf_Activity.InitCache(185096, 01-JUN-09) Wf_Activity.Info(185096, 01-JUN-09) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185096, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185097, ACTIVITY_PERFORMED) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 184483, #NULL) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 184483, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 184483, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 184481, N) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 184481, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 184481, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 184487, #NULL) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 184487, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 184487, 50) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185097, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185173, ACTIVITY_PERFORMED) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185466, #NULL) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185466, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185466, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185470, F) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185470, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185470, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185476, #NULL) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185476, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185476, 50) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185173, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185112, Y) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185112, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185112, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185171) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185428, #NULL) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185428, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185428, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185424, N) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185424, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185424, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185426, N) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185426, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185426, 50) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185171, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185150, ACTIVITY_PERFORMED) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185150, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185150, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185165, #NULL) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185165, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185165, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185138, ACTIVITY_PERFORMED) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 185138, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 185138, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 185103, VALID_ACTION) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 184537, #NULL) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 184537, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 184537, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 184559, ACTIVITY_PERFORMED) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 184559, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 184559, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 184547) Wf_Engine_Util.Execute_Activity(POAPPRV, 27700-85826, 184547, RUN) Wf_Engine_Util.Process_Activity(POAPPRV, 27700-85826, 184547, 50) Wf_Engine_Util.Complete_Activity(POAPPRV, 27700-85826, 184545) Wf_Engine_Util.Execute_Activi
    Any clue why this would happen would be appreciated. Thanks. Ash.

    I faced the same error just now. it has been fixed by re-loading the wf..

  • OIM 11gR2 - Out-of-the-box Approval Workflows

    Does anyone know of any good resources that describes the out-of-the-box approval/provisioning workflows of 11g R2? I have searched Google back and forth but found nothing. Some of the workflows are obvious by their name (such as default/BeneficiaryManagerApproval!1.0), but others are not so clear regarding their flows.
    On that same note, can one of the out-of-the-box approval workflows be configured to route to an approval group instead of single users?
    Thanks for your help!

    Instead of searching for docs in google i guess reverse-engineering on your own will be the best way to understand the approval workflows. Navigate to OIM_HOME/server/workflows/composites. It will contain all the approval workflow zip files. Unzip the required one which you want to understand and there will be a .jws file in it. Now open that in jdeveloper and open AprrovalProcess.bpel and composite.xml. It will show how the approval routes and what are the business rules written, everything. It is the best way to understand the approval workflows.
    In the same way u can make changes to the out-of-the-box approval workflows also. See this OBE tutorial to understand how you can assign the approval to a group
    http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/oim/oim_11g/Request_Workflow_for_Self_Registration/request_workflow_for_self_registration.htm
    Also please try the approval workflow given in the developer's guide which covers most of the basics.
    http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/request.htm#CIHFBEFB

Maybe you are looking for

  • Music won't download from iTunes store

    I recently purchased the Epicon album from the iTunes Store. 4 of the songs downloaded just fine but the rest gave me an error -50. I came on here and followed the instructions on how to fix it. It didn't work. Now I can't even get to the place to re

  • BAPI for Production Order creation ?

    Hi Experts, I am new to PP module and as per my requirement I have to: 1. Create Production order in ECC 6.0     After searching BAPI explorer, SDN and other sites I could see that there is no BAPI for Create Production order.     In one of the link

  • Remove  Namespace from XML File except Attribute

    Hi  XI  Experts , 1.I have referred to the code of xslt Generic XSLT Code to Remove ALL Namespaces from XML: http://forums.sdn.sap.com/thread.jspa?threadID=1920630 But this removes the Attribute : id  from the records . My expected output is supposed

  • How to display WHO columns in oracle apps form

    Hi all, I have WHO columns in the Table and i need to add in the existing form and i have WNI trigger (execute_query) and i am trying to add columns in the Existing Database Block After opening the Form(oracle apps form) i am not getting/populate any

  • Hi reg - Oracle Patch

    Hi, I installed oracle client 10.2.0.1.0 and i need to upgrade into 10.2.0.3.0 and I got downloaded (5337014)10.2.0.3 10g r2 patch , How do i install patch in client machine?, Without apply patch in the database server(10.2.0.1.0) is it possible? Kin