Overview: Add select-option for Delivery Date(VBAK-VDATU) to tran VA05.Note: I cannot
-add Enhancements since we are using ECC 5.0
-implement VA05 BADI since there are no field exits available
Main Concern: Cannot get the value of SELECT-OPTION S_VDATU called inside a Function Module
FG TOP Include
FUNCTION-POOL zsdu001_fg. "MESSAGE-ID .. TABLES: vbak. DATA : g_last_date TYPE sy-datum. SELECTION-SCREEN BEGIN OF SCREEN 2000 AS WINDOW. SELECT-OPTIONS: s_vdatu FOR vbak-vdatu. SELECTION-SCREEN END OF SCREEN 2000.
Function Module
FUNCTION ZSDU001.
CALL SELECTION-SCREEN 2000
STARTING AT 10 20 "x1 y1
ENDING AT 95 13. "x2 y2
BREAK JUNE.
ENDFUNCTION.
No value at S_VDATU, so I edited the PBO of Selection Screen 2000.
PROCESS BEFORE OUTPUT. MODULE default_val. MODULE %_INIT_PBO. MODULE default_val. MODULE %_PBO_REPORT. MODULE default_val. MODULE %_PF_STATUS. MODULE default_val. MODULE %_S_VDATU. MODULE default_val. MODULE %_END_OF_PBO. MODULE default_val.
MODULE default_val OUTPUT.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in = sy-datum
IMPORTING
last_day_of_month = g_last_date.
PERFORM populate_default_svdatu.
ENDMODULE. " DEFAULT_VAL OUTPUT
FORM populate_default_svdatu .
TYPES: BEGIN OF lt_selopt,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE sy-datum,
high LIKE sy-datum,
END OF lt_selopt.
DATA: lv_selopt TYPE lt_selopt.
MOVE: 'I' TO lv_selopt-sign,
'BT' TO lv_selopt-option,
sy-datum TO lv_selopt-low,
g_last_date TO lv_selopt-high.
BREAK JUNE.
APPEND lv_selopt TO s_vdatu.
ENDFORM. " POPULATE_DEFAULT_SVDATU
At the end, there's no value for S_VDATU. So calling a selection screen is not feasible?
So this will lead me Screen Painter?
Thanks.