在dialog中创建Steploops程序Word下载.docx
《在dialog中创建Steploops程序Word下载.docx》由会员分享,可在线阅读,更多相关《在dialog中创建Steploops程序Word下载.docx(14页珍藏版)》请在冰点文库上搜索。
![在dialog中创建Steploops程序Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/e2b086c1-1774-433f-ad50-d00395d558dd/e2b086c1-1774-433f-ad50-d00395d558dd1.gif)
12.
13.
MODULEuser_command_0100.
复制代码
2、新建程序se38
1.*Numberofrecordstobedisplayed
2.PARAMETERS:
p_numTYPEi.
3.*Typestodeclaretheinternaltableforrecords
4.TYPES:
BEGINOFt_itab,
col1TYPEi,
col2TYPEi,
7.
ENDOFt_itab.
8.*Internaltablefortherecords
9.DATA:
itabTYPESTANDARDTABLEOFt_itab,
10.*Workareafortherecords
wa
LIKELINEOFitab.
12.DATA:
13.*Indexoftherowofstep-loop
14.
idx
TYPEi,
15.*CurrentLinetobedisplayed
16.
line
17.*TotalRowsofstep-looptobedisplayedonsinglepage
18.
linesTYPEi,
19.*FinalLimitofsteplooprowsthatcanbedisplayed
20.
limitTYPEi,
21.*Cursorposition
22.
c
23.*Lowerlimitoftherecordindextobedisplayedonapage
24.
n1
TYPEiVALUE1,
25.*Upperlimitoftherecordindextobedisplayedonapage
26.
n2
TYPEi,
27.*Variabletohandlenextpagenavigation
28.
y_v_next
TYPE
i,
29.*Variabletohandlepreviouspagenavigation
30.
y_v_prev
31.
y_v_limitTYPEi.
32.DATA:
ok_codeTYPEsy-ucomm,
33.
save_okTYPEsy-ucomm.
34.
35.START-OF-SELECTION.
36.*Buildingtherecordstobedisplayedaspertheselectionscreenentry
37.
DOp_numTIMES.
38.
wa-col1=sy-index.
39.
wa-col2=sy-index**2.
40.
APPENDwaTOitab.
41.
ENDDO.
42.
IFp_num<
0.
43.
n2=p_num.
44.
ELSE.
45.
n2=5.
46.
ENDIF.
47.
CALLSCREEN100.
48.*----------------------------------------------------------------------*
49.*
MODULEstatus_0100OUTPUT
50.*----------------------------------------------------------------------*
51.*
52.*----------------------------------------------------------------------*
53.MODULEstatus_0100OUTPUT.
54.
SETPF-STATUS'
STATUS_100'
.
55.ENDMODULE.
"
status_0100OUTPUT
56.*----------------------------------------------------------------------*
57.*
MODULEtransp_itab_outOUTPUT
58.*----------------------------------------------------------------------*
59.*
60.*----------------------------------------------------------------------*
61.MODULEtransp_itab_outOUTPUT.
62.
idx=sy-stepl+line.
63.
READTABLEitabINTOwaINDEXidx.
64.ENDMODULE.
transp_itab_outOUTPUT
65.*----------------------------------------------------------------------*
66.*
MODULEtransp_itab_inINPUT
67.*----------------------------------------------------------------------*
68.*
69.*----------------------------------------------------------------------*
70.MODULEtransp_itab_inINPUT.
71.
lines=sy-loopc.
72.
73.
MODIFYitabFROMwaINDEXidx.
74.ENDMODULE.
transp_itab_inINPUT
75.*----------------------------------------------------------------------*
76.*
MODULEuser_command_0100INPUT
77.*----------------------------------------------------------------------*
78.*
79.*----------------------------------------------------------------------*
80.MODULEuser_command_0100INPUT.
81.
DATA:
y_v_indexTYPEsy-index.
82.
y_lv_d
TYPEf,
83.
y_lv_divTYPEi,
84.
y_curr_p_numTYPEi.
85.
save_ok=ok_code.
86.
CLEARok_code.
87.
CASEsave_ok.
88.
WHEN'
BACK'
89.
LEAVETOSCREEN0.
90.*WhenPageDownisHit
91.
PGDN'
92.*Numberofscreensrequiredforoutputif5recordsperscreen
93.
y_lv_d=p_num/5.
94.
y_lv_div=CEIL(y_lv_d).
95.
y_curr_p_num=y_lv_div*5.
96.
y_v_index=y_v_next+1.
97.
IFy_v_next<
y_lv_div.
98.
y_v_next=y_v_next+1.
99.
100.
y_v_next=y_lv_div.
101.
102.
y_v_prev=y_v_next.
103.
>
104.
n2=p_num-5*
y_v_next.
105.
IFn2>
5.
106.
n2=5*y_v_next.
107.
108.
n1=1.
109.
line=line+lines.
110.
limit=y_curr_p_num-lines.
111.
IFline>
limit.
112.
line=limit.
113.
114.
115.
y_v_next=y_v_next-1.
116.
117.*WhenPageUpisHit
118.
PGUP'
119.
n2=5*y_v_next.
120.
IFn1<
121.
122.
123.
IFy_v_next>
124.
125.
126.
y_v_next=0.
127.
128.
129.
IFlineNE0ANDy_curr_p_numGT5.
130.
line=y_v_next*5.
131.
132.
line=0.
133.
y_v_index=y_v_next-1.
134.
135.
IFline<
136.
137.
138.
139.
ENDCASE.
140.ENDMODULE.
user_command_0100INPUT
141.*----------------------------------------------------------------------*
142.*
MODULEcancelINPUT
143.*----------------------------------------------------------------------*
144.*
145.*----------------------------------------------------------------------*
146.MODULEcancelINPUT.
147.
LEAVEPROGRAM.
148.ENDMODULE.
cancelINPUT
149.*&
---------------------------------------------------------------------*
150.*&
Module
PGUP_DOWN
OUTPUT
151.*&
152.*
text
153.*----------------------------------------------------------------------*
154.MODULEpgup_downOUTPUT.
155.
y_v_divTYPEi,
156.
y_v_dTYPEf,
157.
y_v_tempTYPEi.
158.
159.
DESCRIBETABLEitab[]LINESp_num.
160.
y_v_d=p_num/5.
161.
y_v_limit=CEIL(y_v_d).
162.
y_v_temp=y_v_limit-1.
163.
IFp_numLE5.
164.
PERFORMy_f_hide_fieldUSING'
RLMOB-PPGDN'
165.
RLMOB-PPGUP'
166.
ELSEIFy_v_next
=y_v_limit.
167.
168.
PERFORMy_f_show_fieldUSING'
169.
ELSEIFy_v_prevISINITIAL.
170.
171.
ELSEIFy_v_nextGTy_v_limit.
172.
173.
ELSEIFy_v_temp=y_v_next.
174.
175.
176.ENDMODULE.
PGUP_DOWN
177.*&
178.*&
Form
Y_F_HIDE_FIELD
179.*&
180.*
181.*----------------------------------------------------------------------*
182.*
-->
P_0372
text
183.*----------------------------------------------------------------------*
184.FORMy_f_hide_field
USING
value(p_name).
185.
LOOPATSCREEN.
186.
IFscreen-name=p_name.
187.
screen-active
='
0'
188.
screen-invisible='
1'
189.
MODIFYSCREEN.
190.
EXIT.
191.
ENDIF.
192.
193.ENDFORM.
Y_F_HIDE_FIELD
194.*&
195.*&
Y_F_SHOW_FIELD
196.*&
197.*
198.*----------------------------------------------------------------------*
199.*
P_0388
200.*----------------------------------------------------------------------*
201.FORMy_f_show_field
202.
203.
204.
screen-active='
205.
206.
207.
208.
209.ENDFORM.
Y_F_SHOW_FIELD
3、GUI状态
4、程序执行效果
输入总共的数据条数