F4 help research

来源:互联网 发布:me直播软件下载 编辑:程序博客网 时间:2024/06/10 03:31
 

zpp126


PROCESS BEFORE OUTPUT.
*  MODULE STATUS_0200.
   MODULE TC001_INIT.
   LOOP AT G_TC001_ITAB
       INTO ZPP_STD_STRU
       WITH CONTROL TC001
       CURSOR TC001-CURRENT_LINE.
     MODULE TC001_GET_LINES.
     MODULE MODIFY_DSP.
   ENDLOOP.

*
PROCESS AFTER INPUT.
  Module exit_screen AT EXIT-COMMAND.
*  MODULE UPDATE_POSNR.

*  MODULE USER_COMMAND_0200.

  LOOP AT G_TC001_ITAB.
    CHAIN.
      FIELD ZPP_STD_STRU-KDATB.
      FIELD ZPP_STD_STRU-KSCHL.
      FIELD ZPP_STD_STRU-RATE.
      MODULE TC001_MODIFY ON CHAIN-REQUEST.
    ENDCHAIN.
    FIELD ZPP_STD_STRU-FLAG
      MODULE TC001_MARK ON REQUEST.
  ENDLOOP.
  MODULE TC001_USER_COMMAND.

  process on value-request.
    field zpp_std_stru-kschl module sam_type.

--------------------------------------------------------
MZPP027I01:

MODULE SAM_TYPE INPUT.
  perform get_sam_type.
ENDMODULE.                 " SAM_TYPE  INPUT

----------------------------------------------------
MZPP027F01:

FORM GET_SAM_TYPE .
  data hv like help_value occurs 0 with header line.
  data: begin of type occurs 0,
           value like zpp_std_rate-kschl,
        end of type.
  data: selected like sy-tabix.
  refresh: hv, type.
  hv-tabname = 'ZPP_STD_RATE'.
  hv-fieldname = 'KSCHL'.
  append hv.

  type-value = 'CUT'.
  APPEND TYPE.
  TYPE-VALUE = 'SEW'.
  APPEND TYPE.
  TYPE-VALUE = 'WASH'.
  APPEND TYPE.
  TYPE-VALUE = 'PACK'.
  APPEND TYPE.

  clear selected.
  perform get_values tables hv type
                     changing selected.

  read table type index selected.
  if sy-subrc eq 0.
     ZPP_STD_STRU-kschl = type-value.
  endif.

 

ENDFORM.                    " GET_SAM_TYPE
*&------------------------------------------------

form get_values tables   p_hv
                         p_value
                changing p_selected.

  call function 'HELP_VALUES_GET_WITH_VALUE'
    exporting
      given_value                         = '1'
    importing
      select_index                        = p_selected
    tables
      fields                              = p_hv
      valuetab                            = p_value.

ENDFORM.                    " GET_VALUES

定义此字段的domain ,设置其value range, 可控制只输入某几个值


---------------------------------------------------------------------------------------------
Example code for for calling an SAP F4 search manually from a ABAP report selection screen.


**************************************************************
*Call search help.
DATA: return_tab type STANDARD TABLE OF DDSHRETVAL.

PARAMETERS p_test(10) type c.

************************************************
*AT SELECTION-SCREEN
AT SELECTION-SCREEN on VALUE-REQUEST FOR p_test.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      TABNAME           = 'T161'    "mandatory - dictionary table type
      FIELDNAME         = 'BSART'   "mandatory - dictionary field type
      SEARCHHELP        = 'H_T161'  "shelp
      SHLPPARAM         = 'BSART'   "field value to return from shelp
    TABLES
      RETURN_TAB        = return_tab
    EXCEPTIONS
      FIELD_NOT_FOUND   = 1
      NO_HELP_FOR_FIELD = 2
      INCONSISTENT_HELP = 3
      NO_VALUES_FOUND   = 4
      OTHERS            = 5.

