ABEND in Java User Exit with RAW DataType

I have a Java User Exit Extract running against a trail file that has been pumped to the GoldenGate instance in question.  The extract starts up without any issues, but gives the following error after I update a record that has a RAW datatype as the primary key:
JAVAWRITER(javawriter.c:269) [ERROR]: Error occurred (Java exception): UEDataSource.createOperation:
com.goldengate.atg.datasource.InvalidTransactionState: A new operation was received without first receiving a BEGIN transaction. This can happen when processing is resumed in the middle of a transaction, or when there are "before" images in the trail that are not being sent to the user exit (always include "GetUpdateBefores" in the user-exit parameter file).
I have tried a number of things to try to resolve this, but I can't seem to make this work.  the params for this extract currently looks like this:
extract uePump
sourcedefs ./dirdef/my_defgen.def
setenv (GGS_USEREXIT_CONF = "dirprm/javaue.properties")
getupdatebefores
cuserexit ./dirprm/libggjava_ue.so CUSEREXIT passthru includeupdatebefores
table my_schema.B_PLN_DIR, fetchmodcols (PLN_DIR_ID, *);
table my_schema.*;
... I've tried leaving off the "includeupdatebefores" argument to the cuserexit, leaving out the fetchmodcols handling for the table with the RAW PK field, but I still get the error shown above.
Any help / pointers is much appreciated.

includeupdatebefores (lowercase) doesn't work;  you must use the uppercase INCLUDEUPDATEBEFORES !!

