Urgent: FacingException after execution of ReturnListner on AdfDialogReturn

Hi,
This is my use case.
I have a Bounded Task Flow with page fragments in it and i need to call another Bounded TF having jspx pages as a popup from the click of a commandLink. For this i have an Task Flow call activity and launching it in a pop up. I also have a returnListner on the commandLink where i need to some actions based up on the return parameters from the task flow launch. The issue i am facing here is that once the return listener execution completes, the response does not seem to end. I am seeing the busy mouse icon and after couple of minutes the following error is thrown.
2011-06-09 21:42:32,062 common.QuoteDetailsBean 739 DEBUG - seacrhAndSelectTFReturn Ends
<Jun 9, 2011 9:51:32 PM IST> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "613" seconds working on the request "weblogic.servlet.internal.ServletRequestImpl@6058db[
POST /quote-quoteui-context-root/faces/quote-task-flow/QuoteDetails?_adf.ctrl-state=14nlsz5202_45 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
DNT: 1
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Adf-Ads-Page-Id: 5
Adf-Rich-Message: true
Referer: http://127.0.0.1:7101/quote-quoteui-context-root/faces/adf.task-flow?adf.tfId=quote-task-flow&adf.tfDoc=/WEB-INF/taskflows/quote-task-flow.xml&quoteName=&quoteAction=view&quoteHeaderId=3672&sfdcOpportunityId=&secondaryQuoteHeaderIds=2850&mergeToSameQuote=&shipToCountryCode=&_afrLoop=26878023018009&_afrWindowMode=0&_afrWindowId=14nlsz5202_1
Content-Length: 512
Cookie: JSESSIONID=397TNwnNJwhs49GCJpTGJxYHhwxFLvHbyS4wtWw771LGBNwhnqrn!-1328832498
Pragma: no-cache
Cache-Control: no-cache
]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
     sun.misc.Unsafe.park(Native Method)
     java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
     java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
     java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
     java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
     java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
     java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)     
oracle.adf.model.dcframe.DataControlFrameImpl.lock(DataControlFrameImpl.java:294)
     oracle.adf.model.dcframe.DataControlFrameImpl.beginRequest(DataControlFrameImpl.java:336)
     oracle.adf.model.BindingContext.setCurrentFrame(BindingContext.java:2107)
     oracle.adf.model.BindingContext.setCurrentDataControlFrame(BindingContext.java:2009)
     oracle.adfinternal.controller.util.model.DCFrameImpl.makeCurrent(DCFrameImpl.java:126)
     oracle.adfinternal.controller.state.ViewPortContextImpl.makeCurrent(ViewPortContextImpl.java:1006)
     oracle.adfinternal.controller.state.RequestState.setCurrentViewPortContext(RequestState.java:159)
     oracle.adfinternal.controller.state.ControllerState.releaseViewPort(ControllerState.java:1421)
     oracle.adfinternal.controller.state.ControllerState.processViewPortReleaseQueue(ControllerState.java:2114)
     oracle.adfinternal.controller.application.SyncNavigationStateListener.afterPhase(SyncNavigationStateListener.java:62)
     oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.afterPhase(ADFLifecycleImpl.java:531)
     oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchAfterEvent(LifecycleImpl.java:120)
     oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchAfterPagePhaseEvent(LifecycleImpl.java:168)
     oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.dispatchAfterPagePhaseEvent(ADFPhaseListener.java:124)
     oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:70)
     oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)
     oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:364)
     oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:205)
     javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
     weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
     weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
     weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
     weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
     weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
     weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
     org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
     oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
     org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
     org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
     org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
     org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
     weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
     java.security.AccessController.doPrivileged(Native Method)
     oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
     oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
     oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
     oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
     weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
     weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
     weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
     weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
     weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
     weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
     weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
     weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
     weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
     weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
     weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
     weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Hi,
