SUBMIT - selscreen_parameters

基本形式

... [USING SELECTION-SET variant]
    [USING SELECTION-SETS OF PROGRAM prog]
    [WITH SELECTION-TABLE rspar]
    [WITH expr_syntax1 WITH expr_syntax2 ...]
    [WITH FREE SELECTIONS texpr] ... .

オプション:

1. ... USING SELECTION-SET variant

2. ... USING SELECTION-SETS OF PROGRAM prog

3. ... WITH SELECTION-TABLE rspar

4. ... WITH expr_syntax1 WITH expr_syntax2 ...

5. ... WITH FREE SELECTIONS texpr

機能

USING-SELECTION-SET では、バリアント variant を用いて選択画面コンポーネントがすべて設定されます。USING-SELECTION-SETS OF PROGRAM を指定すると、別のプログラムに由来するバリアントを使用することができます。WITH SELECTION-TABLE を指定すると、複数の選択画面コンポーネントの値が内部テーブル rspar の内容として転送されます。WITH expr_syntax では、個別の選択画面コンポーネント sel に値が設定されます。WITH FREE SELECTIONS オプションを使用して、論理データベース用選択画面に自由選択を転送することができます。

オプション 1

...USING SELECTION-SET variant

機能

このオプションを指定すると、選択画面のパラメータと選択基準にバリアントの値が設定されます。variant には、命令が実行されるときにアクセスされるプログラムのバリアント名を格納している文字型データオブジェクトを指定しなければなりません。バリアントが存在しないと、エラーメッセージが送信されます。バリアントが別の選択画面に属する場合、バリアントは無視されます。

補足説明

ABAP ワークベンチで、またはプログラムを実行中に選択画面上でジャンプ - バリアントを選択して、選択画面が定義されたどのプログラムのバリアントも登録および管理することができます。

オプション 2

... USING SELECTION-SETS OF PROGRAM prog

機能

このオプションを指定すると、アクセスされるプログラムでプログラム prog のバリアントが使用されます。prog には、命令が実行されるときにプログラム名称を格納している文字型データオブジェクトを指定しなければなりません。このオプションの機能は以下のとおりです。

バリアント variant を USING SELECTION-SET と共に指定すると、このバリアントがプログラム prog で検索されます。

VIA SELECTION-SCREEN を用いて選択画面を表示する場合、プログラム prog のバリアントは、メニューパスジャンプ - バリアントによってアクセスできるすべての機能の影響を受けます。ただし、それらの機能が有効なのは、prog が実行可能プログラムである場合だけです。

補足説明

プログラム prog の選択画面には、アクセスされるプログラムで使用される選択画面と同じパラメータと選択基準が存在するようにしてください。

オプション 3

... WITH SELECTION-TABLE rspar

機能

このオプションを指定すると、選択画面のパラメータと選択基準が内部テーブル rspar から取得されます。rspar には行データ型 RSPARAMS の内部テーブルを指定しなければなりません。構造化データ型 RSPARAMS は ABAP ディクショナリで定義されており、以下のコンポーネントがあります。コンポーネントはすべてデータ型 CHAR です。

SELNAME (長さ 8)

KIND (長さ 1)

SIGN (長さ 1)

OPTION (長さ 2)

LOW (長さ 45)

HIGH (長さ 45)

選択画面のパラメータと選択基準に固有値を設定するには、内部テーブル rspar の行に以下の値を格納しなければなりません。

SELNAME には、選択画面のパラメータまたは選択基準の名称を大文字で格納しなければなりません。

KIND には、選択画面コンポーネントのタイプを格納しなければなりません (パラメータを表す P、選択基準を表す S)

SIGN、OPTION、LOW、および HIGH には、選択基準と同名の選択テーブル列に指定する値を格納しなければなりません。パラメータの場合、値は LOW で指定しなければならず、その他のコンポーネントは無視されます。

ある選択基準の名称が rspar の複数個所にあると、複数行を持つ選択テーブルが定義され、選択基準に渡されます。パラメータ名が複数個所にあると、最後の値がパラメータに渡されます。
汎用モジュール RS_REFRESH_FROM_SELECTOPTIONS によって、現在のプログラムのパラメータまたは選択テーブルの内容をテーブルに入力することができます。

補足説明

選択テーブルとは異なり、テーブル rspar にあるコンポーネント LOW および HIGH のデータ型は常に CHAR 型であり、必要なら転送時にパラメータまたは選択基準の型に変換されます。

