首页 > 其他分享 >ABAP PARAMETERS 功能及用法

ABAP PARAMETERS 功能及用法

时间:2024-03-22 17:29:50浏览次数:19  
标签:F4 PARAMETERS SCREEN VALUE 用法 ABAP VALUES TYPE

前言

千篇一律,实用最要紧。

PARAMETERS 可用于文本输入,单选/复选框,与SELECT-OPTIONS 不同的是,PARAMETERS 只能用于单个输入。

功能实例

PARAMETERS:
P_CARRID TYPE C DEFAULT '1'," DEFAULT 默认值
P_CONNID TYPE MARA-MATNR MEMORY ID MAB,"'MEMORY ID' 将PARAMETERS存储在SAP内存,参数名长度不能超过三位。
P_DATE   TYPE SY-DATUM,
P_QTY    TYPE P DECIMALS 3,"定义小数位
P_AIRPFR TYPE SPFLI-AIRPFROM LOWER CASE. "输入值中不允许输入小写字符,否则会自动转换为大写。

SELECTION-SCREEN SKIP."空行
PARAMETERS:P_1 TYPE C AS CHECKBOX DEFAULT 'X'.

PARAMETERS:C_1 RADIOBUTTON GROUP GR1 DEFAULT 'X',
           C_2 RADIOBUTTON GROUP GR1.

隐藏实例

PARAMETERS:P_1 TYPE C AS CHECKBOX DEFAULT 'X' USER-COMMAND SINGLECLICK.

PARAMETERS:C_1 RADIOBUTTON GROUP GR1 DEFAULT 'X',
           C_2 RADIOBUTTON GROUP GR1.

SELECT-OPTIONS:
P_COUNTR FOR SPFLI-CARRID MODIF ID MAB.

*初始化列宽
INITIALIZATION.

 AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    CASE SCREEN-GROUP1.
      WHEN 'MAB'.
        IF P_1 = 'X'.
          SCREEN-ACTIVE = '1'.
        ELSE.
          SCREEN-ACTIVE = '0'.
        ENDIF.
    ENDCASE.

    IF SCREEN-NAME = 'C_1' OR SCREEN-NAME = 'C_2'.
      IF P_1 = 'X'.
        SCREEN-ACTIVE = '1'.
      ELSE.
        SCREEN-ACTIVE = '0'.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

下拉框实例

TYPE-POOLS: VRM.
DATA INIT.
DATA: NAME TYPE VRM_ID,
      LIST TYPE VRM_VALUES,
      VALUE LIKE LINE OF LIST.
DATA VALUES TYPE VRM_VALUES WITH HEADER LINE.

PARAMETERS: P_STATU(15) AS LISTBOX VISIBLE LENGTH 15 .
PARAMETERS: P_CUUR(16)  AS LISTBOX VISIBLE LENGTH 16.

*初始化列宽
INITIALIZATION.

AT SELECTION-SCREEN OUTPUT.
  "方法1.
  NAME = 'P_STATU'.
  VALUE-KEY = '1'.
  VALUE-TEXT = 'CB BANK'.
  APPEND VALUE TO LIST.

  VALUE-KEY = '2'.
  VALUE-TEXT = 'CAT'.
  APPEND VALUE TO LIST.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = NAME
      VALUES = LIST.

  "方法2
  VALUES-KEY = 'CHINESE'.
  APPEND VALUES.
  VALUES-KEY = 'AMERICAN'.
  APPEND VALUES.
  IF INIT IS INITIAL.
    CALL FUNCTION 'VRM_SET_VALUES'
      EXPORTING
        ID              = 'P_CUUR'
        VALUES          = VALUES[]
      EXCEPTIONS
        ID_ILLEGAL_NAME = 1
        OTHERS          = 2.
  ENDIF.
  INIT = 'X'.

F4实例


DATA: BEGIN OF T_F4 OCCURS 0 ,
   ID   TYPE SPFLI-CARRID,
   NAME TYPE SPFLI-CARRID,
  END OF T_F4.
TYPES:BEGIN OF SVALUE,
  VALUE TYPE C LENGTH 10,
  END OF SVALUE.

PARAMETERS:P_VALUE TYPE SVALUE-VALUE .

*初始化列宽
INITIALIZATION.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VALUE.
PERFORM FRM_F4_HELP.

