Download and upload of file to server dir (AL11)

Hello,
I have a custom program that is downloading files from application server directory (they are like templates) to user local pc. User is then modifying such files and finally upload them in another AS directory.
The program is currently making use of FM's C13Z_FILE_DOWNLOAD_BINARY and  C13Z_FILE_UPLOAD_BINARY.
There was no problem until hot packages have been implemented: now such FM's are returning an error saying:
Internal program error; (YDOWNLOAD SAPLC13Z 0 C13Z_RAWDATA_WRITE)
When in debug, it appears that the FM C13Z_RAWDATA_WRITE (called by the above mentioned FM's) is checking the calling program (sy-cprog) and if this latter is not within a list of standard programs (hardcoded), then the error is thrown.
My question is: Is there another way to download and upload files without such error? Could you please share the code?
Thanks a lot for help and suggestions!
Best regards,
JFlanders

Hello,
Please see note   1809258 - Internal program error; ( <program name> SAPLC13Z 0 C13Z_RAWDATA_READ )
A possibile solution is to use cl_gui_frontend_services class methods like gui_download and gui_upload, for instance:
TYPES: t_line(1) type x.
DATA: i_tab TYPE STANDARD TABLE OF t_line,
    i_wa(1) type x.
OPEN DATASET lv_file_appl FOR INPUT IN BINARY MODE.
DO.
  CLEAR i_wa.
  READ DATASET lv_file_appl INTO i_wa.
  IF SY-SUBRC <> 0.
    EXIT.
  ELSE.
    APPEND i_wa TO i_tab.
  ENDIF.
ENDDO.
CLOSE DATASET lv_file_appl.
DATA: lv_fn TYPE string.
lv_fn = lv_file_name.
CALL METHOD cl_gui_frontend_services=>gui_download
  EXPORTING
    filename                = lv_fn
    filetype                = 'BIN'
    append                  = ' '
  CHANGING
    data_tab                = i_tab
  EXCEPTIONS
    file_write_error        = 1
    no_batch                = 2
    gui_refuse_filetransfer = 3
    invalid_type            = 4
    no_authority            = 5
    unknown_error           = 6
    header_not_allowed      = 7
    separator_not_allowed   = 8
    filesize_not_allowed    = 9
    header_too_long         = 10
    dp_error_create         = 11
    dp_error_send           = 12
    dp_error_write          = 13
    unknown_dp_error        = 14
    access_denied           = 15
    dp_out_of_memory        = 16
    disk_full               = 17
    dp_timeout              = 18
    file_not_found          = 19
    dataprovider_exception  = 20
    control_flush_error     = 21
    OTHERS                  = 24.
* old functioanlity
*    CALL FUNCTION 'C13Z_FILE_DOWNLOAD_BINARY'
*      EXPORTING
*        i_file_front_end       = lv_file_name
*        i_file_appl            = lv_file_appl
*        i_file_overwrite       = 'X'
** IMPORTING
**    E_FLG_OPEN_ERROR          =  false
**    E_OS_MESSAGE              =  lv_message
*    EXCEPTIONS
*      fe_file_open_error       = 1
*      fe_file_exists           = 2
*      fe_file_write_error      = 3
*      ap_no_authority          = 4
*      ap_file_open_error       = 5
*      ap_file_empty            = 6
*      OTHERS                   = 7
This is for the download, similarly should be done for the upload.
Hope this could help. Let me know if further details are needed.
Thank you and bye,
Flavio

Similar Messages

  • Help~how can I download and upload pdf file in simple solution

    I am new doing Portal.
    I want to create a page which can provide download pdf file function and other page which can provide upload pfg file function.
    I created a link to download file, and implemented uploading files by access the file directory.
    Can this solution work in Portal?
    I've tried, but I couldn't access file directory through web_dav.
    Anyone can give me some suggestion?

    You can only install apps (programs) via the App Store app on your iPad, or by downloading them via iTunes store on your computer and then syncing them to your  iPad - you can't download and install programs from the internet via a browser, they are not compatible with the iPad.

  • CSOM code in C # to download and upload multiple files from/to sharepoint library

    Hi All,
    Please help me I want to first download all my files from sharepoint library to my local folder using CSOM code .
    Once downloading is completed I want to upload those files in another library .
    I have done same thing using web services but need to do by CSOM now.
    Thanks please provide code of peice
    sudhanshu sharma Do good and cast it into river :)

    By using below code I am downloading multiple documents and uploading same doc to sharepoint while uploading i want to updat emetadata of source library to destination library ..
    I am able to do so but want to do now for dateandTime+metadata column as well please can you check my approach and let me know tht how to do for such kind of columns-
    FileProperty.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace ST_9569f2fe51bd4137bb31c38b3d46455d
    class FileProperty
    public string Title; //single line of text
    public string Description; //Multiple line of text
    public string DocumentType; //choice type
    public string DocumentCategory; //Choice type
    public string DocumentNumber; //Single line of text
    // public string DocumentStatus; //Choice
    public string DocumentTitle; //single line of text
    // public string CrossReference; //Multipleline type
    //public DateTime PublishDate; //DateAndTime Type column
    /// <summary>
    /// Get the SP Document Column internal name and thier respective values
    /// in key -value pair.
    /// </summary>
    /// <returns>The List of KeyValuePair</returns>
    public List<KeyValuePair<string, string>> getColumnKeyValueListProducts()
    {//Target Columns
    List<KeyValuePair<string, string>> columnKeyValuePairList = new List<KeyValuePair<string, string>>();
    columnKeyValuePairList.Add(new KeyValuePair<string, string>("Title", Title));
    columnKeyValuePairList.Add(new KeyValuePair<string, string>("Description0", Description));
    columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Type", DocumentType));
    columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Category", DocumentCategory));
    columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Number", DocumentNumber));
    //columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Status", DocumentStatus));
    columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Title", DocumentTitle));
    //columnKeyValuePairList.Add(new KeyValuePair<string, string>("Cross%5Fx0020%5FReference", CrossReference));
    // columnKeyValuePairList.Add(new KeyValuePair<string, string>("Publish_x0020_Date", PublishDate));
    return columnKeyValuePairList;
    /* public List<KeyValuePair<string, DateTime>> getColumnKeyValueListProductsforDatenTime()
    //Target Columns
    List<KeyValuePair<string, DateTime>> columnKeyValuePairListdt = new List<KeyValuePair<string, DateTime>>();
    columnKeyValuePairListdt.Add(new KeyValuePair<string, DateTime>("Publish_x0020_Date", PublishDate));
    return columnKeyValuePairListdt;
    #region Help: Introduction to the script task
    /* The Script Task allows you to perform virtually any operation that can be accomplished in
    * a .Net application within the context of an Integration Services control flow.
    * Expand the other regions which have "Help" prefixes for examples of specific ways to use
    * Integration Services features within this script task. */
    #endregion
    #region Namespaces
    using System;
    using System.Data;
    using Microsoft.SqlServer.Dts.Runtime;
    using System.Windows.Forms;
    using Microsoft.SharePoint.Client;
    using System.IO;
    using System.Net;
    using System.Collections.Generic;
    //using System.IO;
    #endregion
    namespace ST_9569f2fe51bd4137bb31c38b3d46455d
    /// <summary>
    /// ScriptMain is the entry point class of the script. Do not change the name, attributes,
    /// or parent of this class.
    /// </summary>
    [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    #region Help: Using Integration Services variables and parameters in a script
    /* To use a variable in this script, first ensure that the variable has been added to
    * either the list contained in the ReadOnlyVariables property or the list contained in
    * the ReadWriteVariables property of this script task, according to whether or not your
    * code needs to write to the variable. To add the variable, save this script, close this instance of
    * Visual Studio, and update the ReadOnlyVariables and
    * ReadWriteVariables properties in the Script Transformation Editor window.
    * To use a parameter in this script, follow the same steps. Parameters are always read-only.
    * Example of reading from a variable:
    * DateTime startTime = (DateTime) Dts.Variables["System::StartTime"].Value;
    * Example of writing to a variable:
    * Dts.Variables["User::myStringVariable"].Value = "new value";
    * Example of reading from a package parameter:
    * int batchId = (int) Dts.Variables["$Package::batchId"].Value;
    * Example of reading from a project parameter:
    * int batchId = (int) Dts.Variables["$Project::batchId"].Value;
    * Example of reading from a sensitive project parameter:
    * int batchId = (int) Dts.Variables["$Project::batchId"].GetSensitiveValue();
    #endregion
    #region Help: Firing Integration Services events from a script
    /* This script task can fire events for logging purposes.
    * Example of firing an error event:
    * Dts.Events.FireError(18, "Process Values", "Bad value", "", 0);
    * Example of firing an information event:
    * Dts.Events.FireInformation(3, "Process Values", "Processing has started", "", 0, ref fireAgain)
    * Example of firing a warning event:
    * Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0);
    #endregion
    #region Help: Using Integration Services connection managers in a script
    /* Some types of connection managers can be used in this script task. See the topic
    * "Working with Connection Managers Programatically" for details.
    * Example of using an ADO.Net connection manager:
    * object rawConnection = Dts.Connections["Sales DB"].AcquireConnection(Dts.Transaction);
    * SqlConnection myADONETConnection = (SqlConnection)rawConnection;
    * //Use the connection in some code here, then release the connection
    * Dts.Connections["Sales DB"].ReleaseConnection(rawConnection);
    * Example of using a File connection manager
    * object rawConnection = Dts.Connections["Prices.zip"].AcquireConnection(Dts.Transaction);
    * string filePath = (string)rawConnection;
    * //Use the connection in some code here, then release the connection
    * Dts.Connections["Prices.zip"].ReleaseConnection(rawConnection);
    #endregion
    /// <summary>
    /// This method is called when this script task executes in the control flow.
    /// Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
    /// To open Help, press F1.
    /// </summary>
    public void Main()
    // TODO: Add your code here
    //Unpublished lib used to download files from sharepoint to local and Published library for uploading files from local to sharepoint
    //var srcFolderUrl = "http://ui3dats011x:2015/sites/techunits/UnPublished%20Doc/Forms/AllItems.aspx";
    //var destFolderUrl = "http://ui3dats011x:2015/sites/techunits/Published%20Documents/Forms/AllItems.aspx";
    using (var ctx = new ClientContext("http://ui3dats011x:2015/sites/techunits/"))
    try
    List LibraryName = ctx.Web.Lists.GetByTitle("Unpublished Doc");
    List LibraryName1 = ctx.Web.Lists.GetByTitle("Published Documents");
    ctx.Load(LibraryName1.RootFolder);
    ctx.Load(LibraryName);
    ctx.ExecuteQuery();
    CamlQuery camlQuery = new CamlQuery();
    //Used this caml query for filtering
    camlQuery.ViewXml = @"<View><Query><Where><Eq><FieldRef Name='Document_x0020_Type'/><Value Type='Choice'>Technical Unit</Value></Eq></Where></Query></View>";
    Microsoft.SharePoint.Client.ListItemCollection listItems = LibraryName.GetItems(camlQuery);
    ctx.Load<Microsoft.SharePoint.Client.ListItemCollection>(listItems);
    ctx.ExecuteQuery();
    string filename;
    FileInformation fileInfo;
    System.IO.FileStream outputStream;
    Dictionary<string, string> itemmetadata = new Dictionary<string, string>();
    foreach (var item in listItems)
    if (itemmetadata.Count > 0)
    itemmetadata.Clear();
    ctx.Load(item);
    ctx.ExecuteQuery();
    ctx.Load(item.File);
    ctx.ExecuteQuery();
    filename = item.File.Name;
    foreach (KeyValuePair<string, object> metaval in item.FieldValues.)
    string metavalue = Convert.ToString(metaval.Value);
    //if(String.IsNullOrEmpty(metaval.Value.ToString()))
    if (!(String.IsNullOrEmpty(metavalue)))
    itemmetadata.Add(metaval.Key, metaval.Value.ToString());
    else
    itemmetadata.Add(metaval.Key, "");
    fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(ctx, item.File.ServerRelativeUrl.ToString());
    outputStream = new FileStream(@"C:\Users\jainruc\Desktop\Sudhanshu\ComDownload\" + filename, FileMode.Create, FileAccess.Write);
    fileInfo.Stream.CopyTo(outputStream);
    outputStream.Dispose();
    outputStream.Close();
    //Uploading
    string srcpath = @"C:\Users\jainruc\Desktop\Sudhanshu\ComDownload\";
    string siteName = @"http://ui3dats011x:2015/sites/techunits/";
    string docLibraryName = @"http://ui3dats011x:2015/sites/techunits/Published%20Documents/Forms/AllItems.aspx";
    UploadFile(srcpath, siteName, docLibraryName, itemmetadata,filename);
    }//End of try
    catch (Exception ex)
    Dts.TaskResult = (int)ScriptResults.Success;
    public void UploadFile(string srcpath, string siteName, string docLibraryName,Dictionary<string,string> metavalue,string filename)
    using (ClientContext ctx = new ClientContext("http://ui3dats011x:2015/sites/techunits/"))
    try
    List LibraryName1 = ctx.Web.Lists.GetByTitle("Published Documents");
    ctx.Load(LibraryName1.RootFolder);
    ctx.Load(LibraryName1);
    ctx.ExecuteQuery();
    ctx.Credentials = new NetworkCredential("jainfgfgh", "Pashg8878", "mydomain");
    //Loop for getting all files one by one
    using (var fs = new FileStream(String.Concat(srcpath,"/",filename), FileMode.OpenOrCreate))
    string fileUrl = String.Format("{0}/{1}", LibraryName1.RootFolder.ServerRelativeUrl, filename);
    Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, fileUrl, fs, true);
    UpdateMetadata(fileUrl,ctx,metavalue);
    //End of looping
    }//End of try block
    catch (Exception ex)
    }//End of Using
    }//End of function
    public void UpdateMetadata(string uploadedfileurl,ClientContext ctx,Dictionary<string,string> mvalue)
    Microsoft.SharePoint.Client.File uploadedfile = ctx.Web.GetFileByServerRelativeUrl(uploadedfileurl);
    //create an object of the class holding all the properties of the document
    ctx.Load(uploadedfile);
    ctx.ExecuteQuery();
    FileProperty fileProperty = new FileProperty();
    fileProperty.Description = mvalue["Description0"];
    fileProperty.Title = mvalue["Title"];
    fileProperty.DocumentType = mvalue["Document_x0020_Type"];
    fileProperty.DocumentCategory = mvalue["DocumentCategory"];
    fileProperty.DocumentNumber = mvalue["DocumentNumber"];
    fileProperty.DocumentTitle = mvalue["DocumentTitle"];
    //fileProperty.PublishDate = Convert.ToDateTime(mvalue["PublishDate"]);
    // fileProperty.DocumentStatus = mvalue["DocumentStatus"];
    List<KeyValuePair<string, string>> columnKeyValueList;
    //create a list of item need to be updated or added to sharepoint library
    List<FileProperty> propertyList = new List<FileProperty>();
    propertyList.Add(fileProperty);
    columnKeyValueList = fileProperty.getColumnKeyValueListProducts();
    ListItem item = uploadedfile.ListItemAllFields;
    foreach (KeyValuePair<string, string> metadataitem in columnKeyValueList)
    item[metadataitem.Key.ToString()] = metadataitem.Value.ToString();
    //item["Title"] = uploadedfile.Title;
    item.Update();
    ctx.Load(item);
    ctx.ExecuteQuery();
    #region ScriptResults declaration
    /// <summary>
    /// This enum provides a convenient shorthand within the scope of this class for setting the
    /// result of the script.
    /// This code was generated automatically.
    /// </summary>
    enum ScriptResults
    Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
    Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
    #endregion
    sudhanshu sharma Do good and cast it into river :)

  • Function module to choose the file for download and upload

    what is the function module to choose the file for download and upload  for presentation server.
    give me with example

    Please search in SCN.
    This has been discussed so many times.

  • File download and Upload using SOAP in Oracle ADF

    Hi Gurus,
    I have a requirement of Uploading and downloading a file on a location. It is for uploading and downloading an Attachments for a user. I have a table in my jspx page for showing the current attachments and an option to upload a new attachment. When I click on attachment name, the file should be downloaded.
    The current implementation does this using SOAP web service. Now, i need to do it with ADF now.
    For Uploading and downloading, i have used FileDownloadActionListner on my page. I am not able to figure out how to use SOAP service in ADF to download or upload a file. what i have done is
    1. Create WebService Data Control with the exposed wsdl.
    2. Created .jspx page and binded the fuctions to the button.
    3. In managed bean class, i have written code to get reference to that web service and invoke it. I am assuming of making the currect call as the response object is not coming as null.
    Now i need to know:
    1. How to verify for the success response from a SOAP web service in the managed bean code.
    2. how to go ahead with the implementation.
    For Upload: I have filename, content and mimetype in the managed bean code function. but how to use those to make a soap call and upload a file at the location.
    For Download: I have DocumentId in the managed bean code function, and how to use it to download a file. How to get the SOAP response in managed bean code and how to handle it.
    Thanks in Advance,
    regards,
    Rajan

    Hi,
    don't have an example, but I suggest to use a JAX-WS proxy client and access it from the POJO DC (instead the WS DC) so you have access to the service responses
    Frank

  • How to upload a file into server using j2ee jsp and servlet with bean?

    How to upload a file into server using j2ee jsp and servlet with bean? Please give me the reference or url about how to do that. If related to struts is more suitable.
    Anyone help me please!

    u don't need j2ee and struts to do file uploading. An example is as such
    in JSP. u use the <input> file tag like
    <input type="file"....>You need a bean to capture the file contents like
    class FileUploadObj {
        private FormFile srcFile;
        private byte[] fileContent;
        // all the getter and setter methods
    }Then in the servlet, you process the file for uploading
        * The following loads the uploaded binary data into a byte Array.
        FileUploadObj form = new FileUploadObj();
        byte[] byteArr = null;
        if (form.signFile != null) {
            int filesize = form.srcFile.getFileSize();
            byteArr = new byte[filesize];
            ByteArrayInputStream bytein = new ByteArrayInputStream (form.srcFile.getFileData());
            bytein.read(byteArr);
            bytein.close();
            form.setFileContent(byteArr);
        // Write file content using Writer class into the destination file in the server.
        ...

  • How to download and upload files in Java?

    Hi, everyone
    How to download and upload files in Java? Do you have some references about this issue or some valuable web link�? Thanks!
    Best Regards,
    Hai.Ren

    This is too vague a question, please be more specific. What protocol would you like to use? HTTP? FTP? Something else?

  • Upload XML file from server to itab

    After failed to get a answer about download data from xml file in server to my itab, and searching and searching in hundred of post and threads i try my own solution for this issue.
    I read the file with:
    OPEN DATASET FICHERO FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    In this case the result is a table filled with register type string like this:
    #<label>22222</label>
    I need a table with this kind of value (example):
    label   | 22222
    label2 | John
    label3 | Smith
    Therefore i have to parse the data of my table, i try with the FM:
    TEXT_CONVERT_XML_TO_SAP
    But dont works for me,
    I am too new in ABAP.
    The code for my report is very simple:
    REPORT ZPRUEBA_XML.
    DATA: BEGIN OF TABLA OCCURS 1,
    TEXTO(256) TYPE C,
    END OF TABLA.
    DATA: FICHERO LIKE RLGRAP-FILENAME.
    OPEN DATASET FICHERO FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    IF SY-SUBRC NE 0.
      WRITE:/ 'ERROR'.
    ENDIF.
    FREE TABLA.
    DO.
      READ DATASET FICHERO INTO TABLA.
      IF SY-SUBRC NE 0.
        EXIT.
      ELSE.
        APPEND TABLA.
        WRITE: TABLA-TEXTO.
      ENDIF.
    ENDDO.
    CLOSE DATASET FICHERO.
    And my ".xml" in the server is very simple too.
    <label>222222</label>
    <name>John</name>
    <street>Smith, 23, NY</street>
    Anyone can help me?
    Thanks

    Hi,
    You could use a transformation to do that, or call FM 'TEXT_CONVERT_XML_TO_SAP'... you also have the class IF_IXML that should help you and a lot of threads on the subject, such as:
    convert XML data into ABAP internal table
    ABAP Class to convert XML to itab
    Upload XML to internal table and vice versa in SAP 4.6C
    http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e66701fc-0d01-0010-9c9a-f8a36c4e87ba
    Kr,
    Manu.

  • Upload failed your changes were saved but could not be uploaded because of an error. you may be able to upload this file using server web page. save a copy

    Hi All,
    upload failed your changes were saved but could not be uploaded because of an error. you may be able to upload this file using server web page. save a copy button.
    This is the issue which I am facing while working with SharePoint 2010. In a sharePoint 2010 document library I am having an excel file and I am trying to open it from Windows 7 and is office 2010.
    I cam e across few suggestion as mentined below but unable to find the location where to do
    Go to Resource Policies > Web >
    Rewriting > Custom Headers > (if 'Custom Headers' is not visible, click
    Customize on the right top to enable the view).
    Create a new policy with the Resource as <fully qualified domain name of the SharePoint server:*/*> (for example https://sharepoint.juniper.net:*/* ).
    Create the action as Allow Custom Headers.
    Apply the settings to the required roles.
    Please suggest.

    Hi rkarteek
    All things you have to do is as follows:
    1. Open regedit.exe
    2. Naviagate to following key:
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Common\Internet]
    3. Click Edit Menu -> New -> DWORD with name of "FSSHTTPOff"
    (without quotes)
    4. Click on "FSSHTTPOff" and enter value of 1
    5.
    Close any Office Applications and browser sessions
    6. Try to reopen your document (no more read only or failure to upload)
    have a nice day!

  • Uploading a file to server using servlet (Without using Jakarta Commons)

    Hi,
    I was trying to upload a file to server using servlet, but i need to do that without the help of anyother API packages like Jakarta Commons Upload. If any class for retrieval is necessary, how can i write my own code to upload from client machine?.
    From
    Velu

    <p>Why put such a restriction on the solution? Whats wrong about using that library?
    The uploading bit is easy - you put a <input type="file"> component on the form, and set it to be method="post" and enctype="multipart/form-data"
    Reading the input stream at the other end - thats harder - which is why they wrote a library for it. </p>
    why i gave the restriction is that, i have a question that <code>'can't we implement the same upload'</code>
    I was with the view that the same can be implemented by our own code right?

  • After hours of back-up, downloading and uploading...I am now updated with all the latest Mac software. However, I no longer have access to Excel and Word. Is there a way I can access my documents in either of those? Help, please.

    After hours of back-up, downloading and uploading...I am now updated with all the latest Mac software. However, I no longer have access to Excel and Word. Is there a way I can access my documents in either of those? Help, please.

    If you have older versions of excel and word that previously ran under the Rosetta emulator (allows PowerPC code to run on Intel system), they will no longer work with Lion.
    You can use the Apple programs Pages and Numbers to access the files. They can be bought and downloaded from the App store. NeoOffice is available at http://www.neooffice.org/neojava/en/index.php which has Lion support. OpenOffice doesn't talk to Lion support, it's at http://www.openoffice.org/

  • PO header attachment download and upload

    Hi All,
    I have requirement to download the attachments attached at Purchase Orders(PO) header level . And then from the downloaded file , I further want to upload it to another target system.
    I have already uploaded the PO at target system but header level attachments were missed out.
    My source and target system is in Ver 4.6C
    Please let me know -
    1. All tables that are involved in storing the attachments at header level for purchase orders.With this I can upload attachments directly to the target system tables.
    2.Any Function module for download and upload the attachments of PO at header level.
    I will appreciate any help to do this .
    Thanks
    Deepak

    Hi ,
    Thanks for suggestion.I Have used FM SO_ATTACHMENT_INSERT to insert Attachment. SOOD table is getting updated. But still PO header level attachment is missing. I think FM only update the table SOOD and do not ensure to put the attachment to the right Purchase order.
    Please let me know if you have an Idea how to put attachments to PO header level.Let me know tables that can be directly updated in order to attach the attachment to PO header level.
    Thanks
    Deepak

  • Hierarchy download and upload

    Hi experts,
    i want to download hierarchies from production bw to development bw. pls explain me the procedure how to do. as i understand hierarchies will be in the r/3 system. then how do i download them and upload them to the required box in bw. is there any function module for downloading and uploading hierarchies.
    Pls help.....

    Hello,
    To execute the program you have to run it in transaction se38.
    Check if you have it since it is Z you might not have it.
    If you don't find it create in se38 a new program with the following code:
    *& Report  Z_SAP_HIERARCHY_DOWNLOAD                                    *
    * SAP Consulting BW Tools:
    * Download hierarchy into a flat file. The file has the correct format
    * for uploading into BW via a hierarchy InfoSource (IDOC).
    * (c) SAP AG 2003-2004 MFB, SAP Labs LLC
    * created: 2003-07-23
    * last update: 2004-05-02
    * Text elements:
    * P_DATES Include from/to dates
    * P_DATETO Valid-to date
    * P_FNAME File name
    * P_HIENM Hierarchy name
    * P_INTER Include from/to leaves
    * P_IOBJNM InfoObject
    * P_LANGU Language
    * P_VERS Hierarchy version
    REPORT z_sap_hierarchy_download.
    TYPE-POOLS: rs, rsdm, rrh1.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS:
    p_iobjnm TYPE rsdiobjnm MEMORY ID rsc.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETERS:
    p_hienm TYPE rshiedir-hienm,
    p_vers TYPE rshiedir-version,
    p_dateto TYPE rshiedir-dateto,
    p_langu TYPE rshiedirt-langu.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME.
    PARAMETERS:
    p_fname LIKE rlgrap-filename,
    p_dates AS CHECKBOX DEFAULT 'X',
    p_inter AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK b3.
    * File structure
    TYPES:
    * No dates/intervals
    BEGIN OF y_s_hierfile_1,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    * tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_1,
    y_t_hierfile_1 TYPE STANDARD TABLE OF y_s_hierfile_1,
    * With dates
    BEGIN OF y_s_hierfile_2,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    * tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    dateto TYPE rsdateto,
    datefrom TYPE rsdatefrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_2,
    y_t_hierfile_2 TYPE STANDARD TABLE OF y_s_hierfile_2,
    * With intervals
    BEGIN OF y_s_hierfile_3,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    * tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    leafto TYPE rsleafto,
    leaffrom TYPE rsleaffrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_3,
    y_t_hierfile_3 TYPE STANDARD TABLE OF y_s_hierfile_3,
    * With dates/intervals
    BEGIN OF y_s_hierfile_4,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    * tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    dateto TYPE rsdateto,
    datefrom TYPE rsdatefrom,
    leafto TYPE rsleafto,
    leaffrom TYPE rsleaffrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_4,
    y_t_hierfile_4 TYPE STANDARD TABLE OF y_s_hierfile_4.
    * Hierarchy definition
    DATA:
    g_s_hiesel TYPE rsndi_s_hiesel,
    g_s_hiedir TYPE rsndi_s_hiedir,
    g_subrc TYPE sy-subrc,
    g_t_hiedirt TYPE TABLE OF rshiedirt,
    g_s_hierstruc TYPE rssh_s_htab,
    g_t_hierstruc TYPE TABLE OF rssh_s_htab,
    g_s_thiernode TYPE rsthiernode,
    g_t_thiernode TYPE TABLE OF rsthiernode WITH KEY langu hieid objvers
    nodename,
    g_s_hierintvl TYPE rssh_s_jtab,
    g_t_hierintvl TYPE TABLE OF rssh_s_jtab WITH KEY hieid objvers nodeid,
    g_s_message TYPE rsndi_s_message,
    g_t_message TYPE TABLE OF rsndi_s_message,
    g_s_chavlinfo TYPE rsdm_s_chavlinfo,
    g_t_chavlinfo TYPE rsdm_t_chavlinfo.
    * File
    DATA:
    g_fname TYPE string,
    g_struct_s TYPE string,
    g_struct_t TYPE string,
    gr_s_file TYPE REF TO data,
    gr_t_file TYPE REF TO data.
    FIELD-SYMBOLS:
    <g_langu> TYPE ANY,
    <g_s_file> TYPE ANY,
    <g_t_file> TYPE STANDARD TABLE.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_iobjnm.
      CALL FUNCTION 'RSD_IOBJ_F4'
        EXPORTING
          i_show_cha    = rs_c_true
          i_objvers     = rs_c_objvers-active
          i_hietabfl    = rs_c_true
        CHANGING
          c_iobjnm      = p_iobjnm
        EXCEPTIONS
          illegal_input = 1.
      CHECK sy-subrc = 0.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_hienm.
      DATA:
      l_s_hiertxt TYPE rrh1_s_hiertxt,
      l_t_hiertxt TYPE rrh1_t_hiertxt.
      CALL FUNCTION 'RRH1_HIERARCHY_HELP_VALUES_GET'
        EXPORTING
          i_iobjnm          = p_iobjnm
          i_dateto          = p_dateto
          i_hienm           = p_hienm
          i_version         = p_vers
        IMPORTING
          e_t_hiertxt       = l_t_hiertxt
        EXCEPTIONS
          no_f4_available   = 1
          dialogue_canceled = 2
          OTHERS            = 3.
      CHECK sy-subrc = 0.
      READ TABLE l_t_hiertxt INTO l_s_hiertxt INDEX 1.
      CHECK NOT l_s_hiertxt IS INITIAL.
      p_hienm = l_s_hiertxt-hienm.
      DATA:
      l_s_dynpfields TYPE dynpread,
      l_t_dynpfields TYPE STANDARD TABLE OF dynpread.
      CLEAR: l_t_dynpfields, l_s_dynpfields.
      l_s_dynpfields-fieldname = 'P_VERS'.
      WRITE l_s_hiertxt-version TO l_s_dynpfields-fieldvalue.
      APPEND l_s_dynpfields TO l_t_dynpfields.
      l_s_dynpfields-fieldname = 'P_DATETO'.
      WRITE l_s_hiertxt-dateto TO l_s_dynpfields-fieldvalue.
      APPEND l_s_dynpfields TO l_t_dynpfields.
      CALL FUNCTION 'DYNP_VALUES_UPDATE'
        EXPORTING
          dyname     = sy-repid
          dynumb     = sy-dynnr
        TABLES
          dynpfields = l_t_dynpfields.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
      DATA:
      l_filename1 TYPE string,
      l_filename2 TYPE string,
      l_path TYPE string,
      l_fullpath TYPE string,
      l_action TYPE i.
      l_filename1 = p_fname.
      CALL METHOD cl_gui_frontend_services=>file_save_dialog
      EXPORTING
      window_title = 'Select Download File'
      default_extension = 'txt'
      default_file_name = l_filename1
      file_filter = 'All Files (*.*)|*.*|Text files (*.txt)|*.txt'
      CHANGING
      filename = l_filename2
      path = l_path
      fullpath = l_fullpath
      user_action = l_action
      EXCEPTIONS
      cntl_error = 1
      OTHERS = 2.                                               "#EC NOTEXT
      CHECK sy-subrc = 0.
      CALL METHOD cl_gui_cfw=>flush.
      IF l_action = 0.
        p_fname = l_fullpath.
      ENDIF.
    INITIALIZATION.
      GET PARAMETER ID 'RSC' FIELD p_iobjnm.
    START-OF-SELECTION.
    * Check input
      CHECK NOT p_fname IS INITIAL.
      IF p_langu IS INITIAL.
        p_langu = sy-langu.
      ENDIF.
      IF p_dateto IS INITIAL.
        p_dateto = '99991231'.
      ENDIF.
    * Read hierarchy
      CLEAR g_s_hiesel.
      g_s_hiesel-objvers = rs_c_objvers-active.
      g_s_hiesel-hienm = p_hienm.
      g_s_hiesel-version = p_vers.
      g_s_hiesel-iobjnm = p_iobjnm.
      g_s_hiesel-dateto = p_dateto.
      CALL FUNCTION 'RSNDI_SHIE_STRUCTURE_GET'
        EXPORTING
          i_s_hiesel        = g_s_hiesel
          i_no_nodenm_table = rs_c_true
        IMPORTING
          e_s_hiedir        = g_s_hiedir
          e_subrc           = g_subrc
        TABLES
          e_t_hiedirt       = g_t_hiedirt
          e_t_hierstruc     = g_t_hierstruc
          e_t_thiernode     = g_t_thiernode
          e_t_hierintvl     = g_t_hierintvl
          e_t_message       = g_t_message.
      IF g_subrc <> 0.
        READ TABLE g_t_message INTO g_s_message INDEX 1.
        IF sy-subrc = 0.
          MESSAGE ID g_s_message-msgid TYPE 'I' NUMBER g_s_message-msgno
          WITH g_s_message-msgv1 g_s_message-msgv2
          g_s_message-msgv3 g_s_message-msgv4.
        ELSE.
          MESSAGE ID 'RSBO' TYPE 'I' NUMBER 899
          WITH 'Hierarchy read error'.
        ENDIF.
        EXIT.
      ENDIF.
    * Defined output structures
      IF p_dates IS INITIAL AND p_inter IS INITIAL.
        g_struct_s = 'Y_S_HIERFILE_1'.
        g_struct_t = 'Y_T_HIERFILE_1'.
      ELSEIF p_dates = 'X' AND p_inter IS INITIAL.
        g_struct_s = 'Y_S_HIERFILE_2'.
        g_struct_t = 'Y_T_HIERFILE_2'.
      ELSEIF p_dates IS INITIAL AND p_inter = 'X'.
        g_struct_s = 'Y_S_HIERFILE_3'.
        g_struct_t = 'Y_T_HIERFILE_3'.
      ELSE.
        g_struct_s = 'Y_S_HIERFILE_4'.
        g_struct_t = 'Y_T_HIERFILE_4'.
      ENDIF.
      CREATE DATA gr_s_file TYPE (g_struct_s).
      ASSIGN gr_s_file->* TO <g_s_file>.
      CREATE DATA gr_t_file TYPE (g_struct_t).
      ASSIGN gr_t_file->* TO <g_t_file>.
    * Nodes
      REFRESH <g_t_file>.
      LOOP AT g_t_hierstruc INTO g_s_hierstruc.
        CLEAR <g_s_file>.
        MOVE-CORRESPONDING g_s_hierstruc TO <g_s_file>.
    * Texts for nodes
        READ TABLE g_t_thiernode INTO g_s_thiernode WITH TABLE KEY
        langu = p_langu
        hieid = g_s_hierstruc-hieid
        objvers = rs_c_objvers-active
        nodename = g_s_hierstruc-nodename.
        IF sy-subrc = 0.
          MOVE-CORRESPONDING g_s_thiernode TO <g_s_file>.
        ELSE.
    * Texts for characteristic values
          REFRESH g_t_chavlinfo.
          CLEAR g_s_chavlinfo.
          g_s_chavlinfo-c_chavl = g_s_hierstruc-nodename.
          APPEND g_s_chavlinfo TO g_t_chavlinfo.
          CALL FUNCTION 'RSD_CHAVL_READ_ALL'
            EXPORTING
              i_iobjnm                  = g_s_hierstruc-iobjnm
              i_langu                   = p_langu
              i_dateto                  = p_dateto
              i_check_value             = space
              i_sid_in                  = space
              i_hieid                   = g_s_hiedir-hieid
              i_objvers                 = g_s_hiedir-objvers
            CHANGING
              c_t_chavlinfo             = g_t_chavlinfo
            EXCEPTIONS
              info_object_not_found     = 1
              routines_generation_error = 2
              check_table_not_existing  = 3
              text_table_not_existing   = 4
              OTHERS                    = 5.
          IF sy-subrc = 0.
            READ TABLE g_t_chavlinfo INTO g_s_chavlinfo INDEX 1.
            IF sy-subrc = 0.
              MOVE-CORRESPONDING g_s_chavlinfo-e_chatexts TO <g_s_file>.
              ASSIGN COMPONENT 'LANGU' OF STRUCTURE <g_s_file> TO <g_langu>.
              IF sy-subrc = 0.
                <g_langu> = p_langu.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
    * Intervals
        IF g_s_hierstruc-intervl = 'X' AND p_inter = 'X'.
          READ TABLE g_t_hierintvl INTO g_s_hierintvl WITH TABLE KEY
          hieid = g_s_hierstruc-hieid
          objvers = rs_c_objvers-active
          nodeid = g_s_hierstruc-nodeid.
          IF sy-subrc = 0.
            MOVE-CORRESPONDING g_s_hierintvl TO <g_s_file>.
          ENDIF.
        ENDIF.
        APPEND <g_s_file> TO <g_t_file>.
      ENDLOOP.
    * Download output table
      g_fname = p_fname.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = g_fname
          write_field_separator   = space
        TABLES
          data_tab                = <g_t_file>
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc = 0.
        MESSAGE ID 'RSBO' TYPE 'I' NUMBER 899
        WITH 'Hierarchy download successful!'.
      ELSE.
        MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Diogo

  • Download and Upload smartform in 4.6c

    I have the requirement to download and upload the smartforms in 4.6c. I need the help, which standard function module will solve the problem.
    Thanks .
    Vinayak.

    Hi,
    Use Transaction "Smartforms" -->Enter Smartform Name
    -> Utilities> Download form
    This will down load smartform in XML format.
    Use the Utilities--> Upload for upload the form .
    Please sure the upload file is in XML format.
    Hope this will help you.
    Lanka

  • Download and Upload(!) ABAP-Source and DDIC-Objects?

    Hi,
    is there a standard transaction or third party tool
    to download and upload(!!) ABAP-Source (function modules,
    function groups, module pools, reports...) and DDIC-Objects
    (tables, structures, data elements) to a local file system?
    In terms of uploading these objects it would be desirable
    that the transaction/tool creates packages/development classes/.. on its own.
    I would need that to copy the same source and ddic-objcets to different customer systems without doing it "manually" everytime.
    Does anyone know advice?
    Thank you,
    Bernhard

    Hi Bernd,
    look here :
    Re: how to download pf-status and upload in another system
    Andreas

Maybe you are looking for

  • Premiere / Media Encoder CS5 and deinterlacing

    Maybe it's just me, but I'm not at all happy with the deinterlacing results from Premiere CS5 and Media Encoder. I've been using Premiere since CS3 and hoped for improvement in CS4, but no. And now with CS5, it's still just not good... This is what I

  • Faxing from Mountain Lion with a multi-function printer

    I recently upgraded to Mountain Lion from Lion. Of course, my Apple external modem hasn't worked since the initial upgrade. I hadn't done too much about this, but it really is awfully convenient to fax from my computer, vs. printing something out and

  • Common distribution channel

    Hi forum, Can we map Common distribution channel in R/3 to CRM. I know common division can be mapped by defining Common (Dummy) division. Is there any provision for distribution channel. Thanks in advance, Regards,

  • BLOB Image in JSP

    I have an image in my database saved as a BLOB dadat type.... I want to paint this image in my homepage with the tag <img..>, using a jsp page.... can anyone tell me how can i do it? Thank you!

  • Cannot import PowerShot s100 RAW image

    I just got Aperture 3.2.1 and tried to import the CR2 images from my PowerShot s100 (new version of s95) but got an "Unsupported Image Format" error after the import, although I was able to see the preview of the same images successfully. Is this and