値を入力する際、必ず ABAP 値の内部書式で入力し、画面表示の出力書式では入力しないでください。

オプション 4

... WITH expr_syntax1 WITH expr_syntax2 ...

機能

選択画面のパラメータまたは選択基準に値が個別に設定されます。パラメータには単一値が渡され、選択基準には選択テーブルが渡されます。これらの値によって、アクセスされるプログラムですでに指定された値が上書きされます。転送される選択テーブルは、同じ選択基準 sel を指定するすべての WITH sel オプションから構成されます。expr_syntax には以下の命令を指定することができます。ここではパラメータまたは選択基準の名称を sel に直接指定する必要があります。

sel {EQ|NE|CP|NP|GT|GE|LT|LE} dobj [SIGN sign]
単一値が転送されます。
dobj の前にある演算子は選択テーブルの OPTION 列に指定する値に相当します。dobj には、選択画面コンポーネント sel のデータ型に変換可能なデータ型のデータオブジェクトを指定しなければなりません。sign には、文字型項目を指定することができ、この項目には 'I' または 'E' を格納しなければなりません。標準値は 'I' です。
sel が選択基準だと、転送される選択テーブルに 1 行が追加され、演算子が OPTION 列に、dobj の内容がLOW 列に、sign の内容が SIGN 列に格納されます。
sel がパラメータだと、アクセスされるプログラムでの dobj の値に設定されます。演算子やおよび sign の値は考慮されません。

sel [NOT] BETWEEN dobj1 AND dobj2 [SIGN sign]
範囲が転送されます。
この場合、sel は選択基準でなければなりません。dobj には、選択基準 sel の列 LOW および HIGH のデータ型に変換可能なデータ型のデータオブジェクトを指定しなければなりません。sign には、文字型項目を指定することができ、この項目には 'I' または 'E' を格納しなければなりません。標準値は 'I' です。
転送される選択テーブルに 1 行が追加されます。NOT を指定すると、値 'NB' が列 OPTION に格納されます。指定しないと、入力される値は 'BT' です。dobj の内容とsign の内容が列 LOW、HIGH、および SIGN に格納されます。

sel IN rtab
RANGES テーブルが転送されます。
この場合、sel は選択基準でなければなりません。rtab には、選択基準 sel に対する選択テーブルと同じ構造の内部テーブルを指定しなければなりません。この種のテーブルを登録するには、命令 TYPES および DATA のオプション RANGE OF を使用することができます。
転送される選択テーブルにテーブル rtab の行が追加されます。

expr_syntax オプションを複数回指定することができ、同じ選択画面コンポーネントを複数回指定することもできます。

補足説明

演算子 EQ の代わりに = または INCL を使用することもできます。

値を入力する際、必ず画面表示の出力書式でなく ABAP 値の内部書式にしてください。

プログラム report1 に Dynpro 番号 1100 の独立選択画面があります。プログラム report2 で、行データ型 RSPARAMS 内部テーブルと RANGES テーブルにこの選択画面用の値を入力します。SUBMIT のとき、これらのテーブルが単一条件と共に転送されます。

アクセスされるプログラム

REPORT report1.

DATA text TYPE c LENGTH 10.

SELECTION-SCREEN BEGIN OF SCREEN 1100.
  SELECT-OPTIONS: selcrit1 FOR text,
                  selcrit2 FOR text.
SELECTION-SCREEN END OF SCREEN 1100.

...

呼出元プログラム

REPORT report2.

DATA: text       TYPE c LENGTH 10,
      rspar_tab  TYPE TABLE OF rsparams,
      rspar_line LIKE LINE OF rspar_tab,
      range_tab  LIKE RANGE OF text,
      range_line LIKE LINE OF range_tab.

...

rspar_line-selname = 'SELCRIT1'.
rspar_line-kind    = 'S'.
rspar_line-sign    = 'I'.
rspar_line-option  = 'EQ'.
rspar_line-low     = 'ABAP'.
APPEND rspar_line TO rspar_tab.

range_line-sign   = 'E'.
range_line-option = 'EQ'.
range_line-low    = 'H'.
APPEND range_line TO range_tab.

range_line-sign   = 'E'.
range_line-option = 'EQ'.
range_line-low    = 'K'.
APPEND range_line TO range_tab.

