Passing Database Constant as a default value to EBS TCA API??

My synch BPEL process calls EBS TCA (Trading Community Architecture) APIs via Apps Adapter to create and update Organizations (Parties) and Customers (Accounts) accordingly. TCA provides two types of APIs to do the same job - one uses record types and tables as parameters, while the other uses object types as parameters and is called Business Object(BO) API. I am using BO for my solution.
One of the features of the Update API (hz_org_cust_bo_pub.*update*orgcust_bo) is you can pass a database constant (FND_API.G_MISS_CHAR) as a parameter value in order to nullify an existing value. Ex: AddressLine2 for a customer address has now changed and does not exists anymore. In order to update and existing value to NULL, you are required to pass one of the following constants as a parameter value.
Following is a formal description of these optional parameter values from the TCA Reference document.....
Optional IN parameters do not have default values. An attribute value that is not
passed in is assumed to have a default of null for a Create API. For an Update API, if a
particular attribute value is not passed into the API, then the database retains the
existing value. In order to set a database value to null, the calling program must
explicitly set the attribute value to one of the following constants, based on the data
type of the attribute.
+• FND_API.G_MISS_NUM for NUMBER type. (or FND_API.G_NULL_NUM)+
+• FND_API.G_MISS_CHAR for VARCHAR2 type. (or FND_API.G_NULL_CHAR)+
+• FND_API.G_MISS_DATE for DATE type. (or FND_API.G_NULL_DATE)+
ISSUE:
I am unable to pass and have the value FND_API.G_NULL_CHAR be treated as a constant by the API. When this value is passed by the BPEL process to the Apps Adapter (API) it gets passed as a string literal, as such, does not get treated as a database constant by the API. Also, on creating the apps adapter for this particular API (TCA BO) a wrapper program is NOT created. So, I can't modify the wrapper (as it does not exist) to pass this FND_API constant. The only option I can currently think of is to write my own custom PL/SQL package that calls the standard API and in turn have the custom package be called by the apps adapter. But, I am hoping this is not the only option, it takes away several benefits.
Any thoughts will be greatly appreciated.
ilyas

I think that may be your only option. I haven't implemented this using the Apps Adapter but in order to get this functionality you need to have implmented the security architecture where you login as an Apps User, not APPS.
I would raise a SR for this as this may be a bug.
cheers
James

