在Module Pool类型程序中定义range范围.docx
《在Module Pool类型程序中定义range范围.docx》由会员分享,可在线阅读,更多相关《在Module Pool类型程序中定义range范围.docx(14页珍藏版)》请在冰豆网上搜索。
在ModulePool类型程序中定义range范围
angetable有四个字段,分别是Sign Option Low High,下面将详细讲解在ModulePool类型程序中定义一个range
1、se38创建一个Modulepool(Mtype)程序,保存
2、se51为这个程序创建一个9000屏幕
3、点击layout,在屏幕上画onetextfield,twoinput/outputfieldandbackgroundbox
输入框分别命名MLOW和MHIGH
4、se11为这两个输入框定义一个searchhelp
5、将searchhelp填写到相应的屏幕属性上(mlow和mhigh都填写)
6、放开逻辑流中的moduleUser_command_9000
7、se93为程序定义一个T-code
8、程序代码:
1.TYPE-POOLS:
SLIS.
2.TABLES:
MARA.
3.DATA:
MLOW(18),MHIGH(18).
4.DATA:
MLOW1(18),MHIGH1(18).
5.DATA:
BEGINOFT_MARAOCCURS1,
6. MATNRTYPEMARA-MATNR,
7. ERSDATYPEMARA-ERSDA,
8. ERNAMTYPEMARA-ERNAM,
9. PSTATTYPEMARA-PSTAT,
10. MBRSHTYPEMARA-MBRSH,
11. ENDOFT_MARA.
12.DATA:
BEGINOFRANGEOCCURS0,
13. SIGN
(1),
14. OPTION
(2),
15. LOW(18),
16. HIGH(18),
17. ENDOFRANGE.
18.DATA:
T_FCATTYPETABLEOFSLIS_FIELDCAT_alv ,
19. W_FCATTYPESLIS_FIELDCAT_ALV,
20. W_LAYOTYPESLIS_LAYOUT_ALV.
21.*&---------------------------------------------------------------------*
22.*& Module USER_COMMAND_9000 INPUT
23.*&---------------------------------------------------------------------*
24.* text
25.*----------------------------------------------------------------------*
26.MODULEUSER_COMMAND_9000INPUT.
27. CASESY-UCOMM.
28. WHEN''."FC-CODEOFENTERBUTTON
29. CALLFUNCTION'CONVERSION_EXIT_MATN1_INPUT'"CONVERSIONROUTINEFORMLOW
30. EXPORTING
31. INPUT =MLOW
32. IMPORTING
33. OUTPUT =MLOW1
34. EXCEPTIONS
35. LENGTH_ERROR =1
36. OTHERS =2
37. .
38. IFSY-SUBRC<>0.
39. MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO
40. WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
41. ENDIF.
42. CALLFUNCTION'CONVERSION_EXIT_MATN1_INPUT'"CONVERSIONROUTINEFORMHIGH
43. EXPORTING
44. INPUT =MHIGH
45. IMPORTING
46. OUTPUT =MHIGH1
47. EXCEPTIONS
48. LENGTH_ERROR =1
49. OTHERS =2
50. .
51. IFSY-SUBRC<>0.
52. MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO
53. WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
54. ENDIF.
55.******************************************************************
56.*LOGICALLYBUILDAINTERNALTABLE(RANGE)
57.******************************************************************
58. RANGE-SIGN='I'."IORE
59. RANGE-OPTION='BT'.
60. RANGE-LOW=MLOW1.
61. RANGE-HIGH=MHIGH1.
62. APPENDRANGE."APPENDDATAININTERNALTABLE
63.******************************************************************
64. PERFORMFETCH_DATA.
65. PERFORMDISPLAY_DATA.
66. ENDCASE.
67.ENDMODULE. "USER_COMMAND_9000 INPUT
68.*&---------------------------------------------------------------------*
69.*& Form FETCH_DATA
70.*&---------------------------------------------------------------------*
71.* text
72.*----------------------------------------------------------------------*
73.* --> p1 text
74.* <-- p2 text
75.*----------------------------------------------------------------------*
76.FORMFETCH_DATA.
77. SELECT MATNR
78. ERNAM
79. ERSDA
80. PSTAT
81. MBRSH
82. FROMMARA
83. INTOCORRESPONDINGFIELDSOFTABLET_MARA
84. WHEREMATNRINRANGE.
85.
86.ENDFORM. "FETCH_DATA
87.*&---------------------------------------------------------------------*
88.*& Form DISPLAY_DATA
89.*&---------------------------------------------------------------------*
90.* text
91.*----------------------------------------------------------------------*
92.* --> p1 text
93.* <-- p2 text
94.*----------------------------------------------------------------------*
95.FORMDISPLAY_DATA.
96. LEAVETOLIST-PROCESSING.
97. W_FCAT-TABNAME='MARA'.
98. W_FCAT-FIELDNAME='MATNR'.
99. W_FCAT-SELTEXT_M='MaterialNo'.
100. APPENDw_fcattot_Fcat.
101. W_FCAT-TABNAME='MARA'.
102. W_FCAT-FIELDNAME='ERSDA'.
103. W_FCAT-SELTEXT_M='CreatedOn'.
104. APPENDw_fcattot_Fcat.
105. W_FCAT-TABNAME='MARA'.
106. W_FCAT-FIELDNAME='ERNAM'.
107. W_FCAT-SELTEXT_M='NameofPerson'.
108. APPENDw_fcattot_Fcat.
109. W_FCAT-TABNAME='MARA'.
110. W_FCAT-FIELDNAME='PSTAT'.
111. W_FCAT-SELTEXT_M='Maintenancestatus'.
112. APPENDw_fcattot_Fcat.
113. W_FCAT-TABNAME='MARA'.
114. W_FCAT-FIELDNAME='MBRSH'.
115. W_FCAT-SELTEXT_M='Industrysector'.
116. APPENDw_fcattoT_FCAT.
117. W_LAYO-ZEBRA='X'.
118. W_LAYO-COLWIDTH_OPTIMIZE='X'.
119. CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'
120. EXPORTING
121.* I_INTERFACE_CHECK =''
122.* I_BYPASSING_BUFFER =''
123.* I_BUFFER_ACTIVE =''
124.* I_CALLBACK_PROGRAM =''
125.* I_CALLBACK_PF_STATUS_SET =''
126.* I_CALLBACK_USER_COMMAND =''
127.* I_CALLBACK_TOP_OF_PAGE =''
128.* I_CALLBACK_HTML_TOP_OF_PAGE =''
129.* I_CALLBACK_HTML_END_OF_LIST =''
130.* I_STRUCTURE_NAME ='MARA'
131.* I_BACKGROUND_ID =''
132. I_GRID_TITLE ='MATERIALREPORT'
133.* I_GRID_SETTINGS =
134. IS_LAYOUT =W_LAYO
135. IT_FIELDCAT =T_FCAT
136.* IT_EXCLUDING =
137.* IT_SPECIAL_GROUPS =
138.* IT_SORT =
139.* IT_FILTER =
140.* IS_SEL_HIDE =
141.* I_DEFAULT ='X'
142.* I_SAVE =''
143.* IS_VARIANT =
144.* IT_EVENTS =
145.* IT_EVENT_EXIT =
146.* IS_PRINT =
147.* IS_REPREP_ID =
148.* I_SCREEN_START_COLUMN =0
149.* I_SCREEN_START_LINE =0
150.* I_SCREEN_END_COLUMN =0
151.* I_SCREEN_END_LINE =0
152.* I_HTML_HEIGHT_TOP =0
153.* I_HTML_HEIGHT_END =0
154.* IT_ALV_GRAPHICS =
155.* IT_HYPERLINK =
156.* IT_ADD_FIELDCAT =
157.* IT_EXCEPT_QINFO =
158.* IR_SALV_FULLSCREEN_ADAPTER =
159.*IMPORTING
160.* E_EXIT_CAUSED_BY_CALLER =
161.* ES_EXIT_CAUSED_BY_USER =
162. TABLES
163. T_OUTTAB =T_MARA[]
164.*EXCEPTIONS
165.* PROGRAM_ERROR =1
166.* OTHERS =2
167. .
168. IFSY-SUBRC<>0.
169.*MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO
170.* WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
171. ENDIF.
172.ENDFORM. "DISPLAY_DATA
复制代码
9、执行程序,查看效果
输入条件enter回车
窗体顶端
窗体底端