SAP动态生成内表结构及其内容
来源:互联网 发布:ip代理软件免费 编辑:程序博客网 时间:2024/06/05 10:03
Code listing for: ZTEST
Description: test
*&---------------------------------------------------------------------**& Report ZTEST*&*&---------------------------------------------------------------------**& 动态ALV输出 DEMO*& 作者:侯志宇*& 日期:2009-4-9*&---------------------------------------------------------------------*report ZTEST.*--------alv专用变量定义区-----------data: G_REPID like SY-REPID,*----打印的参数控制 GS_PRINT type LVC_S_PRNT,*---布局结构 GS_LAYOUT type LVC_S_LAYO,*-----BCALVC_EVENT1_CONT1是ALV GRID CONTROL (ALV网格控制器)的名字 MYCONTAINER type SCRFNAME value 'BCALVC_EVENT1_CONT1',* reference to custom container: neccessary to bind ALV Control CUSTOM_CONTAINER type ref to CL_GUI_CUSTOM_CONTAINER,*-----ALV List Viewer GRID1 type ref to CL_GUI_ALV_GRID,*--- 存放字段目录的内表 GT_FIELDCAT type LVC_T_FCAT .data SAVE_OK like SY-UCOMM.data OK_CODE like SY-UCOMM.*---------动态变量定义区------------------------------data: GT_FCAT type LVC_T_FCAT, GH_FCAT like line of GT_FCAT.data: GT_DYN type ref to DATA.data: GH_LINE type ref to DATA.field-symbols: <FS_TABLE> type any table, <FS_LINE> type any, <FS_FIELD> type any.*-------生成动态表结构-----------------------------*--ALV字段样式*------如果是多个字段可以用LOOP循环来填充结构GH_FCAT-FIELDNAME = 'FLAG'.GH_FCAT-COLTEXT = '标识'.GH_FCAT-CHECKBOX = 'X'."复选框GH_FCAT-EDIT = 'X'."编辑状态append GH_FCAT to GT_FCAT.clear GH_FCAT.GH_FCAT-FIELDNAME = 'EBELN'.GH_FCAT-COLTEXT = '采购订单'.GH_FCAT-DO_SUM = 'X'.append GH_FCAT to GT_FCAT.clear GH_FCAT.GH_FCAT-FIELDNAME = 'EBELP'.GH_FCAT-COLTEXT = '采购订单行项目'.GH_FCAT-DO_SUM = 'X'.append GH_FCAT to GT_FCAT.clear GH_FCAT.call method CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE exporting IT_FIELDCATALOG = GT_FCAT importing EP_TABLE = GT_DYN.* Create a new Line with the same structure of the table*---生成表头信息assign GT_DYN->* to <FS_TABLE>.*---填充数据create data GH_LINE like line of <FS_TABLE>.*---生成表头信息assign GH_LINE->* to <FS_LINE>.*-------填充表数据--------------------*---如果变量中有多个字段,可以将component后面的值改成变量*--累加来实现多值填充"在用此句是component 2是指第二个字段assign component 2 of structure <FS_LINE> to <FS_FIELD>.<FS_FIELD> = '45000123'."在用此句是component 2是指第二个字段assign component 3 of structure <FS_LINE> to <FS_FIELD>.<FS_FIELD> = '0010'.insert <FS_LINE> into table <FS_TABLE>.assign component 2 of structure <FS_LINE> to <FS_FIELD>.<FS_FIELD> = '45000123'.assign component 3 of structure <FS_LINE> to <FS_FIELD>.<FS_FIELD> = '0020'.insert <FS_LINE> into table <FS_TABLE>.*--调用屏幕call screen 2000.*&---------------------------------------------------------------------**& Module CREATE_OBJECTS OUTPUT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*module CREATE_OBJECTS output. if CUSTOM_CONTAINER is initial. create object CUSTOM_CONTAINER exporting CONTAINER_NAME = 'ZALV'."指定控制面板名字 create object GRID1 exporting I_PARENT = CUSTOM_CONTAINER. endif.endmodule. " CREATE_OBJECTS OUTPUT*&---------------------------------------------------------------------**& Module TRANSFER_DATA OUTPUT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*module TRANSFER_DATA output. call method GRID1->SET_TABLE_FOR_FIRST_DISPLAY* exporting* I_STRUCTURE_NAME = 'SFLIGHT'"输出数据参考的数据字典的结构名,* IS_PRINT = GS_PRINT"表头* IS_LAYOUT = GS_LAYOUT "样式 changing IT_OUTTAB = <FS_TABLE> "输出内表值 IT_FIELDCATALOG = GT_FCAT."输出字段结构endmodule. " TRANSFER_DATA OUTPUT*&---------------------------------------------------------------------**& Module USER_COMMAND_2000 INPUT*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*module USER_COMMAND_2000 input. data: L_VALID type C.*----取得动态值专用变量 field-symbols:<FS_LINE3> type any, <FS_LINE4> type any.*--->取得复选框信息 call method GRID1->CHECK_CHANGED_DATA importing E_VALID = L_VALID. OK_CODE = SY-UCOMM. case OK_CODE. when 'TC'. loop at <FS_TABLE> into <FS_LINE>. "取得FLAG的值 assign component 'FLAG' of structure <FS_LINE> to <FS_LINE3>. "取得EBELP的值 assign component 'EBELP' of structure <FS_LINE> to <FS_LINE4>. if <FS_LINE3> = 'X'."判断选中的当前行 message <FS_LINE4> type 'I'. endif. endloop. leave to screen 0. endcase.endmodule. " USER_COMMAND_2000 INPUT*Messages*----------------------------------------------------------*YPEExtracted by Direct Download Enterprise version 1.3 - E.G.Mellodew. 1998-2004 UK. Sap Release 700
屏幕:
****************************************************************
* This file was generated by Direct Download Enterprise. *
* Please do not change it manually. *
****************************************************************
%_DYNPRO
ZTEST
2000
700
40
%_HEADER
ZTEST 2000 2000 26120192 37 0 0 27120 0G 1 20090409140725
%_DESCRIPTION
动态输出ALV测试
%_FIELDS
TC CHAR 4 00 00 00 30 00 2 13 0 0 0 0 P 0 0 101 退出 TC
ZALV 120 00 00 00 30 00 5 2 0 0 0 22 U 1 1 102
OK_CODE CHAR 20 80 10 00 00 00 255 1 O 0 0 0 0 0 0 ____________________
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.
*---创建ALV OBJECT
module CREATE_OBJECTS.
*---输出ALV
module TRANSFER_DATA.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_2000.
- SAP动态生成内表结构及其内容
- Sap中动态内表的使用
- Sap中动态内表的使用
- ABAP读Excel文件内容到SAP内表
- SAP业务模块与表结构内容汇总
- sap-ABAP动态内表使用的例子
- 动态创建ACCESS数据库及其表结构
- ABAP结构体,内表动态创建
- chap5 生成动态内容
- 动态生成WORD内容
- sap 内表
- sap内表 table_LINE
- 动态内表,动态SQL,取表结构信息
- 动态内表,动态SQL,取表结构信息
- 动态内表,动态SQL,取表结构信息
- 动态内表,动态SQL,取表结构信息
- 内存中动态生成ClientDataSet表结构
- SAP ABAP ALV构建动态输出列与构建动态内表
- Android JNI开发进阶篇
- 用XFire的Eclipse Plugin生成web服务的客户端
- Android JNI开发高级篇
- 同时寻找最大数和最小数的最优算法
- VC++6.0 中使用CryptoAPI 编译不通过的处理
- SAP动态生成内表结构及其内容
- apache 访问日志的调用堆栈
- 常用的基本Windows数据类型
- 动态创建控件
- Win32汇编实现DLL的远程注入及卸载
- 栈
- Lotus Note C# 邮件发送总结
- 利用js实现网页定向
- Android LayoutInflater概述