ITPUB论坛 » SAP R/3 » 系统开发及跨应用设置 » 选择屏幕与where语句的疑问,谢谢!


2008-7-1 19:49 tieshou444
选择屏幕与where语句的疑问,谢谢!

要求:销售组织:7000                                      要求必输
        凭证日期:XXXX.XX.XX到XXXX.XX.XX        要求必输
        凭证编号:XXXXXXXXXTO XXXXXXXXX
        创建者:
前两个必输,后两个可输可不输。

我是如下做的选择屏幕:
     parameters s_vkorg like vbak-vkorg default '7000' obligatory.
       select-options:
       s_audat for vbak-audat obligatory ,
       s_vbeln for vbak-vbeln.
       parameters s_ernam like vbak-ernam.

请问:为什么我空着后两个程序不运行呢?按理说不输后两个就是全选呀。必须要4个全输才可运行程序。
我的where语句这么写的:
    where vkorg = s_vkorg
      and  audat in s_audat
      and  vbeln in s_vbeln
      and  ernam = s_ernam.

2008-7-1 22:05 sorrowlich
and  ernam = s_ernam.
如果空着s_ernam,就相当于and  ernam = SAPCE

2008-7-2 00:54 tieshou444
我是这么把问题解决的:
if s_vbeln <> '' and s_ernam <> ''.
...
elseif s_vbeln <> ''.
...
elseif s_ernam <> ''.
...

2008-7-2 08:38 stefanielbb
回复 #1 tieshou444 的帖子

s_ernam 设置为SELECT-OPTIONS的格式 ?
在WHERE语句中 改成in是不是就可以了?

2008-7-2 09:19 ryq0000
没必要,全用SELECT-OPTIONS的输入就行了。

2008-7-2 10:55 dreamgift
[quote]原帖由 [i]tieshou444[/i] 于 2008-7-1 19:49 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10823077&ptid=1014936][img]http://www.itpub.net/images/common/back.gif[/img][/url]
要求:销售组织:7000                                      要求必输
        凭证日期:XXXX.XX.XX到XXXX.XX.XX        要求必输
        凭证编号:XXXXXXXXXTO XXXXXXXXX
        创建者:
前两个必输,后两个可输可不输。

我是如下做的选择屏幕:
     parameters s_vkorg like vbak-vkorg default '7000' obligatory.
       select-options:
       s_audat for vbak-audat obligatory ,
       s_vbeln for vbak-vbeln.
       parameters s_ernam like vbak-ernam.

请问:为什么我空着后两个程序不运行呢?按理说不输后两个就是全选呀。必须要4个全输才可运行程序。
我的where语句这么写的:
    where vkorg = s_vkorg
      and  audat in s_audat
      and  vbeln in s_vbeln
      and  ernam = s_ernam. [/quote]

select-options s_ernam for vbak-ernam NO INTERVALS.

where vkorg = s_vkorg
      and  audat in s_audat
      and  vbeln in s_vbeln
      and  ernam in s_ernam.

这样应该可以.

2008-7-2 15:49 ryq0000
NO INTERVALS. 没有区间的意思,
应该能满足楼主的需求了,不用判断了.

2008-7-4 00:18 weddingmax
把这句:parameters s_ernam like vbak-ernam
改为:select-option s_ernam for vbak-ernam no intervals no-extension.

ps:画面元素上,只有select-option(用于表示集合)在不输入的情况下面才是表示全选。
上面那个语句就是把select-option的样子改为和输入文本框一个样子,但是其实他内部还是表示集合。
这个时候sign = ‘I’,option = ‘eq’,low = 你输入的值,high里面没有值。

2008-7-4 15:00 dreamgift
[quote]原帖由 [i]weddingmax[/i] 于 2008-7-4 00:18 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10848529&ptid=1014936][img]http://www.itpub.net/images/common/back.gif[/img][/url]
把这句:parameters s_ernam like vbak-ernam
改为:select-option s_ernam for vbak-ernam no intervals no-extension.

ps:画面元素上,只有select-option(用于表示集合)在不输入的情况下面才是表示全选。
上面那个语句就是把select-option的样子改为和输入文本框一个样子,但是其实他内部还是表示集合。
这个时候sign = ‘I’,option = ‘eq’,low = 你输入的值,high里面没有值。 [/quote]

= =!!
no-extension  是后面没有一个带箭头方框(范围值的按钮..)

2008-7-4 22:04 weddingmax
[quote]原帖由 [i]dreamgift[/i] 于 2008-7-4 15:00 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10855434&ptid=1014936][img]http://www.itpub.net/images/common/back.gif[/img][/url]


= =!!
no-extension  是后面没有一个带箭头方框(范围值的按钮..) [/quote]

恩。把这个按钮也隐藏了。看起来就像是只能输入单一值的框了。这样用户就不能直接输入范围了。
功能等同于parameter。
不同的是当这个框不输入值得时候,在sql语句中对于这个where选项,是全部选的。

页: [1]


Powered by ITPUB论坛