ABAP F4帮助Word文件下载.docx
《ABAP F4帮助Word文件下载.docx》由会员分享,可在线阅读,更多相关《ABAP F4帮助Word文件下载.docx(12页珍藏版)》请在冰点文库上搜索。
![ABAP F4帮助Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/3/2d6ad4d2-8c6a-42e3-a629-e0b694505d86/2d6ad4d2-8c6a-42e3-a629-e0b694505d861.gif)
数据元素的明确搜索帮助附件
她们之间有啥区别,我也不知道。
等我知道了再补充。
)
用se11创建的f4帮助可以分为两类:
基本搜索帮助
集中搜索帮助
基本搜索帮助是搜索帮助的最小单元,集中搜索帮助还可以包括集中搜索帮助,也可以包括基本搜索帮助。
在基本搜索帮助中可以定义数据来源,但是集中搜索帮助不可以定义数据来源。
无论是基本搜素偶帮助还是集中搜索帮助都包含输出输出字段定义,并可以定义搜索帮助exit,用于调用一个远程的functionmodule来对数据进行过滤和处理。
如果将这些搜索帮助与表挂上之后,我们在使用的时候就会自动出现该搜索帮助。
在synpro程序中。
也可以通过属性(属性名叫搜索帮助)为字段重新指定自定义的搜索帮助
也可以在选择屏幕或者screen中重新指定搜索帮助,下面举几个例子来说明使用的方法
一,根据搜索帮助的名字来指定搜索帮助
1选择屏幕
REPORTz_ljc_078LINE-SIZE200.
parameters:
mama(18)typec.
INITIALIZATION.
ATSELECTION-SCREENonvalue-requestformama.
DATA:
v_mamaLIKEhelp_info-dynprofld.
v_mama="
MAMA"
.
CALLFUNCTION"
F4IF_FIELD_VALUE_REQUEST"
EXPORTING
tabname="
"
fieldname="
SEARCHHELP="
ZFI_CRC_001"
DYNPPROG=SY-REPID
DYNPNR=SY-DYNNR
DYNPROFIELD=v_mama
start-OF-SELECTION.
writemama.
2dynproscreen
流逻辑:
PROCESSBEFOREOUTPUT.
MODULEINIT.
PROCESSAFTERINPUT.
PROCESSONVALUE-REQUEST.
FIELDmatnrMODULEVALUE_matnr.
report:
MODULEinitOUTPUT.
progname=sy-repid.
dynnum=sy-dynnr.
ENDMODULE.
MODULEvalue_matnrINPUT.
MAT1"
DYNPROFIELD="
MATNR"
无论是在选择屏幕或者是dynpro中,如果指定了searchhelp属性,则tabname和fieldname属性就不起作用了。
当不指定searchhelp属性,而制定了tabname和fieldname属性,则会调用tabname-fieldname挂接的搜素偶帮助。
mara"
matnr"
*SEARCHHELP="
二,用内表生成f4帮助
TYPES:
BEGINOFty_aenr,
aennrtypeaenr-aennr,
datuvtypeaenr-datuv,
aenamtypeaenr-aenam,
aegrutypeaenr-aegru,
ccarttypeaenr-ccart,
aetxttypeaenr-aetxt,
ENDOFty_aenr.
gt_aenrTYPETABLEOFty_aenr,
gs_aenrTYPEty_aenr.
PERFORMfrm_read_aenr.
*获得图幅的f4帮助
ATSELECTION-SCREENONVALUE-REQUESTFORso_aennr-low.
PERFORMfrm_search_help_file.
FORMfrm_read_aenr.
DATAl_objnrTYPEjest-objnr.
DATAl_lineTYPEbsvx-sttxt."
订单状态
SELECTa~aennra~datuva~aenama~aegrua~ccarta~aetxt
INTOTABLEgt_aenr
FROMaenrasa
innerjoinUSGRP_USERasc
ona~annam=c~bname
wherec~usergroup="
CCCAR"
loopatgt_aenrintogs_aenr.
CLEAR:
l_objnr,l_line.
***组建更改编号对象号
CONCATENATE"
CD"
gs_aenr-aennrINTOl_objnr.
***获得系统状态,调用函数
STATUS_TEXT_EDIT"
objnr=l_objnr
spras=sy-langu
IMPORTING
line=l_line
EXCEPTIONS
object_not_found=1
OTHERS=2.
***判断该更改单是否批准
IFsy-subrc=0.
SEARCHl_lineFOR"
ECOR"
IFsy-subrc<
>
0.
DELETEgt_aenr."
没有下达的就删掉
ENDIF.
endloop.
ENDFORM."
frm_read_proj
FORMfrm_search_help_file.
v_aennrLIKEhelp_info-dynprofld.
v_aennr="
SO_aennr"
F4IF_INT_TABLE_VALUE_REQUEST"
retfield="
AENNR"
value_org="
S"
dynprofield=v_aennr
dynpprog=sy-repid
dynpnr=sy-dynnr
TABLES
value_tab=gt_aenr
parameter_error=1
no_values_found=2
OTHERS=3.
*IFsy-subrc<
*WRITE:
"
error"
*ENDIF.
frm_search_help_file
2dynproscreen:
FIELDaenamMODULEVALUE_aenam.
BEGINOFvalues,
aenamTYPEmara-aenam,
matnrTYPEmara-matnr,
ENDOFvalues.
matnr(18)TYPEc,
aenam(12)TYPEc.
prognameTYPEsy-repid,
dynnumTYPEsy-dynnr
CALLSCREEN100.
MODULEvalue_aenamINPUT.
selectaenammatnrintotablevalues_tabfrommarawherematnrBETWEEN"
000000000000001199"
and"
000000000000001250"
AENAM"
dynpprog=progname
dynpnr=dynnum
dynprofield="
value_tab=values_tab.
当然,也可以根据一个字段的选择过滤另一个字段的f4帮助的数据。
下面给出一个在dynproscreen中的例子。
在选择屏幕上就不给出例子了。
实现的方法都差不多。
甚至更简单。
*MODULESTATUS_0100.
*
*MODULEUSER_COMMAND_0100.
MODULECANCELATEXIT-COMMAND.
*&
dynnumTYPEsy-dynnr,
dynpro_valuesTYPETABLEOFdynpread,
field_valueLIKELINEOFdynpro_values,
values_tabTYPETABLEOFvalues.
field_value,dynpro_values.
field_value-fieldname="
APPENDfield_valueTOdynpro_values.
MODULEcancelINPUT.
LEAVEPROGRAM.
DYNP_VALUES_READ"
dyname=progname
dynumb=dynnum
translate_to_upper="
X"
dynpfields=dynpro_values.
READTABLEdynpro_valuesINDEX1INTOfield_value.
SELECTAENAMMATNR
FROMMARA
INTOCORRESPONDINGFIELDSOFTABLEvalues_tab
WHEREAENAM=field_value-fieldvalue.
好了,关于f4帮助,目前就知道这么一点点。
就讲这么多吧。
f4帮助与check没有关系,只是用来搜索数据,并不进行数据的检查!