-----------------------------------------------------------------
zmm001:

MODULE F4_SC_VENDOR INPUT.
  DATA: WA_LINE      LIKE SY-TABIX.
  DATA: DYNPFIELDS LIKE  DYNPREAD OCCURS 0 WITH HEADER LINE,
        C_REPID LIKE SY-REPID VALUE 'SAPMZMM001'.
  DATA: WA_MATNR     LIKE MARA-MATNR.

  data l_werks like WA_TP_HEADER-WERKS.

  clear dynpfields. refresh dynpfields.
  get cursor field dynpfields-fieldname line dynpfields-stepl.

  move 'WA_TP_HEADER-WERKS' to dynpfields-fieldname.
  append dynpfields.

  call function 'DYNP_VALUES_READ'
     exporting
          dyname               = c_repid
          dynumb               = sy-dynnr
     tables
          dynpfields           = dynpfields
     exceptions
          invalid_abapworkarea = 1
          invalid_dynprofield  = 2
          invalid_dynproname   = 3
          invalid_dynpronummer = 4
          invalid_request      = 5
          no_fielddescription  = 6
          invalid_parameter    = 7
          undefind_error       = 8
          others               = 9.

  if sy-subrc eq 0.
    l_werks = dynpfields-fieldvalue.
  ENDIF.

  if l_werks = '3011'.
    DATA: BEGIN OF htab OCCURS 2.
            INCLUDE STRUCTURE dynpread.
    DATA: END OF htab.

    DATA: BEGIN OF IHELP_FIELDS OCCURS 20.
            INCLUDE STRUCTURE HELP_VALUE.
    DATA: END OF IHELP_FIELDS.

    DATA: BEGIN OF HELPTAB OCCURS 100,
            FELD(40),
          END OF HELPTAB.

    "DATA: DYNPFIELDS LIKE  DYNPREAD OCCURS 0 WITH HEADER LINE .

    data: disp.
    data: it_vendor like ZSC_VENDOR occurs 0 with header line.

    refresh it_vendor.
    select * into table it_vendor
      from ZSC_VENDOR.

*  "Append billing doc, so doc into search help
    refresh helptab.

    loop at it_vendor.
      shift it_vendor-lifnr left deleting leading '0'.
      helptab = it_vendor-lifnr.
      append helptab.
      helptab = it_vendor-name.
      append helptab.
    endloop.

*   Tabellenstruktur vorgeben
    refresh ihelp_fields.

    ihelp_fields-tabname = 'ZSC_VENDOR'.
    ihelp_fields-fieldname = 'lifnr'.
    ihelp_fields-selectflag = 'X'.
    append ihelp_fields.
    ihelp_fields-tabname = 'ZSC_VENDOR'.
    ihelp_fields-fieldname = 'name'.
    ihelp_fields-selectflag = ' '.
    append ihelp_fields.

    describe table helptab lines sy-tfill.
    check sy-tfill > 0.

*   F4 - Hilfe Anzeigen
    call function 'HELP_VALUES_GET_WITH_TABLE'
         exporting
              display      = disp
              fieldname    = 'lifnr'
              tabname      = 'ZSC_VENDOR'
         importing
              select_value = WA_TP_HEADER-BKTXT
         tables
              fields       = ihelp_fields
              valuetab     = helptab.
    shift WA_TP_HEADER-BKTXT left deleting leading space.
  endif.
ENDMODULE.                 " F4_SC_VENDOR  INPUT


---------------------------------------------------------------------------------------------
zsd161:

MODULE F4_VENDOR INPUT.
 DATA   return_tab TYPE TABLE OF DDSHRETVAL with header line. "Picked results from F4
field-symbols <f1> .
clear dynpfields. refresh dynpfields.
get cursor field dynpfields-fieldname line dynpfields-stepl.
assign (dynpfields-fieldname) to <f1>.
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      TABNAME           = 'LFA1'    "mandatory - dictionary table type
      FIELDNAME         = 'LIFNR'   "mandatory - dictionary field type
