博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ABAP 动态内表 动态ALV
阅读量:4509 次
发布时间:2019-06-08

本文共 2638 字,大约阅读时间需要 8 分钟。

DATA: DY_TABLE TYPE REF TO DATA,        DY_WA    TYPE REF TO DATA.  FIELD-SYMBOLS: 
TYPE TABLE, "是一个标志,可以理解为一个指针,将来创建的内表就要通过它们来访问
TYPE ANY,
TYPE ANY.
DATA: L_SCRFNAME  TYPE SCRFNAME,        LS_LAYOUT   TYPE LVC_S_LAYO,        LT_FIELDCAT TYPE LVC_T_FCAT,        LT_EXCLUDE  TYPE UI_FUNCTIONS.
*  此方法用于构建动态内表,输入=构建的结构,输出=dy_table  CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE    EXPORTING      IT_FIELDCATALOG = LT_FIELDCAT    IMPORTING      EP_TABLE        = DY_TABLE.  ASSIGN DY_TABLE->* TO 
. CREATE DATA DY_WA LIKE LINE OF
. ASSIGN DY_WA->* TO
. DATA FIELDNAME(20). SORT IT_DAT_KY[] BY MATNR. LOOP AT IT_DAT_KY. "这里把日期类型定义为char型,因为用DATS报错。 FIELDNAME = IT_DAT_KY-DATUM. ASSIGN COMPONENT FIELDNAME OF STRUCTURE
TO
.
= IT_DAT_KY-MENGE. ASSIGN COMPONENT 'MGSUM' OF STRUCTURE
TO
.
=
+ IT_DAT_KY-MENGE. AT END OF MATNR. "分配结构里的物料号,用FS字段 指向它 ASSIGN COMPONENT 'MATNR' OF STRUCTURE
TO
.
= IT_DAT_KY-MATNR. ASSIGN COMPONENT 'MAKTX' OF STRUCTURE
TO
. SELECT SINGLE MAKTX INTO @DATA(L_MAKTX) FROM MAKT WHERE MATNR = @IT_DAT_KY-MATNR AND SPRAS = @SY-LANGU.
= L_MAKTX. APPEND
TO
. CLEAR
. ENDAT. ENDLOOP.
*& 102  DEFINE  FCAT.    CLEAR : LS_FIELDCAT.    LS_FIELDCAT-FIELDNAME = &1.    LS_FIELDCAT-COLTEXT   = &2.    LS_FIELDCAT-SELTEXT   = &2.    LS_FIELDCAT-SCRTEXT_L = &2.    LS_FIELDCAT-INTLEN    = &3.    LS_FIELDCAT-INTTYPE = 'C'.    LS_FIELDCAT-OUTPUTLEN  = 10.    IF &1 = 'MATNR'.      LS_FIELDCAT-KEY = 'X'.      LS_FIELDCAT-REF_TABLE = 'MARA'.      LS_FIELDCAT-REF_FIELD = 'MATNR'.    ENDIF.    IF &1 = 'MAKTX'.      LS_FIELDCAT-KEY = 'X'.      LS_FIELDCAT-OUTPUTLEN  = 20.    ENDIF.    IF &1 = 'MGSUM'.      LS_FIELDCAT-JUST  = 'R' .      LS_FIELDCAT-EMPHASIZE = 'C310' .    ENDIF.    APPEND LS_FIELDCAT TO P_LT_FIELDCAT.  END-OF-DEFINITION.    CLEAR P_LS_LAYOUT.    P_LS_LAYOUT-BOX_FNAME  = 'SEL'.    P_LS_LAYOUT-ZEBRA      = 'X'.    CLEAR   P_LT_FIELDCAT.    LS_FIELDCAT-CHECKBOX  = 'X'.    LS_FIELDCAT-FIELDNAME = 'SEL'.    LS_FIELDCAT-SCRTEXT_L = '选择'.    LS_FIELDCAT-NO_OUT    = 'X'.    LS_FIELDCAT-EDIT      = 'X'.    APPEND LS_FIELDCAT TO P_LT_FIELDCAT.    SORT TDATE[].    LOOP AT TDATE.      CLEAR L_DATUM.      CALL FUNCTION 'FORMAT_DATE_4_OUTPUT'        EXPORTING          DATIN         = TDATE          FORMAT        = 'YYYY.MM.DD'        IMPORTING          DATEX         = L_DATUM .      FCAT TDATE L_DATUM '20'.    ENDLOOP.

 

转载于:https://www.cnblogs.com/mingdashu/p/7489848.html

你可能感兴趣的文章
使用x64dbg分析微信聊天函数并实现发信息
查看>>
robotframework-selenium2library各个版本
查看>>
插入排序
查看>>
LeetCode全文解锁 √
查看>>
[BZOJ 1566] 管道取珠
查看>>
[Codeforces 1060F] Shrinking Tree
查看>>
Winfrom 桌面弹窗拦截 关闭进程简易程序 源代码下载
查看>>
NGUI Atlas Panel和Depth的关系
查看>>
推荐一些相见恨晚的 Python 库 「一」
查看>>
POJ 1062 昂贵的聘礼 (带限制的最短路)
查看>>
TCP协议、UDP协议、端口、套接字
查看>>
设计模式之——单例模式
查看>>
Linux下vim上编辑实现进度条
查看>>
ubuntu 设置plank开机自启之后关机键失效变为注销键
查看>>
JS--我发现,原来你是这样的JS(三)(基础概念--灵魂篇)
查看>>
手指滑动切换手机图片
查看>>
解决Oracle EM无法启动
查看>>
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
查看>>
PHP 跨域资源共享 CORS 设定
查看>>
男神鹏:使用Redis 的一些 问题解决方案。
查看>>