Skip to Content
avatar image
Former Member

Forcing PBO to happen

Hi All,

How can I force the PBO to happen manually? In my screen, I have a field which is attached to a custome search help. I want the PBO to fire again once the user select something from the serch help. Thanks in advance.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

6 Answers

  • avatar image
    Former Member
    Jun 05, 2007 at 05:11 AM

    Hi Mil,

    Neil is right, you really need not mannually trigger the PBO.

    After the F4 event, the help value shows and then if you select one record, the value appeared in the corresponding feld.

    And then, you could select the checkbox, and go to the other function to trigger the PAI.

    Hope this helps

    Bob

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Has no-one ever used the function module "DYNP_VALUES_UPDATE". It used to work years ago (not sure if SAP have made it defunct now though). Allows you to update screen fields without re-calling the PBO.

  • avatar image
    Former Member
    Jun 05, 2007 at 04:41 AM

    Hi ...

    the customer search help should be placed in thr POV ... this is the process for search help ...

    see the below for logic then

    PROCESS ON VALUE-REQUEST( F4 ) statement   
    Code to demonstrate how to perform a manual value help(F4) on a particular field using the PROCESS ON 
    VALUE-REQUEST statement and how to return values back to a table control on the screen. For standard 
    screen fields simply move the value to the appropriate screen field name. 
    
     
    * Screen flow logic........
    
    PROCESS BEFORE OUTPUT.
    *MODULE PBO_MODULE.
    
    PROCESS AFTER INPUT.
    *MODULE PAI_MODULE.
    
    PROCESS ON VALUE-REQUEST. "F4
      FIELD EKPO-EBELP MODULE help_ekpo.
    
     
     
      
    
    * populate screen field from within PROCESS ON VALUE-REQUEST(F4) call
    *&------------------------------------------------------------------*
    *&      Module  help_responsibility  INPUT
    *&------------------------------------------------------------------*
    *       text
    *-------------------------------------------------------------------*
    MODULE help_ekpo INPUT.
    
    
    **Transport values to table dynpro/screen table control
      DATA: l_stepl LIKE  sy-stepl,
            l_indx  LIKE  sy-stepl.
      DATA: dynpfields        LIKE dynpread OCCURS 5 WITH HEADER LINE.
    
    * Adjust for scroling within table control
      CALL FUNCTION 'DYNP_GET_STEPL'
        IMPORTING
          povstepl        = l_stepl
        EXCEPTIONS
          stepl_not_found = 0
          OTHERS          = 0.
    
      l_indx = tc_ekpotable-top_line + l_stepl - 1. 
              "tc_ekpotable should already have been declared
    
      REFRESH dynpfields.
      CLEAR   dynpfields.
      dynpfields-fieldname  = 'EKPO-EBELN'.
      dynpfields-fieldvalue = '00010'   "wa_ekpo-ebeln.
      dynpfields-stepl      = l_stepl.
      APPEND dynpfields.
      dynpfields-fieldname  = 'EKPO-EBELP'.
      dynpfields-fieldvalue = '00020'   "wa_ekpo-ebelp.
      dynpfields-stepl      = l_stepl.
      APPEND dynpfields.
    
      CALL FUNCTION 'DYNP_VALUES_UPDATE'
        EXPORTING
          dyname     = 'SAPLZZ_EKKO'    "Program name
          dynumb     = '0100'           "Screen number 
        TABLES
          dynpfields = dynpfields
        EXCEPTIONS
          OTHERS     = 0.
    ENDMODULE.                 " help_ekpo  INPUT
    
    
    
    
    

    reward points if it is usefull ...

    Girish

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 05, 2007 at 04:42 AM

    Hi,

    What processing u need in ur PBO after user selects the value from Search Help.

    Regards,

    Himanshu

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jun 05, 2007 at 04:44 AM

    hi..

    I think you don't need to trigger PBO manually.When user do some actions on the screen automatically PAI will be triggered .PBO is automatically triggered after the PAI processing of the previous screen and before the current screen is displayed. You can program the PBO processing of the screen in this block. At the end of the PBO processing, the screen is displayed.

    regards,

    veeresh

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      FOR THAT JUST ASSIGN A FN CODE FOR THE CHECK BOX IN THE LAYOUT .

      YOU CAN SEE A FCODE INPUT FIELD IN THE PROPERTY WINDOW JUST ASSIGN SOME VALUE THERE. WHEN YOU CLICK THE CHECK BOX THE PAI WILL TRIGGER AND THEN PBO WILL TRIGGER.

      REGARDS

      SHIBA DUTTA

  • avatar image
    Former Member
    Jun 05, 2007 at 05:15 AM

    Hi,

    For more info, you could refer to the report checkbox event trigger.

    For example:

    parameter pq as checkbox user-command ...

    Hope helps

    Bob

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jul 10, 2007 at 01:03 PM

    Hi Mil

    Yes, it's quite annoying that a F4 call fired from POV doesn't trigger PAI and PBO afterwards in some situations, eg. if you select an employee's initials with F4 and want to display the name of the employee on the screen right after the F4 call.

    Or if you want to change the attributes of other screen fields (input/output/ invisible...) according to what have been chosen by the F4 selection.

    I haven't found the one solution, but there's some workarounds that might help:

    1) Call to <b>DYNP_VALUES_UPDATE</b> can force field values to the screen.

    Problems: Text fields are always displayed in uppercase, at date fields have to be manually converted to the their output format.

    2) <b>Use Listbox instead of normal input field.</b>

    This way you can enter an FCODE at the field in screen-painter, and PAI/PBO will be triggered automatically.

    Problems: This is only a useable solution with at one- or two-column list and with a limited amount of rows.

    3) <b>LEAVE SCREEN.</b>

    This will re-enter the screen and run the PBO (see previous post from Efrain for more details).

    Problems: Cannot be used in sub-screens.

    Regards,

    Poul Bundgaard

    Add comment
    10|10000 characters needed characters exceeded