API For Item Contents

I'd like to get at the item contents from PL/SQL. What's the supported means of getting the data from the database (for example, with items of type text)?
The content area API doesn't seem to do anything beyond managing folder and item metadata, and neither does the view.

The text content can be retrieved from the text column in wwsbr_all_items view. It is a CLOB column.

Similar Messages

  • API for Item Reservations

    Hi All,
    What is the API used for item reservations in oracle applications R12. Please suggest any links or documents
    Thanks and Regards,
    Mahesh

    I found out. It is INV_RESERVATION_PUB.

  • APIs for downloading content

    At http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/plsql/doc/sdk23pkg.htm I find a description for Content Area APIs to upload or modify content in content areas.
    Are APIs available for downloading too?
    Based on a given topURL and a given user, I'd like to be able to make an offline backup of items in a content area.
    Regards,
    Ton

    The table is wwdoc_document$.
    Here's an example that will help:
          select d.blob_content
             into theFile
             from portal.wwdoc_document$ d
                  , portal.wwsbr_all_items i
             where i.id = :p_itemid
             and   i.caid = :p_siteid
             and   i.is_current_version = 1
             and   i.filename = d.name
             and   i.language = d.language
             and   i.active = 1
                and    (i.language = :p_language
                        or ( exists -- a row for the item in the page group default language
                              (select pg.id
                               from  wwsbr_all_content_areas pg
                               where pg.id = i.caid
                               and   pg.default_language = i.language
                             and not exists -- a row for the item in the current language
                              (select i2.id
                               from  wwsbr_all_items i2
                               where i2.id = i.id
                               and   i2.language = :p_language
                               and   i2.is_current_version = i.is_current_version
                               and   i2.active = i.active
                        );Please keep in mind that the document table is not protected by Portal ACLs, so you should always join it to the WWSBR_ALL_ITEMS view to ensure that users only see authorized content.
    Regards,
    Jerry
    PortalPM

  • API for Item Creation (MTL_SYSTEM_ITEMS_B)

    Hi All,
    Do you know any API that can do the creation/modification of items in MTL_SYSTEM_ITEMS_B?
    Cheers,
    Roderick

    Roderick,
    If you are licensed, you can try ego_item_pub.process_item. If not you can use a group API called inv_item_grp.create_item or update_item.
    Thanks
    Nagamohan

  • How to force Portal not to display item content for a custom item

    Hi,
    I've read in several places questions about rendering an Item in a custom way, without letting portal
    display the item content, if you read along I've discovered a SIMPLE WAY to force portal not to
    display the content item.
    As per bugs and requests on metalink it seemed that in many versions of Oracle Portal (mine is 9.0.4.1)
    this is impossible, since even if we remove the "Item Content" from the list of displayed attributes in the
    region, Portal does display it anyway, just after every other Attribute.
    - Re: using an item type procedure
    - Metalink BUG # 3998251 "ENH: SHOULD BE ABLE TO HIDE "ITEM CONTENT" FOR TEXT ITEMS OR NEED A NEW ITEM TYP" and is being looked into internally whether it is feasible to include this in future releases.
    - Metalink Doc ID:      Note:290534.1          Subject:      Unable to Hide the "Item Content" Attribute for a Text Item     
    Mine scenario was the usual one:
    -oracle portal 9.4.0.1
    -a custom item based on custom text (so as to have the RTE to edit HTML).
    -A few attributes that help me define the class of an enclosing DIV tag that I wanted to put (a class and an ID)
    -A plsql call associated to the custom item, with the flag "display inline" checked
    -The dirty HTML generated by the built-in Oracle RTE (with BODY and HTML tags enclosing the actual HTML)
    -The region that will contain the item is set so that just the "Function Call" is (or should be) displayed
    I wanted to control entirely the display of the item text, while enclosing it in a custom DIV tag.
    After a few tries, one of which involved forcing an HTML comment around the item content that Portal stubbornly
    displayed, I've discovered this simple way. I don't know hom much this way is portable, but is done entirely with the APIs.
    In the stored procedure that displays the item, that I encolose, i just do:
    1) retrieved the ITEM querying WWSBR_ALL_ITEMS;
    2) updated the ITEM via WWSBR_API.MODIFY_ITEM, passing as display_otpion the value WWSBR_API.FULL_SCREEN!!
    Here I try a little explanation:
    An item just created has FULLSCREEN=1 and INPLACE=0. This way the stored procedure is executed
    AND the item content is displayed.
    WIth the modify_item, the item gets FULLSCREEN=1 and INPLACE=2 !! This seems strange since the docs
    tells that inplace can be 0 or 1. But this works.
    I've played with the WWV_THINGS table directlry, and setting INPLACE to 0, 2 or 3 works as well, while
    if it is set to 1, it behave the usual way.
    The trick is to have FULLSCREEN to 1 while INPLACE is not set to 1.. and this was the easiest solution.
    I'd like to receive a feedback from Oracle regarding this behaviour.
    Bye
    Walter
    --- This is the procedure ---
    CREATE OR REPLACE PROCEDURE show_item_mod(itemid in varchar2, styleid in varchar2,
         styleclass in varchar2) IS
    html CLOB;
    idx1 number;
    idx2 number := 0;
    item portal.wwsbr_all_items%rowtype;
    BEGIN
         --retrieve item content
         select * into item from portal.wwsbr_all_items where id=itemid;
         html := item.text;
         --check if text body contains "dirty" tags as put by Oracle RTE editor
         --and strips text from <BODY> to </BODY>
         idx1 := instr(html,'<BODY>');
         if(idx1 > 0) then
                   --strip text of broken tags
                   idx2 := instr(html,'</BODY>');
                   html := substr(html,idx1+6,idx2-idx1-6);
         end if;
         --check if this is first time we enter this procedure
         --or if text has changed
         if(item.description is null or idx2 != 0) then
                   --update filename so next time we won't enter the IF branch
                   --update DIPLSAY OPTION to FUllSCREEN
                   --update text, if this was changed
                   idx1 := portal.wwsbr_api.modify_item(
                        p_master_item_id => item.masterid,
    p_item_id => itemid,
    p_caid => item.caid,
    p_folder_id => item.folder_id,
    p_display_name => item.display_name,
    p_region_id => item.folder_region_id,
    p_display_option => portal.WWSBR_API.FULL_SCREEN,
    p_category_id => item.category_id,
    p_category_caid => item.category_caid,
    p_author => item.author,
    --p_description => item.description  ,
    p_keywords => item.keywords ,
    p_text => html ,
    p_folderlink_id => item.folder_link_id ,
    p_folderlink_caid => item.folder_link_caid ,
    p_publish_date => item.publish_date ,
    p_expire_mode => item.expiremode,
    --p_file_filename => 'Changed!',
                        p_description=> 'changed!',
    p_addnewversion => FALSE,
    p_access_level => portal.wwsbr_api.FOLDER_ACCESS
                   -- process cache invalidation messages
              portal.wwpro_api_invalidation.execute_cache_invalidation;
              end if;
         htp.prn('<div ');
         if(styleclass is not null) then
                   htp.prn(' class="' || styleclass || '" ');
         end if;
         if(styleid is not null) then
                   htp.prn(' id="' || styleid || '" ');
         end if;
         htp.prn('>');
         htp.p(html);
         htp.p('</div>');
    END show_item_mod;
    /

    Hi,
    I've read in several places questions about rendering an Item in a custom way, without letting portal
    display the item content, if you read along I've discovered a SIMPLE WAY to force portal not to
    display the content item.
    As per bugs and requests on metalink it seemed that in many versions of Oracle Portal (mine is 9.0.4.1)
    this is impossible, since even if we remove the "Item Content" from the list of displayed attributes in the
    region, Portal does display it anyway, just after every other Attribute.
    - Re: using an item type procedure
    - Metalink BUG # 3998251 "ENH: SHOULD BE ABLE TO HIDE "ITEM CONTENT" FOR TEXT ITEMS OR NEED A NEW ITEM TYP" and is being looked into internally whether it is feasible to include this in future releases.
    - Metalink Doc ID:      Note:290534.1          Subject:      Unable to Hide the "Item Content" Attribute for a Text Item     
    Mine scenario was the usual one:
    -oracle portal 9.4.0.1
    -a custom item based on custom text (so as to have the RTE to edit HTML).
    -A few attributes that help me define the class of an enclosing DIV tag that I wanted to put (a class and an ID)
    -A plsql call associated to the custom item, with the flag "display inline" checked
    -The dirty HTML generated by the built-in Oracle RTE (with BODY and HTML tags enclosing the actual HTML)
    -The region that will contain the item is set so that just the "Function Call" is (or should be) displayed
    I wanted to control entirely the display of the item text, while enclosing it in a custom DIV tag.
    After a few tries, one of which involved forcing an HTML comment around the item content that Portal stubbornly
    displayed, I've discovered this simple way. I don't know hom much this way is portable, but is done entirely with the APIs.
    In the stored procedure that displays the item, that I encolose, i just do:
    1) retrieved the ITEM querying WWSBR_ALL_ITEMS;
    2) updated the ITEM via WWSBR_API.MODIFY_ITEM, passing as display_otpion the value WWSBR_API.FULL_SCREEN!!
    Here I try a little explanation:
    An item just created has FULLSCREEN=1 and INPLACE=0. This way the stored procedure is executed
    AND the item content is displayed.
    WIth the modify_item, the item gets FULLSCREEN=1 and INPLACE=2 !! This seems strange since the docs
    tells that inplace can be 0 or 1. But this works.
    I've played with the WWV_THINGS table directlry, and setting INPLACE to 0, 2 or 3 works as well, while
    if it is set to 1, it behave the usual way.
    The trick is to have FULLSCREEN to 1 while INPLACE is not set to 1.. and this was the easiest solution.
    I'd like to receive a feedback from Oracle regarding this behaviour.
    Bye
    Walter
    --- This is the procedure ---
    CREATE OR REPLACE PROCEDURE show_item_mod(itemid in varchar2, styleid in varchar2,
         styleclass in varchar2) IS
    html CLOB;
    idx1 number;
    idx2 number := 0;
    item portal.wwsbr_all_items%rowtype;
    BEGIN
         --retrieve item content
         select * into item from portal.wwsbr_all_items where id=itemid;
         html := item.text;
         --check if text body contains "dirty" tags as put by Oracle RTE editor
         --and strips text from <BODY> to </BODY>
         idx1 := instr(html,'<BODY>');
         if(idx1 > 0) then
                   --strip text of broken tags
                   idx2 := instr(html,'</BODY>');
                   html := substr(html,idx1+6,idx2-idx1-6);
         end if;
         --check if this is first time we enter this procedure
         --or if text has changed
         if(item.description is null or idx2 != 0) then
                   --update filename so next time we won't enter the IF branch
                   --update DIPLSAY OPTION to FUllSCREEN
                   --update text, if this was changed
                   idx1 := portal.wwsbr_api.modify_item(
                        p_master_item_id => item.masterid,
    p_item_id => itemid,
    p_caid => item.caid,
    p_folder_id => item.folder_id,
    p_display_name => item.display_name,
    p_region_id => item.folder_region_id,
    p_display_option => portal.WWSBR_API.FULL_SCREEN,
    p_category_id => item.category_id,
    p_category_caid => item.category_caid,
    p_author => item.author,
    --p_description => item.description  ,
    p_keywords => item.keywords ,
    p_text => html ,
    p_folderlink_id => item.folder_link_id ,
    p_folderlink_caid => item.folder_link_caid ,
    p_publish_date => item.publish_date ,
    p_expire_mode => item.expiremode,
    --p_file_filename => 'Changed!',
                        p_description=> 'changed!',
    p_addnewversion => FALSE,
    p_access_level => portal.wwsbr_api.FOLDER_ACCESS
                   -- process cache invalidation messages
              portal.wwpro_api_invalidation.execute_cache_invalidation;
              end if;
         htp.prn('<div ');
         if(styleclass is not null) then
                   htp.prn(' class="' || styleclass || '" ');
         end if;
         if(styleid is not null) then
                   htp.prn(' id="' || styleid || '" ');
         end if;
         htp.prn('>');
         htp.p(html);
         htp.p('</div>');
    END show_item_mod;
    /

  • Disable Delete option but enable edit option for a content item?

    Hi,
    Appreciate your input on this. The portal version being used here is 3.0.9.8.2.
    I would like to have the following privileges setup for a content folder's items.
    - one group can edit and delete items
    - one group can edit but not delete items.
    However looking at the access types available at the folder level - there are only "view only" , "edit style", "manage items", "own folder","create with approval".
    The "manage" privilege is simply a catch all privilege. User can edit, checkin/out and also delete an item.
    How do I prevent a user/group from deleting an item ? (or atleast disable the rendering of the 'X' delete icon?)
    I did experiment with the audit option by enabling version control which is somewhat helpful in that I can preserve the older versions, but like above, I cannot enforce that.
    regards
    -Ananth

    thanks for your answer Mr. Atkinson, that was excatly what I need. This is my code inside the event receiver:
    public override void ListAdded(SPListEventProperties properties)
    SPList list = properties.List;
    list.AllowDeletion = false;
    list.Update();
    but the above code dont have any effect on the list, I have still the Item with DELETE THIS LIST in the listsettings.
    do you know maybe why? or can I also debugg it?
    thanks in advance
    BR
    Ahmad
    SP 2013 & SPD 2013 & VS 2013 & MSSQL 2012

  • Rate it Link for items in a content Area

    Hi,
    How do I add a rate it link for all items in a content area and track the rating for items by all the users. This is urgent and any help is appreciated
    Thanks
    Makario

    You need to create a custom item type, with a procedure that displays a link to do the rating.
    For an example of a custom item type procedure, see Re: personal oracle 9i
    Note that the primary key for an item is (masterid, id, caid, language).

  • API for Content Repository Connector???

    Hi,
    Are public APIs provided for Content Repository Connector (for EMC Documentum)? Are there javadocs available for the same? We have installed the trial version of Livecycle ES(turnkey installation). We haven't been able to find the APIs for store and retrieve content using the content repository connector in the following link :
    http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/javadoc/index.html
    Can someone provide the pointers for the same?
    Thanks

    The APIs you use are the Repository APIs. It does not matter what the back end is - you use the same Repository APIs to write content to it.

  • API for clearing cache of page items

    Is there an API for clearing the cache of page items? I see there is a procedure called CLEAR_PAGE_CACHE in APEX_UTIL package to clear the cache of all the items on a page, but wanted the equivalent for an item. Maybe I'm making this harder than needed. No idea.
    I realize there is the option of creating a page process called "Clear Cache for Items (ITEM,ITEM,ITEM)" on a page, but I am trying to do this in an application-level process.
    Shane.

    FYI... I found that using [ apex_util.set_session_state ( 'item name', '' ); ] worked for me.

  • How to get submitted items' content during a DecisionPoint in a Subscriber ?

    Hi!
    (If this is not the right msdn forum for my question, thx in advance to redirect me to the correct one ;)
    I have to develop "server side event handlers" for TFS (kind of server-side "Check-in Policies" which may not be disabled/skipped by the developers and which do not require distribution/maintenance on thousands of workstations).
    Concretely, I am going to implement Subscribers (inheriting from Microsoft.TeamFoundation.Framework.Server.ISubscriber)
    In some of those Subscribers, I have to decide to accept or reject the "check-in" based on the submitted items' content. 
    Concretely, it will result in something like the code bellow. My current issue is that I am only able to retrieve the server name of the submitted item, not its content. Do you know if there is a shelveset available with the submitted item, streams readable
    server side, a list with the objects in the notification's argument, a "temporary" file in source control ? Or do I have to read the file in the developers' local workspace (I have indeed the workspace name and machine name) ?
    I did debug my code server side (in TFS) but didn't find anything (obvious) in  notificationEventArgs' subtree :/
    class ServerSidePolicy : ISubscriber
        public EventNotificationStatus ProcessEvent(TeamFoundationRequestContext requestContext,
                                            NotificationType notificationType,
                                            object notificationEventArgs,
                                            out int statusCode,
                                            out string statusMessage,
                                            out ExceptionPropertyCollection properties)
            EventNotificationStatus response = EventNotificationStatus.ActionApproved;
            properties = new ExceptionPropertyCollection();
            statusMessage = String.Empty;
            statusCode = 0;
            // If this is a Check-in notification
            if (notificationEventArgs is CheckinNotification)
                // If this is a Decision point
                if (notificationType == NotificationType.DecisionPoint)
                    CheckinNotification args = notificationEventArgs as CheckinNotification;
                    foreach (var submittedItem in args.SubmittedItems)
                        if (!MyValidate(submittedItem))
                            statusMessage = string.Format("{0} is not valid.", submittedItem);
                            response = EventNotificationStatus.ActionDenied;
                            properties.Set("Violated Rule", "Item's content not valid");
                            statusCode = -1;
                            break;
            return response;
        private bool MyValidate(string item)
    Really, thx a lot of any info! I didn't find anything in the msdn either :(
    PS.: Is there anyone who knows where I could find more information/documenation on the class {Microsoft.TeamFoundation.VersionControl.Server.PendingItemDbPagingManager}. This is the type of the SubmittedItems... I sounds like an object to access the
    content of those SubmittedItems... However, I did explore it without any interesting finding.

    Hello Valéry,
    Thanks for your post.
    Based on your description it seems that you would like to use TFS API to get the content of these checked in files programmatically.
    You can use the following code to get all the pending changes in your workspace:
    public
    static void GetItem()
    NetworkCredential cre =
    new NetworkCredential("userName","password","domain");
    TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://serverName:8080/tfs/CollectionName"), cre);
    VersionControlServer versionControl =(VersionControlServer)tfs.GetService(typeof(VersionControlServer));
    var workspace = vcs.GetWorkspace("WorkspaceName",
    "WorkspaceOwner");
    var changes=workspace.GetPendingChanges();
    foreach (var change
    in changes)
    var item= vcs.GetItem(change.ServerItem);
    Thanks.
    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

  • How to display the field name in the tabulated view for a content query web part

    I have added a content query web part changed the web part file to include custom columns imported and reffered itemstyle.xsl
    to include the tabulated view for the content query.
    However the way it is displayed is such that only the content is displayed.
    As i am using a tabular view wto display the data, i want to display their field names as well.

    Hi  ,
    According to your description, my understanding is that you need to display the field in the tabulated view for a content query web part.
    For your issue, please refer to the code as below:
    <xsl:template name="VendorCustomStyle" match="Row[@Style='VendorCustomStyle']" mode="itemstyle">
    <html>
    <table width="100%">
    <xsl:if test="count(preceding-sibling::*)=0">
    <tr>
    <td width="8%" valign="top"><div class="item"><b>Vendor ID</b></div></td>
    <td width="12%" valign="top"><div class="item"><b>Vendor Name</b></div></td>
    <td width="50%" valign="top"><div class="item"><b>Vendor Description</b></div></td>
    <td width="10%" valign="top"><div class="item"><b>Vendor Country</b></div></td>
    <td width="10%" valign="top"><div class="item"><b>Vendor Date</b></div></td>
    <td width="10%" valign="top"><div class="item"><b>Created By</b></div></td>
    </tr>
    </xsl:if>
    <tr>
    <td width="8%" valign="top"><div class="item"><xsl:value-of select="@VendorID" /></div></td>
    <td width="12%" valign="top"><div class="item"><xsl:value-of select="@Title" /></div></td>
    <td width="50%" valign="top"><div class="item"><xsl:value-of select="@Vendor_x005F_x0020_Description" disable-output-escaping="yes" /></div></td>
    <td width="10%" valign="top"><div class="item"><xsl:value-of select="@Vendor_x005F_x0020_Country" /></div></td>
    <td width="10%" valign="top"><div class="item"><xsl:value-of select="@Vendor_x005F_x0020_Date" /></div></td>
    <td width="10%" valign="top"><div class="item"><xsl:value-of select="@Author" /></div></td>
    </tr>
    </table>
    </html>
    </xsl:template>
    For more information, please have a look at the blog:
    http://www.codeproject.com/Articles/756834/Customizing-the-Content-Query-Web-Part-and-Item-St
    http://msdn.microsoft.com/en-us/library/ms497457.aspx
    http://clarksteveb.hubpages.com/hub/Customized-Content-Query-Web-Part-CQWP-in-SharePoint-2007-with-results-Tabbed-Grouped-and-in-an-HTML-Table
    http://blog.sharepointexperience.com/customitemstyle/
    Best Regards,
    Eric
    Eric Tao
    TechNet Community Support

  • Setting colors for item labels in JFreeChart (WaferMapRenderer)

    Hi,
    first of all, sorry for posting a JFreeChart related posting on this forum, but I didn't get a solution right now (I even didn't find anything useful on the JFreeChart website/forum). Here's my question...
    I'm trying to set the color for item labels in the legend but with no success.
    Here's a code example:
    final JFreeChart chart = ChartFactory.createWaferMapChart(
        "Wafer Map Demo",         // title
        dataset,                  // wafermapdataset
        PlotOrientation.VERTICAL, // vertical = notchdown
        true,                     // legend          
        true,                    // tooltips
        false
    WaferMapPlot plot = (WaferMapPlot) chart.getPlot();
    WaferMapRenderer renderer = new WaferMapRenderer();
    renderer.setSeriesItemLabelPaint(0, Color.red);
    renderer.setSeriesItemLabelPaint(1, Color.blue);
    plot.setRenderer(renderer);The default behavior of the WaferMapRenderer is also strange because the item label as well as the item marker is painted black so you cannot distinguish different fields of the wafer map. Is this a bug or am I doing something wrong (or missing somehting)?
    Any help would be greatly appreciated.
    Thanks and best regards,
    - Stephan

    Your folder action script doesn't work because of one simple error:
    set label index of every item of entire contents of processFolder to 7
    Nowhere in your script is 'processFolder' defined, so AppleScript has no idea what you're trying to do.
    Given that you (correctly) iterate through added_items, the correct format would be:
    on adding folder items to this_folder after receiving added_items
      repeat with item_ in added_items
        tell application "Finder"
          set label index of item_ to 7
        end tell
      end repeat
    end adding folder items to
    In other words, this changes the label index of each item just added.
    That should work provided you're dropping files into this folder. If you're dropping folders then this would set the label index of the folder itself, but not necessarily the items within that folder. For that you'd need to add a check to see if item_ was a folder and add code to handle folders.
    Also note that this kind of folder action will only work on the folder itself - that is, if you have folder A that contains subfolder B, then dropping a file into subfolder B won't trigger the script and won't change that item's label. To do that you'd have to attach your folder action to subfolder B.

  • ITunes 10.5 and IOS 5 sync hang at "Waiting for items to copy", possible fix

    After seeing many other threads, I am hesistant to start my own. However, I thought it worthwhile to share how I fixed this problem on my iPad 1.
    SYMPTOM: iTunes sync doesn't complete, with the message "Waiting for items to copy" displayed. There are no error messages, and it appears that all content is valid and synced. It is possible to cancel the sync from the iPad (Settings -> General -> iTunes Wi-Fi Sync) or by exiting iTunes.
    RESOLUTION: Select the iPad in iTunes, and in each category (Info, Apps, Music, Movies, TV Shows, Podcasts, iTunes U, Books, Photos) make one modification, just so the Apply button appears. Click Apply. The sync will restart, even if it's already stuck at "Waiting for items to copy".
    On my iPad, I noted that if I de-selected the option to sync Books, one book keep re-checking itself after I clicked Apply: The iPad User Guide for iOS 5. I had downloaded this one via the iBooks app in the iPad. I right-clicked the iPad and picked "Transfer Purchases", but it appeared to do very little.
    From the iTunes Library under Books, I deleted the local copy of the iPad User Guide for iOS 5, then synced again.
    It worked! Briefly, there were extra messages about transferring the iOS 5 user guide again, but the Books category now worked correctly.
    SO... it appears that the bug may be related to having items on the device which didn't get transferred fully during the "Transferring purchases" part of the sync.
    SUMMARY: If you purchased some items then notice that sync doesn't work right, try deleting the local iTunes copies of the recent purchases and sync again.
    Good luck!

    Hi TD,
    You solved my problem awhile ago and I didn't post a thank here.  So thank you!  I was having a problem with a PDF that kept rechecking itself.  It was not the User guide.  Anyway, I posted your solution on another discussion board and it has solved the issue for several people. Here's the link. My post is on the last page.  https://discussions.apple.com/thread/3391000

  • Goods Receipt entry for items with serial number

    Hi All,
    When I try to create a Goods receipt entry, for items with serial number, i'm always getting the following error message.
    [OSRI] , 'The selected quantity of serial/batch numbers is greater than the quantity in row Id'
    The following is the code that I'm using
    Dim oInvetoryGenEntry As SAPbobsCOM.Documents
    Dim oSerialNumber As SAPbobsCOM.SerialNumbers
    Dim ErrCode As Long
    Dim ErrMsg As String
    Dim ret As Long
    Set oInvetoryGenEntry = oCmp.GetBusinessObject(oInventoryGenEntry)
    Set oSerialNumber = oInvetoryGenEntry.Lines.SerialNumbers
    oInvetoryGenEntry.DocDate = Now
    oInvetoryGenEntry.DocRate = 1
    oInvetoryGenEntry.TaxDate = Now
    oInvetoryGenEntry.PaymentGroupCode = "3"
    oInvetoryGenEntry.Comments = "GRN Entry11"
    oInvetoryGenEntry.Lines.ItemCode = "A00004"
    oInvetoryGenEntry.Lines.Price = 100
    oInvetoryGenEntry.Lines.Quantity = 1
    oSerialNumber.SystemSerialNumber = 55555
    oSerialNumber.InternalSerialNumber = "2354"
    oSerialNumber.BatchID = "bt1"
    oSerialNumber.Add
    ret = oInvetoryGenEntry.Add
    If ret <> 0 Then
            oCmp.GetLastError ErrCode, ErrMsg
            MsgBox ErrCode & " " & ErrMsg
        Else
            MsgBox "GRN Entry made."
        End If
    It would be wonderful if anyone help me out to trace the exact reason for this issue.
    Thanks
    John

    Hi John I'm almost sure that your working with SDK 6.5 with SP1 or lower, visit this address
    https://www.sdn.sap.com/sdn/collaboration.sdn?node=linkFnode6-1&contenttype=url&content=https://DI: Add more than one serial numbers in Invoice
    Maybe you can find your answer if you can fix it let me Know my email address is [email protected] because i had the same problem.
    Regards

  • Need API for getting List price and unit price before Order entry

    Hello,
    I have requirement of provide unit & list price before order entry (Oracle Pricing and availability form provide the same).
    Please suggest any API for the same.
    Thanks
    Akil.

    Hi,
    Thanks luko,
    I got API QP_PREQ_PUB.PRICE_REQUEST, and its return output as expected,
    Just have confusion that how many qualifiers we have to send
    Here is my sample code
    OR REPLACE PROCEDURE xx_web_get_price (
    IN     NUMBER,
    IN     NUMBER,
    IN     NUMBER,
    IN     NUMBER,
    IN     VARCHAR2,
    IN     VARCHAR2,
    IN     VARCHAR2,
    IN     NUMBER,
    OUT NUMBER,
    OUT NUMBER,
    OUT VARCHAR2,
    OUT VARCHAR2)
    QP_PREQ_GRP.LINE_TBL_TYPE;
    QP_PREQ_GRP.QUAL_TBL_TYPE;
    QP_PREQ_GRP.LINE_ATTR_TBL_TYPE;
    QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
    QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE;
    QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE;
    QP_PREQ_GRP.RELATED_LINES_TBL_TYPE;
    QP_PREQ_GRP.CONTROL_RECORD_TYPE;
    QP_PREQ_GRP.LINE_TBL_TYPE;
    QP_PREQ_GRP.QUAL_TBL_TYPE;
    QP_PREQ_GRP.LINE_ATTR_TBL_TYPE;
    QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
    QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE;
    QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE;
    QP_PREQ_GRP.RELATED_LINES_TBL_TYPE;
    VARCHAR2 (240);
    VARCHAR2 (240);
    QP_PREQ_GRP.QUAL_REC_TYPE;
    QP_PREQ_GRP.LINE_ATTR_REC_TYPE;
    QP_PREQ_GRP.LINE_REC_TYPE;
    QP_PREQ_GRP.LINE_DETAIL_REC_TYPE;
    QP_PREQ_GRP.LINE_DETAIL_REC_TYPE;
    QP_PREQ_GRP.RELATED_LINES_REC_TYPE;
    QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
    QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type;
    INTEGER;
    BINARY_INTEGER;
    VARCHAR2 (240);
    VARCHAR2 (60);
    oe_debug_pub.debug_on;
    oe_debug_pub.initialize;
    := OE_DEBUG_PUB.Set_Debug_Mode ('FILE');
    oe_Debug_pub.setdebuglevel (5);
    ('File : ' || l_file_val);
    QP_Attr_Mapping_PUB.
    (p_request_type_code           => 'ONT',
    => 'L',
    => l_pricing_contexts_Tbl,
    => l_qualifier_Contexts_Tbl);
    := 1;
    ---- Control Record
    .pricing_event := 'LINE';                           -- 'LINE';
    .calculate_flag := 'Y';    --QP_PREQ_GRP.G_SEARCH_N_CALCULATE;
    .simulation_flag := 'N';
    .source_order_amount_flag := 'Y';
    .rounding_flag := 'Q';
    .manual_discount_flag := 'Y';
    .request_type_code := 'ONT';
    .TEMP_TABLE_INSERT_FLAG := 'Y';
    ---- Line Records ---------
    .request_type_code := 'ONT';
    .line_id := 2125125; -- Order Line Id. This can be any thing for this script
    .line_Index := '1';                           -- Request Line Index
    .line_type_code := 'LINE';           -- LINE or ORDER(Summary Line)
    .pricing_effective_date := SYSDATE;    -- Pricing as of what date ?
    .active_date_first := SYSDATE;  -- Can be Ordered Date or Ship Date
    .active_date_second := SYSDATE; -- Can be Ordered Date or Ship Date
    .active_date_first_type := 'NO TYPE';                   -- ORD/SHIP
    .active_date_second_type := 'NO TYPE';                  -- ORD/SHIP
    .line_quantity := 1;                            -- Ordered Quantity
    .line_uom_code := p_uom; --'Ea';                         -- Ordered UOM Code
    .currency_code := p_currency_code; -- 'USD';                           -- Currency Code
    .price_flag := 'Y'; -- Price Flag can have 'Y' , 'N'(No pricing) , 'P'(Phase)
    (1) := line_rec;
    ------ Line Attribute Record
    .LINE_INDEX := 1;
    .PRICING_CONTEXT := 'ITEM';                               
    .PRICING_ATTRIBUTE := 'PRICING_ATTRIBUTE3';
    .PRICING_ATTR_VALUE_FROM := 'ALL';
    .VALIDATED_FLAG := 'N';
    (1) := line_attr_rec;
    .LINE_INDEX := 1;
    .PRICING_CONTEXT := 'ITEM';                                 --
    .PRICING_ATTRIBUTE := 'PRICING_ATTRIBUTE1';
    .PRICING_ATTR_VALUE_FROM := p_item_id;
    .VALIDATED_FLAG := 'N';
    (2) := line_attr_rec;
    .LINE_INDEX := 1;
    .PRICING_CONTEXT := 'ITEM';                              
    .PRICING_ATTRIBUTE := 'PRICING_ATTRIBUTE2';
    .PRICING_ATTR_VALUE_FROM := p_category_id;
    .VALIDATED_FLAG := 'N';
    (3) := line_attr_rec;
    ------ Qualifier Attribute Record
    .LINE_INDEX := 1; -- Attributes for the above line. Attributes are attached with the line index
    .QUALIFIER_CONTEXT := 'MODLIST';
    .QUALIFIER_ATTRIBUTE := 'QUALIFIER_ATTRIBUTE4';
    .QUALIFIER_ATTR_VALUE_FROM := p_price_list_id;
    .COMPARISON_OPERATOR_CODE := '=';
    .VALIDATED_FLAG := 'Y';
    (1) := qual_rec;
    .LINE_INDEX := 1;
    .QUALIFIER_CONTEXT := 'CUSTOMER';
    .QUALIFIER_ATTRIBUTE := 'QUALIFIER_ATTRIBUTE2';
    .QUALIFIER_ATTR_VALUE_FROM := p_customer_account_id;
    .COMPARISON_OPERATOR_CODE := '=';
    .VALIDATED_FLAG := 'Y';
    (2) := qual_rec;
    .LINE_INDEX := 1;
    .QUALIFIER_CONTEXT := 'CUSTOMER';
    .QUALIFIER_ATTRIBUTE := 'QUALIFIER_ATTRIBUTE40';
    .QUALIFIER_ATTR_VALUE_FROM := p_customer_category; --'INDUSTRIAL';  
    .COMPARISON_OPERATOR_CODE := '=';
    .VALIDATED_FLAG := 'Y';
    (3) := qual_rec;
    QP_PREQ_PUB.PRICE_REQUEST (p_line_tbl,
    -- Return Status Information ..
    := x_return_status_text;
    := x_return_status;
    := x_line_tbl.FIRST;
    IF I IS NOT NULL
    THEN
    := x_line_tbl (I).unit_price;
    := x_line_tbl (I).adjusted_unit_price;
    END IF;
    xx_web_get_price;                                     
    Regards,
    akil.

Maybe you are looking for