Using ChaRM to register objects in Marketplace

Hello,
We want to control what changes are done to SAP standard workbench objects, using ChaRM, so that for example every time a program needs to be registered to make customer modifications in the marketplace we can do it using a ticket from ChaRM.  Then we can have an approval process and a total traceability.
Is that possible?  Is there any alternative way to have that controlled in Solution Manager?
I appreciate your comments.
Regards
Esteban

Hi Prakhar,
Thanks for your answer.  However the issue is a bit different.  Customer found that they want to make a modification in a standard code because of business needs.  So, they need to access to the marketplace to register that object.  No incident was created in Service Desk, no notes from SAP.  We want to have a Change Request and a Change Document to control the modifications and registration of this object.  However I did not found any action in ChaRM Change Document that allows me to access marketplace and  keep track of this registration in the change document.
Do you have any idea?
Many thanks
Esteban

Similar Messages

  • Using Charm at cutover to handle deleted objects

    Hello experts,
    System landscape contains of dual landscap meaning one project ladnscape and one maintenance landscape.
    Project: D01>T01>Q01     ( no charm )
    Maint: DEV>QAS>PRD      ( charm is used )
    At project Go Live cutover is done från Project line Q01 to Maint DEV.
    All transports imported in Q01 is added manually to import queue of Maint DEV and imported.
    After that 1 WB request and 1 Cust. request is created via charm and all objects from the
    cutover transports imported are added to those chamr transports. Then charm handles the
    transport process through the maint landscape up to production.
    Problem
    =======
    If cutover transports contains deletion of objects, the transports are imported to DEV maint, object is deleted.
    When including all objects from cutover transports into the two charm transports it will then ofcourse fail during
    releae of the transports on the deleted objects as they no longer exist in DEV maint. This is of course not a specific
    charm problem but a TMS problem. Or not even a problem it is as it should be.
    Question
    ========
    Is there any way of handling this scenario, can charm in any way handle this ?
    Thanks,

    I checked the link you provided and that descibes as you say a dual landscape but i don't think it will solve this problem.
    As i understand you setup the retrofit process one-way and that would be Maint DEV -->  Project DEV.
    That is all fine keeping all changes done in maintenance landscape in synk with project landscape.
    But the cutover process is manual, as also the drawing states, meaning adding project landscape transports
    to Maint DEV system import queue and import them. But if a transport contains objects with the delete flag it will be
    deleted in the Maint DEV system. All fine that far. But when you then inlcude all cutover transports objects into a charm transport it will not check if object still exist in Maint DEV system ( wich it does not anymore ), it will include evertyhing that is part of the cutover transports. Meaning you include objects with delete flag on it. When you release this now in Maint DEV system what it does is to check if object exist in TADIR, it does not. You can fool this release process by manually create an entry in TADIR, release the transport, then delete the entry in TADIR. But if you have cutover transports with many deletions, then this is not the way to go.
    So please explain how the retrofit procedure would help in the scenarion at cutover and delete flag.
    Thanks.

  • Anybody use Transport Copies using CHaRM

    Hi
    Did anybody use transport copies options in CHaRM? When I use it's displaying only the transport created using CHaRM. But I need the transport created outside CHaRM?
    By the time configured CHaRM, developer already working on the development system and created quite bit of Transport requests. Now wants to include all those transport request into CHaRM created transport request.
    Looking for 2 options.
    1) Register Transport Requests
    2) Transport Copies
    Tried both are not working. If any otherway please suggest.
    Thanks
    Ava

    Hi,
    The option 'Register Transport Requests' will only link the outside transports to the maintenance cycle. You can't work on these transports through a Correction Document (such as Normal Correction ).
    In case you have already created transports outside of chaRM and these transports are not yet released you can do the following:
    1. Create a Change Request and Correction Document
    2. Create a transport request from this correction document
    3. In the development system to go to se09 and use the option 'Merge Requests' (and not include objects). This will delete the previous request and move all your objects to the request created through chaRM (and you will not run into any lock issues).
    4. For the transports which are released you can use the 'Include Objects' option.
    The transport of Copies functionality when used from within ChaRM will create a copy of your original transport and move it to the QAS system. It will not load the production buffer. In case you find any issues while testing in QAS, you can still go back in DEV and add changes to te original transport request. This way all your work gets added to the same TR and you can keep doing transport of copies for testing in QAS. Once your are ready you can release your original TR.
    Thanks,
    Kriti Bhalla.

  • Why and how to use events in abap objects

    Dear all,
      Please explain me why and how to use events in abap objects with real time example
    regards
    pankaj giri

    Hi Pankaj,
    I will try to explain why to use events... How to use is a different topic.. which others have already answered...
    This is same from your prev. post...
    Events :
    Technically speaking :
    " Events are notifications an object receives from, or transmits to, other objects or applications. Events allow objects to perform actions whenever a specific occurrence takes place. Microsoft Windows is an event-driven operating system, events can come from other objects, applications, or user input such as mouse clicks or key presses. "
    Lets say you have an ALV - An editable one ...
    Lats say - Once you press some button  you want some kind of validation to be done.
    How to do this ?
    Raise an Event - Which is handled by a method and write the validation code.
    Now you might argue, that I can do it in this way : Capture the function code - and call the validate method.
    Yes, in this case it can be done.. But lets say .. you change a field in the ALV and you want the validation to be done as soon as he is done with typing.
    Where is the function code here ? No function code... But there is an event here - The data changed event.
    So you can raise a data changed event that can be handled and will do the validation.
    It is not user friendly that you ask the user to press a button (to get the function code) for validation each time he enters a data.
    The events can be raised by a system, or by a program also. So in this case the data changed event is raised by a system that you can handle.
    Also, Lets say on a particular action you want some code to trigger. (You can take the same example of validation code). In this case the code to trigger is in a separate class. The object of which is not available here at this moment. (This case happens very frequently).
    Advantage with events : Event handlers can be in a separate class also.
    e.g : In the middle of some business logic .. you encounter a error. You want to send this information to the UI (to user - in form of a pop up) and then continue with some processing.
    In many cases - A direct method call to trigger the pop up is not done. Because (in ideal cases) the engine must not interact with UI directly - Because the UI could be some other application - like a windows UI but the error comes from some SAP program.
    So - A event is raised from the engine that is handled in the UI and a pop up is triggered.
    Here -- I would have different classes (lets say for different Operating Systems). And all these classes must register to the event ERROR raised in application.
    And these different classes for different Operation systems will have different code to raise a pop-up.
    Now you can imagine : If you coded a pop-up for Windows (in your application logic) .. it will not work for Mac or Linux. But of you raise a event.. that is handled separately by a different UI classes for Win, Linux or Mac  they will catch this event and process accordingly.
    May be I complicated this explanation .... but I couldn't think of a simpler and concrete example.
    Cheers.
    Varun.

  • External transaction control and ability to find new registered objects

    Hello, We are using Toplink with external transaction control and have a process inserting a complex hierarchy of objects. During the process we either do a registerObject or deepmergeClone depending on if the instance is already in the db. With external transaction control the registerObject does not actually do the commit to db until the global transaction (Container) issues the commit. Unfortunately we end up doing creating multiple instances of same objects ( because the assumption that registerObject would have written the row to the db ) with the same keys and when the container issues the commit we end up with duplicate key violation. Is there a way to find out if an object with a particular key is already registered?

    This sounds like the kind of question that can only be answered with a whiteboard and a good review of your architecture.
    In general, there should be no problem registering objects multiple times. I.e.,
    x = some object
    x1 = uow.registerObject(x);
    Then x1==uow.registerObject(x), and x1==uow.registerObject(x1), etc. When you register an object with the UOW, based on PK it'll always return that same one.
    Do you have multiple units of work on the go? (that may explain this behavior).
    In any case, I think the real problem here is that you're somehow registering objects that are no longer cached. I.e., some object is serialized or rebuilt and then registered after it's gone from the cache. By default, TopLink determines if an object is new or existing (to determine INSERT vs UPDATE) by hitting the cache. You can change this default behavior in the Mapping Workbench, open the advanced property for "Identity" and change existence checking to "check database". Although, this can be a slow and tedious process to have to keep hitting the DB.
    A little trick I use sometimes is to take advantage of the "readObject" API that will read the object from the databaes if it's not already in cache, and just return it from cache if it is in cache. Check out the UOW primer at http://otn.oracle.com/products/ias/toplink/index.html for more info, but the jist is that I would do this if I were you:
    x = some object that you're not sure is cached and you want to register in UOW;
    x' = uow.readObject(x);
    IF the object was in cache, you'd get back a working copy, nice and fast. IF it's not in cache, you hit the database, it goes in cache, and you get your working copy. Now you don't have to change the existence checking option which could slow everything down.
    - Don

  • Registering a child of registered object goes into endless recursion

    Hi
    Looks like we have found another bug in toplink.
    test scenario: object A have a indirection relation 1:1 with object B
    Lets register object A. Everything works fine. Lets register that cloneA1 again. It is fine again ( registration returns same object).
    Now lets ask cloneA1 for related object B : cloneA1.getB(). Works fine. And we know that it retirn registeres object cloneB1. Now - lets imagine that developer made a mistake (usual thing is this unperfect world) and trying to register cloneB1 again. Instead of silently returning same object instance cloneB1, toplink in going into some endless recursion which ends up with StackOverflowError:
    Received execption: java.lang.reflect.InvocationTargetException
    java.lang.reflect.InvocationTargetException: java.lang.StackOverflowError
    at oracle.toplink.publicinterface.Session.getDescriptor(Unknown Source)
    at oracle.toplink.publicinterface.Session.getDescriptor(Unknown Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown
    Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.extractPrimaryKeyFromObject(Unknown

    The mapping of A and B is as follows:
    Both A and B are interfaces of concrete classes
    mapped with Interface Alias:
    Aimpl implements A
    Bimpl implements B
    The attribute mappings are:
    Bimpl.as is a OneToMany collection of A (bidirectional to Aimpl.b)
    and using Transparent Indirection with IndirectList
    Aimpl.b is the OneToOne "owner" B (bidirectional to Bimpl.as)
    Aimpl.b OneToOneMapping to switched to ProxyIndirection
    upon startup.
    Application code works exclusively with A and B and gets
    concrete instances from a factory.
    There's much more to the mapping, but that seems to be all
    the bits related to this problem.
    Thanks and best regards,
    John

  • Registered objects with Unit of work

    Hi,
    I am using the following code for persisting some data to the database. I register the following objects with the UOW obtained. If there is any exception with the business rules method(shown below) , the code uow.commit() is never invoked.
    My question here is what happens the registered objects in that uow if commit is never invoked.
    Any help will be appreciated.
    Thanks
    Priya
    node=(DeviceNode) uow.registerObject(node);
    station=(Station)uow.registerObject(station);
    user=(User)uow.registerObject(user);
    //Call a method to do some businees rules check
    startWork(node,station,user);
    uow.commit;

    It depends on how you set things up. If you are managing the connection directly via Toplink (no pooling or containers or transactions), then if you dont commit, it doesnt save. If you are using JTS, registering the object will save it to the database barring any unchecked exceptions.
    Zev.

  • Stumped with registering objects

    I have tried mightily, but am not getting behaviour I desire.
    I would like to eventually move to using DTO's to move data in and out of my session tier, but for the short term, I am trying to get the 'quick and dirty' approach to work.
    For instance,
    I query say 40 objects. I store a list of them in session scope in the servlet container. The gui then will allow a user to make some changes to one of these objects, and then resubmit it to the session tier to be saved.
    The problem seems to be I am not starting a unit of work before the changes start, and making the changes to clones. The servlet code does not know about toplink, it just reads a list of objects, picks an arbitrary one to edit, and then resubmits it.
    I was using deepMergeClone on the object to be saved to allow toplink to get a list of differences, and this seemed to work for most scenarios, but not all. I have heard that the merge api is more for objects which have been disconnected from the session.
    I have attached the methods i have written for load/save. Any feedback would be very much appreciated...espicially if it explains that this interm method will work, acknowledging I will implement a better facade pattern with DTO's in the future. (I really need demo quality soon)
    Here is the load method:
    public static Collection returnQueryResult(String queryBarId) {
              UnitOfWork uow= getSession().acquireUnitOfWork();
              Vector facilities= null;
              try {
                   Vector results=
                        (Vector) getSession().readAllObjects(
                             QueryBarResult.class,
                             new ExpressionBuilder().get("id").equal(queryBarId));
                   facilities= new Vector(results.size());
                   Iterator iter= results.iterator();
                   IdentifiableObject theFacility;
                   while (iter.hasNext()) {
                        theFacility= ((QueryBarResult) iter.next()).getQueriedObject();
                        facilities.add(uow.registerExistingObject(theFacility));
                   } catch (Throwable th) {
                   th.printStackTrace();
              return facilities;
    Here is the save:
         public static Object save(IdentifiableValue obj, String sessionName) {
              try {
                   UnitOfWork uow= getSession(sessionName).acquireUnitOfWork();
                   uow.registerObject(obj);
                   uow.deepMergeClone(obj);
                   uow.commit();               
              } catch (DatabaseException e) {
                   e.printStackTrace();
              return getSession(sessionName).readObject(obj);

    Craig,
    Sorry to hear you are having such difficulty getting your demo going. Have you looked at the session-bean and jsp-Servlet demos that are shipped with TopLink. They may help you get something running quickly.
    I would like to clarify some issues that you have raised.
    1. The instances in the shared cache, those returned from a query against a client session, are in fact the original objects. You need to be careful not to modify these outside the context of a UnitOfWork/TX.
    2. The use of the merge API is typically used when the objects are detached from the session through serialization. This means that you architecture has a serialized link between the web tier and the server tier. This is more often accomplished by wrapping your server logic with a session beans. You will also need to ensure that if the web tier and server/ejb tier are in the same JVM that the app server is not passing the object by reference instead of by value.
    3. If the objects you are changing in the web-tier are not separated by a serialized link such as a session-bean then you must register the objects prior to making any changes to them.
    The code you have shown seems to assume that the web application will be in the same JVM and not have a serialized link between it and the persistence layer. Then to ensure you have a copy of the object you use one UnitOfWork to copy the objects and another to persist the changes. If you were willing to have a slightly more stateful system you could just maintain the UnitOfWork and avoid having to register or merge on the save, just call UnitOfWork.commit().
    To address your specific code without writing a complete novel I would suggest the following:
    Here is the load method:
    public static Collection returnQueryResult(String queryBarId) {
    UnitOfWork uow= getSession().acquireUnitOfWork();
    Vector facilities= null;
    try {
    // Note: reading through the UOW will register results
    Vector facilities = (Vector) uow.readAllObjects(QueryBarResult.class, new ExpressionBuilder().get("id").equal(queryBarId));
    uow.release(); // not going to need it any more
    } catch (Throwable th) {
    th.printStackTrace();
    return facilities;
    Here is the save:
    public static Object save(IdentifiableValue obj, String sessionName) {
    try {
    UnitOfWork uow= getSession(sessionName).acquireUnitOfWork();
    uow.readObject(obj); //ensure its cached and registered
    uow.deepMergeClone(obj);
    uow.commit();
    } catch (DatabaseException e) {
    e.printStackTrace();
    return getSession(sessionName).readObject(obj);
    Although this should work for all cases there will be issues if you attempt to instantiate any indirect relationships on the copies returned from the query method. These objects have been copied through a now inactive UOW. If you require lazy loading after the query I would recommend using a more stateful solution an maintaining the UOW.
    I hope this helps you get your demo going quickly. Please let me know if you run into any further complications.
    Doug

  • Remote register object

    The UnicastRemoteObject can register OBJECT by the export method. Is it feasible to register the object remotely to a seperate machine?
    e.g.
    Machine A register object A at Machine B
    Machine C invoke RMI on Machine B and use object A
    If it works, i can eliminate the RMI from Machine B to Machine A.
    Otherwise, i need to invoke twice of RMI, C --> B then B --> A since we don't want to run C-->A directly.

    The UnicastRemoteObject can register OBJECT by the
    export method.No it can't. What it does is to export it from the current machine.
    Is it feasible to register the object
    remotely to a seperate machine?The question makes no sense as stated given the terminology error.
    Machine A register object A at Machine B
    Machine C invoke RMI on Machine B and use object ATo put it correctly, once a remote JVM B has acquired a remote reference to a remote object exported from A, it can pass it to another JVM in the same or another host, say C, and JVM C will then communiate directly with the original host from which A was exported when calling methods on A, without involving B in the exchange.

  • When I try to open an embedded PDF file I get an error "The program used to create this object is AcroExch.exe.

    When I try to open an embedded PDF file (Word doc) I get an error "The program used to create this object is AcroExch.exe. That program is either not installed on your computer, or is corrupt..."  I've tried  about everything from unchecking
    protected mode at startup to removing & reinstalling Adobe.  Nothing seems to fix this issue.  Any other ideas?
    This is happening on Adobe reader 9, 10 & 11 with MS Word 2010 & 2013.  I've uninstalled, cleaned & reinstalled Reader 9, 10 & 11, as well as Acrobat 10 Pro & 11 Standard.  Removed "Protected mode at startup, and changed
    the default program for viewing from reader to Acrobat.  This will not go away.  It is affecting production at our company.

    " Help > Troubleshooting Information > Profile Directory: Open Containing Folder" . i can't find open containing folder in profile directory. it does give me the option to open the places.sqlite file using graphic converter. when i try that, graphic converter gives me a window saying that it can't be opened because it is corrupted or is not a file type supported by graphic converter.
    i appreciate your help with a workaround to get the old bookmarks. that works. however, the problem has morphed from that concern to why adobe reader [the default app.] won't open firefox .sqlite files. is the problem in adobe reader or firefox? also, how can i tell if the places.sqlite file is corrupt?
    i'm getting in over my head here and do appreciate your help.

  • How to use two activex class objects in same vi

    HI
    I am using labview to read ECU data from INCA software .INCA providing COMTOOL API(incacom.dll). I am using ACTIVEX for  communication between INCA & Labview. My problem is If I have used single activex class object  I am able to read Inca version, getting the database path etc. If I have used two activex class in same vi (one to open Inca & other one is to read the folder structure) I am not getting output.I have attached snapshot for referance
    Attachments:
    activex1.JPG ‏114 KB
    activex2.JPG ‏107 KB

    It wasnt in the first two images you posted, or I couldnt see it anyway! That was the only reason.
    Did you try the database block on its own, just to confirm that it is working?
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • How can I use methods of an object with private instantiation in my ABAP?

    Hello all,
    What is the work-around on using methods of an object marked as private instantiation? I tried to use concepts of <b>INHERITANCE</b> or <b>FRIENDS</b> of an object (<u>BCONTACT </u> in my case - a SAP standard object) but it did not work, or at least, I do not know how to properly code the statements in my ABAP program.
    Any code samples, other ideas?
    Your help is greatly appreciated.

    I am closing this question as there has been no answer.
    Message was edited by:
            Goharjou ardavan

  • Can two frames use the same SessionInfo object?

    Hi,
    I have some questions on using InfoBus Frame.
    Do parent frame and child frame HAVE TO make use the same
    SessionInfo object?
    I tried to show Master table and Detailed table in seperate
    frame without login twice. I am lucky it works since I happened
    to make two frames have the same SessionInfo object which is
    sessionInfo1 and conmment out sessionInfo1.publishSession()in
    Detailed frame.
    But when I tried to pass Master frame SessionInfo object to
    Detailed frame there is nothing showing up in the detailed frame
    it is just blank frame.
    So two frames have to use the same SessionInfo object . Dose it
    make sense?
    I would really appreciate anyone who can enlighten me on this
    subject.
    Thanks you so much for the attention.
    Julie Chi
    null

    Gopal (guest) wrote:
    : HI,
    : Julie Chi (guest) wrote:
    : : So two frames have to use the same SessionInfo object . Dose
    it
    : : make sense?
    : Yes, if you are working with a master details relation, data
    for
    : both need to be fetched from the same oracle session. So both
    ur
    : frames need to refer the same session. If u refer the detail
    : frame to a different session, u will not see any data, because
    : the information comes from a different oracle session which is
    : not aware of the master data that is fetched. I think it is
    : clear.
    : regards,
    : --Gopal
    1.Use wizard and test the frame
    2.pass the sessioninfo object in parent to child(put method in
    child, call from parent e.g ..getsessionInfo(SessionInfo ss)
    3.pass the sessioninfo object to rowsetinfo in child
    4.add Database authentication (username/password is sufficient)
    methods right before publish method
    *publish activates RowSetInfo and connects to db
    5.add methods in parent to call child
    That should work though depending on how you have set up your
    wizard generated java form, might tweak
    Thanks
    iggy de iguana
    null

  • Paging issues using a dynamic view object...

    I am working on an application that uses JAG to generate JSP pages, i had the requirement to use dynamic view objects where the view object query is generated at runtime. The rest of the application is more or less the same... I used the defult functionality provided by TableScrollButtons.jsp file for paging. Now the problem im facing is that while the '>' and '<' buttons are working fine, i cant seem to navigate to the pages using the drop down...
    With the default handler, whenever i select the range the range displayed remains the same ie 1-10, 10 being the rangesize, but the rows are refreshed with values from the next page. Also, if the next page is the last and is incomplete, then the rows are pushed in from the bottom, so that the last page is always full...I tried the tuning panel in the view object edit dialogue and all settings are fine (i think)...could anyone please tell me what i am doing wrong??

    could it be because i am using a dynamic view object with dynamic bindings? i am using the preparemodel() method in the action as follows...
    protected void prepareModel(DataActionContext ctx) throws Exception {
    inferRangeBindingIfUnset(ctx);
    ctx.getBindingContainer().setEnableTokenValidation(false);
    String sql = ctx.getHttpServletRequest().getParameter("sql");
    String cost=ctx.getHttpServletRequest().getParameter("CostCostCent");
    String event=ctx.getHttpServletRequest().getParameter("event");
    if (sql != null && event == null) {
    setupDynamicQueryAndDynamicBindings(ctx,sql.substring(1),cost);
    if (retrieveOnlyCurrentPageFromDatabase()) {
    ViewObject vo = getIterForPaging(ctx).getViewObject();
    if (vo.getAccessMode() != ViewObject.RANGE_PAGING) {
    vo.setAccessMode(ViewObject.RANGE_PAGING);
    // if(event==null)
    super.prepareModel(ctx);
    ctx.getBindingContainer().setEnableTokenValidation(true);
    if (ctx.getEvents() == null || ctx.getEvents().size() ==0) {
    setPage(ctx,1);
    setLastPage(ctx,getIterForPaging(ctx).getRowSetIterator().getEstimatedRangePageCount());
    else if(event.equals("setRangeStart")) {
    setPageFromRequest(ctx);
    }

  • How to create a Document Set in SharePoint 2013 using JavaScript Client Side Object Model (JSOM)?

    Hi,
    The requirement is to create ""Document Sets in Bulk" using JSOM. I am using the following posts:-
    http://blogs.msdn.com/b/mittals/archive/2013/04/03/how-to-create-a-document-set-in-sharepoint-2013-using-javascript-client-side-object-model-jsom.aspx
    http://social.msdn.microsoft.com/Forums/sharepoint/en-US/1904cddb-850c-4425-8205-998bfaad07d7/create-document-set-using-ecma-script
    But, when I am executing the code, I am getting error "Cannot read property 'DocumentSet' of undefined "..Please find
    below my code. I am using Content editor web part and attached my JS file with that :-
    <div>
    <label>Enter the DocumentSet Name <input type="text" id="txtGetDocumentSetName" name="DocumentSetname"/> </label> </br>
    <input type="button" id="btncreate" name="bcreateDocumentSet" value="Create Document Set" onclick="javascript:CreateDocumentSet()"/>
    </div>
    <script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"> </script>
    <script type="text/javascript">
       SP.SOD.executeFunc('sp.js','SP.ClientContext','SP.DocumentSet','SP.DocumentManagement.js',CreateDocumentSet);
    // This function is called on click of the “Create Document Set” button. 
    var ctx;
    var parentFolder;
    var newDocSetName;
    var docsetContentType;
    function CreateDocumentSet() {
        alert("In ClientContext");
        var ctx = SP.ClientContext.get_current(); 
        newDocSetName = $('#txtGetDocumentSetName').val(); 
        var docSetContentTypeID = "0x0120D520";
        alert("docSetContentTypeID:=" + docSetContentTypeID);
        var web = ctx.get_web(); 
        var list = web.get_lists().getByTitle('Current Documents'); 
        ctx.load(list);
        alert("List Loaded !!");
        parentFolder = list.get_rootFolder(); 
        ctx.load(parentFolder);
        docsetContentType = web.get_contentTypes().getById(docSetContentTypeID); 
        ctx.load(docsetContentType);
        alert("docsetContentType Loaded !!");
        ctx.executeQueryAsync(onRequestSuccess, onRequestFail);
    function onRequestSuccess() {       
        alert("In Success");
        SP.DocumentSet.DocumentSet.create(ctx, parentFolder, newDocSetName, docsetContentType.get_id());
        alert('Document Set creation successful');
    // This function runs if the executeQueryAsync call fails.
    function onRequestFail(sender, args) {
        alert("Document Set creation failed" + + args.get_message());
    Please help !!
    Vipul Jain

    Hello,
    I have already tried your solution, however in that case I get the error - "UncaughtSys.ArgumentNullException: Sys.ArgumentNullException:
    Value cannot be null.Parameter name: context"...
    Also, I tried removing SP.SOD.executeFunc
    from my code, but no success :(
    Kindly suggest !!!
    Vipul Jain

Maybe you are looking for

  • 10g installation on  linux 4 failed

    I trying to install oracle software on linux 4 but installation has been failed please find the below steps [oracle@sos02 database]$ ./runInstaller -silent -responseFile /u01/g/Ora_grid10g/DB_SOFT/database/response/standard.rsp Starting Oracle Univer

  • Bluetooth adaptor?

    I just bought a mac mini and now I am looking at bluetooth mouse and keyboard on ebay. Because the mini has built in bluetooth, does that mean that I do not need to buy the bluetooth adaptor? And all I will need is the bluetooth mouse and keyboard?

  • Best way for mass upload of CK74N additive costs

    Was wondering if anyone can share their experience with mass loading additive costs using CK74N. Is it easier to create a winshuttle script for this or is it easier to write a BDC?

  • BOM DTW: No field to upload the receiving warehouse in BOM

    Hi, Can we consider in future release the receiving warehouse (header data) during uploading of BOM thru DTW? This is very tedious on the partners/ customer to change the receiving warehouses after the BOM has been uploaded. Thanks.

  • Get out of Guest User

    Somehow my Mac Air is in Guest User login and I can shut the computer down or cancel guest user. When the notebook boots up I am back to guest user with the spinner.