ABAP光标的问题
做的报表有日期这个字段,但是执行的时候没有输入,我需要返回时输入日期,而且光标也需要停留在日期这个字段里,如何设置呢?IFS_ERDATISINITIAL.MESSAGE...
做的报表有日期这个字段,但是执行的时候没有输入,我需要返回时输入日期,而且光标也需要停留在日期这个字段里,如何设置呢?
IF S_ERDAT IS INITIAL.
MESSAGE '请输入分销渠道' TYPE 'I'.
SET BLANK LINES ON .
SET CURSOR FIELD 'S_ERDAT' LINE SY-LINNO.
EXIT.
我这样设置的话sy-linno总是获取为1,如何让它获取为其他值呢? 展开
IF S_ERDAT IS INITIAL.
MESSAGE '请输入分销渠道' TYPE 'I'.
SET BLANK LINES ON .
SET CURSOR FIELD 'S_ERDAT' LINE SY-LINNO.
EXIT.
我这样设置的话sy-linno总是获取为1,如何让它获取为其他值呢? 展开
1个回答
展开全部
你选行号做什么用。
你可以直接 SET CURSOR FIELD 'S_ERDAT'. 就可以了。
IF S_ERDAT IS INITIAL.
SET CURSOR FIELD 'S_ERDAT'.
MESSAGE E000(00) WITH '请输入分销渠道'.
ENDIF.
追问
不行。返回光标还是在销售组织上,你这段代码应该是回到日期上才对。
追答
应该是没有问题的,你调用这个FORM是在哪里调用的?
给你一段代码参考一下吧。这段代码是我用的也是好用的。
AT SELECTION-SCREEN.
PERFORM CHECK_PERIOD.
IF RB_CSV = CNS_X AND ( SY-UCOMM = SPACE OR SY-UCOMM = 'ONLI' ).
IF C_SERPC = CNS_X.
PERFORM CHECK_DOWNLOAD_FILE USING P_DOWNPC.
ENDIF.
ENDIF.
FORM CHECK_DOWNLOAD_FILE USING PI_DOWNPC TYPE ANY.
DATA L_SUBRC TYPE SY-SUBRC.
IF PI_DOWNPC <> SPACE.
PERFORM PCCHECK_ULDL_COMMON USING PI_DOWNPC
CHANGING L_SUBRC.
IF L_SUBRC = 2.
SET CURSOR FIELD 'P_DOWNPC'.
MESSAGE E041(ZSPP01) WITH TEXT-M03 PI_DOWNPC.
ELSEIF L_SUBRC = 0.
SET CURSOR FIELD 'P_DOWNPC'.
MESSAGE W042(ZSPP01).
ENDIF.
ELSE.
SET CURSOR FIELD 'P_DOWNPC'.
MESSAGE E013(ZSPP01) WITH TEXT-M02.
ENDIF.
ENDFORM. "CHECK_DOWNLOAD_FILE
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询