Context mapping problem in FPM

Hi all,
here is a samll example where i am going to display the Attributes from the SELECT perspective to the REVIEW perspective. where the Values from the SELECT View is To be Displayed in the Review view.
my Compnents are like..
cctest
FcTest
Vcfirst
VcNext
VcNavi
everything is working fine i am able to get RoadMap.
i have done mapping b/w the components as...
|ComponentController| -- | interFace Controller
CcTest -
FcTest -
FcTest IC
Vcfirst FcNavigation IC,FctestIC Vcfirst IC
VcNext FcNavigation IC,FctestIC VcNext IC
VcNavi -
FcNavi
i have one attribute in VcFirst Perspective ... i am not able to get that value in the VcNext perspective ...

Hallo Bunny,
are you sure that both of your visual UI components VcNext and VcNavi point to the same instance of faceless component FcNavigation at runtime?
Read more on the reason in this forum thread: Re: Why Context Mapping is always null for my embeded view?
Regards, Bertram

Similar Messages

  • Web dynpro welcome example edit context mapping problem

    hi,
    i tried to build a web dynpro like the welcome example from web dynpro.
    so i created the views etc, created an atrribute matnr  in the context of the component.
    then i connected the other views with the component. for this i used the required controllers.
    so, now i created a attribute nr in the context of the other view and wanted to connect it with matnr from beginning with edit context mapping.
    but in the shown context is not the attribute matnr. there is no attribute.
    any idea what went wrong or is there something that i missed?
    thank you

    Hi Marcus,
    Do one thing Create Value Attribute under Context like(matnr). Next Right Click on Webdynpro Component Click on Open Data Modular that time it will open data modular View. Here we are doing Context Mapping to Component Controller to View Controller that time Same Value Attribute will be created in View Controller also.
    In context mapping, the actual context data is saved only once in the original node. All other context nodes that are mapped to this original node reference the same contents, without having to save it again, for example using copies. In this way, inconsistent context contents are avoided.
    Please look at this simple WDJ Application. http://help.sap.com/saphelp_nw04/helpdata/en/bc/e4d61774174344a4b126ad07e8c230/content.htm
    I hope this is help full for you,
    Regards
    Vijay

  • External context mapping problem

    Hi,
    I am trying to create a sample application for external context mapping
    1. I created a webdynpro project.
    2. In that project i created  2 web dynpro components PrComp and ChComp. 
    3. In the ChComp Interface controller context created a node MappedNode with attribute text.The node property isInputElement is set to true and also the carinality to 0..1
    4. Added the ChComp as Used Component for PrComp.
    5. Mapped the context of the ChComp Interface controller to ChComp Component controller and PrComp component Controller.
    6. In the ChComp Component controller, i initialize the node atribute text with some value.
    public void wdDoInit()
        //@@begin wdDoInit()
         wdContext.currentMappednodeElement().setMappedText("Mapped Attribute");
        //@@end
    7. In the PrComp component controller i create the ChComp and try to retrieve the value of the node attribute text.
           public void wdDoInit()
        //@@begin wdDoInit()
         wdThis.wdGetChildCompComponentUsage().createComponent();
         String text = wdContext.currentMappednodeElement().getMappedText();
         wdComponentAPI.getMessageManager().reportSuccess("mapped value "+text);
        //@@end
    When i deploy and run the application i get the following error
    java.lang.NullPointerException
        at com.sap.tc.ram.sample.external.context.mapping.ChComp.wdDoInit(ChComp.java:98)
    I am creating this app as a sample for external context mapping.please tell me if i am doing the rigth thing.

    Shiram,
    Your code will not work until you remove any node access from wdDoInit in ChComp (step 6).
    Think about the actual execution sequence:
    1. PrComp creates usage of child (ChComp) via createComponent
    2. ChComp get initialized internally by WD framework, as part of process ChComp.wdDoInit is invoked
    3. Context mapping is applied parent(source) <->child(target)
    So step [2] happens always before [3], you didn't alter this behavior via cardinality as suggested by other readers.
    What you can to do?
    1. Do not use wdDoInit of ChComp to populate / access data. Populate data from PrComp instead.
    2. Do you really need isInputElement? Think about it. If you remove isInputElement setting in child, then create mapped node in parent, then node in child will be source of data and you may safely populate it ChComp.wdDoInit.
    And, as other pointed out, cardinality still can cause error -- you are using 0..* but not creating element manually. Either set cardinality to 1..* or create element in wdDoInit of "source" controller (PrComp for [1], ChComp for [2])
    Valery Silaev
    SaM Solutions
    http://www.sam-solutions.net

  • BAPI Web Service Context Mapping Problem

    Hello all,
                 I am developing a process consisting of an automated activity.
    This automated activity uses a logical destination for a web service call to an ECC BAPI.
    The BAPI name is 'BAPI_INQUIRY_CREATEFROMDATA2'
    Now the problem is the Output mapping in the automated activity which calls the web service for the above BAPI has the response name as 'BAPI_INQUIRY_CREATEFROMDATA2.Response'
    So when i try to map the nodes it gives me an error, 'Error at Line 2, Column 29, Found '.' after BAPI_INQUIRY_CREATEFROMDATA2'.
    Since there is no mapping i do not get the process working
    If i remove the '.' from the wsdl file source, mapping is done. But the backend service call gives an error.
    How can i solve this problem?
    Any inputs will be very helpful.

    Hello Martin,
                     thnks a ton for your replies.
    The '.' is a standard thing.
    Its the part of the WSDL file which is a standard WSDL file for a service offered for a standard SAP BAPI. So i haven't changed anything.
    Its what is standardly available. So i cant anything on that.
    And the response element is not below the bapi node.
    The name of the root node of the BAPI return context is
    "BAPI_INQUIRY_CREATEFROMDATA2.Response"
    This is what is causing the problem.
    Please note here that '.' is not responsible for any hierarchy. Its the name of one single root node element.

  • Context Mapping Problem from IDoc to EDI

    Hi,
    I'm trying to map an IDoc to an EDI and I get this problem.
    In my IDoc, I have segment E1ADRM1 (1:N)
    My mapping condition is if E1ADRM-PARTNER_Q = OSP then copy E1ADRM-REGION into x (EDI field)
    So here is my problem:
    In my IDoc test, the segment E1ADRM1 is repeated 6 times and the field REGION is not populated in all iterations so the wrong
    REGION is being copied to my EDI field.
    If I do a display queue on E1ADRM-PARTNER_Q, the value OSP is at the 5th position
    AG
    SP
    VE
    WE
    OSP  ***
    OSO
    If I do a display queue on E1ADRM-REGION, since only 5 segment E1ADRM have the field REGION populated, I get
    KS
    VA
    KS
    ON
    VA
    **(E1ADRM-PARTNER_Q = SP do not have the RIGION populated so not showing in the IDoc)
    So now, since E1ADRM-PARTNER_Q = OSP is at the 5th position, it is copying the 5th E1ADRM-REGION from the list but it should be the 4th.
    How can I do that?
    Rgds,
    Yves

    Hi,
    For the mapping to work as you are expecting the queue should look like this(<b>CC</b> denotes context change)..
    KS
    <b>CC</b>
    <b>CC</b>
    VA
    <b>CC</b>
    KS
    <b>CC</b>
    ON
    <b>CC</b>
    VA
    If you are not having the context changes, check at what level is field REGION at, right click on REGION in graphical mapping and choose menu item context, the 1st entry should have the tick mark(same should be for the PARTNER_Q field also).
    Thanks,
    Renjith.

  • Webdynpro Context mapping problem

    I have created a Webdynpro component(A) in which i am getting details from the BAPI(model) and I have exposed this component as a public part and I am using this component in another webdynpro component(B).
    In the second webdynpro component(B)  I have an iview and i have made context binding with above Component(Used Webdynpro component).  and in my iview there was an table.
    when i am doing the context binding in the layout its giving error ""Error for UI Element with Label _____" Select an attribute of type String."
    I am using NWDS 2.0.14.  Has anybody facing this problem?

    Hi,
    It seems to be a corruption in the metadata for  the views.
    Or else you might have missed some bindings
    If possible, Go to the Problems view and find the details of the error. Double on that to fix it.
    Regards
    Ayyapparaj

  • Context mapping problem

    Hi experts,
    Can anyone enlighten on the following:
    I have a component controller and i created a value node with following properties:
    cardinality: 0..n
    selection:0..1
    singleton: true
    Then i have 2 views (view A and view B).
    The 2 views context are both mapped to the value node of the component controller and both view displays the values of the attributes in a textfield.
    When i change an attribute value in view A, it is also reflected in view B but when when i change in view B, it doesn't get reflected in view A. View A still holds the old value.
    Any explanation ?
    Thanks.
    Rgds,
    Daniel

    hi
    try to even check the view property , set it to Frame_Controlled , if it is set to when_visible.
    with respect to your requirement , you have created the value node in the component controller
    and  when you try to  change an attribute value in view A or View B ,
    for the moment , and the try checking with printing the values of the
    context attributes , and see whethere you are able to set the values to context properly ,
    and  if possible please  provide the code code you have written 
    Thanks

  • Enterprise JavaBean Model context mapping problem with dates from CAF BO

    Hi Experts,
    using CAF BO inside WD Java is a little bit problematic!
    The CAF core Datatype "Date" is exposed as "javax.xml.datatype.XMLGregorianCalendar".
    This datatype is not bindable to context attributes, cause wd is only supporting native java types.
    in this case, a java.sql.date is needed.
    What is the best practise to use JavaBean Models (CAF BOs) with attributes of type "Date"?
    The normal Adaptive RFC Model imports ABAP Dates as java.sql.dates!
    Using CAF external services, all ABAP Dates are exposed also as XMLGregorianCalendar.
    How can i use/bind such models with less programming effort?
    Best wishes,
    Holger

    Hi Roelof,
    CAF automatically decides which datatypes are used. It is not possible to change the used datatype
    for imported external RFCs, so all ABAP Date Attributes will be typed as XMLGregorianCalendar.
    This is different from the Web Dynpro Adaptive RFC Model, where ABAP Date Attributes are
    converted as java.sql.date.
    Best wishes,
    Holger

  • External Context Mapping - Pass data from Child to Parent

    Hello,
    I have the following scenario:
    DCParent Component (contains)
    - DCChildComp1    (used DC)
    - DCChildComp2    (used DC)
    - DCChildComp3    (used DC)
    - DCChildComp4    (used DC)
    What user enters in DCChildComp1 then needs to be made available to DCParent and all other DCChildComp(n) siblings.
    I have looked the posts and blogs in SDN and all of them seem to deal with passing inputField data from Parent to Child. May be I am missing it.
    In my case, I need the data to be passed from DCChildComp1 to DCParent ie Child to Parent. Then from DCParent to other DCChildComps.
    How should I go about
    a. defining the context nodes and Component Interface context nodes in parent vs child vs siblings and
    b. how should I map them externally?
    Step by step instruction would be helpful.
    Thanks in advance,
    SK.

    Thanks for all the help. As I had already seen all the links and blogs you had linked here, I was still confused about how it all came together. Finally, I got it after reading Bertram Ganz's response in this thread [Context Mapping problem;.
    when you map a context in the parent comp to an interface context in the used child component you do not define an external context mapping relation. That's normal context mapping as the data context resides in the child component.
    I have it working now and I am able to push the changes in the child component's context to the parent.
    For those who are interested in how I did it (and those who know a better way to do it
    In the child component DC:
    Map Child's View Context to Child's Controller Context
    Map Child's Controller Context to Child's Interface Controller (make sure the inputEnabled is FALSE - as the child is the data producer and the parent is the data consumer, in my case)
    In the parent DC:
    Add child DC as a Used DC
    Add child Component as a Used Component in the Parent Component
    Add Child's Interface Controller as Required Controller in Parent Component
    Map Child's Interface Controller Context to Parent's Controller Context
    Map Parent's Controller Context to Parent's View Context
    No external mapping required per the thread above. Now, any change in the child component's view is visible in the parent component view.
    Thanks again very much for the help.
    - Siva

  • Problem with context mapping and data flow in a FPM application

    Hi All,
    I am trying to develop an ESS application using FPM. For the same, the requirement is to see the history of an employee in the second view.
    The first view has got just the overview information and the second one has got the detail. So, the records or the fields are the same on both the views.
    As per the FPM guidelines, the Model is residing in the Fc component and the respective Vc components are using the model data accordingly.
    I am executing the model in the Fc component calling the executable method in the interfaceController of the first view and then trying to display the output data of the BAPI in the first view which provides the overview information.This is working fine.
    But when i am trying to map the same output node to the Table UI for the second view, the record size is coming zero and thus no information is available.
    For the above issue, I am again executing the RFC in the InterfaceController of the second view to populate the records, which is incorrect as it is already executed and the data is available for the first view.
    I request you to let me know the correct approach to Context mapping and data flow when using FPM-roadmap. Is their any standard method or approach available to deal with such requirements? Please let me know.
    Thanks in advance.
    Regards
    DK

    Hi Idhaya,
    I model node is available in Fc and the Fc interface controller is being used in the first Vc and the second Vc.
    So the idea is, as the executable method is generated in the Fc, so i have created a custom method to call the executable method in Fc, where the input parameter is getting passed and this custom method is finally getting called is the first Vc.
    So , now my first Vc is ready to call the custom method in Fc and execute the RFC. Once the RFC is executed, the nodes in the Fc should get populated which is the ideal case.
    And as the Fc is used as a component in the second Vc, the same node is available to the UI elements.
    But, when I check the record size for the output node, it is always zero, for the second Vc.
    Regards
    DK

  • Problems with external context mapping

    Hi ,
    I am having the following problems with external context mapping from one WD component to another.
    Problem description:
    In the <i>Component Interfaces</i> I have defined a WD interface "InfA".
    In the <i>interface controller</i> of this compoenent,I have ContextA and attributeA(cardinality 1..1).The contextA is marked as an "Input Element".
    Now my webdynpro componentB adds InfA as used component.In componentB I decalre a contextB with attributeB and map it to contextA to set up the external context mapping.
    Now I expect that if any webdynpro component implements this WD interface InfA ,he has access to contextA with the data getting filled from contextB.
    After i have created the component for the used component I try to fill values in the source node contextB thru this code:
    wdContext.currentContextB.setB(value);
    But in the runtime I keep getting error nullPointerException for nodeContextB,suggesting that the mapping has not been completed.
    Can anyone suggest due to what the error can come ,and, if its a webdynpro bug ,is there a workaround??
    Thanks in advance for your help.
    Best regards
    Sourav

    HI,
    Valery : I personally checked  by doing the example, if the names of value attribute are different in the child's interface and parents component controller then it throws the exception.
    Sourav: NullPointer Exception is thrown when something is not properly initialised, if in the main component the cardinality of mapped origin is 1.1 then you need to access it element directly like:
    wdContext.currentParentNodeElement().setFname("Abhijeet");
        wdContext.currentParentNodeElement().setLname("M");
    i will suggest just check out if you are declaring some element of value node and without initialising taking its use or what?
    if this doesnt solve your problem, please post the expanded exception.
    hope it helps
    let me know if you face nay problem
    regards

  • Problem with CrossComponent Context Mapping with PopupWindow (web dynpro ab

    The situation:
    I have four views (View V1, V2, V2_popup, V3) in three Components C1, C2,C3.
    View V1 is embeded in Component C1. View V2 is embeded in C2 with view V2_popup as Popup-Window.
    View V3 is embeded in Component-C3. And at last the View of Component C2 and C3 are embeded in View V1.
    The Problem is the CrossOver Context Mapping between the view V2 and V3.
    My first way is the "direct context mapping":
    I define a node in the ComponenteControllen from Component-C2 as interface and use it over the ComponentenController
    from Component-C3 in view-V3. Now I bind an attribute of the mapped node to an ui-element (e.g: inputfield),
    but the output of the Field is empty.
    The second way is, that I define an external Mapping for this situtation.
    I define a node in the componente-controllen from Component-C2 (an Component-C3)as interface with the attribute "Input Element (Ext)".
    Than I map the two nodes with a node from Component-C1. That's works fine.
    BUT, if I execute an action (e.g. action_save)in the popup for view-v2 (V2_popup) the changings from the inputfields don't write (show)in the context of the
    popup-view. I check this with the debugger. And if I close the popup and open it again, the changings are visible.
    Short: If I define a node with attribute "Input Element (Ext)", I don't can read changings from
    the screen in a popup-window.
    How I can solve this problem???
    Message was edited by:
            Maik Sturm

    Hi Maik,
    try this:
    at first you have to instantiate all! used components in the wddoinit method of the componentcontroller in your main (c1) component.
    e.g. instance of c2 Component
      lr_usage_c2_comp =   wd_this->wd_cpuse_c2_comp( ).
      IF lr_usage_c2_comp->has_active_component( ) IS INITIAL.
        lr_usage_c2_comp->create_component( ).
      ENDIF.
    and at the end set the reference:
      l_ref_interfacecontroller =  wd_this->wd_cpifc_c3_comp( ).
      l_ref_interfacecontroller->set_usage(
        ir_usage_c2_comp = lr_usage_c2_comp ).
    set_usage is a method in the c3 component controller,
    METHOD set_usage .
      DATA: lr_usage TYPE REF TO if_wd_component_usage.
      lr_usage = wd_this->wd_cpuse_c2_comp( ).
      lr_usage->enter_referencing_mode( ir_usage_c2_comp ).
    After doing this the components are using the same instance and you can simply use direct mapping between the components.
    Hope it helps.
    regards
    Christian

  • Mapping problem with compressed key update record

    Hi, could you please advise?
    I'm getting the following problem:
    About a week ago replicat abened with "Error in mapping" error. I found in discard file some record looking like:
    filed1 = NULL
    field2 =
    field3 =
    field4 =
    field5 =
    datefield = -04-09 00:00:00
    field6 =
    field8 =
    field9 = NULL
    field10 =
    Where filed9 = @GETENV("GGHEADER", "COMMITTIMESTAM"), field10 = = @GETENV("GGHEADER", "COMMITTIMESTAM"), others are table fields mapped by USEDEFAULTS
    So I got Mapping problem with compressed key update record at 2012-06-01 15:44
    I guess I need to mention that extract failed in 5 minuts before it with: VAM function VAMRead returned unexpected result: error 600 - VAM Client Report <[CFileInfo::Read] Timeout expired after 10 retries with 1000 ms delay, waiting to read transaction log or backup files. To increase the number of retries, use SETENV (GGS_CacheRetryCount = n) in Extract parameter file. To control retry delay time, use SETENV (GGS_CacheRetryDelay = n). handle: 0000000000000398 ReadFile GetLastError:997 Wait GetLastError:997>.
    I don't know if it has ther same source as data corruption, could you tell me if it is?
    Well, I created new extract, starting 2012-06-01 15:30 to check if there was something with extract at the time, but got the same error.
    If I run extract beging at 15:52 it starts and works.
    But well, I got another one today. Data didn't look that bad, but yet one column came with null value:( And I'm using it as a key column, so I got Mapping problem with compressed key update record again:(
    I'm replicating from SQL Server 2008 to Oracle 11g.
    I'm actually using NOCOMPRESSUPDATES in Extract.
    CDC is enabled for all tables replicated. The only thing is that it is enabled not by ADD TRANDATA command, but by SQL Server sys.sp_cdc_enable_table, does it matter?
    Could you please advise why does it happen?

    Well, the problem begins somewhere in extract or before extract, may be in transaction log, I don't know:(
    Here are extract parameters:
    EXTRACT ETCHECK
    TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
    SOURCEDB TEST, USERID **, PASSWORD *****
    exttrail ./dirdat/ec
    NOCOMPRESSUPDATES
    NOCOMPRESSDELETES
    TABLE tst.table1, COLS (field1, field2, field3, field4, field5, field6, field7, field8 );
    TABLE tst.table2, COLS (field1, field2, field3, field4 );
    Data pump:
    EXTRACT DTCHECK
    SOURCEDB TEST, USERID **, PASSWORD *****
    RMTHOST ***, MGRPORT 7809
    RMTTRAIL ./dirdat/dc
    TABLE tst.table1;
    TABLE tst.table2;
    Replicat:
    REPLICAT rtcheck
    USERID tst, PASSWORD ***
    DISCARDFILE ./dirrpt/rtcheck.txt, PURGE
    SOURCEDEFS ./dirdef/sourcei.def
    HANDLECOLLISIONS
    UPDATEDELETES
    MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
    MAP dbo.TPROCPERIODCONFIRMSTAV, TARGET R_019_000001.TPROCPERIODCONFIRMSTAV, COLMAP (USEDEFAULTS , field5 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed6= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (filed1, field2, field3);
    Rpt file for replicat:
    Oracle GoldenGate Delivery for Oracle
    Version 11.1.1.1 OGGCORE_11.1.1_PLATFORMS_110421.2040
    Windows x64 (optimized), Oracle 11g on Apr 22 2011 00:34:07
    Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
    Starting at 2012-06-05 12:49:38
    Operating System Version:
    Microsoft Windows Server 2008 R2 , on x64
    Version 6.1 (Build 7601: Service Pack 1)
    Process id: 2264
    Description:
    ** Running with the following parameters **
    REPLICAT rtcheck
    USERID tst, PASSWORD ***
    DISCARDFILE ./dirrpt/rtcheck.txt, PURGE
    SOURCEDEFS ./dirdef/sourcei.def
    HANDLECOLLISIONS
    UPDATEDELETES
    MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
    MAP dbo.TPROCPERIODCONFIRMSTAV, TARGET R_019_000001.TPROCPERIODCONFIRMSTAV, COLMAP (USEDEFAULTS , field5 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed6= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (filed1, field2, field3);
    CACHEMGR virtual memory values (may have been adjusted)
    CACHEBUFFERSIZE: 64K
    CACHESIZE: 512M
    CACHEBUFFERSIZE (soft max): 4M
    CACHEPAGEOUTSIZE (normal): 4M
    PROCESS VM AVAIL FROM OS (min): 1G
    CACHESIZEMAX (strict force to disk): 881M
    Database Version:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE     11.2.0.1.0     Production
    TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    Database Language and Character Set:
    NLS_LANG = "AMERICAN_AMERICA.CL8MSWIN1251"
    NLS_LANGUAGE = "AMERICAN"
    NLS_TERRITORY = "AMERICA"
    NLS_CHARACTERSET = "CL8MSWIN1251"
    For further information on character set settings, please refer to user manual.
    ** Run Time Messages **
    Opened trail file ./dirdat/dc000000 at 2012-06-05 12:49:39
    2012-06-05 12:58:14 INFO OGG-01020 Processed extract process RESTART_ABEND record at seq 0, rba 925 (aborted 0 records).
    MAP resolved (entry tst.table1):
    MAP tst.table1, t.table1, COLMAP (USEDEFAULTS , filed9 = @GETENV("GGHEADER", "COMMITTIMESTAMP"), filed10= @CASE(@GETENV("GGHEADER", "OPTYPE"), "SQL COMPUPDATE", "U", "PK UPDATE", "U",@GETENV("GGHEADER", "OPTYPE")) ), KEYCOLS (field3);
    2012-06-05 12:58:14 WARNING OGG-00869 No unique key is defined for table table1. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.
    Using the following default columns with matching names:
    field1=field1, field2=field2, field3=field3, field4=field4, field5=field5, field6=field6, field7=field7, field8=field8
    Using the following key columns for target table R_019_000001.TCALCULATE: field3.
    2012-06-05 12:58:14 WARNING OGG-01431 Aborted grouped transaction on 'tst.table1', Mapping error.
    2012-06-05 12:58:14 WARNING OGG-01003 Repositioning to rba 987 in seqno 0.
    2012-06-05 12:58:14 WARNING OGG-01151 Error mapping from tst.table1 to tst.table1.
    2012-06-05 12:58:14 WARNING OGG-01003 Repositioning to rba 987 in seqno 0.
    Source Context :
    SourceModule : [er.main]
    SourceID : [er/rep.c]
    SourceFunction : [take_rep_err_action]
    SourceLine : [16064]
    ThreadBacktrace : [8] elements
    : [C:\App\OGG\replicat.exe(ERCALLBACK+0x143034) [0x00000001402192B4]]
    : [C:\App\OGG\replicat.exe(ERCALLBACK+0x11dd44) [0x00000001401F3FC4]]
    : [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x000000014009F102]]
    : [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x00000001400B29CC]]
    : [C:\App\OGG\replicat.exe(<RCALLBACK+0x11dd44) [0x00000001400B8887]]
    : [C:\App\OGG\replicat.exe(releaseCProcessManagerInstance+0x25250) [0x000000014028F200]]
    : [C:\Windows\system32\kernel32.dll(BaseThreadInitThunk+0xd) [0x000000007720652D]]
    : [C:\Windows\SYSTEM32\ntdll.dll(RtlUserThreadStart+0x21) [0x000000007733C521]]
    2012-06-05 12:58:14 ERROR OGG-01296 Error mapping from tst.table1 to tst.table1.
    * ** Run Time Statistics ** *
    Last record for the last committed transaction is the following:
    Trail name : ./dirdat/dc000000
    Hdr-Ind : E (x45) Partition : . (x04)
    UndoFlag : . (x00) BeforeAfter: A (x41)
    RecLength : 249 (x00f9) IO Time : 2012-06-01 15:48:56.285333
    IOType : 115 (x73) OrigNode : 255 (xff)
    TransInd : . (x03) FormatType : R (x52)
    SyskeyLen : 0 (x00) Incomplete : . (x00)
    AuditRBA : 44 AuditPos : 71176199289771
    Continued : N (x00) RecCount : 1 (x01)
    2012-06-01 15:48:56.285333 GGSKeyFieldComp Len 249 RBA 987
    Name: DBO.TCALCULATE
    Reading ./dirdat/dc000000, current RBA 987, 0 records
    Report at 2012-06-05 12:58:14 (activity since 2012-06-05 12:58:14)
    From Table tst.table1 to tst.table1:
    # inserts: 0
    # updates: 0
    # deletes: 0
    # discards: 1
    Last log location read:
    FILE: ./dirdat/dc000000
    SEQNO: 0
    RBA: 987
    TIMESTAMP: 2012-06-01 15:48:56.285333
    EOF: NO
    READERR: 0
    2012-06-05 12:58:14 ERROR OGG-01668 PROCESS ABENDING.
    Discard file:
    Oracle GoldenGate Delivery for Oracle process started, group RTCHECK discard file opened: 2012-06-05 12:49:39
    Key column filed3 (0) is missing from update on table tst.table1
    Missing 1 key columns in update for table tst.table1.
    Current time: 2012-06-05 12:58:14
    Discarded record from action ABEND on error 0
    Aborting transaction on ./dirdat/dc beginning at seqno 0 rba 987
    error at seqno 0 rba 987
    Problem replicating tst.table1 to tst.table1
    Mapping problem with compressed key update record (target format)...
    filed1 = NULL
    field2 =
    field3 =
    field4 =
    field5 =
    datefield = -04-09 00:00:00
    field6 =
    field8 =
    field9 = NULL
    field10 =
    Process Abending : 2012-06-05 12:58:14

  • Mapping Problem ORDERS Idoc to Edifact

    Hi,
    I have a mapping problem with the IDOC ORDERS:
    I get the IDOC with several E1EDP01. Each E1EDP01 has several E1EDPT1, where i want only the first one (which I get over the TDID value). Each E1EDPT1 has min. 1 E1EDPT2.
    Now I have to map each field TDLINE from first two E1EDPT2 of the first E1EDPT1 to the Edifact fields /LIST/S_UNB/S_UNH/G_SSG25/S_LIN/S_IMD[1]/C_C273/D_7008 (from the first E1EDPT2) and, if a second E1EDPT2 exists in /LIST/S_UNB/S_UNH/G_SSG25/S_LIN/S_IMD[1]/C_C273/D_7008_2.
    I use following UDF:
    //a = TDLINE
    //b = Number of entry in the List
    int pos =Integer.parseInt(b[0]);
    if ( pos < a.length )
    result.addValue(a[pos]);
    else
    result.addValue(ResultList.SUPPRESS);
    Unfortunatly, I think becaus of the context problems (not every E1EDPT1 has two E1EDPT2), it's not working. Could somebody help me with this problem?
    Thanks in advance
    Dominic

    Dear Dominic ,
    I had same problem when I was trying to do the same thing for FTX segment.
    Your UDF is fine but you don't need else condition.
    //a = TDLINE
    //b = Number of entry in the List
    int pos =Integer.parseInt(b[0]);
    if ( pos < a.length )
    result.addValue(a[pos]);
    for C_C273 assigned contant value and
    D_7008 assigned TDLINE but change the context to E1EDPT1
    and for D_7008_2
    TDLINE(context to E1EDPT1 )
                                                      ====>UDF====>D_7008_2
    Contant(=1)
    It should work becasue my map is working fine. If not let me know error message.
    Thanks
    Shubhankar

  • Context mapping vs. Java beans

    Hi,
    I'm making a "Server" Component (Java Web Dynpro) that exposes a view to other "Client" Components (other Java Web DynPros). The Clients can insert the exposed view into their views to use the Server's services.
    The Server, obviously, has to be initialized with specific data from the Client.
    At first I thought of creating a context node in the Server, structured with all the attributes needed for its configuration, and then expose that node in the interface. In this way the Client creates a local copy of that node via node mapping and then populates its attributes with values. Once the client populates it in its wdDoInit() method, the embedded view's wdDoInit() method is called and the Server's View can initialize itself.
    Now, instead, I was considering using Java Beans (a class that wraps all the data that I've currently put in the context) because:
    1- The Client should not be able to alter the Server's configuration once it has been initialized. With context mapping the Client can alter at runtime the configuration node's content.
    2- The Server configuration has to be shared between multiple Server's views. When passing a configuration NodeElement as argument to methods shared between views, I've always the problem that I have to deal with the type of the NodeElement (the public interface of the component controller, the private interfaces of the views).
    What is the right way to do things in this scenario?
    Thanks to anyone who drops an answer,
    See you,
    Pietro
    PS. If it's unclear, let me know!

    You can implement some inteface at server,
    declare usage of this interface at client.
    then,
    you can initalise server component by getting that interface from server component,
    and calling methods with desired objects as arguments.
    other methods of this interface can be used to return server's configuration,
    so it will be shared.

Maybe you are looking for