Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How to control a Dynpro Changes

Former Member
0 Likes
1,625

I Experts i have a Function Group with one dynpro 9000 and i need changes all my parameters input changes for no-Input when one condition I_ACTION = 'A08' or I_ACTION = 'A04'  where I_ACTION is a variable that comes from a BADI METHOD.

******************************************************************************************

*This Method for BADI get the "moviment" what i need for changes my dynpro


method IF_EX_MB_MIGO_BADI~MODE_SET.

  DATA:  I_ACTION(3) TYPE C.

   CALL FUNCTION 'GET_DYNP_VALUE'      *Get  I_ACTION

     EXPORTING

        i_field = 'GODYNPRO-MAT_DOC'

        i_repid = 'SAPLMIGO'

        i_dynnr = '2010'

       CHANGING

        o_value = LV_MBLNR.

    CALL FUNCTION 'Z11_MODIFY_SCREEN'  "Here the value is exported function group

      EXPORTING

        i_movimiento       I_ACTION.

endmethod.

******************************************************************************************


*This my Method PBO from BADI for extension is run perfect but only screen for input


METHOD if_ex_mb_migo_badi~pbo_header.

*break lsilva.

   CHECK i_class_id = GV_CLASS_ID_H."gf_class_id.

   e_cprog    = 'SAPLZ11_GFMIGO_MODIFY_TAB_TRS'."

   e_dynnr    = '9000'.

   e_heading  = 'Datos del Transporte'.

ENDMETHOD.

**************************************************************************************

What I need in my group of functions to change the dynpro 9000 input or no-input??

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,443

Hi

You need to create a module in PBO of screen 9000 in order to change the attribute from INPUT to OUTPUT:

MODULE LOOP_SCREEN.

   CHECK FL_OUTPUT_ONLY = 'X'.

    LOOP AT SCREEN.

         SCREEN-INPUT = '0'.

         MODIFY SCREEN.

   ENDLOOP.

ENDMODULE.

I suppose you set a flag FL_OUTPUT_ONLY (for INPUT/OUTPUT) in fm Z11_MODIFY_SCREEN:

IF I_MOVIMIENTO = 'A08' OR

     I_MOVIMIENTO = 'A04'.

  FL_OUTPUT_ONLY = 'X'.

ELSE.

  CLEAR FL_OUTPUT_ONLY.

ENDIF.

Max

I Experts i have a Function Group with one dynpro 9000 and i need changes all my parameters input changes for no-Input when one condition I_ACTION = 'A08' or I_ACTION = 'A04'  where I_ACTION is a variable that comes from a BADI METHOD.

******************************************************************************************

*This Method for BADI get the "moviment" what i need for changes my dynpro


method IF_EX_MB_MIGO_BADI~MODE_SET.

  DATA:  I_ACTION(3) TYPE C.

   CALL FUNCTION 'GET_DYNP_VALUE'      *Get  I_ACTION

     EXPORTING

        i_field = 'GODYNPRO-MAT_DOC'

        i_repid = 'SAPLMIGO'

        i_dynnr = '2010'

       CHANGING

        o_value = LV_MBLNR.

    CALL FUNCTION 'Z11_MODIFY_SCREEN'  "Here the value is exported function group

      EXPORTING

        i_movimiento       I_ACTION.

endmethod.

******************************************************************************************


*This my Method PBO from BADI for extension is run perfect but only screen for input


METHOD if_ex_mb_migo_badi~pbo_header.

*break lsilva.

   CHECK i_class_id = GV_CLASS_ID_H."gf_class_id.

   e_cprog    = 'SAPLZ11_GFMIGO_MODIFY_TAB_TRS'."

   e_dynnr    = '9000'.

   e_heading  = 'Datos del Transporte'.

ENDMETHOD.

**************************************************************************************

What I need in my group of functions to change the dynpro 9000 input or no-input??

2 REPLIES 2
Read only

Former Member
0 Likes
1,444

Hi

You need to create a module in PBO of screen 9000 in order to change the attribute from INPUT to OUTPUT:

MODULE LOOP_SCREEN.

   CHECK FL_OUTPUT_ONLY = 'X'.

    LOOP AT SCREEN.

         SCREEN-INPUT = '0'.

         MODIFY SCREEN.

   ENDLOOP.

ENDMODULE.

I suppose you set a flag FL_OUTPUT_ONLY (for INPUT/OUTPUT) in fm Z11_MODIFY_SCREEN:

IF I_MOVIMIENTO = 'A08' OR

     I_MOVIMIENTO = 'A04'.

  FL_OUTPUT_ONLY = 'X'.

ELSE.

  CLEAR FL_OUTPUT_ONLY.

ENDIF.

Max

Read only

0 Likes
1,443

Thanks brother, I had something like that is also important to verify that all functions of the group are activated function