*      SEARCHHELP        = 'H_T161'  "shelp
      SHLPPARAM         = 'LIFNR'   "field value to return from shelp
    TABLES
      RETURN_TAB        = return_tab
    EXCEPTIONS
      FIELD_NOT_FOUND   = 1
      NO_HELP_FOR_FIELD = 2
      INCONSISTENT_HELP = 3
      NO_VALUES_FOUND   = 4
      OTHERS            = 5.
  IF SY-SUBRC = 0.
    read table return_tab.
    <f1> = return_tab-fieldval.
  ENDIF.
ENDMODULE.                 " F4_VENDOR  INPUT


*&---------------------------------------------------------------------*
*&      Module  F4_WASH  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE F4_WASH INPUT.
tables ZTWTYP.
data it_ZTWTYP like ZTWTYP occurs 0 with header line .
data: disp.
data wa_wash(40) type c.
refresh it_ZTWTYP.
select * into table it_ZTWTYP
  from ZTWTYP.

loop at it_ZTWTYP.
  helptab = it_ZTWTYP-ZZWTYP.
  append helptab.
  helptab = it_ZTWTYP-DESCRIPTION.
  append helptab.
endloop.

refresh ihelp_fields.

ihelp_fields-tabname = 'ZTWTYP'.
ihelp_fields-fieldname = 'ZZWTYP'.
ihelp_fields-selectflag = ''.
append ihelp_fields.
ihelp_fields-tabname = 'ZTWTYP'.
ihelp_fields-fieldname = 'DESCRIPTION'.
ihelp_fields-selectflag = 'X'.
append ihelp_fields.

describe table helptab lines sy-tfill.
check sy-tfill > 0.
*   F4 - Hilfe Anzeigen
    call function 'HELP_VALUES_GET_WITH_TABLE'
         exporting
              display      = disp
              fieldname    = 'DESCRIPTION'
              tabname      = 'ZTWTYP'
         importing
              select_value = wa_wash
         tables
              fields       = ihelp_fields
              valuetab     = helptab.

WA_ZSD_GARMENT_PRT2-ZWASH_MTD = wa_wash.

*clear dynpfields. refresh dynpfields.
*get cursor field dynpfields-fieldname line dynpfields-stepl.
*assign (dynpfields-fieldname) to <f1>.
*refresh return_tab.
*  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
*    EXPORTING
*      TABNAME           = 'ZTWTYP'    "mandatory - dictionary table type
*      FIELDNAME         = 'ZZWTYP'   "mandatory - dictionary field type
**      SEARCHHELP        = 'H_T161'  "shelp
*      SHLPPARAM         = 'ZZWTYP'   "field value to return from shelp
*    TABLES
*      RETURN_TAB        = return_tab
*    EXCEPTIONS
*      FIELD_NOT_FOUND   = 1
*      NO_HELP_FOR_FIELD = 2
*      INCONSISTENT_HELP = 3
*      NO_VALUES_FOUND   = 4
*      OTHERS            = 5.
*  IF SY-SUBRC = 0.
*    read table return_tab.
*    <f1> = return_tab-fieldval.
*  ENDIF.
ENDMODULE.                 " F4_WASH  INPUT


*Internal Table for Link Document of Search help
DATA: BEGIN OF htab OCCURS 2.
        INCLUDE STRUCTURE dynpread.
DATA: END OF htab.

DATA: BEGIN OF IHELP_FIELDS OCCURS 20.
        INCLUDE STRUCTURE HELP_VALUE.
DATA: END OF IHELP_FIELDS.

DATA: BEGIN OF HELPTAB OCCURS 0,
        FELD(30),
      END OF HELPTAB.

DATA: DYNPFIELDS LIKE  DYNPREAD OCCURS 0 WITH HEADER LINE .

原创粉丝点击