




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ALV中动态内表+行转化为列-继续膜拜老白 转换为:REPORT z_barry_test_fieldsymols .TYPE-POOLS: slis.TABLES: mseg,mkpf.DATA: gd_fieldcat TYPE slis_t_fieldcat_alv.DATA: sla TYPE slis_layout_alv , ivariant LIKE disvariant, i_repid LIKE sy-repid , i_excluding TYPE slis_t_extab.TYPES: BEGIN OF ty_sum , werks LIKE mseg-werks , matnr LIKE mseg-matnr , lgort LIKE mseg-lgort , bwart LIKE mseg-bwart , menge LIKE mseg-menge , END OF ty_sum.DATA : itab TYPE STANDARD TABLE OF ty_sum WITH HEADER LINE .DATA : hs_sum TYPE HASHED TABLE OF ty_sum WITH UNIQUE KEY werks matnr lgort bwart WITH HEADER LINE .DATA : itab_sum TYPE STANDARD TABLE OF ty_sum WITH HEADER LINE .DATA: BEGIN OF itab_out OCCURS 0, werks LIKE mseg-werks , matnr LIKE mseg-matnr , lgort LIKE mseg-lgort , menge01 TYPE i , menge02 TYPE i , menge03 TYPE i , menge04 TYPE i , menge05 TYPE i , menge06 TYPE i , menge07 TYPE i , menge08 TYPE i , menge09 TYPE i , menge10 TYPE i , menge11 TYPE i , menge12 TYPE i , menge13 TYPE i , menge14 TYPE i , menge15 TYPE i , menge16 TYPE i , menge17 TYPE i , menge18 TYPE i , menge19 TYPE i , menge20 TYPE i , menge21 TYPE i , menge22 TYPE i , menge23 TYPE i , menge24 TYPE i , menge25 TYPE i , menge26 TYPE i , line_sum TYPE i , END OF itab_out.TYPES: BEGIN OF ty_bwart , bwart LIKE mseg-bwart , END OF ty_bwart.DATA : hs_bwart TYPE HASHED TABLE OF ty_bwart WITH UNIQUE KEY bwart WITH HEADER LINE .DATA : itab_bwart TYPE STANDARD TABLE OF ty_bwart WITH HEADER LINE .FIELD-SYMBOLS: , .DATA: max_count TYPE i .SELECT-OPTIONS: s_mblnr FOR mseg-mblnr , s_budat FOR mkpf-budat .PARAMETERS: p_sum AS CHECKBOX .START-OF-SELECTION.PERFORM getdata.PERFORM fixdata.IF p_sum = X. PERFORM outdata.ELSE. PERFORM outdata2.ENDIF.*&-*& Form GETDATA*&-*FORM getdata.SELECT werks matnr lgort bwart menge INTO TABLE itabFROM mkpf INNER JOIN mseg ON mkpfmblnr = msegmblnr AND mkpfmjahr = msegmjahrWHERE mkpfmblnr IN s_mblnr AND mkpfbudat IN s_budat .ENDFORM. GETDATA*&-*& Form FIXDATA*&-*FORM fixdata.DATA: index LIKE sy-tabix .LOOP AT itab. hs_sum = itab. COLLECT hs_sum. hs_bwart = itab-bwart . COLLECT hs_bwart.ENDLOOP.SORT hs_bwart.itab_bwart = hs_bwart.itab_sum = hs_sum.LOOP AT itab_sum. itab_out-werks = itab_sum-werks . itab_out-matnr = itab_sum-matnr . itab_out-lgort = itab_sum-lgort . READ TABLE itab_bwart WITH KEY bwart = itab_sum-bwart . index = sy-tabix + 3. ASSIGN COMPONENT index OF STRUCTURE itab_out TO . = itab_sum-menge. itab_out-line_sum = itab_sum-menge. COLLECT itab_out. CLEAR itab_out.ENDLOOP.ENDFORM. FIXDATA*&-*& Form outdata*&-*FORM outdata.PERFORM fieldcat_init .sla-colwidth_optimize = X.sla-zebra = X.i_repid = sy-repid.CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING i_callback_program = i_repid it_fieldcat = gd_fieldcat i_save = A is_variant = ivariant is_layout = sla it_excluding = i_excluding i_callback_user_command = USER_COMMAND TABLES t_outtab = itab_sum EXCEPTIONS program_error = 1 OTHERS = 2.ENDFORM. outdata*-* FORM fieldcat_init *-*FORM fieldcat_init .PERFORM frm_catlg_set USING: WERKS WERKS X , MATNR MATNR X , LGORT LGORT X , BWART BWART X , MENGE MENGE .ENDFORM. fieldcat_init*-* FORM frm_catlg_set *-*FORM frm_catlg_set USING p_field p_text p_key.DATA: ls_fieldcat TYPE slis_fieldcat_alv.ls_fieldcat-fieldname = p_field.ls_fieldcat-seltext_l = p_text.ls_fieldcat-key = p_key.IF p_field = LINE_SUM. ls_fieldcat-emphasize = C700.ENDIF.APPEND ls_fieldcat TO gd_fieldcat .CLEAR ls_fieldcat .ENDFORM. frm_catlg_set*&-*& Form user_command*&-*FORM user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.READ TABLE itab INDEX rs_selfield-tabindex.CASE r_ucomm. WHEN &IC1. 双击 WHEN EXIT. LEAVE PROGRAM.ENDCASE.rs_selfield-refresh = X. 自动刷新ENDFORM. user_com*-* FORM outdata2 *-*FORM outdata2.PERFORM fieldcat_init2 .sla-colwidth_optimize = X.sla-zebra = X.i_repid = sy-repid.CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING i_callback_program = i_repid it_fieldcat = gd_fieldcat i_save = A is_variant = ivariant is_layout = sla it_excluding = i_excluding i_callback_user_command = USER_COMMAND TABLES t_outtab = itab_out EXCEPTIONS program_error = 1 OTHERS = 2.ENDFORM. outdata*-* FORM fieldcat_init2 *-*FORM fieldcat_init2 .DATA: c(2) TYPE n , txt(20) TYPE c .PERFORM frm_catlg_set USING: WERKS WERKS X , MATNR MATNR X , LGORT LGORT X .LOOP AT hs_bwart . c = c + 1. CONCATENATE MENGE c INTO txt. PERFORM frm_catlg_set USING: txt hs_bwart-bwart .ENDLOOP.PERFORM frm_catlg_set USING: LINE_SUM SUM .ENDFORM. fieldcat_init使用指针动态生成内表的方法:REPORT z_barry_test_fieldsymols .TYPE-POOLS: slis.TABLES: mseg,mkpf.DATA: gd_fieldcat TYPE slis_t_fieldcat_alv.DATA: sla TYPE slis_layout_alv , ivariant LIKE disvariant, i_repid LIKE sy-repid , i_excluding TYPE slis_t_extab.TYPES: BEGIN OF ty_sum , werks LIKE mseg-werks , matnr LIKE mseg-matnr , lgort LIKE mseg-lgort , bwart LIKE mseg-bwart , menge LIKE mseg-menge , END OF ty_sum.DATA : itab TYPE STANDARD TABLE OF ty_sum WITH HEADER LINE .DATA : hs_sum TYPE HASHED TABLE OF ty_sum WITH UNIQUE KEY werks matnr lgort bwart WITH HEADER LINE .DATA : itab_sum TYPE STANDARD TABLE OF ty_sum WITH HEADER LINE .TYPES: BEGIN OF ty_bwart , bwart LIKE mseg-bwart , END OF ty_bwart.DATA : hs_bwart TYPE HASHED TABLE OF ty_bwart WITH UNIQUE KEY bwart WITH HEADER LINE .DATA : itab_bwart TYPE STANDARD TABLE OF ty_bwart WITH HEADER LINE .FIELD-SYMBOLS: , TYPE STANDARD TABLE , .DATA: max_count TYPE i , dy_out TYPE REF TO data , dy_out_wa TYPE REF TO data, xfc TYPE lvc_s_fcat, ifc TYPE lvc_t_fcat.DATA: c(2) TYPE n , txt(20) TYPE c .SELECT-OPTIONS: s_mblnr FOR mseg-mblnr , s_budat FOR mkpf-budat .PARAMETERS: p_sum AS CHECKBOX .START-OF-SELECTION.PERFORM getdata.PERFORM fixdata.IF p_sum = X. PERFORM outdata.ELSE. PERFORM outdata2.ENDIF.*&-*& Form GETDATA*&-*FORM getdata.SELECT werks matnr lgort bwart menge INTO TABLE itabFROM mkpf INNER JOIN mseg ON mkpfmblnr = msegmblnr AND mkpfmjahr = msegmjahrWHERE mkpfmblnr IN s_mblnr AND mkpfbudat IN s_budat .ENDFORM. GETDATA*&-*& Form FIXDATA*&-*FORM fixdata.DATA: index LIKE sy-tabix .LOOP AT itab. hs_sum = itab. COLLECT hs_sum. hs_bwart = itab-bwart . COLLECT hs_bwart.ENDLOOP.SORT hs_bwart.itab_bwart = hs_bwart.itab_sum = hs_sum.PERFORM creat_itab_out.LOOP AT itab_sum. ASSIGN COMPONENT WERKS OF STRUCTURE TO . = itab_sum-werks. ASSIGN COMPONENT MATNR OF STRUCTURE TO . = itab_sum-matnr. ASSIGN COMPONENT LGORT OF STRUCTURE TO . = itab_sum-lgort. READ TABLE itab_bwart WITH KEY bwart = itab_sum-bwart . index = sy-tabix + 3. ASSIGN COMPONENT index OF STRUCTURE TO . = itab_sum-menge. ASSIGN COMPONENT LINE_SUM OF STRUCTURE TO . = itab_sum-menge. COLLECT INTO . CLEAR .ENDLOOP.ENDFORM. FIXDATA*&-*& Form outdata*&-*FORM outdata.PERFORM fieldcat_init .sla-colwidth_optimize = X.sla-zebra = X.i_repid = sy-repid.CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING i_callback_program = i_repid it_fieldcat = gd_fieldcat i_save = A is_variant = ivariant is_layout = sla it_excluding = i_excluding* i_callback_user_command = USER_COMMAND TABLES t_outtab = itab_sum EXCEPTIONS program_error = 1 OTHERS = 2.ENDFORM. outdata*-* FORM fieldcat_init *-*FORM fieldcat_init .PERFORM frm_catlg_set USING: WERKS WERKS X , MATNR MATNR X , LGORT LGORT X , BWART BWART , MENGE MENGE .ENDFORM. fieldcat_init*-* FORM frm_catlg_set *-*FORM frm_catlg_set USING p_field p_text p_key.DATA: ls_fieldcat TYPE slis_fieldcat_alv.ls_fieldcat-fieldname = p_field.ls_fieldcat-seltext_l = p_text.ls_fieldcat-key = p_key.IF p_field = LINE_SUM. ls_fieldcat-emphasize = C700.ENDIF.APPEND ls_fieldcat TO gd_fieldcat .CLEAR ls_fieldcat .ENDFORM. frm_catlg_set*&-*& Form user_command*&-*FORM user_command USING r_ucomm LIKE sy-ucomm* rs_selfield TYPE slis_selfield.* READ TABLE itab INDEX rs_selfield-tabindex.* CASE r_ucomm.* WHEN &IC1. 双击* WHEN EXIT.* LEAVE PROGRAM.* ENDCASE.* rs_selfield-refresh = X. 自动刷新*ENDFORM. user_com*-* FORM outdata2 *-*FORM outdata2.PERFORM fieldcat_init2 .sla-colwidth_optimize = X.sla-zebra = X.i_repid = sy-repid.CALL FUNCTION REUSE_ALV_GRID_DISPLAY EXPORTING i_callback_program = i_repid it_fieldcat = gd_fieldcat i_save = A is_variant = ivariant is_layout = sla it_excluding = i_excluding TABLES t_outtab = EXCEPTIONS program_error = 1 OTHERS = 2.ENDFORM. outdata*-* FORM fieldcat_init2 *-*FORM fieldcat_init2 .CLEAR c .PERFORM frm_catlg_set USING: WERKS WERKS X ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智慧城市交通拥堵治理中的公共交通优先策略研究报告
- 高新技术行业智慧城市规划合同
- 2025海南三亚中心医院医疗集团急救站人员招聘(第2号)备考考试题库附答案解析
- 2025内蒙古鄂尔多斯伊金霍洛旗布连矿区消防救援大队招聘4人备考考试试题及答案解析
- 2025昆明市滇池管理局所属事业单位第二次引进高层次人才(1人)考试参考题库及答案解析
- 土地流转农户经营合同书
- 二手房买卖代理合同范本
- 吉水县吉湖物业服务有限公司面向社会公开招聘物业项目管理员、消防管理员备考考试题库附答案解析
- 农副产品线上销售与物流合作协议
- 2025临沧市云县教育体育系统公开选聘教职员工(65人)备考模拟试题及答案解析
- 麻醉质量控制专家共识
- 反走私课件完整版本
- 2024-2025学年小学劳动一年级上册人教版《劳动教育》教学设计合集
- You Raise Me Up二部合唱简谱
- 五年级开学第一课
- 雅思初级教程-unit-1-Great-places-to-be
- 心电监护仪的使用幻灯片
- 工厂设备拆除施工方案
- 《电力行业企业培训师能力标准与评价规范》
- 张掖简介介绍
- 数学的大发现:探索数学理论和发现的背后原理
评论
0/150
提交评论