FORM FRM_F4_HELP .
DATA: DN TYPE HELP_INFO-DYNPROFLD,FID(20) TYPE C.

  GET CURSOR FIELD FID ."不加这句可以没效
  DN = FID.

  CLEAR T_F4.REFRESH T_F4.
  T_F4-ID = '1'.
  T_F4-NAME = '纸皮'.
  APPEND T_F4.

  T_F4-ID = '2'.
  T_F4-NAME = '水杯'.
  APPEND T_F4.
  SORT T_F4 BY ID.
  READ TABLE T_F4 INDEX 1.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD         = 'ID'            "表格要显示的字段
      DYNPPROG         = SY-REPID        "返回才程序
      DYNPNR           = SY-DYNNR        "屏幕
      VALUE_ORG        = 'S'             "显示类型
      DYNPROFIELD      = DN              "返回的输入框名
      CALLBACK_PROGRAM = SY-REPID
    TABLES
      VALUE_TAB        = T_F4            "传进去的表格 帮助的内表
    EXCEPTIONS
      PARAMETER_ERROR  = 1
      NO_VALUES_FOUND  = 2
      OTHERS           = 3.

  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM. 

总结

本次介绍了 PARAMETERS 的功能实例,SCREEN 隐藏实例,下拉框实例,F4 实例 。若有疑问或错误,请到评论区留言,谢谢!

标签:F4,PARAMETERS,SCREEN,VALUE,用法,ABAP,VALUES,TYPE
From: https://blog.csdn.net/ggl112233/article/details/136943209

相关文章

  • Shell 中 $ 关于脚本参数的几种用法
    基本语法$n   (功能描述:n为数字,$0代表该脚本名称,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})$#   (功能描述:获取所有输入参数个数,常用于循环)。$*   (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)$@ (功能描......
  • C++ Stacks(堆栈) 和 Queues(队列)的基本用法
    一、栈1.栈的定义        栈(stack)是限定仅在表的一端进行插入和删除操作的线性表,允许插入和删除的一端称为栈顶(stacktop),另一端称为栈底(stackbottom),不含任何数据元素的栈称为空栈。        如图1-1所示,栈中有三个元素,插入元素(也称为入栈、进栈、压......
  • 【前端面试题-07】typescript 内置类型有哪些,分别简单介绍下用法
    TypeScript提供了一系列内置类型,这些类型有助于编写类型安全的代码。以下是TypeScript中一些重要的内置类型及其用途的简介:基本类型:boolean:表示布尔值,只有两种可能的值true或false。number:表示任何数值,包括整数和浮点数。string:表示文本字符串。bigint(ES2020):表示......
  • go 网络包用法
    获取网卡IPv4地址packagemainimport( "fmt" "net")funcmain(){ ifname:="ens33" netIf,err:=net.InterfaceByName(ifname) iferr!=nil{ fmt.Printf("getnetIfbyname%sfailed,erris%v\n",ifname,err)......
  • GPG 用法
    GPG(GnuPG)是一种加密工具,用于数据加密和数字签名。密钥配置#生成密钥gpg--full-generate-key#列出密钥gpg--list-keys#列出公钥gpg--list-secret-keys#列出私钥#导出密钥gpg--armor--export[email/ID]>public.asc#导出公钥gpg--export-secret-......
  • C语言中的printf和sprintf的用法及区别
    sprintf函数是C语言中用于格式化输出到字符串的函数。它的原型如下:intsprintf(char*buffer,constchar*format,[argument]…);str:指向存储输出结果的字符数组的指针。format:格式化字符串,包含要输出的文本和格式说明符。[argument]:可变参数列表,用于提供要插入格式化......
  • 正则表达式具体用法大全
     #正则表达式:##单字符匹配:```python#匹配某个字符串:#text="abc"#ret=re.match('b',text)#print(ret.group())#点(.):匹配任意的字符(除了'\n'):#text="\nabc"#ret=re.match('.',text)#print(ret.group())#\d:匹......
  • docker 的常见用法
      #docker安装mysqlsudodockerpullmysql:5.7#docker启动mysqlsudodockerrun-p3306:3306--namemysql\-v/mydata/mysql/log:/var/log/mysql\-v/mydata/mysql/data:/var/lib/mysql\-v/mydata/mysql/conf:/etc/mysql\-eMYSQL_ROOT_PASSWORD=root\-dmysql......
  • ThreadLocal详解及用法示例
    ThreadLocal概念ThreadLocal 是Java并发包(java.util.concurrent)中提供的一个类,它的主要作用是在多线程环境下为每个线程提供一个独立的变量副本,使得每个线程在访问 ThreadLocal 时获取到的都是自己的私有变量,而不是共享的同一个变量。换句话说,ThreadLocal 能够隔离线程间......
  • fileinputstream的主要用法
    importjava.io.*;publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{//字节流读数据//FileInputStreamfileInputStream=newFileInputStream("C:\\\\Users\\\\31339\\\\Desktop\\\\新建文件夹(7)\\\......