Similar Messages

  • Using a Velocity Template in Java User Exit Custom Handler

    I would have thought it would be possible to use a Velocity template in combination with a custom handler in a Java user exit, but I can't seem to figure out how  to do it, and I'm not finding an example of doing this anywhere in the GoldenGate docs.
    For example, I can create a Velocity template and use it to output transactions in the desired format to a file by using a propeties file that looks something like this:
    gg.handlerlist=myhandler
    gg.handler.myhandler.mode=tx
    gg.handler.myhandler.format=./dirprm/my_template.vm
    gg.handler.myhandler.type=file
    gg.handler.myhandler.file=my_output.txt
    What I'm hoping to do is to have a custom handler, and some how  be able to get to the Velocity formatted transaction data in the "transactionCommit(DsEvent, DsTransaction)" method of my custom extension of AbstractHandler by having a properties file that looks like this (same as the above, except for the type, and no file property ... eg:
    gg.handlerlist=myhandler
    gg.handler.myhandler.mode=tx
    gg.handler.myhandler.format=./dirprm/my_template.vm
    gg.handler.myhandler.type=my.custom.GGHandler
    I've verified that I have a valid DsEvent and a DsTransaction with the desired information in by custom handler's transactionCommit method ... and I can even pull out the required data and re-format it there to the desired format so that it looks just like the format that my Velocity template outputs when I'm outputting to a file (as shown in the first properties file).  But shouldn't I somehow  be able to access the Velocity transformation for my DsTransaction in my custom handler?
    Thanks for any assistance / info provided.

    I would have thought it would be possible to use a Velocity template in combination with a custom handler in a Java user exit, but I can't seem to figure out how  to do it, and I'm not finding an example of doing this anywhere in the GoldenGate docs.
    For example, I can create a Velocity template and use it to output transactions in the desired format to a file by using a propeties file that looks something like this:
    gg.handlerlist=myhandler
    gg.handler.myhandler.mode=tx
    gg.handler.myhandler.format=./dirprm/my_template.vm
    gg.handler.myhandler.type=file
    gg.handler.myhandler.file=my_output.txt
    What I'm hoping to do is to have a custom handler, and some how  be able to get to the Velocity formatted transaction data in the "transactionCommit(DsEvent, DsTransaction)" method of my custom extension of AbstractHandler by having a properties file that looks like this (same as the above, except for the type, and no file property ... eg:
    gg.handlerlist=myhandler
    gg.handler.myhandler.mode=tx
    gg.handler.myhandler.format=./dirprm/my_template.vm
    gg.handler.myhandler.type=my.custom.GGHandler
    I've verified that I have a valid DsEvent and a DsTransaction with the desired information in by custom handler's transactionCommit method ... and I can even pull out the required data and re-format it there to the desired format so that it looks just like the format that my Velocity template outputs when I'm outputting to a file (as shown in the first properties file).  But shouldn't I somehow  be able to access the Velocity transformation for my DsTransaction in my custom handler?
    Thanks for any assistance / info provided.

  • Java User Exit - File header failed to parse tokens

    I'm getting an OGG-01389 ... File header failed to parse tokens.  File /u01/pump/aa000000, last offset 916, data: 0x   394: <256_char_alpha_num_omitted>
    The doc for OGG-01389 just has:
      Cause: There was an error while parsing the trail header.
      Action: Contact Oracle Support.
    In my log4j, I can see that javawriter.c finds all of the com.goldengate.atg.* classes and methods that it's looking for, with a "Loaded all classes for Java User Exit" log entry.  I also see the following entries from javawriter.c in the log, prior to any indication of error:
    Now loading callback methods
    Calling 'main' with JVM options: [blah, blah, blah]
    setProperty: key=JAVACHKPT, value=true
    Running in JAVA checkpointing mode
    Checking for checkpoint file
    Checkpoint file does not exist
    Java Writer Initialized
    ... then I get the following log output from javauserexit.c ... still looking good:
    (javauserexit.c:389)  [INFO]: Initialized User Exit
    (javauserexit.c:563)  [DEBUG]: User exit: EXIT_CALL_CHECKPOINT
    ... then back to output from javawriter.c :
    (javawriter.c:104)  [DEBUG]: get_current_time
    (javawriter.c:104)  [DEBUG]: get_current_time
    ... and then failure ... coming from javauserexit.c at the line indicated:
    (javauserexit.c:885)  [INFO]: User exit: EXIT_CALL_FATAL_ERROR.
    ... thinking it could have something to do with defaults being set for checkpointing, I tried the following in GGSCI prior to starting the extract in question:
    GGSCI > alter extract uePump, extseqno 0, extrba 0
    EXTRACT altered.
    GGSCI > start uePump
    EXTRACT UEPUMP starting
    ... but I get the same failure as above.
    Earlier in the log, I can see that all of the following goldengate properties are being set to defaults, since I have not specified values for them ... should I? :
    goldengate.userexit.rawchars               ... defaulting to false
    goldengate.userexit.buffertxs               ... defaulting to ops
    Checkpoint file prefix set to: userexit_
    goldengate.userexit.includebefores     ... defaulting to true
    goldengate.userexit.noignorerecs        ... defaulting to false
    goldengate.userexit.noop                    ... defaulting to false
    goldengate.userexit.nosend                 ... defaulting to false
    goldengate.userexit.nosendcols           ... defaulting to false
    Thanks for any info / advice.

    Nevermind.  I was "accidentally" working off "old" srcDb exttrail extract and resulting remote pump rmttrail extract.  Since the src was built by the default GG 11.2 format (because that's the version of GG running there on the DB server), the remote pump extract that my user exit was ingesting was  also the11.2 format.  Just added the "format release 11.1" to the exttrail of the source, and re-flushed everything and my OGG-0138 goes away.
    Sorry about the noise!

  • Im trying to update db table in  user exit, with the internal table

    Im trying to update db table in user exit, with the internal table
    my scenario:
    loop at itekpo.
    updating itekpo -
    > at the end of user exit the db table ekpo have to be updated
    endloop.
    Im updating internal table, using 
    MODIFY itekpo TRANSPORTING INCO1 INCO2  WHERE ebeln = itekpo-ebeln
    where itekpo is internal table, but it is not updating the db table 'ekpo'.
    i also tried updating ekpo directly !
    Thanks in advance

    Hi,
    you can search in the forum itself,
    Try this link for instance
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=tocreateaBADI&adv=false&sortby=cm_rnd_rankvalue
    You can find a code for finding BADI as a report with the following Transaction
    finding badis
    How to find BADIs
    Reward if helpful
    Regards
    Byju

  • Client Copy Error - ERROR: Type 'F' user exit with SYS_ERROR:

    Hello,
    We want to create a client copy from client 001 to clien 715.
    The client copy test runs successfully.
    The following error occurs in normal mode of client copy.
    1 ETA028XClient copy from "03.11.2010" "17:12:43"
    1 ETA029 System ID............................ "IS3"
    1 ETA043 Target client........................ "715"
    1 ETA030 R/3 Release.......................... "701"
    1 ETA354   Basis Support Package..............."SAPKB70107"
    1 ETA031 Host................................. "xxx"
    1 ETA000 Start in background............. ....." "
    1 ETA032 User................................. "SAP*"
    1 ETA033 Parameter
    1 ETA034 Source client........................ "001"
    1 ETA188 Source client user masters............"001"
    1 ETA185 Copier profile:......................."SAP_ALL"
    1 ETA036 Table selection
    1 ETA177 Customizing data ....................."X"
    1 ETA037 With application data................ "X"
    1 ETA155 Initialize and recreate......... "X"
    1 ETA294 Change documents are not copied
    2 ETA367XStart analysis of system "17:12:43"
    3 ETA108 "/GC1/CC_EXIT_CLIENT_DELETION" executed "        0"("        0") entries copied
    4 ETA114 Runtime "             0" seconds
    3 ETA072 Exit program "/GC1/CC_EXIT_CLIENT_DELETION" successfully executed "17:12:53"
    A2EE/SAPAPO/OM 012 "Mandant 715:" "Verbindung nicht oder fehlerhaft gepflegt:" "IS3CLNT001" " "
    2 ETA102 ERROR: Type 'F' user exit with SYS_ERROR: "/SAPAPO/OM_CLNT_COPY_DOWNLOAD"
    2 ETA534 "RCOD:" " 8" "SY-SUBRC:" " 0"
    2 ETA191 Program ended abnormally
    Can you help me?
    thx
    Torsten

    Torsten,
    Are you doing a local client copy in a SCM System. I can see it fails & is looking for SCM specific fn modules & user exits.
    If yes, has a look at this notes there are some steps that needs to be done for the transactional date:
    894490 - Client copy: Transactional data
    And re-post it in the SCM forum: SAP Advanced Planning & Optimization (SAP APO)
    - Regards, Dibya

  • "Server0" of Java Stack exits with exit code '-11113' while starting...

    Dear Experts,
           kindly refer the below link & solve the java startup error.
    The link is posted in
      Expert Forums  » Application Server  » SAP NetWeaver AS, Java 
    Thread : Java Server) exits with exit code -11113
    Link:
    The answer will be suitable rewarded. Thanks.

    Put the following parameters in the Java parameters list at all server nodes:
    -Dorg.omg.CORBA.ORBClass=com.sap.engine.system.ORBProxy
    -Dorg.omg.CORBA.ORBSingletonClass=com.sap.engine.system.ORBSingletonProxy
    -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.sap.engine.system.PortableRemoteObjectProxy
    -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sap.engine.services.ts.jts.ots.PortableInterceptor.JTSInitializer
    Reboot the cluster.
    Kind regards,
    Tsvetomir

  • Java User Exit for Variant Function logic in CRM

    Hello Experts,
    We have implemented Variant configuration in ECC with some variant functions / function modules.  Now we have to implement the corresponding Java class in CRM for the knowledge base & version to work. 
    Can anyone help me out to find the correct userexit where I need to implement this Java class consisting the variant function logic.
    Thank You
    Satish

    I don't have any CRM system at hand, but I'm sure there are some BAdI's for this. Look in SE18 for BP or BUS, and i'm sure  you will find something.
    One suggestion though: Before going for the BadI, try and see if CRM also uses change pointers for sending Idoc's . This case you wont need any user exits / badis, an probably no programming at all.
    Transaction
    BD50: Activate Change Ptrs for Mess. Type
    BD61: Activate Change Pointers - Generally
    and use report RBDMIDOC for triggering IDoc.

  • Assign Source of Supply User Exit with Quota Arrangements in ME57 and ME56

    Hi there,
    We are using Quota Arrangements to define Vendor rebate levels and we have enabled User Exit EXIT_SAPLMEQR_001 to provide a more informative popup to replace standard Source of Supply popup as need to display current allocation quantities and % allocation fulfiled.
    This User Exit is invoked during Assign Source of Supply during PReq processing (More precisely during Assign Source of Supply in ME51n and Automatic Source of Supply in ME57 and ME56) which all works fine.
    When used in ME51n and Source of Supply Assigned and PReq saved, the allocated quantity against the valid Quota Arrangement (EQUK-QUMNG) is successfully updated with the relevant amount
    When using ME56 or ME57 to Automatically Assign source of Supply via the PReq list, the User Exit is invoked correctly and on selecting Vendor and saving the PReq is update correctly, however the allocated quantity against the valid Quota Arrangement (EQUK-QUMNG) is NOT updated with the relevant amount
    I have searched SAP Notes and debuged with limited success but cannot find evidence as to why this difference is happening - I assume that it has something to do with User Exit but any advice gratefully received if anyone else has experienced this issue?
    Ben

    Hello Jerry,
    source will be determine based on the following points:
    Outline Agreement
    Info record
    Quota Arrangement
    Source List
    For more information, <a href="http://help.sap.com/saphelp_47x200/helpdata/en/75/ee11b255c811d189900000e8322d00/content.htm">Click here</a>
    Hope this helps.
    Regards
    Arif Mansuri

  • Update transfer requirement user exit, with order

    Dear experts,
    I want to use exit MWMTR001, function module EXIT_SAPLL03T_003 to update the Transfer requirement with the Order number created in COR1.
    But I see that by the time the user exit is called, the order number has not yet been created in the database.
    Is there maybe another place to do what I want?
    Thank you in advance,
    Roxani Athousaki

    Hi Frenchy,
    Thanks for the answer. I have one more question.
    Is it possible to automate it based on a movement type, so that every time we create a Transfer Order for this movement type the relevant TR will be automatically marked for 'final delivery'. This would help us, because then we would not have to go to WAM everytime to mark it as complete.
    Or some kind of configuration that will dictate that only one Transfer order will be allowed for a Transfer Requirement and the TR will be set to complete as soon as the TO is confirmed.
    Thanks,
    Mike

  • User exit  with a field in custom z table

    hi ..
    I have a custom z table with a z field in it. This z field is linked with t800d data base table. when a report is executed using this t800d table they want text data from the z field, but it is not displaying . they said the possible solution would be defining  a user exit. how can i do this?

    Hi,
    Your requirement is not clear. Can you explain a bit.
    Regards,
    Atish

  • Help on User Exits with example needed

    Hello Experts,
    Need help/material on:
    1)Understanding Advanced Customization (VOFM, User Exits)
    2)Calculating Freight Charges
    3)Integrating Credit and Payment Cards
    4)Interfacing with Other Modules (MRP, AR)
    5)Using Batch Delivery Processing
    Regards
    Innova

    Hi,
    There are a number of techniques SAP have used over the years to implement user-exits.
    The most recent exits will be found in CMOD. Using CMOD (or SMOD), you can list all the enhancements available, that use this technique. As  usual in the SAP world, the later the version of SAP you are using, the more exits are available.
    Other exits do not use the enhancement technique. For example, in Sales Order Processing (SAPMV45A), SAP have provided empty forms, such as USEREXIT_SAVE_DOCUMENT_PREPARE that can be used to provide customer functionality. With one client, this was used to set the blocking indicator on a sales order, if a manual change had been made to pricing. The requiredscript is written in between form and end form.
    Another technique is the use of validation and substitution rules in the financial modules.
    The best way to find the user exits available is through the IMG. The relevant nodes will take you to where the customisation can be performed. Usually, the associated IMG note details the use of each exit, though there are gaps.
    Award points if helpful.
    Message edited by
    Mohan

  • User exit with transaction MB*

    hi guru.
    i have a question with user exit. after read in other topic i still need explanation from other.
    my scenario is. whenever user use sap and system generate material document no. . i want system write this mat. doc. no. into text file and store in user 's pc.
    after read from other topic i search and found related enhancement/function but not know how to start with.
    so, plaes tell me then how to deal with this.
    regards.
    kittisak.

    Hi,
    to find the user exits & Badi's for the T-code..
    go to table TSTC>enter T-code and execute> get the Program for the t-code..
    and go to-se38-->get the package attached to the t-code..
    next go to t-code Se15>expand the enhacement tab>enter package under userexit and
                                                         execute you will get the list of exits
                                                         available...
                                                      -->enter package under Badi's tab and
                                                         execute you will get the list of Badi's
                                                         available... 
    All the User exits are stored in Table MODSAP..
    Regards,
    Prabhudas

  • User Exit with access to all line items in sales order

    Hi,
    Is there any user exit/BADI, where we have access to all line items at the same time?
    Thanks
    Kamal

    In the Transaction is VA01/2/3 u can use program  MV45AFZZ.
    this is user exit for SO.
    regards
    Prabhu

  • Code Review of User Exits with Code Inspector

    Hi,
        We are using Code Inspector(Tcode - SCI) for checking the quality of ABAP Codes. It is working fine for all custom programs. But when we are checking the code of User Exits i: e MV50AFZ1 or ZXM06U22 then it checks the std SAP program (SAPMV50A) or (SAPLXM06) for these exits in place of checking that particular Exit only . How the customer/User Exits can be checked using Code Inspector. Pls advice.

    Hi there!
    Today, I stumbled over the same problem: Defining an Include for user exits leads to a check of the surrounding function group from SAP which I don't want to correct at all.
    Is there a nice an elegant way of filtering out the SAP modules from checking? If not, the only way to get around this seems to be building an own implementation of the Code Inspector integration into CTS.
    Thanks, Markus

  • User Exit with MD01 screen

    Hi All,
    In MD01 screen, you can find a field called <u>'User exit Parameter</u>".
    The user will have 3 options to input the data into this field.
    1.  The User can enter single value... ex: E01
        The user exit will execute the MRP Run based on this single value.
        For this scenario, i have SAP standard code as follows.. (Pgm name: LXM61F01)
        Here UXPAR will contain value 'E01'.
          WHEN 'Z1'.
          UXPAR = USER_PAR.
          CONDENSE UXPAR.
          WRITE UXPAR+0(3) TO DISPO.
          IF DISPO IS INITIAL.
            EXIT.
          ENDIF.
          IF MT61D-DISPO <> DISPO.
            NO_PLANNING = 'X'.
          ENDIF.
    2. The user can enter multiple values... ex: E01, E03, E09.
       The user exit should take these valuse into account and run the MRP.
       The above code is meant for single value.
       Now i have to develop the code for this scenario. How to build logic for this scenario  as the UXPAR will have value "E01, E03, E09"...????
    3. The user can enter values in range format... ex: E01-E05.
       The user exit should take E01, E02, E03, E04 and E05 to run the MRP.
       How to build the logic for this scenario..????? 
    Please Help me........
    Regards
    Pavan

    Can anyone please look into this issue and help me out...????
    Really appreciate your guidance in this regard....
    Regards
    Pavan

