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

At selection screen on value request

Former Member
0 Likes
432

hi,

Here i have written small piece of code for F4 value Request

But while debugging it is not entering to the event at selection-screen.

let me know why this is happening.

REPORT sd.

TABLES ztest_param.

TYPES : BEGIN OF ty_fam,

fam TYPE char3,

END OF ty_fam,

BEGIN OF ty_prod,

prodh TYPE prodh_d,

END OF ty_prod.

DATA : gt_fam TYPE TABLE OF ty_fam,gs_fam TYPE ty_fam,

gt_prodh TYPE TABLE OF ty_prod , gs_prodh TYPE ty_prod.

DATA: g_field TYPE lvc_s_fcat-fieldname.

SELECTION-SCREEN BEGIN OF BLOCK ed1 WITH FRAME.

PARAMETERS:

p_cate TYPE zcateg,

p_fam TYPE zfamily.

*p_grid radiobutton group edit default 'X',

*p_cols radiobutton group edit.

*select-options:

*p_colsf for g_field no intervals default 'CARRID'.

*parameters:

*p_cells radiobutton group edit.

*select-options:

*p_cellsf for g_field no intervals default 'CARRID'.

*parameters:

*p_noedit radiobutton group edit.

SELECTION-SCREEN END OF BLOCK ed1.

----


  • AT SELECTION-SCREEN ON VALUE-REQUEST *

----


AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fam.

DATA: lt_values TYPE TABLE OF seahlpres,

lt_fields TYPE TABLE OF dfies,

lt_return TYPE TABLE OF ddshretval,

ls_value TYPE seahlpres,

ls_field TYPE dfies,

ls_return TYPE ddshretval.

SELECT prodh FROM t179 INTO TABLE gt_prodh

WHERE stufe = '4'.

LOOP AT gt_prodh INTO gs_prodh WHERE prodh+4(3) = p_cate.

gs_fam-fam = gs_prodh-prodh+7(3) .

APPEND gs_fam TO gt_fam.

ENDLOOP.

CLEAR ls_field.

ls_field-fieldname = 'FIELDNAME'.

ls_field-reftable = 'ZTEST_PARAM'.

ls_field-reffield = 'FAMILY'.

APPEND ls_field TO lt_fields.

LOOP AT gt_fam INTO gs_fam..

ls_value-string = gs_fam-fam.

APPEND ls_value TO lt_values.

ENDLOOP.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'FIELDNAME'

  • PVALKEY = ' '

  • DYNPPROG = ' '

  • DYNPNR = ' '

  • DYNPROFIELD = ' '

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

  • VALUE_ORG = 'C'

  • MULTIPLE_CHOICE = ' '

display = space

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

TABLES

value_tab = lt_values

field_tab = lt_fields

return_tab = lt_return

  • DYNPFLD_MAPPING =

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

IF sy-subrc <> 0 AND sy-subrc NE 3.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

START-OF-SELECTION.

WRITE : 'Start-of-selection.'.

Regards,

Madhavi

3 REPLIES 3
Read only

Former Member
0 Likes
392

Hi ,

Giving you a sample code which handles the F4 help using the Function module .

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

REPORT ZMSTR0022.

CONSTANTS: C_FORM_NAME TYPE TDSFNAME VALUE 'ZMST_PER_APPL'.

TABLES :ZMST_PERMIT.

TYPE-POOLS: SLIS.

TYPE-POOLS :VRM. "Value Request Manager

TYPES:BEGIN OF STRU_ZMST_PERMIT,

CHECKBOX(1) TYPE C, " Checkbox

ZPIDNUM TYPE ZMST_PERMIT-ZPIDNUM, " Permit ID No.

ZARBDSC TYPE ZMST_PERMIT-ZARBDSC, " Arabic description

ZENGDSC TYPE ZMST_PERMIT-ZENGDSC, " English description

ZENQUAN TYPE ZMST_PERMIT-ZENQUAN, " Qty in English

ZARQUAN TYPE ZMST_PERMIT-ZARQUAN, " Qty in Arabic

ZENUOM TYPE ZMST_PERMIT-ZENUOM, " UoM

ZTARIFF TYPE ZMST_PERMIT-ZTARIFF, " Tariff No

ZARRPRT TYPE ZMST_PERMIT-ZARRPRT, " Port code