Similar Messages

  • How to pass current month as the default value in the prompt

    Hi,
    Could you please tell me how to pass the current month as the default value in the prompt.
    I have a report where month is a prompt. By Default it should ahve current month as the default value along with other months.
    Please let me know the syntax for the same.
    Thanks in advance!!
    Regards
    Sindhu

    Hi,
    what datasource do you have? Is it SAP BW or something else?

  • Default value? Trigger?

    Hi all,
    I got one Oracle 10g problem here, not sure you can help me or not.
    If a table has a column which has "default value" setup.
    Example
    CREATE TABLE KENTEMP
    refno number(10),
    user_create varchar2(30) Default USER not null
    And it also has a trigger with following contents:
    If :new.user_create is Null then
    :new.user_create := 'TEST';
    end if;
    If I going insert a record with null value on user_create column.
    In some Oracle database, the create_user will become USER, some will become "TEST".
    Do you understand why?
    Thanks

    In some Oracle database, the create_user will become USER, some will become "TEST". Are you running the same INSERT statement on all these databases? Because the default value gets applied before the trigger fires, and I would expect that to be consistent across all databases.
    SQL>  create table defval (col1 number, col2 varchar2(30) default user)
      2  /
    Table created.
    SQL> insert into defval (col1) values (1)
      2  /
    1 row created.
    SQL> select * from defval
      2  /
          COL1 COL2
             1 APC
    SQL> create trigger defval_trg before insert on defval for each row
      2  begin
      3    if :new.col2 is null then
      4       :new.col2 := 'TEST';
      5    end if;
      6  end;
      7  /
    Trigger created.
    SQL> insert into defval (col1) values (2)
      2  /
    1 row created.
    SQL> select * from defval
      2  /
          COL1 COL2
             1 APC
             2 APC
    SQL> insert into defval (col1,col2) values (3, null)
      2  /
    1 row created.
    SQL> select * from defval
      2  /
          COL1 COL2
             1 APC
             2 APC
             3 TEST
    SQL> Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • Multiple line items one with default values

    Hi All
    We have a flat file coming into xi that needs to be mapped to an idoc, the idoc will have multiple line items.
    The first line item must have default values but the from the second line item and on must have dynamic value from file? How Can this be achieved?
    Regards

    Hi,
    I didnt get the the exact prb you have been facing...
    But from my understabding,
    Try giving constants for the default values of first Line Item.
    Then, directly map the file data to the second line items onwards..
    Regards,
    Swetha,

  • How to pass a default value in selection screen of logical database pnpce

    Dear All,
    Can any one tell me how to pass a default value in selection screen of logical database pnpce .
    Regards
    Rakesh Singh

    Hi Rakesh,
    Go to SE36 (logical database Builder).First enter PNPCE in Logical Database and press documentation,here you will get the details of exactly what is PNPCE and how it works.After that select selections in subojects in se36 only and enter display ,there you have the include from where you acn get the idea.
    Regards,
    Rahul

  • Problem using default value of report parameter 1 to validate parameter 2 passed in to report

    I am having a problem with an SSRS report using the default value of report parameter 1 to validate parameter 2 passed in to report (via C#) instead of using the value of parameter 1 that is also passed into the report.  Here are the
    simplified details:
    Using SSDT, SQL Server 2008 R2
    SSRS report has 2 parameters:
    P1 -- text, hidden, default value 'R1', ... front-end C# code can pass 'R2' or 'R1'
    P2 -- text, allows multiple values, list of available values provided by stored procedure (sproc_list) that takes P1 value as a parameter.  Hence, sproc_list either provides a list for P1 = 'R1' or P1 = 'R2'.
    List for P1 = 'R1' is 'A', 'B', 'C'
    List for P1 = 'R2' is 'A', 'B', 'D'
    Values for P1 and P2 can be passed in via C# to the report.
    The C# front-end displays 2 report choices to the user, R1 and R2, where both choices call the same RDL; but choice R1 passes in 'R1' for P1, and the choice R2 passes in 'R2' for P1.
    Upon a users 1st time use of the report no parameters are passed in.  Then when the user exits the report, the parameter value for P2 that was chosen is saved off to a file for R1 or R2, and used the next time the user selects the report.
    Everything always works fine for report R1 since the default value for P1 is 'R1'.
    When R2 is chosen and the user selects 'D' as the value for P2, runs the report, then exits, the P2 value of 'D' for R2 is saved to a file.  When the user returns the next day to run report R2, 'R2' is passed for P1, and 'D' is passed for P2.
    This is when the problem occurs.  The value of 'D' for P2 is validated against a list generated for P2 based on the default value of 'R1' for parameter P1.  Hence, SSRS considers 'D' an invalid value for P2 and blanks out the P2 parameter. 
    The user can then use the drop down list for P2 and choose 'D', but this defeats the purpose of saving the parameter values to be used the next time.
    Why is the stored procedure that provides a list of available values for parameter P2 using the default value of 'R1' for parameter P1 instead of using the value of 'R2' passed into the report for parameter P1?

    Hi Tom,
    Sorry for my delay.
    If I understand correctly, you have two parameter in your report. It is a couple of cascading parameter. If we have choose ‘R1’ of P1, the P2 values is A, B, C. ‘R2’ of P1, corresponding P2 values is A, B, D. What your requirement is to save the end use
    select option of these two parameters.
    In SSRS, if we have configure the parameter with default value. When we run the report, the parameter will fill with the default value to filter data. If we want to save the last status we are render the report, we need to update the default value of P1.
    If we are query the default value from database, if possible, we can
    update the database try to resolve the issue.  Alternatively, we can set the dynamic default value for the parameter.
    Hope this helps.
    Regards,
    Alisa Tang
    Alisa Tang
    TechNet Community Support

  • Pass variable and set default value based on user's group

    Hello
    I'm using SharePoint 2010 and SQL 2012. I need to send a variable to the page and based on its value, set default value for a drop down list and send it to other web part to filter the data. Is it possible for certain users to send that value as a default
    and limit user to see only this value in the text field or drop down list; for others - to allow to see the drop down list, but also set the default value for that list?
    The main page was designed in SharePoint designer, using web parts (aspx page). I had setup a connection to Active Directory and already have the code to get user's groups and based on their group, I have that variable pulled into the web page for further
    use. But I don't know how to pass that value as a default value to the web part (currently using SharePoint Filter web part). When I tried to set a default value for the web part - it automatically puts the quotation marks around the name of the variable
    and shows it as a text instead of showing the value of the field.
    Thank you!
    P.s. I have limited knowledge of SharePoint and need guidance (links, examples, recommendations)!
    Alla Sanders

    Thank you for your response. I'll try to give you more details. On PageA I check user's groups and based on the group, assign the value and pass it to the next page (no input from the user, all done behind the scene and user is redirected to PageB).
    On the next page I read that value and would like to send it to the SharePoint List Filter Web as a default value, as well as send it to another web part that displays the list from SQL, filtered using that default value. Ideally, if the user is from Group
    A, I'd like for them to have only one value in that drop down list; if user is from Group B - give him drop down list with 40 items to choose from. Below there is a part of the code and variable fnum has the value from PageA (if I print the value on the screen
    - I do see that it has correct value, so the code that gets groups from Active directory works correctly). If I assign fnum as a default value of the list, it shows "fnum" instead of the value of variable fnum. I connect to SQL database, using external
    content - so the other list that I'm filtering based on the value in that drop down list - is XSLT Data View Web part. I also have 2 more filters on that page, that user will have full access to and based on their input, it is also sent to the XSLT web part
    to filter out more data. Since one of the filters is the date and I am filtering data starting from the date that user chooses - XSLT is the only web part that I was able to make it work with.
    I looked at the link you provided (thank you). It is using Content Query Web part. Will it work with external content, as well as accepting multiple filtering, including custom starting date? I appreciate your help!
    <%
    string fnum = Request.QueryString["field1"];
    %><table cellpadding="4" cellspacing="0" border="0" style="height: 1000px">
    <tr>
    <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" colspan="2" valign="top" style="height: 101px">
    <WebPartPages:WebPartZone runat="server" Title="loc:Header" ID="Header" FrameType="TitleBarOnly"><ZoneTemplate>
    <WpNs0:SpListFilterWebPart runat="server" FilterMainControlWidthPixels="0" RequireSelection="False" ExportMode="All" PartImageLarge="/_layouts/images/wp_Filter.gif" AllowHide="False" ShowEmptyValue="True" MissingAssembly="Cannot import this Web Part." AllowClose="False" ID="g_1ccc4bca_3ba1_480b_b726_adfdb1e9e02d" IsIncludedFilter="" DetailLink="" AllowRemove="False" HelpMode="Modeless" AllowEdit="True" ValueFieldGuid="fa564e0f-0c70-4ab9-b863-0177e6ddd247" IsIncluded="True" Description="Filter the contents of web parts by using a list of values from a Office SharePoint Server list." FrameState="Normal" Dir="Default" AllowZoneChange="True" AllowMinimize="False" DefaultValue="fnum" Title="Facilities List Filter" PartOrder="2" ViewGuid="2da5d8db-6b55-4403-80a8-111e42049f8b" FrameType="None" CatalogIconImageUrl="/_layouts/images/wp_Filter.gif" FilterName="Facilities List Filter" HelpLink="" PartImageSmall="/_layouts/images/wp_Filter.gif" AllowConnect="True" DescriptionFieldGuid="2d97730a-cd0d-4cb9-8b55-424951201081" ConnectionID="00000000-0000-0000-0000-000000000000" ExportControlledProperties="True" TitleIconImageUrl="/_layouts/images/wp_Filter.gif" ChromeType="None" SuppressWebPartChrome="False" IsVisible="True" ListUrl="/Lists/FacilitiesList" AllowMultipleSelections="False" ZoneID="Header" __MarkupType="vsattributemarkup" __WebPartId="{768E2035-0461-4A09-8DDD-CA7020C2B23D}" WebPart="true" Height="" Width="615px"></WpNs0:SpListFilterWebPart>
    Alla Sanders

  • Pass the results from a selection formula to the default values for a parameter field

    Post Author: kevans
    CA Forum: General
    Crystal 10 u2013 SQL 2000
    I want to create a parameter field that will display all of our IT Departments so the end user can select the one they want to run the report against, such as IT-Security, IT-Network, etc. about 40 in all.  BUT I donu2019t want this to be a static list where I type in all 40 depts in the default list, I was hoping I could do something more dynamic such a formula field that says u201C if {group.name startswith u2018ITu2019 then {group.name}u201D and then have the parameter field pull from this source.
    Iu2019m sure this has been answered in a previous post but Iu2019m not finding it.  I see stuff on creating a record selection formula such as u2018if {?group} like u2018IT-Secur*u2019 thenu2026u201D  but this leaves too much room for error if people donu2019t type the name correctly.  Maybe Iu2019m not using the record selection formula correctly?  Sorry if I offend anyone but I just upgraded from 8 to 10 and thought for sure this option would be in 10, perhaps built right into the parameter default value page where you can place in select criteria but NOTHING has changed.

    Post Author: sharonmtowler
    CA Forum: General
    if you are creating the parameters in the rpt file, it will only pull values you enter, or directly from the database
    in the record selection you can do something like this, so if they only enter the first 2 characters it should pick up only the IT etc.
    (if eft(,2)={?parameter} then true else ={?parameter})

  • I need to pass null as a default value for a parameter in Before Trigger

    Hi All,
    I am using Before trigger function in calculation tab which has some set of parameters.So, I accept some parameters which are passed to this Before Trigger function and need these parameters default value as null.
    To be clear I want to set the Default value for a parameter in workbook to be NULL and pass the same to the calling Function.
    please help me.
    Thanks in advance

    Hi All,
    I am using Before trigger function in calculation tab which has some set of parameters.So, I accept some parameters which are passed to this Before Trigger function and need these parameters default value as null.
    To be clear I want to set the Default value for a parameter in workbook to be NULL and pass the same to the calling Function.
    please help me.
    Thanks in advance

  • HOW CAN I PASS A DEFAULT VALUE IN INTERNAL TABLE

    HOW CAN I PASS A DEFAULT VALUE IN INTERNAL TABLE.
    DATA : BEGIN OF ITAB OCCURS 0,
               FIELD1(2) TYPC C DEFAULT   '12',
               FIELD2     TYPE C ,
               END OF ITAB1.
    IT'S GIVING ERROR MESSAGE.
    PLZ LOOK INTO THIS AND GIVE ME CORRECT SOLUTION.
    THANKS
    SURI

    DATA : BEGIN OF ITAB OCCURS 0,
    FIELD1(2) TYPC C,
    FIELD2 TYPE C ,
    END OF ITAB1.
    itab-field1 = '12'.
    itab-field2 = 'A'.
    append itab.
    clear itab-field2.
    itab-field1 = '12'.
    itab-field2 = 'B'.
    append itab.
    clear itab-field2.
    Now everytime u'll have the value for field1 = '12'.
    Regards
    Vasu

  • In Drop Down by Index how can i pass default value Dynamically

    Hi Friends,
    In Drop Down by Index how can i pass default value Dynamically.Please help me.
    Thanks in advance.
    Regards,
    Kumar.

    hi,
    if you want the value to be defaulted only the first time you execute the program then write the code which suman has mentioned in the views method
    wddoinit.
    Regards
    Sajid

  • Passing a default value to the master block and do the auto query

    Hi
    My problem is i have a MD FORM to which i have to pass a default value and do an auto query so that when i run the form the form should open with this default value and do the query and get the details.
    I tried many things like trying to set the value of the column using p_session.set_value and then calling the same form using wwa_app_module_link by using the value in the condition but every time unless i press the query button i did not get the values.
    Now i don't know what to do.
    My portal version is 3.0.7.6.2
    Some body please help me
    thanks
    Sreedhar

    I don't think this works for 3 parameters, but I know it will work for 1. Maybe you can do something with it.
    1. Create a link to the destination component (YourProvider.YourLink)
    2. Use the code below to use that link to pass the value of a form field to the destination component. 'FieldName' is the field on the destination component you want to query, and '_FieldName_cond' is the condition. This creates the destination URL.
    3. wwa_app_module.set_target(l_url) will send you to the URL you generated.
    l_url := PORTAL.wwv_user_utilities.get_url('YourProvider.YourLink', 'FieldName', v_YourParameterValue, '_FieldName_cond', '=');
    portal.wwa_app_module.set_target(l_url);
    I'm not the best at this, but this works for me in most cases.

  • How to set the default value of a database column to NULL

    Hello,
    I want to set the default value of a column (VARCHAR2(20) to NULL, nut I cannot figure out to do this. I tried the following editing the offline table with JDeveloper:
    Default Value : <empty> -> On database NULL
    Default Value: '' -> On database ''
    When I create a new column, there is no default value on the database side and when I open the tabe properties in the database navigator I can see that the default value is (null). This is what I want to see in the other column as well. I don't know why sometimes a default value is visible on the database side (when generating form offline tables to database tables) and sometimes not.
    Perhaps sombody can bring some light in this issue.
    Thanks Thomas

    Hello Shay,
    I have the impression that you don't understand my problem. So here step by step:
    1. Create a offline Table TEST with one column TEST: VARCHAR2(20). nullable=true, no default value.
    2. Generate the table to the database
    3. When you look at the table properties (columns) with the database navigator the following information is displayed (sorry for the formatting):
    Column Name | Data Type | Nullable | Data Default | COLUMN ID| Primary Key | COMMENTS
    TEST | VARCHAR2(20 BYTE | Yes | (null) | 1 | (null) | (null)
    4. Now set the default value for the column TEST in the offline table for example to 'Test'
    5. Generate the table to the database.
    6. When you have a look at the database table, the default value is now 'Test' (as expected)
    7. Now remove the default value of the column TEST in the offline table
    8. Generate the table to the database
    9. When you have a look at the database table, the default value is now NULL (in uppercase letters without parenthesis)
    And this is where the problem starts!
    When you generate the table again with the options "Alter/Manual Reconcile" the default value of the column test is considered to be different! But in fact it should'nt be different because nothing has been changed.
    Best regards Thomas
    Edited by: thmayr on May 28, 2009 9:05 AM
    Edited by: thmayr on May 28, 2009 9:31 AM

  • BEx Variable default value does not pass thru to Webi report

    Hi,
    It appears that the integration between BEx and BOBJ Webi does not support default values when the webi report is scheduled.  This means that if Webi/Infoview is the delivery method, than clients require 2 reports.  1 for adhoc and 1 for scheduling.  Is there another way around this so 2 reports are not required?  See SAP Knowledge Base Article  https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?param=69765F6D6F64653D3030312669765F7361706E6F7465735F6E756D6265723D3030303136363534393826
    Regards,
    Dae Jin

    Hi,
    Yes it is not supported. you can achieve by writing customer exit for this.
    in istep 2,
    check whether the variable value is intial.
    if intial
    pass default value
    if not intial (else)
    dont do any change, just pass the user input to restriction.
    -Sriram

  • NO ONE KNOWs??? EJB3.0: how to use column default value in the database??

    hi,
    This seems to be easy but I didn't find good answers... pls help...
    I have a table XYZ with a column:
    FriendlyName VARCHAR(30) NOT NULL DEFAULT 'my home'
    When I want to persist an entity object XYZ, I don't want to specify its field FriendlyName---in my program, l leave the field value to be null and I want to rely on the database to default its value to 'my home'
    however, i can't seem to do that because every time, i got the error msg saying the field "FriendlyName" can NOT be null.
    Is there a way for me to rely on the database to give the field its default value without specifying it in my entity class? (I am using ejb3.0 persistence+hibernate+mysql)
    thanks for ur input....

    That looks nice, when you don't include columns in
    inserts statements the dbms takes the default
    The question is: does hibernate understand and works
    with that?
    Let us knowWell, probably not. I did try that, somehow I got the following error msg. I did go through the log carefully, nothing really meaningful is there:
    javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException: Transaction marked for rollback.
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3708)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3481)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1271)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:192)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:118)
         at $Proxy66.saveControlPoint(Unknown Source)
         at com.mycompany.struts.action.CustomerActivateControlPointAction.execute(CustomerActivateControlPointAction.java:102)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:413)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:225)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:255)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1029)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1029)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:249)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:618)
         at com.sun.enterprise.web.connector.grizzly.comet.CometEngine.handle(CometEngine.java:220)
         at com.sun.enterprise.web.connector.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:74)
         at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:162)
         at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:140)
         at com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:79)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
         at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:103)

Maybe you are looking for