ABAP class in task

Hello,
I'm using a ABAP class in a task, but when I triggers the workflow in this step its gets blocked with the status "in process".
The abap class is public and the method that I'm calling is static, Also I have implemented the IF_WORKFLOW interface to use from the task.
Do you have any sugestion about this to don't get block?
Thanks

Hello Diego,
when using class-based tasks, most exceptions thrown during the prepare and execution steps are generally caught and not beeing forwarded into the workflow log, especially when there's a general problem with the method definition.
In this particular case, the execution of static methods probably runs into an exception, as an instance is (accidently) required, even though -- by definition -- the method is instance-independent. For sure, class methods cannot be called as functional methods in container operations. Possibly the method was instance-bound at the time, the task was created, and later on changed to a class method. Re-Creating the task could be helpful here. Otherwise pass an instance to the task container (event though not required) and let the runtime system have it to call the class' method.
With the very best wishes,
Florin

Similar Messages

  • Binding ABAP Class Attribute with BUS2038 in a Standard WF task

    Hi,
    I need help as mentioned in the subject line.
    In my standard task I am capturing event for BUS2038. In the General tab I have a ABAP class which has implemented IF_WORKFLOW. From BUS2038 I just need notification number.
    Since my source is a BO and my target is a class. How do I make this conversion and pass the data to my class?
    I know there are several solution but none have solved my concern.
    Thanks,
    Sridhar Karra.

    Hi,
    If you want to access teh attributes of the BOR inside a class emthod then you have to make use of teh MACROS.
    1. include INCLUDE CNTN01_SWC  in the class local macros section. and in the type groupsof the class include SWC0.
    2. Now if you know the key of the BOR instance then create a BOR object inside the class method as below
    DATA lo_object   TYPE SWC0_OBJECT.
    SWC0_CREATE_OBJECT lo_object '<BUSXXXX>' '<Key of the BOR>.
    the above line will create the instance of the bor inside the class method
    now inorder to access the attributes of the BOR  use the below code
    DATA lv_notif_no   TYPE  <type of the notification>.
    SWC0_GET_PROPERTY lo_object '<ATTRIBUTE NAME> lv_notif
    In this way you can access the BOR attributes inside a class method.
    Regards
    Pavan
    Edited by: Pavan Bhamidipati on Dec 15, 2011 11:01 PM

  • BOR Object and ABAP Class

    Hi,
        Can anybody say when to use BOR object and Abap class in the task with an example.
    Thanks,
    Mugundhan

    There is no any specific condition or rule that for this purpose you need to use BOR and Class , it depends on your requirement. not only the requirement but also the new techniques to make classes not just as simple way to create objects but when you use classes in the Workflows they are not simple classes but they are BUSINESS CLASSES which makes a lot of difference.
    Check the blogs of [Jocelyn Dart|https://www.sdn.sap.com/irj/scn/wiki?path=/pages/viewpage.action%3fpageid=55566]

  • Calling a custom tcode using abap class from workflow

    Hi Experts,
    I have a requirement of calling a custom tcode from my workflow.
    For this i have created a class zcl_test ( has if_workflow ) .
    I created a method ztest which will call the tcode.
    CALL TRANSACTION 'ZTX'.  ( My tcode just has 1 input field, for testing purpose )
    Then i created a task in whichi hv used this abap class and method.
    But the tcode does not run when i execute the workflow.
    Please help.
    Thank You,
    Radhika Vadher.

    Radhika Vadher 
    use the sample code to get the data from the task container into the ABAP class
    DATA :
             w_ref        TYPE  REF TO      if_swf_run_wim_internal,
             w_ref_cnt  TYPE  REF TO      if_wapi_workitem_context,
              w_wi_ref   TYPE  REF TO      if_swf_ifs_parameter_container.
    TRY.
        CALL METHOD cl_swf_run_wim_factory=>find_by_wiid
          EXPORTING
            im_wiid     = w_wiid
          RECEIVING
            re_instance = w_ref.
      CATCH cx_swf_run_wim_enq_failed .
      CATCH cx_swf_run_wim_read_failed .
      CATCH cx_swf_run_wim .
    ENDTRY.
    CALL METHOD w_ref->get_workitem_context
      RECEIVING
        re_ctx = w_ref_cnt.
    CALL METHOD w_ref_cnt->get_wi_container
      RECEIVING
        re_container = w_wi_ref.
    and the w_wi_ref is having a method GET use that method to get the values of the task container into the ABAP class.

  • [WF Attributes] DDIC vs ABAP class

    Hi,
    I am having a hard time understanding which CL (ABAP Class) does not behave like DDIC structure.
    I use both in my Workflow but I cannot manage to pass data (meaning reference) and trigger the Workflow
    - from the FM 'SAP_WAPI_START_WORKFLOW'
    - from an event
    Am I forced to use the IF_WORKFLOW (I don't see why I have to use the FIND_BY_LPOR method ??) ?
    -> if the static method FIND_BY_LPOR is returning the value, what has gone all the job in the first place ?)
    I have simply created a customer-specific class that would avoid me adding new structure to the Workflow container and the Workflow Tasks again and again... simply extend the class and the element will all follow.
    Many thanks in advance for your help.
    Best regards,
    Guillaume

    Hello Guillaume,
    I know this is closed but an interesting discussion nevertheless. The first part I am confused about is what exactly you are trying to accomplish and why:
    >
    Guillaume Garcia wrote:
    I have simply created a customer-specific class that would avoid me adding new structure to the Workflow container and the Workflow Tasks again and again... simply extend the class and the element will all follow.
    Why can you not do this with a DDIC structure? I use this a lot. Particularly useful if you work with MOVE CORRESPONDING in your code. Just extend the structure and new fields are automatically transported (if they exist in the DB of course).
    OO in WF is generally used in the same way as a BOR. The distinction is Business Object versus an OO class as you would use in an ABAP program.
    >
    Karri Kemppi wrote:
    As far as I know (and understand your point) it is not possible. Maybe someone disagrees with me, but I am happy to hear about that. The object instantiates itself whenever it is needed in the workflow. And during the instantiation you need to populate the attributes of the object, etc...
    Correct, but.... if you are really determined, there are some tricks you can use: Who cares whether your object really exists in the DB, as long as your FIND_BY_LPOR always returns an instance. If this is always the same instance it can work. The thing to be careful of is that you MUST have an unbroken chain of tasks that execute in the same logon/RFC session. Once that session ends (e.g. by switching users/background tasks) the data is gone. Needless to say you need to know exactly what you're doing.
    Cheers,
    Mike

  • ABAP class method with dialogue

    Hi all,
    I want to use a ABAP class method within a Workflow definition with user interaction. The SAP help says, that is possible, but I couldn't find a way, to mark the method as "with dialogue".
    For BOR-objects there is a checkbox in the details for the method definition. Can anybody tell me, how it can be done?
    Thanks in advance
    Nick

    Hi Nicolas,
      When you create the Task with the ABAP OO Method, you can select it as "Background Processing" else it will be a "Dialog Process".
    If you notice here, "Background Processing" checkbox will be editable if ABAP OO Method is used, whereas in case of Business Objects it directly comes from method definition.
    Reward points if useful.

  • Web reporting - changeging abap classes

    I have got an extremely fussy user who would like the complex search facility shown at the bottom of the value help popup screen hidden (HELP SERVICE : DP_VIEW_FILTER).
    I assume I will have to copy the relevant ABAP class and modify it.
    Could anyone please advise me
    1. Which ABAP class I need to change?
    2. What I would need to change in this class to remove the complex search fields/buttons?
    3. How I would call the class from a web report?
    4. Is this far to complex a task to be worth even considering?
    Many thanks
    -Hans

    We too have similar requirements to change the pop up windows for Hierachy Filters and Hierarchy Node Variable search screen. What classes would these fall into ?

  • ABAP class mapping in PI (7.0)

    I just switched from XI (3.0) to PI (7.0).
    I tried to move one of my interfaces, but in Interface Mapping there is no "ABAP-class" option. How to use ABAP mapping in PI?

    Hi Mariuszu
    you need to enable it as described here
    in the exchange profile
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
    or you can ask us directly via mail
    Regards,
    michal

  • Shooping cart creation in SRM 7.0 using web dynpro ABAP classes.

    Hi,
    We have recently upgraded to SRM 7.0 from SRM 4.0. We are using customized portal application for the creation of the shopping cart.I am planning to create custom FM which will use the standard Web dynpro ABAP classes to create the shopping cart.
    Could you please guide with the classes that are need to be implemented and the sequence of the classes used in the shopping cart creation.
    I think these are the classes that are used in the standard web dynpro ABAP component.
    CL_FPM_EVENT ->                  Creates an instance of this class based on an event ID.
    CL_BADI_FLT_DATA_TRANS_AND_DB -> Data Handling: Transport and Database.
    CL_EXITHANDLER ->               Class for Ext. Services Within Framework of Exit Technique.
    CL_EX_BBP_DOC_CHANGE_BADI ->     BAdI Class CL_EX_BBP_DOC_CHANGE_BADI.
    CL_BBP_OBJECTS_ACCESS ->         Access Functions for Object Types.
    /SAPSRM/CL_PDO_BO_SC ->          Shopping Cart BO.
    Your expert comments will be appreciated...
    Regards,
    Naresh

    Dear Poster,
    As no response has been provided to the thread in some time I must assume the issue is resolved, if the question is still valid please create a new thread rephrasing the query and providing as much data as possible to promote response from the community.
    Best Regards,
    SDN SRM Moderation Team

  • File to Proxy Scenario using ABAP Class and DB Multi Connect

    Hello Friends,
    I have a scenario below and a proposed solution. I would like some input as to whether i am headed the right way.
    Scenario: Thousands of records come in from the legacy accounting system. The fields of these records need to be mapped to SAP fields using cross-reference tables stored in DB2. Finally, summarize the records by deleting a few fields and feed to R/3.
    Solution i proposed:
    (1) File Adapter is used to send the file
    (2) Although JDBC adapter comes first to mind but since i need to access the DB2 tables multiple times for each record i propose to use an ABAP class for the mapping. Within the ABAP class the intent is to open an database connection to DB2, read the relevant cross tables using native SQL and finally generate the output XML.
    (3) Reciever is Proxy which feeds this generated XML to SAP for creating posting via BAPI_ACC_DOCUMENT_POST
    Question: Is the above solution correct or is there a better method to implement this scenario?
    Please let me know.
    Thanks,
    Minhaj.

    Looks fine. Few observations -
    1. Whether it is ABAP class or Mapping in RFC lookup, you are making multiple trips to the database.
    2. It looks like PI is being used only for reading the file and converting it to XML.
    3. If using PI is not mandatory, then a complete ABAP class on ECC it self would be faster than swtching between PI Java, PI ABAP then round trips to DB2 finally data push to ECC.
    If you could look at something like fetching all the required RFC look up data in one go and then map the fields according, might save u on processor and network resources.
    VJ

  • ABAP Class not displaying in operation mapping.

    HI,
    I have created abap class using se24 for throwing exception message in sxmb_moni, this abap class needs to be called in operation mapping, even though i have activated this abap class in PI environtment, i couldnt see the abap class option in the operation mapping.
    Could any one please let me know any change profiles requirements are required,
    Thanks,
    --Sai

    Hi Sai,
    Yes, you do have to register ABAP Class Mapping in the Exchange Profile to see this option in the Operation Mapping. Follow these step-by-step configuration guidelines:
    http://www.riyaz.net/sap/xipi-how-to-register-abap-mapping-in-exchange-profile/624/
    Hope this helps,
    Greg

  • Calling Portal event from ABAP class

    Hi Experts,
    I need a following clarificatrion, Please help,
    1. Is it possible to call a webdynpro method from a normal ABAP class?
    2. If no, we need a functionality of a class 'CL_WDR_HTTP_EXT_MIME_HANDLER' having method 'DO_DOMAIN_RELAX_HTML'.
    Is there any alternative method which can be used in ABAP having the same functionality.
    3. Is there any ways with which we can call portal event from ABAP class?
    Thanks,
    Shabir

    >1. Is it possible to call a webdynpro method from a normal ABAP class?
    I wouldn't necessarily recommend this approach. You shouldn't try to trigger events or any of the standard WDDO* methods from outside the WD Component itself.  That said, you can pass the object reference (like the WD_COMP_CONTROLLER object reference or the View Object Reference) into methods of normal classes.  Be careful if you are finding yourself calling a lot of your added methods from outside WD.  This is probably a sign that these methods should be in the Assistance Class or some other Class functioning as a Model Object.
    >2. If no, we need a functionality of a class 'CL_WDR_HTTP_EXT_MIME_HANDLER' having method 'DO_DOMAIN_RELAX_HTML'.
    Is there any alternative method which can be used in ABAP having the same functionality.
    What exactly do you want to do here?  Do you just want to get the relaxation script?  For what purpose?  You should never need to inject the relaxation script into WDA. 
    >3. Is there any ways with which we can call portal event from ABAP class?
    To what purpose.  Do you just want to delegate the triggering of the event that is inside WD Component to be called from a class?  If so you can pass the portal API object reference into a class from the WD Component.  However this only works while running within WD.
    How is this class used?  Are you running in WD?  Are you trying to generate some HTML code that runs in the portal independent of WD?

  • TYPES statement in abap class to include structure

    hi ,
    i have declared following in a abap class...
    TYPES:
          zts_alv_line TYPE zmat_pr_costest_alv.
         TYPES:BEGIN OF ts_alv_line,
                include type zts_alv_line,
                matkl type mara-matkl,
                t023t type t023t-wgbez,
                lvorm type mara-lvorm,
                end of ts_alv_line.
         TYPES: tt_alv_data TYPE STANDARD TABLE OF ts_alv_line WITH DEFAULT KEY.
         DATA:
          alv_data TYPE tt_alv_data.
    now while refering to alv_data-matnr the sap is giving error that this component does not have matnr.
    please help.
    Edited by: Suhas Saha on Feb 3, 2012 1:11 PM

    TYPES: zts_alv_line TYPE zmat_pr_costest_alv.
    TYPES:BEGIN OF ts_alv_line,
                include type zts_alv_line,
                matkl type mara-matkl,
                t023t type t023t-wgbez,
                lvorm type mara-lvorm,
                end of ts_alv_line.
    Actually by defining this you've defined include as field of ts_alv_line. Actually ts_alv_line is a nested structure.
    I think you need to re-define the structure definition as:
    TYPES:BEGIN OF ts_alv_line.
          INCLUDE TYPE zts_alv_line.
    TYPES: matkl TYPE mara-matkl,
           t023t TYPE t023t-wgbez,
           lvorm TYPE mara-lvorm.
    TYPES: END OF ts_alv_line.
    BR,
    Suhas

  • Error handling in Abap Class for SAP Workflow

    Hi Experts,
    I would like to know if we have an option in abap classes used in workflows to send errors to the workflow log. We can achieve this in BOR Object methods by using the EXIT_RETURN <CODE> var 1 var 2 to send the errors back to the workflow, but how is this achieved through methods from classes  used in workflows.
    Appreciate your quick responses,
    Chaitanya

    Just raise exceptions in the normal OO way. Any exception that is a subclass of CX_BO_ERROR should be automatically available in workflow. Use subclasses of CX_BO_TEMPORARY for temporary errors.

  • How to Handle Business Object event in ABAP class

    Hello Everybody,
    I wanted to know if it was possible to reference BOR objects in ABAP class and handle BOR events in ABAP Objects.
    Thanks in advance.

    Hi,
    Catch the et_VALIDATE event, when InnerEvent = False and ItemChanged = True.
                If pVal.EventType = BoEventTypes.et_VALIDATE Then
                    If pVal.InnerEvent = False And pVal.ItemChanged Then
                        'TODO Your code here...
                    End If
                End If
    Regards,
    Vítor Vieira

Maybe you are looking for