Gg filter part

Hi experts,
We have configured gg for one to many oracle database replication , we have used filter on each extract based on the region code we filter data and sends to target databases , could you please suggest and clarify the below query,
1.which below option is recommend to filter the data
a)create an seperate extract and pump for each region and put the filter on each primary extract
b) create an seperate extract and pump and put the filter on pump process for each region
c) create single primary extract and create seperate pump process for each region and put the filter on pump process
Please suggest the good option and advantages since we need to add morethan 10 regions to replicate the data from one source.
Thanks in advance

Hi ,
Since this is the One-to-Many, It is always better to filter the data in the Datapump process or Replicat Process. A Single extract is enough which writes to the trail files, because even though if you have multiple extracts, it is going to fetch or capture the same records or data. Multiple datapump process can be used.
It is not much recommended to use Filters at Extract Level because, it takes some extra time and will lead to performance degradation.
It is always better to use the filters at either Datapump process or Replicat Process.
Regards,
Veera

Similar Messages

  • CacheEventFilter: Where does the filter part apply?

    Coherence 3.3.1/389
         .Net API 3.3.2
         It seems, that the filter part of the CacheEventFilter object applies on the client side. I have the object with property named Portfolio on the client side and the object with getPortfolio method on the server side. So when i try to use filter with the method name 'getPortfolio', it does not work and all events come to the client. When i added the same method to the client object all became to work fine.
         Is it correct?
         If this is true, then why don't you do filtering on the server side? It is too expensive to send all events to the client and then filter them.
         Thanks.

    Hi Dmitry,
         The AddCacheListener(ICacheListener listener, IFilter filter, bool isLite) method is used to listen to all cache events for which the supplied filter evaluates to true. The isLite flag indicates whether or not the cache events passed to the ICacheListener include the old and new values. An ICacheListener registered using this method must be unregistered by calling the RemoveCacheListener(ICacheListener listener, IFilter filter) method with the same ICacheListener instance and filter.
         The AddCacheListener(ICacheListener listener, Object key, bool isLite) method is used to listen to all cache events that pertain to the cache entry with the specified key. The isLite flag indicates whether or not the cache events passed to the ICacheListener include the old and new values. An ICacheListener registered using this method must be unregistered by calling the RemoveCacheListener(ICacheListener listener, Object key) method with the same ICacheListener instance and key.
         The AddCacheListener(ICacheListener listener) method is used to listen to all cache events. An ICacheListener registered using this method will be passed cache events with both the old and new values and must be unregistered by calling the RemoveCacheListener(ICacheListener listener) method with the same ICacheListener instance.
         Regards,
         Jason

  • Search the Part number using autocomplete function

    Hi,
    I want to search the Product and Part Number. Filter Parts are associated with the selected product.
    For eg:
    Product  
    Part No
    Brass      2BA2316
    Monel     4BA4316
    Steel       6BA6316
    User will search by inch wise order by spacing semicolon (;) another text he will type.
    Once he typed text,related datas should be shown below textbox. Autocomplete function i tried using javascript
    but its not working. 
    Need Solution for this!!!
    Thank you in advance..

    Hi,
    According to your description, you might want to filter a list dynamically based on multiple columns and implement autocomplete for user input.
    For the dynamic filtering, here are two solutions with code source for your reference:
    http://instantlistfilter.codeplex.com/
    http://developeratwar.com/2012/04/easy-list-filtering-in-sharepoint-with-jquery-quicksearch/
    For the autocomplete, we will need to retrieve values of each columns in the current list first using SPServices or JavaScript Client Object Model, then use JavaScript to make
    them “autocomplete”.
    Two samples provided in the links below:
    http://www.c-sharpcorner.com/UploadFile/sagarp/fields-autocomplete-for-sharepoint-2010-using-jquery-spservi/
    http://sharepointwings.blogspot.com/2012/05/autocomplete-textbox-using-jquery-in.html
    Best regards
    Patrick Liang
    TechNet Community Support

  • Filter in query result table not populated by criteria previously selected.

    Hi Experts,
    I'm currently working on the the Upgrade of our BW production line from
    release 3.0b to 7.0:
    Configuration of target system
    BW system : Release 7.0
    BEx Analyser : Release 2004s, Support Package9, Patch 1, Revision 321
    Sap Gui 6.4
    We're especially trying to check the non-regression of the non-converted queries in the new system (release 7.0).
    And we get the following issue: After having selected the selection criteria in the selection window, the reminder of selected criteria is not done in the filter part of the target query result. Is it a normal behavior or not ?
    Indeed, in the previous system configuration (BW 3.0b), the user is accustomed to seeing just above his result table the selection criteria that he had previously filled in in the selection window.
    Please find herewith an example describing the problem.
    Thanks in advance for your help.

    In order to be more clear, hereunder an example:
    - I have a field untitled "Business Division"in the selection window.*
    - I fill in this field with the value "OND"
    - I execute the query with this value for this field.
    - The query result correclty appears.
    - I click on the "Filter" button to display the Filter table with the columns "Navigation pane" and "Filter criteria".
    - In the "Navigation pane", there is the field "Business Division".
    - For me, the corresponding "Filter criteria" should be the value "OND", but nothing is displayed...
    Thanks in advance foryour help.
    Regards,
    Steph

  • Query plan and negative value in where

    I have a question about this query:
    select g.col1,
    g.col2
    from tab1 g,
    tab2 part
    where part.col3 <> 0
    and g.col4 = 'PRO3'
    and g.col2 = part.col5
    and g.cod7 = -1
    This is the execution plan:
    SELECT STATEMENT, GOAL = ALL_ROWS               
    HASH JOIN               
    INDEX FAST FULL SCAN     SYS_C00254422     14     22453     516419
    TABLE ACCESS FULL     TAB2     920     67458     1079328
    If I change the select in this way:
    select g.col1,
    g.col2
    from tab1 g,
    tab2 part
    where part.col3 <> 0
    and g.col4 = 'PRO3'
    and g.col2 = part.col5
    and -g.cod7 = 1
    I have a new query plan:
    SELECT STATEMENT, GOAL = ALL_ROWS               
    NESTED LOOPS               
    INDEX FAST FULL SCAN     SYS_C00254422     
    TABLE ACCESS BY INDEX ROWID          TAB2     
    INDEX UNIQUE SCAN          SYS_C00254336     
    Oralce use a nested loop and the index of the table TAB1 and doesn't do the hash join.
    Why?
    I use oracle 10g
    Message was edited by:
    user613483
    Message was edited by:
    user613483

    SQL> desc TAB1
    Name Null? Type
    COL1 NOT NULL VARCHAR2(5)
    COL4 NOT NULL VARCHAR2(5)
    COL2 NOT NULL VARCHAR2(15)
    COL7 NOT NULL NUMBER(3)
    DTCOL8 NOT NULL DATE
    DRcol9 DATE
    LEVcol10 NUMBER(3)
    COL11 VARCHAR2(30)
    COD12 VARCHAR2(15)
    LEV13 NUMBER(3)
    COD14 VARCHAR2(15)
    LEV15 NUMBER(3)
    COD16 VARCHAR2(15)
    LEVN17 NUMBER(3)
    COD18 VARCHAR2(15)
    LEV19 NUMBER(3)
    CODNOD20 VARCHAR2(15)
    LEVNO21 NUMBER(3)
    CODNOD22 VARCHAR2(15)
    LEVN23 NUMBER(3)
    COD24 VARCHAR2(15)
    LEV25 NUMBER(3)
    CODNOD26 VARCHAR2(15)
    L27 NUMBER(3)
    CODN28 VARCHAR2(15)
    LEV28 NUMBER(3)
    D30 DATE
    SQL> desc tab2
    Name Null? Type
    COL5 NOT NULL VARCHAR2(15)
    DESY1 VARCHAR2(60)
    DESPA VARCHAR2(60)
    CODS VARCHAR2(5)
    CODNI VARCHAR2(5)
    CODZO VARCHAR2(10)
    CODC VARCHAR2(5)
    CDFIS VARCHAR2(30)
    CO VARCHAR2(30)
    CODVATI VARCHAR2(30)
    COT1 VARCHAR2(15)
    COT2 VARCHAR2(15)
    DCAT3 VARCHAR2(15)
    CAT4 VARCHAR2(15)
    COD VARCHAR2(15)
    COU VARCHAR2(5)
    FLG NOT NULL NUMBER(1)
    COT VARCHAR2(20)
    FLGCUSTD NOT NULL NUMBER(1)
    CODMOE VARCHAR2(5)
    FLG NOT NULL NUMBER(1)
    FLGC NOT NULL NUMBER(1)
    CODMOP VARCHAR2(5)
    CODC VARCHAR2(15)
    COELIV VARCHAR2(15)
    CONC VARCHAR2(15)
    COGMT VARCHAR2(10)
    COR VARCHAR2(5)
    COOUP VARCHAR2(15)
    VALDIT NUMBER(14,2)
    DTREDIT DATE
    DTRE DATE
    DTD DATE
    DST DATE
    DK DATE
    COCK VARCHAR2(5)
    CMOD VARCHAR2(5)
    FNN NOT NULL NUMBER(1)
    PGDCL VARCHAR2(60)
    PDB VARCHAR2(60)
    CXTEL VARCHAR2(15)
    ILCK VARCHAR2(15)
    DTTART DATE
    PVERY NUMBER(9)
    FLTUAL NOT NULL NUMBER(1)
    DVER DATE
    RIFE_INTERNO VARCHAR2(15)
    DATADATE
    ESENZIONE DATE
    NMSENZIONE VARCHAR2(15)
    VSED NUMBER(14,2)
    EORD NOT NULL NUMBER(1)
    EM VARCHAR2(30)
    COTER VARCHAR2(15)
    COUST VARCHAR2(15)
    CORINT VARCHAR2(15)
    TURFACE NUMBER(6)
    ODSURFACE NUMBER(6)
    ALINDEXPOT NUMBER(6)
    SSE NUMBER(6)
    NUSEATTR NUMBER(6)
    NUETTI NUMBER(6)
    CORTY VARCHAR2(15)
    DESEC VARCHAR2(60)
    QTEARI NUMBER(6)
    TOFACE NUMBER(6)
    COD VARCHAR2(30)
    FLGCI NUMBER(1)
    FLGC NUMBER(1)
    COL3 NUMBER(1)
    FLGCOL33 NUMBER(1)
    Query plan of the original select:
    1     SQL_ID 51kgr2x36h3y4, child number 0
    2     -------------------------------------
    3     select g.col1, g.col2 from tab1 g, tab2 part
    4     where part.col3 <> 0 and g.col4 = 'PRO3' and g.col2 =
    5     part.col5 and g.col7 = -1
    6     
    7     Plan hash value: 2145701647
    8     
    9     ---------------------------------------------------------------------------------------
    10     | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    11     ---------------------------------------------------------------------------------------
    12     | 0 | SELECT STATEMENT | | | | 938 (100)| |
    13     |* 1 | HASH JOIN | | 22485 | 856K| 938 (17)| 00:00:05 |
    14     |* 2 | INDEX FAST FULL SCAN| SYS_C00254422 | 22453 | 504K| 14 (8)| 00:00:01 |
    15     |* 3 | TABLE ACCESS FULL | TAB2 | 67458 | 1054K| 920 (16)| 00:00:05 |
    16     ---------------------------------------------------------------------------------------
    17     
    18     Predicate Information (identified by operation id):
    19     ---------------------------------------------------
    20     
    21     1 - access("G"."COL2"="PART"."COL5")
    22     2 - filter(("G"."COL7"=(-1) AND "G"."COL4"='PRO3'))
    23     3 - filter("PART"."COL3"<>0)
    24     
    Sql plan of the second quesry:
    1     SQL_ID g1hc2xj88sc7x, child number 0
    2     -------------------------------------
    3     select g.col1, g.col2 from tab1 g, tab2 part where
    4     part.col3 <> 0 and g.col4 = 'PRO3' and g.col2 = part.col5
    5     and -g.col7 = 1
    6     
    7     Plan hash value: 601419963
    8     
    9     ----------------------------------------------------------------------------------------------
    10     | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    11     ----------------------------------------------------------------------------------------------
    12     | 0 | SELECT STATEMENT | | | | 512 (100)| |
    13     | 1 | NESTED LOOPS | | 249 | 9711 | 512 (1)| 00:00:03 |
    14     |* 2 | INDEX FAST FULL SCAN | SYS_C00254422 | 248 | 5704 | 15 (14)| 00:00:01 |
    15     |* 3 | TABLE ACCESS BY INDEX ROWID| TAB2 | 1 | 16 | 2 (0)| 00:00:01 |
    16     |* 4 | INDEX UNIQUE SCAN | SYS_C00254336 | 1 | | 1 (0)| 00:00:01 |
    17     ----------------------------------------------------------------------------------------------
    18     
    19     Predicate Information (identified by operation id):
    20     ---------------------------------------------------
    21     
    22     2 - filter(((-"G"."COL7")=1 AND "G"."COL4"='PRO3'))
    23     3 - filter("PART"."COL3"<>0)
    24     4 - access("G"."COL2"="PART"."COL5")
    25     
    Index used:
    Primary key on tab2 SYS_C00254336:
    alter table TAB2
    add primary key (COL5)
    using index
    tablespace name_tablespace;
    Primary key on tab1 SYS_C00254422;
    alter table TAB1
    add primary key (COL1, COL4, COL2, COL7, DTCOL8 )
    using index
    tablespace name_tablespace;
    Message was edited by:
    user613483
    Message was edited by:
    user613483

  • Issue to drill down from a report

    Hi,
    Our requirement is we need to show three different graphs in a single report representing different data, from that we need to drill down to a new different report  ;
    Two approaches we tried with crystal report are;
    1.     We put three graphs and the table in the single report and tried to implement drill down for each graph. We could group data on the basis of first pie chart data and could drill down. But while we tried to group data for second bar chart grouping is happening only as a sub group of first group. Ie, we cannot group data independently for different charts.
    2.     In the second approach we created different  3 sub reports and added in to a main report. But Crystal report is not supporting sub report to a sub report. Ie, we cannot go to drill down report.
    It would be a great help, if you could suggest some solution.
    Thanks,
    Jomy

    Hi,
    As per my understanding, you have one report say Parent1 (SA1) and one Report say Child1 (SA2), now you want to pass some values from parent1 to child1.
    1> Create 1 interim report from parent1.
    2> In your Child report in filter part use result based on another analysis.
    Please let me know if it resolves yourissues.
    Thanks
    Anirban

  • How do I query a SharePoint List using a url and filtering on date?

    I am reading a SharePoint list using jquery.  Everything is working fine
    except for the filter.  Each list item has an expiration date.  I want to retrieve JUST the items that have not expired (Expires > Today) but I can't figure out the url syntax and I've been searching all day for an example and
    can't find one.  Could someone please help?!?  See bold code below.
    Thanks,
    Glen
    $(document).ready(function ()
    <strong>var qryWCFUrl = "/sites/MMTP1/_vti_bin/listdata.svc/MMAlerts?$filter=(Expires gt '08/10/2011')&$orderby=Title";
    </strong> $.getJSON(qryWCFUrl, function (results)
    $.each(results.d.results, function (i, mmAlert)
    itemID = mmAlert.Id;
    mmTitle = mmAlert.Title;
    mmClass = mmAlert.ClassValue;
    //alert("Item="+itemID+" Title="+mmTitle+" Class="+mmClass);
    AddMMStatus(mmAlert.Id,mmAlert.Title,mmAlert.ClassValue);

    Fadi,
    Thanks for your response.  I actually have another version of the code that uses the SP client objects that works.  The problem is site boundries.  Let me give a more complete project explanation.
    I am creating a master page for a new intranet.  As part of this master page, I want to read from an SP list of alerts and post each alert (if not expired) in the SP status bar.  I've gotten this to work with SP client objects and jquery (except
    for the date filter part).  Both of these solutions work fine on the top site level.  BUT when trying it out at the sub-site level, the SP client objects version of my code fails. The jQuery version works except the date filtering.
    I looked at the example from your link and it looks like a bit of a hybrid to my approaches:  JQuery with CAML.  My question is; does this example permit me to access a list in the top-level site from the subsites?  Please excuse my ignorance,
    but I am an EXTREME newbie in this having spent the past 8 years as a VB.Net developer and a little bit of ASP.Net.
    Below are the two different versions of my code in different versions of my master page definition:
    SP Client Object Version
    <script type="text/javascript">
    // <![CDATA[
    ExecuteOrDelayUntilScriptLoaded(LoadAlerts, "sp.js");
    var ctx;
    var currAlerts;
    function LoadAlerts() {
    ctx = new SP.ClientContext.get_current();
    list = ctx.get_web().get_lists('/sites/MMTP1/Lists/').getByTitle('MMAlerts');
    var cmlQry = new SP.CamlQuery();
    var camlExp = '<query><Query><Where><Gt><FieldRef Name="Expires" /><Value IncludeTimeValue="FALSE" Type="DateTime"><Today /></Value></Gt></Where></Query></query>';
    cmlQry.set_viewXml(camlExp);
    currAlerts = list.getItems(cmlQry);
    ctx.load(currAlerts,'Include(ID,Title,Class)');
    ctx.executeQueryAsync(GetAlertsSuccess,GetAlertsFailed);
    function GetAlertsSuccess() {
    var lstEnum = currAlerts.getEnumerator();
    while(lstEnum.moveNext()) {
    var mmAlert = lstEnum.get_current();
    AddMMStatus(mmAlert.get_item('ID'),mmAlert.get_item('Title'),mmAlert.get_item('Class'));
    function GetAlertsFailed(sender,args) {
    alert('Alerts load failed: ' + args.tostring);
    function AddMMStatus(msgID, strTitle, strClass) {
    var statID;
    var statClass;
    var statTitle;
    statClass = "<a href=\"#\" onclick=\"javascript:DisplayAlert("+msgID+");\">" + strClass + ": </a>";
    statTitle = "<a href=\"#\" onclick=\"javascript:DisplayAlert("+msgID+");\">" + strTitle + "</a>";
    statID = SP.UI.Status.addStatus(statClass, statTitle, true);
    SP.UI.Status.setStatusPriColor(statID,"red");
    function DisplayAlert(msgID) {
    var options = {
    title: "Miller & Martin Alert!",
    url: "/sites/MMTP1/SitePages/ShowAlert02.aspx?ID="+msgID,
    allowMaximize: false,
    showClose: true
    SP.UI.ModalDialog.showModalDialog(options);
    // ]]>
    </script>
    JQuery Version (works except for filtering by date)
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript" >
    // <![CDATA[
    var itemID;
    var mmTitle;
    var mmClass;
    $(document).ready(function ()
    var qryWCFUrl = "/sites/MMTP1/_vti_bin/listdata.svc/MMAlerts?$filter=(Expires gt '08/10/2011')&$orderby=Title";
    $.getJSON(qryWCFUrl, function (results)
    $.each(results.d.results, function (i, mmAlert)
    itemID = mmAlert.Id;
    mmTitle = mmAlert.Title;
    mmClass = mmAlert.ClassValue;
    AddMMStatus(mmAlert.Id,mmAlert.Title,mmAlert.ClassValue);
    function AddMMStatus(msgID, strTitle, strClass, strSeverity) {
    var statID;
    var statClass;
    var statTitle;
    statClass = "<div id=\"mmAlertTitle\" style=\"display:inline-block;\"><a href=\"#\" onclick=\"javascript:DisplayAlert("+msgID+");\">" + strClass + ": </a></div>";
    statTitle = "<div id=\"mmAlertDetail\" style=\"display:inline-block;\"><a href=\"#\" onclick=\"javascript:DisplayAlert("+msgID+");\">" + strTitle + "</a></div>";
    statID = SP.UI.Status.addStatus(statClass, statTitle, true);
    SP.UI.Status.setStatusPriColor(statID,"green");
    function DisplayAlert(msgID) {
    var options = {
    title: "Miller & Martin Alert!",
    url: "/sites/MMTP1/SitePages/ShowAlert02.aspx?ID="+msgID,
    allowMaximize: false,
    showClose: true
    SP.UI.ModalDialog.showModalDialog(options);
    // ]]>
    </script>

  • Creation of BADI's Definition, why?

    Hello everyone,
    i hope someone can explain to me, why we should create BADI's definition.
    This is my point:
    BADI's are enhancements, that are available in the Standard SAP, to offer the possibilty of changing/improving the standard code to respond correctly to a company/customer needs. Customer can implement these definitions.
    So, even if we create a new BADI definition, this could'n be trigger/active by/in the standard code.
    So, the possibility of creating "customer" BADIS definition, is for when you develop a customer program, and you want to create an enhancements in that development?
    I associate the BADI's definition to enhancements made by SAP developers in SAP Standard, and badi's implementation to customer developers.
    It's like an analogy with SMOD( SAP ) and CMOD (CUSTOMER).
    Could somone explain to me, the benefits from creating BADI's definition's from customer point of view?
    Thanks for your attention,
    Pedro

    Hi,
    Have a look at below links.
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    Business add-ins are enhancements to the standard version of the system.
    Business Add-In is a new SAP enhancement technique based on ABAP Objects.
    They can be inserted into the SAP system based on specific user requirements.
    Each Business Add-In has:
    • at least one Business Add-In definition
    • a Business Add-In interface
    • a Business Add-In class that implements the interface
    In order to enhance a program, a Business Add-In must first be defined
    Subsequently two classes are automatically generated:
    • An interface with ‘IF_EX_’ inserted between the first and second characters of the BADI name.
    • An adapter class with ‘CL_EX_’ inserted between the first and second characters of the BADI name.
    The Application developer creates an interface for this Add-In.
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    For more info have a look at below links:
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    How to develop BADI
    Regards,
    Ram

  • Badi/user exit for tx vl02n

    Hi,
    I need to find a badi or a user exit thats triggered after pressing "save" in transaction vl02n.
    Help me please.
    Best regards,
    Roberto.

    hey
    .Code SE18 is used to Identify the BADI available.
    Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.
    Open Standard Program and do a global search 'CL_EXITHANDLER'.
    SE18 > give the BADI name found through above search.
    CUSTOMER_ADD_DATA > which has a method SAVE_DATA.
    T.Code SE19 is used to Implement BADI.
    SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.
    Intro.....
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    Check these links for info about badi..
    BADI's
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    BADI's
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://www.esnips.com/web/BAdI
    http://www.allsaplinks.com/badi.html
    New to Badi
    check any fo the below links. this will def help u.
    http://www.allsaplinks.com/badi.html
    And also download this file....
    http://www.savefile.com/files.php?fid=8913854
    There are other tutorials on this site...
    http://sapbrain.com/Tutorials/tuto_download.html
    What are BAdIs?
    -> is an anticipated point of extension – these points act like sockets and exist in the original source code
    -> based on ABAP Objects. BAdI defines an interface that can be implemented by BAdI-implementations that are transport objects of their own
    ->Important! There are 2 roles: Enhancement Option-provider & Implementer.
    -> In the above context, Enhancement Implementation can be done only if option (hook) is provided by the Option-provider. In simple words there are no implicit BAdIs.
    Note: In the following slides, Definitions are created so as to understand the method of BAdI definition & for example purpose. As stated above this is the role of Enhancement Option-Provider.
    Classic BAdIs already exist since SAP Release 4.6
    BAdIs have been Re-implemented in ECC7.0 under the new Enhancement Framework & Switch Framework
    Classic BAdIs
    To understand what a powerful pattern a BAdI is, we will now define & then implement a BAdI
    BADI Class is created automatically.
    The various options are described below in detail:
    1. Enhanceable: Enhanceability of filter types can only be specified for filter-dependent BADI definitions under very special conditions. For example, the domain belonging to the filter type must be linked with a value table that is of the type E or G. A BADI implementation can then be created in one step by creating a new filter value that is automatically entered into the value table at save and also copied into the transport order of the BADI implementation. In addition, it is also possible to create a new filter value and, at the same time, a BADI implementation with the same name. Naturally, you can also specify existing filter values.
    You should select this feature if there is a prerequisite that a new filter value is created together with a new BADI implementation - that is, that BADI implementations are not created solely with existing filter values, although this, too, is possible.
    2. Multiple-Use
    3. Filter-Dependent
    Instance Methods can access all of the attributes of a class and can trigger all events of a class. Static Methods can only access static attributes and static events.
    Exceptions:
    Events:
    Events can be defined in classes or in interfaces. Corresponding methods can trigger these events with the RAISE EVENT statement. Each class (or interface) that is going to handle the corresponding event must implement a relevant handler method, and register it using the SET HANDLER statement. When an event occurs, the system calls all of the handler methods registered for that event.
    Like method definitions, events have a parameter interface. The only difference is that events may only have EXPORTING parameters.
    BADI : Businees Add IN's
    Business Add-Ins are SAP enhancement technique based on ABAP Objects.
    Where the SAP standard program is not going to fullfill the client requirement , we are going to add our own program to SAP standard program, without changing the standard prog.
    Each Business Add-In has
    – at least one Business Add-In definition
    – a Business Add-In interface
    – a Business Add-In class that implements the interface
    Each BADI has two different Views.
    1.Definition view
    2.Implementation view
    T.C for BADI Definition is SE18.
    T.C for BADI Implementation is SE19.
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    Have a look at http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    How to develop BADI
    Rewards if useful.

  • Exit for Foreign trade data(import tab) on ME22N

    In Purchase Order transaction ME22, the requirement is to copy the contents of office of entry field (EIKP-ZOLLA) to EKKO-INCO2 field.(whenever there is any change in office of entry field).The office of entry field is present in import tab of purchase order screen. Whenever any changes happen in it, the standard PO customer exits like ‘EXIT_SAPMM06E_007’  , EXIT_SAPMM06E_006 does not get triggered  Nor the BADI ‘ME_PROCESS_PO_CUST’. However,  foreign trade exit EXIT_SAPLV50E_005 gets triggered. In this exit only completeness of data is checked and EKKO values cannot be modified from this exit.
    Is there any alternative exit or BADI which gets triggered on the making changes in any data in the import (foreign trade data) tab in PO? Is there any mechanism to change EKKO-INC02 (screen value) from any of the other exits (i.e. exits triggered on data entry in foreign trade tab)?

    Transaction Code - ME22N                    Change Purchase Order
    Exit Name           Description
    LMEDR001            Enhancements to print program
    LMELA002            Adopt batch no. from shipping notification when posting a GR
    LMELA010            Inbound shipping notification: Transfer item data from IDOC
    LMEQR001            User exit for source determination
    LMEXF001            Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001            Customer-Specific Source Determination in Retail
    M06B0001            Role determination for purchase requisition release
    M06B0002            Changes to comm. structure for purchase requisition release
    M06B0003            Number range and document number
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn.
    M06E0004            Changes to communication structure for release purch. doc.
    M06E0005            Role determination for release of purchasing documents
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1            Enhancement to Document Overview ME21N/ME51N
    MEVME001            WE default quantity calc. and over/ underdelivery tolerance
    MM06E001            User exits for EDI inbound and outbound purchasing documents
    MM06E003            Number range and document number
    MM06E004            Control import data screens in purchase order
    MM06E005            Customer fields in purchasing document
    MM06E007            Change document for requisitions upon conversion into PO
    MM06E008            Monitoring of contr. target value in case of release orders
    MM06E009            Relevant texts for "Texts exist" indicator
    MM06E010            Field selection for vendor address
    MMAL0001            ALE source list distribution: Outbound processing
    MMAL0002            ALE source list distribution: Inbound processing
    MMAL0003            ALE purcasing info record distribution: Outbound processing
    MMAL0004            ALE purchasing info record distribution: Inbound pro
    MMDA0001            Default delivery addresses
    MMFAB001            User exit for generation of release order
    MRFLB001            Control Items for Contract Release Order
    AMPL0001            User subscreen for additional data on AMPL
    No of Exits:         35
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    BAPI
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
    Rewards if useful.........
    Minal

  • BAdI........How are they used in the real time scenario.

    Im a rookie in ABAP development and i was wondering that how we use the BAdI enhancement technique in the real time scenarios. Like do we get create them or we have few already built BAdI's which we work on? Can any body please explain how this works.

    Hi Ramana,
    Business add-ins are enhancements to the standard version of the system.
    Business Add-In is a new SAP enhancement technique based on ABAP Objects.
    They can be inserted into the SAP system based on specific user requirements.
    Each Business Add-In has:
    • at least one Business Add-In definition
    • a Business Add-In interface
    • a Business Add-In class that implements the interface
    In order to enhance a program, a Business Add-In must first be defined
    Subsequently two classes are automatically generated:
    • An interface with ‘IF_EX_’ inserted between the first and second characters of the BADI name.
    • An adapter class with ‘CL_EX_’ inserted between the first and second characters of the BADI name.
    The Application developer creates an interface for this Add-In.
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    Have a look at http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    How to develop BADI
    Reward if useful.
    Thanks
    Aneesh.

  • Exits in the function module - SO_OBJECT_SEND

    Hi,
    As per my requirement, I need to add a common line to the body of the E-mail that is sent via the function module SO_OBJECT_SEND.
    So please let me know if any Exit/BADI exists that I can use to modify the body of the E-mail.
    Thanks & Regargs,
    Madhuri.

    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    BADI
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40921dd7-d5cf-2910-1894-bb62316afbd1
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
    Rewards if useful.........
    Minal

  • Enhancement Spot :

    Hi All,
           i have a doubt regarding the Enhancement Spot and Enhancement Point. I have a little idea about this and want to know in detail. please if anyone have any good sites or material please let me know so that i can have a look on that.
    Currently i am trying to copy the standard transaction COGI into the ZCOGI transaction with SAP 6.0. and there exists some enhancement points and enhancement spot which are not getting copied into my ZCOGI transaction. What is the reason behind it? Does it affect the original functionality which is there in the standard transaction?Because i want to retain all the satndard fuctionality. I donot have anything to do in the ENHANCEMENT ...... ENDENHANCEMENT.i have to do some additional data fetching based on the additional selection criteria to be added on the selection screen and based on that i want to show some additional fields in the ALV output.
    Thanks in advance.
    Suchismita

    Hi Suchi,
    Whats the problem in copying ?
    If you want to make any changes in the TCODE , copy the program related to COGI and make changes in it.
    here is link for nice weblogs  :
    /people/thomas.weiss/blog/2006/01/24/what-the-new-enhancement-framework-is-for-150-its-basic-structure-and-elements-for-beginners
    /people/thomas.weiss/blog/2006/03/15/the-new-enhancement-framework-part-2--what-else-you-need-to-know-before-building-an-enhancement
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
    We need to be very thankful Thomas Weiss for his excellent blogs.
    Regards,
    Madhu.

  • Can not deploy after upgrading application from workshop 8.1 to 9.2

    Hi,
    We have an application developed on workshop 8.1 worked fine. when we upgrade the application to 9.2, the application can not be deployed on weblogic server. The error is
    weblogic.application.ModuleException: [HTTP:101064][WebAppModule(SynDesk:SynDesk
    Web)] Error parsing descriptor in Web appplication "C:\build\weboutput"
    "weblogic.application.ModuleException: Unmarshaller failed'
    Caused by: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists:
    "weblogic.j2ee.descriptor.ParamValueBeanImpl@dccea29(/[NTLM HTTP Authentication
    Filter]/InitParams[jcifs.netbios.wins])"
    When I remove the NTLM filter part in the web.xml, the application is able to be deployed. But of course application does not work propertly due to no authentication.
    How can I fix the web.xml file with everything works as before? Thanks for your help
    Here is my web.xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>SyndeskWeb Application</display-name>
    <description/>
    <filter>
    <filter-name>NTLM HTTP Authentication Filter</filter-name>
    <filter-class>com.mycompany.BofaNtlmFilter</filter-class>
    <init-param>
    <description/>
    <param-name>jcifs.netbios.wins</param-name>
    <param-value>crpsecwin00.mycompany.com</param-value>
    </init-param>
    <init-param>
    <description/>
    <param-name>jcifs.netbios.wins</param-name>
    <param-value>crpchiwin00.mycompany.com</param-value>
    </init-param>
    <init-param>
    <description/>
    <param-name>debug</param-name>
    <param-value>true</param-value>
    </init-param>
    <init-param>
    <description/>
    <param-name>jcifs.util.log</param-name>
    <param-value>ALL</param-value>
    </init-param>
    <init-param>
    <description/>
    <param-name>bofa.retryCount</param-name>
    <param-value>1</param-value>
    </init-param>
    <init-param>
    <description/>
    <param-name>bofa.retrySleepTime</param-name>
    <param-value>60</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>NTLM HTTP Authentication Filter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>NTLM HTTP Authentication Filter</filter-name>
    <url-pattern>*.jpf</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>NTLM HTTP Authentication Filter</filter-name>
    <url-pattern>*.do</url-pattern>
    </filter-mapping>
    <servlet>
    <description/>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.beehive.netui.pageflow.PageFlowActionServlet</servlet-class>
    <init-param>
    <description/>
    <param-name>config</param-name>
    <param-value>/_pageflow/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <description/>
    <param-name>config/-global</param-name>
    <param-value>/_pageflow/struts-config--global.xml</param-value>
    </init-param>
    <init-param>
    <description/>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <description/>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <welcome-file-list>
    <welcome-file>Controller.jpf</welcome-file>
    </welcome-file-list>
    <error-page>
    <error-code>500</error-code>
    <location>/error.jsp</location>
    </error-page>
    <error-page>
    <error-code>505</error-code>
    <location>/error.jsp</location>
    </error-page>
    <error-page>
    <error-code>404</error-code>
    <location>/Controller.jpf</location>
    </error-page>
    <jsp-config>
    <taglib>
    <taglib-uri>netui-tags-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/tld/netui-tags-html.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>netui-tags-databinding.tld</taglib-uri>
    <taglib-location>/WEB-INF/tld/netui-tags-databinding.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>netui-tags-template.tld</taglib-uri>
    <taglib-location>/WEB-INF/tld/netui-tags-template.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>c.tld</taglib-uri>
    <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>fmt.tld</taglib-uri>
    <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>sql.tld</taglib-uri>
    <taglib-location>/WEB-INF/tld/sql.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>x.tld</taglib-uri>
    <taglib-location>/WEB-INF/tld/x.tld</taglib-location>
    </taglib>
    </jsp-config>
    <filter>
    <filter-name>PageFlowJspFilter</filter-name>
    <filter-class>org.apache.beehive.netui.pageflow.PageFlowJspFilter</filter-class>
    </filter>
    <filter>
    <filter-name>PageFlowForbiddenFilter</filter-name>
    <filter-class>org.apache.beehive.netui.pageflow.PageFlowForbiddenFilter</filter-class>
    <init-param>
    <param-name>response-code</param-name>
    <param-value>404</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>PageFlowJspFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>PageFlowJspFilter</filter-name>
    <url-pattern>*.jspx</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>PageFlowForbiddenFilter</filter-name>
    <url-pattern>*.java</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>PageFlowForbiddenFilter</filter-name>
    <url-pattern>*.jsfb</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>PageFlowForbiddenFilter</filter-name>
    <url-pattern>*.jpfs</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>PageFlowForbiddenFilter</filter-name>
    <url-pattern>/_pageflow/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <listener>
    <listener-class>org.apache.beehive.netui.pageflow.PageFlowContextListener</listener-class>
    </listener>
    <listener>
    <listener-class>org.apache.beehive.netui.pageflow.HttpSessionMutexListener</listener-class>
    </listener>
    <servlet>
    <servlet-name>XmlHttpRequestServlet</servlet-name>
    <servlet-class>org.apache.beehive.netui.pageflow.xmlhttprequest.XmlHttpRequestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.jpf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>XmlHttpRequestServlet</servlet-name>
    <url-pattern>*.xhr</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>XmlHttpRequestServlet</servlet-name>
    <url-pattern>*.render</url-pattern>
    </servlet-mapping>
    </web-app>
    Edited by cynthialiu at 05/28/2008 12:16 PM

    Hi. The issue is a level or two above JDBC. I suggest
    opening an official support case. It's probably a
    WLW issue.
    Joe

  • Until it "Works With iPhone"

    While you're waiting for those "Works with iPhone" 3rd-party devices to show up on the shelves, these two suggestions may help (#2 is the big one):
    1) By now you've probably figured out that you can make almost any headphone plug fit the iPhone by removing about a 1mm ring of plastic or rubber with an X-Acto knife. If you don't trust your surgical skills on that $200 pair of headphones, buy a cheap headphone splitter and modify it instead, then plug your headphones into it.
    2) If you've given up on your powered speakers or FM-transmitter because of the squeaky noises, try this: Radio Shack sells a "Ferrite Data Line Filter", Part Number 273-105, for under $6. It's a little plastic box that snaps around your cable and blocks most (maybe not all, but most) of that GSM squawk when your sweetheart calls or your phone is just trying to find a new tower. The filter needs to be near the iPhone end of the cable. If you build up a little section of the cable with foam or tape to about a pencil diameter, the box will grip and not slide. If you loop the cable through twice, you won’t need the padding and the loop may actually improve the filtering.
    I tried this on a road trip from Atlanta to Richmond and only really noticed the GSM buzz while I was passing through downtown Richmond. Something about signals bouncing around between tall buildings, I suppose. For most of the trip it worked great, and even in downtown Richmond the buzz was greatly reduced. It’s still a good idea to keep the phone as far away from the radio or speakers as possible.
    This device is available at most, but not all, Radio Shack stores. Go to the Radio Shack website and they will tell you which store near you carries this part number.
    Combining suggestions 1 and 2: If you attach the filter more or less permanently to a headphone splitter, you will have a removable filter that your friends can check out on their iPhones.
    Caveat Emptor: This may not work for everyone. If it doesn't, you're only out six bucks, and it won't harm anything.
    Enjoy!
    -Peter

    While you're waiting for those "Works with iPhone" 3rd-party devices to show up on the shelves, these two suggestions may help (#2 is the big one):
    1) By now you've probably figured out that you can make almost any headphone plug fit the iPhone by removing about a 1mm ring of plastic or rubber with an X-Acto knife. If you don't trust your surgical skills on that $200 pair of headphones, buy a cheap headphone splitter and modify it instead, then plug your headphones into it.
    2) If you've given up on your powered speakers or FM-transmitter because of the squeaky noises, try this: Radio Shack sells a "Ferrite Data Line Filter", Part Number 273-105, for under $6. It's a little plastic box that snaps around your cable and blocks most (maybe not all, but most) of that GSM squawk when your sweetheart calls or your phone is just trying to find a new tower. The filter needs to be near the iPhone end of the cable. If you build up a little section of the cable with foam or tape to about a pencil diameter, the box will grip and not slide. If you loop the cable through twice, you won’t need the padding and the loop may actually improve the filtering.
    I tried this on a road trip from Atlanta to Richmond and only really noticed the GSM buzz while I was passing through downtown Richmond. Something about signals bouncing around between tall buildings, I suppose. For most of the trip it worked great, and even in downtown Richmond the buzz was greatly reduced. It’s still a good idea to keep the phone as far away from the radio or speakers as possible.
    This device is available at most, but not all, Radio Shack stores. Go to the Radio Shack website and they will tell you which store near you carries this part number.
    Combining suggestions 1 and 2: If you attach the filter more or less permanently to a headphone splitter, you will have a removable filter that your friends can check out on their iPhones.
    Caveat Emptor: This may not work for everyone. If it doesn't, you're only out six bucks, and it won't harm anything.
    Enjoy!
    -Peter

Maybe you are looking for