点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嘿,我在将行转换为alv网格上的列时遇到一些问题,这是我的脚本,我需要将红色块显示转换为绿色块。 因此为1行。 谢谢be4。
报告ymolmr003。
TYPE-POOLS:slis。
表:mseg,qals,qamv,qasr。
DATA:l_vtsai(16)TYPE c,
lv_tsai TYPE字符串值'6,4209999999999994E + 01',< br> tsai TYPE字符串值',',
lv_tsai1 TYPE字符串值'。',
l_tsai TYPE f,
l_vbrix(16)TYPE c,
lv_brix TYPE字符串值'9 ,2340000000000003E + 01',
白利糖度TYPE字符串值',',
lv_brix1 TYPE字符串VALUE'。',
l_brix TYPE f,
l_vfs(16)TYPE c,
lv_fs TYPE字符串值'8,7599999999999994E + 01',
fs TYPE字符串值',',
lv_fs1 TYPE字符串值'。',
l_fs TYPE f。
TYPES: ty_fltp的开始,
l_vbrix(16)c类型,
l_vtsai(16)TYPE c,
l_vfs(16)c类型,
ty_fltp的结尾,
ty_mseg的开始 ,
否类型i,
l_vbrix(16)类型c,
l_vtsai(16)类型c,
l_vfs(16)类型c,
ktextmat类型qals-ktextmat,"材料描述
prueflos TYPE qals-prueflos,"检验批
matnr TYPE qals-matnr," Kode材料
enstehdat TYPE qals-enstehdat,"批量创建
art TYPE qals-art," Insp Type
bwart TYPE qals-bwart," Mvt Type
werk TYPE qals-werk," Plant
lagortvorg TYPE qals-lagortvorg," StorLoc.InspLotStock
merknr TYPE qasr-merknr,
lgort类型mseg-lgort,
mblnr类型mseg-mblnr,
umlgo类型mseg-umlgo,
shkzg类型mseg-shkzg,
* merknr类型qamv-merknr,
* verwmerkm TYPE qamv-verwmerkm,
mittelwert TYPE qasr-mittelwert,
mittelwert10 TYPE qasr-mittelwert,
mittelwert20 TYPE qasr-mittelwert,
mittelwert30 TYPE qasr-mittelwert 类型qasr-mittelwert,
ty_mseg的结尾。
数据:it_mseg ty_mseg的类型表,
wa_mseg类型ty_mseg的表,
wa_qasr类型qasr的表,
matnr类型qals-matnr的表 ,
qals-werk的工厂类型表,
wa_fltp类型ty_fltp。
数据:fieldcatalog类型slis_t_fieldcat_alv带标题行,
gd_tab_group类型slis_t_sp_group_alv,
布局d_lay > gd_repid像sy-repid。
参数:p_matnr TYPE qals-matnr VISIB LE LENGTH 8,
p_doc类型mseg-mblnr,
p_plant类型qals-werk。
开始选择。
PERFORM数据检索。
PERFORM build_field目录。 br> PERFORM build_layout。
PERFORM display_alv_report。
FORM build_fieldcatalog。
数据:lv_pos类型i。
lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='否'。
fieldcatalog-seltext_m ='否'。
fieldcatalog-col_pos = lv_pos。
CLEAR fieldcatalog。
lv_pos = lv_pos + 1
fieldcatalog-fieldname ='WERK'。
fieldcatalog-seltext_m ='Plant'。
fieldcatalog-col_pos = lv_pos。
追加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
< br> lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='ENSTEHDAT'。
fieldcatalog-seltext_m ='日期'。
fieldcatalog-no_zero ='X'。
fieldcatalog-col_pos = lv_pos。
附加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
lv_pos = lv_pos +1。
fieldcatalog-fieldname ='PRUEFLOS'。
fieldcatalog-seltext_m ='检验批'。
fieldcatalog-col_pos = lv_pos。
追加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='MBLNR'。
fieldcatalog-seltext_m ='材料文档'。
fieldcatalog-col_pos = lv_pos。
追加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
lv_pos = lv_pos + 1.
fieldcatalog-字段名='MATNR'。
fieldcatalog-seltext_m ='材料'。
fieldcatalog-col_pos = lv_pos。
追加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='KTEXTMAT'。
fieldcatalog-seltext_m ='描述'。
fieldcatalog-col_pos = lv_pos。
APPEND fieldcatalog TO fieldcatalog
CLEAR字段目录。
lv_pos = lv_pos +1。
fieldcatalog-字段名='MITTELWERT'。
fieldcatalog-seltext_m ='TSAI'。
fieldcatalog-col_pos = lv_pos。
APPEND字段目录TO字段目录。
CLEAR字段目录。< br>
lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='MITTELWERT'。
fieldcatalog-seltext_m ='BRIX'。
" fieldcatalog-edit ='X'。
fieldcatalog- col_pos = lv_pos。
追加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='MITTELWERT'。
fieldcatalog-seltext_m ='密度 '。
fieldcatalog-col_pos = lv_pos。
APPEND fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='MITTELWERT'。
> fieldcatalog-seltext_m ='FS'。
fieldcatalog-col_pos = lv_pos。
追加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='LGORT'。
fieldcatalog-seltext_m ='来自Stor。 Loc'。
fieldcatalog-col_pos = lv_pos。
追加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
lv_pos = lv_pos + 1.
fieldcatalog-fieldname ='LAGORTVORG'。< br> fieldcatalog-seltext_m ='目标存储区。 Loc'。
fieldcatalog-col_pos = lv_pos。
追加fieldcatalog到fieldcatalog。
CLEAR fieldcatalog。
ENDFORM。
*&----------- -------------------------------------------------- -------- *
*&表格BUILD_LAYOUT
*&----------------------------- ---------------------------------------- *
* ALV网格的构建布局 报告
* --------------------------------------------- ------------------------- *
FORM build_layout。
gd_layout-no_input ='X'。
gd_layout-colwidth_optimize = 'X'。
gd_layout-totals_text ='总计'(201)。
* gd_layout-totals_only ='X'。
* gd_layout-f2code ='DISP'。 "设置double时的fcode
*"单击(按f2)
* gd_layout-zebra ='X'。
* gd_layout-group_change_edit ='X'。
* gd_layout-header_text ='helllllo '。
ENDFORM。 " BUILD_LAYOUT
*&------------------------------------------- -------------------------- *
*&表格DISPLAY_ALV_REPORT
*&----------- -------------------------------------------------- -------- *
*使用ALV网格显示报告
* ---------------------------- ------------------------------------------ *
FORM display_alv_report。< br> gd_repid = sy-repid。
调用功能'REUSE_ALV_GRID_DISPLAY'
导出
i_callback_program = gd_repid
i_callback_top_of_page ='TOP-OF-PAGE'"请参阅FORM
* i_callback_COMM'AND'
* i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog []
* it_special_groups = gd_tabgroup
* IT_EVENTS = GT_XEVENTS
i_save ='X'
* is_variant = z_template
表格
t_outtab = it_mseg
例外情况
program_error = 1
其他=2。
IF sy-subrc <> 0.
*消息ID SY-MSGID类型SY- MSGTY编号SY-MSGNO
*带有SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
ENDIF。
ENDFORM。 " DISPLAY_ALV_REPORT
*&------------------------------------- -------------------------------- *
*&形成DATA_RETRIEVAL
*&----- -------------------------------------------------- -------------- *
*从EKPO表中检索数据并填充itab it_ekpo
* ------------------ -------------------------------------------------- -*
FORM data_retrieval。
** TSAI
** WRITE:/'Awal:',lv_tsai。
*用lv_tsai1将tsai替换为lv_tsai。
* l_tsai = lv_tsai。< br> *
*通话功能'QSS0_FLTP_TO_CHAR_CONVERSION'
*出口
* i_number_of_digits = 3
* i_fltp_value = l_tsai
** i_value_not_initial_flag ='X'
** ** i_screen_fieldlength = br> *正在导入
* e_char_field = l_vtsai。
**写:/'Hasil TSAI:',l_vtsai。
**
**写:/。
**糖度
> **写:/'Awal:',lv_brix。
*将lv_brix1的糖度替换为lv_brix。
* l_brix = lv_brix。
*
*通话功能'QSS0_FLTP_TO_CHAR_CONVERSION'
*导出 < br> * i_number_of_digits = 3
* i_fltp_value = l_brix
** i_value_not_initial_flag ='X'
** i_screen_fieldlength = 16
*导入
* e_char_field = l_vbrix。
**写 :/'Hasil BRIX:',l_vbrix。
**
**写:/。
** FS
**写:/'Awal:',lv_fs。
*替换 带lv_fs1的fs放入lv_fs。
* l_fs = lv_fs。
*
*通话功能'QSS0_FLTP_TO_CHAR_CONVERSION'
*导出
* i_number_of_digits = 3
* i_fltp_value = l_fltp_value = * i_value_not_initial_flag ='X'
** i_screen_fieldlength = 16
*导入
* e_char_field = l_vfs。
**写:/'Hasil FS:',l_vfs。
*
* wa_fltp-l_vtsai = l_vtsai。
* wa_fltp-l_vbrix = l_vbrix。
* wa_fltp-l_vfs = l_vfs。
*写:/,
*/'Hasil TSAI:',wa_flt -l_vtsai,
*/'Hasil Brix:',wa_fltp-l_vbrix,
*/'Hasil FS:',wa_fltp-l_vfs。
*将wa_fltp附加到it_fltp。
>数据:lv_int TYPE i。
从qasr
选择单个merknr进入对应的FI wa_qasr的ELDS。
选择mseg〜mblnr mseg〜lgort mseg〜umlgo mseg〜shkzg qals〜matnr qals〜ktextmat qals〜enstehdat qals〜bwart qals〜art qals〜werk qals〜prueflos qals〜lagortvorg
qasr〜mittelwert qasr〜merknr
将相应的表字段_mseg从mseg
插入表中的相应字段mseg〜mblnr = qals〜mblnr
并在qasr〜prueflos = qals〜prueflos上加入qasr在哪里qals〜art ='08'
AND mseg〜shkzg ='H'
AND(qasr〜merknr ='10'
或qasr〜merknr ='20'
或qasr〜merknr ='30'< br> OR qasr〜merknr ='40')
AND qals〜werk ='2100'
AND qals〜matnr EQ p_matnr
和mseg〜mblnr EQ p_doc
和qals〜werk EQ p_plant。
*将wa_fltp附加到it_fltp。
*在it_fltp上将其循环放入wa_fltp。
*
* wa_fltp-l_vbrix = l_vbrix。
* wa_fltp-l_vfs = l_vfs。 br> * wa_fltp-l_vtsai = l_vtsai。
*
*从wa_fltp修改it_fltp。
*清除wa_fltp。
* ENDLOOP。
* Nomor乌鲁特
将it_msegeg固定在 INTO wa_mseg。
lv_int = lv_int + 1.
wa_mseg-no = lv_int。
从wa_mseg。修改it_mseg。
清除wa_mseg。
ENDLOOP。
* Nomor urut
ENDFORM。 " DATA_RETRIEVAL
FORM页面顶部。
* ALV标头声明
数据:t_header TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
t_line LIKE wa_header-info,
*-使用REUSE_ALV_GRID_DISPLAY的ALV网格程序示例
ld_lines TYPE i,
ld_linesc(10)TYPE c。
*标题
wa_header-typ ='H'。
wa_header- info ='Report Kualitas Tangki'。
附加wa_header到t_header。
清除wa_header。
*日期
wa_header-typ ='S'。
wa_header-key ='日期:'。
合并sy-datum + 6(2)'。'
sy-datum + 4(2)'。'
sy-datum(4)放入wa_header-info。"今天的日期
附录 wa_header到t_header。
清除:wa_header。
调用功能'REUSE_ALV_COMMENTARY_WRITE'
导出
it_list_commentary = t_header
i_logo ='LOGO'。
ENDFORM。 "页面顶部
您是否看到ALV字段目录说要在ALL列中显示内部表IT_MSEG的同一MITTELWERT列中的值?
您必须声明一个内部表来模仿 ALV列,然后通过" 转置"从内部表IT_MSEG中进行填充。 该逻辑的实现不是很复杂。
您能解释一下填充四列所要应用的逻辑是什么,尤其是给定MSEG数据的预期结果是什么,难点是什么?/p>
一周热门 更多>