The return listener does not take much time. If you see the first debug statement of the error log which says..
QuoteDetailsBean 739 DEBUG - seacrhAndSelectTFReturn Ends_
that`s the point my return listener ends.
Thanks,
Tulasi

Similar Messages

  • Size of SQL query before execution and after execution

    hi all
    I need help on how can i find out the size of SQL query before execution and after execution in java
    The query can be any query select / insert / update
    Can anyone help me if any system tables help to find out the required size i mentioned
    Urgent help is required
    Thanking in advance

    I need the size in terms of bytes
    like the rquirement is stated as below
    select ................: 10 B , return 250 B
    so i need size before and after execution in terms of bytes

  • Why status is change every time after execution of VI??

    Hello,
    I am not much familiar with Modbus communication,
    I got one problem regarding to Modbus that when ever run my vi then after execution the status of DO3 is always changed and jump to the Alarm mode.
    In attachment I have attached my screen shots you will get more clear Idea about my problem.
    In LHS there is software window and before connection that software with instrument normally I set my DO3 at status mode but when I run my vi in order to check the supply voltage and after execution when I again connect that software then DO3 status always change and its come to Alarm mode.
    Can you tell me that why its happen so??
    and what kind of changes I have to do in order to avoid this problem....
    Thank you  very much.
    Attachments:
    DO3.png ‏386 KB

    ok this problem is solve now that i have to make read holding register instead of write...
    but still I am confuse about the mesurment of voltage generally i have to set like 
    1) when (Do3 and datalogger switch both are closed) wired is connected with DO3 and relay on data logger is closed then its shoud show me voltage less then 2V,
    2)DO3 is open and datalogger is connected then voltage shoud be near to V+ (12v in my case)
    3)both are open then output shoud be 0V
    4)datalogger is open and DO3 is closed then voltage shoud be V+
    and in above four case i have problem in 1st case only...other 3 are working OK
    will you please guide me that is ther any change I have to do in data logger and what king of settign I have to to in order to get desired Output.
    I am not much familier with Data logger,i have read datasheet regarding to this and i am using Agilent Data logger 34970A.
    Thank you very much... 
    Attachments:
    MeasureDO3.vi ‏33 KB

  • CDHDR table is not updated after execution of  transaction   CK 24

    Hi Experts ,
    I am  Triggering my workflow from  for CK 24 transaction based on the change document entry from CDHDR table , once the CK24 transaction executes .
    Now the problem is  after execution of the CK24 transaction now its not updating the table CDHDR, which was happening before .
    Note: No customization has been made which can affect this updation .
    Can any body please guide me on this , why the standard table is not being updated now with the change document entries  .
    Regards
    Sarmistha

    You can use following FMs
    CHANGEDOCUMENT_READ_HEADERS    Change document: Read change document header
    CHANGEDOCUMENT_READ_POSITIONS  Change document: Read change document items
    IN CDPOS you have to give the same thing as CDHDR. You have to search with the respective Object class and provide the Object Id(Key fields like Document number). Another thing you will also get the change document number from the transaction itself from which you are change the Document.
    Thanks
    Arghadip

  • In VL10A tcode after execution in section scr "Incorrect factory calendar"

    Hi,
    After execution of the tcode VL10A gives the information messge in the selection screen as
    "Incorrect factory calendar; date calculation not possible".
    How to remove this informaition message.
    Thanks,
    Sanjay

    Do check with your FICO people and they will be able to help you to check on the factory calendar problem.

  • Run time error in FMBB after execution of RGZZGLUX GETWA_NOT_ASSIGNED FM

    Hello Experts,
    We have activated funds management in Development it is working fine without any issues. Transported same changes to Quality system and executed Program RGZZGLUX.
    Issue: Run time error in FMBB transaction code even after execution of program RGZZGLUX. similar error in funds center group also.
    Category               ABAP Programming Error
    Runtime Errors         GETWA_NOT_ASSIGNED
    ABAP Program           SAPLFMBD_DATABASE_ACCESS
    Application Component  PSM-FM-BCS-BU
    Date and Time          10.06.2014 13:28:36
    Short text
        Field symbol has not yet been assigned.
    Requirement:  Please let us know how to solve this issue
    we have checked note:0000939958 - and changed Inactive status for tables FMIT, FMIP and FMIA, but no use, when we run program RGZZGLUX, it has deactivated this tables again.
    Regards,
    Chalapathi

    Hello Shyam / Javed,
    Thank you for your inputs.
    I have solved issue, now it is working fine.
    Activated EA-PS and included into transport request. executed program RGZZGLUX.
    Note used to solve issue :0000908007
    Regards,
    Chalapathi

  • Selection Screen getting refreshed after execution..

    Hello All,
    I have a strange problem..
    My selection-screen values are getting refreshed after execution and come back to selection screen. I am using normal ALV Fm to display the values. Can some suggest a possible reason?
    Many thanks,
    V Nair

    No .. I have checked it..Selection variables are not getting refreshed.
    My Code Below
    REPORT  yhr_icm_exception_report.
    Type Pool declarations
    TYPE-POOLS: slis,                                     "For AlV
                sdydo,                                    "Dynamic Documents
                icon.                                     "For ICON
    Table declarations
    TABLES : yhr_icm_exp_log,                             "ICM Exceptions Log
             yhr_icm_exp_hist.                            "ICM Exception History
    Include Constants
    INCLUDE   yhr_icm_constants .                         "Program to hold constants
    Types declarations
    *-To hold return field
    TYPES: BEGIN OF ty_returntab.
            INCLUDE STRUCTURE ddshretval.                 "Interface Structure
    TYPES: END OF ty_returntab.
    *-To hold deletion records
    TYPES : BEGIN OF ty_icm_del,
               tab_name      TYPE yhr_tabname,            "Internal table name
               objid         TYPE hrobjid,                "Object ID
               begda         TYPE begda,                  "Begin Date
               otype         TYPE otype,                  "Object Type
            END OF ty_icm_del.
    *-Message details to be displayed
    TYPES : BEGIN OF ty_message,
              msgnr          TYPE  msgno,                 "System message number
              text           TYPE  yhr_icm_exp_log-msgxx, "Message Text
            END OF ty_message.
    *-To hold exception log
    TYPES : BEGIN OF ty_icm_exp_log,
             msgno           TYPE msgnr,                  "Message number
             run_id          TYPE yhr_icm_erun_id,        "Exception Run ID
             delta_id        TYPE yhr_icm_run_id,         "Run ID
             record_type     TYPE yhr_icm_exp_type,       "Record Type
             otype           TYPE yhr_otype,              "Object Type
             objid           TYPE hrobjid,                "Object ID
             begda           TYPE begda,                  "Begin Date
             msgxx           TYPE msgxx,                  "Message
             status          TYPE yhr_icm_icon,           "Status
             delta_relevance TYPE yhr_delta_rel,          "Delta Relevance
            END OF ty_icm_exp_log.
    *-To hold email attachment
    TYPES: BEGIN OF ty_attach,
               text(500)     TYPE c,                      "Text
    END OF ty_attach.
    *To hold object type & text
    TYPES :BEGIN OF ty_objid_text,
              objid          TYPE objid,                  "Object ID
              text           TYPE emnam,                  "Object Text
           END OF ty_objid_text.
    *-To hold counter values - Exp , Del & historical
    TYPES :BEGIN OF ty_count,
              exp(10)        TYPE c,                      "Exceptions
              del(10)        TYPE c,                      "Deletions
              hist(10)       TYPE c,                      "Historical Deletions
           END OF ty_count.
    *- To hold lock details
    TYPES : BEGIN OF ty_lock,
              live           TYPE c,                      "Live Callidus Program
              genr           TYPE c,                      "Generation Program
              exp            TYPE c,                      "Exception Program
            END OF ty_lock.
    Range Declarations
    RANGES :
           gr_objid          FOR hrp1001-objid,           "Range for Object ID
           gr_pernr          FOR pa0000-pernr.            "Range for Employee number
    Internal Table Declarations
    DATA : gt_records        TYPE STANDARD TABLE OF yhr_icm_exp_report,
           gt_objid_text     TYPE STANDARD TABLE OF ty_objid_text,
           gt_icm_exp_log    TYPE STANDARD TABLE OF ty_icm_exp_log,
           gt_returntab      TYPE STANDARD TABLE OF ty_returntab,
           gt_t777o          TYPE STANDARD TABLE OF t777o,
           gt_diff_tab       TYPE STANDARD TABLE OF yhr_icm_diff,
           gt_del_tab        TYPE STANDARD TABLE OF ty_icm_del, "#EC *
           gt_iattach        TYPE STANDARD TABLE OF ty_attach,
           gt_message        TYPE STANDARD TABLE OF ty_message,
           gt_fieldcat       TYPE slis_t_fieldcat_alv,
           gt_heading        TYPE slis_t_listheader,
           gt_exceptions     TYPE yhr_icm_exp_list_t,
           gt_events         TYPE slis_t_event.
    Structure Declarations
    DATA : gs_objid_text     TYPE ty_objid_text,
           gs_icm_exp_log    TYPE ty_icm_exp_log,
           gs_records        TYPE yhr_icm_exp_report,
           gs_exceptions     TYPE yhr_icm_exp_list,
           gs_count          TYPE ty_count,
           gs_fieldcat       TYPE slis_fieldcat_alv,            "#EC *
           gs_returntab      TYPE ty_returntab,
           gs_icm_exp_hist   TYPE yhr_icm_exp_hist,
           gs_iattach        TYPE ty_attach,
           gs_message        TYPE ty_message,                   "#EC *
           gs_layout         TYPE slis_layout_alv,
           gs_t777o          TYPE t777o,
           gs_lock           TYPE ty_lock.
    Constant declarations
    CONSTANTS:
           c_yes             TYPE string        VALUE 'YES',
           c_no              TYPE string        VALUE 'NO',
           c_true            TYPE c             VALUE 'X',
           c_deletions       TYPE c             VALUE 'D',
           c_delta_no        TYPE c             VALUE 'N',
           c_delta_yes       TYPE c             VALUE 'Y',
           c_historical      TYPE c             VALUE 'H',
           c_a               TYPE c             VALUE 'A',
           c_error           TYPE c             VALUE 'E',
           c_equal(2)        TYPE c             VALUE 'EQ',
           c_participants    TYPE c             VALUE 'P',
           c_include         TYPE c             VALUE 'I',
           c_position        TYPE c             VALUE 'S',
           c_organization    TYPE c             VALUE 'O',
           c_runlock         TYPE string        VALUE 'RUN_LOCK',
           c_parameter       TYPE string        VALUE 'P',
           c_selfield        TYPE string        VALUE 'SEL_FIELD' ,
           c_type            TYPE string        VALUE 'TYPE',
           c_topofpage       TYPE string        VALUE 'TOP_OF_PAGE',
           c_rectype         TYPE string        VALUE ' S_RECTYPE',
           c_objectkey       TYPE string        VALUE 'OBJECTKEY1',
           c_icon_green      TYPE string        VALUE '@08@',
           c_icon_red        TYPE string        VALUE '@0A@',
           c_icon_amber      TYPE string        VALUE '@09@',
           c_green           TYPE string        VALUE 'GREEN',
           c_amber           TYPE string        VALUE 'AMBER',
           c_red             TYPE string        VALUE 'RED',
           c_tabname         TYPE slis_tabname  VALUE 'GT_RECORDS',
           c_structname      TYPE dd02l-tabname VALUE 'YHR_ICM_EXP_REPORT' ,     
           c_siwb_wallpaper  TYPE sdydo_key     VALUE 'SIWB_WALLPAPER',
           c_user_command    TYPE slis_formname VALUE 'F01_ALV_EVENT_USER_COMMAND',
           c_genname         TYPE trdir-name    VALUE 'YHR_ICM_GENERATE_EXCEPTIONS',
           c_expname         TYPE trdir-name    VALUE 'YHR_ICM_EXCEPTION_REPORT',
           c_pf_status       TYPE slis_formname VALUE 'SET_PF_STATUS',
           c_msg_class       TYPE string        VALUE 'YHR_ICM'.
    Global Variable Declarations
    DATA:  gv_email_error    TYPE c,
           gv_email_sent     TYPE c,
           gv_exit           TYPE c.
    Selection Screen - Block I
    SELECTION-SCREEN:   BEGIN OF BLOCK b3 WITH FRAME TITLE text-s07.
    SELECT-OPTIONS:
    *-  Run ID
        s_run_id             FOR yhr_icm_exp_hist-run_id,
    *-  Exception Type
        s_rectyp             FOR yhr_icm_exp_log-record_type NO INTERVALS,
    *-  Object Type
        s_otype              FOR yhr_icm_exp_log-otype NO INTERVALS,
    *-  Object ID
        s_objid              FOR yhr_icm_exp_log-objid NO INTERVALS,
    *-  Start Date
        s_begda              FOR yhr_icm_exp_log-begda,
    *-  Message number
        s_msgno              FOR yhr_icm_exp_log-msgno,
    *-  Message Text
        s_msgxx              FOR yhr_icm_exp_log-msgxx.
    SELECT-OPTIONS:
    *- Delta Relevance
       s_relv                FOR yhr_icm_exp_log-delta_relevance NO INTERVALS.
    PARAMETERS:
    *- Long Text
       p_ltext               AS   CHECKBOX DEFAULT ' '.
    SELECTION-SCREEN:   END OF BLOCK b3.
    Selection Screen - Block II
    SELECTION-SCREEN:   BEGIN OF BLOCK b2 WITH FRAME TITLE text-s08.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(14) text-033.
    *-Sucess
    PARAMETERS:
      p_stat_s               AS CHECKBOX.                  "D11K917251
    SELECTION-SCREEN COMMENT 24(14) text-034.
    *-Warning
    PARAMETERS:
      p_stat_w               AS CHECKBOX.                  "D11K917251
    SELECTION-SCREEN COMMENT 48(15) text-035.
    PARAMETERS:
    *-Error
      p_stat_e               AS CHECKBOX .                 "D11K917251
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN:   END OF BLOCK b2.
    Selection Screen - Block III
    SELECTION-SCREEN:   BEGIN OF BLOCK b4 WITH FRAME TITLE text-s09.
    *-Email Details
    PARAMETERS:
      p_email(128)            TYPE c.
    SELECTION-SCREEN:   END OF BLOCK b4.
                 Selection Screen on value request.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_msgno-low.
      PERFORM f4_message.
                 Selection Screen Output.
    AT SELECTION-SCREEN OUTPUT.
      CHECK gt_returntab[] IS NOT INITIAL.
      REFRESH s_msgno.
      s_msgno-option = c_equal.
      s_msgno-sign = c_include.
      LOOP AT gt_returntab INTO gs_returntab.
        s_msgno-low = gs_returntab-fieldval.
        s_msgno-high = space.
        APPEND s_msgno.
      ENDLOOP.
    At Selection Screen for Validation
    AT SELECTION-SCREEN.
      CLEAR gv_email_error.
    *-Validate Object Type
      PERFORM validate_objecttype.
    *-Validate Exception ID
      PERFORM fetch_exp_header.
    *-Validate Exception Type
      PERFORM validate_exptype.
    *-Validate Message Number
      PERFORM validate_msgno.
    *-Validate Message Type
      PERFORM validate_msgtype.
    *-Validate Delta
      PERFORM validate_delta.
    *-Validate Email ID
      PERFORM validate_email USING p_email
                             CHANGING gv_email_error.
      IF gv_email_error IS NOT INITIAL.
        MESSAGE e000(yhr_icm) WITH text-027.
      ENDIF.
    Initialization
    INITIALIZATION.
    Initialization
      PERFORM initialization.
    Start Of Selection
    START-OF-SELECTION.
      CLEAR : gv_email_error,
              gv_email_sent,
              gv_exit,
              gs_lock.
    Try locking the main program
      PERFORM lock_generation_program.
      CHECK gs_lock IS INITIAL.
    *-Fetch the messages stored in table
      PERFORM fetch_item_records.
    Read object type text.
      PERFORM read_text.
    Get Object Text
      PERFORM get_object_text.
    *-Fetch the current SAP messages
      PERFORM fetch_records.
    *-Update Delta Flag
      PERFORM update_delta_flag.
    *-Compare messages in table & in SAP
      PERFORM compare_message.
    If receiver is not blank, try sending out mail
      PERFORM send_mail USING p_email.
    End Of Selection
    END-OF-SELECTION.
      IF gv_exit IS NOT INITIAL.
        EXIT.
      ENDIF.
    *-Display ALV
      PERFORM display_alv.
    *-Build the event table for ALV display
      PERFORM build_eventtab CHANGING gt_events[].
    *-Fill the layout details
      PERFORM layout_build .
    Release all locks
      PERFORM release_locks.
    *-Finally call the grid display
      PERFORM display_data.
    *&      Form  set_pf_status
          text
         -->RT_EXTAB   text
    FORM set_pf_status USING rt_extab TYPE slis_t_extab.        "#EC *
    Set PF Status
      SET PF-STATUS 'STANDARD'.
    ENDFORM. "Set_pf_status
    *&      Form  DISPLAY_ALV
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv .
    *- Use FM to create field catalog
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_program_name         = sy-repid
          i_internal_tabname     = c_tabname
          i_structure_name       = c_structname
        CHANGING
          ct_fieldcat            = gt_fieldcat
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 1
          OTHERS                 = 1.
      IF sy-subrc = 1.
        MESSAGE i000(yhr_icm) WITH text-001.
        EXIT.
      ENDIF.
    *- Remove SEL Field Column as it is not required
      DELETE gt_fieldcat WHERE fieldname = c_selfield.
    *-If user chooses long text, activate icon
      IF p_ltext IS INITIAL.
        LOOP AT gt_fieldcat INTO gs_fieldcat WHERE fieldname = c_type.
          gs_fieldcat-icon = c_true.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " DISPLAY_ALV
    *&      Form  BUILD_EVENTTAB
          text
         <--P_GT_EVENTS[]  text
    FORM build_eventtab CHANGING    p_events  TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
    *-Get the list of event for alv
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = p_events.
    *-Add top of page event to event list
      READ TABLE p_events
            WITH KEY name = slis_ev_top_of_page
             INTO ls_event.
      IF sy-subrc = 0.
        MOVE c_topofpage TO ls_event-form.
        APPEND ls_event TO p_events.
      ENDIF.
    ENDFORM.                    " BUILD_EVENTTAB
    *&      Form  LAYOUT_BUILD
          text
    -->  p1        text
    <--  p2        text
    FORM layout_build .
      gs_layout-zebra                = c_true.
      gs_layout-colwidth_optimize    = c_true.
      gs_layout-detail_popup         = c_true.
      gs_layout-detail_initial_lines = c_true.
      gs_layout-detail_titlebar      = text-044.
      gs_layout-box_fieldname        = c_selfield.
    ENDFORM.                    " LAYOUT_BUILD
    *&      Form  DISPLAY_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM display_data .
    *-Display ALV display
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_user_command  = c_user_command
          i_background_id          = c_siwb_wallpaper
          i_callback_program       = sy-repid
          i_callback_pf_status_set = c_pf_status
          i_default                = c_true
          i_save                   = c_a
          is_layout                = gs_layout
          it_fieldcat              = gt_fieldcat
          it_events                = gt_events
        TABLES
          t_outtab                 = gt_records.
    ENDFORM.                    " DISPLAY_DATA
    *&      Form  FETCH_RECORDS
          text
    -->  p1        text
    <--  p2        text
    FORM fetch_records .
      REFRESH : gt_diff_tab,
                gt_del_tab,
                gr_pernr,
                gt_exceptions.
      CLEAR:    gs_icm_exp_log.
    *-Get Employee details
      PERFORM get_person_data.
    *-Get Position Details
      PERFORM get_position_data.
    *-Get Organization Details
      PERFORM get_org_data.
    *-Get Exception current SAP exception list.
      PERFORM get_exception_list.
    *-Add deletion records
      PERFORM filter_deletions.
    ENDFORM.                    " FETCH_RECORDS
    *&      Form  top_of_page
          text
    FORM top_of_page.                                           "#EC *
      PERFORM build_comment   USING    gt_heading.
    *-Display Use FM to display Top Of Page
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = gt_heading[].
      CLEAR gt_heading.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  build_comment
          text
         -->P_HEADING  text
    FORM build_comment USING p_heading TYPE slis_t_listheader.
      DATA: ls_hline     TYPE slis_listheader,
            lv_text(120) TYPE c.
    *-Display report title
      ls_hline-typ  = c_historical.
      WRITE text-006 TO lv_text.
      ls_hline-info = lv_text.
      APPEND ls_hline TO p_heading.
      CLEAR ls_hline.
      ls_hline-typ  = c_s.
    *-Remove leading & trailing spaces
      CONDENSE : gs_count-del,  gs_count-exp,  gs_count-hist.
    *-If the count is space then pass 0
      IF gs_count-del = space.
        gs_count-del = 0.
      ENDIF.
      IF gs_count-exp = space.
        gs_count-exp = 0.
      ENDIF.
      IF gs_count-hist = space.
        gs_count-hist = 0.
      ENDIF.
      IF gs_lock IS INITIAL.
    *-Display Deletion, Exception, Historical Count
        CONCATENATE  text-037 gs_count-del
                     text-032 gs_count-exp
                     text-039 gs_count-hist
                INTO ls_hline-info SEPARATED BY space.
      ELSEIF gs_lock-live IS NOT INITIAL.
        ls_hline-info = text-007.
      ELSEIF gs_lock-genr IS NOT INITIAL.
        ls_hline-info = text-008.
      ELSEIF gs_lock-exp IS NOT INITIAL.
        ls_hline-info = text-009.
      ENDIF.
      APPEND ls_hline TO p_heading.
      CLEAR ls_hline.
    ENDFORM.                    "BUILD_COMMENT
    *&      Form  INITIALIZATION
          text
    -->  p1        text
    <--  p2        text
    FORM initialization .
    Read Previous run
    SELECT MAX( run_id )
       INTO s_run_id-low
       FROM yhr_icm_exp_hist.                                  "#EC *
    s_run_id-option = c_equal.
    s_run_id-sign = c_include.
    APPEND s_run_id.
    s_rectyp-option = c_equal.
    s_rectyp-sign = c_include.
    s_rectyp-low = c_error.
    APPEND s_rectyp.
    s_rectyp-low = c_deletions.
    APPEND s_rectyp.
      PERFORM restrict_selections.
    *Get the message from Message Class YHR_ICM
      SELECT msgnr
             text
        FROM t100
        INTO TABLE gt_message
       WHERE arbgb = c_msg_class  AND
             msgnr GT '000'.                                    "#EC *
    ENDFORM.                    " INITIALIZATION
    *&      Form  F4_MESSAGE
          text
         <--P_P_MSGNO  text
    FORM f4_message.
    F4 Help - Display all messages
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield        = 'MSGNR'
          dynpprog        = sy-cprog
          dynpnr          = sy-dynnr
          dynprofield     = 'S_MSGNR'
          window_title    = text-045
          value_org       = c_s
          multiple_choice = c_true
        TABLES
          value_tab       = gt_message
          return_tab      = gt_returntab
        EXCEPTIONS
          parameter_error = 1
          no_values_found = 2
          OTHERS          = 1.
      IF sy-subrc = 1.
        MESSAGE i000(yhr_icm) WITH text-002.
        EXIT.
      ELSEIF sy-subrc = 2.
        MESSAGE i000(yhr_icm) WITH text-003.
        EXIT.
      ENDIF.
    ENDFORM.                    " F4_MESSAGE
    *&      Form  VALIDATE_OBJECTTYPE
          text
    -->  p1        text
    <--  p2        text
    FORM validate_objecttype .
      CHECK s_otype-low IS NOT INITIAL.
      CONDENSE s_otype-low.
    Validate object type to check whether user has entered only S, P or O
      IF  s_otype-low NE c_organization AND
            s_otype-low NE c_position AND
              s_otype-low NE c_participants  .
        MESSAGE e000(yhr_icm) WITH 'Enter either S(Position), P(Person) or O(Org Unit)'(021).
      ENDIF.
    ENDFORM.                    " VALIDATE_OBJECTTYPE
    *&      Form  VALIDATE_OBJECTTYPE
    FORM f01_alv_event_user_command USING r_ucomm LIKE sy-ucomm
                                          rs_selfield TYPE slis_selfield."#EC *
      DATA : lv_answer TYPE c,
             lt_fields TYPE STANDARD TABLE OF sval,
             ls_fields TYPE sval.
    *-Get the row user has selected in ALV list
      READ TABLE gt_records INTO gs_records INDEX rs_selfield-tabindex.
      CASE r_ucomm.
        WHEN 'DISP'.
          CASE gs_records-otype.
            WHEN 'S'.
              SET PARAMETER ID 'POT' FIELD gs_records-otype.
              SET PARAMETER ID 'PON' FIELD gs_records-objid.
              CALL TRANSACTION 'PP01_DISP' AND SKIP FIRST SCREEN.
            WHEN 'P'.
              SET PARAMETER ID 'PER' FIELD gs_records-objid.
              CALL TRANSACTION 'PA20' AND SKIP FIRST SCREEN.
            WHEN 'O'.
              SET PARAMETER ID 'POT' FIELD gs_records-otype.
              SET PARAMETER ID 'PON' FIELD gs_records-objid.
              CALL TRANSACTION 'PP01_DISP' AND SKIP FIRST SCREEN.
          ENDCASE.
        WHEN 'CHNG'.
          CASE gs_records-otype.
            WHEN 'S'.
              SET PARAMETER ID 'POT' FIELD gs_records-otype.
              SET PARAMETER ID 'PON' FIELD gs_records-objid.
              CALL TRANSACTION 'PP01' AND SKIP FIRST SCREEN.
            WHEN 'P'.
              SET PARAMETER ID 'PER' FIELD gs_records-objid.
              CALL TRANSACTION 'PA30' AND SKIP FIRST SCREEN.
            WHEN 'O'.
              SET PARAMETER ID 'POT' FIELD gs_records-otype.
              SET PARAMETER ID 'PON' FIELD gs_records-objid.
              CALL TRANSACTION 'PP01' AND SKIP FIRST SCREEN.
          ENDCASE.
        WHEN 'EMAIL'.
    *-    Check whether email has already been sent
          IF  gv_email_sent = c_true.
    *-      If yes, then display pop up to confirm for mailing again
            CALL FUNCTION 'POPUP_TO_CONFIRM'
              EXPORTING
                text_question  = text-041
                text_button_1  = text-042
                text_button_2  = text-043
              IMPORTING
                answer         = lv_answer
              EXCEPTIONS
                text_not_found = 1
                OTHERS         = 1.
            IF sy-subrc = 1.
              MESSAGE i000(yhr_icm) WITH text-004.
              EXIT.
            ENDIF.
    *-     Continue only if user has selected Yes
            CHECK lv_answer = '1'.
          ENDIF.
    *-      Add Email Field & Table
          ls_fields-tabname = 'SZA5_D0700'.
          ls_fields-fieldname =  'SMTP_ADDR'.
          APPEND ls_fields TO lt_fields.
    *-      Use FM to get new Email ID
          CALL FUNCTION 'POPUP_GET_VALUES'
            EXPORTING
              popup_title     = text-s09
              start_column    = '5'
              start_row       = '5'
            TABLES
              fields          = lt_fields
            EXCEPTIONS
              error_in_fields = 1
              OTHERS          = 1.
          IF sy-subrc = 1.
            MESSAGE i000(yhr_icm) WITH text-004.
            EXIT.
          ENDIF.
    *-    Get the Email user has entered
          READ TABLE lt_fields INTO ls_fields INDEX 1.
    *-      Validate Email ID
          PERFORM validate_email USING ls_fields-value
                         CHANGING gv_email_error.
    *-    If the flag is not initial, indicates possible error
          IF  gv_email_error IS NOT INITIAL.
            MESSAGE i000(yhr_icm) WITH text-027.
            EXIT.
          ELSE.
          If no error, then try ending email
            PERFORM send_mail USING ls_fields-value.
          ENDIF.
        WHEN 'REFRESH'.
    *-    Fetch the current SAP messages
          PERFORM fetch_records.
    *-    Update Delta Flag
          PERFORM update_delta_flag.
    *-    Compare messages in table & in SAP
          PERFORM compare_message.
    *-    Refresh alv which is already displayed
          rs_selfield-refresh = c_true.
      ENDCASE.
    ENDFORM.                    "F01_ALV_EVENT_USER_COMMAND
    *&      Form  RESTRICT_SELECTIONS
          text
    -->  p1        text
    <--  p2        text
    FORM restrict_selections .
      TYPE-POOLS sscr.
      STATICS: lt_restrict TYPE sscr_restrict,
               lt_opt_list TYPE sscr_opt_list,
               ls_***      TYPE sscr_***.
    Restrict the wage type selection so the user can only enter
    values with the 'EQ' clause.
      CLEAR lt_opt_list.
      MOVE c_objectkey TO lt_opt_list.
      MOVE c_true TO: lt_opt_list-options-eq,
                      lt_opt_list-options-bt,
                      lt_opt_list-options-cp,
                      lt_opt_list-options-eq,
                      lt_opt_list-options-ge,
                      lt_opt_list-options-gt,
                      lt_opt_list-options-le,
                      lt_opt_list-options-lt.
      APPEND lt_opt_list TO lt_restrict-opt_list_tab.
      MOVE: c_s         TO ls_***-kind,
            c_rectype   TO ls_***-name,
            c_include         TO ls_***-sg_main,
            space       TO ls_***-sg_addy,
            c_objectkey TO ls_***-op_main.
      APPEND ls_***     TO lt_restrict-***_tab.
    *-Restrict the values OTYPE
      MOVE  'S_OTYPE'    TO ls_***-name.
      APPEND ls_***      TO lt_restrict-***_tab.
    *-Restrict the values OBJID
      MOVE    'S_OBJID'  TO ls_***-name.
      APPEND ls_***      TO lt_restrict-***_tab.
    *-Use FM to restrict the values
      CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
        EXPORTING
          restriction = lt_restrict.
    ENDFORM.                    " RESTRICT_SELECTIONS
    *&      Form  GET_PERSON_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM get_person_data .
      DATA : lt_del_tab TYPE STANDARD TABLE OF yhr_icm_diff.
      SORT gt_icm_exp_log BY msgno .
      gr_pernr-sign = c_include.
      gr_pernr-option = c_equal.
      LOOP AT gt_icm_exp_log INTO gs_icm_exp_log WHERE otype = c_participants AND
                                                       record_type = c_error.
    *-  Sort the table based on msgno and collect pernr
        gr_pernr-sign = c_include.
        gr_pernr-option = c_equal.
        gr_pernr-low = gs_icm_exp_log-objid.
        APPEND gr_pernr.
        CLEAR gr_pernr-low.
        AT END OF msgno.                                        "#EC *
    *-    For the list of Pernr having same PERNR get the current exp details
          IF  gs_icm_exp_log-msgno = c_msg_100.
    *-      Export the pernr list to memory id & import in the below FM
    *-      Selection of records should be based on values exported from here
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0001'.
          Get Org Assignment 0001 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0001_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
        ELSEIF  gs_icm_exp_log-msgno = c_msg_101. "Y_HR_DIFF_PERNR_0001_ORG_DATA
          ELSEIF  gs_icm_exp_log-msgno = c_msg_102 .
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0000'.
          Get Actions 0000 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0000_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
          ELSEIF  gs_icm_exp_log-msgno = c_msg_103.
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0002'.
          Get Personal Details 0002 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0002_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
          ELSEIF  gs_icm_exp_log-msgno = c_msg_104.
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0004'.
          Get Disability 0004 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0004_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
          ELSEIF  gs_icm_exp_log-msgno = c_msg_105.
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0006'.
          Get Addresses 0006 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0006_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
          ELSEIF  gs_icm_exp_log-msgno = c_msg_106.
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0007'.
          Get Planned Time 0007 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0007_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
          ELSEIF  gs_icm_exp_log-msgno = c_msg_107.
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0016'.
          Get Contract Element 0016 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0016_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
          ELSEIF  gs_icm_exp_log-msgno = c_msg_108.
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0077'.
          Get Additional Personal 0077 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0077_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
          ELSEIF  gs_icm_exp_log-msgno = c_msg_109 .
            EXPORT gr_pernr TO MEMORY ID 'PERNR_0105'.
          Get Communications 0105 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_0105_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda
                refresh      = space
                UPDATE       = space
              TABLES
                diff_tab     = gt_diff_tab
                del_tab      = lt_del_tab.
          ELSEIF  gs_icm_exp_log-msgno = c_msg_110.
            EXPORT gr_pernr TO MEMORY ID 'PERNR_2001'.
          Get Absences 2001 Data
            CALL FUNCTION 'Y_HR_DIFF_PERNR_2001_DATA'
              EXPORTING
                period_begda = gs_icm_exp_hist-begda
                period_endda = gs_icm_exp_hist-endda

  • I have result after execution of OperationBinding. How can i parse and store in list.

    I have result after execution of operation binding. how can i parse and store in list

    Hi,
    I Thought u have custom method in AM which returns List Data type. What is the requirement exactly, bcz commit operation have void return type.
    Ex: create custom method in AMimple class
    public List sampleData(){
    // code here to set the values in List object.
    now expose the above method in client interface. Then add the Method action binding in pageDef file and execute the below code in managed bean
    OperationBinding operationBinding = (OperationBinding)bindings.getOperationBinding("sampleData");
                List result =(List) operationBinding.execute();
    Thanks
    Nitesh

  • Returning to same tab after execution

    I have a selection screen with 6 tabs.  After execution, the screen always returns to the first tab.  This is very annoying to my users and potentially can cause mistakes on re-running the application.  Does anyone know of a way to go back to the same tab that was open when the program was executed?
    Thanks.

    I answered this once on this forum...others have answered, also, so suggest you search.  I don't recall the exact details, but I think I stored the ACTIVETAB value to memory, then recalled prior to returning to the selection screen.
    Perhaps here:
    [Return to TabStrip|Return to same tabstrip on selection screen;

  • BPS planning folder; Scroll to top after execution of planning function

    Hi All,
    After execution of a planning function, or after saving data in a planning folder, the layout jumps back to the top and displays the first row, even if the user was positioned on another row.
    I know BPS does this because it recalculates the data and tries to display it.
    However, it is not very user friendly.
    Did anyone ever solve this ?
    How do you remain positionned on the line you are working on after saving or execution a BPS planning function?
    Thanks in advance for your answer,
    Points will be rewarded to solutions.
    Filip Ledoux

    <FONT FACE = "Tahoma", Font Color = "Blue">
    Hi<br>
    There are some APIs which BPS uses internally to save data. You can make a Planning Function of Type EXIT using function moule of your own calling API_SEMBPS_POST (to save data). <br><br>
    You can call this EXIT Function as a step next to your copy function in your Global Planning Sequence.<br>
    Please refer to Note 422998 - SEM-BPS processing large data volumes if you need further details for implementing this solution.
    <br><br>
    Hope it helps.<br>
    Cheers Abhijit</FONT><FONT FACE = "Verdana", Font Color = "Red">
    It's a good habit to reward someone with points in SDN if you think his/her
    response was helpful to you
    </FONT>

  • Cannot set status of Urgent Change after manual transport

    Hi all,
    We are usng CHARM in Solution Manager 7.1 for import to the SAP ECC (EHP6) systems.
    I cannot set the status of the Urgent Change document (ZMHF) to status "To be Tested" after the transports were manually released and manually imported to the ECC QA system.
    When I use action "Pass Urgent Change to Test", the system stopped with error "Not all task are yet released" and will not change the status .
    Based, on the Task List log, the system started the release process although no transports were released.
    Is there any way that I can update the status of the Urgent Change document to "To be Tested"?
    I tried program CRM_SOCM_SERVICE_REPORT but still did not change the status.
    Any suggestion?
    Thanks,
    Tess

    Hi Venu,
    have a look under System Administration - System Configuration -- Knowledge Management -- Configuration --Content Management -- User Interface -- Commands -- UI Command Groups -- StatemanagementGroup.
    See Java class: com.sapportals.wcm.rendering.uicommand.cm.UIStatemanagementGroupCommand. Take the class and decompile this and everything needed around to understand how this class works.
    Then you can choose to extend this CommandGroup to also have a command "Resubmit for Approval" or you can implement your own UI Command only for resubmitting (you will also have to activate your command (group) by settings within the configuration).
    On the other hand, if all this is completely new to you, I'm a bit sceptical if the task isn't a bit too big as a first task on KM implementation topics...?
    Hope it helps
    Detlev

  • How to access the result list in teststand after execution using labwindows​/cvi

    I am developing a user interface in labwindows/cvi that runs multiple teststand sequence files and would like to combine their reports (generated in teststand) into a single file at the end of a UUT. What is the best way to do this? At the moment, I'm trying to access the result list local variable after the execution has ended using API calls from labwindows/cvi and an end-of-execution callback event but those run-time variables do not exist anymore. How do I get a hold of the result list array at the end of an execution? I would like to grab this variable and pass it along from sequence to sequence using labwindows/cvi and not teststand itself. Is this possible? Any help would be great.
    Thanks in advance,
    Luis

    Hey Luis,
    Check out the response to this thread at the NI TestStand board here!

  • How to Use and Filter Table contents after execution of Bapi

    Can anybody guide me how to Use and Filter the table Contents which i got after successful execution of a Bapi
    I used Component Controller in my Project
    Ex: My table contains Redundant data for a single column but i want to display the column contents with out Redundancy
    Name
    Raghu
    Raghu
    Raghu
    Debasish
    Debasish
    I want to filter the table contents and i want to display the table with out Redundancy
    and Even when i am using a Dropdown i selected a Column  from a Table as the values for that Dropdown  but that table is having redundant data and the same data is getting displayed in that Dropdown i want the Dropdown to display data with out redundancy
    Thanks

    I also got that problem recently and after debuging for a while I figured out, that it was resulting from an error in my table's model: When the model received new items to display I
    1.) Fired an delete event for the old items
    2.) Fired an insert event for the new items
    Problem was that when firing the delete event I didn't already assigned the new items to the model. Therefore it had still the old row count.
    Maybe you have also a faulty table model?...

  • Navigation is not happening Tab Strip control after execution of PAI

    Hi All,
    I'm facing a problem in my dialog program.
    Here I've a normal screen(200) which contains the tabstrip(3 tabs). Each tab has a subscreen area
    (named header_ref1, line_ref1 and scedule_ref1 respectively).
    screen 200's flow logic:
    PROCESS BEFORE OUTPUT.
      CALL SUBSCREEN header_ref1 INCLUDING sy-repid '0210'.
      CALL SUBSCREEN line_ref1 INCLUDING sy-repid '0220'.
      CALL SUBSCREEN schedule_ref1 INCLUDING sy-repid '0230'.
      MODULE status_0200. "<- Here I've written the logic for changing the tab
    "like when okcode header->first tab,  line ->second tab
    PROCESS AFTER INPUT.
      CALL SUBSCREEN header_ref1.
      CALL SUBSCREEN line_ref1.
      CALL SUBSCREEN schedule_ref1.
      MODULE user_command_0200.
    When I simply navigate between these tabs(without entering anything), its fine and when I enter something in the first/second tab's subscreen and navigate to the other tabs then also navigation is fine.
    But when I enter something in the second tab nad trying to navigate to other tabs its not getting navigated. My second tab contains a table control.
    To summarize, after the PAI execution of second tab navigation is not happening between the tabs
    Helps to solve this problem are highly appreciated.
    thanks in advance.
    Regards,
    Manoj Kumar P
    Edited by: Manoj Kumar on Jun 18, 2009 10:37 AM

    Hi,
    I suggest to do paging not in PBO but in PAI.
    PROCESS AFTER INPUT.
      MODULE change_tab.
    MODULE change_tab. INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      my_tabstrip-activetab = save_ok.
      CASE save_ok.
        WHEN 'FC_TAB1'.   "<- function code of first tab
          g_dynnr = '0210'.
        WHEN 'FC_TAB2'.    "<- second
          g_dynnr = '0220'.
        WHEN 'FC_TAB3'.    "<- third
          g_dynnr = '0230'.
      ENDCASE.
    ENDMODULE.                  
    If that doens't help, remove your table control and check if that influence paging the tabs. If yes, then it has to be something with this table control i.e. mandatory fields are not filled or similar, which doesn't allow to leave the screen.
    Regards
    Marcin

  • In Decision task, Method defined after execution is not called from Portal

    Dear All,
    In one of my scenarios, I am using a decision task for approval.
    In that after the approval action is taken i am calling a BAPI to update business function.
    I have called this BAPI in the Methods ( After Workitem Execution ) .
    When I execute this task from the SAP Inbox ,  the method is getting called successfully and the BAPI is also executed successfully. But when I approve the task from portal this method is not getting called at all, and BAPI also fails.
    Actually in the workitem display , I am using the standard FM SWU2_INPLACE_DECISION_PROCESS, will it have any impact when its used from Portal ?
    Is there any common place that will be called from both SAP Inbox and Portal after the task execution , so that based on the decision taken , I can process the action at the same place.
    Advance thanks for your response.
    regards,
    Sabari Prabhu.

    Hello,
    Unfortunately, that I know, there is no way to call your BAPI if you're using the standard decision JavaWD. In fact all that WD does is calling a WAPI to read the decision alternatives and then once the user has taken his decision it calls another WAPI to feedback the decision into the backend.
    The blog mentionned by Pavan concerns only the secondary methods with amodal call, this is different from the before and after methods which are not supported and cannot help you for calling your BAPI. The so-called "Program exits" are not supported either.
    The only alternatives I can see for you are:
    - Develop your own decision screen specific for your workflow and integrate there your BAPI call. This would also give you more flexibility to show your agents the information they need to take their decision. This is the way I usually go for now.
    - Change your UWL settings so that decisions are processed in a GUI screen instead of the JAVA WD screen. The main disadvantage is that you can do this either for all decision or for none of them. You can't just set that up for the decision in your specific workflow (or at least I haven't found how to do it).
    To change the way decisons are processed in UWL you must first change the parameter "List of preview sections to hide" in your UWL iView to add value USERDECISION.
    Then you must create a custom XML config file (or modify an existing one) in which you must customize each decision task used in your company individualy. To do that just take a standard config file and find the Item type entry for a standard decision task as an example. All you have to do is to recreate the same entry for each of the decision tasks you actually use and replace the defaultAction="viewDetail" parameter by defaultAction="launchSAPAction".
    Cheers,
    Patrick

Maybe you are looking for

  • My MacBook Air is boiling within 3 minutes of run

    Hi, I bought my MacBook Air around end of 2010. And recently I started experiencing overheating within 10 minutes of run by using common softwares and web browsing. Actually sometimes I've Chrome or Firefox with over 200 tabs (with flash blocker) or

  • Had to do a recovery from icloud and lost all my projects in imovie

    Got back all my photos and videos but can't find my projects in i-tunes and don't know how to find them on the cloud. can anyone help ?

  • Iis't true about disable put and delete and trace in weblogic?

    i want to known how the http method(put ,delete and trace ) is working in weblogic?

  • Logical File creation

    Hi Experts, I need to craete a Logical file for BOM conversion. Could someone help me what it is with necessary steps exactly? Your help Appreciated with points Thanks Dan

  • Offline music and Gigs

    On the Lumia i am missing the Gig and Offline music, This happened once i sign into my Nokia account, Anyone else having same issue. I did the following and it helps. a) sign out of Nokia account b) Uninstall Nokia muisc app c) Restart phone d) Reins