ZPRT_NAME(60) TYPE C, " Port name in Arabic

ZPERNUM TYPE ZMST_PERMIT-ZPERNUM, " Reference No

ZEFFDT TYPE ZMST_PERMIT-ZEFFDT, " Valid from

ZEXPDT TYPE ZMST_PERMIT-ZEXPDT, " Valid to

ZARB_DT(15) TYPE C, " Arabic Date of letter

ZNAME_AUTH(50) TYPE C, " Name of Authority

ZPERM_MIN(50) TYPE C, " Permit Ministry

END OF STRU_ZMST_PERMIT.

TYPES:BEGIN OF STRU_PERMIT,

ZPIDNUM TYPE ZMST_PERMIT-ZPIDNUM, " Permit ID No.

ZENGDSC TYPE ZMST_PERMIT-ZENGDSC, " English description

ZARBDSC TYPE ZMST_PERMIT-ZARBDSC, " Arabic description

ZTARIFF TYPE ZMST_PERMIT-ZTARIFF, " Tariff No

ZPERNUM TYPE ZMST_PERMIT-ZPERNUM, " Reference No

ZARRPRT TYPE ZMST_PERMIT-ZARRPRT, " Port code

ZEFFDT TYPE ZMST_PERMIT-ZEFFDT, " Valid from

ZEXPDT TYPE ZMST_PERMIT-ZEXPDT, " Valid to

END OF STRU_PERMIT.

TYPES: BEGIN OF STRU_FORM_PERMIT,

ZARBDSC TYPE ZMST_PERMIT-ZARBDSC, " Arabic description

ZENGDSC TYPE ZMST_PERMIT-ZENGDSC, " English description

ZENQUAN TYPE ZMST_PERMIT-ZENQUAN, " Qty in English

ZARQUAN TYPE ZMST_PERMIT-ZARQUAN, " Qty in Arabic

ZENUOM TYPE ZMST_PERMIT-ZENUOM, " UoM

ZTARIFF TYPE ZMST_PERMIT-ZTARIFF, " Tariff No

ZPRT_NAME(60) TYPE C, " Port name in Arabic

END OF STRU_FORM_PERMIT.

DATA: IT_PERMIT TYPE TABLE OF STRU_PERMIT.

DATA: IT_ZMST_PERMIT TYPE TABLE OF STRU_ZMST_PERMIT,

WA_ZMST_PERMIT LIKE LINE OF IT_ZMST_PERMIT,

IT_FORM_PERMIT TYPE TABLE OF STRU_FORM_PERMIT,

WA_FORM_PERMIT LIKE LINE OF IT_FORM_PERMIT.

DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

IT_FIELDCAT TYPE TABLE OF SLIS_FIELDCAT_ALV.

DATA: W_FORM TYPE RS38L_FNAM.

DATA: W_NAME_AUTH(50),

W_ZARBDT(15),

W_ZENGDT(10),

W_ZPRT_NAME(70).

DATA: W_PARAM TYPE SSFCTRLOP.

DATA:W_NAME1 TYPE DFIES-FIELDNAME,

W_NAME2 TYPE HELP_INFO-DYNPROFLD .

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-023.

SELECT-OPTIONS:S_PIDNUM FOR ZMST_PERMIT-ZPIDNUM ,

S_ENGDSC FOR ZMST_PERMIT-ZENGDSC NO INTERVALS LOWER CASE,

S_ARBDSC FOR ZMST_PERMIT-ZARBDSC NO INTERVALS LOWER CASE,

S_TARIFF FOR ZMST_PERMIT-ZTARIFF NO INTERVALS,

S_PERNUM FOR ZMST_PERMIT-ZPERNUM NO INTERVALS,

S_ARRPRT FOR ZMST_PERMIT-ZARRPRT NO INTERVALS MATCHCODE OBJECT ZMST_PORTS.

PARAMETER:P_PERTYP(2) TYPE C AS LISTBOX VISIBLE LENGTH 20.

SELECTION-SCREEN END OF BLOCK B1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_PIDNUM-LOW.

W_NAME2 = 'S_PIDNUM-LOW'.

W_NAME1 = 'ZPIDNUM'.

PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_PIDNUM-HIGH.

W_NAME2 = 'S_PIDNUM-HIGH'.

W_NAME1 = 'ZPIDNUM'.

PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ENGDSC-LOW.

W_NAME2 = 'S_ENGDSC'.

W_NAME1 = 'ZENGDSC'.

PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ARBDSC-LOW.

W_NAME2 = 'S_ARBDSC'.

W_NAME1 = 'ZARBDSC'.

PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_TARIFF-LOW.

W_NAME2 = 'S_TARIFF'.

W_NAME1 = 'ZTARIFF'.

PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_PERNUM-LOW.

W_NAME2 = 'S_PERNUM'.

W_NAME1 = 'ZPERNUM'.

PERFORM F4_HELP USING W_NAME1 W_NAME2 . "calling subroutine to provide desired F4 help

AT SELECTION-SCREEN.

IF SY-UCOMM = 'ONLI'.

PERFORM CHECK_INPUT. "calling subroutine to check inputs on selection screen

ENDIF.

INITIALIZATION.

PERFORM VAL_PERTYP.

START-OF-SELECTION.

PERFORM FILL_FIELDCAT. "calling subroutine for filling fieldcatalog

If Permit ministry is blank then fetch data from ZMST_PERMIT otherwise from ZMST_PERMITHI--


IF P_PERTYP IS INITIAL.

PERFORM FETCH_PERMIT. "calling subroutine to fetch data from ZMST_PERMIT

ELSE.

PERFORM FETCH_PERMITHI. "calling subroutine to fetch data from ZMST_PERMITHI

ENDIF.

END-OF-SELECTION.

&----


*& Form fill_fieldcat

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_FIELDCAT .

-passing the parameters of layout--


WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

WA_LAYOUT-BOX_FIELDNAME = 'CHECKBOX'.

WA_LAYOUT-BOX_TABNAME = 'IT_ZMST_PERMIT'.

-Passing the parameters of fieldcatalog--


WA_FIELDCAT-FIELDNAME = 'ZPIDNUM'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-001.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZARBDSC'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-002.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-LOWERCASE = 'X'.

WA_FIELDCAT-OUTPUTLEN = 120.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZENGDSC'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-003.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-LOWERCASE = 'X'.

WA_FIELDCAT-OUTPUTLEN = 120.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZENQUAN'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-004.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-LOWERCASE = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZARQUAN'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-005.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-LOWERCASE = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZENUOM'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-006.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-LOWERCASE = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZTARIFF'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-007.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-OUTPUTLEN = 15.

WA_FIELDCAT-LOWERCASE = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZARB_DT'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_L = TEXT-013.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-LOWERCASE = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZNAME_AUTH'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-014.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-OUTPUTLEN = 50.

WA_FIELDCAT-LOWERCASE = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZPRT_NAME'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-009.

WA_FIELDCAT-EDIT = 'X'.

WA_FIELDCAT-OUTPUTLEN = 60.

WA_FIELDCAT-LOWERCASE = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZARRPRT'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-008.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZPERNUM'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-010.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZEFFDT'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-011.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZEXPDT'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-012.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ZPERM_MIN'.

WA_FIELDCAT-TABNAME = 'IT_ZMST_PERMIT'.

WA_FIELDCAT-SELTEXT_M = TEXT-019.

WA_FIELDCAT-OUTPUTLEN = 50.

WA_FIELDCAT-LOWERCASE = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. " fill_fieldcat

&----


*& Form alv_disp

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM ALV_DISP .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = 'ZMSTR0022'

I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_GRID_TITLE = TEXT-015

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

I_SAVE = 'A'

TABLES

T_OUTTAB = IT_ZMST_PERMIT

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " alv_disp

&----


*& Form PF_STATUS

&----


  • text

----


  • This subroutine sets the GUI status

----


FORM PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'ZSTANDARD_FULLSCREEN'.

ENDFORM. "PF_STATUS

&----


*& Form USER_COMMAND

&----


FORM USER_COMMAND USING R_UCOMM TYPE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD.

*For Printing Smartform

IF R_UCOMM = 'PRT'.

CLEAR WA_FORM_PERMIT.

REFRESH IT_FORM_PERMIT.

LOOP AT IT_ZMST_PERMIT INTO WA_ZMST_PERMIT WHERE CHECKBOX = 'X'.

MOVE-CORRESPONDING WA_ZMST_PERMIT TO WA_FORM_PERMIT.

