RBCA_PP_SIF_RUN_PP_TEMPLATE generates spool only in debug mode

Hi
I have developed a PP report based on the templaate RBCA_PP_SIF_RUN_PP_TEMPLATE. The report is a simple selection and is supposed to write to the spool (success or error messages). Using WRITE <text> should write to the spool for every job under this parallel processing.
When I am debugging the code, or simply set a breakpoint (BCADEBUG) and execute, spool appears. But if i simply run the job with same variant (no debugging, no BCADEBUG), the spool does not appear.
Any suggestions why this is happening ans how to generate spool in all modes.
Regards
Vikram

Hi Billy,
this is nasty.
My strategy for this situation would be to start 2 browsers.
In 1 browser session I use the Apex Application Builder and in the other (in private/ incognito) browser I run the application in debug mode.
The debug information can be viewed in the Application Builder using the Utillities or by using the URL to the debug screen directly like so
http://localhost:8888/pls/apex/f?p=4000:19:<APP_SESSION>:::RIR,19:IR_APPLICATION_ID,IR_PAGE_ID:<APP_ID_OF_APP_TO_DEBUG>,<PAGE_TO_DEBUG>regards,
Erik-jan

Similar Messages

  • CRM_ORDER_MAINTAIN works only in debug mode

    Hi Experts,
    I am currently facing a strange issue. I am trying to add a line item to a service ticket, but the code works only in debug mode. Sample code is given below:
    lv_product_i-ref_handle = '0000000001'.
    lv_product_i-ref_guid = lv_header_guid.
    INSERT lv_product_i INTO TABLE lt_product_i.
    ls_orderadm_i-header = lv_header_guid.
    ls_orderadm_i-itm_type = 'ZSG5'.
    ls_orderadm_i-number_int = '0000000010'.
    ls_orderadm_i-ordered_prod = 'SERVICEITEM_SG5'.
    ls_orderadm_i-handle = '0000000001'.
    ls_orderadm_i-mode = 'A'.
    ls_orderadm_i-itm_proc_ident = 'SRVC'.
    INSERT ls_orderadm_i INTO TABLE lt_orderadm_i.
    ls_input_fields-ref_handle = '0000000001'.
    ls_input_fields-objectname = 'ORDERADM_I'.
    CLEAR ls_field_names.
    ls_field_names-fieldname = 'HANDLE'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'HEADER'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'ITM_PROC_IDENT'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'ITM_TYPE'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'MODE'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'NUMBER_INT'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'ORDERED_PROD'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    CALL FUNCTION 'CRM_ORDER_MAINTAIN'
    EXPORTING
    it_product_i = lt_product_i
    CHANGING
    ct_orderadm_i = lt_orderadm_i
    ct_input_fields = lt_input_fields
    EXCEPTIONS
    error_occurred = 1
    document_locked = 2
    no_change_allowed = 3
    no_authority = 4
    OTHERS = 5.
    LOOP AT lt_orderadm_i INTO lv_tempvar.
    lv_item_guid = lv_tempvar-guid.
    ENDLOOP.
    The item guid is coming as initial and no item is being added.But if i put a breakpoint in CRM_ORDER_MAINTIAN, then the guid is being generated properly. Any pointers why the code is behaving like this or someone has faced a similar issue before?
    Thanks and Regards,
    Rohit

    Hi Rohit,
    The above said is also correct + U have to write
      CALL FUNCTION 'CRM_ORDER_SAVE'
        EXPORTING
          IT_OBJECTS_TO_SAVE = GT_OBJ_GUIDS
        IMPORTING
          ET_SAVED_OBJECTS   = GT_SAVED_OBJECTS
        EXCEPTIONS
          OTHERS             = 2.
      COMMIT WORK.

  • CRM_ORDER_MAINTIAN works only in debug mode!

    Hi Experts,
    I am currently facing a strange issue. I am trying to add a line item to a service ticket, but the code works only in debug mode. Sample code is given below:
    lv_product_i-ref_handle = '0000000001'.
    lv_product_i-ref_guid = lv_header_guid.
    INSERT lv_product_i INTO TABLE lt_product_i.
    ls_orderadm_i-header = lv_header_guid.
    ls_orderadm_i-itm_type = 'ZSG5'.
    ls_orderadm_i-number_int = '0000000010'.
    ls_orderadm_i-ordered_prod = 'SERVICEITEM_SG5'.
    ls_orderadm_i-handle = '0000000001'.
    ls_orderadm_i-mode = 'A'.
    ls_orderadm_i-itm_proc_ident = 'SRVC'.
    INSERT ls_orderadm_i INTO TABLE lt_orderadm_i.
    ls_input_fields-ref_handle = '0000000001'.
    ls_input_fields-objectname = 'ORDERADM_I'.
    CLEAR ls_field_names.
    ls_field_names-fieldname = 'HANDLE'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'HEADER'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'ITM_PROC_IDENT'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'ITM_TYPE'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'MODE'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'NUMBER_INT'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    ls_field_names-fieldname = 'ORDERED_PROD'.
    APPEND ls_field_names TO ls_input_fields-field_names.
    INSERT ls_input_fields INTO TABLE lt_input_fields.
    CALL FUNCTION 'CRM_ORDER_MAINTAIN'
    EXPORTING
    it_product_i = lt_product_i
    CHANGING
    ct_orderadm_i = lt_orderadm_i
    ct_input_fields = lt_input_fields
    EXCEPTIONS
    error_occurred = 1
    document_locked = 2
    no_change_allowed = 3
    no_authority = 4
    OTHERS = 5.
    LOOP AT lt_orderadm_i INTO lv_tempvar.
    lv_item_guid = lv_tempvar-guid.
    ENDLOOP.
    The item guid is coming as initial and no item is being added.But if i put a breakpoint in CRM_ORDER_MAINTIAN, then the guid is being generated properly. Any pointers why the code is behaving like this or someone has faced a similar issue before?
    Thanks and Regards,
    Rohit

    Well, during debugging an implicit COMMIT WORK is executed on a regular basis. This might cause the ITEM GUID to be created during debugging.
    However, normally, after CRM_ORDER_MAINTAIN, you should use the CRM_ORDER_SAVE as well. This will return a list of SAVED_OBJECTS. If all objects were saved correctly, do an explicit COMMIT WORK.
    Works fine for us.....

  • Updating Custom Table Only in Debug Mode

    Hi All!
    I have been encountering issues in updating a custom table. It would work successfully only in debug mode otherwise it won't update an entry in the table.
    This is the piece of code that would update an entry in the table specifically used in a user exit. The functionality of this code is to automatically remove a transportation block:
    SELECT SINGLE *
    INTO wa_zblock
    FROM zblock
    WHERE zzblknum EQ c_tr01
    AND vbeln EQ p_lvbeln
    AND zzprocessed EQ space.
    IF sy-subrc EQ 0.
    DO.
    CALL FUNCTION 'ENQUEUE_E_TABLES'
    EXPORTING
    MODE_RSTABLE = 'S'
    TABNAME = c_lzblock
    EXCEPTIONS
    FOREIGN_LOCK = 1
    SYSTEM_FAILURE = 2
    OTHERS = 3.
    IF sy-subrc EQ 0.
    wa_zblock-zzprocessed = c_x.
    wa_zblock-zzapproveby = sy-uname.
    wa_zblock-zzapproveon = sy-datum.
    MODIFY zblock FROM wa_zblock.
    if sy-subrc EQ 0.
    COMMIT WORK AND WAIT.
    endif.
    EXIT.
    ENDIF.
    ENDDO.
    CALL FUNCTION 'DEQUEUE_E_TABLES'
    EXPORTING
    MODE_RSTABLE = 'S'
    TABNAME = c_lzblock.
    ENDIF.
    How can I make this update the custom table successful in undebugged mode? Please let me know your thoughts on this.
    Thanks!

    I also suggest you to lock only the entry that will be updated (and not the whole table!) : you will have then far less problems of conflict with updating this table.
    For that, you have to create a lock object on your table (via SE11 - for example EZ_MY_TABLE). This will create 2 function modules named ENQUEUE_E<name of your lock object> (in my example ENQUEUE_EZ_MY_TABLE) and DEQUEUE_E<...>.
    You can then call those FM like this :
    CALL FUNCTION 'ENQUEUE_EZ_MY_TABLE'
      EXPORTING
        MODE_RSTABLE = 'S'
        KEYFIELD1 = ld_keyfield1  " Here are the key values for the entry that you have to update
        KEYFIELD2 = ld_keyfield2
      EXCEPTIONS
        FOREIGN_LOCK = 1
        SYSTEM_FAILURE = 2
        OTHERS = 3.
    Best regards,
    Samuel

  • Function Module working only in debug mode

    Hi all,
    The following Function Module works only in debug mode. The purpose of this FM is to create a notification and to put it in progress status. If I put a breakpoint before "CALL FUNCTION 'BAPI_ALM_NOTIF_PUTINPROGRESS'" it works. If I execute this FM without putting a breakpoint at that place it creates the notification but doesnt put it in progress status.
    In other words, the last BAPI call doesnot work if I dont put a breakpoint before.
    Can somebody help me to find out where is the problem?
    Thanks,
    Younes
    FUNCTION ZFM_CREATE_NOTIF_IN_PROCESS.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(NOTIFTYP) TYPE  CHAR2
    *"     VALUE(NOTIFHEADER) TYPE  BAPI2080_NOTHDRI
    *"  EXPORTING
    *"     VALUE(NOTIFNUMBER) TYPE  CHAR12
    *"     VALUE(NOTIFCURSTATUS) TYPE  CHAR40
    DATA: gs_bapi2080_nothdre TYPE bapi2080_nothdre,
          gt_return TYPE TABLE OF bapiret2.
    The notification is created with a temporary number
    CALL FUNCTION 'BAPI_ALM_NOTIF_CREATE'
      EXPORTING
        notif_type         = NOTIFTYP
        notifheader        = NOTIFHEADER
      IMPORTING
        notifheader_export = gs_bapi2080_nothdre
      TABLES
        return             = gt_return.
    READ TABLE gt_return TRANSPORTING NO FIELDS WITH KEY type = 'E'.
    CHECK sy-subrc IS NOT INITIAL.
    *The notication will be saved with a number which isnt temporary
    CALL FUNCTION 'BAPI_ALM_NOTIF_SAVE'
      EXPORTING
        number      = gs_bapi2080_nothdre-notif_no
      IMPORTING
        notifheader = gs_bapi2080_nothdre
      TABLES
        return      = gt_return.
    READ TABLE gt_return TRANSPORTING NO FIELDS WITH KEY type = 'E'.
    CHECK sy-subrc IS NOT INITIAL.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    The Notif is already created, it will be put in progress status
    NOTIFNUMBER = gs_bapi2080_nothdre-notif_no.
       CALL FUNCTION 'BAPI_ALM_NOTIF_PUTINPROGRESS'
            EXPORTING
              NUMBER             = NOTIFNUMBER
              LANGU              = SY-LANGU
           IMPORTING
             SYSTEMSTATUS       = NOTIFCURSTATUS
           TABLES
             RETURN             = gt_return.

    Hi Emmanuel,
    Now I get your problem: you want to wait to have the commit finished! The call to BAPI_TRANSACTION_COMMIT has an optional parameter 'WAIT' which is space by default which causes only a commit. When you set this parameter to 'X' it will do a commit work and wait.
    This should solve your problem!
    Regards,
    John.

  • SSF_OPEN generating spool only for LOCL Device

    Hello all,
    I am using SSF_OPEN and SSF_CLOSE function module and in between i am calling two function modules.
    I have to generate a spool request for the smartform output (No preview) with the output device mentioned through selection-parameter.
    The problem i am getting is , the spool is always generating for device 'LOCL' , no matter what device i give in the selction parameter.
    Please help me solve this issue.
    Here is the code snippet i have used:
      lw_control-no_open   = 'X'.
      lw_control-no_close  = 'X'.
        lw_control-no_dialog = 'X'.
        lw_option-tdnewid   = 'X'.
        lw_option-tdimmed   = 'X'.
        lw_option-tddest    = p_ldest.
        lw_option-tddelete  = space.            "Delete After Printing
    *Opens an internal session of smartform,
    * call all smartforms in this sessions
      CALL FUNCTION 'SSF_OPEN'
        EXPORTING
          control_parameters = lw_control
          output_options     = lw_option
        IMPORTING
          job_output_options = lw_job_output
        EXCEPTIONS
          exceptions
          formatting_error   = 1
          internal_error     = 2
          send_error         = 3
          user_canceled      = 4
          OTHERS             = 5.
    What are the parameters to be passed to the  smartform? is it sufficient if passed control parameters here only on SSF_OPEN Fm ?
    Regards,
    Giri

    Kindly use in this way to generate spool as per your required output device
    data : tspoolid1 type ssfcrespd,
            tspoolid2 type ssfcrescl,
            tspoolid3 type ssfcresop,
            spool type ssfcrescl-spoolids,
            control_parameters type ssfctrlop,
            output_options     type ssfcompop.
      output_options-tdnoprev = 'X'.
       output_options-tdnewid = 'X'.
       output_options-tdimmed = 'X'.
       output_options-tddelete = 'X'.
       control_parameters-no_dialog = 'X'.
        output_options-tddest = 'LP02'.
    call function fm_name
         exporting
           control_parameters   = control_parameters
           output_options       = output_options
           user_settings        = ''
           goodsmvt_header      = goodsmvt_header
           poheader             = poheader
           ch1                  = ch1
           head                 = ch2
         importing
           document_output_info = tspoolid1
           job_output_info      = tspoolid2
           job_output_options   = tspoolid3
      *   tables
    *   EXCEPTIONS
    *     FORMATTING_ERROR           = 1
    *     INTERNAL_ERROR             = 2
    *     SEND_ERROR                 = 3
    *     USER_CANCELED              = 4
    *     OTHERS                     = 5.
    if tspoolid2-spoolids is not initial.
    * To hold the value of tab index
         spool = tspoolid2-spoolids.
         read table spool into wa_spool index 1.
         concatenate 'GRN_NOTE_' v_mblnr into v_npdf.
    **  v_npdf = v_mblnr.
         submit rstxpdft4 using selection-screen '1000'
                          with spoolno eq wa_spool
                          with p_file  eq v_npdf
                          and return.
       endif.
    Many Thanks / HImanshu Gupta

  • Processing happens only in debug mode.

    Hi,
    I am calling an RFC enabled FM BAPI_ALM_NOTIF_DATA_MODIFY and BAPI_ALM_NOTIF_SAVE to modify the data of a notification. These function modules are called within another FM which is also a RFC called in background as a separate task. The problem here is that, the data gets modified fine only when I am in the debugging mode and execute it. But if I execute without going to the debug mode, I cannot modify the notification data. Kindly suggest why this is happening and what the solution is. Thanks

    I am not using any destination. The code is as shown:
      WAIT UP TO 5 SECONDS.
      CALL FUNCTION 'BAPI_ALM_ORDER_GET_DETAIL'
        EXPORTING
          number                 = aufnr
       IMPORTING
         es_header              = gf_header
        TABLES
         et_olist               = it_ord_notif
          return                 = it_ret
    CALL FUNCTION 'BAPI_ALM_NOTIF_GET_DETAIL'
      EXPORTING
        number                   = gf_header-notif_no
    IMPORTING
       NOTIFHEADER_EXPORT       = gf_notif_exp
            CLEAR: gf_notif_no.
            DESCRIBE TABLE it_notif_no LINES g_line.
            READ TABLE it_notif_no into gf_notif_no INDEX g_line.
            IF gf_notif_no-short_text+0(3) = 'PRB'.
             clear: gf_notif_imp, gf_notif_imp_x.
                gf_notif_imp-desstdate = gf_notif_exp-desstdate.
                gf_notif_imp-desenddate = gf_notif_exp-desenddate.
                gf_notif_imp_x-desstdate = 'X'.
                gf_notif_imp_x-desenddate = 'X'.
                CALL FUNCTION 'BAPI_ALM_NOTIF_DATA_MODIFY'
                      EXPORTING
                        number                   = gf_notif_no-notif_no
                       NOTIFHEADER              = gf_notif_imp
                       NOTIFHEADER_X            = gf_notif_imp_x
                     IMPORTING
                       NOTIFHEADER_EXPORT       = gf_notif_result
                     TABLES
               CALL FUNCTION 'BAPI_ALM_NOTIF_SAVE'
      EXPORTING
        number            = gf_notif_no-notif_no
    IMPORTING
      NOTIFHEADER       = gf_qmnum_save
    TABLES
       RETURN            = it_ret2.
              endif.
                clear: gf_notif_no.
            LOOP AT it_notif_no INTO gf_notif_no.
              IF gf_notif_no-short_text+0(3) = 'PRB'.
                SELECT SINGLE objnr FROM viqmel
                                                      INTO g_objnr
                                                     WHERE qmnum = gf_notif_no-notif_no.
                SELECT SINGLE stsma INTO g_stsma FROM jsto WHERE objnr = g_objnr.
                SELECT SINGLE estat INTO g_stat FROM tj30t WHERE stsma = g_stsma AND
                  spras = 'EN'
                  AND txt04 = 'SFMR'.
                CALL FUNCTION 'STATUS_CHANGE_EXTERN'
                  EXPORTING
                    check_only          = ' '
                    client              = sy-mandt
                    objnr               = g_objnr
                    user_status         = g_stat
                    set_inact           = ' '
                    set_chgkz           = 'X'
                    no_check            = ' '
                  EXCEPTIONS
                    object_not_found    = 1
                    status_inconsistent = 2
                    status_not_allowed  = 3
                    OTHERS              = 4.
                IF sy-subrc = 0.
                ENDIF.
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDIF.
      ENDIF.

  • My program works only in debugging mode

    Dear All,
    I am just starting to use LabVIEW and developing a instumental driver. 
    The program is rather sequentially designed because I am only used to work with text-based program. 
    The current program is working in debugging mode without any error message.
    To give an idea of how it is composed:
    1. Set up the serial port setting (machine address, baud rate, parity, etc)
    2. Send to the instument the name of a short program to be run. 
    3. Send mutiple string commands to the instruments.  Those string commands construct a short program to control the instrument.
    4. Send another string command to run the short program
    The issue is that it does not work in excution mode.  It looks to me that the communication between the instrument and computer seems to be too fast. 
    Since the program is designed in a sequential manner, it does not have any while-loop or for-loop so I cannot add any timing function. 
    Could anyone give me a hint or a right direction to fix this issue?  It would be really appreciated.  Thank you.
    Solved!
    Go to Solution.

    You could do something like the attached modification.Note how I modified the connector pane for the subVI to use the conventional 4-2-2-4 pattern and notice where I connected the terminals.
    NOTE: I am assuming the VI is supposed to run just once, and that you're not using the Run Continuously button in the toolbar. You're not, right?
    Attachments:
    NE-100_StairFlow_w_RUN00 MOD.vi ‏27 KB
    NE-100_RAT_00_XX MOD.vi ‏18 KB

  • CRM_ORDER_SAVE works properly only in debug mode

    I have a scenario where I'm creating two order documents (using CRM_ORDER_MAINTAIN and CRM_ORDER_SAVE), then linking them with function module CRM_CREATE_BREL_TO_CONTRACT.  After calling CRM_ORDER_SAVE and before CRM_CREATE_BREL_TO_CONTRACT, I "commit work and wait" and call CRM_ORDER_INITIALIZE.  When I set a breakpoint immediately before CRM_CREATE_BREL_TO_CONTRACT (and thus have to pass through debug mode), CRM_CREATE_BREL_TO_CONTRACT works with no problem.  If I don't pass through debug mode, it fails and returns the flag EV_LOCKING_PROBLEM = true.
    I have added "wait X seconds" and have even added a while loop that calls CRM_ORDER_CHECK_CHANGE_ALLOWED.  But when I don't enter debug mode, this while loop runs forever.
    Does anybody know what's happening here?  I suspect there is some kind of problem with document distribution, but I'm not sure.
    Many thanks,
    Tom Peng

    Hello Tom,
    As you may already known, the lock is added in FM CRM_CREATE_BREL_TO_CONTRACT with the following coding:
          IF ls_active_switch-lock_contract <> gc_act_switch-inactive.
    *       Lock contract
            CALL FUNCTION 'CRM_ORDER_ENQUEUE'
              EXPORTING
                iv_guid           = iv_contract_header
              IMPORTING
                ev_already_locked = lv_already_locked
              EXCEPTIONS
                foreign_lock      = 1
                system_failure    = 2
                distributed_lock  = 3
                no_change_allowed = 4
                transferring      = 5
                OTHERS            = 6.
            IF sy-subrc <> 0.
    Here system checks whether activ_switch is active. If yes, the error issued.
    Thus you need to pass the parameter t_active_switch with value false when call FM crm_order_save.
    Hope this information could be helpful.

  • Enhancement works only in debug mode

    Hi all,
    Need help with the issue that I have.I have written an enhancement , in one of the includes that is being called by MIRA(LMR1MF1H) tcode, to set the document type , based on condition.Below is the code snippet :
    Import the flags from memory id
    import is_invo from memory id 'IS_INVO'.
    import is_crme from memory id 'IS_CRME'.
    import is_pdf from memory id 'IS_PDF'.
    * Check whether PDF or scanned document and change doc type to Y3 or Y4
      if is_pdf eq 'X'.
    *    Check if invoice
         if is_invo eq 'X'.
           rbkpv-blart = 'Y3'.
         elseif is_crme eq 'X'.
           rbkpv-blart = 'Y4'.
         endif.
      wait up to 1 seconds.
      endif.
    * Free memory
      free memory id 'IS_INVO'.
      free memory id 'IS_CRME'.
      free memory id 'IS_PDF'.
    Now, When I execute directly, the document type is not getting set...I assume the control is not going to my code at all..as there is no other place where the doc type gets modified...
    However, when i execute in debug mode, it works perfectly fine...Any inputs on why this behaviour ?

    Hi ,
    I am not sure what is going wrong..I think the control is not going to the enhancement point at all ! I set a default value for the flag and still the document type doesnt change..Let me explain the flow of the code, that is written, it may help you guys in understanding..
    I have a Z report, in which, I am preparing the bdc data and also setting the flag is_pdf, based on some criteria.
    In this Z report, I am calling transaction MIRA.Now, MIRA tcode is calling FORM init_miro( in the include LMR1MF1H).Just before this form ends , I have my enhancement code(given above in my first post) written, to change  the doc type...
    Now, to test, I set the is_pdf flag to 'X', but still the doc type doesnt change...so I assume the control is not going there at all
    Also, I am not sure how to use the shared buffer concept..please suggest..

  • Poweroff works only in debug mode

    Hello,
    I am running a fully updated (30.4.14 ) Arch on an oldish P4, and my problem is that the computer does not poweroff of shutdown and reboots instead. The cmd I tried were "systemctl poweroff"  ,"poweroff", "shutdown -P now"
    For some reason, if I append "debug" to the cmdline, powering off works as expected but then the pc boots slowly and i get my logfiles spammed.
    The machine was running Ubuntu 10.04 with kernel 2.6 before where everything worked fine.
    I tried to to add various acpi commands such as "acpi=noirg" or acpi_os_name="Microsoft Windows"
    Whats different in debug mode that makes shutdown work?

    I had the opposite problem on my new system in that it would not reboot; it would always power down but never power back up. My problem was solved by blacklisting the Intel Management Engine driver “mei_me”. I don't know if that driver is your problem or not, but if your system has that driver loaded you could check to see if blacklisting would work by unbinding it before the poweroff:
    Get the device id bound to the driver:
    ls -1L /sys/bus/pci/drivers/mei_me/ | grep ':'
    E.g. 0000:00:1f.0
    Now write (as root) that value to unbind:
    echo 0000:00:1f.0 > /sys/bus/pci/drivers/mei_me/unbind
    Obviously replace 0000:00:1f.0 with your device id.
    If your system still fails to power off, the problem is not with mei_me.
    Otherwise, to save you from having to unbind the driver each time, you can blacklist the mei_me driver:
    E.g.:
    echo blacklist mei_me >> /etc/modprobe.d/fix-poweroff-problem.conf
    And reboot

  • Deserialization works only in debug mode

    When I try to deserialize an XML document (defined via File-Connection) it works fine in debug mode but I get an error in non-debug-mode. What's the problem here?
    Error: 2011-12-29 19:31:40.25
    Code: 0x00000001
    Source: Read data from SAP
    Description: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: There is an error in X
    ML document (0, 0). ---> System.TypeInitializationException: The type initializer for 'Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderList1' threw an exception
    . ---> System.NullReferenceException: Object reference not set to an instance of an object.
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderList1..cctor()
    --- End of inner exception stack trace ---
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderList1..ctor()
    at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializerContract.get_Reader()
    at System.Xml.Serialization.TempAssembly.InvokeReader(XmlMapping mapping, XmlReader xmlReader, XmlDeserializationEvents events, String encodingStyle)
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
    --- End of inner exception stack trace ---
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
    at System.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)

    Yes, there is a potential for a bug. Thus, feel free to log it in
    MS Connect.
    You need to deploy it to the GAC, too. I will better point you to a blog post that covers this: http://www.hoekstra.co.uk/index.php/software-mainmenu-36/ssis-mainmenu-75/73-create-and-use-a-c-assembly-for-ssis.html?start=1
    I suggest when you go live you create a script that will take care of all, but it is not too too laborious.
    Arthur My Blog
    Are you 100% sure? Because I can see that SSIS seeks for the dll in ...DTS/binn. So I see no need to pollute the GAC with this dll.
    My dll is not deployed into the GAC and when I remove it, it will no longer work. I think it works in DTS/binn because the DTExec.exe is located there?
    LOG: This bind starts in default load context.
    LOG: Using application configuration file: c:\Program Files\Microsoft SQL Server\100\DTS\binn\DTExec.exe.Config
    LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
    LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
    LOG: Attempting download of new URL file:///c:/Program Files/Microsoft SQL Server/100/DTS/binn/ClassLibrary1.DLL.
    LOG: Attempting download of new URL file:///c:/Program Files/Microsoft SQL Server/100/DTS/binn/ClassLibrary1/ClassLibrary1.DLL.
    LOG: Attempting download of new URL file:///c:/Program Files/Microsoft SQL Server/100/DTS/binn/ClassLibrary1.EXE.
    LOG: Attempting download of new URL file:///c:/Program Files/Microsoft SQL Server/100/DTS/binn/ClassLibrary1/ClassLibrary1.EXE.

  • SetProperties method invoked only in debug mode

    Hey,
    This is a strange problem so i'll try to be clear.
    I wrote a custom tag.
    running under degub mode, runs the tag well, and all is well.
    but when i run un normal mode (not degub) it does not work.
    i found that the setProperties method is not been called after the first time.
    what i mean is: in normal run mode the setProperties method is called only once, and not every time the page refreshes.
    the strange thing is that in degub mode it runs well.
    this is my jsp code
    hope it works out well....
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%-- jsf:pagecode language="java" location="/JavaSource/pagecode/ExaminerModule/SelectStation1.java" --%><%-- /jsf:pagecode --%>
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://www.ibm.com/jsf/html_extended" prefix="hx"%>
    <%@taglib uri="/tags/theoryOnline" prefix="tol"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@taglib uri="/tags/tangramTags" prefix="tngt"%>
    <%@taglib uri="/tags/tolTags" prefix="tolTags"%>
    <%@page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
    <HTML>
    <tol:theoryOnlineHeadTag>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
         <meta name="GENERATOR" content="IBM Software Development Platform">
         <meta http-equiv="Content-Style-Type" content="text/css">
         <LINK rel="stylesheet" type="text/css" href="../theme/styles/mm.css"
              title="Style">
         <SCRIPT>
              function initModalWindow()
                   window.dialogHeight=40;
                   window.dialogWidth=40;
                   selectStationInit();
              function selectStationInit()
                   var oMyObject = window.dialogArguments;
                   var examineeId = oMyObject.examineeId;
    //               alert ("myObj id=" +examineeId );
                   if (document.all['form1:hiddenExamineeId'].value != examineeId)
    //                    alert ("pre submit");
                        document.all['form1:hiddenExamineeId'].value = examineeId;
                        document.all['form1:button2'].click();
    //               else  document.all['form1:locateRoom'].click();
                   alert (document.body.innerHTML);
              </SCRIPT>
         <SCRIPT src="../theme/scripts/dialog.js">
              </SCRIPT>
         <TITLE>����� ����</TITLE>
         <BASE target="_self">
         <LINK rel="stylesheet" type="text/css" href="../theme/stylesheet.css"
              title="Style">
    </tol:theoryOnlineHeadTag>
    <f:view>
         <tol:theoryOnlineBodyTag>
              <BUTTON id="yesButton" onclick="closeWithTrueReturnValue()">�����</BUTTON>
              <BUTTON id="noButton" onclick="closeWithFalseReturnValue()">�����</BUTTON>
              <hx:scriptCollector id="scriptCollector1">
                   <h:form styleClass="form" id="form1" style="direction: rtl">
                        <h:inputHidden binding="#{selectStation.hiddenExamineeIdBinding}"
                             id="hiddenExamineeId" />
                        <h:inputHidden binding="#{selectStation.hiddenStationNumberBinding}" />
                        <h:inputHidden binding="#{selectStation.hiddenRoomNumberBinding}" />
                        <h:messages styleClass="messages" id="messages1"></h:messages>
                        <h:panelGrid width="50%" columns="1" style="text-align: center">
                             <h:selectOneMenu styleClass="extra-border"
                                  value="#{selectStation.roomCombuValue}">
    .                              <f:selectItems value="#{selectStation.roomsLists}" />
                             </h:selectOneMenu>
                             <hx:commandExButton type="submit" styleClass="commandExButton"
                                  value="��� ���" action="#{selectStation.locateRoom}"
                                  id="locateRoom"/>
                             <h:outputText></h:outputText>
                             <tolTags:TheoryOnlineStationsTag
                                  roomNumber="#{selectStation.roomCombuValue}">
                             </tolTags:TheoryOnlineStationsTag>
                             <hx:commandExButton type="submit" value="dodo"
                                  styleClass="commandExButton" id="button2"
                                  action="#{selectStation.initSelectStationsModal}" />
                        <hx:commandExButton value="����"  styleClass="Button1"/>
                        </h:panelGrid>
                   </h:form>
              </hx:scriptCollector>
         </tol:theoryOnlineBodyTag>
    </f:view>
    </HTML>TAG CODE
    package com.tangram.theoryonline.web.tags;
    import java.util.ArrayList;
    import java.util.Map;
    import javax.faces.application.Application;
    import javax.faces.component.UIComponent;
    import javax.faces.component.html.HtmlCommandButton;
    import com.tangram.theoryonline.datamodel.Room;
    import com.tangram.theoryonline.datamodel.Station;
    import com.tangram.theoryonline.managers.EntitiesManager;
    import com.tangram.theoryonline.web.constants.TheoryOnlineWebConstants;
    import com.tangram.web.jsf.html.tags.HtmlBaseTag;
    import com.tangram.web.jsf.html.tags.Util;
    * @author ishay
    public class TheoryOnlineStationsTag extends HtmlBaseTag {
        private String roomNumber;
        public String getComponentType() {
            return HtmlCommandButton.COMPONENT_TYPE;
        protected void setProperties(UIComponent component) {
            super.setProperties(component);
            System.out.println("SETTING myTAG");
            Application app = getFacesContext().getApplication();
            Map attributes = component.getAttributes();
            Util.addAttribute(app,component,"roomNumber",roomNumber);
            Station station=null;
            //     String s=Util.getStringProperty(component,null,"roomNumber","0");
            String s=Util.getStringProperty(component,null,"roomNumber",null)       ;       
            System.out.println("getting String binding is  " + s);
            Room room=(Room) EntitiesManager.getInstance().getRoomsMap().get(s);
            System.out.println("room from map is " + room);
            ArrayList leftList=new ArrayList();
            ArrayList rightList=new ArrayList();
            if (room ==null || room.getDecendedList()==null || s==null)
                System.out.println("NO STATIONS FOR ROOM " + room);
            else {
                System.out.println("size of total list="+room.getDecendedList().size());
                for (int i=0;i<room.getDecendedList().size();i++) {
                    station=(Station) room.getDecendedList().get(i);             
                    leftList.add(station);
                    i++;
                    if (i<room.getDecendedList().size()){
                        station=(Station) room.getDecendedList().get(i);             
                        rightList.add(station);
                    } // if
                    System.out.println("lengths are "+leftList.size()+","+rightList.size());               
                }// for
            }// else 
            attributes.put(TheoryOnlineWebConstants.ROOM_STATIONS_RIGHT_LIST,rightList);
            attributes.put(TheoryOnlineWebConstants.ROOM_STATIONS_LEFT_LIST,leftList);
        public String getRendererType() {
            return "com.tangram.theoryonline.web.tags.TheoryOnlineStationsRenderer";
        public String getRoomNumber() {
            return roomNumber;
        public void setRoomNumber(String roomNumber) {
            this.roomNumber = roomNumber;
    }the renderer
    package com.tangram.theoryonline.web.tags;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Map;
    import javax.faces.FactoryFinder;
    import javax.faces.component.UICommand;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.context.ResponseWriter;
    import javax.faces.render.RenderKit;
    import javax.faces.render.RenderKitFactory;
    import javax.faces.render.Renderer;
    import com.tangram.theoryonline.datamodel.Station;
    import com.tangram.theoryonline.web.constants.TheoryOnlineWebConstants;
    import com.tangram.web.jsf.html.tags.Util;
    public class TheoryOnlineStationsRenderer extends Renderer {
         public void encodeBegin(FacesContext context, UIComponent component)
         throws java.io.IOException
              if (!component.isRendered()) return;
              Map attributes = component.getAttributes();
              ArrayList rightList=(ArrayList)attributes.get(TheoryOnlineWebConstants.ROOM_STATIONS_RIGHT_LIST);
              ArrayList leftList=(ArrayList)attributes.get(TheoryOnlineWebConstants.ROOM_STATIONS_LEFT_LIST);
              Station station;
              String roomNumber=(String)attributes.get("roomNumber");
              ResponseWriter writer = context.getResponseWriter();
              String clientId = component.getClientId(context);
              writer.startElement("table", component);
              writer.writeAttribute("id", clientId, "id");
              Util.writePassthroughAttributes(attributes, writer);
              writer.startElement("tbody", component);
              System.out.println("lengths from renderer are "+rightList.size()+","+leftList.size());
              int i=0;
              while (i<rightList.size() || i<leftList.size() ) {
                   writer.startElement("tr", component);
                   station=null;
                   if (i<rightList.size())
                        station=(Station)rightList.get(i);
                   if (station!=null)
                        writeColumn(component,writer,station,clientId);
                   station=null;
                   if (i<leftList.size())
                        station=(Station)leftList.get(i);
                   if (station!=null)
                        writeColumn(component,writer,station,clientId);               
                   writer.endElement("tr");               
              writer.endElement("tbody");          
              writer.endElement("table");
         private void writeColumn(UIComponent component,ResponseWriter writer ,Station station,String clientId) throws IOException {
              int status=station.getEntityStatus().getValue();
              writer.startElement("td", component);
              writer.startElement("label",component);
              writer.writeAttribute("for",clientId,null);
                   writer.startElement("input",component);
                   writer.writeAttribute("type","radio",null);
                   writer.writeAttribute("name", clientId, null);
                   writer.writeAttribute("value",station.getName(),null);
                   System.out.println(Boolean.toString(status==1));
                   if (status!=1)
                   writer.writeAttribute("disabled","disabled",null);                              
                   writer.endElement("input");
                   //if (status==2)                    writer.write("<H1>");
                   writer.write(station.getName());
    //               if (status==2)                    writer.write("</H1>");
              writer.endElement("label");     
         writer.endElement("td");
          public void decode(FacesContext context, UIComponent component)
             getButtonRenderer(context).decode(context, component);
           protected Renderer getButtonRenderer(FacesContext context)
             RenderKitFactory rkFactory =
               (RenderKitFactory)FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY);
             RenderKit defaultRenderKit =  // talk about other variation of this method
               rkFactory.getRenderKit(context, RenderKitFactory.HTML_BASIC_RENDER_KIT);  /** Changed from DEFAULT_RENDER_KIT, changed order of parameters **/
             return defaultRenderKit.getRenderer(UICommand.COMPONENT_FAMILY, "javax.faces.Button");
    * Created on 01/01/2006
    * Window - Preferences - Java - Code Style - Code Templates
    package com.tangram.theoryonline.web.webbeans;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.Map;
    import javax.faces.component.html.HtmlInputHidden;
    import javax.faces.context.FacesContext;
    import javax.faces.model.SelectItem;
    import com.tangram.theoryonline.constants.TheoryOnlineConstants;
    import com.tangram.theoryonline.constants.enums.LocationEntityStatusEnum;
    import com.tangram.theoryonline.datamodel.Examinee;
    import com.tangram.theoryonline.datamodel.Room;
    import com.tangram.theoryonline.datamodel.Site;
    import com.tangram.theoryonline.datamodel.Station;
    import com.tangram.theoryonline.managers.EntitiesManager;
    import com.tangram.theoryonline.security.TheoryOnlineUser;
    import com.tangram.theoryonline.web.constants.TheoryOnlineWebConstants;
    import com.tangram.web.constants.TangramWebConstants;
    public class SelectStation  extends TheoryOnlineBaseBean{
        private ArrayList  stationList;
    //    private String hiddenExamineeId;
    //    private String selectedRoom;
        private String listId="MainList";
    //    private String hiddenStationNumber;
        private HtmlInputHidden hiddenStationNumberBinding,hiddenRoomNumberBinding,hiddenExamineeIdBinding;
    //    private String hiddenRoomNumber;
        private String roomCombuValue;
    //    private HtmlSelectOneMenu roomCombu;//=new HtmlSelectOneMenu ();
        private SelectItem [] roomsLists;
        //     private HtmlSelectOneMenu roomSelect;
        public SelectStation() {
            super();          
        public String initSelectStationsModal(){
            Map examineeCache = (ExamineeCache)getValueBinding(TheoryOnlineWebConstants.EXAMINEE_MAP_SCOPE + TheoryOnlineWebConstants.EXAMINEE_MAP_KEY);
            Examinee examinee = (Examinee)examineeCache.get(getHiddenExamineeIdFromBinding());
            FacesContext facesContext = FacesContext.getCurrentInstance();
            Map session=facesContext.getExternalContext().getSessionMap();       
            TheoryOnlineUser user = (TheoryOnlineUser)session.get(TangramWebConstants.ATTRIBUTE_USER_KEY);
         //   long siteId=user.getExaminer().getSite().getId();
            int default_room=TheoryOnlineConstants.NO_STATION_PICKED_YET;
            Station station=null;
            Room room=null;
            if (examinee==null)
                System.out.println("ERROR getting examinee from map");
            else
                if (examinee.getLocation()==null)
                    System.out.println(" CODERS ERROR - get location returend null" );
            else if  (examinee.getLocation().getStationGid()!=TheoryOnlineConstants.NO_STATION_PICKED_YET){
                station=(Station) EntitiesManager.getInstance().getStationsMap().get(""+examinee.getLocation().getStationGid());
                if (station!=null && station.getRoom()!=null) {
                    room= (Room) EntitiesManager.getInstance().getRoomsMap().get(""+station.getRoom().getId());
                    if (room!=null)
                        default_room=TheoryOnlineConstants.FOUND_STATION_AND_ROOM;     
                }// if !nulls
            }// if no station picked yet.
            System.out.println("default_room="+default_room);
            System.out.println("combu value is " + roomCombuValue);
            switch (default_room) {
            case TheoryOnlineConstants.NO_STATION_PICKED_YET:
            case TheoryOnlineConstants.FOUND_STATION_NO_ROOM: {
                room=(Room) user.getExaminer().getSite().getDecendedList().get(0);
                if (room!=null) {
                    setHiddenRoomNumberFromBinding(""+room.getId());
                    hiddenStationNumberBinding.setValue("");                    
                    System.out.println("setting default room " + hiddenRoomNumberBinding.getValue());
                    roomCombuValue=(String) hiddenRoomNumberBinding.getValue();
                break;
            case TheoryOnlineConstants.FOUND_STATION_AND_ROOM: {
                hiddenRoomNumberBinding.setValue(""+room.getId());
                hiddenStationNumberBinding.setValue(""+station.getId());
                System.out.println("EXAMINEE ALREADY HAD station id=" + station.getId());
                roomCombuValue=(String) getHiddenRoomNumberBinding().getValue();
                break;
            }//case
            }// switch
            System.out.println( "room value="+roomCombuValue);
            return "";
        private void setHiddenRoomNumberFromBinding(String string) {
            hiddenRoomNumberBinding.setValue(string);
        public String locateRoom(){
            hiddenRoomNumberBinding.setValue(""+roomCombuValue);  
            System.out.println("room combo value is " +roomCombuValue);
            hiddenStationNumberBinding.setValue("");       
            return "";
        public ArrayList getStationList(long roomGid) {
            ArrayList sourceList=(ArrayList) EntitiesManager.getInstance().getRoomsMap().get(""+ roomGid);
            if (sourceList==null) {
                System.out.println("CODERS ERROR room is null");
                return null;
            ArrayList list=new ArrayList ();
            Station station=null;
            System.out.println("Building list");
            list.add(new SelectItem("AAA","1"));
            for (int i=0;i<sourceList.size();i++) {
                station=(Station)sourceList.get(i);
                SelectItem si=new SelectItem(""+station.getId(),station.getName());
                if (station.getEntityStatus()==LocationEntityStatusEnum.INACTIVE) si.setDisabled(true);
                list.add(si);           
            return list;
        public String getListId() {
            return listId;
        public void setListId(String listId) {
            this.listId = listId;
         public void setStationList(ArrayList stationList) {
            this.stationList = stationList;
        public SelectItem[] getRoomsLists() {
            FacesContext facesContext = FacesContext.getCurrentInstance();
            Map session=facesContext.getExternalContext().getSessionMap();       
            TheoryOnlineUser user = (TheoryOnlineUser)session.get(TangramWebConstants.ATTRIBUTE_USER_KEY);
            long siteId=user.getExaminer().getSite().getId();
            Site site=(Site)EntitiesManager.getInstance().getSite(""+siteId);
            Map examineeCache = (ExamineeCache)getValueBinding(TheoryOnlineWebConstants.EXAMINEE_MAP_SCOPE + TheoryOnlineWebConstants.EXAMINEE_MAP_KEY);
            Examinee examinee = (Examinee)examineeCache.get(getHiddenExamineeIdFromBinding());
            //          String s=examinee.getLocation().getRoomDescription();
            System.out.println("inside getRoomsLists : room is ");
            roomsLists=new SelectItem[ site.getDecendedList().size()];
            Iterator itr=site.getDecendedList().iterator();
            int i=0;
            Room room;
            while (itr.hasNext()){
                room=(Room) itr.next();
                roomsLists=new SelectItem(""+room.getId(),room.getName());
    i++;
    return roomsLists;
    private String getHiddenExamineeIdFromBinding() {
    return (String) hiddenExamineeIdBinding.getValue();
    public void setRoomsLists(SelectItem[] roomsLists) {
    this.roomsLists = roomsLists;
    public String getRoomCombuValue() {
    return roomCombuValue;
    public void setRoomCombuValue(String roomCombuValue) {
    this.roomCombuValue = roomCombuValue;
    public HtmlInputHidden getHiddenExamineeIdBinding() {
    return hiddenExamineeIdBinding;
    public void setHiddenExamineeIdBinding(HtmlInputHidden hiddenExamineeIdBinding) {
    this.hiddenExamineeIdBinding = hiddenExamineeIdBinding;
    public HtmlInputHidden getHiddenRoomNumberBinding() {
    return hiddenRoomNumberBinding;
    public void setHiddenRoomNumberBinding(HtmlInputHidden hiddenRoomNumberBinding) {
    this.hiddenRoomNumberBinding = hiddenRoomNumberBinding;
    public HtmlInputHidden getHiddenStationNumberBinding() {
    return hiddenStationNumberBinding;
    public void setHiddenStationNumberBinding(
    HtmlInputHidden hiddenStationNumberBinding) {
    this.hiddenStationNumberBinding = hiddenStationNumberBinding;

    Hi Emmanuel,
    Now I get your problem: you want to wait to have the commit finished! The call to BAPI_TRANSACTION_COMMIT has an optional parameter 'WAIT' which is space by default which causes only a commit. When you set this parameter to 'X' it will do a commit work and wait.
    This should solve your problem!
    Regards,
    John.

  • SRM purchasing document updated in enhancement only in Debug mode

    Hi everybody,
    I created an enhancement for a SRM include ( LBBP_SOCO_APPF0R -> Form CREATE_FOLLOW_ON_DOCUMENT) because existing BAdI are not called at necessary moment to update Shopping Cart (purchasing document) CUF items.
    ABAP code i added allows to get data from follow-on document, then i get details from parent document, i update this document with values for CUF fields, i save this document and finally i run function module BAPI_TRANSACTION_COMMIT (with or without export parameter 'WAIT').
    Nevertheless, those CUF fields are correctly updated but only when i am in debugging process flow with an external break-point.
    When i delete this debug point, CUF fields are not updated any more !
    Is anyone have an idea to solve this problem ?
    Regards.
    Laurent.

    The problem may come from the network system or something's wrong in the system Because I have run the tcode and It work properly.
    Thanks,
    Hung

  • Badi working only in Debug mode

    Hi experts,
    It's my first time with Badi, and I'm facing a issue I can't understand.
    I've activated badi ME_PROCESS_PO_CUST , and everything work's fine .
    From the method "Close" I call a Z... function which writes data on a custom table.
    I've tested  it and the system correctly update the table , but when I deactivate  the debug  in the badi's method , it looks like the badi is not implemented and the system doesn't pass trough the function. 
    Can somebody adress me to solve it ?
    Thank you in advance for any help.
    Ciao.

    Thank you for your help Sudhir , but the table update it's done by the custom function which should be called by the BAdI. My issue is that the BAdI's method works only if I set a break-point on it. If I do not put a break-point on the BAdI , the function is not called at all !!.
    Thanks again for your suggestion.

Maybe you are looking for