Toolkit Development Process - and API maintenance

I'm interested in understanding how Sun and other 'toolkit' providers manage their software development cycles to maintain public APIs from release to release.
I am currently part of a large software project which plans to deploy a large existing codebase as a toolkit for others to develop on top of. I'm concerned about our ability to manage changes to our public APIs once we provide our toolkit to external developers. Once they start extending our classes and interfacing with our APIs, we have to be very careful about what we change - and ideally we should have some way to 'deprecate' things.
How does a company like Sun manage this for the JDK? Or how do other companies that do similar things work through this? Anyone know of any good reference material (books / online / etc.)?
Thanks,
Aaron Schmidt

None of this is official as far as I know, but Sun appear to follow a few very simple rules:
Proper use of namespaces - if you write code that relies on com.sun.* packages then that's your problem. Code which relies on java.* or javax.* and the rest of the public APIs will generally work from release to release.
Addition of new functionality is favoured over changes to, or deletion of, old functionality. For example, the nio classes did not result in the removal of the existing io classes.
Deprecated methods and classes are marked as such, but not removed for several release cycles.
I don't see why you would need to do anything more complex than follow these quite simple rules. Obviously you would need a suitable unit test suite to ensure that your API is consistent from release to release, but you should be doing that anyway.
Dave.

Similar Messages

  • Developer Report and APIs

    Can any body help me with the following:
    We have created a Developer report and it is linked to Portal. We can run the report by specifying a parameter and it works OK. What we want to achieve is to use the API option to get the user id to drive the report.
    The question is: can this be done and if so how is it specified.
    Thanks
    Keith

    Hello dear all
    I am using Developer 6i and Oracle 11g all is
    happy.But some users have problems
    That alone mean's that all is NOT happy :-)
    Forms 6i is not certified with database 11g nor supported, even if you get it connected, no one guarantees it will work properly. and your problem is a simple example.
    Best thing to do is to upgrade your Forms Application, or use Oracle 10g with Forms 6i R2 patch 18, this is a certified combination.
    Tony

  • Regardng AP Invoice Payments converion process and APIs to be usd

    Dear All,
    As we all know Oracle has not provided any Public API to load or convert Invoice Payments data.
    I found that many people have used the followg internal APIs for loading the Invoice Payments data.
    1.AP_CHECKS_PKG.INSERT_ROW
    2.AP_PAY_INVOICE_PKG.AP_PAY_INVOICE
    3.AP_ACCOUNTING_EVENTS_PKG.CREATE_EVENTS  ( Event type will be ‘PAYMNENT’ )
    These APIs should be executed in the same sequence as mentoned above.
    Can anyone please confirm , if my understanding is correct ?
    Thanks,
    Neeraj Shrivastaa.

    Hi ,,,
    I too have to create Invoice payment conversion .
    Can you please help me in this and share your experiences.

  • Available APIs for process and package management

    Hello All and welcome to my Hello All:
    Welcome to my inaugural post. I am a complete noob to Solaris (although I have been using Linux for 5+ years) and am in the process of trying to get a handle on what local C/C++ APIs (if any) are available for management. Specifically, I am looking to find out about process and package management.
    For process management, basically I would like to know is there some kind of interface to the the prstat application (ie. Memory and CPU utilization). Does something like this exist?
    For package management, I am looking for the ability to add, remove, and query the package �database�. Correct me if I am wrong, but the Solaris package �database� seems similar to that of a Debian system (at least from the perspective that the informational files are stored as plain text in a well-defined directory [ie /var/sadm/pkg/]).
    I have installed Solaris 10 on an x86 machine with a full installation; however, of the installed development kits (listed below) nothing jumped out at me.
    -bash-3.00# ls -1d /var/sadm/pkg/*devel
    /var/sadm/pkg/SUNWaspell-devel
    /var/sadm/pkg/SUNWevolution-devel
    /var/sadm/pkg/SUNWevolution-libs-devel
    /var/sadm/pkg/SUNWgnome-a11y-base-devel
    /var/sadm/pkg/SUNWgnome-a11y-libs-devel
    /var/sadm/pkg/SUNWgnome-a11y-reader-devel
    /var/sadm/pkg/SUNWgnome-a11y-speech-devel
    /var/sadm/pkg/SUNWgnome-audio-devel
    /var/sadm/pkg/SUNWgnome-base-libs-devel
    /var/sadm/pkg/SUNWgnome-camera-devel
    /var/sadm/pkg/SUNWgnome-common-devel
    /var/sadm/pkg/SUNWgnome-component-devel
    /var/sadm/pkg/SUNWgnome-config-devel
    /var/sadm/pkg/SUNWgnome-desktop-prefs-devel
    /var/sadm/pkg/SUNWgnome-file-mgr-devel
    /var/sadm/pkg/SUNWgnome-hex-editor-devel
    /var/sadm/pkg/SUNWgnome-img-editor-devel
    /var/sadm/pkg/SUNWgnome-libs-devel
    /var/sadm/pkg/SUNWgnome-media-devel
    /var/sadm/pkg/SUNWgnome-panel-devel
    /var/sadm/pkg/SUNWgnome-pilot-devel
    /var/sadm/pkg/SUNWgnome-print-devel
    /var/sadm/pkg/SUNWgnome-project-devel
    /var/sadm/pkg/SUNWgnome-terminal-devel
    /var/sadm/pkg/SUNWgnome-text-editor-devel
    /var/sadm/pkg/SUNWgnome-vfs-devel
    /var/sadm/pkg/SUNWgnome-wm-devel
    /var/sadm/pkg/SUNWgnutls-devel
    /var/sadm/pkg/SUNWjpg-devel
    /var/sadm/pkg/SUNWlibexif-devel
    /var/sadm/pkg/SUNWlibgcrypt-devel
    /var/sadm/pkg/SUNWlibpopt-devel
    /var/sadm/pkg/SUNWmozilla-devel
    /var/sadm/pkg/SUNWmoznspr-devel
    /var/sadm/pkg/SUNWmoznss-devel
    /var/sadm/pkg/SUNWogg-vorbis-devel
    /var/sadm/pkg/SUNWopenjade-devel
    /var/sadm/pkg/SUNWopensp-devel
    /var/sadm/pkg/SUNWpcsclite-devel
    /var/sadm/pkg/SUNWpng-devel
    /var/sadm/pkg/SUNWpostgr-devel
    /var/sadm/pkg/SUNWPython-devel
    /var/sadm/pkg/SUNWTiff-devel
    I've placed orders for Solaris Internals and Solaris Performance & Tuning (that should arrive tomorrow), but I was hoping that someone could give me a gentle push (or perhaps a swift kick) in a general direction. :)
    Thanks.

    For process management, basically I would like to
    know is there some kind of interface to the the
    prstat application (ie. Memory and CPU utilization).
    Does something like this exist?Not prstat (although you could 'truss' it and see some of what it's doing to collect the information). kstat is available with a C interface and through perl/shell. It has several CPU fields. It's certainly useful for monitoring, but read-only. I'm not sure what you're looking for in terms of "management".
    Also 'dtrace' can provide tons of dynamic information, but that's not necessarily what you're looking for.
    For package management, I am looking for the ability
    to add, remove, and query the package �database�.
    Correct me if I am wrong, but the Solaris package
    �database� seems similar to that of a Debian system
    (at least from the perspective that the
    informational files are stored as plain text in a
    well-defined directory [ie /var/sadm/pkg/]).Yes, although it's based on the SysV packaging system. I don't believe there's any API for it outside of the 'pkg*' utilities.
    Darren

  • BPM process and BRM rules process in same development component in NWDS

    Hi All,
    Is it possible to create the BPM process and BRM rules process in the same development component in NWDS?
    I tried but whenever we create it,say,first ly for BPM,that is File-New-Project-Development Component-Process Composer
    While once this development component is created I try to create rules composer in the same composer by right clicking on local development component as well as process composer but ther is no option of creating /calling rules composer/rules modeling.
    Can you please guide me creating both BPM process and BRM rules composer/rules modeling in the same development component if its possible?
    Thanks in advance

    Open your project explorer and expand the BPM project you have created. Locate a folder named "Rules" in the Project Tree. Right-click on the Rules folder and select 'Create new rule'. You can model your rules such as rule-scripts here and use it in the BPM.
    Note: These rules cannot be used outside the BPM Project.

  • Large and Complex Applicaton development process in Apex

    Hi,
    Apex can scale well in terms of Data size, number of users etc. We are trying to decide if Apex is suitable for our next large and complex application (Large and complex in terms of quantity and efforts of work and business logic). We have already identified that Apex can handle complexity of our transaction/business logic management. My question is about scaling application development process in Apex. I am curious to know about what other people are doing with Apex in terms of:
    * What is the largest Number of Pages, Forms, Reports etc. within a single application one has developed
    * Assuming with so many pages (objects) to be developed, more than one developers must have worked on the project and the project is divided into multiple phases release. What was/is the max number of developers in your project?
    * Did you run into "Code Conflct" issues for Apex Shared Objects when multiple people had to work on them? How did you manage it and merge the changes?
    * How did you identify, track and manage changes in Apex objects between various project phases and between various environments (DEV, TEST, UAT, PROD).
    * What else you would like to add (in terms of development life cycle only) to my thoughts above that we need to consider while choosing Apex for our next project.
    * Based on your experience would you recommend Apex for our large and complex application?
    Many thanks in advance for your responses.
    Paresh (yparesh at gmail dot com)

    Hi Przemek, Jerry and Roel,
    Thanks to all of you for your helpful responses. If we follow best practices mentioned like trying to centralize code in Page 0, db packages/procedures, JS libs shared components (especially "Shared App" having Shared components between multiple apps) we can minimize code management efforts and use existing technologies to identify, merge, promote code changes. This still leaves with some code and changes that will localized to individual pages (and we still need to manage page 0 and Shared object code changes. I will explain what I am trying to say with an example below about managing changes in a page.
    Przemek, and Jerry,
    How are you identifying, managing and promoting changes between applications environments say TEST to PROD. For example we have 2 separate dbs (and hence workspaces) to host Apex TEST and Apex PROD environment. If I have modified page 15 in TEST and now need to promote changes made to page 15 (deltas) to PROD how do I compare and identify the deltas? Apex can not migrate the whole page across apps in different workspaces and even if Apex can I don't think it is a good idea to overwrite page 15 in PROD with page 15 in TEST unless we can compare them, identify the deltas and make sure the changes are what we intended to promote. Exporting pages and comparing using a text editor is time consuming because of various ids and the way New Line characters can get embedded in page export. Logic that the TEST env should have identical copy of prod due to a refresh before promoting changes from DEV won't help because then whole of above will apply between DEV and TEST (albeit with little less risk as the target is TEST and hopefully any unintended changes will be caught during testing).
    Apex 3.1 has Apex Applications Compare facility? If you have used it, what is your take on it? I think it is too basic but a good start. Won't it be good if there was a nice full fledged compare tool for Apex objects?
    Thanks
    Paresh

  • Msg id and msg no : End of processing in API: CSAP_MAT_BOM_MAINTAIN

    hi.... i went execute CSAP_MAT_BOM_MAINTAIN, i get the following information message.
    >>> End of processing in API: CSAP_MAT_BOM_MAINTAIN
    can anyone help me with the message id and message number used by SAP to give this error?
    thanks in advance.

    Hi karthik raja spic,
    the ability to read is widely regarded as a clear advantage.
    The documentation of function module CSAP_MAT_BOM_MAINTAIN notes that you shall use FM CSAP_MAT_BOM_CREATE.
    Regards,
    Clemens

  • Which JVM and APIs are better for Palm application development

    Hi All,
    Any body tell me which JVM and APIs are better for palm device application development. A want to create a good GUI based application on Palm.
    Please suggest me.
    Thanks
    Jack

    hi jack...
    You can use ibm's wsdd(websphere device developer) as plugin to wsad(websphere application developer) for developing web applications which can be run on palm devices. It uses j9(ibm's implemention of jvm).
    thanks...

  • Error while updating the sales order through Process Order API

    Hi,
    Please any one will help plz.
    I am updating the promise_date through oe_order_pub.process_order(Process Order API) i am getting the following error.
    FND_AS_UNEXPECTED_ERROR N PKG_NAME OE_Order_Cache N PROCEDURE_NAME get_tax_calculation_flag N ERROR_TEXT ORA-01403:no data found
    Please any one will help plz
    Below is my code.
    Declare      
    l_archive_file_name VARCHAR2(1000);
    l_shipment_exists NUMBER:=0;
    l_header_id NUMBER;
    l_line_id NUMBER;
    p_header_rec Oe_Order_Pub.Header_Rec_Type;
    l_line_tbl oe_order_pub.line_tbl_type := oe_order_pub.g_miss_line_tbl;
    l_header_rec OE_ORDER_PUB.Header_Rec_Type;
    l_header_val_out_rec OE_ORDER_PUB.Header_Val_Rec_Type;
    l_header_adj_out_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
    l_header_adj_val_out_tbl OE_Order_PUB.Header_Adj_Val_Tbl_Type;
    l_header_price_att_out_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
    l_header_adj_att_out_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
    l_header_adj_assoc_out_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
    l_header_scredit_out_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
    l_header_scredit_val_out_tbl OE_Order_PUB.Header_Scredit_Val_Tbl_Type;
    l_line_rec OE_ORDER_PUB.line_rec_type;
    l_line_out_tbl OE_ORDER_PUB.Line_Tbl_Type;
    l_line_val_out_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;
    l_line_adj_out_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type;
    l_line_adj_val_out_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
    l_line_price_att_out_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
    l_line_adj_att_out_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
    l_line_adj_assoc_out_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
    l_line_scredit_out_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
    l_line_scredit_val_out_tbl OE_Order_PUB.Line_Scredit_Val_Tbl_Type;
    l_lot_serial_out_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
    l_lot_serial_val_out_tbl OE_Order_PUB.Lot_Serial_Val_Tbl_Type;
    l_action_request_out_tbl OE_Order_PUB.Request_Tbl_Type;
    l_msg_count NUMBER;
    l_msg_data VARCHAR2(2000);
    l_return_status VARCHAR2(1);
    l_index NUMBER;
    l_rows_processed NUMBER:=0;
    l_line_mawb VARCHAR2(240);
    l_line_hawb VARCHAR2(240);
    l_line_flight_num VARCHAR2(240);
    l_org_id NUMBER :=143;--FND_GLOBAL.ORG_ID;
    l_resp_id NUMBER:=FND_GLOBAL.RESP_ID;
    l_resp_appl_id NUMBER:=FND_GLOBAL.RESP_APPL_ID;
    l_user_id number := FND_GLOBAL.USER_ID;
    l_promise_date date;
    BEGIN
    SELECT ol.org_id, oh.header_id, ol.line_id,ol.promise_date
    INTO l_org_id, l_header_id, l_line_id,l_promise_date
    FROM apps.oe_order_headers_all oh, apps.oe_order_lines_all ol
    WHERE ol.header_id=oh.header_id
    AND ol.line_id =1319526; --&line_id
    -- apps.fnd_global.apps_initialize(&l_USER_ID,&l_resp_id,&l_resp_appl_id);
    apps.fnd_global.apps_initialize(67778,51017,660);
    p_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC;
    p_header_rec.header_id :=835035;-- l_header_id;
    p_header_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
    l_line_tbl := oe_order_pub.g_miss_line_tbl;
    -------------------------Line Record -------------------------------
    l_line_tbl(1) := oe_order_pub.g_miss_line_rec;
    l_line_tbl(1).header_id := 835035;
    l_line_tbl(1).line_id := 1319526;
    l_line_tbl(1).promise_date := sysdate;
    l_line_tbl(1).operation := oe_globals.g_opr_update;
    BEGIN
    apps.oe_order_pub.process_order
    (p_api_version_number => 1.0
    ,p_init_msg_list => fnd_api.g_true
    ,p_return_values => fnd_api.g_true
    ,x_return_status => l_return_status
    ,x_msg_count => l_msg_count
    ,x_msg_data => l_msg_data
    ,p_header_rec => p_header_rec
    ,p_line_tbl => l_line_tbl
    -- out variables
    ,x_header_rec => l_header_rec
    ,x_header_val_rec => l_header_val_out_rec
    ,x_header_adj_tbl => l_header_adj_out_tbl
    ,x_header_adj_val_tbl => l_header_adj_val_out_tbl
    ,x_header_price_att_tbl => l_header_price_att_out_tbl
    ,x_header_adj_att_tbl => l_header_adj_att_out_tbl
    ,x_header_adj_assoc_tbl => l_header_adj_assoc_out_tbl
    ,x_header_scredit_tbl => l_header_scredit_out_tbl
    ,x_header_scredit_val_tbl => l_header_scredit_val_out_tbl
    ,x_line_tbl => l_line_out_tbl
    ,x_line_val_tbl => l_line_val_out_tbl
    ,x_line_adj_tbl => l_line_adj_out_tbl
    ,x_line_adj_val_tbl => l_line_adj_val_out_tbl
    ,x_line_price_att_tbl => l_line_price_att_out_tbl
    ,x_line_adj_att_tbl => l_line_adj_att_out_tbl
    ,x_line_adj_assoc_tbl => l_line_adj_assoc_out_tbl
    ,x_line_scredit_tbl => l_line_scredit_out_tbl
    ,x_line_scredit_val_tbl => l_line_scredit_val_out_tbl
    ,x_lot_serial_tbl => l_lot_serial_out_tbl
    ,x_lot_serial_val_tbl => l_lot_serial_val_out_tbl
    ,x_action_request_tbl => l_action_request_out_tbl
    --dbms_output.put_line('l_msg_data-->' ||l_msg_data ||' l_return_status --> ' ||l_return_status);  
    END;
    commit;
    END;
    Regards,
    Sangu

    Hi Sangu,
    See if the following notes help you:
    Error when calling API from SQL*Developer, eg. ORA-01403 in API OE_ORDER_PUB.PROCESS_ORDER (Doc ID 1054295.1)
    Cancellation Of Transfer Orders Is Not Possible - ORA-01403: no data found in Package OE_Order_PVT Procedure Process_Order (Doc ID 391307.1)
    Thanks &
    Best Regards,

  • Budget Process (Linked the maintenance Order into Internal Order) in EAM

    Dear Experts,
    Scenario for Repair & Maintenance with only MM & FICO module live w.e.f. 2007 (PM not live)
    Process Managed thru Internal Order (Order Type: RPMT)
    Budget managed through Investment Management (IM); Budget is directly entered against the IO using transaction IM52
    Scenario for Repair & Maintenance with only MM, FICO & PM module live (PM went live in 2010)
    It was proposed to assign budget against each Maintenance Order.  Since the number of maintenance orders being used is very high, it was decided to link the MO & IO so that budget will be assigned to the IO and when the MO is settled against the IO, the budget in IO can be deducted accordingly. The proposed process to assign budget in Internal Order against each Maintenance Order are given below-:
    1.)     In EAM process one can plan/procure material and External Services only when the Maintenance Order is created & released but practically it has to be planned long before any Maintenance Activity (Maintenance Order to be linked with the estimate so that PO can be created against the estimate).
    2.)     The no. of Maintenance Order generated in EAM Module is very large as Maintenance order is created for almost each and every maintenance activity. It is cumbersome to allocate the budget to each and every maintenance order. There should be a single estimate for maintenance activity (as in MM module) and that should be linked to maintenance order so that the actual cost of Indent/Service Entry Sheet can be deducted automatically from the estimate (Maintenance Order is to be linked with estimate).
    3.)      While doing return Indent the cost of return material is not being added to the maintenance order automatically (Maintenance Order is to be linked with estimate).
    4.)      If Material & External Services not planned in the maintenance order (estimate), the user must be able to do that through Internal Order (estimate), hence the Internal Order must be link to the Maintenance Order. They should able to record the planned & actual cost in the maintenance Order.
    Process followed:
    1.) Created Internal Order in KO01 for Repair & Maintenance Order Type
         Assigned budget to Internal Order thru IM52
    2.) Created PM order and assigned Internal order against Settlement Order in tab  
         u2018Locationu2019 and in Settlement Rule with 100%. In this Section attach the Internal  
         Order with selection type u2018ORDu2019. 
    3.) Released both orders and issue the Material for particular Operation and then   
         determine the Cost for material .After that performed MIGO for consumption of
         materials.
    4.) Settled the PM order in KO88.
         Settlement process was successfully saved.
    Problem faced:
    After posting the goods movement (against each Maintenance Order) and settlement of the maintenance order against IO, we still find the budget assigned to the IO is not consumed/deducted.
    1. Actual cost of maintenance is not reflected in the internal order
        immediately. We have to run cost settlement (t-code KO88) for the
        maintenance order each time the actual cost is incurred in the maintenance order.
    2. Also in the case of return indent, the value of returned material is not directly 
        added to the available budget of internal order.
    3. When the material is issued from store through the reservation generated by 
        maintenance order, system does not check for budget in the internal  
        order/maintenance order while issuing material from the store.
    4.  It must not be allowed to create reservation from the internal order of order type
         RPMT.
    5.  In case of external service in the maintenance order, the unit of
         measure in the requisition is set to u201CD (days)u201D by default. System does not allow  
         changing the unit of measure in the requisition (it should allow to change the unit
         of measure or set the unit of measure u201CJOBu201D).
    6.) When the material is issued from  the store through reservation generated  in
         maintenance order, system does not check for budget in Internal Order  
         (estimate)/Maintenance Order while issuing material from store.
    Thanks & Regards
    Deepak Soni

    Hi,
    1. Actual cost of maintenance is not reflected in the internal order
    immediately. We have to run cost settlement (t-code KO88) for the
    maintenance order each time the actual cost is incurred in the maintenance order.
    As per the standard system budgeting is done against the actual cost only. And until you settle your order the actual cost from
    maint order are not getting transfered to IO. Once they are transfered system is checking for the budget.
    2. Also in the case of return indent, the value of returned material is not directly added to the available budget of internal order.
    This is similar to first point, when you return goods there will be negative cost on the order, this has to be settled until that system will not compare the IO budget with maintenance order actual cost.
    3. When the material is issued from store through the reservation generated by maintenance order, system does not check for budget in the internal order/maintenance order while issuing material from the store.
    The budget you have assigned is at IO, how can system will check the budget while issueing goods for maintenance order. We may have to develop or use some user exit over here. Which will trigger checking of budget from the settlement receiver IO for that maintenance order.
    I think you may have to go for development. These are my observations from my experience.
    Regards,
    NNR

  • Help Needed with getting Started With Office 365 Development C# Rest API

    We have a O365 Tenant Setup with a Federated Active Directory Setip we want to be able to right code that will connect to our tenant and perform basic CRUD operations against it (ex. Creating mail boxes)
    The problem is we want this to be contained in a CLR trigger In SQL so say if a new user is added to our user table then we would create a new AD account for that user and also create a mailbox.
    But I cannot find and example on how to connect to Office 365 using the REST API (Not the SDK because you can not add the connected service to a class library) and before the required actions that we need to do. All the example I have found are with the
    SDK API and/or require window 8 and that is also not an option.
    Please help I do not know where to start, and I would love to see some examples done in c# and not using the SDK.
    Thanks,
    Andrew Day

    Hi,
    >> Instead of SharePoint URLs I would use the O365 API URL?
    Yes, in my sample code, I was accessing the File resource by using the O365 File API. In your case, you need to acquire the token to access the Mail resource and use O365 Mail API.
    By the way, I think the article
    Understand Office 365 app authentication concepts will help you to understand the authentication process in Office 365 Development.
    >> Why can I not use the SDK API with a class Library?
    Actually, you are able to reference the Office 365 .NET SDK in the class Library. But the class library project type was not supported by Visual Studio Office 365 Development Tool. As a workaround,
    you can reference the SDK manually in your project.
    Since your original question is about “getting started with Office 365 Development C# Rest API”, if you have more questions about the Office 365 SDK, I will suggest you posting a new thread
    to discuss the Office 365 SDK. It will involve more other community members to share their ideas and experience on a specific a question and for others who had a similar question could also find the valuable information quickly.
    Regards,
    Jeffrey
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Generic service to populate fields in HCM Processes and Forms

    Dear Friends,
      I am developing generic service to populate some fields in HCM Processes and Forms. Please let me know whether i need to develop a single service for each field in the form or is better to write one generic service for all the form fields.
    Thanks in Advance

    Hi Sapient,
    By right, generic service means to be generic so that it can be re-used in any HCM forms thats needed the field/validation from the generic service.
    Unfortunately in real situation, generic service are not reusable for some reasons:
    - for the same field same field might have different validation in different form.
    - there is dependency, example, to read special field
    The key thing here is all about the design and planing before development. Whereby if you have all the info and requirement HCM form to be implemented(which you wont get it for most of the cases), and you have the overall view of all HCM to be implemented and you are able to plan ahead before coding, then you can design the generic service for each/related field.
    If it is not the case, i would encourage to use 1 generic service for all the field in the HCM form. It would ease the team during support/maintenance phrase as well. For sample, please refer to HRMSSRCF_REQUISITION_ADVANCED for Create Requisition form.
    This is my humble opinion based on my experience working on HCM forms. Please do comments and discuss.
    regards,
    Xiang Li

  • Attaching Extra Information for on Hold process and starting the process

    Hi,
    We are developing BPM process using Oracle BPM 10.3.
    Our want the process to be on hold to get extra information from some other system. The extra information will be recieved sepeartely oust side the BPM process. We want to add the extra information to the on hold process and continue the process. Please let me know how to develop the BPM process to cater this requirement.
    Thanks

    The right pattern would be to create a process that has something like the following flow pattern:
    Begin -> ... (Some Activities) -> Wait
    The Wait Activity can be defined to have arguments that the external application can use to send the additional information to aggregate with the existing instance data.
    The way for an external application to connect to the instance waiting in the WAIT activity is to use the processId that is returned when you programmatically create the instance through any of the available APIs: PAPI (Java), PAPI-WS (Soap) or the process exposed as a web service. It is also possible to use correlations but this can be considered a more advanced topic.
    In the same lines there are methods in PAPI and PAPI-WS or a process exposed as a Web Service to create an instance, there are methods to send a notification to a given instance in a given activity of the process. Using this API Calls, you can signal the instance in wait state and send some additional information so that when the Wait activity is executed, the instance is moved forward.
    HTH,
    eduardoc.

  • Error while running Process Order API to import orders - URGENT HELP NEEDED

    Hi all,
    I'm stuck with order import using OE_ORDER_PUB.PROCESS_ORDER api. Wanted to import a simple order in Vision database using the process order api. Figured out the right data to use, inserted into Headers and Lines Iface All tables. When calling the OE_ORDER_PUB.PROCESS_ORDER api, it is throwing this error:
    "Header ID does not exist on this record or does not match ID specified on header record. You require a valid header ID if the operation is Create."
    But when I validate the same record using the CORRECTIONS form in Order Import GUI, the order is successfully validated. Also the order is imported when I click the IMPORT button.
    I understand that HEADER_ID column is not required for creating a new order, but not sure why it is erroring. Here is the data I'm using:
    Insert into oe_headers_iface_all
    (org_id, order_type_id, order_source_id, orig_sys_document_ref, ordered_date, request_date,
    sold_from_org_id, sold_to_org_id, ship_from_org_id, ship_to_org_id, invoice_to_org_id,
    CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN,OPERATION_CODE)
    values (204, 1430, 1046, '101040', sysdate, sysdate, 204, 1004, 606, 1018, 1017, 0, sysdate, 0, sysdate, 0, 'CREATE');
    Insert into oe_lines_iface_all
    ("ORDER_SOURCE_ID","ORIG_SYS_DOCUMENT_REF","ORIG_SYS_LINE_REF","ORIG_SYS_SHIPMENT_REF","ORG_ID","INVENTORY_ITEM","LINE_TYPE_ID",request_date,"SCHEDULE_DATE","DELIVERY_LEAD_TIME","ORDERED_QUANTITY","ORDER_QUANTITY_UOM",sold_from_org_id, sold_to_org_id, ship_from_org_id, ship_to_org_id, invoice_to_org_id,"UNIT_SELLING_PRICE","CREATED_BY","CREATION_DATE","LAST_UPDATED_BY","LAST_UPDATE_DATE","LAST_UPDATE_LOGIN","OPERATION_CODE")
    values
    (1046,'101040', '1', '1', 204, 'AS72111', 1427, sysdate, sysdate+1, 0, 10, 'Ea' ,204, 1004, 606, 1018, 1017,100,0,sysdate,0,sysdate,0,'CREATE');
    Any help is appreciated.
    FYI - this is a 11.5.10.2 version installed on Windows 2003 server.
    Thanks in advance.
    Jags

    I might be late in replying, but hope it might help.
    From your query it seems you are inserting records into interface tables and then calling process order API( probably from some PL/SQL block).
    This is where I am confused, because I hope you understand, that interface tables are for use with Order Import concurrent Program, and for Process ORder API, you need to provide the data as parameter. The api has, header record type and line table type as parameters. So you need to assign correct data to these variables and pass them as parameter when you are calling Process Order API.
    If you are doing the same thing, then post the exact pl/SQL code and error message from the API. That might help diagnose the issue.
    Regards,
    Nitin Darji

  • Default value in dropdown field for FPM form in HCM Processes and forms

    Hi Experts,
    I am developing HCM Processes and forms using FPM forms and I had a dropdown list contains ten values. So, every time while opening the form first time, my dropdown field should be defaulted with fifth value from the list. How can we achieve this in dropdown field related to FPM Form.
    Please guide me.
    Regards,
    Nayani.

    You would have to assign the default value to one your custom generic services.
    Regards.
    PS: There are posts which talk about generic services , make yourself comfortable with the concept of generic services.

Maybe you are looking for