APPEND WA_FORM_PERMIT TO IT_FORM_PERMIT .

*Check for First occurence of Name of authority

IF WA_ZMST_PERMIT-ZNAME_AUTH NE SPACE.

IF W_NAME_AUTH = ' '.

W_NAME_AUTH = WA_ZMST_PERMIT-ZNAME_AUTH.

ENDIF.

ENDIF.

*Check for First occurence of Arabic date

IF WA_ZMST_PERMIT-ZARB_DT NE SPACE.

IF W_ZARBDT = ' '.

W_ZARBDT = WA_ZMST_PERMIT-ZARB_DT.

ENDIF.

ENDIF.

IF WA_ZMST_PERMIT-ZPRT_NAME NE SPACE.

IF W_ZPRT_NAME = ' '.

MOVE WA_ZMST_PERMIT-ZPRT_NAME TO W_ZPRT_NAME.

CONDENSE W_ZPRT_NAME.

ENDIF.

ENDIF.

CLEAR : WA_FORM_PERMIT, WA_ZMST_PERMIT.

ENDLOOP.

CONCATENATE SY-DATUM0(4) '/' SY-DATUM4(2) '/' SY-DATUM+6(2) INTO W_ZENGDT.

*Printing Subroutine

IF NOT IT_FORM_PERMIT[] IS INITIAL.

PERFORM PRINT_FORM.

ELSE.

MESSAGE TEXT-018 TYPE 'I'.

ENDIF.

ENDIF.

ENDFORM. "user_command

&----


*& Form F4_HELP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM F4_HELP USING: W_VAR TYPE DFIES-FIELDNAME

W_VAR1 TYPE HELP_INFO-DYNPROFLD .

Fetching data from zmst_permit for F4 help on PERMIT ID No.--


IF IT_PERMIT[] IS INITIAL.

SELECT ZPIDNUM

ZENGDSC

ZARBDSC

ZTARIFF

ZPERNUM

ZARRPRT

ZEFFDT

ZEXPDT

FROM ZMST_PERMIT INTO CORRESPONDING FIELDS OF TABLE IT_PERMIT.

ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = W_NAME1 " 'ZPIDNUM'

DYNPPROG = 'ZMSTR0022'

DYNPNR = SY-DYNNR

DYNPROFIELD = W_NAME2 "'S_PIDNUM'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = IT_PERMIT

EXCEPTIONS

PARAMETER_ERROR = 1

NO_VALUES_FOUND = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " F4_HELP

&----


*& Form check_input

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM CHECK_INPUT .

IF S_PIDNUM[] IS INITIAL AND

S_ENGDSC[] IS INITIAL AND

S_ARBDSC[] IS INITIAL AND

S_TARIFF[] IS INITIAL AND

S_PERNUM[] IS INITIAL AND

S_ARRPRT[] IS INITIAL .

MESSAGE TEXT-016 TYPE 'E'.

LEAVE TO TRANSACTION 'ZMSTR022'.

ENDIF.

ENDFORM. " check_input

&----


*& Form print_form

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM PRINT_FORM .

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME = C_FORM_NAME

IMPORTING

FM_NAME = W_FORM

EXCEPTIONS

NO_FORM = 1

NO_FUNCTION_MODULE = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

W_PARAM-LANGU ='AR'.

CALL FUNCTION W_FORM

EXPORTING

CONTROL_PARAMETERS = W_PARAM

W_NAME_AUTH = W_NAME_AUTH

W_ZARBDT = W_ZARBDT

W_ZENGDT = W_ZENGDT

W_ZPRT_NAME = W_ZPRT_NAME

TABLES

IT_FORM_PERMIT = IT_FORM_PERMIT

EXCEPTIONS

FORMATTING_ERROR = 1

INTERNAL_ERROR = 2

SEND_ERROR = 3

USER_CANCELED = 4

OTHERS = 5.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " print_form

&----


*& Form fetch_Permit

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_PERMIT .

-Fetching data from zmst_permit based on the inputs on selection screen--


SELECT

ZPIDNUM

ZARBDSC

ZENGDSC

ZENQUAN

ZARQUAN

ZENUOM

ZTARIFF

ZARRPRT

ZPERNUM

ZEFFDT

ZEXPDT