SUBMIT report1 USING SELECTION-SCREEN '1100'
               WITH SELECTION-TABLE rspar_tab
               WITH selcrit2 BETWEEN 'H' AND 'K'
               WITH selcrit2 IN range_tab
               AND RETURN.

結果
report1 が report2 からアクセスされた後、アクセスされるプログラムでの選択基準 selcrit1 および selcrit2 に対する選択テーブルには以下のエントリが格納されています。

SIGN OPTION LOW HIGH
selcrit1 I EQ ABAP  
selcrit2 I BT H K
selcrit2 E EQ H  
selcrit2 E EQ K

オプション 5

... WITH FREE SELECTIONS texpr

機能

論理データベースの選択画面用の動的選択に値が設定されます。アクセスされるプログラムは、動的選択をサポートする論理データベースにリンクしていなければなりません。texpr はデータ型グループ RSDS に属する型 RSDS_TEXPR の内部テーブルでなければなりません。
texpr では動的選択の選択が内部書式 (逆ポーランド記法) で指定されます。呼出元プログラムで texpr に入力するには、汎用グループ SSEL に属する汎用モジュール FREE_SELECTIONS_INIT、FREE_SELECTIONS_DIALOG、および FREE_SELECTIONS_RANGE_2_EX を使用することができます。最初の 2 つの汎用モジュールではユーザダイアログが実行されますが、FREE_SELECTIONS_RANGE_2_EX には型 RSDS_TRANGE の内部テーブルにある動的選択の各ノードに対する RANGES テーブルを転送することができます。すると RANGES テーブルが行データ型 RSDS_TEXPR のテーブルに変換されます。同じ動的選択がある選択画面が呼出元プログラムにある場合、汎用モジュール RS_REFRESH_FROM_DYNAMICAL_SEL を使用して、あらかじめ動的選択の内容を RSDS_TRANGE 型のテーブルに転送することができます。
内部テーブルデータ型 RSDS_TRANGE の行には、各ノードを表すフラットなコンポーネント TABLENAME、およびノードにある項目を表す型 RSDS_FRANGE_T のテーブル型コンポーネント FRANGE_T があります。RSDS_FRANGE_T の 行には、各項目を表すフラットなコンポーネント FIELDNAME、および ABAP ディクショナリに由来する行データ型 RSDSSELOPT のテーブル型コンポーネント SELOPT_T があります。RSDSSELOPT には 4 つのコンポーネント SIGN、OPTION、LOW、および HIGH があり、RANGES テーブルも対象にすることができます。

プログラム report1 が論理データベース F1Sにリンクしており、この論理データベースではノード SPFLI の動的選択がサポートされています。プログラム report2 では、ノード SPFLI の項目 CONNID に対する選択条件を使用して、ネストされた rsds_trange 型の内部テーブルに条件を入力します。その後、この内部テーブルが rsds_texpr 型のテーブルに変換され、 SUBMIT の時点で転送されます。

アクセスされるプログラム

REPORT report1.

NODES: spfli, sflight, sbook.

...

呼出元プログラム

REPORT report2.

TYPE-POOLS rsds.

DATA: trange TYPE rsds_trange,
      trange_line
        LIKE LINE OF trange,
      trange_frange_t_line
        LIKE LINE OF trange_line-frange_t,
      trange_frange_t_selopt_t_line
        LIKE LINE OF trange_frange_t_line-selopt_t,
      texpr TYPE rsds_texpr.

trange_line-tablename = 'SPFLI'.
trange_frange_t_line-fieldname = 'CONNID'.
trange_frange_t_selopt_t_line-sign   = 'I'.
trange_frange_t_selopt_t_line-option = 'BT'.
trange_frange_t_selopt_t_line-low    = '0200'.
trange_frange_t_selopt_t_line-high   = '0800'.
APPEND trange_frange_t_selopt_t_line
  TO trange_frange_t_line-selopt_t.
trange_frange_t_selopt_t_line-sign   = 'I'.
trange_frange_t_selopt_t_line-option = 'NE'.
trange_frange_t_selopt_t_line-low    = '0400'.
APPEND trange_frange_t_selopt_t_line
  TO trange_frange_t_line-selopt_t.
APPEND trange_frange_t_line TO trange_line-frange_t.
APPEND trange_line TO trange.

CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'
  EXPORTING
    field_ranges = trange
  IMPORTING
    expressions  = texpr.