Maybe you are looking for

  • Bad working mail after moving to icloud on my 2nd generation iPod touch

    I moved to iCloud. But since then, when i load mail in my 2nd generation iPod touch, it gives a lot of errors. ( For example 'wrong password' ) . It still works , but i get too much errors when i'm loading mail, and it doesnt pushes my mail automatic

  • How do I use my iphone 6 in my 2013 BMW x5 for phone and music?

    How do I use my iphone 6 for calls and music. I want to use the auto speakers and display - hands free. MY 2013 BMW x5 has a usb port between the front seats and Bluetooth. Is it as simple as plug in, connect tp Bluetooth and use the iDrive functions

  • Connecting a 3G ipod to a windows machine

    h i have a 3G ipod and was wondering if i wanted to connect to a windows machine and wanted it to charge at the same time could i use the USB cable or do i have to get the cable that is split into USB and firewire. thanks for all the help

  • CR-11.5/ODBC-Changing SQL-Server Database in same instance

    I'm using CR 11.5 against SQL-Server 2005.  In the same SQL-Server default instance, I have both  Demo and Production databases.  I've used both the SQL-Server Native ODBC driver, and the OLE/ADO driver as a trial.  Some of my reports have used the s

  • Dynamically call another procedure

    In SQLServer you can have a variable that holds a procedure name. The variable can then be used in the execute statement. Is there any way in PLSQL to dynamicaly call another procedure. example: begin declare procname varchar2(32) = 'proc1'; --now ca