FROM ZMST_PERMIT INTO CORRESPONDING FIELDS OF TABLE IT_ZMST_PERMIT

WHERE ZPIDNUM IN S_PIDNUM

AND ZENGDSC IN S_ENGDSC

AND ZARBDSC IN S_ARBDSC

AND ZTARIFF IN S_TARIFF

AND ZPERNUM IN S_PERNUM

AND ZARRPRT IN S_ARRPRT.

IF SY-SUBRC <> 0.

MESSAGE TEXT-017 TYPE 'I'.

LEAVE TO TRANSACTION 'ZMSTR022'.

ELSE.

LOOP AT IT_ZMST_PERMIT INTO WA_ZMST_PERMIT.

WA_ZMST_PERMIT-ZPERM_MIN = TEXT-020.

MODIFY IT_ZMST_PERMIT INDEX SY-TABIX FROM WA_ZMST_PERMIT TRANSPORTING ZPERM_MIN .

ENDLOOP.

PERFORM ALV_DISP. " calling subroutine for ALV display

ENDIF.

ENDFORM. " fetch_Permit

&----


*& Form fetch_permithi

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_PERMITHI .

-Fetching data from zmst_permit based on the inputs on selection screen--


SELECT

ZPIDNUM

ZARBDSC

ZENGDSC

ZENQUAN

ZARQUAN

ZENUOM

ZTARIFF

ZARRPRT

ZPERNUM

ZEFFDT

ZEXPDT

FROM ZMST_PERMITHI INTO CORRESPONDING FIELDS OF TABLE IT_ZMST_PERMIT

WHERE ZPIDNUM IN S_PIDNUM

AND ZENGDSC IN S_ENGDSC

AND ZARBDSC IN S_ARBDSC

AND ZTARIFF IN S_TARIFF

AND ZPERNUM IN S_PERNUM

AND ZARRPRT IN S_ARRPRT

AND ZPERTYP = P_PERTYP.

IF SY-SUBRC <> 0.

MESSAGE TEXT-017 TYPE 'I'.

LEAVE TO TRANSACTION 'ZMSTR022'.

ELSE.

LOOP AT IT_ZMST_PERMIT INTO WA_ZMST_PERMIT.

CASE P_PERTYP.

WHEN 'I'.

WA_ZMST_PERMIT-ZPERM_MIN = TEXT-021.

MODIFY IT_ZMST_PERMIT INDEX SY-TABIX FROM WA_ZMST_PERMIT TRANSPORTING ZPERM_MIN .

WHEN 'H'.

WA_ZMST_PERMIT-ZPERM_MIN = TEXT-022.

MODIFY IT_ZMST_PERMIT INDEX SY-TABIX FROM WA_ZMST_PERMIT TRANSPORTING ZPERM_MIN .

ENDCASE.

ENDLOOP.

PERFORM ALV_DISP. " calling subroutine for ALV display

ENDIF.

ENDFORM. " fetch_permithi

&----


*& Form val_PERTYP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM VAL_PERTYP .

DATA: W_NAME TYPE VRM_ID,

IT_LIST TYPE VRM_VALUES,

WA_VALUE LIKE LINE OF IT_LIST.

WA_VALUE-KEY = ' '.

WA_VALUE-TEXT = TEXT-020.

APPEND WA_VALUE TO IT_LIST.

CLEAR WA_VALUE.

WA_VALUE-KEY = 'I'.

WA_VALUE-TEXT = TEXT-021.

APPEND WA_VALUE TO IT_LIST.

CLEAR WA_VALUE.

WA_VALUE-KEY = 'H'.

WA_VALUE-TEXT = TEXT-022.

APPEND WA_VALUE TO IT_LIST.

CLEAR WA_VALUE.

W_NAME = 'P_PERTYP'.

P_PERTYP = ' '.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

ID = W_NAME

VALUES = IT_LIST

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. " val_PERTYP

I hope this will help you.

Help children of U.N World Food Program by rewarding points and encourage others to answer your queries.

Read only

Former Member
0 Likes
392

Hi,

Firstly even i tried with that function module but i could get perfectly afterwards i tried using 'F4IF_FIELD_VALUE_REQUEST' function module and i got.

Trying using this function module.. this would definetly help u

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

hope this solves your problem

Regards

Narin Nandivada

Read only

Former Member
0 Likes
392

solved myself