Content Server - Iteration of set of fields

I am pretty new to Plumtree's Content Management System and am working on the adding a set of fields dynamically and filling the data in the Content Item. For example I want to enter content of 300 rows in Content Entry Form and everytime I want to add a new row dynamically and fill data. How to do this in Plumtree? Is there any iteration facility provided by plumtree or is there any workaround to fulfil this requirement?
thanks in advance

You'd be better off asking this in the Deployment Center discussions; that is where particular questions about products are answered.

Similar Messages

  • TREX - Generic Object Services (GOS) - CV04N -Content Server

    Hello,
    I'v installed a content server / maxdb, and i forwarded the attached files (Gos) to this content repository.
    I'v installed TREX  and I can see the fields in the CV04N.
    Just one question :
    Can I search some documents via TREX (CV04N), or what is the best practice for storing the attachments and search it with TREX ?
    Thanks
    Stéphane.

    Once the Content Server is installed,set the Content Server for indexing preparation:
    -Start the function Monitoring for Knowledge Provider (transaction code SKPR07).
    -Enter the document class DMS_PCD1.
    -Select Edit > Administration.
    A dialog box appears where the following data is preset(if no,then please select the same):
    1.Document Area
    DMS
    2.Administration table
    DMS1DIDSTA
    3.Class can be indexed
    X
    -Set the indicator: Setup indexing.
    -Select in Customizing of Document Management the MIME types that you want to be read for the full text search; under General Data > Settings for storage systems > Create MIME types for full text search.
    -Schedule the full text search for cyclical background preparation.
    Execute transaction Start job (transaction code SM36).
    Schedule the job for the following ABAP program: RSTIRIDX (Report for indexing stored documents).
    Test retrieval document search using:
    Transaction: SKPR07
    Enter Document Class "DMS_PCD1", Language "EN", Document Class "DMS",and try "TEST search".
    Regards,
    Pradeepkumar Haragoldavar
    Edited by: Pradeepkumar  Haragoldavar on Jul 30, 2010 7:40 AM

  • Setting content server for storing PPM documents

    Hi Folks,
    We have followed the steps outlined the PPM config doc for setting up the content server (pages 117). Summary of the steps are shown below. (We are on PPM5.0)
    Creating a Content Server Entry
    1. In Customizing for SAP NetWeaver under Application Server Basis Services
    Knowledge Provider Content Management Service Define Content
    Repositories , choose Content Repository Display/Change .
    2. Choose Content Repository Create .
    3. Enter a name and a description for the content server.
    4. Enter CFF in the Document Area field and HTTP in the Storage Type field.
    Creating a Storage Category for a Repository
    1. In Customizing for SAP NetWeaver under Application Server Basis Services
    Knowledge Provider Content Management Service Define Content Categories
    , choose New entries.
    2. Enter a name and description, and then enter CFF in the Document Area field.
    3. Enter the name of the newly-created content repository in the Content Repository
    field.
    Setting the new Content Server as the Default Storage Category
    1. Choose transaction DMWB.
    2. Choose model area CFF in the tree.
    3. Navigate to PHIO-classes, node CFF_VERSION_V.
    4. Change the standard attribute STORAGE_CATEGORY from CFFCONTENT to the
    category you have defined above.
    5. Repeat this for node CFF_ADD_FILES_V and for CFF_VERS in node
    CFF_VERSION_V.
    After doing the above steps I did the following tests.
    1. Tried to access documents stored at the portfolio item level before doing the above content server config. I was able to access the documents which leads me to believe that files are still getting stored in the DB.
    2. Checked the table CFF_CONT before and after storing a 1kb file and the number of entries increased by 2, which again leads me to believe the file is not stored in the content server.
    Appreciate any input on whether we have followed the correct steps and if there is a better way check if files are actually being stored in the content server.
    Thanks,
    Lashan
    Edited by: Lashan Wanigatunga on Apr 28, 2011 7:08 AM

    Hi Lashan,
    I didn't same steps as you explain in your first post but it isn't working.
    Why didn't it work for you when you posted your 1st post, and now is is working? Is there some installation or Add-on that we need you have? Is there any Basis system parameters that we need to put?
    thanks in advance,
    aupalaura

  • Project Server workflow freezes on setting Project field

    Hi,
    In Project Server 2013 I've created a workflow with the SharePoint Designer. I want the workflow to set the project stage status and then a Project Field. Setting the project stage status works fine, but when I insert the action of setting the project field
    the workflow freezes and the Submit button is greyed out. Remove this action, re-publish the workflow and everything works fine. There are no required or read-only fields in the workflow stage and the custom field I want set is a plain project level custom
    field with no special properties. It is not on any pdp, nor in any view, because I'm only using it for OData reporting. Setting the field as "workflow-controlled" doesn't make a difference. It is the same in Project Online. What am I missing?   

    Setting a project field should not be a problem or holding in anyway, what kind of field is it and what value is being provided ?
    Take a look at the article here, it explains the process of
    creating an approval, make sure you are following the same process, it would be advisable to go through these module on working with workflow
    http://blogs.office.com/b/project/archive/2012/09/18/demand-management-sharepoint-designer-project-server.aspx
    http://msdn.microsoft.com/en-us/library/office/ee767694.aspx
    http://msdn.microsoft.com/en-us/library/office/jj163494.aspx
    On a side note curios to know how the publishing was done via SharePoint designer ?
    Thanks | Sunil Kr Singh | http://epmxperts.wordpress.com

  • Metadata fields like Tags, page ID etc not available for a Content in Content Server info.

    Hi,
    Am trying to build a Webcenter Portal application with the help of a tutorial. This requires to upload files to Content Server and use these files to build the app. and to link the navigations for menu and sub-menus.
    I have checked in the files manually into Webcenter Content but when checked  for the Content Information, metadata fields like Tags, Page ID, Websites etc are not displayed.
    These fields are necessary to relate to the Content Management Interoperability Services (CMIS) query used in application.
    The tutorial link am referring to is : Connecting to and Managing Content Repositories - 11g Release 1 (11.1.1.6.0)
    Content Management system server version is: 11gR1- 11.1.1.7.0
    Please let me know if am missing something.
    Thanks in advance!
    Regards,
    Nivedana

    Thanks Naresh. It worked.
    Can you please suggest few good links to gain more knowledge on UCM. I have tried a few, but not good enough.
    Thanks,
    Nivedana

  • After renaming the field name in content server,I am get the Exception

    Hai All
    After renaming the field name in Content Server I got one Error Like
    *<ERROR> <oracle.ucm.idocs> <UCM-CS-000001> <General Exception>*
    intradoc.data.dataexception !csRequiredFieldMissing2 dRevLabel in UCM.
    Thanks,
    Hari
    Edited by: Hari on Jun 1, 2011 11:08 AM

    I think it is somehow related to your other question - pure renaming (that is. changing the text of the field's label) should not have an effect what-so-ever, but you probably somehow changed something in a required parameter, so that it is empty now.

  • Content Server. Create fields information

    Good.
    The question is the following one:
    From the administration of content server -> Applets of administration -> Manager of configuration -> fields of information, i create a new field of type tree.
    Once created, I press on " Editing Tree " and the navigation for the created tree is correct, acceding to the respective nodes of the tree.
    The problem is that when I realize a new revenue (Check-in), ONLY I can sail along the tree along the first level.
    Some suggestion?
    Thank!

    You need to
    1)Make sure that the metadata field that you would like to add to the revision history table is available on the DOC_INFO page
    2)Change the interface so that it adds a new column to the revision history table and includes the metadata value
    You will need to do this in a component there is no other sensible way
    To achieve 1) you will need to override the existing Query that gets the revision history info this is (IIRC) QrevHistory
    To achieve 2) you need to override the include found in the location descibed my malky.
    This should give you the result you want
    Tim

  • Error while Setting Up Oracle Content Server to Send Jobs to Oracle IBR

    Hi,
    I am trying to configure Oracle Content Server to send jobs to IBR.
    I am using following version of UCM:
    11gR1-11.1.1.3.0-idcprod1-100505T121221 (Build:7.3.0.180)
    Both UCM and IBR are using same WAS domain. Installed on Windows server 2008.
    1.I have started both manged servers for UCM and IBR.
    2.Then by browsing IBR console http://vpunvfpctnsz-07:16250/ibr/ , i have changed the
    Incoming Socket Connection Address Security Filter:
    127.0.0.1|0:0:0:0:0:0:0:1|<<my.server.IP.address>>
    3.Enabled DAMConverter component on IBR
    4.Restarted IBR.
    5.Created an outgoing provider on UCM content server as follows:
    Provider Name: IBR
    Provider Description: Provider for IBR
    Provider Type: outgoing
    Provider Class: intradoc.provider.SocketOutgoingProvider
    Provider Connection: intradoc.provider.SocketOutgoingConnection
    Instance Name: VPUNVFPCTN955099yscom16250 << same as IBR server name >>
    Server Host Name: vpunvfpctnsz-07
    HTTP Server Address:
    Server Port: 16250
    Relative Web Root: /ibr/
    Conversion Options: Handles Inbound Refinery Conversion Jobs
    Refinery read-only mode: False
    Maximum Jobs to Queue: 1000
    It is showing following status:
    Connection State: This remains "good" when i click on test and after some time chages to "down".
    Connection Error: Unable to communicate with refinery provider IBR; it does not resolve to a valid IBR. Exception type is 'java.lang.Throwable'.
    Did i miss any step?
    Please suggest.
    Thanks and regards,
    Minal

    Hi
    Server Port: 16250
    This should be the value of IntradocServerPort for IBR server .
    By default it is 5555 .
    Replace 16250 with 5555 (if you have not changed it ) .
    Save the changes , restart UCM managed server .
    Test to see if the error shows up .
    Hope it helps .
    Thanks
    Srinath

  • Dynamically Updating Content Server Portlets

    [urlHi, I am currently having difficulty dynamically updating content server portlets.  I have a portlet of the following form:[/url]
    ArticleName Author Title Date mystory author1 title1 04/05/01
    story2 author2 title2 06/07/04
    story author3 title3 01/02/03
    So I have this table where each one of the line items is an article in the content server. So, for example the first line item is an article "mystory" by "author1", with title "title1" and date "04/05/01" additionally there is an article text field, but this isn't displayed unless I click on the article name.
    I can set up the basics of this portlet, but when I try to add any real functionality I run into one of two problems.
    First Problem: Passing Information
    I cannot find a way to pass information between content portlets. For instance, if the user would like to "re-sort" this table based on "date", I would like to have the user click on the "date" column heading and then reload the page. To do so, I would have to pass the section name back to the page so that it could resort based on this data. I have not found anyway to effectively pass information to a content server portlet. I am building these pages through use of the presentation template framework (so I can have access to the content items) but that seems to change the way portlets are handled.
    I got around this limitation with a regular portlet by creating an intermediary page which captures passed information and stores it to the session state. Once the information was in the session state, it is accessible to the portlet on the first page. However, this only works because remote portlets do not change their session id once loaded. Content Server portlets, on the other hand, change their session id after every reload of the browser or page change. I can send information from a content server portlet to an intermediary page, but I cannot send it back to the portlet because the session id has changed so I have no idea of knowing where to send the information. I can write it to a session state, but by the time I return to the portal page, the content server has changed its session id so it does not know where to look any longer.
    I suppose it would be possible to create an application state variable and append it with some static token (if there is some static variable per portal session) but I would rather not have to deal with application variables if at all possible.
    Second Problem: Dynamically Updating PCS Tags
    Even if I were able to the pass information back to my content server portlet, I run into another issue. The easiest way to sort content server items is using the filter command in the pcs:foreach tag. So, if I wanted to sort by author name, I could do something like the following <pcs:foreach var="item" expr="filter(folderByName('content'), filtered.name == '"name")" or something like that (the syntax may be incorrect, I just wrote this off the top of my head). However, it appears that the way the presentation templates are compiled goes in the order of PCS tags THEN JSP. So I would have no way of dynamically changing the variable on which I sort. For example, if I clicked on "Date" above in my table, I would like to be able to dynamically change my code so that I sort on date, and not name. I cannot find a solution to this problem.
    My workaround is to use the pcs tags to write out all the possible sortings to java array objects. This gives me access to the data on a JSP level and based on whatever the user will chose, I could then display that array. While this works, it is extremely ghetto and inefficient. Any help or suggestions would be fantastic.
    Thanks a lot,
    Jason Grauel

    You can use just about any javascript you want in any Content Server presentation template including ones that are used for portlets.
    However, you should be careful to name javascript functions and global variables uniquely so that they do not conflict with any other javascript on the page. To do this, you can append the item id to function and variable names, for example,
    function doSomething<pcs:value expr="pcs_id"></pcs:value>() {
    return true;
    Randy

  • Content Server not working correctly

    Hello,
    I am having problems with my Tandberg Content Server. For several years, we have used the Tandberg Content Server (TCS) in combination with our Tandberg Management Server (TMS) to schedule and record video conferences. I schedule 60 video conferences a week to roughly 20 rooms, using the TMS. Of these, about 14 video conferences per week are recorded.
    Originally, I only had one recording alias on the TCS set up, and it worked fine. But I recently added a second recording alias, due to the growing number of requests for recordings of the video conferences. It seemed to go okay.
    Now, however, the Content Server isn't working quite right. It will record two different video conferences at the same time, but once it's finished encoding them, the link that you get to send to people is messed up: often (but not always) the link merges two seperate video conferences together in one video. Two one-hour video conferences will be merged together in one two-hour recorded conference.
    The problem only occurs with video conferences that occur at the same time. Strangely, if I search the Content Server's F drive, under Data/Media, the recordings are all there, and they are seperate. They are only joined together on the Content Server link.
    I have made sure that we are indeed recording on seperate recording aliases.
    Because the videos in the Data/Media bin are always labled something like O1110292903-0593923929.wmv, I can use guesswork to reconstruct a valid URL to get a working link, but it's a lot of extra work: I want to be able to log in to the Content Server admin interface and be able to send someone a link in a few minutes.
    Any ideas on what's going wrong? I created a trouble ticket with Cisco earlier in the week, but have not heard back from Cisco tech support, so I thought I'd open it to the Cisco community.

    HI Ron.  Good morning.  Since our webex the last time, I do believe we can use participant templates in the mean time until we find out whats going on when using TMS this way.  When using the recording drop down and all the systems aren't registered to Gatekeeper seems to be the trigger here, but to get you running, this is what I propose we try and do here. 
    You may have to purge the Content Server out of TMS so TMS doesn't "know" about the IP address of the Content Server. 
    You will have to examine your routing and preferred MCU in routing here, and make the two changes:
    Administrative Tools>Configuration>Conference Settings.  All the way at the bottom you will see:
    I had to change this to Always and Preferred MCU type in routing to MPS.  This is logical since this is the only MCU you have and you need the MCU in each booking (from my understanding of what you said during the webex).
    So:
    1) Jot down all the conferences that have the Content Server involved, and remove the recording from each conference.
    2) Purge the Content Server from TMS.
    3) Add participant template with just the IP address of the content server: Booking>Participant Templates and build one like shown below.  The number field should be the address of the content server and IP zone should be IP zone for your system. 
    Go ahead and save the template. 
    Make booking with this template and another endpoint (don't add the MPS since it should automatically).  Check the connection settings and the MPS should be call the IP of the TCS and the other endpoint. 
    Click Save conference. 
    If the conference saves ok, build another with a different room and same template again, and click save conference. 
    The caveat is that when calling the IP of the TCS, the TCS will use what you have configured as the default recording template under Configuration>Site Settings
    Just choose which one you want to use all the time if you can. 
    The way it shows on the TCS is:

  • Content Server - Print Attached PDF

    Dear experts,
    we have the following requirement -
    print (preferrably in batch mode) the attached PDF documents from DMS.
    The documents are located at the content server.
    To reduce the network load
    the documents should be accessed directly from the content server,
    because the Content Server is located in the same building,
    and the SAP system is located at the remote location.
    Could you please provide some hints how to fulfill this requirement?
    Is it possible to print PDF document directly from Content Server?
    Is it possible to do it in the batch mode?
    Thanks a lot for your responses,
    Andrey.

    hi,
    method-1, configuring Archivelink for printing doc from CS directly,
    see url
    http://help.sap.com/saphelp_erp60_sp/helpdata/EN/5e/566039b85f9443e10000000a114084/content.htm
    custamizing print lists,
    http://help.sap.com/saphelp_erp60_sp/helpdata/EN/5e/566039b85f9443e10000000a114084/frameset.htm,
    There are two methods for storing print lists.
    a.storage request is issued before the report program is executed.
    This storage variant enables you to integrate index information and hyperlinks into the print list.
    1.In the menu bar, choose System ->Services-> Reporting.
    2.Enter the name of the report program and choose .
    3. The selection screen for the report is displayed.
    In the menu bar, choose
    Program ->Execute and Print
    A dialog box is displayed.
    4.Enter the required data, then choose Attributes.
    A dialog box is displayed.
    5.Choose the Overview tab page, expand the Spool Control node, and double-click Storage Mode.
    A new window appears.
    if you set the flag Display this Field on Initial Screen, the window is displayed on the initial screen when you next call the function. This will avoid having to carry out step 5 in the future.
    6.Use the input help to choose Store Only or Print and Store.
    This opens an input template.
    7.Enter the ArchiveLink parameters and choose .
    A dialog box is displayed.
    Choose .
    The screen output of the report is displayed.
    The spool creates a main file and a description file, and sends the storage request to ArchiveLink.
    b) The storage request is issued after the report program is executed.
    This storage variant does not allow you to integrate hyperlinks and index information into the print list.
    1.In the menu bar, choose System ->Services-> Reporting.
    2.Enter the name of the report program and choose .
    The selection screen for the report is displayed.
    3.Choose .
    The screen output of the report is displayed.
    4.In the menu bar, choose System-> List ->Print.
    A dialog box is displayed.
    5.Continue as in variant a) from step four.
    benakaraja ES

  • Content server for Document attachment through "services for object" Icon.

    Guys,
    I have typical problem in installation of Content server for storing external documents.
    We all know that we can attach the document in SAP using the icon “SERVICES FOR OBJECT”. By this we can attach the document to the specific object we want.
    -Since my client wants only document attachment method not to completely implement SAP DMS, I proposed this method of attaching documents through services for object method.
    -If documents are stored though services for object ,The attached document will directly get stored in sap database(correct me if I am wrong) while  in  DMS it ask you to select the storage location while u check in for any document
    -By storing the doc thru "services for object " For long run when we store the documents in sap database our system will drastically get slow down.
    -In this regard I have a plan to incorporate external storage server.
    -Now I should know that how I should customize content server configuration so that the attachment through services for object will store into this content server I need to know how to define Client, Content Category, Content Repository, Document Area, Physical Machine, IP Address, Port. (OACT & OAC0)
    I appreciate for immediate solution and <u><b>Points will be rewarded for sure.</b></u>
    Regards,
    Murali.S

    Hi Murali,
    Don't Worry, its possible,
    All attachments can be stored in SAP Content Server also, but through archiving process.
    Set up a database storage system.
    Preparation
    Make sure that the HTTP plugin is active.
    Transaction <b>SMICM,</b> "Display Services" function key (shift F1)). The list of services must contain a port other than 0 for HTTP.If not, you must adjust the relevant profile parameter.
    <u>Typical entry:</u>
    icm/server_port_0         PROT=HTTP, PORT=1080, TIMEOUT=900
    <b>Make sure that the /sap/bc/contentserver service is active.</b>
    If no user is defined, then use transaction SU01 to create a new user. Use the "System" user type.Assign
    the SAP_ALL and SAP_NEW profiles to the user. (Eg: HRUSER/PLMUSER/PPUSER etc)
    Transaction <b>SICF,</b> select: default_host - sap - bc -contentserver. Select the function to display/change the service. Make sure that a user is defined.
    Using the relevant data from the newly created user, maintain the anonymous logon data for the
    /default_host/sap/bc/ service and save & activate the changes in transaction <b>SICF</b>.  Double click on content server and give the user name which has been created (HRUSER/PLMUSER/PPUSER/MMUSER etc)
    Check the system PSE.
    Start transaction <b>STRUST</b>. Expand the system PSE. The system PSE must be "green" for each application
    server.
    Determine a suitable exchange directory.
    The exchange directory must be accessible from each application server. If all application servers are running on the same platform (for example, Windows), one network directory that is accessible on all application server (for example,
    server\share) is sufficient. You can generally use the global directory
    (profile parameter DIR_GLOBAL).You can use the RSPARAM report to determine the profile parameters.
    Setting up the storage
    Create a table for storing the data. Using transaction <b>SE11</b>, create a copy of the SDOKCONT1
    table. If you want to create the repository database, you can name the table ZCONT_DB, for example. Save the
    table as a local object. Activate the table.
    Create a repository.
    Use transaction <b>OAC0</b> to create a new repository.
    Use the following parameters:
    Repository Max. two characters, for example,” Z1”
    DocArea: ARCHLINK
    Storage type: R/3 database
    Storage subtype: normal
    Version no. : 0046 
    Contents table <table name> for example: ZCONT_DB
    Exchange directory <directory name> for example:
    server\share\
    Make sure that the exchange list ends with a \ (or /on Unix).If you are using a variety of platforms, you must use transaction FILE to define a suitable logical file name and use this name. Save the settings.
    1. Maintain view table <b>TOAAR_C</b>, via SM31
       Cross client table displayed as information, forget it
    2. In field 'StSytm' you must entered 'Z1' as your system need, or anything that you need but you must configure HR Archive link too.
    3. In field 'Arch.path' (direct above Spoolpath), entered path in your system, this real path in your operating system. May be you should confirm to your Basis consultant where exactly you could store picture files. So if you enter '/', your file exists at root directory at your UNIX system.
    4. Choose 'File store' radio button
    5. Save.
    First
    <b>1. You have to create a number range for SAP ArchiveLink.
        IMG: Basis Components-> Basis Services -> SAP ArchiveLink -> Basic Settings-> Maintain number ranges   
        (Trxn <b>OANR).</b> Create number range 01 from 0000000001 to 9999999999 without the external number flag. 
    2. Document type <b>HRICOLFOTO</b> must exist with document class JPG.
        IMG: Basis Components->Basis Services->SAP ArchiveLink->System Settings->Maintain document types
        (Table<b> TOAVE, Trxn OAC2).</b>
    3. Document type <b>HRICOLFOTO</b> must be linked to object type PREL and Infotype PA0002.
        IMG: Personnel Management->Personnel Administration->Tools->Optical archiving->Set up Optical Archiving
        in HR.  (View V_T585O, no Trxn). In the first two columns there are minuses, the third (Date) has
       a plus - don't put a flag in the check box.
    4. Check which content repository (Archive) is linked to document type HRICOLFOTO and object type  
        PREL. IMG: <b>Basis Components->Basis Services->SAP ArchiveLink->Basic Settings->Maintain Links (Table 
       TOAOM_C, Trxn).</b></b>
    Test
    • Test the repository.
    Use transaction SE38 to start the RSCMSTH0 report. Specify your repository (i.e. Z1) and start the test.
    The report must run without errors. If no problems occurred, you can use the new repository with Archive Link after you carry out the Archive Link Customizing. If problems do occur, check whether one of the related
    notes helps.
    For More Details :
    http://service.sap.com/archivelink.
    <u><b>
    NOTE:- Screen Shots are missing, i was not able to paste here, One more thing is we did this for uploading a PHOTOS into Content Server, Similarly you have to create a REPOSITORY and Z-TABLE to bring all the Attachments from all the selected Objects and then route them to the CONTENT REPOSITORY.</b></u>
    Your Senior ABAP guy would help you in this, if not i may try to help you more by monday.
    Regards
    Rehman
    <b>Reward Your Points if Satisfied.</b>

  • Display document from Content Server

    Hello Expert,
    I need to display document in CE portal, that are stored on ECC content server.
    Does anyone know how to do this?
    Thank you in advance.
    Francois
    Edited by: François BECKER on Oct 13, 2011 9:39 AM

    Hi,
    Try using this sample code
    class lcl_handle_events definition.
      public section.
        methods:
                 on_double_click for event double_click of cl_salv_events_table
                importing row column.
    endclass.                    "lcl_handle_events DEFINITION
    class lcl_handle_events implementation.
      method on_double_click.
      if column = 'INSTID'.
        clear gv_usrnme.
    *Reading the ALV table to get the purchase order number
        read table gt_usrnme into gv_usrnme index row.
        if sy-subrc = 0.
    *Passing the value of the PO number to ME23N Transaction
        set parameter id 'BES' field gv_usrnme-instid.
    *Calling ME23N
        call transaction 'ME23N'.
        endif.
        endif.
      endmethod.
    data gv_event  type ref to lcl_handle_events.      "events object
      gv_events = gs_table->get_event( ).
      create object gv_event.
    *... §6.4 register to the event Link_CLICK
      set handler gv_event->on_double_click for gv_events.
    Hope this helps you. Here i was calling a different transaction code based on each line selection..
    Regards
    Ansari

  • Create PDF based on spool ID and store on content server

    Hi all,
    I need to create a PDF file from a spool ID and store this in a repository on the content server (archive). How can I do this <b>without creating a physical file on the local workstation</b>?
    All helpful answers will be rewarded!
    - Mari Virik

    Hi Mari,
    This is a sample report pgm which create pdf file from spool id :
    PARAMETER: p_email1 LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_sender LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_delspl  AS CHECKBOX.
    *DATA DECLARATION
    DATA: gd_recsize TYPE i.
    Spool IDs
    TYPES: BEGIN OF t_tbtcp.
            INCLUDE STRUCTURE tbtcp.
    TYPES: END OF t_tbtcp.
    DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
          wa_tbtcp TYPE t_tbtcp.
    Job Runtime Parameters
    DATA: gd_eventid LIKE tbtcm-eventid,
          gd_eventparm LIKE tbtcm-eventparm,
          gd_external_program_active LIKE tbtcm-xpgactive,
          gd_jobcount LIKE tbtcm-jobcount,
          gd_jobname LIKE tbtcm-jobname,
          gd_stepcount LIKE tbtcm-stepcount,
          gd_error    TYPE sy-subrc,
          gd_reciever TYPE sy-subrc.
    DATA:  w_recsize TYPE i.
    DATA: gd_subject   LIKE sodocchgi1-obj_descr,
          it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          gd_sender_type     LIKE soextreci1-adr_typ,
          gd_attachment_desc TYPE so_obj_nam,
          gd_attachment_name TYPE so_obj_des.
    Spool to PDF conversions
    DATA: gd_spool_nr LIKE tsp01-rqident,
          gd_destination LIKE rlgrap-filename,
          gd_bytecount LIKE tst01-dsize,
          gd_buffer TYPE string.
    Binary store for PDF
    DATA: BEGIN OF it_pdf_output OCCURS 0.
            INCLUDE STRUCTURE tline.
    DATA: END OF it_pdf_output.
    CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
               c_no(1)     TYPE c   VALUE ' ',
               c_device(4) TYPE c   VALUE 'LOCL'.
    *START-OF-SELECTION.
    START-OF-SELECTION.
    Write statement to represent report output. Spool request is created
    if write statement is executed in background. This could also be an
    ALV grid which would be converted to PDF without any extra effort
      WRITE 'Hello World'.
      new-page.
      commit work.
      new-page print off.
      IF sy-batch EQ 'X'.
        PERFORM get_job_details.
        PERFORM obtain_spool_id.
    Alternative way could be to submit another program and store spool
    id into memory, will be stored in sy-spono.
    *submit ZSPOOLTOPDF2
           to sap-spool
           spool parameters   %_print
           archive parameters %_print
           without spool dynpro
           and return.
    Get spool id from program called above
    IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
        PERFORM convert_spool_to_pdf.
        PERFORM process_email.
        if p_delspl EQ 'X'.
          PERFORM delete_spool.
        endif.
        IF sy-sysid = c_dev.
          wait up to 5 seconds.
          SUBMIT rsconn01 WITH mode   = 'INT'
                          WITH output = 'X'
                          AND RETURN.
        ENDIF.
      ELSE.
        SKIP.
        WRITE:/ 'Program must be executed in background in-order for spool',
                'request to be created.'.
      ENDIF.
          FORM obtain_spool_id                                          *
    FORM obtain_spool_id.
      CHECK NOT ( gd_jobname IS INITIAL ).
      CHECK NOT ( gd_jobcount IS INITIAL ).
      SELECT * FROM  tbtcp
                     INTO TABLE it_tbtcp
                     WHERE      jobname     = gd_jobname
                     AND        jobcount    = gd_jobcount
                     AND        stepcount   = gd_stepcount
                     AND        listident   <> '0000000000'
                     ORDER BY   jobname
                                jobcount
                                stepcount.
      READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
      IF sy-subrc = 0.
        message s004(zdd) with gd_spool_nr.
        gd_spool_nr = wa_tbtcp-listident.
        MESSAGE s004(zdd) WITH gd_spool_nr.
      ELSE.
        MESSAGE s005(zdd).
      ENDIF.
    ENDFORM.
          FORM get_job_details                                          *
    FORM get_job_details.
    Get current job details
      CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
           IMPORTING
                eventid                 = gd_eventid
                eventparm               = gd_eventparm
                external_program_active = gd_external_program_active
                jobcount                = gd_jobcount
                jobname                 = gd_jobname
                stepcount               = gd_stepcount
           EXCEPTIONS
                no_runtime_info         = 1
                OTHERS                  = 2.
    ENDFORM.
          FORM convert_spool_to_pdf                                     *
    FORM convert_spool_to_pdf.
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
           EXPORTING
                src_spoolid              = gd_spool_nr
                no_dialog                = c_no
                dst_device               = c_device
           IMPORTING
                pdf_bytecount            = gd_bytecount
           TABLES
                pdf                      = it_pdf_output
           EXCEPTIONS
                err_no_abap_spooljob     = 1
                err_no_spooljob          = 2
                err_no_permission        = 3
                err_conv_not_possible    = 4
                err_bad_destdevice       = 5
                user_cancelled           = 6
                err_spoolerror           = 7
                err_temseerror           = 8
                err_btcjob_open_failed   = 9
                err_btcjob_submit_failed = 10
                err_btcjob_close_failed  = 11
                OTHERS                   = 12.
      CHECK sy-subrc = 0.
    Transfer the 132-long strings to 255-long strings
      LOOP AT it_pdf_output.
        TRANSLATE it_pdf_output USING ' ~'.
        CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
      ENDLOOP.
      TRANSLATE gd_buffer USING '~ '.
      DO.
        it_mess_att = gd_buffer.
        APPEND it_mess_att.
        SHIFT gd_buffer LEFT BY 255 PLACES.
        IF gd_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    ENDFORM.
          FORM process_email                                            *
    FORM process_email.
      DESCRIBE TABLE it_mess_att LINES gd_recsize.
      CHECK gd_recsize > 0.
      PERFORM send_email USING p_email1.
    perform send_email using p_email2.
    ENDFORM.
          FORM send_email                                               *
    -->  p_email                                                       *
    FORM send_email USING p_email.
      CHECK NOT ( p_email IS INITIAL ).
      REFRESH it_mess_bod.
    Default subject matter
      gd_subject         = 'Subject'.
      gd_attachment_desc = 'Attachname'.
    CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
      it_mess_bod        = 'Message Body text, line 1'.
      APPEND it_mess_bod.
      it_mess_bod        = 'Message Body text, line 2...'.
      APPEND it_mess_bod.
    If no sender specified - default blank
      IF p_sender EQ space.
        gd_sender_type  = space.
      ELSE.
        gd_sender_type  = 'INT'.
      ENDIF.
    Send file by email as .xls speadsheet
      PERFORM send_file_as_email_attachment
                                   tables it_mess_bod
                                          it_mess_att
                                    using p_email
                                          'Example .xls documnet attachment'
                                          'PDF'
                                          gd_attachment_name
                                          gd_attachment_desc
                                          p_sender
                                          gd_sender_type
                                 changing gd_error
                                          gd_reciever.
    ENDFORM.
          FORM delete_spool                                             *
    FORM delete_spool.
      DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
      ld_spool_nr = gd_spool_nr.
      CHECK p_delspl <> c_no.
      CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
           EXPORTING
                spoolid = ld_spool_nr.
    ENDFORM.
    *&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
          Send email
    FORM send_file_as_email_attachment tables it_message
                                              it_attach
                                        using p_email
                                              p_mtitle
                                              p_format
                                              p_filename
                                              p_attdescription
                                              p_sender_address
                                              p_sender_addres_type
                                     changing p_error
                                              p_reciever.
      DATA: ld_error    TYPE sy-subrc,
            ld_reciever TYPE sy-subrc,
            ld_mtitle LIKE sodocchgi1-obj_descr,
            ld_email LIKE  somlreci1-receiver,
            ld_format TYPE  so_obj_tp ,
            ld_attdescription TYPE  so_obj_nam ,
            ld_attfilename TYPE  so_obj_des ,
            ld_sender_address LIKE  soextreci1-receiver,
            ld_sender_address_type LIKE  soextreci1-adr_typ,
            ld_receiver LIKE  sy-subrc.
    data:   t_packing_list like sopcklsti1 occurs 0 with header line,
            t_contents like solisti1 occurs 0 with header line,
            t_receivers like somlreci1 occurs 0 with header line,
            t_attachment like solisti1 occurs 0 with header line,
            t_object_header like solisti1 occurs 0 with header line,
            w_cnt type i,
            w_sent_all(1) type c,
            w_doc_data like sodocchgi1.
      ld_email   = p_email.
      ld_mtitle = p_mtitle.
      ld_format              = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
    Fill the document data.
      w_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
      CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.
      w_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = it_attach[].
    Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      APPEND t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      APPEND t_packing_list.
    Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
      t_receivers-receiver = ld_email.
      t_receivers-rec_type = 'U'.
      t_receivers-com_type = 'INT'.
      t_receivers-notif_del = 'X'.
      t_receivers-notif_ndel = 'X'.
      APPEND t_receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
           EXPORTING
                document_data              = w_doc_data
                put_in_outbox              = 'X'
                sender_address             = ld_sender_address
                sender_address_type        = ld_sender_address_type
                commit_work                = 'X'
           IMPORTING
                sent_to_all                = w_sent_all
           TABLES
                packing_list               = t_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = t_receivers
           EXCEPTIONS
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                OTHERS                     = 8.
    Populate zerror return code
      ld_error = sy-subrc.
    Populate zreceiver return code
      LOOP AT t_receivers.
        ld_receiver = t_receivers-retrn_code.
      ENDLOOP.
    ENDFORM.
    <b>and then use archiving object to store the photo i have explained you as an example</b>
    You have to create a content repository "A2" or another . You have to follow then next steps :
    Create a content repository with storage type FILE archive.
    Tcode     OAC0
    IMG:      Basis Components  Basis Services  SAP Archive Link  Basic Settings  Maintain content repositories
    (Embedded image moved to file: pic00041.pcx)
    Swap from display to amend. Select a current entry and 'copy' or just hit 'create'. Then select .
    (Embedded image moved to file: pic18467.pcx)
    Then fill in the details as below:
    Choose a two char name
    Set DocArea to be 'Archive Link'
    Storage type FILE archive (see Note below on how to get this!)
    Choose Version no. 0031
    Enter the path name where the photos are to be loaded from. Note this is for loading only. When the photos are linked into the sap system (see later), actually, SAP takes a 'copy' and stores it elsewhere. The path may only need to be entered to 'Arch.path', but entering to all three doesn't seem to hurt.
    Note on storage type:
    Storage type 'FILE archive' may not be in the dropdown list, and F4 (poss entries) may not work! If this is the case, click on the field Storage type (left mouse button) and then click the right mouse button. Choose Possible entries and a full list of all
    possible storage types is shown. FILE archive is entry number 08 and then
    Check which content repository (Archive) is linked to document type HRICOLFOTO in object type PREL.
    Tcode     OAC3
    Table     TOAOM_C
    IMG:      Basis Components  Basis Services  SAP Archive Link  Basic Settings  Maintain Links
    (Embedded image moved to file: pic06334.pcx)
    Set the 'Content R' field to the one you've just set in the step above.
    Note the Ret.per. field is the retention period for the photo in MONTHS. (so the default is 833 years and 3 months!)
    Now you can link the photo to the employee.
    <b>Pls reward pts if found usefull :)</b>
    Regards
    Sathish

  • Seting up Content Server and ArchiveLink

    Ok, Here is the problem that I am currently dealing with.  I have set up a Content Server to store files to a sapDB (not file system).  I am trying to have purchase orders moved into the Content Server.  I defined a content server:
    from TCode OAC0:
    ZT     ARCHLINK     HTTP content server     0046     Content Server Test
    from TCode OAC3:
    EKKO     MEOORDER     X     ZT     TOA01     0
    in TCode OAC3 I am only able to choose ZT if I set ZT to Document Area "Archivelink".  But when I choose this it makes me choose a directory and as I mentioned I set up the content server to save files to DB (not file storage).  Can anyone please assist me in what settings I have incorrect?  Also I looked up the PO information and it says something about Object Type BUS2012... not EKKO.  Do I have to set up this object type?
    Basically when I change the Document Area to "Archivelink" it makes me use a file... when I choose "Archivelink: Print List Manager" or "Archivelink: Document management" it does not force me to have a file path.
    Well... after re-reading it I can see I am very confused.  Any help understanding the process or any advise would be greatly appreciated.
    Thanks,
    Paul Ksobiech
    SAP Basis Administrator

    Hi,
    In the transaction OAC0, when creating a repository, you would find the field 'Document Area'.  The value for Document Area has to be specified as 'ArchiveLink' or should be left blank. If you specify the Document Area as ArchiveLink, then only ArchiveLink woulod be able to use this repository. Hence, if you would like other applications also to use this repository, please maintain the Document Area as blank.
    You have mentioned that when you choose ARCHIVELINK as the document area, you have to choose a directory. Are you referring to the Transfer Directory in OAC0 transaction? If yes, then this Transfer Directory is used for storing the documents temporarily. This directory would be a path on the Application server.
    For example, if you maintain a transfer directory (as seen in Full Administration mode)as the following:
    Basic Path      IX_GLOBAL
    Archive Path    IX_GLOBAL
    This would mean that Basic path is the path where the documents are stored temporarily before saving into the archive.
    The Archive Path is the path where the documents are made available temporarily during the document retrieval process.
    The transfer directory IX_GLOBAL is maintained in the transaction FILE. This directory would inturn be pointing to the path on the application server.
    Additionally, answering your last question, the business object EKKO was used in the release 4.6. However, from higher release like 4.6C, 4.7, the EKKO business object has been replaced with BUS2012. Hence, from higher releases onwards, you would have to use this business object instead of EKKO.
    I hope this info helps.
    Best Regards,
    Sindhu Sreedharan.

Maybe you are looking for

  • I need to Mirror the same content of iPad on multiple Apple TV simultaneously, can it be done

    I need to Mirror the same content of iPad on multiple Apple TV simultaneously. I have a iPad and three Apple TV in three different rooms, and I would like to play the same video or mirror simultaneously on all the Apple TV located in my three rooms.

  • The background on my ipad has turned like a negative picture

    Can you help me understand what I've done wrong and how to fix it?  Thank you

  • What's your actual bill?

    Hi all- I'm considering rejiggering my telephone life -- ditching my landline and DSL, getting fixed wireless high speed internet, and trading in our T-Mobile phones for iPhones for me and my wife. I'm trying to figure out if I can do this while not

  • Latest rpm for RH 2.1 AS

    the ocfs.org has the latest version of the rpm packages 1.0.9.4 however when installing them it says that the 1.0.9 needs to be installed first. I am unable to find 1.0.9 ocfs-tools and ocfs-support packages Any help?

  • Oracle 8i  and 2.4 Kernel?

    Hi, I'm planning to install Oracle8i for a class. I have a box running 2.4.18 The printed installation guide and the HOWTO both recommend kernel "2.2 or higher". That sounds like any Kernel 2.4 may be ok, but both references are rather dated... Befor