Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 9218

Re: Screen Enhancement Badi "BADI_WCM_WCA_001"

$
0
0

Hi Deepak,

 

1. I don't think there is a need to create a separate Function Group you can assign that Program name you created in BADI.

 

2. After Adding the Fields in CI_WCAAP you need to do your logic in PBO and PAI of the screen

 

Global Declarations :

 

TYPES : BEGIN OF ty_wcaap,
wapinr
TYPE wcaap-wapinr,
objnr 
TYPE wcaap-objnr,
* Your newly added field

END OF ty_wcaap.
TYPES : BEGIN OF ty_keys,
* Your newly added field
END OF ty_keys.

*Declaration for internal tables holding the data from wcaap


DATA : gt_wcaap TYPE STANDARD TABLE OF ty_wcaap,
gw_wcaap
TYPE ty_wcaap,
gt_keys_new
TYPE STANDARD TABLE OF ty_keys.

 

*Reference for the BADI BADI_WCAM_WCA_001
DATA:
exit TYPE REF TO badi_wcm_wca_001.

 

*Global structure and constant fields for screen number and key
DATA :  gs_wcswapi TYPE wcswapi,
gv_lockbox_key
TYPE wcaap-lockbox_key,
gv_string
TYPE string.

DATA : lv_screen TYPE sydynnr VALUE '1000'.

DATA : PLANT TYPE IWERK.

DATA : WAPINR TYPE WCEWAPINR.

 

* process object before displaying the screen 1000

PROCESS BEFORE OUTPUT.
MODULE initialize.
MODULE STATUS_1000.   "Do if req. any enable/ disable operations


*Process block for handling the user actions on screen of PROCESS AFTER INPUT.
MODULE USER_COMMAND_1000.

 

* Check to see if badi reference is acti

 


**Check the Tcode here ex Check Sy-tcode = ‘WCTK’.

IF exit IS INITIAL.
TRY.
GET BADI exit
FILTERS
iwerk = plant.
CATCH cx_badi_not_implemented.
ENDTRY.
ENDIF.

* Check again, to be sure...
CHECK NOT exit IS INITIAL.
* get data from the main screen
CALL BADI exit->subscreen_data_get
EXPORTING
iv_screen = lv_screen
IMPORTING
es_wapi   = gs_wcswapi.


ENDMODULE.                
" INITIALIZE  OUTPUT


**&---------------------------------------------------------------------*
**&      Module  USER_COMMAND_1000  INPUT
**&---------------------------------------------------------------------*
**       Validation on Entered Data Of Sub screen

**----------------------------------------------------------------------*
MODULE user_command_1000 INPUT.

* This should never happen, but...
IF exit IS INITIAL.
TRY.
GET BADI exit
FILTERS
iwerk =
Plant.
CATCH cx_badi_not_implemented.
ENDTRY.
ENDIF.

PERFORM validation_on_custom_field.

* Again, this should never be an issue, but...
CHECK NOT exit IS INITIAL.

* Put data back to the main screen
CALL BADI exit->subscreen_data_set
EXPORTING
iv_iwerk     =
Plant
iv_objnr     = gw_wcaap-objnr
iv_aktyp     =
' '
iv_dynfldgrp =
' '
iv_screen    = lv_screen
is_wapi      = gs_wcswapi.

ENDMODULE.                
" USER_COMMAND_1000  INPUT


Hope This will help you


Regards,

Pavan



Viewing all articles
Browse latest Browse all 9218

Trending Articles