在dialog中创建Steploops程序.docx

上传人:b****5 文档编号:11630942 上传时间:2023-03-29 格式:DOCX 页数:14 大小:430.65KB
下载 相关 举报
在dialog中创建Steploops程序.docx_第1页
第1页 / 共14页
在dialog中创建Steploops程序.docx_第2页
第2页 / 共14页
在dialog中创建Steploops程序.docx_第3页
第3页 / 共14页
在dialog中创建Steploops程序.docx_第4页
第4页 / 共14页
在dialog中创建Steploops程序.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

在dialog中创建Steploops程序.docx

《在dialog中创建Steploops程序.docx》由会员分享,可在线阅读,更多相关《在dialog中创建Steploops程序.docx(14页珍藏版)》请在冰豆网上搜索。

在dialog中创建Steploops程序.docx

在dialog中创建Steploops程序

Step-loops是ABAP中非常古老的技术,自从Tablecontrol大量使用后Step-loops就急剧减少了,但是在某种场合中除了使用step-loops而别无选择,例如RadioFrequency。

Step-loops有两种类型

∙固定Step-loops

显示的条数固定

∙可变Step-loops

根据屏幕的大小,增加step-loops的条数

1、新建标准screen100,并定义ok_code

se51  格式布局屏幕样式

Column_1/Column_2

WA-COL1/WA-COL2

一起选中两列的input/output框,然后Edit->Grouping->StepLoop->Define

调整step-loops显示的条数

RLMOB-PPGUP/RLMOB-PPGDN

程序流:

1.PROCESSBEFOREOUTPUT.

2.  MODULEstatus_0100.

3.  MODULEpgup_down.

4.  LOOPATitabINTOwaCURSORcFROMn1TOn2.

5.  MODULEtransp_itab_out.

6.  ENDLOOP.

7.

8.PROCESSAFTERINPUT.

9.  MODULEcancelATEXIT-COMMAND.

10.  LOOP.

11.  MODULEtransp_itab_in.

12.  ENDLOOP.

13.  MODULEuser_command_0100.

复制代码

2、新建程序se38

1.*Numberofrecordstobedisplayed

2.PARAMETERS:

p_numTYPEi.

3.*Typestodeclaretheinternaltableforrecords

4.TYPES:

BEGINOFt_itab,

5.      col1TYPEi,

6.      col2TYPEi,

7.    ENDOFt_itab.

8.*Internaltablefortherecords

9.DATA:

itabTYPESTANDARDTABLEOFt_itab,

10.*Workareafortherecords

11.    wa  LIKELINEOFitab.

12.DATA:

13.*Indexoftherowofstep-loop

14.    idx  TYPEi,

15.*CurrentLinetobedisplayed

16.    line  TYPEi,

17.*TotalRowsofstep-looptobedisplayedonsinglepage

18.    linesTYPEi,

19.*FinalLimitofsteplooprowsthatcanbedisplayed

20.    limitTYPEi,

21.*Cursorposition

22.    c    TYPEi,

23.*Lowerlimitoftherecordindextobedisplayedonapage

24.    n1  TYPEiVALUE1,

25.*Upperlimitoftherecordindextobedisplayedonapage

26.    n2  TYPEi,

27.*Variabletohandlenextpagenavigation

28.    y_v_next        TYPE  i,

29.*Variabletohandlepreviouspagenavigation

30.    y_v_prev        TYPE  i,

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.  idx=sy-stepl+line.

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.  DATA:

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.  WHEN'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

98.      y_v_next=y_v_next+1.

99.    ELSE.

100.      y_v_next=y_lv_div.

101.    ENDIF.

102.    y_v_prev=y_v_next.

103.    IFy_v_next<>y_lv_div.

104.      n2=p_num-5*  y_v_next.

105.      IFn2>5.

106.      n2=5*y_v_next.

107.      ENDIF.

108.      n1=1.

109.      line=line+lines.

110.      limit=y_curr_p_num-lines.

111.      IFline>limit.

112.      line=limit.

113.      ENDIF.

114.    ELSE.

115.      y_v_next=y_v_next-1.

116.    ENDIF.

117.*WhenPageUpisHit

118.  WHEN'PGUP'.

119.    n2=5*y_v_next.

120.    IFn1<0.

121.      n1=1.

122.    ENDIF.

123.    IFy_v_next>0.

124.      y_v_next=y_v_next-1.

125.    ELSE.

126.      y_v_next=0.

127.    ENDIF.

128.    y_v_prev=y_v_next.

129.    IFlineNE0ANDy_curr_p_numGT5.

130.      line=y_v_next*5.

131.    ELSE.

132.      line=0.

133.      y_v_index=y_v_next-1.

134.    ENDIF.

135.    IFline<0.

136.      line=0.

137.    ENDIF.

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.  DATA:

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.  PERFORMy_f_hide_fieldUSING'RLMOB-PPGUP'.

166.  ELSEIFy_v_next  =y_v_limit.

167.  PERFORMy_f_hide_fieldUSING'RLMOB-PPGDN'.

168.  PERFORMy_f_show_fieldUSING'RLMOB-PPGUP'.

169.  ELSEIFy_v_prevISINITIAL.

170.  PERFORMy_f_hide_fieldUSING'RLMOB-PPGUP'.

171.  ELSEIFy_v_nextGTy_v_limit.

172.  PERFORMy_f_hide_fieldUSING'RLMOB-PPGDN'.

173.  ELSEIFy_v_temp=y_v_next.

174.  PERFORMy_f_hide_fieldUSING'RLMOB-PPGDN'.

175.  ENDIF.

176.ENDMODULE.            "PGUP_DOWN  OUTPUT

177.*&---------------------------------------------------------------------*

178.*&    Form  Y_F_HIDE_FIELD

179.*&---------------------------------------------------------------------*

180.*    text

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.  ENDLOOP.

193.ENDFORM.              "Y_F_HIDE_FIELD

194.*&---------------------------------------------------------------------*

195.*&    Form  Y_F_SHOW_FIELD

196.*&---------------------------------------------------------------------*

197.*    text

198.*----------------------------------------------------------------------*

199.*    -->P_0388  text

200.*----------------------------------------------------------------------*

201.FORMy_f_show_field  USING  value(p_name).

202.  LOOPATSCREEN.

203.  IFscreen-name=p_name.

204.    screen-active='1'.

205.    MODIFYSCREEN.

206.    EXIT.

207.  ENDIF.

208.  ENDLOOP.

209.ENDFORM.              "Y_F_SHOW_FIELD

复制代码

3、GUI状态

4、程序执行效果

 

输入总共的数据条数

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1