SUBMIT report1 VIA SELECTION-SCREEN
               WITH FREE SELECTIONS texpr.

SUBMIT - selscreen_parameters相关推荐

  1. javascript中FORM表单的submit()方法经验教训.

    @author    songfeng             因为JS内对象的方法实际上是存储语句的一个类似于指针的东西. 其指向了内存的一个位置, 也就是其函数的位置,当然也可以让其指向一个变量值 ...

  2. Java线程池中submit()和execute()方法有什么区别

    两个方法都可以向线程池提交任务,execute()方法的返回类型是void,它定义在Executor接口中,而submit()方法返回有计算结构的Future对象,它定义在ExecutorServic ...

  3. ABAP:SUBMIT执行其他报表并返回的数据

    https://blog.csdn.net/m0_37062693/article/details/75050216 有些情况我们需要取一些标准报表的数据,如果自己重写比较复杂,用SUBMIT - A ...

  4. Java 线程池submit和execute

    submit方法: public abstract class AbstractExecutorService implements ExecutorService {protected <T& ...

  5. document.getElementById()和document.forms[0].submit()

    下午,做一个jsp文件,涉及到document.getElementById()以及document.forms[0].submit()的使用,折腾了好长时间. 1.document.getEleme ...

  6. form submit firefox not working

    2019独角兽企业重金招聘Python工程师标准>>> #form submit firefox not working javascript里面实现不来,试过createEleme ...

  7. jquery.validate不用submit而用js提交的例子

    $("#form").validate(); $("#btn).click(function(){if($("#form").valid()){$(& ...

  8. Ext.Ajax.request和formPanel.getForm().submit()两种提交方法的异同:

    Ext.Ajax.request和formPanel.getForm().submit()两种提交方法的异同: 1. 相同点: a) 都是使用异步提交的方式: b) 默认都是使用POST方式来提交数据 ...

  9. 慎用jQuery中的submit()方法

    今天在做项目的过程中用到了submit()提交表单. 折腾许久很是郁闷,经过多方资料查询和亲测后,得出结论: 一定要慎用submit()方法 首先,在form表单中一定不要将input中的name或i ...

最新文章

  1. 研究微信即时通讯的服务端、朋友圈、红包、推送等方案
  2. GAIR 2020 工业互联网专场演讲实录:腾讯云人工智能在工业互联网领域的实践
  3. resnet 25 训练人脸识别
  4. ES6——Class 笔记
  5. word中如何优雅的显示代码
  6. 掘金 Markdown 语法手册
  7. php常用的优化手段
  8. 【Unity3D读取数据】(三)Xml文件操作(创建、读取、写入、修改)
  9. 图书信息管理系统设计与实现c语言,图书信息管理系统设计(c语言)
  10. VC 6.0下载 VC 6.0英文版下载 Visual C++ 6.0 英文企业版 集成SP6完美版(最新更新地址,百度网盘)...
  11. react-jwchat,一个简单的web聊天组件
  12. java 读取rtf字节_JAVA读取RTF文档
  13. python爬虫和八爪鱼哪个快_python爬虫和八爪鱼哪个快
  14. 代码大全(第2版)_2021【公式大全3.0版】【(数一)第371页】【(数二)第283页】【(数三)第324页】【有关矩阵秩的重要结论】6)~...
  15. 阿里分布式事务Seata介绍
  16. 在html中如何画斜线,在CSS中绘制斜线
  17. 刀马旦计算机音乐,刀马旦 MIDI File Download :: MidiShow
  18. 表格头固定而列可滚动的效果
  19. 空洞卷积atrous/dilated convolution
  20. OpenGL中的颜色混合功能(一)

热门文章

  1. (十)Java B2B2C o2o多用户商城 springcloud架构- SSO单点登录之OAuth2.0登录认证(1)
  2. 【贪心】【字典树】Gym - 101466A - Gaby And Addition
  3. PHP问题 —— It is not safe to rely on the system's
  4. 构建javaweb项目
  5. 设计上如何避免EMC问题
  6. 介绍一个可以把东西传到LINUX下的FTP客户端
  7. 利用系统提供的崩溃日志解Native层Bug
  8. (WPF, MVVM) Event 处理
  9. Java循环中删除一个列表元素
  10. 《从零开始学Swift》学习笔记(Day 42)——构造函数调用规则