• ABAP技术总结2022.8.30(ALV和smart forms)


    abap中 type 与 like 的区别

    TYPE 后面跟随的只能是某种类, 而LIKE 后面可以跟实例对象,参照结构体对象生成内表时
    只能用LIKE ,不能用 TYPE ,因为结构体对象不是类型,只是一种实例对象,参照结构类型生成
    内表时可以用LIKE也可以用TYPE ,其中通过LIKE定义的内表直接拥有参照结构类型的元素结构,而通过
    TYPE定义的内表只能间接拥有被参照结构类型的元素结构,结构类型不能作为内表的工作区,只有结构体对象才可以。

    Layout 重要字段

    zebra(1) type c , "striped pattern 斑马线显示,颜色隔行交替显示
    edit(1) type c , " for grid only ALV 可否编辑,注意只对Grid 模式有效,对List模式无效
    f2code like sy-ucomm, "gs_layout-f2code = ‘&ETA’ 双击时触发的Funcode,这里为弹出详情窗口
    colwidth_optimize(1) type c, "ALV网格(单元格)宽度设置为自动最优化,按 输出内容宽度自动调整
    key_hotspot(1) type c, " keys as hotspot " 设置关键字段是否是热点,可单击

    FIELDCATALOG重要字段

    key(1) type c , " column with key-color 指定字段是否是关键字段,如果是则单元格显示的颜色会不同,并会靠前显示
    col_pos like sy_cucol, "position of the column 列的输出位置字段在表中第几列
    fieldname type slis_fieldname, "针对输出内表哪列进行设置,只有设置了的列才会显示,如果没有设置,则不会显示在ALV中。
    lzero(1) type c, " 为X时输出前导零
    no_sign(1) type c, " 不显示数字符号
    no_zero(1)type c, "只输出有意义的值,空值不输出。为X时全为零(如:00000)时不输出,所以不输出零时应该最好同时设置lzero = sapce与no_zero = X,相反如果要输出,则应同时设置lzero = X 与no_zero = space

    CLEAR ,REFRESH ,FREE

    内表:如果使用有表头行的内表 ,CLEAR 仅清除表格工作区域。 要重置整个内表而不清除表格工作区域,使用REFRESH语句或者CLEAR[] ; REFRESH 加不加中括号都是只清内表,另外REFRESH是专门为清除内表的,不能清基本类型变量,但CLEAR可以,以上都不会释放掉内表所占用的空间,如果想初始化内表的同时还要释放掉所占用的空间,应该使用FREE

    动态SQL

    SELECT (column) FROM …
    column: 可以是内表,也可以是字符串
    TYPES: line_type type c length 72.
    DATA: column type table of line_type.
    append ‘carrid’ to column
    append 'cityfrom cityto ’ to column

    select … from database
    parameters: p_cityfr type spfli-cityfrom,
    p_cityto type spfli-cityto.

    DATA: BEGIN OF wa,
    fldate type sflight-fldate,
    carrname type scarr-carrname,
    connid type spfli-connid,
    END OF wa.
    DATA itab LIKE SORTED TABLE OF wa
    WITH UNIQUE KEY fldate carrname connid.
    DATA: column type string,
    dbtab type string.
    column = c~carrname
    p~connid
    f~fldate
    database = ((scarr as c
    & inner join spfli as p on p~carrid = c ~carrid
    and p~cityfrom = p_cityfr
    and p~cityto = p_cityto
    inner join sflight as f on f~carrid = p ~carrid
    and f~connid = p ~ connid).
    select column from database
    into corresponding fields of table itab.

  • 相关阅读:
    字符串思维题练习 DAY1(CF691B , CF706C , CF1555D)
    【698. 划分为k个相等的子集】
    (Java)数据类型与变量
    【大数据】Flink SQL 语法篇(四):Group 聚合、Over 聚合
    [附源码]java毕业设计家政管理系统
    Java进阶知识
    (web前端网页制作课作业)使用HTML+CSS制作非物质文化遗产专题网页设计与实现
    9.18算法
    美创科技与南京大数据安全技术有限公司达成战略合作
    风光储一体化园区 | 图扑新能源可视化
  • 原文地址:https://blog.csdn.net/weixin_43847969/article/details/126604724